diff --git a/ja_JP.eucJP/man/man3/_secure_path.3 b/ja_JP.eucJP/man/man3/_secure_path.3 index a1b33d0f19..1b542af64c 100644 --- a/ja_JP.eucJP/man/man3/_secure_path.3 +++ b/ja_JP.eucJP/man/man3/_secure_path.3 @@ -1,76 +1,76 @@ .\" Copyright (c) 1997 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $Id: _secure_path.3,v 1.1.1.1 1999-12-09 16:25:52 kuriyama Exp $ +.\" %Id: _secure_path.3,v 1.3 1998/06/06 05:50:42 jkoshy Exp % .\" .Dd May 2, 1997 .Os FreeBSD .Dt _SECURE_PATH 3 .Sh 名称 .Nm _secure_path .Nd ファイルが安全であるように見えるかどうかを判定する .Sh 書式 .Fd #include .Fd #include .Ft int .Fn _secure_path "const char *path" "uid_t uid" "gid_t gid" .Pp .Sh 解説 この関数は、指定のパスについて基本的なセキュリティチェックを行います。 これはルート特権で実行中のプロセスが使用することを意図しています。指定の ファイルの内容を信頼するかどうかを判定するためです。この関数は、システムの 危うさを検出するために使用される方法を使うことがよくあります。ファイルは、 次の条件を満たす場合に安全であると考えられます。 .Bl -enum .It ファイルが存在し、それが通常のファイルである (シンボリックリンク、 ファイル、デバイスに固有のファイル、または名前付きのパイプファイル でない)。 .It ワールド書き込み可能でない。 .It uid が -1 でない場合は、指定の uid またはユーザ 0 によって 所有されている。 .It グループ書き込みでない、または gid が -1 でない場合は指定の gid によるグループ所有権がある。 .El .Sh 戻り値 この関数は、ファイルが存在し、安全であると考えられる場合 0 を返します。 ファイルが存在しない場合は -2 を返します。その他、セキュリティ障害を示す 場合は -1 を返します。 .Xr syslog 3 が、この関数の処理失敗をログ記入するのに 使用されます。これには、理由 LOG_ERR 優先順位が含まれます。 .Pp .Sh バグ 実行されるチェックは基本的なものであり、この関数の使用と参照ファイルへの アクセスの間の競争状況を除去しようとする試みは行われません。 .Pp .Sh 関連項目 .Xr lstat 3 , .Xr syslog 3 .Pp .Sh 歴史 この関数の由来であるコードは、Berkeley Software Design,Inc. によって FreeBSD プロジェクトに寄与されたものです。 .\"X kuma diff --git a/ja_JP.eucJP/man/man3/abs.3 b/ja_JP.eucJP/man/man3/abs.3 index 92bec1493f..6344d81a53 100644 --- a/ja_JP.eucJP/man/man3/abs.3 +++ b/ja_JP.eucJP/man/man3/abs.3 @@ -1,74 +1,74 @@ .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the American National Standards Committee X3, on Information .\" Processing Systems. .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)abs.3 8.1 (Berkeley) 6/4/93 -.\" $Id: abs.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" %Id: abs.3,v 1.5 1997/02/22 15:03:06 peter Exp % .\" .Dd June 4, 1993 .Dt ABS 3 .Os .Sh 名称 .Nm abs .Nd 整数絶対値関数 .Sh 書式 .Fd #include .Ft int .Fn abs "int j" .Sh 解説 .Fn abs 関数は整数 .Ar j の絶対値を計算します。 .Pp .Sh 戻り値 .Fn abs 関数は絶対値を返します。 .Pp .Sh 関連項目 .Xr cabs 3 , .Xr floor 3 , .Xr hypot 3 , .Xr labs 3 , .Xr math 3 .Pp .Sh 規格 .Fn abs 関数は .St -ansiC に準拠しています。 .Pp .Sh バグ 最も大きい負の値の絶対値は負のままです。 .\"X kuma diff --git a/ja_JP.eucJP/man/man3/acos.3 b/ja_JP.eucJP/man/man3/acos.3 index 2dc4bb6d77..70a0259d6d 100644 --- a/ja_JP.eucJP/man/man3/acos.3 +++ b/ja_JP.eucJP/man/man3/acos.3 @@ -1,103 +1,103 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)acos.3 5.1 (Berkeley) 5/2/91 -.\" $Id: acos.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" %Id: acos.3,v 1.5 1997/02/22 15:09:19 peter Exp % .\" .Dd May 2, 1991 .Dt ACOS 3 .Os .Sh 名称 .Nm acos , .Nm acosf .Nd 逆余弦関数 .Sh 書式 .Fd #include .Ft double .Fn acos "double x" .Ft float .Fn acosf "float x" .Sh 解説 .Fn acos 関数と .Fn acosf 関数は .Fa x の逆余弦の主値を計算します。 [-1, +1] の 範囲にない引数については領域エラーが起きます。切り捨て丸めによるエラーの 詳細については、 .Xr math 3 を参照してください。 .Pp .Sh 戻り値 .Fn acos 関数と .Fn acosf 関数は、 .Bq 0 , \*(Pi ラジアンの範囲内の余弦を返します。 .Tn VAX と .Tn Tahoe では、 .Bd -unfilled -offset indent .Pf \&| Ns Ar x Ns \&| > 1 , .Ed .Pp の場合、 .Fn acos x は .Dv EDOM にグローバル変数 .Va errno を設定し、予約された オペランドエラーが生成されます。 .Pp .Sh 関連項目 .Xr asin 3 , .Xr atan 3 , .Xr atan2 3 , .Xr cos 3 , .Xr cosh 3 , .Xr math 3 , .Xr sin 3 , .Xr sinh 3 , .Xr tan 3 , .Xr tanh 3 .Pp .Sh 規格 .Fn acos 関数は .St -ansiC に準拠しています。 .Pp diff --git a/ja_JP.eucJP/man/man3/acosh.3 b/ja_JP.eucJP/man/man3/acosh.3 index d3611fecf0..522db56cc8 100644 --- a/ja_JP.eucJP/man/man3/acosh.3 +++ b/ja_JP.eucJP/man/man3/acosh.3 @@ -1,89 +1,89 @@ .\" Copyright (c) 1991 Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)acosh.3 5.2 (Berkeley) 5/6/91 -.\" $Id: acosh.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" %Id: acosh.3,v 1.5 1997/02/22 15:09:20 peter Exp % .\" .Dd May 6, 1991 .Dt ACOSH 3 .Os BSD 4.3 .Sh 名称 .Nm acosh , .Nm acoshf .Nd 逆双曲余弦関数 .Sh 書式 .Fd #include .Ft double .Fn acosh "double x" .Ft float .Fn acoshf "float x" .Sh 解説 .Fn acosh 関数と .Fn acoshf 関数は、実数引数 .Ar x の逆双曲余弦を計算します。切り捨て丸めによるエラーの詳細については、 .Xr math 3 を参照してください。 .Pp .Sh 戻り値 .Fn acosh 関数と .Fn acoshf 関数は、 .Ar x の逆双曲余弦を返します。 .Tn VAX と .Tn Tahoe では、引数が 1 より小さい場合、 .Fn acosh は、 .Er EDOM にグローバル変数 .Va errno を 設定し、予約済みのオペランドエラーを発生させます。 .Pp .Sh 関連項目 .Xr asinh 3 , .Xr atanh 3 , .Xr exp 3 , .Xr math 3 .Pp .Sh 歴史 .Fn acosh 関数は .Bx 4.3 で現れました。 .Pp .\"X kuma diff --git a/ja_JP.eucJP/man/man3/asin.3 b/ja_JP.eucJP/man/man3/asin.3 index 315e8cb6fe..192dc06a3c 100644 --- a/ja_JP.eucJP/man/man3/asin.3 +++ b/ja_JP.eucJP/man/man3/asin.3 @@ -1,101 +1,101 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)asin.3 5.1 (Berkeley) 5/2/91 -.\" $Id: asin.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" %Id: asin.3,v 1.5 1997/02/22 15:09:22 peter Exp % .\" .\" word: range 区間[asin.3] .\" word: principal 主値[asin.3] .\" word: radian ラジアン[asin.3] .\" .Dd May 2, 1991 .Dt ASIN 3 .Os .Sh 名称 .Nm asin , .Nm asinf .Nd 逆正弦関数 .Sh 書式 .Fd #include .Ft double .Fn asin "double x" .Ft float .Fn asinf "float x" .Sh 解説 .Fn asin 関数と .Fn asinf 関数は、 .Fa x の逆正弦の主値を計算します。区間 [-1, +1] 内にない引数については区間エラーが起きます。切り捨て丸めによるエラーの 詳細については、 .Xr math 3 を参照してください。 .Sh 戻り値 .Fn asin 関数と .Fn asinf 関数は、区間 .Bk -words .Bq -\*(Pi/2, +\*(Pi/2 .Ek ラジアンの逆正弦を返します。 .Tn VAX と Tahoe では、 .Bd -unfilled -offset indent .Pf \&| Ns Ar x Ns \&| > 1 .Ed .Pp の場合、グローバル変数 .Va errno が .Er EDOM に設定され、予約されたオペランドエラーが生成されます。 .Sh 関連項目 .Xr acos 3 , .Xr atan 3 , .Xr atan2 3 , .Xr cos 3 , .Xr cosh 3 , .Xr math 3 , .Xr sin 3 , .Xr sinh 3 , .Xr tan 3 , .Xr tanh 3 .Pp .Sh 規格 .Fn asin 関数は .St -ansiC に準拠しています。 .\" kuma diff --git a/ja_JP.eucJP/man/man3/asinh.3 b/ja_JP.eucJP/man/man3/asinh.3 index 96e4da2a69..6af63e98f4 100644 --- a/ja_JP.eucJP/man/man3/asinh.3 +++ b/ja_JP.eucJP/man/man3/asinh.3 @@ -1,76 +1,76 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)asinh.3 6.4 (Berkeley) 5/6/91 -.\" $Id: asinh.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" %Id: asinh.3,v 1.5 1997/02/22 15:09:23 peter Exp % .\" .Dd May 6, 1991 .Dt ASINH 3 .Os BSD 4.3 .Sh 名称 .Nm asinh , .Nm asinhf .Nd 逆双曲正弦関数 .Sh 書式 .Fd #include .Ft double .Fn asinh "double x" .Ft float .Fn asinhf "float x" .Sh 解説 .Fn asinh 関数と .Fn asinhf 関数は、実数引数 .Ar x の逆双曲正弦を計算します。切り捨て丸めエラーの詳細については、 .Xr math 3 を参照してください。 .Pp .Sh 戻り値 .Fn asinh 関数と .Fn asinhf 関数は .Ar x の逆双曲正弦を返します。 .Pp .Sh 関連項目 .Xr acosh 3 , .Xr atanh 3 , .Xr exp 3 , .Xr math 3 .Sh 歴史 .Fn asinh 関数は .Bx 4.3 で登場しました。 .\" kuma diff --git a/ja_JP.eucJP/man/man3/assert.3 b/ja_JP.eucJP/man/man3/assert.3 index 2c235a662f..0df5290843 100644 --- a/ja_JP.eucJP/man/man3/assert.3 +++ b/ja_JP.eucJP/man/man3/assert.3 @@ -1,83 +1,83 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)assert.3 8.1 (Berkeley) 6/9/93 -.\" $Id: assert.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" %Id: assert.3,v 1.4 1998/01/02 19:22:50 alex Exp % .\" .Dd June 9, 1993 .Dt ASSERT 3 .Os .Sh 名称 .Nm assert .Nd 式検証マクロ .Sh 書式 .Fd #include .Fn assert expression .Sh 解説 .Fn assert マクロは、指定された .Ar expression を試験し、偽の場合は、呼び出し元の プロセスは終了されます。診断メッセージが .Em stderr に書き込まれ、関数 .Xr abort 3 が呼び出されてプログラムを効率的に終了します。 .Pp .Ar expression が真の場合、 .Fn assert マクロは何もしません。 .Pp .Fn assert マクロはコンパイル時に .Fl NDEBUG オプションで除去できます。 .Xr cc 1 を参照してください。 .Sh 診断 .Ar expression が偽の場合、次の診断メッセージが .Em stderr に書き込まれます。 .Bd -literal -offset indent "assertion \e"%s\e" failed: file \e"%s\e", line %d0, \e "expression", __FILE__, __LINE__); .Ed .Sh 関連項目 .Xr abort 3 .Pp .Sh 歴史 .Fn assert マクロは .At v6 で登場しました。 .\" kuma diff --git a/ja_JP.eucJP/man/man3/atan.3 b/ja_JP.eucJP/man/man3/atan.3 index cb089aaccf..7676973e83 100644 --- a/ja_JP.eucJP/man/man3/atan.3 +++ b/ja_JP.eucJP/man/man3/atan.3 @@ -1,85 +1,85 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)atan.3 5.1 (Berkeley) 5/2/91 -.\" $Id: atan.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" %Id: atan.3,v 1.5 1997/02/22 15:09:24 peter Exp % .\" .Dd May 2, 1991 .Dt ATAN 3 .Os .Sh 名称 .Nm atan , .Nm atanf .Nd 1 つの変数の逆正接関数 .Sh 書式 .Fd #include .Ft double .Fn atan "double x" .Ft float .Fn atanf "float x" .Sh 解説 .Fn atan 関数と .Fn atanf 関数は、 .Fa x の逆正接の主値を計算します。切り捨て丸めのエラーの詳細については、 .Xr math 3 を参照してください。 .Pp .Sh 戻り値 .Fn atan 関数と .Fn atanf 関数は、範囲 .Bk -words .Bq -\*(Pi/2 , +\*(Pi/2 .Ek ラジアンの逆正接を返します。 .Pp .Sh 関連項目 .Xr acos 3 , .Xr asin 3 , .Xr atan2 3 , .Xr cos 3 , .Xr cosh 3 , .Xr math 3 , .Xr sin 3 , .Xr sinh 3 , .Xr tan 3 , .Xr tanh 3 .Pp .Sh 規格 .Fn atan 関数は .St -ansiC に準拠しています。 .\" kuma diff --git a/ja_JP.eucJP/man/man3/atan2.3 b/ja_JP.eucJP/man/man3/atan2.3 index 3409d12f06..321e093107 100644 --- a/ja_JP.eucJP/man/man3/atan2.3 +++ b/ja_JP.eucJP/man/man3/atan2.3 @@ -1,207 +1,207 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)atan2.3 5.1 (Berkeley) 5/2/91 -.\" $Id: atan2.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" %Id: atan2.3,v 1.5 1997/02/22 15:09:25 peter Exp % .\" .Dd May 2, 1991 .Dt ATAN2 3 .Os .Sh 名称 .Nm atan2 , .Nm atan2f .Nd 2 つの変数の逆正接関数 .Sh 書式 .Fd #include .Ft double .Fn atan2 "double y" "double x" .Ft float .Fn atan2f "float y" "float x" .Sh 解説 .Fn atan2 関数と .Fn atan2f 関数は、 .Fa y/ Ns Ar x の逆正接の主値を計算します。その際、 両方の引数の符号を使用して戻り値の象限を判定します。 .Pp .Sh 戻り値 .Fn atan2 関数と .Fn atan2f 関数は、処理が成功すると、範囲 .Bk -words .Bq \&- Ns \*)Pi , \&+ Ns \*(Pi .Ek ラジアン内の .Fa y/ Ns Ar x の逆正接を返します。 .Fa x と .Fa y の両方がゼロの場合、 グローバル変数 .Va errno が .Er EDOM に設定されます。 .Tn VAX では次のとおりです。 .Bl -column atan2_(y,x)_:=____ sign(y)_(Pi_atan2(Xy_xX))___ .It Fn atan2 y x No := Ta .Fn atan y/x Ta .Ar x > 0 の場合 .It Ta sign( Ns Ar y Ns )*(\*(Pi - .Fn atan "\\*(Bay/x\\*(Ba" ) Ta .Ar x < 0 の場合 .It Ta .No 0 Ta x = y = 0 の場合、 .It Ta .Pf sign( Ar y Ns )*\\*(Pi/2 Ta .Ar x = 0 \*(!= .Ar y の場合 .El .Sh 注 関数 .Fn atan2 は .Tn VAX で ``x > 0 の場合''、 .Fn atan2 0 0 = 0 を定義します。以前は .Fn atan2 0 0 はエラーメッセージを生成していた 可能性があるにもかかわらずです。 .Fn atan2 0 0 に値を割り当てる理由は次のとおりです。 .Bl -enum -offset indent .It .Fn atan2 0 0 の計算を回避するために引数をテストするプログラムは、この値に 無関係である必要があります。これが無効であることを要求するプログラムは、 さまざまなコンピュータシステム上でこれが無効であることに対するさまざまな 反応に対し脆弱です。 .It .Fn atan2 関数は、矩形 (x,y) を、極座標 .if n\ (r,theta) .if t\ (r,\(*h) に変換します。この座標は、 .if n\ r\(**cos theta .if t\ r\(**cos\(*h および y = .if n\ r\(**sin theta .if t\ r\(**sin\(*h を満たす必要があります。 .if n\ (r,theta) .if t\ (r,\(*h) 極座標に変換するのに主に使用されます。これらの等式が 満たされるのは、(x=0,y=0) が .Tn VAX で .if n \ (r=0,theta=0) .if t \ (r=0,\(*h=0) にマップされるときです。 一般に、極座標への変換は次のようにして計算する必要があります。 .Bd -unfilled -offset indent .if n \{\ r := hypot(x,y); ... := sqrt(x\(**x+y\(**y) theta := atan2(y,x) .\} .if t \{\ r := hypot(x,y); ... := \(sr(x\u\s82\s10\d+y\u\s82\s10\d) theta := atan2(y,x) .\} .\"XX .XX sqrt x*x+y*y .Ed .It 上記の公式は、 .Tn IEEE 754 に準拠するマシンでは符号付きのゼロおよび無限に、 合理的な方法で、対処しようと変更する必要はありません。そのようなマシン用に 準備された .Xr hypot 3 と .Fn atan2 のバージョンがすべてのケースを処理するよう 設計されています。これがたとえば .Fn atan2 \(+-0 \-0 = \(+-\*(Pi である理由です。一般に、 上記の公式は次のものと同等です。 .Bd -unfilled -offset indent .if n \ r := sqrt(x\(**x+y\(**y); r =0 の場合は、x := copysign(1,x); .if t \ r := \(sr(x\(**x+y\(**y);\0\0 r =0 の場合は、x := copysign(1,x); .Ed .El .Sh 関連項目 .Xr acos 3 , .Xr asin 3 , .Xr atan 3 , .Xr cos 3 , .Xr cosh 3 , .Xr math 3 , .Xr sin 3 , .Xr sinh 3 , .Xr tan 3 , .Xr tanh 3 .Pp .Sh 規格 .Fn atan2 関数は .St -ansiC に準拠しています。 .\"X kuma diff --git a/ja_JP.eucJP/man/man3/atanh.3 b/ja_JP.eucJP/man/man3/atanh.3 index 2d3d8ec0bc..799c63ddbc 100644 --- a/ja_JP.eucJP/man/man3/atanh.3 +++ b/ja_JP.eucJP/man/man3/atanh.3 @@ -1,90 +1,90 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)atanh.3 5.2 (Berkeley) 5/6/91 -.\" $Id: atanh.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" %Id: atanh.3,v 1.5 1997/02/22 15:09:25 peter Exp % .\" .Dd May 6, 1991 .Dt ATANH 3 .Os BSD 4.3 .Sh 名称 .Nm atanh , .Nm atanhf .Nd 逆双曲正接関数 .Sh 書式 .Fd #include .Ft double .Fn atanh "double x" .Ft float .Fn atanhf "float x" .Sh 解説 .Fn atanh 関数と .Fn atanhf 関数は、実数引数 .Ar x の逆双曲正接を計算します。切り捨て丸めによるエラーの詳細については、 .Xr math 3 を参照してください。 .Sh 戻り値 .Fn atanh 関数と .Fn atanhf 関数は、処理が成功した場合、 .Ar x の逆双曲正接を 返します。 .Tn VAX と .Tn Tahoe で、引数の絶対値が 1 より大きいかまたは 1 に等しい 場合、 .Fn atanh がグローバル変数 .Va errno を .Er EDOM に設定し、予約済みオペランドエラーが生成されます。 .Pp .Sh 関連項目 .Xr acosh 3 , .Xr asinh 3 , .Xr exp 3 , .Xr math 3 .Pp .Sh 歴史 .Fn atanh 関数は .Bx 4.3 で現れました。 .\" kuma diff --git a/ja_JP.eucJP/man/man3/auth_getval.3 b/ja_JP.eucJP/man/man3/auth_getval.3 index 9bfe2cd8f3..7bb7e8d23f 100644 --- a/ja_JP.eucJP/man/man3/auth_getval.3 +++ b/ja_JP.eucJP/man/man3/auth_getval.3 @@ -1,69 +1,69 @@ .\" .\" Copyright (c) 1998 Jordan Hubbard .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" $Id: auth_getval.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" %Id: auth.3,v 1.1 1998/10/08 06:53:32 jkh Exp % .\" " .Dd October 7, 1998 .Os .Dt auth_getval 3 .Sh 名称 .Nm auth_getval .Nd .Pa /etc/auth.conf から値を読み取る関数 .Sh 書式 .Fd #include .Fd #include .Ft char * .Fn auth_getval "char *name" .Pp .Xr cc 1 コマンド行で .Va -lutil を付けてリンクすること。 .Sh 解説 関数 .Fn auth_getval は、 .Fa name というフィールドに対応する値を返します。 そのようなフィールドが見つからない場合、または auth ファイルを開けることが できない場合は NULL を返します。 .Pp .Sh 関連項目 .Xr properties_read 3 , .Xr properties_free 3 , .Xr property_find 3 , .Xr auth.conf 5 .Pp .Sh ファイル /etc/auth.conf には、 .Fn auth_getval が検索する name=value のペアが 含まれています。 .\" kuma diff --git a/ja_JP.eucJP/man/man3/bitstring.3 b/ja_JP.eucJP/man/man3/bitstring.3 index ebd7858ebe..aa4c070daa 100644 --- a/ja_JP.eucJP/man/man3/bitstring.3 +++ b/ja_JP.eucJP/man/man3/bitstring.3 @@ -1,194 +1,194 @@ .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Paul Vixie. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)bitstring.3 8.1 (Berkeley) 7/19/93 -.\" $Id: bitstring.3,v 1.1.1.1 1999-12-09 16:26:08 kuriyama Exp $ +.\" %Id: bitstring.3,v 1.4 1997/04/13 14:19:58 bde Exp % .\" .Dd July 19, 1993 .Dt BITSTRING 3 .Os BSD 4 .Sh 名称 .Nm bit_alloc , .Nm bit_clear , .Nm bit_decl , .Nm bit_ffs , .Nm bit_nclear , .Nm bit_nset, .Nm bit_set , .Nm bitstr_size , .Nm bit_test .Nd ビット列操作マクロ .Sh 書式 .Fd #include .Ft bitstr_t * .Fn bit_alloc "int nbits" .Ft void .Fn bit_decl "bitstr_t *name" "int nbits" .Ft void .Fn bit_clear "bitstr_t *name" "int bit" .Ft void .Fn bit_ffc "bitstr_t *name" "int nbits" "int *value" .Ft void .Fn bit_ffs "bitstr_t *name" "int nbits" "int *value" .Ft void .Fn bit_nclear "bitstr_t *name" "int start" "int stop" .Ft void .Fn bit_nset "bitstr_t *name" "int start" "int stop" .Ft void .Fn bit_set "bitstr_t *name" "int bit" .Ft int .Fn bitstr_size "int nbits" .Ft int .Fn bit_test "bitstr_t *name" "int bit" .Sh 解説 これらのマクロはビット列を操作します。 .Pp マクロ .Fn bit_alloc は、 .Fa nbits 個のビットを格納するのに十分な空間を指す型 .Dq Fa "bitstr_t *" のポインタを返します。または、空間が利用できない場合は .Dv NULL を返します。 .Pp マクロ .Fn bit_decl は、 .Fa nbits 個のビットを格納するのに十分な空間をスタックに割り付けます。 .Pp マクロ .Fn bitstr_size は、 .Fa nbits 個のビットを格納するのに必要な、型 .Fa bitstr_t の要素の数を返します。これはビット列をコピーするのに便利です。 .Pp マクロ .Fn bit_clear とマクロ .Fn bit_set は、ビット列 .Ar name の中の、ゼロを起点として .Fa bit 番目のビットをクリアまたは設定します。 .Pp マクロ .Fn bit_nset とマクロ .Fn bit_nclear は、ビット列 .Ar name の中の .Fa start から .Fa stop までの (ゼロを起点として番号付けした) ビットをセットまたは クリアします。 .Pp マクロ .Fn bit_test は、ビット列 .Ar name 内で、ゼロを起点として .Fa bit 番目のビットがセットされている場合、評価結果はゼロでない値になり、 それ以外の場合はゼロと評価されます。 .Pp マクロ .Fn bit_ffs は、 .Ar name が参照する .Fa nbits ビットの配列のなかで、セットされたビットが最初に現れる位置を ゼロを起点として番号付けした値を、 .Fa value が参照する位置に格納します。どのビットも設定されていない場合、 .Fa value が参照する位置に、-1 が設定されます。 .Pp マクロ .Fn bit_ffc は、 .Ar name が参照する .Fa nbits ビットの配列のなかで、セットされていないビットが最初に現れる位置を、 ゼロを起点として番号付けした値を、 .Fa value が参照する位置に格納します。どのビットも設定されている場合、 .Fa value が参照する位置に、-1 が設定されます。 .Pp これらのマクロの引数は、 1 回だけ評価され、安全な副作用がある 可能性があります。 .Sh 例 .Bd -literal -offset indent #include #include ... #define LPR_BUSY_BIT 0 #define LPR_FORMAT_BIT 1 #define LPR_DOWNLOAD_BIT 2 #define LPR_AVAILABLE_BIT 9 #define LPR_MAX_BITS 10 make_lpr_available() { bitstr_t bit_decl(bitlist, LPR_MAX_BITS); ... bit_nclear(bitlist, 0, LPR_MAX_BITS - 1); ... if (!bit_test(bitlist, LPR_BUSY_BIT)) { bit_clear(bitlist, LPR_FORMAT_BIT); bit_clear(bitlist, LPR_DOWNLOAD_BIT); bit_set(bitlist, LPR_AVAILABLE_BIT); } } .Ed .Sh 関連項目 .Xr malloc 3 .Pp .Sh 歴史 .Nm bitstring 関数は最初に .Bx 4.4 で現れました。 .\" kuma diff --git a/ja_JP.eucJP/man/man3/calendar.3 b/ja_JP.eucJP/man/man3/calendar.3 index da85bdf7df..8dabbabbcc 100644 --- a/ja_JP.eucJP/man/man3/calendar.3 +++ b/ja_JP.eucJP/man/man3/calendar.3 @@ -1,229 +1,229 @@ .\" Copyright (c) 1997 Wolfgang Helbig .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: calendar.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: calendar.3,v 1.4 1998/03/19 07:33:51 charnier Exp % .\" .Dd November 29, 1997 .Dt CALENDAR 3 .Os .Sh 名称 .Nm easterg , .Nm easterog , .Nm easteroj , .Nm gdate , .Nm jdate , .Nm ndaysg , .Nm ndaysj , .Nm week , .Nm weekday .Nd 西暦での日付けの演算 .Sh 書式 .Fd #include .Ft struct date * .Fn easterg "int year" "struct date *dt" .Ft struct date * .Fn easterog "int year" "struct date *dt" .Ft struct date * .Fn easteroj "int year" "struct date *dt" .Ft struct date * .Fn gdate "int nd" "struct date *dt" .Ft struct date * .Fn jdate "int nd" "struct date *dt" .Ft int .Fn ndaysg "struct date *dt" .Ft int .Fn ndaysj "struct date *dt" .Ft int .Fn week "int nd" "int *year" .Ft int .Fn weekday "int nd" .Sh 解説 これらの関数は、西暦ゼロ年 (すなわちB.C. 1 年) 3 月 1 日 から西暦 100000 年までの 広範囲の年月のカレンダを演算します。 .Pp プログラムは .Fl lcalendar とリンクさせる必要があります。 .Pp 関数 .Fn easterg 、 .Fn easterog および .Fn easteroj は、 Eastern Sunday (復活祭の日曜日) の日付けを、 .Fa dt で指定した構造体に保存し、 この構造体のポインタを返します。 関数 .Fn easterg は、グレゴリオ暦 (1582 年以降に西ヨーロッパのほとんどのキリスト教会で採用された) を仮定し、 関数 .Fn easterog および .Fn easteroj は、正統派 (1582 年以前の西ヨーロッパ教会、および今日まで続く ギリシャ正教会、ロシア正教会などいわゆる東方正教会) の規則に従って、 Easter Sunday の日付けを演算します。 その結果、 .Fn easterog はグレゴリオ暦(現行太陽暦)を返し、 .Fn easteroj はユリウス暦(旧太陽暦)を返します。 .Pp 関数 .Fn gdate , .Fn jdate , .Fn ndaysg および .Fn ndaysj は、日付けの .Qq 年、月、日 という一般表記と、より演算に適した .Qq 日数 表現の相互変換を行います。 B.C. 1 年 3 月 1 日をゼロとして、 以降の経過日に順番に番号が振られます。 すなわちこの日番号は、 B.C. 1 年 3 月 1 日からその日までの経過日数を示します。 変換は、正数の日番号に対してだけ機能します。 .Pp .Fn gdate および .Fn jdate 関数は、日番号 .Fa nd に対応する日付けを .Fa dt で指定した構造体に保存し、 その構造体のポインタを返します。 .Pp .Fn ndaysg および .Fn ndaysj 関数は、 .Fa dt で指定した日付けの日番号を返します。 .Pp .Fn gdate および .Fn ndaysg 関数は、 1582 年 10 月 4 日以降のグレゴリオ暦および、 以前のユリウス暦を仮定しますが、 一方、 .Fn jdate および .Fn ndaysj は一貫してユリウス暦だけを仮定します。 .Pp これら 2 つの暦ではうるう年の定義が違います。 ユリウス暦では 4 の倍数の年はすべてうるう年ですが、 グレゴリオ暦ではそのうちの 100 の倍数で、 400 の 倍数ではない年を除きます。 すなわち、 1700 、 1800 、 1900 、 2100 年はうるう年ではなく、 2000 年はうるう年になります。 この新たな規則は、1582 年 10 月 4 日に、 同日以降の 10 日を削除することで開始されました。 カトリック国家のほとんどは、 16 世紀末までにこの新暦を採用しましたが、 一方、 20 世紀までなおユリウス暦にとどまる国々もありました。 英国とその植民地が 新暦に切り替えたのは、 1752 年 9 月 2 日でしたが、 その時点ではすでに 11 日を 削除する必要がありました。 .Pp 関数 .Fn week は、 .Fa nd で指定された日番号の日付けが含まれる、週番号を返します。 引数 .Fa *year は、その週 (の半分以上) が含まれる年に設定されます。 週番号は、 各年の 3 日以上が含まれる第 1 週を 1 として、 順番に振られます。 週は月曜日から始まります。 この関数はグレゴリオ暦だけに定義されます。 .Pp 関数 .Fn weekday は、 .Fa nd で指定された日番号の日付けの曜日 (月曜 = 0 … 日曜 = 6) を返します。 .Pp 構造体 .Fa date は .Aq Pa calendar.h 内で定義されています。次のフィールドを 含みます。 .Bd -literal -offset indent int y; /\(** year (0000 - ????) \(**/ int m; /\(** month (1 - 12) \(**/ int d; /\(** day of month (1 - 31) \(**/ .Ed .Pp ゼロ年は歴史家の手では .Qq 1 B.C. と書かれますが、天文学者とこのライブラリ では .Qq 0 と表記されます。 .Sh 関連項目 .Xr ncal 1 , .Xr strftime 3 .Rs .%A A. B. Author .%D November 1997 .Sh 規格 週番号は ISO 8601: 1988 に準拠しています。 .Sh 歴史 .Nm calendar ライブラリは .Fx 3.0 で最初に取り入れられました。 .Sh 作者 このマニュアルページとライブラリは、 .An Wolfgang Helbig Aq helbig@FreeBSD.org によって書かれました。 .Sh バグ このライブラリはきわめて慎重にコーディングされたので、残されたバグ はありません。 diff --git a/ja_JP.eucJP/man/man3/cam.3 b/ja_JP.eucJP/man/man3/cam.3 index 18f5046c59..34932ca901 100644 --- a/ja_JP.eucJP/man/man3/cam.3 +++ b/ja_JP.eucJP/man/man3/cam.3 @@ -1,492 +1,492 @@ .\" .\" Copyright (c) 1998 Kenneth D. Merry. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: cam.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: cam.3,v 1.1 1998/10/14 06:20:36 ken Exp % .\" .Dd October 10, 1998 .Os FreeBSD 3.0 .Dt CAM 3 .Sh 名称 .Nm cam_open_device , .Nm cam_open_spec_device , .Nm cam_open_btl , .Nm cam_open_pass , .Nm cam_close_device , .Nm cam_close_spec_device , .Nm cam_getccb , .Nm cam_send_ccb , .Nm cam_freeccb , .Nm cam_path_string , .Nm cam_device_dup , .Nm cam_device_copy , .Nm cam_get_device .Nd CAM ユーザライブラリ .Sh 書式 .Fd #include .Ft struct cam_device * .Fo cam_open_device .Fa "const char *path" .Fa "int flags" .Fc .Ft struct cam_device * .Fo cam_open_spec_device .Fa "const char *dev_name" .Fa "int unit" .Fa "int flags" .Fa "struct cam_device *device" .Fc .Ft struct cam_device * .Fo cam_open_btl .Fa "path_id_t path_id" .Fa "target_id_t target_id" .Fa "lun_id_t target_lun" .Fa "int flags" .Fa "struct cam_device *device" .Fc .Ft struct cam_device * .Fo cam_open_pass .Fa "const char *path" .Fa "int flags" .Fa "struct cam_device *device" .Fc .Ft void .Fo cam_close_device .Fa "struct cam_device *dev" .Fc .Ft void .Fo cam_close_spec_device .Fa "struct cam_device *dev" .Fc .Ft union ccb * .Fo cam_getccb .Fa "struct cam_device *dev" .Fc .Ft int .Fo cam_send_ccb .Fa "struct cam_device *device" .Fa "union ccb *ccb" .Fc .Ft void .Fo cam_freeccb .Fa "union ccb *ccb" .Fc .Ft char * .Fo cam_path_string .Fa "struct cam_device *dev" .Fa "char *str" .Fa "int len" .Fc .Ft struct cam_device * .Fo cam_device_dup .Fa "struct cam_device *device" .Fc .Ft void .Fo cam_device_copy .Fa "struct cam_device *src" .Fa "struct cam_device *dst" .Fc .Ft int .Fo cam_get_device .Fa "const char *path" .Fa "char *dev_name" .Fa "int devnamelen" .Fa "int *unit" .Fc .Sh 解説 CAM ライブラリは、 CAM システムでのプログラミングを補助するよう 設計されたいくつかの関数で構成されています。 このマニュアルページは、 ライブラリ関数の基本セットについて説明してあります。 次にリストする マニュアルページにさらに多くの関数が記載してあります。 .Pp 多数の CAM ライブラリ関数が .Va cam_device 構造体を使用します。 .Bd -literal struct cam_device { char device_path[MAXPATHLEN+1];/* * ユーザが指定した * デバイスのパス名。 * ユーザがデバイス名 * とユニット番号を * 別々に記述すると * これは NULL に * なることがあります。 */ char given_dev_name[DEV_IDLEN+1];/* * ユーザが指定した * デバイス名。 */ u_int32_t given_unit_number; /* * ユーザが指定した * ユニット番号。 */ char device_name[DEV_IDLEN+1];/* * デバイス名。 * たとえば 'pass' */ u_int32_t dev_unit_num; /* この特定のデバイスに * 対応する通過デバイスの * ユニット番号。 */ char sim_name[SIM_IDLEN+1];/* * コントローラ名。 * たとえば 'ahc' */ u_int32_t sim_unit_number; /* コントローラユニット番号 */ u_int32_t bus_id; /* コントローラバス番号 */ lun_id_t target_lun; /* 論理ユニット番号 */ target_id_t target_id; /* ターゲット ID */ path_id_t path_id; /* システム SCSI バス番号 */ u_int16_t pd_type; /* 周辺装置のタイプ */ struct scsi_inquiry_data inq_data; /* SCSI 照会データ */ u_int8_t serial_num[252]; /* デバイスシリアル番号 */ u_int8_t serial_num_len; /* シリアル番号の長さ */ u_int8_t sync_period; /* 調整された同期周期 */ u_int8_t sync_offset; /* 調整された同期オフセット */ u_int8_t bus_width; /* 調整されたバス幅 */ int fd; /* デバイスのファイル記述子 */ }; .Ed .Pp .Fn cam_open_device は、引数として、開こうとしているデバイスを記述する文字列、 および .Xr open 2 に渡すのに適切な .Ar flags を取ります。 渡される「パス」は、 実際には、開くデバイス名とユニット番号が入った任意のタイプの 文字列です。 文字列は .Fn cam_get_device によって解釈されて、 デバイス名とユニット番号になります。デバイス名とユニット番号が 決定されると、ルックアップが実行されて、指定のデバイスに対応する通過 デバイスを決定します。 .Fn cam_open_device は使用法はかなり簡単ですが、 現実には一般的な使用に適していません。動作が必ずしも 決定的ではないからです。新しいアプリケーションを作成しているプログラマは、 以下に説明する他のオープンルーチンの 1 つを使用するようにしてください。 .Pp .Fn cam_open_spec_device は、渡されたデバイス名とユニット番号に対応する .Xr pass 4 デバイスを開きます。 .Ar flags は、 .Xr open 2 に渡すのに適切なフラグである 必要があります。 .Ar device 引数はオプションです。 ユーザは、 .Va cam_device 構造体に 割り振り済みの空間を指定できます。 .Ar device 引数が .Va NULL の場合、 .Fn cam_open_spec_device は、 .Xr malloc 3 を使用して .Va cam_device 構造体用の空間を 割り振ります。 .Pp .Fn cam_open_btl は、 .Fn cam_open_spec_device に類似していますが、引数として、 デバイス名とユニット番号の代わりに .Tn SCSI バス、ターゲット、および論理 ユニットを取る点が異なります。 .Va path_id 引数は、 .Tn SCSI バス番号の CAM の 同等のものです。これはシステム内の論理バス番号を表します。 .Ar flags は、 .Xr open 2 に渡すのに適切なフラグである必要があります。 .Fn cam_open_spec_device と同じように、 .Ar device 引数はオプションです。 .Pp .Fn cam_open_pass は、引数として、開く .Xr pass 4 デバイスの .Fa path を取ります。 変換もルックアップも行われないので、 渡されるパスは CAM .Xr pass 4 デバイスの パスでなければなりません。 .Ar flags は、 .Xr open 2 に渡すのに適したフラグである 必要があります。 .Ar device 引数は、ユーザが CAM ライブラリに .Va cam_device 構造体用の空間を割り振りさせたい場合は、 .Fn cam_open_spec_device および .Fn cam_open_btl と同じように、 .Va NULL である必要があります。 .Fn cam_close_device は、上記の open() 呼び出しの 1 つが割り振った .Va cam_device 構造体を解放し、通過デバイスへのファイル記述子を閉じます。 ユーザが .Va cam_device 構造体用の空間を割り振っている場合は、このルーチンを呼び 出してはなりません。 代わりに、ユーザは .Fn cam_close_spec_device を呼び出すべきです。 .Pp .Fn cam_close_spec_device は、上記の open() ルーチンの 1 つで開かれた ファイル記述子を閉じるだけです。この関数は、 .Va cam_device が CAM ライブラリ ではなく、呼び出し元によって割り振られたときに呼び出す必要があります。 .Pp .Fn cam_getccb は、 .Xr malloc 3 を使用して CCB ( .Xr ccb 4 を参照 ) を割り振り、 .Va cam_device 構造の値を使用して CCB ヘッダ内にフィールドを設定します。 .Pp .Fn cam_send_ccb は、指定の .Va ccb を、 .Va cam_device 構造体内で記述された .Ar device に 送信します。 .Pp .Fn cam_freeccb は、 .Fn cam_getccb が割り振った CCB を解放します。 .Pp .Fn cam_path_string は、引数として、 .Va cam_device 構造体、および長さが .Fa len のストリングを取ります。 この関数は、カーネルが使用するのと類似した、コロンで 終了する印刷接頭語ストリングを作成します。 たとえば、"(cd0:ahc1:0:4:0): " です。 .Fn cam_path_string は、多くとも .Fa len Ns \-1 キャラクタを .Ar str に設定します。 .Fa len 番めのキャラクタは、終了を示す .Ql \e0 です。 .Pp .Fn cam_device_dup は、 .Xr strdup 3 と同じように方法で動作します。 .Va cam_device 構造体用に空間を割り当て、渡された .Ar device 構造体の内容を、新たに割り振られた 構造体にコピーします。 .Pp .Fn cam_device_copy は .Fa src 構造体を .Fa dst にコピーします。 .Pp .Fn cam_get_device は、デバイス名にユニット番号が続いたストリングの入った .Fa path 引数を取ります。次に、ストリングをデバイス名とユニット名に分解し、 それぞれ .Fa dev_name と .Fa unit に戻します。 .Fn cam_get_device は、少なくとも次の 形式のストリングを処理できます。 .Pp .Bl -tag -width 1234 -compact .It /dev/foo0a .It /dev/rfoo0a .It /dev/rfoo1s2c .It foo0 .It foo0a .It rfoo0 .It rfoo0a .It nrfoo0 .El .Pp .Fn cam_get_device は、 .Fn cam_open_device に類似した機能を準備する必要がある アプリケーション用の便利な関数として備えられています。プログラマは、 可能であれば、デバイス名とユニット番号を得るもっと決定的な方式を 使用することをお勧めします。 .Sh 戻り値 .Fn cam_open_device 、 .Fn cam_open_spec_device 、 .Fn cam_open_btl 、および .Fn cam_open_pass は、 .Va cam_device 構造を指すポインタを返します。または、 エラーがあった場合は .Va NULL を返します。 .Pp .Fn cam_getccb は、割り振り済みで部分的に初期化済みの CCB を返します。また、 CCB の割り振りが処理失敗した場合は .Va NULL を返します。 .Pp .Fn cam_send_ccb は、エラーが発生した場合、値 -1 を返し、 .Va errno がエラーを 示すように設定されます。 .Pp .Fn cam_path_string は、便宜として記入された印刷接頭語を返します。これは、 .Fn cam_path_string に渡されるのと同じ .Ar str です。 .Pp .Fn cam_device_dup は、渡された .Ar device のコピーを返します。または、エラーが 発生した場合は .Va NULL を返します。 .Pp .Fn cam_get_device は、処理成功の場合は 0 を返し、 処理失敗を示す場合は -1 を返します。 .Pp ここで説明した基本 CAM ライブラリ関数の 1 つから エラーが返された場合は、 エラーの理由が一般にグローバルストリング .Va cam_errbuf に印刷されます。 これの長さは .Dv CAM_ERRBUF_SIZE キャラクタです。 .Sh 関連項目 .Xr cam_cdbparse 3 , .Xr pass 4 , .Xr camcontrol 8 , .Pp .Sh 歴史 CAM ライブラリは最初に .Fx 3.0 で現れました。 .Sh 作者 .An Kenneth Merry Aq ken@FreeBSD.ORG .Sh バグ .Fn cam_open_device は、渡された .Fa path が何かへの symlink であるかどうか チェックしません。渡された .Fa path が実際の .Xr pass 4 デバイスであるかどうかも チェックしません。前のチェックを実現するのはかなり簡単でしょうが、後の チェックを実行するためには、 .Xr pass 4 デバイスとしてデバイスノードを識別する 決定的な方法が必要でしょう。 .Pp おそらく関数には名前が不適切なものや、名前が不十分なものがあります。 diff --git a/ja_JP.eucJP/man/man3/cam_cdbparse.3 b/ja_JP.eucJP/man/man3/cam_cdbparse.3 index 093fa13ed2..a09d216eb7 100644 --- a/ja_JP.eucJP/man/man3/cam_cdbparse.3 +++ b/ja_JP.eucJP/man/man3/cam_cdbparse.3 @@ -1,615 +1,615 @@ .\" .\" Copyright (c) 1998 Kenneth D. Merry. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: cam_cdbparse.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: cam_cdbparse.3,v 1.1 1998/10/14 06:20:36 ken Exp % .\" jpman %Id% .\" .\" This man page borrows heavily from the old scsi(3) man page, which had .\" the following copyright: .\" .\" Copyright (c) 1994 HD Associates (hd@world.std.com) .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by HD Associates .\" 4. Neither the name of the HD Associates nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY HD ASSOCIATES``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 HD ASSOCIATES OR CONTRIBUTORS 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. .\" .\" .Dd October 13, 1998 .Os FreeBSD 3.0 .Dt CAM_CDBPARSE 3 .Sh 名称 .Nm csio_build , .Nm csio_build_visit , .Nm csio_decode , .Nm csio_decode_visit , .Nm buff_decode , .Nm buff_decode_visit , .Nm csio_encode , .Nm csio_encode_visit , .Nm buff_encode_visit .Nd CAM ユーザライブラリ SCSI バッファパーズルーチン .Sh 書式 .Fd #include .Ft int .Fo csio_build .Fa "struct ccb_scsiio *csio" .Fa "u_int8_t *data_ptr" .Fa "u_int32_t dxfer_len" .Fa "u_int32_t flags" .Fa "int retry_count" .Fa "int timeout" .Fa "char *cmd_spec" .Fa "..." .Fc .Ft int .Fo csio_build_visit .Fa "struct ccb_scsiio *csio" .Fa "u_int8_t *data_ptr" .Fa "u_int32_t dxfer_len" .Fa "u_int32_t flags" .Fa "int retry_count" .Fa "int timeout" .Fa "char *cmd_spec" .Fa "int (*arg_get)(void *hook, char *field_name)" .Fa "void *gethook" .Fc .Ft int .Fo csio_decode .Fa "struct ccb_scsiio *csio" .Fa "char *fmt" .Fa "..." .Fc .Ft int .Fo csio_decode_visit .Fa "struct ccb_scsiio *csio" .Fa "char *fmt" .Fa "void (*arg_put)(void *hook" .Fa "int letter" .Fa "void *val" .Fa "int count" .Fa "char *name)" .Fa "void *puthook" .Fc .Ft int .Fo buff_decode .Fa "u_int8_t *buff" .Fa "size_t len" .Fa "char *fmt" .Fa "..." .Fc .Ft int .Fo buff_decode_visit .Fa "u_int8_t *buff" .Fa "size_t len" .Fa "char *fmt" .Fa "void (*arg_put)(void *, int, void *, int, char *)" .Fa "void *puthook" .Fc .Ft int .Fo csio_encode .Fa "struct ccb_scsiio *csio" .Fa "char *fmt" .Fa "..." .Fc .Ft int .Fo csio_encode_visit .Fa "struct ccb_scsiio *csio" .Fa "char *fmt" .Fa "int (*arg_get)(void *hook, char *field_name)" .Fa "void *gethook" .Fc .Ft int .Fo buff_encode_visit .Fa "u_int8_t *buff" .Fa "size_t len" .Fa "char *fmt" .Fa "int (*arg_get)(void *hook, char *field_name)" .Fa "void *gethook" .Fc .Sh 解説 CAM バッファ /CDB エンコードおよびデコードルーチンは、古い .Tn SCSI レイヤの、類似した名前の .Va scsireq_ Ns * 関数で書かれたユーザランド .Tn SCSI アプリケーション用の比較的簡単なパスを提供します。 .Pp これらの関数は、新しいアプリケーションで使われる可能性がありますが、ユーザ は、 .Xr cam 3 ライブラリに組み入れられた関数を構築する各種 SCSI CCB 構築関数を 使用する方が簡単と考えることもあります ( たとえば、 .Fn cam_fill_csio , .Fn scsi_start_stop , .Fn csi_read_write です)。 .Pp .Fn csio_build は、変数引数リストに提供された情報をもとにして .Va ccb_scsiio 構造体を構築します。この関数は、この関数に渡される NULL の .Fa data_ptrt 引数を整然と処理します。 .Pp .Fa dxfer_len は、データフェーズの長さです。データ転送の方向は .Fa flags 引数によって決まります。 .Pp .Fa data_ptr は、 .Tn SCSI データフェーズの間に使用されるデータバッファです。問題の .Tn SCSI コマンドについてデータが転送されない場合は、これを NULL に設定する 必要があります。コマンドについて転送するデータがある場合は、このバッファは 少なくとも .Fa dxfer_len の長さでなければなければなりません。 .Pp .Fa flags は .Aq Pa cam/cam_ccb.h に定義されたフラグでなければなりません。 .Bd -literal /* 共通の CCB ヘッダ */ /* CAM CCB フラグ */ typedef enum { CAM_CDB_POINTER = 0x00000001,/* CDB フィールドはポインタである */ CAM_QUEUE_ENABLE = 0x00000002,/* SIM 待ち行列処置は有効である */ CAM_CDB_LINKED = 0x00000004,/* CCB はリンクした CDB を含む */ CAM_SCATTER_VALID = 0x00000010,/* 分散/収集リストは有効である */ CAM_DIS_AUTOSENSE = 0x00000020,/* 自動探知機能を無効にする */ CAM_DIR_RESV = 0x00000000,/* データ方向 (00:予約済み) */ CAM_DIR_IN = 0x00000040,/* データ方向 (01:DATA IN) */ CAM_DIR_OUT = 0x00000080,/* データ方向 (10:DATA OUT) */ CAM_DIR_NONE = 0x000000C0,/* データ方向 (11:データなし) */ CAM_DIR_MASK = 0x000000C0,/* データ方向マスク */ CAM_SOFT_RST_OP = 0x00000100,/* 代わりにソフトリセットを使用する */ CAM_ENG_SYNC = 0x00000200,/* 完了時に剰余バイトをフラッシュする */ CAM_DEV_QFRZDIS = 0x00000400,/* DEV Q 凍結を無効にする */ CAM_DEV_QFREEZE = 0x00000800,/* 実行時に DEV Q を凍結する */ CAM_HIGH_POWER = 0x00001000,/* コマンドは大量の能力を得る */ CAM_SENSE_PTR = 0x00002000,/* センスデータはポインタである */ CAM_SENSE_PHYS = 0x00004000,/* センスポインタは物理的なアドレス */ CAM_TAG_ACTION_VALID = 0x00008000,/* この ccb 内ではタグ処置を使用する */ CAM_PASS_ERR_RECOVER = 0x00010000,/* 受け渡しドライバエラー。回復 */ CAM_DIS_DISCONNECT = 0x00020000,/* 切断を無効にする */ CAM_SG_LIST_PHYS = 0x00040000,/* SG リストに物理アドレスがある */ CAM_MSG_BUF_PHYS = 0x00080000,/* メッセージバッファ ptr が物理的である */ CAM_SNS_BUF_PHYS = 0x00100000,/* 自動探知データ ptr が物理的である */ CAM_DATA_PHYS = 0x00200000,/* SG/バッファデータ ptr が物理的である */ CAM_CDB_PHYS = 0x00400000,/* CDBポインタが物理的である */ CAM_ENG_SGLIST = 0x00800000,/* SG リストは HBA エンジン用である */ .Pp /* フェーズ認識モードフラグ */ CAM_DIS_AUTOSRP = 0x01000000,/* 自動保存/復元ポインタを無効にする */ CAM_DIS_AUTODISC = 0x02000000,/* 自動切断を無効にする */ CAM_TGT_CCB_AVAIL = 0x04000000,/* ターゲットの CCB が利用可能 */ CAM_TGT_PHASE_MODE = 0x08000000,/* SIM がフェーズモードで実行される */ CAM_MSGB_VALID = 0x20000000,/* メッセージバッファが有効 */ CAM_STATUS_VALID = 0x40000000,/* ステータスバッファが有効 */ CAM_DATAB_VALID = 0x80000000,/* データバッファが有効 */ .Pp /* ホストターゲットモードフラグ */ CAM_TERM_IO = 0x20000000,/* 入出力メッセージ補充を終了 */ CAM_DISCONNECT = 0x40000000,/* 切断は必須である */ CAM_SEND_STATUS = 0x80000000,/* データフェーズの後にステータスを送信 */ } ccb_flags; .Ed .Pp 複数のフラグは OR (論理和) を取る必要があります。 どの CCB フラグを使用することもできますが、 以降の重要ないくつかのフラグは使用する 意味がありません。 .Pp .Bl -tag -width CAM_PASS_ERR_RECOVER .It CAM_DIR_IN 問題の操作が読み取り操作であることを示します。すなわち、データは .Tn SCSI デバイスからユーザ指定バッファに読み取られています。 .It CAM_DIR_OUT 操作が書き込み操作であることを示します。すなわち、データは ユーザ指定バッファからデバイスに書き込まれています。 .It CAM_DIR_NONE このコマンドについて転送されるデータはないことを示します。 .It CAM_DEV_QFRZDIS デバイス待ち行列を無効にし、エラー回復メカニズムとして 凍結します。 .It Dv CAM_PASS_ERR_RECOVER .Xr pass 4 ドライバにエラー回復を有効にするように 通知します。デフォルトではエラー回復を実行されません。すなわち、このフラグ がない場合は再試行カウントは重要視されません。 .It CAM_DATA_PHYS .Fa data_ptr に入っているアドレスが、仮想アドレスではなく物理 アドレスであることを示します。 .El .Pp .Fa retry_count は、問題のコマンドを何回再試行するかをカーネルに通知します。 .Xr pass 4 ドライバが .Dv CAM_PASS_ERR_RECOVER フラグによって回復を有効にするよう 指示されていない限り、再試行カウントは無視されます。 .Pp .Fa timeout は、指定のコマンドが完了するのをどのくらい待機するかをカーネルに 通知します。時間が切れ、しかもコマンドが完了していないと、 CCB は、該当する エラーステータスでカーネルから返ります。 .Pp .Fa cmd_specis は SCSI CDB を構築するのに使用される CDB 形式指示子です。 このテキストストリングは、フィールド指示子のリストで構成されます。 フィールド指示子は、 各 CDB フィールド用の値 (値を変数引数リスト内の次の引数から取ったことを示すことも含む)、 フィールドの幅 (ビット単位またはバイト単位)、 およびオプションの名前を指定します。 スペースは無視され、 シャープ記号 ('#') は、現在の行の末尾で終了するコメントの先頭を示します。 .Pp オプションの名前は、フィールド指定子の最初の部分であり、中括弧で 囲まれます。次の例で中括弧で囲まれたテキストは名前です。 .Bd -literal -offset indent .Fa "{PS} v:b1 {Reserved} 0:b1 {Page Code} v:b6 # Mode select page" .Ed .Pp このフィールド指定子には、3 つのフィールドがあります。 1 ビットのフィールドが 2 つと 6 ビットのフィールドが 1 つです。 2 番めの 1 ビットフィールドは 定数値 0 であり、最初の 1 ビットフィールドと 6 ビットフィールドは、 変数引数リストから取られます。 複数バイトのフィールドは SCSI のバイト順序で CDB 内にスワップされ、スペースは無視されます。 .Pp フィールドが 16 進数値または文字 v のとき ( たとえば、 .Fa "1A" または .Fa "v") 、 1 バイト値が CDB の使用されていない次のバイトにコピーされます。文字 .Fa v が 使用されているとき、次の整数引数が変数引数リストから取られ、その値が 使用されます。 .Pp 定数の 16 進数値にフィールド幅の指定子、または文字 .Fa v にフィールド幅指定子 フィールドが続いたもの ( たとえば、 .Fa 3:4 , .Fa 3:b4 , .Fa 3:i3 ) は、指定のビットまたは バイト幅のフィールドを指定します。定数値、または (V 指定子の場合) 可変引数リストの次の整数値が、 CDB の次の未使用ビットまたはバイトにコピーされます。 .Pp 10 進数または文字 .Fa b に 10 進数フィールド幅が続いたものは、その幅の ビットフィールドを示します。ビットフィールドは、可能な限り緊密にパック され、上位ビットで開始し (SCSI 仕様と同じものを読み取られるようにです ) 、 1 バイトが完全に一杯になるときはいつでも、または .Fa i フィールドが 検出されたときは、 CDB の新しいバイトが開始されます。 .Pp 文字 .Fa i の後に 1 、 2 、 3 、または 4 が続いたフィールド幅指示子は、 .Tn SCSI バイト順に (MSB が先頭) スワップしなければならない 1 、 2 、 3 、または 4 バイトの 整数値を示します。 .Pp .Fa v フィールド指示子については、次の整数引数が、変数引数リストから取られ、 その値が .Tn SCSI 順にスワップするのに使用されます。 .Pp .Fn csio_build_visit は .Fn csio_build と動作が類似していますが、 .Fa cmd_spec 内の 変数引数に置き換わる値が、 .Xr stdarg 3 によってではなく、 .Fn csio_build_visit に 渡される .Fn arg_get 関数によって取り出される点が異なります。 .Fn arg_get 関数は 次の 2 つの引数を取ります。 .Bl -tag -width field_name .It Fa gethook は起動のたびに .Fn arg_get 関数に渡されます。これによって、 .Fn arg_get 関数は、グローバル変数または静的変数を使用せずに、間の呼び出しの間に 状態のいくらかを保持することができます。 .It Fa field_name は、 .Fa fmt がある場合はそれによって与えられる名前です。 .El .Pp .Fn csio_decode は、 .Tn SCSI 転送のフェーズでデータの情報をデコードするのに 使用されます。 .Pp デコードは、 .Fn csio_build のコマンド指示子処理に類似していますが、 .Fa csio->data_ptr によって指されるデータからデータを取り出す点は異なります。 stdarg リストは、整数値ではなく整数を指すポインタです。 シークフィールドタイプと抑制修飾子が追加されます。 .Fa * 抑制修飾子 ( たとえば、 .Fa *i3 または .Fa *b4 ) は、フィールドからの割り当てを抑制し、データ内のバイトまたは ビットをスキップするのに使用できます。これらを arg リスト内のダミー変数に コピーする必要はありません。 .Pp シークフィールドタイプ .Fa s によって、データをスキップできます。 これは、'+' 符号の存在があるかないかを基礎にして、 データ内の絶対位置 ( .Fa s3 ) または 相対位置 ( .Fa s+3 ) を探します。 シーク値は .Fa v として指定することができ、引数リスト の次の整数値がシーク値として使用されます。 .Pp .Fn csio_decode_visit は、 .Fn csio_decode と同じように動作しますが、デコード したバッファの内容を 可変長引数に配置する代わりに、デコードしたバッファ の内容は、渡された .Fn arg_put 関数を通じてユーザに返される点が異なります。 .Fn arg_put 関数は、次のいくつかの引数を取ります。 .Bl -tag -width letter .It Fa hook "hook" は、 .Fn arg_put 関数が呼び出しの間で状態を保存できるようにする メカニズムです。 .It Fa letter 関数に渡される引数の形式を記述する文字です。 .It Fa val 関数に渡される値を指す void ポインタです。 .It Fa count .Fn arg_put 関数に渡される引数の数です。 現時点では、これは 1 にしか設定できません。 .It Fa name フィールドのテキスト記述です。ただし .Fa fmt 内にそれが準備されている 場合です。 .El .Pp .Fn buff_decode は、 .Fn csio_decode について前述した方式を使用して任意の データバッファをデコードします。 .Pp .Fn buff_decode_visit は、 .Fn csio_decode_visit について前述した方式を使用して 任意のデータバッファをデコードします。 .Pp .Fn csio_encode は、 .Fn csio_build について前述した方式を使用して、 .Va ccb_scsiio の構造 .Fa data_ptr 部分 (CDB ではない ) をエンコードします。 .Pp .Fn csio_encode_visit は、 .Fn csio_build_visit について前述した方式を使用して、 .Va ccb_scsiio 構造の .Fa data_ptr 部分 (CDB ではない ) をエンコードします。 .Pp .Fn buff_encode_visit は、 .Fn csio_build_visit について前述した方式を使用して、 任意のデータポインタをエンコードします。 .Pp .Sh 戻り値 .Fn csio_build , .Fn csio_build_visit , .Fn csio_encode , .Fn csio_encode_visit および .Fn buff_encode_visit は、処理済みのフィールドの数を返します。 .Pp .Fn csio_decode , .Fn csio_decode_visit , .Fn buff_decode および .Fn buff_decode_visit は、実行された割り当ての数を返します。 .Pp .Sh 関連項目 .Xr cam 3 , .Xr pass 4 , .Xr camcontrol 8 .Pp .Sh 歴史 これらの関数の CAM バージョンは、 古い FreeBSD の .Tn SCSI レイヤ用に実現された類似の関数を基礎にしています。 .Tn SCSI の古いコード内のエンコード/デコード関数は Peter Dufault が作成したものです。 .Pp 多数のシステムに、ユーザ空間で SCSI コマンドをユーザが構築できる、 これと匹敵するインタフェースがあります。 .Pp 古い .Va scsireq データ構造は、SGI の /dev/scsi データ構造とほとんど同じでした。 作者の名前を知っている人はここに連絡してください。 Peter Dufault は、 1989 年の『Sun Expert』誌で、 最初にこれについて読みました。 .Pp 新しい CCB データ構造は、 CAM-2 および CAM-3 仕様に由来しています。 .Pp Peter Dufault は、386bsd で SGI のインタフェースのクローンを実現しました。 これがオリジナルの FreeBSD .Tn SCSI ライブラリと関連カーネル ioctl に至るものになりました。 互換性の必要がある場合は、dufault@hda.com に連絡してください。 .Sh 作者 Kenneth Merry が、これらのエンコードおよびデコードの関数の CAM バージョンを実現しました。 この現在の作業は、Peter Dufault による以前の作業を基礎にしています。 .Sh バグ CDB および .Tn SCSI CCB のデータバッファ部分の両方をエンコードする関数はおそらく あるはずです。 .Xr camcontrol 8 で任意のコマンド実行コードを実現している間に私はこれを発見しましたが、 そのような関数を実現する時間がまだありません。 .Pp CCB フラグの説明には本当はここに属さないものがあります。 それらは一般の CCB マニュアルページに属します。 そのマニュアルページはまだ書かれていないので、 ここでの短い説明で間に合います。 diff --git a/ja_JP.eucJP/man/man3/catclose.3 b/ja_JP.eucJP/man/man3/catclose.3 index d786e02aab..11657a6f77 100644 --- a/ja_JP.eucJP/man/man3/catclose.3 +++ b/ja_JP.eucJP/man/man3/catclose.3 @@ -1,55 +1,55 @@ -.\" $Id: catclose.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: catclose.3,v 1.5 1998/04/30 11:06:11 ache Exp % .\" .\" Copyright (c) 1994 Winning Strategies, Inc. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Winning Strategies, Inc. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. .\" .Dd May 29, 1994 .Dt CATCLOSE 3 .Os .Sh 名称 .Nm catclose .Nd メッセージカタログを閉じる .Sh 書式 .Fd #include .Ft int .Fn catclose "nl_catd catd" .Sh 解説 .Fn catclose 関数は、引数 .Fa catd で指定されたメッセージカタログを閉じます。 .Pp .Sh 関連項目 .Xr catgets 3 , .Xr catopen 3 .Pp .Sh 規格 .Fn catclose 関数は .St -xpg4 に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/catgets.3 b/ja_JP.eucJP/man/man3/catgets.3 index 26f9432109..5670f7f32b 100644 --- a/ja_JP.eucJP/man/man3/catgets.3 +++ b/ja_JP.eucJP/man/man3/catgets.3 @@ -1,71 +1,71 @@ -.\" $Id: catgets.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: catgets.3,v 1.5 1998/04/30 11:06:12 ache Exp % .\" .\" Copyright (c) 1994 Winning Strategies, Inc. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Winning Strategies, Inc. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. .\" .Dd May 29, 1994 .Dt CATGETS 3 .Os .Sh 名称 .Nm catgets .Nd メッセージカタログからの文字列の取得 .Sh 書式 .Fd #include .Ft char * .Fn catgets "nl_catd catd" "int set_id" "int msg_id" "const char *s" .Sh 解説 .Fn catgets 関数は、記述子 .Fa catd が参照しているメッセージカタログからセット .Fa set_id のメッセージ .Fa msg_id を取り出そうとします。引数 .Fa s は、関数が指定の メッセージを取り出せない場合に返されるデフォルトメッセージを指定します。 .Pp .Sh 戻り値 指定のメッセージを取り出すことができた場合、 .Fn catgets は、 メッセージストリングの入った内部バッファを指すポインタを返します。 そうでない場合は、 .Fa s を返します。 .Pp .Sh 関連項目 .Xr catclose 3 , .Xr catopen 3 .Sh 規格 .Fn catgets 関数は .St -xpg4 に 準拠しています。 diff --git a/ja_JP.eucJP/man/man3/catopen.3 b/ja_JP.eucJP/man/man3/catopen.3 index 2e76408b78..61731e1fe2 100644 --- a/ja_JP.eucJP/man/man3/catopen.3 +++ b/ja_JP.eucJP/man/man3/catopen.3 @@ -1,101 +1,101 @@ -.\" $Id: catopen.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: catopen.3,v 1.6 1998/04/30 16:11:50 ache Exp % .\" .\" Copyright (c) 1994 Winning Strategies, Inc. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Winning Strategies, Inc. .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. .\" .Dd May 29, 1994 .Dt CATOPEN 3 .Os .Sh 名称 .Nm catopen .Nd メッセージカタログのオープン .Sh 書式 .Fd #include .Ft nl_catd .Fn catopen "const char *name" "int oflag" .Sh 解説 .Fn catopen 関数は、 .Fa name によって指定されるメッセージカタログを開き、 メッセージカタログ記述子を返します。 .Fa name に .Sq / が 1 つ含まれる場合、 .Fa name はメッセージカタログの完全なパス名を指定します。そうでない場合は、 環境変数 .Ev NLSPATH の値が、 %N の代わりに置き換えられ .Fa name とともに 使用されます。 .Pp .Fa oflag 引数が .Dv NL_CAT_LOCALE 定数に設定されている場合、メッセージカタログを開くために .Dv LC_MESSAGES ロケールカテゴリが使用されます。 .Dv NL_CAT_LOCALE を使用することは .St -xpg4 規格に準拠しています。 .St -xpg3 との互換性を保つために 0 を指定することができます。 .Fa oflag が 0 に設定されている場合、 .Ev LANG 環境変数によってメッセージカタログのロケールが決定されます。 .Sh 戻り値 処理が正常に完了すると、 .Fn catopen は、メッセージカタログ記述子を返します。 そうでない場合は、 (nl_catd) -1 が返され、エラーを示す .Va errno が設定されます。 .Sh エラー .Bl -tag -width Er .It Bq Er ENOMEM 利用できるメモリが不十分です。 .El .Sh 関連項目 .Xr catclose 3 , .Xr catgets 3 , .Xr setlocale 3 .Sh 規格 .Fn catopen 関数は .St -xpg4 に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/ceil.3 b/ja_JP.eucJP/man/man3/ceil.3 index dc3d6bbd64..7b646c2b52 100644 --- a/ja_JP.eucJP/man/man3/ceil.3 +++ b/ja_JP.eucJP/man/man3/ceil.3 @@ -1,68 +1,68 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)ceil.3 5.1 (Berkeley) 5/2/91 -.\" $Id: ceil.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: ceil.3,v 1.7 1997/03/19 01:28:42 bde Exp % .\" .Dd March 10, 1994 .Dt CEIL 3 .Os .Sh 名称 .Nm ceil , .Nm ceilf .Nd x 以上で最も小さい整数への切上げ .Sh 書式 .Fd #include .Ft double .Fn ceil "double x" .Ft float .Fn ceilf "float x" .Sh 解説 .Fn ceil 関数と .Fn ceilf 関数は、 .Fa x 以上の最も小さい整数値 (倍精度数として表現される) を返します。 .Sh 関連項目 .Xr abs 3 , .Xr fabs 3 , .Xr floor 3 , .Xr ieee 3 , .Xr math 3 , .Xr rint 3 .Sh 規格 .Fn ceil 関数は .St -ansiC に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/cfree.3 b/ja_JP.eucJP/man/man3/cfree.3 index 72eb3fb78f..34fb971104 100644 --- a/ja_JP.eucJP/man/man3/cfree.3 +++ b/ja_JP.eucJP/man/man3/cfree.3 @@ -1,49 +1,49 @@ .\" .\" Copyright (c) 1995 Joerg Wunsch .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" $Id: cfree.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: cfree.3,v 1.3 1997/02/22 15:06:02 peter Exp % .\" " <- this is for hilit19 :) .Dd November 23, 1995 .Dt CFREE 3 .Os .Sh 名称 .Nm cfree .Nd 割り振られたメモリの解放 .Sh 書式 .Ft void .Fn cfree "void *" .Sh 解説 .Bf -symbolic cfree 関数は時代遅れであると考えられています。 .br これは互換性ライブラリ libcompat により利用できます。 .Ef .Pp .Nm 関数は .Xr free 3 の同義語です。 .Sh 関連項目 .Xr free 3 diff --git a/ja_JP.eucJP/man/man3/cftime.3 b/ja_JP.eucJP/man/man3/cftime.3 index ae06e5d80e..36fd5bfebe 100644 --- a/ja_JP.eucJP/man/man3/cftime.3 +++ b/ja_JP.eucJP/man/man3/cftime.3 @@ -1,98 +1,98 @@ .\" .\" Copyright (c) 1994, 1995 Joerg Wunsch .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Joerg Wunsch .\" 4. The name of the developer may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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. .\" .\" -.\" $Id: cftime.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: cftime.3,v 1.4 1997/03/19 00:58:04 bde Exp % .\" .Dd June 15, 1993 .Os .Dt CFTIME 3 .Sh 名称 .Nm cftime .Nm ascftime .Nd 日付と時刻の文字列への変換 .Sh 書式 .Fd #include .Ft int .Fn cftime "char *s" "char *format" "const time_t *clock" .Ft int .Fn ascftime "char *s" "const char *format" "const struct tm *tmptr" .Sh 解説 .Bf -symbolic .Nm cftime 関数と .Nm ascftime 関数は、strftime(3) によって旧式なものとなっています。 これらは互換性ライブラリ libcompat により利用できます。 .Ef .Pp 関数 .Nm cftime および .Nm ascftime はできるだけ使用しないでください。 バッファのオーバーフロー状態をチェックする方法がないからです。代わりに .Xr strftime 3 を使用してください。 .Nm ascftime は .Xr strftime 3 とほとんど同じです。ただし、最大バッファ長を指定するパラメータがないことと、 .Em NULL ポインタが指定されると .Fa format パラメータがデフォルトで .Dq %C になるという点だけは異なります。 .Nm cftime は同じ処理を行ないますが、指定された .Fa clock を変換するために最初に .Xr localtime 3 を起動してから、 .Fa format 引数で要求されているような変換を実行します。 .Sh 戻り値 .Nm cftime 関数と .Nm ascftime 関数は、出力バッファ .Fa s に書き込まれた文字数を返します。その場合、末尾のヌル文字は数えません。 .Sh 関連項目 .Xr localtime 3 , .Xr strftime 3 diff --git a/ja_JP.eucJP/man/man3/com_err.3 b/ja_JP.eucJP/man/man3/com_err.3 index c6525f615c..6576f403cb 100644 --- a/ja_JP.eucJP/man/man3/com_err.3 +++ b/ja_JP.eucJP/man/man3/com_err.3 @@ -1,99 +1,99 @@ .\" Copyright (c) 1988 Massachusetts Institute of Technology, .\" Student Information Processing Board. All rights reserved. .\" -.\" $Header: /home/ncvs/doc/ja_JP.eucJP/man/man3/com_err.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Header: /home/ncvs/src/lib/libcom_err/com_err.3,v 1.1.1.1 1995/01/14 22:23:41 wollman Exp % .\" .\" jpman %Id% .\" .TH COM_ERR 3 "22 Nov 1988" SIPB .SH 名称 com_err \- 共通エラー表示ルーチン .SH 書式 .nf #include .PP void com_err (whoami, code, format, ...); const char *whoami; long code; const char *format; .PP proc = set_com_err_hook (proc); .fi void (* .I proc ) (const char *, long, const char *, va_list); .nf .PP proc = reset_com_err_hook (); .PP void initialize_XXXX_error_table (); .fi .SH 解説 .I com_err は、 .I whoami 文字列で構成される標準エラーストリーム .I stderr .IR (stdio (3S) を参照) にエラーメッセージを表示します。 .I whoami 文字列は、プログラム名またはプログラムの一部の後に、 .I code 値 .IR (compile_et(1) から導出されたもの) から生成されたエラーメッセージ、および .IR fprintf (3) と同じスタイルで、 .I format 文字列と以降の引数を使用して作成された 文字列が続いたものを指定するはずです。 .I com_err の動作は、 .I set_com_err_hook を使用して修正できます。これによって、 .I com_err に渡される引数とともに呼び出されるプロシージャが定義されます。 これは、フォーマットされたテキストを エラー出力に送信するデフォルトの内部プロシージャの代わりです。 このように、プログラムからのエラーメッセージはすべて .IR syslog (3) のような別の形式の診断ログに簡単に転用できます。 .I reset_com_err_hook を使用して、 .I com_err をデフォルトの形式に復元することもできます。 いずれのプロシージャも前のフック値を返します。 これらのフックプロシージャは、上記の書式の .I proc に指定された宣言がなければなりません。 .I initialize_XXXX_error_table ルーチンは、名前および対応する文字列の入ったソースファイルから .IR compile_et (1) が機械的に生成します。 各テーブルには、最高 4 文字の名前があります。 この名前はルーチンの名前で .B XXXX の代わりに使用されます。 これらのルーチンは、 対応するエラーコードが使用される前に呼び出す必要があるので、 .I com_err ライブラリは、これらのテーブルが使用されるときに、 これらのテーブルからエラーコードを認識しようとします。 .B com_err.h ヘッダファイルは、 .I com_err ライブラリのルーチンを使用するソースファイルに インクルードする必要があります。実行可能ファイルは、 .I com_err ライブラリがインクルードされるように、 .I ``-lcom_err'' を使用してリンクする必要があります。 .SH 関連項目 .IR compile_et (1), .IR syslog (3) Ken Raeburn, "A Common Error Description Library for UNIX". diff --git a/ja_JP.eucJP/man/man3/cos.3 b/ja_JP.eucJP/man/man3/cos.3 index 034580eae5..090c3ba63d 100644 --- a/ja_JP.eucJP/man/man3/cos.3 +++ b/ja_JP.eucJP/man/man3/cos.3 @@ -1,82 +1,82 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)cos.3 5.1 (Berkeley) 5/2/91 -.\" $Id: cos.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: cos.3,v 1.6 1997/03/19 01:28:44 bde Exp % .\" .Dd May 2, 1991 .Dt COS 3 .Os .Sh 名称 .Nm cos , .Nm cosf .Nd 余弦関数 .Sh 書式 .Fd #include .Ft double .Fn cos "double x" .Ft float .Fn cosf "float x" .Sh 解説 .Fn cos 関数と .Fn cosf 関数は、 .Fa x ( ラジアン単位で計算 ) の余弦を計算します。 引数があまりに大きいと、結果はわずかしか重要性がないか、または 重要性のないものになります。切り捨て名丸めエラーの詳細については、 .Xr math 3 を参照してください。 .Sh 戻り値 .Fn cos 関数と .Fn cosf 関数は余弦値を返します。 .Sh 関連項目 .Xr acos 3 , .Xr asin 3 , .Xr atan 3 , .Xr atan2 3 , .Xr cosh 3 , .Xr math 3 , .Xr sin 3 , .Xr sinh 3 , .Xr tan 3 , .Xr tanh 3 .Sh 規格 .Fn cos 関数は .St -ansiC に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/cosh.3 b/ja_JP.eucJP/man/man3/cosh.3 index 83eb654686..17a533774c 100644 --- a/ja_JP.eucJP/man/man3/cosh.3 +++ b/ja_JP.eucJP/man/man3/cosh.3 @@ -1,83 +1,83 @@ .\" Copyright (c) 1989, 1991 The Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)cosh.3 5.1 (Berkeley) 5/2/91 -.\" $Id: cosh.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: cosh.3,v 1.6 1997/03/19 01:28:44 bde Exp % .\" .Dd May 2, 1991 .Dt COSH 3 .Os .Sh 名称 .Nm cosh , .Nm coshf .Nd 双曲余弦関数 .Sh 書式 .Fd #include .Ft double .Fn cosh "double x" .Ft float .Fn coshf "float x" .Sh 解説 .Fn cosh 関数と .Fn coshf 関数は、 .Fa x の双曲余弦を計算します。 .Sh 戻り値 .Fn cosh 関数と .Fn coshf 関数は、 .Fa x が大きすぎない場合は、双曲余弦を返します。 .Fa x が大きすぎる場合は、グローバル変数 .Va errno が .Er ERANGE に設定されます。 .Sh 関連項目 .Xr acos 3 , .Xr asin 3 , .Xr atan 3 , .Xr atan2 3 , .Xr cos 3 , .Xr math 3 , .Xr sin 3 , .Xr sinh 3 , .Xr tan 3 , .Xr tanh 3 .Sh 規格 .Fn cosh 関数は .St -ansiC に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/crypt.3 b/ja_JP.eucJP/man/man3/crypt.3 index 5e8215e9fb..cf4cdbde81 100644 --- a/ja_JP.eucJP/man/man3/crypt.3 +++ b/ja_JP.eucJP/man/man3/crypt.3 @@ -1,366 +1,366 @@ .\" FreeSec: libcrypt for NetBSD .\" .\" Copyright (c) 1994 David Burren .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 4. Neither the name of the author nor the names of other contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: crypt.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: crypt.3,v 1.6 1997/02/22 14:40:30 peter Exp % .\" .\" Manual page, using -mandoc macros .\" .Dd March 9, 1994 .Dt CRYPT 3 .Os .Sh 名称 .Nm crypt , .Nm setkey , .Nm encrypt , .Nm des_setkey , .Nm des_cipher .Nd DES 暗号化 .Sh 書式 .Fd #include .Ft char * .Fn crypt "const char *key" "const char *setting" .Ft int .Fn setkey "const char *key" .Ft int .Fn encrypt "char *block" "int flag" .Ft int .Fn des_setkey "const char *key" .Ft int .Fn des_cipher "const char *in" "char *out" "long salt" "int count" .Sh 解説 .Fn crypt 関数は、パスワードの暗号化を行います。これは .Tn NBS データ暗号化規格 (NBS Data Encryption Standard) に由来するものです。キー検索の試みを 防止するために、その他のコードが追加されています。 .Nm crypt の最初の引数は .Dv NUL で終了するストリングです ( 通常は、ユーザが入力したパスワード ) 。 2 番めの 引数は、長さが 9 バイトのキャラクタ配列であり、アンダースコア (``_'') に、 4 バイトの反復カウントと 4 バイトの salt が続いたもので構成されます。反復 .Fa count と .Fa salt の両方が、キャラクタ当たり 6 ビットでエンコードされます。 最下位ビットが最初です。それぞれ 0 から 63 の値が、 ``./0-9A- Za-z'' キャラクタによってエンコードされます。 .Pp .Fa salt を使用して、 16777216 個の可能な方法の 1 つで、 .Tn DES アルゴリズム内に 無秩序を引き起こします ( 特に、 .Ar salt のビット .Em i が設定されており、 .Em i ビットと .Em i+24 ビットが .Tn DES "E" ボックス出力でスワップされる場合です ) 。 .Ar key は 8 キャラクタのグループに分けられ ( 最後の短いグループは NULL でパッドされます ) 、各キャラクタの下位の 7 ビット ( グループごとに 56 個 ) が、以降のように DES キーを形成するのに使用されます。 56 ビットの最初のグループが、初期 DES キーになります。その他の各グループについては、グループビットおよび DES キー自体の暗号化の排他的論理和 (XOR) が次の DES キーになります。最後に、 最終的な DES キーが使用されて 64 ビット定数の .Ar count 累積暗号化が 実行されます。返される値は、 .Dv NUL で終了するストリングで、長さは 20 バイト、 .Ar setting にエンコードされた 64 ビットの暗号化が続いたもので構成されます。 .Pp .Xr crypt 3 の過去のバージョンとの互換性のために、 .Ar setting は、上記のように エンコードされた 2 バイトの salt で構成できます。この場合、反復 .Ar count 25 が 使用され、摂動の少ない .Tn DES が利用でき、最長 8 キャラクタの .Ar key が 使用されます。返される値は .Dv NUL で終了する長さが 13 バイトのストリング です。 .Pp 関数 .Fn encrypt 、 .Fn setkey 、 .Fn des_setkey 、および .Fn des_cipher では、 .Tn DES アルゴリズムに、制限されたアクセスができます。 .Fn setkey へのキー .Ar key 引数は、 64 キャラクタのバイナリ値 ( 数字の 0 または 1) の配列です。 56 ビットの キーはこの配列から導出されます。そのためには、配列を 8 つのグループに 分割し、各グループ内の最後のビットを無視します。 .Pp .Fn encrypt の引数 .Fa block も、バイナリ値の 64 キャラクタ配列です。 .Fa flag の値が 0 の場合、引数 .Fa block は暗号化されます。そうでない場合は、 暗号解除されます。暗号化または暗号解除は、それを処理するために .Fn setkey が 指定したキーを使用した後、オリジナルの配列 .Fa block 内に返されます。 .Pp .Fn des_setkey 関数と .Fn des_cipher 関数は高速ですが、 .Fn setkey および .Fn encrypt より移植性は劣ります。 .Fn des_setkey への引数は、長さが 8 の キャラクタ配列です。各キャラクタの .Em 最下位 ビットは無視され、各キャラクタの 次の 7 ビットが連結されて 56 ビットのキーを生成します。関数 .Fn des_cipher は、 .Tn DES の .Fa count 反復の .Xr abs 3 を使用して .Fa in で 8 キャラクタ内に保存された 64 ビットを暗号化 ( または .Fa count が負の場合は暗号解除 ) し、 64 ビットの結果を 8 キャラクタで .Fa out に保存します。 .Fa salt は、前記のように .Tn DES の摂動を 指定します。 .Pp 関数 .Fn crypt は、処理が成功した場合は暗号化された値を指すポインタを返し、 処理が失敗した場合は NULL を返します。関数 .Fn setkey 、 .Fn encrypt 、 .Fn des_setkey 、および .Fn des_cipher は、処理が成功した場合は 0 を返し、処理が 失敗した場合は 1 を返します。歴史的には、関数 .Fn setkey と .Fn encrypt はどのような値も返しませんでした。これらの関数が戻り値を指定されたのは、 主にハードウェアサポートが備わっているものの使用はできない場合、または 通常の方針の愚かさのために DES が利用できない場合に、システムを 区別するためです。 .Pp .Fn crypt を使用するには、 .Nm libcrypt ライブラリとのリンクが必要です。 .Fn setkey 、 .Fn encrypt 、 .Fn des_setkey 、および .Fn des_cipher は、 .Nm libcipher ライブラリ内に 見つかります。 ( 標準の C ライブラリ、 .Nm libc にはこれらのルーチンへのかけらしか 入っていません ) 。 .Sh 関連項目 .Xr login 1 , .Xr passwd 1 , .Xr getpass 3 , .Xr passwd 5 .Rs .%T "Mathematical Cryptology for Computer Scientists and Mathematicians" .%A Wayne Patterson .%D 1987 .%N ISBN 0-8476-7438-X .Re .Rs .%T "Password Security: A Case History" .%A R. Morris .%A Ken Thompson .%J "Communications of the ACM" .%V vol. 22 .%P pp. 594-597 .%D Nov. 1979 .Re .Rs .%T "DES will be Totally Insecure within Ten Years" .%A M.E. Hellman .%J "IEEE Spectrum" .%V vol. 16 .%P pp. 32-39 .%D July 1979 .Re .Sh 歴史 ローターを採用した .Fn crypt 関数は、 .At v6 で現れました。現在の スタイルの .Fn crypt は、最初に .At v7 に現れました。 .Sh バグ .Fn des_setkey への引数の各キャラクタの .Em 最下位 ビットを 落とすのはとんでもないことです。 .Pp .Fn crypt 関数は、結果を内部の静的オブジェクトに残し、そのオブジェクトを指す ポインタを返します。後で .Fn crypt を呼び出すと、同じオブジェクトが 修正されます。 diff --git a/ja_JP.eucJP/man/man3/ctime.3 b/ja_JP.eucJP/man/man3/ctime.3 index 74b1c261e0..ffe71c0f13 100644 --- a/ja_JP.eucJP/man/man3/ctime.3 +++ b/ja_JP.eucJP/man/man3/ctime.3 @@ -1,334 +1,334 @@ .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Arthur Olson. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" From: @(#)ctime.3 8.1 (Berkeley) 6/4/93 -.\" $Id: ctime.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: ctime.3,v 1.8 1999/01/03 01:07:41 wollman Exp % .\" .Dd January 2, 1999 .Dt CTIME 3 .Os BSD 4.3 .Sh 名称 .Nm asctime , .Nm asctime_r , .Nm ctime , .Nm ctime_r , .Nm difftime , .Nm gmtime , .Nm gmtime_r , .Nm localtime , .Nm localtime_r , .Nm mktime , .Nm timegm .Nd バイナリ日付と時刻の値を変換する .Sh 書式 .Fd #include .Vt extern char *tzname[2]; .Ft char * .Fn ctime "const time_t *clock" .Ft double .Fn difftime "time_t time1" "time_t time0" .Ft char * .Fn asctime "const struct tm *tm" .Ft struct tm * .Fn localtime "const time_t *clock" .Ft struct tm * .Fn gmtime "const time_t *clock" .Ft time_t .Fn mktime "struct tm *tm" .Ft time_t .Fn timegm "struct tm *tm" .Ft char * .Fn ctime_r "const time_t *clock" "char *buf" .Ft struct tm * .Fn localtime_r "const time_t *clock" "struct tm *result" .Ft struct tm * .Fn gmtime_r "const time_t *clock" "struct tm *result" .Ft char * .Fn asctime_r "const struct tm *tm" "char *buf" .Sh 解説 関数 .Fn ctime , .Fn gmtime , .Fn localtime はすべて、基準時点 (00:00:00 .Tn UTC , 1970 年 1 月 1 日 .Xr time 3 を参照) 以降の時刻 (秒単位) を表す時間の値を引数として取ります。 .Pp 関数 .Fn localtime は、 .Fa clock が指す時刻の値を変換し、現在の時間帯 (および日光節約時間のような他の要素) に調整した後の値について細分化された時間情報が入った .Dq Fa struct tm (後述) を指すポインタを返します。時間帯調整は、 .Ev TZ 環境変数 ( .Xr tzset 3 を参照) が指定するように実行されます。 .Xr tzset 3 がプロセスによってまだ呼び出されていない場合、関数 .Fn localtime は、 .Xr tzset 3 を使用して、時刻変換情報を初期化します。 .Pp 構造体 tm に代入した後、 .Fn localtime は、 .Fa tzname の .Fa tm_isdst 番めのエレメントを、 .Fn localtime の戻り値とともに使用する時間帯短縮形である .Tn ASCII ストリングを指すポインタに設定します。 .Pp 関数 .Fn gmtime は、同じように時刻の値を変換しますが、時間帯の調整はなく、 構造体 tm を指すポインタを返します (後述)。 .Pp .Fn ctime 関数は、 .Fn localtime と同じ方法で現在の時間帯の時刻値を調整し、次の形式の 26 キャラクタのストリングを指すポインタを返します。 .Bd -literal -offset indent Thu Nov 24 18:22:48 1986\en\e0 .Ed .Pp フィールドにはすべて一定の幅があります。 .Pp .Fn ctime_r は、 .Fn ctime と同じ機能ですが、呼び出し元が結果を保存するために出力バッファ .Fa buf を準備しなければならないという点は異なります。このバッファは少なくとも 26 キャラクタの長さである必要があります。 .Fn localtime_r および .Fn gmtime_r は、それぞれ、 .Fn localtime および .Fn gmtime と同じ機能ですが、呼び出し元が出力バッファ .Fa result を準備しなければならないという点は異なります。 .Pp .Fn asctime 関数は、 .Fa *tm が指す構造体 .Fa tm 内の細分化された時間を変換し、前述の例に示した形式にします。 .Pp .Fn asctime_r は、 .Fn asctime と同じ機能を備えていますが、呼び出し元が結果を保存するための 出力バッファ .Fa buf を準備する点は異なります。このバッファの長さは少なくとも 26 キャラクタである必要があります。 .Pp 関数 .Fn mktime と .Fn timegm は、 tm が指す構造体内の細分化した時間を、 .Xr time 3 関数が返す値と同じエンコードの時刻値に変換します (すなわち、Epoch, .Tn UTC からの時刻にします)。 .Fn mktime は、現在の時間帯設定に従って入力構造体を解釈します ( .Xr tzset 3 を参照)。 .Fn timegm は、協定世界時 .Pq Tn UTC を表す入力構造体を解釈します。 .Pp 構造体の .Fa tm_wday コンポーネントと .Fa tm_yday コンポーネントのオリジナル値は無視され、 他のコンポーネントのオリジナルの値はその通常の範囲に制限されません ( .Fa tm_isdst が正の値の場合、 .Fn mktime は、初期的には、指定時間についてサマータイム (たとえば、日光節約時間) が有効であると推測します。ゼロの場合は、サマータイムが有効でないと 想定します。 .Fa tm_isdst が 負の値の場合、 .Fn mktime 関数は、指定の時間についてサマータイムが有効であるかどうか 推測しようとします。 .Fa tm_isdst メンバと .Fa tm_gmtoff メンバは .Fn timegm によって強制的にゼロにされます)。 .Pp 処理が正常に完了すると、構造体の .Fa tm_wday コンポーネントおよび .Fa tm_yday コンポーネントの値は適宜、設定され、他のコンポーネントは指定の カレンダー時間を表すよう設定されますが、値は通常の範囲にさせられます。 .Fa tm_mon と .Fa tm_year が決定されるまで、 .Fa tm_mday の最終値は設定されません。 .Fn mktime は、指定のカレンダー時間を返します。カレンダー時間が表わせない 場合は、\-1 が返されます。 .Pp .Fn difftime 関数は、2 つのカレンダー時間の間の差 .Pf ( Fa time1 - .Fa time0 ) (秒単位) を返します。 .Pp 外部宣言と構造体 tm の両方が .Aq Pa time.h インクルードファイル内にあります。構造体 tm には少なくとも 次のフィールドがインクルードされています。 .Bd -literal -offset indent int tm_sec; /\(** 秒 (0 - 60) \(**/ int tm_min; /\(** 分 (0 - 59) \(**/ int tm_hour; /\(** 時 (0 - 23) \(**/ int tm_mday; /\(** 月内の日 (1 - 31) \(**/ int tm_mon; /\(** 月 (0 - 11) \(**/ int tm_year; /\(** 年 \- 1900 \(**/ int tm_wday; /\(** 曜日 (Sunday = 0) \(**/ int tm_yday; /\(** 年内の日 (0 - 365) \(**/ int tm_isdst; /\(** サマータイムは有効か \(**/ char \(**tm_zone; /\(** 時間帯名の短縮形 \(**/ long tm_gmtoff; /\(** UTC からのオフセット (秒単位) \(**/ .Ed .Pp サマータイムが有効な場合、フィールド .Fa tm_isdst はゼロでなくなります。 .Pp フィールド .Fa tm_gmtoff は、 .Tn UTC から表される時間のオフセット (秒単位) であり、 正の値は本初子午線の東を示します。 .Sh 関連項目 .Xr date 1 , .Xr gettimeofday 2 , .Xr getenv 3 , .Xr time 3 , .Xr tzset 3 , .Xr tzfile 5 .Sh 規格 .Fn asctime , .Fn ctime , .Fn difftime , .Fn gmtime , .Fn localtime , .Fn mktime の各関数は、選択したローカルな時間帯に閏秒テーブルが含まれていない 場合だけ、 .St -isoC と .St -p1003.1 に準拠します ( .XX zic 8 を参照)。 .Pp .Fn asctime_r , .Fn ctime_r , .Fn gmtime_r , .Fn localtime_r の各関数は .St -iso9945-1 に準拠すると予想されます (ここでも、選択したローカルな時間帯に 閏秒テーブルが含まれていない場合だけです)。 .Sh 歴史 このマニュアルページは、 Arthur Olsen によって Berkeley に寄付された時間パッケージに由来するもので、これは .Bx 4.3 で現れました。 .Sh バグ .Fn difftime , .Fn mktime および他の関数の .Fn \&_r のついた変種を除いて、これらの関数は、結果を内部静的オブジェクトに残し、 そのオブジェクトを指すポインタを返します。後でこれらの関数を呼び出すと、 同じオブジェクトが修正されます。 .Pp C 言語規格は、プログラムがその現在のローカル時間帯設定を修正する メカニズムを備えていませんし、 .Tn POSIX 規格方式は再入可能ではありません (しかし、スレッドセーフシステムが .Tn POSIX スレッド環境には備わっています)。 .Pp 返された構造体 tm の .Fa tm_zone フィールドは、キャラクタの静的配列を指します。 これも後の呼び出しで上書きされます ( .Xr tzset 3 と .Xr tzsetwall 3 の後の呼び出しによって上書きされるのと同じようにです)。 .Pp 外部変数 .Fa tzname の使用はお勧めできません。構造体 tm 内の .Fa tm_zone エントリをお勧めします。 diff --git a/ja_JP.eucJP/man/man3/curs_addch.3 b/ja_JP.eucJP/man/man3/curs_addch.3 index 5211bfb770..5a57f7349d 100644 --- a/ja_JP.eucJP/man/man3/curs_addch.3 +++ b/ja_JP.eucJP/man/man3/curs_addch.3 @@ -1,127 +1,127 @@ -.\" $Id: curs_addch.3,v 1.1.1.1 1999-12-09 16:26:07 kuriyama Exp $ +.\" %Id: curs_addch.3,v 1.6 1997/02/22 15:07:39 peter Exp % .\" .\" jpman %Id% .\" .TH curs_addch 3 "" .SH 名称 \fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR, \fBechochar\fR, \fBwechochar\fR - 文字を (属性とともに) \fBncurses\fR ウィンドウに追加してから、カーソルを進める .SH 書式 \fB#include \fR \fBaddch(chtype ch);\fR .br \fBwaddch(WINDOW *win, chtype ch);\fR .br \fBmvaddch(int y, int x, chtype ch);\fR .br \fBmvwaddch(WINDOW *win, int y, int x, chtype ch);\fR .br \fBechochar(chtype ch);\fR .br \fBwechochar(WINDOW *win, chtype ch);\fR .br .SH 解説 \fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR および \fBmvwaddch\fR の各ルーチンは、 指定のウィンドウの現在のウィンドウ位置に文字 \fIch\fR を設定し、 その位置を進行します。 これらは \fBstdio\fR(3) の \fBputchar\fR に類似しています。 進行が右端余白の場合、カーソルは自動的に次の行の先頭にラップします。 \fBscrollok\fR が有効な場合、スクロール領域の下端では、 スクロール領域が 1 行だけ上にスクロールします。 \fIch\fR がタブ、改行、またはバックスペースの場合、 カーソルはウィンドウ内部で適切に移動させられます。 改行は \fBclrtoeol\fR を行ってから移動します。 タブは、8 カラムごとにあると見なされます。 \fIch\fR がタブ、改行、バックスペース以外の制御文字の場合、 それは \fB^\fR\fIX\fR 表記で描かれます。 制御文字を追加した後に \fBwinch\fR を呼び出しても、 制御文字は戻らず、代わりに制御文字の表現が返されます (制御文字を文字どおり送るには、\fBechochar\fRを使用します)。 ビデオ属性は 1 つの文字と論理和 (OR) を取ることによって、 結合されてパラメータに入れることができます。 この結果、これらの属性も設定されることになります (ここで意図することは、属性を含めてテキストが、 \fBinch\fR と \fBaddch\fR を使用して、 ある場所から別の場所にコピーできるということです)。 [ curs_attr(3) ページの、定義済みビデオ属性定数である \fBstandout\fR を参照してください]。 \fBechochar\fR ルーチンと \fBwechochar\fR ルーチンは、 \fBaddch\fR の呼び出しの後に \fBrefresh\fR の呼び出しが続いたもの、 または \fBwaddch\fR の呼び出しの後に \fBwrefresh\fR の呼び出しが続いたものと機能的に同等です。 1 つの文字だけが出力されていることを考慮に入れ、 制御文字でない文字の場合は、これらのルーチンを、 同等のものの代わりに使用すると、性能が大幅に向上することがあります。 .SS ライングラフィックス 以降の変数を使用して、\fBaddch\fR ファミリのルーチンで、 ライン描画文字を画面に追加できます。 以下にリストしたデフォルト文字が使用されるのは、 \fBacsc\fR 機能がターミナル固有の代わりのものを定義しない場合です。 名前は VT100 命名法から取ってあります。 .TS l l l _ _ _ l l l. \fl名称\fR \fIデフォルト\fR \fI記述\fR ACS_ULCORNER + 左上コーナー ACS_LLCORNER + 左下コーナー ACS_URCORNER + 右上コーナー ACS_LRCORNER + 右下コーナー ACS_RTEE + 右ツリー ACS_LTEE + 左ツリー ACS_BTEE + 下端ツリー ACS_TTEE + 上端ツリー ACS_HLINE - 水平線 ACS_VLINE | 垂直線 ACS_PLUS + プラス ACS_S1 - 走査線 1 ACS_S9 \&_ 走査線 9 ACS_DIAMOND + ダイアモンド ACS_CKBOARD : チェッカーボード (点描) ACS_DEGREE ' 度のシンボル ACS_PLMINUS # プラス / マイナス ACS_BULLET o ブレット ACS_LARROW < 左向き矢印 ACS_RARROW > 右向き矢印 ACS_DARROW v 下向き矢印 ACS_UARROW ^ 上向き矢印 ACS_BOARD # 正方形のボード ACS_LANTERN # ランタンのシンボル ACS_BLOCK # 埋められた正方形のブロック .TE .SH 戻り値 ルーチンはすべて、処理が失敗すると整数 \fBERR\fR で返ります。 処理が成功して完了すると、\fBERR\fR 以外の整数値が返されます。 ただし、これまでのルーチンの説明で異なるように注記した場合は別です。 .SH バグ .SH 注釈 \fBaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR および \fBechochar\fR はマクロである可能性があります。 386 と 486 のコンソールでは、 \fBwechochar\fR に上位ビットを設定した引数を指定すると、 対応する高さが半分の ASCIIZ グラフィックが生成されます (SVr4 curses にもこの特徴がありますが、 ドキュメントに記載はされていません)。 しかし、制御文字引数は通常、対応するグラフィックを作成しないものです。 CR, NL, FF および TAB のような文字は、 通常、コンソールドライバ自体によって解釈され、 ESC は制御シーケンスの先頭と解釈されます。 .SH 関連項目 \fBncurses\fR(3), \fBcurs_attr\fR(3), \fBcurs_clear\fR(3), \fBcurs_inch\fR(3), \fBcurs_outopts\fR(3), \fBcurs_refresh\fR(3), \fBputc\fR(3). diff --git a/ja_JP.eucJP/man/man3/cuserid.3 b/ja_JP.eucJP/man/man3/cuserid.3 index faa46d2cbd..aafa0e7b9a 100644 --- a/ja_JP.eucJP/man/man3/cuserid.3 +++ b/ja_JP.eucJP/man/man3/cuserid.3 @@ -1,88 +1,88 @@ .\" .\" Copyright (c) 1995 Joerg Wunsch .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Joerg Wunsch .\" 4. The name of the developer may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" $Id: cuserid.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" %Id: cuserid.3,v 1.5 1997/02/22 15:06:05 peter Exp % .\" .Dd April 10, 1995 .Os .Dt CUSERID 3 .Sh 名称 .Nm cuserid .Nd 有効な UID に対応するユーザ名を得る .Sh 書式 .Fd #include .Ft char * .Fn cuserid "char *s" .Sh 解説 .Bf -symbolic .Nm cuserid 関数は getpwuid によって旧式なものになりました。 .br これは互換性ライブラリ libcompat で利用できます。 .Ef .Pp 関数 .Nm cuserid は、現在のプロセスの有効な UID に対応するユーザ名を取得します。引数 .Fa s がゼロでない場合、名前は、それが指しているバッファに コピーされ、そのアドレスが返されます。このバッファは少なくとも .Em L_cuserid キャラクタ用の空間を準備する必要があります。この定数は .Pa Aq stdio.h 内に 定義されます。 .Pp .Fa s がゼロの場合、内部配列が使用され、そのアドレスが返されます。 .Pp .Sh 戻り値 .Nm cuserid は、名前が保存された配列のアドレスを返します。 .Pp 現在のプロセスの有効な UID に対応する名前が見つからない場合は、NULL ポインタが返されるか、または .Po s がゼロでない場合 .Pc バッファ .Fa s が NULL ストリングで埋められるかのどちらかです。 .Sh 関連項目 .Xr geteuid 2 , .Xr getpwuid 3 diff --git a/ja_JP.eucJP/man/man3/devstat.3 b/ja_JP.eucJP/man/man3/devstat.3 index 2e2fb4841a..f301d124cd 100644 --- a/ja_JP.eucJP/man/man3/devstat.3 +++ b/ja_JP.eucJP/man/man3/devstat.3 @@ -1,524 +1,524 @@ .\" .\" Copyright (c) 1998 Kenneth D. Merry. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: devstat.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" %Id: devstat.3,v 1.3 1999/01/06 04:59:53 obrien Exp % .\" .Dd May 21, 1998 .Dt DEVSTAT 3 .Os FreeBSD 3.0 .Sh 名称 .Nm devstat .Nd デバイス統計ユーティリティライブラリ .Sh 書式 .Fd #include .Ft int .Fn getnumdevs "void" .Ft long .Fn getgeneration "void" .Ft int .Fn getversion "void" .Ft int .Fn checkversion "void" .Ft int .Fn getdevs "struct statinfo *stats" .Ft int .Fo selectdevs .Fa "struct device_selection **dev_select" .Fa "int *num_selected" .Fa "int *num_selections" .Fa "long *select_generation" .Fa "long current_generation" .Fa "struct devstat *devices" .Fa "int numdevs" .Fa "struct devstat_match *matches" .Fa "int num_matches" .Fa "char **dev_selections" .Fa "int num_dev_selections" .Fa "devstat_select_mode select_mode" .Fa "int maxshowdevs" .Fa "int perf_select" .Fc .Ft int .Fo buildmatch .Fa "char *match_str" .Fa "struct devstat_match **matches" .Fa "int *num_matches" .Fc .Ft int .Fo compute_stats .Fa "struct devstat *current" .Fa "struct devstat *previous" .Fa "long double etime" .Fa "u_int64_t *total_bytes" .Fa "u_int64_t *total_transfers" .Fa "u_int64_t *total_blocks" .Fa "long double *kb_per_transfer" .Fa "long double *transfers_per_second" .Fa "long double *mb_per_second" .Fa "long double *blocks_per_second" .Fa "long double *ms_per_transaction" .Fc .Ft long double .Fo compute_etime .Fa "struct timeval cur_time" .Fa "struct timeval prev_time" .Fc .Sh 解説 .Nm devstat ライブラリは、カーネル .Xr devstat 9 インタフェースを処理するのに 便利な関数のライブラリです。カーネル .Xr devstat 9 インタフェースは、 .Xr sysctl 3 によってユーザーがアクセスできます。 .Pp .Fn getnumdevs は、カーネル内の .Nm devstat サブシステムとともに登録された デバイスの番号を返します。 .Pp .Fn getgeneration は、カーネル内のデバイス .Nm devstat リストの現在の世代を 返します。 .Pp .Fn getversion は、現在のカーネル .Nm devstat デバイスバージョンを返します。 .Pp .Fn checkversion は、カーネル .Nm devstat バージョンに対して userland devstat をチェックします。 2 つが同一の場合、ゼロが返されます。そうでない場合は、 .Va devstat_errbuf に該当するエラーを表示し -1 を返します。 .Pp .Fn getdevs は、デバイスと統計の現在のリストを取り出して、指定された .Va statinfo 構造に入れます。 .Va statinfo 構造は .Aq Pa devstat.h にあります。 .Bd -literal -offset indent struct statinfo { long cp_time[CPUSTATES]; long tk_nin; long tk_nout; struct devinfo *dinfo; struct timeval busy_time; }; .Ed .Pp .Fn getdevs は .Va statinfo 構造が割り振られるのを予期し、また、定刻より早く .Va dinfo サブエレメントが割り振られるのも予期します。 .Va dinfo サブエレメントには次のエレメントが入っています。 .Bd -literal -offset indent struct devinfo { struct devstat *devices; u_int8_t *mem_ptr; long generation; int numdevs; }; .Ed .Pp .Va kern.devstat.all sysctl 変数には、 .Nm devstat 構造の配列が入っていますが、配列の先頭は現在の .Nm devstat 世代です。世代がバッファの先頭にある理由は、 .Nm devstat 統計にアクセスしている userland ソフトウェアが自動的に 統計情報および対応する世代番号の両方を自動的に得るようにするためです。 クライアントソフトウェアが別の .Nm sysctl 変数 ( これは便宜のために利用できます ) を通じて世代番号を得ることを 強制された場合、デバイスのリストは、クライアントが世代を得る時刻と、 クライアントがデバイスリストを得る時刻の間で変化する可能性があります。 .Pp .Va devinfo 構造の .Va mem_ptr サブエレメントは、割り振られたメモリを指すポインタであり、必要であれば、 .Fn getdevs によってサイズを変更されます。 .Va devinfo 構造のデバイスサブエレメントは基本的に、 .Va kern.devstat.all .Nm sysctl 変数から .Nm devstat 構造の配列の先頭を指すポインタです。 .Nm devinfo 構造の世代 サブエレメントには、 .Va kern.devstat.all .Nm sysctl 変数からの世代番号が含まれています。 .Va devinfo 構造の .Va numdevs サブエレメントには、カーネル .Nm devstat サブシステムで登録されたデバイスの現在の番号が入っています。 .Pp .Fn selectdevs は、規準の数を基礎にして表示するデバイスを選択します。 .Bl -tag -width flag .It 指定デバイス 指定されたデバイスは最初の選択優先順位です。これらは、一般に、 ユーザにより名前により指定されたデバイス、たとえば、 da0, da1, cd0 です。 .It マッチパターン これらのパターンユーザ入力から .Fn buildmatch によって生成されたパターンマッチング式です。 .It 性能 性能モードが有効な場合、デバイスは、 .Fn selectdevs に渡される .Va device_selection 構造内の .Va bytes フィールドを基礎にしてソートされます。 .Va bytes 値は、現時点では、ユーザが保守する必要があります。将来的には、これは .Nm devstat ライブラリルーチンで行われる可能性があります。デバイスが名前または パターンによって選択されていない場合、性能追跡コードがシステム内の 各デバイスを選択し、これらを性能によってソートします。デバイスが名前または パターンによって選択されている場合、性能追跡コードはこれらの選択を尊重し、 選択されたデバイスの間でだけソートします。 .It devstat リスト内の順序 選択モードが DS_SELECT_ADD に設定され、しかも .Va maxshowdevs 未満のデバイスが選択されている場合、 .Fn selectdevs が自動的に .Va maxshowdevs デバイスをセットアップします。 .El .Pp .Fn selectdevs は、次の 4 つのモードで選択を行います。 .Bl -tag -width DS_SELECT_ADDONLY .It DS_SELECT_ADD 追加モードで、 .Fn selectdevs は、名前または一致パターンによって指定された 選択されていないデバイスを選択します。また、これは .Nm devstat の順序でさらにデバイスを選択します。選択したデバイスの数が .Va maxshowdevs に等しくなるまで、またはすべてのデバイスが選択されるまでです。 .It DS_SELECT_ONLY only モードで、 .Fn selectdevs は、現在の選択肢をすべてクリアし、 名前または一致するパターンで指定されたデバイスだけを選択します。 .It DS_SELECT_REMOVE 除去モードで、 .Fn selectdevs は、名前または一致パターンによって指定されたデバイスを除去します。 追加デバイスは選択しません。 .It DS_SELECT_ADDONLY 追加のみモードで、 .Fn selectdevs は、名前または一致する パターンで指定された選択されないデバイスを選択します。この点では、これは 追加モードと同一です。しかし、指定された以外のデバイスは選択しません。 .El .Pp すべての選択モードで、 .Fn selectdevs は、 .Va maxshowdevs デバイスを越えるデバイスは選択しません。1 つの例外は、 .Dq top モードにあり、デバイスが選択されていないときです。この場合、 .Fn selectdevs は、システム内の各デバイス を選択します。クライアントプログラムは、特定のデバイスに注意を払うかどうか 決定するときに、選択の順序に注意を払う必要があります。これはまずい 動作であり、さらに考慮する必要があると考えられます。 .Pp .Fn selectdevs は、クライアントによって渡された .Va dev_select 構造の割り振りとサイズ変更を処理します。 .Fn selectdevs は、 .Va numdevs フィールドと .Va current_generation フィールドを使用して、現在の .Nm devstat 世代とデバイスの数を追跡します。 .Va num_selections が .Va numdevs と同じでない場合、または .Va select_generation が .Va current_generation と同じでない場合、 .Fn selectdevs は、選択リストを必要に応じてサイズ変更し、選択配列を初期化し直します。 .Pp .Fn buildmatch は、カンマで区切られた一致ストリングを取り、 .Fn selectdevs が理解する \fBdevstat_match\fR 構造にコンパイルします。一致ストリングの形式は 次のとおりです。 .Pp .Bd -literal -offset indent device,type,if .Ed .Pp .Fn buildmatch は、必要に応じて、一致リストの割り振りと再割り振りを 処理します。現時点で既知の一致タイプには次のものが含まれます。 .Pp .Bl -tag -width indent -compact .It デバイスタイプ: .Bl -tag -width 123456789 -compact .It da ダイレクトアクセスデバイス .It sa シーケンシャルアクセスデバイス .It printer プリンタ .It proc プロセッサデバイス .It worm 書き込み 1 回読み取り複数デバイス (Write Once Read Multiple devices) .It cd CD デバイス .It scanner スキャナデバイス .It optical 光学メモリデバイス .It changer 媒体変更 (Medium Changer) デバイス .It comm 通信デバイス .It array ストレージ配列デバイス .It enclosure 囲みサービスデバイス (Enclosure Services devices) .It floppy フロッピーデバイス .El .Pp .It インタフェース: .Bl -tag -width 123456789 -compact .It IDE 統合ドライブ電子工学デバイス (Integrated Drive Electronics devices) .It SCSI 小型コンピュータシステムインタフェースデバイス .It other 他のデバイスインタフェース .El .Pp .It パススルー: .Bl -tag -width 123456789 -compact .It pass パススルーデバイス .El .El .Pp .Fn compute_stats は、さまざまなデバイス統計を得るための簡単な方法です。 .Va current と .Va etime の 2 つの引数が必須です。他の各引数はオプションです。 ほとんどのアプリケーションの場合、ユーザは .Va current と .Va previous の .Nm devstat 構造の両方を指定したいと思うものです。指定期間に渡って統計が 計算できるようにするためにです。インスタンスによっては、システム起動からの 統計を計算するために、ユーザは .Va previous の引数について NULL ポインタを渡すことがあります。その場合、 .Fn compute_stats は、 .Va current の構造内の合計状態を使用して、 .Va etime 時間に渡る統計を計算します。 .Fn compute_stats が計算する可能性のある各種統計は、関数宣言自体で主に説明する 必要がありますが、完全性を期するために、変数名のリストとそれに入れられる 統計を示します。 .Bl -tag -width transfers_per_second .It total_bytes .Va previous の取得と .Va current の取得の間で、読み取りと書き込みの 両方が、指定デバイスで転送されるバイトの合計数です。 .Va previous が NULL の場合、結果は .Va current で与えられる合計の読み取りと書き込みです。 .It total_transfers .Va previous の取得と .Va current の取得の間で完了される転送の合計数です。以前が NULL の場合、結果は .Va current 内にリストされるトランザクションの合計数です。 .It total_blocks 基本的に .Va total_bytes をデバイスブロックサイズで除算したものです。ブロックサイズが .Sq 0 としてリストされている場合、デバイスブロックサイズは、 デフォルトで 512 バイトになります。 .It kb_per_transfer 測定期間の間の転送ごとの平均 KB 数です。 .It transfers_per_second 秒ごとの転送の平均数です。 .It mb_per_second 秒ごとの平均 MB です。 .It locks_per_second 秒ごとの平均ブロックです。デバイスブロックサイズが .Sq 0 の場合、デフォルトのブロックサイズ 512 バイトが代わりに使用されます。 .It ms_per_transaction トランザクションごとの平均ミリ秒数です。 .El .Pp .Fn compute_etime は、2 つの .Va timeval 構造の間の秒単位の違いを検出する簡単な方法です。これは、 .Fn getdevs 関数 ( .Va statinfo 構造体内 ) が、現在の .Nm devstat リストを取り出すたびに、 .Fn getdevs 関数が記録した時刻とともに最も一般的に使用されます。 .Sh 戻り値 .Fn getnumdevs , .Fn getgeneration 、および .Fn getversion は、指示された \fBsysctl\fR 変数を返します。 変数を取り出すときにエラーがあった場合は -1 を返します。 .Pp .Fn checkversion は、カーネルと userland devstat バージョンが一致する場合、 0 を返します。一致しない場合、 -1 を返します。 .Pp .Fn getdevs と .Fn selectdevs は、エラーの場合は -1 を返し、エラーがない場合は 0 を返し、 デバイスリストまたは選択したデバイスが変化している場合は 1 を返します。 .Fn getdevs からの戻り値が 1 であるのは、 .Fn selectdevs の再実行の ヒントです。デバイスリストが変化しているからです。 .Pp .Fn buildmatch はエラーの場合は -1 、エラーがない場合は 0 を返します。 .Pp .Fn compute_stats はエラーの場合は -1 、成功の場合は 0 を返します。 .Pp .Fn compute_etime 計算済みの経過時間を返します。 .Pp .Nm devstat ライブラリ関数の 1 つからエラーが返された場合、一般に、エラーの 理由がグローバルストリング .Va devstat_errbuf に印刷されます。 .Va devstat_errbuf の長さは .Dv DEVSTAT_ERRBUF_SIZE キャラクタです。 .Sh 関連項目 .Xr systat 1 , .Xr iostat 8 , .Xr rpc.rstatd 8 , .Xr vmstat 8 , .Xr devstat 9 .Sh 歴史 .Nm devstat 統計システムは最初に .Fx 3.0 に現れました。 .Sh 作者 Kenneth Merry .Aq ken@FreeBSD.ORG .Sh バグ .Fn getdevs , .Fn selectdevs 、および .Fn buildmatch によって割り振られたメモリを 割り振り解除するためのインタフェースがおそらくあるはずです。 .Pp .Fn selectdevs は、デバイスが以前に選択されていない場合、 .Dq top モードでは、 .Va maxshowdevs デバイスより多くを選択することはおそらくできません。 .Pp このライブラリのほとんどのクライアントについて行われる統計バッファスワップ を実行するための関数がおそらくあるはずです。 .Pp .Va statinfo 構造と .Nm devinfo 構造は、クリーンアップし、もう少し考える必要があります。 diff --git a/ja_JP.eucJP/man/man3/dialog.3 b/ja_JP.eucJP/man/man3/dialog.3 index 86303c3d79..020b8ab859 100644 --- a/ja_JP.eucJP/man/man3/dialog.3 +++ b/ja_JP.eucJP/man/man3/dialog.3 @@ -1,490 +1,490 @@ .\" .\" Copyright (c) 1995, Jordan Hubbard .\" .\" All rights reserved. .\" .\" This manual page may be used, modified, copied, distributed, and .\" sold, in both source and binary form provided that the above .\" copyright and these terms are retained, verbatim, as the first .\" lines of this file. Under no circumstances is the author .\" responsible for the proper functioning of the software described herein .\" nor does the author assume any responsibility for damages incurred with .\" its use. .\" -.\" $Id: dialog.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" %Id: dialog.3,v 1.8 1998/10/02 11:23:47 jkh Exp % .\" .Dd October 2, 1998 .Dt dialog 3 .Os FreeBSD 2 .Sh 名称 .Nm draw_shadow , .Nm draw_box , .Nm line_edit , .Nm strheight , .Nm strwidth , .Nm dialog_create_rc, .Nm dialog_yesno , .Nm dialog_prgbox , .Nm dialog_msgbox , .Nm dialog_textbox , .Nm dialog_menu , .Nm dialog_checklist , .Nm dialog_radiolist , .Nm dialog_inputbox , .Nm dialog_clear_norefresh , .Nm dialog_clear , .Nm dialog_update , .Nm dialog_fselect , .Nm dialog_notify , .Nm dialog_mesgbox , .Nm dialog_gauge , .Nm init_dialog , .Nm end_dialog , .Nm use_helpfile , .Nm use_helpline , .Nm get_helpline , .Nm restore_helpline , .Nm dialog_ftree , .Nm dialog_tree .Nd 簡単な ncurses ベースの GUI インタフェース .Sh 解説 ダイアログライブラリは、固定表示メニュー、入力ボックス、ゲージ、 ファイルリクエスタ、その他の汎用「GUI」(多少誇張してあります。ncurses を 使用するからです) オブジェクトのかなり単純化したセットを 提供しようとしています。 ライブラリではシェルスクリプトライターユーティリティ (\fBdialog(1)\fR コマンドを参照) 内にもルーツがあったため、初期の API は、 渡され、送られ、パースされるストリングを原始的に基礎としていました。 この API は後に拡張され、オリジナル の引数または \fBdialogMenuItem\fR 構造の配列のどちらかを取るようになりました。 この結果、ユーザは、各コントロールの内部動作をさらに 制御できるようになりました。\fBdialogMenuItem\fR 構造の内部はパブリックです。 .nf typedef struct _dmenu_item { char *\fBprompt\fR; char *\fBtitle\fR; int (*\fBchecked\fR)(struct _dmenu_item *self); int (*\fBfire\fR)(struct _dmenu_item *self); int (*\fBselected\fR)(struct _dmenu_item *self, int is_selected); void *\fBdata\fR; char \fBlbra\fR, \fBmark\fR, \fBrbra\fR; } \fBdialogMenuItem\fR; .fi \fBprompt\fR ストリングと \fBtitle\fR ストリングは、かなり自明です。 メニューオブジェクトとユーザコードの間に緊密に結合されたフィードバックが 必要なとき、\fBchecked\fR 関数ポインタと \fBfire\fR 関数ポインタには オプションの ディスプレイと処置フックが備わっています (これらの フックのために \fBdata\fR 変数が利用できます)。 \fB選択された\fR フックによって、コンテキストに応じた動作をかなり 実現するために、指定の項目が選択されているかどうかを 検証することもできます。さまざまな種類の項目タイプをシミュレートする 賢明ないくつかの方法が、\fBlbra\fR (デフォルト: '[')、 \fBmark\fR (デフォルト: ラジオメニューについては '*'、 チェックメニューについては 'X')、および \fBrbra\fR (デフォルト: ']') の値を調整し、合理的な \fBchecked\fR フックを 宣言することで行えます。これは「マークされた」状態については TRUE、「マーク されない」状態については FALSE を返すはずです。項目に対応する \fBfire\fR フック がある場合、その項目は、何らかの方法で項目が「トグル」されたときもいつでも 呼び出され、次のコードの 1 つを返すはずです。 .nf #define DITEM_SUCCESS 0 /* 完了成功 */ #define DITEM_FAILURE -1 /*「起動(fire)」に失敗 */ #define DITEM_LEAVE_MENU -2 /* 選択肢を「OK」として取り扱う */ #define DITEM_REDRAW -3 /* メニューが変化している。描画し直せ */ ダイアログを任意の X、Y 位置に配置するために 2 つの専用のグローバルも 存在します(初期の設計者はかなり近視眼的で、これの準備をしませんでした)。 ゼロに設定されている場合、デフォルトの中央揃えが有効になります。 .fi .Sh 書式 .Fd #include .Ft "void" .Fn draw_shadow "WINDOW *win" "int y" "int x" "int height" "int width" \fBx, y, width\fR、および \fBheight\fR の寸法を使用して、 curses ウィンドウ \fBwin\fR に陰を描画します。 処理成功すると 0 を返し、処理失敗すると -1 を返します。 .Ft "void" .Fn draw_box "WINDOW *win" "int y" "int x" "int height" "int width" "chtype box" "chtype border" \fBx, y, width\fR、および \fBheight\fR の寸法を使用して、 ボーダーのあるボックスを描画します。 \fBbox\fR と \fBborder\fR の属性が指定されている場合、ボックスと オブジェクトのボーダー領域をペイントする間、それらが使用されます。 .Ft "int" .Fo line_edit .Fa "WINDOW *dialog" .Fa "int box_y" .Fa "int box_x" .Fa "int flen" .Fa "int box_width" .Fa "chtype attrs" .Fa "int first" .Fa "unsigned char *result" .Fa "int attr_mask" .Fc 寸法が \fBbox_x, box_y\fR および \fBbox_width\fR の編集ボックスで 簡単なラインエディタを起動します。フィールドの長さは \fBflen\fR によって 制約され、指定された \fBfirst\fR キャラクタで開始します。 この \fBfirst\fR キャラクタはオプションで、 キャラクタ属性 \fBattrs\fR で表示されます。 編集中のストリングは \fBresult\fR に保存されます。 処理が成功した場合は 0 、処理が失敗した場合は -1 を返します。 .Ft "int" .Fn strheight "const char *p" 改行をカウントしながら、\fBp\fR 内のストリングの高さを返します。 .Ft "int" .Fn strwidth "const char *p" 改行をカウントしながら、\fBp\fR 内のストリングの幅を返します。 .Ft "void" .Fn dialog_create_rc "unsigned char *filename" デフォルトとして後で取り出すためにダイアログライブラリ設定 を \fBfilename\fR 内にダンプします。 処理が成功した場合は 0 、処理が失敗した場合は -1 を返します。 .Ft "int" .Fn dialog_yesno "unsigned char *title" "unsigned char *prompt" "int height" "int width" 寸法が \fBheight\fR と \fBwidth\fR の \fBtitle\fR ストリングと \fBprompt\fR ストリングを使用してテキストボックスを表示します。 また、下端に \fBYes\fR ボタンと \fBNo\fR ボタンのペアも表示します。 \fBYes\fR ボタンを選択すると、FALSE を返します。 \fBNo\fR ボタンを選択すると TRUE を返します。 .Ft "int" .Fn dialog_prgbox "unsigned char *title" "const unsigned char *line" "int height" "int width" "int pause" "int use_shell" コマンド \fBline\fR の出力が入っている、寸法が \fBheight\fR と \fBwidth\fR のテキストボックスを表示します。 \fBuse_shell\fR が TRUE の場合、\fBline\fR は \fBsh(1)\fR への引数として 渡されます。そうでない場合は、単に \fBexec(3)\fR に渡されます。 \fBpause\fR が TRUE の場合、実行が終了したときに、 最終的な確認リクエスタが供給されます。 処理が成功した場合は 0 、処理が失敗した場合は -1 を返します。 .Ft "int" .Fn dialog_textbox "unsigned char *title" "unsigned char *prompt" "int height" "int width" 寸法が \fBheight\fR と \fBwidth\fR の、ストリング \fBprompt\fR の内容が 含まれているテキストボックスを表示します。 処理が成功した場合は 0 、処理が失敗した場合は -1 を返します。 .Ft "int" .Fn dialog_menu "unsigned char *title" "unsigned char *prompt" "int height" "int width" "int menu_height" "int item_no" "void *itptr" "unsigned char *result, int *ch, int *sc" 寸法が \fBheight\fR と \fBwidth\fR のメニューを表示します。 このメニューには、\fBmenu_height\fR というオプションの内部メニューの高さが あります。\fBitem_no\fR 引数と \fBitptr\fR 引数には特別な重要性があります。 これらは一緒になって、利用可能な 2 つの API のうちどちらを使用するかを 決定するからです。古い従来のインタフェースを使用するには、 \fBitem_no\fR が \fBitptr\fR (タイプは \fBchar **\fR である必要があります) 内に見つかるストリングポインタペアの数を表す正の整数である 必要があります。ストリングは各項目についてプロンプト内にあり タイトル順であることが予測されます。 \fBresult\fR パラメータは、選択された項目の プロンプトストリングがコピーされる配列を指すと予測されます。もっと新しい インタフェースを使用するには、\fBitem_no\fR が、 \fBitptr\fR (タイプは \fBdialogMenuItem *\fR である必要があります) の指す \fBdialogMenuItem\fR 構造の数を表す負の整数である必要があります。 項目ごとに 1 つの構造です。新しいインタフェースでは、\fBresult\fR 変数は、 単純なブール演算子 (ポインタではありません) として使用され、 \fBitptr\fR がメニュー構造を指すだけで、デフォルトの \fBOK\fR ボタンと \fBCancel\fR ボタンが望ましい場合は、NULL にする必要があります。 \fBresult\fR が NULL でない場合、\fBitptr\fR は実際に、 メニュー項目リストの始点を過ぎた 2 位置を指すと予測されます。 この場合、\fBitptr\fR[-1] は \fBCancel\fR ボタンを表す項目を指すと 予測されます。ここから、 \fBprompt\fR 処置と \fBfire\fR 処置が デフォルトの動作を上書きするために使用されます。 \fBitp-tr[-2]\fR は \fBOK\fR ボタンについて同じことをします。 どちらかの API 動作を使用すると、\fBch\fR 値と \fBsc\fR 値が渡され、 現在の項目選択が維持され、呼び出しの間で位置の値がスクロールされます。 処理が成功した場合は 0 、処理が失敗した場合または ESC の場合は -1 を返します。 .Ft "int" .Fn dialog_checklist "unsigned char *title" "unsigned char *prompt" "int height" "int width" "int m_height" "int item_no" "void *itptr" "unsigned char *result" 寸法が \fBheight\fR と \fBwidth\fR のメニューを表示します。このメニューには、 \fBmenu_height\fR というオプションの内部メニューの高さがあります。 \fBitem_no\fR 引数と \fBitptr\fR 引数には特別な重要性があります。 これらは一緒になって、利用可能な 2 つの API のうちどちらを使用するか を決定するからです。古い従来のインタフェースを使用するには、 \fBitem_no\fR が \fBitptr\fR (タイプは \fBchar **\fR である必要が あります) 内に見つかるストリングポインタ要素の集合の数を表す正の 整数である必要があります。ストリングは各項目についてプロンプト内にあり タイトルと状態 (「オン」または「オフ」) 順であることが予測されます。 \fBresult\fR パラメータは、選択された項目のプロンプトストリングが コピーされる配列を指すと予測されます。 もっと新しいインタフェースを使用するには、\fBitem_no\fR が、 \fBitptr\fR (タイプは \fBdialogMenuItem *\fR である必要があります) の指す \fBdialogMenuItem\fR 構造の数を表す負の整数である必要があります。項目ごとに 1 つの構造です。新しいインタフェースでは、\fBresult\fR 変数は、 単純なブール演算子 (ポインタではありません) として使用され、 \fBitptr\fR がメニュー構造を指すだけで、デフォルトの \fBOK\fR ボタンと \fBCancel\fR ボタンが望ましい場合は、NULL にする必要があります。 \fBresult\fR が NULL でない場合、\fBitptr\fR は実際に、メニュー項目 リストの始点を過ぎた 2 位置を指すと予測されます。この場合、 \fBitptr[-1]\fR は \fBCancel\fR ボタンを表す項目を指すと予測されます。 ここから、\fBprompt\fR 処置と \fBfire\fR 処置が デフォルトの動作を上書きするために使用されます。 \fBitptr[-2]\fR は \fBOK\fR ボタンについて同じことをします。 標準 API モデルでは、メニューは複数項目の選択をサポートしています。 各項目が選択を表すために 'X' キャラクタでマークされます。 OK ボタンを選択すると、選択されたすべての項目についてのプロンプト値が 連結されて \fBresult\fR ストリングに入れられます。 新しい API モデルでは、「チェックリスト」意味論を保持する必要は 実際にはありません。各項目がどのように表示されるか、 「選択された」としてどのようにマークされるかについての 実際的にほとんどのことは完全に構成可能だからです。 「ラジオ」動作、「チェックリスト」動作、および標準メニュー項目動作の 項目のグループを実際に組み入れていた 1 つのチェックリストメニューを 得ることができるでしょう。 新しい API モデルで \fBdialog_radiolist\fR よりも \fBdialog_checklist\fR を呼び出す唯一の理由は、 ベース動作を継承することです。もはやそれによって制約されなくなります。 処理が成功した場合は 0、処理が失敗した場合または ESC の場合は -1 を返します。 .Ft "int" .Fn dialog_radiolist "unsigned char *title" "unsigned char *prompt" "int height" "int width" "int m_height" "int item_no" "void *it" "unsigned char *result" 寸法が \fBheight\fR と \fRwidth\fR のメニューを表示します。このメニューには、 \fBmenu_height\fR というオプションの内部メニューの高さがあります。 \fBitem_no\fR 引数と \fBitptr\fR 引数には特別な重要性があります。 これらは一緒になって、利用可能な 2 つの API のうちどちらを使用するかを 決定するからです。古い従来のインタフェースを使用するには、 \fBitem_no\fR が \fBitptr\fR (タイプは \fBchar **\fR である 必要があります) 内に見つかるストリングポインタ要素の集合の数を表す正の 整数である必要があります。ストリングは各項目についてプロンプト内にあり タイトルと状態 (「オン」または「オフ」) 順であることが予測されます。 \fBresult\fR パラメータは、選択された項目のプロンプトストリングが コピーされる配列を指すと予測されます。 もっと新しいインタフェースを使用するには、\fBitem_no\fR が、 \fBitptr\fR (タイプは \fBdialogMenuItem *\fR である必要があります) の指す \fBdialogMenuItem\fR 構造の数を表す負の整数である必要があります。項目ごとに 1 つの構造です。新しいインタフェースでは、\fBresult\fR 変数は、 単純なブール演算子 (ポインタではありません) として使用され、 \fBitptr\fR がメニュー構造を指すだけで、デフォルトの \fBOK\fR ボタンと \fBCancel\fR ボタンが望ましい場合は、NULL にする必要があります。 \fBresult\fR が NULL でない場合、\fBitptr\fR は実際に、メニュー項目 リストの始点を過ぎた 2 位置を指すと予測されます。この場合、 \fBitptr[-1]\fR は \fBCancel\fR ボタンを表す項目を指すと予測されます。 ここから、 \fBprompt\fR 処置と \fBfire\fR 処置がデフォルトの動作を 上書きするために使用されます。\fBitptr[-2]\fR は \fBOK\fR ボタンについて 同じことをします。 標準 API モデルでは、メニューは複数の項目の 1 つだけの選択をサポートします。 現在アクティブな項目は `*' でマークされます。 新しい API モデルでは、「ラジオボタン」意味論を保持する必要は 実際にはありません。各項目がどのように表示されるか、 「選択された」としてどのようにマークされるかについての 実際的にすべてのことが完全に構成可能だからです。「チェックリスト」動作、 「ラジオ」動作および標準メニュー項目動作の項目のグループを実際に組み入れた 1 つのチェックリストメニューを得ることができます。 新しい API モデルで \fBdialog_checklist\fR よりも \fBdialog_radiolist\fR を呼び出す唯一の理由は、ベース動作を継承することです。 処理が成功した場合は 0 を返し、Cancel の場合は 1 を返し、 処理が失敗するかまたは ESC の場合は -1 を返します。 .Ft "int" .Fn dialog_inputbox "unsigned char *title" "unsigned char *prompt" "int height" "int width" "unsigned char *result" 寸法が \fBheight\fR と \fBwidth\fR の \fBtitle\fR と \fBprompt\fR を表示するボックス内に 1 行のテキスト入力フィールドを表示します。 入力されたフィールドは \fBresult\fR に保存されます。 処理が成功した場合は 0 を返し、 処理が失敗するかまたは ESC の場合は -1 を返します。 .Ft "char *" .Fn dialog_fselect "char *dir" "char *fmask" \fBdir\fR で開始し、\fBfmask\fR に一致するファイル名だけを表示する ファイルセレクタダイアログを呼び出します。 選択されたファイル名または NULL を返します。 .Ft "int" .Fn dialog_dselect "char *dir" "char *fmask" \fBdir\fR で開始し、\fBfmask\fR に一致するディレクトリ名だけを表示する ファイルセレクタダイアログを呼び出します。選択されたファイル名 または NULL を返します。 .Ft "void" .Fn dialog_notify "char *msg" \fBmsg\fR が入った一般的な "hey, you!" 通知ダイアログを呼び出します。 .Ft "int" .Fn dialog_mesgbox "unsigned char *title" "unsigned char *prompt" "int height" "int width" 通知ダイアログに類似していますが、 \fBtitle\fR, \fBprompt\fR, \fBwidth\fR および \fBheight\fR を さらに制御できます。このオブジェクトは、\fBdialog_notify\fR と違って、 ユーザ確認も待機します。 処理が成功した場合は 0 を返し、処理が失敗した場合は -1 を返します。 .Ft "void" .Fn dialog_gauge "char *title" "char *prompt" "int y" "int x" "int height" "int width" "int perc" 水平の棒グラフスタイルのゲージを表示します。\fBperc\fR についての \fB100\fR という値はフルゲージを構成し、 \fB0\fR という値は空のゲージを構成します。 .Ft "void" .Fn use_helpfile "char *helpfile" コンテキストに応じたヘルプをサポートしているどのメニューについても、 \fBF1\fR キー が押されるたびにこのファイル上のテキストボックスオブジェクトが 起動されます。 .Ft "void" .Fn use_helpfile "char *helpfile" 表示されているメニューの下に便利なこの行を表示します。 .Ft "char *" .Fn get_helpline "void" 便利なテキスト行の現在の値を取得します。 .Ft "void" .Fn dialog_clear_norefresh "void" 画面をクリアしてダイアログ背景色にしますが、内容はリフレッシュしません。 .Ft "void" .Fn dialog_clear "void" ただちに画面をクリアしてダイアログの背景色に戻します。 .Ft "void" .Fn dialog_update "void" 延期中の画面リフレッシュを今、行います。 .Ft "void" .Fn init_dialog "void" ダイアログライブラリをシャットダウンします (正気に戻る必要がある場合は これを呼び出してください) 。 .Ft "int" .Fn dialog_ftree "unsigned char *filename" "unsigned char FS" \ "unsigned char *title" "unsigned char *prompt" "int height" "int width" \ "int menu_height" "unsigned char **result" \fBdialog_ftree\fR は、ファイル \fBfilename\fR からのデータで 記述されたツリーを表示します。ファイル内のデータは \fBfind(1)\fR 出力のように見えるはずです。 \fBfind(1)\fR 出力の場合、フィールド分離子 \fBFS\fR は \fB\'/\'\fR になります。 \fBheight\fR と \fBwidth\fR が正の数である場合、これらは \fBdialog_ftree\fR ボックス全体の絶対サイズを設定します。 \fBheight\fR と \fBwidth\fR が負の数である場合、 \fBdialog_ftree\fR ボックスのサイズは自動的に計算されます。 \fBmenu_height\fR は \fBdialog_ftree\fR ボックス内の ツリーサブウィンドウの高さを設定し、また設定する必要があります。 \fBtitle\fR は、\fBdialog_ftree\fR ボックスの上端ボーダー上に 中央揃えで表示されます。 ツリーサブウィンドウの上方にある \fBdialog_ftree\fR 内部に \fBprompt\fR が表示され、行を分割するために \fB\'\\n\'\fR を 入れることができます。ツリーをナビゲートするには、\fBUP/DOWN\fR または \fB\'+\'/\'-\'\fR, \fBPG_UP/PG_DOWN\fR または \fB\'b\'/SPACE\fR および \fBHOME/END\fR または \fB\'g\'/\'G\'\fR を押します。ツリーのリーフを選択するには、 \fBTAB\fR または \fBLEFT/RIGHT\fR を押し、\fBOK\fR ボタン次いで \fBENTER\fR を押します。ファイル名には \fBfind(1)\fR 出力のような データを組み入れることができます。 \fB-d\fR オプションを指定した \fBfind(1)\fR の出力とも同じようにです。 ツリーのリーフに移行するパスは存在しなくてかまいません。 このようなデータはファイル名からフィードされたときに訂正されます。 \fBOK\fR ボタンを選択すると、関数は 0 と選択したリーフ (ツリーの ルートからリーフへのパス) を指すポインタを結果に入れて返します。 ツリーの作成用に割り振られたメモリは、既存の \fBdialog_ftree\fR を 終了するときに解放されます。 結果の行用のメモリは必要であれば後で手動で解放します。 \fBCancel\fR ボタンを選択すると、関数は 1 を返します。 \fBESC\fR で \fBdialog_ftree\fR を終了する場合、関数は -1 を返します。 .Ft "int" .Fo dialog_tree .Fa "unsigned char **names" .Fa "int size" .Fa "unsigned char FS" .Fa "unsigned char *title" .Fa "unsigned char *prompt" .Fa "int height" .Fa "int width" .Fa "int menu_height" .Fa "unsigned char **result" .Fc \fBdialog_tree\fR は、\fBdialog_ftree\fR と非常に類似したツリーを表示しますが、 例外がいくつかあります。ツリーを作成するためのソースデータは、 サイズが \fBsize\fR のリーフへのパスの配列 \fBnames\fR です (\fBfind(1)\fR 出力に類似しています) 。 しかし、\fBdialog_ftree\fR でのようにデータの訂正はありません。 このように、正しいツリーを表示するためには、配列には正しいデータが 既に入っている必要があります。 なお、セッションごとに \fBdialog_tree\fR の独自の各使用法がメモリに保持され、 後で、同じ \fBnames\fR, \fBsize\fR, \fBFS\fR, \fBheight\fR, \fBwidth\fR および \fBmenu_height\fR で \fBdialog_tree\fR を呼び出すときに、 ツリーサブウィンドウ内のカーソルの位置が復元されます。 関数は \fBdialog_ftree\fR と同じ結果を返します。 0 が返された場合、結果には配列 \fBnames\fR からのポインタが入れられます。 .Sh 関連項目 .Xr dialog 1 , .Xr ncurses 3 .Sh 作者 主要な作者は .An Savio Lam Aq lam836@cs.cuhk.hk と考えられます。長年に渡る貢献が .An Stuart Herbert Aq S.Herbert@sheffield.ac.uk , .An Marc van Kempen Aq wmbfmk@urc.tue.nl , .An Andrey Chernov Aq ache@freebsd.org , .An Jordan Hubbard Aq jkh@freebsd.org および .An Anatoly A. Orehovsky Aq tolik@mpeks.tomsk.su によって行われました。 .Sh 歴史 これらの関数は .Em FreeBSD-2.0 では .Xr dialog 1 コマンドとして現れましたが、 すぐに Andrey Chernov によってライブラリとコマンドに分割されました。 Marc van Kempen がその他のコントロールとオブジェクトのほとんどを作成しました。 Jordan Hubbard が dialogMenuItem 革新とこのマニュアルページを追加しました。 Anatoly A. Orehovsky が dialog_ftree() と dialog_tree() を作成しました。 .Sh バグ 確実! diff --git a/ja_JP.eucJP/man/man3/dladdr.3 b/ja_JP.eucJP/man/man3/dladdr.3 index 733f8fd9f6..308e645655 100644 --- a/ja_JP.eucJP/man/man3/dladdr.3 +++ b/ja_JP.eucJP/man/man3/dladdr.3 @@ -1,118 +1,118 @@ .\" .\" Copyright (c) 1998 John D. Polstra .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: dladdr.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" %Id: dladdr.3,v 1.2 1998/08/31 16:40:59 wosch Exp % .\" .Dd February 5, 1998 .Os FreeBSD .Dt DLADDR 3 .Sh 名称 .Nm dladdr .Nd 指定のアドレスが入った共有オブジェクトを検出する .Sh 書式 .Fd #include .Ft int .Fn dladdr "const void *addr" "Dl_info *info" .Sh 解説 .Nm は、アドレス .Fa addr が入った共有オブジェクトについての情報を動的リンカ で照会します。情報は、 .Fa info によって指定される構造体内に返されます。構造には 少なくとも次のメンバが入っています。 .Bl -tag -width "XXXconst char *dli_fname" .It Li "const char *dli_fname" アドレスが入った共有オブジェクトのパス名。 .It Li "void *dli_fbase" 共有オブジェクトが呼び出し元プロセスのアドレス空間にマップ されるベースアドレス。 .It Li "const char *dli_sname" 値が .Fa addr 以下の最も近いランタイムシンボルの名前。 可能なときは、シンボル名が、C ソースコードで表示されるように返されます。 .Pp 適切な値のシンボルが見つからない場合は、このフィールドと .Va dli_saddr の両方が .Dv NULL に設定されます。 .It Li "void *dli_saddr" .Li dli_sname で返されたシンボルの値。 .El .Pp .Nm は動的にリンクされるプログラムでだけ利用できます。 .Sh エラー .Fa addr が入っているマップされた共有オブジェクトが見つからない場合、 .Nm は 0 を返します。この場合、障害を説明するメッセージが .Fn dlerror を呼び出すことで取り出せます。 .Pp 成功の場合、ゼロでない値が返されます。 .Sh 関連項目 .Xr rtld 1 , .Xr dlopen 3 .Sh 歴史 .Nm 関数は Solaris オペレーティングシステムで最初に現れました。 .Sh バグ この関数は Solaris とバグに互換性があります。特に、 次のバグが存在します。 .Bl -bullet .It .Fa addr が共有ライブラリではなくメインの実行可能モジュールにある場合、 .Va dli_fname で返されるパス名は正しくない可能性があります。パス名は呼び出し プロセスの .Va argv[0] から直接取り出されます。フルパス名で指定されたプログラム を実行するとき、ほとんどのシェルは .Va argv[0] をパス名に設定します。しかし、 これはシェルの必要条件ではありませんし、オペレーティングシステムによって 保証されてもいません。 .It .Fa addr が形式 .Va &func であり、 .Va func がグローバル関数の場合、その値が意外に 良くない可能性があります。動的にリンクされたプログラムでは、 グローバル関数のアドレスは、関数自体の開始点ではなく、 プログラムリンクテーブルのエントリを指すと考えられます。これによって、 ほとんどのグローバル関数が、実際にコードが常駐する共有ライブラリではなく、 メインの実行可能モジュール内部で定義されるように見えます。 .It 処理失敗の印として 0 を返すのは、Unix の長い伝統に反します。 .El diff --git a/ja_JP.eucJP/man/man3/editline.3 b/ja_JP.eucJP/man/man3/editline.3 index ecaf172829..d20ca45121 100644 --- a/ja_JP.eucJP/man/man3/editline.3 +++ b/ja_JP.eucJP/man/man3/editline.3 @@ -1,561 +1,561 @@ -.\" $NetBSD: editline.3,v 1.4 1997/01/14 04:17:23 lukem Exp $ +.\" %NetBSD: editline.3,v 1.4 1997/01/14 04:17:23 lukem Exp % .\" .\" Copyright (c) 1997 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This file was contributed to The NetBSD Foundation by Luke Mewburn. .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS .\" ``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 REGENTS OR CONTRIBUTORS 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. .\" .Dd January 11, 1997 .Os BSD 4.4 .Dt EDITLINE 3 .Sh 名称 .Nm editline , .Nm el_init , .Nm el_end , .Nm el_reset , .Nm el_gets , .Nm el_getc , .Nm el_push , .Nm el_parse , .Nm el_set , .Nm el_source , .Nm el_resize , .Nm el_line , .Nm el_insertstr , .Nm el_deletestr , .Nm history_init , .Nm history_end , .Nm history .Nd ラインエディタと歴史関数 .Sh 書式 .Fd #include .Ft EditLine * .Fn el_init "const char *prog" "FILE *fin" "FILE *fout" .Ft void .Fn el_end "EditLine *e" .Ft void .Fn el_reset "EditLine *e" .Ft const char * .Fn el_gets "EditLine *e" "int *count" .Ft int .Fn el_getc "EditLine *e" "char *ch" .Ft void .Fn el_push "EditLine *e" "const char *str" .Ft int .Fn el_parse "EditLine *e" "int argc" "char *argv[]" .Ft int .Fn el_set "EditLine *e" "int op" "..." .Ft int .Fn el_source "EditLine *e" "const char *file" .Ft void .Fn el_resize "EditLine *e" .Ft const LineInfo * .Fn el_line "EditLine *e" .Ft int .Fn el_insertstr "EditLine *e" "char *str" .Ft void .Fn el_deletestr "EditLine *e" "int count" .Ft History * .Fn history_init .Ft void .Fn history_end "History *h" .Ft const HistEvent * .Fn history "History *h" "int op" "..." .Sh 解説 .Nm editline ライブラリには、汎用のライン編集と歴史関数が備わっています。これは .Xr sh 1 にあるものと類似しています。 .Pp これらの関数は .Nm libedit ライブラリで利用できます (これには .Nm libtermcap ライブラリが必要です)。プログラムは .Fl ledit ltermcap とリンクする 必要があります。 .Sh ライン編集関数 ライン編集関数は、共通のデータ構造、 .Fa EditLine を使用します。これは .Fn el_init によって作成され、 .Fn el_end によって解放されます。 .Pp 以下の関数が利用できます。 .Bl -tag -width 4n .It Fn el_init ラインエディタを初期化し、他のすべてのライン編集関数が使用するデータ構造を 返します。 .Fa prog は、起動する側のプログラムの名前であり、どの設定を使用するか 決定するために .Xr editrc 5 ファイルを読み取るときに使用されます。 .Fa fin と .Fa fout はそれぞれ使用する入力ストリームと出力ストリームです。この ドキュメンテーションでは、 .Dq the tty の参照が実際にはこの入力/出力ストリームの 組み合わせを参照します。 .It Fn el_end クリーンアップし .Fa e で終了します。 .Fn el_init で作成されたと想定されます。 .It Fn el_reset tty とパーサーをリセットします。これは tty の状態を混乱させた可能性のある エラーの後で呼び出す必要があります。 .It Fn el_gets tty から 1 行を読み取ります。 .Fa count は、読み取られたキャラクタ数を 入れるように修正されます。処理が成功した場合は読み取られたラインを返し、 キャラクタが読取られないか、またはエラーが発生した場合は .Dv NULL を返します。 .It Fn el_getc tty から 1 キャラクタを読み取ります。 .Fa ch は、読み取られたキャラクタを 入れるように修正されます。処理が成功した場合は読み取られたキャラクタの数を 返し、そうでない場合は -1 を返します。 .It Fn el_push .Fa str を入力ストリームに戻します。これはマクロ展開機構によって使用されます。 詳細については、 .Xr editrc 5 の .Ic bind .Fl s の説明を参照してください。 .It Fn el_parse .Fa argv 配列(サイズは .Fa argc エレメントです) をパースし、組み込み .Nm コマンドを実行します。コマンドの接頭語が .Dq prog: の場合、 .Dq prog が .Fn el_init に指定された .Fa prog 引数と一致するなら、 .Fn el_parse はコマンドを 実行するだけです。コマンドが未知の場合は戻り値は -1 です。エラーがないかまたは .Dq prog が一致しなかった場合は 戻り値は 0 です。コマンドがエラーを 返したときは 1 です。詳細については、 .Xr editrc 5 を参照してください。 .Pp .Em 注: .Va argv[0] は .Fn el_parse によって修正されることがあります。 .Dq prog と コマンド .Ar command の間のコロンは、NUL .Po .Dq \e0 .Pc で置き換えられます。 .It Fn el_set .Fn el_set .Nm パラメータを設定します。 .Fa op はどのパラメータを設定するかを決定し、 各操作には独自のパラメータリストがあります。 .Pp .Fa op の値については、必須引数リストとともに次のパラメータがサポート されています。 .Bl -tag -width 4n .It Dv EL_PROMPT , Fa "char *(*f)(EditLine *)" プロンプト印刷関数を .Fa f として定義します。これはプロンプトの入ったストリング を返すことです。 .It Dv EL_TERMINAL , Fa "const char *type" tty の端末タイプが .Fa type であると定義します。 .Fa type が .Dv NULL の場合は .Ev TERM にです。 .It Dv EL_EDITOR , Fa "const char *mode" 編集モードを .Fa mode に設定します。それは .Dq emacs または .Dq vi の 1 つである必要があります。 .It Dv EL_SIGNAL , Fa "int flag" .Fa flag がゼロでない場合、 .Nm は、コマンド入力を読み取るときに、次の 信号用の信号ハンドラをインストールします。 .Dv SIGCONT , .Dv SIGHUP , .Dv SIGINT , .Dv SIGQUIT , .Dv SIGSTOP , .Dv SIGTERM , .Dv SIGTSTP , および .Dv SIGWINCH 。これら以外の場合、現在の信号ハンドラが 使用されます。 .It Dv EL_BIND , Xo .Fa "const char *" , .Fa "..." , .Dv NULL .Xc 組み込み .Ic bind コマンドを実行します。詳細については、 .Xr editrc 5 を 参照してください。 .It Dv EL_ECHOTC , Xo .Fa "const char *" , .Fa "..." , .Dv NULL .Xc 組み込み .Ic echotc コマンドを実行します。詳細については、 .Xr editrc 5 を 参照してください。 .It Dv EL_SETTC , Xo .Fa "const char *" , .Fa "..." , .Dv NULL .Xc 組み込み .Ic settc コマンドを実行します。詳細については、 .Xr editrc 5 を参照してください。 .It Dv EL_SETTY , Xo .Fa "const char *" , .Fa "..." , .Dv NULL .Xc 組み込み .Ic setty コマンドを実行します。詳細については、 .Xr editrc 5 を 参照してください。 .It Dv EL_TELLTC , Xo .Fa "const char *" , .Fa "..." , .Dv NULL .Xc 組み込み .Ic telltc コマンドを実行します。詳細については、 .Xr editrc 5 を 参照してください。 .It Dv EL_ADDFN , Xo .Fa "const char *name" , .Fa "const char *help" , .Fa "unsigned char (*func)(EditLine *e, int ch) .Xc ユーザ定義関数 .Fn func を追加します。これは .Fa name として参照され、 .Fa name に結合されたキーが入力されたときに呼び出されます。 .Fa help は .Fa name の説明です。 起動時に、 .Fa ch は呼び出しを起こすキーです。 .Fn func の戻り値は次の 1 つです。 .Bl -tag -width "CC_REDISPLAY" .It Dv CC_NORM 通常のキャラクタを追加します。 .It Dv CC_NEWLINE 行末が入力されました。 .It Dv CC_EOF が入力されました。 .It Dv CC_ARGHACK 引数としてさらにコマンド入力を予期しています。表示されることは 何もしません。 .It Dv CC_REFRESH 表示をリフレッシュします。 .It Dv CC_CURSOR カーソルが移動されたので、 .Dv CC_REFRESH を更新および実行します。 .It Dv CC_REDISPLAY 入力行全体を再表示します。これが便利なのは、キー結合がその他の 情報を出力する場合です。 .It Dv CC_ERROR エラーが発生しました。ビープ音、そして tty をフラッシュします。 .It Dv CC_FATAL 致命的エラー。tty を既知の状態にリセットします。 .El .It Dv EL_HIST , Xo .Fa "History *(*func)(History *, int op, ...)" , .Fa "const char *ptr" .Xc どの歴史関数を使用するかを定義します。それは通常は .Fn history です。 .Fa ptr は、 .Fn history_init が返す値である必要があります。 .El .It Fn el_source .Fa file の内容を読むことで .Nm を初期化します。 .Fn el_parse が、 .Fa file 内の行ごとに呼び出されます。 .Fa file が .Dv NULL の場合、 .Pa $PWD/.editrc を試してみてから .Pa $HOME/.editrc を試します。 .Fa file の形式の詳細については、 .Xr editrc 5 を 参照してください。 .It Fn el_resize 端末のサイズが変化する場合は呼び出す必要があります。 .Dv EL_SIGNAL が .Fn el_set で設定されている場合、これは自動的に行われます。そうでない場合は、適切な 機会に .Fn el_resize を呼び出すのはアプリケーションの責任です。 .It Fn el_line 現在のラインについての編集情報を .Fa LineInfo で返します。これは次のように 定義されます。 .Bd -literal typedef struct lineinfo { const char *buffer; /* バッファのアドレス */ const char *cursor; /* カーソルのアドレス */ const char *lastchar; /* 最後のキャラクタのアドレス */ } LineInfo; .Ed .It Fn el_insertstr カーソルがあるラインに .Fa str を挿入します。 .Fa str が空であるかフィットしない 場合は -1 を返します。それ以外の場合は 0 を返します。 .It Fn el_deletestr カーソルの前の .Fa num 個のキャラクタを削除します。 .El .Sh 歴史リスト関数 歴史関数は共通のデータ構造 .Fa History を使用します。 .Fa History は、 .Fn history_init によって作成され、 .Fn history_end によって解放されます。 .Pp 次の関数が利用できます。 .Bl -tag -width 4n .It Fn history_init 歴史リストを初期化し、他のすべての歴史関数が使用するデータ構造を返します。 .It Fn history_end クリーンアップし、 .Fa h で終了します。 .Fn history_init で作成されたものと 想定されます。 .Pp .It Fn history 歴史リストについて演算 .Fa op を実行します。演算が要求する オプション引数があります。 .Fa op について次の値が、必須引数リストとともに サポートされています。 .Bl -tag -width 4n .It Dv H_EVENT , Fa "int size" .Fa size エレメントに歴史のサイズを設定します。 .It Dv H_END クリーンアップし、 .Fa h で終了します。 .Fn history_init で作成されたものと 想定されます。 .It Dv H_CLEAR 歴史をクリアします。 .Pp .It Dv H_FUNC , Xo .Fa "void *ptr" , .Fa "history_gfun_t first" , .Fa "history_gfun_t next" , .Fa "history_gfun_t last" , .Fa "history_gfun_t prev" , .Fa "history_gfun_t curr" , .Fa "history_vfun_t clear" , .Fa "history_efun_t enter" , .Fa "history_efun_t add" .Xc さまざまな歴史演算を実行する関数を定義します。 .Fa ptr は、関数が起動されるときに関数に指定される引数です。 .It Dv H_FIRST 歴史の最初のエレメントを返します。 .It Dv H_LAST 歴史の最後のエレメントを返します。 .It Dv H_PREV 歴史の直前のエレメントを返します。 .It Dv H_NEXT 歴史の次のエレメントを返します。 .It Dv H_CURR 歴史の現在のエレメントを返します。 .It Dv H_ADD , Fa "const char *str" 歴史の現在のエレメントの末尾に .Fa str を追加するか、またはエレメントがない 場合は .Dv H_ENTER で 1 つのエレメントを作成します。 .It Dv H_ENTER , Fa "const char *str" .Fa str を新しいエレメントとして .Fn history に追加します。必要であれば、最も古い エントリを削除して、リストを作成されたサイズに保ちます。 .It Dv H_PREV_STR , Fa "const char *str" .Fa str で開始する、最も近い直前のイベントを返します。 .It Dv H_NEXT_STR , Fa "const char *str" .Fa str で開始する、最も近い次のイベントを返します。 .It Dv H_PREV_EVENT , Fa "int e" .Fa e という番号の直前のイベントを返します。 .It Dv H_NEXT_EVENT , Fa "int e" .Fa e という番号の次のイベントを返します。 .It Dv H_LOAD , Fa "const char *file" .Fa file に保存された歴史リストをロードします。 .It Dv H_SAVE , Fa "const char *file" 歴史リストを .Fa file に保存します。 .El .El .\"XXX.Sh EXAMPLES .\"XXX: provide some examples .Sh 関連項目 .Xr sh 1 , .Xr signal 3 , .Xr termcap 3 , .Xr editrc 5 .Sh 歴史 .Nm ライブラリは最初に .Bx 4.4 で現れました。 .Sh 作者 .Nm ライブラリは .An Christos Zoulas が作成しました。このマニュアルは .An Luke Mewburn が作成しました。 .Sh バグ このドキュメンテーションはおそらく不完全であると考えられます。 .Pp .Fn el_parse は、指定された .Va argv[0] を修正してはなりません。 .Pp トークン化関数は .Li 内では公に定義されていません。 diff --git a/ja_JP.eucJP/man/man3/end.3 b/ja_JP.eucJP/man/man3/end.3 index a8060fb10f..476c84935c 100644 --- a/ja_JP.eucJP/man/man3/end.3 +++ b/ja_JP.eucJP/man/man3/end.3 @@ -1,66 +1,66 @@ .\" Copyright (c) 1986 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)end.3 6.4 (Berkeley) 1/24/94 -.\" $Id: end.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" %Id: end.3,v 1.2 1997/03/07 03:27:52 jmg Exp % .\" .Dd January 24, 1994 .Dt END 3 .Os .Sh 名称 .Nm end , .Nm etext , .Nm edata .Nd イメージセグメントの終了境界 .Sh 書式 .Vt extern end; .Vt extern etext; .Vt extern edata; .Sh 解説 グローバル変数 .Va end , extext および .Va edata はテキストセグメント、初期化済み データセグメント、およびデータセグメント .Pq Tn BSS の末尾に続く次のアドレスに 対応します。これらの値は初期的には .Xr brk 2 による実行時に設定されます。 .Sh 関連項目 .Xr brk 2 , .Xr malloc 3 .Sh 歴史 .Nm end マニュアルは .At v6 で現れました。 diff --git a/ja_JP.eucJP/man/man3/erf.3 b/ja_JP.eucJP/man/man3/erf.3 index 117f0025e8..0d3c21e9b6 100644 --- a/ja_JP.eucJP/man/man3/erf.3 +++ b/ja_JP.eucJP/man/man3/erf.3 @@ -1,92 +1,92 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)erf.3 6.4 (Berkeley) 4/20/91 -.\" $Id: erf.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" %Id: erf.3,v 1.4 1997/02/22 15:09:29 peter Exp % .\" .Dd April 20, 1991 .Dt ERF 3 .Os BSD 4.3 .Sh 名称 .Nm erf , .Nm erff , .Nm erfc , .Nm erfcf .Nd エラー関数演算子 .Sh 書式 .Fd #include .Ft double .Fn erf "double x" .Ft float .Fn erff "float x" .Ft double .Fn erfc "double x" .Ft float .Fn erfcf "float x" .Sh 解説 これらの関数は .Fa x のエラー関数を計算します。 .Pp .Fn erf 関数と .Fn erff 関数は x のエラー関数を計算します。ここで次のとおりです。 .Bd -filled -offset indent .if n \{\ erf(x) = 2/sqrt(pi)\(**\|integral from 0 to x of exp(\-t\(**t) dt \} .if t \{\ erf\|(x) := (2/\(sr\(*p)\|\(is\d\s8\z0\s10\u\u\s8x\s10\d\|exp(\-t\u\s82\s10\d)\|dt \} .Ed .Pp .Fn erfc 関数と .Fn erfcf 関数は .Fa x の補数のエラー関数を計算します。すなわち、 .Fn erfc は 1.0 から エラー関数 .Fn erf x の結果を減算します。これは便利です。 大きな .Fa x の場所がなくなるからです。 .Sh 関連項目 .Xr math 3 .Sh 歴史 .Fn erf と .Fn erfc 関数は .Bx 4.3 で現れました。 diff --git a/ja_JP.eucJP/man/man3/err.3 b/ja_JP.eucJP/man/man3/err.3 index b7faf84e85..6b17cb51fc 100644 --- a/ja_JP.eucJP/man/man3/err.3 +++ b/ja_JP.eucJP/man/man3/err.3 @@ -1,196 +1,196 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" From: @(#)err.3 8.1 (Berkeley) 6/9/93 -.\" $Id: err.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" %Id: err.3,v 1.9 1998/09/12 21:02:22 wollman Exp % .\" .Dd April 13, 1995 .Dt ERR 3 .Os BSD 4 .Sh 名称 .Nm err , .Nm verr , .Nm errc , .Nm verrc , .Nm errx , .Nm verrx , .Nm warn , .Nm vwarn , .Nm warnc , .Nm vwarnc , .Nm warnx , .Nm vwarnx , .Nm err_set_file , .Nm err_set_exit .Nd フォーマットされたエラーメッセージ .Sh 書式 .Fd #include .Ft void .Fn err "int eval" "const char *fmt" "..." .Ft void .Fn errc "int eval" "int code" "const char *fmt" "..." .Ft void .Fn errx "int eval" "const char *fmt" "..." .Ft void .Fn warn "const char *fmt" "..." .Ft void .Fn warnc "int code" "const char *fmt" "..." .Ft void .Fn warnx "const char *fmt" "..." .Fd #include .Ft void .Fn err_set_file "FILE *fp" .Ft void .Fn err_set_exit "void (*exitf)(int)" .Fd #include .Ft void .Fn verr "int eval" "const char *fmt" "va_list args" .Ft void .Fn verrc "int eval" "int code" "const char *fmt" "va_list args" .Ft void .Fn verrx "int eval" "const char *fmt" "va_list args" .Ft void .Fn vwarn "const char *fmt" "va_list args" .Ft void .Fn vwarnc "int code" "const char *fmt" "va_list args" .Ft void .Fn vwarnx "const char *fmt" "va_list args" .Sh 解説 .Fn err 関数と .Fn warn 関数のファミリは、標準エラー出力、または .Fn err_set_file 関数を使用して指定した別のファイル上にフォーマット済みの エラーメッセージを表示します。 すべての場合に、プログラム名の最後のコンポーネント、コロンキャラクタ、 およびスペースが出力されます。 .Va fmt 引数が NULL でない場合、 フォーマット済みのエラーメッセージが出力されます。 .Fn errc , .Fn verrc , .Fn warnc , および .Fn vwarnc の各関数の場合、 .Va code 引数で密接な関係のあるエラーメッセージも出力されます。 必要であれば、別のコロンとスペースが前に付けられます。 すべての場合に、出力の後には改行キャラクタが続きます。 .Pp .Fn err , .Fn verr , .Fn warn , および .Fn vwarn の各関数は、 .Fn errc ファミリの .Va code 引数ではなく、グローバル変数 .Va errno を使用します。 .Pp .Fn err , .Fn verr , .Fn errc , .Fn verrc , .Fn errx , および .Fn verrx の各関数は、 戻りませんが、引数 .Fa eval の値で終了します。 .Fn err_set_exit 関数を使用して、 .Xr exit 3 の前に呼び出される関数を指定して、必要なクリーンアップを 実行できます。 .Va exitf 用に NULL 関数ポインタを割り当てると、フックが 何もしないようにリセットされます。 .Sh 例 現在の errno 情報を表示し終了します。 .Bd -literal -offset indent if ((p = malloc(size)) == NULL) err(1, NULL); if ((fd = open(file_name, O_RDONLY, 0)) == -1) err(1, "%s", file_name); .Ed .Pp エラーメッセージを表示して終了します。 .Bd -literal -offset indent if (tm.tm_hour < START_TIME) errx(1, "too early, wait until %s", start_time_string); .Ed .Pp エラーの警告 .Bd -literal -offset indent if ((fd = open(raw_device, O_RDONLY, 0)) == -1) warnx("%s: %s: trying the block device", raw_device, strerror(errno)); if ((fd = open(block_device, O_RDONLY, 0)) == -1) err(1, "%s", block_device); .Ed .Pp グローバル変数 .Va errno を使用しないエラーの警告 .Bd -literal -offset indent error = my_function(); /* returns a value from */ if (error != 0) warnc(error, "my_function"); .Ed .Sh 関連項目 .Xr exit 3 , .Xr strerror 3 .Pp .Sh 歴史 .Fn err 関数と .Fn warn 関数は最初に .Bx 4.4 で現れました。 .Fn err_set_file 関数と .Fn err_set_exit 関数は最初に .Fx 2.1 で現れました。 .Fn errc 関数と .Fn warnc 関数は最初に .Fx 3.0 で現れました。 diff --git a/ja_JP.eucJP/man/man3/ethers.3 b/ja_JP.eucJP/man/man3/ethers.3 index e5d499b48d..2d3b2864a3 100644 --- a/ja_JP.eucJP/man/man3/ethers.3 +++ b/ja_JP.eucJP/man/man3/ethers.3 @@ -1,196 +1,196 @@ .\" Copyright (c) 1995 .\" Bill Paul . 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Bill Paul. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" -.\" $Id: ethers.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" %Id: ethers.3,v 1.7 1997/02/22 15:00:05 peter Exp % .\" .Dd April 12, 1995 .Dt ETHERS 3 .Os FreeBSD 2.1 .Sh 名称 .Nm ethers , .Nm ether_line , .Nm ether_aton , .Nm ether_ntoa , .Nm ether_ntohost , .Nm ether_hostton .Nd イーサネットアドレス変換およびルックアップのルーチン .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn ether_line "char *l" "struct ether_addr *e" "char *hostname" .Ft struct ether_addr * .Fn ether_aton "char *a" .Ft char * .Fn ether_ntoa "struct ether_addr *n" .Ft int .Fn ether_ntohost "char *hostname" "struct ether_addr *e" .Ft int .Fn ether_hostton "char *hostname" "struct ether_addr *e" .Sh 解説 これらの関数は、 .Ar ether_addr 構造を使用してイーサネットアドレスに作用します。 この構造はヘッダファイル .Aq Pa netinet/if_ether.h に定義されます。 .Bd -literal -offset indent /* * イーサネット(MAC)アドレスにあるバイト数 */ #define ETHER_ADDR_LEN 6 /* * 48 ビットのイーサネットアドレスの構造 */ struct ether_addr { u_char octet[ETHER_ADDR_LEN]; }; .Ed .Pp 関数 .Fn ether_line は、 .Xr ethers 5 形式の .Tn ASCII ストリングである .Ar l を走査し、 ストリング内に指定されたイーサネットアドレスに .Ar e を設定し、ホスト名に .Ar h を設定します。この関数は、 .Pa /etc/ethers の行をそのコンポーネントのパーツにパースするのに使用されます。 .Pp .Fn ether_aton 関数は、イーサネットアドレスの .Tn ASCII 表現を .Ar ether_addr 構造に 変換します。同様に、 .Fn ether_ntoa は、 .Ar ether_addr として指定された イーサネットアドレスを .Tn ASCII ストリングに変換します。 .Pp .Fn ether_ntohost 関数と .Fn ether_hostton 関数は、イーサネットアドレスを、 .Pa /etc/ethers データベースで指定された対応するホスト名にマップします。 .Fn ether_ntohost は、イーサネットアドレスからホスト名への変換を行い、 .Fn ether_hostton は、ホスト名からイーサネットアドレスへの変換を行います。 .Sh 戻り値 .Fn ether_line は、処理が成功するとゼロを返します。指定された行 .Ar l の一部をパースできなかった場合はゼロでない値を返します。 抽出されたイーサネットアドレスを指定の .Ar ether_addr 構造 .Ar e に返し、ホスト名を指定のストリング .Ar h に返します。 .Pp 処理が成功すると、 .Fn ether_ntoa は、イーサネットアドレスの .Tn ASCII 表現が入ったストリングを指すポインタを返します。指定された .Ar ether_addr を変換できない場合は、 .Dv NULL ポインタを返します。同じように、 .Fn ether_aton は成功すると .Ar ether_addr 構造を指すポインタを返し、失敗すると .Dv NULL ポインタを返します。 .Pp .Fn ether_ntohost 関数と .Fn ether_hostton 関数は両方とも成功した場合はゼロを 返し、 .Pa /etc/ethers データベース内に一致するものを検出できない場合はゼロ でない値を返します。 .Sh 注 ユーザは、 .Fn ether_line , .Fn ether_ntohost および .Fn ether_hostton の各関数に 渡されるホスト名ストリングが、返されたホスト名を入れられるほど大きいことを 確認する必要があります。 .Sh NIS 相互作用 .Pa /etc/ethers の中に 1 つの + が入った行がある場合、 .Fn ether_ntohost 関数と .Fn ether_hostton 関数は、 .Pa /etc/ethers ファイル内のデータに加えて、 NIS .Pa ethers.byname および .Pa ethers.byaddr マップを調べようとします。 .Sh 関連項目 .Xr yp 4 , .Xr ethers 5 .Sh バグ .Pp .Fn ether_aton 関数と .Fn ether_ntoa 関数は、これらが次に呼び出されたときには 上書きされる可能性のある静的メモリ領域に保存された値を返します。 .Sh 歴史 .Nm ethers ライブラリ関数のこの特別な実現は、 .Fx 2.1 のために作成され、 ここで現れました。 diff --git a/ja_JP.eucJP/man/man3/exec.3 b/ja_JP.eucJP/man/man3/exec.3 index 53ca71ca88..4acb382aad 100644 --- a/ja_JP.eucJP/man/man3/exec.3 +++ b/ja_JP.eucJP/man/man3/exec.3 @@ -1,296 +1,296 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)exec.3 8.3 (Berkeley) 1/24/94 -.\" $Id: exec.3,v 1.1.1.1 1999-12-09 16:26:06 kuriyama Exp $ +.\" %Id: exec.3,v 1.6 1997/10/14 07:23:14 bde Exp % .\" .Dd January 24, 1994 .Dt EXEC 3 .Os .Sh 名称 .Nm execl , .Nm execlp , .Nm execle , .Nm exect , .Nm execv , .Nm execvp .Nd ファイルを実行する .Sh 書式 .Fd #include .Vt extern char **environ; .Ft int .Fn execl "const char *path" "const char *arg" ... .Ft int .Fn execlp "const char *file" "const char *arg" ... .Ft int .Fn execle "const char *path" "const char *arg" ... .Ft int .Fn exect "const char *path" "char *const argv[]" "char *const envp[]" .Ft int .Fn execv "const char *path" "char *const argv[]" .Ft int .Fn execvp "const char *file" "char *const argv[]" .Sh 解説 .Fn exec ファミリの関数は現在のプロセスイメージを新しいプロセスイメージで置き 換えます。 このマニュアルページで説明する関数は、関数 .Xr execve 2 のフロントエンドです (現在のプロセスの置き換えの詳細については、 .Xr execve 2 のマニュアルページを参照してください)。 .Pp これらの関数の初期引数は、実行されるファイルのパス名です。 .Pp .Fn execl , .Fn execlp , および .Fn execle の各関数の .Fa "const char *arg" および後続の省略記号は .Em arg0 , .Em arg1 , \&..., .Em argn と考えることができます。これらは実行された プログラムに利用できる引数リストを表す ナル文字で終わるストリングを指す 1 つまたは複数のポインタのリストを記述します。慣行で、最初の引数は、実行中の ファイルに対応するファイル名を指す必要があります。 引数のリストは .Dv NULL ポインタで終了させる .Em 必要があり ます。 .Pp .Fn exect , .Fn execv , および .Fn execvp の各関数は、新しいプログラムに利用できる引数リストを表す ナル文字で終わるストリングを指すポインタの配列を提供します。 慣行で、最初の引数は、実行中のファイルに対応するファイル名を 指す必要があります。 ポインタの配列は .Dv NULL ポインタで終了する .Sy 必要があり ます。 .Pp .Fn execle と .Fn exect の各関数も、実行されたプロセスの環境を指定します。 そのためには、パラメータリスト内にある引数リストを終了させる .Dv NULL ポインタ、または追加パラメータとともに argv 配列を指すポインタに従います。 この追加のパラメータは、ナル文字で終わるストリングを指すポインタの 配列であり、 .Dv NULL ポインタで終了される .Em 必要があり ます。 他の関数は、現在のプロセス内の外部変数 .Va environ から新しいプロセスイメージ用の環境を取り上げます。 .Pp これらの関数には特別な意味論のあるものもあります。 .Pp .Fn execlp と .Fn execvp の各関数は、指定されたファイル名にスラッシュ .Dq Li / が含まれていない場合、実行可能ファイルを検索してシェルの処置を複製します。 検索パスは .Dq Ev PATH 変数によって環境内で指定されたパスです。 この値が指定されない場合、デフォルトのパス .Dq Ev /bin:/usr/bin: が使用されます。 さらに、特定のエラーが特別に取り扱われます。 .Pp エラーが曖昧な場合(簡単にするために、ここでは .Er ENOEXEC 以外のすべてのエラーを曖昧と考えます。ただし、致命的なエラー .Er EACCES だけが真に曖昧です)、 これらの関数は、ファイルを開始して、ファイルが存在するか、そして適切な実行 パーミッションがあるかを判定するかのように動作します。そうである場合、 これらの関数は .Fn execve によって設定された値に復元されたグローバル変数 .Va errno でただちに戻ります。 そうでない場合、検索が継続します。 検索が .Fn execve の実行に成功せず、またはエラーのために終了せずに完了すると、 これらの関数は、適切な実行パーミッションのある少なくとも 1 つのファイルが 見つかったかどうかに従って、グローバル変数 .Va errno を .Er EACCES または .Er ENOENT に設定して戻ります。 .Pp ファイルのヘッダが認識されない(試みた .Fn execve が .Er ENOEXEC を返した)場合、 これらの関数は、最初の引数としてファイルのパスがあるシェルを実行します (この試みが失敗した場合、それ以上の検索は行われません)。 .Pp .Fn exect 関数は、プログラムトレース機能を有効にしてファイルを実行します ( .Xr ptrace 2 を参照)。 .Pp .Sh 戻り値 .Fn exec 関数が戻った場合、エラーが発生しているはずです。 戻り値は \-1 であり、グローバル変数 .Va errno が設定されてエラーを示します。 .Sh ファイル .Bl -tag -width /bin/sh -compact /bin/sh シェル .El .Sh エラー .Fn execl , .Fn execle , .Fn execlp および .Fn execvp は処理失敗し、ライブラリ関数 .Xr execve 2 および .Xr malloc 3 について指定されたエラーを指定する .Va errno を設定する可能性があります。 .Pp .Fn exect と .Fn execv は、ライブラリ関数 .Xr execve 2 について指定されたエラーに 関して .Va errno を設定する可能性があります。 .Pp .Sh 関連項目 .Xr sh 1 , .Xr execve 2 , .Xr fork 2 , .Xr ktrace 2 , .Xr ptrace 2 , .Xr environ 7 . .Sh 互換性 歴史的には .Fn execlp 関数と .Fn execvp 関数のデフォルトのパスは .Dq Pa :/bin:/usr/bin です。これが、システムセキュリティを向上させるために 現在のディレクトリを最後に配置するよう変更されました。 .Pp ファイルを実行しようとしている間にエラーが発生したときの .Fn execlp と .Fn execvp の動作は、あまり歴史的な慣行ではなく、従来から ドキュメント化されておらず、 .Tn POSIX 標準で指定されていません。 .Pp 従来、 .Fn execlp 関数と .Fn execvp 関数は、上記のもの、および .Er ETXTBSY , .Er ENOMEM と .Er E2BIG を除いてすべてのエラーを無視しました。 .Er ETXTBSY でこれらの関数は 数秒間、スリープした後で再試行し、 .Er ENOMEM と .Er E2BIG でこれらの関数は 返ります。 これらは現在 .Er ETXTBSY について戻り、存在と実行可能性をもっと注意深く判定します。 特に、パス接頭語内のアクセスできないディレクトリを表す .Er EACCES が、不適切な実行パーミッションのあるファイルについての .Er EACCES と混乱されないようになっています。 .Bx 4.4 で、これらの関数は、 .Er EACCES , .Er ENOENT , .Er ENOEXEC および .Er ETXTBSY 以外のすべてのエラーで戻りました。 これは従来のエラー処理より劣ったものでした。パス接頭語についてのエラーの 無視を破り、異常に曖昧なエラー .Er EFAULT と異常なエラー .Er EIO の処理を改良するだけだからです。 動作は .Xr sh 1 の動作と一致するように変更されました。 .Pp .Sh 規格 .Fn execl , .Fn execv , .Fn execle , .Fn execlp および .Fn execvp は .St -p1003.1-88 に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/exp.3 b/ja_JP.eucJP/man/man3/exp.3 index 701ecd4c22..14da9eed5e 100644 --- a/ja_JP.eucJP/man/man3/exp.3 +++ b/ja_JP.eucJP/man/man3/exp.3 @@ -1,315 +1,315 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)exp.3 6.12 (Berkeley) 7/31/91 -.\" $Id: exp.3,v 1.1.1.1 1999-12-09 16:26:05 kuriyama Exp $ +.\" %Id: exp.3,v 1.6 1997/02/22 15:09:30 peter Exp % .\" .\" jpman %Id% .\" .Dd July 31, 1991 .Dt EXP 3 .Os BSD 4 .Sh 名称 .Nm exp , .Nm expf , .Nm exp2 , .Nm exp2f , .Nm exp10 , .Nm exp10f , .Nm expm1 , .Nm expm1f , .Nm log , .Nm logf , .Nm log10 , .Nm log10f , .Nm log1p , .Nm log1pf , .Nm pow , .Nm powf .Nd 指数関数、対数関数、累乗関数 .Sh 書式 .Fd #include .Ft double .Fn exp "double x" .Ft float .Fn expf "float x" .Ft double .Fn expm1 "double x" .Ft float .Fn expm1f "float x" .Ft double .Fn log "double x" .Ft float .Fn logf "float x" .Ft double .Fn log10 "double x" .Ft float .Fn log10f "float x" .Ft double .Fn log1p "double x" .Ft float .Fn log1pf "float x" .Ft double .Fn pow "double x" "double y" .Ft float .Fn powf "float x" "float y" .Sh 解説 .Fn exp 関数と .Fn expf 関数は、指定の引数 .Fa x の指数値を計算します。 .Pp .Fn expm1 関数と .Fn expm1f 関数は、小さい引数 .Fa x についてさえ正確に、exp(x)\-1 の値を計算します。 .Pp .Fn log 関数と .Fn logf 関数は引数 .Fa x の自然対数の値を計算します。 .Pp .Fn log10 関数と .Fn log10f 関数は、基底 10 について引数 .Fa x の対数を計算します。 .Pp .Fn log1p 関数と .Fn log1pf 関数は、小さい引数 .Fa x についてさえ log(1+x) の値を正確に計算します。 .Pp .Fn pow 関数と .Fn powf 関数は、指数 .Ar y に対して .Ar x の値を計算します。 .Sh エラー (丸めなどのためによる) .Fn exp x , .Fn log x , .Fn expm1 x および .Fn log1p x は、1 .Em ulp 内部で正確です。 .Fn log10 x は 2 .Em ulps 内部で正確です。1 .Em ulp は .Em Last .Em Place 内の 1 .Em 単位 です。 .Fn pow x y のエラーは、大きさが中程度のときは約 2 .Em ulps 未満です。 .Fn pow x y がオーバーフロー/アンダーフローしきい値に近づくと増大します。最後には、 ほとんどすべてのビットが浮動小数点指数フィールドによって占められれて 失われます。これは .Tn "VAX D" では 8 ビットであり、IEEE 754 Double では 11 ビットです。 このように大きな欠落は試験によって明らかにされていません。 観察された最悪のエラーは、 .Tn "VAX D" については 20 .Em ulps 未満。 .Tn IEEE 754 Double については 300 .Em ulps です。 .Fn pow 中程度の値が、 .Fn pow integer integer が正確になるために十分です。最後は、 .Tn VAX については 2**56 より大きくなり、 .Tn IEEE 754 については 2**53 より大きくなります。 .Sh 戻り値 これらの関数は、エラーが発生するか引数が範囲外の場合を除き、 適切な計算を返します。関数 .Fn exp , .Fn expm1 , .Fn pow は、計算された値がオーバーフローするかどうか検出し、 グローバル変数 .Va errno を .Er ERANGE に設定し、 .Tn VAX または .Tn Tahoe で予約済みのオペランド障害を発生させます。関数 .Fn pow x y は、 .Fa x < 0 かどうかをチェックし、 .Fa y が整数でない場合、これが真の場合でも、グローバル変数 .Va errno を .Er EDOM に設定し、 .Tn VAX と .Tn Tahoe で、予約済みのオペランド障害を生成します。 .Tn VAX と .Tn Tahoe では、 .Va errno が .Er EDOM に設定され、 .Fa x > 0 の場合を除いて、予約済みオペランドが対数にによって返され、 .Fa x > \-1 の場合を除いて .Fn log1p によって返されます。 .Sh 注 関数 exp(x)\-1 と log(1+x) は、Hewlett Packard .Tn HP Ns \-71B および .Tn APPLE の Macintosh の .Tn BASIC では expm1 と logp1 と呼ばれ、Pascal では .Tn EXP1 と .Tn LN1 と呼ばれ、 .Tn APPLE Macintosh の C では exp1 と log1 と呼ばれます。 この場合、これらは ((1+x)**n\-1)/x すなわち expm1(n\(**log1p(x))/x の財政的計算が x が小さい場合に正確になることを確認するために備えられています。 これらは正確な逆双曲線関数も提供します。 .Pp 関数 .Fn pow x 0 は、すべての x について x**0 = 1 を返します。 x には、x = 0、 .if n \ infinity .if t \ \(if .Tn ( VAX にはありません)、 .Em NaN .Tn ( VAX の予約済みオペランド) が含まれます。 pow のこれまでの実現は、これらのすべての場合またはいくつかの場合に、 x**0 を未定義としてきたことがあります。 これが必ず x**0 = 1 を返す理由です。 .Bl -enum -width indent .It x**0 を計算する前に x がゼロ (または無限または \*(Na) であるかを試験するプログラムは 0**0 = 1 であるかどうかを配慮できません。 0**0 が無効であることに左右されるプログラムは、 式の意味と、無効な場合、 式の結果がコンピュータシステムごとに変化するため疑わしいものです。 .It 算術テキスト (たとえば、Sigler のもの) には、 x = 0 を含めてすべての x について x**0 = 1 を定義するものがあります。 これは、a[0] を、a[0]\(**0**0 を無効として拒絶するのではなく、多項式 .Bd -literal -offset -indent p(x) = a[0]\(**x**0 + a[1]\(**x**1 + a[2]\(**x**2 +...+ a[n]\(**x**n .Ed .Pp の値を a[0] として受け入れる慣行と互換性があります。 .It アナリストは、x と y が独立に 0 に近づくときに、 x**y が特定の値に近づくかまたは何にも近づかないかに関わらず、 0**0 = 1 を受け入れます。 0**0 = 1 を受け入れる理由は次のとおりです。 .Bd -filled -offset indent x(z) と y(z) が z = 0 付近の 0 で分析的な関数であり (拡張可能な累乗シリーズ)、 しかも x(0) = y(0) = 0 の場合、z \(-> 0 のとき x(z)**y(z) \(-> 1 です。 .Ed .It 0**0 = 1 の場合、 .if n \ infinity**0 = 1/0**0 = 1 .if t \ \(if**0 = 1/0**0 = 1 です。次いで、\*(Na**0 = 1 でもあります。 すべての有限および無限な x について、 すなわち x に独立に x**0 = 1 だからです。 .El .Sh 関連項目 .Xr math 3 .Sh 歴史 .Fn exp , .Fn log および .Fn pow 関数は .At v6 で現れました。 .Fn log10 関数は .At v7 で現れました。 .Fn log1p 関数と .Fn expm1 関数は .Bx 4.3 で現れました。 diff --git a/ja_JP.eucJP/man/man3/fabs.3 b/ja_JP.eucJP/man/man3/fabs.3 index 5ac4f5ee4c..d51c537cd1 100644 --- a/ja_JP.eucJP/man/man3/fabs.3 +++ b/ja_JP.eucJP/man/man3/fabs.3 @@ -1,76 +1,76 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" @(#)fabs.3 5.1 (Berkeley) 5/2/91 .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)fabs.3 5.1 (Berkeley) 5/2/91 -.\" $Id: fabs.3,v 1.1.1.1 1999-12-09 16:26:05 kuriyama Exp $ +.\" %Id: fabs.3,v 1.5 1997/02/22 15:09:31 peter Exp % .\" .\" jpman %Id% .\" .Dd May 2, 1991 .Dt FABS 3 .Os .Sh 名称 .Nm fabs , .Nm fabsf .Nd 浮動小数絶対値関数 .Sh 書式 .Fd #include .Ft double .Fn fabs "double x" .Ft float .Fn fabsf "float x" .Sh 解説 .Fn fabs 関数と .Fn fabsf 関数は、浮動小数 .Fa x の絶対値を算出します。 .Sh 戻り値 .Fn fabs 関数と .Fn fabsf 関数は、 .Fa x の絶対値を戻します。 .Sh 関連項目 .Xr abs 3 , .Xr ceil 3 , .Xr floor 3 , .Xr ieee 3 , .Xr math 3 , .Xr rint 3 .Sh 規格 .Fn fabs 関数は、 .St -ansiC に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/fetch.3 b/ja_JP.eucJP/man/man3/fetch.3 index 09039455b1..8c55e0cb48 100644 --- a/ja_JP.eucJP/man/man3/fetch.3 +++ b/ja_JP.eucJP/man/man3/fetch.3 @@ -1,413 +1,413 @@ .\" Copyright (c) 1998 Dag-Erling Coiean Smoograv .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: fetch.3,v 1.1.1.1 1999-12-09 16:26:05 kuriyama Exp $ +.\" %Id: fetch.3,v 1.7 1998/12/21 19:41:50 des Exp % .\" .\" jpman %Id% .\" .Dd July 1, 1998 .Dt FETCH 3 .Os .Sh 名称 .Nm fetchGetURL , .Nm fetchPutURL , .Nm fetchStatURL , .Nm fetchListURL , .Nm fetchParseURL , .Nm fetchGet , .Nm fetchPut , .Nm fetchStat , .Nm fetchList , .Nm fetchGetFile , .Nm fetchPutFile , .Nm fetchStatFile , .Nm fetchListFile , .Nm fetchGetHTTP , .Nm fetchPutHTTP , .Nm fetchStatHTTP , .Nm fetchListHTTP , .Nm fetchGetFTP , .Nm fetchPutFTP .Nm fetchStatFTP .Nm fetchListFTP , .Nd ファイル転送ライブラリ .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft FILE * .Fn fetchGetURL "char *URL" "char *flags" .Ft FILE * .Fn fetchPutURL "char *URL" "char *flags" .Ft int .Fn fetchStatURL "char *URL" "struct url_stat *us" "char *flags" .Ft struct url_ent * .Fn fetchListURL "char *URL" "char *flags" .Ft struct url * .Fn fetchParseURL "char *URL" "char *flags" .Ft FILE * .Fn fetchGet "struct url *URL" "char *flags" .Ft FILE * .Fn fetchPut "struct url *URL" "char *flags" .Ft int .Fn fetchStat "struct url *URL" "struct url_stat *us" "char *flags" .Ft struct url_ent * .Fn fetchList "struct url *" "char *flags" .Ft FILE * .Fn fetchGetFile "struct url *u" "char *flags" .Ft FILE * .Fn fetchPutFile "struct url *u" "char *flags" .Ft int .Fn fetchStatFile "struct url *URL" "struct url_stat *us" "char *flags" .Ft struct url_ent * .Fn fetchListFile "struct url *" "char *flags" .Ft FILE * .Fn fetchGetHTTP "struct url *u" "char *flags" .Ft FILE * .Fn fetchPutHTTP "struct url *u" "char *flags" .Ft int .Fn fetchStatHTTP "struct url *URL" "struct url_stat *us" "char *flags" .Ft struct url_ent * .Fn fetchListHTTP "struct url *" "char *flags" .Ft FILE * .Fn fetchGetFTP "struct url *u" "char *flags" .Ft FILE * .Fn fetchPutFTP "struct url *u" "char *flags" .Ft int .Fn fetchStatFTP "struct url *URL" "struct url_stat *us" "char *flags" .Ft struct url_ent * .Fn fetchListFTP "struct url *" "char *flags" .Sh 解説 この関数は、URL (Uniform Resource Locators) を使用してファイルの取り出しとアップロードを行なう、 高レベルなライブラリを実現します。 .Pp .Fn fetchGetURL と .Fn fetchPutURL は、 .Nm fetch ライブラリのインタフェースを構成します。 この関数は渡された URL を検査して転送手法を決め、 適切な低レベル関数を呼び出して実際の転送を実行します。 .Fa flags 引数は、転送オプションを指定するキャラクタのストリングです。 それぞれのフラグの意味はスキームによって異なるので、 以下の適切なセクションを参照してください。 .Pp .Fn fetchStatURL は、要求された文書のメタデータを入手し、 第 2 引数が指す構造体にデータを入力しようとします。 .Fa url_stat 構造体は、 .Aq Pa fetch.h で以下のように定義されています。 .Bd -literal struct url_stat { off_t size; time_t atime; time_t mtime; }; .Ed .Pp .Fn fetchListURL は、指定された URL が指すディレクトリの内容をリストしようとします。 問題がなければ、malloc で割り振られた .Fa url_ent 構造体の配列を戻します。 .Fa url_ent 構造体は、 .Aq Pa fetch.h で以下のように定義されています。 .Bd -literal struct url_ent { char name[MAXPATHLEN]; struct url_stat stat; }; .Ed .Pp リストは、名前がないエントリで終わります。 .Pp .Fn fetchListURL が戻すポインタは、 .Fn free で解放してください。 .Pp .Fn fetchParseURL はナル文字で終わるストリングの URL を取り、RFC1738 に規定されている Common Internet Scheme Syntax に従って、その URL を コンポーネント関数に分割します。 このシンタックスを作る正規表現は以下のとおりです。 .Bd -literal :(//((:)?@)?(:)?)?/()? .Ed .Pp URL の一部のコンポーネントは、 すべての URL スキームで重要ではないことがあることに注意してください。 たとえばファイルスキームでは、 コンポーネントと コンポーネントしか必要ありません。 .Pp .Fn fetchParseURL が戻すポインタは、 .Fn free で解放してください。 .Pp .Fn fetchGet 、 .Fn fetchPut 、 .Fn fetchStat は、ポインタの形式の事前解析済み URL がストリングではなく .Fa struct url で必要になることを除けば、 .Fn fetchGetURL 、 .Fn fetchPutURL 、 .Fn fetchStatURL に似ています。 .Pp すべての .Fn fetchGetXXX 関数と .Fn fetchPutXXX 関数は、要求された文書からのデータの読込みや要求された文書へのデータの 書込みに使用できるストリームのポインタを戻します。 それぞれのアクセス手法のシステム詳細は異なりますが、 .Fn fetchGetXXX 関数が戻すストリームは読込み専用で、 .Fn fetchPutXXX が戻すストリームは書込み専用であると一般的に仮定されます。 .Sh ファイルスキーム .Fn fetchGetFile と .Fn fetchPutFile では、ローカルにマウントされたファイルシステムのファイルである文書に アクセスできます。URL の コンポーネントのみが使用されます。 .Pp .Fn fetchGetFile はフラグを受け入れません。 .Pp .Fn fetchPutFile は、 .Fa a フラグ (ファイルに追加) を受け入れます。 このフラグを指定した場合、 .Fn fetchPutFile が戻すストリームへ書き込まれたデータは、 ファイルの前の内容を置き換えるのではなくファイルの前の内容に追加されます。 .Sh FTP スキーム .Fn fetchGetFTP と .Fn fetchPutFTP は、RFC959 に記述されているように FTP プロトコルを実現します。 .Pp .Fa p フラグ (受動) を指定すると、能動的ではなく受動的な接続が試されます。 .Pp ユーザ名かパスワードを指定しないと、 .Nm fetch ライブラリは、ユーザ名 "ftp"、パスワード "ftp" で匿名ログインを試します。 .Sh HTTP スキーム .Fn fetchGetHTTP 関数と .Fn fetchPutHTTP 関数は、HTTP/1.1 プロトコルを実現します。 この関数は、RFC2068 に準拠する可能性があります。 .Pp .Nm fetch ライブラリと調和する方法で HTTP PUT 手法を実現する適切な方法がないようなので、 .Fn fetchPutHTTP は現在のところ実現されていません。 .Sh 戻り値 .Fn fetchParseURL は、URL のそれぞれのコンポーネントを含む .Fa struct url のポインタを戻します。メモリを割り振れない場合、 または URL のシンタックスが 正しくない場合、 .Fn fetchParseURL は NULL ポインタを戻します。 .Pp .Fn fetchStat 関数は、問題がなければ 0 を戻し、問題がある場合は -1 を戻します。 .Pp その他すべての関数は、要求された文書へのアクセスに使用できる ストリームのポインタを戻します。 エラーが発生した場合は NULL を戻します。 .Pp .Nm Libfetch は、Common Error Library .Nm ( libcom_err ) を使用してエラーを報告します。 .Fn com_err に渡されるエラーコードは以下のとおりです。 .Bl -tag -width Er .It Bq Er FETCH_ABORT オペレーションが異常終了しました。 .It Bq Er FETCH_AUTH 認証がエラーになりました。 .It Bq Er FETCH_DOWN サービスが使用できません。 .It Bq Er FETCH_EXISTS ファイルが存在します。 .It Bq Er FETCH_FULL ファイルシステムの容量が不足しています。 .It Bq Er FETCH_INFO 情報としての応答です。 .It Bq Er FETCH_MEMORY メモリが不足しています。 .It Bq Er FETCH_MOVED ファイルが移動されました。 .It Bq Er FETCH_NETWORK ネットワークエラー .It Bq Er FETCH_OK エラーはありません。 .It Bq Er FETCH_PROTO プロトコルエラー .It Bq Er FETCH_RESOLV リゾルバエラー .It Bq Er FETCH_SERVER サーバエラー .It Bq Er FETCH_TEMP 一時的なエラー .It Bq Er FETCH_TIMEOUT オペレーションがタイムアウトになりました。 .It Bq Er FETCH_UNAVAIL ファイルが使用できません。 .It Bq Er FETCH_UNKNOWN 未知のエラー .It Bq Er FETCH_URL URL が正しくありません。 .El .Pp エラーメッセージには、 "File is not available (404 Not Found)" のように、 プロトコルのエラーコードとメッセージが組み込まれます。 .Sh 環境変数 FTP と HTTP に関連した関数は、 ファイル転送に使用するプロキシサーバのアドレスとして、 .Ev HTTP_PROXY 環境変数と .Ev FTP_PROXY 環境変数を使用します。 .Sh 関連項目 .Xr com_err 3 , .Xr fetch 1 , .Xr ftpio 3 .Rs .%A T. Berners-Lee .%A L. Masinter .%A M. McCahill .%D December 1994 .%T Uniform Resource Locators (URL) .%O RFC1738 .Re .Rs .%A R. Fielding .%A J. Gettys .%A J. Mogul .%A H. Frystyk .%A T. Berners-Lee .%D Januray 1997 .%T Hypertext Transfer Protocol -- HTTP/1.1 .%O RFC2068 .Re .Rs .%A J. Postel .%A J. K. Reynolds .%D October 1985 .%T File Transfer Protocol .%O RFC959 .Re .Sh 注 .Nm fetch ライブラリは Common Error ライブラリを使用するので、 .Nm libfetch にリンクするアプリケーションは、 .Nm libcom_err にもリンクする必要があります。 .Sh 歴史 .Nm fetch ライブラリは、 .Fx 3.0 に追加されました。 .Sh 作者 .Nm fetch ライブラリは、 .An Jordan K. Hubbard Aq jkh@FreeBSD.org , .An Eugene Skepner Aq eu@qub.com 、その他の FreeBSD 開発者の提案を受け入れ、 .An Dag-Erling Coidan Smograv Aq des@FreeBSD.org が作成しました。これにより、 .An Poul-Henning Kamp Aq pkh@FreeBSD.org と .An Jordan K. Hubbard Aq jkh@FreeBSD.org が作成した .Nm ftpio が置き換えられました。 .Pp このマニュアルページの筆者は、 .An Dag-Erling Coidan Smograv Aq des@FreeBSD.org です。 .Sh バグ .Fn fetchPutHTTP 、 .Fn fetchStatHTTP 、 .Fn fetchListHTTP 、 .Fn fetchListFTP 、FTP プロキシサポートなど、ライブラリの一部はまだ実現されていません。 .Pp .Ev HTTP_PROXY 環境変数か .Ev FTP_PROXY 環境変数を適切に設定する以外、 プロキシを実行時に選択する方法はありません。 この環境変数を設定した場合は、 FTP 関数と HTTP 関数によるプロキシの使用を止めることはできません。 .Pp HTTP 認証は動作しません。調査した範囲では、 コードにバグがあるとは言い切れません。 .Nm libfetch は HTTP/1.1 基本認証を RFC2068 のとおりに正しく処理しますが、 HTTP サーバは、認証のヘッダフィールドを受け入れません。また .Nm libfetch は、HTTP サーバの認証要求を解釈してそれに応答しようとしません。 .Pp URL でスペースなどをエンコードする試みはなされていません。 URL の文書部分のスペースは、HTTP URL で "%20" に、 FTP URLで "\\ " に置き換える必要があります。 .Pp エラー番号は、特定コンテキストのみで一意です。 FTP と HTTP で使用するエラーコード、 およびリゾルバとシステムのエラーで使用するエラーコードは重複します。 たとえばエラーコード 202 は、FTPでは "Command not implemented, superfluous at this site" を表し、HTTP では "Accepted" を表します。 .Pp このマニュアルページは不十分で、 テキストのフォーマットも揃っていません。 .Pp その他にも多くのことがあります。 diff --git a/ja_JP.eucJP/man/man3/floor.3 b/ja_JP.eucJP/man/man3/floor.3 index 892ea6380d..495236b491 100644 --- a/ja_JP.eucJP/man/man3/floor.3 +++ b/ja_JP.eucJP/man/man3/floor.3 @@ -1,68 +1,68 @@ .\" copyright (c) 1985, 1991 The Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)floor.3 6.5 (Berkeley) 4/19/91 -.\" $Id: floor.3,v 1.1.1.1 1999-12-09 16:26:05 kuriyama Exp $ +.\" %Id: floor.3,v 1.6 1997/02/22 15:09:32 peter Exp % .\" .\" jpman %Id% .\" .Dd March 10, 1994 .Dt FLOOR 3 .Os .Sh 名称 .Nm floor , .Nm floorf .Nd x 以下の最大整数値に丸める .Sh 書式 .Fd #include .Ft double .Fn floor "double x" .Ft float .Fn floorf "float x" .Sh 解説 .Fn floor 関数と .Fn floorf 関数は、 .Fa x 以下の最大整数値 (倍精度数値) を戻します。 .Sh 関連項目 .Xr abs 3 , .Xr ceil 3 , .Xr fabs 3 , .Xr ieee 3 , .Xr math 3 , .Xr rint 3 .Sh 規格 .Fn floor 関数は、 .St -ansiC に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/fmod.3 b/ja_JP.eucJP/man/man3/fmod.3 index 07dae634e0..9b4f5ca581 100644 --- a/ja_JP.eucJP/man/man3/fmod.3 +++ b/ja_JP.eucJP/man/man3/fmod.3 @@ -1,85 +1,85 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)fmod.3 5.1 (Berkeley) 5/2/91 -.\" $Id: fmod.3,v 1.1.1.1 1999-12-09 16:26:05 kuriyama Exp $ +.\" %Id: fmod.3,v 1.4 1997/02/22 15:09:33 peter Exp % .\" .Dd May 2, 1991 .Dt FMOD 3 .Os .Sh 名称 .Nm fmod , .Nm fmodf .Nd 浮動小数の余りを求める関数 .Sh 書式 .Fd #include .Ft double .Fn fmod "double x" "double y" .Ft float .Fn fmodf "float x" "float y" .Sh 解説 .Fn fmod 関数と .Fn fmodf 関数は、 .Fa x Ns / Fa y の浮動小数の余りを算出します。 .Sh 戻り値 .Fa y がゼロでない場合、結果が .Fa x と同じ符号になり、かつ、結果の大きさが .Fa y よりも小さくなるような整数 .Em i に対して、 .Fn fmod 関数と .Fn fmodf 関数は、値 .Sm off .Fa x - Em i * Fa y .Sm on を戻します。 .Fa y がゼロである場合、ドメインエラーを発生させるか、または .Fn fmod 関数と .Fn fmodf 関数がゼロを戻すかはシステムで定義されます。 .Sh 関連項目 .Xr math 3 .Sh 規格 .Fn fmod 関数は、 .St -ansiC に準拠しています。 .\"X kuma 1999-11-5 diff --git a/ja_JP.eucJP/man/man3/fpgetround.3 b/ja_JP.eucJP/man/man3/fpgetround.3 index 62f5556f26..7ee9d5fe3d 100644 --- a/ja_JP.eucJP/man/man3/fpgetround.3 +++ b/ja_JP.eucJP/man/man3/fpgetround.3 @@ -1,159 +1,159 @@ .\" Copyright (c) 1993 Andrew Moore, Talke Studio .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)fpgetround.3 1.0 (Berkeley) 9/23/93 -.\" $Id: fpgetround.3,v 1.1.1.1 1999-12-09 16:26:05 kuriyama Exp $ +.\" %Id: fpgetround.3,v 1.6 1998/02/04 22:30:20 jlemon Exp % .\" .Dd August 23, 1993 .Dt FPGETROUND 3 .Os .Sh 名称 .Nm fpgetround , .Nm fpsetround , .Nm fpsetprec , .Nm fpgetprec , .Nm fpgetmask , .Nm fpsetmask , .Nm fpgetsticky , .Nm fpresetsticky .Nd IEEE 浮動小数インタフェース .Sh 書式 .Fd #include .Ft typedef enum { .br .Fa FP_RN, .Li /* round to nearest */ .br .Fa FP_RM, .Li /* round to minus infinity */ .br .Fa FP_RP, .Li /* round to plus infinity */ .br .Fa FP_RZ, .Li /* truncate */ .br .Ft } fp_rnd_t; .Pp .Ft fp_rnd_t .Fn fpgetround void .Ft fp_rnd_t .Fn fpsetround "fp_rnd_t direction" .Pp .nr fZ 0 .Ft typedef enum { .br .Fa FP_PS, .Li /* 24 bit (single-precision) */ .br .Fa FP_PRS, .Li /* reserved */ .br .Fa FP_PD, .Li /* 53 bit (double-precision) */ .br .Fa FP_PE, .Li /* 64 bit (extended-precision) */ .br .Ft } fp_prec_t; .Pp .Ft fp_prec_t .Fn fpgetprec void .Ft fp_prec_t .Fn fpsetprec "fp_prec_t precision" .Pp .Fd #define fp_except_t int .Fd #define FP_X_INV 0x01 /* invalid */ .Fd #define FP_X_OFL 0x08 /* overflow */ .Fd #define FP_X_UFL 0x10 /* underflow */ .Fd #define FP_X_DZ 0x04 /* divide-by-zero */ .Fd #define FP_X_IMP 0x20 /* loss of precision */ .Fd #define FP_X_DNML 0x02 /* denormal */ .Ft fp_except_t .Fn fpgetmask void .Ft fp_except_t .Fn fpsetmask "fp_except_t mask" .Ft fp_except_t .Fn fpgetsticky void .Ft fp_except_t .Fn fpresetsticky "fp_except_t sticky" .Sh 解説 浮動小数例外が検出されると、例外スティッキフラグが設定され、例外マスク が検査されます。マスクが設定されている場合はトラップが発生します。この ルーチンでは、浮動小数例外マスクの設定、および例外が発生した後での例外 スティッキフラグのリセットができます。浮動小数丸めモードと精度も 設定できます。 .Pp .Fn fpgetround 関数は、現在の浮動小数丸めモードを戻します。 .Pp .Fn fpsetround 関数は、浮動小数丸めモードを設定し、前のモードを 戻します。 .Pp .Fn fpgetprec 関数は、現在の浮動小数精度を戻します。 .Pp .Fn fpsetprec 関数は、浮動小数精度を設定し、前の精度を戻します。 .Pp .Fn fpgetmask 関数は、現在の浮動小数例外マスクを戻します。 .Pp .Fn fpsetmask 関数は、浮動小数例外マスクを設定し、前のマスクを戻します。 .Pp .Fn fpgetsticky 関数は、現在の浮動小数スティッキフラグを戻します。 .Pp .Fn fpresetsticky 関数は、浮動小数スティッキフラグをクリアし、前のフラグ を戻します。 .Pp 以下は、ゼロ除算によるトラップを防ぐコード例です。 .Bd -literal -offset indent fpsetmask(~FP_X_DZ); a = 1.0; b = 0; c = a / b; fpresetsticky(FP_X_DZ); fpsetmask(FP_X_DZ); .Ed .Sh 関連項目 .Xr isnan 3 .Sh 警告 浮動小数例外が発生した後、かつ、マスクを設定する前に、 スティッキフラグをリセットする必要があります。スティッキフラグをリセット する前に別の例外が発生した場合は、誤った例外タイプが 通知されることがあります。 .Sh 歴史 このルーチンは、同じ名前の SysV/386 ルーチンに基づいています。 .\"X kuma 1999-11-5 diff --git a/ja_JP.eucJP/man/man3/ftok.3 b/ja_JP.eucJP/man/man3/ftok.3 index f1e5d9c4ea..43712e5aee 100644 --- a/ja_JP.eucJP/man/man3/ftok.3 +++ b/ja_JP.eucJP/man/man3/ftok.3 @@ -1,83 +1,83 @@ .\" Copyright (c) 1994 SigmaSoft, Th. Lockert .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. .\" -.\" $Id: ftok.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" %Id: ftok.3,v 1.10 1998/06/10 04:24:18 jdp Exp % .Dd June 24, 1994 .Os .Dt ftok 3 .Sh 名称 .Nm ftok .Nd パス名から IPC 識別子を作成する .Sh 書式 .Fd #include .Fd #include .Ft key_t .Fn ftok "const char *path" "int id" .Sh 解説 .Bf -symbolic この関数は、互換性ライブラリ libcompat から使用できます。 .Ef .Fn ftok 関数は、既存ファイルの .Fa path とユーザが選択可能な .Fa id を与えることで、 .Xr msgget 3 , .Xr semget 2 , .Xr shmget 2 関数での使用に適した、固有のキーを作成しようとします。 .Pp .Fa path は、呼び出しプロセスからアクセスできる既に存在するファイルを指定する 必要があります。この指定が適切でない場合、呼び出しはエラーになります。 あるファイルへのリンクでは、 .Fa id が同じである場合、同じキーが戻されます。 .Sh 戻り値 .Fn ftok 関数は、 .Fa path が存在しないか、呼び出しプロセスからアクセス できない場合、-1 を戻します。 .Sh 関連項目 .Xr semget 2 , .Xr shmget 2 , .Xr msgget 3 .Sh 歴史 .Fn ftok 関数は System V に由来し、System V IPC ルーチンを使用する プログラムで一般的に使用されます。 .Sh 作者 .An Thorsten Lockert Aq tholo@sigmasoft.com .Sh バグ 戻されるキーは、デバイスのマイナ番号、および .Fa path が指すファイルの inode 番号に基づき、 .Fa id の下位 8 ビットと組み合わせて算出されます。 このため、このルーチンは重複したキーを戻す可能性があります。 .\"X kuma 1999-11-6 diff --git a/ja_JP.eucJP/man/man3/ftpio.3 b/ja_JP.eucJP/man/man3/ftpio.3 index 8046e45926..2ece2d9cee 100644 --- a/ja_JP.eucJP/man/man3/ftpio.3 +++ b/ja_JP.eucJP/man/man3/ftpio.3 @@ -1,228 +1,228 @@ .\" Copyright (c) 1996 Jordan Hubbard (jkh@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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY JORDAN HUBBARD ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: ftpio.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" %Id: ftpio.3,v 1.17 1998/03/19 07:34:09 charnier Exp % .\" .Dd June 17, 1996 .Dt ftpio 3 .Os .Sh 名称 .Nm ftpLogin , .Nm ftpChdir , .Nm ftpErrno , .Nm ftpGetModtime , .Nm ftpGetSize , .Nm ftpGet , .Nm ftpPut , .Nm ftpBinary , .Nm ftpPassive , .Nm ftpVerbose , .Nm ftpGetURL , .Nm ftpPutURL .Nd FTPIO ユーザライブラリ .Sh 書式 .Fd #include .Ft FILE * .Fn ftpLogin "char *host" "char *user" "char *passwd" "int ftp_port" "int verbose" "int *retcode" .Ft int .Fn ftpChdir "FILE *stream, char *dirname" .Ft int .Fn ftpErrno "FILE *stream" .Ft const char * .Fn ftpErrString "int errno" .Ft time_t .Fn ftpGetModtime "FILE *stream, char *file" .Ft off_t .Fn ftpGetSize "FILE *stream, char *file" .Ft FILE * .Fn ftpGet "FILE *stream, char *file, off_t *seekto" .Ft FILE * .Fn ftpPut "FILE *stream, char *file" .Ft int .Fn ftpAscii "FILE *stream" .Ft int .Fn ftpBinary "FILE *stream" .Ft int .Fn ftpPassive "FILE *stream, int status" .Ft void .Fn ftpVerbose "FILE *stream, int status" .Ft FILE * .Fn ftpGetURL "char *url, char *user, char *passwd, int *retcode" .Ft FILE * .Fn ftpPutURL "char *url, char *user, char *passwd, int *retcode" .Sh 解説 この関数は、FTP コネクションを管理するための 高レベルなライブラリを実装します。 .Pp .Fn ftpLogin は、指定された .Fa user , .Fa passwd , .Fa ftp_port (0 を渡した場合、標準 FTP ポートの 21 がデフォルトで .Fa ftp_port になる), .Fa verbose フィールドを 使用してログインしようとします。ログインに成功すれば、標準的な ストリーム記述子が戻されます。この記述子は、後の FTP オペレーションに 渡してください。エラーが発生した場合は NULL が戻され、 .Fa retcode には、外部サーバが戻すエラーコードが入ります。 .Pp .Fn ftpChdir は、サーバの CD コマンドを出し、 .Fa dir で指定された ディレクトリに変更しようとします。問題がなければゼロが戻されます。 問題がある場合は、サーバのエラーコードが戻されます。 .Pp .Fn ftpErrno は、最後のオペレーションのサーバエラーコードを戻します。 FTP のエラーコードに精通している場合は、エラーの原因の確認に有益です。 .Fn ftpErrString は、人間が判読できるサーバエラーコードを戻します。 .Pp .Fn ftpGet は、 .Fa file 引数が指定するファイルを取り出し (FTP サーバのカレントディレクトリ からの相対パスと想定される。 .Fn ftpChdir 参照)、そのファイルのための新しい FILE* ポインタを戻します。 エラーが発生した場合は NULL を戻します。 .Fa seekto が NULL ではない場合、これが指す整数の内容は、ファイルの再開ポイント として使用されます。つまり、戻されたストリームは、ファイルの .Fa *seekto バイトを指しているということです。これは、エラーで失敗した転送を 効率的に再開する際に便利です。シーク操作がエラーになった場合、 .Fa *seekto の値はゼロになります。 .Pp .Fn ftpGetModtime は、 .Fa file 引数が指定するファイルの最終修正時刻を 戻します。ファイルをオープンできない場合は 0 が戻されます。 .Pp .Fn ftpGetSize は、 .Fa file 引数が指定するファイルのサイズをバイト単位で 戻します。ファイルをオープンできない場合は -1 が戻されます。 .Pp .Fn ftpPut は、 .Fa file 引数が指定する新しいファイルを作成し (FTP サーバのカレントディレクトリからの相対パスと想定される。 .Fn ftpChdir 参照)、ファイルの新しい .Fa stream ポインタを戻します。エラーが発生した場合は NULL を戻します。 .Pp .Fn ftpAscii は、 .Fa stream が指定する現行サーバのコネクションに ASCII モードを設定します。 .Pp .Fn ftpBinary は、 .Fa stream が指定する現行サーバのコネクションに バイナリモードを設定します。 .Pp .Fn ftpPassive は、 .Fa stream が指定する現在のサーバのコネクションのパッシブモード (ファイアウォール用)を論理値 .Fa status に設定します。 .Pp .Fn ftpVerbose は、 .Fa stream が指定する現在のサーバのコネクションの冗長モードを論理値 .Fa status に設定します。 .Pp .Fn ftpGetURL は、 .Fa URL が指定するファイルを取り出します。これは、 サーバの .Fa stream が戻されないこと除けば、 .Fn ftpLogin , .Fn ftpChdir , .Fn ftpGet を組み合わせた操作と同じとみなすことができます。 サーバとのコネクションは、ファイルが完全に読み込まれた時点で クローズされます。複数のファイルを取り出す場合は、低レベルのルーチン を使用してください。この方がはるかに効率的です。 .Pp .Fn ftpPutURL は、 .Fa URL が指定するファイルを作成します。これは、 サーバの .Fa stream が戻されないことを除けば、 .Fn ftpLogin , .Fn ftpChdir , .Fn ftpPut を組み合わせた操作と同じとみなすことができます。 サーバとのコネクションは、ファイルが完全に書き込まれた時点で クローズされます。複数のファイルを作成する場合は、低レベルのルーチン を使用してください。この方がはるかに効率的です。 .Sh 環境変数 .Bl -tag -width FTP_PASSIVE_MODE -offset 123 .It Ev FTP_TIMEOUT .Tn FTP 接続を異常終了させる前に、通信相手からの応答を待つ最大時間 (秒単位) です。 .It Ev FTP_PASSIVE_MODE パッシブモード .Tn FTP を強制的に使用します。 .El .Sh バグ こいつを徹底的に使い込むと、内部状態マシンを混乱させてしまう可能性が ありますが、私がテストした限りでは、非常に丈夫に作られていることが 確かめてあります。 .Pp .Sh 歴史 Poul-Henning Kamp のシステムインストレーションユーティリティ用 ftp ドライバとして始まり、Jordan Hubbard が、stdio の拡張という より一般的な形式に変更しました。 Jean-Marc Zucconi のアイデアと拡張機能もいくつか盛り込まれています。 .Sh 作者 .An Jordan Hubbard , .An Poul-Henning Kamp , .An Jean-Marc Zucconi .\"X kuma 1999-11-6 diff --git a/ja_JP.eucJP/man/man3/fts.3 b/ja_JP.eucJP/man/man3/fts.3 index 4416e8054a..0d9a7151fb 100644 --- a/ja_JP.eucJP/man/man3/fts.3 +++ b/ja_JP.eucJP/man/man3/fts.3 @@ -1,704 +1,704 @@ .\" Copyright (c) 1989, 1991, 1993, 1994 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)fts.3 8.5 (Berkeley) 4/16/94 -.\" $Id: fts.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" %Id: fts.3,v 1.4 1998/02/28 18:05:42 jraynard Exp % .\" .Dd April 16, 1994 .Dt FTS 3 .Os .Sh 名称 .Nm fts .Nd ファイルの階層を横断する .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft FTS * .Fn fts_open "char * const *path_argv" "int options" "int (*compar)(const FTSENT **, const FTSENT **)" .Ft FTSENT * .Fn fts_read "FTS *ftsp" .Ft FTSENT * .Fn fts_children "FTS *ftsp" "int options" .Ft int .Fn fts_set "FTS *ftsp" "FTSENT *f" "int options" .Ft int .Fn fts_close "FTS *ftsp" .Sh 解説 .Nm fts は、 .Tn UNIX ファイル階層を横断するための関数です。簡単に説明すると、 .Fn fts_open 関数はファイル階層の「ハンドル」を戻します。このハンドルは、その他の .Nm fts 関数に指定できます。 .Fn fts_read 関数は、ファイル階層の 1 つのファイルを表す構造体のポインタを戻します。 .Fn fts_children 関数は、構造体のリンクリストへのポインタを戻します。各構造体は、 その階層のあるディレクトリに含まれるファイル 1 つを表します。 一般に、ディレクトリは、正順 (いずれの子にアクセスする前) と 逆順 (すべての子にアクセスした後) の 2 回アクセスされます。 ファイルは 1 回アクセスされます。 シンボリックリンクを無視した、階層への「論理的な」アクセス、 シンボリックリンクをたどる、階層への物理的なアクセス、 階層へのアクセス命令、階層の一部の切り離しや再アクセスが可能です。 .Pp インクルードファイル .Aq Pa fts.h には、2 つの構造体が定義されて (かつ、typedef 型定義もされて) います。 1 つは、ファイル階層そのものを表す構造体 .Fa FTS です。もう 1 つは、ファイル階層のファイル一つを表す構造体 .Fa FTSENT です。通常は、ファイル階層のファイルすべてについて、構造体 .Fa FTSENT が一つ戻されます。このマニュアルページでは、 .Dq ファイル と .Dq Fa FTSENT No 構造体 は、ほぼ同じ意味を持ちます。 .Fa FTSENT 構造体には、少なくとも以下に示すフィールドを含みます。それぞれの フィールドについては、後で詳しく説明します。 .Bd -literal typedef struct _ftsent { u_short fts_info; /* flags for FTSENT structure */ char *fts_accpath; /* access path */ char *fts_path; /* root path */ short fts_pathlen; /* strlen(fts_path) */ char *fts_name; /* file name */ short fts_namelen; /* strlen(fts_name) */ short fts_level; /* depth (\-1 to N) */ int fts_errno; /* file errno */ long fts_number; /* local numeric value */ void *fts_pointer; /* local address value */ struct ftsent *fts_parent; /* parent directory */ struct ftsent *fts_link; /* next file structure */ struct ftsent *fts_cycle; /* cycle structure */ struct stat *fts_statp; /* stat(2) information */ } FTSENT; .Ed .Pp これらのフィールドは、以下のように定義されています。 .Bl -tag -width "fts_namelen" .It Fa fts_info 戻された .Fa FTSENT 構造体とそれが表すファイルを記述します。以下のうち 1 つの値を取ります。 エラーのないディレクトリ .Pq Dv FTS_D を除けば、すべてのエントリは終端です。つまり、再アクセスされることは なく、子がアクセスされることもありません。 .Bl -tag -width FTS_DEFAULT .It Dv FTS_D 正順でアクセスされるディレクトリです。 .It Dv FTS_DC ツリーでの循環の原因となるディレクトリです。 ( .Fa FTSENT 構造体の .Fa fts_cycle フィールドにも同様にこの情報が入ります。) .It Dv FTS_DEFAULT 他のどの .Fa fts_info の値でも明確に表さないファイルタイプを表す .Fa FTSENT 構造体です。 .It Dv FTS_DNR 読み込めないディレクトリです。これはエラーリターンで、 .Fa fts_errno フィールドにエラーの原因を表す値が設定されます。 .It Dv FTS_DOT .Fn fts_open にファイル名として指定されていない、 .Ql \&. や、 .Ql .. という名前を持つファイルです ( .Dv FTS_SEEDOT を参照)。 .It Dv FTS_DP 逆順でアクセスされるディレクトリです。 正順 (つまり、 .Fa fts_info フィールドに .Dv FTS_D が設定された場合) で戻ってきた時は、 .Fa FTSENT 構造体の内容は変更されていません。 .It Dv FTS_ERR これはエラーリターンであり、 .Fa fts_errno フィールドにエラーの原因が設定されます。 .It Dv FTS_F 通常ファイルです。 .It Dv FTS_NS .Xr stat 2 で情報が取得できないファイルです。 .Fa fts_statp フィールドの内容は未定義になります。これはエラーリターンであり、 .Fa fts_errno フィールドにエラーの原因を表す値が設定されます。 .It Dv FTS_NSOK .Xr stat 2 での情報取得を要求しないファイルです。 .Fa fts_statp フィールドの内容は不定になります。 .It Dv FTS_SL シンボリックリンクです。 .It Dv FTS_SLNONE ターゲットが存在しないシンボリックリンクです。 .Fa fts_statp フィールドの内容は、そのシンボリックリンク自体の ファイル特性情報を参照します。 .El .It Fa fts_accpath カレントディレクトリからファイルにアクセスするためのパスです。 .It Fa fts_path 横断のルートからの、ファイルの相対パスです。このパスには、 .Fn fts_open に指定したパスが接頭語として含まれます。 .It Fa fts_pathlen .Fa fts_path が参照する文字列の長さです。 .It Fa fts_name ファイルの名前です。 .It Fa fts_namelen .Fa fts_name が参照する文字列の長さです。 .It Fa fts_level このファイルが見つかった場所の、この横断における深さです。この深さは \-1 から N までの番号が付けられます。横断の開始点の親 (またはルート) を表す .Fa FTSENT 構造体には、番号 \-1 が付されます。 ルートの .Fa FTSENT 構造体には、番号 0 が付されます。 .It Fa fts_errno 関数 .Fn fts_children もしくは .Fn fts_read が構造体 .Fa FTSENT を戻すに際し、 .Fa fts_info フィールドに .Dv FTS_DNR , .Dv FTS_ERR , .Dv FTS_NS のいずれかが設定された状態の場合は、 .Fa fts_errno フィールドは、エラーの原因を示す外部変数 .Va errno の値を含みます。その他の場合、 .Fa fts_errno フィールドの内容は未定義です。 .It Fa fts_number このフィールドは、アプリケーションプログラムで 使用するためのもので、 .Nm fts 関数群はこのフィールドを変更しません。このフィールドは 0 で初期化されています。 .It Fa fts_pointer このフィールドは、アプリケーションプログラムで使用するためのもので、 .Nm fts 関数群はこのフィールドを修正しません。このフィールドは .Dv NULL で初期化されています。 .It Fa fts_parent このファイルがメンバとなっているディレクトリのように、現在着目している ファイルのすぐ上の階層にあるファイルを参照する .Fa FTSENT 構造体のポインタです。初期エントリポイントの親構造体も提供されますが、 .Fa fts_level フィールド、 .Fa fts_number フィールド、 .Fa fts_pointer フィールドの初期化しか保証されません。 .It Fa fts_link .Fn fts_children 関数から戻ると、 .Fa fts_link フィールドは、ディレクトリのメンバを表す、ナル終端されたリンクリスト の中の次の構造体を指します。その他の場合、 .Fa fts_link フィールドの内容は未定義です。 .It Fa fts_cycle ディレクトリ 2 つの間のハードリンクや、ディレクトリを指す シンボリックリンクにより、あるディレクトリが階層構造の中で循環の 原因となっている場合 ( .Dv FTS_DC 参照)、この構造体の .Fa fts_cycle フィールドは、この階層構造の中で、 現在の .Fa FTSENT 構造体と同じファイルを参照する .Fa FTSENT 構造体を指します。その他の場合、 .Fa fts_cycle フィールドの内容は未定義です。 .It Fa fts_statp ファイルの .Xr stat 2 の情報を指すポインタです。 .El .Pp ファイル階層にある全ファイルのすべてのパスに対し、1 つのバッファを 使用します。このため、 .Fa fts_path フィールドと .Fa fts_accpath フィールドは、 .Dv NUL Ns 終端されている ことが保証されるのは、 .Fn fts_read が最後に戻したファイル .Em のみ です。他の .Fa FTSENT 構造体が表すファイルを参照するために、この フィールドを使用するためには、その .Fa FTSENT 構造体の .Fa fts_pathlen フィールドに含まれる情報でパスバッファを 修正する必要があります。 .Fn fts_read をさらに呼び出す前に、 このような修正を元に戻しておく必要があります。 .Fa fts_name フィールドは、常に .Dv NUL Ns 終端されています。 .Sh FTS_OPEN 関数 .Fn fts_open は、横断対象の論理ファイル階層を構成する 1 つ以上のパスを 指定する文字型ポインタの配列を指すポインタを取ります。配列は、 .Dv NULL ポインタで終わっている必要があります。 .Pp 数多くのオプションがありますが、最低でも次のうち 1 つ ( .Dv FTS_LOGICAL か .Dv FTS_PHYSICAL ) を指定する必要があります。オプションは、以下の値の論理和を 取ることで選択されます。 .Bl -tag -width "FTS_PHYSICAL" .It Dv FTS_COMFOLLOW このオプションを指定すると、 .Dv FTS_LOGICAL が指定されているかどうかに関わらず、ルートパスとして指定された シンボリックリンクがすぐにたどられます。 .It Dv FTS_LOGICAL このオプションを指定すると、 .Nm fts ルーチンは、シンボリックリンクそのものではなく、 シンボリックリンクのターゲットの .Fa FTSENT 構造体を戻すようになります。このオプションを設定すると、 アプリケーションに戻される .Fa FTSENT 構造体が指すシンボリックリンクは、存在しないファイルを 参照するものだけになります。 .Fn fts_open 関数には、 .Dv FTS_LOGICAL か .Dv FTS_PHYSICAL を指定する必要があります。 .It Dv FTS_NOCHDIR パフォーマンスを最適化するため、 .Nm fts 関数は、ファイル階層のアクセス中に カレントディレクトリを変更します。これには、横断中にどのディレクトリ にいるかがアプリケーションで特定できないという副作用があります。 .Dv FTS_NOCHDIR オプションはこの最適化を無効にするので、 .Nm fts 関数はカレントディレクトリを変更しなくなります。 .Dv FTS_NOCHDIR を指定していない、もしくは、 .Fn fts_open に絶対パス名を引数として指定していない場合は、アプリケーションで カレントディレクトリを変更したり、ファイルにアクセスしたり しないでください。 .It Dv FTS_NOSTAT デフォルトでは、戻される .Fa FTSENT 構造体は、アクセスしたファイルそれぞれについて ファイル特性情報 ( .Fa statp フィールド) を参照しています。このオプションは、パフォーマンスを 最適化するためにこの要件を緩和し、 .Nm fts 関数が .Fa fts_info フィールドに .Dv FTS_NSOK を設定して、 .Fa statp フィールドの内容を未定義のままにすることを許可します。 .It Dv FTS_PHYSICAL このオプションを指定すると、 .Nm fts ルーチンは、シンボリックリンクが指すターゲットファイルではなく、 シンボリックリンク自体の .Fa FTSENT 構造体を戻すようになります。このオプションを設定すると、 階層に存在するすべてのシンボリックリンクの .Fa FTSENT 構造体がアプリケーションに戻されます。 .Fn fts_open 関数には、 .Dv FTS_LOGICAL か .Dv FTS_PHYSICAL を指定する必要があります。 .It Dv FTS_SEEDOT デフォルトでは、 .Fn fts_open のパス引数として指定しない限り、ファイル階層に存在する、 .Ql \&. もしくは、 .Ql .. という名前のファイルは無視されます。このオプションを指定することにより、 .Nm fts ルーチンは、このような ファイルの .Fa FTSENT 構造体を戻すようになります。 .It Dv FTS_XDEV このオプションを指定すると、 .Nm fts は、下降を始めたファイルと 異なるデバイス番号を持つディレクトリに下降しません。 .El .Pp 引数 .Fn compar は、階層横断の順序決めに使用されるユーザ定義関数を 指定します。この関数は、 .Fa FTSENT 構造体のポインタを指す 2 つのポインタを 引数として取り、最初の引数が参照するファイルが、2 番目の引数が 参照するファイルより前に来るか、前でも後ろでもどちらでも構わないか、 後ろに来るかによって、それぞれ負の値、ゼロ、正の値を戻さねばなりません。 この比較では、 .Fa FTSENT 構造体の .Fa fts_accpath , .Fa fts_path , .Fa fts_pathlen フィールドを .Em 絶対に 使用してはいけません。 .Fa fts_info フィールドに .Dv FTS_NS か .Dv FTS_NSOK が設定されている場合、 .Fa fts_statp フィールドも使用してはなりません。 引数 .Fn compar が .Dv NULL である場合、ディレクトリ横断順序は、ルートパスでは .Fa path_argv でリストされる順序に、その 他すべての場所では、ディレクトリでリストされている順序になります。 .Sh FTS_READ .Fn fts_read 関数は、階層のファイルを表す .Fa FTSENT 構造体のポインタを戻します。ディレクトリ (読込み可能で循環の原因とならないもの) は、正順探索時に 1 回と 逆順探索時に 1 回、少なくとも 2 回アクセスされます。 その他すべてのファイルは、最低 1 回アクセスされます。 (ディレクトリ間のハードリンクで循環の原因とならないもの、 またはシンボリックリンクに対するシンボリックリンクは、ファイルの場合、 1 回以上アクセスされる原因となり、ディレクトリの場合、 2 回以上アクセスされたりする原因となることがあります。) .Pp 階層のすべてのメンバが戻されると、 .Fn fts_read は .Dv NULL を戻し、外部変数 .Va errno に 0 を設定します。階層中のファイルと無関係なエラーが発生すると、 .Fn fts_read は .Dv NULL を戻し、 .Va errno に適切な値を設定します。戻されるファイルに 関係するエラーが発生すると、 .Fa FTSENT 構造体のポインタが戻され、 .Va errno は設定されたり設定されなかったりします ( .Fa fts_info 参照)。 .Pp .Fn fts_read が戻す .Fa FTSENT 構造体は、同じファイル階層ストリームに対して .Fn fts_close を呼び出した後、もしくは、 その構造体がディレクトリ型ファイルを表していない場合に 同じファイル階層ストリームに対して .Fn fts_read を呼び出した後、上書きされることがあります。 どちらの場合でも、逆順探索の際に .Fn fts_read が .Fa FTSENT を返した後に .Fn fts_read を呼び出すまでは、 .Fa FTSENT 構造体は上書きされません。 .Sh FTS_CHILDREN 関数 .Fn fts_children は、 .Fn fts_read が最近戻した .Fa FTSENT 構造体が表す ディレクトリのファイルの NULL で終わるリンクリストの最初のエントリである .Fa FTSENT 構造体のポインタを戻します。リストは、 .Fa FTSENT 構造体の .Fa fts_link フィールドでリンクされ、ユーザ定義比較関数がある場合は、それで 順序付けられます。 .Fn fts_children を繰り返し呼び出すと、このリンクリストは そのたびに再作成されます。 .Pp 特別な場合として、その階層で .Fn fts_read がまだ呼び出されていない場合、 .Fn fts_children は、 .Fn fts_open に指定された 論理ディレクトリにあるファイル (すなわち、 .Fn ftp_open に指定された引数) を指すポインタを戻します。 .Fn fts_read がすでに呼び出されているときに、 .Fn fts_read が最近戻した .Fa FTSENT 構造体が、正順探索でアクセスされたディレクトリでないか、 ディレクトリにファイルが含まれていない場合、 .Fn fts_children は .Dv NULL を戻し、 .Va errno にゼロを設定します。エラーが発生すると、 .Fn fts_children は .Dv NULL を戻し、 .Va errno に適切な値を設定します。 .Pp .Fn fts_children が戻す .Fa FTSENT 構造体は、同じファイル階層ストリームを 使用した .Fn fts_children , .Fn fts_close , .Fn fts_read の呼び出しの後、 上書きされることがあります。 .Pp .Em option には、以下の値を設定できます。 .Bl -tag -width FTS_NAMEONLY .It Dv FTS_NAMEONLY ファイルの名前だけが必要であることを示します。戻された構造体の リンクリストに存在するすべてのフィールドの内容は、 .Fa fts_name フィールドと .Fa fts_namelen フィールドを除いて未定義になります。 .El .Sh FTS_SET 関数 .Fn fts_set により、ストリーム .Fa ftsp のファイル .Fa f に対して、さらに行なう処理を ユーザアプリケーションが決めることができます。 .Fn fts_set 関数は、問題がなければ 0 を戻し、エラーが発生した場合は \-1 を戻します。 .Em option として、以下のうちの 1 つの値を 設定する必要があります。 .Bl -tag -width FTS_PHYSICAL .It Dv FTS_AGAIN ファイルを再アクセスします。どのようなファイルタイプのファイルも 再アクセスされる可能性があります。その次に .Fn fts_read を呼び出すことで、参照されたファイルが戻されます。そのとき、構造体の .Fa fts_stat フィールドと .Fa fts_info フィールドが再び初期化されますが、その他のフィールドは変更されません。 このオプションは、 .Fn fts_read が最近戻したファイルに対してのみ意味を持ちます。通常の場合は逆順 ディレクトリアクセスに使用します。この場合はディレクトリが正順と逆順の 両方で再アクセスされ、その子すべても再アクセスされます。 .It Dv FTS_FOLLOW 参照するファイルは、シンボリックリンクである必要があります。 参照するファイルが、 .Fn fts_read で最近戻されたものである場合、次に .Fn fts_read を呼び出すと、 .Fa fts_info フィールドと .Fa fts_statp フィールドが 初期化され、シンボリックリンク自体ではなくシンボリックリンクのターゲットを 指した状態でファイルが戻されます。ファイルが .Fn fts_children で最近戻されたものである場合、構造体の .Fa fts_info フィールドと .Fa fts_statp フィールドは、 .Fn fts_read で戻されると、シンボリックリンク自体ではなく シンボリックリンクのターゲットを反映します。どちらの場合でも、 シンボリックリンクのターゲットが存在しなければ、戻される構造体のフィールド は変更されず、 .Fa fts_info フィールドは .Dv FTS_SLNONE に設定されます。 .Pp リンクのターゲットがディレクトリである場合は、正順探索でのリターン、 すべての子孫のリターン、逆順探索のリターンがこの順序で実行されます。 .It Dv FTS_SKIP このファイルの子はアクセスされません。ここで指定するファイルとして、 .Fn fts_children か .Fn fts_read が最近戻したものどちらかが可能です。 .El .Sh FTS_CLOSE 関数 .Fn fts_close は、ファイル階層ストリーム .Fa ftsp を閉じ、カレントディレクトリを、 .Fn fts_open を呼び出した時のディレクトリに戻します。 .Fn fts_close 関数は、エラーがなければ 0 を戻し、エラーが発生した場合は -1 を戻します。 .Sh エラー .Fn fts_open 関数の実行が失敗しエラーになると、ライブラリ関数 .Xr open 2 と .Xr malloc 3 で指定されたエラーが .Va errno に設定されることがあります。 .Pp .Fn fts_close 関数がエラーになると、ライブラリ関数 .Xr chdir 2 と .Xr close 2 が指定したエラーが .Va errno 設定されることがあります。 .Pp .Fn fts_read 関数と .Fn fts_children 関数がエラーになると、ライブラリ関数 .Xr chdir 2 , .Xr malloc 3 , .Xr opendir 3 , .Xr readdir 3 , .Xr stat 2 で指定されたエラーが .Va errno に設定されることがあります。 .Pp .Fn fts_children , .Fn fts_open , .Fn fts_set がエラーになると、以下のように .Va errno を設定します。 .Bl -tag -width Er .It Bq Er EINVAL オプションが正しくありません。 .El .Sh 関連項目 .Xr find 1 , .Xr chdir 2 , .Xr stat 2 , .Xr qsort 3 .Pp .Sh 規格 .Nm fts ユーティリティは、将来、 .St -p1003.1-88 リビジョンに組み込まれると思われます。 .\"X kuma 99-10-21 diff --git a/ja_JP.eucJP/man/man3/getbootfile.3 b/ja_JP.eucJP/man/man3/getbootfile.3 index 92e0c78efb..ce4e3b2a25 100644 --- a/ja_JP.eucJP/man/man3/getbootfile.3 +++ b/ja_JP.eucJP/man/man3/getbootfile.3 @@ -1,69 +1,69 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" From: @(#)gethostname.3 8.1 (Berkeley) 6/4/93 -.\" $Id: getbootfile.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" %Id: getbootfile.3,v 1.5 1997/02/22 14:58:03 peter Exp % .\" .Dd September 23, 1994 .Dt GETBOOTFILE 3 .Os .Sh 名称 .Nm getbootfile .Nd カーネル起動ファイル名を取得 .Sh 書式 .Fd #include .Ft const char * .Fn getbootfile void .Sh 解説 .Fn getbootfile 関数は、現在のカーネルがロードされたファイルのフルパス名を取り出し、そ の静的ポインタを返します。この情報の読み込み/書き込みインタフェースは、 .Xr sysctl 3 MIB 変数 .Dq Li kern.bootfile によって利用できます。 .Sh 戻り値 呼び出しが成功した場合はパス名を与えるストリングが返ります。失敗した場合は null ポインタが返り、エラーコードがグローバルな位置の .Va errno に置かれます。 .Sh 関連項目 .Xr sysctl 3 .Sh バグ 起動時のカーネルにこの情報を渡すように、起動ブロックが修正されていない 場合は、実際の起動ファイル名の代わりに静的ストリング .Dq Pa /kernel が返ります。 .Sh 歴史 .Fn getbootfile 関数呼び出しは .Fx 2.0 で最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/getcwd.3 b/ja_JP.eucJP/man/man3/getcwd.3 index 58235f1468..1ca5a9121b 100644 --- a/ja_JP.eucJP/man/man3/getcwd.3 +++ b/ja_JP.eucJP/man/man3/getcwd.3 @@ -1,146 +1,146 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)getcwd.3 8.2 (Berkeley) 12/11/93 -.\" $Id: getcwd.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" %Id: getcwd.3,v 1.6 1997/11/23 17:58:34 bde Exp % .\" .Dd November 24, 1997 .Dt GETCWD 3 .Os BSD 4.2 .Sh 名称 .Nm getcwd , .Nm getwd .Nd 作業ディレクトリのパス名を取得 .Sh 書式 .Fd #include .Ft char * .Fn getcwd "char *buf" "size_t size" .Ft char * .Fn getwd "char *buf" .Sh 解説 .Fn getcwd 関数は、現在の作業ディレクトリの絶対パス名を .Fa buf で参照されるメモリにコピーし、 .Fa buf のポインタを返します。 .Fa size 引数は、 .Fa buf で参照される配列のバイト数によるサイズです。 .Pp .Fa buf が .Dv NULL の場合は、パス名を保存するのに必要なだけの空間が割り振られます。この空 間は後で .Xr free 3 できます。 .Pp 関数 .Fn getwd は .Fn getcwd を呼び出す互換性ルーチンです。 .Fa buf 引数および、(インクルードファイル .Aq Pa sys/param.h で定義された) .Dv MAXPATHLEN のサイズを持ちます。 .Fa buf が少なくとも、 .Dv MAXPATHLEN バイトの長さを持たなければならないことは明らかです。 .Pp これらのルーチンは従来、そこへ戻るために作業ディレクトリの名前を保存す るプログラムによって使用されてきました。これをより速く誤りなく遂行する ものとして、カレントディレクトリ .Pq Ql \&. をオープンし、 .Xr fchdir 2 関数を使って戻る方法があります。 .Sh 戻り値 無事に完了した場合はパス名のポインタが返ります。その他の場合は .Dv NULL ポインタが返り、エラーを示すためグローバル変数 .Va errno が設定され、さらに .Fn getwd が .Va errno に関連するエラーメッセージを .Fa buf で参照されるメモリにコピーします。 .Sh エラー .Fn getcwd 関数は次の場合に失敗します。 .Bl -tag -width [EACCES] .It Bq Er EACCES 読み込みまたは検索パーミッションが、パス名の構成要素のため拒否されまし た。 .Pp .It Bq Er EINVAL .Fa size 引数がゼロです。 .It Bq Er ENOENT パス名の構成要素がもはや存在しません。 .It Bq Er ENOMEM 利用できるメモリが十分ではありません。 .It Bq Er ERANGE .Fa size 引数はゼロよりも大きいが、パス名 + 1 よりも小さいので不当です。 .El .Sh 関連項目 .Xr chdir 2 , .Xr fchdir 2 , .Xr malloc 3 , .Xr strerror 3 .Pp .Sh 規格 .Fn getcwd 関数は、 .St -ansiC に準拠しています。 .Dv NULL ポインタを指定して、必要に応じて .Fn getcwd にメモリを割り振る機能は拡張部分です。 .Sh 歴史 .Fn getwd 関数は .Bx 4.0 で最初に取り入れられました。 .Sh バグ .Fn getwd 関数はエラーチックを十分に行いません。非常に長いパス名は、有効でも返す ことができません。互換性を考える上で注意が必要です。 diff --git a/ja_JP.eucJP/man/man3/getdomainname.3 b/ja_JP.eucJP/man/man3/getdomainname.3 index 4cff9fc5f8..4be8819a07 100644 --- a/ja_JP.eucJP/man/man3/getdomainname.3 +++ b/ja_JP.eucJP/man/man3/getdomainname.3 @@ -1,98 +1,98 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)gethostname.3 8.1 (Berkeley) 6/4/93 -.\" $Id: getdomainname.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" %Id: getdomainname.3,v 1.8 1997/02/22 14:58:06 peter Exp % .\" .Dd May 6, 1994 .Dt GETDOMAINNAME 3 .Os BSD 4.2 .Sh 名称 .Nm getdomainname , .Nm setdomainname .Nd 現在のホストのドメイン名を取得/設定 .Sh 書式 .Fd #include .Ft int .Fn getdomainname "char *name" "int namelen" .Ft int .Fn setdomainname "const char *name" "int namelen" .Sh 解説 .Fn Getdomainname は前に .Fn setdomainname によって設定された、現在のプロセッサの標準ドメイン名を返します。パラメー タ .Fa namelen は .Fa name 配列のサイズを指定します。空間が十分にない場合を除いて、返される値は null で終わります。 .Pp .Fn Setdomainname は .Fa name するホストマシンの、長さ .Fa namelen のドメイン名を設定します。この呼び出しはスーパユーザに限定されます。通 常はシステムを、ブートストラップする場合にだけ使用されます。 .Sh 戻り値 呼び出しに成功した場合は値 0が返ります。呼び出しに失敗した場合は値 -1 が返り、グローバルな位置 .Va errno にエラーコードが置かれます。 .Sh エラー これらの呼び出しによって、次のエラーが返る場合があります。 .Bl -tag -width Er .It Bq Er EFAULT .Fa name または .Fa namelen パラメータに与えたアドレスが無効です。 .It Bq Er EPERM 呼び出し元がホスト名を設定しようとしましたが、スーパユーザではありませ ん。 .El .Sh 関連項目 .Xr gethostid 3 , .Xr gethostname 3 , .Xr sysctl 3 .Sh バグ ドメイン名は、( .Ao Pa sys/param.h Ac による) .Dv MAXHOSTNAMELEN 長さのキャラクタ、現在 256 文字に限られています。 .Sh 歴史 .Fn getdomainname 関数の呼び出しは、 .Bx 4.2 で最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/getgrent.3 b/ja_JP.eucJP/man/man3/getgrent.3 index 7f69fc466a..e680d5be60 100644 --- a/ja_JP.eucJP/man/man3/getgrent.3 +++ b/ja_JP.eucJP/man/man3/getgrent.3 @@ -1,197 +1,197 @@ .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" From: @(#)getgrent.3 8.2 (Berkeley) 4/19/94 -.\" $Id: getgrent.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" %Id: getgrent.3,v 1.10 1997/02/28 05:46:19 mpp Exp % .\" .Dd September 29, 1994 .Dt GETGRENT 3 .Os .Sh 名称 .Nm getgrent , .Nm getgrnam , .Nm getgrgid , .Nm setgroupent , .\" .Nm setgrfile , .Nm setgrent , .Nm endgrent .Nd グループデータベースの操作 .Sh 書式 .Fd #include .Fd #include .Ft struct group * .Fn getgrent void .Ft struct group * .Fn getgrnam "const char *name" .Ft struct group * .Fn getgrgid "gid_t gid" .Ft int .Fn setgroupent "int stayopen" .\" .Ft void .\" .Fn setgrfile "const char *name" .Ft int .Fn setgrent void .Ft void .Fn endgrent void .Sh 解説 これらの関数はいずれも、 .Xr group 5 に記述されたグループデータベースファイル .Pa /etc/group を操作します。データベースの各行は、インクルードファイル .Aq Pa grp.h にある構造体 .Ar group によって定義されます。次のとおりです。 .Bd -literal -offset indent struct group { char *gr_name; /* グループ名 */ char *gr_passwd; /* グループパスワード */ int gr_gid; /* グループ id */ char **gr_mem; /* グループメンバ */ }; .Ed .Pp 関数 .Fn getgrnam および .Fn getgrgid は、 .Ar name に示す与えられたグループ名または .Ar gid に示すグループ id を、グループデータベースで検索して、それぞれに最初の 適合エントリを返します。異なるエントリに同一グループ名または、同一グループ id が与えられていると、未定義な不測の挙動をもたらすことがあります。 .Pp .Fn getgrent 関数は、グループデータベースを順次読み込みます。完全な グループリストを着実に生成するプログラム向きです。 .Pp 3 つのルーチンはいずれも、読み込みに必要ならば目的のグループファイルを オープンします。 .Pp .Fn setgroupent 関数は目的のファイルをオープン、またはすでにオープンされている 場合はリワインドします。 .Fa stayopen が 0 でなければ、ファイル記述子はオープン のままにされ、以後の関数呼び出しがきわめて高速化されます。ただし .Fn getgrent の場合は、デフォルトでファイル記述子をクローズしないので、この 機能は不要です。また、グループファイルが更新される可能性があるので、 長期間実行するプログラムでこの機能を使用するのは危険です。注意してください。 .Pp .Fn setgrent 関数は、0 の引数を持つ .Fn setgroupent と同じです。 .Pp .Fn endgrent 関数は、オープンされているファイルをクローズします。 .Sh YP/NIS の相互作用 .Xr yp 4 グループデータベースが使用可能な場合、要求されたグループがローカルの .Pa /etc/groupfile に見付からないと、 .Fn getgrnam および .Fn getgrgid 関数は、 YP マップ .Dq group.byname および .Dq group.bygid をそれぞれ使用します。 .Xr group 5 で記述されたとおりに全体マップが使用可能ならば、 .Fn getgrent 関数は YP マップ .Dq group.byname を通ります。 .Sh 戻り値 関数 .Fn getgrent , .Fn getgrnam , .Fn getgrgid は、いずれも成功すると グループエントリのポインタを返します。エンドオブファイルに到達するかエラー が発生した場合は、ヌルポインタが返ります。関数 .Fn setgroupent および .Fn setgrent は、処理が無事に完了した場合は値 1 を返します。 その他の場合は値 0 が返ります。 関数 .Fn endgrent および .Fn setgrfile の戻り値はありません。 .Pp .Sh 関連ファイル .Bl -tag -width /etc/group -compact .It Pa /etc/group グループデータベースファイル .El .Sh 関連項目 .Xr getpwent 3 , .Xr yp 4 , .Xr group 5 .Sh 歴史 関数 .Fn endgrent , .Fn getgrent , .Fn getgrnam , .Fn getgrgid , .Fn setgrent は、 .At v7 で最初に取り入れられました。関数 .Fn setgrfile および .Fn setgroupent は、 .Bx 4.3 Reno で最初に取り入れられました。 .Sh 互換性 代替パスワードデータベースの規格を許した歴史的な関数 .Fn setgrfile は、これまで非難されてきましたが、もはや使用できません。 .Sh バグ 関数 .Fn getgrent , .Fn getgrnam , .Fn getgrgid , .Fn setgroupent , .Fn setgrent は、それぞれの結果を内部の静的オブジェクトに残し、そのオブジェクトの ポインタを返します。後に続く同じ関数の呼び出しは、その同じオブジェクトを 改変します。 diff --git a/ja_JP.eucJP/man/man3/gethostbyname.3 b/ja_JP.eucJP/man/man3/gethostbyname.3 index e3efa8aa51..cafd20e2af 100644 --- a/ja_JP.eucJP/man/man3/gethostbyname.3 +++ b/ja_JP.eucJP/man/man3/gethostbyname.3 @@ -1,287 +1,287 @@ .\" Copyright (c) 1983, 1987, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" From: @(#)gethostbyname.3 8.4 (Berkeley) 5/25/95 -.\" $Id: gethostbyname.3,v 1.1.1.1 1999-12-09 16:26:04 kuriyama Exp $ +.\" %Id: gethostbyname.3,v 1.10 1998/06/06 05:50:44 jkoshy Exp % .\" .Dd May 25, 1995 .Dt GETHOSTBYNAME 3 .Os BSD 4.2 .Sh 名称 .Nm gethostbyname , .Nm gethostbyname2 , .Nm gethostbyaddr , .Nm gethostent , .Nm sethostent , .Nm endhostent , .Nm herror , .Nm hstrerror .Nd ネットワークホストのエントリの取得 .Sh 書式 .Fd #include .Vt extern int h_errno; .Ft struct hostent * .Fn gethostbyname "const char *name" .Ft struct hostent * .Fn gethostbyname2 "const char *name" "int af" .Ft struct hostent * .Fn gethostbyaddr "const char *addr" "int len" "int type" .Ft struct hostent * .Fn gethostent void .Ft void .Fn sethostent "int stayopen" .Ft void .Fn endhostent void .Ft void .Fn herror "const char *string" .Ft const char * .Fn hstrerror "int err" .Sh 解説 .Fn gethostbyname , .Fn gethostbyname2 , .Fn gethostbyaddr 関数はそれぞれ、 次に示す構造体を持つオブジェクトのポインタを返します。構造体には、 名前またはアドレスによって参照されるインターネットホストが記述されていて、 ネームサーバ .Xr named 8 から、または .Pa /etc/hosts にある行の内訳フィールドから 得られた情報を含んでいます。ローカルのネームサーバが実行されていない場合、 これらのルーチンは .Pa /etc/hosts を検索します。 .Bd -literal struct hostent { char *h_name; /* ホストの正式名 */ char **h_aliases; /* 別名リスト */ int h_addrtype; /* ホストアドレスタイプ */ int h_length; /* アドレスの長さ */ char **h_addr_list; /* ネームサーバからのアドレスリスト */ }; #define h_addr h_addr_list[0] /* アドレス、下位互換用 */ .Ed .Pp この構造体のメンバは次のとおりです。 .Bl -tag -width h_addr_list .It Fa h_name ホストの正式名。 .It Fa h_aliases ホストの別名 (エイリアス) のヌルで終わる配列。 .It Fa h_addrtype 返されるアドレスのタイプであり、通常は .Dv AF_INET 。 .It Fa h_length アドレスのバイト数による長さ。 .It Fa h_addr_list ホストのネットワークアドレスのヌルで終わる配列。 ホストアドレスはネットワークバイト順で返されます。 .It Fa h_addr .Fa h_addr_list にある最初のアドレスであり、下位互換用。 .El .Pp ネームサーバを使用する場合、 .Fn gethostbyname および .Fn gethostbyname は、目的の名前が付いたホストを、現在のドメインと親のドメインから検索します。 ただしこれは、名前がドットで終わっていない場合です。 名前にドットが含まれないか、または環境変数 .Dq Ev HOSTALIASES にエイリアスファイルの名前が含まれている場合は、 入力名に適合するエイリアスが最初にエイリアスファイルで検索されます。 ドメイン検索手続きとエイリアスファイル書式については、 .Xr hostname 7 を参照してください。 .Pp .Fn gethostbyname2 関数は .Fn gethostbyname の発展型で、 .Dv AF_INET 以外のアドレスファミリ、たとえば .Dv AF_INET6 での検索を可能にするためのものです。ただし現在は、 .Fa af 引数に .Dv AF_INET を指定する必要があります。他の値を指定すると .Fn gethostbyname2 関数は、 .Va h_errno を .Dv NETDB_INTERNAL に設定した後で、 .Dv NULL を返します。 .Pp .Fn sethostent 関数は、問い合わせ用に、接続した .Tn TCP ソケットの使用を要求する場合に使用できます。 .Fa stayopen フラグが 0 でなければ、 .Tn TCP によってすべての問い合わせをネームサーバに送り、 .Fn gethostbyname , .Fn gethostbyname2 , .Fn gethostbyaddr のそれぞれ呼び出し後にも、接続を保持するようにオプションが設定できます。 その他の場合、問い合わせは .Tn UDP データグラムを使用して 実行されます。 .Pp .Fn endhostent 関数は .Tn TCP 接続をクローズします。 .Pp .Fn herror 関数は診断出力にメッセージを書き出します。 診断出力は文字列パラメータ .Fa s と、定数文字列 ": " と、 .Va h_errno の値に対応するメッセージで構成されます。 .Pp .Fn hstrerror 関数は、 .Fa err パラメータの値に対応するメッセージテキストの 文字列を返します。 .Sh 関連ファイル .Bl -tag -width /etc/resolv.conf -compact .It Pa /etc/hosts .It Pa /etc/host.conf .It Pa /etc/resolv.conf .El .Sh 診断 .Fn gethostbyname , .Fn gethostbyname2 , .Fn gethostbyaddr のエラー状態は、ヌルポインタが返ることで示されます。その場合は外部整数 .Va h_errno をチェックすることにより、 一時的なエラーであるのか、 無効または未知のホスト名を指定したためかを判断できます。 .Fn herror ルーチンによって、エラーを記述するエラーメッセージを表示できます。 引数 .Fa string は、 .Dv NULL でなければ表示され、後にコロンとスペースが続きます。 エラーメッセージが終端の改行とともに印刷されます。 .Pp 変数 .Va h_errno は次の値を取り得ます。 .Bl -tag -width HOST_NOT_FOUND .It Dv HOST_NOT_FOUND 指定した名前のホストが未知です。 .It Dv TRY_AGAIN これは通常は一時的なエラーで、ローカルサーバが公式サーバ から応答が得られなかったことを意味します。しばらくして再度試みると成功する 場合があります。 .It Dv NO_RECOVERY なんらかの予期しないサーバエラーが発生しました。 これは回復不能なエラーです。 .It Dv NO_DATA 要求された名前は有効ですが、IP アドレスがありません。 これは一時的なエラーではありません。 指定したホスト名がネームサーバには知られているにもかかわらず、 対応するアドレスがないという意味です。 このネームサーバに対して同じドメイン名で別なタイプの要求を行うと、 回答が得られるかもしれません。 たとえばメールフォワーダがそのドメインに登録されている場合があります。 .El .Sh 関連項目 .Xr resolver 3 , .Xr hosts 5 , .Xr hostname 7 , .Xr named 8 .Sh 警告 ネームサーバは検索せずに .Pa /etc/hosts だけを検索するルーチンを使用するように .Xr libc 3 が構築された場合、 .Fn gethostent 関数が定義され、 .Fn sethostent および .Fn endhostent が再定義されます。 .Pp .Fn gethostent 関数は、 .Pa /etc/hosts ファイルの次の行を読み込みます。 この際、必要ならばファイルをオープンします。 .Pp .Fn sethostent 関数はファイル .Pa etc/hosts をオープンおよび/またはリワインドします。 .Fa stayopen 引数が 0 でなければ、 .Fn gethostbyname , .Fn gethostbyname2 , .Fn gethostbyaddr のそれぞれの呼び出しの後、ファイルはクローズされません。 .Pp .Fn endhostent 関数はファイルをクローズします。 .Pp .Sh 歴史 .Fn herror 関数は .Bx 4.3 で最初に取り入れられました。 .Fn endhostent , .Fn gethostbyaddr , .Fn gethostbyname , .Fn gethostent , .Fn sethostent 関数は .Bx 4.2 で最初に取り入れられました。 .Fn gethostbyname2 関数は bind-4.9.4 で最初に取り入れられました。 .Sh バグ これらの関数は静的データ記憶域を使用します。後でデータが必要な場合は、 以後の呼び出しで上書きする前にコピーして保存する必要があります。なお、 アドレスデータとして受け入れるのは現在、インターネットアドレスフォーマット だけです。 diff --git a/ja_JP.eucJP/man/man3/getobjformat.3 b/ja_JP.eucJP/man/man3/getobjformat.3 index 2e665f9552..4ba82a3fd7 100644 --- a/ja_JP.eucJP/man/man3/getobjformat.3 +++ b/ja_JP.eucJP/man/man3/getobjformat.3 @@ -1,133 +1,133 @@ .\" Copyright (c) 1998 John D. Polstra .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: getobjformat.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" %Id: getobjformat.3,v 1.2 1998/10/25 13:29:57 obrien Exp % .\" .Dd September 7, 1998 .Dt GETOBJFORMAT 3 .Os FreeBSD .Sh 名称 .Nm getobjformat .Nd 優先オブジェクトファイルフォーマットの取得 .Sh 書式 .Fd #include .Ft int .Fn getobjformat "char *buf" "size_t bufsize" "int *argcp" "char **argv" .Sh 解説 .Fn getobjformat はいくつかの情報源に問い合わせて、 優先オブジェクトファイルフォーマットを決め、呼び出し元によって設定された バッファにその名前をコピーします。 .Pp オブジェクトファイルフォーマットは、次のように決定されます。 .Va argv が .Dv NULL でなく、 .Fl aout または .Fl elf のような明示的なコマンドライン引数が存在する場合は、 その引数がオブジェクトファイルフォーマットを決めます。 .Pp そうでない場合、環境に変数 .Ev OBJFORMAT が設定されていれば、 その変数の値からオブジェクトファイルフォーマットがとられます。 .Pp そうでない場合、ファイル .Pa /etc/objformat の読み取りが可能で、 .Ql OBJFORMAT=xxx という形式の行が含まれていれば、オブジェクトファイルフォーマット はそこからとられます。 .Pp そうでない場合、 組み込みのシステムデフォルトのオブジェクトファイルフォーマットが返ります。 .Pp .Va buf は、オブジェクトファイルフォーマットの名前がそこにコピーされる、 ユーザ指定のバッファを示します。 .Va bufsize は、バッファの大きさをバイト数で与えます。 .Va buf に置かれる文字列は常にヌルで終わります。 ヌルで終わるバッファ名を保持するためにはバッファが小さすぎる場合、 エラーになります。 .Pp .Va argv は、オブジェクトフォーマットのオプションがスキャンされる、 .Dv NULL で終わる引数ベクトルを示します。引数ベクトルがスキャンしない場合は、 .Va argv を .Dv NULL にすることができます。 .Pp .Va argcp が .Dv NULL でなければ、すべてのオブジェクトフォーマットオプションは引数 ベクトルから削除され、更新された引数カウントが、 .Va argcp で参照される整数に格納されます。 .Va argcp が .Dv NULL ならば、引数ベクトルは変更されないでそのまま残ります。 .Sh 戻り値 成功した場合 .Fn getobjformat は、終わりのヌルを含まない オブジェクトファイルフォーマット名の長さを返します。 オブジェクトファイルフォーマットおよび終わりのヌルを保持するためには、 指定のバッファが小さすぎる場合、 .Fn getobjformat は -1 を返します。 その場合 バッファおよび、呼び出し元によって指定された引数ベクトルの内容は不定です。 .Sh 環境変数 .Bl -tag -width OBJFORMAT .It Ev OBJFORMAT 環境変数 .Ev OBJFORMAT が設定されると、デフォルトのオブジェクトファイルフォーマットに優先します。 .Ev OBJFORMAT は .Pa /etc/objformat に優先します。 .Sh 関連ファイル .Bl -tag -width /etc/objformat -compact .It Pa /etc/objformat 存在すればこれが、使用するオブジェクトファイルフォーマットを指定します。構文は .Ql OBJFORMAT=xxx です。 .Sh 関連項目 .Xr objformat 1 .Pp .Sh 歴史 .Fn getobjformat 関数は .Fx 3.0 で最初に取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/getservent.3 b/ja_JP.eucJP/man/man3/getservent.3 index a27d9d78d0..4bd2ed5032 100644 --- a/ja_JP.eucJP/man/man3/getservent.3 +++ b/ja_JP.eucJP/man/man3/getservent.3 @@ -1,153 +1,153 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" From: @(#)getservent.3 8.3 (Berkeley) 1/12/94 -.\" $Id: getservent.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" %Id: getservent.3,v 1.5 1997/02/22 15:00:13 peter Exp % .\" .Dd July 9, 1995 .Dt GETSERVENT 3 .Os BSD 4.2 .Sh 名称 .Nm getservent , .Nm getservbyport , .Nm getservbyname , .Nm setservent , .Nm endservent .Nd サービスエントリを取得 .Sh 書式 .Fd #include .Ft struct servent * .Fn getservent .Ft struct servent * .Fn getservbyname "const char *name" "const char *proto" .Ft struct servent * .Fn getservbyport "int port" "const char *proto" .Ft void .Fn setservent "int stayopen" .Ft void .Fn endservent void .Sh 解説 .Fn getservent 、 .Fn getservbyname および .Fn getservbyport 関数はそれぞれ、次に 示す構造体を持つオブジェクトのポインタを返します。構造体には ネットワークサービスデータベース .Pa /etc/services にある、行の内訳フィールドが 含まれます。 .Bd -literal -offset indent struct servent { char *s_name; /* サービスのオフィシャル名 */ char **s_aliases; /* エイリアスリスト */ int s_port; /* サービスが常駐するポート */ char *s_proto; /* 使用するプロトコル */ }; .Ed この構造体のメンバは次のとおりです。 .Bl -tag -width s_aliases .It Fa s_name サービスのオフィシャル名。 .It Fa s_aliases サービスのゼロで終わる別名 (エイリアス) リスト。 .It Fa s_port サービスが常駐するポート番号。ポート番号は ネットワークバイト順で返されます。 .It Fa s_proto サービスとのコンタクト中に使用するプロトコル名。 .El .Pp .Fn getservent 関数は、必要ならばファイルをオープンして次の行を読み込みます。 .Pp .Fn setservent 関数はファイルをオープンしリワインドします。 .Fa stayopen フラグがゼロでなければ、 .Fn getservbyname または .Fn getservbyport の各呼び出し後に、 ネットデータベースはクローズされません。 .Pp .Fn endservent 関数はファイルをクローズします。 .Pp 適合するプロトコル名またはポート番号が見付かるか、さもなければ .Dv EOF に 出会うまで、 .Fn getservbyname および .Fn getservbyport 関数は最初から順次 ファイルを検索します。プロトコル名が供給されていても( .Dv NULL でなくても) 、検索は適合するプロトコルが見付かるまで続けられます。 .ne 1i .Sh 関連ファイル .Bl -tag -width /etc/services -compact .It Pa /etc/services .El .Sh 診断 .Dv EOF またはエラーの場合、 Null ポインタ (0) が返ります。 .Sh 関連項目 .Xr getprotoent 3 、 .Xr services 5 .Sh 歴史 .Fn getservent 、 .Fn getservbyport 、 .Fn getservbyname 、 .Fn setservent および .Fn endservent 関数は、 .Bx 4.2 で最初に取り入れられました。 .Sh バグ これらの関数は静的データストレージを使用します。後で使用する必要があれば、 以後の呼び出しで上書きする前にデータをコピーして保存する必要があります。 ポート番号がすべて 32 ビットに適合すると考えるのは、たぶん素朴過ぎます。 diff --git a/ja_JP.eucJP/man/man3/getvfsent.3 b/ja_JP.eucJP/man/man3/getvfsent.3 index cb013ecb81..c3a4c181af 100644 --- a/ja_JP.eucJP/man/man3/getvfsent.3 +++ b/ja_JP.eucJP/man/man3/getvfsent.3 @@ -1,236 +1,236 @@ -.\" $Id: getvfsent.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" %Id: getvfsent.3,v 1.14 1998/05/30 18:20:37 steve Exp % .\" Written by Garrett A. Wollman, September 1994. .\" This manual page is in the public domain. .\" .Dd September 24, 1994 .Dt GETVFSENT 3 .Os .Sh 名称 .Nm getvfsent , .Nm setvfsent , .Nm endvfsent , .Nm vfsisloadable , .Nm vfsload .Nd 仮想ファイルシステムモジュールを管理 .Sh 書式 .Fd #include .Fd #include .Ft struct ovfsconf * .Fn getvfsent "void" .Ft void .Fn setvfsent "int cachelist" .Ft void .Fn endvfsent "void" .Ft int .Fn vfsisloadable "const char *name" .Ft int .Fn vfsload "const char *name" .Sh 解説 .Fn getvfsent 関数によって、カーネルが管理する仮想ファイルシステムモジュール の実装リストに、簡単にアクセスできます。リストのファイルシステムを 1 回に 1 つづつ段階的に処理します。利用できるデータがそれ以上なくなると、 null ポインタが返ります。構造体 .Dq Li struct ovfsconf のフィールドは次のとおりです。 .Pp .Bl -tag -compact -width vfc_refcount .It vfc_name ファイルシステムの名前。 .It vfc_index カーネルによって割り当てられ .Xr mount 2 の呼び出しに使用された、ファイルシステムのタイプ番号。 .It vfc_refcount このファイルシステムの参照数 (通常は実装数ですが、 アンロードできないファイルシステム、または静的にこのカーネルにリンク されているファイルシステムなどがあると、実装数を上回ります) 。 .It vfc_flags 現在なにも定義されていないフラグビット。 .El .Pp .Fn setvfsent および .Fn endvfsent 関数は、 .Xr sysctl 3 のよってカーネル からまとめて取得されるファイルシステムリストの、キャッシング制御に 使用されます。 .Fn setvfsent の .Fa cachelist パラメータがゼロでなければ、これら 検索関数のどれかを最初に呼び出した時点でリストはただ 1 回だけ取り出され、 キャッシュをクリアするために .Fn endvfsent が呼び出されるまで保持されます。 一般に .Fn setvfsent 1 は、 .Fn getvfsent を使用するプログラムによって呼び出される必要があり、 .Fn setvfsent 0 は (これもデフォルトの状態で) 、 .Fn vfsload 関数を使用するプログラムによって呼び出される必要があります。 .Pp .Fn vfsisloadable 関数は、後で .Fn vfsload name の呼び出しが続きそうだと非ゼロ値を返します。ここで 「そう」と言うのは、 .Fn vfsisloadable によってチェックされる条件だけが、 .Fn vfsload が後続するために必要な条件の小さな サブセットだからです。詳しく説明すれば、 .Fn vfsisloadable は .Pa /dev/lkm が 存在するか、書き込みのためにオープンできるか、また LKM (ロード可能カーネルモジュール) 用に指定したディレクトリの 1 つで、 .Pa Ns Fa name Ns _mod.o が 見付かるかなどをチェックします。 .Pp .Fn vfsload 関数は、ファイルシステム .Fa name の実装カーネルモジュールをロード しようと試みます。ファイルシステムモジュールを無事に突き止めてロードした 場合はゼロが、その他の場合は非ゼロが返ります。この関数を呼び出せるのは次に 示す状況だけです。 .Bl -enum .It .Fn getvfsbyname を呼び出して非ゼロ値が返った場合。 .It .Fn vfsisloadable を呼び出して非ゼロ値が返った場合。 .It 十分な一時ファイル空間が利用でき、 .No Ns \&${ Ns Ev TMPDIR Ns \&} の .Pa /var/tmp または .Pa /tmp の 1 つに 書き込みもできる場合。 .El .Pp .Xr mount_cd9660 8 のソースから取った使用例を次に示します。 .Bd -literal -offset indent struct vfsconf *vfc; int error; /* ここにセットアップコードが入る */ error = getvfsbyname("cd9660", &vfc); if (error && vfsisloadable("cd9660")) { if (vfsload("cd9660")) err(EX_OSERR, "vfsload(cd9660)"); endvfsent(); /* flush cache */ error = getvfsbyname("cd9660", &vfc); } if (error) errx(1, "cd9660 filesystem is not available"); if (mount(vfc.vfc_name, dir, mntflags, &args) < 0) err(1, NULL); .Ed .Sh 戻り値 .Fn getvfsent ルーチンは、成功すると静的データ構造体のポインタを、失敗すると null ポインタを返します。原因が .Xr sysctl 3 または .Xr malloc 3 で失敗した場合は、 .Va errno がそれら関数用にドキュメントされた値の 1 つに 設定されることがあります。その他の場合 .Va errno は改変されません。 .Pp .Fn vfsload 関数は失敗すると非ゼロ値を、成功するとゼロを返します。 .Fn vfsload が失敗した場合、 .Va errno がフォーク .Xr fork 2 、 .Xr waitpid 2 、 .Xr chdir 2 、 または .Xr execlp 3 用としてドキュメントされた値の 1 つに設定されるか、または、 現在特に有用ではないにしても結局は便利な .Xr modload 8 プログラムの、 ステータスを返す可能性があります。さらに、もし .Xr modload 8 が信号上に存在する場合、 .Fn vfsload は失敗し .Va errno を .Er EINVAL に設定します。 .Sh 環境変数 .Bl -tag -compact -width TMPDIRx .It Ev TMPDIR .Fn vfsload に代わって .Xr modload 8 によって作成された一時ファイルの位置。 .It Ev LKMDIR ロード可能モジュールを検索する .Fn vfsisloadable および .Fn vfsload 用の代替ディレクトリ。 .Sh 関連項目 .Xr mount 2 、 .Xr modload 8 、 .Xr mount 8 .Sh バグ .Xr modload 8 コマンドの戻り値は、 .Va errno 値として解釈する場合 (もっと言えば、ほかのどんなものとして解釈する場合も)、 特に有用ではありません。 .Sh 作者 このロード可能ファイルシステムサポートは、 .An Terry Lambert による汎用のロード可能カーネルモジュールサポートをベースに、 .An Garrett A. Wollman によって書かれました。 .Sh 歴史 .Fn getvfsent 関数ファミリは .Fx 2.0 で最初に取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/hypot.3 b/ja_JP.eucJP/man/man3/hypot.3 index 98127844fa..2c9ba7c14d 100644 --- a/ja_JP.eucJP/man/man3/hypot.3 +++ b/ja_JP.eucJP/man/man3/hypot.3 @@ -1,134 +1,134 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)hypot.3 6.7 (Berkeley) 5/6/91 -.\" $Id: hypot.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" %Id: hypot.3,v 1.4 1997/02/22 15:09:34 peter Exp % .\" .Dd May 6, 1991 .Dt HYPOT 3 .Os BSD 4 .Sh 名称 .Nm hypot , .Nm hypotf , .Nm cabs , .Nm cabsf .Nd ユークリッド距離と複素絶対値関数 .Sh 書式 .Fd #include .Ft double .Fn hypot "double x" "double y" .Ft float .Fn hypotf "float x" "float y" .Fd struct {double x, y;} z; .Ft double .Fn cabs z .Fd struct {float x, y;} z; .Ft float .Fn cabsf z .Sh 解説 .Fn hypot , .Fn hypotf , .Fn cabs , および .Fn cabsf 関数は、アンダーフローが 起きず、最終結果でオーバーフローが起こる場合のみオーバーフローする方法で sqrt(x*x+y*y) を計算します。 .Pp .Fn hypot "\*(If" "v" あるいは .Fn hypot "v" "\*(If" は、全ての .Ar v に対して、\*(Na を含む +\*(If になります。 .Sh 誤差 ( Roundoff 等に基づく ) 0.97 .Em ulps 以下。 その結果、 完全な .Fn hypot "5.0" "12.0" = 13.0 となる。通常、hypot と cabs は整数値が求められる時には必ず整数を返します。 .Pp cabs.c の注釈にある短縮、かつ高速版の hypot と cabs については例外となり、 誤差は 1.2 .Em ulps を超すことがあります。 .Sh 注 想定通り、 .Fn hypot "v" "\*(Na" と .Fn hypot "\*(Na" "v" は .Em 全有限数 .Ar v に対して \*(Na となります。 "reserved operand" が "\*(Na" に置き換われば、 .Tn VAX でも同じ結果になります。 .Tn VAX 以外のマシン ( もし無限数が無ければ ) のプログラマは .Fn hypot "\(+-\*(If" "\*(Na" = +\*(If に初めは驚くかもしれません。 これは意図的なものであり、無限、有限に関係なく、 .Em すべての .Ar v について .Fn hypot "\*(If" "v" = +\*(If であるために起こります。 したがって、 .Fn hypot "\*(If" "v" は、 .Ar v とは独立した値です。 .Tn VAX での reserved operand fault とは異なり、 .Tn IEEE \*(Na は .Fn hypot "\*(If" "\*(Na" において同様に、無関係になると 消失します。 .Sh 関連項目 .Xr math 3 , .Xr sqrt 3 .Sh 歴史 .Fn hypot 関数と .Fn cabs 関数はどちらも .At v7 から登場しました。 diff --git a/ja_JP.eucJP/man/man3/ieee.3 b/ja_JP.eucJP/man/man3/ieee.3 index d7fc980c7a..5e12fc3ab5 100644 --- a/ja_JP.eucJP/man/man3/ieee.3 +++ b/ja_JP.eucJP/man/man3/ieee.3 @@ -1,191 +1,191 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)ieee.3 6.4 (Berkeley) 5/6/91 -.\" $Id: ieee.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" %Id: ieee.3,v 1.4 1997/02/22 15:09:35 peter Exp % .\" .Dd Feb 25, 1994 .Dt IEEE 3 .Os .Sh 名称 .Nm copysign , .Nm copysignf , .Nm finite , .Nm finitef , .Nm ilogb , .Nm ilogbf , .Nm nextafter , .Nm nextafterf , .Nm remainder , .Nm remainderf , .Nm scalbn , .Nm scalbnf .Nd IEEE論理演算 .Sh 書式 .Fd #include .Ft double .Fn copysign "double x" "double y" .Ft float .Fn copysignf "float x" "float y" .Ft int .Fn finite "double x" .Ft int .Fn finitef "float x" .Ft int .Fn ilogb "double x" .Ft int .Fn ilogbf "float x" .Ft double .Fn nextafter "double x" "double y" .Ft float .Fn nextafterf "float x" "float y" .Ft double .Fn remainder "double x" "double y" .Ft float .Fn remainderf "float x" "float y" .Ft double .Fn scalbn "double x" "int n" .Ft float .Fn scalbnf "float x" "int n" .Sh 解説 これらの関数は .St -ieee754 により要求または推奨されています。 .Pp .Fn copysign と .Fn copysignf は .Fa x の符号を .Fa y の符号に置き換えて .Fa x を返します。 .Pp \-\*(If \*(Lt .Fa x \*(Lt +\*(If のとき、 .Fn finite と .Fn finitef は値 1 を返します。 その他 ( .Pf \\*(Ba Ns Fa x Ns \\*(Ba = \*(If または .Fa x が \*(Na の時 ) はゼロを返します。 .Pp .Fn ilogb と .Fn ilogbf は .Fa x の .Fa n 乗を整数値で返します。 .Fn ilogb \*(Pm\*(If は .Dv INT_MAX を戻し、 .Fn ilogb 0 は .Dv INT_MIN を返します。 .Pp .Fn nextafter と .Fn nextafterf は次のマシン表示可能な数を .Fa x から .Fa y 方向に返します。 .Pp .Fn remainder と .Fn remainderf は剰余 .Fa r := .Fa x \- .Fa n\(**y を返します。このとき .Fa n は .Bk -words .Fa x Ns / Ns Fa y .Ek の完全な値に最も近似の整数です。さらに、 .Pf \\*(Ba Fa n \- .Sm off .Fa x No / Fa y No \\*(Ba .Sm on = 1/2 ならば、 .Fa n は偶数です。 この結果、剰余は完全に計算されて、 .Sm off .Pf \\*(Ba Fa r No \\*(Ba .Sm on \*(Le .Sm off .Pf \\*(Ba Fa y No \\*(Ba/2 .Sm on になります。しかし、 .Fn remainder x 0 と .Fn remainder \*(If 0 は \*(Na を作る無効の演算です。 .Pp .Fn scalbn と .Fn scalbnf は指数操作で計算される .Fa x Ns \(**(2** Ns Fa n ) を返します。 .Sh 関連項目 .Xr math 3 .Sh 歴史 .Nm ieee 関数は .Bx 4.3 から登場しました。 .Sh 規格 .St -ieee754 diff --git a/ja_JP.eucJP/man/man3/ieee_test.3 b/ja_JP.eucJP/man/man3/ieee_test.3 index 051805d87f..aa64c255cc 100644 --- a/ja_JP.eucJP/man/man3/ieee_test.3 +++ b/ja_JP.eucJP/man/man3/ieee_test.3 @@ -1,117 +1,117 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)ieee.3 6.4 (Berkeley) 5/6/91 -.\" $Id: ieee_test.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" %Id: ieee_test.3,v 1.4 1997/02/22 15:09:36 peter Exp % .\" .Dd March 10, 1994 .Dt IEEE_TEST 3 .Os .Sh 名称 .Nm logb , .Nm logbf , .Nm scalb , .Nm scalbf , .Nm significand , .Nm significandf .Nd IEEEテスト関数 .Sh 書式 .Fd #include .Ft double .Fn logb "double x" .Ft float .Fn logbf "float x" .Ft double .Fn scalb "double x" "double n" .Ft float .Fn scalbf "float x" "float n" .Ft double .Fn significand "double x" .Ft float .Fn significandf "float x" .Sh 解説 これらの関数でユーザは .St -ieee754 への適合性のテストができます。 それ以外の目的での使用は推奨されません。 .Pp .Fn logb x と .Fn logbf x は、 .Fa x の .Fa n 乗で符号付き整数を倍精度浮動小数点に変換して返します。 .Fn logb \*(Pm\*(If = +\*(If; .Fn logb 0 = -\*(If ゼロ除算による例外が発生します。 .Pp .Fn scalbn x n と .Fn scalbnf x n は 指数操作により計算される .Fa x Ns \(**(2** Ns Fa n ) を返します。 .Pp .Fn significand x と .Fn significandf x は 1 \(<= .Fa sig < 2 の範囲のとき .Fa sig を返します。このとき、 .Fa x := .Fa sig No \(** 2** Ns Fa n です。 .Fn significand x と .Fn significandf x は .Fa x が 0, \*(Pm\*(If または \*(Na のとき定義されません。 .Pp .Sh 関連項目 .Xr ieee 3 , .Xr math 3 .Sh 規格 .St -ieee754 diff --git a/ja_JP.eucJP/man/man3/inet.3 b/ja_JP.eucJP/man/man3/inet.3 index 3d4f2932bc..accd4ee72d 100644 --- a/ja_JP.eucJP/man/man3/inet.3 +++ b/ja_JP.eucJP/man/man3/inet.3 @@ -1,192 +1,192 @@ .\" Copyright (c) 1983, 1990, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" From: @(#)inet.3 8.1 (Berkeley) 6/4/93 -.\" $Id: inet.3,v 1.1.1.1 1999-12-09 16:26:03 kuriyama Exp $ +.\" %Id: inet.3,v 1.6 1997/03/19 19:41:20 bde Exp % .\" .Dd June 17, 1996 .Dt INET 3 .Os BSD 4.2 .Sh 名称 .Nm inet_aton , .Nm inet_addr , .Nm inet_network , .Nm inet_ntoa , .Nm inet_makeaddr , .Nm inet_lnaof , .Nm inet_netof .Nd インターネットアドレス操作関数 .Sh 書式 .Fd #include .Fd #include .Fd #include .Fd #include .Ft int .Fn inet_aton "const char *cp" "struct in_addr *pin" .Ft unsigned long .Fn inet_addr "const char *cp" .Ft unsigned long .Fn inet_network "const char *cp" .Ft char * .Fn inet_ntoa "struct in_addr in" .Ft struct in_addr .Fn inet_makeaddr "unsigned long net" "unsigned long lna" .Ft unsigned long .Fn inet_lnaof "struct in_addr in" .Ft unsigned long .Fn inet_netof "struct in_addr in" .Sh 解説 .Fn inet_aton , .Fn inet_addr および .Fn inet_network ルーチンはインターネット標準の .Ql \&. 表記法で示される数値を表現するキャラクタ・ストリングを解釈します。 .Fn inet_aton ルーチンは指定キャラクタ・ストリングを インターネット・アドレスと解釈し、アドレスを供給された構造体の中に 置きます。 ストリングが正常に解釈されると同ルーチンは 1 を返し、ストリングが 無効のとき 0 を返します。 .Fn inet_addr と .Fn inet_network 関数はそれぞれ、 インターネット・アドレスとインターネット・ネットワーク番号として使うのに 適した数値を返します。 .Fn inet_ntoa ルーチンはインターネット・アドレスを取り込み、 .Ql \&. 表記法のアドレスを示す .Tn ASCII ストリングを返します。 .Fn inet_makeaddr ルーチンはインターネット・ネットワーク番号と ローカル・ネットワーク・アドレスを取り込み、 それを基にインターネット・アドレスを生成します。 .Fn inet_netof と .Fn inet_lnaof ルーチンはインターネット・ホスト・アドレスを分割して、 それぞれネットワーク番号とローカル・ネットワーク・アドレス部として返します。 .Pp すべてのインターネット・アドレスはネットワーク順序 ( 左から右への バイト順 ) で返されます。 ネットワーク番号とローカル・アドレス部はすべてマシン形式の整数値で 返されます。 .Pp .Sh インターネット・アドレス .Ql \&. 表記法で指定される値は次のどれか一つの形式を取ります。 .Bd -literal -offset indent a.b.c.d a.b.c a.b a .Ed .Pp 4 個の部分アドレスが指定されると、各部分は 1 バイトのデータと解釈されて、 左から右の順でインターネット・アドレスの 4 バイトに割り当てられます。 インターネット・アドレスが .Tn VAX 上で32 ビットの整数量であると見なされるとき、上記に該当するバイトは、 .Dq Li d.c.b.a . と表示されます。すなわち、 .Tn VAX のバイト順序は右から左順になります。 .Pp 3 個の部分アドレスが指定されると、最後の部分が 16 ビット量と解釈されて、 ネットワーク・アドレスの右端の 2 バイトになります。これは、 3 つの部分 アドレス形式でも Class B ネットワーク・アドレスを .Dq Li 128.net.host として指定可能にする便宜操作です。 .Pp 2 個の部分アドレスが供給されると、最後の部分アドレスが 24 ビット量として 解釈されて、ネットワーク・アドレスの右端の 3 バイトになります。 これは 2 個の部分アドレス形式でも Class A ネットワーク・アドレスを .Dq Li net.host . として指定可能にする便宜操作です。 .Pp 1 個の部分アドレスだけ指定されると、値はバイトの再調整なしに 直接ネットワーク・アドレスに保存されます。 .Pp .Ql \&. 表記法で .Dq 部分 として供給される数値はすべて、 C 言語で 指定される 10 進数、 8 進数、 16 進数のいづれかの形式を取ることができます ( すなわち、先行の 0x または 0X は 16 進数、 その他は先行する 0 が 8 進数、または数値が 10 進数と解釈されます ) 。 .Pp .Fn inet_aton と .Fn inet_ntoa 関数は .Xr addr2ascii 3 ファミリに妥協した完全に確立されていない関数です。 しかし、これらの関数はまだ広く使用されていないため、 当面は移植性のあるプログラムはこれらの存在に依存せずに .Xr inet 3 関数の使用を継続します。 .Sh 診断 .Fn inet_addr と .Fn inet_network は形式違反の要求に .Dv INADDR_NONE 定数を返します。 .Sh 関連項目 .Xr addr2ascii 3 , .Xr gethostbyname 3 , .Xr getnetent 3 , .Xr hosts 5 , .Xr networks 5 .Sh 歴史 ここで扱う関数は .Bx 4.2 で取り入れられました。 .Pp .Sh バグ .Dv INADDR_NONE (0xffffffff) 値は有効な同報通信アドレスですが、 .Fn inet_addr はエラー表示なしにこの値を返すことができません。 新しい .Fn inet_aton 関数はこの問題を解決しました。 ホスト・バイト順序対ネットワーク・バイト順序の問題は混乱しがちです。 .Fn inet_ntoa が返すストリングはスタチック・メモリ領域に常駐します。 .Pp Inet_addr は .Fa struct in_addr を返す必要があります。 diff --git a/ja_JP.eucJP/man/man3/intro.3 b/ja_JP.eucJP/man/man3/intro.3 index 08a85a3457..40b83c7b11 100644 --- a/ja_JP.eucJP/man/man3/intro.3 +++ b/ja_JP.eucJP/man/man3/intro.3 @@ -1,163 +1,163 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)intro.3 8.1 (Berkeley) 6/5/93 -.\" $Id: intro.3,v 1.1.1.1 1999-12-09 16:26:02 kuriyama Exp $ +.\" %Id: intro.3,v 1.6 1998/06/06 05:50:50 jkoshy Exp % .\" .Dd June 5, 1993 .Dt INTRO 3 .Os BSD 4 .Sh 名称 .Nm intro .Nd C ライブラリの手引 .Sh 解説 本節では C ライブラリ関数とエラー時の返却値、他の共通定義、そして設計 概念について概説します。これらの関数のほとんどが C ライブラリである .Em libc から利用可能です。 .\" (see .\" .Xr libc 3 ) . その他のライブラリ、例えば数学ライブラリである .Em libm 等を利用する場合には、コンパイル時にコンパイラの .Fl l オプションを付加して、その利用を指示する必要があります。 .\" .Pp .\" A subset of the .\" .Xr libc functions .\" are available from Fortran; .\" they are described separately in .\" .Xr intro 3f . .Pp 各種ライブラリ一覧 ( 括弧内はローダフラグ ): .Bl -tag -width "libc (-lc)" .It Xr libc Pq Fl l Ns Ar c 標準 C ライブラリ関数。 .\" (See .\" .Xr libc 3 . ) C コンパイラ .Xr cc 1 を使うときは、ローダフラグ .Fl l Ns Ar c を指定する必要はありません。 .Xr libc の内部にはいくつかの `ライブラリ' または関数グループが含まれます。これらは、 .Tn 標準 I/O ルーチン、データベース・ルーチン、ビット・オペレータ、ストリング・ オペレータ、キャラクタ試験とキャラクタ・オペレータ、des 暗号ルーチン、 記憶割当、時間関数、信号処理他です。 .It Xo .Xr libcurses .Pf ( Fl l Ns Ar curses .Fl l Ns Ar termcap ) .Xc 2次元非ビットマップ・ディスプレィ端末用の端末独立 スクリーン管理ルーチン。 ( .Xr curses 3 を参照) .It Xr libcompat Pq Fl l Ns Ar compat 廃止されているが、 .Bx 4.3 との互換性の生成に使える関数。特に、ソース・コード の互換性確保のために、 .Bx の旧リリースで提供された各種のシステム・ コール・インタフェースが含まれています。これらのルーチンの使用は、 できるだけ避けるべきです。マニュアル・ページの互換性ルーチンの見出し項目に 使用すべき適切なインタフェースが表示されています。 .It Xr libkvm Pq Fl l Ns Ar kvm カーネル・メモリへのアクセスに使われる関数はこのライブラリにあります。 実行中のシステムとクラッシュ・ダンプの両方に使用できます。 .Pq Xr kvm 3 を参照 .It Xr libl Pq Fl l Ns Ar l .Xr lex 1 用ライブラリ .\" .It Xr libln .It Xr libm Pq Fl l Ns Ar m 数学ライブラリ、 .Em libm。 数学ライブラリは Pascal コンパイラ .\" .Xr pc 1 が必要なときにロードされますが、 .Fl l Ns Ar m フラッグを要求するCコンパイラからは ロードされません( .Xr math 3 を参照 )。 .It Xr libmp Pq Fl l Ns Ar mp .\" .It Xr libom .\" Old math library. .\" .It Xr libplot Pq Fl l Ns Ar plot .\" Device independent plotting functions. .\" (See .\" .Xr plot 3 . ) .\" .It Xr libplotf77 Pq Fl l Ns Ar plotf77 .\" The device independent plotting functions for fortran. .\" (See .\" .Xr plot 3 . ) .\" .It Xr libresolv Pq Fl l Ns Ar resolv .\" Routines for network address resolution. .It Xr libtermcap Pq Fl l Ns Ar termcap 端末独立操作ライブラリ・パッケージ( .Xr termcap 3 を参照 )。 .\" .It libvt0.a .It Xr liby Pq Fl l Ns Ar y .Xr yacc 1 用ライブラリ .El .Sh FILES .Bl -tag -width /usr/lib/libm_p.a -compact .It Pa /usr/lib/libc.a C ライブラリ .It Pa /usr/lib/libc_p.a プロファイリングにコンパイルされた C ライブラリ .It Pa /usr/lib/libm.a 数学ライブラリ .It Pa /usr/lib/libm_p.a プロファイリングにコンパイルされた数学ライブラリ .El .Sh 関連項目 .\" .Xr libc 3 , .Xr cc 1 , .Xr ld 1 , .Xr nm 1 , .Xr intro 2 , .Xr math 3 , .Xr stdio 3 .\" .Sh LIST OF FUNCTIONS .\" .Bl -column "strncasecmpxxx" "system" .\" .Sy Name Description .\" .El .Sh 歴史 .Nm intro マニュアルは .At v7 で取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/j0.3 b/ja_JP.eucJP/man/man3/j0.3 index 09d330db7f..d31528ab36 100644 --- a/ja_JP.eucJP/man/man3/j0.3 +++ b/ja_JP.eucJP/man/man3/j0.3 @@ -1,151 +1,151 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)j0.3 6.7 (Berkeley) 4/19/91 -.\" $Id: j0.3,v 1.1.1.1 1999-12-09 16:26:02 kuriyama Exp $ +.\" %Id: j0.3,v 1.6 1997/02/22 15:09:37 peter Exp % .\" .Dd April 19, 1991 .Dt J0 3 .Os BSD 4 .Sh 名称 .Nm j0 , .Nm j0f , .Nm j1 , .Nm j1f , .Nm jn , .Nm jnf , .Nm y0 , .Nm y0f , .Nm y1 , .Nm y1f , .Nm yn , .Nm ynf .Nd 第一種、第二種ベッセル関数 .Sh 書式 .Fd #include .Ft double .Fn j0 "double x" .Ft float .Fn j0f "float x" .Ft double .Fn j1 "double x" .Ft float .Fn j1f "float x" .Ft double .Fn jn "int n" "double x" .Ft float .Fn jnf "int n" "float x" .Ft double .Fn y0 "double x" .Ft float .Fn y0f "float x" .Ft double .Fn y1 "double x" .Ft float .Fn y1f "float x" .Ft double .Fn yn "int n" "double x" .Ft float .Fn ynf "int n" "float x" .Sh 解説 .Fn j0 , .Fn j0f , .Fn j1 および .Fn j1f の各関数 は、それぞれ実数値 .Fa x に対して、 オーダー 0 、オーダー 1 の 第一種ベッセル関数 を計算します。 .Fn jn と .Fn jnf 関数は実数値 .Fa x に対する整数オーダー .Fa n の 第一種ベッセル関数 を計算します。 .Pp .Fn y0 , .Fn y0f , .Fn y1 と .Fn y1f の各関数は、正の実数値 .Fa x に対する、 オーダー 0 とオーダー 1 の 線形独立な 第二種ベッセル関数 を計算します。 関数 .Fn yn と .Fn ynf の各関数は、正の実数値 .Fa x に対する 整数オーダー .Fa n の第二種ベッセル関数を 計算します。 .Sh 戻り値 これらの関数が正常終了すると、計算結果が返されます。 .Tn VAX および .Tn Tahoe アーキテクチャでは、 第二種ベッセル関数に対しては、 負またはゼロの 値 .Fa x はエラー となります。 グローバル変数 .Va errno は .Er EDOM に設定されてリザーブ・オペランド・ フォールトが生成されます。 .Sh 関連項目 .Xr math 3 .Sh 歴史 この関数セットは AT&T UNIX バージョン 7 で取込まれました。 diff --git a/ja_JP.eucJP/man/man3/kvm_getprocs.3 b/ja_JP.eucJP/man/man3/kvm_getprocs.3 index 9f4f0c9173..cdceb99bb6 100644 --- a/ja_JP.eucJP/man/man3/kvm_getprocs.3 +++ b/ja_JP.eucJP/man/man3/kvm_getprocs.3 @@ -1,174 +1,174 @@ .\" Copyright (c) 1992, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software developed by the Computer Systems .\" Engineering group at Lawrence Berkeley Laboratory under DARPA contract .\" BG 91-66 and contributed to Berkeley. .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)kvm_getprocs.3 8.1 (Berkeley) 6/4/93 -.\" $Id: kvm_getprocs.3,v 1.1.1.1 1999-12-09 16:26:02 kuriyama Exp $ +.\" %Id: kvm_getprocs.3,v 1.5 1997/02/22 15:07:00 peter Exp % .\" .\" jpman %Id% .\" .Dd June 4, 1993 .Dt KVM_GETPROCS 3 .Os .Sh 名称 .Nm kvm_getprocs , .Nm kvm_getargv , .Nm kvm_getenvv .Nd ユーザプロセス状態にアクセスする .Sh 書式 .Fd #include .Fd #include .Fd #include .\" .Fa kvm_t *kd .br .Ft struct kinfo_proc * .Fn kvm_getprocs "kvm_t *kd" "int op" "int arg" "int *cnt" .Ft char ** .Fn kvm_getargv "kvm_t *kd" "const struct kinfo_proc *p" "int nchr" .Ft char ** .Fn kvm_getenvv "kvm_t *kd" "const struct kinfo_proc *p" "int nchr" .Sh 解説 .Fn kvm_getprocs は .Fa kd が指示するカーネルの動作中のプロセスの (サブ) 集合を戻します。 .Fa op と .Fa arg の各引数は戻されたプロセスの集合を制限する属性を構成します。 .Fa op の値は以下のフィルタリング属性を記述しています : .Pp .Bl -tag -width 20n -offset indent -compact .It Sy KERN_PROC_ALL すべてのプロセス .It Sy KERN_PROC_PID プロセス ID .Fa arg を持つプロセス .It Sy KERN_PROC_PGRP プロセスグループ .Fa arg を持つプロセス .It Sy KERN_PROC_SESSION セッション .Fa arg を持つプロセス .It Sy KERN_PROC_TTY tty .Fa arg を持つプロセス .It Sy KERN_PROC_UID 実効ユーザ ID .Fa arg を持つプロセス .It Sy KERN_PROC_RUID 実ユーザ ID .Fa arg を持つプロセス .El .Pp 見つけたプロセス数は参照パラメータ .Fa cnt で戻されます。 プロセスは kinfo_proc 構造体の連続配列として戻されます。 このメモリは局所的に割り当てられ、 .Fn kvm_getprocs と .Fn kvm_close に引き続く呼び出しはこの記憶域に上書きします。 .Pp .Fn kvm_getargv はヌルで終了する引数ベクタを戻します。 このベクタは .Fa p が示すプロセスに通過したコマンドライン引数に対応します。 おそらく、これらの引数はプロセス生成時の .Xr exec 3 に通過した値に相当します。 しかしながら、この情報は、 故意にプロセス自身のコントロール下にあります。 オリジナルのコマンド名は、 .Fn kvm_getprocs によって戻されたプロセス構造体の p_comm フィールドに、 変更されていない状態で見つけることができます。 .Pp .Fa nchr 引数はヌルバイトを含めた最大の文字数を示し、 文字列の構築に使います。 もしもこの量を超えてしまえば、 オーバーフローの原因となる文字列は切り捨てられ、 結果が部分的に戻されます。これは .Xr ps 1 や .Xr w 1 のようなプログラムにとっては簡便な方法です。 これらのプログラムにおいては、 コマンドの 1 行要約のみを印字し、 無視するためのみに多量のテキストを複写すべきではありません。 .Fa nchr がゼロならば、なんら制限は課されませんし、 すべての引数の文字列はそっくりそのまま戻されます。 .Pp argv ポインタと文字列記憶域に割り当てられたメモリは、 kvm ライブラリによって所有されます。引き続く .Fn kvm_getprocs と .Xr kvm_close 3 呼び出しはこの記憶域を容赦なく使います。 .Pp .Fn kvm_getenvv 関数は .Fn kvm_getargv に類似していますが、環境文字列のベクタを戻します。 このデータはまたプロセスにより変更可能です。 .Sh 戻り値 .Fn kvm_getprocs , .Fn kvm_getargv , および .Fn kvm_getenvv はすべて異常終了時に .Dv ヌル を戻します。 .Sh バグ これらのルーチンは kvm インタフェースに属していません。 .Sh 関連項目 .Xr kvm 3 , .Xr kvm_close 3 , .Xr kvm_geterr 3 , .Xr kvm_nlist 3 , .Xr kvm_open 3 , .Xr kvm_openfiles 3 , .Xr kvm_read 3 , .Xr kvm_write 3 diff --git a/ja_JP.eucJP/man/man3/lgamma.3 b/ja_JP.eucJP/man/man3/lgamma.3 index dc1fb973d8..3e1300677f 100644 --- a/ja_JP.eucJP/man/man3/lgamma.3 +++ b/ja_JP.eucJP/man/man3/lgamma.3 @@ -1,131 +1,131 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)lgamma.3 6.6 (Berkeley) 12/3/92 -.\" $Id: lgamma.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: lgamma.3,v 1.6 1997/07/13 14:45:28 bde Exp % .\" .\" jpman %Id% .\" .Dd December 3, 1992 .Dt LGAMMA 3 .Os BSD 4.3 .Sh 名称 .Nm lgamma , .Nm lgammaf , .Nm gamma , .Nm gammaf .Nd ガンマ関数およびガンマ関数の対数計算 .Sh 書式 .Fd #include .Ft extern int .Fa signgam ; .sp .Ft double .Fn lgamma "double x" .Ft float .Fn lgammaf "float x" .Ft double .Fn gamma "double x" .Ft float .Fn gammaf "float x" .Sh 解説 .Fn lgamma x および .Fn lgammaf x は x のガンマ関数の自然対数を返します。 .Pp 外部変数 .Fa signgam には x のガンマ関数の符号が返されます。 .Pp .Fn gamma x および .Fn gammaf x では .Fa signgam は使用されません。 .Sh 特記事項 g := \(*G(x) の計算において .Dq Li signam\(**exp(lgamma(x)) のような記述は不適切です。 以下のような (C 言語) プログラムコーディングにします。 .Bd -literal -offset indent lg = lgamma(x); g = signam\(**exp(lg); .Ed .Pp signgam は、 .Fn lgamma あるいは .Fn lgammaf の処理が完了した段階でないと正しい値を得ることができません。 .Pp 引数の値域については、 .Fn gamma および .Fn gammaf のものが優先されます。 正値引数の場合は全ての計算要素まで正確に計算されます。 .Fn lgamma のベキ指数の有効サイズは 2 の 10 乗までです。 .Sh 戻り値 .Fn gamma , .Fn gammaf , .Fn lgamma , および .Fn lgammaf は引数の値が適正な範囲であれば正しい結果を返します。 制限を越えた大きな桁の正整数値や負符号の 整数値を指定すると桁あふれエラーとなります。 .Tn VAX では、予約語のオペレータが返され、 負の大きな非整数値に関しては .Fn gamma 関数でアンダーフロエラーが発生し、 .Va errno に .Er ERANGE がセットされます。 .Sh 関連項目 .Xr math 3 .Sh 歴史 .Nm lgamma は .Bx 4.3 に実装された関数です。 .Nm gamma は .Bx 4.4 に実装された関数です。 .Fn gamma の名称は関数名 .Fn lgamma の元になっていますが、 旧いコードの部分では互換性が失われている場合もあります。 diff --git a/ja_JP.eucJP/man/man3/libdisk.3 b/ja_JP.eucJP/man/man3/libdisk.3 index 7fec243459..81d0bb16d2 100644 --- a/ja_JP.eucJP/man/man3/libdisk.3 +++ b/ja_JP.eucJP/man/man3/libdisk.3 @@ -1,356 +1,356 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" $Id: libdisk.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: libdisk.3,v 1.8 1998/12/31 02:35:43 jkh Exp % .\" " .Dd March 15, 1996 .Dt LIBDISK 3 .Os .Sh 名称 .Nm Open_Disk , .Nm Clone_Disk , .Nm Free_Disk , .Nm Debug_Disk , .Nm Set_Bios_Geom , .Nm Delete_Chunk , .Nm Collapse_Disk , .Nm Collapse_Chunk , .Nm Create_Chunk , .Nm All_FreeBSD , .Nm CheckRules , .Nm Disk_Names , .Nm Set_Boot_Mgr , .Nm Set_Boot_Blocks , .Nm Write_Disk , .Nm Cyl_Aligned , .Nm Next_Cyl_Aligned , .Nm Prev_Cyl_Aligned , .Nm Track_Aligned , .Nm Next_Track_Aligned , .Nm Prev_Track_Aligned , .Nm Create_Chunk_DWIM , .Nm MakeDev , .Nm MakeDevDisk , .Nm ShowChunkFlags , .Nm ChunkCanBeRoot , .Nm chunk_n , .Nm slice_type_name .Nd スライスおよびパーティションラベルに対するインタフェースライブラリ .Sh 書式 .Fd #include .Fd #include .\" What is the correct way to cause a single line break ??? .Bd -literal .Dv extern const char *chunk_n[]; .Ed .Ft const char * .Fn slice_type_name "int type" "int subtype" .Ft struct disk * .Fn Open_Disk "const char *devname" .Ft struct disk * .Fn Clone_Disk "struct disk *disk" .Ft void .Fn Free_Disk "struct disk *disk" .Ft void .Fn Debug_Disk "struct disk *disk" .Ft void .Fn Set_Bios_Geom "struct disk *disk" "u_long cyl" "u_long heads" "u_long sects" .Ft int .Fn Delete_Chunk "struct disk *disk" "struct chunk *" .Ft void .Fn Collapse_Disk "struct disk *disk" .Ft int .Fn Collapse_Chunk "struct disk *disk" "struct chunk *chunk" .Ft int .Fn Create_Chunk "struct disk *disk" "u_long offset" "u_long size" "chunk_e type" "int subtype" "u_long flags" .Ft void .Fn All_FreeBSD "struct disk *d" "int force_all" .Ft char * .Fn CheckRules "struct disk *" .Ft char ** .Fn Disk_Names "void" .Ft void .Fn Set_Boot_Mgr "struct disk *d" "const u_char *bootmgr" .Ft void .Fn Set_Boot_Blocks "struct disk *d" "const u_char *boot1" "const u_char *boot2" .Ft int .Fn Write_Disk "struct disk *d" .Ft int .Fn Cyl_Aligned "struct disk *d" "u_long offset" .Ft u_long .Fn Next_Cyl_Aligned "struct disk *d" "u_long offset" .Ft u_long .Fn Prev_Cyl_Aligned "struct disk *d" "u_long offset" .Ft int .Fn Track_Aligned "struct disk *d" "u_long offset" .Ft u_long .Fn Next_Track_Aligned "struct disk *d" "u_long offset" .Ft u_long .Fn Prev_Track_Aligned "struct disk *d" "u_long offset" .Ft struct chunk * .Fn Create_Chunk_DWIM "struct disk *d" "struct chunk *parent" "u_long size" "chunk_e type" "int subtype" "u_long flags" .Ft int .Fn MakeDev "struct chunk *c" "const char *path" .Ft int .Fn MakeDevDisk "struct disk *d" "const char *path" .Ft char * .Fn ShowChunkFlags "struct chunk *c" .Ft char * .Fn ChunkCanBeRoot "struct chunk *c" .Sh 解説 .Nm libdisk は、低レベルのディスクスライス およびパーティションラベルに対するインタフェースを提供します。 ほとんどの関数は、 .Ql struct disk または .Ql struct chunk という型の引数を取り動作します。 .Pp どちらの型もプログラマにはわかりにくいので、完全を期すために 以下に内部構造を示します。 .Bd -literal -offset indent struct disk { char *name; u_long flags; u_long bios_cyl; u_long bios_hd; u_long bios_sect; u_char *bootmgr; u_char *boot1; u_char *boot2; struct chunk *chunks; }; .Ed 関数によるフラグ値は .Ql DISK_ON_TRACK だけで、ディスクが On-Track ディスクマネージャによって 操作されていることを意味します。 .Pp .Bd -literal -offset indent struct chunk { struct chunk *next; struct chunk *part; struct disk *disk; long offset; u_long size; u_long end; char *name; char *oname; chunk_e type; int subtype; u_long flags; void (*private_free)(void*); void *(*private_clone)(void*); void *private_data; }; .Ed .Ql type フィールドは .Ql whole, unknown, fat, freebsd, extended, part, unused のうち、どれか一つの値を取ります。 .Pp 以下は .Ql struct chunk において .Ql flags が取ることのできる値です。 .Bl -tag -offset indent -width CHUNK_BSD_COMPATXX .It CHUNK_PAST_1024 シリンダ 1024 を越えているため、この領域からはブートできません。 .It CHUNK_BSD_COMPAT この領域は、BSD 互換であり、 .Ql wd0s4f -> wd0f のような短縮形も使用できます。 .It CHUNK_BAD144 この領域には bad144 マッピングがあります。 .It CHUNK_ALIGN この領域は整合(align)していなければなりません。 .It CHUNK_IS_ROOT この .Ql part は rootfs であり、パーティションを .Ql a に 割り振ります。 .It CHUNK_ACTIVE MBR 内のアクティブスライスです。 .It CHUNK_FORCE_ALL すべての BIOS によるジオメトリ解釈を無視し、与えられたディスク全体を 強制的に FreeBSD 用とします。 .El .Pp フィールド .Ql private_data, `private_free', private_clone は、 アプリケーション固有のデータ、およびその管理のためのものです。この 機能がなければ、記憶域の管理はできず、クローニングによりポインタが 複製されても解放できなくなります。 .Pp .Fn Open_Disk は、名前付ディスクを open し、一群 (populated) のツリーを 返します。 .Pp .Fn Clone_Disk は、ツリーの複製を作成します。 .Dq Undo 機能に便利です。 .Pp .Fn Free_Disk は、 .Fn Open_Disk または .Fn Clone_Disk で作成されたツリーを解放します。 .Pp .Fn Debug_Disk は、標準出力 (stdout) のツリーの内容を出力します。 .Pp .Fn Set_Bios_Geom は、 BIOS が使うジオメトリを設定します。 .Pp .Fn Delete_Chunk は、disk_space の領域を解放します。 .Pp .Fn Collapse_Disk および .Fn Collapse_Chunk は、まだ試験的なものなので使ってはいけません。 .Pp .Fn Create_Chunk は、指定されたパラメータを持つ領域を生成します。 .Pp .Fn All_FreeBSD は、ディスク全体を一つの FreeBSD の領域を作成します。 .Ql force_all が設定されていると、BIOS によるジオメトリ解釈をすべて無視します。 .Pp .Fn CheckRules は、このディスクレイアウトの矛盾した区画規則についての警告を 文字列 .Ql char* として返します。 .Pp .Fn Disk_Names は、 すべてのディスク名 (wd0, wd1 ...) を格納した文字列群 .Ql char** を返します。 配列と同様、各ポインタを手動で解放しなければなりません。 .Pp .Fn Set_Boot_Mgr は、このブートマネージャをディスク上で使うように設定します。 .Fn Write_Disk が呼び出されるときに書き込まれたものを取得します。 .Pp .Fn Set_Boot_Blocks は、ディスク上で使われるブートブロックを設定します。 .Fn Write_Disk が呼び出されるときに書き込まれたものを取得します。 .Pp .Fn Write_Disk は、MBR 、ディスクラベル、ブートブロック、ブートマネージャ すべてを書き込みます。 .Pp .Fn Cyl_Aligned は、BIOS ジオメトリに従って .Ql offset がシリンダ上に整合しているかどうかを調べます。 .Pp .Fn Next_Cyl_Aligned は、BIOS ジオメトリに従って .Ql offset を次のシリンダに切り上げて配置します。 .Pp .Fn Prev_Cyl_Aligned は、BIOS ジオメトリに従って .Ql offset を前のシリンダに切り下げて配置します。 .Pp .Fn Track_Aligned は、BIOS ジオメトリに従って .Ql offset がトラック上に配置されているかどうかを調べます。 .Pp .Fn Next_Track_Aligned は、BIOS ジオメトリに従って .Ql offset を次のトラックに切り上げて配置します。 .Pp .Fn Prev_Track_Aligned は、BIOS ジオメトリに従って .Ql offset がトラック上に配置されているかどうかを調べます。 .Pp .Fn Create_Chunk_DWIM は、指定された親領域内に指定サイズのパーティションを生成し、 そのポインタを返します。 最初に見つかった十分な大きさの未使用領域が使われます。 .Pp .Fn MakeDev は、この領域のデバイスノードを作成します。 .Pp .Fn MakeDevDisk は、ディスク上にあるすべての領域のデバイスノードを作成します。 .Pp .Fn ShowChunkFlags は、フラグを表示する文字列を返します。 .Pp .Fn ChunkCanBeRoot は、領域が .Ql / になれるならばヌルを返します。 .Pp 領域名を示す文字列は、外部配列変数 .Va chunk_n を使って直接アクセスできます。 .Pp .Fn slice_type_name は、指定された .Ql type . .Ql subtype に関連づけられた名前文字列を返します。 .Fn slice_type_name がスライスに対して "unknown" を返すのは、 未知の場合、すなわち .Ql / です。 .Pp .Sh 作者 .Nm libdisk は、 .An Poul-Henning Kamp が作成しました。 .Pp このマニュアルページの執筆者は .ie t J\(:org Wunsch .el Joerg Wunsch です。 diff --git a/ja_JP.eucJP/man/man3/libradius.3 b/ja_JP.eucJP/man/man3/libradius.3 index f48640f7da..548fa277cb 100644 --- a/ja_JP.eucJP/man/man3/libradius.3 +++ b/ja_JP.eucJP/man/man3/libradius.3 @@ -1,386 +1,386 @@ .\" Copyright 1998 Juniper Networks, Inc. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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/libradius/libradius.3,v 1.1.1.1.2.2 1999/02/05 16:29:10 brian Exp $ +.\" %FreeBSD: doc/ja_JP.eucJP/man/man3/libradius.3,v 1.1.1.1 1999/12/09 16:26:01 kuriyama Exp % .\" .Dd July 29, 1998 .Dt LIBRADIUS 3 .Os FreeBSD .Sh 名称 .Nm libradius .Nd RADIUS クライアントライブラリ .Sh 書式 .Fd #include .Ft int .Fn rad_add_server "struct rad_handle *h" "const char *host" "int port" "const char *secret" "int timeout" "int max_tries" .Ft void .Fn rad_close "struct rad_handle *h" .Ft int .Fn rad_config "struct rad_handle *h" "const char *file" .Ft int .Fn rad_continue_send_request "struct rad_handle *h" "int selected" "int *fd" "struct timeval *tv" .Ft int .Fn rad_create_request "struct rad_handle *h" "int code" .Ft struct in_addr .Fn rad_cvt_addr "const void *data" .Ft u_int32_t .Fn rad_cvt_int "const void *data" .Ft char * .Fn rad_cvt_string "const void *data" "size_t len" .Ft int .Fn rad_get_attr "struct rad_handle *h" "const void **data" "size_t *len" .Ft int .Fn rad_init_send_request "struct rad_handle *h" "int *fd" "struct timeval *tv" .Ft struct rad_handle * .Fn rad_open "void" .Ft int .Fn rad_put_addr "struct rad_handle *h" "int type" "struct in_addr addr" .Ft int .Fn rad_put_attr "struct rad_handle *h" "int type" "const void *data" "size_t len" .Ft int .Fn rad_put_int "struct rad_handle *h" "int type" "u_int32_t value" .Ft int .Fn rad_put_string "struct rad_handle *h" "int type" "const char *str" .Ft int .Fn rad_send_request "struct rad_handle *h" .Ft const char * .Fn rad_strerror "struct rad_handle *h" .Sh 解説 .Nm libradius ライブラリは、ユーザサービス遠隔認証ダイアル (RADIUS) の クライアント側を実装しています。 RADIUS は .%O RFC 2138 で定義されており、 クライアントはリモート認証サーバへのネットワーク要求により認証を 受けることができます。 .Sh 初期設定 ライブラリを使用する場合にアプリケーションは、まず .Fn rad_open 呼び出して、次の操作のためのコンテキストを与える .Va struct rad_handle * を取得します。 .Fn rad_open 呼び出しは、仮想メモリが足りない場合を除いて、常に正常終了します。 必要なメモリが割り当てられないとき、 .Fn rad_open は .Dv ヌル を返します。 .Pp RADIUS への要求を出す前に、ライブラリはコンタクト可能なサーバを 確認しなければなりません。ライブラリの設定をする最も簡単な方法は .Fn rad_config を呼び出すことです。 .Fn rad_config によって、ライブラリは .Xr radius.conf 5 でフォーマットが定義されているコンフィグレーションファイルを読み込みます。 コンフィグレーションファイルのパス名は引数 .Va file として .Fn rad_config へ渡されます。この引数には .Dv ヌル が 指定されてもかまいません。その場合は標準コンフィグレーションファイル /etc/radius.conf が使われます。 .Fn rad_config は、正常終了時には 0 を返し、エラー終了時には -1 を返します。 .Pp ライブラリは .Fn rad_add_server を呼び出すことによって、決まった手順で 設定することもできます。パラメータ .Va host パラメータは、サーバホストを指定し、 完全なドメイン名 (FQDN) でも、またはドット区切りの四つの数字でテキスト形式 で書かれた IP アドレスのどちらで指定してもかまいません。 パラメータ .Va port は、サーバに接続するときの UDP ポート番号を指定します。 .Va port の指定が 0 のとき、ライブラリはネットワークサービスデータベースの .Ql radius/udp サービスを検索し、見つかったポートを使用します。 エントリが見つからないときには、ライブラリはポート 1812 の標準 RADIUS ポートを使用します。サーバホストに関する共有シークレット情報は、 パラメータ .Va secret として渡されます。パラメータは .Dv ヌル で終了するどんな文字列もかまいません。 RADIUS プロトコルでは、共有 シークレット情報の 128 バイトより後は無視されます。サーバからの受信 タイムアウトは、パラメータ .Va timeout により、秒の単位で渡されます。要求をあきらめるまでの 最大繰り返し回数は、パラメータ .Va max_tries で渡されます。 .Fn rad_add_server は 正常終了のときは 0 を返し、エラーが発生したときは -1 を返します。 .Pp .Fn rad_add_server は、複数回呼び出しが可能で、 .Fn rad_config と共に使用することができます。 サーバは、10 個まで指定できます。複数サーバが 指定された場合、正しい応答が得られるか、またはサーバの .Va max_tries 制限に達するまで、ラウンドロビン方式で呼び出しを試みます。 .Sh RADIUS 要求の生成 RADIUS 要求は、要求の種類を指定するコードと、ゼロあるいは 付加情報を与える複数の属性値で構成されます。新規要求の作成は、まず .Fn rad_create_request 呼び出しから始めます。通常の .Va struct rad_handle * に加えて、 この関数は、パラメータ .Va code を取り、それにより要求タイプを指定します。大抵 .Dv RAD_ACCESS_REQUEST が指定されます。 .Fn rad_create_request は正常終了のときは 0 を返し、エラーが発生したときは -1 を返します。 .Pp .Fn rad_create_request により要求が生成された後、属性を付加することができます。これは、 .Fn rad_put_addr , .Fn rad_put_int , .Fn rad_put_string 呼び出しにより行われます。これらは、属性を決めるパラメータ .Va type や、インターネットアドレス値、整数値、 .Dv ナル文字 で終了する文字列を、それぞれに受け取ります。 .Pp ライブラリには、関数 .Fn rad_put_attr も備わっているので、未加工で解釈できない属性も 与えることができます。引数 .Va data は、バイト配列の先頭のポインタで、 引数 .Va len は、その長さを指定します。 .Pp 関数 .Fn rad_put_X は、正常終了時には 0 返し、エラー発生時には -1 を返します。 .Sh 要求の送信と応答の受信 RADIUS 要求は生成された後、 .Fn rad_send_request または .Fn rad_init_send_request と .Fn rad_continue_send_request 呼び出しの組み 合わせにより、送信されます。 .Pp 関数 .Fn rad_send_request は、要求を送信し、必要ならば定義されたサーバに対して ラウンドロビン方式で接続を試み、正しい応答がを待ちます。 正しい応答があった場合、 .Fn rad_send_request は応答のタイプを指定する RADIUS コードを返します。 戻り値は、一般に .Dv RAD_ACCESS_ACCEPT , .Dv RAD_ACCESS_REJECT , .Dv RAD_ACCESS_CHALLENGE です。正しくない応答を受信したとき、 .Fn rad_send_request は -1 を返します。 .Pp 応答待ちをブロックしたくない場合は、代わりに .Fn rad_init_send_request および .Fn rad_continue_send_request を使えます。 RADIUS サーバからの返答を受信するか、 またはタイムアウトになった場合、これらの関数は .Fn rad_send_request の項で挙げた値を返します。それ以外では、ゼロが返され、 .Ar fd および .Ar tv での指す値が .Xr select 2 に渡されるディスクリプタとタイムアウトに設定されます。 .Pp .Fn rad_init_send_request は最初に呼び出す必要があり、続いて、戻り値が 0 でなくなるまで .Fn rad_continue_send_request 呼び出しを繰り返します。 それぞれの呼び出しの間に、アプリケーションは、 .Xr select 2 を呼び出す必要があり、その際 .Ar *fd を読み出しディスクリプタとして渡し、 .Ar tv で定義される時間経過の後、タイムアウトします。 select から制御が戻ったとき、 .Xr select 2 でディスクリプタが読み出し可能である場合は、引数 .Ar selected に 0 でない値を設定して .Fn rad_continue_send_request を呼び出す必要があります。 .Pp RADIUS への要求と同じように、各応答は 0 または、 それ以上の属性を持っています。応答が .Fn rad_send_request または .Fn rad_continue_send_request により正常に受信された後、属性は .Fn rad_get_attr によって、1 つずつ取り出すことができます。 .Fn rad_get_attr 呼び出しが呼ばれるたびに、現在の応答から次の属性を 取得し、参照パラメータ .Va data および .Va len を介して、データへのポインタとデータ長をそれぞれ保管します。 データは応答それ自身の中に存在し、 変更してはいけないということに注意して下さい。 .Fn rad_get_attr 呼び出しは、正常終了すると RADIUS 属性タイプを返します。 現在の応答内に属性が無くなると .Fn rad_get_attr は 0 を返します。不正な属性のようなエラーが検出されると、 -1 を返します。 .Pp 属性の共通タイプは、 .Fn rad_cvt_addr , .Fn rad_cvt_int , .Fn rad_cvt_string によりデコードすることができます。これらの関数は、 .Fn rad_get_attr により取得される属性データへのポインタを受け取ります。 .Fn rad_cvt_string の 場合は、 .Va len で長さも指定する必要があります。これらの関数は、属性を インターネットアドレスや整数値、文字列などとして解釈し、得られた値を 戻り値として返します。 .Fn rad_cvt_string はメモリを動的に割り当て、 .Dv ヌル で終了した文字列を返します。アプリケーションは、不要な文字列を .Xr free 3 を使って解放しなければなりません。 .Pp 十分な仮想メモリがない場合、 .Fn rad_cvt_string は .Dv ヌル を返します。 .Fn rad_cvt_addr および .Fn rad_cvt_int がエラー終了することはありません。 .Sh エラーメッセージ取得 引数 .Va struct rad_handle * を受け取る関数は、異常終了の場合にエラーメッセージを記録します。 このエラーメッセージは .Fn rad_strerror 呼び出しで取り出すことができます。メッセージテキストは、得られた .Va struct rad_handle * により、新しいエラーで上書きされます。 そのため、メッセージを保存しておくべきなら、 同一のハンドルを使って引き続きライブラリ呼び出しを行うことで、 複写しておかなければなりません。 .Sh クリーンアップ RADIUS ライブラリで使用したリソースは、 .Fn rad_close を呼び出しで解放できます。 .Sh 戻り値 以下の関数は、処理が正常に終了時、負でない値を返します。エラーを 検出したときは、 -1 を返し、 .Fn rad_strerror を使用して取出した エラーメッセージを記録します。 .Pp .Bl -item -offset indent -compact .It .Fn rad_add_server .It .Fn rad_config .It .Fn rad_create_request .It .Fn rad_get_attr .It .Fn rad_put_addr .It .Fn rad_put_attr .It .Fn rad_put_int .It .Fn rad_put_string .It .Fn rad_init_send_request .It .Fn rad_continue_send_request .It .Fn rad_send_request .El .Pp 以下の関数は、処理が正常に終了した時、 .Dv ヌル でないポインタを返します。 十分な仮想メモリの割り当てができないとき、 .Dv ヌル を返しますが、 エラーメッセージは記録されません。 .Pp .Bl -item -offset indent -compact .It .Fn rad_cvt_string .It .Fn rad_open .El .Pp .Sh 関連ファイル .Pa /etc/radius.conf .Sh 関連項目 .Xr radius.conf 5 .Rs .%A C. Rigney, et al .%T Remote Authentication Dial In User Service (RADIUS) .%O RFC 2138 .Re .Sh 作者 このソフトウェアの作成者は .An John Polstra であり、Juniper Networks, Inc により FreeBSD プロジェクトに寄贈されました。 diff --git a/ja_JP.eucJP/man/man3/libstand.3 b/ja_JP.eucJP/man/man3/libstand.3 index 39df85f5fb..5111925dd9 100644 --- a/ja_JP.eucJP/man/man3/libstand.3 +++ b/ja_JP.eucJP/man/man3/libstand.3 @@ -1,499 +1,499 @@ .\" Copyright (c) Michael Smith .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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 Ohttp://wafu.netgate.net/tama/unix/indexe.htmlTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: libstand.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: libstand.3,v 1.3 1998/11/04 07:39:53 msmith Exp % .\" .Dd June 22, 1998 .Dt LIBSTAND 3 .Os FreeBSD 3.0 .Sh 名称 .Nm libstand .Nd スタンドアローン実行用サポートライブラリ .Sh 書式 .Fd #include .Sh 解説 .Nm libstand は、スタンドアローンアプリケーションのサポート関数群と、 標準 BSD プログラミングが可能な模擬環境を備えています。 後のセクションでこれらの関数を種類分けしています。 ここに明確な定義がない場合は、指定の関数のセクション 3 の マニュアルページの該当個所を参照して下さい。 .Sh 文字列関数 使用できる文字列関数は、 .Xr string 3 および .Xr bstring 3 に書かれています。 .Sh メモリアロケーション .Bl -hang -width 10n .It Fn "void *malloc" "size_t size" .Pp .Fa size で指定した大きさのメモリを最適なアルゴリズムでヒープ領域から割り 当てます。 .It Fn "void free" "void *ptr" .Pp .Fa ptr に割り当てられたオブジェクトを解放します。 .It Fn "void setheap" "void *start" "void *limit" .Pp ヒープ領域を初期化します。この関数は、 .Fn alloc を最初に呼び出す前に実行しなければなりません。 .Fa start と .Fa limit の間の領域がヒープ領域に使用されます。 これを越えて割り当てようとすると panic となります。 .It Fn "char *sbrk" "int junk" .Pp .Fn sbrk 0 の性質を与えます。すなわちヒープ領域の最高位アドレスのポインタを 返します。この戻り値は、テスト時にヒープの実使用状況を判断するのに 使用できます。引数 .Fa junk は無視されます。 .El .Sh 環境 伝統的なシェルサポート環境にと同様、フラットな変数空間操作のために 一群の関数が備わっています。主な拡張として、フック関数の設定/設定解除の ためのサポートがあります。 .Bl -hang -width 10n .It Fn "char *getenv" "const char *name" .It Fn "int setenv" "const char *name" "char *value" "int overwrite" .It Fn "int putenv" "const char *string" .It Fn "int unsetenv" "const char *name" .Pp これらの関数は、標準ライブラリと類似の動作をします。 .It Fn "struct env_var *env_getenv" "const char *name" .Pp その環境内での変数を検索し、すべてのデータ構造を返します。 .It Fn "int env_setenv" "const char *name" "int flags" "char *value" "ev_sethook_t sethook" "ev_unsethook_t unsethook" .Pp .Fa name という環境変数の新規作成または既存環境変数の設定を行います。 新規変数を生成する場合は、引数 .Fa sethook および .Fa unsethook を指定することができます。 .Pp EV_NOHOOK フラグが設定されていなければ、変数設定をしようとするとすると、 フックの設定が必ず起動されます。通常、引数 .Fa value の確認を行ない、実際に値を保存するために EV_NOHOOK 変数をつけて、再度 .Fn env_setenv 呼び出しを行い設定します。すべての変数設定を拒否するために、定義済み関数 .Fn env_noset を指定することができます。 .Pp 設定解除フックは、変数の設定解除が行われるときに起動されます。 戻り値が 0 のとき、変数の設定解除されています。定義済み関数 .Fa env_nounset は、変数設定解除を抑制するのに使用します。 .El .Sh 標準ライブラリサポート .Bl -hang -width 10n .It Fn "int getopt" "int argc" "char * const *argv" "cont char *optstring" .It Fn "long strtol" "const char *nptr" "char **endptr" "int base" .It Fn "void srandom" "unsigned long seed" .It Fn "unsigned long random" "void" .It Fn "char *strerror" "int error" .Pp .Nm libstand でサポートされている errno のサブセット値に対応する エラーメッセージを返します。 .It Fn "assert" "expression" .Pp .Fd #include 行が必要です。 .It Fn "int setjmp" "jmp_buf env" .It Fn "void longjmp" "jmp_buf env" "int val" .Pp 操作できるシグナル状態がないため、それぞれ .Fn _setjmp および .Fn _lonjmp として定義されています。 .Fd #include 行が必要です。 .El .Sh キャラクタ I/O .Bl -hang -width 10n .It Fn "void gets" "char *buf" .Pp キャラクタをコンソールから .Fa buf に読み込みます。標準的な注意事項が本関数に 対して適用されます。 .It Fn "void ngets" "char *buf" "size_t size" .Pp .Fa size -1 またはそれ以下の文字をコンソールから .Fa buf に読み込みます。行末文字は削除され、 バッファは常にヌルが終端文字になります。 .Fa size が 1 以下の場合、関数は .Fn gets と同じ動作をします。 .It Fn "int fgetstr" "char *buf" "int size" "int fd" .Pp 一行を .Fa size 文字以下の範囲で .Fa buf に読み込みます。行末のキャラクタは切り捨てられ、 バッファは常にヌルが終端となります。 正常終了のときは .Fa buf 内の文字数を返し、読み込みエラーのときは -1 を返します。 .It Fn "int printf" "const char *fmt" "..." .It Fn "void vprintf" "const char *fmt" "va_list ap" .It Fn "int sprintf" "char *buf" "const char *fmt" "..." .It Fn "void vsprintf" "char *buf" "const char *fmt" "va_list ap" .Pp *printf 関数は、標準 .Fn printf ファミリのサブセット機能といくつかの拡張機能を備えています。 c,d,n,o,p,s,u,x の標準変換がサポートされています。 +,-,#,*,0, field width,precision,l の修飾子がサポートされています。 .Pp エラーレジスタをデコードするために .Li b 変換が備わっています。 使い方は以下の通りです。 .Pp .Bd -offset indent printf( .Qq reg=%b\en , regval, .Qq * ); .Ed .Aq Pa base は、制御キャラクタの出力を表現しています。例えば \e10 は 10 進数を、\e20 は 16 進数を意味します。各 .Aq Pa arg は、文字列で、最初の一文字は引数のビット数(始めが1)で、 ビットが設定されている場合、それ以降の文字列(32文字未満)は表示対象の テキストです。つまり、 .Pp .Bd -offset indent printf( .Qq reg=%b\en 3 .Qq \e10\e2BITTWO\e1BITONE\en ); .Ed により出力表示されます。 .Pp .Bd -offset indent reg=3 .Ed .Pp .Li D 変換は、16 進数ダンプの機能を備えています。 たとえば、以下。 .Pp .Bd -offset indent -literal printf( .Qq %6D , ptr, .Qq \: ); gives .Qq XX:XX:XX:XX:XX:XX .Ed .Bd -offset indent -literal printf( .Qq %*D , len, ptr, .Qq "\ " ); gives .Qq XX XX XX ... .Ed .El .Pp .Sh 文字テストと変換 .Bl -hang -width 10n .It Fn "int isupper" "int c" .It Fn "int islower" "int c" .It Fn "int isspace" "int c" .It Fn "int isdigit" "int c" .It Fn "int isxdigit" "int c" .It Fn "int isascii" "int c" .It Fn "int isalpha" "int c" .It Fn "int toupper" "int c" .It Fn "int tolower" "int c" .El .Sh ファイル入出力 .Bl -hang -width 10n .It Fn "int open" "const char *path" "int flags" .Pp .Xr open 2 の動作に似ています。ただし、ファイル作成機能がサポート されていないため、モードパラメータは不要です。引数 .Fa flags には、O_RDONLY, O_WRONLY, O_RDWR のどれかを指定できます。 (たとえ、現在書込みをサポートするファイルシステムが無いとしても) .It Fn "int close" "int fd" .It Fn "void closeall" "void" .Pp すべての open されているファイルを閉じます。 .It Fn "ssize_t read" "int fd" "void *buf" "size_t len" .It Fn "ssize_t write" "int fd" "void *buf" "size_t len" .Pp (現在書き込みをサポートしていあるファイルシステムはありません) .It Fn "off_t lseek" "int fd" "off_t offset" "int whence" .Pp 読み込みの最中に自動的に解凍されるファイルは、現在の位置から後方に seek することはできません。 .It Fn "int stat" "const char *path" "struct stat *sb" .It Fn "int fstat" "int fd" "struct stat *sb" .Pp 関数 .Fn stat および .Fn fstat は、 .Fa sb 構造体のフィールド : st_mode, st_nlink,st_uid,st_gid,st_size への書き込みだけをします。 .Nm tftp ファイルシステムでは、この関数の呼び出しは 意味のある値になりません。また .Nm cd9660 ファイルシステムは、ファイルの uid/gid が常に 0 であると 報告して来ます。 .El .Sh ページャ .Nm libstand は簡単な内部ページャを提供し、大きなコマンドの出力を読みやすくします。 .Bl -hang -width 10n .It Fn "void pager_open" .Pp ページャを初期化し、次の出力行が表示装置の先頭であることを知らせます。 環境変数 LINES は、一度に表示可能な行数を決める際に参照されます。 .It Fn "void pager_close" "void" .Pp ページャを閉じます .It Fn "void pager_output" "char *lines" .Pp .Fa lines で指定された、ヌルで終了するバッファーの行がページャに送られます。 改行文字を数えることで、出力される行数が決まります。 (折り返しは含みません) すべての行が出力されると、 .Fn pager_output は 0 を返します。画面表示が停止し、ユーザが途中終了を 選択したときは 0 以外の値を返します。 .It Fn "int pager_file" "char *fname" .Pp ファイル .Fa fname を開き、画面表示します。エラーのときは -1 を返し、EOF のときは 0 を、ユーザが読み込みを途中終了する場合は 1 を返します。 .El .Sh その他 .Bl -hang -width 10n .It Fn "void twiddle" "void" .Pp 連続呼び出しの場合、ユーザが確認できるように、 文字列 |,/,-,\\ の後にバックスペースを付けて出力します。 .El .Sh 低レベルサポートの要求 スタック、ヒープ、コンソール、デバイスは、 .Nm libstand でよく使われるリソースです。 .Pp スタックは、 .Nm libstand 関数が起動される前に構築する必要があります。 スタック要求は、関数や使われているファイルシステム、および、後で詳述する サポートレイヤ関数によって変化します。 .Pp ヒープは、 .Fn alloc 関数や .Fn open 関数の呼び出しの前に、 .Fn setheap 呼び出しを行なって構築しなければなりません。ヒープの使用法は、クライアントの 動作と同様、同時に open するファイルの数によって変化します。自動解凍をす ると、ファイルを open する度に 64K 以上のデータが割り当てられます。 .Pp コンソールアクセスは、後述の関数 .Fn getchar , .Fn putchar , .Fn ischar によって行われます。 .Pp デバイスアクセスは .Fn devopen によって初期化され、 .Fn devopen が返すデバイススイッチ構造体の関数 .Fn dv_strategy , .Fn dv_ioctl , .Fn dv_close によって実行されます。 .Pp ユーザは次のサポート関数を用意する必要があります。 .Bl -hang -width 10n .It Fn "int getchar" "void" .Pp コンソールから、関数 .Fn gets , .Fn ngets やページャ関数によって使われる文字を返します。 .It Fn "int ischar" "void" .Pp コンソールから入力待ちの状態のとき、0 でない値を返します。 .It Fn "void putchar" "int" .Pp コンソールに、 .Fn gets , .Fn ngets , .Fn *printf , .Fn panic , .Fn twiddle および 他の多くのデバッグ、情報通知用の関数が使用する文字を書き出します。 .It Fn "int devopen" "struct open_file *of" "const char *name" "char **file" .Pp .Fa name という名前のファイル用の適当なデバイスを開き、デバイスを参照しない ファイルの残りの部分の .Fa name を指すポインタを、 .Fa file に返します。 .Fa of の構造体フィールド .Va f_dev は、正常終了した場合、open したデバイスの .Dv devsw 構造体を指すようにセットされます。 デバイス識別子は、常にパス構成の先頭に来る 必要がありますが、それ以外は自由にフォーマットされています。 .Fn open や デバイス関連の I/O で使用されます。 .It Fn "int devclose" "struct open_file *of" .Fa of に割り当てられたデバイスを閉じます。 デバイスドライバー自身はクローズ処理のためにすでに呼び出しが行われており、 この呼び出しは、 .Fn devopen による割り当てを解除するだけです。 .It Fn "void panic" "const char *msg" "..." .Pp 致命的で回復不能なエラー状態を通知します。引数 .Fa msg ... は、 .Fn printf のものと同様です。 .El .Sh 内部ファイルシステム 内部ファイルシステムでは、 .Dv struct fs_ops *file_system[], which should be initialised with pointers の構造体の配列を、ユーザ がエクスポートでき、配列は構造体 .Dv struct fs_ops へのポインタで初期化されます。 以下のファイルシステムハンドラが .Nm libstand に 備わっていますが、ユーザは自分で別のファイルシステムを 提供することができます。 .Bl -hang -width "cd9660_fsops " .It ufs_fsops BSD の UFS .It tftp_fsops TFTP 経由のファイルアクセス .It nfs_fsops NFS 経由のファイルアクセス .It cd9660_fsops ISO 9660 (CD-ROM) ファイルシステム .It zipfs_fsops ファイルをサポートしているファイルシステムの gzip されたファイルをサポートするスタック されたファイルシステムで、zipfs ファイルシステムを使おうとすると、 .Nm libstand はファイル名の後に .Li .gz を付加し、更に別のファイルシステムを使用してファイルの位置を決めます。 このファイルシステムの、配列 .Dv file_system[] での配置によって、 non-gzipped ファイルを参照している gzipped ファイルが open されるかどうかが決められます。 gzip されたファイルは前方へ seek することだけができ、gzip されたファイルへの .Fn stat および .Fn fstat は、長さの不正を報告します。 .El .Pp 構造体 .Dv struct fs_ops のポインタ配列はヌルで終了しなければなりません。 .Sh デバイス デバイスは、ヌルで終了するデバイススイッチ構造体のポインタ配列である、 .Dv struct devsw *devsw[] 経由のサポートコードによってエクスポートされます。 .Sh バグ 詳細なメモリ使用データがないのは不親切です。 .Pp .Sh 歴史 .Nm libstand は多くのソースを利用しています。すなわち、 .Bl -bullet -compact .It .Nx からの .Nm libsa .It .Fx 3.0 からの .Nm libc と .Nm libkern .It .An Matthew Dillon Aq dillon@backplane.com からの .Nm zalloc .El .Pp 再構成と .Fx 3.0 へのポート、環境変数関係の関数、このマニュアルページは .An Mike Smith Aq msmith@freebsd.org が作成しました。 diff --git a/ja_JP.eucJP/man/man3/libtacplus.3 b/ja_JP.eucJP/man/man3/libtacplus.3 index 77edf67ad5..ded807a978 100644 --- a/ja_JP.eucJP/man/man3/libtacplus.3 +++ b/ja_JP.eucJP/man/man3/libtacplus.3 @@ -1,353 +1,353 @@ .\" Copyright 1998 Juniper Networks, Inc. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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/libtacplus/libtacplus.3,v 1.1.1.1 1998/11/13 00:54:26 jdp Exp $ +.\" %FreeBSD: doc/ja_JP.eucJP/man/man3/libtacplus.3,v 1.1.1.1 1999/12/09 16:26:01 kuriyama Exp % .\" .Dd September 2, 1998 .Dt LIBTACPLUS 3 .Os FreeBSD .Sh 名称 .Nm libtacplus .Nd TACACS+ クライアントライブラリ .Sh 書式 .Fd #include .Ft int .Fn tac_add_server "struct tac_handle *h" "const char *host" "int port" "const char *secret" "int timeout" "int flags" .Ft void .Fn tac_close "struct tac_handle *h" .Ft int .Fn tac_config "struct tac_handle *h" "const char *path" .Ft int .Fn tac_create_authen "struct tac_handle *h" "int action" "int type" "int service" .Ft void * .Fn tac_get_data "struct tac_handle *h" "size_t *len" .Ft char * .Fn tac_get_msg "struct tac_handle *h" .Ft struct tac_handle * .Fn tac_open "void" .Ft int .Fn tac_send_authen "struct tac_handle *h" .Ft int .Fn tac_set_data "struct tac_handle *h" "const void *data" "size_t data_len" .Ft int .Fn tac_set_msg "struct tac_handle *h" "const char *msg" .Ft int .Fn tac_set_port "struct tac_handle *h" "const char *port" .Ft int .Fn tac_set_priv "struct tac_handle *h" "int priv" .Ft int .Fn tac_set_rem_addr "struct tac_handle *h" "const char *addr" .Ft int .Fn tac_set_user "struct tac_handle *h" "const char *user" .Ft const char * .Fn tac_strerror "struct tac_handle *h" .Sh 解説 .Nm libtacplus ライブラリは、TACACS+ ネットワークアクセス制御プロトコルの クライアント側を実現しています。 TACACS+ により、クライアントは認証や、認可、および課金処理を、 リモートサーバに対するネットワーク上での要求を出すことで実行できます。 このライブラリは、現在プロトコルの認証部分だけをサポートしています。 .Pp .Sh 初期化 このライブラリを使用するためには、アプリケーションは最初に .Fn tac_open 呼び出しを実行して、 .Va struct tac_handle * を得る必要があります。これにより次の 操作のためのコンテキストが準備されます。 .Fn tac_open 呼び出しは、十分な仮想メモリが 利用できれば、常に正常に完了します。必要なメモリが割り当てられないとき、 .Fn tac_open は .Dv ヌル を返します。 .Pp TACACS+ 要求を出す前に、ライブラリはコンタクトできるサーバから 認識されている必要があります。ライブラリを環境設定する簡単な方法は .Fn tac_config を呼び出すことです。 .Fn tac_config により、ライブラリは、 .Xr tacplus.conf 5 でその形式が定義されている環境設定ファイルを 読むことになります。環境設定ファイルのパス名は、引数 .Va file として .Fn tac_config に渡されます。この引数には .Dv ヌル を渡すこともでき、その場合は標準環境設定ファイル .Pa /etc/tacplus.conf が使われます。 .Fn tac_config は 正常終了のとき、0 を返し、エラーの場合は -1 を返します。 .Pp ライブラリは、 .Fn tac_add_server を呼び出すことで、決まった手順に従って構成できます。 パラメータ .Va host はサーバホストを、完全修飾形のドメイン名 (FQDN)、または ピリオドで 4 つの部分に分割表示したテキスト形式の IP アドレスによって 定義します。パラメータ .Va port は、サーバと接続する TCP ポートを定義します。 .Va port が 0 と定義されていると、ライブラリは標準 TACACS+ ポートである ポート 49 を使用します。サーバホストに対する共有シークレットは、 .Va secret パラメータに渡されます。それは .Dv ヌル で終了するなんらかの文字列でもかまいません。 サーバからの受信タイムアウトは、 .Va timeout パラメータに、秒の単位で渡されます。 .Va flags パラメータは、フラグの ビットマスクで、サーバの種々の性質を指定するためのものです。内容は 次のとおりです。 .Pp .Bl -tag -width Fl .It Dv TAC_SRVR_SINGLE_CONNECT で、ライブラリはサーバと通信するときに、単一接続モードで ネゴシエートしようとします。単一接続モードでは元の TCP 接続が 多重 TACACS+ セッションに対し解放されています。 旧式のサーバはこのモードはサポートしておらず、サーバによっては、 クライアントがネゴシエートしようとすると混乱してしまうものもあります。 .El .Pp .Fn tac_add_server は正常終了時に 0 を返し、エラーのときは -1 を返します。 .Pp .Fn tac_add_server は、複数回呼び出すことができ、 .Fn tac_config と一緒に 使用します。最大 10 のサーバまで指定できます。複数サーバの指定があると、 ラウンドロビン方式により稼働中のアクセス可能なサーバを見つけようとします。 ライブラリは、そうしたサーバを見つけると、 サーバが稼動している限りそれを使い続けます。 .Pp .Sh TACACS+ 認証要求の生成 新規に認証要求を作り始める場合、 .Fn tac_create_authen を呼び出します。 引数 .Va action , .Va type , .Va service には、TACACS+ プロトコル仕様で 定義される適切な値をセットしなければなりません。ヘッダファイル .Aq Pa taclib.h には、これらの値のシンボリック定数が定義されています。 .Pp .Fn tac_create_authen で要求を生成した後、種々の任意指定パラメータを、 .Fn tac_set_data , .Fn tac_set_port , .Fn tac_set_priv , .Fn tac_set_rem_addr , .Fn tac_set_user を呼び出して付加します。ライブラリは、これらの関数に提供された自分自身の 文字列の複製を作るので、呼び出し側で文字列を保存しておく必要はありません。 デフォルトで各パラメータは空ですが、権限レベルだけは .Ql USER 権限にデフォルト指定されています。 .Sh 認証要求の送信と応答の受信 TACACS+ 要求が生成されると、 .Fn tac_send_authen によって送信されます。 この関数は、未接続のときサーバ接続を行って、要求を送信し、返信を待ちます。 異常終了のとき、 .Fn tac_send_authen は -1 を返します。正常の場合は、TACACS+ 終了コードとフラグを、 整数値にパックして返します。終了状態は .Fn TAC_AUTHEN_STATUS マクロを使用して抽出することができます。取り得る終了コードは、 .Aq Pa taclib.h で定義されており、内容は次のとおりです。 .Pp .Bl -item -compact -offset indent .It .Dv TAC_AUTHEN_STATUS_PASS .It .Dv TAC_AUTHEN_STATUS_FAIL .It .Dv TAC_AUTHEN_STATUS_GETDATA .It .Dv TAC_AUTHEN_STATUS_GETUSER .It .Dv TAC_AUTHEN_STATUS_GETPASS .It .Dv TAC_AUTHEN_STATUS_RESTART .It .Dv TAC_AUTHEN_STATUS_ERROR .It .Dv TAC_AUTHEN_STATUS_FOLLOW .El .Pp 唯一のフラグは no-echo フラグで、 .Fn TAC_AUTHEN_NOECHO マクロで検出できます。 .Sh サーバの応答からの情報抽出 サーバからの認証応答パケットには、サーバメッセージや文字列データ、 もしくは、その両者が含まれています。 .Fn tac_send_authen 呼び出しが成功すると、この情報は、 .Fn tac_get_msg と .Fn tac_get_data 呼び出しの応答から取り出すことができます。 これらの関数は、パケットからの情報の動的に割り当てられたコピーを 返します。それらが必要なくなったときには、呼び出し側が解放 しなければなりません。これらの関数から戻ってくるデータは、必ず .Dv ヌル で終了していることが保証されています。 .Pp .Fn tac_get_data の場合、引数 .Va len は、ライブラリが終端の .Dv ナル 文字を含まない実サイズの受信データの保管場所を指しています。 この引数には、呼び出し側が長さを問題にしない場合は、 .Dv ヌル を指定してもかまいません。 .Sh 認証連続パケットの送信 .Fn tac_send_authen が、終了コード .Dv TAC_AUTHEN_STATUS_GETDATA , .Dv TAC_AUTHEN_STATUS_GETUSER , .Dv TAC_AUTHEN_STATUS_GETPASS のうちのどれかを含む値を返す場合、 クライアントは、TACACS+ 連続パケットを使って、 サーバに対する追加情報を提供する必要があります。そのためには、 アプリケーションは最初に、 .Fn tac_set_msg と .Fn tac_set_data を使って、パケットユーザメッセージやデータフィールドを 設定しなければなりません。クライアントは、 .Fn tac_send_authen を使って連続パケットを送信します。 .Pp .Li [注意] .Fn tac_create_authen は、連続パケットを生成するときには .Em 呼び出さずに 、初期の認証要求のときにだけ使用する必要があります。 .Pp 連続パケットを受信すると、サーバは .Dv TAC_AUTHEN_STATUS_GETDATA , .Dv TAC_AUTHEN_STATUS_GETUSER , .Dv TAC_AUTHEN_STATUS_GETPASS を返して、更に情報を要求します。 アプリケーションは、サーバから別の状態コードが受信されるまで、 引き続き連続パケットを送信しなければなりません。 .Sh エラーメッセージの取得 引数 .Va struct tac_handle * を受け取る関数は、異常終了するとエラーメッセージを記録します。 エラーメッセージは、 .Fn tac_strerror を呼び出すことにより取り出すことができます。 メッセージテキストは、指定された .Va struct tac_handle * の新たなエラーごとに上書きされます。 従って、メッセージを保管しておかなければならないなら、 同じハンドルを使う後続のライブラリ呼び出しで複製を作らなければなりません。 .Sh クリーンアップ TACACS+ ライブラリで使用したリソースを解放するには、 .Fn tac_close 呼び出して下さい。 .Sh 戻り値 以下の関数は、正常終了時に、負でない数値を返します。 エラーを検出すると、-1 を返し、エラーメッセージを記録します。 メッセージは .Fn tac_strerror によって取り出せます。 .Pp .Bl -item -offset indent -compact .It .Fn tac_add_server .It .Fn tac_config .It .Fn tac_create_authen .It .Fn tac_send_authen .It .Fn tac_set_data .It .Fn tac_set_msg .It .Fn tac_set_port .It .Fn tac_set_priv .It .Fn tac_set_rem_addr .It .Fn tac_set_user .El .Pp 以下の関数は、正常終了時にヌルでないポインタを返します。 十分な仮想メモリが割り当てられない場合、 .Dv ヌル を返し、エラーメッセージを記録します。メッセージは .Fn tac_strerror で取り出せます。 .Pp .Bl -item -offset indent -compact .It .Fn tac_get_data .It .Fn tac_get_msg .El .Pp 以下の関数は、正常終了時にヌルでないポインタを返します。 十分な仮想メモリが割り当てられない場合、 .Dv ヌル を返し、エラーメッセージを記録しません。 .Pp .Bl -item -offset indent -compact .It .Fn tac_open .El .Sh 関連ファイル .Pa /etc/tacplus.conf .Sh 関連項目 .Xr tacplus.conf 5 .Rs .%A D. Carrel and Lol Grant .%T The TACACS+ Protocol, Version 1.78 .%O draft-grant-tacacs-02.txt (Internet Draft) .Re .Sh 作者 このソフトウェアは、 .An John Polstra が作成し、 Juniper Networks, Inc によって FreeBSD プロジェクトに寄贈されました。 diff --git a/ja_JP.eucJP/man/man3/link_addr.3 b/ja_JP.eucJP/man/man3/link_addr.3 index 338dbfee78..65fc0ffcbc 100644 --- a/ja_JP.eucJP/man/man3/link_addr.3 +++ b/ja_JP.eucJP/man/man3/link_addr.3 @@ -1,126 +1,126 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Donn Seeley at BSDI. .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" From: @(#)linkaddr.3 8.1 (Berkeley) 7/28/93 -.\" $Id: link_addr.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: linkaddr.3,v 1.7 1997/02/22 15:00:24 peter Exp % .\" .Dd June 17, 1996 .Dt LINK_ADDR 3 .Os BSD 4.4 .Sh 名称 .Nm link_addr , .Nm link_ntoa .Nd リンクレベルアクセス用基本アドレス定義ルーチン .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft void .Fn link_addr "const char *addr" "struct sockaddr_dl *sdl" .Ft char * .Fn link_ntoa "const struct sockaddr_dl *sdl" .Sh 解説 .Fn link_addr ルーチンは、リンクレベルアドレスを表す文字列を変換し、 システムコールで使用するのに適したバイナリ情報を返します。 .Fn link_ntoa ルーチンは、リンクレベルアドレスを引数に取り、リンクレベルアドレス自身、 インタフェース名、存在する場合はその番号などを含んだ現在の情報を示す .Tn ASCII 文字列を返します。 この機能は、まだ試用段階であり、変更される可能性があります。 .Pp .Fn link_addr のために、文字列 .Fa addr には、 .Xr ifconfig 8 の第一引数となりうる .Dq "name unit-number" という形の任意指定のネットワークインタフェース識別子を含むことができ、 その後にコロン、そしてピリオドで区切られた 16 進数の組の形の インタフェースアドレスが続きます。 それぞれの組はアドレスの 1 バイトを示しており、 アドレスバイトは左から右へ、 低位のバイトから高位のバイトで占められます。 .Pp .\" A regular expression may make this format clearer: .\" .Bd -literal -offset indent .\" ([a-z]+[0-9]+:)?[0-9a-f]+(\e.[0-9a-f]+)* .\" .Ed .\" .Pp このように、 .Li le0:8.0.9.13.d.30 は初期の Lance イーサネットインタフェース上に 変換されるイーサネットアドレスを表します。 .Pp これらの関数を直接使うのは避けられる傾向があり、むしろ .Xr addr2ascii 3 インタフェースが使われます。しかし、このインタフェースは、まだ広くは 実装されていないので、 可搬性のあるプログラムでこのインタフェースに依存するわけにはいきません。 .Sh 戻り値 .Fn link_ntoa は、常にヌルで終了する文字列を返します。 .Fn link_addr 関数は戻り値を返しません。( .Sx バグ 参照のこと。) .Sh 関連項目 .Xr addr2ascii 3 .Sh 歴史 関数 .Fn link_addr および .Fn link_ntoa は .Bx 4.3-Reno から登場しています。 .Sh バグ .Fn link_ntoa の戻り値は静的なメモリ領域にあります。 .Pp 関数 .Fn link_addr は、不適切な形式の入力を診断する機能が必要であり、 これを認証する明快な方法が必要となります。 .Pp リンクソケットアドレスの .Va sdl_len フィールドが 0 の場合、 .Fn link_ntoa は、インタフェースアドレスバイトの前にコロンを挿入しません。 この変換されたアドレスが最初のコロンを挿入せずに .Fn link_addr に渡される場合、変換後のアドレスは正しく解釈されません。 diff --git a/ja_JP.eucJP/man/man3/lockf.3 b/ja_JP.eucJP/man/man3/lockf.3 index 612b6a2a7a..3247fa33ef 100644 --- a/ja_JP.eucJP/man/man3/lockf.3 +++ b/ja_JP.eucJP/man/man3/lockf.3 @@ -1,263 +1,263 @@ -.\" $NetBSD: lockf.3,v 1.2 1998/02/05 18:47:28 perry Exp $ +.\" %NetBSD: lockf.3,v 1.2 1998/02/05 18:47:28 perry Exp % .\" .\" Copyright (c) 1997 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Klaus Klein and S.P. Zeidler. .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS .\" ``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 FOUNDATION OR CONTRIBUTORS .\" 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. .\" .Dd December 19, 1997 .Dt LOCKF 3 .Os NetBSD 1.4 .Sh 名称 .Nm lockf .Nd ファイル上のレコードのロック .Sh LIBRARY .Lb libc .Sh 書式 .Fd #include .Ft int .Fn lockf "int filedes" "int function" "off_t size" .Sh 解説 関数 .Fn lockf は、ファイルのセクションを助言モードロックでロック できます。ロックされているファイルのセクションを他のプロセセスからロック しようとして、 .Fn lockf 呼び出しを実行すると、当該セクションのロックが 解除されるまでエラー表示値かまたはブロックが返ってきます。ロックはプロセス が終了するとすべて除去されます。 .Pp 引数 .Fa filedes は、対象ファイルの記述子です。ファイル記述子は、 書き込みのみ (O_WRONLY) 、または読み込み / 書き込み両方 (O_RDWR) のどちらかで 操作できる必要があります。引数 .Fa function は所要動作を定義する制御値です。 .Fa Function で指定できる値は次のとおりです。 .Bl -tag -width FULCOKXX -compact -offset indent .It Sy Function .Sy 解説 .It Dv F_ULOCK ロックされているセクションのロック解除 .It Dv F_LOCK セクションの排他的使用のロック .It Dv F_TLOCK セクションの排他的使用のテストとロック .It Dv F_TEST セクションの他プロセスによるロック状況をテスト .El .Pp .Dv F_ULOCK は、ファイルのセクションからロックを解除します。 .Dv F_LOCK および .Dv F_TLOCK は、どちらも、セクションが使用可能状態ならばロックします。 .Dv F_TEST は、他プロセスが指定のセクション上にあるかどうかを検査します。 .Pp 引数 .Fa size は、ロックまたはロック解除対象のバイト数を示しています。 ロックまたはロック解除対象のセクションは、ファイル上の現在のオフセットを 開始地点とし、前方向であれば正符号の長さで、後ろ方向であれば負の長さで 表します。(現在のオフセット値を除く後続する範囲のバイト数)しかし、 ファイルの先頭より前を開始点または対象範囲とすることはできません。 .Fa size が 0 の場合、セクションは現在の地点からファイル上で取りうる最大範囲の地点まで ロックされます (すなわち、現在の地点から現時点のまたは今後拡張するファイル の終了部分までです)。 .Pp .Dv F_LOCK または .Dv F_TLOCK でロックされたセクションは、同一プロセスで 先行してロックされたセクションの全体または一部を含むかあるいは 含まれることがあります。この場合、またはロックされたセクションが 隣接するとき、これらのセクションは一つのロックされたセクションに 統合されます。要求によりロックの数がシステムで定めた限界を超えた場合、 要求はエラーになります。 .Pp .Dv F_LOCK および .Dv F_TLOCK による要求は、セクションが利用不可の 場合それぞれの取る動作について差異があります。 .Dv F_LOCK は、セクションが 利用可能になるまで呼び出しプロセスを抑制します。 .Dv F_TLOCK では、他プロセスが 既にロックしている場合、関数はエラーになります。 .Pp ファイルのロックは、ファイルの記述子のロックプロセスが終了して初めて 解除されます。 .Pp .Dv F_ULOCK 要求は、プロセスで制御される複数のロックされた セクション(全体または一部)を解放します。ロックされたセクションは、現在の ファイル上の地点から .Fa size で示す長さのバイト数分、またはサイズ指定が 0 の場合 ファイルの終了位置まで、ロックが解除されます。ロックされたセクション がすべて解放されないとき(すなわち、ロック解除される区域の最初の部分または 終りの部分がロックされたセクションにあるとき)、セクションの残りの部分は プロセスにより引き続きロックされます。ロックされたセクションの中心部分を 解放することにより、ロックされた残りの部分は、先頭区域と終りの区域の 2 つの セクションに分離されます。要求により、システム内のロックの数が、システムで 定めた制限値を越える場合、その要求の処理は不成功になります。 .Pp .Dv F_ULOCK 要求は、サイズ指定が 0 でなく、要求されたセクションの最終バイト の位置が、 off_t 型のオブジェクトに対する最大値を越えない場合、または プロセス内にサイズ 0 のロックがあり、要求対象セクションの最終バイトを 含んでいる場合、サイズ 0 の要求対象セクションの開始位置からロック解除する 要求として扱われます。そうでない場合、 .Dv F_ULOCK 要求は、要求対象のセクション だけをロック解除しようとします。 .Pp ロックされている区域を制御しているプロセスが、他プロセスでロック されている区域をロックしようとしてスリープ状態になると、デッドロックが 起こる可能性があります。この仕組みにより、ロックされた区域が ロック解除されるまでのスリープがデッドロックを起こし、 .Er EDEADLK エラーで異常終了することを検出できます。 .Pp .XX lockf , .Xr fcntl 2 および .Xr flock 2 によるロックは同時併行で問題なく 使用できます。セクションでの防護処理は適当なシグナルで解釈されます。 .Pp .Sh 戻り値 正常実行の場合、 .Fn lockf は 0 を返します。 そうでない場合は -1 を返し、エラー内容を示す表示を .Dv errno に設定し、現存のロックは変更されません。 .Pp .Sh エラー .Fn lockf は、次の状態のとき不成功となります。 .Bl -tag -width Er .It Bq Er EAGAIN 引数 .Fa function は、 .Dv F_TLOCK または .Dv F_TEST であり、 セクションはすでに他のプロセスによりロックされています。 .It Bq Er EBADF 引数 .Fa filedes は妥当でない対象ファイル記述子です。 引数 .Fa function .Dv F_TLOCK または .Dv F_TEST であり、引数 .Fa filedes は書き込み可能ファイルとして妥当なファイル記述子ではありません。 .Pp .It Bq Er EDEADLK 引数 .Fa function は .Dv F_LOCK であり、デッドロックが検出されました。 .Pp .It Bq Er EINTR 引数 .Fa function は .Dv F_LOCK であり、 .Fn lockf がシグナル発生により中断されました。 .Pp .It Bq Er EINVAL 引数 .Fa function が .Dv F_ULOCK , .Dv F_LOCK , .Dv F_TLOCK , or .Dv F_TEST のどれにも該当しません。 .Pp 引数 .Fa filedes がロックをサポートしないファイルを示しています。 .Pp .It Bq Er ENOLCK 引数 .Fa function は .Dv F_ULOCK , .Dv F_LOCK , または .Dv F_TLOCK であり、 ロックまたはロック解除の要求により、 ロック区域の数がシステムで定めた 制限値を越えます。 .Pp .Sh 関連項目 .Xr fcntl 2 , .Xr flock 2 .Pp .Sh 規格 .Fn lockf 関数は .St -xpg4.2 に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/login.3 b/ja_JP.eucJP/man/man3/login.3 index fad4b3cec6..cbb9b01c0b 100644 --- a/ja_JP.eucJP/man/man3/login.3 +++ b/ja_JP.eucJP/man/man3/login.3 @@ -1,74 +1,74 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" $Id: login.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: login.3,v 1.4 1997/02/22 15:08:15 peter Exp % .\" " .Dd December 29, 1996 .Os .Dt LOGIN 3 .Sh 名称 .Nm login .Nd utmp及びwtmpファイルへのログインレコードの記録 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft void .Fn login "struct utmp *ut" .Pp Link with .Va -lutil on the .Xr cc 1 command line. .Sh 解説 関数 .Fn login は、 .Xr utmp 5 ファイルの適当なスロットへパスされる .Ar ut エントリを 記録し (呼び出しプロセスの制御端末に従って)、それを .Xr wtmp 5 ファイルへ アペンドします。呼び出しプロセスはどちらのファイルに対しても書き込み権限を 持っている必要があります。 .Pp .Sh 戻り値 なし .Pp .Sh 関連項目 .Xr logout 3 , .Xr ttyslot 3 , .Xr utmp 5 , .Xr wtmp 5 .Pp .Sh バグ .Fn login は未加工なインターフェスを提供します。呼び出し側は、 .Va struct utmp の構造について認識している必要があります。もう少し抽象化が 必要です。 diff --git a/ja_JP.eucJP/man/man3/login_auth.3 b/ja_JP.eucJP/man/man3/login_auth.3 index 19e90b67ce..dd3e4ed813 100644 --- a/ja_JP.eucJP/man/man3/login_auth.3 +++ b/ja_JP.eucJP/man/man3/login_auth.3 @@ -1,73 +1,73 @@ .\" Copyright (c) 1995 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $Id: login_auth.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: login_auth.3,v 1.5 1998/03/23 13:29:49 bde Exp % .\" .Dd December 29, 1996 .Os FreeBSD .Dt LOGIN_AUTH 3 .Sh 名称 .\" .Nm authenticate .Nm auth_script .Nm auth_env .Nm auth_scan .Nm auth_rmfiles .Nm auth_checknologin .Nm auth_cat .Nm auth_ttyok .Nm auth_hostok .\" .Nm auth_timesok .Nd ログインクラス受け入れデータベースの認証形式 .Sh 書式 .Fd #include .Fd #include .\" .Ft int .\". Fn authenticate "const char *name" "const char *classname" "const char *style" "const char *service" .Ft int .Fn auth_script "const char * path" ... .Ft void .Fn auth_env "void" .Ft int .Fn auth_scan "int ok" .Ft void .Fn auth_rmfiles "void" .Ft void .Fn auth_checknologin "login_cap_t *lc" .Ft int .Fn auth_cat "const char *file" .Ft int .Fn auth_ttyok "login_cap_t *lc" "const char *tty" .Ft int .Fn auth_hostok "login_cap_t *lc" "const char *hostname" "char const *ip" .\" .Ft int .\" .Fn auth_timesok "login_cap_t *lc" "time_t now" .Sh 解説 この関数セットは、 .Xr login.conf 5 が提供するログインクラスの認証形式 インターフェスをサポートします。 .Pp .Sh 戻り値 .Pp .Sh 関連項目 .Xr getcap 3 , .Xr login_cap 3 , .Xr login_class 3 , .Xr login.conf 5 , .Xr termcap 5 diff --git a/ja_JP.eucJP/man/man3/login_cap.3 b/ja_JP.eucJP/man/man3/login_cap.3 index ea49268c98..622bb44876 100644 --- a/ja_JP.eucJP/man/man3/login_cap.3 +++ b/ja_JP.eucJP/man/man3/login_cap.3 @@ -1,515 +1,515 @@ .\" Copyright (c) 1995 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $Id: login_cap.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: login_cap.3,v 1.9 1998/06/06 05:50:42 jkoshy Exp % .\" .Dd December 27, 1996 .Os FreeBSD .Dt LOGIN_CAP 3 .Sh 名称 .Nm login_getclassbyname , .Nm login_close , .Nm login_getclass , .Nm login_getpwclass , .Nm login_getuserclass , .Nm login_getcapstr , .Nm login_getcaplist , .Nm login_getcaptime , .Nm login_getcapnum , .Nm login_getcapsize , .Nm login_getcapbool , .Nm login_getstyl .Nd ログインクラスデータベース に対するプログラミングインターフェス .Sh 書式 .Fd #include .Fd #include .Ft void .Fn login_close "login_cap_t * lc" .Ft login_cap_t * .Fn login_getclassbyname "const char *nam" "const struct passwd *pwd" .Ft login_cap_t * .Fn login_getclass "const char *nam" .Ft login_cap_t * .Fn login_getpwclass "const struct passwd *pwd" .Ft login_cap_t * .Fn login_getuserclass "const struct passwd *pwd" .Ft char * .Fn login_getcapstr "login_cap_t *lc" "const char *cap" "char *def" "char *error" .Ft char ** .Fn login_getcaplist "login_cap_t *lc" "const char *cap" "const char *chars" .Ft char * .Fn login_getpath "login_cap_t *lc" "const char *cap" "char *error" .Ft rlim_t .Fn login_getcaptime "login_cap_t *lc" "const char *cap" "rlim_t def" "rlim_t error" .Ft rlim_t .Fn login_getcapnum "login_cap_t *lc" "const char *cap" "rlim_t def" "rlim_t error" .Ft rlim_t .Fn login_getcapsize "login_cap_t *lc" "const char *cap" "rlim_t def" "rlim_t error" .Ft int .Fn login_getcapbool "login_cap_t *lc" "const char *cap" "int def" .Ft char * .Fn login_getstyle "login_cap_t *lc" "char *style" "const char *auth" .Pp .Sh 解説 これらの関数は .Xr login.conf 5 に備わっているログインクラスデータベース に対するプログラミングインターフェスを表します。このデータベースに 収録されているのは、 CAPABILITIES 、属性およびデフォルト環境、ユーザや特殊 ユーザとしての稼動中のプログラムに対する課金上の設定などで、 .Pa /etc/master.passwd の登録データ内のログインクラスフィールドに 定義されています。 .Pp .Xr login.conf 5 内のレコードは、コロン .Ql \&: で分離されるフィールドで 構成されています。各レコードの最初のフィールドはデータベース全体で一意な レコードのための複数の識別子です。それぞれ -'|' +\&'|' で分離されており、最後尾に -'name' +\&'name' 識別子が付いていることもあります。レコードの残りのフィールドは keyword/data のペアで構成されます。ロングラインは空のレコード内で バックスラッシュが後ろにつき、次の連続する行は随時読み 取られるようになっています。このことは、キーワードが 2 つの意味にある文字に 限定されないことを除けば .Xr termcap 5 で使用されている形式と類似しており、 読み易すく改善されている点が利点です。 termcap レコードの場合と同様に、 tc= が記述されているフィールドによって複数レコードを相互に 関連させることができます (レコードが包含関係にあります)。 .Aq Pa recordid で示されるすべてのレコードは 発生した箇所で tc= フィールドにより 置きかえられます。 CAPABILITIES データベースの形式と利用方法に関する 詳細については、 .Xr getcap 3 を参照してください。 .Pp .Nm login_cap インターフェスには、 tc= 参照の拡張により、 ログインレコードクラスを取り出す便利な方法が備わっています。 プログラム要求により、 .Fn login_getclass , .Fn login_getpwclass , .Fn login_getuserclass または .Fn login_getclassbyname のうちどれか 1 つを呼び 出して実行します。それぞれの関数はログイン CAPABILITIES 構造体 .Ft login_cap_t を戻り値として返し、 API の残りを使用して指定した値をデータベースに引き続き 問い合せするときに使用されます。 login_cap_t が不要になった場合は、関数 .Fn login_close の呼び出しを実行して使用していたリソースをすべて解放する 必要があります。 .Pp login_cap_t の構造は login_cap.h で次のように定義されます。 .Bd -literal -offset indent typedef struct { char *lc_class; char *lc_cap; char *lc_style; } login_cap_t; .Ed .Pp .Ar lc_class メンバーには取り出したログインクラスの名前に対するポインタ があります。これは、 .Fn login_getclass または .Fn login_getuserclass を使用したクラス名により .Fn login_getclassbyname 経由で直接的に、または、 .Fn login_getpwclass を使用したユーザのログインレコード経由で間接的に 要求されたものと必ずしも同じではありません。参照されたユーザに /etc/master.passwd で定義されたログインクラスがない場合、クラス名は NULL か空ストリングです。 また、定義されたクラスがデータベースに存在しない場合、 各関数は、 -'default' +\&'default' という ID のレコードを探索し、 .Ar lc_class フィールドにその 名前を戻り値として取得します。 .Pp .Ar lc_cap フィールドは、ライブラリで内部的に使用され、拡張されたログイン CAPABILITIES レコードを保持します。プログラムからの例外要求では、低次の .Fn getcap 方式の関数とともにレコードを直接アクセスしようとしてこれを 使用する傾向があります。 .Pp .Ar lc_style フィールドに対しては、ログイン自身の操作プログラムからの 要求に従って、関数 .Fn login_getstyle により、認可方式が設定されます。 .Pp 前述したように、関数 .Fn get*class は、 CAPABILITIES データベースの マッチングまたはデフォルトレコードのアクセスに使用される login_cap_t オブジェクトを戻り値として返します。 .Fn getclassbyname は 2 つの引数を受け 取ります。最初のものは取り出し対象レコードのレコード識別子で、 2 番めのものは、任意指定のディレクトリ名です。最初の引数 .Ar name が NULL か、空ストリング、 あるいは補助的なまたはシステムのログインクラスデータベースに クラスが存在しない場合、システム .Em デフォルト レコードが代わりに 返されてきます。 2 番めの引数 .Ar dir パラメータが NULL のとき、 システムログインクラスデータベースだけが使用されますが、 NULL でないときは、 .Xr .login_conf 5 というファイル内で名前付きディレクトリが検索され、中にある CAPABILITIES レコードがシステムデフォルトを上書きします。この体系により ユーザは、 -'me' +\&'me' という ID のレコードがあるプライベートクラスに対する クラスレコードを生成して、システムログインクラス・データベースのレコード におけるログイン設定値を上書きできます。 Login のコンテキストでは、次の 2 つの理由により、ユーザが上書きできないオプションがあります。第 1 に、 リソース設定値やデフォルトのプロセス優先順位などの多くのオプションでは、 効果を発揮させるためにルート権限が必要である こと、第 2 に、 ユーザファイルの他のフィールドは、ログインの初期段階ではセキュリティや 管理上の理由から、十分な検討が行われていません。どの設定がユーザが 上書きできるのかについての詳細については、 .Xr login.conf 5 を 参照してください。実際には、これらは、そうでない場合に常に初期起動 シエルスクリプトで上書きされるユーザのデフォルトログイン環境によって明確に 制限されます。ユーザの .Pa .login_conf は、ログイン時、シエルが呼ばれる前に 実行される優先ログイン環境設定での簡便な方法をユーザ に提供します。 .Pp 指定レコードが NULL か、空または存在しないとき、さらに不測の事態に 備えてデフォルトレコードがシステムにない場合、メモリアロケーションエラー になるか、あるいは .Xr cgetent 3 が何らかの理由によりログイン CAPABILITIES データベースにアクセスできなくなり、 NULL を返してきます。 .Pp 関数 .Fn login_getpwclass , .Fn login_getclass および .Fn login_getuserclass で、ユーザパスワード登録情報に対応するログインクラスレコードの取り出し、 .Fn login_getclassbyname 呼び出しによるクラス名の取り出しができます。 処理が失敗した場合は NULL が返されます。これらの関数の間で、 .Fn login_getuserclass はユーザによる上書きが可能なユーザホームディレクトリ上の .login_conf を含んでいますが、 .Fn login_getpwclass および .Fn login_getclass では、それへの参照を .Pa /etc/login.conf 上のシステムログインクラスに制限している点で 異なります。 .Fn login_getpwclass が .Fn login_getclass と異なる唯一の点は、 パスワードデータベースでの定義がないときにユーザルートをシステムルート として認めていることです。他方、パスワードのポインタが NULL のとき、または ユーザレコードにログインクラスがない場合、システムの「デフォルト」登録 レコードの取得が行われます。 .Pp プログラムで login_cap_t オブジェクトを使用する必要がなくなると、 .Fn login_close 呼び出しを実行し、ログインクラスで使用していたリソースを 解放します。 .Fn login_close は NULL ポインタを返しますが、これには 弊害はありません。 .Pp 残りの関数は、個別の権限レコードの取り出しに使用されます。各関数は、 login_cap_t オブジェクトを第 1 引数とし、 CAPABILITIES タグ を第 2 引数とします。残りのパラメータは、 CAPABILITIES レコードが見つからないときの デフォルトまたはエラー値を指定します。受け渡しされるパラメータの型は 関連する CAPABILITIES のタイプによって変わってきます。たとえば、 ストリング、リスト、時間値、ファイルやメモリサイズ、パス (コロンで 分離されたデイレクトリリストから構成される)、またはバイナリ値フラグ などです。 .Pp このグループのすべての関数では、ポインタを返すとき .Xr free 3 呼出を使用できないことに注意してください。検索や CAPABILITIES タグ処理の間に 割り当てられたメモリは、後続するこのグループの関数呼び出しで自動的に 再利用されるか、または .Fn login_close 呼び出しで解除されます。 .Bl -tag -width "login_gatcaplist()" .Fn login_getcapstr この関数は、単純ストリング CAPABILITIES を返します。 ストリングが見つからないとき、 .Ar def 内の定義値がデフォルト値として 返されます。エラーが発生したとき、 .Ar error パラメータの値が返されます。 .Pp .It Fn login_getcaplist 本関数は、名前付き CAPABILITY タグの値を NULL で 終了する配列の値リストとして返します。ログインクラスデータベースには、 リストタイプのタグがあり、複数のカンマまたはスペースで分離した値で 構成されています。通常、この関数は直接アプリケーションから呼び 出されることはなく、 .Fn login_getstyle 経由で間接的に使用されます。 .Pp .It Fn login_getpath この関数は、 .Ql &: で分離されたディレクトリリストを 返します。 この関数の呼出しが実行される CAPABILITY タグ はスペースで分離された デイレクトリリストで構成されます。 .Pp .It Fn login_getcaptime この関数は、時、分、秒 (デフォルト)、年 ( 365 日基準)、週、あるいはこれらの任意の組み合わせで表される値の特殊な CAPABILITY タグに関連する時間値を返します。接尾語により使用される単位を 決定します。 S は秒を、M は分を、H は時を、D は日を、W は週を表し、Y は 365 日基準による年を表します。 単位接尾語では大文字、小文字の区別はありません。 .Pp 時間値は、通常はリソースの設定値、課金システム、およびセッション制限値に 使用されます。オペレーティングシステムやコンパイラ (FreeBSD 対応) で サポートしている場合、戻り値は 2 次元 (long long) の .Em rlim_t 型になります。値 'inf' または 'infinity' で無限の値を表せます。 その場合 RLIM_INFINITY が 戻り値となります。 .Pp .It Fn login_getcapnum この関数は、タグに関する数値を返します。数値は、 tag= または標準的な .Fn cgetnum 書式 tag# で表現されます。 最初の書式は 2 番目のものより優先的に使用されます。 2 番めの書式は、 .Xr getcap 3 データベースの書式との互換性と整合性があり、数値タイプの場合、 数値のデリミタとして .Ql \&# が使われます。最初の書式の場合、指定される値は -'inf' または 'infinity' で、戻り値は RLIM_INFINITY +\&'inf' または 'infinity' で、戻り値は RLIM_INFINITY になります。指定された CAPABILITY タグを見つけることができない場合、 .Ar def パラメータが返されます。 エラーが起きると、 .Ar error パラメータが返されます。 .Pp .It Fn login_getcapsize .Fn login_getcapsize は、サイズ(ファイルまたは メモリの場合)を表す値を、バイト数(デフォルト)、 512 バイトのブロック数、 KB, MB, GB 表示で返します。また .Ar long long タイプをサポートしているシステム であれば、 TB 表示もあります。使用されている接尾語により単位、複合値を 決定し、単位は組み合せた形で使用されます。(例えば、 1m500k = 1.5megabytes) 接尾語がない値 A はバイトを、 B は 512 バイトブロックを、 K は KB を、 M は MB を、 G は GB を、 そして T は TB を表します。 大文字と小文字の区別はありません。エラー値が返ってくるのは、ログイン CAPABILITIES データベースエラーがあるか、間違った接尾語が使用されているか、 または数値が変換ができない場合です。 .Pp .It Fn login_getcapbool この関数は、特定のフラグに関連したバイナリ値を、返します。指定された CAPABILITY タグがないか、 -'tag@'(boolean フラグの詳細については +\&'tag@'(boolean フラグの詳細については .Xr getcap 3 を参照) により無効にされているとき、 0 が返ってきます。タグが見つかれば 1 が返ります。 .Pp .It Fn login_getstyle この関数は、ログイン認可システムで使用され、特定の ケースで有効なログインの形式を決定します。関数は、 3 つのパラメータと、 .Nm login_cap 登録レコードそのもの、および 2 つの任意指定パラメータ、 -'auth' +\&'auth' と -'style' +\&'style' の認可タイプを受け取り、これらを用いてこれらのルールと矛盾しない 認可スタイルを決定します。 .Pp .Bl -bullet -indent offset .It -'auth' が NULL または 空ストリングでなければ、 +\&'auth' が NULL または 空ストリングでなければ、 CAPABILITY レコードの -'auth-' +\&'auth-' タイプのタグの検索を行います。存在しなければ、デフォルトの デフォルトタグ -'auth=' +\&'auth=' を検索します。 .It 先のステップで正当な認可リストが見つからない場合、 -'passwd' +\&'passwd' がデフォルトの認可リストとされます。 .It -'style' が NULL でも +\&'style' が NULL でも 空でもないとき、先行ステップで見つかった認可方式の リストからそれを検索します。 .It -'style' が NULLか空ストリングのとき、 -'passwd' +\&'style' が NULLか空ストリングのとき、 +\&'passwd' をデフォルトの認可に使用します。 .It -'style' が、認可方式の選択リストに見つかった場合、それを返し、 +\&'style' が、認可方式の選択リストに見つかった場合、それを返し、 そうでないときは NULL を返します。 .El .Pp この体系により、管理者は、アクセス方式に従って、システムが受け取る 認可方式を決定します。たとえば、管理者がネットワークを経由したシステムへの アクセスに使用された認証方式として、skey または kerberos を要求します。 また、直接のダイアルアップまたはコンソールログイン経由での標準的方式を 要求することもあり、'snooping' ネットワークパケットによりパスワードが 発見されるリスクを著しく減少させられます。 .El .Sh 関連項目 .Xr getcap 3 , .Xr login_class 3 , .Xr login.conf 5 , .Xr termcap 5 diff --git a/ja_JP.eucJP/man/man3/login_class.3 b/ja_JP.eucJP/man/man3/login_class.3 index 425a8d4098..89e2e5c235 100644 --- a/ja_JP.eucJP/man/man3/login_class.3 +++ b/ja_JP.eucJP/man/man3/login_class.3 @@ -1,187 +1,187 @@ .\" Copyright (c) 1995 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $Id: login_class.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: login_class.3,v 1.6 1998/06/06 05:50:43 jkoshy Exp % .\" .Dd December 28, 1996 .Os FreeBSD .Dt LOGIN_CLASS 3 .Sh 名称 .Nm setclasscontext , .Nm setusercontext , .Nm setclassresources , .Nm setclassenvironment .Nd ログインクラスデータベースにアクセスする能力をもつ関数群 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn setclasscontext "const char *classname" "unsigned int flags" .Ft int .Fn setusercontext "login_cap_t *lc" "const struct passwd *pwd" "uid_t uid" "unsigned int flags" .Ft void .Fn setclassresources "login_cap_t *lc" .Ft void .Fn setclassenvironment "login_cap_t *lc" "const struct passwd *pwd" "int paths" .Pp .Sh 解説 これらの関数は、ログインクラスデータベース関して .Xr login_cap 3 のマニュアルに記載されているインターフェスより高次のインターフェスを 提供します。これらの関数が使用されるのは、リソースに関する限界値や、 環境およびシステムにログインするユーザへの課金の設定、およびログインクラス に基づくシステムデーモンの設定と環境の適切な組を設定するときです。これらの 関数呼び出しは、現在のプロセスがルート権限で実行されているときだけ 可能です。LOGIN_SETLOGIN フラグが使用される場合、この関数は .Xr setlogin 2 の呼び出しを実行し、当該関数についてはマニュアルページに説明してある注意を 払う必要があります。これは同一のセッションで実行されているすべてのプロセス に影響をあたえますが、現在のプロセスが影響を受けることはありません。 .Pp .Fn setclasscontext は、種々の、指定された名前付クラスの値に基づくクラス のコンテキスト値 (リソースの限界値、umask やプロセスの優先順位) を 設定します。 .Pp .Fn setusercontext は、指定された login_cap_t オブジェクト、 指定された passwd レコード ( login_cap_t が nullの場合) に基づく、クラスのコンテキストバリューを設定します。 また最新のセッションへのログインや、 最新のプロセスのユーザおよびグループの所有者を設定します。 これらの関数は、それぞれ .Ar flags パラメタで渡されたビットフラグにより選択でき、次に示す中の 複数のものから構成されます。 .Bl -tag -width LOGIN_SETRESOURCES .It LOGIN_SETLOGIN 現在のセッションと関連を持つログインに passwd 構造で定義されたユーザを対応させます。 .Xr setlogin 2 このオプションが使用される場合、 .Ar pwd パラメタは NULL 値以外を指定する必要があります。 .It LOGIN_SETUSER 現在のプロセスの所有者に、 .Xr setuid 2 を使用して .Ar uid パラメータで指定された uid を設定します。 .It LOGIN_SETGROUP 現在のプロセスのグループとしての所有者に、 .Xr setgid 2 を使用して passwd 構造で定義されたグループ識別子を設定します。 また、 .Xr initgroups 3 呼出を実行して現在のプロセスに 関するグループのアクセスリストを整えます。 .Ar pwd パラメータは、このオプションが使用される場合、 NULL 以外の値を指定する必要があります。 .It LOGIN_SETRESOURCES システムのログインクラスデータベースで定義される 設定値に基づき現在のプロセスのリソースの限界値を設定します。クラス権限タグ は、-cur (ソフトリミット) または -max (ハードリミット)の接尾語と次に示す リソース設定子を適切に組み合わせて使用します。 .Bd -literal cputime RLIMIT_CPU filesize RLIMIT_FSIZE datasize RLIMIT_DATA stacksize RLIMIT_STACK coredumpsize RLIMIT_CORE memoryuse RLIMIT_RSS memorylocked RLIMIT_MEMLOCK maxproc RLIMIT_NPROC openfiles RLIMIT_NOFILE .Ed .It LOGIN_SETPRIORITY システムのログインクラスデータベースで定義された 値に基づき、現プロセスのスケジュール時の優先順位を設定します。使用される クラス権限タグは次のとおりです。 .Bd -literal Priority .Ed .It LOGIN_SETUMASK 現在のプロセスの umask にユーザまたはシステムの ログインクラスデータベースでの値を設定します。 使用されるクラス権限タグは次のとおりです。 .Bd -literal umask .Ed .It LOGIN_SETPATH ユーザまたはシステムのログインクラスデータベースに基づく値を -'path' および 'manpath' +\&'path' および 'manpath' 環境変数に設定します。該当する環境変数 セットとともに使用されるクラス権限タグは次のとおりです。 .Bd -literal path PATH manpath MANPATH .Ed .It LOGIN_SETENV ユーザまたはシステムのログインクラスデータベースに 基づく値を種々の環境変数に設定します。該当する環境変数セットとともに 使用されるクラス権限タグは次のとおりです。 .Bd -literal lang LANG charset MM_CHARSET timezone TZ term TERM .Ed .Pd 環境変数の追加として、リスト型の 権限設定 'setenv=var1 val1,var2 val2..,varN valN ' を使用できます。 .It LOGIN_SETALL 上記の設定をすべて可能にします。 .El .Pp 環境変数の設定時と適切な passwd ポインタが .Ar pwd により与えられる場合、文字 .Ql \&~ と .Ql \&$ はそれぞれユーザのホームディレクトリおよびログイン名と 置きかえられことがあることに注意してください。 .Pp 関数 .Fn setclassresources および .Fn setclassenvironment は、上記コンテキスト設定の関数の サブセットですが、単独でも使用できます。 .Sh 戻り値 .Fn setclasscontext および .Fn setusercontext は、エラーが起きた場合 -1 を返します。 正常終了の場合 0 を返します。 ユーザ、ログイン、グループまたはリソースの設定を行っている最中に エラーが起きた場合、LOG_ERR の優先順位によりメッセージが .Xr syslog 3 に通知され、現在アクティブ状態の機能に通知されます。 .Sh 関連項目 .Xr setgid 2 , .Xr setlogin 2 , .Xr setuid 2 , .Xr getcap 3 , .Xr initgroups 3 , .Xr login_cap 3 , .Xr login.conf 5 , .Xr termcap 5 diff --git a/ja_JP.eucJP/man/man3/login_ok.3 b/ja_JP.eucJP/man/man3/login_ok.3 index e822e9f761..8a241d8333 100644 --- a/ja_JP.eucJP/man/man3/login_ok.3 +++ b/ja_JP.eucJP/man/man3/login_ok.3 @@ -1,140 +1,140 @@ .\" Copyright (c) 1995 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $Id: login_ok.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: login_ok.3,v 1.4 1997/02/22 15:08:22 peter Exp % .\" .Dd January 2, 1997 .Os FreeBSD .Dt LOGIN_OK 3 .Sh 名称 .Nm auth_ttyok .Nm auth_hostok .Nm auth_timeok .Nd ログイン制約に基づくログインクラス・チェック用関数 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn auth_ttyok "login_cap_t *lc" "const char *tty" .Ft int .Fn auth_hostok "login_cap_t *lc" "const char *host" "char const *ip" .Ft int .Fn auth_timeok "login_cap_t *lc" "time_t t" .Sh 解説 この関数セットは、ログインが、 .Xr login.conf 5 という ログインデータベース上のログインクラス登録権限に基づき許可できるかどうかを 判定します。 .Pp .Fn auth_ttyok は、名前付 .Ar tty が指定されたクラスのユーザで 利用可能かどうかを判定します。またそれが .Em ttys.allow アクセスリストに載っており、 .Em ttys.deny アクセスリストに載っていないこともチエックします。 .Ar tty デバイス経由でくるログインは、 .Em ttys.allow リストがなく (あるいは指定されたログインクラスの登録権限定義がない) ても、空でない .Em ttys.deny リストが存在しない限り、またはデバイスあるいは .Ar tty グループ( .Xr ttys 5 を参照のこと)がリストに載っていなければ、受入れられます。 .Ar tty に対するアクセスは、 .Ar tty デバイス名で固有の制限と範囲が決められます。また デバイス名はワイルドカード指定 (例えば、ttyD* または cuaD*) を含むか、または group= タグが .Pa /etc/ttys に割り振られている場合、ttygroup の名前を定義します。 ttys と ttygroups の一致はケースによります。 .Dv NULL または文字列を .Ar tty parameter として渡すと、関数はゼロでない数値を返します。 .Pp .Fn auth_hostok は、リモートロングインにおけるホスト側の制約をチエック します。この関数は、 .Em host.allow および .Em host.deny のログインクラスの権限レベルに対し、ホスト名や IP アドレス (具体的には n.n.n.n のようなテキスト形式で指定されます。) の両方のチエックを行います。 ttys およびそのグループについてと同様、許可、 非許可権限レコード内でワイルドカードや文字 クラスを使用できます。関数 .Xr fnmatch 3 は対応付けに使用されます。ホスト名の 対応付けは大文字か小文字かによります。この関数ではホスト名が完全形式で 記述 (たとえば、必要ならばローカルドメイン名が追加される) されている 必要があることに注意する必要があります。さらに、IP アドレスは標準的な 形式になっています。ホスト名やアドレス参照は行われません。 .Pp この関数の呼び出しは、ホスト名を使用するか、または IP アドレスを 指定せず (例えば .Dv NULL 指定) に実行できます。またマッチングはパラメータが 指定されなければ実行されません。どちらのパラメータについて .Dv NULL か空の文字列が渡された場合、ゼロ以外の戻り値が返されます。 .Pp 関数 .Fn auth_timeok は、指定の時間値が、ログインクラス .Em times.allow の範囲にあり、 .Em times.deny アクセスリストにないかどうか判定します。 .Em times.allow リストが存在しないか空であれば、指定時間が .Em times.deny リストに示す時間帯にない限り、いつでもアクセス可能です。 .Em times.allow および .Em times.deny のフィールドに含まれる時間帯レコードの形式の詳細については、 .Xr login_times 3 のマニュアルページを参照してください。 .Sh 戻り値 これらの関数からの戻り値がゼロでない場合、ログインが認可されています。 戻り値がゼロの場合は、対象が .Em allow アクセスリストにないか .Em deny アクセスリストに載っています。 .Pp .Sh 関連項目 .Xr getcap 3 , .Xr login_cap 3 , .Xr login_class 3 , .Xr login_times 3 , .Xr login.conf 5 , .Xr termcap 5 diff --git a/ja_JP.eucJP/man/man3/login_times.3 b/ja_JP.eucJP/man/man3/login_times.3 index f6cba2ae79..2bea8ff701 100644 --- a/ja_JP.eucJP/man/man3/login_times.3 +++ b/ja_JP.eucJP/man/man3/login_times.3 @@ -1,157 +1,157 @@ .\" Copyright (c) 1995 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $Id: login_times.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: login_times.3,v 1.4 1997/02/22 15:08:26 peter Exp % .\" .Dd January 2, 1997 .Os FreeBSD .Dt LOGIN_TIMES 3 .Sh 名称 .Nm parse_lt .Nm in_ltm .Nm in_ltms .Nd ログイン時間帯のチエックおよび解析を行う関数 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft login_time_t .Fn parse_lt "const char *str" .Ft int .Fn in_ltm "const login_time_t *lt" "struct tm *t" "time_t *ends" .Ft int .Fn in_ltms "const login_time_t *lt" "struct tm *t" "time_t *ends" .Sh 解説 この関数セットは、 .Xr login.conf 5 で使用されている、ログイン許可時間に関する定義済みリストと 対照させてログインおよびセッション時間のチエックと解析を行います。 .Pp ログインクラスの .Ar times.allow と .Ar times.deny 権限フィールドで定義された許可、非許可セッション時間の形式は、 1 桁または 2 ,3 桁以上の文字の日付コードを定義する接頭語で構成されます。 ハイフンで分離される 24 時形式の開始、終了時間がそれに続きます。 日付コードは、特定の日付を選択するために接合されるか、または -'Any' や 'All'(任意の曜日またはすべての曜日) や、 +\&'Any' や 'All'(任意の曜日またはすべての曜日) や、 曜日指定 (土曜日と日曜日を含む) のための 'Wk'、 週末を表す 'Wd' などの、特殊な表記記号も使用することができます。 .Pp 時間帯はたとえば次のとおりです。 .Dl MoThFrSa1400-2200 これは、月曜日、木曜日、kinn曜日、土曜日の午後 2 時から 10 時の間と解釈されます。 .Dl Wd0600-1800 これは、土曜日と日曜日の午前 6 時から午後 6 時までの意味です。 .Dl Any0400-1600 これは、任意の曜日の午前 4 時から午後 4 時の意味です。 .Pp 注意事項:時間帯の表示はすべてシステムのローカル時間です。 .Pp 関数 .Fn parse_lt は、アスキー表示の時間帯を .Ft login_time_t タイプの構造に変換します。 定義は次のとおりです。 .Bd -literal typedef struct login_time { u_short lt_start; /* 開始時刻 */ u_short lt_end; /* 終了時刻 */ u_char lt_dow; /* 曜日 */ } login_time_t; .Ed .Pp .Ar lt_start および .Ar lt_end フィールドには、定義された時間の開始と終了時間が、 夜中から経過した分数を収録しています。 .Ar lt_dow フィールドはビットフィールドで、 各曜日の 1 ビットと未使用の 1 ビットを持っています。 .Em LTM_* 系列のマクロは、ビットの個別のまたは組み合わせの検査に使用されます。 このフィールドにビットが設定されていない場合、すなわち、値 .Em LTM_NONE が入っているとき、時間帯はすべて間違っているとみなされます。 これは、値 .Ar login_time_t の配列の終端を示す慣習として使用されます。 .Fn parse_lt が .Em LTM_NONE と同等の .Ar lt_dow が設定された .Ar login_time_t を返した場合、構文解析エラーがあります。 .Pp 残りの関数により、指定された time_t または特別な時間帯または時間帯の配列に対する構造体 tm をテストできます。 .Fn in_ltm により、第 2 パラメータとして渡された構造体 tm で指定された時間が第 1 パラメータで定義された時間内にあるかどうか決定します。 .Pp 指定の時間が時間帯内にあるかどうかをバイナリ型の戻り値で返します。 時間が所定の時間帯になく、関数の第 3 パラメータが NULL でなければ、 渡された時間に関係する時間帯の終了時間が返されます。 .Pp .Fn in_ltms は、 .Fn in_ltm と類似していますが、第 1 パラメータが .Ar login_time_t オブジェクトの配列のポインタでなければならないという点は 異なります。なお配列は、要素数が LC_MAXTIMES (64) で上限が規定されており、 .Em LTM_NON が設定された .Ar lt_dow フィールドにより終端が規定されています。 .Sh 戻り値 .Fn parse_lt は解析された時間帯を含む login_time_t 型の構造体を 返します。構文解析エラーがある場合、 .Ar lt_dow フィールドに .Em LTM_NONE (すなわち 0) が設定されます。 .Pp .Fn in_ltm は、指定された時間が第一パラメータとして渡された login_time_t で定義した時間帯内にあれば、ゼロ以外の値を返します。 .Pp .Fn in_ltms は、指定された時間が適合する最初の時間帯のインデックスを 返し、ない場合は -1 を返します。 .Sh 関連事項 .Xr getcap 3 , .Xr login_cap 3 , .Xr login_class 3 , .Xr login.conf 5 , .Xr termcap 5 diff --git a/ja_JP.eucJP/man/man3/login_tty.3 b/ja_JP.eucJP/man/man3/login_tty.3 index ffe716edfb..9d5c5396b1 100644 --- a/ja_JP.eucJP/man/man3/login_tty.3 +++ b/ja_JP.eucJP/man/man3/login_tty.3 @@ -1,66 +1,66 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" $Id: login_tty.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: login_tty.3,v 1.4 1997/02/22 15:08:27 peter Exp % .\" " .Dd December 29, 1996 .Os .Dt LOGIN_TTY 3 .Sh 名称 .Nm login_tty .Nd 新規ログインセッションの tty 準備 .Sh 書式 .Fd #include .Ft int .Fn login_tty "int fd" .Pp Link with .Va -lutil on the .Xr cc 1 command line. .Sh 解説 関数 .Fn login_tty は、新規ログインセッションの端末を準備します。 .Fn login_tty に渡されたファイル指示子 .Ar fd は端末デバイス上で、読み込みや書き込みが可能である必要があります。 .Xr setsid 2 により新規セッションが割り当てられた後、 呼び出しプロセスの制御デバイスが作られます。この端末デバイスは更に、 呼び出しプロセスでの標準入力や出力、及び標準エラー出力になります。 .Sh 戻り値 .Fn Login_tty は、呼び出しプロセスの制御デバイス .Ar fd が参照しているデバイスを作成できない場合、 -1 を返し、そうでない場合は 0 を返します。 .Sh 関連項目 .Xr dup2 2 , .Xr ioctl 2 , .Xr setsid 2 , .Xr tty 4 diff --git a/ja_JP.eucJP/man/man3/logout.3 b/ja_JP.eucJP/man/man3/logout.3 index 561f6c9542..63d574b62f 100644 --- a/ja_JP.eucJP/man/man3/logout.3 +++ b/ja_JP.eucJP/man/man3/logout.3 @@ -1,73 +1,73 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" $Id: logout.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: logout.3,v 1.5 1997/05/11 08:50:32 davidn Exp % .\" " .Dd December 29, 1996 .Os .Dt LOGOUT 3 .Sh 名称 .Nm logout .Nd utmpファイルからの登録の削除 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn logout "char *line" .Pp Link with .Va -lutil on the .Xr cc 1 command line. .Sh 解説 関数 .Fn logout は、引数 .Ar line で指定された (通常 tty 名で) スロットを探して .Xr utmp 5 ファイルを探索します。スロットがみつからない場合は、 .Em name 及び hos フィールドが空のレコードで更新され、 タイムスタンプは最新時間に更新されます。 .Sh 戻り値 関数 .Fn Logout は引数 .Ar line で指定したスロットが見つからない場合、1 を返して更新し、 そうでない場合は 0 を返します。 .Sh 関連項目 .Xr login 3 , .Xr utmp 5 , .Xr wtmp 5 .Sh バグ .Fn logout の呼び出しインターフェスは .Xr login 3 のインタフェースと整合性がとれていません。 diff --git a/ja_JP.eucJP/man/man3/logwtmp.3 b/ja_JP.eucJP/man/man3/logwtmp.3 index b9fa2fe300..2b56249c6c 100644 --- a/ja_JP.eucJP/man/man3/logwtmp.3 +++ b/ja_JP.eucJP/man/man3/logwtmp.3 @@ -1,74 +1,74 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" $Id: logwtmp.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: logwtmp.3,v 1.6 1998/01/16 16:53:30 bde Exp % .\" " .Dd December 29, 1996 .Os .Dt LOGWTMP 3 .Sh 名称 .Nm logwtmp .Nd wtmp ファイルに新規レコードを追加 .Sh 書式 .Fd #include .Fd #include .Ft void .Fn logwtmp "const char *line" "const char *name" "const char *host" .Pp Link with .Va -lutil on the .Xr cc 1 command line. .Sh 解説 .Fn logwtmp は、 .Xr wtmp 5 ファイルに新規レコードの追加します。 引数は、 .Ar line , .Ar name と .Ar host 及び現在時間を与えます。 .Pp .Ar host で指定するホスト名の長さが .Xr wtmp 5 ファイルのホスト名フィールドと合わない場合、最初は、 .Xr gethostbyname 3 により数値のIPアドレスに変換しようとします。 これに失敗した場合、ホスト名は .Qq invalid hostname (不正ホスト名) として記録されます。 .Pp 呼び出しプロセスは読み込み、書き込みの両方の権限を持っている 必要があります。 .Sh 戻り値 なし .Sh 関連項目 .Xr gethostbyname 3 , .Xr login 3 , .Xr wtmp 5 diff --git a/ja_JP.eucJP/man/man3/malloc.3 b/ja_JP.eucJP/man/man3/malloc.3 index 8b3a6e6042..222bbe4c24 100644 --- a/ja_JP.eucJP/man/man3/malloc.3 +++ b/ja_JP.eucJP/man/man3/malloc.3 @@ -1,435 +1,435 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the American National Standards Committee X3, on Information .\" Processing Systems. .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)malloc.3 8.1 (Berkeley) 6/4/93 -.\" $Id: malloc.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: malloc.3,v 1.17 1998/09/16 04:07:31 imp Exp % .\" .Dd August 27, 1996 .Dt MALLOC 3 .Os FreeBSD 2 .Sh 名称 .Nm malloc, calloc, realloc, free, reallocf .Nd 汎用のメモリ割り当てのための関数群 .Sh 書式 .Fd #include .Ft void * .Fn malloc "size_t size" .Ft void * .Fn calloc "size_t number" "size_t size" .Ft void * .Fn realloc "void *ptr" "size_t size" .Ft void * .Fn reallocf "void *ptr" "size_t size" .Ft void .Fn free "void *ptr" .Ft char * .Va malloc_options; .Sh 解説 .Fn malloc 関数は、 .Fa size バイトのメモリを割り当てます。 割り当てられた空間は (可能なポインタ強制の後で) あらゆるタイプのオブジェクトが保存できるように適切に調整されます。 その空間の長さが少なくとも .Em pagesize バイトである場合 ( .Xr getpagesize 3 参照 )、返されるメモリはページ境界が調整されていることでしょう。 .Fn malloc に失敗すると、 NULL ポインタが返されます。 .Pp .Fn calloc 関数は、 .Fa number 個の、長さが .Fa size であるオブジェクトに空間を割り当てます。 この関数を呼び出した結果は、割り当てられたメモリがナルに 初期化されていることを除けば、 引数 .Dq "number * size" で .Fn malloc を呼び出した結果と同じです。 .Pp .Fn realloc 関数は、 .Fa ptr で参照される、以前に割り当てられたメモリのサイズを .Fa size バイトに変更します。 メモリの内容は、新しいサイズと古いサイズのうち 小さい方のサイズまでは変化しません。 新しいサイズの方が大きい場合、 新しく割り当てられた部分のメモリの値は未定義です。 要求されたメモリを割り当てることができなかった場合は NULL が返されますが、 .Fa ptr が参照するメモリは有効で変化しません。 .Fa ptr が NULL である場合、 .Fn realloc 関数は、指定したサイズの .Fn malloc と同じ動きをします。 .Pp .Fn reallocf 関数は、要求されたメモリを割り当てることができなかった場合に、 渡されたポインタを解放することを除けば、 .Fn realloc 関数呼び出しと同じです。 これは FreeBSD に固有の API で、 .Fn realloc の従来型のコーディングスタイルを用いると、 ライブラリの内部でメモリリークを引き起こすという 問題をなくすために設計されました。 .Pp .Fn free 関数は、 .Fa ptr で参照される割り当て済みのメモリを 今後の割り当てのために使用できるようにします。 .Fa ptr が NULL である場合、何も実行されません。 .Pp .Sh 調整 これらのメモリ割り当てルーチン群の 1 つが初めて呼び出されるときに、 この割り当て実行の動作に影響を与える さまざまなフラグがセットもしくはリセットされます。 .Pp .Pa /etc/malloc.conf というシンボリックリンクで参照されるファイルの「名称」、 環境変数 .Ev MALLOC_OPTIONS の値、 グローバル変数 .Va malloc_options が指す文字列は、 この順序で 1 文字毎にフラグとして解釈されます。 .Pp ほとんどのフラグは 1 文字で、 大文字は動作が設定されたこと、つまりオンになっていることを表し、 小文字は動作が設定されていないこと、つまりオフになっていることを表します。 .Bl -tag -width indent .It A すべての警告 ( 理解できないフラグが設定されているという警告を除く ) 、 およびメモリ割り当ての失敗を致命的エラーにします。 この場合、プロセスは .Fn abort 3 が呼び出します。 .It J .Fn malloc , .Fn realloc , .Fn reallocf に割り当てられる新規のメモリ、同様に .Fn free , .Fn realloc , .Fn reallocf で返されるメモリの各バイトを 0xd0 に初期化します。 このオプションは .Dq R オプションもセットします。 これはデバッグ用のオプションで、パフォーマンスの低下に強い影響を与えます。 .It H 割り当て関数で使用されないページに関するヒントをカーネルに与えます。 システムが過度にページングを行なっている場合はパフォーマンスが向上します。 このオプションは、デフォルトでオフになっています。 .It R 最初の割り当てが十分に大きい場合であっても、 .Fn realloc 関数と .Fn reallocf 関数が常にメモリの再割り当てをするようになります。 メモリを圧縮する場合の大きな助けとなります。 .Pp .It U すべてのオペレーションで、 .Xr ktrace 1 のための .Dq utrace エントリを生成します。 このオプションの詳細については、ソースを参照してください。 .It V ゼロバイトを割り当てようとしたときに、 有効なポインタの代わりに NULL ポインタが返されるようになります。 ( デフォルトの動作では、最小の割り当てを行なってそのポインタを返します。 ) このオプションは System V との互換性のために提供されています。 このオプションは .Dq X オプションと適合しません。 .It X 割り当て関数でエラーを返す代わりに、 診断メッセージを stderr に 表示し、 ( .Xr abort 3 を使って ) プログラムを core に落します。 このオプションは、コンパイル時に、 ソースコードに以下を組み込むようにして設定するべきです。 .Bd -literal -offset indent extern char *malloc_options; malloc_options = "X"; .Ed .Pp .It Z このオプションを設定すると、 .Dq J オプションと .Dq R オプションが 設定され、要求されたバイト列にゼロが出力されます。 これはデバッグ用のオプションで、パフォーマンスの低下に強い影響を与えます。 .It < キャッシュサイズ 2 分の 1 にします。 デフォルトのキャッシュサイズは 16 ページです。 このオプションは複数回指定できます。 .It > キャッシュサイズを 2 倍にします。 デフォルトのキャッシュサイズは 16 ページです。 このオプションは複数回指定できます。 .El .Pp .Dq J オプションと .Dq Z オプションは、テストとデバッグ用です。 これらのオプションを使用しているときに 動作が変わるアプリケーションには欠陥があります。 .Sh 使用例 キャッシュサイズをシステム全体で小さくし、 問題が発生した場合は常にコアダンプを取るような設定は、 .Pp .Bd -literal -offset indent ln -s 'A<' /etc/malloc.conf .Ed .Pp プログラムがこれらの関数の呼出し時に戻り値をチェックしないことを ソースで明示するには、 .Bd -literal -offset indent extern char *malloc_options; malloc_options = "X"; .Ed .Sh 環境変数 以下の環境変数は、メモリ割り当て関数の実行に影響を与えます。 .Bl -tag -width MMM .It Ev MALLOC_OPTIONS 環境変数 .Ev MALLOC_OPTIONS を設定すると、この環境変数に含まれる文字は、 メモリ割り当て関数群のフラグとして解釈されます。 .Sh 戻り値 .Fn malloc 関数と .Fn calloc 関数は、成功した場合は割り当てられたメモリのポインタを返し、 それ以外の場合は NULL ポインタを返します。 .Pp .Fn realloc 関数と .Fn reallocf 関数は、成功した場合は .Fa ptr と同一の、割り当てられたメモリのポインタを戻します。 それ以外の場合は NULL ポインタを返します。 その場合でも .Fa ptr によって参照されるメモリは利用可能でそのまま残ります。 .Pp .Fn free 関数は値を返しません。 .Pp .Sh MALLOC の問題のデバッグ この実装は、解放されているページには、割り当てられていない限り アクセスされず、再利用のためにカーネルに積極的に返されるという点が、 他 ( のシステム ) のメモリ割り当ての実装と大きく異なります。 .Bd -filled -offset indent ほとんど ( のシステム ) のメモリ割り当ての実装では、 リンクドリストを含んだデータ構造が、 解放されているメモリのかたまりの中に保存され、 解放されているすべてのメモリを互いに結合するために使用されます。 解放リストが横切るたびに、 未使用のはずの、ページアウトされているようなページが、 プライマリメモリに入るためにページフォルトを起こすため、 これは最適とは言えません。 ページングを行なうシステムでは、 一つのプロセスによって生じるページフォルトの数が 5 倍に増加する結果となることがあります。 .Pp このアーキテクチャには、これまでは検出されなかった、インタフェースの 細々とした違反が実際に検出されるようになるという副作用があります。 このため、ずっと問題なく動いていたプログラムが、この割り当ての実装と リンクしたとたんに問題が続出することがあります。 .Pp 最初にするべきこと、そしてもっとも重要なことは .Dq A オプションを設定することです。 このオプションを設定すると、 できるだけ処理を継続しようとする通常の方針をとるかわりに 問題が発生したときに (可能であれば) コアダンプを強制的に取ります。 .Pp デバッガのサポートのために、 適切なオプションとシンボルでプログラムを再コンパイルするのが おそらく賢明です。 .Pp プログラムが、通常とは異なる結果を出したり、コアダンプしたり、 次のセクションで挙げるようなメッセージを出さずに 違ったふるまいをし始めるような場合は、 プログラムがナルバイトで満たされている記憶領域に依存している場合だと 思われます。 .Dq Z オプションを設定して実行してみてください。 状況が好転した場合は、この診断が正しかったことになります。 これでもプログラムがおかしなふるまいをするようなら、 割り当てられた領域以外のメモリ、 大抵は割り当てられた領域の前方ではなく後方にアクセスするという問題だと 思われます。 .Pp あるいは、症状が容易に再現しない場合は、 .Dq J オプションを設定すると問題を起こす助けになるかもしれません。 .Pp 本当に難しい状況では、カーネルで .Dq U オプションがサポートされている場合はそれを設定すると、 これらの関数のすべての呼出しの詳細なトレースが作成されます。 .Pp あいにく、この実装では、検出された問題に関する詳細は提供されません。 そのような情報を保存することで、パフォーマンスが悪影響を受けるためです。 パフォーマンスと引き換えにいっそうの健全さのチェックと詳細な診断を行ない、 問題の検出と位置の特定に焦点を当てた、 利用可能なメモリ割り当ての実装がインターネットには数多くあります。 .Sh 診断メッセージ .Fn malloc , .Fn calloc , .Fn realloc , .Fn free がエラーや警告を検出すると、 メッセージがファイル記述子 STDERR_FILENOに出力されます。 エラーはコアダンプとなります。 .Dq A オプションを設定すると、すべての 警告はエラーとして扱われます。 .Pp 以下では、出力される可能性があるエラーメッセージとその意味について 簡単に説明します。 .Bl -tag -width indent .It "(ES): mumble mumble mumble .Dq EXTRA_SANITY が定義された状態でメモリ割り当て関数がコンパイルされており、 詳細なエラーチェック中にエラーが検出されました。 詳細については、ソースコードを参照してください。 .It "allocation failed .Dq A オプションを指定している場合は、メモリ割り当て関数が失敗すると 致命的なエラーとなります。 .It "mmap(2) failed, check limits システムが危険な過負荷な状態であるか、プロセスの制限が正しく 指定されていないと思われます。 .It "freelist is destroyed 内部の解放リストが壊れています。 .El .Pp .Bl -tag -width indent 以下では、出力される可能性がある警告メッセージとその意味について 簡単に説明します。 .It "chunk/page is already free すでに解放されているメモリを .Fn free で解放しようとしました。 .It "junk pointer ... メモリ割り当て関数に与えられたポインタが、 認識されているメモリ境界の外側を指しています。 .It "malloc() has never been called メモリが割り振られていないにも関わらず、解放しようとしたり、 再割り当てしようとしました。 .It "modified (chunk-/page-) pointer .Fn free か .Fn realloc に渡されたポインタが書き換えられています。 .It "pointer to wrong page .Fn malloc か .Fn calloc が解放 (?) しようとしているポインタが、 正しいページを参照していません。 .It "recursive call メモリ割り当て関数を再帰的に呼び出そうとしました。 これは許可されていません。 特にシグナルハンドラでは、メモリの割り当てをするべきではありません。 .It "out of memory .Dq X オプションが指定されていて、かつ、メモリの割り割り当てに失敗しました。 .It "unknown char in MALLOC_OPTIONS 不明なオプションが指定されました。 .Dq A オプションを設定していても、この警告は単なる警告として扱われます。 .Sh 関連項目 .Xr brk 2 , .Xr alloca 3 , .Xr getpagesize 3 , .Xr memory 3 .Pa /usr/share/doc/papers/malloc.ascii.gz .Sh 規格 .Fn malloc , .Fn calloc , .Fn realloc , .Fn free 関数は .St -ansiC に準拠しています。 .Sh バグ 問題が発生した場合に出力されるメッセージは、 実際の値についての詳細を提供しません。 .Pp ゼロバイトを割り当てるように要求された場合に ヌルポインタを返すことは、 愚かな問いかけに対する愚かな反応であると言えます。 .Pp この実装の作者は、Poul-Henning Kamp です。 問題が発生した場合は、彼 .Li まで報告してください。 .Sh 歴史 現在のメモリ割り当ての実装は、 個々のゲルマニウムトランジスタで作成された、 20 ビットバイナリコンピュータに取り付けられたドラムの ファイルシステムとしてスタートしました。 それ以降は、二次保存域ではなく、一次保存域を操作するようになりました。 この新しい形態と機能は .Fx 2.2 で最初に現れました。 diff --git a/ja_JP.eucJP/man/man3/math.3 b/ja_JP.eucJP/man/man3/math.3 index 36b3e7d8a3..8c7a0d1f4b 100644 --- a/ja_JP.eucJP/man/man3/math.3 +++ b/ja_JP.eucJP/man/man3/math.3 @@ -1,575 +1,575 @@ .\" Copyright (c) 1985 Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)math.3 6.10 (Berkeley) 5/6/91 -.\" $Id: math.3,v 1.1.1.1 1999-12-09 16:26:01 kuriyama Exp $ +.\" %Id: math.3,v 1.7 1998/02/04 22:30:18 jlemon Exp % .\" .TH MATH 3M "May 6, 1991" .UC 4 .ds up \fIulp\fR .ds nn \fINaN\fR .de If .if n \\ \\$1Infinity\\$2 .if t \\ \\$1\\(if\\$2 .. .SH 名称 math \- 数学ライブラリ関数の導入 .SH 解説 この関数は、C の数学ライブラリ .I libm を構成します。リンクエディタは、\*(lq\-lm\*(rq オプションが指定されると、このライブラリを検索します。この関数の 宣言は、インクルードファイル .Ri < math.h > で入手できます。 .SH 関数リスト 以下のそれぞれの倍精度浮動小数点数関数は、単精度関数と対になっており、 名前が f で終わる関数は単制度浮動小数点数を扱います。たとえば acos(double x) は、浮動小数を扱う acosf(float x) と対になっています。 .sp .nf .ta \w'copysign'u+2n +\w'infnan.3m'u+10n +\w'inverse trigonometric func'u \fI名称\fP \fIページ\fP \fI解説\fP \fIエラー拘束 (ULP)\fP .ta \w'copysign'u+4n +\w'infnan.3m'u+4n +\w'inverse trigonometric function'u+6nC .sp 5p acos sin.3m 逆三角関数 3 acosh asinh.3m 逆双曲線関数 3 asin sin.3m 逆三角関数 3 asinh asinh.3m 逆双曲線関数 3 atan sin.3m 逆三角関数 1 atanh asinh.3m 逆双曲線関数 3 atan2 sin.3m 逆三角関数 2 cabs hypot.3m 複素絶対値 1 cbrt sqrt.3m 立方根 1 ceil floor.3m 以上の整数 0 copysign ieee.3m 符号ビットのコピー 0 cos sin.3m 三角関数 1 cosh sinh.3m 双曲線関数 3 erf erf.3m 誤差関数 ??? erfc erf.3m 補足誤差関数 ??? exp exp.3m 指数 1 expm1 exp.3m exp(x)\-1 1 fabs floor.3m 絶対値 0 floor floor.3m 以下の整数 0 hypot hypot.3m ユークリッド距離 1 ilogb ieee.3m 指数抽出 0 j0 j0.3m ベッセル関数 ??? j1 j0.3m ベッセル関数 ??? jn j0.3m ベッセル関数 ??? lgamma lgamma.3m 対数ガンマ関数(旧 gamma.3m) log exp.3m 自然対数 1 log10 exp.3m 底が10の対数 3 log1p exp.3m log(1+x) 1 pow exp.3m 指数 x**y 60\-500 remainder ieee.3m 余り 0 rint floor.3m 最も近い整数に丸める 0 scalbn ieee.3m 指数調整 0 sin sin.3m 三角関数 1 sinh sinh.3m 双曲線関数 3 sqrt sqrt.3m 平方根 1 tan sin.3m 三角関数 3 tanh sinh.3m 双曲線関数 3 y0 j0.3m ベッセル関数 ??? y1 j0.3m ベッセル関数 ??? yn j0.3m ベッセル関数 ??? .ta .fi .SH 注釈 カリフォルニア大学から 1985 年末に配布された 4.3 BSD では、上記の関数に 2 つのバージョンが用意されています。1 つは DEC VAX\-11 ファミリの コンピュータの倍精度 "D" フォーマットで、もう 1 つは IEEE 754 標準の バイナリ浮動小数点数演算に準拠した倍精度演算です。 UNIX が誕生したときのものよりも、他のプログラムが正確で頑丈になったこと から予想できるように、この 2 つのバージョンも、非常に似たような 挙動を示します。たとえば、これらのプログラムは、上の表の \*(ups の 数以内で正確です。\*(up は、最終桁の単位です。これらのプログラムは、 かつての数学ライブラリ \fIlibm\fR で発生していた異常状態を修正しました。 この異常状態が発生すると、以下のような結果が得られていました。 .RS sqrt(\-1.0) = 0.0 であり log(\-1.0)= \-1.7e38 .br cos(1.0e\-11) > cos(0.0) > 1.0 .br x = 2.0, 3.0, 4.0, ..., 9.0 のときに、pow(x,1.0) .if n \ != .if t \ \(!= x .br pow(\-1.0,1.0e10) が整数オーバフロー例外を起こしていた sqrt(1.0e30) と sqrt(1.0e\-30) の計算が非常に遅かった .RE しかしこの 2 つのバージョンには、説明しなければならない 違いがあります。以下に注意してください。 .PP \fBDEC VAX\-11 D_floating\-point:\fR .PP これは、オリジナルの数学ライブラリ \fIlibm\fR が開発されたフォーマット であり、このマニュアルが原則的に依って立つフォーマットです。これは、 PDP\-11 および初期の VAX\-11 マシンの倍精度フォーマットです。 1983 年以降の VAX\-11 は、IEEE 倍精度フォーマットにより近い、 オプションの "G" フォーマットを備えています。初期の DEC MiroVAX には D フォーマットがなく、G 倍精度のみが 備わっています。 .PP D_floating\-point のプロパティ: .RS ワードサイズ: 64 ビット、8 バイト。基数: バイナリ。 .br 精度: 56 ビット、10 進数で約 17 桁。 .RS x と x' が連続した正の D_floating\-point 浮動小数点数 (1 \*(up ずつ異なる) である場合は、 .br 1.3e\-17 < 0.5**56 < (x'\-x)/x \(<= 0.5**55 < 2.8e\-17 .br となる。 .RE .nf .ta \w'Range:'u+1n +\w'Underflow threshold'u+1n +\w'= 2.0**127'u+1n 範囲: オーバフローしきい値 = 2.0**127 = 1.7e38 アンダーフローしきい値 = 0.5**128 = 2.9e-39 注意: この範囲は相対的に狭くなっています。 .ta .fi .RS オーバフローが発生すると、計算は常に中断されます。 .br アンダーフローが発生すると、ゼロになります。 .br 警告: .RS アンダーフローにより、x .if n \ != .if t \ \(!= y で x\-y = 0 となる可能性があります。同じように、 x > y > 0 であっても、x\(**y = 0 もしくは y/x = 0 ということが警告なしに発生してしまいます。 .RE .RE ゼロは曖昧に表現されます。 .RS ハードウェアでは、2**55 通りのゼロの表現を受理しますが、 生成されるものは明らかな表現だけです。 VAX には -0 がありません。 .RE VAX アーキテクチャには無限 ( .If ) もありません。 .br 予約オペランド: .RS ハードウェアは 2**55 通りを認識しますが、生成されるものは 1 つだけです。 予約オペランドに対する浮動小数演算は、MOVF や MOVD でさえ計算を中断する ので、あまり使用されません。 .RE 例外: .RS ゼロ除算とオーバフローするオペレーションは不正なオペレーションで、 計算は中断されます。古いマシンでは予約オペランドが作成され、 計算が中断されます。 .RE 丸め: .RS (PDP\-11 では必ずしもそうとは言えませんが) VAXでのすべての有理数演算 (+, \-, \(**, /) は、オーバフロー、アンダーフロー、ゼロ除算が 発生しない場合、\*(up の半分以内に丸められます。丸め誤差が \*(up のちょうど半分である場合、丸めは 0 から離れます。 .RE .RE .PP 範囲が狭いことを別にすると、D_floating\-point は、1960 年代に設計された ものとしては優れたコンピュータ算術演算のひとつです。 D_floating\-point のプロパティは、4.3 BSD で配布された VAX の 基本的な関数に忠実に反映されています。オーバフローや アンダーフローが発生するのは、結果が範囲外になるか範囲外に非常に近い 場合のみで、その場合はオーバフローやアンダーフローを起こす有理算術 オペレーションと同じような動作をします。同じように、log(0) と atanh(1) のような式は 1/0 のように動作し、sqrt(\-3) と acos(3) は 0/0 のように動作します。これらはすべて予約オペランドを作成し、 計算は中断されます。この状況については、 それぞれのマニュアルページで詳しく説明します。 .RS .ll -0.5i このレスポンスは厳し過ぎるので、すべての浮動小数演算の例外を適切に 処理するように開発された、柔軟で統一されたスキームで近い将来に 置き換えられる予定です。 .\" See infnan(3M) for the present state of affairs.\fR .ll +0.5i .RE .PP UNIX 用 4.3 BSD の新しい \fIlibm\fR の関数を DEC の VAX/VMS ライブラリと 比較すると、一部の VMS 関数は多少速く、一部は多少精度が高く、一部は かなり例外に厳しくなって(pow(0.0,0.0) と atan2(0.0,0.0) など)おり、 ほとんどは、\fIlibm\fR よりも多くのメモリを使用します。 VMS コードは、大きいテーブルで補間して速さと精度を達成しています。 \fIlibm\fR コードは、将来はすべてが ROM に収まりそうなほど 小型で相当工夫を凝らした式を使用しています。 .PP それより重要なことは、DEC が VMS コードを特許とみなし、許可なく 使用することを厳しく禁じているのに対し、4.3 BSD の \fIlibm\fR コードは public domain を意図しているということです。つまり、 出所を常に明らかにして、ユーザがコードを使用した感想を報告して コードの作者の研究に協力する限りにおいて、\fIlibm\fR コードは自 由にコピーできます。それゆえ、算術処理が VAX D_floating\-point に似ているマシンの UNIX ユーザであっても、新しい \fIlibm\fR よりも 劣るものを使用する必要がないということです。 .PP \fBIEEE STANDARD 754 浮動小数点数算術演算:\fR .PP この標準は、他のコンピュータ算術演算方式よりも広く 採用されてきています。以下のような多くのメーカが、この標準の一部の バージョンに準拠した VLSI チップを製造しています。 .nf .ta 0.5i +\w'Intel i8070, i80287'u+6n Intel i8087, i80287 National Semiconductor 32081 Motorola 68881 Weitek WTL-1032, ... , -1165 Zilog Z8070 Western Electric (AT&T) WE32106. .ta .fi この他にも、ソフトウェアによる実装 (Apple Macintosh は完璧にそれ) から、 Hewlett-Packard 9000 シリーズの VLSI による実装や、果ては ECL を 駆使し、3 Megaflop を達成した ELXSI 6400 まで極めて広い実装の幅を 誇ります。他の企業の中には、丸め、オーバフロー、アンダーフロー などの例外の処理でこの標準の方法に従わずに、IEEE 754 のフォーマット だけを採用しています。 DEC VAX G_floating\-point フォーマットは、IEEE 754 Double フォーマットに非常に似ているので、上に挙げたほとんどの初等関数の IEEE バージョンの C プログラムは、MicroVAX で実行するように簡単に 変換できますが、わざわざ変換してやろうという人はいないようです。 .PP 4.3 BSD \fIlibm\fR のコードのうち、IEEE 754 準拠マシン用のものは、 National Semi. 32081 と WTL 1164/65 用になっています。 Intel チップや Zilog チップ、または Apple Macintosh か ELXSI 6400 でこのコードを使用する場合は、これらの企業が提供するよりよいコード (無料になると思われる) か、上のコードの作者が設計した コードを使用することになります。 \fIatan\fR, \fIcabs\fR, \fIcbrt\fR, \fIerf\fR, \fIerfc\fR, \fIhypot\fR, \fIj0\-jn\fR, \fIlgamma\fR, \fIpow\fR, \fIy0\-yn\fR を除けば、 Motorola 68881 は \fIlibm\fR のすべての関数をチップに搭載し、 しかもより速く正確になっています。 Motorola, Apple, i8087, z8070, WE32106 では、 有効桁数 64 ビットを使用しています。4.3 BSD の \fIlibm\fR コードには、 public domain を意図しているという長所があります。 出所を常に明らかにし、ユーザがコードを使用した感想を報告して 作者の研究に協力すれば、\fIlibm\fR コードは自由にコピーできます。 算術演算が IEEE 754 に似ているマシンの UNIX ユーザは、新しい \fIlibm\fR に劣るものを使用する必要がないということです。 .PP IEEE 754 Double-Precision のプロパティ: .RS ワードサイズ: 64 ビット、8 バイト、基数: バイナリ .br 精度: 53 ビット、(10 進数で) 約 16 桁。 .RS x と x' が連続した正の倍精度浮動小数点数である (1 \*(up ずつ異なる) 場合は、 .br 1.1e\-16 < 0.5**53 < (x'\-x)/x \(<= 0.5**52 < 2.3e\-16 となる。 .RE .nf .ta \w'範囲:'u+1n +\w'アンダーフロー閾値'u+1n +\w'= 2.0**1024'u+1n 範囲: オーバフローしきい値 = 2.0**1024 = 1.8e308 アンダーフローしきい値 = 0.5**1022 = 2.2e-308 .ta .fi .RS オーバフローが発生すると、デフォルトで符号付きの無限になります。 アンダーフローは 0.5**1074 = 4.9e-324 の倍数の整数のうち最も 近いものに段階的に丸められます。 .RE ゼロは、+0 か \-0 のようにあいまいに表現されます。 .RS 符号は乗算か除算で正しく変換され、符号付きゼロの加算で維持されます。 しかし x が有限の 場合、x\-x は +0 になります。0 の符号が 問題になる演算は、0 除算と copysign(x,\(+-0) のみです。 とくに比較 (x > y, x \(>= y など) はゼロの符号から 影響を受けませんが、有限な値 x = y である場合は、 .If \&= 1/(x\-y) .if n \ != .if t \ \(!= \-1/(y\-x) = .If \- になります。 .RE .If は符号付きです。 .RS .If をそれ自身か有限の数値に加算しても 無限は維持されます。 .If の符号は乗算と除算で正しく変換され、 .If (有限値)/\(+- \0=\0\(+-0 (非ゼロ値))/0 = .If \(+- になります。しかし、 .if n \ 無限\-無限, 無限\(**0, 無限/無限 .if t \ \(if\-\(if, \(if\(**0, \(if/\(if は、0/0 や sqrt(\-3) と同様に不正な演算であり、\*(nn が生成されます。 .RE 予約オペランド: .RS 2**53\-2 通りの予約オペランドがあり、すべて \*(nn (\fIN\fRot \fIa N\fRumber) と呼ばれます。一部は発信 \*(nn と呼ばれ、それに対して浮動小数点演算を実行するとトラップが発生します。 値の欠落か未初期化、または配列の存在しない要素をマークするために 使用されます。その他は無発信 \*(nn と呼ばれます。これは 不正演算の結果のデフォルト値で、それ以後の算術演算に影響が波及します。 x .if n \ != .if t \ \(!= x である場合、x は \*(nn です。その他すべての論理演算 (x > y, x = y, x < y など) は、\*(nn が関係する場合は 偽になります。 .br 注意: \*(nn は三分法を妨害します。 .RS \*(nn が関係する場合、純粋な (不) 等値演算ではなく 順序付け比較を伴う論理演算は 偽になるだけでなく、不正演算となります。 .RE .RE 丸め: .RS デフォルトでは、すべての代数演算 (+, \-, \(**, /, .if n \ sqrt) .if t \ \(sr) は、\*(up の半分以内に丸められます。丸め誤差が \*(up のちょうど半分である場合、丸めた値の最下位有効ビットはゼロになります。 通常はこのような丸めが最適で、たとえば x = 1.0, 2.0, 3.0, 4.0, ..., 2.0**52 である場合、商と積の両方が丸められるにも関わらず、 (x/3.0)\(**3.0 == x, (x/10.0)\(**10.0 == x, ... になります。このような結果となるのは、IEEE 754 のような丸めのみです。 しかし 1 つの丸めがどの状況でも最適であるとは限らないため、 IEEE 754 では、ゼロへの丸め、 .If + への丸め、 .If - への丸めをプログラマが選択できるようになっています。最低でも 1.0e\-10 から 1.0e37 くらいまででは、 バイナリと小数の変換に同じ種類の丸めを指定できます。 .RE 例外: .RS IEEE 754 では、5 種類の浮動小数例外が認識されます。 以下では、重要な順にその 5 種類を挙げます。 .RS .nf .ta \w'Invalid Operation'u+6n +\w'Gradual Underflow'u+2n 例外 デフォルトの結果 .tc \(ru .tc 不正演算 \*(nn, または偽 .if n \{\ オーバフロー \(+-無限 ゼロ除算 \(+-無限 \} .if t \{\ オーバフロー \(+-\(if ゼロ除算 \(+-\(if \} アンダーフロー 段階的アンダーフロー 不精密 丸めた値 .ta .fi .RE 注意: 例外は、適切に処理されればエラーではありません。 例外を例外的なものにしてしまうのは、すべての例を満たす デフォルトレスポンスがない場合です。逆に、デフォルトレスポンスが ほとんどの例を満たす場合、それでも満たされない例を、 例外が発生するたびに演算を中断するという手で正当化することは できません。 .RE .PP IEEE 754 では、それぞれの浮動小数例外のためにフラグを 用意しています。このフラグは例外が発生するたびに上がり、プログラムで リセットするまで、上がった状態で残ります。プログラムでは、フラグのテスト、 保存、復元もできます。 IEEE 754 には、デフォルトの結果が満足の行くものでない 例外にプログラムで対処する方法として、以下の 3 つがあります。 .IP 1) \w'\0\0\0\0'u 後で例外の原因となる可能性がある条件をテストし、その テスト結果に従って処理を変えて例外を避ける。 .IP 2) \w'\0\0\0\0'u フラグをテストし、プログラムで最後にフラグをリセット してから例外が発生したかどうかを確認する。 .IP 3) \w'\0\0\0\0'u 結果をテストし、1 つの例外のみが発生する値であるかどうかを確認する。 .RS 警告: アンダーフローが発生したかどうかを確実に発見するには、 積や商がアンダーフローしきい値よりゼロに近いかどうかをテスト するか、アンダーフローフラグをテストするしかありません。 (IEEE 754 では、和と差がアンダーフローを起こすことはありません。 x .if n \ != .if t \ \(!= y である場合、x\-y は完全に正確で、値が小さくてもゼロではありません。 ) 段階的にアンダーフローを起こす積と商は、徐々に精度を失っても ゼロにはならないため、ゼロと比較しても (VAX で実行する可能性がある)、 ロスは明らかになりません。段階的にアンダーフローを起こした値を アンダーフローしきい値より大きい値と加算する場合、段階的な アンダーフローで失われる桁は切り捨てられるので失われません。 このため、通常の場合、段階的なアンダーフローは無視できることがあります。 ゼロにフラッシュされるアンダーフローでは、同じことが正しいとは限りません。 .RE .PP IEEE 754 に準拠するシステムでは、以下のような方法でも例外に 対処できます。 .IP 4) \w'\0\0\0\0'u 異常終了 (ABORT)。このメカニズムでは、「ON ERROR GO TO」のような エラー処理ステートメントに関連する方法で処理する事がらとして、例外を 前もって分類します。言語が異なれば、このステートメントの形式は 変わりますが、次のような共通した特徴があります。 .IP \(em \w'\0\0\0\0'u 例外を起こした演算結果の値を代用し、式の途中から計算を 再開する方法がなくなります。例外の結果は放棄されます。 .IP \(em \w'\0\0\0\0'u エラー処理ステートメントがないサブプログラムでは、どの プログラムが呼び出してもそのサブプログラムは例外のために異常終了し、 エラー処理ステートメントが見つかるまでサブプログラムが次々に呼び 出されるか、タスク全体が異常終了してメモリのダンプが取られます。 .IP 5) \w'\0\0\0\0'u 停止(STOP)。対話型のデバッグ環境が必要になるこのメカニズムは、 プログラマ用であってプログラム向きではありません。例外はプログラマの 間違いの兆候として前もって分類されます。例外が発生すると、例外を起こした オペレーションの近くで実行が停止されるので、プログラマは、例外がどのように 発生したのかを確認できます。多くの場合は、最初の数個の例外は大きな 問題ではなく、プログラマはそれぞれの例外が発生するたびに、実行が 停止されなかったかのように実行を再開できます。 .IP 6) \w'\0\0\0\0'u \&... その他の方法については、この文書では説明しません。 .RE .PP 例外処理には、範囲 (scope) という重大な問題があります。問題の解決策は 分かっていますが、人手不足のため、4.3 BSD の \fIlibm\fR で配布するとき までに完全に実現できませんでした。理想的には、それぞれの初等関数を、 次のような意味で分割せずに自動的に動作させる必要があります。 .IP i) \w'iii)'u+2n 関数に提供したデータが値しない例外を発生させない。 .IP ii) \w'iii)'u+2n 発生したすべての例外をその関数で識別し、サブルーチンでは 識別しない。 .IP iii) \w'iii)'u+2n 関数の定義が例外処理と関連しているにも関わらず、上記 5 つの 例外処理方法によって呼出し側プログラムを変更し、小さな関数の 内部処理を中断しない。 .PP プログラマが、デバッグ済みサブプログラムをユーザが気付かないような 小さなものに簡単にできるようになれば理想的です。しかし、小さな関数の 3 つすべての特徴をシミュレートすることは、多くのテスト、保存、復元が 伴うため、厄介な作業になっています。現在、この不便さを改善する作業が 進んでいます。 .PP この作業が進むまで、\fIlibm\fR の関数はそれほど小さくなりませんが、 以下の場合を除き、不適切な例外を発生させません。 .RS オーバフロー/アンダーフロー .RS 正しく計算した結果が、範囲内に収まっている場合。 .RE \fIcabs\fR, \fIcbrt\fR, \fIhypot\fR, \fIlog10\fR, \fIpow\fR の不正。 .RS エラーの偶発的な取り消しによって正確になった場合。 .RE .RE その他の場合 .RS 不正演算は、以下のような場合にのみ発生します。 .RS \*(nn 以外の結果が誤っていると思われる場合。 .RE オーバフローは、以下のような場合にのみ発生します。 .RS 正しい結果が有限であるが、オーバフローしきい値を 越えている場合。 .RE ゼロ除算は、以下のような場合にのみ発生します。 .RS 有限演算で、関数が無限の値を受けた場合。 .RE アンダーフローは、以下のような場合にのみ発生します。 .RS 正しい結果がゼロではないが、アンダーフローしきい値より 小さい場合。 .RE 不正確は、以下のような場合にのみ発生します。 .RS 正しい結果の表現に、より広い範囲かより高い精度が必要な 場合。 .SH バグ 信号が適切である場合、その信号はコードの特定オペレーションから 発信されているので、上記の手法 5) を使用している場合は、 サブルーチンをトレースしてその信号を発している関数を特定する 必要があります。すべてのコードは、IEEE 754 のデフォルトを使用します。 つまり、すべてのゼロ除算をトラップしようとすると、 トラップしない場合にゼロ除算でも正しい結果を出すコードが中断されると いうことです。 .SH 関連項目 \fBfpgetround\fR(3), \fBfpsetround\fR(3), \fBfpgetprec\fR(3), \fBfpsetprec\fR(3), \fBfpgetmask\fR(3), \fBfpsetmask\fR(3), \fBfpgetsticky\fR(3) \fBfpresetsticky\fR(3) - IEEE 浮動小数インタフェース .SH 注釈 IEEE 754 とエクステンション p854 については、 1984 年 8 月に発行された、IEEE の雑誌『MICRO』を参照してください。 W. J. Cody らが「A Proposed Radix\- and Word\-length\-independent Standard for Floating-point Arithmetic」という記事の中で 説明しています。Apple Macintosh の Pascal, C, BASIC のマニュアル には、IEEE 754 の機能に関する分かりやすい説明があります。 IEEE の雑誌『COMPUTER vol. 14 no. 3』(1981 年 3 月) と 1979 年 10 月の 『ACM SIGNUM Newsletter Special Issue』の記事も役立ちますが、この 記事はのちに変更された標準仕様案に関係しています。 diff --git a/ja_JP.eucJP/man/man3/md2.3 b/ja_JP.eucJP/man/man3/md2.3 index b28167b3f7..d22c28907d 100644 --- a/ja_JP.eucJP/man/man3/md2.3 +++ b/ja_JP.eucJP/man/man3/md2.3 @@ -1,169 +1,169 @@ .\" .\" ---------------------------------------------------------------------------- .\" "THE BEER-WARE LICENSE" (Revision 42): .\" wrote this file. As long as you retain this notice you .\" can do whatever you want with this stuff. If we meet some day, and you think .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: md2.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" %Id: md2.3,v 1.13 1998/03/27 10:22:07 phk Exp % .\" .Dd October 9, 1996 .Dt MD2 3 .Os FreeBSD 2 .Sh 名称 .Nm MD2Init , .Nm MD2Update , .Nm MD2Pad , .Nm MD2Final , .Nm MD2End , .Nm MD2File , .Nm MD2Data .Nd RSA Data Security .Sh 書式 .Fd #include .Fd #include .Ft void .Fn MD2Init "MD2_CTX *context" .Ft void .Fn MD2Update "MD2_CTX *context" "const unsigned char *data" "unsigned int len" .Ft void .Fn MD2Pad "MD2_CTX *context" .Ft void .Fn MD2Final "unsigned char digest[16]" "MD2_CTX *context" .Ft "char *" .Fn MD2End "MD2_CTX *context" "char *buf" .Ft "char *" .Fn MD2File "const char *filename" "char *buf" .Ft "char *" .Fn MD2Data "const unsigned char *data" "unsigned int len" "char *buf" .Sh 解説 MD2 関数群は、任意の数の入力バイトに対して 128 ビット暗号チェックサム ( ダイジェスト ) を計算します。 暗号チェックサムは一方向ハッシュ関数なので 特定出力に対応する入力を ( 徹底的な検索を除いて ) 見つけることはできません。 結果的には入力データの「指紋」しか見つからず、 実際の入力が明らかになることはありません。 .Pp MD2 は最も遅く、 MD4 は最も高速で、 MD5 はその中間です。 MD2 は、プライバシが重要なメールのみで使用できます。 MD4 には弱すぎると酷評されたため、 「安全ベルトを付けた MD4」として MD5 が開発されました。 疑わしいときは MD5 を使用してください。 .Pp .Fn MD2Init , .Fn MD2Update , .Fn MD2Final 関数は中心的な関数群です。 MD2_CTX を割り当て、 .Fn MD2Init で初期化し、 .Fn MD2Update でデータを処理し、最後に .Fn MD2Final で結果を取り出してください。 .Pp .Fn MD2Pad は 計算を終了しないで、 .Fn MD2Final と同じ方法でメッセージデータをつめることができます。 .Pp .Fn MD2End は .Fn MD2Final のラッパで、 16 進 128 ビットを表現する 33 文字 ( 最後の「 \e0 」を含む ) の .Tn ASCII 文字列に戻り値を変換します。 .Pp .Fn MD2File はファイルのダイジェストを計算し、 .Fn MD2End を使用して結果を返します。 ファイルを開けない場合はヌルポインタを返します。 .Fn MD2Data はメモリに存在するデータのダイジェストを計算し、 .Fn MD2End を使用して結果を返します。 .Pp .Fn MD2End , .Fn MD2File , .Fn MD2Data の使用にあたっては .Ar buf を NULL ポインタとすることができます。 この場合は .Xr malloc 3 で割り当てられた文字列が返されるので、使用後は .Xr free 3 で割り当てを解除しなければなりません。 .Ar buf が NULL でない時は、少なくとも 33 文字分のバッファを 指していなければなりません。 .Sh 関連項目 .Xr md2 3 , .Xr md4 3 , .Xr md5 3 .Rs .%A B. Kaliski .%T The MD2 Message-Digest Algorithm .%O RFC 1319 .Re .Rs .%A R. Rivest .%T The MD4 Message-Digest Algorithm .%O RFC 1186 .Re .Rs .%A R. Rivest .%T The MD5 Message-Digest Algorithm .%O RFC 1321 .Re .Rs .%A RSA Laboratories .%T Frequently Asked Questions About today's Cryptography .Re .Sh 作者 オリジナルの MD2 ルーチンは、 .Tn RSA Data Security 社によって開発され、 上記のリファレンスで公開されました。 このコードは、 .An Poul-Henning Kamp Aq phk@login.dkuug.dk により、この実装から直接引き出されました。 .Pp Phk ristede runen. .Sh 歴史 この関数は、 .Fx 2.0 に現れました。 .Pp .Sh バグ 同じハッシュ値を持つような 2 つのファイルを見つける方法、 または特定のハッシュ値を持つようなファイルを見つける方法は 知られていません。 一方、そのような方法が存在しないという保証もありません。 .Pp MD2 は、プライバシが重要なメールに使用する場合のみライセンス供与されます。 その他の場合は MD4 か MD5 を使用してください。 .Pp .Sh COPYRIGHT Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All rights reserved. .Pp このソフトウェアの複製や使用のためのライセンスは、 このソフトウェアやこの関数について言及したり参照したりする すべての資料で 「 RSA Data Security 社の MD2 メッセージダイジェストアルゴリズム」 であることが明示されていれば、 プライバシが重要となる非営利インターネットメールに供与されます。 .Pp RSA Data Security 社は、このソフトウェアの商業性、またはこの 特定の目的に対するこのソフトウェアの適合性について表明しません。 このソフトウェアは、いかなる種類の、明示的または暗黙的な保証もなく、 「現状のまま」で提供されます。 .Pp この警告は、この文書かソフトウェア、またはその両方のすべてのコピーに 掲載しなければなりません。 diff --git a/ja_JP.eucJP/man/man3/md4.3 b/ja_JP.eucJP/man/man3/md4.3 index 8297abd454..622fce2ec6 100644 --- a/ja_JP.eucJP/man/man3/md4.3 +++ b/ja_JP.eucJP/man/man3/md4.3 @@ -1,167 +1,167 @@ .\" .\" ---------------------------------------------------------------------------- .\" "THE BEER-WARE LICENSE" (Revision 42): .\" wrote this file. As long as you retain this notice you .\" can do whatever you want with this stuff. If we meet some day, and you think .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: md4.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" %Id: md4.3,v 1.13 1998/03/27 10:22:07 phk Exp % .\" .Dd October 9, 1996 .Dt MD4 3 .Os FreeBSD 2 .Sh 名称 .Nm MD4Init , .Nm MD4Update , .Nm MD4Pad , .Nm MD4Final , .Nm MD4End , .Nm MD4File , .Nm MD4Data .Nd RSA Data Security 社の ``MD4'' メッセージダイジェストを計算する .Sh 書式 .Fd #include .Fd #include .Ft void .Fn MD4Init "MD4_CTX *context" .Ft void .Fn MD4Update "MD4_CTX *context" "const unsigned char *data" "unsigned int len" .Ft void .Fn MD4Pad "MD4_CTX *context" .Ft void .Fn MD4Final "unsigned char digest[16]" "MD4_CTX *context" .Ft "char *" .Fn MD4End "MD4_CTX *context" "char *buf" .Ft "char *" .Fn MD4File "const char *filename" "char *buf" .Ft "char *" .Fn MD4Data "const unsigned char *data" "unsigned int len" "char *buf" .Sh 解説 MD4 関数群は、任意の数の入力バイトについて 128 ビット暗号チェックサム ( ダイジェスト ) を計算します。 暗号チェックサムは一方向ハッシュ関数なので 特定出力に対応する入力を ( 徹底的な検索を除いて ) 見つけることはできません。 結果的には入力データの「指紋」しか見つからず、 実際の入力が明らかになることはありません。 .Pp MD2 は最も遅く、 MD4 は最も高速で、 MD5 はその中間です。 MD2 は、プライバシが重要なメールのみで使用できます。 MD4 は弱すぎると酷評されたため、 「安全ベルトを付けた MD4」として MD5 が開発されました。 疑わしいときは MD5 を使用してください。 .Pp .Fn MD4Init , .Fn MD4Update , .Fn MD4Final 関数は中心的な関数群です。 MD4_CTX を割り当て、 .Fn MD4Init で初期化し、 .Fn MD4Update でデータを処理し、最後に .Fn MD4Final で結果を取り出してください。 .Pp .Fn MD4Pad は、計算を終了しないで .Fn MD4Final と同じ方法でメッセージデータをつめることができます。 .Pp .Fn MD4End は .Fn MD4Final のラッパで、 16 進 128 ビットを表現する 33 文字 ( 最後の「 \e0 」を含む ) の .Tn ASCII 文字列に戻り値を変換します。 .Pp .Fn MD4File はファイルのダイジェストを計算し、 .Fn MD4End を使用して結果を返します。 ファイルを開けない場合はヌルポインタを返します。 .Fn MD4Data はメモリに存在するデータのダイジェストを計算し、 .Fn MD4End を使用して結果を返します。 .Pp .Fn MD4End , .Fn MD4File , .Fn MD4Data の使用にあたっては .Ar buf を NULL ポインタとすることができます。 この場合は .Xr malloc 3 で割り当てられた文字列が返されるので、使用後は .Xr free 3 で割り当てを解除しなければなりません。 .Ar buf が NULL でない時は、少なくとも 33 文字分のバッファを 指していなければなりません。 .Sh 関連項目 .Xr md2 3 , .Xr md4 3 , .Xr md5 3 .Rs .%A B. Kaliski .%T The MD2 Message-Digest Algorithm .%O RFC 1319 .Re .Rs .%A R. Rivest .%T The MD4 Message-Digest Algorithm .%O RFC 1186 .Re .Rs .%A R. Rivest .%T The MD5 Message-Digest Algorithm .%O RFC 1321 .Re .Rs .%A RSA Laboratories .%T Frequently Asked Questions About today's Cryptography .Re .Sh 作者 オリジナルの MD4 ルーチンは、 .Tn RSA Data Security 社によって開発され、 上記のリファレンスで公開されました。 このコードは、 .An Poul-Henning Kamp Aq phk@login.dkuug.dk により、この実装から直接引き出されています。 .Pp Phk ristede runen. .Sh 歴史 この関数は、 .Fx 2.0 で現れました。 .Sh バグ 同じハッシュ値を持つような 2 つのファイルを見つける方法、 または特定のハッシュ値を持つようなファイルを見つける方法は 知られていません。 一方、そのような方法が存在しないという保証もありません。 .Pp MD2 は、プライバシが重要なメールに使用する場合のみライセンス供与されます。 その他の場合は MD4 か MD5 を使用してください。 .Pp .Sh COPYRIGHT Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. .Pp このソフトウェアの複製や使用のためのライセンスは、 このソフトウェアやこの関数について言及したり参照したりする すべての資料で 「 RSA Data Security 社の MD2 メッセージダイジェストアルゴリズム」 であることが明示されていれば、 プライバシが重要となる非営利インターネットメールに供与されます。 .Pp RSA Data Security 社は、このソフトウェアの商業性、またはこの 特定の目的に対するこのソフトウェアの適合性について表明しません。 このソフトウェアは、いかなる種類の、明示的または暗黙的な保証もなく、 「現状のまま」で提供されます。 .Pp この警告は、この文書かソフトウェア、またはその両方のすべてのコピーに 掲載しなければなりません。 diff --git a/ja_JP.eucJP/man/man3/md5.3 b/ja_JP.eucJP/man/man3/md5.3 index d51a2f2ac0..6cb3b1f9d4 100644 --- a/ja_JP.eucJP/man/man3/md5.3 +++ b/ja_JP.eucJP/man/man3/md5.3 @@ -1,167 +1,167 @@ .\" .\" ---------------------------------------------------------------------------- .\" "THE BEER-WARE LICENSE" (Revision 42): .\" wrote this file. As long as you retain this notice you .\" can do whatever you want with this stuff. If we meet some day, and you think .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" $Id: md5.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" %Id: md5.3,v 1.13 1998/03/27 10:22:07 phk Exp % .\" .Dd October 9, 1996 .Dt MD5 3 .Os FreeBSD 2 .Sh 名称 .Nm MD5Init , .Nm MD5Update , .Nm MD5Pad , .Nm MD5Final , .Nm MD5End , .Nm MD5File , .Nm MD5Data .Nd RSA Data Security 社の ``MD5'' メッセージダイジェストを計算する .Sh 書式 .Fd #include .Fd #include .Ft void .Fn MD5Init "MD5_CTX *context" .Ft void .Fn MD5Update "MD5_CTX *context" "const unsigned char *data" "unsigned int len" .Ft void .Fn MD5Pad "MD5_CTX *context" .Ft void .Fn MD5Final "unsigned char digest[16]" "MD5_CTX *context" .Ft "char *" .Fn MD5End "MD5_CTX *context" "char *buf" .Ft "char *" .Fn MD5File "const char *filename" "char *buf" .Ft "char *" .Fn MD5Data "const unsigned char *data" "unsigned int len" "char *buf" .Sh 解説 MD5 関数群は、任意の数の入力バイトについて 128 ビット暗号チェックサム ( ダイジェスト ) を計算します。 暗号チェックサムは一方向ハッシュ関数なので 特定出力に対応する入力を ( 徹底的な検索を除いて) 見つけることはできません。 結果的には入力データの「指紋」しか見つからず、 実際の入力が明らかになることはありません。 .Pp MD2 は最も遅く、 MD4 は最も高速で、 MD5 はその中間です。 MD2 は、プライバシが重要なメールのみで使用できます。 MD4 は弱すぎると酷評されたため、 「安全ベルトを付けた MD4」として MD5 が開発されました。 疑わしいときは MD5 を使用してください。 .Pp .Fn MD5Init , .Fn MD5Update , .Fn MD5Final 関数は中心的な関数群です。 MD5_CTX を割り当て、 .Fn MD5Init で初期化し、 .Fn MD5Update でデータを処理し、最後に .Fn MD5Final で結果を取り出してください。 .Pp .Fn MD5Pad は、計算を終了しないで .Fn MD5Final と同じ方法でメッセージデータをつめることができます。 .Pp .Fn MD5End は .Fn MD5Final のラッパで、 16 進 128 ビットを表現する 33 文字 ( 最後の「 \e0 」を含む ) の .Tn ASCII 文字列に戻り値を変換します。 .Pp .Fn MD5File はファイルのダイジェストを計算し、 .Fn MD5End を使用して結果を返します。 ファイルを開けない場合はヌルポインタを返します。 .Fn MD5Data はメモリに存在するデータのダイジェストを計算し、 .Fn MD5End を使用して結果を返します。 .Pp .Fn MD5End , .Fn MD5File , .Fn MD5Data の使用にあたっては .Ar buf を NULL ポインタとすることができます。 この場合は .Xr malloc 3 で割り当てられた文字列が返されるので、使用後は .Xr free 3 で割り当てを解除しなければなりません。 .Ar buf が NULL でない時は、少なくとも 33 文字分のバッファを 指していなければなりません。 .Sh 関連項目 .Xr md2 3 , .Xr md4 3 , .Xr md5 3 .Rs .%A B. Kaliski .%T The MD2 Message-Digest Algorithm .%O RFC 1319 .Re .Rs .%A R. Rivest .%T The MD4 Message-Digest Algorithm .%O RFC 1186 .Re .Rs .%A R. Rivest .%T The MD5 Message-Digest Algorithm .%O RFC 1321 .Re .Rs .%A RSA Laboratories .%T Frequently Asked Questions About today's Cryptography .Re .Sh 作者 オリジナルの MD5 ルーチンは、 .Tn RSA Data Security 社によって開発され、 上記のリファレンスで公開されました。 このコードは、 .An Poul-Henning Kamp Aq phk@login.dkuug.dk により、この実装から直接引き出されています。 .Pp Phk ristede runen. .Sh 歴史 この関数は、 .Fx 2.0 で現れました。 .Sh バグ 同じハッシュ値を持つような 2 つのファイルを見つける方法、 または特定のハッシュ値を持つようなファイルを見つける方法は 知られていません。 一方、そのような方法が存在しないという保証もありません。 .Pp MD2 は、プライバシが重要なメールに使用する場合のみライセンス供与されます。 その他の場合は MD4 か MD5 を使用してください。 .Pp .Sh COPYRIGHT Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. .Pp このソフトウェアの複製や使用のためのライセンスは、 このソフトウェアやこの関数について言及したり参照したりする すべての資料で 「 RSA Data Security 社の MD2 メッセージダイジェストアルゴリズム」 であることが明示されていれば、 プライバシが重要となる非営利インターネットメールに供与されます。 .Pp RSA Data Security 社は、このソフトウェアの商業性、またはこの 特定の目的に対するこのソフトウェアの適合性について表明しません。 このソフトウェアは、いかなる種類の、明示的または暗黙的な保証もなく、 「現状のまま」で提供されます。 .Pp この警告は、この文書かソフトウェア、またはその両方のすべてのコピーに 掲載しなければなりません。 diff --git a/ja_JP.eucJP/man/man3/memcmp.3 b/ja_JP.eucJP/man/man3/memcmp.3 index f6634ee8ff..84f1c46ce1 100644 --- a/ja_JP.eucJP/man/man3/memcmp.3 +++ b/ja_JP.eucJP/man/man3/memcmp.3 @@ -1,80 +1,80 @@ .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Chris Torek and the American National Standards Committee X3, .\" on Information Processing Systems. .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)memcmp.3 8.1 (Berkeley) 6/4/93 -.\" $Id: memcmp.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" %Id: memcmp.3,v 1.4 1997/02/22 15:03:23 peter Exp % .\" .Dd June 4, 1993 .Dt MEMCMP 3 .Os .Sh 名称 .Nm memcmp .Nd バイト列を比較する .Sh 書式 .Fd #include .Ft int .Fn memcmp "const void *b1" "const void *b2" "size_t len" .Sh 解説 .Fn memcmp 関数は、バイト列 .Fa b1 をバイト列 .Fa b2 と比較します。 両方のバイト列は、 .Fa len の長さのバイト列であるとみなされます。 .Sh 戻り値 .Fn memcmp 関数は、2 つのバイト列が一致する場合、ゼロを返します。 そうでない時は、最初に一致しなかった 2 つのバイト間の差 (unsigned char の値として扱われます。たとえば .Sq Li \e\200 は .Sq Li \&\e0 よりも大きくなります。 ) が返されます。 長さがゼロのバイト列は常に一致します。 .Sh 関連項目 .Xr bcmp 3 , .Xr strcasecmp 3 , .Xr strcmp 3 , .Xr strcoll 3 , .Xr strxfrm 3 .Sh 規格 .Fn memcmp 関数は、 .St -ansiC に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/memory.3 b/ja_JP.eucJP/man/man3/memory.3 index 62a2a25a0f..1644b38c0c 100644 --- a/ja_JP.eucJP/man/man3/memory.3 +++ b/ja_JP.eucJP/man/man3/memory.3 @@ -1,75 +1,75 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)memory.3 8.1 (Berkeley) 6/4/93 -.\" $Id: memory.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" %Id: memory.3,v 1.4 1997/02/22 15:03:13 peter Exp % .\" .Dd June 4, 1993 .Dt MEMORY 3 .Os BSD 4 .Sh 名称 .Nm malloc , .Nm free , .Nm realloc , .Nm calloc , .Nm alloca .Nd 一般的なメモリ割り当て操作 .Sh 書式 .Fd #include .Ft void * .Fn malloc "size_t size" .Ft void .Fn free "void *ptr" .Ft void * .Fn realloc "void *ptr" "size_t size" .Ft void * .Fn calloc "size_t nelem" "size_t elsize" .Ft void * .Fn alloca "size_t size" .Sh 解説 この関数は、呼出しプロセスのメモリの割り当てと解放を行ないます。 詳細については、それぞれのマニュアルページを参照してください。 .Pp .Sh 関連項目 .Xr alloca 3 , .Xr calloc 3 , .Xr free 3 , .Xr malloc 3 , .Xr realloc 3 .Pp .Sh 規格 この関数は、 .Fn alloca を除き、 .St -ansiC に 準拠しています。 .\"kuma 1999-11-10 diff --git a/ja_JP.eucJP/man/man3/mpool.3 b/ja_JP.eucJP/man/man3/mpool.3 index e6c1a3dae4..f941621ca5 100644 --- a/ja_JP.eucJP/man/man3/mpool.3 +++ b/ja_JP.eucJP/man/man3/mpool.3 @@ -1,212 +1,212 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)mpool.3 8.1 (Berkeley) 6/4/93 -.\" $Id: mpool.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" %Id: mpool.3,v 1.4 1997/02/22 14:57:51 peter Exp % .\" .TH MPOOL 3 "June 4, 1993" .UC 7 .SH 名称 mpool \- 共有メモリバッファプール .SH 書式 .nf .ft B #include #include MPOOL * mpool_open (DBT *key, int fd, pgno_t pagesize, pgno_t maxcache); void mpool_filter (MPOOL *mp, void (*pgin)(void *, pgno_t, void *), .ti +5 void (*pgout)(void *, pgno_t, void *), void *pgcookie); void * mpool_new (MPOOL *mp, pgno_t *pgnoaddr); void * mpool_get (MPOOL *mp, pgno_t pgno, u_int flags); int mpool_put (MPOOL *mp, void *pgaddr, u_int flags); int mpool_sync (MPOOL *mp); int mpool_close (MPOOL *mp); .ft R .fi .SH 解説 .IR Mpool は、ページを基準にした、ファイルのバッファ管理を行なう ライブラリインタフェースです。バッファはプロセス間で共有できます。 .PP 関数 .I mpool_open はメモリプールを初期化します。引数 .I key は、バッファ を共有する複数のプロセス間でネゴシエートするために使われるバイトストリングです。 ファイルバッファが共有メモリにマップされた場合は、同じキーを 使用しているすべてのプロセスがバッファを共有します。 .I key がヌルである場合、バッファはプライベートメモリにマップされます。 引数 .I fd は、基礎となる ファイルのファイル記述子で、検索可能になっている必要があります。 .I key がヌルではなく、すでにマップされているファイルと一致する場合、引数 .I fd は無視されます。 .PP 引数 .I pagesize は、ファイルを分割するページのサイズ (バイト単位) です。引数 .I maxcach は、一度にキャッシュする、基礎となるファイルの最大ページ数です。 この値は、ファイルのバッファを共有するプロセス数とは 関係ありませんが、ファイルを共有するプロセスが指定した最大値になります。 .PP 関数 .I mpool_filter は、ページの透過的入出力処理を行ないます。 .I pgin 関数が指定されると、保存ファイルからメモリプールにバッファを 読み込むたびに呼び出されます。 .I pgout 関数が指定されると、保存ファイルにバッファが書き込まれるたびに 呼び出されます。どちらの関数も、 .I pgcookie ポインタ、ページ番号、読み書きを行なうページのポインタで呼び出されます。 .PP 関数 .I mpool_new は、MPOOL ポインタとアドレスを引数として取ります。 新しいページを割り振ることができる場合は、ページのポインタが返され、ページ番号が .I pgnoaddr アドレスに保存されます。割り振ることができない場合はヌルが返され、 .I errno が設定されます。 .PP 関数 .I mpool_get は、MPOOL ポインタとページ番号を引数として取ります。 ページが存在する場合は、ページのポインタが返されます。 ページが存在しない場合はヌルが返され、 .I errno がセットされます。フラグパラメータは、今のところ使用されていません。 .PP 関数 .I mpool_put は、 .I pgaddr が参照するページを解放します。 .I pgaddr は、あらかじめ .I mpool_get または .I mpool_new が返したアドレスでなければなりません。フラグの値は 以下の値の論理和によって指定されます。 .TP MPOOL_DIRTY ページが修正されており、保存ファイルに書き込む必要があります。 .PP 関数 .I mpool_put は、正常終了時には 0 を返し、エラーのときは -1 を返します。 .PP 関数 .I mpool_sync は、MPOOL ポインタに対して、変更されたすべてのページを 保存ファイルに書き込みます。 .I mpool_sync は、正常終了時には 0 を返し、エラーのときは -1 を返します。 .PP 関数 .I mpool_close は、メモリプールクッキーに対して割り振られたメモリを解放します。 修正されたページは、保存ファイルに書き込まれません。 .I mpool_close は、正常終了時には 0 を返し、エラーのときは -1 を返します。 .SH エラー 関数 .I mpool_open でエラーが発生すると、ライブラリルーチン .IR malloc (3) で指定されたエラーの .I errno がセットされます。 .PP 関数 .I mpool_get でエラーが発生すると、以下の .I errno がセットされます。 .TP 15 [EINVAL] 要求されたレコードが存在しない。 .PP 関数 .I mpool_new と .I mpool_get でエラーが発生すると、ライブラリルーチン .IR read (2) , .IR write (2) , .IR malloc (3) で指定されたエラーの .I errno がセットされます。 .PP 関数 .I mpool_sync でエラーが発生すると、ライブラリルーチン .IR write (2) で指定されたエラーの .I errno がセットされます。 .PP 関数 .I mpool_close でエラーが発生すると、ライブラリルーチン .IR free(3) で 指定したエラーの .I errno がセットされます。 .SH 関連項目 .IR dbopen (3), .IR btree (3), .IR hash (3), .IR recno (3) diff --git a/ja_JP.eucJP/man/man3/msgctl.3 b/ja_JP.eucJP/man/man3/msgctl.3 index df043ee3c0..4ac88ab14c 100644 --- a/ja_JP.eucJP/man/man3/msgctl.3 +++ b/ja_JP.eucJP/man/man3/msgctl.3 @@ -1,210 +1,210 @@ -.\" $NetBSD: msgctl.2,v 1.1 1995/10/16 23:49:15 jtc Exp $ +.\" %NetBSD: msgctl.2,v 1.1 1995/10/16 23:49:15 jtc Exp % .\" .\" Copyright (c) 1995 Frank van der Linden .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the NetBSD Project .\" by Frank van der Linden .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. .\" -.\" $Id: msgctl.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" %Id: msgctl.3,v 1.5 1997/11/23 17:58:36 bde Exp % .\"/ .Dd November 24, 1997 .Dt MSGCTL 3 .Os FreeBSD .Sh 名称 .Nm msgctl .Nd メッセージ制御オペレーション .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn msgctl "int msqid" "int cmd" "struct msqid_ds *buf" .Sh 解説 .Fn msgctl システムコールは、 .Fa msqid が指定するメッセージキューに対して制御オペレーションを実行します。 各メッセージキューには、それに関連したデータ構造体があります。 その一部は .Fn msgctl で変更できます。 .Fn msgctl のアクションを決めるデータ構造もあります。このデータ構造体は .Aq Pa sys/msg.h で定義され、以下のようなメンバが含まれています (その他のメンバも あります)。 .Bd -literal struct msqid_ds { struct ipc_perm msg_perm; /* メッセージキューのパーミッションビット */ struct msg *msg_first; /* キューの最初のメッセージ */ struct msg *msg_last; /* キューの最後のメッセージ */ u_long msg_cbytes; /* キューで使用しているバイト数 */ u_long msg_qnum; /* キューで使用しているメッセージ数 */ u_long msg_qbytes; /* キューで使用する最大バイト数 */ pid_t msg_lspid; /* 最後の msgsnd のプロセスID */ pid_t msg_lrpid; /* 最後の msgrcv のプロセスID */ time_t msg_stime; /* 最後の msgsnd の時間 */ long msg_pad1; time_t msg_rtime; /* 最後の msgrcv の時間 */ long msg_pad2; time_t msg_ctime; /* 最後の msgctl の時間 */ long msg_pad3; long msg_pad4[4]; }; .Ed .Pp .Bf -literal shmid_ds .Ef 構造体の中で使用される .Bf -literal ipc_perm .Ef 構造体は、 .Aq Pa sys/ipc.h で以下のように定義されています。 .Bd -literal struct ipc_perm { ushort cuid; /* 生成者のユーザID */ ushort cgid; /* 生成者のグループID */ ushort uid; /* ユーザID */ ushort gid; /* グループID */ ushort mode; /* r/w パーミッション */ ushort seq; /* シーケンス番号 (一意に生成された msg/sem/shm ID) */ key_t key; /* ユーザが指定した msg/sem/shm キー */ }; .Ed .Pp .Fn msgctl が実行するオペレーションは、以下のうちの 1 つで .Fa cmd で指定されます。 .Bl -tag -width IPC_RMIDX .It Dv IPC_STAT メッセージキューの情報を集め、 .Fa buf が指す構造体に配置します。 .It Dv IPC_SET .Fa msqid に関連する構造体の .Va msg_perm.uid フィールド、 .Va msg_perm.gid フィールド、 .Va msg_perm.mode フィールド、 .Va msg_qbytes フィールドの値を設定します。この値は、 .Fa buf が指す構造体で対応するフィールドから取られます。このオペレーションを 実行できるのは、スーパユーザ、またはメッセージキューに関連する データ構造体の .Va msg_perm.cuid か .Va msg_perm.uid と等しい実効ユーザ ID を持つプロセスのみです。 .Va msg_qbytes の値を増やせるのは、スーパユーザのみです。システム制限 ( .Aq Pa sys/msg.h の MSGMNB) を越えた .Va msg_qbytes の値は、その制限に切り捨てられます。 .It Dv IPC_RMID .Fa msqid が指定するメッセージキューを削除し、 .Fa msqid に関連する データを破壊します。スーパユーザ、または、キューに 関連するデータ構造体の .Va msg_perm.cuid または .Va msg_perm.uid の値が、実効ユーザ ID に等しいプロセスのみが、これを実行できます。 .El メッセージキューからの読込み権かメッセージキューへの書込み権 ( .Xr msgsnd 3 と .Xr msgrcv 3 参照) は、ファイルと同じように ( .Xr chmod 2 参照)、 .Va msg_perm.mode フィールドによって決まります。実効ユーザ ID は、 .Va msg_perm.cuid フィールドか .Va msg_perm.uid フィールドと一致し、実効グループ ID は、 .Va msg_perm.cgid か .Va msg_perm.gid と一致します。 .Sh 戻り値 問題なく終了すると 0 が戻されます。問題なく終了しないと -1 が戻され、 グローバル変数 .Va errno がそのエラーを示すように設定されます。 .Sh エラー .Fn msgctl は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EPERM .Fa cmd が IPC_SET か IPC_RMID と等しく、呼出し側がスーパユーザではない場合。 または実効ユーザ ID がメッセージキューに関連するデータ構造の .Va msg_perm.uid フィールドか .Va msg_perm.cuid フィールドと一致しない場合。 IPC_SET を用いて .Va msg_qbytes の値を上げようとしたが、呼出し側がスーパユーザでない場合。 .It Bq Er EACCES コマンドが IPC_STAT であるが、このメッセージキューの 読込み権が呼出し側にない場合。 .It Bq Er EINVAL .Fa msqid が正しいメッセージキュー ID でない場合。 .Va cmd が正しいコマンドでない場合。 .It Bq Er EFAULT .Fa buf が正しいアドレスを指定していない場合。 .El .Sh 関連項目 .Xr msgget 3 , .Xr msgrcv 3 , .Xr msgsnd 3 .Sh 歴史 メッセージキューは、 AT&T Unix System V の最初のリリースに追加されました。 .\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/msgget.3 b/ja_JP.eucJP/man/man3/msgget.3 index 2a5c0d66ae..5695307010 100644 --- a/ja_JP.eucJP/man/man3/msgget.3 +++ b/ja_JP.eucJP/man/man3/msgget.3 @@ -1,139 +1,139 @@ -.\" $NetBSD: msgget.2,v 1.1 1995/10/16 23:49:19 jtc Exp $ +.\" %NetBSD: msgget.2,v 1.1 1995/10/16 23:49:19 jtc Exp % .\" .\" Copyright (c) 1995 Frank van der Linden .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the NetBSD Project .\" by Frank van der Linden .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. .\"/ .Dd August 17, 1995 .Dt MSGGET 3 .Os FreeBSD .Sh 名称 .Nm msgget .Nd メッセージキューの取得 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn msgget "key_t key" "int msgflg" .Sh 解説 .Fn msgget は、 .Fa key に関連するメッセージキュー ID を戻します。メッセージキュー ID は、 0 より大きい一意的な整数です。 .Pp メッセージキューは、 .Fa key が .Dv IPC_PRIVATE と等しい場合、または .Fa key に関連するメッセージキュー ID が存在せず、かつ、 .Dv IPC_CREAT ビットが .Fa msgflg で設定されている場合に作成されます。 .Pp 新しいメッセージキューが作成された場合、関連するデータ構造 ( .Fa msqid_ds 構造体。 .Xr msgctl 3 参照) は、以下のように初期化されます。 .Bl -bullet .It .Va msg_perm.cuid と .Va msg_perm.uid は、呼び出しプロセスの実効ユーザ ID に設定されます。 .It .Va msg_perm.gid と .Va msg_perm.cgid は、呼び出しプロセスの実効グループ ID に設定されます。 .It .Va msg_perm.mode は、 .Fa msgflg の下位 9 ビットが設定されます。 .It .Va msg_cbytes , .Va msg_qnum , .Va msg_lspid , .Va msg_lrpid , .Va msg_rtime , .Va msg_stime には 0 が設定されます。 .It .Va msg_qbytes は、キューのバイト数 .Pf ( Dv MSGMNB ) についてのシステムの最大値が設定されます。 .It .Va msg_ctime は、現在の時刻に設定されます。 .Sh 戻り値 問題なく終了すると、正のメッセージキュー ID が戻されます。問題なく 終了しないと -1 が戻され、グローバル変数 .Va errno がそのエラーを示すように設定されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EACESS メッセージキューが .Fa key とすでに関連していますが、呼出し側にアクセス権がありません。 .It Bq Er EEXIST .Dv IPC_CREAT と .Dv IPC_EXCL の両方が .Fa msgflg で設定されており、メッセージキューが .Fa key とすでに関連しています。 .It Bq Er ENOSPC メッセージキューの数に関するシステム制限に達しているため、 新しいメッセージキューを作成できません。 .It Bq Er ENOENT .Fa msgflg に .Dv IPC_CREAT が設定されていない状況で、 .Fa key に関連するメッセージキューが見つかりません。 .Sh 関連項目 .Xr msgctl 3 , .Xr msgrcv 3 , .Xr msgsnd 3 .Pp .Sh 歴史 メッセージキューは、 AT&T Unix System V の最初のリリースに追加されました。 .\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/msgrcv.3 b/ja_JP.eucJP/man/man3/msgrcv.3 index 966275c8b7..42cbd2402a 100644 --- a/ja_JP.eucJP/man/man3/msgrcv.3 +++ b/ja_JP.eucJP/man/man3/msgrcv.3 @@ -1,215 +1,215 @@ -.\" $NetBSD: msgrcv.2,v 1.1 1995/10/16 23:49:20 jtc Exp $ +.\" %NetBSD: msgrcv.2,v 1.1 1995/10/16 23:49:20 jtc Exp % .\" .\" Copyright (c) 1995 Frank van der Linden .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the NetBSD Project .\" by Frank van der Linden .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. -.\" $Id: msgrcv.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" %Id: msgrcv.3,v 1.5 1997/11/23 17:58:38 bde Exp % .\" .\"/ .Dd November 24, 1997 .Dt MSGRCV 3 .Os FreeBSD .Sh 名称 .Nm msgrcv .Nd メッセージキューからメッセージを受信 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn msgrcv "int msqid" "void *msgp" "size_t msgsz" "long msgtyp" "int msgflg" .Sh 解説 .Fn msgrcv 関数は、 .Fa msqid で指定したメッセージキューからメッセージを受信し、 .Fa msgp が指す構造体に配置します。この構造体は、以下のメンバから 構成されている必要があります。 .Bd -literal long mtype; /* メッセージタイプ */ char mtext[1]; /* メッセージ本体 */ .Ed .Pp .Va mtype は 0 より大きい整数で、メッセージの選択に使用されます。 .Va mtext はバイトの配列で、システム制限 .Pf ( Dv MSGMAX ) までのサイズです。 .Pp .Fa msgtyp の値には以下のような意味があります。 .Bl -bullet .It .Fa msgtyp が 0 より大きい場合、タイプが .Fa msgtyp である最初のメッセージが受信されます。 .It .Fa msgtyp が 0 と等しい場合、キューの最初のメッセージが受信されます。 .It .Fa msgtyp が 0 より小さい場合、最低メッセージタイプが .Fa msgtyp の絶対値以下であるメッセージのうち最初のものが受信されます。 .El .Pp .Fa msgsz は、要求したメッセージの最大長を指定します。受信したメッセージが .Fa msgsz より長い場合、 .Fa msgflg で .Dv MSG_NOERROR フラグが設定されていると、メッセージはエラー通知なしで切り捨てられます。 .Dv MSG_NOERROR フラグが設定されていないと、エラーが戻されます。 .Pp .Fa msqid が指定するメッセージキューに、一致するメッセージが存在しない場合、 .Fn msgrcv の動作は、 .Fa msgflg で .Dv IPC_NOWAIT フラグが設定されているかどうかによって決まります。 .Dv IPC_NOWAIT が設定されていると、 .Fn msgrcv はすぐに -1 を戻し、 .Va errno を .Er EAGAIN に設定します。 .Dv IPC_NOWAIT が設定されていないと、呼び出しプロセスは、以下の状態になるまでブロック されます。 .Bl -bullet .It 要求されたタイプのメッセージがメッセージキューで 使用できるようになるまで。 .It メッセージキューが削除されるまで。この場合は -1 が戻され、 .Va errno が .Er EINVAL に設定されます。 .It シグナルが受信されるまで。この場合は -1 が戻され、 .Va errno が .Er EINTR に設定されます。 .El .Pp メッセージが問題なく受信されると、 .Fa msqid に関連するデータ構造体は、以下のように更新されます。 .Bl -bullet .It .Va msg_cbytes が、そのメッセージのサイズだけ小さくなります。 .It .Va msg_lrpid が、呼出し側のプロセス ID に設定されます。 .It .Va msg_lrtime が、現在の時刻に設定されます。 .It .Va msg_qnum から 1 が引かれます。 .El .Sh 戻り値 問題なく終了すると、 .Fn msgrcv は、 .Fa msgp が指す構造体の .Va mtext フィールドに受信したバイト数を戻します。 問題なく終了しない場合 -1 が戻され、 .Va errno がそのエラーを示すように設定されます。 .Sh エラー .Fn msgrcv は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EINVAL .Fa msqid が正しいメッセージキュー ID でない場合。 .Pp 要求されたタイプのメッセージが使用できるようになる状態を .Fn msgrcv が待っている間にメッセージキューが削除された場合。 .Pp .Fa msgsz が 0 より小さい場合。 .It Bq Er E2BIG 一致するメッセージが受信されたが、サイズが .Fa msgsz より大きく、 .Fa msgflg で .Dv MSG_NOERROR フラグが設定されていない場合。 .It Bq Er EACCES 呼び出しプロセスに、メッセージキューの読込み権がない場合。 .It Bq Er EFAULT .Fa msgp が、正しいアドレスを指していない場合。 .It Bq Er EINTR システムコールが、シグナルの配送によって割り込まれた場合。 .It Bq Er EAGAIN 要求されたタイプのメッセージがメッセージキューになく、 .Fa msgflg で .Dv IPC_NOWAIT が設定されている場合。 .Sh 関連項目 .Xr msgctl 3 , .Xr msgget 3 , .Xr msgsnd 3 .Sh バグ .Tn NetBSD と .Tn FreeBSD では、メッセージキューが削除された場合に使用すべきエラー値 .Er EIDRM が定義されていません。また、利用可能なメッセージがない状態で .Dv IPC_NOWAIT が設定されている場合に使用すべきエラー値 .Er ENOMSG が定義されていません。 .Sh 歴史 メッセージキューは、 AT&T Unix System V の最初のリリースに 追加されました。 .\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/msgsnd.3 b/ja_JP.eucJP/man/man3/msgsnd.3 index 0664c507d3..2af7226ad0 100644 --- a/ja_JP.eucJP/man/man3/msgsnd.3 +++ b/ja_JP.eucJP/man/man3/msgsnd.3 @@ -1,169 +1,169 @@ -.\" $NetBSD: msgsnd.2,v 1.1 1995/10/16 23:49:24 jtc Exp $ +.\" %NetBSD: msgsnd.2,v 1.1 1995/10/16 23:49:24 jtc Exp % .\" .\" Copyright (c) 1995 Frank van der Linden .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the NetBSD Project .\" by Frank van der Linden .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. -.\" $Id: msgsnd.3,v 1.1.1.1 1999-12-09 16:26:00 kuriyama Exp $ +.\" %Id: msgsnd.3,v 1.4 1997/11/23 17:58:40 bde Exp % .\" .\"/ .Dd November 24, 1997 .Dt MSGSND 3 .Os FreeBSD .Sh 名称 .Nm msgsnd .Nd メッセージキューにメッセージを送信 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn msgsnd "int msqid" "void *msgp" "size_t msgsz" "int msgflg" .Sh 解説 .Fn msgsnd 関数は、 .Fa msqid で指定されているメッセージキューからメッセージ を送信します。 .Fa msgp は、メッセージを含む構造体を指します。この構造体は、 以下のメンバから構成されている必要があります。 .Bd -literal long mtype; /* メッセージタイプ */ char mtext[1]; /* メッセージ本体 */ .Ed .Pp .Va mtype は 0 より大きい整数で、メッセージの選択に使用されます ( .Xr msgrcv 3 参照)。 .Va mtext はバイトの配列で、システム制限 .Pf ( Dv MSGMAX ) までのサイズです。 .Pp メッセージキューにすでに存在するバイト数と .Fa msgsz の合計が、メッセージキューの最大バイト数 .Pf ( Va msg_qbytes 。 .Xr msgctl 3 参照) より大きい場合、またはシステム全体のすべてのキューに存在する メッセージ数がシステム制限にすでに等しくなっている場合は、 .Fa msgflg が .Fn msgsnd の動作を決めます。 .Fa msgflg で .Dv IPC_NOWAIT マスクが設定されている場合、呼び出しはすぐに戻されます。 .Fa msgflg で .Dv IPC_NOWAIT が設定されていない場合、呼出しは以下の状態になるまでブロックされます。 .Bl -bullet .It 呼出しがブロックされる条件がなくなるまで。この条件がなくなると、 メッセージが送信されます。 .It メッセージキューが削除されるまで。この場合は -1 が戻され、 .Va errno が .Er EINVAL に設定されます。 .It 呼び出し側がシグナルを受信するまで。呼び出しは、 .Va errno が .Er EINTR に設定された状態で戻ります。 .El .Pp 呼び出しで問題が発生しなかった場合、メッセージキューに関連する データ構造は以下のように更新されます。 .Bl -bullet .It .Va msg_cbytes が、メッセージのサイズだけ大きくなります。 .It .Va msg_qnum に 1 が加えられます。 .It .Va msg_lspid が呼び出しプロセスのプロセス ID に設定されます。 .It .Va msg_stime が現在の時刻に設定されます。 .El .Sh 戻り値 問題なく終了すると 0 が戻されます。問題が発生すると -1 が戻され、 .Va errno がそのエラーを示すように設定されます。 .Sh エラー .Fn msgsnd は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EINVAL .Fa msqid が正しいメッセージキュー ID でない場合。 .Pp リソースが使用できるようになり、メッセージを送信できる 状態になることを .Fn msgsnd が待っている間に、メッセージキューが削除された場合。 .Pp .Fa msgsz が 0 より小さいか、 .Va msg_qbytes より大きい場合。 .It Bq Er EACCES 呼出しプロセスにメッセージキューの書込み権がない場合。 .It Bq Er EAGAIN キューかシステム全体にメッセージ用のスペースがなく、 .Fa msgflg で .Dv IPC_NOWAIT が設定されている場合。 .It Bq Er EFAULT .Fa msgp が正しいアドレスを指していない場合。 .It Bq Er EINTR システムコールが、シグナルの配送によって割り込まれた場合。 .Sh バグ .Tn NetBSD と .Tn FreeBSD は、メッセージキューが削除された場合に使用すべきエラー値 .Er EIDRM を定義していません。 .Sh 歴史 メッセージキューは、 AT&T Unix System V の最初のリリースに 追加されました。 .\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/pam_authenticate.3 b/ja_JP.eucJP/man/man3/pam_authenticate.3 index a5853784b5..404972de65 100644 --- a/ja_JP.eucJP/man/man3/pam_authenticate.3 +++ b/ja_JP.eucJP/man/man3/pam_authenticate.3 @@ -1,95 +1,95 @@ .\" Hey Emacs! This file is -*- nroff -*- source. -.\" $Id: pam_authenticate.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" %Id: pam_authenticate.3,v 1.2 1997/02/15 18:39:59 morgan Exp % .\" Copyright (c) Andrew G. Morgan 1996-7 .TH PAM_AUTHENTICATE 3 "1996 Dec 9" "PAM 0.55" "App. Programmers' Manual" .SH 名称 pam_authenticate \- ユーザの認証 .SH 書式 .B #include .sp .BI "int pam_authenticate(pam_handle_t " *pamh ", int " flags ");" .sp 2 .SH 解説 .B pam_authenticate .br この関数を使用すると、申請ユーザを認証できます。この関数は、 .BR PAM で認証モジュールに .I ダイナミックに リンクされており、 この認証モジュールが認証を行ないます。 アプリケーションが認証の本質に関わることはありません。 .br 認証が問題なく終了すると、認証されたユーザの .BR 名前 が .BR PAM アイテム .BR PAM_USER に入ります。 このアイテムは、 .BR pam_get_item "(3)" を呼び出して取得できます。 .br アプリケーション開発者は、認証モジュールが対話メカニズム( .BR pam_start "(3)" 参照) でユーザにユーザ名を入力させることがあることに注意する必要があります。 この場合は、ユーザプロンプトストリングを .BR PAM_USER_PROMPT アイテム( .BR pam_set_item "(3)" 参照) で設定できます。 .SH 戻り値 問題がない場合は .BR PAM_SUCCESS が戻されます。その他の値が戻された場合は、 認証で問題が発生したとみなされ、以前に呼び出した .BR pam_fail_delay "(3)" で指定された値だけ .I 遅延 が発生します。 とくに注意が必要なエラーは以下のとおりです。 .TP .B PAM_ABORT アプリケーションをすぐに終了する必要があります。もちろん最初に .BR pam_end "(3)" を呼び出してください。 .TP .B PAM_MAXTRIES アプリケーションがユーザの認証を何度も繰り返しています。 認証を止めてください。 .SH エラー .BR pam_strerror "(3)" でテキストに変換できます。 .SH 準拠 DCE-RFC 86.0, October 1995. .SH バグ .sp 2 見つかっていません。 .SH 関連項目 .BR pam_start "(3), " .BR pam_get_item "(3), " .BR pam_fail_delay "(3), " .BR pam_strerror "(3)" .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_chauthtok.3 b/ja_JP.eucJP/man/man3/pam_chauthtok.3 index 5824aef553..1fa0e920e8 100644 --- a/ja_JP.eucJP/man/man3/pam_chauthtok.3 +++ b/ja_JP.eucJP/man/man3/pam_chauthtok.3 @@ -1,97 +1,97 @@ .\" Hey Emacs! This file is -*- nroff -*- source. -.\" $Id: pam_chauthtok.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" %Id: pam_chauthtok.3,v 1.2 1997/02/15 18:42:23 morgan Exp % .\" Copyright (c) Andrew G. Morgan 1997 .TH PAM_CHAUTHTOK 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual" .SH 名称 pam_chauthtok \- 認証トークンの更新 .SH 書式 .B #include .sp .BI "int pam_chauthtok(pam_handle_t " *pamh ", int " flags ");" .sp 2 .SH 解説 .B pam_chauthtok .br この関数を使用すると、申請ユーザの認証トークン(パスワードなど)を 更新できます。 .br アプリケーションでユーザをあらかじめ認証する必要はありません。認証は .BR PAM フレームワークで必要に応じて実行されます。 .br .I flags 引数が、値 .BR PAM_CHANGE_EXPIRED_AUTHTOK を取ることが .I あります。 この場合は、期限が切れた認証トークンの更新をフレームワークで行なう 必要があります。この引数がないと、フレームワークはすべての設定済み認証 メカニズムで新しいトークンを取得しようとします。呼び出しアプリケーション で、このようなスキームのタイプと番号の詳細に関わる必要はありません。 .SH 戻り値 この関数から問題なく戻ると、 .BR PAM_SUCCESS が戻されます。 .br この関数を呼び出した場合にとくに注意すべきエラーは以下のとおりです。 .br .BR PAM_AUTHTOK_ERROR - 有効な新しいトークンを取得できませんでした。 .br .BR PAM_AUTHTOK_RECOVERY_ERR - 古い認証トークンを使用できませんでした。 .br .BR PAM_AUTHTOK_LOCK_BUSY - トークンの更新に必要なリソースがロックされていました。 後で再度実行してください。 .br .BR PAM_AUTHTOK_DISABLE_AGING - 1 つ以上の認証モジュールが、認証トークンの期限切れを認めませんでした。 .br .BR PAM_TRY_AGAIN - 1 つ以上の認証メカニズムで、今回のトークンの更新準備が整っていません。 .br 一般的にはその他の戻り値も戻されます。エラーを示しているものとして 扱ってください。 .SH エラー .BR pam_strerror "(3)" でテキストに変換できます。 .SH 準拠 DCE-RFC 86.0, October 1995. .SH バグ .sp 2 見つかっていません。 .SH 関連項目 .BR pam_start "(3), " .BR pam_authenticate "(3), " .BR pam_setcred "(3), " .BR pam_get_item "(3), " .BR pam_strerror "(3) " .BR pam "(8)." .br .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_fail_delay.3 b/ja_JP.eucJP/man/man3/pam_fail_delay.3 index 39c1e5557e..7e3d516733 100644 --- a/ja_JP.eucJP/man/man3/pam_fail_delay.3 +++ b/ja_JP.eucJP/man/man3/pam_fail_delay.3 @@ -1,125 +1,125 @@ .\" Hey Emacs! This file is -*- nroff -*- source. -.\" $Id: pam_fail_delay.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" %Id: pam_fail_delay.3,v 1.2 1997/02/15 18:47:46 morgan Exp morgan % .\" Copyright (c) Andrew G. Morgan 1997 .TH PAM_FAIL_DELAY 3 "1997 Jan 12" "PAM 0.56" "Programmers' Manual" .SH 名称 pam_fail_delay \- エラー時に遅延を要求 .SH 書式 .B #include .br or, .br .B #include .sp .BI "int pam_fail_delay(pam_handle_t " "*pamh" ", unsigned int " "usec" ");" .sp 2 .SH 解説 .br 申請ユーザのアクセスをスキームが拒否する場合にかかる時間を悪用し、 認証スキームにアタックできることがあります。タイムアウトが .I 短い 場合でも、ディクショナリを .I 乱用 してアタックすることが可能なことがあります。アタッカが 自動化されたプロセスを使用し、考えられるパスワードをすべて試してシステムに アクセスしようとするのです。それぞれのエラーにかかる時間を計測できる場合 (エラーの本質を示す)、アタッカは認証プロセスに関する重要な情報を 入手できます。後者のアタックでは、重要な情報の .I 保護チャンネル を構成する手続き型遅延が利用されます。 .br このようなアタックを最低限に抑えるには、エラーとなった認証プロセスで ランダムな遅延を導入することが有効です。 .B PAM には、ランダムな遅延を導入する機能があります。遅延は、 .BR pam_authenticate "(3)" 関数と .BR pam_chauthtok "(3)" 関数の エラー時に発生します。すべての認証モジュールが呼び出された .I 後 で、制御がサービスアプリケーションに戻る .I 前 に発生します。 .br .BR pam_fail_delay "(3)" 関数を使用すると、エラー遅延に必要な最低時間 ( .I usec 引数) を指定できます。この関数は、ユーザによるサービスの再申請を 遅らせることが重要となるサービスアプリケーションや認証モジュールから呼び 出せます。遅延の長さは必要なときに算出され、 .I 最大 要求値からランダムに分散されます。 最大要求値の上下 25% までに分散されるのです。 .br .BR pam_authenticate "(3)" や .BR pam_chauthtok "(3)" から戻る場合、問題の有無に関係なく、新しい要求遅延は デフォルト値のゼロにリセットされます。 .SH 例 .br .B ログイン アプリケーションで約 3 秒間のエラー遅延が必要となる場合、 このアプリケーションには以下のようなコードが含まれます。 .sp .br .B " pam_fail_delay(pamh, 3000000 /* micro-seconds */ );" .br .B " pam_authenticate(pamh, 0);" .sp .br モジュールが遅延を要求しない場合、エラー遅延は 2.25 秒と 3.75 秒の 間になります。 .br 認証プロセスで呼び出されるモジュールでも、以下のような遅延が 要求されることがあります。 .sp .br .RB " (モジュール #1) " "pam_fail_delay(pamh, 2000000);" .sp .br .RB " (モジュール #2) " "pam_fail_delay(pamh, 4000000);" .sp .br この場合、実際のエラー遅延の算出に使用されるのは最大要求値です。 ここでは 3 秒から 5 秒です。 .SH 戻り値 .BR pam_fail_delay "(3)" で問題が発生しなかった場合は、 .BR PAM_SUC-CESS が戻されます。その他すべての戻り値は、重大なエラーとみなしてください。 .SH エラー .BR pam_strerror "(3)" でテキストに変換できます。 .SH 準拠 X/Open グループが、PAM RFC. 1996/1/10 に組み込むことを検討中です。 .SH バグ .sp 2 見つかっていません。 .SH 関連項目 .BR pam_start "(3), " .BR pam_get_item "(3), " .BR pam_strerror "(3)" .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR Linux-PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_open_session.3 b/ja_JP.eucJP/man/man3/pam_open_session.3 index b600a0cc4f..8121b35760 100644 --- a/ja_JP.eucJP/man/man3/pam_open_session.3 +++ b/ja_JP.eucJP/man/man3/pam_open_session.3 @@ -1,100 +1,100 @@ .\" Hey Emacs! This file is -*- nroff -*- source. -.\" $Id: pam_open_session.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" %Id: pam_open_session.3,v 1.2 1997/02/15 18:49:02 morgan Exp % .\" Copyright (c) Andrew G. Morgan 1997 .TH PAM_OPEN_SESSION 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual" .SH 名称 pam_open/close_session \- PAM セッション管理 .SH 書式 .B #include .sp .BI "int pam_open_session(pam_handle_t " *pamh ", int " flags ");" .sp .BI "int pam_close_session(pam_handle_t " *pamh ", int " flags ");" .sp 2 .SH 解説 PAM には、セッションの初期化と終了を行なう管理ツールがあります。 .TP .B pam_open_session この関数を使用すると、認証されたユーザのセッションが始まったことを 通知できます。ユーザが .BR pam_authenticate "(3)" で適切に確認され、 必要な場合は .BR pam_setcred "(3)" で証明書を与えられた後で呼び出してください。 .br セッションの初期化に関連した関数には、システムを監視するための ログ作成とディレクトリ(ユーザのホームディレクトリなど)の マウントがあります。アプリケーションでこれに関わることはありません。 アプリケーションの .I 有効な uid ( .BR geteuid "(2)" ) に、このようなタスクを実行する権利が必要であることに注意してください。 .TP .B pam_close_session .br この関数を使用すると、ユーザセッションが終了したことを通知できます。 一般的には、初期化関数 ( .BR pam_open_session ) と同じアプリケーションにこの関数を配置する必要はありません。 .br この関数は、 .BR pam_open_session のアクションを取り消します。 つまり、ユーザセッションの終了に関わる監視情報を記録し、ユーザの ホームディレクトリのマウントを解除します。十分な権利があることは別にして、 セッションの終了の詳細に呼び出しアプリケーションが関わるこはありません。 しかし、この呼び出しから戻るときにユーザのためにアクションを起こすことは 止めてください。 .SH 戻り値 このセッション管理関数で問題が発生しなかった場合は、 .BR PAM_SUCCESS が戻されます。 .br セッションの開閉でエラーが発生した場合は、 .BR PAM_SESSION_ERR が戻されます。 その他の戻り値が戻された場合は、エラーを示すものとして扱ってください。 .SH エラー .BR pam_strerror "(3)" でテキストに変換できます。 .SH 準拠 OSF-RFC 86.0, October 1995. .SH バグ .sp 2 見つかっていません。 .SH 関連項目 .BR pam_start "(3), " .BR pam_authenticate "(3), " .BR pam_setcred "(3), " .BR pam_get_item "(3), " .BR pam_strerror "(3), " .BR pam "(3)." .br .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR Linux-PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_setcred.3 b/ja_JP.eucJP/man/man3/pam_setcred.3 index d0742d9463..7bf3116742 100644 --- a/ja_JP.eucJP/man/man3/pam_setcred.3 +++ b/ja_JP.eucJP/man/man3/pam_setcred.3 @@ -1,78 +1,78 @@ .\" Hey Emacs! This file is -*- nroff -*- source. -.\" $Id: pam_setcred.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" %Id: pam_setcred.3,v 1.1.1.1 1998/07/09 22:10:18 jdp Exp % .\" Copyright (c) Andrew G. Morgan 1996,1997 .TH PAM_SETCRED 3 "1997 July 6" "PAM 0.58" "App. Programmers' Manual" .SH 名称 pam_setcred \- ユーザに証明書を設定 .SH 書式 .B #include .sp .BI "int pam_setcred(pam_handle_t " *pamh ", int " flags ");" .sp 2 .SH 解説 .B pam_setcred この関数を使用すると、ユーザの証明書の確立、保守、削除ができます。 ユーザが認証された後で、そのユーザのセッションを .BR pam_open_session "(3)" で開く前に呼び出してください。 証明書には、グループメンバーシップ、チケットファイル、PAM 環境変数など、 多くの形式があることに注意してください。このため、この関数を 呼び出す前にユーザの基本的な ID をアプリケーションで確立することが 重要になります。デフォルトの .BR PAM 環境変数を設定し、 .BR initgroups "(2)" かそれと同等のものを実行してください。 .SH 有効なフラグ .TP .BR PAM_ESTABLISH_CRED ユーザの証明書を初期化します。 .TP .BR PAM_DELETE_CRED ユーザの証明書を削除します。 .TP .BR PAM_REINITIALIZE_CRED ユーザの証明書を削除してから初期化します。 .TP .BR PAM_REFRESH_CRED 既存の証明書の有効期限を延期します。 .SH 戻り値 問題がない場合は、 .BR PAM_SUCCESS が戻されます。その他すべての戻り値は、エラーとして扱ってください。 .SH エラー .BR pam_strerror "(3)" でテキストに変換できます。 .SH 準拠 DCE-RFC 86.0, October 1995. .SH バグ .sp 2 見つかっていません。 .SH 関連項目 .BR pam_authenticate "(3), " .BR pam_strerror "(3), " .BR pam_open_session "(3). " .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR Linux-PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_start.3 b/ja_JP.eucJP/man/man3/pam_start.3 index 456c507f74..52f4dbc304 100644 --- a/ja_JP.eucJP/man/man3/pam_start.3 +++ b/ja_JP.eucJP/man/man3/pam_start.3 @@ -1,96 +1,96 @@ .\" Hey Emacs! This file is -*- nroff -*- source. -.\" $Id: pam_start.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" %Id: pam_start.3,v 1.2 1997/02/15 18:51:54 morgan Exp % .\" Copyright (c) Andrew G. Morgan 1996-7 .TH PAM_START 3 "1997 Feb 15" "PAM 0.56" "Application Programmers' Manual" .SH 名称 pam_start, pam_end \- PAM の起動 .SH 書式 .B #include .sp .BI "int pam_start(const char " *service ", const char " *user ", const struct pam_conv " *conv ", pam_handle_t " **pamh_p ");" .sp .BI "int pam_end(pam_handle_t " *pamh ", int " pam_status ");" .sp 2 .SH 解説 .TP .B pam_start .I PAM ライブラリを初期化し、特定の .IR サービス 名でアプリケーション を確認します。インタフェースを初期化するときにユーザ名が分かっていない 場合は、 .IR ユーザ 名を .IR NULL にできます。 .IR conv 引数では、対話構造をライブラリに渡せます (これとその他の構造の詳細については、 .IR PAM アプリケーションの 開発者用ガイドを参照してください)。初期化が問題なく終了すると、 ライブラリに後でアクセスするための不透明なポインタハンドルが .IR pamh_p ポインタで戻されます。 .TP .B pam_end .B PAM ライブラリを終了します。 .IR pamh ハンドルが関連するサービスアプリケーションが終了します。 .IR pam_status 引数は、ライブラリからアプリケーションに戻された最新の値を渡します。 これは、ライブラリの終了方法を示します。この引数は戻り値を運ぶ他に、 .IR PAM_DATA_SILENT と論理和を取り、モジュールがこの呼び出しを重大に扱わないことを 示すことがあります。 一般的には、現在のライブラリの終了処理が .IR fork "(2)" を実行したプロセスで実行されること、 および現行プロセスのスペース以外に存在するもの(ファイルなど) を親がクリーンアップすることを示します。 .SH 戻り値 .TP .B pam_start .TP .PP .B pam_end 問題がない場合は .BR PAM_SUCCESS が戻されます。 .SH エラー .BR pam_strerror "(3)" でテキストに変換できます。 .SH 準拠 DCE-RFC 86.0, October 1995. .PP .sp .BR PAM_DATA_SILENT フラグは、1996 年 12 月 4 日現在、DCE での受け入れが保留されています。 .SH バグ .sp 2 見つかっていません。 .SH 関連項目 .BR fork "(2), " .BR pam_authenticate "(3), " .BR pam_acct_mgmt "(3), " .BR pam_open_session "(3), " .BR pam_chauthtok "(3)." .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR Linux-PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_strerror.3 b/ja_JP.eucJP/man/man3/pam_strerror.3 index 41ba448108..08f3a82b97 100644 --- a/ja_JP.eucJP/man/man3/pam_strerror.3 +++ b/ja_JP.eucJP/man/man3/pam_strerror.3 @@ -1,48 +1,48 @@ .\" Hey Emacs! This file is -*- nroff -*- source. .\" ripped off from Rick Faith's getgroups man page -.\" $Id: pam_strerror.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" %Id: pam_strerror.3,v 1.2 1997/02/15 18:53:04 morgan Exp % .\" Copyright (c) Andrew G. Morgan 1996-7 .TH PAM_STRERROR 3 "1997 Feb 15" "PAM 0.56" "Programmers' Manual" .SH 名称 pam_strerror \- PAM エラーの説明をテキストで戻す .SH 書式 .B #include .br or, .br .B #include .sp .BI "const char *pam_strerror(" int " pam_error); .sp 2 .SH 解説 .B pam_strerror この関数は、引数で渡された .BR PAM エラーを説明するテキストの行を指すポインタを戻します。 .SH 戻り値 問題がない場合、この関数は、指定されたエラーの説明を戻します。この 関数がエラーを認識できない場合は、「Unknown PAM error」が戻されます。 .SH 準拠 DCE-RFC 86.0, October 1995. .SH バグ .sp 2 この関数は国際化する必要があります。 .SH 関連項目 .BR pam "(8)" .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR Linux-PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pause.3 b/ja_JP.eucJP/man/man3/pause.3 index 5594c79950..fe829ea25c 100644 --- a/ja_JP.eucJP/man/man3/pause.3 +++ b/ja_JP.eucJP/man/man3/pause.3 @@ -1,79 +1,79 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)pause.3 8.1 (Berkeley) 6/4/93 -.\" $Id: pause.3,v 1.1.1.1 1999-12-09 16:25:59 kuriyama Exp $ +.\" %Id: pause.3,v 1.2 1997/03/09 00:42:46 mpp Exp % .\" .\" jpman %Id% .\" .Dd June 4, 1993 .Dt PAUSE 3 .Os BSD 4 .Sh 名称 .Nm pause .Nd 信号を受けるまで停止 .Sh 書式 .Fd #include .Ft int .Fn pause void .Sh 解説 .Sy pause は、 .Xr sigsuspend 2 .Sy に置き換えられました。 .Pp .Fn pause 関数は、 .Xr kill 2 関数かインターバルタイマ .Xr (setitimer 2 参照) からシグナルを受けるまで、プロセスを強制的に停止します。 .Fn pause の実行中に開始されたシグナルハンドラが終了すると、 .Fn pause の呼び出しは戻ります。 .Sh 戻り値 常に \-1 が戻されます。 .Sh 誤り .Fn pause 関数は、常に以下を戻します。 .Bl -tag -width [EINTR] .It Bq Er EINTR 呼び出しが割り込まれました。 .El .Sh 関連項目 .Xr kill 2 , .Xr select 2 , .Xr sigsuspend 2 .Sh 歴史 .Fn pause システムコールは、 .At v6 に追加されました。 diff --git a/ja_JP.eucJP/man/man3/property.3 b/ja_JP.eucJP/man/man3/property.3 index 3a23cb9ec5..5166ae2654 100644 --- a/ja_JP.eucJP/man/man3/property.3 +++ b/ja_JP.eucJP/man/man3/property.3 @@ -1,96 +1,96 @@ .\" .\" Copyright (c) 1998 Jordan Hubbard .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" $Id: property.3,v 1.1.1.1 1999-12-09 16:25:58 kuriyama Exp $ +.\" %Id: property.3,v 1.4 1998/11/22 13:20:09 jkh Exp % .\" " .Dd October 7, 1998 .Os .Dt properties 3 .Sh 名称 .Nm properties_read , .Nm propery_find , .Nm properties_free .Nd 単純なプロパティリストを ascii から作成する関数 .Sh 書式 .Fd #include .Fd #include .Ft properties .Fn properties_read "int fd" .Ft char * .Fn property_find "properties list" "char *name" .Ft void .Fn properties_free "properties list" .Pp .Xr cc 1 コマンド行で .Va -lutil を指定してリンクする。 .Sh 解説 .nf typedef struct _properties { struct _properties *next; char *name; char *value; } *properties; .fi 関数 .Fn properties_read は、 .Fa fd で渡されたファイル記述子から名前と値のペアを読み込み、 ファイルの内容が適切に分析されたものとして新しい プロパティリストのヘッドを戻します。エラーが発生した場合は NULL を戻します。 .Pp .Fn property_find は、 .Fa name という名前のプロパティの関連値ストリングを 戻します。このプロパティが見つからない場合は NULL を戻します。 .Pp .Fn properties_free は、 .Fn properties_read が戻した構造体が必要なくなった 場合にそれを解放します。 .Sh ファイル形式 ファイルの各プロパティは、 .Fa name = value というフォーマットになっていると 想定されます。 .Fa name は英数字文字列 (および `=' 以外の特殊文字) です。 .Fa value は、改行文字で終わる、テキストの任意のストリングです。改行する 場合は、値全体を { } で囲む必要があります。# か ; で始まる行は コメントとみなされて無視されます。 .Sh 関連項目 .Xr auth_getval 3 .Sh バグ 単純です。 .Sh 作者 Jordan Hubbard diff --git a/ja_JP.eucJP/man/man3/pthread.3 b/ja_JP.eucJP/man/man3/pthread.3 index 1866c8f88e..7c3aa7150a 100644 --- a/ja_JP.eucJP/man/man3/pthread.3 +++ b/ja_JP.eucJP/man/man3/pthread.3 @@ -1,256 +1,256 @@ .\" Copyright (c) 1996 John Birrell . .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" -.\" $Id: pthread.3,v 1.1.1.1 1999-12-09 16:25:58 kuriyama Exp $ +.\" %Id: pthread.3,v 1.7 1998/09/12 13:53:58 alex Exp % .\" .\" jpman %Id$ .\" .Dd September 10, 1998 .Dt PTHREAD 3 .Os BSD 4 .Sh 名称 .Nm pthread .Nd POSIX スレッド関数 .Sh 解説 POSIX スレッドは、プロセスで制御の複数のフロー (スレッド) を要求するアプリケーションをサポートする関数です。 マルチスレッドは、 プログラムのパフォーマンスを改善するために使用されます。 このセクションでは、 POSIX スレッド関数の概要について以下のグループに分けて説明します。 .Bl -bullet -offset indent .It スレッドルーチン .It 属性オブジェクトルーチン .It Mutex ルーチン .It 条件変数ルーチン .It 読み書きロックルーチン .It スレッド固有コンテキストルーチン .It クリーンアップルーチン .El .Sh スレッドルーチン .Bl -tag -width Er .It int Fn pthread_create "pthread_t *thread" "const pthread_attr_t *attr" "void *(*start_routine)(void *)" "void *arg" 実行の新しいスレッドを作成します。 .It int Fn pthread_detach "pthread_t thread" スレッドに削除マークを付けます。 .It int Fn pthread_equal "pthread_t t1" "pthread_t t2" 2 つのスレッド ID を比較します。 .It void Fn pthread_exit "void *value_ptr" 呼び出しスレッドを終了します。 .It int Fn pthread_join "pthread_t thread" "void **value_ptr" 呼び出しスレッドが、指定したスレッドの終了を待つようになりす。 .It int Fn pthread_once "pthread_once_t *once_control" "void (*init_routine)(void)" 初期化ルーチンを 1 回呼び出します。 .It pthread_t Fn pthread_self void 呼び出しスレッドのスレッド ID を戻します。 .El .Sh 属性オブジェクトルーチン .Bl -tag -width Er .It int Fn pthread_attr_destroy "pthread_attr_t *attr" スレッドの属性オブジェクトを破壊します。 .It int Fn pthread_attr_getinheritsched "pthread_attr_t *attr" "int *inheritsched" スレッドの属性オブジェクトから継承スケジューリング属性を入手します。 .It int Fn pthread_attr_getschedparam "pthread_attr_t *attr" "struct sched_param *param" スレッドの属性オブジェクトからスケジューリングパラメータ属性を入手します。 .It int Fn pthread_attr_getschedpolicy "pthread_attr_t *attr" "int *policy" スレッドの属性オブジェクトからスケジューリング方針属性を入手します。 .It int Fn pthread_attr_getscope "pthread_attr_t *attr" "int *contentionscope" スレッドの属性オブジェクトからコンテンション範囲属性を入手します。 .It int Fn pthread_attr_getstacksize "pthread_attr_t *attr" "size_t *stacksize" スレッドの属性オブジェクトからスタックサイズ属性を入手します。 .It int Fn pthread_attr_getstackaddr "pthread_attr_t *attr" "void **stackaddr" スレッドの属性オブジェクトからスタックアドレス属性を入手します。 .It int Fn pthread_attr_getdetachstate "pthread_attr_t *attr" "int *detachstate" スレッドの属性オブジェクトから切り離し状態属性を入手します。 .It int Fn pthread_attr_init "pthread_attr_t *attr" スレッドの属性オブジェクトをデフォルト値で初期化します。 .It int Fn pthread_attr_setinheritsched "pthread_attr_t *attr" "int inheritsched" スレッドの属性オブジェクトで継承スケジューリング属性を設定します。 .It int Fn pthread_attr_setschedparam "pthread_attr_t *attr" "struct sched_param *param" スレッドの属性オブジェクトでスケジューリングパラメータ属性を設定します。 .It int Fn pthread_attr_setschedpolicy "pthread_attr_t *attr" "int policy" スレッドの属性オブジェクトでスケジューリング方針属性を設定します。 .It int Fn pthread_attr_setscope "pthread_attr_t *attr" "int contentionscope" スレッドの属性オブジェクトでコンテンション範囲属性を設定します。 .It int Fn pthread_attr_setstacksize "pthread_attr_t *attr" "size_t stacksize" スレッドの属性オブジェクトでスタックサイズ属性を設定します。 .It int Fn pthread_attr_setstackaddr "pthread_attr_t *attr" "void *stackaddr" スレッドの属性オブジェクトでスタックアドレス属性を設定します。 .It int Fn pthread_attr_setdetachstate "pthread_attr_t *attr" "int detachstate" スレッドの属性オブジェクトで切り離し状態を設定します。 .El .Sh MUTEX ルーチン .Bl -tag -width Er .It int Fn pthread_mutexattr_destroy "pthread_mutexattr_t *attr" MUTEX 属性オブジェクトを破壊します。 .It int Fn pthread_mutexattr_init "pthread_mutexattr_t *attr" MUTEX 属性オブジェクトをデフォルト値で初期化します。 .It int Fn pthread_mutex_destroy "pthread_mutex_t *mutex" MUTEX を破壊します。 .It int Fn pthread_mutex_init "pthread_mutex_t *mutex" "const pthread_mutexattr_t *attr" 指定された属性で MUTEX を初期化します。 .It int Fn pthread_mutex_lock "pthread_mutex_t *mutex" MUTEX をロックし、MUTEX が使用できるようになるまでブロックします。 .It int Fn pthread_mutex_trylock "pthread_mutex_t *mutex" MUTEX をロックしようとしますが、 現行スレッドも含めた別のスレッドで MUTEX がロックされている場合はブロックしません。 .It int Fn pthread_mutex_unlock "pthread_mutex_t *mutex" MUTEX のロックを解除します。 .El .Sh 条件変数ルーチン .Bl -tag -width Er .It int Fn pthread_condattr_init "pthread_condattr_t *attr" 条件変数属性オブジェクトをデフォルト値で初期化します。 .It int Fn pthread_condattr_destroy "pthread_condattr_t *attr" 条件変数属性オブジェクトを破壊します。 .It int Fn pthread_cond_broadcast "pthread_cond_t *cond" 指定された条件変数で現在ブロックされている、 すべてのスレッドのブロックを解除します。 .It int Fn pthread_cond_destroy "pthread_cond_t *cond" 条件変数を破壊します。 .It int Fn pthread_cond_init "pthread_cond_t *cond" "const pthread_condattr_t *attr" 指定された属性で条件変数を初期化します。 .It int Fn pthread_cond_signal "pthread_cond_t *cond" 指定された条件変数でブロックされているスレッドの、 最低 1 つのブロックを解除します。 .It int Fn pthread_cond_timedwait "pthread_cond_t *cond" "pthread_mutex_t *mutex" "const struct timespec *abstime" 指定された時間以内で条件を待機し、 指定された MUTEX をロックします。 .It int Fn pthread_cond_wait "pthread_cond_t *" "pthread_mutex_t *mutex" 条件を待機し、指定された MUTEX をロックします。 .El .Sh 読み書きロックルーチン .Bl -tag -width Er .It int Fn pthread_rwlock_destroy "pthread_rwlock_t *lock" 読み書きロックオブジェクトを破壊します。 .It int Fn pthread_rwlock_init "pthread_rwlock_t *lock" "const pthread_rwlockat-tr_t *attr" 読み書きロックオブジェクトを初期化します。 .It int Fn pthread_rwlock_rdlock "pthread_rwlock_t *lock" 読み書きロックを読込み用にロックし、 ロックを取得できるまでブロックします。 .It int Fn pthread_rwlock_tryrdlock "pthread_rwlock_t *lock" 読み書きロックを読込み用にロックしようとしますが、 ロックを使用できない場合はブロックしません。 .It int Fn pthread_rwlock_trywrlock "pthread_rwlock_t *lock" 読み書きロックを書込み用にロックしようとしますが、 ロックを使用できない場合はブロックしません。 .It int Fn pthread_rwlock_unlock "pthread_rwlock_t *lock" 読み書きロックを解除します。 .It int Fn pthread_rwlock_wrlock "pthread_rwlock_t *lock" 読み書きロックを書込み用にロックし、 ロックを取得できるまでブロックします。 .It int Fn pthread_rwlockattr_destroy "pthread_rwlockattr_t *attr" 読み書きロック属性オブジェクトを破壊します。 .It int Fn pthread_rwlockattr_getpshared "pthread_rwlockattr_t *attr" "int *pshared" プロセスで共有している、 読み書きロック属性オブジェクトの設定を取り出します。 .It int Fn pthread_rwlockattr_init "pthread_rwlockattr_t *attr" 読み書きロック属性オブジェクトを初期化します。 .It int Fn pthread_rwlockattr_setpshared "pthread_rwlockattr_t *attr" "int *pshared" プロセスで共有している、 読み書きロック属性オブジェクトの設定を設定します。 .El .Sh スレッド固有コンテキストルーチン .Bl -tag -width Er .It int Fn pthread_key_create "pthread_key_t *key" "void (*routine)(void *)" スレッドに固有なデータキーを作成します。 .It int Fn pthread_key_delete "pthread_key_t key" スレッドに固有なデータキーを削除します。 .It void * Fn pthread_getspecific "pthread_key_t key" "void **value_ptr" 指定されたキーのスレッドに固有な値を入手します。 .It int Fn pthread_setspecific "pthread_key_t key" "const void *value_ptr" 指定されたキーのスレッドに固有な値を設定します。 .El .Sh クリーンアップルーチン .Bl -tag -width Er .It void Fn pthread_cleanup_pop "int execute" 呼び出しスレッドのキャンセルクリーンアップスタックの 最上位でルーチンを削除し、オプションで起動します。 .It void Fn pthread_cleanup_push "void (*routine)(void *)" "void *routine_arg" 指定されたキャンセルクリーンアップハンドラを呼び出し スレッドのキャンセルスタックにプッシュします。 .El .Sh インストレーション 現在の FreeBSD POSIX スレッドシステムは、 スレッドセーフな libc 関数とスレッド関数を含むライブラリ .Fa libc_r で構築されています。このライブラリは、スレッドアプリケーションの .Fa libc を置き換えます。 .Pp デフォルトでは、 .Fa libc_r は 'make world' の一部として構築されます。 .Fa libc_r の構築を無効にするには、'-DNOLIBC_R' オプションを .Xr make 1 に指定する必要があります。 .Pp gcc には FreeBSD に固有なオプションが追加されており、 スレッドプロセスのリンクが簡単になっています。 .Fa gcc -pthread を実行すると、 .Fa libc ではなく .Fa libc_r にスレッドプロセスがリンクされます。 .Sh 規格 接頭語 .Fa pthread_ が付き、接尾語 .Fa _np や接頭語 .Fa pthread_rwlock が付いていない .Fa libc_r の関数は、IEEE .Pq Dq Tn POSIX Std 1003.1 Second Eition 1996-07-12 に準拠しています。 .Pp 接頭語 .Fa pthread_ と接尾語 .Fa _np が付いている libc_r の関数は、 POSIX スレッドの移植不可能なエクステンションです。 .Pp 接頭語 .Fa pthread_rwlock が付いている libc_r の関数は、 Single UNIX Specification, Version 2 の The Open Group が作成したエクステンションです。 diff --git a/ja_JP.eucJP/man/man3/pthread_getspecific.3 b/ja_JP.eucJP/man/man3/pthread_getspecific.3 index 47856cfe17..f391780e31 100644 --- a/ja_JP.eucJP/man/man3/pthread_getspecific.3 +++ b/ja_JP.eucJP/man/man3/pthread_getspecific.3 @@ -1,85 +1,85 @@ .\" Copyright (c) 1996 John Birrell . .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" -.\" $Id: pthread_getspecific.3,v 1.1.1.1 1999-12-09 16:25:58 kuriyama Exp $ +.\" %Id: pthread_getspecific.3,v 1.5 1998/08/03 00:58:36 alex Exp % .\" .Dd April 4, 1996 .Dt PTHREAD_GETSPECIFIC 3 .Os BSD 4 .Sh 名称 .Nm pthread_getspecific .Nd スレッドに固有なデータ値を入手 .Sh 書式 .Fd #include .Ft void * .Fn pthread_getspecific "pthread_key_t key" .Sh 解説 .Fn pthread_getspecific 関数は、呼び出しスレッドに代わって指定された .Fa key に現在結合されている値を戻します。 .Pp .Fn pthread_key_create で入手していない .Fa key 値で .Fn pthread_getspecific を呼び出したり、 .Fn pthread_key_delete で .Fa key が削除された後で .Fn pthread_getspecific を呼び出したりすると、結果は不定になります。 .Pp .Fn pthread_getspecific は、スレッドに固有なデータの破壊関数から呼び出されることがあります。 .Sh 戻り値 .Fn pthread_getspecific 関数は、指定された .Fa key に関連する、スレッドに固有なデータ値を戻します。 .Fa key にスレッド固有のデータ値が関連していない場合は NULL が戻されます。 .Sh エラー ありません。 .Sh 関連項目 .Xr pthread_key_create 3 , .Xr pthread_key_delete 3 , .Xr pthread_setspecific 3 .Sh 規格 .Fn pthread_getspecific は、 ISO/IEC 9945-1 ANSI/IEEE .Pq Dq Tn POSIX Std 1003.1 Second Edition 1996-07-12 に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlock_destroy.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_destroy.3 index 1a1e10598c..ff36842834 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlock_destroy.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_destroy.3 @@ -1,76 +1,76 @@ .\" Copyright (c) 1998 Alex Nash .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: pthread_rwlock_destroy.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" %Id: pthread_rwlock_destroy.3,v 1.1 1998/09/07 19:01:43 alex Exp % .\" .Dd August 4, 1998 .Dt PTHREAD_RWLOCK_DESTROY 3 .Os .Sh 名称 .Nm pthread_rwlock_destroy .Nd 読み書きロックの破壊 .Sh 書式 .Fd #include .Ft int .Fn pthread_rwlock_destroy "pthread_rwlock_t *lock" .Sh 解説 .Fn pthread_rwlock_destroy 関数は、 .Fn pthread_rwlock_init で以前に作成された読み書きロックを破壊します。 .Sh 戻り値 問題がない場合、 .Fn pthread_rwlock_destroy 関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 .Sh 関連項目 .Xr pthread_rwlock_init 3 .Sh 規格 .Fn pthread_rwlock_destroy 関数は、 .St -susv2 に準拠する見込みです。 .Sh エラー .Fn pthread_rwlock_destroy 関数は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EPERM オペレーションを実行する権利が呼び出し側にない場合。 .El .Pp .Fn pthread_rwlock_destroy 関数は、以下のような場合にエラーになることがあります。 .Bl -tag -width Er .It Bq Er EBUSY .Fa lock で参照されるオブジェクトがロックされている間に、 そのオブジェクトを破壊しようとする動きがシステムによって検出された場合。 .It Bq Er EINVAL .Fa lock で指定された値が正しくない場合。 .El .Sh 歴史 .Fn pthread_rwlock_destroy 関数は、 .Fx 3.0 に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlock_init.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_init.3 index fda9b2d666..d29b2712f0 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlock_init.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_init.3 @@ -1,92 +1,92 @@ .\" Copyright (c) 1998 Alex Nash .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: pthread_rwlock_init.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" %Id: pthread_rwlock_init.3,v 1.1 1998/09/07 19:01:43 alex Exp % .\" .Dd August 4, 1998 .Dt PTHREAD_RWLOCK_INIT 3 .Os .Sh 名称 .Nm pthread_rwlock_init .Nd 読み書きロックの初期化 .Sh 書式 .Fd #include .Ft int .Fn pthread_rwlock_init "pthread_rwlock_t *lock" "const pthread_rwlockattr_t *attr" .Sh 解説 .Fn pthread_rwlock_init 関数は、 .Fa attr で指定された属性で読み書きロックを初期化します。 .Fa attr が NULL である場合は、デフォルトの読み書きロック属性が使用されます。 .Pp すでに初期化されているロックで .Fn pthread_rwlock_init を呼び出すと、結果は不定になります。 .Sh 戻り値 問題がない場合、 .Fn pthread_rwlock_init 関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 .Sh 関連項目 .Xr pthread_rwlock_destroy 3 , .Xr pthread_rwlockattr_init 3 , .Xr pthread_rwlockattr_setpshared 3 .Sh 規格 .Fn pthread_rwlock_init 関数は、 .St -susv2 に準拠する見込みです。 .Pp .Sh エラー .Fn pthread_rwlock_init 関数は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EAGAIN ロックの初期化に必要なリソース ( メモリ以外 ) がシステムで不足している場合。 .It Bq Er ENOMEM メモリが不足しているためにロックを初期化できない場合。 .It Bq Er EPERM オペレーションを実行するための十分な権利が呼び出し側にない場合。 .El .Pp .Fn pthread_rwlock_init 関数は、以下のような場合にエラーになる場合があります。 .Bl -tag -width Er .It Bq Er EBUSY 以前に初期化されたが破壊されていない読み書きロック .Fa lock で参照されるオブジェクトをさらに初期化しようとする動きが、システムによって 検出された場合。 .It Bq Er EINVAL .Fa attr で指定された値が正しくない場合。 .El .Sh 歴史 .Fn pthread_rwlock_init 関数は、 .Fx 3.0 に追加されました。 .Sh バグ PTHREAD_PROCESS_SHARED 属性はサポートされていません。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlock_rdlock.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_rdlock.3 index 9b70f73fcb..94de8d6453 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlock_rdlock.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_rdlock.3 @@ -1,111 +1,111 @@ .\" Copyright (c) 1998 Alex Nash .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: pthread_rwlock_rdlock.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" %Id: pthread_rwlock_rdlock.3,v 1.1 1998/09/07 19:01:43 alex Exp % .\" .Dd August 4, 1998 .Dt PTHREAD_RWLOCK_RDLOCK 3 .Os .Sh 名称 .Nm pthread_rwlock_rdlock , .Nm pthread_rwlock_tryrdlock .Nd 読込み用に読み書きロックを取得 .Sh 書式 .Fd #include .Ft int .Fn pthread_rwlock_rdlock "pthread_rwlock_t *lock" .Ft int .Fn pthread_rwlock_tryrdlock "pthread_rwlock_t *lock" .Sh 解説 .Fn pthread_rwlock_rdlock 関数は、 .Fa lock が書込み用に設定されておらず、 書込みスレッドがロックでブロックされていない場合、読込みロックを .Fa lock で取得します。読込みロックをすぐに取得できない場合、呼び出しスレッドはロック を取得できるようになるまでブロックされます。 .Pp .Fn pthread_rwlock_tryrdlock 関数は同じアクションを実行しますが、ロックをすぐに取得できなくても ( 書込み用にロックされているか、書込みスレッドが待機していても ) ブロックされません。 .Pp 1つのスレッドは、複数の読込みロックを同時に取得できます。この場合は .Fn pthread_rwlock_unlock をそれぞれのロックに 1 回ずつ呼び出す必要があります。 .Pp 呼び出しスレッドが書込みロックを取得している場合に読込みロックを 取得しようとすると、結果は不定になります。 .Sh システムの注意事項 書込み側の飢餓状態を避けるため、書込み側は読込み側より優先されます。 .Sh 戻り値 問題がない場合、 .Fn pthread_rwlock_rdlock 関数と .Fn pthread_rwlock_tryrdlock 関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 .Sh 関連項目 .Xr pthread_rwlock_init 3 , .Xr pthread_rwlock_trywrlock 3 , .Xr pthread_rwlock_unlock 3 , .Xr pthread_rwlock_wrlock 3 .Sh 規格 .Fn pthread_rwlock_rdlock 関数と .Fn pthread_rwlock_tryrdlock 関数は、 .St -susv2 .Sh エラー .Fn pthread_rwlock_tryrdlock 関数は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EBUSY 書込み側がロックしているかブロックされているため、ロック を取得できない場合。 .El .Pp .Fn pthread_rwlock_rdlock 関数と .Fn pthread_rwlock_tryrdlock 関数は、 以下のような場合にエラーになる場合があります。 .Bl -tag -width Er .It Bq Er EAGAIN .Fa lock に対する読込みロックの最大数を越えたため、ロックを取得できない場合。 .It Bq Er EDEADLK 現在のスレッドが、書込み用にロックをすでに取得している場合。 .It Bq Er EINVAL .Fa lock で指定されている値が正しくない場合。 .It Bq Er ENOMEM メモリが不足しているため、ロックを初期化できない場合 ( 静的に 初期化されるロックのみに適用 ) 。 .El .Sh 歴史 .Fn pthread_rwlock_rdlock 関数は、 .Fx 3.0 に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlock_unlock.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_unlock.3 index 02af94e096..8a8a6a9248 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlock_unlock.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_unlock.3 @@ -1,77 +1,77 @@ .\" Copyright (c) 1998 Alex Nash .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: pthread_rwlock_unlock.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" %Id: pthread_rwlock_unlock.3,v 1.1 1998/09/07 19:01:43 alex Exp % .\" .Dd August 4, 1998 .Dt PTHREAD_RWLOCK_UNLOCK 3 .Os .Sh 名称 .Nm pthread_rwlock_unlock .Nd 読み書きロックの解除 .Sh 書式 .Fd #include .Ft int .Fn pthread_rwlock_unlock "pthread_rwlock_t *lock" .Sh 解説 .Fn pthread_rwlock_unlock 関数は、 .Fn pthread_rwlock_rdlock , .Fn pthread_rwlock_wrlock , .Fn pthread_rwlock_tryrdlock あるいは .Fn pthread_rwlock_trywrlock で以前に取得した読み書きロックを解除します。 .Sh 戻り値 問題がない場合、 .Fn pthread_rwlock_unlock 関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 .Pp 呼び出しスレッドが .Fa lock を取得していない場合、結果は不定になります。 .Sh 関連項目 .Xr pthread_rwlock_rdlock 3 , .Xr pthread_rwlock_wrlock 3 .Sh 規格 .Fn pthread_rwlock_unlock 関数は、 .St -susv2 に準拠する見込みです。 .SH エラー .Fn pthread_rwlock_unlock 関数は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EINVAL .Fa lock で指定されている値が正しくない場合。 .It Bq Er EPERM 現在のスレッドが読み書きロックを取得していない場合。 .El .Pp .Sh 歴史 .Fn pthread_rwlock_unlock 関数は、 .Fx 3.0 に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlock_wrlock.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_wrlock.3 index c3af0b7073..9ac13b91e5 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlock_wrlock.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_wrlock.3 @@ -1,97 +1,97 @@ .\" Copyright (c) 1998 Alex Nash .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: pthread_rwlock_wrlock.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" %Id: pthread_rwlock_wrlock.3,v 1.1 1998/09/07 19:01:43 alex Exp % .\" .Dd August 4, 1998 .Dt PTHREAD_RWLOCK_WRLOCK 3 .Os .Sh 名称 .Nm pthread_rwlock_wrlock , .Nm pthread_rwlock_trywrlock .Nd 書込み用に読み書きロックを取得 .Sh 書式 .Fd #include .Ft int .Fn pthread_rwlock_wrlock "pthread_rwlock_t *lock" .Ft int .Fn pthread_rwlock_trywrlock "pthread_rwlock_t *lock" .Sh 解説 .Fn pthread_rwlock_wrlock 関数は、 .Fa lock に対して書込みロックを取得できるようになるまでブロックされます。 .Fn pthread_rwlock_trywrlock 関数は同じアクションを実行しますが、ロックをすぐに取得できなくてもブロック されません。 .Pp 呼び出しスレッドが呼び出しを行なう時点でロックをすでに取得している 場合、結果は不定になります。 .Sh システムの注意事項 書込み側の飢餓状態を避けるため、書込みが読込みより優先されます。 .Sh 戻り値 問題がない場合、 .Fn pthread_rwlock_wrlock 関数と .Fn pthread_rwlock_trywrlock 関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 .Sh 関連項目 .Xr pthread_rwlock_trywrlock 3 , .Xr pthread_rwlock_unlock 3 , .Xr pthread_rwlock_wrlock 3 .Sh 規格 .Fn pthread_rwlock_wrlock 関数と .Fn pthread_rwlock_trywrlock 関数は、 .St -susv2 に準拠する見込みです。 .Sh エラー .Fn pthread_rwlock_trywrlock 関数は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EBUSY 呼び出しスレッドが、ブロックせずにロックを取得できない場合。 .El .Pp .Fn pthread_rwlock_wrlock 関数と .Fn pthread_rwlock_trywrlock 関数は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EDEADLK 呼び出しスレッドが、読み書きロック ( 読込み用か書込み用 ) を すでに取得している場合。 .It Bq Er EINVAL .Fa lock で指定された値が正しくない場合。 .It Bq Er ENOMEM メモリが不足しているため、ロックを初期化できない場合 ( 静的に 初期化されるロックのみに適用 ) 。 .El .Sh 歴史 .Fn pthread_rwlock_wrlock 関数は、 .Fx 3.0 に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlockattr_destroy.3 b/ja_JP.eucJP/man/man3/pthread_rwlockattr_destroy.3 index 286a66cfed..dafa0f265e 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlockattr_destroy.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlockattr_destroy.3 @@ -1,65 +1,65 @@ .\" Copyright (c) 1998 Alex Nash .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: pthread_rwlockattr_destroy.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" %Id: pthread_rwlockattr_destroy.3,v 1.1 1998/09/07 19:01:43 alex Exp % .\" .Dd August 4, 1998 .Dt PTHREAD_RWLOCKATTR_DESTROY 3 .Os .Sh 名称 .Nm pthread_rwlockattr_destroy .Nd 読み書きロックの破壊 .Sh 書式 .Fd #include .Ft int .Fn pthread_rwlockattr_destroy "pthread_rwlockattr_t *attr" .Sh 解説 .Fn pthread_rwlockattr_destroy 関数は、 .Fn pthread_rwlockattr_init で以前に作成された読み書きロック属性オブジェクトを破壊します。 .Sh 戻り値 問題がない場合、 .Fn pthread_rwlockattr_destroy 関数はゼロを戻します。問題がある場合は、そのエラーを示すエラー番号を戻します。 .Sh 関連項目 .Xr pthread_rwlockattr_init 3 .Sh 規格 .Fn pthread_rwlockattr_destroy 関数は、 .St -susv2 に準拠する見込みです。 .Sh エラー .Fn pthread_rwlockattr_destroy は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EINVAL .Fa attr で指定された値が正しくない場合。 .El .Sh 歴史 .Fn pthread_rwlockattr_destroy 関数は、 .Fx 3.0 に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlockattr_getpshared.3 b/ja_JP.eucJP/man/man3/pthread_rwlockattr_getpshared.3 index 2b21a1270a..0e74a04723 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlockattr_getpshared.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlockattr_getpshared.3 @@ -1,78 +1,78 @@ .\" Copyright (c) 1998 Alex Nash .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: pthread_rwlockattr_getpshared.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" %Id: pthread_rwlockattr_getpshared.3,v 1.1 1998/09/07 19:01:43 alex Exp % .\" .Dd August 4, 1998 .Dt PTHREAD_RWLOCKATTR_GETPSHARED 3 .Os .Sh 名称 .Nm pthread_rwlockattr_getpshared .Nd プロセス共有属性の設定 .Sh 書式 .Fd #include .Ft int .Fn pthread_rwlockattr_getpshared "pthread_rwlockattr_t *attr" "int *pshared" .Sh 解説 .Fn pthread_rwlockattr_getpshared 関数は、読み書きロック属性オブジェクトのプロセス共有設定を入手します。設定は .Fa pshared で戻されますが、以下のうちどちらかの値になります。 .Bl -hang -offset flag -width 123456789012345678901234 .It Ar PTHREAD_PROCESS_SHARED 読み書きロックが常駐するメモリにアクセス できるプロセスのスレッドが、ロックを操作できます。 .It Ar PTHREAD_PROCESS_PRIVATE 読み書きロックを初期化したスレッドと同じ プロセスで作成されたスレッドのみが、ロックを操作できます。これが デフォルト値です。 .El .Sh 戻り値 問題がない場合、 .Fn pthread_rwlockattr_getpshared 関数はゼロを戻します。 問題がある場合は、そのエラーを示すエラー番号を戻します。 .Sh 関連項目 .Xr pthread_rwlock_init 3 , .Xr pthread_rwlockattr_init 3 , .Xr pthread_rwlockattr_setpshared 3 .Sh 規格 .Fn pthread_rwlockattr_getpshared 関数は、 .St -susv2 に準拠する見込みです。 .Sh エラー .Fn pthread_rwlockattr_getpshared は、以下のような場合にエラー となります。 .Bl -tag -width Er .It Bq Er EINVAL .Fa attr で指定された値が正しくない場合。 .El .Sh 歴史 .Fn pthread_rwlockattr_getpshared 関数は、 .Fx 3.0 に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlockattr_init.3 b/ja_JP.eucJP/man/man3/pthread_rwlockattr_init.3 index 8a9d222746..c4f1a2da75 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlockattr_init.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlockattr_init.3 @@ -1,69 +1,69 @@ .\" Copyright (c) 1998 Alex Nash .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: pthread_rwlockattr_init.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" %Id: pthread_rwlockattr_init.3,v 1.1 1998/09/07 19:01:43 alex Exp % .\" .Dd August 4, 1998 .Dt PTHREAD_RWLOCKATTR_INIT 3 .Os .Sh 名称 .Nm pthread_rwlockattr_init .Nd 読み書きロックの初期化 .Sh 書式 .Fd #include .Ft int .Fn pthread_rwlockattr_init "pthread_rwlockattr_t *attr" .Sh 解説 .Fn pthread_rwlockattr_init 関数は、読み書きロック属性オブジェクトを 初期化します。 .Sh 戻り値 問題がない場合、 .Fn pthread_rwlockattr_init 関数はゼロを戻します。 問題がある場合は、そのエラーを示すエラー番号を戻します。 .Sh 関連項目 .Xr pthread_rwlock_init 3 , .Xr pthread_rwlockattr_destroy 3 , .Xr pthread_rwlock-attr_getpshared 3 , .Xr pthread_rwlockattr_setpshared 3 .Sh 規格 .Fn pthread_rwlockattr_init 関数は、 .St -susv2 に準拠する見込みです。 .Sh エラー .Fn pthread_rwlockattr_init は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er ENOMEM メモリが不足しているため、属性オブジェクトを 初期化できない場合。 .El .Pp .Sh 歴史 .Fn pthread_rwlockattr_init 関数は、 .Fx 3.0 に追加されました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlockattr_setpshared.3 b/ja_JP.eucJP/man/man3/pthread_rwlockattr_setpshared.3 index 2442cb0a63..6a92a6e847 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlockattr_setpshared.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlockattr_setpshared.3 @@ -1,87 +1,87 @@ .\" Copyright (c) 1998 Alex Nash .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 AUTHOR AND CONTRIBUTORS ``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 AUTHOR OR CONTRIBUTORS 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. .\" -.\" $Id: pthread_rwlockattr_setpshared.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" %Id: pthread_rwlockattr_setpshared.3,v 1.1 1998/09/07 19:01:43 alex Exp % .\" .Dd August 4, 1998 .Dt PTHREAD_RWLOCKATTR_SETPSHARED 3 .Os .Sh 名称 .Nm pthread_rwlockattr_setpshared .Nd プロセス共有属性を設定 .Sh 書式 .Fd #include .Ft int .Fn pthread_rwlockattr_setpshared "pthread_rwlockattr_t *attr" "int *pshared" .Sh 解説 .Fn pthread_rwlockattr_setpshared 関数は、 .Fa attr のプロセス共有属性を .Fa pshared が参照する値に設定します。 .Fa pshared は、以下のうちどちらかの 値になります。 .Bl -hang -offset flag -width 123456789012345678901234 .It Ar PTHREAD_PROCESS_SHARED 読み書きロックが常駐するメモリにアクセス できるプロセスのスレッドが、ロックを操作できます。 .It Ar PTHREAD_PROCESS_PRIVATE 読み書きロックを初期化したスレッドと同じ プロセスで作成されたスレッドのみが、ロックを操作できます。これが デフォルト値です。 .El .Sh 戻り値 問題がない場合、 .Fn pthread_rwlockattr_setpshared 関数はゼロを戻します。 問題がある場合は、そのエラーを示すエラー番号を戻します。 .Sh 関連項目 .Xr pthread_rwlock_init 3 , .Xr pthread_rwlockattr_init 3 , .Xr pthread_rwlockattr_setpshared 3 .Sh 規格 .Fn pthread_rwlockattr_setpshared 関数は、 .St -susv2 に準拠する見込みです。 .Sh エラー .Fn pthread_rwlockattr_setpshared は、以下のような場合にエラー となります。 .Bl -tag -width Er .It Bq Er EINVAL .Fa attr か .Fa pshared で指定された値が正しくない場合。 .El .Sh 歴史 .Fn pthread_rwlockattr_setpshared 関数は、 .Fx 3.0 に追加されました。 .Sh バグ PTHREAD_PROCESS_SHARED 属性はサポートされていません。 diff --git a/ja_JP.eucJP/man/man3/pty.3 b/ja_JP.eucJP/man/man3/pty.3 index 12246dd5bc..825871a268 100644 --- a/ja_JP.eucJP/man/man3/pty.3 +++ b/ja_JP.eucJP/man/man3/pty.3 @@ -1,146 +1,146 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" $Id: pty.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" %Id: pty.3,v 1.6 1997/02/22 15:08:31 peter Exp % .\" " .Dd December 29, 1996 .Os .Dt PTY 3 .Sh 名称 .Nm openpty , .Nm forkpty .Nd 疑似端末を入手する補助関数 .Sh 書式 .Fd #include .Fd #include .Fd #include .Fd #include .Ft int .Fn openpty "int *amaster" "int *aslave" "char *name" "struct termios *termp" "struct winsize *winp" .Ft int .Fn forkpty "int *amaster" "char *name" "struct termios *termp" "struct winsize *winp" .Pp .Xr cc 1 でコマンドラインからコンパイルするきは .Va -lutil でリンクすること。 .Sh 解説 .Fn openpty 関数は、次に使用できる疑似端末をシステムから 入手しようとします ( .Xr pty 4 参照 ) 。疑似端末を問題なく見つけると、スレーブデバイスの所有権を 現行プロセスの実際の UID に、 グループメンバーシップをグループ .Dq tty に ( このようなグループがシステムに存在する場合 ) 、所有者の 読み書き権とグループの書込み権を変更し、 .Xr revoke 2 を呼び出してラインの現在の使用を無効にしようとします。 .Pp 引数 .Fa name が .Dv NULL ではない場合、 .Fn openpty はスレーブ pty のパス名をこの領域にコピーします。 この配列で必要なスペースは、呼び出し側で割り振ります。 .Pp 引数 .Fa termp か .Fa winp が .Dv NULL ではない場合、 .Fn openpty は、これらの引数が指す構造体の termios 設定とウィンドウサイズ設定を 初期化します。 .Pp 戻る場合は、 pty のマスタサイドとスレーブサイドのオープンファイル記述子が、 .Fa amaster と .Fa aslave が指す場所に戻されます。 .Pp .Fn forkpty は最初に .Fn openpty を呼び出し、次に使用できる疑似端末をシステムから入手します。 問題がない場合は、新しいプロセスが分岐されます。子プロセスでは、 pty のマスタサイドの記述子を閉じ、スレーブ pty で .Xr login_tty 3 を呼び出します。親プロセスでは、 pty のスレーブサイドの記述子を閉じます。 引数 .Fa amaster , .Fa name , .Fa termp そして .Fa winp は、 .Fn openpty の引数と同じ働きをします。 .Sh 戻り値 .Fn openpty は、問題がなければ 0 を戻し、エラーが発生すると -1 を戻します。 .Pp .Fn forkpty は、エラーが発生すると -1 を戻し、スレーブプロセスに 0 、親プロセスに スレーブプロセスのプロセス ID を戻します。 .Sh エラー エラーが発生した場合、 .Fn openpty はグローバル変数 .Dv errno を .Er ENOENT に設定します。 .Pp .Fn forkpty は、 .Xr fork 2 で説明してあるように、 .Dv errno を設定することがあります。 .Sh 関連項目 .Xr chmod 2 , .Xr chown 2 , .Xr fork 2 , .Xr getuid 2 , .Xr open 2 , .Xr revoke 2 , .Xr login_tty 3 , .Xr termios 3 , .Xr pty 4 , .Xr group 5 .Sh バグ 呼び出しプロセスにスーパユーザの有効な UID がなければ、すべての アクションは実行できません。 pty を割り振れる限り ( .Fn forkpty の場合は新しいプロセスを作成できる限り ) 、説明したステップを .Fn openpty か .Fn forkpty が続けられなくても通知はされません。 diff --git a/ja_JP.eucJP/man/man3/queue.3 b/ja_JP.eucJP/man/man3/queue.3 index 69d65b38ab..ad292c01d8 100644 --- a/ja_JP.eucJP/man/man3/queue.3 +++ b/ja_JP.eucJP/man/man3/queue.3 @@ -1,848 +1,848 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)queue.3 8.2 (Berkeley) 1/24/94 -.\" $Id: queue.3,v 1.1.1.1 1999-12-09 16:25:57 kuriyama Exp $ +.\" %Id: queue.3,v 1.13 1998/06/06 05:50:50 jkoshy Exp % .\" .Dd January 24, 1994 .Dt QUEUE 3 .Os BSD 4 .Sh 名称 .Nm SLIST_EMPTY , .Nm SLIST_ENTRY , .Nm SLIST_FIRST , .Nm SLIST_HEAD , .Nm SLIST_INIT , .Nm SLIST_INSERT_AFTER , .Nm SLIST_INSERT_HEAD , .Nm SLIST_NEXT , .Nm SLIST_REMOVE_HEAD , .Nm SLIST_REMOVE , .Nm STAILQ_ENTRY , .Nm STAILQ_HEAD , .Nm STAILQ_INIT , .Nm STAILQ_INSERT_AFTER , .Nm STAILQ_INSERT_HEAD , .Nm STAILQ_INSERT_TAIL , .Nm STAILQ_REMOVE_HEAD , .Nm STAILQ_REMOVE , .Nm LIST_ENTRY , .Nm LIST_HEAD , .Nm LIST_INIT , .Nm LIST_INSERT_AFTER , .Nm LIST_INSERT_BEFORE , .Nm LIST_INSERT_HEAD , .Nm LIST_REMOVE , .Nm TAILQ_EMPTY , .Nm TAILQ_ENTRY , .Nm TAILQ_FIRST , .Nm TAILQ_HEAD , .Nm TAILQ_INIT , .Nm TAILQ_INSERT_AFTER , .Nm TAILQ_INSERT_BEFORE , .Nm TAILQ_INSERT_HEAD , .Nm TAILQ_INSERT_TAIL , .Nm TAILQ_LAST , .Nm TAILQ_NEXT , .Nm TAILQ_REMOVE , .Nm CIRCLEQ_ENTRY , .Nm CIRCLEQ_HEAD , .Nm CIRCLEQ_INIT , .Nm CIRCLEQ_INSERT_AFTER , .Nm CIRCLEQ_INSERT_BEFORE , .Nm CIRCLEQ_INSERT_HEAD , .Nm CIRCLEQ_INSERT_TAIL , .Nm CIRCLEQ_REMOVE .Nd 単一リンクリスト、単一リンクテールキュー、リスト、テールキュー、循 環キューのシステム .Sh 書式 .Fd #include .\" .Fn SLIST_EMPTY "SLIST_HEAD *head" .Fn SLIST_ENTRY "TYPE" .Fn SLIST_FIRST "SLIST_HEAD *head" .Fn SLIST_HEAD "HEADNAME" "TYPE" .Fn SLIST_INIT "SLIST_HEAD *head" .Fn SLIST_INSERT_AFTER "TYPE *listelm" "TYPE *elm" "SLIST_ENTRY NAME" .Fn SLIST_INSERT_HEAD "SLIST_HEAD *head" "TYPE *elm" "SLIST_ENTRY NAME" .Fn SLIST_NEXT "TYPE *elm" "SLIST_ENTRY NAME" .Fn SLIST_REMOVE_HEAD "SLIST_HEAD *head" "SLIST_ENTRY NAME" .Fn SLIST_REMOVE "SLIST_HEAD *head" "TYPE *elm" "TYPE" "SLIST_ENTRY NAME" .\" .Fn STAILQ_ENTRY "TYPE" .Fn STAILQ_HEAD "HEADNAME" "TYPE" .Fn STAILQ_INIT "STAILQ_HEAD *head" .Fn STAILQ_INSERT_AFTER "STAILQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "STAILQ_ENTRY NAME" .Fn STAILQ_INSERT_HEAD "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" .Fn STAILQ_INSERT_TAIL "STAILQ_HEAD *head" "TYPE *elm" "STAILQ_ENTRY NAME" .Fn STAILQ_REMOVE_HEAD "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" .Fn STAILQ_REMOVE "STAILQ_HEAD *head" "TYPE *elm" "TYPE" "STAILQ_ENTRY NAME" .\" .Fn LIST_ENTRY "TYPE" .Fn LIST_HEAD "HEADNAME" "TYPE" .Fn LIST_INIT "LIST_HEAD *head" .Fn LIST_INSERT_AFTER "TYPE *listelm" "TYPE *elm" "LIST_ENTRY NAME" .Fn LIST_INSERT_BEFORE "TYPE *listelm" "TYPE *elm" "LIST_ENTRY NAME" .Fn LIST_INSERT_HEAD "LIST_HEAD *head" "TYPE *elm" "LIST_ENTRY NAME" .Fn LIST_REMOVE "TYPE *elm" "LIST_ENTRY NAME" .\" .Fn TAILQ_EMPTY "TAILQ_HEAD *head" .Fn TAILQ_ENTRY "TYPE" .Fn TAILQ_FIRST "TAILQ_HEAD *head" .Fn TAILQ_HEAD "HEADNAME" "TYPE" .Fn TAILQ_INIT "TAILQ_HEAD *head" .Fn TAILQ_INSERT_AFTER "TAILQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "TAILQ_ENTRY NAME" .Fn TAILQ_INSERT_BEFORE "TYPE *listelm" "TYPE *elm" "TAILQ_ENTRY NAME" .Fn TAILQ_INSERT_HEAD "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME" .Fn TAILQ_INSERT_TAIL "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME" .Fn TAILQ_LAST "TAILQ_HEAD *head" .Fn TAILQ_NEXT "TYPE *elm" "TAILQ_ENTRY NAME" .Fn TAILQ_REMOVE "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME" .\" .Fn CIRCLEQ_ENTRY "TYPE" .Fn CIRCLEQ_HEAD "HEADNAME" "TYPE" .Fn CIRCLEQ_INIT "CIRCLEQ_HEAD *head" .Fn CIRCLEQ_INSERT_AFTER "CIRCLEQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "CIRCLEQ_ENTRY NAME" .Fn CIRCLEQ_INSERT_BEFORE "CIRCLEQ_HEAD *head" "TYPE *listelm" "TYPE *elm" "CIRCLEQ_ENTRY NAME" .Fn CIRCLEQ_INSERT_HEAD "CIRCLEQ_HEAD *head" "TYPE *elm" "CIRCLEQ_ENTRY NAME" .Fn CIRCLEQ_INSERT_TAIL "CIRCLEQ_HEAD *head" "TYPE *elm" "CIRCLEQ_ENTRY NAME" .Fn CIRCLEQ_REMOVE "CIRCLEQ_HEAD *head" "TYPE *elm" "CIRCLEQ_ENTRY NAME" .Sh 解説 このマクロは、単一リンクリスト、単一リンクテールキュー、リスト、テール キュー、循環キューという、5 種類のデータ構造を定義してそこで動作します。 このすべてのデータ構造では、以下の機能がサポートされています。 .Bl -enum -compact -offset indent .It リストの最初に新しいエントリを挿入する。 .It リストに存在する任意のエレメントの後ろに新しいエントリを挿入する。 .It リストの最初からエントリを O(1) 削除する。 .It リストの任意のエントリを O(n) 削除する。 .It リストでトラバースを転送する。 .El .Pp 単一リンクリストは、5 つのデータ構造の中で最も単純で、上の 5つの機能し かサポートしません。データセットが大きく、削除がほとんどないアプリケー ション、または LIFO キューの実現に最適です。 .Pp 単一リンクテールキューには以下の機能もあります。 .Bl -enum -compact -offset indent .It リストの最後にエントリを追加する。 .El しかし以下に注意してください。 .Bl -enum -compact -offset indent .It リストの挿入では、リストのヘッドを必ず指定する必要がある。 .It 各ヘッドエントリでは、1つではなく 2つのポインタが必要。 .It 単一リンクリストより、コードサイズは約 15% 大きく、処理時間は約 20% 長 い。 .El .Pp 単一リンクテールキューは、データセットが大きく、削除がほとんどない アプリケーション、または FIFO キューの実現に最適です。 .Pp 二重リンクタイプのすべてのデータ構造(リスト、テールキュー、循環キュー) には以下の機能もあります。 .Bl -enum -compact -offset indent .It リストに存在する任意のエレメントの前に新しいエントリを挿入する。 .It リストの任意のエントリを O(1) 削除する。 .El しかし以下に注意してください。 .Bl -enum -compact -offset indent .It 各エレメントには、1つではなく 2つのポインタが必要。 .It 単一リンクデータ構造より、コードサイズと実行時間(削除は除く)が約 2倍に なる。 .El .Pp リンクリストは、二重リンクデータ構造の中で最も単純で、単一リンクリスト の機能に加えて上の機能しかサポートしません。 .Pp テールキューには以下の機能もあります。 .Bl -enum -compact -offset indent .It リストの最後にエントリを追加する。 .El しかし以下に注意してください。 .Bl -enum -compact -offset indent .It リストの挿入と削除では、リストのヘッドを必ず指定する必要がある。 .It 各ヘッドエントリでは、1つではなく 2つのポインタが必要。 .It 単一リンクリストより、コードサイズは約 15%大きく、処理時間は約 20%長い。 .El .Pp 循環キューには以下の機能もあります。 .Bl -enum -compact -offset indent .It リストの最後にエントリを追加する。 .It テールからヘッドへ逆順で横断する。 .El しかし以下に注意してください。 .Bl -enum -compact -offset indent .It リストの挿入と削除では、リストのヘッドを必ず指定する必要がある。 .It 各ヘッドエントリでは、1つではなく 2つのポインタが必要。 .It トラバースの終了条件が複雑。 .It リストより、コードサイズは約 40%大きく、処理時間は約 45%長い。 .El .Pp マクロ定義では、 .Fa TYPE はユーザが定義した構造体の名前です。この構造体には、 .Fa NAME という名前が付いた、 .Li SLIST_ENTRY か .Li STAILQ_ENTRY , .Li LIST_ENTRY , .Li TAILQ_ENTRY , .Li CIRCLEQ_ENTRY というタイプのフィールドを含める必要があります。引数 .Fa HEADNAME は、 .Li SLIST_HEAD マクロか .Li STAILQ_HEAD マクロ、 .Li LIST_HEAD マクロ、 .Li TAILQ_HEAD マクロ、 .Li CIRCLEQ_HEAD マクロで宣言する必要がある、ユーザが定義した構造体の名前です。このマク ロの使用法については、以下の使用例を参照してください。 .Sh 単一リンクリスト 単一リンクリストの最初には、 .Nm SLIST_HEAD マクロが定義する構造体が付きます。この構造体には、リストの最初のエレメ ントを指す1 つのポインタが含まれます。エレメントは、任意のエレメントの O(n) 削除を犠牲にして、最低スペースとポインタ操作オーバヘッドに単一リ ンクされます。新しいエレメントは、既存エレメントの後ろかリストの最初で リストに追加できます。 .Fa SLIST_HEAD 構造体は、以下のように宣言されます。 .Bd -literal -offset indent SLIST_HEAD(HEADNAME, TYPE) head; .Ed .Pp .Li HEADNAME は定義する構造体の名前で、 .Li TYPE はリストにリンクするエレメントのタイプです。リストのヘッドのポインタは、 後で以下のように宣言されます。 .Bd -literal -offset indent struct HEADNAME *headp; .Ed .Pp (ユーザは、名前 .Li head と .Li headp を選択できます。) .Pp マクロ .Nm SLIST_ENTRY は、リストのエレメントを接続する構造体を宣言します。 .Pp マクロ .Nm SLIST_INIT は、 .Fa head が参照するリストを初期化します。 .Pp マクロ .Nm SLIST_INSERT_HEAD は、新しいエレメント .Fa elm をリストの最初に挿入します。 .Pp マクロ .Nm SLIST_INSERT_AFTER は、エレメント .Fa listelm の後に新しいエレメント .Fa elm を挿入します。 .Pp マクロ .Nm SLIST_REMOVE_HEAD は、リストの最初からエレメント .Fa elm を削除します。能率を上げるには、リストの最初から削除するエレメントで、 一般的な .Fa SLIST_REMOVE マクロの代わりにこのマクロを明示的に使用してください。 .Pp マクロ .Fa SLIST_REMOVE は、リストからエレメント .Fa elm を削除します。 .Sh 単一リンクリストの使用例 .Bd -literal SLIST_HEAD(slisthead, entry) head; struct slisthead *headp; /* Singly-linked List head. */ struct entry { ... SLIST_ENTRY(entry) entries; /* Singly-linked List. */ ... } *n1, *n2, *n3, *np; SLIST_INIT(&head); /* Initialize the list. */ n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ SLIST_INSERT_HEAD(&head, n1, entries); n2 = malloc(sizeof(struct entry)); /* Insert after. */ SLIST_INSERT_AFTER(n1, n2, entries); SLIST_REMOVE(&head, n2, entry, entries);/* Deletion. */ free(n2); n3 = head.slh_first; SLIST_REMOVE_HEAD(&head, entries); /* Deletion. */ free(n3); /* Forward traversal. */ for (np = head.slh_first; np != NULL; np = np->entries.sle_next) np-> ... while (head.slh_first != NULL) { /* List Deletion. */ n1 = head.slh_first; SLIST_REMOVE_HEAD(&head, entries); free(n1); } .Ed .Sh 単一リンクテールキュー 単一リンクテールキューの最初には、 .Nm STAILQ_HEAD マクロが定義する構造体が付きます。この構造体には、テールキューの最初の エレメントを指すポインタとテールキューの最後のエレメントを指すポインタ が含まれます。エレメントは、任意のエレメントの O(n) 削除を犠牲にして、 最低スペースとポインタ操作オーバヘッドに単一リンクされます。新しいエレ メントは、既存エレメントの後ろ、またはテールキューの最初か最後に追加で きます。 .Fa STAILQ_HEAD 構造は、以下のように宣言されます。 .Bd -literal -offset indent STAILQ_HEAD(HEADNAME, TYPE) head; .Ed .Pp .Li HEADNAME は定義する構造体の名前で、 .Li TYPE はテールキューにリンクするエレメントのタイプです。テールキューのヘッド のポインタは、後で以下のように宣言されます。 .Bd -literal -offset indent struct HEADNAME *headp; .Ed .Pp (ユーザは、名前 .Li head と .Li headp を選択できます。) .Pp マクロ .Nm STAILQ_ENTRY は、テールキューのエレメントを接続する構造体を宣言します。 .Pp マクロ .Nm STAILQ_INIT は、 .Fa head が参照するテールキューを初期化します。 .Pp マクロ .Nm STAILQ_INSERT_HEAD は、新しいエレメント .Fa elm をテールキューの最初に挿入します。 .Pp マクロ .Nm STAILQ_INSERT_TAIL は、新しいエレメント .Fa elm をテールキューの最後に挿入します。 .Pp マクロ .Nm STAILQ_INSERT_AFTER は、新しいエレメント .Fa elm をエレメント .Fa listelm の後ろに挿入します。 .Pp マクロ .Nm STAILQ_REMOVE_HEAD は、テールキューの最初からエレメント .Fa elm を削除します。能率を上げるには、テールキューの最初から削除するエレメン トで、一般的な .Fa STAILQ_REMOVE マクロの代わりにこのマクロを明示的に使用してください。 .Pp マクロ .Fa STAILQ_REMOVE は、テールキューからエレメント .Fa elm を削除します。 .Sh 単一リンクテールキューの使用例 .Bd -literal STAILQ_HEAD(stailhead, entry) head; struct stailhead *headp; /* Singly-linked tail queue head. */ struct entry { ... STAILQ_ENTRY(entry) entries; /* Tail queue. */ ... } *n1, *n2, *n3, *np; STAILQ_INIT(&head); /* Initialize the queue. */ n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ STAILQ_INSERT_HEAD(&head, n1, entries); n1 = malloc(sizeof(struct entry)); /* Insert at the tail. */ STAILQ_INSERT_TAIL(&head, n1, entries); n2 = malloc(sizeof(struct entry)); /* Insert after. */ STAILQ_INSERT_AFTER(&head, n1, n2, entries); /* Deletion. */ STAILQ_REMOVE(&head, n2, entry, entries); free(n2); /* Deletion from the head */ n3 = head.stqh_first; STAILQ_REMOVE_HEAD(&head, entries); free(n3); /* Forward traversal. */ for (np = head.stqh_first; np != NULL; np = np->entries.stqe_next) np-> ... /* TailQ Deletion. */ while (head.stqh_first != NULL) { n1 = head.stqh_first; TAILQ_REMOVE_HEAD(&head, entries); free(n1); } /* Faster TailQ Deletion. */ n1 = head.stqh_first; while (n1 != NULL) { n2 = n1->entries.stqe_next; free(n1); n1 = n2; } STAILQ_INIT(&head); .Ed .Sh リスト リストの最初には、 .Nm LIST_HEAD マクロが定義する構造体が付きます。この構造体には、リストの最初のエレメ ントを指す 1つのポインタが含まれます。エレメントは二重にリンクされてい るので、リストを横断せずに任意のエレメントを削除できます。新しいエレメ ントは、既存エレメントの前後かリストの最初でリストに追加できます。 .Fa LIST_HEAD 構造体は、以下のように宣言されます。 .Bd -literal -offset indent LIST_HEAD(HEADNAME, TYPE) head; .Ed .Pp .Fa HEADNAME は定義する構造体の名前で、 .Fa TYPE はリストにリンクするエレメントのタイプです。リストのヘッドのポインタは、 後で以下のように宣言されます。 .Bd -literal -offset indent struct HEADNAME *headp; .Ed .Pp (ユーザは、名前 .Li head と .Li headp を選択できます。) .Pp マクロ .Nm LIST_ENTRY は、リストのエレメントを接続する構造体を宣言します。 .Pp マクロ .Nm LIST_INIT は、 .Fa head が参照するリストを初期化します。 .Pp マクロ .Nm LIST_INSERT_HEAD は、新しいエレメント .Fa elm をリストの最初に挿入します。 .Pp マクロ .Nm LIST_INSERT_AFTER は、新しいエレメント .Fa elm をエレメント .Fa listelm の後ろに挿入します。 .Pp マクロ .Nm LIST_INSERT_BEFORE は、新しいエレメント .Fa elm をエレメント .Fa listelm の前に挿入します。 .Pp マクロ .Nm LIST_REMOVE は、エレメント .Fa elm をリストから削除します。 .Sh リストの使用例 .Bd -literal LIST_HEAD(listhead, entry) head; struct listhead *headp; /* List head. */ struct entry { ... LIST_ENTRY(entry) entries; /* List. */ ... } *n1, *n2, *n3, *np; LIST_INIT(&head); /* Initialize the list. */ n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ LIST_INSERT_HEAD(&head, n1, entries); n2 = malloc(sizeof(struct entry)); /* Insert after. */ LIST_INSERT_AFTER(n1, n2, entries); n3 = malloc(sizeof(struct entry)); /* Insert before. */ LIST_INSERT_BEFORE(n2, n3, entries); LIST_REMOVE(n2, entries); /* Deletion. */ free(n2); /* Forward traversal. */ for (np = head.lh_first; np != NULL; np = np->entries.le_next) np-> ... while (head.lh_first != NULL) { /* List Deletion. */ n1 = head.lh_first; LIST_REMOVE(n1, entries); free(n1); } n1 = head.lh_first; /* Faster List Delete. */ while (n1 != NULL) { n2 = n1->entries.le_next; free(n1); n1 = n2; } LIST_INIT(&head); .Ed .Sh テールキュー テールキューの最初には、 .Nm TAILQ_HEAD マクロが定義する構造体が付きます。この構造体には、テールキューの最初の エレメントを指すポインタとテールキューの最後のエレメントを指すポインタ が含まれます。エレメントは二重にリンクされているので、テールキューを横 断せずに任意のエレメントを削除できます。新しいエレメントは、既存エレメ ントの前後、テールキューの最初と最後でテールキューに追加できます。 .Fa TAILQ_HEAD 構造体は、以下のように宣言されます。 .Bd -literal -offset indent TAILQ_HEAD(HEADNAME, TYPE) head; .Ed .Pp .Li HEADNAME は定義する構造体の名前で、 .Li TYPE はテールキューにリンクするエレメントのタイプです。テールキューのヘッド のポインタは、後で以下のように宣言されます。 .Bd -literal -offset indent struct HEADNAME *headp; .Ed .Pp (ユーザは、名前 .Li head と .Li headp を選択できます。) .Pp マクロ .Nm TAILQ_EMPTY は、テールキューにアイテムがない場合に真を戻します。 .Pp マクロ .Nm TAILQ_ENTRY は、テールキューのエレメントを接続する構造体を宣言します。 .Pp マクロ .Nm TAILQ_FIRST は、テールキューの最初のアイテムを戻します。テールキューにアイテムがな い場合は NULL を戻します。 .Pp マクロ .Nm TAILQ_INIT は、 .Fa head が参照するテールキューを初期化します。 .Pp マクロ .Nm TAILQ_INSERT_HEAD は、新しいエレメント .Fa elm をテールキューの最初に挿入します。 .Pp マクロ .Nm TAILQ_INSERT_TAIL は、新しいエレメント .Fa elm をテールキューの最後に挿入します。 .Pp マクロ .Nm TAILQ_INSERT_AFTER は、新しいエレメント .Fa elm をエレメント .Fa listelm の後ろに挿入します。 .Pp マクロ .Nm TAILQ_INSERT_BEFORE は、新しいエレメント .Fa elm をエレメント .Fa listelm の前に挿入します。 .Pp マクロ .Nm TAILQ_LAST は、テールキューの最後のアイテムを戻します。テールキューにアイテムがな い場合の戻り値は不定です。 .Pp マクロ .Nm TAILQ_NEXT は、テールキューの次のアイテムを戻します。そのアイテムが最後の場合は NULL を戻します。 .Pp マクロ .Nm TAILQ_REMOVE は、エレメント .Fa elm をテールキューから削除します。 .Sh テールキューの使用例 .Bd -literal TAILQ_HEAD(tailhead, entry) head; struct tailhead *headp; /* Tail queue head. */ struct entry { ... TAILQ_ENTRY(entry) entries; /* Tail queue. */ ... } *n1, *n2, *n3, *np; TAILQ_INIT(&head); /* Initialize the queue. */ n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ TAILQ_INSERT_HEAD(&head, n1, entries); n1 = malloc(sizeof(struct entry)); /* Insert at the tail. */ TAILQ_INSERT_TAIL(&head, n1, entries); n2 = malloc(sizeof(struct entry)); /* Insert after. */ TAILQ_INSERT_AFTER(&head, n1, n2, entries); n3 = malloc(sizeof(struct entry)); /* Insert before. */ TAILQ_INSERT_BEFORE(n2, n3, entries); TAILQ_REMOVE(&head, n2, entries); /* Deletion. */ free(n2); /* Forward traversal. */ for (np = TAILQ_FIRST(&head); np != NULL; np = TAILQ_NEXT(np, entries)) np-> ... /* TailQ Deletion. */ while (!TAILQ_EMPTY(head)) { n1 = TAILQ_FIRST(&head); TAILQ_REMOVE(&head, head.tqh_first, entries); free(n1); } /* Faster TailQ Deletion. */ n1 = TAILQ_FIRST(&head); while (n1 != NULL) { n2 = TAILQ_NEXT(n1, entries); free(n1); n1 = n2; } TAILQ_INIT(&head); .Ed .Sh 循環キュー 循環キューの最初には、 .Nm CIRCLEQ_HEAD マクロが定義する構造体が付きます。この構造体には、循環キューの最初のエ レメントを指すポインタと循環キューの最後のエレメントを指すポインタが含 まれます。エレメントは二重にリンクされているので、キューを横断せずに任 意のエレメントを削除できます。新しいエレメントは、既存エレメントの前後、 またはキューの最初と最後でキューに追加できます。 .Fa CIRCLEQ_HEAD 構造は、以下のように宣言されます。 .Bd -literal -offset indent CIRCLEQ_HEAD(HEADNAME, TYPE) head; .Ed .Pp .Li HEADNAME は定義する構造体の名前で、 .Li TYPE は循環キューにリンクするエレメントのタイプです。循環キューのヘッドのポ インタは、後で以下のように宣言されます。 .Bd -literal -offset indent struct HEADNAME *headp; .Ed .Pp (ユーザは、名前 .Li head と .Li headp を選択できます。) .Pp マクロ .Nm CIRCLEQ_ENTRY は、循環キューのエレメントを接続する構造体を宣言します。 .Pp マクロ .Nm CIRCLEQ_INIT は、 .Fa head が参照する循環キューを初期化します。 .Pp マクロ .Nm CIRCLEQ_INSERT_HEAD は、新しいエレメント .Fa elm を循環キューの最初に挿入します。 .Pp マクロ .Nm CIRCLEQ_INSERT_TAIL は、新しいエレメント .Fa elm を循環キューの最後に挿入します。 .Pp マクロ .Nm CIRCLEQ_INSERT_AFTER は、新しいエレメント .Fa elm をエレメント .Fa listelm の後ろに挿入します。 .Pp マクロ .Nm CIRCLEQ_INSERT_BEFORE は、新しいエレメント .Fa elm をエレメント .Fa listelm の前に挿入します。 .Pp マクロ .Nm CIRCLEQ_REMOVE は、エレメント .Fa elm を循環キューから削除します。 .Sh 循環キューの使用例 .Bd -literal CIRCLEQ_HEAD(circleq, entry) head; struct circleq *headp; /* Circular queue head. */ struct entry { ... CIRCLEQ_ENTRY(entry) entries; /* Circular queue. */ ... } *n1, *n2, *np; CIRCLEQ_INIT(&head); /* Initialize the circular queue. */ n1 = malloc(sizeof(struct entry)); /* Insert at the head. */ CIRCLEQ_INSERT_HEAD(&head, n1, entries); n1 = malloc(sizeof(struct entry)); /* Insert at the tail. */ CIRCLEQ_INSERT_TAIL(&head, n1, entries); n2 = malloc(sizeof(struct entry)); /* Insert after. */ CIRCLEQ_INSERT_AFTER(&head, n1, n2, entries); n2 = malloc(sizeof(struct entry)); /* Insert before. */ CIRCLEQ_INSERT_BEFORE(&head, n1, n2, entries); CIRCLEQ_REMOVE(&head, n1, entries); /* Deletion. */ free(n1); /* Forward traversal. */ for (np = head.cqh_first; np != (void *)&head; np = np->entries.cqe_next) np-> ... /* Reverse traversal. */ for (np = head.cqh_last; np != (void *)&head; np = np->entries.cqe_prev) np-> ... /* CircleQ Deletion. */ while (head.cqh_first != (void *)&head) { n1 = head.cqh_first; CIRCLEQ_REMOVE(&head, head.cqh_first, entries); free(n1); } /* Faster CircleQ Deletion. */ n1 = head.cqh_first; while (n1 != (void *)&head) { n2 = n1->entries.cqh_next; free(n1); n1 = n2; } CIRCLEQ_INIT(&head); .Ed .Sh 歴史 .Nm queue 関数は、 .Bx 4.4 に最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/rcmd.3 b/ja_JP.eucJP/man/man3/rcmd.3 index 4b1c95344b..3968583614 100644 --- a/ja_JP.eucJP/man/man3/rcmd.3 +++ b/ja_JP.eucJP/man/man3/rcmd.3 @@ -1,182 +1,182 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" From: @(#)rcmd.3 8.1 (Berkeley) 6/4/93 -.\" $Id: rcmd.3,v 1.1.1.1 1999-12-09 16:25:56 kuriyama Exp $ +.\" %Id: rcmd.3,v 1.7 1997/02/22 15:00:28 peter Exp % .\" .Dd February 15, 1996 .Dt RCMD 3 .Os BSD 4.2 .Sh 名称 .Nm rcmd , .Nm rresvport , .Nm iruserok , .Nm ruserok .Nd リモートコマンドにストリームを戻すルーチン .Sh 書式 .Fd #include .Ft int .Fn rcmd "char **ahost" "int inport" "const char *locuser" "const char *remuser" "const char *cmd" "int *fd2p" .Ft int .Fn rresvport "int *port" .Ft int .Fn iruserok "u_long raddr" "int superuser" "const char *ruser" "const char *luser" .Ft int .Fn ruserok "const char *rhost" "int superuser" "const char *ruser" "const char *luser" .Sh 解説 .Fn rcmd 関数はスーパユーザが使用するもので、予約されたポート番号に従って認証 スキームを使用してコマンドをリモートマシンで実行します。 .Fn rresvport 関数は、権利があるポートスペースのアドレスとともにソケットの記述子を戻 します。 .Fn ruserok 関数はサーバが使用するもので、 .Fn rcmd を使用してサービスを要求するクライアントを認証します。3つすべての関数 は同じファイルに存在し、 .Xr rshd 8 サーバによって使用されます。 .Pp .Fn rcmd 関数は .Xr gethostbyname 3 を使用してホスト .Fa *ahost を調べ、ホストが存在しない場合は \-1 を戻します。ホストが存在する場合 は、ホストの標準名に .Fa *ahost を設定し、既知のインターネットポート .Fa inport に常駐するサーバとの接続を確立します。 .Pp 接続が確立されると、タイプ .Dv SOCK_STREAM のインターネットドメインのソケットが呼び出し側に戻され、 .Em stdin と .Em stdout としてリモートコマンドに指定されます。 .Fa fd2p が 0以外である場合は、制御プロセスの任意のチャンネルが設定され、その記 述子が .Fa *fd2p に配置されます。制御プロセスは、このチャンネルでコマンド(ユニット 2) から診断出力を戻し、 .Tn UNIX 信号番号としてこのチャンネルのバイトを受け取り、コマンドのプロセスグルー プに転送します。 .Fa fd2p が 0である場合は、 .Em stderr (リモートコマンドのユニット 2)が .Em stdout と同じように作成されます。任意の信号をリモートプロセスに送信する準備は されませんが、バンド外のデータを使用することで注目を得ることはできます。 .Pp プロトコルの詳細については、 .Xr rshd 8 を参照してください。 .Pp .Fn rresvport 関数は、権利があるアドレスが結び付いたソケットを 入手します。このソケットは、 .Fn rcmd やその他の関数での使用に適しています。権利があるインターネットポートは、 0から 1023の範囲にあるものです。この種のアドレスをソケットに結合でき るのはスーパユーザのみです。 .Pp .Fn iruserok 関数と .Fn ruserok 関数は、 .Xr gethostbyname 3 ルーチンが戻すリモートホストの IP アドレスか名前、2つのユーザ名、 ローカルユーザの名前が スーパユーザの名前であるかどうかを示すフラグを 使用します。ユーザがスーパユーザ .Em でない 場合は、 .Pa /etc/hosts.equiv ファイルをチェックします。この検索が実行されない場合、またはこの検索で 問題が発生した場合は、ローカルユーザのホームディレクトリの .Pa .rhosts をチェックし、サービスの要求が許可されているかどうかを確認します。 .Pp このファイルが存在しない場合や通常のファイルでない場合、またはユーザや スーパユーザ以外がこのファイルを所有する場合、あるいは所有者以外がこの ファイルに書き込める場合、チェックは自動的にエラーとなります。 マシン名が .Dq Pa hosts.equiv ファイルにリストされている場合、またはホストと リモートユーザ名が .Dq Pa .rhosts ファイルに存在する場合は 0が戻されます。その 他の場合、 .Fn iruserok と .Fn ruserok は \-1 を戻します。 .Xr gethostname 3 で入手したローカルドメインがリモートドメインと同じである場合は、マシン 名のみを指定する必要があります。 .Pp .Fn iruserok 関数は、セキュリティの理由で高く評価されます。 .Fn ruserok 関数は DNS 全体を信用する必要があり、侵害される可能性がありますが、 .Fn iruserok は最大でもローカル DNS を信頼する必要しかありません。 .Sh 診断 .Fn rcmd 関数は、問題がなければ有効なソケット記述子を戻します。エラーが 発生した場合は \-1 を戻し、診断メッセージを標準エラーに出力します。 .Pp .Fn rresvport 関数は、問題がなければ有効で結合したソケット記述子を戻します。エラーが 発生した場合は \-1 を戻し、エラーの原因に従ってグローバル変数 .Va errno を設定します。「すべてのネットワークポートが使用されている」ことを示す 場合は、エラーコード .Dv EAGAIN がオーバロードされます。 .Sh 関連項目 .Xr rlogin 1 , .Xr rsh 1 , .Xr intro 2 , .Xr rexec 3 , .Xr rexecd 8 , .Xr rlogind 8 , .Xr rshd 8 .Sh 歴史 この関数は、 .Bx 4.2 に追加されました。 diff --git a/ja_JP.eucJP/man/man3/rint.3 b/ja_JP.eucJP/man/man3/rint.3 index 2a7bd65a14..f1a914178b 100644 --- a/ja_JP.eucJP/man/man3/rint.3 +++ b/ja_JP.eucJP/man/man3/rint.3 @@ -1,70 +1,70 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)rint.3 5.1 (Berkeley) 5/2/91 -.\" $Id: rint.3,v 1.1.1.1 1999-12-09 16:25:56 kuriyama Exp $ +.\" %Id: rint.3,v 1.5 1997/02/22 15:09:40 peter Exp % .\" .Dd March 10, 1994 .Dt RINT 3 .Os .Sh 名称 .Nm rint , .Nm rintf .Nd 浮動小数点形式で整数値に丸める .Sh 書式 .Fd #include .Ft double .Fn rint "double x" .Ft float .Fn rintf "float x" .Sh 解説 .Fn rint 関数と .Fn rintf 関数は、現行の丸めモードに従い、 .Fa x に最も近い整数値 ( 倍精度数値か浮動精度数値として表現 ) を戻します。 .Sh 関連項目 .Xr abs 3 , .Xr ceil 3 , .Xr fabs 3 , .Xr floor 3 , .Xr ieee 3 , .Xr math 3 .Sh 歴史 .Fn rint 関数は、 .At v6 で登場しました。 diff --git a/ja_JP.eucJP/man/man3/rpc_secure.3 b/ja_JP.eucJP/man/man3/rpc_secure.3 index 20745a05da..b9e83d42ce 100644 --- a/ja_JP.eucJP/man/man3/rpc_secure.3 +++ b/ja_JP.eucJP/man/man3/rpc_secure.3 @@ -1,231 +1,231 @@ .\" @(#)rpc_secure.3n 2.1 88/08/08 4.0 RPCSRC; from 1.19 88/06/24 SMI -.\" $Id: rpc_secure.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" %Id: rpc_secure.3,v 1.3 1998/01/16 13:33:09 bde Exp % .Dd February 16, 1988 .Dt RPC 3 .Sh 名称 .Nm rpc_secure .Nd 安全なリモートプロシージャコールのためのライブラリルーチン .Sh 書式 .Fd #include .Ft AUTH * .Fo authdes_create .Fa "char *name" .Fa "unsigned window" .Fa "struct sockaddr *addr" .Fa "des_block *ckey" .Fc .Ft int .Fn authdes_getucred "struct authdes_cred *adc" "uid_t *uid" "gid_t *gid" "int *grouplen" "gid_t *groups" .Ft int .Fn getnetname "char *name" .Ft int .Fn host2netname "char *name" "char *host" "char *domain" .Ft int .Fn key_decryptsession "const char *remotename" "des_block *deskey" .Ft int .Fn key_encryptsession "const char *remotename" "des_block *deskey" .Ft int .Fn key_gendes "des_block *deskey" .Ft int .Fn key_setsecret "const char *key" .Ft int .Fn netname2host "char *name" "char *host" "int hostlen" .Ft int .Fn netname2user "char *name" "uid_t *uidp" "gid_t *gidp" "int *gidlenp" "gid_t *gidlist" .Ft int .Fn user2netname "char *name" "uid_t uid" "char *domain" .Sh 解説 このルーチンは、 .Tn RPC ライブラリの一部で、 .Tn DES 認証を実現しています。 .Tn RPC の詳細については、 .Xr rpc 3 を参照してください。 .Pp .Tn DES 認証として知られる、 .Tn RPC 安全認証システムのインタフェースとなる最初のルーチンは、 .Fn authdes_create です。次のルーチンは .Fn authdes_getucred です。 .Pp 注意: .Tn DES 認証システムを動作させるには、キーサーバデーモン .Xr keyserv 8 を実行する必要があります。 .Pp クライアント側で使用する .Fn authdes_create は、安全認証システムを使用できるようにする認証ハンドルを戻します。 最初のパラメータ .Fa name は、サーバプロセスの所有者のネットワーク名、つまり .Fa netname です。通常の場合、このフィールドは、ユーティリティルーチン .Fn host2netname から引き出された .Fa hostname を表しますが、 .Fn user2netname を使用してユーザ名を表すこともできます。第 2 フィールドは、 クライアント証明書の正当性に関するウィンドウで、秒単位で指定されます。 小さいウィンドウの方が大きいウィンドウより安全ですが、ウィンドウを 小さくしすぎると、クロックの揺れのため、再同期化の頻度が 上がります。第 3 パラメータ .Fa addr はオプションです。このパラメータを .Dv NULL にすると、ローカルクロックとサーバのクロックで常に同期が取られている ことを認証システムが仮定するため、再同期化は実行されなくなります。 しかしアドレスを指定すると、システムは、再同期化が必要な時は常に、 そのアドレスを使用してリモートタイムサービスから情報を得ます。 通常の場合、このパラメータは .Tn RPC サーバのアドレスになります。最後のパラメータ .Fa ckey もオプションです。このパラメータを .Dv NULL にすると、認証システムは、証明書の暗号化に使用するランダムな .Tn DES キーを作成します。このパラメータを指定すると、それが ランダムなキーの代わりに使用されます。 .Pp .Tn DES 認証の第 2 ルーチン .Fn authdes_getucred は、オペレーティングシステムに依存しない .Tn DES 証明書を .Ux 証明書に変換するためにサーバ側で使用されます。 .Fn authdes_getucred はキャッシュから情報を引き出すので、情報を得ようとして関数が 呼び出されるたびに Yellow Page 検索をする必要はないという面で、ユーティリティルーチン .Fn netname2user とは異なります。 .Pp .Fn getnetname は、固有でありオペレーティングシステムに依存しない、呼び出し側のネット名を 固定長配列 .Fa name にインストールします。問題がない場合は .Dv TRUE を戻し、問題がある場合は .Dv FALSE を戻します。 .Pp .Fn host2netname は、ドメイン特有なホスト名をオペレーティングシステムに依存しない ネット名に変換します。問題がない場合は .Dv TRUE を戻し、問題がある場合は .Dv FALSE を戻します。これは、 .Fn netname2host の逆です。 .Pp .Fn key_decryptsession は、 .Tn RPC の安全認証システム ( .Tn DES 認証) に関連したキーサーバデーモンとのインタフェースです。 このルーチン、およびこのルーチンに関連した .Fn key_encryptsession , .Fn key_gendes , .Fn key_setsecret をユーザプログラムが呼び出す必要はほとんどありません。 .Xr login 1 などのシステムコマンドと .Tn RPC ライブラリが、この 4 つのルーチンの主なクライアントです。 .Pp .Fn key_decryptsession は、サーバのネット名と .Tn DES キーを受け取り、サーバの公開鍵と呼び出しプロセスの実効ユーザ ID に関連した秘密鍵を使用してキーを復号化します。これは、 .Fn key_encryptsession の逆です。 .Pp .Fn key_encryptsession は、キーサーバインタフェースルーチンです。サーバのネット名と .Tn DES キーを受け取り、サーバの公開鍵と呼び出しプロセスの実効ユーザ ID に関連した秘密鍵を使用してキーを暗号化します。これは、 .Fn key_decryptsession の逆です。 .Pp .Fn key_gendes は、キーサーバインタフェースルーチンです。安全な変換キーをキーサーバに 要求するために使用します。大抵の場合、 1 つの .Qq ランダム を選択するだけでは十分ではありません。なぜなら、 現在時刻を利用する様なランダム数値のよくある選択方法は とても容易に推測できるからです。 .Pp .Fn key_setsecret は、キーサーバインタフェースルーチンです。呼び出しプロセスの実効 .Fa uid のキーを設定するために使用します。 .Pp .Fn netname2host は、オペレーティングシステムに依存しないネット名をドメイン特有の ホスト名に変換します。問題がない場合は .Dv TRUE を戻し、問題がある場合は .Dv FALSE を戻します。これは、 .Fn host2netname の逆です。 .Pp .Fn netname2user は、オペレーティングシステムに依存しないネット名をドメイン特有のユーザ ID に変換します。問題がない場合は .Dv TRUE を戻し、問題がある場合は .Dv FALSE を戻します。これは、 .Fn user2netname の逆です。 .Pp .Fn user2netname は、ドメイン特有のユーザ名をオペレーティングシステムに依存しない ネット名に変換します。問題がない場合は .Dv TRUE を戻し、問題がある場合は .Dv FALSE を戻します。これは、 .Fn netname2user の逆です。 .Sh 関連項目 .Xr rpc 3 , .Xr xdr 3 , .Xr keyserv 8 .Pp 以下のマニュアル .Rs .%B Remote Procedure Calls: Protocol Specification .Re .Rs .%B Remote Procedure Call Programming Guide .Re .Rs .%B Rpcgen Programming Guide .Re .Rs .%B RPC: Remote Procedure Call Protocol Specification .%O RFC1050, Sun Microsystems Inc., USC-ISI .Re diff --git a/ja_JP.eucJP/man/man3/setproctitle.3 b/ja_JP.eucJP/man/man3/setproctitle.3 index 134051e77b..0f348f1bb8 100644 --- a/ja_JP.eucJP/man/man3/setproctitle.3 +++ b/ja_JP.eucJP/man/man3/setproctitle.3 @@ -1,103 +1,103 @@ .\" Copyright (c) 1995 Peter Wemm .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" Peter Wemm. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $Id: setproctitle.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" %Id: setproctitle.3,v 1.10 1998/03/19 07:34:19 charnier Exp % .\" .\" The following requests are required for all man pages. .Dd December 16, 1995 .Os FreeBSD .Dt SETPROCTITLE 3 .Sh 名称 .Nm setproctitle .Nd .Xr ps 1 用のプロセスタイトルを設定する .Sh 書式 .Fd #include .Fd #include .Ft void .Fn setproctitle "const char *fmt" "..." .Pp Link with .Va -lutil on the .Xr cc 1 command line. .Sh 解説 .Fn setproctitle ライブラリルーチンは、 .Xr ps 1 コマンドに現れるプロセスタイトル を設定します。 .Pp タイトルは実行可能モジュールの名前に、 .Va fmt で指定される引数の .Xr printf 3 スタイルの拡張の結果が続いたもので設定されます。 .Pp .Va fmt が NULL の場合、プロセスタイトルは実行可能モジュールの名前にリセット されるだけです。 .Sh 例 デーモンにタイトルを設定してそのアクティビティを示す方法は次のとおりです。 .Bd -literal -offset indent setproctitle("talking to %s", inet_ntoa(addr)); .Ed .Sh 関連項目 .Xr ps 1 , .Xr w 1 , .Xr kvm 3 , .Xr kvm_getargv 3 , .Xr printf 3 .Sh 規格 .Fn setproctitle は、黙示的には標準ではありません。 .Xr ps 1 コマンド行が変化するようにする他の方法 (argv[0] ストリング上のコピーを含む)も黙示的に 移植不可能です。システム付属の .Fn setproctitle が存在する場合は、これを使用する方が賢明です。 .Pp 不都合なことに、 .Fn setproctitle の他のバージョンを呼び出す他の規約がある 可能性があります。ただし、作者はまだどれも見つけていません。これは主導的な 慣行であると信じられています。 .Pp 実現は、 .Tn NetBSD と .Tn BSD/OS も含めて、実現システムは他のシステムとの 互換性があると考えられます。 .Sh 歴史 .Fn setproctitle は .Fx 2.2 で最初に現れました。 他のオペレーティングシステムも同じような機能を持っています。 .Sh 作者 .An Peter Wemm Aq peter@FreeBSD.org は、 .An Eric Allman Aq eric@sendmail.org による .Sy "Sendmail 8.7.3" ソースコードからアイデアを取りました。 diff --git a/ja_JP.eucJP/man/man3/sin.3 b/ja_JP.eucJP/man/man3/sin.3 index eed96b21dc..dc67875bb4 100644 --- a/ja_JP.eucJP/man/man3/sin.3 +++ b/ja_JP.eucJP/man/man3/sin.3 @@ -1,78 +1,78 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" @(#)sin.3 6.7 (Berkeley) 4/19/91 .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)sin.3 6.7 (Berkeley) 4/19/91 -.\" $Id: sin.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" %Id: sin.3,v 1.5 1997/02/22 15:09:40 peter Exp % .\" .Dd April 19, 1991 .Dt SIN 3 .Os .Sh 名称 .Nm sin , .Nm sinf .Nd 正弦関数 .Sh 書式 .Fd #include .Ft double .Fn sin "double x" .Ft float .Fn sinf "float x" .Sh 解説 .Fn sin 関数と .Fn sinf 関数は、 .Fa x (ラジアン単位)の正弦を計算します。 引数の大きさがあまりに大きいと、少ししか意味がないか、 まったく意味のない結果が出されることになります。 .Sh 戻り値 .Fn sin 関数と .Fn sinf 関数は正弦値を返します。 .Sh 関連項目 .Xr acos 3 , .Xr asin 3 , .Xr atan 3 , .Xr atan2 3 , .Xr cos 3 , .Xr cosh 3 , .Xr math 3 , .Xr sinh 3 , .Xr tan 3 , .Xr tanh 3 .Sh 規格 .Fn sin 関数は .St -ansiC に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/sinh.3 b/ja_JP.eucJP/man/man3/sinh.3 index f0c6d4f875..afda944c04 100644 --- a/ja_JP.eucJP/man/man3/sinh.3 +++ b/ja_JP.eucJP/man/man3/sinh.3 @@ -1,82 +1,82 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)sinh.3 6.6 (Berkeley) 4/19/91 -.\" $Id: sinh.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" %Id: sinh.3,v 1.5 1997/02/22 15:09:41 peter Exp % .Dd April 19, 1991 .Dt SINH 3 .Os .Sh 名称 .Nm sinh , .Nm sinhf .Nd 双曲線正弦関数 .Sh 書式 .Fd #include .Ft double .Fn sinh "double x" .Ft float .Fn sinhf "float x" .Sh 解説 .Fn sinh 関数と .Fn sinhf 関数は .Fa x の双曲線正弦を計算します。 .Sh 戻り値 .Fn sinh 関数と .Fn sinhf 関数は双曲線正弦値を返します。ただし、 .Fa x があまりに 大きい場合は除きます。この場合、グローバル変数 .Va errno が .Er ERANGE に 設定されます。 .Sh 関連項目 .Xr acos 3 , .Xr asin 3 , .Xr atan 3 , .Xr atan2 3 , .Xr cos 3 , .Xr cosh 3 , .Xr math 3 , .Xr sin 3 , .Xr tan 3 , .Xr tanh 3 .Sh 規格 .Fn sinh 関数は .St -ansiC に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/skey.3 b/ja_JP.eucJP/man/man3/skey.3 index 326761fe05..51a0cd04ba 100644 --- a/ja_JP.eucJP/man/man3/skey.3 +++ b/ja_JP.eucJP/man/man3/skey.3 @@ -1,156 +1,156 @@ .\" Copyright (c) 1996 .\" David L. Nugent. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY DAVID L. NUGENT AND CONTRIBUTORS ``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 DAVID L. NUGENT OR CONTRIBUTORS 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. .\" -.\" $Id: skey.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" %Id: skey.3,v 1.8 1998/08/05 23:42:10 jdp Exp % .\" .Dd December 22, 1996 .Dt SKEY 3 .Os .Sh 名称 .Nm skeylookup , .Nm skeyverify , .Nm skeychallenge , .Nm skeyinfo , .Nm skeyaccess , .Nm skey_getpass , .Nm skey_crypt .Nd S/Key パスワード制御テーブルアクセス用のライブラリルーチン .Sh 書式 .Fd #include .Fd #include .Ft int .Fn skeylookup "struct skey *mp" "const char *name" .Ft int .Fn skeyverify "struct skey *mp" "char *response" .Ft int .Fn skeychallenge "struct skey *mp" "const char *name" "char *challenge" .Ft int .Fn skeyinfo "struct skey *mp" "const char *name" "char *ss" .Ft int .Fn skeyaccess "char *user" "const char *port" "const char *host" "const char *addr" .Ft char * .Fn skey_getpass "const char *prompt" "struct passwd *pwd" "int pwok" .Ft char * .Fn skey_crypt "char *pp" "char *salt" "struct passwd *pwd" "int pwok" .Sh 解説 これらのルーチンは、コンピュータシステムへのアクセスに使用される S/Key 一時パスワードシステムをサポートします。 S/Key システム自体についての詳細は、 .Xr skey 1 を参照してください。 .Pp .Pp .Fn skeylookup は、一時のパスワードデータベースでエントリを検出します。 処理が成功すると(指定の名前に対応するエントリが検出されると)、 呼び出し元によって渡された skey 構造が埋められ 0 が返されます。 ファイルの読み取り/書き込みポインタは検出されたレコードの先頭に配置されます。 指定の名前に対応するエントリが見つからない場合は、 ファイルの読み取り/書き込みポインタがファイルの末尾に配置され、 ルーチンは 1 を返します。 データベースが開けない場合、またはアクセスエラーが発生する場合、 .Fn skeylookup は -1 を返します。 .Pp .Fn skeyinfo 関数は、ユーザ「名」用の skey 情報をルックアップします。 処理が成功すると、呼び出し元の skey 構造が埋められ、 .Fn skeyinfo は 0 を返します。 オプションのチャレンジストリングバッファが与えられた場合は、それが更新されます。 処理が失敗すると(たとえば、名前が未知の場合、または データベースにアクセスできない場合)、-1 が返されます。 .Pp .Fn skeychallenge は、「名前」についての skey チャレンジストリングを返します。 処理が成功すると、呼び出し元の skey 構造が埋められ、関数は 0 を 返します。ファイル読み取り/書き込みポインタは レコードの先頭に残されます。 処理が成功しないと(すなわち、名前が見つからないと)、関数は -1 を返し、データベースは閉じられます。 .Pp .Fn skeyverify は、s/key チャレンジへの応答を検証します。 この関数が 0 を返した場合、検証は成功であり、 データベースはアップデートされています。 1 が返された場合、検証は処理失敗し、データベースは変化しないままです。 -1 が返された場合、何らかの種類のエラーがデータベースについて発生しており、 データベースは変化しないままです。 s/key データベースは必ずこの呼び出しによって閉じられます。 .Pp .Fn skey_getpass 関数を使用して、正規のパスワードまたは s/key パスワードを 読み取ることができます。 使用するプロンプトは、関数に渡されます。ユーザが 検証できる完全な(安全な) struct passwd と一緒にです。 .Fn skey_getpass は、ユーザのパスワードを取り出そうとする最初の試みにおいて標準ライブラリ getpass を使用し、それがブランクの場合、エコーバックして S/Key パスワード を取り出します。 いずれの場合でも、入力したストリングは呼び出し元に 返されます。 .Pp .Fn skey_crypt は、標準ライブラリ .Xr crypt 3 用のラッパー関数です。 これは、指定の s/key パスワードまたは正規のパスワードのどちらかが OK の場合、暗号化された UNIX パスワードを返します。 .Fn skey_crypt は、最初に skey 方式によって指定パスワードの確認を試み、 それが確認できる場合は、ユーザが正しい UNIX パスワードを実際に 入力したかのように、passwd 構造から暗号化されたパスワードを返します。 s/key パスワード検証が機能しない場合、 パスワードは通常の方法で暗号化され、結果は呼び出し元に渡されます。 passwd 構造ポインタが NULL の場合、 .Fn skey_crypt は、NULL でないストリングを返します。このストリングは有効な UNIX パスワードとは言えません(すなわち、「:」の入ったストリングです)。 .Pp .Fn skeyaccess 関数は、ユーザ名、グループメンバ、端末ポート、ホスト名、および ネットワークの組み合わせについて、従来の UNIX (S/Key でない) パスワードが使用できるかどうかを判定します。UNIX パスワードが使用できる場合、 .Fn skeyaccess は、ゼロでない値を返します。UNIX パスワードが使用できない場合、 0 を返します。 この関数が使用する skey.access 構成ファイルのレイアウトと構造の詳細については、 .Xr skey.access 5 を参照してください。 .Sh 戻り値 上記を参照。 .Sh 関連項目 .Xr skey 1 , .Xr skey.access 5 .Sh バグ 複数のプロセスからの同時アクセスを防止するために s/key データベースについては助言のロックは行われません。 これはファイル内でキーが追加または更新されるときは、通常、 問題ではありませんが、キーが除去されるときは問題がある可能性があります。 .Sh 作者 .An Phil Karn , .An Neil M. Haller , .An John S. Walden , .An Scott Chasin diff --git a/ja_JP.eucJP/man/man3/sleep.3 b/ja_JP.eucJP/man/man3/sleep.3 index d3f7e143cf..2c5965372a 100644 --- a/ja_JP.eucJP/man/man3/sleep.3 +++ b/ja_JP.eucJP/man/man3/sleep.3 @@ -1,83 +1,83 @@ .\" Copyright (c) 1986, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)sleep.3 8.1 (Berkeley) 6/4/93 -.\" $Id: sleep.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" %Id: sleep.3,v 1.11 1998/02/13 03:34:11 bde Exp % .\" .Dd Feb 13, 1998 .Dt SLEEP 3 .Os .Sh 名称 .Nm sleep .Nd 秒単位で測定される間隔についてプロセス実行を延期する .Sh 書式 .Fd #include .Ft unsigned int .Fn sleep "unsigned int seconds" .Sh 解説 .Fn sleep 関数は、 .Fa seconds 秒が経過するか、または信号がプロセスに配信されその 処置が信号捕捉関数を起動するかプロセスを終了するまで、呼び出しプロセスの 実行を延期します。 システムアクティビティは、不確定の量だけスリープを長くする可能性があります。 .Pp この関数は、 .Fa seconds 秒だけ停止することによって、または信号が発生するまで、 .Xr nanosleep 2 を使用して実現されています。したがって、ここでは、スリープは プロセスタイマの状態に何の影響もなく、SIGALRM の特別な処理もありません。 .Sh 戻り値 要求された時間が経過したために .Fn sleep 関数が戻った場合、返される値は 0 です。信号の配信のために .Fn sleep 関数が戻った場合、返される値は スリープでない時間量(秒単位) になります(これは要求された時間から実際にスリープした 時間を減算したものです)。 .Sh 関連項目 .Xr nanosleep 2 , .Xr usleep 3 .Sh 規格 .Fn sleep 関数は .St -p1003.1-90 に準拠しています。 .Sh 歴史 .Fn sleep 関数は .At v7 で現れました。 diff --git a/ja_JP.eucJP/man/man3/sqrt.3 b/ja_JP.eucJP/man/man3/sqrt.3 index ede25d8d75..7ff2ca62c7 100644 --- a/ja_JP.eucJP/man/man3/sqrt.3 +++ b/ja_JP.eucJP/man/man3/sqrt.3 @@ -1,133 +1,133 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)sqrt.3 6.4 (Berkeley) 5/6/91 -.\" $Id: sqrt.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" %Id: sqrt.3,v 1.5 1997/02/22 15:09:42 peter Exp % .\" .Dd May 6, 1991 .Dt SQRT 3 .Os .Sh 名称 .Nm cbrt , .Nm cbrtf , .Nm sqrt , .Nm sqrtf .Nd 立方根関数と平方根関数 .Sh 書式 .Fd #include .Ft double .Fn cbrt "double x" .Ft float .Fn cbrtf "float x" .Ft double .Fn sqrt "double x" .Ft float .Fn sqrtf "float x" .Sh 解説 .Fn cbrt 関数と .Fn cbrtf 関数は .Ar x の立方根を計算します。 .Pp .Fn sqrt 関数と .Fn sqrtf 関数は、 .Ar x の負でない平方根を計算します。 .Sh 戻り値 .Fn cbrt 関数と .Fn cbrtf 関数は、要求された立方根を返します。 .Fn sqrt 関数と .Fn sqrtf 関数は、エラーが発生した場合を除いて、要求された平方根を返します。 .Tn VAX または .Tn Tahoe プロセッサは、負の .Fa x の .Fn sqrt を取ろうとするとエラーが発生します。この場合、 グローバル変数 .Va errno が .Dv EDOM に設定され、予備のオペランド障害が生成されます。 .Sh エラー (切り捨てなどによるもの) .Fn cbrt 関数は、 0.7 .Em ulp まで正確です。 .Pp .Tn VAX 上の .Fn sqrt 関数は 0.501 .Em ulp 内まで正確です。 .Tn IEEE 754 に準拠するマシン上の .\" .Fn sqrt sqrt は、実施中の丸めモードに従って正確に丸められます。エラー は、デフォルトモード(四捨五入)で .Em ulp の半分未満です。 .Em ulp は、実行された 最後の場所の単位 ( .Em U Ns nit in the .Em L Ns ast .Em P Ns lace ) です。 .Sh 関連項目 .Xr math 3 .Pp .Sh 規格 .Nm sqrt 関数は .St -ansiC に準拠しています。 .Sh 歴史 .Fn cbrt 関数は .Bx 4.3 で現れました。 diff --git a/ja_JP.eucJP/man/man3/stdarg.3 b/ja_JP.eucJP/man/man3/stdarg.3 index 9d966856e7..18cbac97b2 100644 --- a/ja_JP.eucJP/man/man3/stdarg.3 +++ b/ja_JP.eucJP/man/man3/stdarg.3 @@ -1,200 +1,200 @@ .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the American National Standards Committee X3, on Information .\" Processing Systems. .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)stdarg.3 8.1 (Berkeley) 6/5/93 -.\" $Id: stdarg.3,v 1.1.1.1 1999-12-09 16:25:55 kuriyama Exp $ +.\" %Id: stdarg.3,v 1.3 1997/03/07 03:27:55 jmg Exp % .\" .Dd June 5, 1993 .Dt STDARG 3 .Os .Sh 名称 .Nm stdarg .Nd 変数引数リスト .Sh 書式 .Fd #include .Ft void .Fn va_start "va_list ap" last .Ft type .Fn va_arg "va_list ap" type .Ft void .Fn va_end "va_list ap" .Sh 解説 関数はさまざまな型のさまざまな数の引数で呼び出せます。 インクルードファイル .Aq Pa stdarg.h は、型 .Pq Em va_list を宣言し、呼び出される関数には数字と型が 未知の引数リストをステップするために 3 つのマクロを定義します。 .Pp 呼び出される関数は、 .Em va_list 型のオブジェクトを宣言する必要があります。 これは、マクロ .Fn va_start 、 .Fn va_arg 、および .Fn va_end によって使用されます。 .Pp .Fn va_start マクロは、 .Fn va_arg と .Fn va_end が後に使用する .Fa ap を初期化し、 最初に呼び出す必要があります。 .Pp パラメータ .Fa last は変数引数リストの前の最後のパラメータの名前です。 すなわち、呼び出し関数が型を認識している最後のパラメータです。 .Pp このパラメータのアドレスは .Fn va_start マクロで使用されるので、 レジスタ変数または関数または配列型として宣言してはなりません。 .Pp .Fn va_start マクロは値を返しません。 .Pp .Fn va_arg マクロは、呼び出しの次の引数の型と値がある式に展開されます。 パラメータ .Fa ap は、 .Fn va_start によって初期化される .Em va_list Fa ap です。 .Fn va_arg の呼び出しごとに .Fa ap は修正され、次の呼び出しが次の引数を返します。 パラメータ .Fa type は、指定型のオブジェクトを指すポインタの型が * を .Fa type に追加するだけで得られるように指定された型名です。 .Pp 次の引数がない場合、または .Fa type が(デフォルトの引数生成に従って生成されたような) 実際の次の引数の型と互換性がない場合、 ランダムなエラーが発生します。 .Pp .Fn va_start マクロの後の最初の .Fn va_arg マクロの使用によって、 .Fa last の後の引数が返されます。 連続的な呼び出しによって、残りの引数の値が返されます。 .Pp .Fn va_end マクロは、変数引数リストが .Fn va_start によって初期化される関数の正常な 戻りを取り扱います。 .Pp .Fn va_end マクロは値を返しません。 .Sh 例 関数 .Em foo は、形式キャラクタのストリングを取り上げ、型を基礎にして各形式 キャラクタに対応する引数を印刷します。 .Bd -literal -offset indent void foo(char *fmt, ...) { va_list ap; int d; char c, *p, *s; va_start(ap, fmt); while (*fmt) switch(*fmt++) { case 's': /* ストリング */ s = va_arg(ap, char *); printf("string %s\en", s); break; case 'd': /* 整数 */ d = va_arg(ap, int); printf("int %d\en", d); break; case 'c': /* キャラクタ */ /* 注意: キャラクタは整数を生成する。 */ c = va_arg(ap, int); printf("char %c\en", c); break; } va_end(ap); } .Ed .Sh 規格 .Fn va_start 、 .Fn va_arg 、および .Fn va_end の各マクロは .St -ansiC に準拠しています。 .Sh 互換性 これらのマクロは、置き換えられる歴史的なマクロと互換性がありま .Em せん 。 後方互換バージョンはインクルードファイル .Aq Pa varargs.h の中にあります。 .Sh バグ .Em varargs マクロと違って、 .Nm stdarg マクロでは、プログラマは、固定した引数のない 関数を作成することができません。この問題は、主に .Em varargs コードを .Nm stdarg コードに変換するときに作業を生じさせますが、 .Xr vfprintf 3 のように、 .Em va_list 引数を取る関数にすべての引数を渡そうとする各種の関数についても困難を 生じさせます。 diff --git a/ja_JP.eucJP/man/man3/strdup.3 b/ja_JP.eucJP/man/man3/strdup.3 index 7ebaaebf3c..ea78dd1f96 100644 --- a/ja_JP.eucJP/man/man3/strdup.3 +++ b/ja_JP.eucJP/man/man3/strdup.3 @@ -1,64 +1,64 @@ .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)strdup.3 8.1 (Berkeley) 6/9/93 -.\" $Id: strdup.3,v 1.1.1.1 1999-12-09 16:25:54 kuriyama Exp $ +.\" %Id: strdup.3,v 1.6 1997/02/22 15:03:27 peter Exp % .\" .\" jpman %Id% .\" .Dd June 9, 1993 .Dt STRDUP 3 .Os .Sh 名称 .Nm strdup .Nd 文字列のコピーを保存 .Sh 書式 .Fd #include .Ft char * .Fn strdup "const char *str" .Sh 解説 .Fn strdup 関数は、文字列 .Fa str のコピーのために十分なメモリを割り振り、コピーを行い、 コピーへのポインタを返します。ポインタはその後に関数 .Xr free 3 の引数として使うことができます。 .Pp 十分なメモリが使用できない場合は、ヌルを返します。 .Sh 参照 .Xr free 3 , .Xr malloc 3 .Sh 歴史 .Fn strdup 関数は最初に .Bx 4.4 に現れました。 diff --git a/ja_JP.eucJP/man/man3/string.3 b/ja_JP.eucJP/man/man3/string.3 index 6386da510e..4994d5818c 100644 --- a/ja_JP.eucJP/man/man3/string.3 +++ b/ja_JP.eucJP/man/man3/string.3 @@ -1,156 +1,156 @@ .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Chris Torek. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)string.3 8.2 (Berkeley) 12/11/93 -.\" $Id: string.3,v 1.1.1.1 1999-12-09 16:25:54 kuriyama Exp $ +.\" %Id: string.3,v 1.5 1997/02/22 15:03:29 peter Exp % .\" .\" jpman %Id% .\" .Dd December 11, 1993 .Dt STRING 3 .Os BSD 4 .Sh 名称 .Nm strcat , .Nm strncat , .Nm strchr , .Nm strrchr , .Nm strcmp , .Nm strncmp , .Nm strcasecmp, .Nm strncasecmp , .Nm strcpy , .Nm strncpy , .Nm strerror , .Nm strlen , .Nm strpbrk , .Nm strsep, .Nm strspn , .Nm strcspn , .Nm strstr , .Nm strtok , .Nm index , .Nm rindex .Nd 文字列に特有の関数 .Sh 書式 .Fd #include .Ft char * .Fn strcat "char *s" "const char * append" .Ft char * .Fn strncat "char *s" "const char *append" "size_t count" .Ft char * .Fn strchr "const char *s" "int c" .Ft char * .Fn strrchr "const char *s" "int c" .Ft int .Fn strcmp "const char *s1" "const char *s2" .Ft int .Fn strncmp "const char *s1" "const char *s2" "size_t count" .Ft int .Fn strcasecmp "const char *s1" "const char *s2" .Ft int .Fn strncasecmp "const char *s1" "const char *s2" "size_t count" .Ft char * .Fn strcpy "char *dst" "const char *src" .Ft char * .Fn strncpy "char *dst" "const char *src" "size_t count" .Ft char * .Fn strerror "int errno" .Ft size_t .Fn strlen "const char *s" .Ft char * .Fn strpbrk "const char *s" "const char *charset" .Ft char * .Fn strsep "char **stringp" "const char *delim" .Ft size_t .Fn strspn "const char *s" "const char *charset" .Ft size_t .Fn strcspn "const char *s" "const char *charset" .Ft char * .Fn strstr "const char *big" "const char *little" .Ft char * .Fn strtok "char *s" "const char *delim" .Ft char * .Fn index "const char *s" "int c" .Ft char * .Fn rindex "const char *s" "int c" .Sh 解説 これらの文字列関数は、ヌルバイトで終了する文字列を操作します。 .Pp 詳しくは、個々の関数についてのマニュアルページを参照してください。 可変長の汎用オブジェクトをバイト文字列 (ヌルバイトのチェックなしに) として操作することについては、 .Xr bstring 3 を参照してください。 .Pp 個々のマニュアルページに記されたものを除いては、 文字列関数はサイズの制限についての検査は行いません。 .Sh 参照 .Xr bstring 3 , .Xr index 3 , .Xr rindex 3 , .Xr strcasecmp 3 , .Xr strcat 3 , .Xr strchr 3 , .Xr strcmp 3 , .Xr strcpy 3 , .Xr strcspn 3 , .Xr strerror 3 , .Xr strlen 3 , .Xr strpbrk 3 , .Xr strrchr 3 , .Xr strsep 3 , .Xr strspn 3 , .Xr strstr 3 , .Xr strtok 3 .Sh 規格 .Fn strcat , .Fn strncat , .Fn strchr , .Fn strrchr , .Fn strcmp , .Fn strncmp , .Fn strcpy , .Fn strncpy , .Fn strerror , .Fn strlen , .Fn strpbrk , .Fn strsep , .Fn strspn , .Fn strcspn , .Fn strstr , および .Fn strtok 関数は、 .St -ansiC に 準拠しています。 diff --git a/ja_JP.eucJP/man/man3/stringlist.3 b/ja_JP.eucJP/man/man3/stringlist.3 index 902da99a32..7f0180c7f7 100644 --- a/ja_JP.eucJP/man/man3/stringlist.3 +++ b/ja_JP.eucJP/man/man3/stringlist.3 @@ -1,117 +1,117 @@ -.\" $NetBSD: stringlist.3,v 1.2 1997/04/09 08:59:25 kleink Exp $ +.\" %NetBSD: stringlist.3,v 1.2 1997/04/09 08:59:25 kleink Exp % .\" .\" Copyright (c) 1997 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This file was contributed to The NetBSD Foundation by Luke Mewburn. .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS .\" ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" jpman %Id$ .\" .Dd February 24, 1997 .Os NetBSD 1.3 .Dt STRINGLIST 3 .Sh 名称 .Nm stringlist , .Nm sl_init , .Nm sl_add , .Nm sl_free , .Nm sl_find .Nd 文字列リスト操作関数 .Sh 書式 .Fd #include .Ft StringList * .Fn sl_init .Ft void .Fn sl_add "StringList *sl" "char *item" .Ft void .Fn sl_free "StringList *sl" "int freeall" .Ft char * .Fn sl_find "StringList *sl" "char *item" .Sh 解説 .Nm 関数は、必要に応じて自動的に展開する文字列の一覧である 文字列リストを操作します。 .Pp .Ar StringList 構造は、次のような定義を持ちます : .Bd -literal -offset indent typedef struct _stringlist { char **sl_str; size_t sl_max; size_t sl_cur; } StringList; .Ed .Pp .Bl -tag -width "sl_str" -offset indent .It Ar sl_str 一覧が入っている配列の基底ポインタです。 .It Ar sl_max .Ar sl_str のサイズ。 .It Ar sl_cur 現在の要素の .Ar sl_str におけるオフセット。 .El .Pp 以下のような文字列リスト操作関数が使用できます : .Bl -tag -width "sl_init()" .It Fn sl_init 文字列リストを作成します。 .Ar StringList へのポインタを 返します。 .It Fn sl_free .Ar sl および .Ar sl->sl_str 配列が占有するメモリを解放します。 .Ar freeall が非ゼロの場合は、 .Ar sl->sl_str の中の項目も解放されます。 .It Fn sl_add .Ar sl->sl_str のサイズを拡張して、 .Ar item を .Ar sl->sl_str の .Ar sl->sl_cur の位置に追加します。 .It Fn sl_find .Ar sl の中の .Ar item を探し、見つからない場合はヌルを返します。 .Sh 参照 .Xr free 3 , .Xr malloc 3 diff --git a/ja_JP.eucJP/man/man3/strptime.3 b/ja_JP.eucJP/man/man3/strptime.3 index 2a99e4471f..c98868ea4a 100644 --- a/ja_JP.eucJP/man/man3/strptime.3 +++ b/ja_JP.eucJP/man/man3/strptime.3 @@ -1,88 +1,88 @@ .\" .\" Copyright (c) 1997 Joerg Wunsch .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" $Id: strptime.3,v 1.1.1.1 1999-12-09 16:25:54 kuriyama Exp $ +.\" %Id: strptime.3,v 1.2 1998/09/12 21:13:29 dt Exp % .\" " .Dd May 8, 1997 .Dt STRPTIME 3 .Os .Sh 名称 .Nm strptime .Nd 日付および時刻を表す文字列を解釈する .Sh 書式 .Fd #include .Ft char * .Fn strptime "const char *buf" "const char *format" "struct tm *timeptr" .Sh 解説 .Fn strptime 関数は、バッファ .Fa buf 中の文字列を .Fa format で示される文字列に従って解釈し、 .Fa timeptr が指す構造体の要素に入れます。 したがって、これは .Xr strftime 3 の逆方向の操作と考えることができます。 .Pp .Fa format 文字列は、ゼロ以上の変換則と通常文字からなります。 すべての通常文字は、バッファと厳密にマッチされます。 そして、フォーマット文字列の空白文字は バッファ中の任意の数の空白文字とマッチします。 すべての変換則は、 .Xr strftime 3 に記述したものと同じです。 .Sh 戻り値 成功して終了した場合、 .Fn strptime は .Fa format 中の変換則を満足させるためには要求されなかった、 .Fa buf 中の最初の文字へのポインタを返します。 変換が一つでも失敗した場合は .Dv NULL を返します。 .Sh 参照 .Xr date 1 , .Xr scanf 3 , .Xr strftime 3 .Sh 作者 .Fn strptime 関数は、 Powerdog Industries によって寄贈されました。 .Pp このマニュアルページは、 .ie t J\(:org Wunsch .el Joerg Wunsch によって書かれました。 .Sh 歴史 .Fn strptime 関数は、 .Fx 3.0 に現れました。 diff --git a/ja_JP.eucJP/man/man3/sysexits.3 b/ja_JP.eucJP/man/man3/sysexits.3 index d78755e985..aaef3e561b 100644 --- a/ja_JP.eucJP/man/man3/sysexits.3 +++ b/ja_JP.eucJP/man/man3/sysexits.3 @@ -1,151 +1,151 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" $Id: sysexits.3,v 1.1.1.1 1999-12-09 16:25:54 kuriyama Exp $ +.\" %Id: sysexits.3,v 1.4 1997/02/22 13:24:18 peter Exp % .\" .\" " .Dd March 31, 1996 .Os .Dt SYSEXITS 3 .Sh 名称 .Nm sysexits .Nd プログラムの望ましい終了コード .Sh 書式 .Fd #include .Sh 解説 .Xr style 9 によれば、プログラムを終了するときに失敗の状態を示すために 任意の値を使って .Xr exit 3 を呼び出すのは、よいやり方ではありません。代りに、 .Nm sysexits からの事前に定義された終了コードを使うべきであり、そうすれば プロセスの呼び出し者はソースコードを調べなくても失敗クラスをおおよそ 推定することができます。 .Pp 無事に終了したことは、常にステータス 0 または .Sy EX_OK によって 示されます。任意のプログラムが常に返す可能性のあるその他の終了ステータスと 衝突する可能性を減らすために、エラー番号は .Sy EX__BASE から始まります。コード の意味は、おおよそ次に示す通りです: .Bl -tag -width "EX_UNAVAILABLEXX(XX)" .It Sy EX_USAGE Pq 64 コマンドが不正に使用されました。例えば、引数の 数の誤り、誤ったフラグ、パラメータの誤った構文など。 .It Sy EX_DATAERR Pq 65 入力データがどこかで不正です。これは、 ユーザーデータのみに使用する必要があり、システムファイルには 使用すべきではありません。 .It Sy EX_NOINPUT Pq 66 入力ファイル (システムファイルではなく) が 存在しないか、または読み取り可能ではありません。これには、メーラーに 対する .Dq \&No message のようなエラーも含まれます (このようなエラーまで 捕えようとする場合)。 .It Sy EX_NOUSER Pq 67 ユーザーが指定したものは存在しません。これは、 メールアドレスやリモートログインに使用することができます。 .It Sy EX_NOHOST Pq 68 ホストが指定したものは存在しません。これは、 メールアドレスやネットワークリクエストに使用することができます。 .It Sy EX_UNAVAILABLE Pq 69 そのサービスは利用できません。これは、 サポートプログラムやファイルが存在しない場合に起きます。これは、 何かやりたいことができないで、その理由が分からないときの キャッチコールメッセージとして使うこともできます。 .It Sy EX_SOFTWARE Pq 70 内部ソフトウェアエラーが検出されました。これは、 できるだけオペレーティングシステム関連ではないエラーに限る必要があります。 .It Sy EX_OSERR Pq 71 オペレーティングシステムエラーが検出されました。 これは、 .Dq 分岐できない、 .Dq パイプを作成できない などのようなエラーに 使うよう意図されています。これには、 passwd ファイルに存在しないユーザーに 対して getuid を返すようなものも含まれます。 .It Sy EX_OSFILE Pq 72 システムファイルのどれか (例えば、 .Pa /etc/passwd 、 .Pa /var/run/utmp など) が存在しないか、開けないか、または何らかの エラー (例えば、構文エラー) があります。 .It Sy EX_CANTCREAT Pq 73 (ユーザー指定の) 出力ファイルが作成できません。 .It Sy EX_IOERR Pq 74 いずれかのファイルに対して I/O 操作中にエラーが起きました。 .It Sy EX_TEMPFAIL Pq 75 一時的な失敗で、本当のエラーではないことを 示します。 sendmail では、これはメーラーが (例えば) 接続を確立できず、 リクエストは後で再試行する必要があることを意味します。 .It Sy EX_PROTOCOL Pq 76 リモートシステムがプロトコル交換の 間に「可能でない」何かを返しました。 .It Sy EX_NOPERM Pq 77 その操作を実行するために十分な許可を 持っていません。これは、ファイルシステムの問題のためではなく、より高い レベルの許可のために意図されています。ファイルシステムに対しては、 .Sy EX_NOINPUT または .Sy EX_CANTCREAT を使用すべきです。 .It Sy EX_CONFIG Pq 78 何かがコンフィグレーションされていない、または コンフィグレーションが間違っている状態にあります。 .El .Pp シンボリックな表現のエラーに対応する数値が、参照を容易にするために 括弧内に示してあります。 .Sh 参照 .Xr exit 3 , .Xr style 9 . .Sh 歴史 .Nm sysexits ファイルは、 .Bx 4.3 以降のどこかで現れました。 .Sh 作者 このマニュアルページは、 .Pa の中のコメント以後に .ie t J\(:org Wunsch .el Joerg Wunsch によって書かれました。 .Sh バグ 適切な終了値の選択が、しばしばあいまいになります。 diff --git a/ja_JP.eucJP/man/man3/tan.3 b/ja_JP.eucJP/man/man3/tan.3 index d5b2e21923..96c86df553 100644 --- a/ja_JP.eucJP/man/man3/tan.3 +++ b/ja_JP.eucJP/man/man3/tan.3 @@ -1,88 +1,88 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)tan.3 5.1 (Berkeley) 5/2/91 -.\" $Id: tan.3,v 1.1.1.1 1999-12-09 16:25:53 kuriyama Exp $ +.\" %Id: tan.3,v 1.5 1997/02/22 15:09:45 peter Exp % .\" .Dd May 2, 1991 .Dt TAN 3 .Os .Sh 名称 .Nm tan , .Nm tanf .Nd 正接 ( タンジェント ) 関数 .Sh 書式 .Fd #include .Ft double .Fn tan "double x" .Ft float .Fn tanf "float x" .Sh 解説 .Fn tan および .Fn tanf 関数は、 .Fa x ( 単位はラジアン ) の正接 ( タンジェント ) を 計算します。引数の値が大きい場合は、意味のない結果が出る場合があります。 丸めによる誤差については、 .Xr math 3 を参照してください。 .Sh 戻り値 .Fn tan 関数は、正接 ( タンジェント ) 値を返します。 .Sh 参照 .Xr acos 3 , .Xr asin 3 , .Xr atan 3 , .Xr atan2 3 , .Xr cos 3 , .Xr cosh 3 , .Xr math 3 , .Xr sin 3 , .Xr sinh 3 , .Xr tanh 3 .Sh 規格 .Fn tan 関数は、 .St -ansiC に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/tanh.3 b/ja_JP.eucJP/man/man3/tanh.3 index ab555f56df..08701f7dc5 100644 --- a/ja_JP.eucJP/man/man3/tanh.3 +++ b/ja_JP.eucJP/man/man3/tanh.3 @@ -1,87 +1,87 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" from: @(#)tanh.3 5.1 (Berkeley) 5/2/91 -.\" $Id: tanh.3,v 1.1.1.1 1999-12-09 16:25:53 kuriyama Exp $ +.\" %Id: tanh.3,v 1.5 1997/02/22 15:09:46 peter Exp % .\" .Dd May 2, 1991 .Dt TANH 3 .Os .Sh 名称 .Nm tanh , .Nm tanhf .Nd 双曲線正接 ( ハイパボリックタンジェント ) 関数 .Sh 書式 .Fd #include .Ft double .Fn tanh "double x" .Ft float .Fn tanhf "float x" .Sh 解説 .Fn tanh および .Fn tanhf 関数は、 x ( 単位はラジアン ) の双曲線正接 ( ハイパボリックタンジェント ) を計算します。丸めによる誤差については、 .Xr math 3 を参照してください。 .Sh 戻り値 .Fn tanh および .Fn tanhf 関数は、双曲線正接 ( ハイパボリックタンジェント ) 値を返します。 .Sh 参照 .Xr acos 3 , .Xr asin 3 , .Xr atan 3 , .Xr atan2 3 , .Xr cos 3 , .Xr cosh 3 , .Xr math 3 , .Xr sin 3 , .Xr sinh 3 , .Xr tan 3 .Sh 規格 .Fn tanh 関数は、 .St -ansiC に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/ualarm.3 b/ja_JP.eucJP/man/man3/ualarm.3 index ea756cbfea..abe5bad078 100644 --- a/ja_JP.eucJP/man/man3/ualarm.3 +++ b/ja_JP.eucJP/man/man3/ualarm.3 @@ -1,96 +1,96 @@ .\" Copyright (c) 1986, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" From: @(#)ualarm.3 8.2 (Berkeley) 4/19/94 -.\" $Id: ualarm.3,v 1.1.1.1 1999-12-09 16:25:53 kuriyama Exp $ +.\" %Id: ualarm.3,v 1.8 1997/09/29 19:11:14 wosch Exp % .\" .Dd April 19, 1994 .Dt UALARM 3 .Os BSD 4.3 .Sh 名称 .Nm ualarm .Nd 指定された時間後に信号発信を予定 .Sh 書式 .Fd #include .Ft u_int .Fn ualarm "u_int microseconds" "u_int interval" .Sh 解説 .Bf -symbolic これは setitimer(2) への簡易化されたインタフェースです。 .Ef .Pp .Fn ualarm 関数は、 .Ar microseconds のカウントだけ待ってから終了信号 .Dv SIGALRM を出します。システム動作またはその呼び出し処理に使った 時間によって、わずかな遅れが起きる場合があります。 .Pp 引数 .Ar interval が非ゼロである場合は、タイマが切れた後 ( すなわち、 .Fa value マイクロ秒が過ぎた後 ) の .Ar interval マイクロ秒毎に .Dv SIGALRM 信号がプロセスに 対して送られます。 .Pp .Xr setitimer 2 の制限によって、 .Ar microseconds および .Ar interval の最大数は 100000000000000 に制限されます ( この値が符号なし整数の範囲内に収まる 場合 ) 。 .Sh 戻り値 信号がうまく受け取られた場合は、 .Fn ualarm 関数はクロックに残された時間数を返します。 .Sh 注 1 マイクロ秒は、0.000001 秒です。 .Sh 参照 .Xr getitimer 2 , .Xr setitimer 2 , .Xr sigpause 2 , .Xr sigvec 2 , .Xr alarm 3 , .Xr signal 3 , .Xr sleep 3 , .Xr usleep 3 .Sh 歴史 .Fn ualarm 関数は、 .Bx 4.3 に現れました。 diff --git a/ja_JP.eucJP/man/man3/usleep.3 b/ja_JP.eucJP/man/man3/usleep.3 index 7f9a02eae1..80193353dc 100644 --- a/ja_JP.eucJP/man/man3/usleep.3 +++ b/ja_JP.eucJP/man/man3/usleep.3 @@ -1,82 +1,82 @@ .\" Copyright (c) 1986, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)usleep.3 8.1 (Berkeley) 6/4/93 -.\" $Id: usleep.3,v 1.1.1.1 1999-12-09 16:25:53 kuriyama Exp $ +.\" %Id: usleep.3,v 1.9 1998/02/13 04:44:49 bde Exp % .\" .Dd Feb 13, 1998 .Dt USLEEP 3 .Os BSD 4.3 .Sh 名称 .Nm usleep .Nd プロセスの実行をマイクロ秒で測った時間だけ中断 .Sh 書式 .Fd #include .Ft int .Fn usleep "unsigned int microseconds" .Sh 解説 .Fn usleep 関数は、 .Fa microseconds マイクロ秒経過するか、またはプロセスに 信号が到着してその動作が信号受信機能を呼び出すものであるかまたはプロセスを 終了するものであるまで、呼び出しプロセスの実行を中断します。システムの 活動状態によっては、スリープ時間は不確定の時間だけ長くなります。 .Pp この関数は、 .Fa microseconds マイクロ秒だけ、または信号があるまでポーズ して .Xr nanosleep 2 を使い実行されます。その結果、このインプリメンテーション ではスリープはプロセスタイマーの状態には影響を与えず、 SIGALRM について特別な取扱いは行いません。 .Sh 戻り値 .\".Rv -std usleep .Fn usleep 関数は、成功すると値 0 を返します。それ以外の場合は値 -1 が 返され、エラーを示すグローバル変数 .Fa errno が設定されます。 .Sh エラー .Fn usleep 関数は、次のような場合には失敗します: .Bl -tag -width [EINTR] .It Bq Er EINTR 信号がプロセスに到着し、その動作は信号受信機能を呼び出すものでした。 .Sh 参照 .Xr nanosleep 2 , .Xr sleep 3 .Sh 歴史 .Fn usleep 関数は、 .Bx 4.3 に現れました。 diff --git a/ja_JP.eucJP/man/man3/uucplock.3 b/ja_JP.eucJP/man/man3/uucplock.3 index a6d643cdc5..be0ce90363 100644 --- a/ja_JP.eucJP/man/man3/uucplock.3 +++ b/ja_JP.eucJP/man/man3/uucplock.3 @@ -1,185 +1,185 @@ .\" .\" Copyright (c) 1996 Brian Somers .\" .\" 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" $Id: uucplock.3,v 1.1.1.1 1999-12-09 16:25:53 kuriyama Exp $ +.\" %Id: uucplock.3,v 1.11 1998/05/28 23:17:08 brian Exp % .\" " .Dd March 30, 1997 .Os .Dt uucplock 3 .Sh 名称 .Nm uu_lock , .Nm uu_unlock , .Nm uu_lockerr .Nd シリアルデバイスの制御権の取得および放棄 .Sh 書式 .Fd #include .Fd #include .Ft int .Fn uu_lock "const char *ttyname" .Ft int .Fn uu_lock_txfr "const char *ttyname" "pid_t pid" .Ft int .Fn uu_unlock "const char *ttyname" .Ft const char * .Fn uu_lockerr "int uu_lockresult" .Pp .Xr cc 1 でコンパイル時には .Va -lutil を指定すること。 .Sh 解説 .Fn uu_lock 関数は、渡された .Fa ttyname により与えられる接尾辞を持つ .Pa /var/spool/lock/LCK.. という名前のロックファイルを作成しようと試みます。 そのファイルがすでに存在する場合は、ロックするプログラムのプロセス ID が そのファイルに入っているものと見なします。 .Pp そのファイルがまだ存在していないか、またはロックファイルの中にあった プロセス ID により与えられる所有側プロセスがもはや動いていない場合は、 .Fn uu_lock 関数はファイルに自身のプロセス ID を書込んで成功を返します。 .Pp .Fn uu_lock_txfr 関数は、ロック所有権をもう一つのプロセスに移転します。 .Fn uu_lock 関数がその前に成功している必要があります。 .Pp .Fn uu_unlock 関数は、与えられた .Fa ttyname について .Fn uu_lock によって作成されたロックファイルを削除します。 .Fn uu_unlock を呼び出す前には、 .Fn uu_lock が成功していなければならないことに注意してください。 .Pp .Fn uu_lockerr 関数は、 .Fn uu_lock から返されるものと同様に、エラー .Fa uu_lockresult を表現するエラーストリングを返します。 .Sh 戻り値 .Fn uu_unlock 関数は、成功すると 0 、失敗すると -1 を返します。 .Pp .Fn uu_lock 関数は、次のいずれかの値を返します: .Pp .Dv UU_LOCK_INUSE: ロックは別のプロセスによって使われています。 .Pp .Dv UU_LOCK_OK: ロックの作成に成功しました。 .Pp .Dv UU_LOCK_OPEN_ERR: .Xr open 2 はロックファイルを開くことができません。 .Pp .Dv UU_LOCK_READ_ERR: .Xr read 2 は、ロックファイルを読み取ることができません。 .Pp .Dv UU_LOCK_CREAT_ERR: .Xr creat 2 は、一時ロックファイルを 作成することができません。 .Pp .Dv UU_LOCK_WRITE_ERR: .Xr write 2 の呼び出しによって、現在のプロセス ID を ロックファイルに書込むことができません。 .Pp .Dv UU_LOCK_LINK_ERR: .Xr link 2 は、一時ロックファイルをリンクすることができません。 .Pp .Dv UU_LOCK_TRY_ERR: ロックする試みは、5 回の試行の後に失敗しました。 .Pp .Dv UU_LOCK_OK の値が .Fn uu_lockerr に渡された場合は、空のストリングが 返されます。それ以外の場合は、失敗した理由を示すストリングが返されます。 .Fn uu_lockerr は、現在の .Va errno の値を使って正確なエラーを判断します。 .Fn uu_lock を呼び出してから .Fn uu_lockerr を呼び出すまでの間に .Va errno が変化してしまわないように注意してください。 .Pp .Fn uu_lock_txfr 関数は、次のいずれかの値を返します: .Pp .Dv UU_LOCK_OK: 転送は成功しました。指定したプロセスが現在デバイスロックを 持っています。 .Pp .Dv UU_LOCK_OWNER_ERR: 現在のプロセスは、指定されたデバイスについての ロックをすでに持ってはいません。 .Pp .DV UU_LOCK_WRITE_ERR: .Xr write 2 の呼び出しによっては、新しいプロセス ID を ロックファイルに書込むことができません。 .Sh エラー .Fn uu_lock 関数が上のエラー値のいずれかを返した場合は、グローバル値 .Va errno を使ってその理由を判断することができます。詳しくは、該当する マニュアルページを参照してください。 .Pp .Fn uu_unlock 関数は、ロックファイルが削除できなかった理由を示す グローバル変数 .Va errno を設定します。詳しくは、 .Xr unlink 2 についての解説を参照してください。 .Sh 参照 .Xr lseek 2 , .Xr open 2 , .Xr read 2 , .Xr write 2 .Sh バグ 失効ロックを残したプログラムと同じプロセス ID が新しいプロセスに割り 当てられた場合は、失効したロックが失効を認識されない可能性があります。 .Pp 呼び出しプロセスは、 .Pa /var/spool/lock ディレクトリに対する書込み許可を 持っていなければなりません。このディレクトリの許可がロックされる シリアルデバイスの許可と同じであることを保証する仕組みは備えていません。 diff --git a/ja_JP.eucJP/man/man3/vgl.3 b/ja_JP.eucJP/man/man3/vgl.3 index 0447c24d59..586c02ee94 100644 --- a/ja_JP.eucJP/man/man3/vgl.3 +++ b/ja_JP.eucJP/man/man3/vgl.3 @@ -1,300 +1,300 @@ .\" Copyright (c) 1997 Sen Schmidt .\" 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, this list of conditions and the following disclaimer, .\" in this position and unchanged. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software withough specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. .\" -.\" $Id: vgl.3,v 1.1.1.1 1999-12-09 16:25:53 kuriyama Exp $ +.\" %Id: vgl.3,v 1.4 1998/03/19 07:34:22 charnier Exp % .Dd August 13, 1997 .Dt VGL 3 .Os FreeBSD 3 .Sh 名称 .Nm vgl .Nd ビデオグラフィックスライブラリ関数 .Sh 書式 .Fd #include .Sh 解説 Libvgl は、コンソールドライバ (syscons) によりサポートされている グラフィックスモードにプログラマがアクセスできるようにするライブラリです。 このライブラリは実際のビデオハードウェアのプログラミングを行い、様々な グラフィックス操作を行うためのいくつかの簡単な機能を提供します。また、 FreeBSD における標準マウスシステムによるマウス機能 ( .Fn moused 参照 ) も サポートしており、これには現在作業中のグラフィックスイメージに マウスポインタをトランスペアレントに重ねあわせる機能も含まれています。この ライブラリは、別の仮想コンソールに切り替える前に現在のイメージをメモリに 保存し、ユーザが切り替えを元に戻したときにそれを復元することによって 画面切り替えを行います。これによって、複数のグラフィックスアプリケーション を異なる仮想コンソールの上で同時に使うことができます。 様々な機能を、以下に簡単に説明します: .Sh 作者 .An Sen Schmidt Aq sos@FreeBSD.org .Sh 関数 .Ft int .Fn VGLInit "int mode" ライブラリを初期化し、グラフィックモード .Em mode を設定します。 .Ft void .Fn VGLEnd "void" グラフィックモードを終了し、 .Fn VGLInit が呼び出される前にアクティブだった画面モードを復元します。 .Ft void .Fn VGLCheckSwitch "void" グラフィックスの出力がないままにプログラムの処理時間が長くなった 場合に、この関数を呼び出すとシステムが画面を切り替えることができる 場合があります。 .Ft int .Fn VGLTextSetFontFile "char *filename" char/string 関数に、組み込みフォントの代りにファイル .Em filename に入っているフォントを使うように指示します。 .Ft int .Fn VGLMouseInit "int mode" マウスを初期化します。引数が .Em VGL_MOUSESHOW である場合は、オプションの画面上マウスポインタを表示します。 .Ft void .Fn VGLMouseMode "int mode" 引数が .Em VGL_MOUSESHOW である場合はマウスポインタを表示し、引数が .Em VGL_MOUSEHIDE である場合はマウスポインタを非表示にします。 .Ft int .Fn VGLMouseStatus "int *x" "int *y" "char *buttons" 現在のマウスポインタの座標およびボタン状態を .Em x, y , buttons で返します。戻り値は、マウスポインタが現在画面に表示されているかいないかを 反映します。 .Ft void .Fn VGLMouseSetImage "VGLBitmap *AndMask" "VGLBitmap *OrMask" この関数を使えば、画面上のマウスポインタのイメージを変えることができます。 .Ft void .Fn VGLMouseSetStdImage "void" この関数は、マウスポインタを標準の矢印に戻します。 .Ft void .Fn VGLLine "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color" 座標 .Em x1, y1 から座標 .Em x2, y2 へ色が .Em color の直線を引きます。 .Ft void .Fn VGLBox "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color" 左上隅の座標 .Em x1, y1 、右下隅の座標 .Em x2, y2 の四角形を色 .Em color の線で描きます。 .Ft void .Fn VGLFilledBox "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color" 左上隅の座標 .Em x1, y1 、右下隅の座標 .Em x2, y2 の塗り潰し四角形を色 .Em color で描きます。 .Ft void .Fn VGLEllipse "VGLBitmap *object" "int xc" "int yc" "int a" "int b" "byte color" 中心が .Em xc, yc であり、幅 .Em a ピクセル、高さ .Em b ピクセルの楕円を色 .Em color の線で描きます。 .Ft void .Fn VGLFilledEllipse "VGLBitmap *object" "int xc" "int yc" "int a" "int b" "byte color" 中心が .Em xc, yc であり、幅 .Em a ピクセル、高さ .Em b ピクセルの塗り潰し楕円を色 .Em color で描きます。 .Ft int .Fn VGLBitmapCopy "VGLBitmap *src" "int srcx" "int srcy" "VGLBitmap *dst" "int dstx" "int dsty" "int width" "int hight" サイズが .Em width, height である長方形のピクセルを、ビットマップ .Em src の左上隅 ( .Em srcx, srcy ) からビットマップ .Em dst の座標 ( .Em dstx, dsty ) へコピーします。 .Ft void .Fn VGLBitmapPutChar "VGLBitmap *Object" "int x" "int y" "byte ch" "byte fgcol" "byte bgcol" "int fill" "int dir" キャラクタ .Em ch を位置 .Em x, y にフォアグラウンド色 .Em fgcol で書き込みます。 .Em fill が != 0 である場合はバックグラウンド色に色 .Em bgcol を使い、それ以外の場合はバックグラウンドは透明になります。キャラクタは引数 .Em dir によって指定される方向に描かれます。 .Ft void .Fn VGLBitmapString "VGLBitmap *Object" "int x" "int y" "char *str" "byte fgcol" "byte bgcol" "int fill" "int dir" 文字列 .Em str を位置 .Em x, y に色 .Em fgcol で書き込みます。 .Em fill が != 0 である場合はバックグラウンド色に色 .Em bgcol を使い、それ以外の場合はバックグラウンド は透明になります。文字列は引数 .Em dir によって指定される方向に描かれます。 .Ft void .Fn VGLClear "VGLBitmap *object" "byte color" ビットマップの全体を色 .Em color に塗り替えます。 .Ft void .Fn VGLSetPalette "byte *red" "byte *green" "byte *blue" この関数は使用するパレットを設定するもので、引数 .Em red, greenm, blue はそれぞれ 256 位置のバイト配列を指すものでなければなりません。 .Ft void .Fn VGLSetPaletteIndex "byte color" "byte red" "byte green" "byte blue" パレットインデックス .Em color を、指定された RGB 値に設定します。 .Ft void .Fn VGLSetBorder "byte color" 境界色を色 .Em color に設定します。 .Ft void .Fn VGLBlankDisplay "int blank" 引数 .Em blank が != 0 である場合は、ディスプレーを空白表示にします。 これは、表示更新の間に画面を閉じて、処理が終ったときに初めてユーザが画面を 見られるようにするために使えます。 .Sh 歴史 .Nm ライブラリは .Fx 3.0 に現れました。 diff --git a/ja_JP.eucJP/man/man3/vis.3 b/ja_JP.eucJP/man/man3/vis.3 index 3503193cda..1e176e4ff3 100644 --- a/ja_JP.eucJP/man/man3/vis.3 +++ b/ja_JP.eucJP/man/man3/vis.3 @@ -1,251 +1,251 @@ .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. 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, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" From: @(#)vis.3 8.1 (Berkeley) 6/9/93 -.\" $Id: vis.3,v 1.1.1.1 1999-12-09 16:25:52 kuriyama Exp $ +.\" %Id: vis.3,v 1.7 1997/04/13 13:15:18 bde Exp % .\" .Dd July 25, 1996 .Dt VIS 3 .Os .Sh 名称 .Nm vis .Nd キャラクタを視覚的にコード化 .Sh 書式 .Fd #include .Ft char * .Fn vis "char *dst" "int c" "int flag" "int nextc" .Ft int .Fn strvis "char *dst" "const char *src" "int flag" .Ft int .Fn strvisx "char *dst" "const char *src" "size_t len" "int flag" .Sh 解説 .Fn vis 関数は、キャラクタ .Fa c を表す文字列を .Fa dst にコピーします。 .Fa c がコード化を必要としない場合は、何も変更せずにコピーします。 文字列は null で終端され、文字列の最後へのポインタが返されます。 コード化の長さの最大値は 4 キャラクタです ( 最後の .Dv NUL は含まない ) 。従って、キャラクタのセットを バッファにコード化するときは、バッファのサイズはコード化される キャラクタ数の 4 倍と、最後に付ける .Dv NUL の分の 1 が必要です。コード化する キャラクタのデフォルト範囲を変更するため、また視覚的な表現を 変更するためにはフラグパラメータを使います。追加のキャラクタ、 .Fa nextc は、コード化形式 .Dv VIS_CSTYLE を選択したときにのみ使います ( 以下に説明します ) 。 .Pp .Fn strvis および .Fn strvisx 関数は、文字列 .Fa src の視覚的表現を .Fa dst にコピーします。 .Fn strvis 関数は、 .Fa src から最初の .Dv NUL までのキャラクタをコード化します。 .Fn strvisx 関数は、 .Fa src から正確に .Fa len 個のキャラクタをコード化します ( これは、複数の .Dv NUL を含む可能性のあるデータのブロックを コード化する場合に役に立ちます ) 。どちらの形式でも .Fa dst を .Dv NUL で終端します。 .Fa dst のサイズは、 .Fa src からコード化されるキャラクタ数の 4 倍でなければなりません ( プラス .Dv NUL のための1 ) 。どちらの形式でも、キャラクタ数を .Fa dst に返します ( 最後の .Dv NUL は含まずに ) 。 .Pp コード化は、すべてグラフィックキャラクタで構成されたユニークで 逆変換可能な表現です。すなわち、 .Xr unvis 3 または .Xr strunvis 3 関数を使えば元の形に戻すことができます。 .Pp 制御できるパラメータは 2 つあります:コード化するキャラクタの範囲、 および使用する表現のタイプです。デフォルトでは、スペース、タブ、改行を 除くすべての非グラフィックキャラクタがコード化されます。( .Xr isgraph 3 参照 ) これは、以下のフラグによって変更されます: .Bl -tag -width VIS_WHITEX .It Dv VIS_SP スペースもコード化します。 .It Dv VIS_TAB タブもコード化します。 .It Dv VIS_NL 改行もコード化します。 .It VIS_WHITE .Dv VIS_SP \&| .Dv VIS_TAB \&| .Dv VIS_NL と同義。 .It Dv VIS_SAFE "unsafe" キャラクタのみをコード化します。"unsafe"キャラクタとは、 普通の端末に予期しない機能を引き起こすような制御キャラクタ のことです。現在のところ、この形式ではすべてのグラフィックキャラクタに 加えて、スペース、タブ、改行、バックスペース、ベル、リターンを コード化しないでおきます。 .El .Pp コード化には 3 つの形式があります。すべての形式は、 バックスラッシュキャラクタ .Ql \e を使って特殊シーケンスを導入します。本当のバックスラッシュを表すには、 2 つのバックスラッシュを使います。次のような視覚的形式があります: .Bl -tag -width VIS_CSTYLE .It (default) .Ql M を使ってメタキャラクタ ( 8 番目のビットがセットされた キャラクタ ) を表し、カラット .Ql ^ を使って制御キャラクタを表します ( .Xr iscntrl 3 参照 ) 。 次のような形式を使います: .Bl -tag -width xxxxx .It Dv \e^C 制御キャラクタ .Ql C を表します。 .Ql \e000 から .Ql \e037 まで、および .Ql \e177 のキャラクタを 含みます ( .QL \e^? のように ) 。 .It Dv \eM-C 8 番目のビットがセットされたキャラクタ .Ql C を表します。 .Ql \e241 から .Ql \e377 までのキャラクタを含みます。 .It Dv \eM^C 8 番目のビットがセットされた制御キャラクタ .Ql C を表します。 .Ql \e200 から .Ql \e237 まで、および .QL \e377 のキャラクタを含みます ( .Ql \eM^? のように ) 。 .It Dv \e040 .Tn ASCII のスペースを表します。 .It Dv \e240 メタスペースを表します。 .El .Pp .It Dv VIS_CSTYLE C スタイルのバックスラッシュシーケンスを使って、標準非印刷 キャラクタを表します。次に示すシーケンスを使って、指定されているキャラクタ を表します: .Bd -unfilled -offset indent .Li \ea Tn - BEL No (007) .Li \eb Tn - BS No (010) .Li \ef Tn - NP No (014) .Li \en Tn - NL No (012) .Li \er Tn - CR No (015) .Li \et Tn - HT No (011) .Li \ev Tn - VT No (013) .Li \e0 Tn - NUL No (000) .Ed .Pp この形式を使う場合は、nextc パラメータを見て .Dv NUL キャラクタを .Ql \e000 ではなく .Ql \e0 とコード化するかどうかを判断します。 .Fa nextc が 8 進数字である場合は、あいまいさを避けるために .Ql \e000 の表現を使います。 .It Dv VIS_OCTAL 3 桁の 8 進法シーケンスを使います。 .Em d が 8 進数字を表す場合は、形式は .Ql \eddd となります。 .El .Pp もう一つのフラグ、 .Dv VIS_NOSLASH は、バックスラッシュの重複およびデフォルト形式 ( すなわち、 制御キャラクタを .Ql ^C で、メタキャラクタを .Ql M-C で表す形式 ) の前のバックスラッシュを抑制します。このフラグがセット してあると、コード化はあいまいとなり逆変換不能となります。 .Sh 参照 .Xr unvis 1 , .Xr strunvis 3 , .Xr unvis 3 .Sh 歴史 これらの関数は最初に .Bx 4.4 に現れました。 diff --git a/ja_JP.eucJP/man/man3/xdr.3 b/ja_JP.eucJP/man/man3/xdr.3 index b12abd25ff..08fea1b38e 100644 --- a/ja_JP.eucJP/man/man3/xdr.3 +++ b/ja_JP.eucJP/man/man3/xdr.3 @@ -1,788 +1,788 @@ .\" @(#)xdr.3n 2.2 88/08/03 4.0 RPCSRC; from 1.16 88/03/14 SMI -.\" $Id: xdr.3,v 1.1.1.1 1999-12-09 16:25:52 kuriyama Exp $ +.\" %Id: xdr.3,v 1.6 1997/05/28 04:57:28 wpaul Exp % .\" .TH XDR 3 "16 February 1988" .SH 名称 xdr \- 外部データ表現のライブラリルーチン .SH 書式および解説 .LP これらのルーチンによって、C プログラマは任意のデータ構造をマシン独立 に記述することができます。リモートプロシージャコール用の データは、これらのルーチンを使って送信されます。 .LP .ft B .nf .sp .5 xdr_array(xdrs, arrp, sizep, maxsize, elsize, elproc) \s-1XDR\s0 *xdrs; char **arrp; u_int *sizep, maxsize, elsize; xdrproc_t elproc; .fi .ft R .IP 可変長配列とそれに対応する外部表現とを相互に変換する フィルタプリミティブです。パラメータ .I arrp は配列へのポインタのアドレス、 .I sizep は配列の要素カウントのアドレスであり、この要素カウントは .I maxsize を超えることはできません。パラメータ .I elsize は各配列要素の .I sizeof の値であり、 .I elproc は配列要素の C 形式と外部表現とを相互に変換する .SM XDR フィルタです。このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 8 .LP .ft B .nf .sp .5 xdr_bool(xdrs, bp) \s-1XDR\s0 *xdrs; bool_t *bp; .fi .ft R .IP ブール値 (C 言語整数) とその外部表現とを相互に変換する フィルタプリミティブです。データをコード化するときは、このフィルタは 1 または 0 の値を作り出します。このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 10 .LP .ft B .nf .sp .5 xdr_bytes(xdrs, sp, sizep, maxsize) \s-1XDR\s0 *xdrs; char **sp; u_int *sizep, maxsize; .fi .ft R .IP カウントしたバイトストリングとその外部表現とを相互に変換する フィルタプリミティブです。パラメータ .I sp はストリングポインタのアドレス です。ストリングの長さはアドレス .I sizep に置かれ、ストリングの長さは .I maxsize よりも長くなることはできません。このルーチンは、成功すれば 1 を、 失敗すれば 0 を返します。 .br .if t .ne 7 .LP .ft B .nf .sp .5 xdr_char(xdrs, cp) \s-1XDR\s0 *xdrs; char *cp; .fi .ft R .IP C 言語のキャラクタとその外部表現とを相互に変換するフィルタプリミティブ です。このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 注:コード化されたキャラクタは圧縮されず、それぞれは 4 バイトを 占有します。キャラクタの配列については、 .BR xdr_bytes(\|) , .BR xdr_opaque(\|) , .B xdr_string(\|) を使うことを考える価値があります。 .br .if t .ne 8 .LP .ft B .nf .sp .5 void xdr_destroy(xdrs) \s-1XDR\s0 *xdrs; .fi .ft R .IP .SM XDR ストリーム .I xdrs に結合された破壊ルーチンを呼び出すマクロです。破壊とは、通常は そのストリームに結合されたプライベートデータ構造を解放することを 意味します。 .B xdr_destroy(\|) を呼び出した後で .I xdrs を使うことは、未定義です。 .br .if t .ne 7 .LP .ft B .nf .sp .5 xdr_double(xdrs, dp) \s-1XDR\s0 *xdrs; double *dp; .fi .ft R .IP C 言語の倍精度数 ( .B double ) とその外部表現とを相互に変換する フィルタプリミティブです。このルーチンは、成功すれば 1 を、 失敗すれば 0 を返します。 .br .if t .ne 7 .LP .ft B .nf .sp .5 xdr_enum(xdrs, ep) \s-1XDR\s0 *xdrs; enum_t *ep; .fi .ft R .IP C 言語の .B enum (実際は整数) とその外部表現とを相互に変換する フィルタプリミティブです。このルーチンは、成功すれば 1 を、 失敗すれば 0 を返します。 .br .if t .ne 8 .LP .ft B .nf .sp .5 xdr_float(xdrs, fp) \s-1XDR\s0 *xdrs; float *fp; .fi .ft R .IP C 言語の .B float とその外部表現とを相互に変換する フィルタプリミティブです。このルーチンは、成功すれば 1 を、 失敗すれば 0 を返します。 .br .if t .ne 9 .LP .ft B .nf .sp .5 void xdr_free(proc, objp) xdrproc_t proc; char *objp; .fi .ft R .IP ジェネリックな解放ルーチンです。最初の引数は、解放するオブジェクトの .SM XDR ルーチンです。2 番目の引数は、そのオブジェクト自体への ポインタです。注:このルーチンに渡されるポインタは解放されませんが、それが 指すものは解放 (反復的に) されます。 .br .if t .ne 8 .LP .ft B .nf .sp .5 u_int xdr_getpos(xdrs) \s-1XDR\s0 *xdrs; .fi .ft R .IP .SM XDR ストリーム .I xdrs に結合された位置検索ルーチンを呼び出すマクロです。このルーチンは、 .SM XDR バイトストリームの位置を示す符号なしの整数を返します。 .SM XDR ストリームのよいところは、 .SM XDR ストリームインスタンスがそれを保証しているとは限らない場合であっても、 この数字に対して簡単な算術計算が使えることです。 .br .if t .ne 4 .LP .ft B .nf .sp .5 .br long * xdr_inline(xdrs, len) \s-1XDR\s0 *xdrs; int len; .fi .ft R .IP .SM XDR ストリーム .I xdrs に結合されたインラインルーチンを呼び出すマクロです。このルーチンは、 ストリームのバッファの連続した部分へのポインタを返します。 .I len は、希望するバッファのバイト長です。注:ポインタは .B "long *" にキャストされます。 .IP 警告: .B xdr_inline(\|) は、連続するバッファの部分を割り当てられない場合は、 .SM NULL (0) を返すことがあります。従って、ストリームインスタンスによって 挙動が異なる場合があります。このルーチンは、効率を上げるために 用意されています。 .br .if t .ne 7 .LP .ft B .nf .sp .5 xdr_int(xdrs, ip) \s-1XDR\s0 *xdrs; int *ip; .fi .ft R .IP C 言語の整数とその外部表現とを相互に変換するフィルタプリミティブ です。このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 7 .LP .ft B .nf .sp .5 xdr_long(xdrs, lp) \s-1XDR\s0 *xdrs; long *lp; .fi .ft R .IP C 言語 の長整数 ( .B long ) とその外部表現とを相互に変換するフィルタプリミティブです。 このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 12 .LP .ft B .nf .sp .5 void xdrmem_create(xdrs, addr, size, op) \s-1XDR\s0 *xdrs; char *addr; u_int size; enum xdr_op op; .fi .ft R .IP このルーチンは、 .I xdrs によって指される .SM XDR ストリームオブジェクトを初期化します。ストリームのデータは、長さが .I size バイトを超えない .I addr の位置にあるメモリに書込まれるか、またはそこから読み出されます。 .I op は、 .SM XDR ストリームの方向 ( .BR \s-1XDR_ENCODE\s0 , .BR \s-1XDR_DECODE\s0 , .B \s-1XDR_FREE\s0 のいずれか) を決定します。 .br .if t .ne 10 .LP .ft B .nf .sp .5 xdr_opaque(xdrs, cp, cnt) \s-1XDR\s0 *xdrs; char *cp; u_int cnt; .fi .ft R .IP 固定サイズの不透明 (opaque) データとその外部表現とを相互に変換する フィルタプリミティブです。パラメータ .I cp は不透明データのアドレスであり、 .I cnt はそのサイズをバイトで表したものです。このルーチンは、 成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 10 .LP .ft B .nf .sp .5 xdr_pointer(xdrs, objpp, objsize, xdrobj) \s-1XDR\s0 *xdrs; char **objpp; u_int objsize; xdrproc_t xdrobj; .fi .ft R .IP .B xdr_reference(\|) と同じ働きをします。但し、このルーチンが .SM NULL ポインタをシリアル化するのに対して、 .B xdr_reference(\|) はシリアル化しません。 従って、 .B xdr_pointer(\|) はバイナリツリーやリンクリストのような反復的データ構造を 表すことができます。 .br .if t .ne 15 .LP .ft B .nf .sp .5 void xdrrec_create(xdrs, sendsize, recvsize, handle, readit, writeit) \s-1XDR\s0 *xdrs; u_int sendsize, recvsize; char *handle; int (*readit) (\|), (*writeit) (\|); .fi .ft R .IP このルーチンは、 .I xdrs によって指される .SM XDR ストリームオブジェクトを初期化します。ストリームのデータはサイズ .I sendsize のバッファに書込まれ、値 0 はシステムが適切なデフォルトを使う 必要があることを示します。ストリームのデータは、サイズ .I recvsize のバッファから読み込まれ、このルーチンも値 0 を渡すことによって 適切なデフォルトを設定することができます。ストリームの出力バッファが 一杯のときは、 .I writeit が呼ばれます。同様に、ストリームの入力バッファが空のときは、 .I readit が呼ばれます。これらの 2 つのルーチンの挙動は、システムコール .BR read , .B write と似ています。但し、 .B read には最初のパラメータとして .I handle が渡されることが異なります。注: .SM XDR ストリームの .I op フィールドは、呼び出し元が設定しなければなりません。 .IP 警告: この .SM XDR ストリームは、中間レコードストリームを実装しています。 従って、ストリームにはレコードの境界情報を与える追加バイトが入っています。 .br .if t .ne 9 .LP .ft B .nf .sp .5 xdrrec_endofrecord(xdrs, sendnow) \s-1XDR\s0 *xdrs; int sendnow; .fi .ft R .IP このルーチンは、 .B xdrrec_create(\|) によって作成されたストリームについてのみ呼び出すことができます。 出力バッファにあるデータは完全なレコードとしてマークされ、 出力バッファは .I sendnow が 0 でない場合はオプションで書き出されます。 このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 8 .LP .ft B .nf .sp .5 xdrrec_eof(xdrs) \s-1XDR\s0 *xdrs; int empty; .fi .ft R .IP このルーチンは、 .B xdrrec_create(\|) によって作成されたストリームについてのみ呼び出すことができます。 ストリーム中の現在のレコードの残りの部分を処理した後に、 このルーチンはストリームにそれ以上の入力がない場合は 1 を返し、 ある場合は 0 を返します。 .br .if t .ne 3 .LP .ft B .nf .sp .5 xdrrec_skiprecord(xdrs) \s-1XDR\s0 *xdrs; .fi .ft R .IP このルーチンは、 .B xdrrec_create(\|) によって作成されたストリームについてのみ呼び出すことができます。 これは、 .SM XDR のインプリメンテーションに対して、 ストリームの入力バッファにある現在のレコードの残りの部分を 廃棄するように指示します。 このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 11 .LP .ft B .nf .sp .5 xdr_reference(xdrs, pp, size, proc) \s-1XDR\s0 *xdrs; char **pp; u_int size; xdrproc_t proc; .fi .ft R .IP 構造体の中を追いかけるポインタを与えるプリミティブです。 パラメータ .I pp はポインタのアドレス、 .I size は .I *pp が指す構造体のサイズ、 .I proc は構造体をその C 言語形式と外部表現との間でフィルタする .SM XDR プロシージャです。 このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 .IP 警告: このルーチンは  .SM NULL ポインタを理解しません。代りに .B xdr_pointer(\|) を使ってください。 .br .if t .ne 10 .LP .ft B .nf .sp .5 xdr_setpos(xdrs, pos) \s-1XDR\s0 *xdrs; u_int pos; .fi .ft R .IP .SM XDR ストリーム .I xdrs に結合された位置設定ルーチンを呼び出すマクロです。 パラメータ .I pos は、 .B xdr_getpos(\|) から取得した位置を示す値です。このルーチンは、 .SM XDR ストリームの位置を再設定できる場合は 1 を、そうでない 場合は 0 を返します。 .IP 警告: .SM XDR ストリームの種類によっては、再設定は困難です。 従って、このルーチンはある種類のストリームには成功し、別の種類のストリーム には失敗する場合があります。 .br .if t .ne 8 .LP .ft B .nf .sp .5 xdr_short(xdrs, sp) \s-1XDR\s0 *xdrs; short *sp; .fi .ft R .IP C 言語の短整数 ( .B short ) とその外部表現とを相互に変換するフィルタプリミティブです。 このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 10 .LP .ft B .nf .sp .5 void xdrstdio_create(xdrs, file, op) \s-1XDR\s0 *xdrs; \s-1FILE\s0 *file; enum xdr_op op; .fi .ft R .IP このルーチンは、 .I xdrs によって指される .SM XDR ストリームオブジェクトを初期化します。 .SM XDR ストリームデータは、標準 .B I/O ストリーム .I file に書込まれるか、またはそこから読み出されれます。パラメータ .I op は、 .SM XDR ストリームの方向 ( .BR \s-1XDR_ENCODE\s0 , .BR \s-1XDR_DECODE\s0 , .B \s-1XDR_FREE\s0 か) を決定します。 .IP 警告: このような .SM XDR ストリームに結合された破壊ルーチンは、 .I file ストリームについて .B fflush(\|) は呼び出しますが、 .B fclose(\|) は決して呼び出しません。 .br .if t .ne 9 .LP .ft B .nf .sp .5 xdr_string(xdrs, sp, maxsize) \s-1XDR\s0 *xdrs; char **sp; u_int maxsize; .fi .ft R .IP C 言語の文字列とそれに対応する外部表現とを相互に変換する フィルタプリミティブです。文字列の長さは .I maxsize を超えることはできません。注: .I sp は、ストリングのポインタのアドレスです。 このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 8 .LP .ft B .nf .sp .5 xdr_u_char(xdrs, ucp) \s-1XDR\s0 *xdrs; unsigned char *ucp; .fi .ft R .IP 符号なしの C 言語のキャラクタとその外部表現とを相互に変換する フィルタプリミティブです。このルーチンは、成功すれば 1 を、 失敗すれば 0 を返します。 .br .if t .ne 9 .LP .ft B .nf .sp .5 xdr_u_int(xdrs, up) \s-1XDR\s0 *xdrs; unsigned *up; .fi .ft R .IP C 言語の符号なし整数 ( .B unsigned ) とその外部表現とを相互に変換するフィルタプリミティブです。 このルーチンは成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 7 .LP .ft B .nf .sp .5 xdr_u_long(xdrs, ulp) \s-1XDR\s0 *xdrs; unsigned long *ulp; .fi .ft R .IP C 言語の符号なし長整数 ( .B "unsigned long" ) とその外部表現とを相互に変換するフィルタプリミティブです。 このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 7 .LP .ft B .nf .sp .5 xdr_u_short(xdrs, usp) \s-1XDR\s0 *xdrs; unsigned short *usp; .fi .ft R .IP C 言語の符号なし短整数 ( .B "unsigned short" ) とその外部表現とを相互に変換するフィルタプリミティブです。 このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 16 .LP .ft B .nf .sp .5 xdr_union(xdrs, dscmp, unp, choices, dfault) \s-1XDR\s0 *xdrs; int *dscmp; char *unp; struct xdr_discrim *choices; bool_t (*defaultarm) (\|); /* may equal \s-1NULL\s0 */ .fi .ft R .IP ディスクリミナントで識別された C 言語の共用体 ( .B union ) とそれに対応する外部表現とを相互に変換する フィルタプリミティブです。まず最初に .I dscmp に位置するその共用体のディスクリミナントを翻訳します。 このディスクリミナントは、常に .B enum_t です。次に、 .I unp に位置する共用体が翻訳されます。パラメータ .I choices は、 .B xdr_discrim(\|) 構造体の配列へのポインタです。各構造には、順序付きペアの .RI [ value , proc ] が入っています。共用体のディスクリミナントが結合された .I value に等しい場合は、 .I proc が呼び出されてその共用体を翻訳します。 .B xdr_discrim(\|) 構造体配列の最後は、値 .SM NULL\s0 のルーチンによって印がつけられます。 配列 .I choices にディスクリミナントが見つからない場合は、 .I defaultarm プロシージャが呼び出されます (このプロシージャが .SM NULL\s0 でないならば)。それに成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 6 .LP .ft B .nf .sp .5 xdr_vector(xdrs, arrp, size, elsize, elproc) \s-1XDR\s0 *xdrs; char *arrp; u_int size, elsize; xdrproc_t elproc; .fi .ft R .IP 固定長配列とそれに対応する外部表現とを相互に変換する フィルタプリミティブです。パラメータ .I arrp は、その配列へのポインタのアドレス、 .I size は配列の要素数です。パラメータ .I elsize は配列の各要素のサイズ、 .I elproc は配列要素の C 言語形式とその外部表現とを相互に翻訳する .SM XDR フィルタです。このルーチンは、成功すれば 1 を、失敗すれば 0 を返します。 .br .if t .ne 5 .LP .ft B .nf .sp .5 xdr_void(\|) .fi .ft R .IP このルーチンは常に 1 を返します。これは、関数パラメータを 必要とするが何もしない .SM RPC ルーチンに渡すことができます。 .br .if t .ne 10 .LP .ft B .nf .sp .5 xdr_wrapstring(xdrs, sp) \s-1XDR\s0 *xdrs; char **sp; .fi .ft R .IP .B "xdr_string(xdrs, sp, \s-1MAXUN.UNSIGNED\s0 );" を呼び出すプリミティブで、 .SM MAXUN.UNSIGNED は符号なし整数の最大値です。 .SM RPC パッケージが最大で 2 つの .SM XDR ルーチンをパラメータとして渡しますが、 最も頻繁に使用されるプリミティブであるにもかかわらず .B xdr_string(\|) は 3 つのルーチンを必要とするため、 .B xdr_wrapstring(\|) は大変便利です。成功すれば 1 を、失敗すれば 0 を返します。 .SH 参照 .BR rpc (3) .LP 次のマニュアルを参照してください。 .RS .ft I eXternal Data Representation Standard: Protocol Specification .br eXternal Data Representation: Sun Technical Notes .ft R .br .IR "\s-1XDR\s0: External Data Representation Standard" , .SM RFC1014, Sun Microsystems, Inc., .SM USC-ISI\s0