diff options
Diffstat (limited to 'documentation/manual-pages/ja/man3')
355 files changed, 56204 insertions, 0 deletions
diff --git a/documentation/manual-pages/ja/man3/_secure_path.3 b/documentation/manual-pages/ja/man3/_secure_path.3 new file mode 100644 index 0000000000..cd1f0ec7cf --- /dev/null +++ b/documentation/manual-pages/ja/man3/_secure_path.3 @@ -0,0 +1,78 @@ +.\" Copyright (c) 1997 David Nugent <davidn@blaze.net.au> +.\" 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. +.\" +.\" %FreeBSD: src/lib/libutil/_secure_path.3,v 1.7.2.3 2001/12/17 10:08:32 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 2, 1997 +.Os +.Dt _SECURE_PATH 3 +.Sh 名称 +.Nm _secure_path +.Nd ファイルが安全であるように見えるかどうかを判定する +.Sh ライブラリ +.Lb libutil +.Sh 書式 +.In sys/types.h +.In libutil.h +.Ft int +.Fn _secure_path "const char *path" "uid_t uid" "gid_t gid" +.Sh 解説 +この関数は、指定のパスについて基本的なセキュリティチェックを行います。 +これは root 特権で実行中のプロセスが使用することを意図しています。指定の +ファイルの内容を信頼するかどうかを判定するためです。この関数は、システムの +危険性を検出するために使用される方法としてよく使われます。 +ファイルは、次の条件を満たす場合に +.Sq 安全である +と考えられます。 +.Bl -enum +.It +ファイルが存在し、それが通常のファイルである (シンボリックリンク、 +ファイル、デバイスに固有のファイル、または名前付きのパイプファイル +でない)。 +.It +誰もが書き込み可能な属性を持っていない。 +.It +uid が -1 でない場合は、指定された uid または uid 0 のユーザによって +所有されている。 +.It +グループの書き込み属性がない、または +gid が -1 でない場合は指定の +gid によるグループ所有権がある。 +.El +.Sh 戻り値 +この関数は、ファイルが存在し、安全であると考えられる場合は 0 を返します。 +ファイルが存在しない場合は -2 を返します。 +セキュリティ障害を示す場合には -1 を返します。 +.Xr syslog 3 +が、この関数の処理失敗を理由を含めて LOG_ERR 優先順位のログに +記入するために使用されます。 +.Pp +.Sh バグ +実行されるチェックは基本的なものであり、この関数の使用と参照ファイルへの +アクセスの間の競争状況を除去しようとする試みは行われません。 +.Pp +.Sh 関連項目 +.Xr lstat 2 , +.Xr syslog 3 +.Pp +.Sh 歴史 +この関数の由来であるコードは、Berkeley Software Design,Inc. によって +.Fx +プロジェクトに寄与されたものです。 diff --git a/documentation/manual-pages/ja/man3/abort.3 b/documentation/manual-pages/ja/man3/abort.3 new file mode 100644 index 0000000000..7c6110c1cf --- /dev/null +++ b/documentation/manual-pages/ja/man3/abort.3 @@ -0,0 +1,71 @@ +.\" 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. +.\" +.\" @(#)abort.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/abort.3,v 1.6.2.2 2001/12/14 18:33:58 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt ABORT 3 +.Os +.Sh 名称 +.Nm abort +.Nd プログラムを異常終了させる +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft void +.Fn abort void +.Sh 解説 +.Fn abort +関数は、プログラムを異常終了させます。ただし、シグナル +.Dv SIGABRT +が捕捉され、シグナルハンドラが戻らない場合は別です。 +.Pp +開いているストリームはフラッシュされ閉じられます。 +.Sh 戻り値 +.Fn abort +関数が戻ることはありません。 +.Pp +.Sh 関連項目 +.Xr sigaction 2 , +.Xr exit 3 +.Pp +.Sh 規格 +.Fn abort +関数は +.St -p1003.1-90 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/abs.3 b/documentation/manual-pages/ja/man3/abs.3 new file mode 100644 index 0000000000..686bf37e9e --- /dev/null +++ b/documentation/manual-pages/ja/man3/abs.3 @@ -0,0 +1,73 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/stdlib/abs.3,v 1.7.2.3 2001/12/14 18:33:58 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ABS 3 +.Os +.Sh 名称 +.Nm abs +.Nd 整数の絶対値関数 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft int +.Fn abs "int j" +.Sh 解説 +.Fn abs +関数は、整数 +.Ar j +の絶対値を計算します。 +.Sh 戻り値 +.Fn abs +関数は、絶対値を返します。 +.Sh 関連項目 +.Xr cabs 3 , +.Xr fabs 3 , +.Xr floor 3 , +.Xr hypot 3 , +.Xr labs 3 , +.Xr math 3 +.Sh 規格 +.Fn abs +関数は、 +.St -isoC +に適合しています。 +.Sh バグ +最大の負の整数の絶対値は、負のままです。 diff --git a/documentation/manual-pages/ja/man3/acos.3 b/documentation/manual-pages/ja/man3/acos.3 new file mode 100644 index 0000000000..43c5234651 --- /dev/null +++ b/documentation/manual-pages/ja/man3/acos.3 @@ -0,0 +1,102 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/acos.3,v 1.6.2.4 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 2, 1991 +.Dt ACOS 3 +.Os +.Sh 名称 +.Nm acos , +.Nm acosf +.Nd 逆余弦関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.Fd #include <math.h> +.Ft double +.Fn acos "double x" +.Ft float +.Fn acosf "float x" +.Sh 解説 +.Fn acos +および +.Fn acosf +関数は、 +.Fa x +の逆余弦の主値を計算します。 +.Bq -1 , +1 +の区間外の引数によって、領域エラーが発生します。 +丸めによる誤差の議論は、 +.Xr math 3 +を参照してください。 +.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 +はグローバル変数 +.Va errno +を +.Er EDOM +に設定し、予約されたオペランドフォルトが生成されます。 +.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 +.Sh 規格 +.Fn acos +関数は、 +.St -isoC +に適合しています。 + + diff --git a/documentation/manual-pages/ja/man3/acosh.3 b/documentation/manual-pages/ja/man3/acosh.3 new file mode 100644 index 0000000000..0c77e91f96 --- /dev/null +++ b/documentation/manual-pages/ja/man3/acosh.3 @@ -0,0 +1,87 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/acosh.3,v 1.6.2.3 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 6, 1991 +.Dt ACOSH 3 +.Os +.Sh 名称 +.Nm acosh , +.Nm acoshf +.Nd 逆双曲余弦関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.Ft double +.Fn acosh "double x" +.Ft float +.Fn acoshf "float x" +.Sh 解説 +.Fn acosh +および +.Fn acoshf +関数は、実数の引数 +.Ar x +の逆双曲余弦を計算します。 +丸めによる誤差の議論は、 +.Xr math 3 +を参照してください。 +.Sh 戻り値 +.Fn acosh +および +.Fn acoshf +関数は、 +.Ar x +逆双曲余弦を返します。 +.Tn VAX +および +.Tn Tahoe +では、引数が 1 よりも小さい場合に、 +.Fn acosh +はグローバル変数 +.Va errno +を +.Er EDOM +に設定し、予約されたオペランドフォルトが生成されます。 +.Sh 関連項目 +.Xr asinh 3 , +.Xr atanh 3 , +.Xr exp 3 , +.Xr math 3 +.Sh 歴史 +.Fn acosh +関数は、 +.Bx 4.3 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/alarm.3 b/documentation/manual-pages/ja/man3/alarm.3 new file mode 100644 index 0000000000..885867a852 --- /dev/null +++ b/documentation/manual-pages/ja/man3/alarm.3 @@ -0,0 +1,104 @@ +.\" Copyright (c) 1980, 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. +.\" +.\" @(#)alarm.3 8.2 (Berkeley) 4/19/94 +.\" %FreeBSD: src/lib/libc/gen/alarm.3,v 1.9.2.5 2001/12/14 18:33:50 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 19, 1994 +.Dt ALARM 3 +.Os +.Sh 名称 +.Nm alarm +.Nd シグナルタイマアラームを設定する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft unsigned int +.Fn alarm "unsigned int seconds" +.Sh 解説 +.Bf -symbolic +このインタフェースは +.Xr setitimer 2 +によって旧式のものとなっています。 +.Ef +.Pp +.Fn alarm +関数は、シグナル +.Dv SIGALRM +を呼び出し元プロセスに指定の +.Fa seconds +秒後に配信するタイマを設定します。 +アラームが既に +.Fn alarm +によって設定されているものの配信されていない場合、 +新たな +.Fn alarm +呼び出しは、前の設定を上書きします。 +要求 +.Fn alarm "0" +は、現在のアラームを無効にし、シグナル +.Dv SIGALRM +は配信されません。 +.Pp +.Xr setitimer 2 +の制約のために、 +.Ar seconds +の許される最大数は +100000000 です。 +.Pp +.Sh 戻り値 +.Fn alarm +の戻り値は、 +.Fn alarm +の直前の呼び出しからタイマに残された時間の量です。 +アラームが現時点で設定されていない場合、戻り値は +0 になります。 +.Sh 関連項目 +.Xr setitimer 2 , +.Xr sigaction 2 , +.Xr sigpause 2 , +.Xr sigvec 2 , +.Xr signal 3 , +.Xr sleep 3 , +.Xr ualarm 3 , +.Xr usleep 3 +.\" .Sh 規格 +.\" .Fn alarm +.\" 関数は +.\" .St -p1003.1-90 +.\" に適合しています。 +.Sh 歴史 +.Fn alarm +関数は +.At v7 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/alloca.3 b/documentation/manual-pages/ja/man3/alloca.3 new file mode 100644 index 0000000000..53e2b5765f --- /dev/null +++ b/documentation/manual-pages/ja/man3/alloca.3 @@ -0,0 +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. +.\" +.\" @(#)alloca.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/alloca.3,v 1.4.2.4 2001/12/14 18:33:58 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ALLOCA 3 +.Os +.Sh 名称 +.Nm alloca +.Nd メモリ割り当て関数 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft void * +.Fn alloca "size_t size" +.Sh 解説 +.Fn alloca +関数は、呼び出し元のスタックフレーム内に +.Fa size +バイトの空き領域を割り当てます。 +この一時的な空間は、関数から戻るときに自動的に解放されます。 +.Sh 戻り値 +.Fn alloca +関数は、割り当てられた空間の先頭を指すポインタを返します。 +割り当て処理に失敗した場合は、 +.Dv NULL +ポインタが返されます。 +.Pp +.Sh 関連項目 +.Xr brk 2 , +.Xr calloc 3 , +.Xr getpagesize 3 , +.Xr malloc 3 , +.Xr realloc 3 +.Sh バグ +.Fn alloca +関数はマシン依存です。 +これを使用することはお勧めできません。 +.\" .Sh HISTORY +.\" +.\" The +.\" .Fn alloca +.\" function appeared in +.\" .Bx ?? . +.\" The function appeared in 32v, pwb and pwb.2 and in 3bsd 4bsd +.\" The first man page (or link to a man page that I can find at the +.\" moment is 4.3... diff --git a/documentation/manual-pages/ja/man3/arc4random.3 b/documentation/manual-pages/ja/man3/arc4random.3 new file mode 100644 index 0000000000..29ae93ca6f --- /dev/null +++ b/documentation/manual-pages/ja/man3/arc4random.3 @@ -0,0 +1,88 @@ +.\" $OpenBSD: arc4random.3,v 1.2 1997/04/27 22:40:25 angelos Exp $ +.\" Copyright 1997 Niels Provos <provos@physnet.uni-hamburg.de> +.\" 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 Niels Provos. +.\" 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. +.\" +.\" Manual page, using -mandoc macros +.\" %FreeBSD: src/lib/libc/gen/arc4random.3,v 1.8.2.4 2001/12/14 18:33:50 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 15, 1997 +.Dt ARC4RANDOM 3 +.Os +.Sh 名称 +.Nm arc4random , +.Nm arc4random_stir , +.Nm arc4random_addrandom +.Nd arc4 乱数ジェネレータ +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft u_int32_t +.Fn arc4random "void" +.Ft void +.Fn arc4random_stir "void" +.Ft void +.Fn arc4random_addrandom "unsigned char *dat" "int datlen" +.Sh 解説 +.Fn arc4random +関数は、arc4 暗号が採用しているキーストリームジェネレータを使用します。 +arc4 暗号は、8*8 の 8 ビット S-Box を使用します。 +S-Box は約 +.if t 2 2\u\s71700\s10\d +.if n (2**1700) +個の状態を取ることができます。 +.Pp +.Fn arc4random_stir +関数は、 +.Pa /dev/urandom +からデータを読み取り、それを使用して +.Fn arc4random_addrandom +によって S-Box の順序を変えます。 +.Pp +.Fn arc4random +を使用する前に +.Fn arc4random_stir +を呼び出す必要はありません。 +.Fn arc4random +は自動的に自分自身を初期化するからです。 +.Pp +.Sh 関連項目 +.Xr rand 3 , +.Xr random 3 , +.Xr srandomdev 3 +.Sh 歴史 +.Pa RC4 +は、RSA Data Security, Inc. によって設計されました。 +.Pa RC4 +は、匿名で USENET にポストされ、オリジナルのコードにアクセスした +複数の人によって同等であることが確認されました。 +.Pa RC4 +は企業機密であったので、この暗号は +.Pa ARC4 +と呼ばれています。 diff --git a/documentation/manual-pages/ja/man3/asin.3 b/documentation/manual-pages/ja/man3/asin.3 new file mode 100644 index 0000000000..a6e3b31720 --- /dev/null +++ b/documentation/manual-pages/ja/man3/asin.3 @@ -0,0 +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: @(#)asin.3 5.1 (Berkeley) 5/2/91 +.\" %FreeBSD: src/lib/msun/man/asin.3,v 1.6.2.4 2001/12/17 10:08:36 ru Exp % +.\" +.\" WORD: range 区間[asin.3] +.\" WORD: principal 主値[asin.3] +.\" WORD: radian ラジアン[asin.3] +.\" +.\" $FreeBSD$ +.Dd May 2, 1991 +.Dt ASIN 3 +.Os +.Sh 名称 +.Nm asin , +.Nm asinf +.Sh ライブラリ +.Lb libm +.Nd 逆正弦関数 +.Sh 書式 +.In math.h +.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 +および +.Tn 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 +.Sh 規格 +.Fn asin +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/asinh.3 b/documentation/manual-pages/ja/man3/asinh.3 new file mode 100644 index 0000000000..4f16f2fb85 --- /dev/null +++ b/documentation/manual-pages/ja/man3/asinh.3 @@ -0,0 +1,77 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/asinh.3,v 1.6.2.3 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 6, 1991 +.Dt ASINH 3 +.Os +.Sh 名称 +.Nm asinh , +.Nm asinhf +.Nd 逆双曲正弦関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.Ft double +.Fn asinh "double x" +.Ft float +.Fn asinhf "float x" +.Sh 解説 +.Fn asinh +および +.Fn asinhf +関数は、実数の引数 +.Ar x +の逆双曲正弦を計算します。 +丸めによる誤差の議論は、 +.Xr math 3 +を参照してください。 +.Sh 戻り値 +.Fn asinh +および +.Fn asinhf +関数は、 +.Ar x +の逆双曲正弦を返します。 +.Sh 関連項目 +.Xr acosh 3 , +.Xr atanh 3 , +.Xr exp 3 , +.Xr math 3 +.Sh 歴史 +.Fn asinh +関数は、 +.Bx 4.3 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/assert.3 b/documentation/manual-pages/ja/man3/assert.3 new file mode 100644 index 0000000000..d09d24e5cd --- /dev/null +++ b/documentation/manual-pages/ja/man3/assert.3 @@ -0,0 +1,86 @@ +.\" 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 +.\" %FreeBSD: src/share/man/man3/assert.3,v 1.7.2.3 2001/12/17 11:30:11 ru Exp % +.\" +.\" $FreeBSD$ +.Dd January 26, 1999 +.Dt ASSERT 3 +.Os +.Sh 名称 +.Nm assert +.Nd 式検証マクロ +.Sh 書式 +.In assert.h +.Fn assert expression +.Sh 解説 +.Fn assert +マクロは、指定された +.Ar expression +を試験し、偽の場合は、呼び出し元プロセスは終了されます。 +診断メッセージが +.Em stderr +に書き込まれ、関数 +.Xr abort 3 +が呼び出されてプログラムを効率的に終了します。 +.Pp +.Ar expression +が真の場合、 +.Fn assert +マクロは何もしません。 +.Pp +.Fn assert +マクロはコンパイル時に +.Dv NDEBUG +をマクロとして定義することで除去できます +(例えば +.Xr cc 1 +のオプション +.Fl D Ns Dv NDEBUG +を使います)。 +.Sh 診断 +.Ar expression +が偽の場合、次の診断メッセージが +.Em stderr +に書き込まれます。 +.Bd -literal -offset indent +"assertion \e"%s\e" failed: file \e"%s\e", line %d\en", \e + "expression", __FILE__, __LINE__); +.Ed +.Sh 関連項目 +.Xr abort 3 +.Pp +.Sh 歴史 +.Nm +マクロは +.At v6 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/atan.3 b/documentation/manual-pages/ja/man3/atan.3 new file mode 100644 index 0000000000..c2479f21b3 --- /dev/null +++ b/documentation/manual-pages/ja/man3/atan.3 @@ -0,0 +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 +.\" %FreeBSD: src/lib/msun/man/atan.3,v 1.6.2.3 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 2, 1991 +.Dt ATAN 3 +.Os +.Sh 名称 +.Nm atan , +.Nm atanf +.Nd 1 変数の逆正接関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.Ft double +.Fn atan "double x" +.Ft float +.Fn atanf "float x" +.Sh 解説 +.Fn atan +および +.Fn atanf +関数は、 +.Fa x +の逆正接の主値を計算します。 +丸めによる誤差の議論は、 +.Xr math 3 +を参照してください。 +.Sh 戻り値 +.Fn atan +および +.Fn atanf +関数は、 +.Bk -words +.Bq -\*(Pi/2 , +\*(Pi/2 +.Ek +ラジアンの区間の逆正接を返します。 +.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 +.Sh 規格 +.Fn atan +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/atan2.3 b/documentation/manual-pages/ja/man3/atan2.3 new file mode 100644 index 0000000000..c3cd6840d1 --- /dev/null +++ b/documentation/manual-pages/ja/man3/atan2.3 @@ -0,0 +1,209 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/atan2.3,v 1.6.2.4 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 2, 1991 +.Dt ATAN2 3 +.Os +.Sh 名称 +.Nm atan2 , +.Nm atan2f +.Nd 2 つの変数の逆正接関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.Fd #include <math.h> +.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 +の両方が 0 の場合、 +グローバル変数 +.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\ +これらの等式が +満たされるのは、(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 +に準拠するマシンでは符号付きの 0 および無限に、 +合理的な方法で、対処しようと変更する必要はありません。そのようなマシン用に +提供されている +.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 -isoC +に適合しています。 +.\"X kuma diff --git a/documentation/manual-pages/ja/man3/atanh.3 b/documentation/manual-pages/ja/man3/atanh.3 new file mode 100644 index 0000000000..ead4e0c84b --- /dev/null +++ b/documentation/manual-pages/ja/man3/atanh.3 @@ -0,0 +1,87 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/atanh.3,v 1.6.2.3 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 6, 1991 +.Dt ATANH 3 +.Os +.Sh 名称 +.Nm atanh , +.Nm atanhf +.Nd 逆双曲正接関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 以上の値を持つ場合に、 +.Fn atanh +はグローバル変数 +.Va errno +を +.Er EDOM +に設定し、予約されたオペランドフォルトが生成されます。 +.Sh 関連項目 +.Xr acosh 3 , +.Xr asinh 3 , +.Xr exp 3 , +.Xr math 3 +.Sh 歴史 +.Fn atanh +関数は、 +.Bx 4.3 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/atexit.3 b/documentation/manual-pages/ja/man3/atexit.3 new file mode 100644 index 0000000000..edc96f2741 --- /dev/null +++ b/documentation/manual-pages/ja/man3/atexit.3 @@ -0,0 +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. +.\" +.\" @(#)atexit.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/atexit.3,v 1.3.2.4 2001/12/14 18:33:58 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ATEXIT 3 +.Os +.Sh 名称 +.Nm atexit +.Nd 終了時に呼び出される関数を登録する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft int +.Fn atexit "void (*function)(void)" +.Sh 解説 +.Fn atexit +関数は、 +.Xr exit 3 +によるものであろうが、プログラムの +.Em main +関数からの戻りによるものであろうが +プログラム終了時に、与えられた +.Ar function +が呼び出されるよう登録します。 +登録された関数は、逆の順序で呼び出されます。 +引数は渡されません。 +少なくとも 32 個の関数が常に登録でき、 +十分なメモリが割り当てられる限り、それを超える関数も登録できます。 +.Sh 戻り値 +.Rv -std atexit +.Sh エラー +.Bl -tag -width Er +.It Bq Er ENOMEM +関数をリストに追加するメモリが利用できませんでした。 +関数の既存のリストは無修正です。 +.El +.Sh 関連項目 +.Xr exit 3 +.Sh 規格 +.Fn atexit +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/atof.3 b/documentation/manual-pages/ja/man3/atof.3 new file mode 100644 index 0000000000..7b5be5309f --- /dev/null +++ b/documentation/manual-pages/ja/man3/atof.3 @@ -0,0 +1,76 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)atof.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/atof.3,v 1.4.2.3 2001/12/14 18:33:58 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ATOF 3 +.Os +.Sh 名称 +.Nm atof +.Nd +.Tn ASCII +文字列を倍精度浮動小数点数に変換する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft double +.Fn atof "const char *nptr" +.Sh 解説 +.Fn atof +関数は、 +.Ar nptr +が指している文字列の最初の部分を、 +.Ar double +表現に変換します。 +.Pp +これは次と同等です。 +.Bd -literal -offset indent +strtod(nptr, (char **)NULL); +.Ed +.Sh 関連項目 +.Xr atoi 3 , +.Xr atol 3 , +.Xr strtod 3 , +.Xr strtol 3 , +.Xr strtoul 3 +.Sh 規格 +.Fn atof +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/atoi.3 b/documentation/manual-pages/ja/man3/atoi.3 new file mode 100644 index 0000000000..75da8393b3 --- /dev/null +++ b/documentation/manual-pages/ja/man3/atoi.3 @@ -0,0 +1,76 @@ +.\" 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. +.\" +.\" @(#)atoi.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/atoi.3,v 1.3.2.3 2001/12/14 18:33:58 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ATOI 3 +.Os +.Sh 名称 +.Nm atoi +.Nd +.Tn ASCII +文字列を整数に変換する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft int +.Fn atoi "const char *nptr" +.Sh 解説 +.Fn atoi +関数は、 +.Em nptr +の指す文字列の最初の部分を +.Em integer +表現に変換します。 +.Pp +これは次と同等です。 +.Bd -literal -offset indent +(int)strtol(nptr, (char **)NULL, 10); +.Ed +.Sh 関連項目 +.Xr atof 3 , +.Xr atol 3 , +.Xr strtod 3 , +.Xr strtol 3 , +.Xr strtoul 3 +.Sh 規格 +.Fn atoi +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/atol.3 b/documentation/manual-pages/ja/man3/atol.3 new file mode 100644 index 0000000000..8dfc66db23 --- /dev/null +++ b/documentation/manual-pages/ja/man3/atol.3 @@ -0,0 +1,76 @@ +.\" 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. +.\" +.\" @(#)atol.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/atol.3,v 1.3.2.3 2001/12/14 18:33:58 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ATOL 3 +.Os +.Sh 名称 +.Nm atol +.Nd +.Tn ASCII +文字列を長整数に変換する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft long +.Fn atol "const char *nptr" +.Sh 解説 +.Fn atol +関数は、 +.Ar nptr +が指す文字列の先頭部分を +.Em long integer +表現に変換します。 +.Pp +これは次と同等です。 +.Bd -literal -offset indent +strtol(nptr, (char **)NULL, 10); +.Ed +.Sh 関連項目 +.Xr atof 3 , +.Xr atoi 3 , +.Xr strtod 3 , +.Xr strtol 3 , +.Xr strtoul 3 +.Sh 規格 +.Fn atol +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/bcmp.3 b/documentation/manual-pages/ja/man3/bcmp.3 new file mode 100644 index 0000000000..171332572a --- /dev/null +++ b/documentation/manual-pages/ja/man3/bcmp.3 @@ -0,0 +1,76 @@ +.\" 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. +.\" +.\" @(#)bcmp.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/bcmp.3,v 1.4.2.4 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt BCMP 3 +.Os +.Sh 名称 +.Nm bcmp +.Nd バイト文字列を比較する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft int +.Fn bcmp "const void *b1" "const void *b2" "size_t len" +.Sh 解説 +.Fn bcmp +関数は、バイト文字列 +.Fa b1 +をバイト文字列 +.Fa b2 +に対して比較します。 +これらが同一の場合は 0 を返し、そうでない場合は 0 でない値を返します。 +両方の文字列は +.Fa len +バイトの長さであると想定します。 +長さが 0 の文字列は常に同一です。 +.Pp +2 つの文字列は重なり合っていても構いません。 +.Pp +.Sh 関連項目 +.Xr memcmp 3 , +.Xr strcasecmp 3 , +.Xr strcmp 3 , +.Xr strcoll 3 , +.Xr strxfrm 3 +.Pp +.Sh 歴史 +.Fn bcmp +関数は +.Bx 4.2 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/bcopy.3 b/documentation/manual-pages/ja/man3/bcopy.3 new file mode 100644 index 0000000000..5dc7d21599 --- /dev/null +++ b/documentation/manual-pages/ja/man3/bcopy.3 @@ -0,0 +1,73 @@ +.\" 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. +.\" +.\" @(#)bcopy.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/bcopy.3,v 1.3.2.4 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt BCOPY 3 +.Os +.Sh 名称 +.Nm bcopy +.Nd バイト文字列をコピーする +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft void +.Fn bcopy "const void *src" "void *dst" "size_t len" +.Sh 解説 +.Fn bcopy +関数は、文字列 +.Fa src +から文字列 +.Fa dst +に +.Fa len +バイトをコピーします。 +2 つの文字列は重なり合っていても構いません。 +.Fa len +が 0 の場合、コピーはされません。 +.Sh 関連項目 +.Xr memccpy 3 , +.Xr memcpy 3 , +.Xr memmove 3 , +.Xr strcpy 3 , +.Xr strncpy 3 +.Sh 歴史 +.Fn bcopy +関数は +.Bx 4.2 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/bindresvport.3 b/documentation/manual-pages/ja/man3/bindresvport.3 new file mode 100644 index 0000000000..b3d160fac7 --- /dev/null +++ b/documentation/manual-pages/ja/man3/bindresvport.3 @@ -0,0 +1,103 @@ +.\" @(#)bindresvport.3n 2.2 88/08/02 4.0 RPCSRC; from 1.7 88/03/14 SMI +.\" %FreeBSD: src/lib/libc/rpc/bindresvport.3,v 1.10.2.2 2001/12/14 18:33:56 ru Exp % +.\" +.\" $FreeBSD$ +.Dd January 27, 2000 +.Dt BINDRESVPORT 3 +.Os +.Sh 名称 +.Nm bindresvport , +.Nm bindresvport_sa +.Nd 特権 IP ポートにソケットをバインドする +.Sh 書式 +.In rpc/rpc.h +.Ft int +.Fn bindresvport "int sd" "struct sockaddr_in *sin" +.Ft int +.Fn bindresvport_sa "int sd" "struct sockaddr *sa" +.Sh 解説 +.Nm bindresvport +と +.Nm bindresvport_sa +は、ソケット記述子を、特権 +.Tn IP +ポート、すなわち範囲 0 〜 1023 のポートに結合するために使用されます。 +.Pp +root だけが特権ポートに結合できます。この呼び出しは他のユーザについては +処理失敗します。 +.Pp +.Va sin +がヌルポインタでない場合、 +.Va sin->sin_family +は +.Va sd +によって渡されるソケットのアドレスファミリで初期化する +必要があります。 +sin->sin_port の値が 0 でない場合、 +.Fn bindresvport +は、指定したポートを使用しようとします。 +それに失敗すると、別の特権付きポートを自動的に選択します。 +.Pp +.Va sin +にヌルポインタを渡すことは正当です。 +この場合、呼び出し側は +.Fn bindresvport +が拾ったポート番号を得ることができません。 +.Pp +.Fn bindresvport +の関数プロトタイプは、 +.Dv AF_INET +ソケットに特化しています。 +.Fn bindresvport_sa +は、より中立的な関数プロトタイプを持ちますが、 +正確に同じように動作します。両方の関数とも +正確に同じ挙動を示すことと、両方とも +.Dv AF_INET +ソケットと同様に、 +.Dv AF_INET6 +ソケットをサポートすることに注意してください。 +.Sh 戻り値 +.Fn bindresvport +と +.Fn bindresvport_sa +は、処理が成功したら値 0 を返します。そうでない場合は \-1 が返され、 +エラーを示すために +.Va errno +が設定されます。 +.Sh エラー +.Fn bindresvport +と +.Fn bindresvport_sa +関数は次の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EBADF +.Fa sd +が有効な記述子ではありません。 +.It Bq Er ENOTSOCK +.Fa sd +はソケットではありません。 +.It Bq Er EADDRNOTAVAIL +指定されたアドレスはこのローカルマシンから利用可能ではありません。 +.It Bq Er EADDRINUSE +指定されたアドレスはすでに使用中です。 +.It Bq Er EINVAL +ソケットはすでにあるアドレスにバインドされています、または、 +ソケットファミリと指定されたアドレスのファミリとが一致しません。 +.It Bq Er EACCES +要求されたアドレスは保護されており、現在のユーザは、そこに +アクセスするには不適切なパーミッションを持っています。 +.It Bq Er EFAULT +.Fa name +パラメータは、ユーザアドレス空間の正当な部分に存在しません。 +.It Bq Er ENOBUFS +システムには、この操作を実行するために十分な資源がありません。 +.It Bq Er EPFNOSUPPORT +システムにプロトコルファミリが設定されていないか、 +プロトコルファミリに対する実装が存在しないか、 +引数の間でアドレスファミリが一致しません。 +.El +.Sh 関連項目 +.Xr bind 2 , +.Xr socket 2 , +.Xr rresvport 3 , +.Xr rresvport_af 3 diff --git a/documentation/manual-pages/ja/man3/bitstring.3 b/documentation/manual-pages/ja/man3/bitstring.3 new file mode 100644 index 0000000000..1ea012b355 --- /dev/null +++ b/documentation/manual-pages/ja/man3/bitstring.3 @@ -0,0 +1,196 @@ +.\" 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 +.\" %FreeBSD: src/share/man/man3/bitstring.3,v 1.6.2.5 2001/12/17 11:30:11 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd July 19, 1993 +.Dt BITSTRING 3 +.Os +.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 書式 +.In bitstring.h +.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 +の中の、0 を起点として +.Fa bit +番目のビットをクリアまたは設定します。 +.Pp +マクロ +.Fn bit_nset +とマクロ +.Fn bit_nclear +は、ビット列 +.Ar name +の中の +.Fa start +から +.Fa stop +までの (0 を起点として番号付けした) ビットをセットまたは +クリアします。 +.Pp +マクロ +.Fn bit_test +は、ビット列 +.Ar name +内で、0 を起点として +.Fa bit +番目のビットがセットされている場合、評価結果は 0 でない値になり、 +それ以外の場合は 0 と評価されます。 +.Pp +マクロ +.Fn bit_ffs +は、 +.Ar name +が参照する +.Fa nbits +ビットの配列のなかで、セットされたビットが最初に現れる位置を + 0 を起点として番号付けした値を、 +.Fa value +が参照する位置に格納します。どのビットも設定されていない場合、 +.Fa value +が参照する位置に、\-1 が設定されます。 +.Pp +マクロ +.Fn bit_ffc +は、 +.Ar name +が参照する +.Fa nbits +ビットの配列のなかで、セットされていないビットが最初に現れる位置を、 +0 を起点として番号付けした値を、 +.Fa value +が参照する位置に格納します。どのビットも設定されている場合、 +.Fa value +が参照する位置に、\-1 が設定されます。 +.Pp +これらのマクロの引数は、 +1 回だけ評価され、安全な副作用がある +可能性があります。 +.Sh 例 +.Bd -literal -offset indent +#include <limits.h> +#include <bitstring.h> + +\&... +#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 +.Sh 歴史 +.Nm bitstring +関数は +.Bx 4.4 +ではじめて登場しました。 +.\" kuma diff --git a/documentation/manual-pages/ja/man3/bsearch.3 b/documentation/manual-pages/ja/man3/bsearch.3 new file mode 100644 index 0000000000..0766149cea --- /dev/null +++ b/documentation/manual-pages/ja/man3/bsearch.3 @@ -0,0 +1,91 @@ +.\" Copyright (c) 1990, 1991, 1993, 1994 +.\" 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. +.\" +.\" @(#)bsearch.3 8.3 (Berkeley) 4/19/94 +.\" %FreeBSD: src/lib/libc/stdlib/bsearch.3,v 1.4.2.4 2001/12/14 18:33:58 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 19, 1994 +.Dt BSEARCH 3 +.Os +.Sh 名称 +.Nm bsearch +.Nd ソート済みの表に対するバイナリ探索 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft void * +.Fn bsearch "const void *key" "const void *base" "size_t nmemb" "size_t size" "int (*compar) (const void *, const void *)" +.Sh 解説 +.Fn bsearch +関数は、最初のメンバが +.Fa base +によって示されている +.Fa nmemb +個のオブジェクトの配列の中から +.Fa key +が指すオブジェクトに一致するメンバを探します。 +配列の各メンバのサイズは +.Fa size +で指定されます。 +.Pp +配列の内容は、 +.Fa compar +が参照する比較関数に従って昇順にソートされた状態でなければなりません。 +.Fa compar +ルーチンは +.Fa key +オブジェクト +と配列メンバを指す 2 つの引数をこの順序でとることが期待されており、 +.Fa key +オブジェクトが配列メンバより小さい、一致する、またはより大きいことが +検出された場合、それぞれ 0 より小さい整数、0、0 より大きい整数を返します。 +.Sh 戻り値 +.Fn bsearch +関数は、配列の一致したメンバへのポインタを返します。 +一致したメンバが見つからなかった場合は、ヌルポインタを返します。 +もし 2 つのメンバが比較の対象として等しい場合、 +どちらのメンバが一致したかは不定となります。 +.Sh 関連項目 +.Xr db 3 , +.Xr lsearch 3 , +.Xr qsort 3 +.\" .Xr tsearch 3 +.Sh 規格 +.Fn bsearch +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/bstring.3 b/documentation/manual-pages/ja/man3/bstring.3 new file mode 100644 index 0000000000..d68cdd0373 --- /dev/null +++ b/documentation/manual-pages/ja/man3/bstring.3 @@ -0,0 +1,119 @@ +.\" 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. +.\" +.\" @(#)bstring.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/bstring.3,v 1.3.2.3 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt BSTRING 3 +.Os +.Sh 名称 +.Nm bcmp , +.Nm bcopy , +.Nm bzero , +.Nm memccpy , +.Nm memchr , +.Nm memcmp , +.Nm memcpy , +.Nm memmove , +.Nm memset +.Nd バイト文字列の操作 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft int +.Fn bcmp "const void *b1" "const void *b2" "size_t len" +.Ft void +.Fn bcopy "const void *src" "void *dst" "size_t len" +.Ft void +.Fn bzero "void *b" "size_t len" +.Ft void * +.Fn memchr "const void *b" "int c" "size_t len" +.Ft int +.Fn memcmp "const void *b1" "const void *b2" "size_t len" +.Ft void * +.Fn memccpy "void *dst" "const void *src" "int c" "size_t len" +.Ft void * +.Fn memcpy "void *dst" "const void *src" "size_t len" +.Ft void * +.Fn memmove "void *dst" "const void *src" "size_t len" +.Ft void * +.Fn memset "void *b" "int c" "size_t len" +.Sh 解説 +これらの関数は、さまざまな長さのバイトストリングに作用します。これらは、 +.Xr string 3 +にリストされたルーチンのように終了の +ヌルバイトをチェック +しません。 +.Pp +詳細については、専用のマニュアルページを参照してください。 +.Sh 関連項目 +.Xr bcmp 3 , +.Xr bcopy 3 , +.Xr bzero 3 , +.Xr memccpy 3 , +.Xr memchr 3 , +.Xr memcmp 3 , +.Xr memcpy 3 , +.Xr memmove 3 , +.Xr memset 3 +.Sh 規格 +関数 +.Fn memchr +、 +.Fn memcmp +、 +.Fn memcpy +、 +.Fn memmove +、および +.Fn memset +は +.St -isoC +に適合しています。 +.Sh 歴史 +関数 +.Fn bzero +と +.Fn memccpy +は +.Bx 4.3 +で登場しました。関数 +.Fn bcmp +と +.Fn bcopy +は +.Bx 4.2 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/btree.3 b/documentation/manual-pages/ja/man3/btree.3 new file mode 100644 index 0000000000..163ba4d43f --- /dev/null +++ b/documentation/manual-pages/ja/man3/btree.3 @@ -0,0 +1,281 @@ +.\" 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. +.\" +.\" @(#)btree.3 8.4 (Berkeley) 8/18/94 +.\" %FreeBSD: src/lib/libc/db/man/btree.3,v 1.3.2.2 2001/12/14 18:33:49 ru Exp % +.\" $FreeBSD$ +.\" +.Dd August 18, 1994 +.Dt BTREE 3 +.Os +.Sh 名称 +.Nm btree +.Nd "btree データベースアクセス方式" +.Sh 書式 +.In sys/types.h +.In db.h +.Sh 解説 +ルーチン +.Fn dbopen +は、データベースファイルへのライブラリインタフェースです。 +サポートされているファイル形式の 1 つは +.Nm +ファイルです。 +データベースアクセス方式の一般的な説明は +.Xr dbopen 3 +にあります。このマニュアルページは、 +.Nm +に固有の情報についてだけ説明しています。 +.Pp +.Nm +データ構造は、関連するキー / データのペアを格納する、 +ソート済みのバランスのとれたツリー構造です。 +.Pp +.Fn dbopen +に提供される +.Nm +アクセス方式に固有のデータ構造は、 +次のように +.Aq Pa db.h +インクルードファイルに定義されています。 +.Bd -literal +typedef struct { + u_long flags; + u_int cachesize; + int maxkeypage; + int minkeypage; + u_int psize; + int (*compare)(const DBT *key1, const DBT *key2); + size_t (*prefix)(const DBT *key1, const DBT *key2); + int lorder; +} BTREEINFO; +.Ed +.Pp +この構造体のエレメントは次のとおりです。 +.Bl -tag -width indent +.It Va flags +flag の値は以降の値の +.Em or +(論理和) を取ることによって定義されます。 +.Bl -tag -width indent +.It Dv R_DUP +ツリー内部に重複したキーを許容します。 +すなわち、挿入するキーが +ツリー内に既に存在する場合にも挿入を許容します。 +.Xr dbopen 3 +に記述されたデフォルトの動作としては、 +新しいキーを挿入するときに一致するキーを上書きするか、 +または +.Dv R_NOOVERWRITE +フラグが指定されている場合は処理失敗します。 +.Dv R_DUP +フラグは +.Dv R_NOOVERWRITE +フラグによって上書きされ、 +.Dv R_NOOVERWRITE +フラグが指定されている場合は、 +重複するキーをツリーに挿入しようとする処理が失敗します。 +.Pp +データベースに重複したキーが含まれている場合、 +.Va get +ルーチンを使用すると、 +キー / データのペアの取り出しの順序は未定義になります。 +しかし、R_CURSOR フラグを設定して +.Va seq +ルーチンを呼び出すと、 +重複したキーの論理的な +.Dq 最初 +が必ず返されます。 +.El +.It Va cachesize +メモリキャッシュの示唆する最大サイズ (バイト単位)。 +この値は +.Em 単に +アドバイスにすぎず、 +アクセス方式は処理失敗せずに多くのメモリを割り振ります。 +各検索がツリーのルートページを調査するので、 +最も最近に使用されたページをキャッシュすると、 +アクセス時間が短くなります。 +さらに、物理的な書き込みは可能な限り遅延されるので、 +適度なキャッシュは入出力操作の回数を大幅に減少できます。 +明らかに、キャッシュを使用すると、 +ツリーを修正している間にシステムがクラッシュした場合、 +データが破損または喪失される見込みは増大します (増大するだけです)。 +.Va cachesize +が 0 (サイズが指定されていない) の場合、 +デフォルトのキャッシュが使用されます。 +.It Va maxkeypage +1 ページに格納されるキーの最大数。現時点では実現されていません。 +.\" The maximum number of keys which will be stored on any single page. +.\" Because of the way the +.\" .Nm +.\" data structure works, +.\" .Va maxkeypage +.\" must always be greater than or equal to 2. +.\" If +.\" .Va maxkeypage +.\" is 0 (no maximum number of keys is specified) the page fill factor is +.\" made as large as possible (which is almost invariably what is wanted). +.It Va minkeypage +1 ページに格納されるキーの最少数。 +この値を使用して、 +オーバフローページにどのキーが格納されるかを判定します。 +すなわち、キーまたはデータ構造が、minkeypage 値で除算された +pagesize より長い場合は、ページ自体にではなく、 +オーバフローページに格納されます。 +.Va minkeypage +が 0 (キーの最少数が指定されていない) の場合、 +値 2 が使用されます。 +.It Va psize +ページサイズは、ツリー内のノードに使用されるページのサイズ +(バイト単位) です。最少ページサイズは 512 バイトであり、 +最大ページサイズは 64K です。 +.Va psize +が 0 (ページサイズが指定されていない) の場合、 +ページサイズは、基層となっている +ファイルシステム入出力ブロックサイズを基礎にして選択されます。 +.It Va compare +compare はキー比較関数です。 +最初のキー引数が 2 番めのキー引数より小さいと考えられるときは、 +0 より小さい整数を返す必要があります。 +2 番めのキー引数と同じと考えられるときは、 +0 を返す必要があります。 +2 番めのキー引数より大きいと考えられるときは、 +0 より大きい整数を返す必要があります。 +指定のツリーについては、ツリーが開かれるたびに、 +同じ比較関数を使用する必要があります。 +.Va compare +が +.Dv NULL +の場合 (比較関数が指定されない場合)、 +キーは辞書的に比較され、 +短いキーは長いキーより小さいと見なされます。 +.It Va prefix +.Va prefix +は接頭語比較関数です。 +指定すると、このルーチンは、2 番めのキーとなる引数のバイト数を返します。 +これは、2 番めの引数が1 番めの引数より大きいことを判定するために必要です。 +キーが等しい場合は、キーの長さが返されるはずです。 +このルーチンの便利さはきわめてデータに依存します。 +しかし、データセットによっては、 +ツリーのサイズと検索時間が大幅に削減できることもあることに注意してください。 +.Va prefix +が +.Dv NULL +(接頭語関数が指定されていない) であって、 +.Em しかも +比較関数が指定されない場合は、 +デフォルトの辞書的な比較ルーチンが使用されます。 +.Va prefix +が +.Dv NULL +であり、しかも比較ルーチンが指定されている場合、 +比較は行われません。 +.It Va lorder +格納されたデータベースメタデータ内の整数のバイト順序。 +数字は整数としての順序を表すはずです。 +たとえば、ビッグエンディアン順では数字 4,321 になります。 +.Va lorder +が 0 の (順序が指定されていない) 場合、 +現在のホスト順序が使用されます。 +.El +.Pp +ファイルが既に存在している場合 +(しかも +.Dv O_TRUNC +フラグが指定されていない場合)、 +パラメータ +.Va flags , +.Va lorder , +.Va psize +について指定された値は、 +ツリーが作成されたときに使用された値のために無視されます。 +.Pp +ツリーの前方シーケンシャル走査は、 +最も小さいキーから最も大きいキーに向かいます。 +.Pp +ツリーからキー / データのペアを削除することによって解放された空間は、 +再び要求されることはありませんが、 +再使用のために利用できるようにされるのが普通です。 +すなわち、 +.Nm +記憶域は成長のみです。 +唯一の解決策は、過度な削除を避けること、 +または既存のツリーの走査から定期的に新しいツリーを作成することです。 +.Pp +.Nm +内の検索、挿入、および削除はすべて、 +基底が平均のフィル要因である基底 N の O の対数で完了します。 +順序付けられたデータを +.Nm +に挿入すると、 +フィル要因が低くなることがよくあります。 +この実装では、順序付けられた挿入が最良のケースとなり、 +通常のページフィル要因よりはるかに良い結果になるように修正してあります。 +.Sh エラー +.Nm +アクセス方式ルーチンは、ライブラリルーチン +.Xr dbopen 3 +について指定したエラーの場合、処理失敗し、 +.Va errno +を設定する可能性があります。 +.Sh 関連項目 +.Xr dbopen 3 , +.Xr hash 3 , +.Xr mpool 3 , +.Xr recno 3 +.Rs +.%T "The Ubiquitous B-tree" +.%A Douglas Comer +.%J "ACM Comput. Surv. 11" +.%N 2 +.%D June 1979 +.%P 121-138 +.Re +.Rs +.%A Bayer +.%A Unterauer +.%T "Prefix B-trees" +.%J "ACM Transactions on Database Systems" +.%N 1 +.%V Vol. 2 +.%D March 1977 +.%P 11-26 +.Re +.Rs +.%B "The Art of Computer Programming Vol. 3: Sorting and Searching" +.%A D. E. Knuth +.%D 1968 +.%P 471-480 +.Re +.Sh バグ +ビッグエンディアンおよびリトルエンディアンのバイト順序だけがサポート +されています。 diff --git a/documentation/manual-pages/ja/man3/byteorder.3 b/documentation/manual-pages/ja/man3/byteorder.3 new file mode 100644 index 0000000000..c3fb9d9c8c --- /dev/null +++ b/documentation/manual-pages/ja/man3/byteorder.3 @@ -0,0 +1,80 @@ +.\" 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. +.\" +.\" @(#)byteorder.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/net/byteorder.3,v 1.3.2.4 2001/12/14 18:33:55 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt BYTEORDER 3 +.Os +.Sh 名称 +.Nm htonl , +.Nm htons , +.Nm ntohl , +.Nm ntohs +.Nd ホストバイトオーダとネットワークバイトオーダを変換する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/param.h +.Ft u_long +.Fn htonl "u_long hostlong" +.Ft u_short +.Fn htons "u_short hostshort" +.Ft u_long +.Fn ntohl "u_long netlong" +.Ft u_short +.Fn ntohs "u_short netshort" +.Sh 解説 +これらのルーチンは、16 ビットと 32 ビットの値を、 +ネットワークバイトオーダとホストバイトオーダの間で変換します。 +ネットワークのオーダと同じバイトオーダのマシンでは、 +ルーチンはヌルマクロとして定義されます。 +.Pp +これらのルーチンは、 +.Xr gethostbyname 3 +および +.Xr getservent 3 +によって返されるインターネットアドレスおよびポートとともに +使用されることが最もよくあります。 +.Sh 関連項目 +.Xr gethostbyname 3 , +.Xr getservent 3 +.Sh 歴史 +.Nm byteorder +関数は +.Bx 4.2 +で登場しました。 +.Sh バグ +.Tn VAX +は、世界中の他のほとんどすべてのマシンとは逆順にバイトを処理します。 +この問題は、当分解決の見込みはありません。 diff --git a/documentation/manual-pages/ja/man3/bzero.3 b/documentation/manual-pages/ja/man3/bzero.3 new file mode 100644 index 0000000000..9c3aea2094 --- /dev/null +++ b/documentation/manual-pages/ja/man3/bzero.3 @@ -0,0 +1,69 @@ +.\" 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. +.\" +.\" @(#)bzero.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/bzero.3,v 1.3.2.4 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt BZERO 3 +.Os +.Sh 名称 +.Nm bzero +.Nd バイト文字列に 0 を書き込む +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft void +.Fn bzero "void *b" "size_t len" +.Sh 解説 +.Fn bzero +関数は、 +.Fa len +個の 0 バイトを文字列 +.Fa b +に書き込みます。 +.Fa len +が 0 の場合、 +.Fn bzero +は何もしません。 +.Sh 関連項目 +.Xr memset 3 , +.Xr swab 3 +.Sh 歴史 +.Fn bzero +関数は +.Bx 4.3 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/calendar.3 b/documentation/manual-pages/ja/man3/calendar.3 new file mode 100644 index 0000000000..d5a734c722 --- /dev/null +++ b/documentation/manual-pages/ja/man3/calendar.3 @@ -0,0 +1,217 @@ +.\" 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. +.\" +.\" %FreeBSD: src/lib/libcalendar/calendar.3,v 1.6.2.5 2001/12/17 10:08:28 ru Exp % +.\" $FreeBSD$ +.\" +.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 ライブラリ +.Lb libcalendar +.Sh 書式 +.In calendar.h +.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 解説 +これらの関数は、西暦 0 年 (すなわち B.C. 1 年) 3 月 1 日 +から西暦 100000 年までの +広範囲の年月のカレンダを演算します。 +.Pp +プログラムは +.Fl lcalendar +とリンクさせる必要があります。 +.Pp +関数 +.Fn easterg , +.Fn easterog +および +.Fn easteroj +は、 +Easter 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 日を 0 として、 +以降の経過日に順番に番号が振られます。 +すなわちこの日番号は、 +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 +0 年は歴史家の手では +.Qq 1 B.C. +と書かれますが、天文学者とこのライブラリでは +.Qq 0 +と表記されます。 +.Sh 関連項目 +.Xr ncal 1 , +.Xr strftime 3 +.Sh 規格 +週番号は ISO 8601: 1988 に適合しています。 +.Sh 歴史 +.Nm calendar +ライブラリは +.Fx 3.0 +ではじめて登場しました。 +.Sh 作者 +このマニュアルページとライブラリは、 +.An Wolfgang Helbig Aq helbig@FreeBSD.org +によって書かれました。 +.Sh バグ +このライブラリはきわめて慎重にコーディングされたので、 +残されたバグはありません。 diff --git a/documentation/manual-pages/ja/man3/cam.3 b/documentation/manual-pages/ja/man3/cam.3 new file mode 100644 index 0000000000..31b349861b --- /dev/null +++ b/documentation/manual-pages/ja/man3/cam.3 @@ -0,0 +1,490 @@ +.\" +.\" 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. +.\" +.\" %FreeBSD: src/lib/libcam/cam.3,v 1.5.2.6 2001/12/17 10:08:28 ru Exp % +.\" +.\" $FreeBSD$ +.Dd October 10, 1998 +.Os +.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 ライブラリ +.Lb libcam +.Sh 書式 +.In stdio.h +.In camlib.h +.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 +と同じように、 +.Fa device +引数はオプションです。 +.Pp +.Fn cam_open_pass +は、引数として、開く +.Xr pass 4 +デバイスの +.Fa path +を取ります。 +変換もルックアップも行われないので、 +渡されるパスは CAM +.Xr pass 4 +デバイスの +パスでなければなりません。 +.Fa flags +は、 +.Xr open 2 +に渡すのに適したフラグである +必要があります。 +.Fa device +引数は、ユーザが +CAM +ライブラリに +.Va cam_device +構造体用の空間を割り振りさせたい場合は、 +.Fn cam_open_spec_device +および +.Fn cam_open_btl +と同じように、 +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 +を割り振り、 +.Va cam_device +構造の値を使用して +CCB +ヘッダ内にフィールドを設定します。 +.Pp +.Fn cam_send_ccb +は、指定の +.Va ccb +を、 +.Va cam_device +構造体内で記述された +.Fa 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 +構造体用に空間を割り当て、渡された +.Fa 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/foo1s2c +.It foo0 +.It foo0a +.It nfoo0 +.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 +構造を指すポインタを返します。または、 +エラーがあった場合は +NULL +を返します。 +.Pp +.Fn cam_getccb +は、割り振り済みで部分的に初期化済みの +CCB +を返します。また、 +CCB +の割り振りが処理失敗した場合は +NULL +を返します。 +.Pp +.Fn cam_send_ccb +は、エラーが発生した場合、値 -1 を返し、 +.Va errno +がエラーを +示すように設定されます。 +.Pp +.Fn cam_path_string +は、便宜として記入された印刷接頭語を返します。これは、 +.Fn cam_path_string +に渡されるのと同じ +.Fa str +です。 +.Pp +.Fn cam_device_dup +は、渡された +.Va device +のコピーを返します。または、エラーが +発生した場合は +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/documentation/manual-pages/ja/man3/cam_cdbparse.3 b/documentation/manual-pages/ja/man3/cam_cdbparse.3 new file mode 100644 index 0000000000..ed0ef75515 --- /dev/null +++ b/documentation/manual-pages/ja/man3/cam_cdbparse.3 @@ -0,0 +1,625 @@ +.\" +.\" 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. +.\" +.\" %FreeBSD: src/lib/libcam/cam_cdbparse.3,v 1.3.2.10 2001/12/17 10:08:28 ru Exp % +.\" $FreeBSD$ +.\" +.\" 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 +.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 ライブラリ +.Lb libcam +.Sh 書式 +.In stdio.h +.In camlib.h +.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 +エンコードおよびデコードルーチンは、古い +.Fx +.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 エンジン用である */ + +/* フェーズ認識モードフラグ */ + 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,/* データバッファが有効 */ + +/* ホストターゲットモードフラグ */ + 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 Dv CAM_DIR_IN +問題の操作が読み取り操作であることを示します。すなわち、データは +.Tn SCSI +デバイスからユーザ指定バッファに読み取られています。 +.It Dv CAM_DIR_OUT +操作が書き込み操作であることを示します。すなわち、データは +ユーザ指定バッファからデバイスに書き込まれています。 +.It Dv CAM_DIR_NONE +このコマンドについて転送されるデータはないことを示します。 +.It Dv CAM_DEV_QFRZDIS +デバイス待ち行列の、エラー回復メカニズムとしての凍結を +無効にします。 +.It Dv CAM_PASS_ERR_RECOVER +.Xr pass 4 +ドライバにエラー回復を有効にするように +通知します。デフォルトではエラー回復を実行されません。すなわち、このフラグ +がない場合は再試行カウントは意味を持ちません。 +.It Dv 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 +オプションの名前は、フィールド指定子の最初の部分であり、中括弧で +囲まれます。次の例で中括弧で囲まれたテキストは名前です。 +.Dl "{PS} v:b1 {Reserved} 0:b1 {Page Code} v:b6 # Mode select page" +.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 , +.Fa v: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 +フィールド指示子については、次の整数引数が、変数引数リストから取られ、 +その値が +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 +は、 +SCSI +転送のフェーズでデータの情報をデコードするのに +使用されます。 +.Pp +デコードは、 +.Fn csio_build +のコマンド指示子処理に類似していますが、 +.Fa csio->data_ptr +によって指されるデータからデータを取り出す点が異なります。 +stdarg +リストは、整数値ではなく整数を指すポインタです。 +シークフィールドタイプと抑制修飾子が追加されます。 +.Fa * +抑制修飾子 +( +たとえば、 +.Fa *i3 +または +.Fa *b4 ) +は、フィールドからの割り当てを抑制し、データ内のバイトまたは +ビットをスキップするのに使用できます。これにより +arg +リスト内のダミー変数に +コピーする必要がなくなります。 +.Pp +シークフィールドタイプ +.Fa s +によって、データをスキップできます。 +これは、'+' 符号の存在の有無に基づき、 +データ内の絶対位置 +.Pq Fa s3 +または +相対位置 +.Pq 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 +関数に渡される値のサイズです。 +引数のフォーマットにより大きさの単位が決まります。 +.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 バージョンは、 +古い +.Fx +の +.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 +.An Peter Dufault +は、 +.Bx 386 +で SGI のインタフェースのクローンを実現しました。 +これがオリジナルの +.Fx +.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/documentation/manual-pages/ja/man3/catclose.3 b/documentation/manual-pages/ja/man3/catclose.3 new file mode 100644 index 0000000000..6d657716f4 --- /dev/null +++ b/documentation/manual-pages/ja/man3/catclose.3 @@ -0,0 +1,64 @@ +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc/nls/catclose.3,v 1.7.2.6 2001/12/14 18:33:56 ru Exp % +.\" $FreeBSD$ +.Dd May 29, 1994 +.Dt CATCLOSE 3 +.Os +.Sh 名称 +.Nm catclose +.Nd メッセージカタログのクローズ +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In nl_types.h +.Ft int +.Fn catclose "nl_catd catd" +.Sh 解説 +.Fn catclose +関数は、引数 +.Fa catd +によって指定されたメッセージカタログをクローズします。 +.Sh 戻り値 +.Rv -std catclose +.Sh エラー +.Bl -tag -width Er +.It Bq Er EBADF +.Fa catd +引数によって無効なメッセージカタログ記述子が渡されました。 +.El +.Sh 関連項目 +.Xr gencat 1 , +.Xr catgets 3 , +.Xr catopen 3 +.Sh 規格 +.Fn catclose +関数は、 +.St -xpg4 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/catgets.3 b/documentation/manual-pages/ja/man3/catgets.3 new file mode 100644 index 0000000000..aedf4aae68 --- /dev/null +++ b/documentation/manual-pages/ja/man3/catgets.3 @@ -0,0 +1,71 @@ +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc/nls/catgets.3,v 1.7.2.4 2001/12/14 18:33:56 ru Exp % +.\" $FreeBSD$ +.Dd May 29, 1994 +.Dt CATGETS 3 +.Os +.Sh 名称 +.Nm catgets +.Nd メッセージカタログからの文字列の取り出し +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In nl_types.h +.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 +は、この関数が指定されたメッセージを取り出せない場合に返される、 +デフォルトメッセージを指しています。 +.Sh 戻り値 +指定されたメッセージが成功裏に取り出された場合には、 +.Fn catgets +はそのメッセージ文字列が入った内部バッファへのポインタを返します。 +そうでない場合には、 +.Fa s +を返します。 +.Sh 関連項目 +.Xr gencat 1 , +.Xr catclose 3 , +.Xr catopen 3 +.Sh 規格 +.Fn catgets +関数は、 +.St -xpg4 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/catopen.3 b/documentation/manual-pages/ja/man3/catopen.3 new file mode 100644 index 0000000000..dea6ad7303 --- /dev/null +++ b/documentation/manual-pages/ja/man3/catopen.3 @@ -0,0 +1,144 @@ +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc/nls/catopen.3,v 1.9.2.6 2001/12/14 18:33:56 ru Exp % +.\" $FreeBSD$ +.Dd May 29, 1994 +.Dt CATOPEN 3 +.Os +.Sh 名称 +.Nm catopen +.Nd メッセージカタログのオープン +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In nl_types.h +.Ft nl_catd +.Fn catopen "const char *name" "int oflag" +.Sh 解説 +.Fn catopen +関数は、 +.Fa name +によって指定されたメッセージカタログをオープンし、メッセージカタログの +記述子を返します。 +.Fa name +に 1 つの +.Sq / +が含まれている場合には、 +.Fa name +はメッセージカタログのフルパス名を指定します。そうでない場合には、環境変数の値 +.Ev NLSPATH +が以下の置換とともに使用されます。 +.Bl -tag -width XXX +.It \&%N +.Fa name +引数の値です。 +.It \&%L +.Ev LANG +環境変数または +.Dv LC_MESSAGES +カテゴリ (下記参照) の値です。 +.It \&%l +.Ev LANG +環境変数または +.Dv LC_MESSAGES +カテゴリの言語要素です。 +.It \&%t +.Ev LANG +環境変数または +.Dv LC_MESSAGES +カテゴリの地域要素です。 +.It \&%c +.Ev LANG +環境変数または +.Dv LC_MESSAGES +カテゴリのコードセット要素です。 +.It \&%% +単一の % 文字です。 +.El +.Pp +空の文字列は未定義の値に置換されます。 +.Pp +.Ev NLSPATH +で定義されるパス名のテンプレートは、コロン +.No ( Sq \&: ) +で区切られます。 +先頭のまたは 2 つの隣接するコロンは、%N を指定したのと同等です。 +.Pp +.Fa oflag +引数が +.Dv NL_CAT_LOCALE +定数に設定されている場合には、 +.Dv LC_MESSAGES +ロケールカテゴリがメッセージカタログをオープンするために使用されます。 +.Dv NL_CAT_LOCALE +の使用は、 +.St -xpg4 +規格に適合しています。 +.St -xpg3 +との互換性のために 0 を指定することができます。 +.Fa oflag +が 0 に設定されている時には、 +.Ev LANG +環境変数がメッセージカタログのロケールを決定します。 +.Pp +メッセージカタログの記述子は、プロセスがそれをクローズするまで、または 1 つの +.Xr exec 3 +関数の呼び出しの成功まで、有効に残ります。 +.Sh 戻り値 +成功して完了した時には、 +.Fn catopen +はメッセージカタログの記述子を返します。 +そうでない場合には、(nl_catd) -1 が返され、 +.Va errno +がそのエラーを示すために設定されます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EINVAL +引数 +.Fa name +が有効なメッセージカタログを指していません。 +.It Bq Er ENAMETOOLONG +メッセージカタログのパス名全体が 1024 文字を超過しています。 +.It Bq Er ENOENT +その名前のメッセージカタログが存在しません。または、 +.Fa name +引数が空の文字列を指しています。 +.It Bq Er ENOMEM +十分なメモリが有効ではありません。 +.El +.Sh 関連項目 +.Xr gencat 1 , +.Xr catclose 3 , +.Xr catgets 3 , +.Xr setlocale 3 +.Sh 規格 +.Fn catopen +関数は、 +.St -xpg4 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/ceil.3 b/documentation/manual-pages/ja/man3/ceil.3 new file mode 100644 index 0000000000..b296793f11 --- /dev/null +++ b/documentation/manual-pages/ja/man3/ceil.3 @@ -0,0 +1,71 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/ceil.3,v 1.8.2.2 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd March 10, 1994 +.Dt CEIL 3 +.Os +.Sh 名称 +.Nm ceil , +.Nm ceilf +.Nd x 以上で最も小さい整数への切上げ +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/clock.3 b/documentation/manual-pages/ja/man3/clock.3 new file mode 100644 index 0000000000..7397dadabd --- /dev/null +++ b/documentation/manual-pages/ja/man3/clock.3 @@ -0,0 +1,69 @@ +.\" 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. +.\" +.\" @(#)clock.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/clock.3,v 1.6.2.3 2001/12/14 18:33:50 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt CLOCK 3 +.Os +.Sh 名称 +.Nm clock +.Nd 使用されたプロセッサ時間を計測する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In time.h +.Ft clock_t +.Fn clock void +.Sh 解説 +.Fn clock +関数は、呼び出し元プロセスの、起動時からのプロセッサ使用時間を計算します。 +これは 1 秒の +.Dv CLOCKS_PER_SEC +分の 1 を単位として計測されます。 +.Sh 戻り値 +.Fn clock +関数は使用された時間量を返します。 +エラーが生じた場合の戻り値は \-1 です。 +.Sh 関連項目 +.Xr getrusage 2 , +.Xr clocks 7 +.Sh 規格 +.Fn clock +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/com_err.3 b/documentation/manual-pages/ja/man3/com_err.3 new file mode 100644 index 0000000000..5bc1fc4cc9 --- /dev/null +++ b/documentation/manual-pages/ja/man3/com_err.3 @@ -0,0 +1,99 @@ +.\" Copyright (c) 1988 Massachusetts Institute of Technology, +.\" Student Information Processing Board. All rights reserved. +.\" +.\" %FreeBSD: src/contrib/com_err/com_err.3,v 1.1 1999/09/04 09:48:58 markm Exp % +.\" +.\" $FreeBSD$ +.\" +.TH COM_ERR 3 "22 Nov 1988" SIPB +.SH 名称 +com_err \- 共通エラー表示ルーチン +.SH 書式 +.nf + #include <com_err.h> +.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/documentation/manual-pages/ja/man3/confstr.3 b/documentation/manual-pages/ja/man3/confstr.3 new file mode 100644 index 0000000000..22416d03d7 --- /dev/null +++ b/documentation/manual-pages/ja/man3/confstr.3 @@ -0,0 +1,126 @@ +.\" 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. +.\" +.\" @(#)confstr.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/confstr.3,v 1.5.2.5 2001/12/14 18:33:50 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt CONFSTR 3 +.Os +.Sh 名称 +.Nm confstr +.Nd 文字列値の設定可能変数を得る +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft size_t +.Fn confstr "int name" "char *buf" "size_t len" +.Sh 解説 +.Bf -symbolic +このインタフェースは、 +.Xr sysctl 3 +によって旧式になっています。 +.Ef +.Pp +.Fn confstr +関数は、システム構成により定義されている文字列値を、 +アプリケーションが取得するための方式を提供します。 +.Pp +.Fa name +引数は、照会されるシステム変数を指定します。 +各名前の値となるシンボリック定数は、インクルードファイル +.Aq Pa unistd.h +の中にあります。 +.Fa len +引数は、引数 +.Fa buf +が参照するバッファのサイズを指定します。 +.Fa len +が 0 でない場合、 +.Fa buf +は NULL ではないポインタで、 +.Fa name +は値を持っており、その値のうち最高 +.Fa len +\- 1 バイトがバッファ +.Fa buf +にコピーされます。 +コピーされた値の末尾は必ずヌル文字です。 +.Pp +利用可能な値は次のとおりです。 +.Pp +.Bl -tag -width 6n +.Pp +.It Li _CS_PATH +全標準ユーティリティを検出する +.Ev PATH +環境変数の値を返します。 +.El +.Sh 戻り値 +.Fn confstr +の呼び出しが正常に完了しない場合、\-1 が返され、該当する +.Va errno +が設定されます。 +また変数に、システム構成により定義されている値がない場合 0 が返され、 +.Va errno +は変更されません。 +それ以外の場合は、設定定義された +値全体を入れるのに必要なバッファサイズが返されます。 +このサイズが引数 +.Fa len +より大きい場合、 +.Fa buf +内の文字列は切り捨てられています。 +.Sh エラー +.Fn confstr +関数がエラーになると、ライブラリ関数 +.Xr malloc 3 +と +.Xr sysctl 3 +で規定されているエラーを +.Va errno +に設定することがあります。 +.Pp +さらに、次のエラーがレポートされることがあります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa name +引数の値は無効です。 +.El +.Sh 関連項目 +.Xr sysctl 3 +.Sh 歴史 +.Fn confstr +関数は +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/cos.3 b/documentation/manual-pages/ja/man3/cos.3 new file mode 100644 index 0000000000..00ad7aad11 --- /dev/null +++ b/documentation/manual-pages/ja/man3/cos.3 @@ -0,0 +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 +.\" %FreeBSD: src/lib/msun/man/cos.3,v 1.7.2.3 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 2, 1991 +.Dt COS 3 +.Os +.Sh 名称 +.Nm cos , +.Nm cosf +.Nd 余弦関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/cosh.3 b/documentation/manual-pages/ja/man3/cosh.3 new file mode 100644 index 0000000000..7a58132c06 --- /dev/null +++ b/documentation/manual-pages/ja/man3/cosh.3 @@ -0,0 +1,85 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/cosh.3,v 1.7.2.3 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 2, 1991 +.Dt COSH 3 +.Os +.Sh 名称 +.Nm cosh , +.Nm coshf +.Nd 双曲余弦関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 +の大きさが大きすぎる場合以外は、双曲余弦を返します。 +大きすぎる場合は、グローバル変数 +.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 -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/crypt.3 b/documentation/manual-pages/ja/man3/crypt.3 new file mode 100644 index 0000000000..f667a3d47e --- /dev/null +++ b/documentation/manual-pages/ja/man3/crypt.3 @@ -0,0 +1,307 @@ +.\" 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. +.\" +.\" %FreeBSD: src/lib/libcrypt/crypt.3,v 1.6.2.12 2001/12/17 10:08:29 ru Exp % +.\" $FreeBSD$ +.\" +.\" Manual page, using -mandoc macros +.\" +.Dd January 19, 1997 +.Dt CRYPT 3 +.Os +.Sh 名称 +.Nm crypt +.Nd トラップドア暗号化 +.Sh ライブラリ +.Lb libcrypt +.Sh 書式 +.In unistd.h +.Ft char * +.Fn crypt "const char *key" "const char *salt" +.Ft const char * +.Fn crypt_get_format "void" +.Ft int +.Fn crypt_set_format "const char *string" +.Sh 解説 +.Fn crypt +関数は、パスワードのハッシュ化を行ない、キー検索の試みを +思いとどまらせるためのコードを付加します。 +ハッシュ化には異なるアルゴリズムを使用することができます。 +.\" +.\" NOTICE: +.\" If you add more algorithms, make sure to update this list +.\" and the default used for the Traditional format, below. +.\" +現在含まれるアルゴリズムは、 +.Tn NBS +.Tn Data Encryption Standard (DES) , +.Tn MD5 , +.Tn Blowfish +です。 +.Tn DES +や +.Tn Blowfish +がインストールされているかどうか、また、 +デフォルトを変更するために +.Fn crypt_set_format +がすでに呼び出されているかどうかにより、 +使用されるアルゴリズムは salt +(モジュール化暗号フォーマット (Modular Crypt Format (MCF)) に従います) +のフォーマットに依存します。 +.Pp +.Nm +の最初の引数はハッシュ化のためのデータ (通常はパスワードです) で、 +ヌル文字で終了する文字列です。 +2 番めの引数は salt で、次の 3 個のうちのいずれかの形式です。 +.Pp +.Bl -tag -width Traditional -compact -offset indent +.It Extended +アンダスコア +.Pq Dq _ +で始まる場合、鍵の解釈も salt の解釈もともに、次に概要を説明する +.Tn DES +拡張形式を使用します。 +.It Modular +文字列 +.Dq $digit$ +で始まる場合、次に概要を説明する +モジュール化暗号フォーマット (MCF) を使用します。 +.It Traditional +上のいずれにも該当しない場合、伝統的なフォーマット (Traditional Format) +を想定し、文字列全体 (または最初の部分) を salt として使用します。 +.El +.Pp +どのルーチンも計算に時間が掛かる設計になっています。 +.Tn Pentium +166/MMX で簡単なテストをすると、 +.Tn DES +暗号化では、1 CPU 秒当たり暗号化を約 2640 回行ない、 +MD5 暗号化では、1 CPU 秒当たり暗号化を約 62 回行ないました。 +.Ss DES 拡張形式: +.Pp +鍵 +.Ar key +は 8 文字からなるグループに分割されます (最後のグループにはナルバイトが +詰められます)。 +各キャラクタの下位 7 ビット (グループごとに 56 ビット) が、 +次に説明するようにして、 +.Tn DES +キーを作るために用いられます。 +最初のグループの 56 ビットは、 +.Tn DES +鍵の初期値です。 +その後のグループごとに、現在の +.Tn DES +鍵それ自身とそのグループのビットを XOR することで暗号化し、次の +.Tn DES +鍵とします。 +.Pp +salt は 9 キャラクタの配列であり、アンダスコアの後ろに 4 バイトの +反復回数と 4 バイトの salt からなります。 +これらは印字可能文字でエンコードされます。 +6 ビットごとに 1 文字を対応させ、最下位キャラクタを最初にして、 +エンコードされます。 +0 から 63 までの値は ``./0-9A-Za-z'' としてエンコードされます。 +これにより +.Fa count +と +.Fa salt +のそれぞれに 24 ビットを使うことができます。 +.Pp +.Fa salt +は +.Tn DES +アルゴリズムに対し、16777216 通りまたは 4096 通り +(つまり、24 ビットまたは 12 ビット) +中の 1 通りという不規則性を導入します ( +.Ar salt +のビット +.Em i +が設定されている場合、 +.Tn DES +E-Box 出力中の +ビット +.Em i +とビット +.Em i+24 +とが交換されます) 。 +.Pp +.Tn DES +鍵を使い、64ビットの定数に +.Ar count +回 DES を繰り返し適用し暗号化します。 +返される値は、 +.Dv ヌル文字で終了する +文字列で、長さは +20 バイトまたは 13 バイト (にヌル文字が加わります) で、 +.Ar salt +の後に、エンコードされた 64 ビットの暗号化を続いたもので +構成されます。 +.Ss モジュール化暗号: +.Pp +salt が文字列 +.Fa $digit$ +から始まる場合は、モジュール化暗号フォーマット (MCF) が使用されます。 +.Fa digit +は暗号化の際にどのアルゴリズムが使用されるかを表します。 +その後ろのトークンが実際の salt として暗号化に用いられます。 +salt の長さは 16 キャラクタに制限されています。 +これは、返す出力の長さも _PASSWORD_LEN で制限されているからです。 +salt はヌル文字かドル記号を末尾に置く必要があります。 +ドル記号の後ろの文字はなんであれ無視されます。 +.Pp +現在サポートするアルゴリズムは、 +.Pp +.Bl -enum -compact -offset indent +.It +MD5 +.It +Blowfish +.El +.Pp +これ以外の暗号化フォーマットは容易に追加できます。 +salt の例として次のものがあります。 +.Bl -tag -offset indent +.It Cm "$3$thesalt$rest" +.El +.Pp +.Ss "Traditional" 暗号化: +.Pp +.\"X The algorithm used will depend upon whether +使用されるアルゴリズムは、 +.Fn crypt_set_format +.\"X has been called and whether a global default format has been specified. +がすでに呼び出されているか否か、グローバルデフォルトフォーマットが +すでに指定されているか否かに依存します。 +.\"X Unless a global default has been specified or +グローバルデフォルトがあらかじめ指定されているか、 +.Fn crypt_set_format +.\"X has set the format to something else, the built-in default format is +.\"X used. +で何か他のフォーマットを設定されているか、そのどちらでもない場合、 +組み込みのデフォルトフォーマットが使用されます。 +.\"X This is currently +現在のところ、これは、 +.\"X .\" +.\"X .\" NOTICE: Also make sure to update this +.\"X .\" +.\"X DES +.\"X if it is available, or MD5 if not. +DES が使えるなら DES に、そうでないなら MD5 になります。 +.Pp +.\"X How the salt is used will depend upon the algorithm for the hash. For +.\"X best results, specify at least two characters of salt. +salt をどのように用いるかはハッシュ化のアルゴリズムに依存します。 +最高の結果を得るために、少なくとも 2 文字の salt を指定してください。 +.Pp +.Fn crypt_get_format +.\"X function returns a constant string that represents the name of the +.\"X algorithm currently used. +関数は現在使用しているアルゴリズムを表す定数文字列を返します。 +有効な値は、 +.\"X Valid values are +.\"X .\" +.\"X .\" NOTICE: Also make sure to update this, too, as well +.\"X .\" +.Ql des , +.Ql blf , +.Ql md5 +です。 +.Pp +.Fn crypt_set_format +関数は指定する +.Fa string +に従い、デフォルトエンコードフォーマットを設定します。 +.Pp +グローバルデフォルトフォーマットは、 +.Pa /etc/auth.conf +ファイルで、 +.Va crypt_default +属性を使い設定することができます。 +.Sh 戻り値 +.Fn crypt +は、処理が成功した場合、暗号化された値を指すポインタを返します。 +処理が失敗した場合、NULL を返します。 +注意: これは通常の挙動ではありません。 +AT&T の +.Fn crypt +は常に文字列を指すポインタを返します。 +.Pp +.Fn crypt_set_format +.\"X will return 1 if the supplied encoding format was valid. +は、与えられたエンコードフォーマットが正当であれば、1 を返します。 +.\"X Otherwise, a value of 0 is returned. +それ以外の場合、値 0 が返されます。 +.Sh 関連項目 +.Xr login 1 , +.Xr passwd 1 , +.Xr auth_getval 3 , +.Xr cipher 3 , +.Xr getpass 3 , +.Xr auth.conf 5 , +.Xr passwd 5 +.Sh バグ +.Fn crypt +関数は静的データへのポインタを返します。 +そして、以後の +.Fn crypt +の呼び出しは同じデータを変更します。 +.Fn crypt_set_format +も同様に静的データを変更します。 +.Sh 歴史 +ロータを採用した +.Fn crypt +関数は、 +.At v6 +で登場しました。 +現在のスタイルの +.Fn crypt +は、 +.At v7 +ではじめて登場しました。 +.Pp +.Tn DES +セクションのコード (FreeSec 1.0) は、アメリカ合衆国のみで使える +.Nx +libcrypt 暗号化ライブラリに対して、そのような障害のない置き換えとして +アメリカ合衆国の外で開発されました。 +.Sh 作者 +.An -nosplit +元は +.An David Burren Aq davidb@werj.com.au +によって書かれました。 +その後の追加、更新は、 +.An Poul-Henning Kamp , +.An Mark R V Murray , +.An Kris Kennaway , +.An Brian Feldman , +.An Paul Herman , +.\"X and +.An Niels Provos +によって行なわれました。 diff --git a/documentation/manual-pages/ja/man3/ctermid.3 b/documentation/manual-pages/ja/man3/ctermid.3 new file mode 100644 index 0000000000..125a09a7ab --- /dev/null +++ b/documentation/manual-pages/ja/man3/ctermid.3 @@ -0,0 +1,108 @@ +.\" 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. +.\" +.\" @(#)ctermid.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/ctermid.3,v 1.5.2.3 2001/12/14 18:33:50 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt CTERMID 3 +.Os +.Sh 名称 +.Nm ctermid +.Nd 端末パス名を生成する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft char * +.Fn ctermid "char *buf" +.Ft char * +.Fn ctermid_r "char *buf" +.Sh 解説 +.Fn ctermid +関数は、パス名として使用されたときに、呼び出し元プロセスの現在の +制御端末を参照する文字列を生成します。 +.Pp +.Ar buf +が +.Dv NULL +ポインタの場合、静的領域を指すポインタが返されます。 +そうでない場合は、パス名が、 +.Ar buf +で参照されるメモリにコピーされます。 +引数 +.Ar buf +は、長さが少なくとも +.Dv L_ctermid +(インクルードファイル +.Aq Pa stdio.h +に定義) バイトと仮定されます。 +.Pp +.Fn ctermid_r +は、 +.Ar buf +が +.Dv NULL +ポインタであった場合に +.Dv NULL +を返すこと以外は、 +.Fn ctermid +と同じ機能を提供します。 +.Pp +現在の実装では単に +.Ql /dev/tty +を返します。 +.Sh 戻り値 +処理が成功すると、 +.Dv NULL +でないポインタが返されます。 +処理が失敗すると、 +.Dv NULL +ポインタが返され、グローバル変数 +.Va errno +がエラーを示すように設定されます。 +.Sh エラー +現在の実装では、検出されるエラー条件はありません。 +.Sh 関連項目 +.Xr ttyname 3 +.Sh 規格 +.Fn ctermid +関数は、 +.St -p1003.1-88 +に適合しています。 +.Sh バグ +デフォルトでは、 +.Fn ctermid +関数は、すべての情報を内部の静的オブジェクトに書き込みます。 +後で +.Fn ctermid +を呼ぶと、同じオブジェクトが修正されます。 diff --git a/documentation/manual-pages/ja/man3/ctime.3 b/documentation/manual-pages/ja/man3/ctime.3 new file mode 100644 index 0000000000..1173026d0c --- /dev/null +++ b/documentation/manual-pages/ja/man3/ctime.3 @@ -0,0 +1,350 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/stdtime/ctime.3,v 1.11.2.6 2001/10/02 11:36:10 ru Exp % +.\" $FreeBSD$ +.\" +.Dd January 2, 1999 +.Dt CTIME 3 +.Os +.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 ライブラリ +.Lb libc +.Sh 書式 +.In time.h +.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 +関数が返す値と同じエンコードの時刻値に変換します (すなわち、基準時点 +.Tn UTC +からの時刻にします)。 +.Fn mktime +は、現在の時間帯設定に従って入力構造体を解釈します ( +.Xr tzset 3 +を参照)。 +.Fn timegm +は、協定世界時 +.Pq Tn UTC +を表す入力構造体を解釈します。 +.Pp +構造体の +.Fa tm_wday +コンポーネントと +.Fa tm_yday +コンポーネントのオリジナル値は無視され、 +他のコンポーネントのオリジナルの値はその通常の範囲に制限されませんし、 +必要な場合は正規化されます。 +例えば、10 月 40 日は 11 月 9 日に変換され、 +.Fa tm_hour +に \-1 が指定されると深夜から 1 時間前を意味し、 +.Fa tm_mday +に 0 が指定されると現在の月の直前の日を意味し、 +.Fa tm_mon +に \-2 が指定されると +.Fa tm_year +の 1 月から 2 ヶ月前を意味します。( +.Fa tm_isdst +が 正の場合、 +.Fn mktime +は、初期的には、指定時間について夏時間 (たとえば、日光節約時間) +が有効であると推測します。 +0 の場合は、夏時間が有効でないと想定します。 +.Fa tm_isdst +が +負の値の場合、 +.Fn mktime +関数は、指定の時間について夏時間が有効であるかどうか +推測しようとします。 +.Fa tm_isdst +メンバと +.Fa tm_gmtoff +メンバは +.Fn timegm +によって強制的に 0 にされます)。 +.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 +は 0 でなくなります。 +.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-96 +に適合しています ( +.Xr zic 8 +を参照)。 +.Pp +.Fn asctime_r , +.Fn ctime_r , +.Fn gmtime_r , +.Fn localtime_r +の各関数は +.St -p1003.1-96 +に適合しています (ここでも、選択したローカルな時間帯に +閏秒テーブルが含まれていない場合だけです)。 +.Pp +.Fn timegm +関数は、いかなる規格によっても指定されていません。 +この関数は、上述の標準関数を使用しても、完全にはエミュレート不可能です。 +.Sh 歴史 +このマニュアルページは、 +.An 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/documentation/manual-pages/ja/man3/ctype.3 b/documentation/manual-pages/ja/man3/ctype.3 new file mode 100644 index 0000000000..2e9688b2eb --- /dev/null +++ b/documentation/manual-pages/ja/man3/ctype.3 @@ -0,0 +1,151 @@ +.\" 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. +.\" +.\" @(#)ctype.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/ctype.3,v 1.6.2.3 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt CTYPE 3 +.Os +.Sh 名称 +.Nm isalnum , +.Nm isalpha , +.Nm isascii , +.Nm isblank , +.Nm iscntrl , +.Nm isdigit , +.Nm isgraph , +.Nm ishexnumber , +.Nm isideogram , +.Nm islower , +.Nm isnumber , +.Nm isphonogram , +.Nm isprint , +.Nm ispunct , +.Nm isspace , +.Nm isspecial , +.Nm isupper , +.Nm isxdigit , +.Nm toascii , +.Nm tolower , +.Nm toupper +.Nd 文字分類マクロ +.Sh ライブラリ +.Lb libc +.Sh 書式 +.Fd #include <ctype.h> +.Ft int +.Fn isalnum "int c" +.Ft int +.Fn isalpha "int c" +.Ft int +.Fn isascii "int c" +.Ft int +.Fn iscntrl "int c" +.Ft int +.Fn isdigit "int c" +.Ft int +.Fn isgraph "int c" +.Ft int +.Fn ishexnumber "int c" +.Ft int +.Fn isideogram "int c" +.Ft int +.Fn islower "int c" +.Ft int +.Fn isnumber "int c" +.Ft int +.Fn isphonogram "int c" +.Ft int +.Fn isspecial "int c" +.Ft int +.Fn isprint "int c" +.Ft int +.Fn ispunct "int c" +.Ft int +.Fn isrune "int c" +.Ft int +.Fn isspace "int c" +.Ft int +.Fn isupper "int c" +.Ft int +.Fn isxdigit "int c" +.Ft int +.Fn toascii "int c" +.Ft int +.Fn tolower "int c" +.Ft int +.Fn toupper "int c" +.Sh 解説 +上記の関数は、整数 +.Ar c +について文字テストと変換を実行します。これらは、 +インクルードファイル +.Aq Pa ctype.h +に定義されたマクロ、または C ライブラリ内の +真の関数として利用できます。詳細については、専用のマニュアルページを +参照してください。 +.Sh 関連項目 +.Xr isalnum 3 , +.Xr isalpha 3 , +.Xr isascii 3 , +.Xr isblank 3 , +.Xr iscntrl 3 , +.Xr isdigit 3 , +.Xr isgraph 3 , +.Xr islower 3 , +.Xr isprint 3 , +.Xr ispunct 3 , +.Xr isspace 3 , +.Xr isupper 3 , +.Xr isxdigit 3 , +.Xr toascii 3 , +.Xr tolower 3 , +.Xr toupper 3 , +.Xr ascii 7 +.Sh 規格 +これらの関数は、 +.Fn digittoint , +.Fn isascii , +.Fn isblank , +.Fn ishexnumber , +.Fn isideogram , +.Fn isnumber , +.Fn isphonogram , +.Fn isrune , +.Fn isspecial +および +.Fn toascii +を +除いて、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/curs_addch.3 b/documentation/manual-pages/ja/man3/curs_addch.3 new file mode 100644 index 0000000000..1799e320e7 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_addch.3 @@ -0,0 +1,127 @@ +.\" $Id: curs_addch.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ +.\" +.\" $FreeBSD$ +.\" +.TH curs_addch 3 "" +.SH 名称 +\fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR, +\fBechochar\fR, +\fBwechochar\fR - 文字を (属性とともに) \fBncurses\fR ウィンドウに追加してから、カーソルを進める +.SH 書式 +\fB#include <ncurses.h>\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/documentation/manual-pages/ja/man3/curs_addchst.3 b/documentation/manual-pages/ja/man3/curs_addchst.3 new file mode 100644 index 0000000000..e5220e09b1 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_addchst.3 @@ -0,0 +1,46 @@ +.\" $FreeBSD$ +.TH curs_addchstr 3 "" +.SH 名称 +\fBaddchstr\fR, \fBaddchnstr\fR, \fBwaddchstr\fR, +\fBwaddchnstr\fR, \fBmvaddchstr\fR, \fBmvaddchnstr\fR, \fBmvwaddchstr\fR, +\fBmvwaddchnstr\fR - キャラクタ(および属性)のストリングを \fBncurses\fR ウィンドウに追加する +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBint addchstr(chtype *chstr);\fR +.br +\fBint addchnstr(chtype *chstr, int n);\fR +.br +\fBint waddchstr(WINDOW *win, chtype *chstr);\fR +.br +\fBint waddchnstr(WINDOW *win, chtype *chstr, int n);\fR +.br +\fBint mvaddchstr(int y, int x, chtype *chstr);\fR +.br +\fBint mvaddchnstr(int y, int x, chtype *chstr, int n);\fR +.br +\fBint mvwaddchstr(WINDOW *win, int y, int x, chtype *chstr);\fR +.br +\fBint mvwaddchnstr(WINDOW *win, int y, int x, chtype *chstr, int n);\fR +.SH 解説 +これらのルーチンは、\fIchstr\fR を、ウィンドウイメージ構造内の現在の +カーソル位置およびカーソル位置の後にコピーします。最後の引数として +\fIn\fR を持つ 4 つのルーチンは、多くとも \fIn\fR +個のエレメントをコピーしますが、それより多くは行に入りません。 +\fBn\fR=\fB-1\fR の場合、ストリング全体が、行に入る最大 +キャラクタ数までコピーされます。 + +ウィンドウカーソルは進められません。これらのルーチンは \fBwaddnstr\fR +より高速に機能します。しかし、使用するときには注意を払う必要があります。 +どんな種類のチェックもせず (たとえば、改行キャラクタのチェック)、 +現在のカーソル位置を進めず、右余白と交差する場合は新しい行に +ラップアラウンドせずにストリングを切り捨てるからです。 +.SH 戻り値 +これらのルーチンはすべて、処理が失敗すると整数 \fBERR\fR で返ります。 +処理が成功して完了すると、\fBERR\fR 以外の整数値が返されます。 +ただし、これまでのルーチンの説明で異なるように注記した場合は別です。 +.SH 注釈 +\fBwaddchnstr\fR 以外のルーチンはすべてマクロである可能性があることに +注意してください。 +.SH 関連項目 +\fBncurses\fR(3) diff --git a/documentation/manual-pages/ja/man3/curs_addstr.3 b/documentation/manual-pages/ja/man3/curs_addstr.3 new file mode 100644 index 0000000000..1c233173bd --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_addstr.3 @@ -0,0 +1,42 @@ +.\" $FreeBSD$ +.\" +.TH curs_addstr 3 "" +.SH 名称 +\fBaddstr\fR, \fBaddnstr\fR, \fBwaddstr\fR, \fBwaddnstr\fR, +\fBmvaddstr\fR, \fBmvaddnstr\fR, \fBmvwaddstr\fR, +\fBmvwaddnstr\fR - 文字列を \fBncurses\fR ウィンドウに追加し、カーソルを進める +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBint addstr(char *str);\fR +.br +\fBint addnstr(char *str, int n);\fR +.br +\fBint waddstr(WINDOW *win, char *str);\fR +.br +\fBint waddnstr(WINDOW *win, char *str, int n);\fR +.br +\fBint mvaddstr(int y, int x, char *str);\fR +.br +\fBint mvaddnstr(int y, int x, char *str, int n);\fR +.br +\fBint mvwaddstr(WINDOW *win, int y, int x, char *str);\fR +.br +\fBint mvwaddnstr(WINDOW *win, int y, int x, char *str, + int n);\fR +.SH 解説 +これらのルーチンは、ナル文字で終了する文字列 str の文字を +指定のウィンドウに表示します。 +これは、文字列内の文字ごとに 1 回ずつ +\fBwaddch\fR を呼び出すのに類似しています。 +最後の引数として \fIn\fR がある 4 つのルーチンは、 +多くとも \fIn\fR 文字の文字を書き込みます。 +\fIn\fR が負の場合は、文字列全体が追加されます。 +.SH 戻り値 +これらのルーチンはすべて、処理が失敗すると整数 \fBERR\fR で返ります。 +処理が成功して完了すると、\fBERR\fR 以外の整数値が返されます。 +.SH 注釈 +\fBwaddstr\fR と \fBwaddnstr\fR を除くこれらすべてのルーチンが +マクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_addch\fR(3). diff --git a/documentation/manual-pages/ja/man3/curs_attr.3 b/documentation/manual-pages/ja/man3/curs_attr.3 new file mode 100644 index 0000000000..5690753499 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_attr.3 @@ -0,0 +1,86 @@ +.\" $FreeBSD$ +.\" +.TH curs_attr 3 "" +.SH 名称 +\fBattroff\fR, \fBwattroff\fR, \fBattron\fR, \fBwattron\fR, +\fBattrset\fR, \fBwattrset\fR, \fBstandend\fR, \fBwstandend\fR, \fBstandout\fR, +\fBwstandout\fR - \fBncurses\fR 文字およびウィンドウ属性制御ルーチン +.SH 書式 +\fB#include <ncurses.h>\fR +.br +\fBint attroff(int attrs);\fR +.br +\fBint wattroff(WINDOW *win, int attrs);\fR +.br +\fBint attron(int attrs);\fR +.br +\fBint wattron(WINDOW *win, int attrs);\fR +.br +\fBint attrset(int attrs);\fR +.br +\fBint wattrset(WINDOW *win, int attrs);\fR +.br +\fBint standend(void);\fR +.br +\fBint wstandend(WINDOW *win);\fR +.br +\fBint standout(void);\fR +.br +\fBint wstandout(WINDOW *win);\fR +.br +.SH 解説 +これらのルーチンは、名前付きウィンドウの現在の属性を操作します。 +ウィンドウの現在の属性は、\fBwaddch\fR, \fBwaddstr\fR および +\fBwprintw\fR でウィンドウに書き込まれるすべての文字に適用されます。 +属性は文字のプロパティであり、スクロールおよび行 / 文字の +挿入 / 削除操作によって文字とともに移動します。 +可能な範囲で、これは画面に表示された文字の +グラフィック解釈の適切な修正として表示されます。 + +ルーチン \fBattrset\fR は、指定のウィンドウの現在の属性を +\fIattrs\fR に設定します。ルーチン \fBattroff\fR は、 +他の属性をオンまたはオフに切り替えることなしに名前付き属性をオフにします。 +ルーチン \fBattron\fR は、他に影響を及ぼさずに名前付き属性をオンにします。 +ルーチン \fBstandout\fR は、\fBattron(A_STANDOUT)\fR と同じです。 +ルーチン \fBstandend\fR は、\fBattrset(A_NORMAL)\fR または +\fBattrset(0)\fR と同じです。 +すなわち、すべての属性をオフにします。 + +.SS 属性 +\fB<ncurses.h>\fR に定義された次のビデオ属性は、 +ルーチン \fBattron\fR, \fBattroff\fR および +\fBattrset\fR に渡すことができますし、 +\fBaddch\fR に渡される文字と論理和 (OR) を取ることもできます。 + +.nf +\fBA_NORMAL\fR 通常の表示 (強調表示なし) +\fBA_STANDOUT\fR ターミナルの最良の強調表示モード +\fBA_UNDERLINE\fR 下線を付ける +\fBA_REVERSE\fR 反転ビデオ +\fBA_BLINK\fR ブリンク +\fBA_DIM\fR 半分の明るさ +\fBA_BOLD\fR 特別な明るさまたは太字 +\fBA_ALTCHARSET\fR 代わりのキャラクタセット +\fBA_CHARTEXT\fR 文字を取り出すためのビットマスク +\fBCOLOR_PAIR(\fR\fIn\fR\fB)\fR 色のペアの番号 \fIn\fR +.fi + +次のマクロは \fBCOLOR_PAIR(\fR\fIn\fR\fB)\fR の逆です。 + +.DS C +\fBPAIR_NUMBER(\fIattrs\fR) \fBCOLOR_PAIR(\fR\fIn\fR\fB)\fR 属性に対応する + ペアの番号を返します。 +.DE + +これらのルーチンの戻り値には意味がありません +(多数が、マクロ展開された割り当てとして実現されており、 +単に引数を返すだけです)。 +SVr4 マニュアルページには、これらのルーチンが必ず +\fB1\fR を返すと書いてありますが、これは間違いです。 +.SH 注釈 +\fBattroff\fR, \fBwattroff\fR, \fBattron\fR, \fBwattron\fR, +\fBattrset\fR, \fBwattrset\fR, \fBstandend\fR および +\fBstandout\fR はマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_addch\fR(3), +\fBcurs_addstr(3), \fBcurs_printw\fR(3) diff --git a/documentation/manual-pages/ja/man3/curs_beep.3 b/documentation/manual-pages/ja/man3/curs_beep.3 new file mode 100644 index 0000000000..5122be4858 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_beep.3 @@ -0,0 +1,28 @@ +.\" $FreeBSD$ +.\" +.TH curs_beep 3 "" +.SH 名称 +\fBbeep\fR, \fBflash\fR - \fBncurses\fR ベルおよび画面フラッシュルーチン +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBint beep(void);\fR +.br +\fBint flash(void);\fR +.br +.SH 解説 +\fBbeep\fR ルーチンと \fBflash\fR ルーチンは、 +端末ユーザに警告するのに使用されます。 +ルーチン \fBbeep\fR は、可能な場合は端末の音の警報を鳴らします。 +そうでない場合は、画面をフラッシュします (目に見えるベル)。 +ルーチン \fBflash\fR は、画面をフラッシュし、 +それが可能でない場合は、警報を鳴らします。 +どちらの警報も可能でない場合は、何も発生しません。 +ほとんどの端末には音の警報 (ベルまたはビープ音) がありますが、 +画面をフラッシュできるものもわずかながらあります。 +.SH 戻り値 +これらのルーチンは必ず \fBOK\fR を返します。 +.SH 機能 +\fBbell\fR, \fBflash_screen\fR +.SH 関連項目 +\fBncurses\fR(3) diff --git a/documentation/manual-pages/ja/man3/curs_bkgd.3 b/documentation/manual-pages/ja/man3/curs_bkgd.3 new file mode 100644 index 0000000000..30387126d4 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_bkgd.3 @@ -0,0 +1,46 @@ +.\" $FreeBSD$ +,\" +.TH curs_bkgd 3 "" +.SH 名称 +\fBbkgdset\fR, \fBwbkgdset\fR, \fBbkgd\fR, +\fBwbkgd\fR - \fBncurses\fR ウィンドウ背景操作ルーチン +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBvoid bkgdset(chtype ch);\fR +.br +\fBvoid wbkgdset(WINDOW *win, chtype ch);\fR +.br +\fBint bkgd(chtype ch);\fR +.br +\fBint wbkgd(WINDOW *win, chtype ch);\fR +.br +.SH 解説 +\fBbkgdset\fR ルーチンと \fBwbkgdset\fR ルーチンは、 +名前付きウィンドウの背景を操作します。 +背景は、属性と 1 つの文字の組み合わせで構成される \fBchtype\fR です。 +背景の属性部分はすべてブランクでない文字と結合 (OR) されたものです。 +ブランクでない文字は、\fBwaddch\fR でウィンドウに書き込まれます。 +背景の文字部分と属性部分の両方がブランクの文字と結合されます。 +背景は文字のプロパティになり、 +スクロールおよび行 / 文字の挿入 / 削除によって +文字とともに移動します。 +特定の端末で可能な範囲で、背景の属性部分は、 +画面に設定された文字のグラフィックな解釈として表示されます。 + +\fBbkgd\fR ルーチンと \fBwbkgd\fR ルーチンは、 +新しい背景とウィンドウ内の各位置と組み合わせられます。 +背景は属性と 1 文字の組み合わせです。 +属性部分だけがブランクでない文字の背景を設定するのに使用されるのに対し、 +文字と属性の両方がブランクの位置に使用されます。 +特定の端末上で可能な範囲で、背景の属性部分は、 +画面に設定された文字のグラフィックな解釈として表示されます。 +.SH 戻り値 +\fBbkgd\fR と \fBwbkgd\fR は整数 \fBOK\fR を返します。 +または、\fBimmedok\fR が設定されている場合は負でない整数を返します。 +.SH 注釈 +\fBbkgdset\fR と \fBbkgd\fR はマクロである可能性があります。 +.SH バグ +\fBimmedok\fR は ncurses 1.8.6 ではまだ実現されていません。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_addch\fR(3), \fBcurs_outopts\fR(3) diff --git a/documentation/manual-pages/ja/man3/curs_border.3 b/documentation/manual-pages/ja/man3/curs_border.3 new file mode 100644 index 0000000000..225ec5fc3a --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_border.3 @@ -0,0 +1,72 @@ +.\" $FreeBSD$ +.\" +.TH curs_border 3 "" +.SH 名称 +\fBborder\fR, \fBwborder\fR, \fBbox\fR, +\fBhline\fR, \fBwhline\fR, \fBvline\fR, +\fBwvline\fR - \fBncurses\fR の境界線、水平線、垂直線を作成する +.SH 書式 +\fB#include <ncurses.h>\fR +.br +\fBint border(chtype ls, chtype rs, chtype ts, chtype bs, + chtype tl, chtype tr, chtype bl, chtype br);\fR +.br +\fBint wborder(WINDOW *win, chtype ls, chtype rs, + chtype ts, chtype bs, chtype tl, chtype tr, + chtype bl, chtype br);\fR +.br +\fBint box(WINDOW *win, chtype verch, chtype horch);\fR +.br +\fBint hline(chtype ch, int n);\fR +.br +\fBint whline(WINDOW *win, chtype ch, int n);\fR +.br +\fBint vline(chtype ch, int n);\fR +.br +\fBint wvline(WINDOW *win, chtype ch, int n);\fR +.br +.SH 解説 +\fBborder\fR, \fBwborder\fR および \fBbox\fR の各ルーチンは +ウィンドウのエッジの回りにボックスを描画します。 +引数 \fIls\fR はボーダーの左側に使用される 1 つの文字および属性です。 +同様に、\fIrs\fR - 右側、\fIts\fR - 上側、\fIbs\fR - 下側、 +\fItl\fR - 左上コーナー、\fItr\fR - 右上コーナー、 +\fIbl\fR - 左下コーナー、\fIbr\fR -右下コーナーです。 +これらの引数のいずれかがゼロである場合、次のデフォルト値 +(\fBncurses.h\fR に定義されています) が代わりに使用されます。 +\fBACS_VLINE, ACS_VLINE, ACS_HLINE, ACS_HLINE, +\fBACS_ULCORNER, ACS_URCORNER, ACS_LLCORNER, ACS_LRCORNER\fR です。 + +\fBbox(\fR\fIwin\fR\gB, \fR\fIverch\fR\fB, \fR\fIhorch\fR\fB)\fR は、 +次の呼び出しを簡単にしたものです。 +\fBwborder(\fR\fIwin\fR\fB,\fR \fIverch\fR\fB, \fIverch\fR\fB,\fR +\fIhorch\fR\fB,\fR \fIhorch\fR\fB, 0, 0, 0, 0)\fR + +\fBhline\fR 関数と \fBwhline\fR 関数は、 +ウィンドウ内の現在のカーソル位置で開始する \fIch\fR を使用して +水平線 (左から右)を描画します。 +カーソルの現在位置は変化しません。 +線は、長くとも \fIn\fR 文字の長さであるか、 +またはウィンドウに入るだけの長さになります。 + +\fBvline\fR 関数と \fBwvline\fR 関数は、 +ウィンドウ内の現在のカーソル位置で開始する \fIch\fR を使用して +垂直線 (上端から下端) を描画します。 +カーソルの現在位置は変化しません。 +線は、長くとも \fIn\fR 文字の長さであるか、 +またはウィンドウに入るだけの長さになります。 +.SH 戻り値 +すべてのルーチンが整数 \fBOK\fR を返します。 +SVr4.0 マニュアルには "or a non-negative integer if \fBimmedok\fR is set +(または、immedok が設定されている場合には、負でない整数)" +と記載されていますが、これは間違いと考えられます。 +.SH 注釈 +これらの関数が生成するボーダーは、\fB内側\fRのボーダーです +(これは SVr4 curses にも該当します。 +ただし、このことは記載されていません)。 + +\fBborder\fR と \fBbox\fR はマクロである可能性があることに注意してください。 +.SH バグ +\fBimmedok\fR 関数は ncurses 1.8.6 ではまだ実現されていません。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_outopts\fR(3). diff --git a/documentation/manual-pages/ja/man3/curs_clear.3 b/documentation/manual-pages/ja/man3/curs_clear.3 new file mode 100644 index 0000000000..f4e1778ca5 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_clear.3 @@ -0,0 +1,52 @@ +.\" $FreeBSD$ +.\" +.TH curs_clear 3 "" +.SH 名称 +\fBerase\fR, \fBwerase\fR, \fBclear\fR, +\fBwclear\fR, \fBclrtobot\fR, \fBwclrtobot\fR, \fBclrtoeol\fR, +\fBwclrtoeol\fR - \fBncurses\fR ウィンドウのすべてまたは一部をクリアする +.SH 書式 +\fB# include <ncurses.h>\fR + +\fBint erase(void);\fR +.br +\fBint werase(WINDOW *win);\fR +.br +\fBint clear(void);\fR +.br +\fBint wclear(WINDOW *win);\fR +.br +\fBint clrtobot(void);\fR +.br +\fBint wclrtobot(WINDOW *win);\fR +.br +\fBint clrtoeol(void);\fR +.br +\fBint wclrtoeol(WINDOW *win);\fR +.br +.SH 解説 +\fBerase\fR ルーチンと \fBwerase\fR ルーチンは、 +ウィンドウ内の各位置にブランクをコピーして画面をクリアします。 + +\fBclear\fR ルーチンおよび \fBwclear\fR ルーチンは、 +\fBerase\fR および \fBwerase\fR と類似していますが、 +\fBclearok\fR を呼び出すこともします。 +そのウィンドウについて \fBwrefresh\fR を次に呼び出したときに +画面が完全にクリアされ、ゼロから再描画されます。 + +\fBclrtobot\fR ルーチンと \fBwclrtobot\fR ルーチンは、 +カーソルから画面の終端までを消去します。 +すなわち、ウィンドウ内のカーソルより下方のすべての線を消去します。 +また、カーソルの右にある現在の線も消去されます。 + +\fBclrtoeol\fR ルーチンと \fBwclrtoeol\fR ルーチンは、 +カーソルの右にある現在の線を消去します。 +.SH 戻り値 +すべてのルーチンが整数 \fBOK\fR を返します。 +または、\fBimmedok\fR が設定されている場合は負でない整数を返します。 +.SH 注釈 +\fBerase\fR, \fBwerase\fR, \fBclear\fR, \fBwclear\fR, +\fBclrtobot\fR および \fBclrtoeol\fR は +マクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_outopts\fR(3), \fBcurs_refresh\fR(3) diff --git a/documentation/manual-pages/ja/man3/curs_color.3 b/documentation/manual-pages/ja/man3/curs_color.3 new file mode 100644 index 0000000000..66de5a3282 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_color.3 @@ -0,0 +1,145 @@ +.\" $FreeBSD$ +.\" +.TH curs_color 3 "" +.SH 名称 +\fBstart_color\fR, \fBinit_pair\fR, +\fBinit_color\fR, \fBhas_colors\fR, \fBcan_change_color\fR, +\fBcolor_content\fR, +\fBpair_content\fR - \fBncurses\fR カラー操作ルーチン +.SH 書式 +\fB# include <ncurses.h>\fR +.br +\fBint start_color(void);\fR +.br +\fBint init_pair(short pair, short f, short b);\fR +.br +\fBint init_color(short color, short r, short g, short b);\fR +.br +\fBbool has_colors(void);\fR +.br +\fBbool can_change_color(void);\fR +.br +\fBint color_content(short color, short *r, short *g, short *b);\fR +.br +\fBint pair_content(short pair, short *f, short *b);\fR +.br +.SH 解説 +\fBncurses\fR は、機能のある端末でカラー属性をサポートします。 +これらのルーチンを使用するには、通常、\fBinitscr\fR の直後で +\fBstart_color\fR を呼び出す必要があります。 +色は必ずペアで使用されます (色のペアと呼ばれます)。 +色のペアは、(文字用の) 前景色と +(文字が表示されるブランクのフィルタ用の) 背景色で構成されます。 +プログラマは、ルーチン \fBinit_pair\fR で色のペアを初期化します。 +初期化が済んだ後は、\fB<ncurses.h>\fR 内で定義されているマクロである +\fBCOLOR_PAIR\fR(\fIn\fR) を、新しいビデオ属性として使用できます。 + +端末が色を再定義できる場合は、プログラマは、 +ルーチン \fBinit_color\fR を使用して、色の定義を変更できます。 +ルーチン \fBhas_colors\fR とルーチン \fBcan_change_color\fR は、 +端末に色の機能があるかどうか、 +プログラマが色を変更できるかどうかに従って、 +\fBTRUE\fR または \fBFALSE\fR を返します。 +ルーチン \fBcolor_content\fR によって、 +プログラマは初期化された色の赤、緑、青のコンポーネントを取り出せます。 +ルーチン \fBpair_content\fR によって、プログラマは、 +指定の色のペアが現時点でどのように定義されているかを見つけられます。 +.SS ルーチンの解説 +\fBstart_color\fR ルーチンには引数は必要ありません。 +プログラマが色を使用する場合は、 +他の色操作ルーチンが呼び出す前にこれを呼び出す必要があります。 +\fBinitscr\fR のすぐ後でこのルーチンを呼び出すのは賢明な方法です。 +\fBstart_color\fR は 8 つの基本色 +(黒、赤、緑、黄色、青、赤紫、水色、白) と +2 つのグローバル変数 \fBCOLORS\fR と \fBCOLOR_PAIRS\fR を初期化します +(それぞれ端末がサポートできる色および色のペアの最大数を定義します)。 +また、端末をオンに切り替えたときの色に、端末上の色を復元します。 + +\fBinit_pair\fR ルーチンは、色のペアの定義を変更します。 +次の 3 つの引数を取ります。 +変更する色のペアの番号、前景色の番号、および背景色の番号です。 +最初の引数の値は \fB1\fR と \fBCOLOR_PAIRS-1\fR の間である必要があります。 +2 番めの引数の値と 3 番めの引数の値は +0 と \fBCOLORS\fR の間にある必要があります +(0 色のペアは黒の上の白に結びつけられているので、変更できません)。 +色のペアが以前に初期化されている場合、画面はリフレッシュされ、 +その色のペアが発生したところはすべて新しい定義に変更されます。 + +\fBinit_color\fR ルーチンは色の定義を変更します。 +次の 4 つの引数を取ります。 +変更する色の番号の後に 3 つの RGB 値が続いたものです +(赤、緑、青の各コンポーネントの量についてです)。 +最初の引数の値は、\fB0\fR と \fBCOLORS\fR の間である必要があります +(デフォルトのカラーインデックスについては、 +\fBColors\fR のセクションを参照してください)。 +最後の 3 つの引数はそれぞれ 0 と 1000 の値の間にある必要があります。 +\fBinit_color\fR を使用するとき、 +画面上にその色が発生したところはすべてただちに新しい定義に変化します。 + +\fBhas_colors\fR ルーチンには引数は必要ありません。 +端末が色を操作できる場合は \fBTRUE\fR を返します。 +そうでない場合は、\fBFALSE\fR を返します。 +このルーチンは、端末に独立なプログラムを作成するのを簡単にします。 +たとえば、プログラマは、これを使用して、 +色または他のビデオ属性を使用するかどうか決定できます。 + +\fBcan_change_color\fR ルーチンには引数は必要ありません。 +端末が色をサポートし、色の定義を変更できる場合は \fBTRUE\fR を返します。 +そうでない場合、\fBFALSE\fR を返します。 +このルーチンは端末に独立なプログラムを作成するのを簡単にします。 + +\fBcolor_content\fR ルーチンは、色の中に赤、緑、青 (RGB) +コンポーネントの強度を見つける方法をプログラマに与えます。 +次の 4 つの引数が必要です。 +色の番号、および指定の色の中の赤、緑、青のコンポーネントに +関する情報を保存する \fBshort\fR の 3 つのアドレスです。 +最初の引数の値は 0 と \fBCOLORS\fR の間です。 +最後の 3 つの引数が指すアドレスに保存される値は 0 +(コンポーネントなし) と 1000 (コンポーネントの最大量) の間です。 + +\fBpair_content\fR ルーチンによって、プログラマは、 +指定の色のペアが何の色で構成されるかを見つけることができます。 +次の 3 つの引数が必要です。 +色のペアの番号、前景色の番号と背景色の番号を保存するための +\fBshort\fR の 2 つのアドレスです。 +最初の引数の値は 1 と \fBCOLOR_PAIRS-1\fR の間にある必要があります。 +2 番めの引数と 3 番めの引数が指すアドレスに保存される値は +0 と \fBCOLORS\fR の間にあります。 +.SS 色 +\fB<ncurses.h>\fR では、次のマクロが定義されています。 +これらはデフォルトの色です。 +また、\fBncurses\fR は、\fBCOLOR_BLACK\fR が +すべての端末についてデフォルトの背景色であると想定します。 + +.nf + \fBCOLOR_BLACK\fR + \fBCOLOR_RED\fR + \fBCOLOR_GREEN\fR + \fBCOLOR_YELLOW\fR + \fBCOLOR_BLUE\fR + \fBCOLOR_MAGENTA\fR + \fBCOLOR_CYAN\fR + \fBCOLOR_WHITE\fR +.fi +.SH 戻り値 +すべてのルーチンが処理失敗したときに整数 \fBERR\fR を返し、 +処理が正常に完了したときは \fBOK\fR を返します。 +.SH 注釈 +いくつかの警告が VGA 互換のグラフィックスがある +386 マシンと 486 マシンに適用されます。 +COLOR_YELLOW は実際には茶色です。 +黄色にするためには、A_BOLD 属性とCOLOR_YELLOW を組み合わせて使用します。 +A_BLINK 属性は、理論的には背景を明るくするはずです。 +これは動作に失敗することが多く、 +最も多く動作しているカード +(たとえば、Paradise およびこれと互換性のあるもの) でも、 +明るい "黄色の" 背景を設定しようとするときに +間違った動作をすることがあります +(代わりに前景が黄色でまたたきます)。 + +色の RGB 値は設定できません。 +.SH 機能 +\fBsetf\fR, \fBsetb\fR, \fBsetaf\fR, \fBsetab\fR. +curses ライブラリは 2 番めのペアを選んで使用してから、最初のペアに依存します。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_initscr\fR(3), \fBcurs_attr\fR(3) diff --git a/documentation/manual-pages/ja/man3/curs_delch.3 b/documentation/manual-pages/ja/man3/curs_delch.3 new file mode 100644 index 0000000000..28baa3d71b --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_delch.3 @@ -0,0 +1,32 @@ +.\" $FreeBSD$ +.\" +.TH curs_delch 3 "" +.SH 名称 +\fBdelch\fR, \fBwdelch\fR, \fBmvdelch\fR, +\fBmvwdelch\fR - \fBncurses\fR ウィンドウのカーソルの下の文字を削除する +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBint delch(void);\fR +.br +\fBint wdelch(WINDOW *win);\fR +.br +\fBint mvdelch(int y, int x);\fR +.br +\fBint mvwdelch(WINDOW *win, int y, int x);\fR +.br +.SH 解説 +これらのルーチンは、カーソルの下の文字を削除します。 +同じ行のカーソルの右にある文字はすべて 1 位置だけ左に移動し、 +行の最後の文字はブランクで埋められます。 +カーソルの位置は変化しません +(指定された場合、\fIy\fR, \fIx\fR に移動した後です)。 +(これは、ハードウェアの文字削除機能の使用を意味しません)。 +.SH 戻り値 +ルーチンはすべて、処理失敗した場合整数 \fBERR\fR を返します。 +処理が正常に完了した場合は、\fBERR\fR 以外の整数値を返します。 +.SH 注釈 +\fBdelch\fR, \fBmvdelch\fR および +\fBmvwdelch\fR がマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3) diff --git a/documentation/manual-pages/ja/man3/curs_move.3 b/documentation/manual-pages/ja/man3/curs_move.3 new file mode 100644 index 0000000000..533ed53074 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_move.3 @@ -0,0 +1,30 @@ +.\" $FreeBSD$ +.TH curs_move 3 "" +.SH 名称 +\fBmove\fR, \fBwmove\fR - move \fBncurses\fR window cursor +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBint move(int y, int x);\fR +.br +\fBint wmove(WINDOW *win, int y, int x);\fR +.br +.SH 解説 +これらのルーチンは、ウィンドウと関連付けられたカーソルを、行 \fIy\fR および列 \fIx\fR +に移動します。このルーチンは、\fBrefresh\fR が呼び出されるまで、端末の物理 +カーソルを移動しません。指定された位置は、ウィンドウの左上コーナー(これは +(0,0)です)に相対的に指定されます。 +.SH 戻り値 +これらのルーチンは、処理失敗すると整数 \fBERR\fR を返してきます。処理が正常に +完了した場合は、\fBERR\fR 以外の整数値を返します。 +.SH 注釈 +\fBmove\fR はマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_refresh\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: + diff --git a/documentation/manual-pages/ja/man3/curs_outopts.3 b/documentation/manual-pages/ja/man3/curs_outopts.3 new file mode 100644 index 0000000000..294ca80c51 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_outopts.3 @@ -0,0 +1,266 @@ +.\" $FreeBSD$ +.TH curs_outopts 3 "" +.SH 名称 +\fBclearok\fR, \fBidlok\fR, \fBidcok immedok\fR, +\fBleaveok\fR, \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBscrollok\fR, +\fBnl\fR, \fBnonl\fR - \fBncurses\fR output options +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBint clearok(WINDOW *win, bool bf);\fR +.br +\fBint idlok(WINDOW *win, bool bf);\fR +.br +\fBvoid idcok(WINDOW *win, bool bf);\fR +.br +\fBvoid immedok(WINDOW *win, bool bf);\fR +.br +\fBint leaveok(WINDOW *win, bool bf);\fR +.br +\fBint setscrreg(int top, int bot);\fR +.br +\fBint wsetscrreg(WINDOW *win, int top, int bot);\fR +.br +\fBint scrollok(WINDOW *win, bool bf);\fR +.br +\fBint nl(void);\fR +.br +\fBint nonl(void);\fR +.br +.SH 解説 +このルーチンでは、 +\fBncurses\fR +の出力のスタイルを変更するオプションを +設定します。すべてのオプションは、特記しないかぎり、最初は +\fBFALSE\fR +になっています。このオプションをオフに切り替えてから +\fBendwin\fR +を呼び出す必要はありません。 + +\fBclearok\fR +ルーチンを有効にすると +(\fIbf\fR +を +\fBTRUE\fR +にすると +) +、次にこの +ウィンドウで +\fBwrefresh\fR +を呼び出した場合、画面は完全にクリアされ、画面全体が +最初から再描画されます。画面の内容が不確実であるか、より良い視覚効果を出す +場合に便利です。 +\fBclearok\fR +の引数 +\fIwin\fR +がグローバル変数 +\fBcurscr\fR +である場合、次に任意のウィンドウで +\fBwrefresh\fR +を呼び出すと、画面がクリアされて最初から再描画されます。 + +\fBidlok\fR +ルーチンを有効にすると +(\fIbf\fR +を +\fBTRUE\fR +にすると +) +、 +\fBncurses\fR +は、 +端末の行挿入 +/ +削除機能を備わっているものとして使用します。無効にすると +(\fIbf\fR +を +\fBFALSE\fR +にすると +) +、 +\fBncurses\fR +はこの機能をほとんど使用しません。 +( +文字の挿入 +/ +削除機能は常に考慮されます。 +) +たとえば画面エディタなど、行の挿入 +/ +削除が +必要なアプリケーションのみで、このオプションを有効にしてください。行の挿入 +/ +削除が本当に必要でないアプリケーションでは、行の挿入 +/ +削除が見た目を害する +傾向にあるので、デフォルトでは無効になっています。行の挿入 +/ +削除機能が +使用できない場合、 +\fBncurses\fR +は、すべての行の変更された部分を再描画します。 + +\fBidcok\fR +ルーチンを有効にすると +(\fIbf\fR +を +\fBTRUE\fR +にすると +) +、 +\fBncurses\fR +は、端末のキャラクタ挿入 +/ +削除機能を備わっているものとして使用します。デフォルト +では有効になっています。 + +\fBimmedok\fR +ルーチンを有効にすると +(\fIbf\fR +を +\fBTRUE\fR +にすると +) +、 +\fBwaddch +、 +wclrtobot +、 +wscrl\fR +\fIなど\fRでウィンドウのイメージが変更された場合、 +\fBwrefresh\fR +が +自動的に呼び出されます。 +\fBwrefresh\fR +が繰り返し呼び出されるので、パフォーマンス +は大幅に低下します。デフォルトでは無効になっています。 + +通常の場合、ハードウェアカーソルは、リフレッシュされた +ウィンドウカーソルの場所に残ります。 +\fBleaveok\fR +オプションでは、更新したときの +場所にカーソルを残せます。カーソルの移動が必要なくなるため、カーソルを +使用しないアプリケーションで便利です。このオプションを有効にすると、可能な +場合はカーソルを非表示にできます。 + +\fBsetscrreg\fR +ルーチンと +\fBwsetscrreg\fR +ルーチンを使用すると、 +アプリケーションプログラマは、ウィンドウでソフトウェアスクローリング領域を +設定できます。 +\fItop\fR +と +\fIbot\fR +は、スクローリング領域の上下マージンの行番号です。 +( +ウィンドウの最初の行は +0 +です。 +) +このオプションと +\fBscrollok\fR +を有効にした +場合は、下マージンの行の先へ移動しようとすると、 +スクローリング領域のすべての行は +1 +行上にスクロールされます。スクロール +されるのは、ウィンドウのテキストのみです。 +(VT100 +のような、端末の物理的な +スクローリング領域機能の使用とは関係ないことに注意してください。 +\fBidlok\fR +を有効にすると、端末にスクローリング領域機能か行の挿入 +/ +削除機能がある場合は、 +出力ルーチンでこれらの機能が使用されることがあります。 +) + +\fBscrollok\fR +オプションは、最終行での改行アクション、または最終行での +最終キャラクタの入力により、ウィンドウのカーソルがウィンドウか +スクローリング領域の端を越えた場合の対処法を制御します。無効にすると +(\fIbf\fR +を +\fBFALSE\fR +にすると +) +、カーソルは最終行に残ります。有効にすると +(\fIbf\fR +を +\fBTRUE\fR +にすると +) +、 +\fBwrefresh\fR +がウィンドウで呼び出され、物理的な端末とウィンドウは +1 +行上にスクロールされます。 +[ +端末で物理的なスクロール効果を出すには、 +\fBidlok\fR +も呼び出す必要があることに注意してください。 +] + +\fBnl\fR +ルーチンと +\fBnonl\fR +ルーチンは、出力時に改行をキャリッジリターンと +ラインフィードに変換するかどうか、および入力時にリターンを改行に +変換するかどうかを制御します。最初は変換が行なわれます。 +\fBnonl\fR +で変換を無効にすると、 +\fBncurses\fR +はラインフィード機能をより良く使用できるようになり、 +カーソルの動きが速くなります。 +.SH 戻り値 +\fBsetscrreg\fR +と +\fBwsetscrreg\fR +は、問題がないと +\fBOK\fR +を、問題があると +\fBERR\fR +を戻します。整数を返す、その他すべてのルーチンは、常に +\fBOK\fR +を戻します。 +.SH バグ +エントリポイント +\fBidcok\fR +、 +\fBimmedok\fR +は、 +ncurses 1.8.6 +ではまだ +実装されていません。 +\fIidlok\fR +を設定すると、ウィンドウのスクロール時に予期せぬ結果となります。 +.SH 注釈 +\fBclearok\fR +、 +\fBleaveok\fR +、 +\fBscrollok\fR +、 +\fBidcok\fR +、 +\fBnl\fR +、 +\fBnonl\fR +、 +\fBsetscrreg\fR +は、マクロである場合があることに注意してください。 + +\fBimmedok\fR +ルーチンは、端末エミュレータとして使用するウィンドウで +便利です。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_addch\fR(3), \fBcurs_clear\fR(3), +\fBcurs_initscr\fR(3), \fBcurs_scroll\fR(3), \fBcurs_refresh\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: + diff --git a/documentation/manual-pages/ja/man3/curs_overlay.3 b/documentation/manual-pages/ja/man3/curs_overlay.3 new file mode 100644 index 0000000000..d8bd6a68f6 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_overlay.3 @@ -0,0 +1,81 @@ +.\" $FreeBSD$ +.TH curs_overlay 3 "" +.SH 名称 +\fBoverlay\fR, \fBoverwrite\fR, +\fBcopywin\fR - overlay and manipulate overlapped \fBncurses\fR windows +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBint overlay(WINDOW *srcwin, WINDOW *dstwin);\fR +.br +\fBint overwrite(WINDOW *srcwin, WINDOW *dstwin);\fR +.br +\fBint copywin(WINDOW *srcwin, WINDOW *dstwin, int sminrow, + int smincol, int dminrow, int dmincol, int dmaxrow, + int dmaxcol, int overlay);\fR +.SH 解説 +\fBoverlay\fR +ルーチンと +\fBoverwrite\fR +ルーチンは、 +\fIdstwin\fR +の一番上に +\fIsrcwin\fR +を +オーバレイします。 +\fIscrwin\fR +と +\fIdstwin\fR +は同じサイズであることを要求されません。 +2 +つのウィンドウがオーバラップするテキストだけがコピー +されます。相違点は +\fBoverlay\fR +が破壊的でない +( +ブランクはコピーされません +) +のに対し、 +\fBoverwrite\fR +は破壊的であるという点です。 + +\fBcopywin\fR +ルーチンには、 +\fBoverlay\fR +ルーチンと +\fBoverwrite\fR +ルーチンより繊細で細かい制御が備わっています。 +\fBprefresh\fR +ルーチンと同じように、宛先ウィンドウの長方形 +(\fIdminrow\fR, \fIdmincol\fR) +と +(\fIdmaxrow\fR, \fIdmaxcol\fR) +、およびソースウィンドウの左上 +コーナーの座標 +(\fIsminrow\fR, \fIsmincol\fR) +が指定されます。引数 +\fIoverlay\fR +が +\fBtrue\fR +の場合、 +\fBoverlay\fR +と同じようにコピーは破壊的ではありません。 +.SH 戻り値 +整数を返すルーチンは、処理失敗すると +\fBERR\fR +を返してきます。処理が正常に完了した場合は、 +\fBERR\fR +以外の整数値を返します。 +.SH 注釈 +\fBoverlay\fR +と +\fBoverwrite\fR +はマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_pad\fR(3), \fBcurs_refresh\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/documentation/manual-pages/ja/man3/curs_pad.3 b/documentation/manual-pages/ja/man3/curs_pad.3 new file mode 100644 index 0000000000..7dbb0fa5ee --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_pad.3 @@ -0,0 +1,156 @@ +.\" $FreeBSD$ +.TH curs_pad 3 "" +.SH 名称 +\fBnewpad\fR, \fBsubpad\fR, \fBprefresh\fR, +\fBpnoutrefresh\fR, \fBpechochar\fR - create and display \fBncurses\fR pads +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBWINDOW *newpad(int nlines, int ncols);\fR +.br +\fBWINDOW *subpad(WINDOW *orig, int nlines, int ncols, + int begin_y, int begin_x);\fR +\fBint prefresh(WINDOW *pad, int pminrow, int pmincol, + int sminrow, int smincol, int smaxrow, int smaxcol);\fR +\fBint pnoutrefresh(WINDOW *pad, int pminrow, int pmincol, + int sminrow, int smincol, int smaxrow, int smaxcol);\fR +\fBint pechochar(WINDOW *pad, chtype ch);\fR +.SH 解説 +\fBnewpad\fR +ルーチンは、指定された数の行 +\fInlines\fR +と列 +\fIncols\fR +がある新しい +パッドデータ構造を指すポインタを作成し返します。パッドはウィンドウに +類似していますが、画面サイズによって制限されない点、画面の特定の部分に +必ずしも対応していない点は異なります。パッドが使用できるのは、大きな +ウィンドウが必要であり、一度にウィンドウの一部だけが画面に +表示されるときです。パッドの自動的なリフレッシュ +( +\fIたとえば\fR、スクロールまたは +入力のエコーから +) +は発生しません。 +\fIpad\fR +を引数として +\fBwrefresh\fR +を呼び出すのは +正しくありません。代わりに、ルーチン +\fBprefresh\fR +またはルーチン +\fBpnoutrefresh\fR +を呼び出す必要があります。表示されるパッドの一部、および表示に使用される +画面上の位置を指定する追加のパラメータがこれらのルーチンには +必要であることに注意してください。 + +\fBsubpad\fR +ルーチンは、パッド内の指定数の行 +\fInlines\fR +と列 +\fIncols\fR +があるパッド内の +サブウィンドウを指すポインタを作成し返します。画面座標を使用する +\fBsubwin\fR +と異なり、ウィンドウはパッド上の位置 +(\fIbegin\fR_\fIx\fR\fB,\fR \fIbegin\fR_\fIy\fR) +にあります。ウィンドウ +はウィンドウ +\fIorig\fR +の中央に作成されるので、 +1 +つのウィンドウについて行われた +変更は両方のウィンドウに影響を及ぼします。このルーチンの使用の間、 +\fBprefresh\fR +を呼び出す前に +\fIorig\fR +上で +\fBtouchwin\fR +または +\fBtouchline\fR +を呼び出すことがしばしば +必要になります。 + +\fBprefresh\fR +ルーチンおよび +\fBpnoutrefresh\fR +ルーチンは、 +\fBwrefresh\fR +および +\fBwnoutrefresh\fR +と類似していますが、ウィンドウではなくパッドに関連している +点は異なります。パッドと画面のどの部分が関連しているのかを示すために、 +追加のパラメータが必要です。 +\fIpminrow\fR +と +\fIpmincol\fR +はパッド内で表示される +長方形の左上コーナーを指定します。 +\fIsminrow\fR +、 +\fIsmincol\fR +、 +\fIsmaxrow\fR +、 +\fIsmaxcol\fR +は、画面に表示される長方形のエッジを指定します。パッド内に表示される長方形の +右下コーナーは、画面座標から計算されます。長方形は同じサイズ +でなければならないからです。両方の長方形が、それぞれの構造の内部に完全に +入れられる必要があります。 + +\fIpminrow\fR +、 +\fIpmincol\fR +、 +\fIminrow\fR +、 +\fIsmincol\fR +の値が負の場合は、ゼロであるかのように処理されます。 + +\fBpechochar\fR +ルーチンは、 +\fBaddch\fR +の呼び出しの後の +\fBrefresh\fR +の呼び出し、 +\fBwaddch\fR +の +呼び出しの後の +\fBwrefresh\fR +の呼び出し、または +\fBwaddch\fR +の呼び出しの後の +\fBprefresh\fR +の呼び出しと機能的に同等です。 +1 +文字しか出力されないという知識を +考慮に入れ、制御文字でないキャラクタについては、同等のルーチン +ではなくこれらのルーチンを使用することによって、相当な性能の向上が見られ +可能性があります。 +\fBpechochar\fR +の場合、画面上のパッドの最後の位置が、 +\fBprefresh\fR +への引数として再使用されます。 +.SH 戻り値 +整数を返すルーチンは、処理失敗すると +\fBERR\fR +を返してきます。処理が正常に +完了した場合は、 +\fBERR\fR +以外の整数値を返します。 + +ポインタを返すルーチンはエラーがあった場合は +\fBNULL\fR +を返してきます。 +.SH 注釈 +\fBpechochar\fR +はマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_refresh\fR(3), \fBcurs_touch\fR(3), \fBcurs_addch\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: + diff --git a/documentation/manual-pages/ja/man3/curs_printw.3 b/documentation/manual-pages/ja/man3/curs_printw.3 new file mode 100644 index 0000000000..2846862d31 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_printw.3 @@ -0,0 +1,71 @@ +.\" $FreeBSD$ +.TH curs_printw 3 "" +.SH 名称 +\fBprintw\fR, \fBwprintw\fR, \fBmvprintw\fR, +\fBmvwprintw\fR, \fBvwprintw\fR - print formatted output in \fBncurses\fR windows +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBint printw(char *fmt\fR [\fB, arg\fR] \fB...);\fR +.br +\fBint wprintw(WINDOW *win, char *fmt\fR [\fB, arg\fR] \fB...);\fR +.br +\fBint mvprintw(int y, int x, char *fmt\fR [\fB, arg\fR] \fB...);\fR +.br +\fBint mvwprintw(WINDOW *win, int y, int x, + \fBchar *fmt\fR [\fB, arg]\fR ...); + +\fB#include <varargs.h>\fR +.br +\fBint vwprintw(WINDOW *win, char *fmt, varglist);\fR +.br +.SH 解説 +\fBprintw\fR +、 +\fBwprintw\fR +、 +\fBmvprintw\fR +、および +\fBmvwprintw\fR +の各ルーチンは +\fBprintf\fR +[ +\fBprintf\fR(3) +を参照 +] +に類似しています。実際には、 +\fBprintf\fR +によって出力されるストリングは、代わりに指定のウィンドウ上で +\fBwaddstr\fR +が使用されたかのように出力されます。 + +\fBvwprintw\fR +ルーチンは +\fBvprintf\fR +[ +\fBprintf\fR(3) +を参照 +] +に類似しており、変数引数リストを使用して +\fBwprintw\fR +を実行します。 +3 +番めの引数は +\fBva_list\fR +です。これは、 +\fB<varargs.h>\fR +で定義されているように、引数のリストを指すポインタです。 +.SH 戻り値 +ルーチンはすべて処理失敗すると整数 +\fBERR\fR +を返してきます。処理が正常に完了した場合は、 +\fBERR\fR +以外の整数値を返します。 +.SH 関連項目 +\fBncurses\fR(3), \fBprintf\fR(3), \fBvprintf(3)\fR +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/documentation/manual-pages/ja/man3/curs_refresh.3 b/documentation/manual-pages/ja/man3/curs_refresh.3 new file mode 100644 index 0000000000..950bb00f89 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_refresh.3 @@ -0,0 +1,134 @@ +.\" $FreeBSD$ +.TH curs_refresh 3 "" +.SH 名称 +\fBrefresh\fR, \fBwrefresh\fR, \fBwnoutrefresh\fR, +\fBdoupdate\fR, \fBredrawwin\fR, +\fBwredrawln\fR - refresh \fBncurses\fR windows and lines +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBint refresh(void);\fR +.br +\fBint wrefresh(WINDOW *win);\fR +.br +\fBint wnoutrefresh(WINDOW *win);\fR +.br +\fBint doupdate(void);\fR +.br +\fBint redrawwin(WINDOW *win);\fR +.br +\fBint wredrawln(WINDOW *win, int beg_line, int num_lines);\fR +.br +.SH 解説 +端末への実際の出力を得るためには、 +\fBrefresh\fR +ルーチンと +\fBwrefresh\fR +ルーチン +( +または +\fBwnoutrefresh\fR +と +\fBdoupdate\fR +) +を呼び出す必要があります。他のルーチンは +データ構造を操作するだけだからです。ルーチン +\fBwrefresh\fR +は、名前付き +ウィンドウを物理的な端末画面にコピーし、その際、最適化を行うために、 +既にそこにあるものを考慮します。 +\fBrefresh\fR +ルーチンも同じであり、デフォルトのウィンドウとして +\fBstdscr\fR +を使用します。 +\fBleaveok\fR +が有効になっている場合を +除いて、端末の物理カーソルはそのウィンドウ用のカーソルの位置に残されます。 + +\fBwnoutrefresh\fR +ルーチンと +\fBdoupdate\fR +ルーチンによって、 +\fBwrefresh\fR +単独でより +効率的に複数の更新ができます。すべてのウィンドウ構造に加えて、 +\fBncurses\fR +は、端末画面を表す次の +2 +つのデータ構造を保持します。物理画面は、画面上に +実際にあるものを記述し、仮想画面は、プログラマが画面に表示したいものを +記述します。 + +ルーチン +\fBwrefresh\fR +は、最初に +\fBwnoutrefresh\fR +を呼び出すことで機能します。 +\fBwnoutrefresh\fR +は、名前付きウィンドウを仮想画面にコピーしてから +\fBdoupdate\fR +を +呼び出します。 +\fBdoupdate\fR +は、仮想画面を物理画面に比較し、実際の更新を +行います。プログラマがいくつかのウィンドウを一度に出力することを希望する +場合は、 +\fBwrefresh\fR +を続けて何度も呼び出すと、 +\fBwnoutrefresh\fR +と +\fBdoupdate\fR +が +交互に呼び出されることになり、いくつかの出力バーストが画面に出力されます。 +各ウィンドウについて +\fBwnoutrefresh\fR +を最初に呼び出すと、 +\fBdoupdate\fR +を一度呼び出すことが可能になり、 +1 +回の出力のバーストだけが行われる結果になり、 +送信される合計キャラクタは少なくなり、使用される +CPU +時間は短くなります。 +\fBwrefresh\fR +への +\fIwin\fR +引数がグローバル変数 +\fBcurscr\fR +である場合、画面は即座にクリアされ、ゼロから再描画されます。 + +\fBredrawwin\fR +ルーチンは、 +\fBncurses\fR +に、いくつかの画面行が破損しており、それらを +廃棄した後で、それらの上に何かを書き込むことを示します。これらのルーチンは +エディタのようなプログラム用に使用できます。これは、画面の一部または +画面全体を再描画するコマンドを必要とします。ルーチン +\fBredrawln\fR +の方が +\fBredrawwin\fR +より望ましくあります。 +\fBredrawwin\fR +では、通信回線にノイズ +があるものがあり、ウィンドウ全体を再描画すると、さらに多くの通信ノイズを +受ける可能性があります。いくつかの行だけを再描画すると、それらが損傷なく +表示される可能性があります。 +.SH 戻り値 +すべてのルーチンが、処理失敗すると整数 +\fBERR\fR +を返します。処理が正常に完了した場合は、 +\fBERR\fR +以外の整数値を返します。 +.SH 注釈 +\fBrefresh\fR +と +\fBredrawwin\fR +はマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_outopts\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/documentation/manual-pages/ja/man3/curs_scanw.3 b/documentation/manual-pages/ja/man3/curs_scanw.3 new file mode 100644 index 0000000000..77a32a8eff --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_scanw.3 @@ -0,0 +1,76 @@ +.\" $FreeBSD$ +.TH curs_scanw 3 "" +.SH 名称 +\fBscanw\fR, \fBwscanw\fR, \fBmvscanw\fR, +\fBmvwscanw\fR, \fBvwscanw\fR - convert formatted input from a \fBncurses\fR widow +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBint scanw(char *fmt\fR [\fB, arg\fR] \fB...);\fR +.br +\fBint wscanw(WINDOW *win, char *fmt\fR [\fB, arg\fR] \fB...);\fR +.br +\fBint mvscanw(int y, int x, char *fmt\fR [\fB, arg\fR] \fB...);\fR +.br +\fBint mvwscanw(WINDOW *win, int y, int x, + char *fmt\fR [\fB, arg]\fR \fB...);\fR +.br +\fBint vwscanw(WINDOW *win, char *fmt, va_list varglist);\fR +.SH 解説 +\fBscanw\fR +、 +\fBwscanw\fR +、および +\fBmvscanw\fR +の各ルーチンは、 +\fBscanf\fR +[ +\fBscanf\fR(3) +を参照 +] +に類似しています。 +これらのルーチンの効果は、ウィンドウで +\fBwgetstr\fR +が呼び出されたかのようであり、結果の行は +\fBsscanf\fR(3) +用の入力として使用されます。 +\fIfmt\fR +フィールド内の変数にマップされないフィールドは失われます。 + +\fBvwscanw\fR +ルーチンは、変数引数リストを使用して +\fBwscanw\fR +を実行するという点で、 +\fBvwprintw\fR +に類似しています。 +3 +番めの引数は +\fIva\fR_\fIlist\fR +です。これは、 +\fB<varargs.h>\fR +で定義された引数リストを指すポインタです。 +.SH 戻り値 +\fBvwscanw\fR +は、処理が失敗すると +\fBERR\fR +を返し、処理が成功すると走査された +フィールドの数に等しい整数を返します。 + +アプリケーションは、 +\fBscanw\fR +、 +\fBwscanw\fR +、 +\fBmvscanw\fR +、および +\fBmvwscanw\fR +の各ルーチンの +戻り値を使用して、呼び出しでマップされたフィールドの数を判定できます。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_getstr\fR(3), \fBcurs_printw\fR(3), \fBscanf\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/documentation/manual-pages/ja/man3/curs_scroll.3 b/documentation/manual-pages/ja/man3/curs_scroll.3 new file mode 100644 index 0000000000..2af00dd060 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_scroll.3 @@ -0,0 +1,66 @@ +.\" $FreeBSD$ +.TH curs_scroll 3 "" +.SH 名称 +\fBscroll\fR, \fBscrl\fR, \fBwscrl\fR - scroll a \fBncurses\fR window +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBint scroll(WINDOW *win);\fR +.br +\fBint scrl(int n);\fR +.br +\fBint wscrl(WINDOW *win, int n);\fR +.br +.SH 解説 +\fBscroll\fR +ルーチンは、ウィンドウを +1 +行だけ上方にスクロールします。これには、 +ウィンドウデータ構造内の行を移動することが含まれます。ウィンドウの +スクロール領域が画面全体である場合、最適化として、物理画面が同時に +スクロールされます。 + +\fBscrl\fR +ルーチンと +\fBwscrl\fR +ルーチンでは、 +\fIn\fR +が正の場合、ウィンドウを上方に +\fIn\fR +行 +スクロールします +( +行 +\fIi\fR+\fIn\fR +が +\fIi\fR +になります +) +。そうでない場合、ウィンドウを +下方に +\fIn\fR +行スクロールします。これにはウィンドウキャラクタイメージ構造内の行を +移動することが含まれます。現在のカーソル位置は変更されません。 + +これらの関数が機能するためには、 +\fBscrollok\fR +でスクロールを有効にする必要があります。 +.SH 戻り値 +すべてのルーチンが処理失敗すると整数 +\fBERR\fR +を返し、処理が正常に完了すると +\fBERR\fR +以外の整数値を返します。 +.SH 注釈 +\fBscrl\fR +と +\fBscroll\fR +はマクロである可能性があることに注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_outopts\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/documentation/manual-pages/ja/man3/curs_slk.3 b/documentation/manual-pages/ja/man3/curs_slk.3 new file mode 100644 index 0000000000..b68a097624 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_slk.3 @@ -0,0 +1,172 @@ +.\" $FreeBSD$ +.TH curs_slk 3 "" +.SH 名称 +\fBslk_init\fR, \fBslk_set\fR, \fBslk_refresh\fR, +\fBslk_noutrefresh\fR, \fBslk_label\fR, \fBslk_clear\fR, \fBslk_restore\fR, +\fBslk_touch\fR, \fBslk_attron\fR, \fBslk_attrset\fR, +\fBslk_attroff\fR - \fBncurses\fR soft label routines +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBint slk_init(int fmt);\fR +.br +\fBint slk_set(int labnum, char *label, int fmt);\fR +.br +\fBint slk_refresh(void);\fR +.br +\fBint slk_noutrefresh(void);\fR +.br +\fBchar *slk_label(int labnum);\fR +.br +\fBint slk_clear(void);\fR +.br +\fBint slk_restore(void);\fR +.br +\fBint slk_touch(void);\fR +.br +\fBint slk_attron(chtype attrs);\fR +.br +\fBint slk_attrset(chtype attrs);\fR +.br +\fBint slk_attroff(chtype attrs);\fR +.br +.SH 解説 +slk* +関数は、多数の端末に存在するソフトファンクションキーラベルのセットを +操作します。ソフトラベルのない端末の場合、 +\fBncurses\fR +が +\fBstdscr\fR +の下端行を占め、 +\fBstdscr\fR +および変数 +\fBLINES\fR +のサイズを減少させます。 +\fBncurses\fR +は、それぞれ最高 +8 +キャラクタの +8 +つのラベルを標準化します。 + +\fBslk_init\fR +ルーチンを呼び出してから、 +\fBinitscr\fR +または +\fBnewterm\fR +を呼び出す +必要があります。 +\fBinitscr\fR +がソフトラベルをエミュレートするために +\fBstdscr\fR +から次第に行を使用していくと、 +\fIfmt\fR +が、ラベルが画面上でどのように配置されるかを +決定します。 +\fIfmt\fR +を +\fB0\fR +に設定すると、ラベルは +3-2-3 +配置になります。 +\fB1\fR +に設定すると、 +4-4 +配置になります。 + +\fBslk_set\fR +ルーチンの場合、 +\fIlabnum\fR +は +\fB1\fR +から +\fB8\fR +のラベル番号です。 +\fIlabel\fR +は、ラベルに設定する長さが最高 +\fB8\fR +キャラクタのストリングです。 +NULL +ストリング +または +NULL +ポインタは、ブランクのラベルをセットアップします。 +\fIfmt\fR +は +\fB0\fR +、 +\fB1\fR +、 +または +\fB2\fR +のいずれかで、それぞれラベル内部でラベルが左揃え、中心揃え、または +右揃えであることを示します。 + +\fBslk_refresh\fR +ルーチンと +\fBslk_noutrefresh\fR +ルーチンは、 +\fBwrefresh\fR +ルーチンと +\fBwnoutrefresh\fR +ルーチンに対応します。 + +\fBslk_label\fR +ルーチンは、ラベル番号 +\fIlabnum\fR +の現在のラベルを返します。この +場合、先頭と末尾のブランクは除去されます。 + +\fBslk_clear\fR +ルーチンは、画面からソフトラベルをクリアします。 + +\fBslk_restore\fR +ルーチンは、 +\fBslk_clear\fR +が実行された後で、ソフトラベルを画面に復元します。 + +\fBslk_touch\fR +ルーチンは、 +\fBslk_noutrefresh\fR +が次に実行されるときに、すべての +ソフトラベルが出力されるようにします。 + +\fBslk_attron\fR +、 +\fBslk_attrset\fR +、および +\fBslk_attroff\fR +の各ルーチンは、 +\fBattron\fR +、 +\fBattrset\fR +、および +\fBattroff\fR +に対応しています。これらが効力を持つのは、 +ソフトラベルが画面の下端行でシミュレートされる場合だけです。 +.SH 戻り値 +ルーチンは処理失敗すると整数 +\fBERR\fR +を返し、処理が正常に完了すると +\fBERR\fR +以外の整数値を返します。 + +\fBslk_label\fR +はエラーがあると +\fBNULL\fR +を返します。 +.SH 注釈 +ほとんどのアプリケーションが +\fBslk_noutrefresh\fR +を使用します。 +\fBwrefresh\fR +がすぐ続くと考えられるからです。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_attr\fR(3), \fBcurs_initscr\fR(3), \fBcurs_refresh\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: + diff --git a/documentation/manual-pages/ja/man3/curs_touch.3 b/documentation/manual-pages/ja/man3/curs_touch.3 new file mode 100644 index 0000000000..291618989e --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_touch.3 @@ -0,0 +1,96 @@ +.\" $FreeBSD$ +.TH curs_touch 3 "" +.SH 名称 +\fBtouchwin\fR, \fBtouchline\fR, \fBuntouchwin\fR, +\fBwtouchln\fR, \fBis_linetouched\fR, +\fBis_wintouched\fR - \fBncurses\fR refresh control routines +.SH 書式 +\fB#include <ncurses.h>\fR +.br +\fBint touchwin(WINDOW *win);\fR +.br +\fBint touchline(WINDOW *win, int start, int count);\fR +.br +\fBint untouchwin(WINDOW *win);\fR +.br +\fBint wtouchln(WINDOW *win, int y, int n, int changed);\fR +.br +\fBint is_linetouched(WINDOW *win, int line);\fR +.br +\fBint is_wintouched(WINDOW *win);\fR +.br +.SH 解説 +\fBtouchwin\fR +ルーチンと +\fBtouchline\fR +ルーチンは、ウィンドウ全体が +描画されているかのようにして、ウィンドウのどの部分が接触させられたかに +関するすべての最適化情報を廃棄します。オーバラップするウィンドウを +使用するときはこれが必要なことがときどきあります。 +1 +つのウィンドウの変更が +他のウィンドウに影響を及ぼすものの、他のウィンドウ内でどの行が +変更されたかの記録は変更を反映しないからです。ルーチン +\fBtouchline\fR +は、行 +\fIstart\fR +から始めて、 +\fIcount\fR +行が変化したかのようにします。 + +\fBuntouchwin\fR +ルーチンは、 +\fBwrefresh\fR +の最後の呼び出し以降、 +ウィンドウ内のすべての行が変化していないとマークします。 + +\fBwtouchln\fR +ルーチンは、行 +\fIy\fR +で始めて、ウィンドウ内に +\fIn\fR +行を作成し、 +\fBwrefresh\fR +の最後の呼び出し以降、変化した +(\fIchanged\fR\fB=1\fR) +か、または +(\fIchanged\fR\fB=0\fR) +変化していないかのように見えます。 + +\fBis_linetouched\fR +ルーチンと +\fBis_wintouched\fR +ルーチンは、 +\fBwrefresh\fR +の最後の呼び出し以降、指定の行 +/ +ウィンドウが修正された場合は +\fBTRUE\fR +を返します。そうでない場合、 +\fBFALSE\fR +を返します。さらに、 +\fBis_linetouched\fR +は、指定のウィンドウについて +\fIline\fR +が有効でない場合、 +\fBERR\fR +を返します。 +.SH 戻り値 +すべてのルーチンが、処理失敗すると整数 +\fBERR\fR +を返してきます。処理が正常に完了した場合は、 +\fBERR\fR +以外の整数値を返します。ただし、前述のルーチンの解説で +異なるように記載した場合は別です。 +.SH 注釈 +\fBwtouchln\fR +を除くすべてのルーチンがマクロである可能性があることに +注意してください。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_refresh\fR(3). +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/documentation/manual-pages/ja/man3/curs_util.3 b/documentation/manual-pages/ja/man3/curs_util.3 new file mode 100644 index 0000000000..cb1e2a8613 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_util.3 @@ -0,0 +1,145 @@ +.\" $FreeBSD$ +.TH curs_util 3 "" +.SH 名称 +\fBunctrl\fR, \fBkeyname\fR, \fBfilter\fR, +\fBuse_env\fR, \fBputwin\fR, \fBgetwin\fR, \fBdelay_output\fR, +\fBflushinp\fR - miscellaneous \fBncurses\fR utility routines +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBchar *unctrl(chtype c);\fR +.br +\fBchar *keyname(int c);\fR +.br +\fBint filter(void);\fR +.br +\fBvoid use_env(char bool);\fR +.br +\fBint putwin(WINDOW *win, FILE *filep);\fR +.br +\fBWINDOW *getwin(FILE *filep);\fR +.br +\fBint delay_output(int ms);\fR +.br +\fBint flushinp(void);\fR +.br +.SH 解説 +\fBunctrl\fR +マクロは、キャラクタ +\fIc\fR +の印刷可能な表現であるキャラクタストリングに +展開されます。制御キャラクタは +\fB^\fR\fIX\fR +表記で表示されます。印刷キャラクタ +はそのとおりに表示されます。 + +\fBkeyname\fR +ルーチンは、キー +\fIc\fR +に対応するキャラクタストリングを返します。 + +\fBfilter\fR +ルーチンを使用する場合は、 +\fBinitscr\fR +または +\fBnewterm\fR +の前に呼び出す必要があります。そうすると +\fBncurses\fR +は +1 +行画面があると認識します。 +\fBncurses\fR +は、画面のどの行にカーソルが配置されているか認識できることを想定する +端末機能を使用しません。 + +\fBuse_env\fR +ルーチンを使用する場合は、 +\fBinitscr\fR +または +\fBnewterm\fR +の前に呼び出す必要があります。引数として +\fBFALSE\fR +を指定して呼び出された場合、 +\fIterminfo\fR +データベースに指定された +\fBline\fR +と +\fBcolumn\fR +の値が使用されます。環境変数 +\fBLINES\fR +と +\fBCOLUMNS\fR +( +デフォルトで使用されます +) +が設定されていても、または +\fBncurses\fR +がウィンドウで実行されていてもです +( +この場合、 +\fBLINES\fR +と +\fBCOLUMNS\fR +が +設定されていない場合、デフォルトの動作ではウィンドウサイズを使用します +) +。 + +\fBputwin\fR +ルーチンは、ウィンドウ +\fIwin\fR +に対応するすべてのデータを +\fIfilep\fR +が指すファイルに書き込みます。この情報は、 +\fBgetwin\fR +関数を使用して後で取り出すことができます。 + +\fBgetwin\fR +ルーチンは、 +\fBputwin\fR +によってファイルに保存されたウィンドウ関連データ +を読み取ります。次に、このルーチンは、そのデータを使用して新しいウィンドウ +を作成および初期化し、新しいウィンドウを指すポインタを返してきます。 + +\fBdelay_output\fR +ルーチンは、出力に +\fIms\fR +ミリ秒を挿入します。このルーチンは広汎に使用しないでください。 +CPU +休止ではなくパッドキャラクタが使用されるからです。 + +\fBflushinp\fR +ルーチンは、ユーザが入力し、プログラムがまだ読み取っていない入力 +ヘッドを廃棄します。 +.SH 戻り値 +\fBflushinp\fR +を除いて、すべてのルーチンが、処理失敗すると整数 +\fBERR\fR +を返してきます。処理が正常に完了した場合は、 +\fBERR\fR +以外の整数値を返します。 + +\fBflushinp\fR +は必ず +\fBOK\fR +を返します。 + +ポインタを返すルーチンはエラーがあった場合は +\fBNULL\fR +を返します。 +.SH バグ +\fBfilter\fR +フィルタエントリ点はまだサポートされていません。 +.SH 注釈 +\fBunctrl\fR +はマクロであることに注意してください。これは +<\fBunctrl.h\fR> +内に定義されています。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_initscr\fR(3), \fBcurs_scr_dmp\fR(3). +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/documentation/manual-pages/ja/man3/curs_window.3 b/documentation/manual-pages/ja/man3/curs_window.3 new file mode 100644 index 0000000000..77d834db10 --- /dev/null +++ b/documentation/manual-pages/ja/man3/curs_window.3 @@ -0,0 +1,215 @@ +.\" $FreeBSD$ +.TH curs_window 3 "" +.SH 名称 +\fBnewwin\fR, \fBdelwin\fR, \fBmvwin\fR, +\fBsubwin\fR, \fBderwin\fR, \fBmvderwin\fR, \fBdupwin\fR, +\fBwsyncup\fR, \fBsyncok\fR, \fBwcursyncup\fR, +\fBwsyncdown\fR - create \fBncurses\fR windows +.SH 書式 +\fB#include <ncurses.h>\fR + +\fBWINDOW *newwin(int nlines, int ncols, int begin_y,\fR + \fBintbegin_x);\fR + +\fBint delwin(WINDOW *win);\fR +.br +\fBint mvwin(WINDOW *win, int y, int x);\fR +.br +\fBWINDOW *subwin(WINDOW *orig, int nlines, int ncols, + int begin_y, int begin_x);\fR +\fBWINDOW *derwin(WINDOW *orig, int nlines, int ncols, + int begin_y, int begin_x);\fR +\fBint mvderwin(WINDOW *win, int par_y, int par_x);\fR +.br +\fBWINDOW *dupwin(WINDOW *win);\fR +.br +\fBvoid wsyncup(WINDOW *win);\fR +.br +\fBint syncok(WINDOW *win, bool bf);\fR +.br +\fBvoid wcursyncup(WINDOW *win);\fR +.br +\fBvoid wsyncdown(WINDOW *win);\fR +.br +.SH 解説 +\fBnewwin\fR +ルーチンは、指定数の行と列のある新しいウィンドウを指すポインタを +作成して返します。ウィンドウの左上コーナーが行 +\fIbegin\fR_\fIy\fR +、列 +\fIbegin\fR_\fIx\fR +です。 +\fInlines\fR +または +\fIncols\fR +のどちらかがゼロの場合、デフォルトで +\fBLINES -\fR +\fIbegin\fR_\fIy\fR +および +\fBCOLS -\fR +\fIbegin\fR_\fIx\fR +になります。新しいフルスクリーンウィンドウは +\fBnewwin(0,0,0,0)\fR +を呼び出すことで作成されます。 + +\fBdelwin\fR +ルーチンは、名前付きウィンドウを削除し、それに対応するすべてのメモリ +を解放します +( +実際にはウィンドウの画面イメージを消去しません +) +。 +サブウィンドウを削除してから、メインウィンドウを削除します。 + +\fBmvwin\fR +ルーチンは、左上コーナーが位置 +(\fIx\fR, \fIy\fR) +にあるようにウィンドウを +移動します。移動によってウィンドウが画面からはみ出てしまう場合は、それは +エラーとなりウィンドウは移動されません。サブウィンドウを +移動することもできますが、これは避けてください。 + +\fBsubwin\fR +ルーチンは、指定数の行 +\fInlines\fR +と列 +\fIncols\fR +のある新しいウィンドウを +指すポインタを作成して返します。ウィンドウは画面上の位置 +(\fIbegin\fR_\fIy\fR, \fIbegin\fR_\fIx\fR) +にあります +( +この位置は画面に相対的であって、ウィンドウの +\fIorig\fR +に相対的にではありません +) +。ウィンドウはウィンドウ +\fIorig\fR +の中央に作成されるので、 +1 +つのウィンドウについて行われた変更は両方のウィンドウに +影響を及ぼします。サブウィンドウはウィンドウ +\fIorig\fR +とメモリを共有します。 +このルーチンを使用するときは、サブウィンドウで +\fBwrefresh\fR +を呼び出す前に、 +\fIorig\fR +上に +\fBtouchwin\fR +または +\fBtouchline\fR +を呼び出す必要があります。 + +\fBderwin\fR +ルーチンは +\fBsubwin\fR +と同じですが、 +\fIbegin\fR_\fIy\fR +と +\fIbegin\fR_\fIx\fR +が、画面ではなくウィンドウ +\fIorig\fR +の原点に相対的であり点は異なります。サブウィンドウと +導出されたウィンドウの間に違いはありません。 + +\fBmvderwin\fR +ルーチンは、親ウィンドウの内部の導出されたウィンドウ +( +またはサブウィンドウ +) +を移動します。ウィンドウの画面に相対的なパラメータは +変更されません。このルーチンを使用して、画面上の同じ物理的位置に親 +ウィンドウのさまざまな部分を表示できます。 + +\fBdupwin\fR +ルーチンは、ウィンドウ +\fIwin\fR +の正確な複製を作成します。 + +\fBncurses\fR +の各ウィンドウは、キャラクタイメージ構造とステータス構造という +2 +つのデータ構造を保持します。キャラクタイメージ構造は、 +ウィンドウ階層内のすべてのウィンドウの間で共有されます +( +\fIすなわち\fR、すべてのサブウィンドウのあるウィンドウです +) +。ウィンドウ内の個別の行変更に関する +情報が入っているステータス構造はお互いのウィンドウに対してプライベート +です。ルーチン +\fBwrefresh\fR +は、画面更新を実行するときにステータスデータ構造を +使用します。ステータス構造は共有ではないので、階層内の +1 +つのウィンドウに +対して行われた変更は画面上に適切に反映されない可能性があります。 + +ルーチン +\fBwsyncup\fR +は、ウィンドウのステータス構造内の変化が、その先祖の +ステータス構造内に反映されるようにします。 +\fBsyncok\fR +が +2 +番めの引数 +\fBTRUE\fR +を +指定して呼び出された場合、ウィンドウ内に変更があるたびに、 +\fBwsyncup\fR +が自動的に呼び出されます。 + +ルーチン +\fBwcursyncup\fR +は、ウィンドウのすべての先祖の現在のカーソル位置を +更新して、ウィンドウの現在のカーソル位置を反映するようにします。 + +ルーチン +\fBwsyncdown\fR +は、ウィンドウのステータス構造を更新して、先祖の +ステータス構造の変化を反映するようにします。アプリケーションがこのルーチン +を呼び出すことはほとんどありません。 +\fBwrefresh\fR +によって自動的に呼び出されるからです。 +.SH 戻り値 +ルーチンが、処理失敗すると整数 +\fBERR\fR +を返してきます。処理が正常に完了した場合は、 +\fBERR\fR +以外の整数値を返します。 + +\fBdelwin\fR +は処理失敗すると整数 +\fBERR\fR +を返し、処理が正常に完了すると +\fBOK\fR +を返します。 + +ポインタを返すルーチンはエラーがあると +\fBNULL\fR +を返します。 +.SH 注釈 +ウィンドウに多数の小さい変更が行われる場合、 +\fBwsyncup\fR +オプションによって性能が低下する可能性があります。 + +\fBsyncok\fR +はマクロである可能性があることに注意してください。 +.SH バグ +サブウィンドウ関数 +(\fIsubwin\fR +、 +\fIderwin\fR +など +) +は、脆く、実現が不完全であり、良く +試験されていません。特に、スクロールとの相互作用においてです。 +.SH 関連項目 +\fBncurses\fR(3), \fBcurs_refresh\fR(3), \fBcurs_touch\fR(3) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: + diff --git a/documentation/manual-pages/ja/man3/curses.3 b/documentation/manual-pages/ja/man3/curses.3 new file mode 100644 index 0000000000..cfe96a928c --- /dev/null +++ b/documentation/manual-pages/ja/man3/curses.3 @@ -0,0 +1,172 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" @(#)curses.3 8.1 (Berkeley) 6/4/93 +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt CURSES 3 +.Os BSD 4 +.Sh 名称 +.Nm curses +.Nd 「最適」なカーソル移動のある画面関数 +.Sh 書式 +.Nm cc +.Op Ar flags +.Ar files +.Fl lcurses ltermcap +.Op Ar libraries +.Sh 解説 +これらのルーチンは、合理的な最適化で画面を更新する方法をユーザに与えます。 +これらのルーチンは現在の画面のイメージを保持し、ユーザは新しい画面の +イメージをセットアップします。次に、 +.Fn refresh +が、現在の画面が新しい +画面のように表示されるようにルーチンに指示します。ルーチンを +初期化するためには、ウィンドウと画面を処理する他のルーチンが使用される +前に、ルーチン +.Fn initscr +を呼び出す必要があります。終了する前に、ルーチン +.Fn endwin +を呼び出す必要があります。 +.Pp +.Sh 関連項目 +.Xr ioctl 2 , +.Xr getenv 3 , +.Xr tty 4 , +.Xr termcap 5 +.Rs +.%T Screen Updating and Cursor Movement Optimization: A Library Package +.%A Ken Arnold +.Re +.Sh 作者 +.An Ken Arnold +.Sh 関数 +.Bl -column "subwin(win,lines,cols,begin_y,begin_x) " +.It addch(ch) キャラクタを +.Em stdscr +に追加する +.It addstr(str) ストリングを +.Em stdscr +に追加する +.It box(win,vert,hor) ウィンドウの回りにボックスを作図する +.It cbreak() cbreak モードを設定する +.It clear() stdscr をクリアする +.It clearok(scr,boolf) scr 用のクリアフラグを設定する +.It clrtobot() stdscr 上で下端へとクリアする +.It clrtoeol() stdscr 上で行の末尾へとクリアする +.It delch() 1 文字を削除する +.It deleteln() 1 行を削除する +.It delwin(win) win を削除する +.It echo() エコーモードを設定する +.It endwin() ウィンドウモードを終了する +.It erase() stdscr を消去する +.It flusok(win,boolf) win についてフラッシュオンリフレッシュ +(flush-on-refresh) フラグを設定する +.It getch() stdscr によって 1 キャラクタを得る +.It getcap(name) 端末機能 +.Em name +を得る +.It getstr(str) stdscr によってストリングを得る +.It gettmode() tty モードを得る +.It getyx(win,y,x) win 用に (y,x) 座標を得る +.It inch() 現在の (y,x) 座標で char を得る +.It initscr() 画面を初期化する +.It insch(c) 1 キャラクタを挿入する +.It insertln() 1 行を挿入する +.It leaveok(win,boolf) win 用に終了 (leave) フラグを設定する +.It longname(termbuf,name) termbuf から長い名前を得る +.It move(y,x) stdscr の (y,x) に移動する +.It mvcur(lasty,lastx,newy,newx) 実際にカーソルを移動する +.It newwin(lines,cols,begin_y,begin_x) 新しいウィンドウを作成する +.It nl() 改行マッピングを設定する +.It nocbreak() cbreak モードを設定解除する +.It noecho() エコーモードを設定解除する +.It nonl() 改行マッピングを設定解除する +.It noraw() 未加工 (raw) の設定解除モード +.It overlay(win1,win2) win1 を +.Em win2 +の上にオーバレイする +.It overwrite(win1,win2) win1 を +.Em win2 +の一番上に上書きする +.It printw(fmt,arg1,arg2,...) stdscr 上での printf +.It raw() 未加工 (raw) モードを設定する +.It refresh() 現在の画面が +.Em stdscr +のように表示されるようにする +.It resetty() 保存された値に tty フラグをリセットする +.It savetty() 保存された現在の tty フラグ +.It scanw(fmt,arg1,arg2,...) stdscr による scanf +.It scroll(win) win を 1 行だけスクロールする +.It scrollok(win,boolf) win 用にスクロールフラグを設定する +.It setterm(name) 名前用の term 変数を設定する +.It standend() standout モードを終了する +.It standout() standout モードを開始する +.It subwin(win,lines,cols,begin_y,begin_x) win のサブウィンドウを作成する +.It touchline(win,y,sx,ex) win で変更されたように行 +.Em y +.Em sx +から +.Em sy +をマークする +.It touchoverlap(win1,win2) win2 上の +.Em win1 +のオーバラップを変更されたようにマークする +.It touchwin(win) win のすべてを変更する +.It unctrl(ch) ch の印刷可能なバージョン +.It waddch(win,ch) win にキャラクタを追加する +.It waddstr(win,str) win にストリングを追加する +.It wclear(win) win をクリアする +.It wclrtobot(win) win の下端までクリアする +.It wclrtoeol(win) win の最後の行までクリアする +.It wdelch(win,c) win からキャラクタを削除する +.It wdeleteln(win) win から行を削除する +.It werase(win) win を抹消する +.It wgetch(win) win によって 1 キャラクタを得る +.It wgetstr(win,str) win によって 1 ストリングを得る +.It winch(win) win 内の現在の (y,x) にあるキャラクタを得る +.It winsch(win,c) win にキャラクタを挿入する +.It winsertln(win) win に行を挿入する +.It wmove(win,y,x) win に現在の (y,x) 座標を設定する +.It wprintw(win,fmt,arg1,arg2,...) win についての printf +.It wrefresh() win 画面が +.Em win +のように表示されるようにする +.It wscanw(win,fmt,arg1,arg2,...) win による scanf +.It wstandend(win) win での standout モードを終了する +.It wstandout(win) win での standout モードを開始する +.El +.Sh 歴史 +.Nm curses +パッケージは +.Bx 4.0 +で現れました。 diff --git a/documentation/manual-pages/ja/man3/cuserid.3 b/documentation/manual-pages/ja/man3/cuserid.3 new file mode 100644 index 0000000000..1ec84736e3 --- /dev/null +++ b/documentation/manual-pages/ja/man3/cuserid.3 @@ -0,0 +1,84 @@ +.\" +.\" 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. +.\" +.\" %FreeBSD: src/lib/libcompat/4.4/cuserid.3,v 1.8.2.6 2001/12/17 10:08:29 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 10, 1995 +.Os +.Dt CUSERID 3 +.Sh 名称 +.Nm cuserid +.Nd 有効な UID に対応するユーザ名を得る +.Sh ライブラリ +.Lb libcompat +.Sh 書式 +.In stdio.h +.Ft char * +.Fn cuserid "char *s" +.Sh 解説 +.Bf -symbolic +.Fn cuserid +関数は +.Xr getpwuid 3 +によって旧式なものになりました。 +.Ef +.Pp +関数 +.Fn cuserid +は、現在のプロセスの有効な +UID +に対応するユーザ名を取得します。引数 +.Fa s +が NULL でない場合、名前は、それが指しているバッファに +コピーされ、そのアドレスが返されます。このバッファは少なくとも +.Em L_cuserid +キャラクタ用の空間を準備する必要があります。 +L_cuuserid 定数は +.Aq Pa stdio.h +内に定義されます。 +.Pp +.Fa s +が NULL の場合、内部配列が使用され、そのアドレスが返されます。 +.Sh 戻り値 +.Fn cuserid +は、名前が保存された配列のアドレスを返します。 +.Pp +現在のプロセスの有効な +UID +に対応する名前が見つからない場合は、NULL ポインタが返されるか、または +(s が NULL でない場合) +バッファ +.Fa s +がヌルストリングで埋められるかのどちらかです。 +.Sh 関連項目 +.Xr geteuid 2 , +.Xr getpwuid 3 diff --git a/documentation/manual-pages/ja/man3/daemon.3 b/documentation/manual-pages/ja/man3/daemon.3 new file mode 100644 index 0000000000..f7e851f95e --- /dev/null +++ b/documentation/manual-pages/ja/man3/daemon.3 @@ -0,0 +1,83 @@ +.\" 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. +.\" +.\" @(#)daemon.3 8.1 (Berkeley) 6/9/93 +.\" %FreeBSD: src/lib/libc/gen/daemon.3,v 1.6.2.4 2001/12/14 18:33:50 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 9, 1993 +.Dt DAEMON 3 +.Os +.Sh 名称 +.Nm daemon +.Nd バックグラウンドで実行する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft int +.Fn daemon "int nochdir" "int noclose" +.Sh 解説 +.Fn daemon +関数は、制御端末から自分自身を切り離し、システムデーモンとして +動作することを望むプログラムのためのものです。 +.Pp +引数 +.Fa nochdir +が 0 の場合、 +.Fn daemon +は現在の作業ディレクトリをルート (``/'') に変更します。 +.Pp +引数 +.Fa noclose +が 0 の場合、 +.Fn daemon +は、標準入力、標準出力、および標準エラー出力を ``/dev/null'' に +リダイレクトします。 +.Sh エラー +エラーが発生すると、 +.Fn daemon +は -1 を返し、ライブラリ関数 +.Xr fork 2 +と +.Xr setsid 2 +規定されているエラーをグローバル変数 +.Va errno +に設定します。 +.Pp +.Sh 関連項目 +.Xr fork 2 , +.Xr setsid 2 +.Sh 歴史 +.Fn daemon +関数は +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/dbopen.3 b/documentation/manual-pages/ja/man3/dbopen.3 new file mode 100644 index 0000000000..972bf293ab --- /dev/null +++ b/documentation/manual-pages/ja/man3/dbopen.3 @@ -0,0 +1,521 @@ +.\" 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. +.\" +.\" @(#)dbopen.3 8.5 (Berkeley) 1/2/94 +.\" %FreeBSD: src/lib/libc/db/man/dbopen.3,v 1.3.2.2 2001/12/14 18:33:49 ru Exp % +.\" $FreeBSD$ +.\" +.Dd January 2, 1994 +.Dt DBOPEN 3 +.Os +.Sh 名称 +.Nm dbopen +.Nd データベースアクセス方式 +.Sh 書式 +.In sys/types.h +.In limits.h +.In db.h +.Ft DB * +.Fn dbopen "const char *file" "int flags" "int mode" "DBTYPE type" "const void *openinfo" +.Sh 解説 +.Fn dbopen +は、データベースファイルへのライブラリインタフェースです。 +サポートされているファイルフォーマットは、 +btree +形式、ハッシュ形式、UNIX ファイル指向形式です。 +btree +フォーマットは、ソート済みのバランスのとれた +ツリー構造の表現です。ハッシュフォーマットは、拡張可能で動的な +ハッシュスキーマです。フラットファイルフォーマットは、固定長または可変長 +レコードからなるバイトストリームファイルです。フォーマットおよび +ファイルフォーマットに固有の情報については、それぞれのマニュアルページに +詳しく述べられています。 +.Xr btree 3 , +.Xr hash 3 , +.Xr recno 3 +です。 +.Pp +.Fn dbopen +は、読み込みまたは書き込み用に +.Fa file +をオープンします。ディスク上に保持する必要のないファイルは、 +ファイルパラメータを +.Dv NULL +に設定することで作成できます。 +.Pp +引数 +.Fa flags +と引数 +.Fa mode +は、 +.Xr open 2 +で指定されものと同じです。しかし、 +.Dv O_CREAT , O_EXCL , O_EXLOCK , O_NONBLOCK , +.Dv O_RDONLY , O_RDWR , O_SHLOCK , +.Dv O_TRUNC +の各フラグだけに意味があります (データベースファイルは +.Dv O_WRONLY +では +オープンできないことに注意してください)。 +.\"Three additional options may be specified by +.\".Em or Ns 'ing +.\"them into the +.\".Fa flags +.\"argument. +.\".Bl -tag -width indent +.\".It Dv DB_LOCK +.\"Do the necessary locking in the database to support concurrent access. +.\"If concurrent access isn't needed or the database is read-only this +.\"flag should not be set, as it tends to have an associated performance +.\"penalty. +.\".It Dv DB_SHMEM +.\"Place the underlying memory pool used by the database in shared +.\"memory. +.\"Necessary for concurrent access. +.\".It Dv DB_TXN +.\"Support transactions in the database. +.\"The +.\".Dv DB_LOCK +.\"and +.\".Dv DB_SHMEM +.\"flags must be set as well. +.\".El +.Pp +引数 +.Fa type +は、タイプ +.Ft DBTYPE +(インクルードファイル +.Aq Pa db.h +で定義されています) +であり、 +.Dv DB_BTREE , +.Dv DB_HASH , +.Dv DB_RECNO +を設定できます。 +.Pp +引数 +.Fa openinfo +は、アクセス方式のマニュアルページに説明してあるように、 +アクセス方式に固有の構造を指すポインタです。 +.Fa openinfo +が +.Dv NULL +の場合、各アクセス方式は、システムとアクセス方式に +適切なデフォルトを使用します。 +.Pp +.Fn dbopen +は、処理が成功すると +.Ft DB +構造体を指すポインタを返し、 +エラーの場合にはヌルを返します。 +.Ft DB +構造体は、インクルードファイル +.Aq Pa db.h +内に定義されており、 +少なくとも次のフィールドが含まれています。 +.Bd -literal +typedef struct { + DBTYPE type; + int (*close)(const DB *db); + int (*del)(const DB *db, const DBT *key, u_int flags); + int (*fd)(const DB *db); + int (*get)(const DB *db, DBT *key, DBT *data, u_int flags); + int (*put)(const DB *db, DBT *key, const DBT *data, + u_int flags); + int (*sync)(const DB *db, u_int flags); + int (*seq)(const DB *db, DBT *key, DBT *data, u_int flags); +} DB; +.Ed +.Pp +これらの要素は、データベースタイプと各種のアクションを実行する +関数のセットを記述しています。これらの関数は、 +.Fn dbopen +によって返された構造体へのポインタを引数に取り、 +時々キー / データ構造とフラグ値を指す 1 つまたは複数のポインタを +取ることもあります。 +.Bl -tag -width indent +.It Va type +基本アクセス方式 (およびファイルフォーマット) のタイプ。 +.It Va close +キャッシュされた情報をディスクにフラッシュし、割り振られたリソースを +解放し、基になっているファイル (1 つまたは複数) を閉じるルーチンを指す +ポインタ。キー / データの組はメモリにキャッシュされるので、ファイルを +.Va close +関数または +.Va sync +関数でファイルを同期するのに失敗すると、情報に矛盾や欠落が +生じるかもしれません。 +.Va close +ルーチンは、エラー終了時には -1 を返し ( +.Va errno +を設定)、 +正常終了時には 0 を返します。 +.It Va del +キー / データの組をデータベースから削除するルーチンを指すポインタ。 +.Pp +パラメータ +.Fa flags +は次の値に設定できます。 +.Bl -tag -width indent +.It Dv R_CURSOR +カーソルが参照するレコードを削除します。カーソルは、 +あらかじめ初期化しておく必要があります。 +.El +.Pp +.Va delete +ルーチンはエラー終了時には -1 を返し ( +.Va errno +を設定)、 +正常終了時には 0 を返します。指定した +.Fa key +がファイルの中になかった場合は 1 を返します。 +.It Va fd +基本データベースのファイル記述表現を返すルーチンを指すポインタ。 +同じファイルを参照しているファイル記述子は、同じ +.Fa file +名で +.Fn dbopen +を呼び出す全プロセスに返されます。このファイル記述子は、ロック関数 +.Xr fcntl 2 +と +.Xr flock 2 +への引数として安全に使用できます。 +ファイル記述子は、必ずしもアクセス方式が使用している基本ファイルに +関連付けられている必要はありません。ファイル記述子は +メモリデータベース内で利用できません。 +.Va \&fd +ルーチンは、エラー終了時は -1 を返し ( +.Va errno +を設定)、 +正常終了時にはファイル記述子を返します。 +.It Va get +データベースからキーを使用して取り出すインタフェースである +ルーチンを指すポインタ。指定の +.Fa key +に関連付けられたデータのアドレスと長さが、 +.Fa data +で参照される構造体内に返されます。 +.Va get +ルーチンはエラー終了時には -1 を返し ( +.Va errno +を設定)、 +正常終了時には 0 を返します。 +.Fa key +がファイルの中になかった場合は 1 を返します。 +.It Va put +キー / データの組をデータベース内に保存するルーチンを指すポインタ。 +.Pp +パラメータ +.Fa flags +には次の値の 1 つを設定できます。 +.Bl -tag -width indent +.It Dv R_CURSOR +カーソルが参照するキー / データの組を置き換えます。カーソルは、 +あらかじめ初期化されている必要があります。 +.It Dv R_IAFTER +.Fa key +で参照されるデータの直後にデータを追加し、 +新しいキー / データの組を作成します。追加したキー / データの組のレコード番号が +.Fa key +構造体内に返されます ( +.Dv DB_RECNO +アクセス方式にだけ適用できます)。 +.It Dv R_IBEFORE +.Fa key +で参照されるデータの直前にデータを挿入し、 +新しいキー / データの組を作成します。追加したキー / データの組のレコード番号が +.Fa key +構造体内に返されます ( +.Dv DB_RECNO +アクセス方式にだけ適用できます)。 +.It Dv R_NOOVERWRITE +キーがそれ以前に存在しない場合にだけ、新しいキー / データの組を入力します。 +.It Dv R_SETCURSOR +キー / データの組を保存し、それを参照するカーソルの位置をセット、または +初期化します ( +.Dv DB_BTREE +および +.Dv DB_RECNO +アクセス方式にだけ適用できます)。 +.El +.Pp +.Dv R_SETCURSOR +が利用できるのは、 +.Dv DB_BTREE +と +.Dv DB_RECNO +のアクセス方式でだけです。 +キーには、変化しない固有の順序があることを意味しているからです。 +.Pp +.Dv R_IAFTER +と +.Dv R_IBEFORE +は +.Dv DB_RECNO +アクセス方式にだけ利用できます。 +どれも、アクセス方式が新しいキーを作成できることを意味しているからです。 +これは、キーが順序付けられており独立な場合にだけ真となります。 +たとえば、レコード番号です。 +.Pp +.Va put +ルーチンのデフォルトの動作は、新しいキー/データの組を入力し、 +それ以前に存在していたキーを置き換えることです。 +.Pp +.Va put +ルーチンはエラー終了時には -1 を返し ( +.Va errno +を設定)、 +正常終了時には 0 を返し、 +.Dv R_NOOVERWRITE +フラグが設定されていて、しかもキーがファイル内に +既に存在する場合は 1 を返します。 +.It Va seq +データベースからのシーケンシャルな取り出し用インタフェースである +ルーチンを指すポインタ。キーのアドレスと長さは +.Fa key +が参照する構造体内に返され、データのアドレスと長さは +.Fa data +が参照する構造体内に返されます。 +.Pp +シーケンシャルなキー / データの組の取り出しは、いつでも開始することができ、 +.Dq カーソル +の位置は +.Va del , +.Va get , +.Va put , +.Va sync +の各ルーチンによる呼び出しによって影響を受けません。 +シーケンシャルな走査の間のデータベースの修正は走査に反映されます。 +すなわち、カーソルの前に挿入されたレコードが返されるまでの間、 +カーソルの後ろに挿入されたレコードは返されません。 +.Pp +.Fa flags +値は次の値の 1 つにセットしなければ +.Em なりません +。 +.Bl -tag -width indent +.It Dv R_CURSOR +指定のキーに関連付けられたデータが返されます。これはカーソルをキーの位置に +セットまたは初期化するという点で +.Va get +ルーチンと異なります ( +.Dv DB_BTREE +アクセス方式の場合、返されたキーは必ずしも指定のキーと正確に一致する +必要がないことに注意してください。返されるキーは、指定のキーより +大きいかまたは等しいような、最小のキーであり、 +部分的なキー一致と範囲検索ができます)。 +.It Dv R_FIRST +データベースの最初のキー / データの組が返され、カーソルはそれを +参照するようにセットまたは初期化されます。 +.It Dv R_LAST +データベースの最後のキー / データの組が返され、カーソルはそれを +参照するようにセットまたは初期化されます ( +.Dv DB_BTREE +と +.Dv DB_RECNO +の各アクセス方式にだけ適用できます)。 +.It Dv R_NEXT +カーソルの直後にあるキー / データの組を取り出します。カーソルがまだ +セットされていない場合は、これは +.Dv R_FIRST +フラグと同じになります。 +.It Dv R_PREV +カーソルの直前にあるキー / データの組を取り出します。カーソルがまだ +設定されていない場合には、これは +.Dv R_LAST +フラグと同じになります。( +.Dv DB_BTREE +と +.Dv DB_RECNO +の各アクセス方式にだけ適用できます)。 +.El +.Pp +.Dv R_LAST +と +.Dv R_PREV +が利用できるのは、 +.Dv DB_BTREE +と +.Dv DB_RECNO +の各 +アクセス方式についてだけです。これらはそれぞれキーに変化しない固有の +順序があることを意味しているからです。 +.Pp +.Va seq +ルーチンはエラー終了時には -1 を返し ( +.Va errno +を設定)、 +正常終了時には 0 を返し、指定のキーまたは現在のキーより小さいかまたは +大きいキー / データの組が存在しない場合は 1 を返します。 +.Dv DB_RECNO +アクセス方式が使用されていて、 +しかもデータベースファイルがキャラクタ特殊ファイルであり、 +完全なキー / データの組がその時点で存在しない場合、 +.Va seq +ルーチンは 2 を返します。 +.It Va sync +キャッシュされた情報をディスクにフラッシュするルーチンを指すポインタ。 +データベースがメモリ内にだけ存在する場合、 +.Va sync +ルーチンには何の効果もなく、処理は常に正常終了します。 +.Pp +.Fa flags +値は次の値にセットできます。 +.Bl -tag -width indent +.It Dv R_RECNOSYNC +.Dv DB_RECNO +アクセス方式が使用される場合、このフラグは +.Va sync +ルーチンが、 +.Va recno +ファイル自身ではなく、 +recno +ファイルの基となる +btree +ファイルに適用されるようにします (詳細については +.Xr recno 3 +マニュアルページの +.Va bfname +フィールドを参照してください)。 +.El +.Pp +.Va sync +ルーチンはエラー終了時には -1 を返し ( +.Va errno +を設定)、 +正常終了時には 0 を返します。 +.El +.Sh キー / データの組 +すべてのファイルタイプへのアクセスはキー / データの組を基にしています。 +キーとデータの両方が次のデータ構造で表されます。 +.Bd -literal +typedef struct { + void *data; + size_t size; +} DBT; +.Ed +.Pp +.Ft DBT +構造体の要素は次のように定義されます。 +.Bl -tag -width "data" +.It Va data +バイトストリングを指すポインタ。 +.It Va size +バイトストリングの長さ。 +.El +.Pp +キーとデータバイトストリングは、同時に利用できるメモリにフィットする必要 +はありますが、参照できる文字列の長さには本質的には制限がありません。 +アクセス方式は、バイトストリングのバイトアラインについては +何の保証もしていないことに注意すべきです。 +.Sh エラー +.Fn dbopen +ルーチンがエラー終了すると、ライブラリルーチン +.Xr open 2 +や +.Xr malloc 3 +で書かれているエラー、または下記のエラーに対する +.Va errno +をセットします。 +.Bl -tag -width Er +.It Bq Er EFTYPE +ファイルのフォーマットが間違っています。 +.It Bq Er EINVAL +既存のファイル指定と互換性のないパラメータ (ハッシュ関数、 +パッドバイトなど) や、関数に意味のないパラメータが指定された (たとえば、 +事前の初期化が行なわれていないカーソルの使用)、 +またはファイルとソフトウェアのバージョン間に不一致があります。 +.El +.Pp +.Va close +ルーチンがエラー終了すると、ライブラリルーチン +.Xr close 2 , +.Xr read 2 , +.Xr write 2 , +.Xr free 3 , +.Xr fsync 2 +に書かれているエラーについての +.Va errno +をセットします。 +.Pp +.Va del , +.Va get , +.Va put , +.Va seq +の各ルーチンがエラー終了すると、ライブラリルーチン +.Xr read 2 , +.Xr write 2 , +.Xr free 3 , +.Xr malloc 3 +に書かれているエラーについての +.Va errno +をセットします。 +.Pp +.Va fd +ルーチンは、メモリ内のデータベースでエラー終了すると、 +.Er ENOENT +に +.Va errno +をセットします。 +.Pp +.Va sync +ルーチンがエラー終了すると、ライブラリルーチン +.Xr fsync 2 +に書かれているエラーについての +.Va errno +をセットします。 +.Sh 関連項目 +.Xr btree 3 , +.Xr hash 3 , +.Xr mpool 3 , +.Xr recno 3 +.Rs +.%T "LIBTP: Portable, Modular Transactions for UNIX" +.%A Margo Seltzer +.%A Michael Olson +.%R "USENIX proceedings" +.%D Winter 1992 +.Re +.Sh バグ +typedef +.Ft DBTs +は、 +.Dq "data base thang" +の略称で、 +まだ使用されていない合理的な名前を誰も思いつかなかったために +使われることになりました。 +.Pp +ファイル記述子インタフェースは構成が調和しておらず、 +インタフェースの今後のバージョンでは削除される予定です。 +.Pp +どのアクセス方式も、並行アクセス、ロック、またはトランザクション +は、どのような形式でも提供しません。 diff --git a/documentation/manual-pages/ja/man3/des_crypt.3 b/documentation/manual-pages/ja/man3/des_crypt.3 new file mode 100644 index 0000000000..737cfcb51b --- /dev/null +++ b/documentation/manual-pages/ja/man3/des_crypt.3 @@ -0,0 +1,113 @@ +.\" @(#)des_crypt.3 2.1 88/08/11 4.0 RPCSRC; from 1.16 88/03/02 SMI; +.\" %FreeBSD: src/lib/libc/rpc/des_crypt.3,v 1.4.2.3 2001/12/14 18:33:56 ru Exp % +.\" $FreeBSD$ +.\" +.Dd October 6, 1987 +.Dt DES_CRYPT 3 +.Os +.Sh 名称 +.Nm des_crypt , ecb_crypt , cbc_crypt , des_setparity +.Nd 高速 DES 暗号化 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In rpc/des_crypt.h +.Ft int +.Fn ecb_crypt "char *key" "char *data" "unsigned datalen" "unsigned mode" +.Ft int +.Fn cbc_crypt "char *key" "char *data" "unsigned datalen" "unsigned mode" "char *ivec" +.Ft void +.Fn des_setparity "char *key" +.Sh 解説 +.Fn ecb_crypt +と +.Fn cbc_crypt +は、 +.Tn NBS +.Tn DES +(Data Encryption Standard) を実現しています。これらのルーチンは、 +.Xr crypt 3 +より高速で汎用的です。また、 +.Tn DES +ハードウェアが用意されていれば、それも利用できます。 +.Fn ecb_crypt +は、 +.Tn ECB +(Electronic Code Book) モードで暗号化します。 +これはデータのブロックを独立に暗号化するものです。 +.Fn cbc_crypt +は、 +.Tn CBC +(Cipher Block Chaining) モードで暗号化します。これは +連続するブロックを一つにつなげるものです。 +.Tn CBC +モードは、ブロックの挿入、削除、置き換えに対する保護を行ないます。 +また、通常のテキストにおける正規性は暗号テキストには現れません。 +.Pp +これらのルーチンを使用する方法は次のとおりです。最初のパラメータ +.Fa key , +は、パリティ付き 8 バイトの暗号化キーです。キーのパリティ ( +.Tn DES +の場合、これは各バイトの下位ビットにあります) を設定するためには、 +.Fn des_setparity +を使用します。2 番めのパラメータ +.Fa data +には、暗号化または暗号解除されるデータが入っています。 +3 番めのパラメータ +.Fa datalen +は、 +.Fa data +の長さ (バイト単位) であり、これは 8 の倍数でなければなりません。 +4 番めのパラメータ +.Fa mode +は、いくつかのものの論理和 ( +.Em OR Ns 'ing +) によって作成されます。暗号化の方向に関しては、 +.Dv DES_ENCRYPT +か +.Dv DES_DECRYPT +どちらかの +.Em 論理和 +を、ソフトウェア対ハードウェアの暗号化については、 +.Dv DES_HW +か +.Dv DES_SW +のどちらかの +.Em 論理和 +を取り、 +.Dv DES_HW +が指定されており、しかもハードウェアがない場合は、 +暗号化はソフトウェアで実行され、ルーチンは +.Er DESERR_NOHWDEVICE +を返します。 +.Fn cbc_crypt +の場合、パラメータ +.Fa ivec +はチェイン作成用の 8 バイトの初期化ベクトルです。 +これは戻り時に、次の初期化ベクトルへと更新されます。 +.Sh エラー +.Bl -tag -width [DESERR_NOHWDEVICE] -compact +.It Bq Er DESERR_NONE +エラーなし。 +.It Bq Er DESERR_NOHWDEVICE +暗号化処理は成功しましたが、要求されたハードウェアではなく +ソフトウェアで行われました。 +.It Bq Er DESERR_HWERR +ハードウェアまたはドライバでエラーが発生しました。 +.It Bq Er DESERR_BADPARAM +ルーチンに間違ったパラメータが指定されました。 +.El +.Pp +終了コード +.Va stat +が与えられると、マクロ +.Fn DES_FAILED stat +が偽になるのは、最初の 2 つのステータスについてだけです。 +.Sh 関連項目 +.\" .Xr des 1 , +.Xr crypt 3 +.Sh 制約 +これらのルーチンは RPCSRC 4.0 では利用できません。 +この情報は Secure RPC で求められる +.Tn DES +インタフェースの説明として提供されています。 diff --git a/documentation/manual-pages/ja/man3/devname.3 b/documentation/manual-pages/ja/man3/devname.3 new file mode 100644 index 0000000000..7e0b7c53ea --- /dev/null +++ b/documentation/manual-pages/ja/man3/devname.3 @@ -0,0 +1,86 @@ +.\" 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. +.\" +.\" @(#)devname.3 8.2 (Berkeley) 4/29/95 +.\" %FreeBSD: src/lib/libc/gen/devname.3,v 1.7.2.5 2002/04/04 06:50:06 dd Exp % +.\" +.\" $FreeBSD$ +.Dd July 18, 1999 +.Dt DEVNAME 3 +.Os +.Sh 名称 +.Nm devname +.Nd デバイス名を得る +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/stat.h +.In stdlib.h +.Ft char * +.Fn devname "dev_t dev" "mode_t type" +.Sh 解説 +.Fn devname +関数は、デバイス番号 +.Fa dev +と、 +.Dv S_IFBLK +または +.Dv S_IFCHR +のどちらかがエンコードされている +.Fa type +に一致するファイルタイプとを持つ、 +.Pa /dev +下のブロックデバイスまたはキャラクタデバイスの名前を指すポインタを返します。 +正しい名前を見つけるために、 +.Fn devname +は、まず +.Xr dev_mkdb 8 +によって作成されたデバイスデータベースを検索します。 +それに失敗した場合、 +.Va kern.devname +sysctl を用いてカーネルに問い合わせます。 +それでも適切な名前が作り出せなかった時には、 +.Fa dev +と +.Fa type +に込められている情報を、人が読める形式にフォーマットします。 +.Sh 関連項目 +.Xr stat 2 , +.Xr dev_mkdb 8 +.Sh 歴史 +.Fn devname +関数は +.Bx 4.4 +で登場しました。 +.Sh バグ +.Fn devname +関数は、内部の静的オブジェクトへのポインタを返します。 +従って、その後の呼び出しは同一のバッファを修正してしまいます。 diff --git a/documentation/manual-pages/ja/man3/devstat.3 b/documentation/manual-pages/ja/man3/devstat.3 new file mode 100644 index 0000000000..546300f689 --- /dev/null +++ b/documentation/manual-pages/ja/man3/devstat.3 @@ -0,0 +1,543 @@ +.\" +.\" Copyright (c) 1998, 1999 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. +.\" +.\" %FreeBSD: src/lib/libdevstat/devstat.3,v 1.7.2.8 2001/12/17 10:08:29 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 21, 1998 +.Dt DEVSTAT 3 +.Os +.Sh 名称 +.Nm devstat , +.Nm getnumdevs , +.Nm getgeneration , +.Nm getversion , +.Nm checkversion , +.Nm getdevs , +.Nm selectdevs , +.Nm buildmatch , +.Nm compute_stats , +.Nm compute_etime +.Nd デバイス統計ユーティリティライブラリ +.Sh ライブラリ +.Lb libdevstat +.Sh 書式 +.In sys/dkstat.h +.In devstat.h +.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 +ライブラリは、カーネル +.Xr devstat 9 +インタフェースを処理するのに +便利な関数のライブラリです。カーネル +.Xr devstat 9 +インタフェースは、 +.Xr sysctl 3 +によってユーザがアクセスできます。 +.Pp +.Fn getnumdevs +は、カーネル内の +.Nm +サブシステムに登録された +デバイスの数を返します。 +.Pp +.Fn getgeneration +は、カーネル内のデバイス +.Nm +リストの現在の世代を +返します。 +.Pp +.Fn getversion +は、現在のカーネル +.Nm +デバイスバージョンを返します。 +.Pp +.Fn checkversion +は、カーネル +.Nm +バージョンに対して +ユーザランド devstat +をチェックします。 +2 つが同一の場合、0 が返されます。そうでない場合は、 +.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 +構造が割り当てられることを期待し、また、 +.Fn getdevs +の起動の前に +.Va dinfo +サブエレメントが割り当てられて 0 で初期化されることも期待します。 +.Va dinfo +サブエレメントは、呼び出しと呼び出しの間の状態を格納するために使用され、 +最初の +.Fn getdevs +呼び出しの後には変更してはなりません。 +.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 +構造の配列が入っていますが、配列の先頭は現在の +.Nm +世代です。世代がバッファの先頭にある理由は、 +.Nm +統計にアクセスしているユーザランドソフトウェアが自動的に +統計情報および対応する世代番号の両方を不可分に得るようにするためです。 +クライアントソフトウェアが別の +.Nm sysctl +変数 (これは便宜のために利用できます) を通じて世代番号を得ることを +強制された場合、デバイスのリストは、クライアントが世代を得る時刻と、 +クライアントがデバイスリストを得る時刻の間で変化する可能性があります。 +.Pp +.Va devinfo +構造の +.Va mem_ptr +サブエレメントは、割り振られたメモリを指すポインタであり、必要であれば、 +.Fn getdevs +によってサイズを変更されます。 +.Va devinfo +構造のデバイスサブエレメントは基本的に、 +.Va kern.devstat.all +.Nm sysctl +変数から +.Nm +構造の配列の先頭を指すポインタです。 +.Va devinfo +構造の世代 +サブエレメントには、 +.Va kern.devstat.all +.Nm sysctl +変数からの世代番号が含まれています。 +.Va devinfo +構造の +.Va numdevs +サブエレメントには、カーネル +.Nm +サブシステムで登録されたデバイスの現在の番号が入っています。 +.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 +ライブラリルーチンで行われる可能性があります。デバイスが名前または +パターンによって選択されていない場合、性能追跡コードがシステム内の +各デバイスを選択し、これらを性能によってソートします。デバイスが名前または +パターンによって選択されている場合、性能追跡コードはこれらの選択を尊重し、 +選択されたデバイスの間でだけソートします。 +.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 +の順序でさらにデバイスを選択します。選択したデバイスの数が +.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 +世代とデバイスの数を追跡します。 +.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 9n -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 9n -compact +.It IDE +統合ドライブ電子工学デバイス (Integrated Drive Electronics devices) +.It SCSI +小型コンピュータシステムインタフェースデバイス +.It other +他のデバイスインタフェース +.El +.Pp +.It パススルー: +.Bl -tag -width 9n -compact +.It pass +パススルーデバイス +.El +.El +.Pp +.Fn compute_stats +は、さまざまなデバイス統計を得るための簡単な方法です。 +.Va current +と +.Va etime +の 2 つの引数が必須です。他の各引数はオプションです。 +ほとんどのアプリケーションの場合、ユーザは +.Va current +と +.Va previous +の +.Nm +構造の両方を指定したいと思うものです。指定期間に渡って統計が +計算できるようにするためにです。インスタンスによっては、システム起動からの +統計を計算するために、ユーザは +.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 +リストを取り出すたびに、 +.Fn getdevs +関数が記録した時刻とともに最も一般的に使用されます。 +.Sh 戻り値 +.Fn getnumdevs , +.Fn getgeneration +、および +.Fn getversion +は、指示された \fBsysctl\fR 変数を返します。 +変数を取り出すときにエラーがあった場合は -1 を返します。 +.Pp +.Fn checkversion +は、カーネルとユーザランド 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 +ライブラリ関数の 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 +統計システムは最初に +.Fx 3.0 +に現れました。 +.Sh 作者 +.An 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/documentation/manual-pages/ja/man3/dialog.3 b/documentation/manual-pages/ja/man3/dialog.3 new file mode 100644 index 0000000000..aa479e143d --- /dev/null +++ b/documentation/manual-pages/ja/man3/dialog.3 @@ -0,0 +1,491 @@ +.\" +.\" 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.4 2002-05-18 07:12:54 horikawa Exp $ +.\" +.\" $FreeBSD$ +.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 <dialog.h> +.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/documentation/manual-pages/ja/man3/directory.3 b/documentation/manual-pages/ja/man3/directory.3 new file mode 100644 index 0000000000..c3b226a6e6 --- /dev/null +++ b/documentation/manual-pages/ja/man3/directory.3 @@ -0,0 +1,192 @@ +.\" 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. +.\" +.\" @(#)directory.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/directory.3,v 1.7.2.4 2001/12/14 18:33:50 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt DIRECTORY 3 +.Os +.Sh 名称 +.Nm opendir , +.Nm readdir , +.Nm readdir_r , +.Nm telldir , +.Nm seekdir , +.Nm rewinddir , +.Nm closedir , +.Nm dirfd +.Nd ディレクトリ操作 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In dirent.h +.Ft DIR * +.Fn opendir "const char *filename" +.Ft struct dirent * +.Fn readdir "DIR *dirp" +.Ft int +.Fn readdir_r "DIR *dirp" "struct dirent *entry" "struct dirent **result" +.Ft long +.Fn telldir "DIR *dirp" +.Ft void +.Fn seekdir "DIR *dirp" "long loc" +.Ft void +.Fn rewinddir "DIR *dirp" +.Ft int +.Fn closedir "DIR *dirp" +.Ft int +.Fn dirfd "DIR *dirp" +.Sh 解説 +.Fn opendir +関数は、 +.Fa filename +で指定されたディレクトリを開き、 +.Em ディレクトリストリーム +をそれに対応させ、後続の操作で +.Em ディレクトリストリーム +を識別するのに使用するポインタを返します。 +.Fa filename +にアクセスできない場合、またはすべてのものを保持するのに十分なメモリを +.Xr malloc 3 +できない場合は、ポインタ +.Dv NULL +が返されます。 +.Pp +.Fn readdir +関数は、次のディレクトリエントリを指すポインタを返します。 +この関数は、ディレクトリの末尾に到達するか、または無効な +.Fn seekdir +操作を検出すると +.Dv NULL +を返します。 +.Pp +.Fn readdir_r +は、 +.Fn readdir +と同様の機能を提供しますが、 +呼び出し元は結果を格納するためのディレクトリ +.Fa entry +バッファを提供しなければなりません。 +読み込みが成功すると +.Fa result +は +.Fa entry +を指し、ディレクトリの末尾に達すると +.Fa result +は +.Dv NULL +に設定されます。 +.Fn readdir_r +は、成功した場合 0 を返し、そうでなければ失敗を示すエラーナンバを返します。 +.Pp +.Fn telldir +関数は、指定された +.Em ディレクトリストリーム +に関連付けられている現在の位置を返します。 +.Fn telldir +が返す値が有効なのは、その値が引き出された元の +.Dv DIR +ポインタ +.Fa dirp +が生きている間だけです。 +ディレクトリが閉じられ再び開かれると、 +.Fn telldir +が返した以前の値はもはや有効ではありません。 +.Pp +.Fn seekdir +関数は、その +.Em ディレクトリストリーム +に対する次の +.Fn readdir +操作の位置を設定します。 +新しい位置は、その +.Em ディレクトリストリーム +と関連付けられているもので、 +.Fn telldir +操作が実行されたときに返されるものです。 +.Pp +.Fn rewinddir +関数は、指定された +.Em ディレクトリストリーム +の位置をそのディレクトリの先頭に戻します。 +.Pp +.Fn closedir +関数は、指定された +.Em ディレクトリストリーム +を閉じ、 +.Fa dirp +ポインタに関連付けられた構造体を解放します。 +処理が成功した場合は 0 を返します。 +処理が失敗すると \-1 が返され、エラーを示ためにグローバル変数 +.Va errno +が設定されます。 +.Pp +.Fn dirfd +関数は、指定された +.Em ディレクトリストリーム +に関連付けられた整数のファイル記述子を返します。 +.Xr open 2 +を参照してください。 +.Pp +ディレクトリでエントリ ``name'' を検索するサンプルコードは次のとおりです。 +.Bd -literal -offset indent +len = strlen(name); +dirp = opendir("."); +while ((dp = readdir(dirp)) != NULL) + if (dp->d_namlen == len && !strcmp(dp->d_name, name)) { + (void)closedir(dirp); + return FOUND; + } +(void)closedir(dirp); +return NOT_FOUND; +.Pp +.Sh 関連項目 +.Xr close 2 , +.Xr lseek 2 , +.Xr open 2 , +.Xr read 2 , +.Xr dir 5 +.Pp +.Sh 歴史 +.Fn opendir , +.Fn readdir , +.Fn telldir , +.Fn seekdir , +.Fn rewinddir , +.Fn closedir +および +.Fn dirfd +の各関数は +.Bx 4.2 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/div.3 b/documentation/manual-pages/ja/man3/div.3 new file mode 100644 index 0000000000..baf6b39dd7 --- /dev/null +++ b/documentation/manual-pages/ja/man3/div.3 @@ -0,0 +1,72 @@ +.\" 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. +.\" +.\" @(#)div.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/div.3,v 1.3.2.3 2001/12/14 18:33:58 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt DIV 3 +.Os +.Sh 名称 +.Nm div +.Nd 除算の商と剰余を返す +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft div_t +.Fn div "int num" "int denom" +.Sh 解説 +.Fn div +関数は、値 +.Fa num/denom +を計算し、商と剰余を +.Fa div_t +という名前の構造に入れて返します。 +この構造には +.Fa quot +と +.Fa rem +という2 つの +.Em int +メンバが入ります。 +.Pp +.Sh 関連項目 +.Xr ldiv 3 +.Pp +.Sh 規格 +.Fn div +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/dladdr.3 b/documentation/manual-pages/ja/man3/dladdr.3 new file mode 100644 index 0000000000..56ac0cba20 --- /dev/null +++ b/documentation/manual-pages/ja/man3/dladdr.3 @@ -0,0 +1,123 @@ +.\" +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc/gen/dladdr.3,v 1.3.2.3 2001/12/14 18:33:50 ru Exp % +.\" $FreeBSD$ +.\" +.Dd February 5, 1998 +.Os +.Dt DLADDR 3 +.Sh 名称 +.Nm dladdr +.Nd 指定のアドレスが含まれる共有オブジェクトを検出する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In dlfcn.h +.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 +成功時には、0 でない値が返されます。 +.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/documentation/manual-pages/ja/man3/dlopen.3 b/documentation/manual-pages/ja/man3/dlopen.3 new file mode 100644 index 0000000000..54d586f521 --- /dev/null +++ b/documentation/manual-pages/ja/man3/dlopen.3 @@ -0,0 +1,303 @@ +.\" This source code is a product of Sun Microsystems, Inc. and is provided +.\" for unrestricted use provided that this legend is included on all tape +.\" media and as a part of the software program in whole or part. Users +.\" may copy or modify this source code without charge, but are not authorized +.\" to license or distribute it to anyone else except as part of a product or +.\" program developed by the user. +.\" +.\" THIS PROGRAM CONTAINS SOURCE CODE COPYRIGHTED BY SUN MICROSYSTEMS, INC. +.\" SUN MICROSYSTEMS, INC., MAKES NO REPRESENTATIONS ABOUT THE SUITABLITY +.\" OF SUCH SOURCE CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT +.\" EXPRESS OR IMPLIED WARRANTY OF ANY KIND. SUN MICROSYSTEMS, INC. DISCLAIMS +.\" ALL WARRANTIES WITH REGARD TO SUCH SOURCE CODE, INCLUDING ALL IMPLIED +.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN +.\" NO EVENT SHALL SUN MICROSYSTEMS, INC. BE LIABLE FOR ANY SPECIAL, INDIRECT, +.\" INCIDENTAL, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING +.\" FROM USE OF SUCH SOURCE CODE, REGARDLESS OF THE THEORY OF LIABILITY. +.\" +.\" This source code is provided with no support and without any obligation on +.\" the part of Sun Microsystems, Inc. to assist in its use, correction, +.\" modification or enhancement. +.\" +.\" SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE +.\" INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS +.\" SOURCE CODE OR ANY PART THEREOF. +.\" +.\" Sun Microsystems, Inc. +.\" 2550 Garcia Avenue +.\" Mountain View, California 94043 +.\" +.\" Copyright (c) 1991 Sun Microsystems, Inc. +.\" +.\" @(#) dlopen.3 1.6 90/01/31 SMI +.\" %FreeBSD: src/lib/libc/gen/dlopen.3,v 1.8.2.7 2001/12/14 18:33:51 ru Exp % +.\" $FreeBSD$ +.\" +.\" WORD: directed acyclic graph 有向非巡回グラフ +.Dd September 24, 1989 +.Os +.Dt DLOPEN 3 +.Sh 名称 +.Nm dlopen , dlsym , dlerror , dlclose +.Nd 動的リンカへのプログラムのインタフェース +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In dlfcn.h +.Ft void * +.Fn dlopen "const char *path" "int mode" +.Ft void * +.Fn dlsym "void *handle" "const char *symbol" +.Ft const char * +.Fn dlerror "void" +.Ft int +.Fn dlclose "void *handle" +.Sh 解説 +これらの関数は、動的リンカサービスに対する単純なプログラムの +インタフェースを提供します。 +プログラムのアドレス空間に新しい共有オブジェクトを追加する操作、 +共有オブジェクトが定義するシンボルのアドレス結合を取得する操作、 +および共有オブジェクトを使用する必要がなくなったときに +それを除去する操作が提供されています。 +.Pp +.Fn dlopen +は、 +.Fa path +内の共有オブジェクトへのアクセスを提供し、 +.Fn dlsym +と +.Fn dlclose +の呼び出しにおいて、オブジェクトを後で参照するために使用可能な +記述子を返します。 +.Fn dlopen +を呼び出す前に +.Fa path +がアドレス空間内になかった場合はアドレス空間に配置されます。 +この方法で、オブジェクトが +初めてアドレス空間にロードされるとき、関数 +.Fn _init +が存在すればそれが動的リンカによって呼び出されます。 +先の +.Fn dlopen +呼び出しでアドレス空間内に +.Fa path +が既に配置されている場合、2 度目は追加されません。 +しかし、 +.Fa path +上での +.Fn dlopen +操作の参照カウント値は管理されます。 +.Fa path +に指定されたものが NULL ポインタであれば、プロセスの +メイン実行可能モジュールへの参照として解釈されます。 +.Fa mode +は、ロードされたオブジェクトからの外部関数への参照が、 +どのようにその参照先と結合するか、その方法を制御します。 +これには次の値のうちの 1 つが含まれていなくてはなりません。 +おそらくは、後で述べる追加フラグとの OR をとった値に +なるでしょう。 +.Bl -tag -width RTLD_LAZYX +.It Dv RTLD_LAZY +外部関数への参照はそれぞれ関数が最初に呼び出されるときに解決されます。 +.It Dv RTLD_NOW +外部関数への参照はすべて +.Fn dlopen +によってただちに結合されます。 +.El +.Pp +.Dv RTLD_LAZY +は、効率を良くするという理由で一般的に好ましいです。しかし、 +.Fn dlopen +を呼び出している間に未定義シンボルを確実に発見するためには +.Dv RTLD_NOW +が便利です。 +.Pp +次のフラグの 1 つを OR をとって +.Fa mode +引数の中に含めることができます。 +.Bl -tag -width RTLD_GLOBALX +.It Dv RTLD_GLOBAL +この共有オブジェクトから得られるシンボルおよび +必要とされるオブジェクトの有向非巡回グラフ (DAG) が、 +その他すべての共有オブジェクトからの未解決の参照を +解決するために利用可能になります。 +.It Dv RTLD_LOCAL +この共有オブジェクトから得られるシンボルおよび +必要とされるオブジェクトの有向非巡回グラフ (DAG) が、 +同一の共有オブジェクトからの未解決の参照を +解決するために利用可能になります。 +こちらがデフォルトの動作ですが、このフラグを用いて +明示的に指定することができます。 +.El +.Pp +.Fn dlopen +は、処理が失敗すると NULL ポインタを返し、 +.Fn dlerror +で問い合わせできるエラー状態を設定します。 +.Pp +.Fn dlsym +は、 +.Fa symbol +が +.Fa handle +で識別される共有オブジェクト内で +発生したときと同様に、ヌル文字で終了する文字列 +.Fa symbol +で記述されたシンボルのアドレス結合を返します。 +.Fn dlopen +によってアドレス空間に追加されたオブジェクトによってエクスポートされる +シンボルは、 +.Fn dlsym +呼び出しを通してのみアクセス可能です。 +このようなシンボルは、オブジェクトがロードされる際に、すでに +アドレス空間に存在しているシンボルの定義に置き換わるものでは +ありませんし、通常の動的リンク参照を満たすために利用可能な +ものでもありません。 +.Pp +.Fn dlsym +が特別な +.Fa handle +.Dv NULL +を使用して呼び出された場合は、 +そのハンドルは呼び出しがされている実行ファイルあるいは +共有オブジェクトへの参照として解釈されます。このため、 +共有オブジェクトは自分自身の持つシンボルを +参照できるのです。 +.Pp +.Fn dlsym +が特別な +.Fa handle +.Dv RTLD_DEFAULT +を使用して呼び出された場合は、オブジェクトが +ロードされる際に未定義のシンボルを解決するために +使用されるアルゴリズムに従ってシンボルを探索します。 +探索されるオブジェクトは次のように書かれた順番になります。 +.Bl -enum +.It +参照しているオブジェクト自身 (あるいは +.Fn dlsym +への呼び出しがされているオブジェクト)。ただし、オブジェクトが +.Xr ld 1 +に対して +.Fl Wsymbolic +オプションを使用してリンクされた場合。 +.It +プログラムの起動時にロードされていた全オブジェクト +.It +.Fn dlopen +経由でロードされた全オブジェクト。これらのオブジェクトは、 +参照を行っているオブジェクトも含んだ、必要とされるオブジェクトの +有向非巡回グラフに存在します。 +.It +.Dv RTLD_GLOBAL +フラグを +.Fa mode +引数で設定して呼び出した +.Fn dlopen +経由でロードされた全オブジェクト +.El +.Pp +.Fn dlsym +が特別な +.Fa handle +.Dv RTLD_NEXT +を使用して呼び出された場合、シンボルの検索は、 +.Fn dlsym +呼び出しを発行した後でロードされた共有オブジェクトに制限されます。 +そのため、メインプログラムからこの関数が呼び出された場合、 +すべての共有ライブラリが検索されます。この関数が共有ライブラリから +呼び出された場合、 +その共有ライブラリより後でロードされる共有ライブラリすべてが +検索されます。 +.Dv RTLD_NEXT +はライブラリ関数を包み込むラッパを実装するのに便利です。 +例えば、ラッパ関数 +.Fn getpid +がある場合、関数内で +.Li dlsym(RTLD_NEXT, \&"getpid\&") +を使用すれば +.Dq 本物の +.Fn getpid +にアクセスできるでしょう。 +.Pp +シンボルが見つけられなかった場合、 +.Fn dlsym +は null ポインタを返し、エラー状態を設定します。 +エラー状態は +.Fn dlerror +を使用して問い合わせることができます。 +.Pp +.Fn dlerror +は、 +.Fn dlopen , +.Fn dlsym , +または +.Fn dlclose +呼び出しの間に発生した最後のエラーを記述する +ヌル文字で終了する文字列を返します。 +このようなエラーが発生していない場合、 +.Fn dlerror +は NULL ポインタを返します。 +.Fn dlerror +を呼び出すたびに、エラー指示がリセットされます。 +そのため、後の呼び出しが先の呼び出しの直後にくるような +.Fn dlerror +呼び出しを行った場合、後の呼び出しでは必ず NULL ポインタが +返ってきます。 +.Pp +.Fn dlclose +は +.Fa handle +が参照する共有オブジェクトへの参照を削除します。 +参照カウント値が減らされ 0 になると、そのオブジェクトはアドレス空間から +削除され +.Fa handle +は無効になります。この方法で共有オブジェクトを除去する直前に、 +.Fn _fini +関数がこのオブジェクトで定義されている場合には +それを呼び出します。 +.Fn dlclose +は、処理が成功すると値 0 を返します。 +そうでない場合は -1 を返し、 +エラー状態を設定します。エラー状態は +.Fn dlerror +で問い合わせできます。 +.Pp +オブジェクトに固有の関数 +.Fn _init +と +.Fn _fini +は、引数なしに呼び出され、戻り値は期待されていません。 +.Sh 注 +ELF 実行可能ファイルの場合、 +ファイル中で定義されているシンボルを +.Fn dlsym +で見えるようにするには +.Xr ld 1 +に対して +.Fl export-dynamic +オプションを使用してリンクを行う必要があります。 +.Pp +以前の実装では、C 言語からコンパイルしたオブジェクトコードと +シンボルの互換性を持たせることができるように、 +外部シンボルにはすべてアンダスコアを先頭につける必要が +ありました。現在でも、 +C 言語のコンパイラに対して (非推奨ですが) +.Fl aout +オプションを使用した場合には当てはまります。 +.Sh エラー +.Fn dlopen +と +.Fn dlsym +は、エラーが発生した場合には NULL ポインタを返します。 +.Fn dlclose +は処理が成功すると 0 を返し、 +エラーが発生した場合は -1 を返します。 +エラーが検出されるたびに、エラーの詳細を説明するメッセージが +.Fn dlerror +呼び出しによって取り出せます。 +.Sh 関連項目 +.Xr ld 1 , +.Xr rtld 1 , +.Xr dladdr 3 , +.Xr link 5 diff --git a/documentation/manual-pages/ja/man3/editline.3 b/documentation/manual-pages/ja/man3/editline.3 new file mode 100644 index 0000000000..100395539f --- /dev/null +++ b/documentation/manual-pages/ja/man3/editline.3 @@ -0,0 +1,575 @@ +.\" $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. +.\" +.\" %FreeBSD: src/lib/libedit/editline.3,v 1.8.2.7 2001/12/17 10:08:30 ru Exp % +.\" +.\" $FreeBSD$ +.Dd January 11, 1997 +.Os +.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 el_data_set , +.Nm el_data_get , +.Nm history_init , +.Nm history_end , +.Nm history +.Nd ラインエディタと歴史関数 +.Sh ライブラリ +.Lb libedit +.Sh 書式 +.Fd #include <histedit.h> +.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 void +.Fn el_data_set "EditLine *e" "void *data" +.Ft void * +.Fn el_data_get "EditLine *e" +.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 +.Pq Dq \e0 +で置き換えられます。 +.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 $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 +個のキャラクタを削除します。 +.It Fn el_data_set +ユーザデータを +.Fa data +へ設定します。 +.It Fn el_data_get +ユーザデータを取得します。 +.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 作者 +.An -nosplit +.Nm +ライブラリは +.An Christos Zoulas +が作成しました。このマニュアルは +.An Luke Mewburn +が作成しました。 +.Sh バグ +このドキュメンテーションはおそらく不完全であると考えられます。 +.Pp +.Fn el_parse +は、指定された +.Va argv[0] +を修正してはなりません。 +.Pp +トークン化関数は +.Li <histedit.h> +内では公に定義されていません。 diff --git a/documentation/manual-pages/ja/man3/end.3 b/documentation/manual-pages/ja/man3/end.3 new file mode 100644 index 0000000000..058ad1de2e --- /dev/null +++ b/documentation/manual-pages/ja/man3/end.3 @@ -0,0 +1,82 @@ +.\" 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 +.\" %FreeBSD: src/share/man/man3/end.3,v 1.3.2.3 2001/01/12 16:16:01 ru Exp % +.\" $FreeBSD$ +.\" +.Dd August 28, 2000 +.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 +はプログラムセグメントの末尾アドレスです。 +.Pp +.Va etext +は、テキストセグメントの末尾に続く最初アドレスです。 +.Pp +.Va edata +は、初期化済みデータセグメントの末尾に続く最初アドレスです。 +.Pp +.Va end +は、プログラムロード時に、データセグメント +.Pq Tn BSS +の末尾に続く最初のアドレスです。 +.Xr sbrk 2 +.\".Fn sbrk 0 +システムコールを 0 を引数として実行すると、 +現在のデータセグメントの末尾が得られます。 +.Sh 関連項目 +.Xr sbrk 2 , +.Xr malloc 3 , +.Xr a.out 4 +.Sh 歴史 +.Nm +マニュアルは +.At v6 +で登場しました。 +.Sh バグ +伝統的には、テキストセグメントの先頭を指す変数は存在しませんでした。 +なぜなら、テキストセグメントは常にアドレス 0 から開始したからです。 +この仮定は現在ではもう正しくありません。 +テキストセグメントの先頭を指す、前述のような変数は、存在しません。 diff --git a/documentation/manual-pages/ja/man3/erf.3 b/documentation/manual-pages/ja/man3/erf.3 new file mode 100644 index 0000000000..4549090a0e --- /dev/null +++ b/documentation/manual-pages/ja/man3/erf.3 @@ -0,0 +1,95 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/erf.3,v 1.5.2.4 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 20, 1991 +.Dt ERF 3 +.Os +.Sh 名称 +.Nm erf , +.Nm erff , +.Nm erfc , +.Nm erfcf +.Nd 誤差関数の演算子 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 の誤差関数 (error function) を計算します。 +.Bd -ragged -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 +の相補誤差関数 (complementary error function) を計算します。すなわち、 +.Fn erfc +は 1.0 から誤差関数 +.Fn erf x +の結果を減算します。 +大きな +.Fa x +に対しては桁が失われてしまうため、この関数が有用です。 +.Sh 関連項目 +.Xr math 3 +.Sh 歴史 +.Fn erf +と +.Fn erfc +関数は +.Bx 4.3 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/err.3 b/documentation/manual-pages/ja/man3/err.3 new file mode 100644 index 0000000000..de6e56080b --- /dev/null +++ b/documentation/manual-pages/ja/man3/err.3 @@ -0,0 +1,225 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/gen/err.3,v 1.11.2.6 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd March 6, 1999 +.Dt ERR 3 +.Os +.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_exit , +.Nm err_set_file +.Nd フォーマットされたエラーメッセージ +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In err.h +.Ft void +.Fn err "int eval" "const char *fmt" "..." +.Ft void +.Fn err_set_exit "void (*exitf)(int)" +.Ft void +.Fn err_set_file "void *vfp" +.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" "..." +.In stdarg.h +.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 +関数を使用して指定した別のファイル上にフォーマット済みの +エラーメッセージを表示します。 +すべての場合に、プログラム名の最後のコンポーネント、コロンキャラクタ、 +およびスペースが出力されます。 +.Fa fmt +引数が NULL でない場合、 +.Xr printf 3 +のようなフォーマット済みのエラーメッセージが出力されます。 +出力の最後には改行文字が付きます。 +.Pp +.Fn err , +.Fn errc , +.Fn verr , +.Fn verrc , +.Fn warn , +.Fn warnc , +.Fn vwarn , +.Fn vwarnc +の関数は、code または大域変数 +.Va errno +に基くエラーメッセージを、前にコロンと空白を付けて、付加します。 +ただし、 +.Fa fmt +引数が +.Dv NULL +の場合は例外です。 +.Pp +.Fn errc , +.Fn verrc , +.Fn warnc , +および +.Fn vwarnc +の各関数の場合、 +.Va code +引数がエラーメッセージの検索に使用されます。 +.Pp +.Fn err , +.Fn verr , +.Fn warn , +および +.Fn vwarn +の各関数は、 +グローバル変数 +.Va errno +を使用してエラーメッセージを検索します。 +.Pp +.Fn errx +関数および +.Fn warnx +関数は、エラーメッセージを追加しません。 +.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 関数ポインタを割り当てると、フックが +何もしないようにリセットされます。 +関数は、他の関数が使用する出力ストリームを設定します。 +.Fa vfp +引数は、開いているストリーム +(既に void * に変換されているかもしれません) +か、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 <errno.h> */ +if (error != 0) + warnc(error, "my_function"); +.Ed +.Sh 関連項目 +.Xr exit 3 , +.Xr printf 3 , +.Xr strerror 3 +.Pp +.Sh 歴史 +.Fn err +関数と +.Fn warn +関数は最初に +.Bx 4.4 +で現れました。 +.Fn err_set_exit +関数 +.Fn err_set_file +関数は最初に +.Fx 2.1 +で現れました。 +.Fn errc +関数と +.Fn warnc +関数は最初に +.Fx 3.0 +で現れました。 diff --git a/documentation/manual-pages/ja/man3/ethers.3 b/documentation/manual-pages/ja/man3/ethers.3 new file mode 100644 index 0000000000..b92f917a7b --- /dev/null +++ b/documentation/manual-pages/ja/man3/ethers.3 @@ -0,0 +1,195 @@ +.\" Copyright (c) 1995 +.\" Bill Paul <wpaul@ctr.columbia.edu>. 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. +.\" +.\" %FreeBSD: src/lib/libc/net/ethers.3,v 1.10.2.10 2001/12/14 18:33:55 ru Exp % +.\" $FreeBSD$ +.\" +.Dd April 12, 1995 +.Dt ETHERS 3 +.Os +.Sh 名称 +.Nm ethers , +.Nm ether_line , +.Nm ether_aton , +.Nm ether_ntoa , +.Nm ether_ntohost , +.Nm ether_hostton +.Nd イーサネットアドレス変換および調査ルーチン +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In sys/socket.h +.In net/ethernet.h +.Ft int +.Fn ether_line "const char *l" "struct ether_addr *e" "char *hostname" +.Ft struct ether_addr * +.Fn ether_aton "const char *a" +.Ft char * +.Fn ether_ntoa "const struct ether_addr *n" +.Ft int +.Fn ether_ntohost "char *hostname" "const struct ether_addr *e" +.Ft int +.Fn ether_hostton "const 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 +は、処理が成功すると 0 を返します。 +与えられた行 +.Ar l +の一部でもパースできなかった場合は 0 でない値を返します。 +抽出されたイーサネットアドレスを与えられた +.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 +関数は両方とも、成功した場合は 0 を返し、 +.Pa /etc/ethers +データベース内に一致するものを見つけられなかった場合は +0 でない値を返します。 +.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 バグ +.Fn ether_aton +関数と +.Fn ether_ntoa +関数は、これらが次に呼び出されたときには +上書きされる可能性のある静的メモリ領域に保存された値を返します。 +.Sh 歴史 +.Nm +ライブラリ関数のこの実装は、 +.Fx 2.1 +のために作成され、登場しました。 diff --git a/documentation/manual-pages/ja/man3/exec.3 b/documentation/manual-pages/ja/man3/exec.3 new file mode 100644 index 0000000000..528cfb6ec3 --- /dev/null +++ b/documentation/manual-pages/ja/man3/exec.3 @@ -0,0 +1,304 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/gen/exec.3,v 1.7.2.7 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd January 24, 1994 +.Dt EXEC 3 +.Os +.Sh 名称 +.Nm execl , +.Nm execlp , +.Nm execle , +.Nm exect , +.Nm execv , +.Nm execvp +.Nd ファイルを実行する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.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 +変数によって環境内で指定されたパスです。 +この値が指定されない場合、 +.Aq paths.h +の +.Dv _PATH_DEFPATH +定義に従い、デフォルトのパスが設定されます。 +これは、 +.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/documentation/manual-pages/ja/man3/exit.3 b/documentation/manual-pages/ja/man3/exit.3 new file mode 100644 index 0000000000..cf6e421018 --- /dev/null +++ b/documentation/manual-pages/ja/man3/exit.3 @@ -0,0 +1,94 @@ +.\" 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. +.\" +.\" @(#)exit.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/exit.3,v 1.6.2.4 2001/12/14 18:33:58 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt EXIT 3 +.Os +.Sh 名称 +.Nm exit +.Nd 正常なプログラム終了を実行する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft void +.Fn exit "int status" +.Sh 解説 +.Fn exit +はプロセスを終了させます。 +.Pp +終了の前に、リストした順に次の機能を実行します。 +.Bl -enum -offset indent +.It +.Xr atexit 3 +関数で登録された関数を呼び出します。 +登録とは逆の順序で行われます。 +.It +開いているすべての出力ストリームをフラッシュします。 +.It +開いているすべてのストリームを閉じます。 +.It +.Xr tmpfile 3 +関数で作成されたすべてのファイルのリンクを解除します。 +.El +.Pp +任意の値を +.Ar status +として環境に返すのは、よくないスタイルとされています。 +.Dv EXIT_SUCCESS +や +.Dv EXIT_FAILURE +という値を使用すべきでしょう。 +移植性を考慮しなくていい場合は、 +.Xr sysexits 3 +に記述されている値を使用できます。 +.Sh 戻り値 +.Fn exit +関数は戻ることはありません。 +.Sh 関連項目 +.Xr _exit 2 , +.Xr atexit 3 , +.Xr intro 3 , +.Xr sysexits 3 , +.Xr tmpfile 3 +.Sh 規格 +.Fn exit +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/exp.3 b/documentation/manual-pages/ja/man3/exp.3 new file mode 100644 index 0000000000..370db3ded1 --- /dev/null +++ b/documentation/manual-pages/ja/man3/exp.3 @@ -0,0 +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 +.\" %FreeBSD: src/lib/msun/man/exp.3,v 1.9.2.4 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 31, 1991 +.Dt EXP 3 +.Os +.Sh 名称 +.Nm exp , +.Nm expf , +.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 ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 最後の +.Em 場所 +での 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 +で、予約オペランドフォルトを生成します。 +.Fa x +> 0 でない場合の log と、 +.Fa x +> \-1 でない場合の +.Fn log1p +は、 +.Tn VAX +と +.Tn Tahoe +では、 +.Va errno +が +.Er EDOM +に設定され、予約オペランドフォルトが返されます。 +.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 が 0 +(または無限または \*(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 付近の z で分析的な関数であり +(累乗の連続で拡張可能)、 +しかも 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/documentation/manual-pages/ja/man3/fabs.3 b/documentation/manual-pages/ja/man3/fabs.3 new file mode 100644 index 0000000000..bee05971e3 --- /dev/null +++ b/documentation/manual-pages/ja/man3/fabs.3 @@ -0,0 +1,77 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/fabs.3,v 1.6.2.2 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 2, 1991 +.Dt FABS 3 +.Os +.Sh 名称 +.Nm fabs , +.Nm fabsf +.Nd 浮動小数点絶対値関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/fclose.3 b/documentation/manual-pages/ja/man3/fclose.3 new file mode 100644 index 0000000000..daab09cebb --- /dev/null +++ b/documentation/manual-pages/ja/man3/fclose.3 @@ -0,0 +1,100 @@ +.\" 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. +.\" +.\" @(#)fclose.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdio/fclose.3,v 1.7.2.4 2001/12/14 18:33:57 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt FCLOSE 3 +.Os +.Sh 名称 +.Nm fclose +.Nd ストリームを閉じる +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft int +.Fn fclose "FILE *stream" +.Sh 解説 +.Fn fclose +関数は、基礎となるファイルや関数のセットから、指定された +.Fa ストリーム +を分離します。 +ストリームを出力に使用している場合は、 +まず最初に、 +.Xr fflush 3 +を使用して、バッファにあるデータを書込みます。 +.Sh 戻り値 +正常終了すると 0 が返されます。 +正常終了しなかった場合は +.Dv EOF +が返され、 +グローバル変数 +.Va errno +には、エラーを示す値が設定されます。 +どちらの場合でも、ストリームには +それ以上アクセスできません。 +.Sh エラー +.Fn fclose +関数がエラーなると、 +ルーチン +.Xr close 2 +か +.Xr fflush 3 +で指定されたエラーが +.Va errno +に設定されます。 +.Sh 注 +.Fn fclose +は NULL 引数を処理しません。 +NULL 引数はセグメンテーション違反を引き起こします。 +この動作は意図的なもので、 +.Fx +で作成されたプログラムのバグをなくすためです。 +この動作は実装に関わるものであり、 +プログラムが依存すべきではありません。 +.Sh 関連項目 +.Xr close 2 , +.Xr fflush 3 , +.Xr fopen 3 , +.Xr setbuf 3 +.Sh 規格 +.Fn fclose +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/ferror.3 b/documentation/manual-pages/ja/man3/ferror.3 new file mode 100644 index 0000000000..07a18c9bf2 --- /dev/null +++ b/documentation/manual-pages/ja/man3/ferror.3 @@ -0,0 +1,109 @@ +.\" 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. +.\" +.\" @(#)ferror.3 8.2 (Berkeley) 4/19/94 +.\" %FreeBSD: src/lib/libc/stdio/ferror.3,v 1.3.2.4 2001/12/14 18:33:57 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.\" WORD: error indicator エラー表示子 [JIS C] +.\" WORD: end-of-file indicator ファイル終了表示子 [JIS C] +.Dd April 19, 1994 +.Dt FERROR 3 +.Os +.Sh 名称 +.Nm clearerr , +.Nm feof , +.Nm ferror , +.Nm fileno +.Nd ストリームの状態のチェックとリセット +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft void +.Fn clearerr "FILE *stream" +.Ft int +.Fn feof "FILE *stream" +.Ft int +.Fn ferror "FILE *stream" +.Ft int +.Fn fileno "FILE *stream" +.Sh 解説 +.Fn clearerr +関数は、 +.Fa stream +が指すストリームに対するファイル終了表示子と +エラー表示子をクリアします。 +.Pp +.Fn feof +関数は、 +.Fa stream +が指すストリームに対するファイル終了表示子を検査し、 +ファイル終了表示子が設定されている場合は 0 以外を戻します。 +ファイル終了表示子をクリアできるのは、 +.Fn clearerr +関数のみです。 +.Pp +.Fn ferror +関数は、 +.Fa stream +が指すストリームに対するエラー表示子を検査し、 +エラー表示子が設定されている場合は 0 以外を戻します。 +エラー表示子をリセットできるのは、 +.Fn clearerr +関数のみです。 +.Pp +.Fn fileno +関数は、引数 +.Fa stream +を検査し、その整数記述子を戻します。 +.Sh エラー +この関数はエラーにならず、外部変数 +.Va errno +を設定しません。 +.Sh 関連項目 +.Xr open 2 , +.Xr fdopen 3 , +.Xr stdio 3 +.Sh 規格 +.Fn clearerr +関数、 +.Fn feof +関数、 +.Fn ferror +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/fetch.3 b/documentation/manual-pages/ja/man3/fetch.3 new file mode 100644 index 0000000000..f887ac0599 --- /dev/null +++ b/documentation/manual-pages/ja/man3/fetch.3 @@ -0,0 +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.4 2002-05-18 07:12:54 horikawa Exp $ +.\" +.\" $FreeBSD$ +.\" +.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 <sys/param.h> +.Fd #include <stdio.h> +.Fd #include <fetch.h> +.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 + <scheme>:(//(<user>(:<pwd>)?@)?<host>(:<port>)?)?/(<document>)? +.Ed +.Pp +URL の一部のコンポーネントは、 +すべての URL スキームで重要ではないことがあることに注意してください。 +たとえばファイルスキームでは、<scheme> コンポーネントと +<document> コンポーネントしか必要ありません。 +.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 の <document> コンポーネントのみが使用されます。 +.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/documentation/manual-pages/ja/man3/fflush.3 b/documentation/manual-pages/ja/man3/fflush.3 new file mode 100644 index 0000000000..0adfe1dfa9 --- /dev/null +++ b/documentation/manual-pages/ja/man3/fflush.3 @@ -0,0 +1,118 @@ +.\" 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. +.\" +.\" @(#)fflush.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdio/fflush.3,v 1.4.2.4 2001/12/14 18:33:57 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt FFLUSH 3 +.Os +.Sh 名称 +.Nm fflush , +.Nm fpurge +.Nd ストリームのフラッシュ +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft int +.Fn fflush "FILE *stream" +.Ft int +.Fn fpurge "FILE *stream" +.Sh 解説 +.Fn fflush +関数は、すべてのバッファされたデータを対応する +出力に強制的に書込みます。 +またはストリームの場合は、下層の書込み関数を用いて +.Fa stream +の更新を強制的に実行します。 +.\" underlying 下層 +ストリームは開いた状態のままで、この関数によって影響は受けません。 +.\" status ステータス? +.Pp +.Fa stream +引数が +.Dv NULL +の場合、 +.Fn fflush +は開いている +.Em すべての +出力ストリームをフラッシュします。 +.Pp +.Fn fpurge +関数は、指定された +.Fa stream +のバッファに入っているどんな入出力も消去します。 +出力ストリームの場合は、書込まれていない出力を破棄します。 +入力ストリームの場合は、下層オブジェクトから読込んであり、 +.Xr getc 3 +で取り出されていない入力を破棄します。 +これには、 +.Xr ungetc +でプッシュバックされたテキストも含まれます。 +.Sh 戻り値 +処理が正常に完了すると、値 0 が返されます。 +そうでない場合は +.Dv EOF +が戻され、エラーを示すためにグローバル変数 +.Va errno +が設定されます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EBADF +.Fa stream +が開いているストリームではありません。 +.Fn fflush +の場合、ストリームが書込み用に開いていません。 +.El +.Pp +.Fn fflush +関数がエラーになると、ルーチン +.Xr write 2 +で指定されたエラーが +.Va errno +に設定されます。 +.Sh 関連項目 +.Xr write 2 , +.Xr fclose 3 , +.Xr fopen 3 , +.Xr setbuf 3 +.Sh 規格 +.Fn fflush +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/ffs.3 b/documentation/manual-pages/ja/man3/ffs.3 new file mode 100644 index 0000000000..e54a12dfa6 --- /dev/null +++ b/documentation/manual-pages/ja/man3/ffs.3 @@ -0,0 +1,63 @@ +.\" 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. +.\" +.\" @(#)ffs.3 8.2 (Berkeley) 4/19/94 +.\" %FreeBSD: src/lib/libc/string/ffs.3,v 1.3.2.2 2001/12/14 18:33:59 ru Exp % +.\" $FreeBSD$ +.\" +.Dd April 19, 1994 +.Dt FFS 3 +.Os +.Sh 名称 +.Nm ffs +.Nd ビット列に設定された、最初のビットの検索 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft int +.Fn ffs "int value" +.Sh 解説 +.Fn ffs +関数は、 +.Fa value +に設定された最初のビットを検索し、そのビットのインデックスを戻します。 +ビットには、最も右のビットを 1 として番号が振られます。 +戻り値が 0 である場合は、引数が 0 であったことを表します。 +.Sh 関連項目 +.Xr bitstring 3 +.Sh 歴史 +.Fn ffs +関数は、 +.Bx 4.3 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/fgetln.3 b/documentation/manual-pages/ja/man3/fgetln.3 new file mode 100644 index 0000000000..4f475eb12d --- /dev/null +++ b/documentation/manual-pages/ja/man3/fgetln.3 @@ -0,0 +1,124 @@ +.\" 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. +.\" +.\" @(#)fgetln.3 8.3 (Berkeley) 4/19/94 +.\" %FreeBSD: src/lib/libc/stdio/fgetln.3,v 1.4.2.3 2001/12/14 18:33:57 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.\" WORD: error indicator エラー表示子 [JIS C] +.Dd April 19, 1994 +.Dt FGETLN 3 +.Os +.Sh 名称 +.Nm fgetln +.Nd ストリームから行を取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft char * +.Fn fgetln "FILE *stream" "size_t *len" +.Sh 解説 +.Fn fgetln +関数は、 +.Fa stream +が参照するストリームから次の行のポインタを戻します。 +取得した行は、 +.Dv NUL +文字で終端されていませんので、C 言語での文字列では +.Em ありません。 +最後の改行も含めた行の長さは、 +.Fa len +が指すメモリ位置に保存されます +(ただし、改行で終わらないファイルの最後に行がある場合、 +戻されるテキストに改行は含まれません)。 +.Sh 戻り値 +正常終了すると、ポインタが戻されます。 +このポインタは、次に +.Fa stream +で +.Tn I/O +操作を行った後 (成功であれ失敗であれ)、あるいはストリームが +閉じた直後では無効になります。 +異常終了した場合は +.Dv NULL +が戻されます。 +.Fn fgetln +関数は、ファイルの終了とエラーとを区別しません。 +ファイルの終了かエラーかを判断するには、ルーチン +.Xr feof 3 +および +.Xr ferror 3 +を使用しなくてはなりません。 +エラーが発生した場合は、そのエラーを示すために +グローバル変数 +.Va errno +が設定されます。 +ファイルの終了状態はたとえ端末であっても記憶されます。 +.Xr clearerr 3 +でその状態がクリアされるまでは、 +その後読込みを試みてもすべて +.Dv NULL +が返されます。 +.Pp +戻されたポインタが指し示すテキストは、 +そのサイズを超えて変更を加えないという条件であれば +変更することができます。 +この変更内容は、ポインタが無効になると失われます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EBADF +引数 +.Fa stream +が、読込み用に開いたストリームではありません。 +.El +.Pp +.Fn fgetln +関数はエラーを発生し、ルーチン +.Xr fflush 3 , +.Xr malloc 3 , +.Xr read 2 , +.Xr stat 2 , +.Xr realloc 3 +用に指定されたエラーのいずれかが +.Va errno +に設定される場合があります。 +.Sh 関連項目 +.Xr ferror 3 , +.Xr fgets 3 , +.Xr fopen 3 , +.Xr putc 3 +.Sh 歴史 +.Fn fgetln +関数は、 +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/fgets.3 b/documentation/manual-pages/ja/man3/fgets.3 new file mode 100644 index 0000000000..948e8a3c04 --- /dev/null +++ b/documentation/manual-pages/ja/man3/fgets.3 @@ -0,0 +1,155 @@ +.\" 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. +.\" +.\" @(#)fgets.3 8.1 (Berkeley) 6/4/93 +.\" +.\" %FreeBSD: src/lib/libc/stdio/fgets.3,v 1.6.2.6 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt FGETS 3 +.Os +.Sh 名称 +.Nm fgets , +.Nm gets +.Nd ストリームから行を取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft char * +.Fn fgets "char *str" "int size" "FILE *stream" +.Ft char * +.Fn gets "char *str" +.Sh 解説 +.Fn fgets +関数は、最大で +.Fa size +で指定された文字数より 1 だけ少ない数の文字を +.Fa stream +から読み込み、文字列 +.Fa str +に保存します。 +読込みは、改行文字が見つかったり、ファイルの終了 +あるいはエラーが見つかったりした場合に停止します。 +改行文字は、存在していれば保持されます。 +任意の文字を読み込んでエラーが発生しなかった場合、 +文字列の最後には +.Ql \e0 +文字が追加されます。 +.Pp +.Fn gets +関数は +.Fn fgets +関数で +.Fa size +を無限にし、 +.Em stdin +を +.Fa stream +にしたものと等価ですが、 +文字列中で改行文字が保存されない (改行文字が存在した場合) 点が +異なります。 +入力行が存在する場合、それが十分短く文字列に収まりきる +ことを保証するのは呼び出し側の責任です。 +.Sh 戻り値 +正常終了すると、 +.Fn fgets +と +.Fn gets +は文字列のポインタを戻します。 +キャラクタを読み込む前にファイルの終了に達すると、 +.Dv NULL +が戻されます。 +この場合、バッファの内容は変化しません。エラーが発生すると +.Dv NULL +が戻され、バッファの内容は不定になります。 +.Fn fgets +関数と +.Fn gets +関数はファイルの終了とエラーとを区別しません。 +ファイルの終了かエラーかを判断するには、呼び出し側が +.Xr feof 3 +と +.Xr ferror 3 +を使用しなくてはなりません。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EBADF +指定された +.Fa stream +が、読込み可能なストリームではありません。 +.El +.Pp +.Fn fgets +関数がエラーになると、ルーチン +.Xr fflush 3 , +.Xr fstat 2 , +.Xr read 2 , +.Xr malloc 3 +用に指定されたエラーのいずれかが +.Va errno +に設定される場合があります。 +.Pp +.Fn gets +関数がエラーになると、ルーチン +.Xr getchar 3 +用に指定されたエラーが +.Va errno +に設定される場合があります。 +.Sh 関連項目 +.Xr feof 3 , +.Xr ferror 3 , +.Xr fgetln 3 +.Sh 規格 +.Fn fgets +関数と +.Fn gets +関数は、 +.St -isoC +に適合しています。 +.Sh バグ +通常、次の入力行がある任意の長さより短いことを保証するのは +不可能であり、また入力バッファをオーバフローすると +ほぼ必ずセキュリティ違反となるため、 +プログラムでは +.Fn gets +を +.Em 絶対に +使用しないでください。 +.Fn gets +は、 +.St -isoC +に適合するためだけに存在しています。 diff --git a/documentation/manual-pages/ja/man3/floor.3 b/documentation/manual-pages/ja/man3/floor.3 new file mode 100644 index 0000000000..1699e32bba --- /dev/null +++ b/documentation/manual-pages/ja/man3/floor.3 @@ -0,0 +1,70 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/floor.3,v 1.7.2.3 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd March 10, 1994 +.Dt FLOOR 3 +.Os +.Sh 名称 +.Nm floor , +.Nm floorf +.Nd x 以下の最も大きな整数値への切捨て +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/fmod.3 b/documentation/manual-pages/ja/man3/fmod.3 new file mode 100644 index 0000000000..e9d1b618bb --- /dev/null +++ b/documentation/manual-pages/ja/man3/fmod.3 @@ -0,0 +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: @(#)fmod.3 5.1 (Berkeley) 5/2/91 +.\" %FreeBSD: src/lib/msun/man/fmod.3,v 1.5.2.2 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 2, 1991 +.Dt FMOD 3 +.Os +.Sh 名称 +.Nm fmod , +.Nm fmodf +.Nd 浮動小数の余りを求める関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 +が 0 でない場合、結果が +.Fa x +と同じ符号になり、かつ、結果の大きさが +.Fa y +よりも小さくなるような整数 +.Em i +に対して、 +.Fn fmod +関数と +.Fn fmodf +関数は、値 +.Sm off +.Fa x - Em i * Fa y +.Sm on +を返します。 +.Fa y +が 0 である場合、ドメインエラーを発生させるか、または +.Fn fmod +関数と +.Fn fmodf +関数が 0 を返すかはシステムで定義されます。 +.Sh 関連項目 +.Xr math 3 +.Sh 規格 +.Fn fmod +関数は、 +.St -isoC +適合しています。 +.\"X kuma 1999-11-5 diff --git a/documentation/manual-pages/ja/man3/fnmatch.3 b/documentation/manual-pages/ja/man3/fnmatch.3 new file mode 100644 index 0000000000..e2d8df90f0 --- /dev/null +++ b/documentation/manual-pages/ja/man3/fnmatch.3 @@ -0,0 +1,136 @@ +.\" 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 +.\" Guido van Rossum. +.\" 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. +.\" +.\" @(#)fnmatch.3 8.3 (Berkeley) 4/28/95 +.\" +.\" $FreeBSD$ +.Dd April 28, 1995 +.Dt FNMATCH 3 +.Os +.Sh 名称 +.Nm fnmatch +.Nd ファイル名かパス名を照合する +.Sh 書式 +.Fd #include <fnmatch.h> +.Ft int +.Fn fnmatch "const char *pattern" "const char *string" "int flags" +.Sh 解説 +.Fn fnmatch +関数は、シェルが使用する規則に従ってパターンを照合します。 +.Fa string +引数が指定する文字列をチェックし、 +.Fa pattern +引数が指定するパターンと一致するかどうか確認します。 +.Pp +.Fa flags +引数は、 +.Fa pattern +と +.Fa string +の解釈を修正します。 +.Fa flags +の値は、以下の定数のビット単位の論理和です。この定数は、 +インクルードファイル +.Pa fnmatch.h +で定義されています。 +.Bl -tag -width FNM_PATHNAME +.It Dv FNM_NOESCAPE +通常、 +.Fa pattern +の中でバックスラッシュ +.Pq Ql \e +の後ろに 1 文字が続くものが現れるごとに、それはその文字で +置き換えられます。この置き換えは、その文字の特殊な意味を +無効にするために実行されます。 +.Dv FNM_NOESCAPE +フラグを設定すると、バックスラッシュ文字は通常文字として扱われます。 +.It Dv FNM_PATHNAME +.Fa string +のスラッシュ文字は、 +.Fa pattern +中のスラッシュと +明確に一致する必要があります。このフラグを設定しないと、スラッシュは +通常文字として扱われます。 +.It Dv FNM_PERIOD +.Fa string +の最初のピリオドは、 +.Fa pattern +中の最初のピリオドと +明確に一致する必要があります。このフラグを設定しないと、最初のピリオドは +通常文字として扱われます。「最初の」という言葉の定義は、 +.Dv FNM_PATHNAME +の指定によって変化します。 +.Ar string +の第 1 キャラクタであるピリオドは、常に「最初の」ピリオドです。 +.Dv FNM_PATHNAME +を設定した場合、スラッシュの直後のピリオドも「最初の」ピリオドです。 +.It Dv FNM_LEADING_DIR +.Fa pattern +が問題なく一致した後、残りの +.Nm /* +を無視します。 +.It Dv FNM_CASEFOLD +.Fa pattern +と +.Fa string +の両方で大文字と小文字の区別を無視します。 +.El +.Sh 戻り値 +.Fn fnmatch +関数は、 +.Fa pattern +が指定するパターンに +.Fa string +が一致するとゼロを戻します。一致しない場合は値 +.Dv FNM_NOMATCH +を戻します。 +.Sh 関連項目 +.Xr sh 1 , +.Xr glob 3 , +.Xr regex 3 +.Sh 規格 +.Fn fnmatch +関数は、 +.St -p1003.2 +に準拠しています。 +.Sh 歴史 +.Fn fnmatch +関数は、 +.Bx 4.4 +に追加されました。 +.Sh バグ +.Dv FNM_PATHNAME +を指定しても、パターン +.Ql * +は空ストリングと一致します。 +.\"X kuma 1999-11-5 diff --git a/documentation/manual-pages/ja/man3/fopen.3 b/documentation/manual-pages/ja/man3/fopen.3 new file mode 100644 index 0000000000..dc4bb32949 --- /dev/null +++ b/documentation/manual-pages/ja/man3/fopen.3 @@ -0,0 +1,240 @@ +.\" 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. +.\" +.\" @(#)fopen.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdio/fopen.3,v 1.7.2.6 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt FOPEN 3 +.Os +.Sh 名称 +.Nm fopen , +.Nm fdopen , +.Nm freopen +.Nd ストリームをオープンする関数 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft FILE * +.Fn fopen "const char *path" "const char *mode" +.Ft FILE * +.Fn fdopen "int fildes" "const char *mode" +.Ft FILE * +.Fn freopen "const char *path" "const char *mode" "FILE *stream" +.Sh 解説 +.Fn fopen +関数は、 +.Fa path +が指す文字列の名前を持つファイルをオープンし、 +それにストリームを関連付けます。 +.Pp +引数 +.Fa mode +は、以下のシーケンスの +1 つで始まる文字列を指します +(このシーケンスには、別のキャラクタが続いても構いません)。 +.Bl -tag -width indent +.It Dq Li r +テキストファイルを読込み用にオープンします。 +ストリームは、ファイルの最初に位置付けられます。 +.It Dq Li r+ +読込み用と書込み用にオープンします。 +ストリームは、ファイルの最初に位置付けられます。 +.It Dq Li w +書込み用に、ファイルを長さ 0 に切りつめるか、テキストファイルを作成します。 +ストリームは、ファイルの最初に位置付けられます。 +.It Dq Li w+ +読込み用と書込み用にオープンします。 +ファイルが存在しない場合はそのファイルが作成され、 +存在する場合は切りつめられます。 +ストリームは、ファイルの最初に位置付けられます。 +.It Dq Li a +書込み用にオープンします。 +ファイルが存在しない場合はそのファイルが作成されます。 +ストリームは、ファイルの最後に位置付けられます。 +それに続くファイルへの書き込みは、 +.Xr fseek 3 +のような操作の介在に関わりなく、 +常にファイルの現時点での最後へと行われます。 +.It Dq Li a+ +読込み用と書込み用にオープンします。 +ファイルが存在しない場合はそのファイルが作成されます。 +ストリームは、ファイルの最後に位置付けられます。 +それに続くファイルへの書き込みは、 +.Xr fseek 3 +のような操作の介在に関わりなく、 +常にファイルの現時点での最後へと行われます。 +.El +.Pp +.Fa mode +文字列には、3 番目の文字として、 +または上で説明した 2 文字からなる文字列の間に指定する文字として、 +文字 ``b'' を含めることができます。 +これは +.St -isoC +との互換性を保つためのもので、効果はありません。 +``b'' は無視されます。 +.Pp +作成されたファイルのモードは、 +.Pf \\*q Dv S_IRUSR +\&| +.Dv S_IWUSR +\&| +.Dv S_IRGRP +\&| +.Dv S_IWGRP +\&| +.Dv S_IROTH +\&| +.Dv S_IWOTH Ns \\*q +.Pq Li 0666 +がプロセスの umask 値 ( +.Xr umask 2 +参照) で修正されたものになります。 +.Pp +読み書きストリームでは、読込みと書込みをどのような順序でも +混ぜることができ、前バージョンの +.Em stdio +のように、それらの間にシーク操作は必要ありません。 +しかしながら、これは他のシステムへの移植性がありません。 +というのは、 +.Tn ANSI C +は、入力オペレーションがファイルの終了に達していない場合、 +ファイル位置付け関数が出力と入力の間に +介在することを要求しているからです。 +.Pp +.Fn fdopen +関数は、既存のファイル記述子 +.Fa fildes +にストリームを関連付けます。 +ストリームの +.Fa mode +には、ファイル記述子のモードとの互換性が必要です。 +.Xr fclose 3 +によってストリームが閉じられた時には、 +.Fa fildes +も閉じられます。 +.Pp +.Fn freopen +関数は、 +.Fa path +が指す文字列の名前が付いたファイルを開き、 +.Fa stream +が指すストリームを関連付けます。 +元のストリームが存在する場合、それは閉じられます。 +.Fa mode +引数は、 +.Fn fopen +関数と同じです。 +.Fn freopen +の主な使用目的は、標準テキストストリーム +.Pf ( Em stderr, +.Em stdin +.Em stdout ) +に関連付けられたファイルを切替えることです。 +.Sh 戻り値 +呼び出しが成功すると、 +.Fn fopen, +.Fn fdopen, +.Fn freopen +は +.Tn FILE +ポインタを返します。 +問題がある場合は +.Dv NULL +を返し、そのエラーを示す値をグローバル変数 +.Va errno +に設定します。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EINVAL +.Fn fopen , +.Fn fdopen , +.Fn freopen +の +.Fa mode +が正しくありません。 +.El +.Pp +.Fn fopen , +.Fn fdopen , +.Fn freopen +関数は、エラーが発生すると、ルーチン +.Xr malloc 3 +で規定されたエラーを +.Va errno +に設定することもあります。 +.Pp +.Fn fopen +関数は、エラーが発生すると、ルーチン +.Xr open 2 +で規定されたエラーを +.Va errno +に設定することもあります。 +.Pp +.Fn fdopen +関数は、エラーが発生すると、ルーチン +.Xr fcntl 2 +で規定されたエラーを +.Va errno +に設定することもあります。 +.Pp +.Fn freopen +関数は、エラーが発生すると、ルーチン +.Xr open 2 , +.Xr fclose 3 , +.Xr fflush 3 +で規定されたエラーを +.Va errno +に設定することもあります。 +.Sh 関連項目 +.Xr open 2 , +.Xr fclose 3 , +.Xr fileno 3 , +.Xr fseek 3 , +.Xr funopen 3 +.Sh 規格 +.Fn fopen +関数と +.Fn freopen +関数は、 +.St -isoC +に適合しています。 +.Fn fdopen +関数は、 +.St -p1003.1-88 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/fpgetround.3 b/documentation/manual-pages/ja/man3/fpgetround.3 new file mode 100644 index 0000000000..ab30f52aef --- /dev/null +++ b/documentation/manual-pages/ja/man3/fpgetround.3 @@ -0,0 +1,147 @@ +.\" 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 +.\" %FreeBSD: src/share/man/man3/fpgetround.3,v 1.9.2.2 2001/12/17 11:30:11 ru Exp % +.\" $FreeBSD$ +.\" +.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 書式 +.In ieeefp.h +.Pp +.Bd -literal +typedef enum { + FP_RN, /* round to nearest */ + FP_RM, /* round down to minus infinity */ + FP_RP, /* round up to plus infinity */ + FP_RZ /* truncate */ +} fp_rnd_t; +.Pp +.Ft fp_rnd_t +.Fn fpgetround void +.Ft fp_rnd_t +.Fn fpsetround "fp_rnd_t direction" +.Pp +.Bd -literal +typedef enum { + FP_PS, /* 24 bit (single-precision) */ + FP_PRS, /* reserved */ + FP_PD, /* 53 bit (double-precision) */ + FP_PE /* 64 bit (extended-precision) */ +} fp_prec_t; +.Ed +.Ft fp_prec_t +.Fn fpgetprec void +.Ft fp_prec_t +.Fn fpsetprec "fp_prec_t precision" +.Pp +.Bd -literal +#define fp_except_t int +#define FP_X_INV 0x01 /* invalid operation */ +#define FP_X_DNML 0x02 /* denormal */ +#define FP_X_DZ 0x04 /* zero divide */ +#define FP_X_OFL 0x08 /* overflow */ +#define FP_X_UFL 0x10 /* underflow */ +#define FP_X_IMP 0x20 /* (im)precision */ +#define FP_X_STK 0x40 /* stack fault */ +.Ed +.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 +以下は、0 除算によるトラップを防ぐコード例です。 +.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/documentation/manual-pages/ja/man3/fputs.3 b/documentation/manual-pages/ja/man3/fputs.3 new file mode 100644 index 0000000000..944b36e644 --- /dev/null +++ b/documentation/manual-pages/ja/man3/fputs.3 @@ -0,0 +1,108 @@ +.\" 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. +.\" +.\" @(#)fputs.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdio/fputs.3,v 1.4.2.4 2001/12/14 18:33:57 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt FPUTS 3 +.Os +.Sh 名称 +.Nm fputs , +.Nm puts +.Nd 行をストリームに出力する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft int +.Fn fputs "const char *str" "FILE *stream" +.Ft int +.Fn puts "const char *str" +.Sh 解説 +.Fn fputs +関数は、 +.Fa str +が指す文字列を +.Fa stream +が指すストリームに書き込みます。 +.\" The terminating +.\" .Dv NUL +.\" character is not written. +.Pp +.Fn puts +関数は、文字列 +.Fa str +および文字列終端用の改行文字をストリーム +.Em stdout +に書き込みます。 +.Sh 戻り値 +.Fn fputs +関数は、成功すれば 0 を戻し、エラーが発生した場合は +.Dv EOF +を戻します。 +.Fn puts +は、成功すれば負でない整数を戻し、エラーが発生した場合は +.Dv EOF +を戻します。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EBADF +指定された +.Fa stream +が、書込み可能なストリームではありません。 +.El +.Pp +.Fn fputs +関数と +.Fn puts +関数は処理に失敗し、 +ルーチン +.Xr write 2 +で指定されたエラーのいずれかが +.Va errno +に設定されることがあります。 +.Sh 関連項目 +.Xr ferror 3 , +.Xr putc 3 , +.Xr stdio 3 +.Sh 規格 +.Fn fputs +関数と +.Fn puts +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/fread.3 b/documentation/manual-pages/ja/man3/fread.3 new file mode 100644 index 0000000000..25f09b3122 --- /dev/null +++ b/documentation/manual-pages/ja/man3/fread.3 @@ -0,0 +1,107 @@ +.\" 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. +.\" +.\" @(#)fread.3 8.2 (Berkeley) 3/8/94 +.\" %FreeBSD: src/lib/libc/stdio/fread.3,v 1.5.2.3 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd March 8, 1994 +.Dt FREAD 3 +.Os +.Sh 名称 +.Nm fread , +.Nm fwrite +.Nd バイナリストリーム入出力 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft size_t +.Fn fread "void *ptr" "size_t size" "size_t nmemb" "FILE *stream" +.Ft size_t +.Fn fwrite "const void *ptr" "size_t size" "size_t nmemb" "FILE *stream" +.Sh 解説 +.Fn fread +関数は、 +.Fa stream +が指すストリームから、それぞれが +.Fa size +バイトの大きさのオブジェクトを +.Fa nmemb +個読み込み、 +.Fa ptr +で指定された場所に保存します。 +.Pp +.Fn fwrite +関数は、 +.Fa ptr +で指定された場所から、それぞれが +.Fa size +バイトの大きさのオブジェクトを +.Fa nmemb +個 +.Fa stream +が指すストリームに書き込みます。 +.Sh 戻り値 +.Fn fread +関数と +.Fn fwrite +関数は、読み書きしたバイト数だけ +ストリームのファイル位置インジケータを進め、 +読み書きしたオブジェクト数を返します。 +エラーが発生した場合、またはファイルの終了に達した場合は、 +指定したものより少ないオブジェクト数 (または 0) を返します。 +.Pp +.Fn fread +関数は、ファイルの終了とエラーを区別しません。 +ファイルの終了かエラーかを判断するためには、呼び出し側が +.Xr feof 3 +と +.Xr ferror 3 +を使用する必要があります。 +.Fn fwrite +は、書き込みエラーが発生した場合に限って +.Fa nmemb +より少ない値を返します。 +.Sh 関連項目 +.Xr read 2 , +.Xr write 2 +.Sh 規格 +.Fn fread +関数と +.Fn fwrite +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/frexp.3 b/documentation/manual-pages/ja/man3/frexp.3 new file mode 100644 index 0000000000..3b9cfc87e7 --- /dev/null +++ b/documentation/manual-pages/ja/man3/frexp.3 @@ -0,0 +1,89 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)frexp.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/frexp.3,v 1.4.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt FREXP 3 +.Os +.Sh 名称 +.Nm frexp +.Nd 浮動小数点数を小数部と整数部に変換 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In math.h +.Ft double +.Fn frexp "double value" "int *exp" +.Sh 解説 +.Fn frexp +関数は、浮動小数点数を分割して、正規化された小数の部分と +2 の整数累乗の部分に分けます。 +整数部は、 +.Fa exp +が指す +.Em int +オブジェクトに保存されます。 +.Sh 戻り値 +.Fn frexp +関数は、次のような値 +.Em x +を返します。 +すなわち +.Em x +は、大きさが区間 +.Bo 1/2 , 1 Pc +に入るかもしくは 0 の +.Em double +値であり、それに 2 の +.Fa *exp +乗を掛けると +.Fa value +と等しくなります。 +.Fa value +が 0 である場合、結果のどちらの部分も 0 になります。 +.Sh 関連項目 +.Xr ldexp 3 , +.Xr math 3 , +.Xr modf 3 +.Pp +.Sh 規格 +.Fn frexp +関数は、 +.St -isoC +に適合しています。 +.\"X kuma 1999-11-6 diff --git a/documentation/manual-pages/ja/man3/fseek.3 b/documentation/manual-pages/ja/man3/fseek.3 new file mode 100644 index 0000000000..6f23bb3ff1 --- /dev/null +++ b/documentation/manual-pages/ja/man3/fseek.3 @@ -0,0 +1,218 @@ +.\" 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. +.\" +.\" @(#)fseek.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdio/fseek.3,v 1.5.2.7 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd March 5, 1999 +.Dt FSEEK 3 +.Os +.Sh 名称 +.Nm fgetpos , +.Nm fseek , +.Nm fseeko , +.Nm fsetpos , +.Nm ftell , +.Nm ftello , +.Nm rewind +.Nd ストリームの位置変更 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft int +.Fn fseek "FILE *stream" "long offset" "int whence" +.Ft long +.Fn ftell "FILE *stream" +.Ft void +.Fn rewind "FILE *stream" +.Ft int +.Fn fgetpos "FILE *stream" "fpos_t *pos" +.Ft int +.Fn fsetpos "FILE *stream" "const fpos_t *pos" +.In sys/types.h +.Ft int +.Fn fseeko "FILE *stream" "off_t offset" "int whence" +.Ft off_t +.Fn ftello "FILE *stream" +.Sh 解説 +.Fn fseek +関数は、 +.Fa stream +が指すストリームのファイル位置インジケータを +設定します。新しい位置はバイト単位で計測され、 +.Fa whence +で指定された位置に +.Fa offset +バイトを足すことで得られます。 +.Fa whence +が +.Dv SEEK_SET , +.Dv SEEK_CUR , +.Dv SEEK_END +に設定されている場合、オフセットは、それぞれ、ファイルの最初、 +インジケータの現在位置、ファイルの最後からの相対位置になります。 +.Fn fseek +関数の呼び出しで +問題が発生しない場合は、ストリームの end-of-file 指示子がクリアされ、 +そのストリームに対する +.Xr ungetc 3 +関数の効果は取り消されます。 +.Pp +.Fn ftell +関数は、 +.Fa stream +が指すストリームのファイル位置インジケータの +現在の値を入手します。 +.Pp +.Fn rewind +関数は、 +.Fa stream +が指すストリームのファイル位置インジケータを +ファイルの最初に設定します。これは、 +ストリームのエラーインジケータがクリアされること ( +.Xr clearerr 3 +を参照) を除けば、以下と同じ結果になります。 +.Pp +.Dl (void)fseek(stream, 0L, SEEK_SET) +.Pp +.Fn fseeko +関数は +.Fn fseek +と同様ですが、 +引数には +.Fa long +の代わりに +.Fa off_t +をとります。 +同様に +.Fn ftello +関数は +.Fn ftell +と同じですが、 +.Fa off_t +を返します。 +.Pp +.Fn fgetpos +関数と +.Fn fsetpos +関数は、( whence を +.Dv SEEK_SET +に設定した ) +.Fn ftell +や +.Fn fseek +と同じインタフェースで、ファイルオフセットの現在の値を +.Fa pos +が参照するオブジェクトから設定したり、 +.Fa pos +が参照するオブジェクトに保存したりします。 +一部の +.Pq Tn UNIX 以外の +システムでは、 +.Dq Fa fpos_t +オブジェクトが複合オブジェクトであるかもしれないので、 +移植性を保ちながらテキストストリームの位置を +変更するためには、このルーチンに依るしかないこともあります。 +.Sh 戻り値 +.Fn rewind +関数は値を返しません。 +.Pp +.Rv -std fgetpos fseek fseeko fsetpos +.Pp +成功して終了すると、 +.Fn ftell +および +.Fn ftello +は現在のオフセットを返します。それ以外の場合は \-1 が返され、 +グローバル変数 +.Va errno +が設定されてエラーを示します。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EBADF +指定された +.Fa stream +が、シークできるストリームではありません。 +.It Bq Er EINVAL +.Fn fseek +の +.Fa whence +引数が、 +.Dv SEEK_SET , +.Dv SEEK_END , +.Dv SEEK_CUR +のどれでもありません。 +.It Bq Er EOVERFLOW +.Fn ftell +を実行した結果のファイルのオフセットが +long 型のオブジェクトでは正しく表現できない値となりました。 +.El +.Pp +.Fn fgetpos , +.Fn fseek , +.Fn fseeko , +.Fn fsetpos , +.Fn ftell , +.Fn ftello +関数が失敗した時には、 +ルーチン +.Xr fflush 3 , +.Xr fstat 2 , +.Xr lseek 2 , +.Xr malloc 3 +について示しているエラーが +.Va errno +に設定されていることもあります。 +.Sh 関連項目 +.Xr lseek 2 +.Sh 規格 +.Fn fgetpos , +.Fn fsetpos , +.Fn fseek , +.Fn ftell , +.Fn rewind +関数は、 +.St -isoC +に適合しています。 +.Pp +.Fn fseeko +と +.Fn ftello +関数は、 +.St -susv2 +に適合しています。 +.\"X kuma 1999-11-6 diff --git a/documentation/manual-pages/ja/man3/ftime.3 b/documentation/manual-pages/ja/man3/ftime.3 new file mode 100644 index 0000000000..92d36b7733 --- /dev/null +++ b/documentation/manual-pages/ja/man3/ftime.3 @@ -0,0 +1,88 @@ +.\" 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. +.\" +.\" @(#)ftime.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libcompat/4.1/ftime.3,v 1.6.2.4 2001/12/17 10:08:28 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt FTIME 3 +.Os BSD 4 +.Sh 名称 +.Nm ftime +.Sh ライブラリ +.Lb libcompat +.Nd 日時を取得する +.Sh 書式 +.In sys/types.h +.In sys/timeb.h +.Ft int +.Fn ftime "struct timeb *tp" +.Sh 解説 +.Bf -symbolic +このインタフェースは、 +.Xr gettimeofday 2 +で置き換えられました。 +.Ef +.Pp +.Fn ftime +ルーチンは、引数が指す構造体にデータを入力します。この構造体は、 +.Aq Pa sys/timeb.h +で以下のように定義されています。 +.Bd -literal -offset indent +/* + * Structure returned by ftime system call + */ +struct timeb +{ + time_t time; + unsigned short millitm; + short timezone; + short dstflag; +}; +.Ed +.Pp +この構造体には、基準時点 (Epoch) からの時間 (秒単位)、 +1000 ミリ秒までのより正確な間隔、ローカルタイムゾーン +(グリニッジから西へ分単位で計測)、ゼロ以外ならば、 +その場所で適切な時期に夏時間が適用されていることを表すフラグが +あります。 +.Sh 関連項目 +.Xr gettimeofday 2 , +.Xr settimeofday 2 , +.Xr ctime 3 , +.Xr time 3 +.Sh 歴史 +.Fn ftime +関数は、 +.Bx 4.2 +に追加されました。 +.\"X kuma 1999-11-6 diff --git a/documentation/manual-pages/ja/man3/ftok.3 b/documentation/manual-pages/ja/man3/ftok.3 new file mode 100644 index 0000000000..d34873c510 --- /dev/null +++ b/documentation/manual-pages/ja/man3/ftok.3 @@ -0,0 +1,87 @@ +.\" Copyright (c) 1994 SigmaSoft, Th. Lockert <tholo@sigmasoft.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. 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. +.\" +.\" %FreeBSD: src/lib/libc/gen/ftok.3,v 1.12.2.2 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 24, 1994 +.Os +.Dt ftok 3 +.Sh 名称 +.Nm ftok +.Nd パス名から IPC 識別子を作成する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In sys/ipc.h +.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/documentation/manual-pages/ja/man3/fts.3 b/documentation/manual-pages/ja/man3/fts.3 new file mode 100644 index 0000000000..d327a9eb14 --- /dev/null +++ b/documentation/manual-pages/ja/man3/fts.3 @@ -0,0 +1,715 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/gen/fts.3,v 1.7.2.5 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 16, 1994 +.Dt FTS 3 +.Os +.Sh 名称 +.Nm fts +.Nd ファイルの階層を横断する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In sys/stat.h +.In fts.h +.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 +は、 +.Tn UNIX +ファイル階層を横断するための関数です。簡単に説明すると、 +.Fn fts_open +関数はファイル階層の +.Dq ハンドル +を戻します。このハンドルは、その他の +.Nm +関数に指定できます。 +.Fn fts_read +関数は、ファイル階層の 1 つのファイルを表す構造体のポインタを戻します。 +.Fn fts_children +関数は、構造体のリンクリストへのポインタを戻します。各構造体は、 +その階層のあるディレクトリに含まれるファイル 1 つを表します。 +一般に、ディレクトリは、正順 (いずれの子にアクセスする前) と +逆順 (すべての子にアクセスした後) の 2 回アクセスされます。 +ファイルは 1 回アクセスされます。 +シンボリックリンクを無視した、階層への +.Dq 論理的な +アクセス、 +シンボリックリンクをたどる、階層への物理的なアクセス、 +階層へのアクセス命令、階層の一部の切り離しや再アクセスが可能です。 +.Pp +インクルードファイル +.Aq Pa fts.h +には、2 つの構造体が定義されて (かつ、typedef 型定義もされて) います。 +1 つは、ファイル階層そのものを表す構造体 +.Fa FTS +です。もう 1 つは、ファイル階層のファイル 1 つを表す構造体 +.Fa FTSENT +です。通常は、ファイル階層のファイルすべてについて、構造体 +.Fa FTSENT +が 1 つ戻されます。このマニュアルページでは、 +.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 */ + u_short fts_pathlen; /* strlen(fts_path) */ + char *fts_name; /* file name */ + u_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 +構造体には、番号 +.Dv FTS_ROOTPARENTLEVEL +(\-1) が付されます。 +ルートの +.Fa FTSENT +構造体には、番号 +.Dv FTS_ROOTLEVEL +(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 +関数群はこのフィールドを変更しません。このフィールドは +0 で初期化されています。 +.It Fa fts_pointer +このフィールドは、アプリケーションプログラムで使用するためのもので、 +.Nm +関数群はこのフィールドを修正しません。このフィールドは +.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 +ルーチンは、シンボリックリンクそのものではなく、 +シンボリックリンクのターゲットの +.Fa FTSENT +構造体を戻すようになります。このオプションを設定すると、 +アプリケーションに戻される +.Fa FTSENT +構造体が指すシンボリックリンクは、存在しないファイルを +参照するものだけになります。 +.Fn fts_open +関数には、 +.Dv FTS_LOGICAL +か +.Dv FTS_PHYSICAL +を指定する必要があります。 +.It Dv FTS_NOCHDIR +パフォーマンスを最適化するため、 +.Nm +関数は、ファイル階層のアクセス中に +カレントディレクトリを変更します。これには、横断中にどのディレクトリ +にいるかがアプリケーションで特定できないという副作用があります。 +.Dv FTS_NOCHDIR +オプションはこの最適化を無効にするので、 +.Nm +関数はカレントディレクトリを変更しなくなります。 +.Dv FTS_NOCHDIR +を指定していない、もしくは、 +.Fn fts_open +に絶対パス名を引数として指定していない場合は、アプリケーションで +カレントディレクトリを変更したり、ファイルにアクセスしたり +しないでください。 +.It Dv FTS_NOSTAT +デフォルトでは、戻される +.Fa FTSENT +構造体は、アクセスしたファイルそれぞれについて +ファイル特性情報 ( +.Fa statp +フィールド) を参照しています。このオプションは、パフォーマンスを +最適化するためにこの要件を緩和し、 +.Nm +関数が +.Fa fts_info +フィールドに +.Dv FTS_NSOK +を設定して、 +.Fa statp +フィールドの内容を未定義のままにすることを許可します。 +.It Dv FTS_PHYSICAL +このオプションを指定すると、 +.Nm +ルーチンは、シンボリックリンクが指すターゲットファイルではなく、 +シンボリックリンク自体の +.Fa FTSENT +構造体を戻すようになります。このオプションを設定すると、 +階層に存在するすべてのシンボリックリンクの +.Fa FTSENT +構造体がアプリケーションに戻されます。 +.Fn fts_open +関数には、 +.Dv FTS_LOGICAL +か +.Dv FTS_PHYSICAL +を指定する必要があります。 +.It Dv FTS_SEEDOT +デフォルトでは、 +.Fn fts_open +のパス引数として指定しない限り、ファイル階層に存在する、 +.Ql .\& +もしくは、 +.Ql ..\& +という名前のファイルは無視されます。このオプションを指定することにより、 +.Nm +ルーチンは、このような +ファイルの +.Fa FTSENT +構造体を戻すようになります。 +.It Dv FTS_XDEV +このオプションを指定すると、 +.Nm +は、下降を始めたファイルと +異なるデバイス番号を持つディレクトリに下降しません。 +.El +.Pp +引数 +.Fn compar +は、階層横断の順序決めに使用されるユーザ定義関数を +指定します。この関数は、 +.Fa FTSENT +構造体のポインタを指す 2 つのポインタを +引数として取り、最初の引数が参照するファイルが、2 番目の引数が +参照するファイルより前に来るか、前でも後ろでもどちらでも構わないか、 +後ろに来るかによって、それぞれ負の値、0、正の値を戻さねばなりません。 +この比較では、 +.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 +に 0 を設定します。エラーが発生すると、 +.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 +ユーティリティは、将来、 +.St -p1003.1-88 +リビジョンに組み込まれると思われます。 +.\"X kuma 99-10-21 diff --git a/documentation/manual-pages/ja/man3/funopen.3 b/documentation/manual-pages/ja/man3/funopen.3 new file mode 100644 index 0000000000..f374af85f1 --- /dev/null +++ b/documentation/manual-pages/ja/man3/funopen.3 @@ -0,0 +1,167 @@ +.\" 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. +.\" +.\" @(#)funopen.3 8.1 (Berkeley) 6/9/93 +.\" %FreeBSD: src/lib/libc/stdio/funopen.3,v 1.7.2.4 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 9, 1993 +.Dt FUNOPEN 3 +.Os +.Sh 名称 +.Nm funopen , +.Nm fropen , +.Nm fwopen +.Nd ストリームのオープン +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft FILE * +.Fn funopen "const void *cookie" "int (*readfn)(void *, char *, int)" "int (*writefn)(void *, const char *, int)" "fpos_t (*seekfn)(void *, fpos_t, int)" "int (*closefn)(void *)" +.Ft FILE * +.Fn fropen "void *cookie" "int (*readfn)(void *, char *, int)" +.Ft FILE * +.Fn fwopen "void *cookie" "int (*writefn)(void *, const char *, int)" +.Sh 解説 +.Fn funopen +関数は、ストリームを最大 4 つの +.Dq Tn I/O No 関数 +に関連付けます。 +.Fa readfn +か +.Fa writefn +のどちらかは必ず指定しなければなりません。 +それ以外の箇所には適当な型の +.Dv NULL +ポインタを与えることができます。 +これらの +.Tn I/O +関数は、新しいストリームに対する +読込み、書込み、シーク、クローズのために使用されます。 +.Pp +通常、関数を省略したということは、 +作成されたストリームに関連付けられた操作を実行すると失敗する、 +ということを意味しています。 +クローズ関数が省略されている場合は、 +ストリームを閉じるとバッファリングされている出力がフラッシュされ、 +成功して終了します。 +.Pp +.Fa readfn , +.Fa writefn , +.Fa seekfn , +.Fa closefn +の呼び出し規則は、それぞれ +.Xr read 2 , +.Xr write 2 , +.Xr seek 2 , +.Xr lseek 2 , +.Xr close 2 +のものと同じですが、通常ファイル記述子引数が置かれる場所に、 +.Fn funopen +に指定された +.Fa cookie +引数が渡されるという違いがあります。 +.Pp +読込みおよび書込み +.Tn I/O +関数は、 +.Xr setvbuf 3 +を呼び出すことによって、 +完全にバッファリングされたもしくは行単位でバッファリングされたストリームの +基礎となるバッファを変更することが許可されています。 +バッファを完全に満たしたり完全に空にしたりすることまでは要求されません。 +しかし、バッファリングされていない状態から +バッファリングされた状態に変更したり、 +行バッファのフラグの状態を変更したりすることは許可されていません。 +最近指定された以外のバッファに対して読込みや書込みの呼び出しが +発生するということに備えておく必要があります。 +.Pp +すべてのユーザ +.Tn I/O +関数は、\-1 を返すことでエラーを報告することができます。 +さらに、エラーが発生した場合、すべての関数は外部変数 +.Va errno +を適切に設定する必要があります。 +.Pp +.Fn closefn +でのエラーは、ストリームを開いた状態には保持しません。 +.Pp +便宜を図るため、インクルードファイル +.Aq Pa stdio.h +では、 +.Fn funopen +を読込みまたは書込み関数だけを指定して呼び出す時のような、 +.Fn fropen +マクロと +.Fn fwopen +マクロが定義されています。 +.Sh 戻り値 +成功して終了すると、 +.Fn funopen +は +.Dv FILE +ポインタを返します。それ以外の場合では +.Dv NULL +が返され、エラーを示す値がグローバル変数 +.Va errno +に設定されます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er EINVAL +.Fn funopen +関数が、読込み関数または書込み関数のどちらも指定されずに呼び出されました。 +.Fn funopen +関数は失敗した時に +.Xr malloc 3 +ルーチンのために指定されたエラーを +.Va errno +に設定することもあります。 +.El +.Sh 関連項目 +.Xr fcntl 2 , +.Xr open 2 , +.Xr fclose 3 , +.Xr fopen 3 , +.Xr fseek 3 , +.Xr setbuf 3 +.Sh 歴史 +.Fn funopen +関数は +.Bx 4.4 +ではじめて登場しました。 +.Sh バグ +.Fn funopen +関数は +.Bx +以外のシステムには移植可能でないかもしれません。 diff --git a/documentation/manual-pages/ja/man3/getbootfile.3 b/documentation/manual-pages/ja/man3/getbootfile.3 new file mode 100644 index 0000000000..9e64124b3f --- /dev/null +++ b/documentation/manual-pages/ja/man3/getbootfile.3 @@ -0,0 +1,73 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/gen/getbootfile.3,v 1.6.2.3 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd September 23, 1994 +.Dt GETBOOTFILE 3 +.Os +.Sh 名称 +.Nm getbootfile +.Nd カーネル起動ファイル名を取得する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In paths.h +.Ft const char * +.Fn getbootfile void +.Sh 解説 +.Fn getbootfile +関数は、現在のカーネルがロードされてきた元のファイルのフルパス名を取り出し、 +そのフルパス名への静的ポインタを返します。 +この情報の読み込み/書き込みインタフェースは、 +.Xr sysctl 3 +MIB 変数 +.Dq Li kern.bootfile +を介して利用できます。 +.Sh 戻り値 +呼び出しが成功した場合はパス名を与える文字列が返されます。 +失敗した場合はヌルポインタが返され、エラーコードがグローバルな位置にある +.Va errno +に入れられます。 +.Sh 関連項目 +.Xr sysctl 3 +.Sh バグ +起動時にカーネルへこの情報を渡すように、起動ブロックが修正されていない場合は、 +実際の起動ファイル名の代わりに静的文字列 +.Dq Pa /kernel +が返されます。 +.Sh 歴史 +.Fn getbootfile +関数呼び出しは +.Fx 2.0 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/getbsize.3 b/documentation/manual-pages/ja/man3/getbsize.3 new file mode 100644 index 0000000000..2f9676c561 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getbsize.3 @@ -0,0 +1,81 @@ +.\" 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. +.\" +.\" @(#)getbsize.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/getbsize.3,v 1.5.2.3 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt GETBSIZE 3 +.Os +.Sh 名称 +.Nm getbsize +.Nd ユーザブロックサイズを取得する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft char * +.Fn getbsize "int *headerlenp" "long *blocksizep" +.Sh 解説 +.Fn getbsize +関数は、ユーザの好みのブロックサイズを、環境変数 +.Dq BLOCKSIZE +の値に基づいて決定します。 +詳しい使用法と形式については、 +.Xr environ 7 +を参照してください。 +.Pp +.Fn getbsize +関数は、 +.Dq 1K-blocks +のようにブロックサイズを記述する、ヌル文字で終わる文字列へのポインタを +返します。 +.Fa headerlenp +によって参照されるメモリには、 +(終端のヌル文字を含まない) この文字列の長さが入れられます。 +.Fa blocksizep +で参照されるメモリには、バイト単位のブロックサイズが入れられます。 +.Pp +ユーザのブロックサイズ指定が不当な場合は、 +標準エラー出力に警告メッセージが書かれ、 +返される情報は 512 バイトのブロックサイズを反映したものとなります。 +.Sh 関連項目 +.Xr df 1 , +.Xr du 1 , +.Xr ls 1 , +.Xr systat 1 , +.Xr environ 7 +.Sh 歴史 +.Fn getbsize +関数は +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/getc.3 b/documentation/manual-pages/ja/man3/getc.3 new file mode 100644 index 0000000000..d4a0750ed2 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getc.3 @@ -0,0 +1,137 @@ +.\" 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. +.\" +.\" @(#)getc.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdio/getc.3,v 1.5.2.5 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt GETC 3 +.Os +.Sh 名称 +.Nm fgetc , +.Nm getc , +.Nm getchar , +.Nm getw +.Nd 入力ストリームから次の文字またはワードを取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft int +.Fn fgetc "FILE *stream" +.Ft int +.Fn getc "FILE *stream" +.Ft int +.Fn getchar +.Ft int +.Fn getw "FILE *stream" +.Sh 解説 +.Fn fgetc +関数は、 +.Fa stream +で指したストリームから、(存在している場合) 次の入力文字を取得するか、 +または、 +.Xr ungetc 3 +によってそのストリームにプッシュバックされた、次の文字を取得します。 +.Pp +.Fn getc +関数は +.Fn fgetc +と基本的に同じ機能ですが、これはインラインで展開するマクロです。 +.Pp +.Fn getchar +関数は、 +引数 stdin がついている +.Fn getc +と同等です。 +.Pp +.Fn getw +関数は +.Fa stream +で指したストリームから、次の +.Em int +を (存在している場合) 取得します。 +.Sh 戻り値 +処理が正常に完了した場合、これらのルーチンはいずれも +.Fa stream +から次の要求オブジェクトを返します。 +ストリームがファイルの終わりに達したか、 +または読込みエラーが発生した場合は +.Dv EOF +を返します。 +ファイルの終わりか、エラーなのかを識別するには、 +.Xr feof 3 +と +.Xr ferror 3 +ルーチンを使用する必要があります。 +エラーが発生した場合は、グローバル変数 +.Va errno +にエラーを示す値が設定されます。 +ファイルの終端を示す状態は端末であってもそのまま残り、 +その後の読み込みに対しては +.Xr clearerr 3 +によって状態がクリアされなければ +.Dv EOF +を返すことになります。 +.Sh 関連項目 +.Xr ferror 3 , +.Xr fopen 3 , +.Xr fread 3 , +.Xr putc 3 , +.Xr ungetc 3 +.Sh 規格 +.Fn fgetc , +.Fn getc +および +.Fn getchar +関数は、 +.St -isoC +に適合しています。 +.Sh バグ +.Dv EOF +は、有効な整数値なので +.Fn getw +を呼び出した後のエラーをチェックするには、 +.Xr feof 3 +および +.Xr ferror 3 +を使用する必要があります。 +.Em int +のサイズとバイト順はマシンによってさまざまです。 +移植可能なアプリケーションが目的なら、 +.Fn getw +の使用は推奨できません。 +.Pp diff --git a/documentation/manual-pages/ja/man3/getcap.3 b/documentation/manual-pages/ja/man3/getcap.3 new file mode 100644 index 0000000000..c4871a4204 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getcap.3 @@ -0,0 +1,505 @@ +.\" Copyright (c) 1992, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Casey Leedom of Lawrence Livermore National Laboratory. +.\" +.\" 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. +.\" +.\" @(#)getcap.3 8.4 (Berkeley) 5/13/94 +.\" +.\" $FreeBSD$ +.Dd May 13, 1994 +.Dt GETCAP 3 +.Os +.Sh 名称 +.Nm cgetent , +.Nm cgetset , +.Nm cgetmatch , +.Nm cgetcap , +.Nm cgetnum , +.Nm cgetstr , +.Nm cgetustr , +.Nm cgetfirst , +.Nm cgetnext , +.Nm cgetclose +.Nd ケーパビリティデータベースにアクセスするルーチン +.Sh 書式 +.Fd #include <stdlib.h> +.Ft int +.Fn cgetent "char **buf" "char **db_array" "char *name" +.Ft int +.Fn cgetset "char *ent" +.Ft int +.Fn cgetmatch "char *buf" "char *name" +.Ft char * +.Fn cgetcap "char *buf" "char *cap" "int type" +.Ft int +.Fn cgetnum "char *buf" "char *cap" "long *num" +.Ft int +.Fn cgetstr "char *buf" "char *cap" "char **str" +.Ft int +.Fn cgetustr "char *buf" "char *cap" "char **str" +.Ft int +.Fn cgetfirst "char **buf" "char **db_array" +.Ft int +.Fn cgetnext "char **buf" "char **db_array" +.Ft int +.Fn cgetclose "void" +.Sh 解説 +.Fn cgetent +は、 +.Dv NULL +で終わるファイル配列 +.Fa db_array +で指定したデータベースから、ケーパビリティ +.Em name +を抜き出し、 +.Fa buf +内に malloc したそのコピーのポインタを返します。 +.Fn cgetent +関数は +.Dv ASCII +ファイルにアクセスする前に、まず、 +.Nm .db +で終わるファイルを探します( +.Xr cap_mkdb 1 +参照)。 +.Fa Buf +は、以後の +.Fn cgetmatch , +.Fn cgetcap , +.Fn cgetnum , +.Fn cgetstr +および +.Fn cgetustr +の呼び出しすべてを通じて保持されなければなりませんが、呼び出しの完了後は +.Xr free 3 +できます。抜き出しに成功した場合は 0が、返すレコードに未解決な +.Nm tc +拡張の含まれている場合は 1が、要求されたレコードの見付からなかった場合は +\-1 が返ります。システムエラー(ファイルがオープンできなかった/読み取れ +なかった、など)が発生した場合は +\-2 が返るとともに、 +.Va errno +が設定されます。また、潜在的な参照ループが検出された場合は +\-3 が返ります(後述の +.Ic tc= +参照)。 +.Pp +.Fn cgetset +関数は、1 つのケーパビリティレコードエントリが含まれた、キャラクタバッ +ファのケーパビリティデータベースへの追加を有効にします。 概念的には、 +このエントリが最初の ``ファイル'' としてデータベースに追加されるので、 +.Fn cgetent +の呼び出しでは最初に検索されます。エントリは +.Fa ent +に渡されますが、 +.Fa ent +が +.Dv NULL +の場合、現在のエントリはデータベースから除去されます。 +.Fn cgetset +の呼び出しは、データベースの走査に先行しなければなりません。 +.Fn cgetent +呼び出しの前に、呼び出す必要があります。シーケンシャルなアクセスを実行 +する場合は、最初のシーケンシャルアクセス呼び出し( +.Fn cgetfirst +または +.Fn cgetnext +)の前に呼び出すか、 +.Fn cgetclose +呼び出しの直後に呼び出す必要があります(後掲参照)。呼び出しに成功した場合は +0 が、失敗した場合は \-1 が返ります。 +.Pp +.Fn cgetmatch +関数は、 +.Em name +がケーパビリティレコード +.Fa buf +の名前の 1つならば 0を、そうでなければ +\-1 を返します。 +.Pp +.Fn cgetcap +関数は、タイプ +.Fa type +によってケーパビリティ +.Fa cap +を、ケーパビリティレコード +.Fa buf +で検索します。タイプは、1 つのキャラクタを使用して指定します。コロン +(`:')を使用した場合は、タイプのないケーパビリティが検索されます(後掲の +タイプの説明を参照してください)。検索が成功した場合は +.Fa buf +にある +.Fa cap +値のポインタが返ります。要求されたケーパビリティが見付からない場合は、 +.Dv NULL +が返ります。ケーパビリティ値の終わりは、 +.Ql : +または +.Tn ASCII +.Dv NUL +で示されます(後掲のケーパビリティデータベースの構文を、参照してくださ +い)。 +.Pp +.Fn cgetnum +関数は、 +.Fa buf +で示されたケーパビリティレコードから、数値ケーパビリティ +.Fa cap +の値を取り出します。この数値は +.Fa num +に示される +.Ft long +で返されます。成功した場合は 0が返ります。要求された数値ケーパビリティが +見付からない場合は \-1 が返ります。 +.Pp +.Fn cgetstr +関数は、 +.Fa buf +で示されたケーパビリティレコードから、ストリングケーパビリティ +.Fa cap +の値を取り出します。そのストリングのデコードされ、 +.Dv NUL +で終わる +.Xr malloc +されたコピーのポインタが、 +.Fa str +に示される +.Ft char * +で返されます。成功した場合は、デコードされたストリングの終端の +.Dv NUL +を含まない数が返ります。要求されたストリングケーパビリティが見付からな +い場合は \-1 が返り、システムエラー(ストレージ割り振りエラー)が発生し +た場合は \-2 が返ります。 +.Pp +.Fn cgetustr +関数は +.Fn cgetstr +と同様な機能ですが、特殊キャラクタを拡張しないで、むしろケーパビリティ +ストリングの、文字どおり各キャラクタを返すところが違います。 +.Pp +.Fn cgetfirst +および +.Fn cgetnext +関数は、ファイル名が +.Dv NULL +ポインタで終わる配列 +.Fa db_array +への、シーケンシャルなアクセスができる関数グループを構成します。 +.Fn cgetfirst +関数は、指定データベースにある最初のレコードを返し、最初のレコードへの +アクセスをリセットします。 +.Fn cgetnext +関数は、前の +.Fn cgetfirst +または +.Fn cgetnext +呼び出しによって返ったレコードの、指定データベースにある次のレコードを +返します。前の呼び出しがない場合は、指定データベースにある最初のレコー +ドを返します。各レコードは +.Fa buf +で示される +.Xt malloc +されたコピーで返り、 +.Ic tc +拡張がなされます。(後掲の +.Ic tc= +の説明を参照してください。) +データベース検索を完了して、返すレコードがない場合は 0が返ります。検索 +に成功して返すレコードがあり、さらに次のレコードの残っている可能性があ +る(データベースの終わりにまだ達していない)場合は 1が返ります。返すレコー +ドに、未解決な +.Nm tc +拡張の含まれている場合は 2が返ります。システムエラーの発生した場合は +\-1 が返ります。潜在的な参照ループが検出された場合は \-2 が返ります。 +(後掲の +.Ic tc= +の説明を参照してください。)データベースが完了した(0が返った)場合、デー +タベースはクローズされます。 +.Pp +.Fn cgetclose +関数は、シーケンシャルなアクセスをクローズし、すべてのメモリおよび使用 +されていたファイル記述子を解放します。 +.Fn cgetset +の呼び出しによってプッシュされたバッファは、消去されないことに注意して +ください。 +.Sh ケーパビリティデータベースの構文 +ケーパビリティデータベースは一般に +.Tn ASCII +です。標準のテキストエディタで編集できます。空白行および `#' で始まる +行はコメントなので無視されます。`\|\e' で終わる行は、次の行が現在の行 +の続きであることを示します。この `\|\e' および後に続く改行は無視されま +す。長い行はふつういくつかの物理行に分割され、最終行を除いて各行末に +`\|\e' が付けられます。 +.Pp +ケーパビリティデータベースは、一連のレコード(1論理行当たり1つ)によって +構成されます。各レコードには、可変数の `:' で分けられたフィールド(ケー +パビリティ)が含まれます。空白スペースキャラクタ(スペースおよびタブ)で、 +すべて構成されるフィールドは無視されます。 +.Pp +各レコードの最初のケーパビリティは、 `|' キャラクタで分けられた名前(複 +数)を指定します。取り決めによって最後の名前は常にコメントで、ルックアッ +プタグとしての意図はありません。たとえば、 +.Nm termcap +データベースの +.Em vt100 +レコードの最初は次のとおりです。 +.Pp +.Dl "d0\||\|vt100\||\|vt100-am\||\|vt100am\||\|dec vt100:" +.Pp +ここでは最初から 4つの名前が、このレコードのアクセスに使用できます。 +.Pp +残りの空白ではないケーパビリティはそれぞれ、オプションでタイプ指定値が +後に続く名前を、(名前、値)結合セットで記述します。次のとおりです。 +.Bl -column "nameTvalue" +.It 名前 Ta "タイプのない[ブール] ケーパビリティ名 [真の]" +.It name Ns Em \&T Ns value Ta 値 +.Em value +をもつケーパビリティ +.Pq Em name , \&T +.It name@ Ta +存在する非ケーパビリティ +.Em name +.It nameT@ Ta +存在しない(非在の)ケーパビリティ +.Pq Em name , \&T +.El +.Pp +名前は、1つまたは複数のキャラクタで構成されます。名前には `:' を除く +あらゆるキャラクタを含めることができますが、印刷可能キャラクタに限定し +て、 `#' 、`=' 、`%' 、`@' などのグラフィックキャラクタの使用を避ける +のが、通常は最良です。タイプは、ケーパビリティ名をそれぞれの関連タイプ +指定値から区別するのに使用される 1つのキャラクタです。`:' を除くすべて +のキャラクタが使用できますが、ふつうは `#'、`=' 、`%' 、などのグラフィッ +クキャラクタが使用されます。値は無制限な数のキャラクタで、`:' を除くす +べてのキャラクタが使用できます。 +.Sh ケーパビリティデータベースの意味論 +ケーパビリティレコードは、(名前、値)結合のセットを記述します。名前は、 +それらに結合された複数の値を持つことができます。1つの名前に対する異な +る値は、それぞれの +.Fa type +によって識別されます。 +.Fn cgetcap +関数は、ケーパビリティ名およびその値のタイプが与えられた、名前の値のポ +インタを返します。 +.Pp +タイプ `#' および `=' は慣用で、数値およびストリングタイプ指定の値を示 +しますが、これらのタイプのそうした用途限定は強制的なものではありません。 +関数 +.Fn cgetnum +および +.Fn cgetstr +によって、`#' および `=' の従来の構文および意味論が実行できます。タイ +プのないケーパビリティは、ふつう真値および偽値をそれぞれ示す存在または +非在付きの、ブールオブジェクトを示します。この解釈は簡単に次のように表 +すことができます。 +.Pp +.Dl "(getcap(buf, name, ':') != NULL)" +.Pp +特殊ケーパビリティ +.Ic tc= name +は、名前によって指定したレコードを +.Ic tc +ケーパビリティに置き換えるように指示します。 +.Ic tc +ケーパビリティは、同じく +.Ic tc +ケーパビリティが含まれたレコードを補間できます。1つのレコード内で、複数の +.Ic tc +ケーパビリティが使用できます。 +.Ic tc +の拡張範囲(すなわち引数が検索される範囲)には、 +.Ic tc +が宣言されたファイル以降の、そのファイル配列にあるすべてのファイルが含 +まれます。 +.Pp +ケーパビリティレコードをデータベースで検索する場合は、その検索で最初に +適合したレコードが返ります。ケーパビリティをレコードでスキャンする場合は、 +最初に適合したケーパビリティが返ります。ケーパビリティ +.Ic :nameT@: +は、後に続く名前のタイプ +.Em T +の値の、あらゆる定義を隠します。また、ケーパビリティ +.Ic :name@: +は、後に続く名前のあらゆる値を不可視にします。 +.Pp +.Ic tc +ケーパビリティと組み合わされたこれらの機能は、新しいケーパビリティを追 +加したり、新しい定義によってこれまでの定義を上書きしたり、または `@' +ケーパビリティによって後に続く定義を隠したりすることによって、ほかのデー +タベースまたはレコードをさまざまに変化させることができます。 +.Sh 例 +.Bd -unfilled -offset indent +example\||\|an example of binding multiple values to names:\e + :foo%bar:foo^blah:foo@:\e + :abc%xyz:abc^frap:abc$@:\e + :tc=more: +.Ed +.Pp +ケーパビリティ foo にはそれに結合された2 つの値(タイプ `%' の bar および +タイプ `^' のblah)があります。結合されたほかのすべての値は隠されています。 +ケーパビリティabc にも結合された2つの値がありますが、ケーパビリティレコード + more での定義が禁止されているのは、タイプ `$' の値だけです。 +.Pp +.Bd -unfilled -offset indent +file1: + new\||\|new_record\||\|a modification of "old":\e + :fript=bar:who-cares@:tc=old:blah:tc=extensions: +file2: + old\||\|old_record\||\|an old database record:\e + :fript=foo:who-cares:glork#200: +.Ed +.Pp +これらのレコードを抜き出す場合は、file2の前にfile1で +.Fn cgetent +を呼び出します。それによって file1 の新ケーパビリティレコード +fript=bar が、file2 の旧ケーパビリティレコードから補間された fript=foo +を上書きします。また、who-cares@ が旧レコードにあるすべての who-cares +定義を不可視にします。さらに、glork#200 が旧レコードから持ち越され、 +blah および、このレコードの拡張によって定義された一切が旧レコード内の +それら定義に追加されます。ここでは、tc=old の前に fript=bar および +who-cares@ の定義を置くことが重要です。それらの定義を tc=old の後に置 +いた場合は、旧レコードの定義が優先されます。 +.Sh CGETNUMおよびCGETSTRの構文と意味論 +.Fn cgetnum +および +.Fn cgetstr +によって定義ずみの、2つのタイプがあります。次のとおりです。 +.Bl -column "nameXnumber" +.Sm off +.It Em name No \&# Em number Ta "値" +.Em number +を持つ数値ケーパビリティ名 +.It Em name No = Em string Ta "値" +.Em string +を持つストリングケーパビリティ名 +.It Em name No \&#@ Ta "存在しない(非在)数値ケーパビリティ名" +.It Em name No \&=@ Ta "存在しない(非在)ストリングケーパビリティ名" +.El +.Pp +数値ケーパビリティ値は、3 つの基数のどれかで与えることができます。 +.Q1 0x +または +.Q1 0X +で始まる数は、16 進数として解釈されます(大文字および小文字の a-f を使っ +て16 進数の拡張桁を示すことができます)。その他の +.Q1 0 +で始まる +数字は、8 進数として解釈されます。残りの数字はすべて 10 進数として解釈 +されます。 +.Pp +ストリングケーパビリティ値には、あらゆるキャラクタを含めることができます。 +印刷可能ではない +.Dv ASCII +コード、改行コードやコロンなどが、エスケープシーケンスを使って簡単に表 +せます。次のとおりです。 +.Bl -column "\e\|X,X\e\|X" "(ASCII octal nnn)" +^X ('X' & 037) コントロール X +\e\|b, \e\|B (ASCII 010) バックスペース +\e\|t, \e\|T (ASCII 011) タブ +\e\|n, \e\|N (ASCII 012) ラインフィード(改行) +\e\|f, \e\|F (ASCII 014) フォームフィード +\e\|r, \e\|R (ASCII 015) キャリッジリターン +\e\|e, \e\|E (ASCII 027) エスケープ +\e\|c, \e\|C (:) コロン +\e\|\e (\e\|) バックスラッシュ +\e\|^ (^) キャレット +\e\|nnn (ASCII 8進数 nnn) +.El +.Pp +`\|\e の後に最大 3 桁の 8 進数を続ければ、特定キャラクタの数値コードを +直接指定することができます。ただし、エンコードは簡単でも +.Dv ASCII +.Dv NUL +を多用すると、あらゆる問題の原因となる可能性があります。 +.Dv NUL +はふつうストリングの終わりを示しますから、使用に当たっては注意が必要 +です。多くのアプリケーションで、 +.Dv NUL +を表すのに `\e\|200' が使用されています。 +.Sh 診断 +.Fn Cgetent , +.Fn cgetset , +.Fn cgetmatch , +.Fn cgetnum , +.Fn cgetstr , +.Fn cgetustr , +.Fn cgetfirst , +および +.Fn cgetnext +などは、いずれも成功した場合は 0またはそれを上回る価を返し、失敗した場 +合は 0を下回る値を返します。 +.Fn cgetcap +関数の場合は、成功するとキャラクタポインタを、失敗すると +.Dv NULL +を返します。 +.Pp +.Fn cgetent +および +.Fn cgetseq +関数の失敗では、 +.Va errno +が、ほかのライブラリ関数 +.Xr fopen 2 , +.Xr close 2 , +.Xr open 2 , +および +.Xr close 2 +などのエラーに設定される場合があります。 +.Pp +.Fn cgetent , +.Fn cgetset , +.Fn cgetstr +および +.Fn cgetustr +の失敗では、次のエラーに +.Va errno +が設定される場合があります。 +.Bl -tag -width Er +.It Bq Er ENOMEM +割り振るメモリがありません。 +.El +.Sh 関連項目 +.Pp +.Xr cap_mkdb 1 , +.Xr malloc 3 +.Sh バグ +コロン (`:') が、名前、タイプ、値に使用できません。 +.Pp +.Fn cgetent +に、 +.Ic tc=name +ループのチェックがありません。 +.Pp +.Fn cgetset +の呼び出しによってバッファをデータベースに追加することは、このデータベー +スに限りませんが、ほかの使用データベースに追加する場合は、後ではなく前 +に付加する方が無難です。 diff --git a/documentation/manual-pages/ja/man3/getcwd.3 b/documentation/manual-pages/ja/man3/getcwd.3 new file mode 100644 index 0000000000..c718bbe084 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getcwd.3 @@ -0,0 +1,150 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/gen/getcwd.3,v 1.7.2.6 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd November 24, 1997 +.Dt GETCWD 3 +.Os +.Sh 名称 +.Nm getcwd , +.Nm getwd +.Nd 作業ディレクトリのパス名を取得する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.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 Er +.It Bq Er EACCES +パス名の構成要素において、 +読み込みまたは検索のパーミッションが拒否されました。 +.Pp +.It Bq Er EINVAL +.Fa size +引数が 0 です。 +.It Bq Er ENOENT +パス名の構成要素がもはや存在しません。 +.It Bq Er ENOMEM +利用できるメモリが十分ではありません。 +.It Bq Er ERANGE +.Fa size +引数が、0 よりも大きいですが、パス名 + 1 よりも小さいです。 +.El +.Sh 関連項目 +.Xr chdir 2 , +.Xr fchdir 2 , +.Xr malloc 3 , +.Xr strerror 3 +.Pp +.Sh 規格 +.Fn getcwd +関数は、 +.St -p1003.1-90 +に適合しています。 +.Dv NULL +ポインタを指定して、必要に応じて +.Fn getcwd +にメモリを割り振らせる機能は拡張部分です。 +.Sh 歴史 +.Fn getwd +関数は、 +.Bx 4.0 +ではじめて登場しました。 +.Sh バグ +.Fn getwd +関数はエラーチェックを十分に行っていません。 +また非常に長いパス名は、有効でも返すことができません。 +この関数は、互換性のために提供されています。 diff --git a/documentation/manual-pages/ja/man3/getdiskbyname.3 b/documentation/manual-pages/ja/man3/getdiskbyname.3 new file mode 100644 index 0000000000..43314af1f9 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getdiskbyname.3 @@ -0,0 +1,65 @@ +.\" 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. +.\" +.\" @(#)getdiskbyname.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/getdiskbyname.3,v 1.3.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt GETDISKBYNAME 3 +.Os +.Sh 名称 +.Nm getdiskbyname +.Nd ディスク名から包括的なディスクの記述を取得する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/disklabel.h +.Ft struct disklabel * +.Fn getdiskbyname "const char *name" +.Sh 解説 +.Fn getdiskbyname +関数はディスク名 (たとえば +.Ql rm03 ) +を引数に取り、ジオメトリ情報および標準のディスクパーティションテーブルを +記述する、プロトタイプのディスクラベルを返します。 +すべての情報は +.Xr disktab 5 +ファイルから得られます。 +.Sh 関連項目 +.Xr disklabel 5 , +.Xr disktab 5 , +.Xr disklabel 8 +.Sh 歴史 +.Fn getdiskbyname +関数は +.Bx 4.3 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/getdomainname.3 b/documentation/manual-pages/ja/man3/getdomainname.3 new file mode 100644 index 0000000000..65c10ca8e2 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getdomainname.3 @@ -0,0 +1,100 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/gen/getdomainname.3,v 1.9.2.5 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 6, 1994 +.Dt GETDOMAINNAME 3 +.Os +.Sh 名称 +.Nm getdomainname , +.Nm setdomainname +.Nd 現在のホストのドメイン名を取得/設定する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.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 +配列のサイズを指定します。 +不十分な空間が渡されない限り、返される値はヌル文字で終了します。 +.Pp +.Fn setdomainname +は、 +ホストマシンのドメイン名を長さ +.Fa namelen +の +.Fa name +に設定します。 +この呼び出しはスーパユーザに限定されており、 +通常はシステムを起動する時にだけ使用されます。 +.Sh 戻り値 +.Rv -std +.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/documentation/manual-pages/ja/man3/getenv.3 b/documentation/manual-pages/ja/man3/getenv.3 new file mode 100644 index 0000000000..b7de268646 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getenv.3 @@ -0,0 +1,160 @@ +.\" Copyright (c) 1988, 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. +.\" +.\" @(#)getenv.3 8.2 (Berkeley) 12/11/93 +.\" %FreeBSD: src/lib/libc/stdlib/getenv.3,v 1.4.2.7 2001/12/14 18:33:58 ru Exp % +.\" $FreeBSD$ +.\" +.Dd December 11, 1993 +.Dt GETENV 3 +.Os +.Sh 名称 +.Nm getenv , +.Nm putenv , +.Nm setenv , +.Nm unsetenv +.Nd 環境変数関数 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft char * +.Fn getenv "const char *name" +.Ft int +.Fn setenv "const char *name" "const char *value" "int overwrite" +.Ft int +.Fn putenv "const char *string" +.Ft void +.Fn unsetenv "const char *name" +.Sh 解説 +これらの関数は、環境変数を設定もしくは削除し、またホストの +.Em environment list +からそれらを取り出します。 +異なる慣習の環境との互換性のため、与えられた引数 +.Ar name +および +.Ar value +はそれぞれ、等価記号 +.Dq Li \&= +によって後に付加することも、前に付加することもできます。 +.Pp +.Fn getenv +関数は、環境変数 +.Ar name +の現在の値を取得します。 +変数 +.Ar name +が現在の環境にない場合は、null ポインタが返ります。 +.Pp +.Fn setenv +関数は、環境変数 +.Ar name +を現在の環境リストに挿入または再設定します。 +変数 +.Ar name +がリストにない場合は、与えられた +.Ar value +に設定されて挿入されます。 +変数が存在する場合は引数 +.Ar overwrite +が検査され、 +.Ar overwrite +が 0 ならば変数 +.Ar name +は再設定されません。 +その他の場合は、与えられた値に再設定されます。 +.Pp +.Fn putenv +関数は、``name=value'' の形で引数をとります。 +これは次と等価です。 +.Bd -literal -offset indent +setenv(name, value, 1); +.Ed +.Pp +.Fn unsetenv +関数は、 +.Fa name +で示される変数名のインスタンスを、リストからすべて削除します。 +.Sh 戻り値 +.Rv -std setenv putenv +.Sh エラー +.Bl -tag -width Er +.It Bq Er ENOMEM +環境にメモリを割り振ることができなかったので、関数 +.Fn setenv +または +.Fn putenv +は失敗しました。 +.El +.Sh 関連項目 +.Xr csh 1 , +.Xr sh 1 , +.Xr execve 2 , +.Xr environ 7 +.Sh 規格 +.Fn getenv +関数は、 +.St -isoC +に適合しています。 +.Sh バグ +異なる大きさの +.Ar value +を同じ +.Ar name +に設定する、連続した +.Fn setenv +や +.Fn putenv +の呼び出しは、メモリリークを引き起こします。 +.Fx +のこれらの関数のセマンティクス +(つまり +.Ar value +の内容はコピーされ、その古い値はいつまでもアクセス可能のまま残される) +によって、このバグは回避不能です。 +このバグを修正するために、将来のバージョンでは、 +このセマンティクスの保証の一つ、もしくは両方を削除するかも知れません。 +.Sh 歴史 +関数 +.Fn setenv +および +.Fn unsetenv +は、 +.At v7 +ではじめて登場しました。 +.Fn putenv +関数は、 +.Bx 4.3 Reno +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/getfsent.3 b/documentation/manual-pages/ja/man3/getfsent.3 new file mode 100644 index 0000000000..6cf1e61389 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getfsent.3 @@ -0,0 +1,137 @@ +.\" 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. +.\" +.\" @(#)getfsent.3 8.1 (Berkeley) 6/4/93 +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt GETFSENT 3 +.Os BSD 4 +.Sh 名称 +.Nm getfsent , +.Nm getfsspec , +.Nm getfsfile , +.Nm setfsent , +.Nm endfsent +.Nd ファイルシステム記述ファイルのエントリを取得 +.Sh 書式 +.Fd #include <fstab.h> +.Ft struct fstab * +.Fn getfsent void +.Ft struct fstab * +.Fn getfsspec "const char *spec" +.Ft struct fstab * +.Fn getfsfile "const char *file" +.Ft int +.Fn setfsent void +.Ft void +.Fn endfsent void +.Sh 解説 +.Fn getfsent , +.Fn getfsspec , +および +.Fn getfsfile +関数はそれぞれ、次に示す構造体を持つオブジェクトのポインタを返します。 +構造体には、ファイルシステム記述ファイル +.Aq Pa fstab.h +にある行の内訳フィールドが含まれます。 +.Bd -literal -offset indent +struct fstab { + char *fs_spec; /* ブロック特殊デバイス名 */ + char *fs_file; /* ファイルシステムのパスプレフィックス */ + char *fs_vfstype; /* ファイルシステムのタイプ, ufs, nfs */ + char *fs_mntops; /* マウントオプション -o */ + char *fs_type; /* fs_mntops からの FSTAB_* */ + int fs_freq; /* ダンプ頻度, 昼間 */ + int fs_passno; /* パラレル fsck のバス番号 */ +}; +.Ed +.Pp +これらのフィールドはそれぞれ、 +.Xr fstab 5 +に記述された意味を持ちます。 +.Pp +.Fn setfsent +関数はファイルをオープンします(前にオープンされていたほかのファイルは +クローズされます)。または、目的のファイルがすでにオープンされている場 +合はリワインドします。 +.Pp +.Fn endfsent +関数はファイルをクローズします。 +.Pp +.Fn getfsspec +および +.Fn getfsfile +関数は、目的のファイルで(必要ならばそれをオープンして)、適合する特殊ファ +イル名またはシステムファイル名を検索します。 +.Pp +データベース全体を読み込むプログラムの場合、 +.Fn getfsent +は次のエントリを(必要ならば目的のファイルをオープンして)読み込みます。 +.Pp +.Dv FSTAB_XX +と等価のタイプフィールドを持つファイルの、エントリはすべて無視されます。 +.Sh 戻り値 +.Fn getfsent , +.Fn getfsspec , +および +.Fn getfsfile +関数は、 +.Dv EOF +またはエラーで +.Dv NULL +ポインタを返します。 +.Fn setfsent +関数は失敗した場合 0を、成功した場合は 1を返します。 +.Fn endfsent +関数の戻り値はありません。 +.Sh 関連ファイル +.Bl -tag -width /etc/fstab -compact +.It Pa /etc/fstab +.El +.Sh 関連項目 +.Xr fstab 5 +.Sh 歴史 +.Fn getfsent +関数は +.Bx 4.0 +で最初に取り入れられました。 +.Fn endfsent , +.Fn getfsfile , +.Fn getfsspec +および +.Fn setfsent +関数は +.Bx 4.3 +で最初に登場しました。 +.Sh バグ +これらの関数は静的データ記憶域を使用します。データが後で必要になる場合は、 +以後の呼び出しで上書きする前に、コピーして保存する必要があります。 diff --git a/documentation/manual-pages/ja/man3/getgrent.3 b/documentation/manual-pages/ja/man3/getgrent.3 new file mode 100644 index 0000000000..734faeab8c --- /dev/null +++ b/documentation/manual-pages/ja/man3/getgrent.3 @@ -0,0 +1,198 @@ +.\" 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.4 2002-05-18 07:12:54 horikawa Exp $ +.\" +.\" $FreeBSD$ +.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 <sys/types.h> +.Fd #include <grp.h> +.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/documentation/manual-pages/ja/man3/getgrouplist.3 b/documentation/manual-pages/ja/man3/getgrouplist.3 new file mode 100644 index 0000000000..4ddc1ab166 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getgrouplist.3 @@ -0,0 +1,90 @@ +.\" 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. +.\" +.\" @(#)getgrouplist.3 8.1 (Berkeley) 6/9/93 +.\" +.\" $FreeBSD$ +.Dd June 9, 1993 +.Dt GETGROUPLIST 3 +.Os +.Sh 名称 +.Nm getgrouplist +.Nd グループアクセスリストの演算 +.Sh 書式 +.Fd #include <unistd.h> +.Ft int +.Fn getgrouplist "const char *name" "int basegid" "int *groups" "int *ngroups" +.Sh 解説 +.Fn getgrouplist +関数はグループファイルを読み通して、 +.Fa name +で指定したユーザ +のためにグループアクセスリストを演算します。グループリストには、 +.Fa basegid +が自動的に含まれます。通常、この値はパスワードファイルから、 +グループ番号として与えられます。 +.Pp +結果のグループリストは、 +.Fa groups +で指された整数配列で返されます。呼び出し元は +.Fa ngroups +に示された整数で +.Fa groups +配列の大きさを指定します。見付かった +グループの実際の数は、 +.Fa ngroups +で返ります。 +.Sh 戻り値 +.Fn getgrouplist +関数は、そのユーザのグループすべてを保持するには、 +グループリストのサイズが小さすぎる場合、\-1 を返します。 +グループ配列はこの場合、大きさに見合うだけの数のグループで満たされます。 +.Sh 関連ファイル +.Bl -tag -width /etc/group -compact +.It Pa /etc/group +グループ会員リスト +.El +.Sh 関連項目 +.Xr setgroups 2 , +.Xr initgroups 3 +.Sh 歴史 +.Fn getgrouplist +関数は +.Bx 4.4 +で最初に取り入れられました。 +.Sh バグ +.Fn getgrouplist +関数は、 +.Xr getgrent 3 +に基づくルーチンを使用します。 +したがって、呼び出しプログラムがこれらのルーチンのどれかを使用すると、 +.Fn getgrouplist +の呼び出しによってグループ構造体が上書きされます。 diff --git a/documentation/manual-pages/ja/man3/gethostbyname.3 b/documentation/manual-pages/ja/man3/gethostbyname.3 new file mode 100644 index 0000000000..224e720a67 --- /dev/null +++ b/documentation/manual-pages/ja/man3/gethostbyname.3 @@ -0,0 +1,294 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/net/gethostbyname.3,v 1.12.2.7 2001/12/14 18:33:55 ru Exp % +.\" $FreeBSD$ +.\" +.Dd May 25, 1995 +.Dt GETHOSTBYNAME 3 +.Os +.Sh 名称 +.Nm gethostbyname , +.Nm gethostbyname2 , +.Nm gethostbyaddr , +.Nm gethostent , +.Nm sethostent , +.Nm endhostent , +.Nm herror , +.Nm hstrerror +.Nd ネットワークホストのエントリの取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In netdb.h +.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 Va h_name +ホストの正式名。 +.It Va h_aliases +ホストの別名 (エイリアス) のヌルで終わる配列。 +.It Va h_addrtype +返されるアドレスのタイプであり、通常は +.Dv AF_INET +。 +.It Va h_length +アドレスのバイト数による長さ。 +.It Va h_addr_list +ホストのネットワークアドレスのヌルで終わる配列。 +ホストアドレスはネットワークバイトオーダで返されます。 +.It Va h_addr +.Va h_addr_list +にある最初のアドレスであり、後方互換用。 +.El +.Pp +ネームサーバを使用する場合、名前がドットで終わっていない時は +.Fn gethostbyname +および +.Fn gethostbyname2 +は名前が付いたホストを、現在のドメインと親のドメインから検索します。 +名前にドットが含まれてなく、且つ環境変数 +.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 +のそれぞれ呼び出し後にも、接続を保持するようにオプションを設定します。 +フラグが 0 の時、問い合わせは +.Tn UDP +データグラムを使用して +実行されます。 +.Pp +.Fn endhostent +関数は +.Tn TCP +接続をクローズします。 +.Pp +.Fn herror +関数は診断出力にメッセージを書き出します。 +診断出力は文字列パラメータ +.Fa s +と、定数文字列 +.Qq Li ":\ " +と、 +.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 +のエラー状態は、 +.Dv NULL +ポインタが返ることで示されます。その場合は外部整数 +.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 getaddrinfo 3 , +.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 +関数はファイルをクローズします。 +.Sh 歴史 +.Fn herror +関数は +.Bx 4.3 +で登場しました。 +.Fn endhostent , +.Fn gethostbyaddr , +.Fn gethostbyname , +.Fn gethostent , +.Fn sethostent +関数は +.Bx 4.2 +で登場しました。 +.Fn gethostbyname2 +関数は +.Tn BIND +バージョン 4.9.4 ではじめて登場しました。 +.Sh バグ +これらの関数は静的データ記憶域を使用します。 +後でこのデータを使う必要がある場合は、以後のこれらの関数呼び出しで +データが上書きされる前に、コピーして保存する必要があります。 +なお、アドレスデータとして受け入れるのは現在、 +インターネットアドレスフォーマットだけです。 diff --git a/documentation/manual-pages/ja/man3/gethostid.3 b/documentation/manual-pages/ja/man3/gethostid.3 new file mode 100644 index 0000000000..d4f9fc2aa6 --- /dev/null +++ b/documentation/manual-pages/ja/man3/gethostid.3 @@ -0,0 +1,79 @@ +.\" 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. +.\" +.\" @(#)gethostid.3 8.1 (Berkeley) 6/2/93 +.\" %FreeBSD: src/lib/libc/compat-43/gethostid.3,v 1.5.2.5 2001/12/14 18:33:49 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 2, 1993 +.Dt GETHOSTID 3 +.Os BSD 4.2 +.Sh 名称 +.Nm gethostid , +.Nm sethostid +.Nd 現在のホストの固有の識別子の取得 / 設定 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft long +.Fn gethostid void +.Ft void +.Fn sethostid "long hostid" +.Sh 解説 +.Fn sethostid +は現在のプロセッサの 32 ビット識別子を設定します。 +識別子は現存するすべての UNIX システムのなかで、固有であることが意図されます。 +通常はローカルマシンの DARPA インターネットアドレスです。 +この関数を呼び出せるのはスーパユーザだけで、通常は起動時に実行されます。 +.Pp +.Fn gethostid +は、現在のプロセッサの 32 ビット識別子を返します。 +.Pp +この関数は旧式なものとなりました。 +hostid の設定および取り出しには +.Xr sysctl 3 +を使用すべきです。 +.Sh 関連項目 +.Xr gethostname 3 , +.Xr sysctl 3 , +.Xr sysctl 8 +.Sh バグ +この識別子が 32 ビットでは小さすぎます。 +.Sh 歴史 +.Fn gethostid +および +.Fn sethostid +システムコールは、 +.Bx 4.2 +で登場し、 +.Bx 4.4 +で打ち切られました。 diff --git a/documentation/manual-pages/ja/man3/gethostname.3 b/documentation/manual-pages/ja/man3/gethostname.3 new file mode 100644 index 0000000000..6255017150 --- /dev/null +++ b/documentation/manual-pages/ja/man3/gethostname.3 @@ -0,0 +1,99 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/gen/gethostname.3,v 1.5.2.5 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt GETHOSTNAME 3 +.Os BSD 4.2 +.Sh 名称 +.Nm gethostname , +.Nm sethostname +.Nd 現在のホストの名前の取得 / 設定 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft int +.Fn gethostname "char *name" "int namelen" +.Ft int +.Fn sethostname "const char *name" "int namelen" +.Sh 解説 +.Fn gethostname +は +.Fn sethostname +によって前に設定された、現在のプロセッサの標準のホスト名を返します。パラメータ +.Fa namelen +は +.Fa name +配列のサイズを指定します。 +使用できる空間が不十分な場合を除いて、返される名前はヌルで終わります。 +.Pp +.Fn sethostname +は、長さ +.Fa namelen +の +.Fa name +という、ホストマシン名を設定します。 +この呼び出しはスーパユーザに限定され、 +通常はシステムのブートストラップ時にだけ実行されます。 +.Sh 戻り値 +.Rv -std +.Sh エラー +これらの呼び出しによって、次のエラーが返る場合があります。 +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa name +または +.Fa namelen +パラメータが、無効なアドレスを与えました。 +.It Bq Er EPERM +呼び出し元がホスト名を設定しようとしましたが、 +スーパユーザではありませんでした。 +.El +.Sh 関連項目 +.Xr gethostid 3 , +.Xr sysctl 3 +.Sh バグ +ホスト名の長さが MAXHOSTNAMELEN ( +.Ao Pa sys/param.h Ac +から取得) 文字に制限されてあり、 +現在の設定は 256 文字です。 +この文字には末尾の +.Dv ヌル +も含みます。 +.Sh 歴史 +.Fn gethostname +関数は、 +.Bx 4.2 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/getloadavg.3 b/documentation/manual-pages/ja/man3/getloadavg.3 new file mode 100644 index 0000000000..d238a0f156 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getloadavg.3 @@ -0,0 +1,65 @@ +.\" 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. +.\" +.\" @(#)getloadavg.3 8.1 (Berkeley) 6/4/93 +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt GETLOADAVG 3 +.Os +.Sh 名称 +.Nm getloadavg +.Nd システムの負荷平均の取得 +.Sh 書式 +.Fd #include <stdlib.h> +.Ft int +.Fn getloadavg "double loadavg[]" "int nelem" +.Sh 解説 +.Fn getloadavg +関数は、さまざまな期間で平均したシステム実行待ち行列のプロセス数を返します。 +最大個数 +.Fa nelem +のサンプルが取り出され、 +.Fa loadavg Ns Bq +の逐次要素に割り当てられます。システムは直近の 1, 5, 15 分間での平均を示す、 +最大 3 個のサンプルを必要とします。 +.Sh 診断 +負荷平均が得られなかった場合は -1 が返ります。 +その他の場合は、実際に取り出されたサンプルの個数が返ります。 +.Sh 関連項目 +.Xr uptime 1 , +.Xr kvm_getloadavg 3 , +.Xr sysctl 3 +.Sh 歴史 +.Fn getloadavg +関数は、 +.Bx 4.3 Reno +で最初に取り入れられました。 diff --git a/documentation/manual-pages/ja/man3/getmntinfo.3 b/documentation/manual-pages/ja/man3/getmntinfo.3 new file mode 100644 index 0000000000..a3b404db7f --- /dev/null +++ b/documentation/manual-pages/ja/man3/getmntinfo.3 @@ -0,0 +1,104 @@ +.\" 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. +.\" +.\" @(#)getmntinfo.3 8.1 (Berkeley) 6/9/93 +.\" +.\" $FreeBSD$ +.Dd June 9, 1993 +.Dt GETMNTINFO 3 +.Os +.Sh 名称 +.Nm getmntinfo +.Nd マウントしたファイルシステム情報の取得 +.Sh 書式 +.Fd #include <sys/param.h> +.Fd #include <sys/ucred.h> +.Fd #include <sys/mount.h> +.Ft int +.Fn getmntinfo "struct statfs **mntbufp" "int flags" +.Sh 解説 +.Fn getmntinfo +関数は、現在マウントしているファイルシステムをそれぞれ記述する、 +.Fn statfs +構造体の配列を返します ( +.Xr statfs 2 +を参照してください)。 +.Pp +.Fn getmntinfo +関数は、その +.Fa flags +パラメータを透過的に +.Xr getfsstat 2 +へ渡します。 +.Sh 戻り値 +無事に完了した場合、 +.Fn getmntinfo +は目的の配列にある要素数のカウント返します。配列のポインタは +.Fa mntbufp +に格納されます。 +エラーが起こると 0 が返り、エラーを示すために外部変数 +.Va errno +が設定されます。ポインタ +.Fa mntbufp +は改変されませんが、 +.Fn getmntinfo +によって前に返されたすべての情報は失われます。 +.Pp +.Sh エラー +.Fn getmntinfo +関数は失敗することがあり、ライブラリルーチン +.Xr getfsstat 2 +または +.Xr malloc 3 +のエラーとして指定される +.Va errno +を返します。 +.Sh 関連項目 +.Xr getfsstat 2 , +.Xr mount 2 , +.Xr statfs 2 , +.Xr mount 8 +.Sh 歴史 +.Fn getmntinfo +関数は +.Bx 4.4 +で最初に取り入れられました。 +.Sh バグ +.Fn getmntinfo +関数は構造体の配列を内部静的オブジェクトに書き込み、その +オブジェクトのポインタを返します。以後の +.Fn getmntinfo +の呼び出しは同じオブジェクトを改変します。 +.Pp +.Fn getmntinfo +によって割り振られたメモリは、アプリケーションによって +.Xr free 3 +できません。 diff --git a/documentation/manual-pages/ja/man3/getnetent.3 b/documentation/manual-pages/ja/man3/getnetent.3 new file mode 100644 index 0000000000..b9bf040be2 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getnetent.3 @@ -0,0 +1,146 @@ +.\" 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. +.\" +.\" @(#)getnetent.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/net/getnetent.3,v 1.11.2.4 2001/12/14 18:33:55 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt GETNETENT 3 +.Os +.Sh 名称 +.Nm getnetent , +.Nm getnetbyaddr , +.Nm getnetbyname , +.Nm setnetent , +.Nm endnetent +.Nd ネットワークエントリの取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In netdb.h +.Ft struct netent * +.Fn getnetent void +.Ft struct netent * +.Fn getnetbyname "const char *name" +.Ft struct netent * +.Fn getnetbyaddr "unsigned long net" "int type" +.Ft void +.Fn setnetent "int stayopen" +.Ft void +.Fn endnetent void +.Sh 解説 +.Fn getnetent , +.Fn getnetbyname , +.Fn getnetbyaddr +関数はそれぞれ、次に示す構造を持つオブジェクトへのポインタを返します。 +構造体には、ネットワークデータベース +.Pa /etc/networks +にある行の内訳フィールドが含まれます。 +.Bd -literal -offset indent +struct netent { + char *n_name; /* ネットワークの正式名 */ + char **n_aliases; /* 別名リスト */ + int n_addrtype; /* ネット番号のタイプ */ + unsigned long n_net; /* ネット番号 */ +}; +.Ed +.Pp +この構造体のメンバは次のとおりです。 +.Bl -tag -width n_addrtype +.It Fa n_name +ネットワークの正式名。 +.It Fa n_aliases +ネットワークの別名 (エイリアス) の 0 で終わるリスト。 +.It Fa n_addrtype +返されるネットワーク番号のタイプであり、現在は +.Dv AF_INET +だけです。 +.It Fa n_net +ネットワーク番号。 +ネットワーク番号は、マシンバイトオーダで返されます。 +.El +.Pp +.Fn getnetent +関数はファイルの次の行を読み込みます。 +この際、必要ならば目的のファイルをオープンします。 +.Pp +.Fn setnetent +関数は、目的のファイルをオープンしリワインドします。 +.Fa stayopen +フラグが 0 でなければ、 +.Fn getnetbyname +または +.Fn getnetbyaddr +のそれぞれの呼び出しの後でも、ネットデータベースはクローズされません。 +.Pp +.Fn endnetent +関数はファイルをクローズします。 +.Pp +.Fn getnetbyname +関数および +.Fn getnetbyaddr +は、適合するネット名またはネットアドレスおよびタイプが見つかるか、または +.Dv EOF +に達するまで、ファイルを最初から順次検索します。 +.Fa type +は +.Dv AF_INET +でなければなりません。 +ネットワーク番号はホストオーダで返されます。 +.Sh 関連ファイル +.Bl -tag -width /etc/networks -compact +.It Pa /etc/networks +.El +.Sh 診断 +.Dv EOF +またはエラーの場合は、 +ヌルポインタ (0) が返ります。 +.Sh 関連項目 +.Xr networks 5 +.Pp +.%T RFC 1101 +.Sh 歴史 +.Fn getnetent , +.Fn getnetbyaddr , +.Fn getnetbyname , +.Fn setnetent , +.Fn endnetent +関数は、 +.Bx 4.2 +で登場しました。 +.Sh バグ +これらの関数で使用されるデータ空間は静的です。 +後でこのデータを使う必要がある場合は、以後のこれら関数の呼び出しで +データが上書きされる前に、コピーして保存する必要があります。 +データとして受け入れられるのは現在、インターネットネットワーク番号だけです。 +ネットワーク番号が 32 ビットを超えない範囲に収まっていると期待するのは、 +おそらく素朴過ぎます。 diff --git a/documentation/manual-pages/ja/man3/getnetgrent.3 b/documentation/manual-pages/ja/man3/getnetgrent.3 new file mode 100644 index 0000000000..11e2f0b460 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getnetgrent.3 @@ -0,0 +1,130 @@ +.\" Copyright (c) 1992, 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. +.\" +.\" @(#)getnetgrent.3 8.1 (Berkeley) 6/4/93 +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt GETNETGRENT 3 +.Os +.Sh 名称 +.Nm getnetgrent , +.Nm innetgr , +.Nm setnetgrent , +.Nm endnetgrent +.Nd ネットグループデータベースの操作 +.Sh 書式 +.Ft int +.Fn getnetgrent "char **host" "char **user" "char **domain" +.Ft int +.Fn innetgr "const char *netgroup" "const char *host" "const char *user" "const char *domain" +.Ft void +.Fn setnetgrent "const char *netgroup" +.Ft void +.Fn endnetgrent void +.Sh 解説 +これらの関数はいずれも、 +.Xr netgroup 5 +に記述されたネットグループデータベースのファイル +/etc/netgroup +を操作します。データベースはネットグループの集合を定義しますが、 +ネットグループはぞれぞれ、1 つまたは複数の次のような 3 つ組で構成されます。 +.Bd -literal -offset indent +(host, user, domain) +.Ed +それぞれ、ホスト、ユーザおよびドメインの組み合わせを定義します。 +3 つのフィールドのどれにも、あらゆるストリングに適合する +`'ワイルドカード' を指定可能です。 +.Pp +関数 +.Fn getnetgrent +は、現在のネットグループの次のメンバの、文字列に対する +3 つのポインタ引数を設定します。文字列ポインタのどれかが +.Sy (char *)0 +だと、そのフィールドはワイルドカードと見なされます。 +.Pp +関数 +.Fn setnetgrent +は現在のネットグループを設定し、 +.Fn endnetgrent +は現在のネットグループを終了します。 +前の呼び出しとは違うネットグループに対して +.Fn setnetgrent +が呼び出された場合、暗黙に +.Fn endnetgrent +が実行されます。 +.Fn setnetgrent +はまた、ネットグループの最初のメンバのオフセットを設定します。 +.Pp +関数 +.Fn innetgr +は適合するものがあるかどうか、指定したグループにあるすべての +フィールドを検索します。 +.Sy host +.Sy user +.Sy domain +引数のどれかが +.Sy (char *)0 +の場合、そのフィールドは指定されたネットグループメンバのあらゆる +文字列値に適合します。 +.Sh 戻り値 +関数 +.Fn getnetgrent +は ``それ以上ネットグループメンバがない'' 場合には 0 を返し、 +その他の場合は 1 を返します。 +関数 +.Fn innetgr +は、適合するフィールドがあった場合は 1 を、 +その他の場合は 0 を返します。 +関数 +.Fn setnetgrent +および +.Fn endnetgrent +には戻り値がありません。 +.Sh 関連ファイル +.Bl -tag -width /etc/netgroup -compact +.It Pa /etc/netgroup +ネットグループデータベースファイル +.El +.Sh 関連項目 +.Xr netgroup 5 +.Sh 互換性 +ネットグループメンバには、他のベンダによる実装との互換性を維持するために +3 つの文字列フィールドがありますが、 +.Sy domain +文字列の BSD 内での使用法が明らかではありません。 +.Sh バグ +関数 +.Fn getnetgrent +は、動的に割り振られたデータ領域のポインタを返しますが、 +関数 +.Fn endnetgrent +が呼び出されるとそのデータ領域は解放されます。 diff --git a/documentation/manual-pages/ja/man3/getopt.3 b/documentation/manual-pages/ja/man3/getopt.3 new file mode 100644 index 0000000000..5e48f00c54 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getopt.3 @@ -0,0 +1,266 @@ +.\" Copyright (c) 1988, 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. +.\" +.\" @(#)getopt.3 8.5 (Berkeley) 4/27/95 +.\" %FreeBSD: src/lib/libc/stdlib/getopt.3,v 1.11.2.8 2001/12/14 18:33:58 ru Exp % +.\" $FreeBSD$ +.\" +.Dd April 27, 1995 +.Dt GETOPT 3 +.Os +.Sh 名称 +.Nm getopt +.Nd コマンドラインの引数リストからのオプション文字の取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Vt extern char *optarg ; +.Vt extern int optind ; +.Vt extern int optopt ; +.Vt extern int opterr ; +.Vt extern int optreset ; +.Ft int +.Fn getopt "int argc" "char * const *argv" "const char *optstring" +.Sh 解説 +.Fn getopt +関数は、コマンドラインの引数リスト +.Fa argv +を逐次的に解析して、次の +.Em 既知 +オプション文字を返します。 +受け入れオプション文字集合の文字列 +.Fa optstring +に指定されていた場合、そのオプション文字は +.Em 既知 +です。 +.Pp +オプション文字列 +.Fa optstring +は次の要素含み得ます。 +それは、個々の文字と、後にコロンが付いた文字です。 +コロン付きの文字は、後にオプションの引数が続くことを意味します。 +たとえば、オプション文字列 +.Li "\&""x"" +はオプション +.Dq Fl x +を受け入れ、オプション文字列 +.Li "\&""x:"" +はオプションと引数 +.Dq Fl x argument +を受け入れます。 +後に続く引数の頭に空白があっても、 +.Fn getopt +は構いません。 +.Pp +.Fn getopt +から戻った時、 +.Va optarg +は、それが予期されていればオプションの引数を示しており、変数 +.Va optind +には、以後の +.Fn getopt +呼び出しで使用する次の +.Fa argv +引数のインデックスが含まれます。 +また変数 +.Va optopt +は、 +.Fn getopt +によって返された最後の +.Em 既知 +オプション文字を保存してます。 +.Pp +変数 +.Va opterr +および +.Va optind +はどちらも 1 に初期化されます。 +一連の +.Fn getopt +呼び出しの前ならば、いくつかの +.Fa argv +エントリを飛び越すために、 +.Va optind +変数を別の値に設定できます。 +.Pp +複数セットの引数の評価、または 1 つの引数セットの複数回評価のために +.Fn getopt +を使用する場合、2 回目以降行われる追加の各一連の +.Fn getopt +呼び出し前に、変数 +.Va optreset +を 1 に設定し、変数 +.Va optind +を再初期化する必要があります。 +.Pp +.Fn getopt +関数は、引数リストを使い果たした場合 \-1 を、受け入れられない +オプションに出会った場合は +.Ql ?\& +を返します。引数リストにあるオプションの解釈は、オプション +.Ql -- +(2 重のダッシュ) によって取り消すことができます。 +このオプションによって、 +.Fn getopt +は引数処理の終わりを伝え、\-1 を返します。 +すべてのオプションの処理が終わると +(すなわち、最初の非オプション引数に出会うと) +.Fn getopt +は \-1 を返します。 +.Sh 診断 +文字列 +.Va optstring +にない文字に出会うか、またはオプション引数の欠落を検出すると、 +.Fn getopt +関数はエラーメッセージを +.Em stderr +に書き出して +.Ql ?\& +を返します。 +.Va opterr +を 0 に設定すると、これらのエラーメッセージは無効になります。 +.Fa optstring +の頭に +.Ql \&: +を付ければ、オプション引数に +欠落があった場合、あらゆるエラーメッセージを抑制した上で +.Ql \&: +が返ります。 +.Pp +オプション引数を +.Dq Li \- +で開始可能です。これは合理的ですが、反面で +可能なエラーチェック回数を減らすという不利があります。 +.Sh 拡張 +.Fn getopt +関数の複数回呼び出しを可能にするため、 +.Va optreset +変数が追加されました。これは +.St -p1003.2 +規格への拡張です。 +.Sh 使用例 +.Bd -literal -compact +int bflag, ch, fd; + +bflag = 0; +while ((ch = getopt(argc, argv, "bf:")) != -1) + switch (ch) { + case 'b': + bflag = 1; + break; + case 'f': + if ((fd = open(optarg, O_RDONLY, 0)) < 0) + err(1, "%s", optarg); + break; + case '?': + default: + usage(); + } +argc -= optind; +argv += optind; +.Ed +.Sh 歴史 +.Fn getopt +関数は +.Bx 4.3 +ではじめて登場しました。 +.Sh バグ +かつて +.Fn getopt +関数は、\-1 の代わりに +.Dv EOF +を返すように定められていました。 +この仕様は、 +.Fn getopt +を +.Pa <stdio.h> +から切り離すために +.St -p1003.2-92 +で変更されました。 +.Pp +関連する引数を持つことは +.Em 決して +許されませんが、 +.Fa optstring +の文字として単一ダッシュ +.Dq Li - +も指定できます。 +このため、オプションフラグとして +.Dq Li - +を期待しているプログラムでも、 +.Fn getopt +を使用可能です。 +しかし、これは良い方法ではありません。 +現在のどのようなプログラム開発でも、これを使うべきではありません。 +下位互換のため +.Em だけ +に存在します。 +デフォルトで単一ダッシュは、 +.Fn getopt +に \-1 を返させます。 +これは System V と互換であるはずです。 +.Pp +オプション文字として数字も使えます。 +このため、オプションとして数字 +.Pq Dq Li \&-\&3 +を期待しているプログラムでも +.Fn getopt +を使用可能です。 +しかし、これは良い方法ではありません。 +現在のどのようなプログラム開発でも、これを使うべきではありません。 +下位互換のため +.Em だけ +に存在します。 +次のコードフラグメントが、ほとんどの場合 (でもすべてではない) に動作します。 +.Bd -literal -offset indent +int length; +char *p, *ep; + +while ((ch = getopt(argc, argv, "0123456789")) != -1) + switch (ch) { + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + p = argv[optind - 1]; + if (p[0] == '-' && p[1] == ch && !p[2]) + length = strtol(++p, &ep, 10); + else if (argv[optind] && argv[optind][1] == ch) { + length = strtol((p = argv[optind] + 1), + &ep, 10); + optind++; + optreset = 1; + } else + usage(); + if (*ep != '\0') + errx(EX_USAGE, "illegal number -- %s", p); + break; + } +.Ed diff --git a/documentation/manual-pages/ja/man3/getpagesize.3 b/documentation/manual-pages/ja/man3/getpagesize.3 new file mode 100644 index 0000000000..b751268319 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getpagesize.3 @@ -0,0 +1,61 @@ +.\" 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. +.\" +.\" @(#)getpagesize.3 8.1 (Berkeley) 6/4/93 +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt GETPAGESIZE 3 +.Os BSD 4.2 +.Sh 名称 +.Nm getpagesize +.Nd システムのページサイズを取得 +.Sh 書式 +.Fd #include <unistd.h> +.Ft int +.Fn getpagesize void +.Sh 解説 +.Fn getpagesize +は +1 ページのバイト数を返します。ページの細分性は、多くの +メモリ管理呼び出しの細分性です。 +.Pp +ページサイズはシステムのページサイズで、基礎となるハードウェアの +ページサイズとは異なる場合があります。 +.Sh 関連項目 +.Xr pagesize 1 +、 +.Xr sbrk 2 +.Sh 歴史 +.Fn getpagesize +関数の呼び出しは、 +.Bx 4.2 +で最初に取り入れられました。 diff --git a/documentation/manual-pages/ja/man3/getpass.3 b/documentation/manual-pages/ja/man3/getpass.3 new file mode 100644 index 0000000000..0947581f2e --- /dev/null +++ b/documentation/manual-pages/ja/man3/getpass.3 @@ -0,0 +1,96 @@ +.\" 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. +.\" +.\" @(#)getpass.3 8.1 (Berkeley) 6/4/93 +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt GETPASS 3 +.Os +.Sh 名称 +.Nm getpass +.Nd パスワードを取得 +.Sh 書式 +.Fd #include <pwd.h> +.Fd #include <unistd.h> +.Ft char * +.Fn getpass "const char *prompt" +.Sh 解説 +.Fn getpass +関数は +.Pa /dev/tty +にプロンプトを表示し、パスワードをそこから読み +込みます。ファイルにアクセスできない場合、 +.Fn getpass +はプロンプトを標準 +エラー出力に表示し、標準入力からパスワードを読み込みます。 +.Pp +パスワードの長さは最大 +_PASSWORD_LEN (現在 +128) +キャラクタまで可能です。 +それを超えるキャラクタと終端の改行キャラクタは廃棄されます。 +.Pp +パスワードの読み込み中、 +.Fn getpass +関数はキャラクタのエコーをオフにします。 +.Pp +.Sh 戻り値 +.Fn getpass +関数は、 +null +で終わるパスワードのポインタを返します。 +.Sh 関連ファイル +.Bl -tag -width /dev/tty -compact +.It Pa /dev/tty +.El +.Sh 関連項目 +.Xr crypt 3 +.Sh 歴史 +.Fn getpass +関数は、 +.At v7 +で最初に取り入れられました。 +.Sh バグ +.Fn getpass +関数は内部静的オブジェクトに処理結果を残し、オブジェクトの +ポインタを返します。以後の +.Fn getpass +呼び出しが同じオブジェクトを改変します。 +.Pp +クリアテキストパスワードが、この処理のアドレス空間に可視の状態で残るのを +回避するためには、この関数の呼び出し処理によってできるだけ早くパスワードを +ゼロにする必要があります。 +.Pp +SIGTSTP +を受け取ると入力バッファはフラッシュされます。したがって処理を +継続する場合は、一部タイプ指定したパスワードはすべて再入力する +必要があります。 diff --git a/documentation/manual-pages/ja/man3/getprotoent.3 b/documentation/manual-pages/ja/man3/getprotoent.3 new file mode 100644 index 0000000000..df0a7423e6 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getprotoent.3 @@ -0,0 +1,138 @@ +.\" 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. +.\" +.\" @(#)getprotoent.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/net/getprotoent.3,v 1.4.2.4 2001/12/14 18:33:55 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt GETPROTOENT 3 +.Os +.Sh 名称 +.Nm getprotoent , +.Nm getprotobynumber , +.Nm getprotobyname , +.Nm setprotoent , +.Nm endprotoent +.Nd プロトコルエントリの取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In netdb.h +.Ft struct protoent * +.Fn getprotoent void +.Ft struct protoent * +.Fn getprotobyname "const char *name" +.Ft struct protoent * +.Fn getprotobynumber "int proto" +.Ft void +.Fn setprotoent "int stayopen" +.Ft void +.Fn endprotoent void +.Sh 解説 +.Fn getprotoent , +.Fn getprotobyname , +および +.Fn getprotobynumber +関数はそれぞれ、次に示す構造を持つオブジェクトへのポインタを返します。 +構造体には、ネットワークプロトコルデータベース +.Pa /etc/protocols +にある行の内訳フィールドが含まれます。 +.Bd -literal -offset indent +.Pp +struct protoent { + char *p_name; /* プロトコルのオフィシャル名 */ + char **p_aliases; /* エイリアスリスト */ + int p_proto; /* プロトコル番号 */ +}; +.Ed +.Pp +この構造体のメンバは次のとおりです。 +.Bl -tag -width p_aliases +.It Fa p_name +プロトコルのオフィシャル名。 +.It Fa p_aliases +プロトコルの別名 (エイリアス) の 0 で終わるリスト。 +.It Fa p_proto +プロトコル番号。 +.El +.Pp +.Fn getprotoent +関数は、ファイルの次の行を読み込みます。 +この際、必要ならばファイルをオープンします。 +.Pp +.Fn setprotoent +関数は、ファイルをオープンしてリワインドします。 +.Fa stayopen +フラグが 0 でなければ、 +.Fn getprotobyname +または +.Fn getprotobynumber +のそれぞれの呼び出しの後でも、ネットデータベースはクローズされません。 +.Pp +.Fn endprotoent +関数はファイルをクローズします。 +.Pp +.Fn getprotobyname +および +.Fn getprotobynumber +関数は、適合するプロトコル名またはプロトコル番号が見つかるか、または +.Dv EOF +に達するまで、ファイルを最初から順次検索します。 +.Sh 戻り値 +.Dv EOF +またはエラーで +Null +ポインタ +(0) +が返ります。 +.Sh 関連ファイル +.Bl -tag -width /etc/protocols -compact +.It Pa /etc/protocols +.El +.Sh 関連項目 +.Xr protocols 5 +.Sh 歴史 +.Fn getprotoent , +.Fn getprotobynumber , +.Fn getprotobyname , +.Fn setprotoent +および +.Fn endprotoent +関数は +.Bx 4.2 +で登場しました。 +.Sh バグ +これらの関数は静的データ空間を使用します。 +後でこのデータを使用する必要があれば、以後のこれらの関数の呼び出しで +データが上書きされる前に、コピーして保存する必要があります。 +なお、プロトコルデータとして受け入れるのは現在、 +インターネットプロトコルだけです。 diff --git a/documentation/manual-pages/ja/man3/getpwent.3 b/documentation/manual-pages/ja/man3/getpwent.3 new file mode 100644 index 0000000000..67bbb6e1cd --- /dev/null +++ b/documentation/manual-pages/ja/man3/getpwent.3 @@ -0,0 +1,222 @@ +.\" Copyright (c) 1988, 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: @(#)getpwent.3 8.2 (Berkeley) 12/11/93 +.\" %FreeBSD: src/lib/libc/gen/getpwent.3,v 1.11.2.4 2001/12/14 18:33:51 ru Exp % +.\" $FreeBSD$ +.\" +.Dd September 20, 1994 +.Dt GETPWENT 3 +.Os +.Sh 名称 +.Nm getpwent , +.Nm getpwnam , +.Nm getpwuid , +.Nm setpassent , +.Nm setpwent , +.Nm endpwent +.Nd パスワードデータベースを操作 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In pwd.h +.Ft struct passwd * +.Fn getpwent void +.Ft struct passwd * +.Fn getpwnam "const char *login" +.Ft struct passwd * +.Fn getpwuid "uid_t uid" +.Ft int +.Fn setpassent "int stayopen" +.Ft void +.Fn setpwent void +.Ft void +.Fn endpwent void +.Sh 解説 +これらの関数は、 +.Xr passwd 5 +に記述されたパスワードデータベースファイルを +操作します。データベースの各エントリは、インクルードファイル +.Aq Pa pwd.h +にある構造体 +.Ar passwd +で定義されます。次の通りです。 +.Bd -literal -offset indent +struct passwd { + char *pw_name; /* ユーザ名 */ + char *pw_passwd; /* 暗号化されたパスワード */ + uid_t pw_uid; /* ユーザ uid */ + gid_t pw_gid; /* ユーザ gid */ + time_t pw_change; /* パスワードの変更時刻 */ + char *pw_class; /* ユーザアクセスクラス */ + char *pw_gecos; /* ハネウエルログイン情報 */ + char *pw_dir; /* ホームディレクトリ */ + char *pw_shell; /* デフォルトのシェル */ + time_t pw_expire; /* アカウント有効期限 */ + int pw_fields; /* 内部フィールド: 充てんフィールド */ +}; +.Ed +.Pp +関数 +.Fn getpwnam +は与えられたログイン名を、 +.Fn getpwuid +は与えられたユーザ ID を +それぞれパスワードデータベースで検索し、常に最初に遭遇した +エントリを返します。 +.Pp +.Fn getpwent +関数はパスワードデータベースを順次読み込みます。ユーザの完全な +リストを処理したいプログラム向きです。 +.Pp +.Fn setpassent +関数は +2 つの目的を果たすものです。まず +.Fn getpwent +関数がデータベースの最初へ「巻き戻す (rewind)」 +ようにします。さらに +.Fa stayopen +が 0 +でなければ、ファイル記述子をオープンしたままにします。 +これにより、これらのルーチンに対するその後のアクセスすべてが +極めて高速化されます +(ただし +.Fn getpwent +の場合、デフォルトでファイル記述子をクローズしないので +後者の機能は不要です)。 +.Pp +長時間実行されているプログラムでファイル記述子をオープンした +ままにしておくのは危険です。なぜなら、プログラムが実行されて +いる間にデータベースが更新されると、オープンしたままにしている +データベースは古い物になってしまうからです。 +.Pp +.Fn setpwent +関数は、引数を 0 にした +.Fn setpassent +と同じです。 +.Pp +.Fn endpwent +関数は、オープンしているファイルをすべてクローズします。 +.Pp +これらのルーチンは、パスワードファイルを +「隠す (shadow)」目的で +書かれました。たとえば、暗号化パスワードにアクセスできる +プログラムを限定できるようにです。これらのルーチンを +呼び出すプロセスの有効ユーザ ID が 0 ならば暗号化パスワードを返し、 +その他の場合は戻り値である構造体のパスワードフィールドは +ストリング +.Ql * +を指すようになります。 +.Sh YP/NIS の相互作用 +.Xr yp 4 +パスワード +データベースが使用可能な場合、ローカルのデータベースに +要求されたパスワードエントリが見つからないと、 +.Fn getpwnam +および +.Fn getpwuid +関数はそれぞれ、 +.Dq Li passwd.byname +および +.Dq Li passwd.byuid +YP マップを使用します。 +.Xr passwd 5 +で記述されているようにマップ全体が使用可能である場合は、 +.Fn getpwent +関数は +YP マップ +.Dq Li passwd.byname +を一通り読みます。 +.Sh 戻り値 +関数 +.Fn getpwent , +.Fn getpwnam +および +.Fn getpwuid +は、いずれも成功すると、 +passwd 構造体への有効なポインタを返します。 +ファイルの終端に到達するか、もしくはエラーが発生した場合は +ヌルポインタを返します。 +.Fn setpassent +関数は、失敗した場合は 0 を、成功した場合は +1 を返します。 +.Fn endpwent +および +.Fn setpwent +関数の戻り値はありません。 +.Sh 関連ファイル +.Bl -tag -width /etc/master.passwd -compact +.It Pa /etc/pwd.db +安全ではないパスワードデータベースファイル +.It Pa /etc/spwd.db +安全なパスワードデータベースファイル +.It Pa /etc/master.passwd +現在のパスワードファイル +.It Pa /etc/passwd +Version 7 +形式のパスワードファイル +.El +.Sh 関連項目 +.Xr getlogin 2 , +.Xr getgrent 3 , +.Xr yp 4 , +.Xr passwd 5 , +.Xr pwd_mkdb 8 , +.Xr vipw 8 +.Sh 歴史 +.Fn getpwent , +.Fn getpwnam , +.Fn getpwuid , +.Fn setpwent +および +.Fn endpwent +関数は、 +.At v7 +ではじめて登場しました。 +.Fn setpassent +関数は +.Bx 4.3 Reno +で登場しました。 +.Sh 互換性 +歴史的な理由で存在していた、 +代替パスワードデータベースの規格を許した関数 +.Xr setpwfile 3 +は非推奨になっており、もう使用できません。 +.Sh バグ +関数 +.Fn getpwent , +.Fn getpwnam +および +.Fn getpwuid +は、呼び出し結果を内部の静的オブジェクトに残し、 +そのオブジェクトを指すポインタを返します。その後、 +同じ関数を呼び出すと、同じオブジェクトを変更していきます。 diff --git a/documentation/manual-pages/ja/man3/getrpcent.3 b/documentation/manual-pages/ja/man3/getrpcent.3 new file mode 100644 index 0000000000..c7dc2d1471 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getrpcent.3 @@ -0,0 +1,93 @@ +.\" @(#)getrpcent.3n 2.2 88/08/02 4.0 RPCSRC; from 1.11 88/03/14 SMI +.\" %FreeBSD: src/lib/libc/rpc/getrpcent.3,v 1.11.2.3 2001/12/14 18:33:56 ru Exp % +.\" $FreeBSD$ +.\" +.Dd December 14, 1987 +.Dt GETRPCENT 3 +.Os +.Sh 名称 +.Nm getrpcent , +.Nm getrpcbyname , +.Nm getrpcbynumber , +.Nm endrpcent , +.Nm setrpcent +.Nd RPC エントリを取得 +.Sh 書式 +.In rpc/rpc.h +.Ft struct rpcent * +.Fn getrpcent void +.Ft struct rpcent * +.Fn getrpcbyname "char *name" +.Ft struct rpcent * +.Fn getrpcbynumber "int number" +.Ft void +.Fn setrpcent "int stayopen" +.Ft void +.Fn endrpcent void +.Sh 解説 +.Fn getrpcent , +.Fn getrpcbyname , +.Fn getrpcbynumber +関数はそれぞれ、次に +示す構造体を持つオブジェクトのポインタを返します。構造体には +rpc +プログラム番号データベース +.Pa /etc/rpc +にある、行の内訳フィールドが +含まれます。 +.Bd -literal + +struct rpcent { + char *r_name; /* この rpc プログラムのサーバ名 */ + char **r_aliases; /* エイリアスリスト */ + long r_number; /* rpc プログラム番号 */ +}; +.Ed +.Pp +この構造体のメンバは次のとおりです。 +.Bl -tag -width r_aliasesxxx +.It Fa r_name +この rpc プログラムのサーバ名。 +.It Fa r_aliases +rpc プログラムの、0 で終わる別名 (エイリアス) リスト。 +.It Fa r_number +このサービスの rpc プログラム番号。 +.El +.Pp +.Fn getrpcent +関数は、必要ならばファイルをオープンして次の行を読み込みます。 +.Fn setrpcent +関数はファイルをオープンしリワインドします。 +.Fa stayopen +フラグが 0 でなければ、 (直接呼び出しかまたは、ほかの +.Fn getrpcent +関数ファミリの 1 つを介しての間接呼び出しかにかかわらず) 、 +.Fn getrpcent +の各呼び出しの後でネットデータベースはクローズされません。 +.Pp +.Fn endrpcent +はファイルをクローズします。 +.Pp +.Fn getrpcbyname +および +.Fn getrpcbynumber +関数は、適合する +rpc +プログラム名またはプログラム番号が見付かるか、またはエンドオブファイルに +出会うまで、最初から順次ファイルを検索します。 +.Sh 関連ファイル +.Bl -tag -width /etc/rpc -compact +.It Pa /etc/rpc +.El +.Sh 関連項目 +.Xr rpc 5 , +.Xr rpcinfo 8 , +.Xr ypserv 8 +.Sh 診断 +.Dv EOF +またはエラーの場合 +.Dv NULL +ポインタが返ります。 +.Sh バグ +すべての情報は静的領域に含まれるので、保存が必要な場合はコピー +しなければなりません。 diff --git a/documentation/manual-pages/ja/man3/getrpcport.3 b/documentation/manual-pages/ja/man3/getrpcport.3 new file mode 100644 index 0000000000..4791080f79 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getrpcport.3 @@ -0,0 +1,38 @@ +.\" @(#)getrpcport.3r 2.2 88/08/02 4.0 RPCSRC; from 1.12 88/02/26 SMI +.\" %FreeBSD: src/lib/libc/rpc/getrpcport.3,v 1.6 1999/08/28 00:00:40 peter Exp % +.\" $FreeBSD$ +.\" +.Dd October 6, 1987 +.Dt GETRPCPORT 3 +.Os +.Sh 名称 +.Nm getrpcport +.Nd RPC ポート番号を取得 +.Sh 書式 +.Ft int +.Fn getrpcport "char *host" "int prognum" "int versnum" "int proto" +.Sh 解説 +.Fn getrpcport +関数は、プロトコル +.Fa proto +を使用して +.Fa host +で実行している +RPC +プログラム +.Fa prognum +の、バージョン +.Fa versnum +用ポート番号を返します。 +ポートマッパにコンタクトできない場合、または +.Fa prognum +が登録されていなければ +0 が返ります。 +.Fa prognum +が登録されていれば、たとえバージョン +.Fa versnum +がなくてもやはりポート番号 +(そのプログラムの適当なバージョン用) +が返り、 +プログラムの登録が示されます。バージョンの不適合は、サービスの最初の呼び +出しで検出されます。 diff --git a/documentation/manual-pages/ja/man3/getservent.3 b/documentation/manual-pages/ja/man3/getservent.3 new file mode 100644 index 0000000000..9811425f44 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getservent.3 @@ -0,0 +1,146 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/net/getservent.3,v 1.7.2.5 2001/12/14 18:33:55 ru Exp % +.\" $FreeBSD$ +.\" +.Dd July 9, 1995 +.Dt GETSERVENT 3 +.Os +.Sh 名称 +.Nm getservent , +.Nm getservbyport , +.Nm getservbyname , +.Nm setservent , +.Nm endservent +.Nd サービスエントリの取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In netdb.h +.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 +.Pp +この構造体のメンバは次のとおりです。 +.Bl -tag -width s_aliases +.It Fa s_name +サービスのオフィシャル名。 +.It Fa s_aliases +サービスの別名 (エイリアス) の 0 で終るリスト。 +.It Fa s_port +サービスが存在するポート番号。 +ポート番号はネットワークバイトオーダで返されます。 +.It Fa s_proto +サービスとのコンタクト中に使用するプロトコル名。 +.El +.Pp +.Fn getservent +関数は、ファイルの次の行を読み込みます。 +その際、必要ならばファイルをオープンします。 +.Pp +.Fn setservent +関数はファイルをオープンしリワインドします。 +.Fa stayopen +フラグが 0 でなければ、 +.Fn getservbyname +または +.Fn getservbyport +の各呼び出しの後でも、ネットデータベースはクローズされません。 +.Pp +.Fn endservent +関数はファイルをクローズします。 +.Pp +.Fn getservbyname +および +.Fn getservbyport +関数は、適合するプロトコル名またはポート番号 +(これはネットワークバイトオーダで指定されなければなりません) +が見つかるか、さもなければ +.Dv EOF +に達するまで、ファイルを最初から順次検索します。 +プロトコル名が与えられていても ( +.Dv NULL +でなくても)、検索は適合するプロトコルが見つかるまで続けられます。 +.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/documentation/manual-pages/ja/man3/getsubopt.3 b/documentation/manual-pages/ja/man3/getsubopt.3 new file mode 100644 index 0000000000..c098ddb314 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getsubopt.3 @@ -0,0 +1,150 @@ +.\" 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. +.\" +.\" @(#)getsubopt.3 8.1 (Berkeley) 6/9/93 +.\" %FreeBSD: src/lib/libc/stdlib/getsubopt.3,v 1.5.2.4 2001/12/14 18:33:58 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 9, 1993 +.Dt GETSUBOPT 3 +.Os +.Sh 名称 +.Nm getsubopt +.Nd 引数からサブオプションを取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Vt extern char *suboptarg ; +.Ft int +.Fn getsubopt "char **optionp" "char * const *tokens" "char **valuep" +.Sh 解説 +.Fn getsubopt +関数は、 +1 つまたは複数のタブ、スペースまたはコンマ +.Pq Ql \&, +キャラクタによって区切られたトークンが含まれる文字列を解析します。 +ユーティリティのコマンドラインの一部として入力される、 +オプション引数のまとまりを解析するのに使用するのが目的です。 +.Pp +引数 +.Fa optionp +は、文字列へのポインタを指すポインタです。 +引数 +.Fa tokens +は、文字列へのポインタを持つ、 +.Dv NULL +で終わる配列を指すポインタです。 +.Pp +.Fn getsubopt +関数は、文字列の最初のトークンに適合する文字列を参照する +.Fa tokens +配列中のポインタの、0 始まりのオフセットを返します。 +文字列にトークンが一切含まれない、または +.Fa tokens +中に適合する文字列が含まれない場合には \-1 を返します。 +.Pp +トークンの形式が ``name=value'' である場合、 +.Fa valuep +で参照される先は、 +トークンの ``value'' の部分の先頭を指すように設定されます。 +.Pp +.Fn getsubopt +から戻った時、 +.Fa optionp +が文字列の次のトークンの先頭を指すように設定されます。 +または、それ以上のトークンがない場合には、 +文字列の終わりの null を指します。 +外部変数 +.Fa suboptarg +は、現在のトークンの先頭を指すように設定されます。 +トークンがなかった場合は、 +.Dv NULL +となります。 +引数 +.Fa valuep +は、トークンの ``value'' の部分を示すように設定されます。 +または、``value'' 部分がなかった場合は +.Dv NULL +となります。 +.Sh 使用例 +.Bd -literal -compact +char *tokens[] = { + #define ONE 0 + "one", + #define TWO 1 + "two", + NULL +}; + +\&... + +extern char *optarg, *suboptarg; +char *option, *value; + +while ((ch = getopt(argc, argv, "ab:")) != -1) { + switch(ch) { + case 'a': + /* ``a'' オプションを処理 */ + break; + case 'b': + option = optarg; + while (*option) { + switch(getsubopt(&option, tokens, &value)) { + case ONE: + /* ``one'' サブオプションを処理 */ + break; + case TWO: + /* ``two'' サブオプションを処理 */ + if (!value) + error("no value for two"); + i = atoi(value); + break; + case \-1: + if (suboptarg) + error("illegal sub option %s", + suboptarg); + else + error("missing sub option"); + break; + } + break; + } + +.Ed +.Sh 関連項目 +.Xr getopt 3 , +.Xr strsep 3 +.Sh 歴史 +.Fn getsubopt +関数は +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/getttyent.3 b/documentation/manual-pages/ja/man3/getttyent.3 new file mode 100644 index 0000000000..62ae758a6d --- /dev/null +++ b/documentation/manual-pages/ja/man3/getttyent.3 @@ -0,0 +1,226 @@ +.\" 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. +.\" +.\" @(#)getttyent.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/getttyent.3,v 1.9.2.3 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd November 17, 1996 +.Dt GETTTYENT 3 +.Os BSD 4.3 +.Sh 名称 +.Nm getttyent , +.Nm getttynam , +.Nm setttyent , +.Nm endttyent +.Nd ttys ファイルエントリを取得 +.Nm isdialuptty , +.Nm isnettty +.Nd ファイルエントリから tty タイプを決める +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In ttyent.h +.Ft struct ttyent * +.Fn getttyent void +.Ft struct ttyent * +.Fn getttynam "const char *name" +.Ft int +.Fn setttyent void +.Ft int +.Fn endttyent void +.Ft int +.Fn isdialuptty "const char *name" +.Ft int +.Fn isnettty "const char *name" +.Sh 解説 +.Fn getttyent +および +.Fn getttynam +関数はそれぞれ、次に示す構造体を持つ +オブジェクトのポインタを返します。構造体には、 +tty +記述ファイルにある行の +内訳フィールドが含まれます。 +.Bd -literal +struct ttyent { + char *ty_name; /* 端末デバイス名 */ + char *ty_getty; /* 実行するコマンド、通常は getty */ + char *ty_type; /* termcap の端末タイプ */ +#define TTY_ON 0x01 /* ログイン有効化 (ty_getty プログラム開始) */ +#define TTY_SECURE 0x02 /* uid 0 でのログイン許可 */ +#define TTY_DIALUP 0x04 /* ダイアルアップ tty */ +#define TTY_NETWORK 0x08 /* ネットワーク tty */ + int ty_status; /* ステータスフラグ */ + char *ty_window; /* ウィンドウマネージャ起動コマンド */ + char *ty_comment; /* コメントフィールド */ + char *ty_group; /* tty グループ名 */ +}; +.Ed +.Pp +フィールドは次のとおりです。 +.Bl -tag -width ty_comment +.It Fa ty_name +キャラクタ特殊ファイル名。 +.It Fa ty_getty +tty +回線特性の初期化のため、 +.Xr init 8 +によって呼び出す +コマンド名。 +.It Fa ty_type +この +tty +回線に接続されたデフォルト端末のタイプ名。 +.It Fa ty_status +この +tty +回線で許されるさまざまな機能を示す、 +ビットフィールドのマスク。 +可能なフラグは次のとおりです。 +.Bl -tag -width TTY_NETWORK +.It Dv TTY_ON +ログインを有効化します +(すなわち、このエントリの +.Fa ty_getty +で参照されるコマンドを、 +.Xr init 8 +が起動します)。 +.It Dv TTY_SECURE +ユーザは uid 0 でこの端末にログインできます。 +.It Dv TTY_DIALUP +ユーザは +uid 0 +でこの端末にログインできます。 +.It Dv TTY_DIALUP +tty +をダイアルイン回線として識別します。この +フラグが設定されると、 +.Fn isdialuptty +は非 0 値を返します。 +.It Dv TTY_NETWORK +ネットワーク接続に使用された +tty +を識別します。このフラグが設定されると、 +.Fn isnettty +は非 0 値を返します。 +.El +.It Fa ty_window +回線に関連するウィンドウシステムを実行するコマンドです。 +.It Fa ty_group +tty +が所属するグループ名です。 +ttys +記述ファイルにグループの指定がない場合は、"none" +と呼ばれる無名グループにその +tty +が置かれます。 +.It Fa ty_comment +終端のコメントフィールドであり、 +先頭のハッシュマーク (``#'') と余白はすべて除去されます。 +.El +.Pp +キャラクタストリングを示すフィールドが未指定の場合、それらはすべて +ヌルポインタとして返ります。指定されたフラグ値がない場合、フィールド +.Fa ty_status +は 0 になります。 +.Pp +このフィールドの意味および用法の詳細な説明については、 +.Xr ttys 5 +を参照してください。 +.Pp +.Fn getttyent +関数は、必要ならばオープンして +ttys +ファイルの次の行を読み込みます。 +.Fn setttyent +関数は、ファイルがオープンされていればリワインドし、 +オープンされていなければオープンします。 +.Fn endttyent +関数は、オープンされているファイルをすべてクローズします。 +.Pp +.Fn getttynam +関数は、適合する +.Fa name +が見付かる +(かまたは +.Dv EOF +に出会う) +まで、ファイルを最初から検索します。 +.Sh 戻り値 +ルーチン +.Fn getttyent +および +.Fn getttynam +は、 +.Dv EOF +またはエラーでいずれもヌルポインタを返します。 +.Fn setttyent +関数および +.Fn endttyent +関数は、いずれも失敗した場合は +0 を、成功した場合は +1 を返します。 +.Pp +ルーチン +.Fn isdialuptty +および +.Fn isnettty +は、パラメータによって指名された +tty +に関連する +tty +エントリに、ダイアルアップまたはネットワークフラグが +設定されていなければ非 0 を返し、その他の場合は 0 を返します。 +.Sh 関連ファイル +.Bl -tag -width /etc/ttys -compact +.It Pa /etc/ttys +.El +.Sh 関連項目 +.Xr login 1 , +.Xr ttyslot 3 , +.Xr gettytab 5 , +.Xr termcap 5 , +.Xr ttys 5 , +.Xr getty 8 , +.Xr init 8 +.Sh 歴史 +関数 +.Fn getttyent , +.Fn getttynam , +.Fn setttyent , +.Fn endttyent +は +.Bx 4.3 +ではじめて登場しました。 +.Sh バグ +これらの関数は静的データ記憶域を使用します。後で使用するデータの場合は、 +以後の呼び出しで上書きする前にデータをコピーして保存する必要があります。 diff --git a/documentation/manual-pages/ja/man3/getusershell.3 b/documentation/manual-pages/ja/man3/getusershell.3 new file mode 100644 index 0000000000..9a7aa03ef2 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getusershell.3 @@ -0,0 +1,98 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" @(#)getusershell.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/getusershell.3,v 1.5.2.3 2001/12/14 18:33:51 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt GETUSERSHELL 3 +.Os +.Sh 名称 +.Nm getusershell , +.Nm setusershell , +.Nm endusershell +.Nd 正規ユーザシェルを取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft char * +.Fn getusershell void +.Ft void +.Fn setusershell void +.Ft void +.Fn endusershell void +.Sh 解説 +.Fn getusershell +関数は、システム管理者がファイル +.Pa /etc/shells +に定義している正規ユーザシェルのポインタを返します。 +.Pa /etc/shells +が読み込めないかまたは存在しない場合、 +.Fn getusershell +は、あたかも +.Pa /bin/sh +および +.Pa /bin/csh +がファイルにリストされていたかのように挙動します。 +.Pp +.Fn getusershell +関数は +(必要ならばファイルをオープンして) +次の行を読み込みます。 +.Fn setusershell +関数はファイルの先頭まで戻り、 +.Fn endusershell +関数はファイルをクローズします。 +.Sh 関連ファイル +.Bl -tag -width /etc/shells -compact +.It Pa /etc/shells +.El +.Sh 診断 +.Fn getusershell +ルーチンは、 +.Dv EOF +で +ヌルポインタ (0) を返します。 +.Sh 関連項目 +.Xr shells 5 +.Sh 歴史 +.Fn getusershell +関数は +.Bx 4.3 +ではじめて登場しました。 +.Sh バグ +.Fn getusershell +関数は、処理結果を内部の静的オブジェクトに残し、その +オブジェクトのポインタを返します。以後 +.Fn getusershell +を呼び出すと、同じオブジェクトを変更します。 diff --git a/documentation/manual-pages/ja/man3/getvfsbyname.3 b/documentation/manual-pages/ja/man3/getvfsbyname.3 new file mode 100644 index 0000000000..15a52da927 --- /dev/null +++ b/documentation/manual-pages/ja/man3/getvfsbyname.3 @@ -0,0 +1,96 @@ +.\" Copyright (c) 1995 +.\" 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. +.\" +.\" @(#)kvm_getvfsbyname.3 8.3 (Berkeley) 5/4/95 +.\" %FreeBSD: src/lib/libc/gen/getvfsbyname.3,v 1.7.2.5 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 4, 1995 +.Dt GETVFSBYNAME 3 +.Os +.Sh 名称 +.Nm getvfsbyname +.Nd ファイルシステムについての情報を取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/param.h +.In sys/mount.h +.Ft int +.Fn getvfsbyname "const char *name" "struct vfsconf *vfc" +.Sh 解説 +.Fn getvfsbyname +関数は、カーネルに構成されているファイルシステムモジュール +に関する情報へのアクセスを提供します。 +成功した場合は、要求されたファイルシステム +.Fa vfsconf +を、 +.Fa vfc +の指す位置に返します。構造体 +.Dq Li struct vfsconf +のフィールドは、次のように定義されます。 +.Pp +.Bl -tag -compact -width vfc_refcount +.It vfc_name +ファイルシステムの名前 +.It vfc_typenum +カーネルによって割り当てられたファイルシステムの +タイプ番号 +.It vfc_refcount +ファイルシステムを使用するアクティブなポイントの番号 +.It vfc_flags +.Xr getvfsent 3 +に記述されるフラグビット +.El +.Sh 戻り値 +.Rv -std getvfsbyname +.Sh エラー +次のエラーが報告される場合があります。 +.Bl -tag -width Er +.It Bq Er EFAULT +.Fa vfc +ポインタに無効なアドレスが含まれています。 +.It Bq Er ENOENT +ファイルシステムを指定する +.Fa name +が未知か、またはカーネルに構成されていません。 +.El +.Sh 関連項目 +.Xr mount 2 , +.Xr getvfsent 3 , +.Xr sysctl 3 , +.Xr mount 8 , +.Xr sysctl 8 +.Sh 歴史 +.Fn getvfsbyname +関数は、 +.Fx 2.0 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/glob.3 b/documentation/manual-pages/ja/man3/glob.3 new file mode 100644 index 0000000000..1ea9287224 --- /dev/null +++ b/documentation/manual-pages/ja/man3/glob.3 @@ -0,0 +1,474 @@ +.\" Copyright (c) 1989, 1991, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Guido van Rossum. +.\" 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. +.\" +.\" @(#)glob.3 8.3 (Berkeley) 4/16/94 +.\" %FreeBSD: src/lib/libc/gen/glob.3,v 1.7.2.9 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 16, 1994 +.Dt GLOB 3 +.Os +.Sh 名称 +.Nm glob , +.Nm globfree +.Sh ライブラリ +.Lb libc +.Nd パターンに適合するパス名を生成 +.Sh 書式 +.Fd #include <glob.h> +.Ft int +.Fn glob "const char *pattern" "int flags" "int (*errfunc)(const char *, int)" "glob_t *pglob" +.Ft void +.Fn globfree "glob_t *pglob" +.Sh 解説 +.Fn glob +関数は、シェルによって使用されるファイル名パターンの、適合規則を +実装するパス名ジェネレータです。 +.Pp +インクルードファイル +.Pa glob.h +は、少なくとも次に示すフィールドが含まれる +構造体タイプ +.Fa glob_t +を定義します。 +.Bd -literal +typedef struct { + int gl_pathc; /* これまでの合計パスカウント */ + int gl_matchc; /* パターンに適合するパスカウント */ + int gl_offs; /* gl_pathvの最初に予約されるフィールド */ + int gl_flags; /* 返されるフラグ */ + char **gl_pathv; /* パターンに適合するパスのリスト */ +} glob_t; +.Ed +.Pp +引数 +.Fa pattern +は展開するパス名パターンのポインタです。 +.Fn glob +引数はその +パターンに対して、アクセス可能なすべてのパス名を突き合わせ +(マッチング)、 +適合するパス名リストを作成します。パス名にアクセスするため +.Fn glob +は、パス +の各構成要素 +(最終要素を除く) +での検索許可と、特殊キャラクタ +.Ql * , +.Ql ?\& +または +.Ql \&[ +などを含む +.Fa pattern +の、すべてのファイル名構成要素ディレクトリの読み +込み許可を要求します。 +.Pp +.Fn glob +引数は、適合パス名の数を +.Fa gl_pathc +フィールドに、パス名ポインタリスト +のポインタを +.Fa gl_pathv +フィールドにそれぞれ保存します。最終パス名の後の +最初のポインタは +.Dv NULL +です。パターンに適合するパス名が皆無だった場合、 +返される適合パスの数は 0 に設定されます。 +.Pp +.Fa pglob +で示される構造体は呼び出し元が作成します。 +.Fa gl_pathv +で示されるメモリ +などほかの空間は、 +.Fn glob +関数が必要に応じて割り振ります。 +.Pp +引数 +.Fa flags +は、 +.Fn glob +の挙動を変更するために使用します。 +.Fa flags +の値は、 +.Pa glob.h +で定義されている次に示す値のそれぞれビットごとの包括的 +.Tn OR +です。 +.Bl -tag -width GLOB_ALTDIRFUNC +.It Dv GLOB_APPEND +生成されたパス名を、 +.Fn glob +に対する前の呼び出し (単数または複数) で生成されたパス名に追加します。 +.Fa gl_pathc +の値は、今回の呼び出しおよび前の呼び出し (単数または複数) での、 +適合パス名の合計になります。前の呼び出し (単数または複数) によって +返されたパス名に、今回生成されたパス名が追加されますが、 +マージ (併合) はされません。前の呼び出しと今回の呼び出しのあいだに、 +呼び出し元は +.Dv GLOB_DOOFFS +フラグを変えてはいけません。同様に、 +.Dv GLOB_DOOFFS +設定時の +.Fa gl_offs +の値も変えてはいけません。 +(もちろん) +.Fa pglob +に影響する +.Fn globfree +の呼び出しも行ってはなりません。 +.It Dv GLOB_DOOFFS +.Fa gl_offs +フィールドを有効にします。このフラグを設定すると、 +.Fa gl_pathv +フィールドの前に付加する +.Dv NULL +ポインタの数が、 +.Fa gl_offs +によって指定できます。言い換えれば +.Fa gl_pathv +が +.Fa gl_offs +の +.Dv NULL +ポインタを示し、その後に +.Fa gl_pathc +パス名ポインタが続き、さらにその後に +.Dv NULL +ポインタが続きます。 +.It Dv GLOB_ERR +オープンまたは読み込みできないディレクトリに出会った場合、 +.Fn glob +をリターンさせます。通常は、 +.Fn glob +が適合パス名検索を続行します。 +.It Dv GLOB_MARK +.Fa pattern +に適合するディレクトリの各パス名に、スラッシュを +付加します。 +.It Dv GLOB_NOCHECK +.Fa pattern +に適合するパス名が皆無だった場合、 +.Fn glob +は +.Fa pattern +だけで構成されるリストを返します。パス名の合計数は 1 に、適合 +パス名の数は 0 に設定されます。 +.Dv GLOB_QUOTE +が設定されていれば、返されるパターンにその効果が反映されます。 +.It Dv GLOB_NOSORT +デフォルトでパス名は +.Tn ASCII +昇順にソートされます。このフラグはそうしたソート、すなわち高速化 +.Fn glob +機能を妨げます。 +.El +.Pp +次に示す値も +.Fa flags +に含まれることはありますが、これらは +.St -p1003.2 +の非標準拡張です。 +.Bl -tag -width GLOB_ALTDIRFUNC +.It Dv GLOB_ALTDIRFUNC +pglob +構造体の次に示す追加フィールドを、ディレクトリのオープン、読み込み、 +クローズおよび、それらディレクトリで見付かったパス名のステータス情報取得に +使用する、代替 glob 関数で初期化します。 +.Bd -literal +void *(*gl_opendir)(const char * name); +struct dirent *(*gl_readdir)(void *); +void (*gl_closedir)(void *); +int (*gl_lstat)(const char *name, struct stat *st); +int (*gl_stat)(const char *name, struct stat *st); +.Ed +.Pp +テープに保存されたディレクトリから、 +.Xr restore 8 +のようなプログラムによって +グロッビング (ファイル名展開) できるように、 +この拡張が用意されています。 +.It Dv GLOB_BRACE +.Xr csh 1 +のような +.Ql {pat,pat,...} +ストリングを展開するために、 +パターンストリングを前処理します。パターン +.Ql {} +は歴史的理由 (および +.Xr find 1 +パターンの入力を容易にするために、 +.Xr csh 1 +が同じことをするという理由) +から、未展開のまま残されます。 +.It Dv GLOB_MAGCHAR +パターンに +.Fn glob +用キャラクタが含まれていると、 +.Fn glob +関数によってこのフラグが設定されます。詳細は +.Fa gl_matchc +構造体メンバの、用法についての説明を参照してください。 +.It Dv GLOB_NOMAGIC +.Dv GLOB_NOCHECK +と同じですが、特殊キャラクタ ``*'', ``?'' +または ``['' がなにも含まれていない場合に、このフラグはただ +.Fa pattern +を後に付加するだけです。 +.Dv GLOB_NOMAGIC +は、歴史的な +.Xr csh 1 +によるグロッビング (ファイル名展開) 挙動の実装を単純化するために +用意されています。その他の目的ではたぶん、 +どんな場合も使用すべきではありません。 +.It Dv GLOB_QUOTE +バックスラッシュ +.Pq Ql \e +キャラクタを引用符として +有効にします。パターンにバックスラッシュとそれに続くキャラクタがある場合、 +そのキャラクタを特別に解釈することなくそのままのキャラクタとして +置換します。 +.It Dv GLOB_TILDE +.Ql ~ +で始まるパターンを、ユーザ名のホームディレクトリに +展開します。 +.It Dv GLOB_LIMIT +返されるパス名の合計数を、 +.Fa gl_matchc +で指定される数に制限します (デフォルトは +.Dv ARG_MAX ) +です。 +非常に大きな数のマッチに展開される +.Ql */../*/.. +のような長いストリングのパターンによって、 +サービス拒否攻撃に無理矢理されてしまい得るプログラムに対し、 +本オプションを設定すべきです。 +.El +.Pp +検索においてオープンまたは読み込みできないディレクトリに出会った場合、 +.Fa errfunc +が +.Dv NULL +でなければ、 +.Fn glob +は +.Fa (*errfunc)(path, errno) +を呼び出します。 +これは非直観的な場合があります。 +.Ql */Makefile +のようなパターンでは、 +.Ql foo +が +ディレクトリでなくても +.Ql foo/Makefile +の +.Xr stat 2 +が試みられて、 +.Fa errfunc +を +呼び出す結果になるからです。 +.Er ENOENT +および +.Er ENOTDIR +のテストによって、 +エラールーチンはこの動作を抑制することができますが、 +それでもなおこうした場合には +.Dv GLOB_ERR +フラグがただちに +.Fn glob +をリターンさせます。 +.Pp +.Fa errfunc +から非 0 が返ると +.Fn glob +は操作を停止して、すでに適合したすべての +パスを反映するために、 +.Fa gl_pathc +および +.Fa gl_pathv +を設定した後で +.Dv GLOB_ABEND +を返します。 +エラーが起こり +.Fa flags +に +.Dv GLOB_ERR +が設定されていれば、 +.Fa errfunc +を呼び出した場合その戻り値に関係なく、同じことが起こります。 +.Dv GLOB_ERR +を未設定で、 +.Fa errfunc +が +.Dv NULL +かまたは +.Fa errfunc +が 0 を返した場合、エラーは無視されます。 +.Pp +.Fn globfree +関数は、前の +.Fn glob +呼び出しによって +.Fa pglob +と +関連した、すべての空間を解放します。 +.Sh 戻り値 +無事に完了した場合 +.Fn glob +は 0 を返します。さらに、 +.Fa pglob +の各フィールド +には次に示す値が含まれます。 +.Bl -tag -width GLOB_NOCHECK +.It Fa gl_pathc +これまでの適合パス名の合計数が含まれます。 +.Dv GLOB_APPEND +が指定されている場合は、前の +.Fn glob +起動で得られたほかの適合パス名の数も、 +この合計には含れます。 +.It Fa gl_matchc +現在の +.Fn glob +起動によって得られた適合パス名の数が +含まれます。 +.It Fa gl_flags +.Fa pattern +に特殊キャラクタ ``*'', ``?'', または ``['' のどれかが含まれている場合は、 +.Dv GLOB_MAGCHAR +が設定したビットを持つ +.Fa flags +パラメータの +コピーが含まれます。特殊キャラクタが含まれていない場合、このフィールドの +内容はクリアされます。 +.It Fa gl_pathv +適合パス名の +.Dv NULL +で終わるリストのポインタが含まれます。 +ただし、もし +.Fa gl_pathc +が 0 ならば、 +.Fa gl_pathv +の内容は定義されません。 +.El +.Pp +エラーのため終了すると +.Fn glob +は +errno +を設定して、次に示す非 0 定数の +1 つを返します。これらの定数は、インクルードファイル +.Aq Pa glob.h +で定義されます。 +.Bl -tag -width GLOB_NOCHECK +.It Dv GLOB_NOSPACE +メモリ割り当ての試みが失敗しました。 +もしくは +.Fa errno +が 0 の場合、 +.Dv GLOB_LIMIT +が flags に指定され、 +.Fa pglob\->gl_matchc +個またはそれ以上のパターンがマッチしました。 +.It Dv GLOB_ABEND +エラーが発生した上に +.Dv GLOB_ERR +が設定されていたか、または +.Fa \*(lp*errfunc\*(rp\*(lp\*(rp +が非 0 を返したので、 +.Fn glob +はパス名の走査を停止しました。 +.El +.Pp +引数 +.Fa pglob\->gl_pathc +および +.Fa pglob\->gl_pathv +は依然として、上で +指定のとおりに設定されたままです。 +.Sh 例 +.Ql "ls -l *.c *.h" +の大体の等価は、次に示すコードで取得することができます。 +.Bd -literal -offset indent +glob_t g; + +g.gl_offs = 2; +glob("*.c", GLOB_DOOFFS, NULL, &g); +glob("*.h", GLOB_DOOFFS | GLOB_APPEND, NULL, &g); +g.gl_pathv[0] = "ls"; +g.gl_pathv[1] = "-l"; +execvp("ls", g.gl_pathv); +.Ed +.Sh 関連項目 +.Xr sh 1 , +.Xr fnmatch 3 , +.Xr regexp 3 +.Sh 規格 +.Fn glob +関数には次に示す例外を除いて、 +.St -p1003.2 +との互換性が期待されています。例外はフラグ +.Dv GLOB_ALTDIRFUNC , +.Dv GLOB_BRACE , +.Dv GLOB_LIMIT , +.Dv GLOB_MAGCHAR , +.Dv GLOB_NOMAGIC , +.Dv GLOB_QUOTE , +.Dv GLOB_TILDE +それにフィールド +.Fa gl_matchc +および +.Fa gl_flags +などを、厳正な +.Tn POSIX +適合を争うアプリケーションでは使用すべきではないということです。 +.Sh 歴史 +.Fn glob +および +.Fn globfree +関数は、 +.Bx 4.4 +ではじめて登場しました。 +.Sh バグ +.Dv MAXPATHLEN +よりも長いパターンは、無検査エラーの原因となる可能性があります。 +.Pp +.Fn glob +引数は失敗して、ライブラリルーチン +.Xr stat 2 , +.Xr closedir 3 , +.Xr opendir 3 , +.Xr readdir 3 , +.Xr malloc 3 , +および +.Xr free 3 +用に指定したエラーのどれかに、errno を設定することがあります。 diff --git a/documentation/manual-pages/ja/man3/hash.3 b/documentation/manual-pages/ja/man3/hash.3 new file mode 100644 index 0000000000..3fe588b652 --- /dev/null +++ b/documentation/manual-pages/ja/man3/hash.3 @@ -0,0 +1,185 @@ +.\" 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. +.\" +.\" @(#)hash.3 8.6 (Berkeley) 8/18/94 +.\" %FreeBSD: src/lib/libc/db/man/hash.3,v 1.4.2.2 2001/12/14 18:33:49 ru Exp % +.\" $FreeBSD$ +.\" +.Dd August 18, 1994 +.Dt HASH 3 +.Os +.Sh 名称 +.Nm hash +.Nd "hash データベース アクセス方式" +.Sh 書式 +.In sys/types.h +.In db.h +.Sh 解説 +.Fn dbopen +ルーチンは、データベースファイルへのライブラリインタフェースです。 +サポート対象のファイル形式の一つは +.Nm +ファイルです。本マニュアルの +.Xr dbopen 3 +にあるデータベースアクセス方式の一般的な解説は +に書かれており、 +.Nm +固有の情報だけを説明しています。 +.Pp +.Nm +データ構造は拡張可能な動的ハッシュスキーマです。 +.Pp +.Fn dbopen +に与えられるアクセス方式固有のデータ構造体は +インクルードファイル +.Aq Pa db.h +で以下のように定義されます。 +.Bd -literal +typedef struct { + u_int bsize; + u_int ffactor; + u_int nelem; + u_int cachesize; + u_int32_t (*hash)(const void *, size_t); + int lorder; +} HASHINFO; +.Ed +.Pp +この構造体のフィールドは以下になります。 +.Bl -tag -width indent +.It Va bsize +.Va bsize +は、 +.Nm +表のバケットサイズを定義し、デフォルト値で 256 バイトです。 +ディスク常駐テーブルと大型データ項目については、 +ページサイズを拡大したほうが望ましいかもしれません。 +.It Va ffactor +.Va ffactor +は +.Nm +表内の望ましい密度を表示します。 +これは一つのバケット内に累積可能なキー数の概算であり、 +いつ +.Nm +表の拡大や縮小を行なうべきかを決定します。 +デフォルト値は 8 です。 +.It Va nelem +.Va nelem +は +.Nm +表の最終サイズの推測値です。 +未設定あるいは低い値に設定されると、わずかな性能劣化が見られる +かもしれませんが、ハッシュ表はキー入力に応じて円滑に拡張されます。 +デフォルト値は 1 です。 +.It Va cachesize +メモリキャッシュの推奨最大バイトサイズです。 +この値は +.Em 単なる +提言であり、このアクセス方式は、 +失敗するよりはメモリを余計に割り当てるでしょう。 +.It Va hash +.Va hash +はユーザ定義の +.Nm +関数です。 +可能なデータすべてに対して等しく性能の良い +.Nm +関数はないため、 +ユーザは、組み込み +.Nm +関数が特定データセットに充分な性能が出ないことに +気がつくことがあるかもしれません。 +ユーザ指定 +.Nm +関数は 2 個の引数 (文字列へのポインタと長さ) を取り、 +ハッシュ値として使われる 32 ビット量を返します。 +.It Va lorder +保存されたデータベースメタデータ +内の整数のバイトオーダです。 +数字は整数としての順序を表していなければなりません。 +例えば、ビッグエンディアンの順序は 4,321 になります。 +.Va lorder +が +0 (順序指定なし) の時は現行のホストのオーダが使われます。 +ファイルがあらかじめ存在していれば、指定値が無視されて、 +ツリーが構築された時に指定された値が使われます。 +.El +.Pp +ファイルがあらかじめ存在し、(かつ +.Dv O_TRUNC +フラグが指定されてないと) 、 +.Va bsize , ffactor , lorder , nelem +の各パラメータに指定された値は無視され、 +ツリーの構築時に指定された値が使われます。 +.Pp +.Nm +関数が指定されていると、 +.Fn hash_open +は指定された +.Nm +関数がデータベース作成時と同じものであるかを判別し、 +異なっていれば open に失敗します。 +.Pp +旧 +.Em dbm +および旧 +.Em ndbm +ルーチンへの下位互換インタフェースが提供されていますが、 +これらのインタフェースは従来のファイルフォーマットとは互換ではありません。 +.Sh エラー +ライブラリルーチン +.Xr dbopen 3 +で指定されている任意のエラーに対し、 +.Nm +アクセス方式ルーチンが失敗すると、 +.Va errno +をセットします。 +.Sh 関連項目 +.Xr btree 3 , +.Xr dbopen 3 , +.Xr mpool 3 , +.Xr recno 3 +.Rs +.%T "Dynamic Hash Tables" +.%A Per-Ake Larson +.%R "Communications of the ACM" +.%D April 1988 +.Re +.Rs +.%T "A New Hash Package for UNIX" +.%A Margo Seltzer +.%R "USENIX Proceedings" +.%D Winter 1991 +.Re +.Sh バグ +バイトオーダとして、ビッグエンディアンとリトルエンディアンだけが +サポートされています。 diff --git a/documentation/manual-pages/ja/man3/hypot.3 b/documentation/manual-pages/ja/man3/hypot.3 new file mode 100644 index 0000000000..d0e870d375 --- /dev/null +++ b/documentation/manual-pages/ja/man3/hypot.3 @@ -0,0 +1,137 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/hypot.3,v 1.5.2.3 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 6, 1991 +.Dt HYPOT 3 +.Os BSD 4 +.Sh 名称 +.Nm hypot , +.Nm hypotf , +.Nm cabs , +.Nm cabsf +.Sh ライブラリ +.Lb libm +.Nd ユークリッド距離と複素絶対値関数 +.Sh 書式 +.In math.h +.Ft double +.Fn hypot "double x" "double y" +.Ft float +.Fn hypotf "float x" "float y" +.Vt struct {double x, y;} z ; +.Ft double +.Fn cabs z +.Vt 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 +での予約オペランドフォルトとは異なり、 +.Tn IEEE +\*(Na は +.Fn hypot "\*(If" "\*(Na" +において同様に、無関係になると +消失します。 +.Sh 関連項目 +.Xr math 3 , +.Xr sqrt 3 +.Sh 歴史 +.Fn hypot +関数と +.Fn cabs +関数はどちらも +.At v7 +から登場しました。 diff --git a/documentation/manual-pages/ja/man3/ieee.3 b/documentation/manual-pages/ja/man3/ieee.3 new file mode 100644 index 0000000000..6b841f48a4 --- /dev/null +++ b/documentation/manual-pages/ja/man3/ieee.3 @@ -0,0 +1,189 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/ieee.3,v 1.5.2.4 2001/08/17 15:43:08 ru Exp % +.\" +.\" $FreeBSD$ +.Dd February 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 ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 の時) には、0 が返されます。 +.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/documentation/manual-pages/ja/man3/ieee_test.3 b/documentation/manual-pages/ja/man3/ieee_test.3 new file mode 100644 index 0000000000..8a8d73ca79 --- /dev/null +++ b/documentation/manual-pages/ja/man3/ieee_test.3 @@ -0,0 +1,114 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/ieee_test.3,v 1.5.2.4 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.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 ライブラリ +.Ld libm +.Sh 書式 +.In math.h +.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 +乗を返します。ここでの +.Fa n +は、符号付き整数が倍精度浮動小数点に変換されたものです。 +.Fn logb \*(Pm\*(If += +\*(If; +.Fn logb 0 += -\*(If +で、0 による除算の例外を伴います。 +.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 x +:= +.Fa sig No \(** 2** Ns Fa n +となる時の、 +.Fa sig +を返します。 +.Fn significand x +および +.Fn significandf x +は、 +.Fa x +が 0, \*(Pm\*(If, または \*(Na の時には定義されません。 +.Sh 関連項目 +.Xr ieee 3 , +.Xr math 3 +.Sh 規格 +.St -ieee754 diff --git a/documentation/manual-pages/ja/man3/index.3 b/documentation/manual-pages/ja/man3/index.3 new file mode 100644 index 0000000000..b4e2821cca --- /dev/null +++ b/documentation/manual-pages/ja/man3/index.3 @@ -0,0 +1,83 @@ +.\" 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. +.\" +.\" @(#)index.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/index.3,v 1.3.2.3 2001/12/14 18:33:59 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt INDEX 3 +.Os +.Sh 名称 +.Nm index +.Nd 文字列中の文字位置の特定 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft char * +.Fn index "const char *s" "int c" +.Sh 解説 +.Fn index +関数は、ナル文字で終了する文字列 +.Fa s +から +.Fa c +( +.Em char +型に変換) に一致する最初の文字位置を調べます。 +.Sh 戻り値 +該当する文字が発見された場合、該当する文字へのポインタを返し、 +見つからなかった場合は +.Dv NULL +を返します。 +.Fa c +が '\e0' の時、 +.Fn index +は文字列の最後の '\e0' の位置を調べます。 +.Sh 関連項目 +.Xr memchr 3 , +.Xr rindex 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 歴史 +.Fn index +関数は、 +.At v6 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/inet.3 b/documentation/manual-pages/ja/man3/inet.3 new file mode 100644 index 0000000000..14a522b063 --- /dev/null +++ b/documentation/manual-pages/ja/man3/inet.3 @@ -0,0 +1,255 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/net/inet.3,v 1.8.2.8 2001/12/01 21:15:38 cjc Exp % +.\" $FreeBSD$ +.\" +.Dd June 17, 1996 +.Dt INET 3 +.Os +.Sh 名称 +.Nm inet_aton , +.Nm inet_addr , +.Nm inet_network , +.Nm inet_ntoa , +.Nm inet_ntop , +.Nm inet_pton , +.Nm inet_makeaddr , +.Nm inet_lnaof , +.Nm inet_netof +.Nd インターネットアドレス操作関数 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In sys/socket.h +.In netinet/in.h +.In arpa/inet.h +.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 const char * +.Fn inet_ntop "int af" "const void *src" "char *dst" "size_t size" +.Ft int +.Fn inet_pton "int af" "const char *src" "void *dst" +.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 .\& +表記法で示される数値を表現している文字列を解釈します。 +.Pp +.Fn inet_pton +関数は、表示形式のアドレス (つまり文字列で保持されている印字可能な形式) から +ネットワーク形式 (通常 +.Ft struct in_addr +もしくは他の内部的なバイナリ表現形式で、ネットワークバイトオーダ) への +変換を行います。 +この関数は、指定されたアドレスファミリにおいて、アドレスが +有効なものであれば 1 を返し、パースできなければ 0 を返します。 +またシステムエラーが発生した時 (この場合は +.Va errno +が設定されます) には、-1 を返します。 +この関数は現在 +.Dv AF_INET +と +.Dv AF_INET6 +に対して有効です。 +.Pp +.Fn inet_aton +ルーチンは、指定された文字列をインターネットアドレスとして解釈し、 +与えられた構造体の中にアドレスを設定します。 +文字列が正常に解釈されると同ルーチンは 1 を返し、 +文字列が無効のとき 0 を返します。 +.Fn inet_addr +と +.Fn inet_network +関数はそれぞれ、 +インターネットアドレスとインターネットネットワーク番号として使うのに +適した数値を返します。 +.Pp +.Fn inet_ntop +関数は、ネットワーク形式 (通常 +.Ft struct in_addr +もしくは他の内部的なバイナリ形式で、ネットワークバイトオーダ) から +表示形式 (外部に表示するのに適した形式) への変換を行います。 +この関数は、システムエラーが発生した時 (この場合は +.Va errno +が設定されます) にはヌルを返し、それ以外の時は目的の文字列への +ポインタを返します。 +この関数は現在 +.Dv AF_INET +と +.Dv AF_INET6 +に対して有効です。 +.Pp +.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 +.Rs +.%R RFC +.%N 2373 +.%D July 1998 +.%T "IP Version 6 Addressing Architecture" +.Re +.Sh 規格 +.Fn inet_ntop +と +.Fn inet_pton +関数は、 +.St -xns5.2 +に適合しています。 +.Fn inet_pton +関数は、1 個、2 個もしくは 3 個のドット形式のアドレスには +対応していないことに注意してください。 +アドレスは 4 個に分けて、10 進数で指定しなければなりません。 +これは +.Fn inet_aton +関数が受け取ることのできる入力セットよりもせまいものです。 +.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/documentation/manual-pages/ja/man3/initgroups.3 b/documentation/manual-pages/ja/man3/initgroups.3 new file mode 100644 index 0000000000..6f132377b9 --- /dev/null +++ b/documentation/manual-pages/ja/man3/initgroups.3 @@ -0,0 +1,88 @@ +.\" 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. +.\" +.\" @(#)initgroups.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/initgroups.3,v 1.6.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt INITGROUPS 3 +.Os +.Sh 名称 +.Nm initgroups +.Nd グループアクセスリストの初期化 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft int +.Fn initgroups "const char *name" "int basegid" +.Sh 解説 +.Fn initgroups +関数は、 +.Fa name +で指定されるユーザのために +.Xr getgrouplist 3 +関数を使ってグループアクセスリストを計算します。その後、グループリストは +.Xr setgroups 2 +を使い現行プロセス用に設定されます。 +.Fa basegid +は自動的に +グループリストに含まれます。この値はパスワードファイルから +グループ番号として与えられるのが一般的です。 +.Sh 戻り値 +.Rv -std initgroups +.Sh エラー +.Fn initgroups +関数は、失敗することがあり、 +.Xr setgroups 2 +ライブラリ関数に対して指定されているエラーを +.Va errno +に設定することがあります。 +.Sh 関連項目 +.Xr setgroups 2 , +.Xr getgrouplist 3 +.Sh 歴史 +.Fn initgroups +関数は +.Bx 4.2 +で取り入れられました。 +.Sh バグ +.Fn initgroups +から呼び出される +.Fn getgrouplist +関数は +.Xr getgrent 3 +に基づく +ルーチンを使用します。このルーチンの中から起動プログラムがどのルーチンを +使用しても、グループ構造は +.Fn initgroups +の呼び出し中に上書きされます。 diff --git a/documentation/manual-pages/ja/man3/insque.3 b/documentation/manual-pages/ja/man3/insque.3 new file mode 100644 index 0000000000..871649f5db --- /dev/null +++ b/documentation/manual-pages/ja/man3/insque.3 @@ -0,0 +1,89 @@ +.\" 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. +.\" +.\" @(#)insque.3 8.2 (Berkeley) 12/11/93 +.\" %FreeBSD: src/lib/libcompat/4.3/insque.3,v 1.5.2.4 2001/08/17 15:42:56 ru Exp % +.\" +.\" $FreeBSD$ +.Dd December 11, 1993 +.Dt INSQUE 3 +.Os +.Sh 名称 +.Nm insque , +.Nm remque +.Nd 待ち行列に対して要素を挿入/削除する +.Sh ライブラリ +.Lb libcompat +.Sh 書式 +.Bd -literal +struct qelem { + struct qelem *q_forw; + struct qelem *q_back; + char q_data[]; +}; +.Ed +.Pp +.Ft void +.Fn insque "struct qelem *elem" "struct qelem *pred" +.Ft void +.Fn remque "struct qelem *elem" +.Sh 解説 +.Bf -symbolic +insque と remque 関数は時代遅れの関数です。 +.Ef +.Pp +.Fn insque +と +.Fn remque +関数は、二重リンクのリストから作られた待ち行列を +操作します。待ち行列中の各要素は +.Dq Li struct qelem +形式をとる必要があります。 +.Fn insque +関数は待ち行列中の +.Fa pred +の直後に +.Fa elem +を挿入します。 +.Fn remque +は待ち行列から要素 +.Fa elem +を削除します。 +.Sh 関連項目 +.%T "VAX Architecture Handbook" , +pp. 228-235. +.Sh 歴史 +.Fn insque +と +.Fn remque +関数は +.Bx 4.2 +から登場しました。 diff --git a/documentation/manual-pages/ja/man3/intro.3 b/documentation/manual-pages/ja/man3/intro.3 new file mode 100644 index 0000000000..0761df87c0 --- /dev/null +++ b/documentation/manual-pages/ja/man3/intro.3 @@ -0,0 +1,162 @@ +.\" 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 +.\" %FreeBSD: src/share/man/man3/intro.3,v 1.9.2.4 2001/08/17 13:08:36 ru Exp % +.\" $FreeBSD$ +.\" +.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 Xr libcurses Pq Fl l Ns Ar curses Fl l Ns Ar termcap +2 次元非ビットマップ・ディスプレイ端末用の端末独立 +スクリーン管理ルーチン ( +.Xr ncurses 3 +を参照)。 +.It Xr libcompat Pq Fl l Ns Ar compat +廃止されているが、 +.Bx 4.3 +との互換性の生成に使える関数。特に、ソース・コード +の互換性確保のために、 +.Bx +の旧リリースで提供された各種のシステム・ +コール・インタフェースが含まれています。これらのルーチンの使用は、 +できるだけ避けるべきです。マニュアル・ページの互換性ルーチンの見出し項目に +使用すべき適切なインタフェースが表示されています。 +.It Xr libkvm Pq Fl l Ns Ar kvm +カーネル・メモリへのアクセスに使われる関数はこのライブラリにあります。 +実行中のシステムとクラッシュ・ダンプの両方に使用できます ( +.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 関連ファイル +.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 +マニュアルは +.At v7 +で取り入れられました。 diff --git a/documentation/manual-pages/ja/man3/isalnum.3 b/documentation/manual-pages/ja/man3/isalnum.3 new file mode 100644 index 0000000000..c7d5d6734a --- /dev/null +++ b/documentation/manual-pages/ja/man3/isalnum.3 @@ -0,0 +1,100 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)isalnum.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/isalnum.3,v 1.7.2.7 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ISALNUM 3 +.Os +.Sh 名称 +.Nm isalnum +.Nd 英数字文字のテスト +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In ctype.h +.Ft int +.Fn isalnum "int c" +.Sh 解説 +.Fn isalnum +関数は、 +.Xr isalpha 3 +あるいは +.Xr isdigit 3 +が真である文字であるかどうかをテストします。 +C の単一の +.Va char +で表現できるロケール ( +.Xr multibyte 3 +参照) に対しては、引数の値は +.Li unsigned char +で表現できるものか値 +.Dv EOF +です。 +ASCII 文字集合においては、次の文字が含まれます +(それらの数値を 8 進数でも示します): +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It "\&060\ ``0'' \t061\ ``1'' \t062\ ``2'' \t063\ ``3'' \t064\ ``4''" +.It "\&065\ ``5'' \t066\ ``6'' \t067\ ``7'' \t070\ ``8'' \t071\ ``9''" +.It "\&101\ ``A'' \t102\ ``B'' \t103\ ``C'' \t104\ ``D'' \t105\ ``E''" +.It "\&106\ ``F'' \t107\ ``G'' \t110\ ``H'' \t111\ ``I'' \t112\ ``J''" +.It "\&113\ ``K'' \t114\ ``L'' \t115\ ``M'' \t116\ ``N'' \t117\ ``O''" +.It "\&120\ ``P'' \t121\ ``Q'' \t122\ ``R'' \t123\ ``S'' \t124\ ``T''" +.It "\&125\ ``U'' \t126\ ``V'' \t127\ ``W'' \t130\ ``X'' \t131\ ``Y''" +.It "\&132\ ``Z'' \t141\ ``a'' \t142\ ``b'' \t143\ ``c'' \t144\ ``d''" +.It "\&145\ ``e'' \t146\ ``f'' \t147\ ``g'' \t150\ ``h'' \t151\ ``i''" +.It "\&152\ ``j'' \t153\ ``k'' \t154\ ``l'' \t155\ ``m'' \t156\ ``n''" +.It "\&157\ ``o'' \t160\ ``p'' \t161\ ``q'' \t162\ ``r'' \t163\ ``s''" +.It "\&164\ ``t'' \t165\ ``u'' \t166\ ``v'' \t167\ ``w'' \t170\ ``x''" +.It "\&171\ ``y'' \t172\ ``z''" +.El +.Sh 戻り値 +.Fn isalnum +関数は、文字テスト結果が偽のとき 0 を返し、 +文字テスト結果が真のとき 0 以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr isalpha 3 , +.Xr isdigit 3 , +.Xr multibyte 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isalnum +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/isalpha.3 b/documentation/manual-pages/ja/man3/isalpha.3 new file mode 100644 index 0000000000..473eeda68e --- /dev/null +++ b/documentation/manual-pages/ja/man3/isalpha.3 @@ -0,0 +1,97 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)isalpha.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/isalpha.3,v 1.7.2.6 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ISALPHA 3 +.Os +.Sh 名称 +.Nm isalpha +.Nd アルファベット文字のテスト +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In ctype.h +.Ft int +.Fn isalpha "int c" +.Sh 解説 +.Fn isalpha +関数は、 +.Xr isupper 3 +あるいは +.Xr islower 3 +が真である文字であるかどうかをテストします。 +C の単一の +.Va char +で表現できるロケール ( +.Xr multibyte 3 +参照) に対しては、引数の値は +.Li unsigned char +で表現できるものか値 +.Dv EOF +です。 +ASCII 文字集合においては、次の文字が含まれます +(それらの数値を 8 進数でも示します): +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It "\&101\ ``A'' \t102\ ``B'' \t103\ ``C'' \t104\ ``D'' \t105\ ``E''" +.It "\&106\ ``F'' \t107\ ``G'' \t110\ ``H'' \t111\ ``I'' \t112\ ``J''" +.It "\&113\ ``K'' \t114\ ``L'' \t115\ ``M'' \t116\ ``N'' \t117\ ``O''" +.It "\&120\ ``P'' \t121\ ``Q'' \t122\ ``R'' \t123\ ``S'' \t124\ ``T''" +.It "\&125\ ``U'' \t126\ ``V'' \t127\ ``W'' \t130\ ``X'' \t131\ ``Y''" +.It "\&132\ ``Z'' \t141\ ``a'' \t142\ ``b'' \t143\ ``c'' \t144\ ``d''" +.It "\&145\ ``e'' \t146\ ``f'' \t147\ ``g'' \t150\ ``h'' \t151\ ``i''" +.It "\&152\ ``j'' \t153\ ``k'' \t154\ ``l'' \t155\ ``m'' \t156\ ``n''" +.It "\&157\ ``o'' \t160\ ``p'' \t161\ ``q'' \t162\ ``r'' \t163\ ``s''" +.It "\&164\ ``t'' \t165\ ``u'' \t166\ ``v'' \t167\ ``w'' \t170\ ``x''" +.It "\&171\ ``y'' \t172\ ``z''" +.El +.Sh 戻り値 +.Fn isalpha +関数は、文字テスト結果が偽のとき 0 を返し、 +文字テスト結果が真のとき 0 を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr islower 3 , +.Xr isupper 3 , +.Xr multibyte 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isalpha +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/isascii.3 b/documentation/manual-pages/ja/man3/isascii.3 new file mode 100644 index 0000000000..4aeebf1c90 --- /dev/null +++ b/documentation/manual-pages/ja/man3/isascii.3 @@ -0,0 +1,62 @@ +.\" 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. +.\" +.\" @(#)isascii.3 8.2 (Berkeley) 12/11/93 +.\" %FreeBSD: src/lib/libc/locale/isascii.3,v 1.5.2.5 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd December 11, 1993 +.Dt ISASCII 3 +.Os +.Sh 名称 +.Nm isascii +.Nd ASCII 文字のテスト +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In ctype.h +.Ft int +.Fn isascii "int c" +.Sh 解説 +.Fn isascii +関数は +.Tn ASCII +文字であるかどうかをテストします。 +.Tn ASCII +文字は、0 から 8 進数 0177 までの範囲で両端を含む値の任意の文字です。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isascii +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/isblank.3 b/documentation/manual-pages/ja/man3/isblank.3 new file mode 100644 index 0000000000..3bbc8c7d8b --- /dev/null +++ b/documentation/manual-pages/ja/man3/isblank.3 @@ -0,0 +1,67 @@ +.\" 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. +.\" +.\" @(#)isblank.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/isblank.3,v 1.4.2.3 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ISBLANK 3 +.Os +.Sh 名称 +.Nm isblank +.Nd 空白またはタブ文字のテスト +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In ctype.h +.Ft int +.Fn isblank "int c" +.Sh 解説 +.Fn isblank +関数は空白あるいはタブ文字であるかどうかをテストします。 +C の単一の +.Va char +で表現できるロケール ( +.Xr multibyte 3 +参照) に対しては、引数の値は +.Li unsigned char +で表現できるものか値 +.Dv EOF +です。 +.Sh 戻り値 +.Fn isblank +関数は、文字テスト結果が偽のとき 0 を返し、 +文字テスト結果が真のとき 0 以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr multibyte 3 , +.Xr ascii 7 diff --git a/documentation/manual-pages/ja/man3/iscntrl.3 b/documentation/manual-pages/ja/man3/iscntrl.3 new file mode 100644 index 0000000000..40a39be32d --- /dev/null +++ b/documentation/manual-pages/ja/man3/iscntrl.3 @@ -0,0 +1,88 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)iscntrl.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/iscntrl.3,v 1.6.2.5 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ISCNTRL 3 +.Os +.Sh 名称 +.Nm iscntrl +.Nd 制御文字のテスト +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In ctype.h +.Ft int +.Fn iscntrl "int c" +.Sh 解説 +.Fn iscntrl +関数は制御文字であるかどうかをテストします。 +C の単一の +.Va char +で表現できるロケール ( +.Xr multibyte 3 +参照) に対しては、引数の値は +.Li unsigned char +で表現できるものか値 +.Dv EOF +です。 +ASCII 文字集合においては、次の文字が含まれます +(それらの数値を 8 進数でも示します): +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It "\&000\ nul \t001\ soh \t002\ stx \t003\ etx \t004\ eot" +.It "\&005\ enq \t006\ ack \t007\ bel \t010\ bs \t011\ ht" +.It "\&012\ nl \t013\ vt \t014\ np \t015\ cr \t016\ so" +.It "\&017\ si \t020\ dle \t021\ dc1 \t022\ dc2 \t023\ dc3" +.It "\&024\ dc4 \t025\ nak \t026\ syn \t027\ etb \t030\ can" +.It "\&031\ em \t032\ sub \t033\ esc \t034\ fs \t035\ gs" +.It "\&036\ rs \t037\ us \t177\ del" +.El +.Sh 戻り値 +.Fn iscntrl +関数は、文字テスト結果が偽のとき 0 を返し、 +文字テスト結果が真のとき 0 以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr multibyte 3 , +.Xr ascii 7 +.Sh 規格 +.Fn iscntrl +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/isdigit.3 b/documentation/manual-pages/ja/man3/isdigit.3 new file mode 100644 index 0000000000..569368944d --- /dev/null +++ b/documentation/manual-pages/ja/man3/isdigit.3 @@ -0,0 +1,83 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)isdigit.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/isdigit.3,v 1.6.2.5 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ISDIGIT 3 +.Os +.Sh 名称 +.Nm isdigit +.Nd 10 進数文字のテスト +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In ctype.h +.Ft int +.Fn isdigit "int c" +.Sh 解説 +.Fn isdigit +関数は 10 進数文字であるかどうかをテストします。 +C の単一の +.Va char +で表現できるロケール ( +.Xr multibyte 3 +参照) に対しては、引数の値は +.Li unsigned char +で表現できるものか値 +.Dv EOF +です。 +ASCII 文字集合においては、次の文字が含まれます +(それらの数値を 8 進数でも示します): +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It "\&060\ ``0'' \t061\ ``1'' \t062\ ``2'' \t063\ ``3'' \t064\ ``4''" +.It "\&065\ ``5'' \t066\ ``6'' \t067\ ``7'' \t070\ ``8'' \t071\ ``9''" +.El +.Sh 戻り値 +.Fn isdigit +関数は、文字テスト結果が偽のとき 0 を返し、 +文字テスト結果が真のとき 0 以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr multibyte 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isdigit +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/isgraph.3 b/documentation/manual-pages/ja/man3/isgraph.3 new file mode 100644 index 0000000000..fb68f209d5 --- /dev/null +++ b/documentation/manual-pages/ja/man3/isgraph.3 @@ -0,0 +1,100 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)isgraph.3 8.2 (Berkeley) 12/11/93 +.\" %FreeBSD: src/lib/libc/locale/isgraph.3,v 1.7.2.5 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd December 11, 1993 +.Dt ISGRAPH 3 +.Os +.Sh 名称 +.Nm isgraph +.Nd 表示可能文字のテスト (空白文字を除く) +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In ctype.h +.Ft int +.Fn isgraph "int c" +.Sh 解説 +.Fn isgraph +関数は、空白以外の表示可能文字であるかどうかをテストします。 +C の単一の +.Va char +で表現できるロケール ( +.Xr multibyte 3 +参照) に対しては、引数の値は +.Li unsigned char +で表現できるものか値 +.Dv EOF +です。 +ASCII 文字集合においては、次の文字が含まれます +(それらの数値を 8 進数でも示します): +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It "\&041\ ``!'' \t042\ ``""'' \t043\ ``#'' \t044\ ``$'' \t045\ ``%''" +.It "\&046\ ``&'' \t047\ ``''' \t050\ ``('' \t051\ ``)'' \t052\ ``*''" +.It "\&053\ ``+'' \t054\ ``,'' \t055\ ``-'' \t056\ ``.'' \t057\ ``/''" +.It "\&060\ ``0'' \t061\ ``1'' \t062\ ``2'' \t063\ ``3'' \t064\ ``4''" +.It "\&065\ ``5'' \t066\ ``6'' \t067\ ``7'' \t070\ ``8'' \t071\ ``9''" +.It "\&072\ ``:'' \t073\ ``;'' \t074\ ``<'' \t075\ ``='' \t076\ ``>''" +.It "\&077\ ``?'' \t100\ ``@'' \t101\ ``A'' \t102\ ``B'' \t103\ ``C''" +.It "\&104\ ``D'' \t105\ ``E'' \t106\ ``F'' \t107\ ``G'' \t110\ ``H''" +.It "\&111\ ``I'' \t112\ ``J'' \t113\ ``K'' \t114\ ``L'' \t115\ ``M''" +.It "\&116\ ``N'' \t117\ ``O'' \t120\ ``P'' \t121\ ``Q'' \t122\ ``R''" +.It "\&123\ ``S'' \t124\ ``T'' \t125\ ``U'' \t126\ ``V'' \t127\ ``W''" +.It "\&130\ ``X'' \t131\ ``Y'' \t132\ ``Z'' \t133\ ``['' \t134\ ``\e\|''" +.It "\&135\ ``]'' \t136\ ``^'' \t137\ ``_'' \t140\ ```'' \t141\ ``a''" +.It "\&142\ ``b'' \t143\ ``c'' \t144\ ``d'' \t145\ ``e'' \t146\ ``f''" +.It "\&147\ ``g'' \t150\ ``h'' \t151\ ``i'' \t152\ ``j'' \t153\ ``k''" +.It "\&154\ ``l'' \t155\ ``m'' \t156\ ``n'' \t157\ ``o'' \t160\ ``p''" +.It "\&161\ ``q'' \t162\ ``r'' \t163\ ``s'' \t164\ ``t'' \t165\ ``u''" +.It "\&166\ ``v'' \t167\ ``w'' \t170\ ``x'' \t171\ ``y'' \t172\ ``z''" +.It "\&173\ ``{'' \t174\ ``|'' \t175\ ``}'' \t176\ ``~''" +.El +.Sh 戻り値 +.Fn isgraph +関数は、文字テスト結果が偽のとき 0 を返し、 +文字テスト結果が真のとき 0 以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr multibyte 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isgraph +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/isinf.3 b/documentation/manual-pages/ja/man3/isinf.3 new file mode 100644 index 0000000000..8fccb2ed46 --- /dev/null +++ b/documentation/manual-pages/ja/man3/isinf.3 @@ -0,0 +1,82 @@ +.\" 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. +.\" +.\" @(#)isinf.3 8.2 (Berkeley) 1/29/94 +.\" %FreeBSD: src/lib/libc/gen/isinf.3,v 1.5.2.2 2001/03/06 16:45:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd January 29, 1994 +.Dt ISINF 3 +.Os +.Sh 名称 +.Nm isinf , +.Nm isnan , +.Nm isnanf +.Nd 無限大 (infinity) または非数値 (not-a-number) のテスト +.Sh ライブラリ +.Lb libc +.Sh 書式 +.Ft int +.Fn isinf double +.Ft int +.Fn isnan double +.Ft int +.Fn isnanf float +.Sh 解説 +.Fn isinf +関数は、数値が +「無限大」 +.Dq \\*(If +であれば +1 を、そうでなければ +0 を返します。 +.Pp +.Fn isnan +関数および +.Fn isnanf +関数は、倍精度実数または単精度実数が +「非数値」 +.Dq not-a-number +であれば 1 を、 +そうでなければ 0 を返します。 +.Sh 関連項目 +.Xr math 3 +.Rs +.%T "IEEE Standard for Binary Floating-Point Arithmetic" +.%Q ANSI +.%R Std 754-1985 +.Re +.Sh バグ +.Tn VAX +および +Tahoe のどちらの浮動小数点数においても、 +「無限大」や「非数値」を見分けるための値を持ちません。 +これらのアーキテクチャ上では、これらのルーチンは、常に 0 を返します。 diff --git a/documentation/manual-pages/ja/man3/islower.3 b/documentation/manual-pages/ja/man3/islower.3 new file mode 100644 index 0000000000..0393f0c07d --- /dev/null +++ b/documentation/manual-pages/ja/man3/islower.3 @@ -0,0 +1,87 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)islower.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/islower.3,v 1.7.2.5 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ISLOWER 3 +.Os +.Sh 名称 +.Nm islower +.Sh ライブラリ +.Lb libc +.Nd 小文字のテスト +.Sh 書式 +.In ctype.h +.Ft int +.Fn islower "int c" +.Sh 解説 +.Fn islower +関数は、小文字であるかどうかをテストします。 +C の単一の +.Va char +で表現できるロケール ( +.Xr multibyte 3 +参照) に対しては、引数の値は +.Li unsigned char +で表現できるものか値 +.Dv EOF +です。 +ASCII 文字集合においては、次の文字が含まれます +(それらの数値を 8 進数でも示します): +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It "\&141\ ``a'' \t142\ ``b'' \t143\ ``c'' \t144\ ``d'' \t145\ ``e''" +.It "\&146\ ``f'' \t147\ ``g'' \t150\ ``h'' \t151\ ``i'' \t152\ ``j''" +.It "\&153\ ``k'' \t154\ ``l'' \t155\ ``m'' \t156\ ``n'' \t157\ ``o''" +.It "\&160\ ``p'' \t161\ ``q'' \t162\ ``r'' \t163\ ``s'' \t164\ ``t''" +.It "\&165\ ``u'' \t166\ ``v'' \t167\ ``w'' \t170\ ``x'' \t171\ ``y''" +.It "\&172\ ``z''" +.El +.Sh 戻り値 +.Fn islower +関数は、文字テスト結果が偽のとき 0 を返し、 +文字テスト結果が真のとき 0 以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr multibyte 3 , +.Xr ascii 7 +.Sh 規格 +.Fn islower +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/isprint.3 b/documentation/manual-pages/ja/man3/isprint.3 new file mode 100644 index 0000000000..44ec7004bc --- /dev/null +++ b/documentation/manual-pages/ja/man3/isprint.3 @@ -0,0 +1,100 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)isprint.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/isprint.3,v 1.7.2.5 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ISPRINT 3 +.Os +.Sh 名称 +.Nm isprint +.Nd 表示可能文字のテスト (空白文字を含む) +.Sh ライブラリ +.Lb libc +.Sh 書式 +.Fd #include <ctype.h> +.Ft int +.Fn isprint "int c" +.Sh 解説 +.Fn isprint +関数は、空白 (' ') を含む表示可能文字であるかどうかをテストします。 +C の単一の +.Va char +で表現できるロケール ( +.Xr multibyte 3 +参照) に対しては、引数の値は +.Li unsigned char +で表現できるものか値 +.Dv EOF +です。 +ASCII 文字集合においては、次の文字が含まれます +(それらの数値を 8 進数でも示します): +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It "\&040\ sp \t041\ ``!'' \t042\ ``""'' \t043\ ``#'' \t044\ ``$''" +.It "\&045\ ``%'' \t046\ ``&'' \t047\ ``''' \t050\ ``('' \t051\ ``)''" +.It "\&052\ ``*'' \t053\ ``+'' \t054\ ``,'' \t055\ ``-'' \t056\ ``.''" +.It "\&057\ ``/'' \t060\ ``0'' \t061\ ``1'' \t062\ ``2'' \t063\ ``3''" +.It "\&064\ ``4'' \t065\ ``5'' \t066\ ``6'' \t067\ ``7'' \t070\ ``8''" +.It "\&071\ ``9'' \t072\ ``:'' \t073\ ``;'' \t074\ ``<'' \t075\ ``=''" +.It "\&076\ ``>'' \t077\ ``?'' \t100\ ``@'' \t101\ ``A'' \t102\ ``B''" +.It "\&103\ ``C'' \t104\ ``D'' \t105\ ``E'' \t106\ ``F'' \t107\ ``G''" +.It "\&110\ ``H'' \t111\ ``I'' \t112\ ``J'' \t113\ ``K'' \t114\ ``L''" +.It "\&115\ ``M'' \t116\ ``N'' \t117\ ``O'' \t120\ ``P'' \t121\ ``Q''" +.It "\&122\ ``R'' \t123\ ``S'' \t124\ ``T'' \t125\ ``U'' \t126\ ``V''" +.It "\&127\ ``W'' \t130\ ``X'' \t131\ ``Y'' \t132\ ``Z'' \t133\ ``[''" +.It "\&134\ ``\e\|'' \t135\ ``]'' \t136\ ``^'' \t137\ ``_'' \t140\ ```''" +.It "\&141\ ``a'' \t142\ ``b'' \t143\ ``c'' \t144\ ``d'' \t145\ ``e''" +.It "\&146\ ``f'' \t147\ ``g'' \t150\ ``h'' \t151\ ``i'' \t152\ ``j''" +.It "\&153\ ``k'' \t154\ ``l'' \t155\ ``m'' \t156\ ``n'' \t157\ ``o''" +.It "\&160\ ``p'' \t161\ ``q'' \t162\ ``r'' \t163\ ``s'' \t164\ ``t''" +.It "\&165\ ``u'' \t166\ ``v'' \t167\ ``w'' \t170\ ``x'' \t171\ ``y''" +.It "\&172\ ``z'' \t173\ ``{'' \t174\ ``|'' \t175\ ``}'' \t176\ ``~''" +.El +.Sh 戻り値 +.Fn isprint +関数は、文字テスト結果が偽のとき 0 を返し、 +文字テスト結果が真のとき 0 以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr multibyte 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isprint +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/ispunct.3 b/documentation/manual-pages/ja/man3/ispunct.3 new file mode 100644 index 0000000000..11c4d0a88c --- /dev/null +++ b/documentation/manual-pages/ja/man3/ispunct.3 @@ -0,0 +1,91 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)ispunct.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/ispunct.3,v 1.7.2.5 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ISPUNCT 3 +.Os +.Sh 名称 +.Nm ispunct +.Nd 句読点文字のテスト +.Sh ライブラリ +.Lb libc +.Sh 書式 +.Fd #include <ctype.h> +.Ft int +.Fn ispunct "int c" +.Sh 解説 +.Fn ispunct +関数は、 +空白または +.Xr isalnum 3 +が真である文字を除いた、表示可能文字であるかどうかをテストします。 +C の単一の +.Va char +で表現できるロケール ( +.Xr multibyte 3 +参照) に対しては、引数の値は +.Li unsigned char +で表現できるものか値 +.Dv EOF +です。 +ASCII 文字集合においては、次の文字が含まれます +(それらの数値を 8 進数でも示します): +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It "\&041\ ``!'' \t042\ ``""'' \t043\ ``#'' \t044\ ``$'' \t045\ ``%''" +.It "\&046\ ``&'' \t047\ ``''' \t050\ ``('' \t051\ ``)'' \t052\ ``*''" +.It "\&053\ ``+'' \t054\ ``,'' \t055\ ``-'' \t056\ ``.'' \t057\ ``/''" +.It "\&072\ ``:'' \t073\ ``;'' \t074\ ``<'' \t075\ ``='' \t076\ ``>''" +.It "\&077\ ``?'' \t100\ ``@'' \t133\ ``['' \t134\ ``\e\|'' \t135\ ``]''" +.It "\&136\ ``^'' \t137\ ``_'' \t140\ ```'' \t173\ ``{'' \t174\ ``|''" +.It "\&175\ ``}'' \t176\ ``~''" +.El +.Sh 戻り値 +.Fn ispunct +関数は、文字テスト結果が偽のとき 0 を返し、 +文字テスト結果が真のとき 0 以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr multibyte 3 , +.Xr ascii 7 +.Sh 規格 +.Fn ispunct +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/isspace.3 b/documentation/manual-pages/ja/man3/isspace.3 new file mode 100644 index 0000000000..5a554d3d8b --- /dev/null +++ b/documentation/manual-pages/ja/man3/isspace.3 @@ -0,0 +1,83 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)isspace.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: /c/ncvs/src/lib/libc/locale/isspace.3,v 1.6.2.5 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ISSPACE 3 +.Os +.Sh 名称 +.Nm isspace +.Nd 空白文字のテスト +.Sh ライブラリ +.Lb libc +.Sh 書式 +.Fd #include <ctype.h> +.Ft int +.Fn isspace "int c" +.Sh 解説 +.Fn isspace +関数は標準空白文字であるかどうかをテストします。 +C の単一の +.Va char +で表現できるロケール ( +.Xr multibyte 3 +参照) に対しては、引数の値は +.Li unsigned char +で表現できるものか値 +.Dv EOF +です。 +ASCII 文字集合においては、次の文字が含まれます +(それらの数値を 8 進数でも示します): +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It "\&011\ ht \t012\ nl \t013\ vt \t014\ np \t015\ cr" +.It "\&040\ sp" +.El +.Sh 戻り値 +.Fn isspace +関数は、文字テスト結果が偽のとき 0 を返し、 +文字テスト結果が真のとき 0 以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr multibyte 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isspace +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/isupper.3 b/documentation/manual-pages/ja/man3/isupper.3 new file mode 100644 index 0000000000..e192c48358 --- /dev/null +++ b/documentation/manual-pages/ja/man3/isupper.3 @@ -0,0 +1,88 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)isupper.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/isupper.3,v 1.8.2.5 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ISUPPER 3 +.Os +.Sh 名称 +.Nm isupper +.Nd 大文字のテスト +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In ctype.h +.Ft int +.Fn isupper "int c" +.Sh 解説 +.Fn isupper +関数は大文字であるかどうかをテストします。 +C の単一の +.Va char +で表現できるロケール ( +.Xr multibyte 3 +参照) に対しては、引数の値は +.Li unsigned char +で表現できるものか値 +.Dv EOF +です。 +ASCII 文字集合においては、次の文字が含まれます +(それらの数値を 8 進数でも示します): +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It "\&101\ ``A'' \t102\ ``B'' \t103\ ``C'' \t104\ ``D'' \t105\ ``E''" +.It "\&106\ ``F'' \t107\ ``G'' \t110\ ``H'' \t111\ ``I'' \t112\ ``J''" +.It "\&113\ ``K'' \t114\ ``L'' \t115\ ``M'' \t116\ ``N'' \t117\ ``O''" +.It "\&120\ ``P'' \t121\ ``Q'' \t122\ ``R'' \t123\ ``S'' \t124\ ``T''" +.It "\&125\ ``U'' \t126\ ``V'' \t127\ ``W'' \t130\ ``X'' \t131\ ``Y''" +.It "\&132\ ``Z''" +.El +.Sh 戻り値 +.Fn isupper +関数は、文字テスト結果が偽のとき 0 を返し、 +文字テスト結果が真のとき 0 以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr multibyte 3 , +.Xr toupper 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isupper +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/isxdigit.3 b/documentation/manual-pages/ja/man3/isxdigit.3 new file mode 100644 index 0000000000..401af4a437 --- /dev/null +++ b/documentation/manual-pages/ja/man3/isxdigit.3 @@ -0,0 +1,86 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)isxdigit.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/isxdigit.3,v 1.6.2.5 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt ISXDIGIT 3 +.Os +.Sh 名称 +.Nm isxdigit +.Nd 16 進数文字のテスト +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In ctype.h +.Ft int +.Fn isxdigit "int c" +.Sh 解説 +.Fn isxdigit +関数は 16 進数文字であるかどうかをテストします。 +C の単一の +.Va char +で表現できるロケール ( +.Xr multibyte 3 +参照) に対しては、引数の値は +.Li unsigned char +で表現できるものか値 +.Dv EOF +です。 +ASCII 文字集合においては、次の文字が含まれます +(それらの数値を 8 進数でも示します): +.Pp +.Bl -column \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ \&000_``0''__ +.It "\&060\ ``0'' \t061\ ``1'' \t062\ ``2'' \t063\ ``3'' \t064\ ``4''" +.It "\&065\ ``5'' \t066\ ``6'' \t067\ ``7'' \t070\ ``8'' \t071\ ``9''" +.It "\&101\ ``A'' \t102\ ``B'' \t103\ ``C'' \t104\ ``D'' \t105\ ``E''" +.It "\&106\ ``F'' \t141\ ``a'' \t142\ ``b'' \t143\ ``c'' \t144\ ``d''" +.It "\&145\ ``e'' \t146\ ``f''" +.El +.Sh 戻り値 +.Fn isxdigit +関数は、文字テスト結果が偽のとき 0 を返し、 +文字テスト結果が真のとき 0 以外を返します。 +.Sh 関連項目 +.Xr ctype 3 , +.Xr multibyte 3 , +.Xr ascii 7 +.Sh 規格 +.Fn isxdigit +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/j0.3 b/documentation/manual-pages/ja/man3/j0.3 new file mode 100644 index 0000000000..a8dc291359 --- /dev/null +++ b/documentation/manual-pages/ja/man3/j0.3 @@ -0,0 +1,157 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/j0.3,v 1.8.2.3 2001/12/17 10:08:36 ru Exp % +.\" $FreeBSD$ +.\" +.Dd April 19, 1991 +.Dt J0 3 +.Os +.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 ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 +.Em 次 +と +1 +.Em 次の第一種ベッセル関数 +を計算します。 +関数 +.Fn jn , +.Fn jnf +は実数値 +.Fa x +に対して +.Em 整数次 +.Fa n +.Em の第一種ベッセル関数 +を計算します。 +.Pp +関数 +.Fn y0 , +.Fn y0f , +.Fn y1 , +.Fn y1f +は正の +.Em 実数 +値 +.Fa x +に対して、 +線形独立な +0 +.Em 次と +1 +.Em 次の第二種ベッセル関数 +を計算します。 +関数 +.Fn yn , +.Fn ynf +は正の +.Em 実数 +値 +.Fa x +に対して +.Em 整数次 +.Fa n +.Em の第二種ベッセル関数 +を計算します。 +.Sh 戻り値 +これらの関数が正常終了すると、計算結果が返されます。 +.Tn VAX +および +.Tn Tahoe +アーキテクチャでは、 +第二種ベッセル関数に対しては、 +負または +0 の +.Fa x +の値 +はエラーになります。 +グローバル変数 +.Va errno +は +.Er EDOM +に設定されて予約オペランドフォルトが生成されます。 +.Sh 関連項目 +.Xr math 3 +.Sh 歴史 +この一群の関数は +.At v7 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/kvm.3 b/documentation/manual-pages/ja/man3/kvm.3 new file mode 100644 index 0000000000..6ae51a7f6b --- /dev/null +++ b/documentation/manual-pages/ja/man3/kvm.3 @@ -0,0 +1,112 @@ +.\" 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.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libkvm/kvm.3,v 1.7.2.2 2001/08/17 15:43:04 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt KVM 3 +.Os +.Sh 名称 +.Nm kvm +.Nd カーネルメモリインタフェース +.Sh ライブラリ +.Lb libkvm +.Sh 解説 +.Xr kvm 3 +ライブラリは、作動中のシステムとクラッシュダンプを含めて、 +カーネル仮想メモリイメージをアクセスするための +一様なインタフェースを提供します。 +作動中のシステムへのアクセスは +.Pa /dev/mem +を経由して行われます。 +他方、クラッシュダンプは +.Xr savecore 8 +が生成するコアファイルを経由して検証できます。 +インタフェースは同じように動作します。 +メモリは読み取りと書き込みができ、 +カーネルシンボルアドレスは効率的に調べることができ、 +ユーザプロセスの情報が収集できます。 +.Pp +.Fn kvm_open +は、すべての後続する呼び出しで必要となる記述子を得るために、 +最初に呼び出されます。 +.Sh 互換性 +kvm インタフェースは最初に SunOS で取込まれました。 +このインタフェースを使用するかなりの数のプログラムが開発されましたので、 +後方互換性を保つことが非常に望まれています。 +ほとんどの点で、Sun kvm インタフェースは一貫しており、クリーンです。 +従って、インタフェースのジェネリックな部分 +(すなわち +.Fn kvm_open , +.Fn kvm_close , +.Fn kvm_read , +.Fn kvm_write , +.Fn kvm_nlist ) +は +.Bx +インタフェースに組み込まれてしまっています。 +実際、多くの kvm アプリケーション (たとえばデバッガや統計的モニタ) +はインタフェースのこのサブセットのみを使用します。 +プロセスインタフェースは残されませんでした。 +これは移植性の問題ではありません。 +プロセスを操作するどのようなコードも、本質的にマシン依存だからです。 +.Pp +最後に、Sun kvm エラー報告セマンティクスはうまく定義されていません。 +ライブラリは、stderr に自動的にエラーを印字する、 +あるいはエラーメッセージをまったく印字しないのどちらかに設定できます。 +後者の場合には、エラーの性質は決定できません。 +この問題を克服するために、 +.Bx +インタフェースは +.Xr kvm_geterr 3 +ルーチンを持ち、 +該当の記述子における最新のエラー状態に対応する +エラーメッセージを返します (印字しません)。 +.Sh 関連項目 +.Xr kvm_close 3 , +.Xr kvm_getargv 3 , +.Xr kvm_getenvv 3 , +.Xr kvm_geterr 3, +.Xr kvm_getfiles 3 , +.Xr kvm_getloadavg 3 , +.Xr kvm_getprocs 3 , +.Xr kvm_getswapinfo 3 , +.Xr kvm_nlist 3 , +.Xr kvm_open 3 , +.Xr kvm_openfiles 3 , +.Xr kvm_read 3 , +.Xr kvm_write 3 diff --git a/documentation/manual-pages/ja/man3/kvm_geterr.3 b/documentation/manual-pages/ja/man3/kvm_geterr.3 new file mode 100644 index 0000000000..1c2848ca81 --- /dev/null +++ b/documentation/manual-pages/ja/man3/kvm_geterr.3 @@ -0,0 +1,85 @@ +.\" 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_geterr.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libkvm/kvm_geterr.3,v 1.3.2.4 2001/12/17 10:08:30 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt KVM_GETERR 3 +.Os +.Sh 名称 +.Nm kvm_geterr +.Nd kvm 記述子でのエラーメッセージを獲得する +.Sh ライブラリ +.Lb libkvm +.Sh 書式 +.In kvm.h +.Ft char * +.Fn kvm_geterr "kvm_t *kd" +.Sh 解説 +この関数は +.Fa kd +記述子での最新のエラー状態を説明している文字列を返します。 +もしも最新の +.Xr kvm 3 +ライブラリ呼び出しがエラーを引き起こさなかったならば、 +その結果は定義されていません。戻された文字列は +.Xr kvm 3 +が所有するメモリに保存されますので、 +メッセージは必要があれば複写して別の場所に保存すべきです。 +.Sh バグ +このルーチンは異常終了した +.Fn kvm_openfiles +呼び出しに基づくエラー条件のアクセスに使用できません。 +異常終了は +.Dv NULL +記述子を戻すことで指示されます。 +このために、オープンに関するエラーは特別なエラーバッファに出力され、 +.Fn kvm_openfiles +に渡されます。このオプションは +.Fn kvm_open +には使用できません。 +.Sh 関連項目 +.Xr kvm 3 , +.Xr kvm_close 3 , +.Xr kvm_getargv 3 , +.Xr kvm_getenvv 3 , +.Xr kvm_getprocs 3 , +.Xr kvm_nlist 3 , +.Xr kvm_open 3 , +.Xr kvm_openfiles 3 , +.Xr kvm_read 3 , +.Xr kvm_write 3 diff --git a/documentation/manual-pages/ja/man3/kvm_getloadavg.3 b/documentation/manual-pages/ja/man3/kvm_getloadavg.3 new file mode 100644 index 0000000000..df1c00f855 --- /dev/null +++ b/documentation/manual-pages/ja/man3/kvm_getloadavg.3 @@ -0,0 +1,66 @@ +.\" Copyright (c) 1992, 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. +.\" +.\" @(#)kvm_getloadavg.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libkvm/kvm_getloadavg.3,v 1.8.2.2 2001/12/17 10:08:30 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt KVM_GETLOADAVG 3 +.Os +.Sh 名称 +.Nm kvm_getloadavg +.Nd システムの負荷平均を取得する +.Sh ライブラリ +.Lb libkvm +.Sh 書式 +.In kvm.h +.Ft int +.Fn kvm_getloadavg "kvm_t *kd" "double loadavg[]" "int nelem" +.Sh 解説 +.Fn kvm_getloadavg +関数は、 +.Fa kd +で指示されたカーネルのシステム動作待ち行列でのプロセス数を返します。 +この数は種々の時間間隔で平均化されています。最大 +.Fa nelem +のサンプルが取得され、 +.Fa loadavg Ns Bq +の連続する要素に代入されます。 +システムの制約では、サンプル数の最大は 3 個であり、 +それぞれ最新 1 分、5 分、15 分での平均を表現します。 +.Sh 診断 +負荷平均が取得できなければ、\-1 が返されます。 +そうでなければ、実際に取得されたサンプル数が返されます。 +.Sh 関連項目 +.Xr uptime 1 , +.Xr getloadavg 3 , +.Xr kvm 3 diff --git a/documentation/manual-pages/ja/man3/kvm_getprocs.3 b/documentation/manual-pages/ja/man3/kvm_getprocs.3 new file mode 100644 index 0000000000..43d67bc3c1 --- /dev/null +++ b/documentation/manual-pages/ja/man3/kvm_getprocs.3 @@ -0,0 +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 +.\" %FreeBSD: src/lib/libkvm/kvm_getprocs.3,v 1.6.2.6 2001/12/17 10:08:30 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt KVM_GETPROCS 3 +.Os +.Sh 名称 +.Nm kvm_getprocs , +.Nm kvm_getargv , +.Nm kvm_getenvv +.Nd ユーザプロセス状態にアクセスする +.Sh ライブラリ +.Lb libkvm +.Sh 書式 +.In kvm.h +.In sys/param.h +.In sys/sysctl.h +.\" .Fa kvm_t *kd +.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 +が 0 ならば、なんら制限は課されませんし、 +すべての引数の文字列はそっくりそのまま返されます。 +.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 NULL +を返します。 +.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/documentation/manual-pages/ja/man3/kvm_nlist.3 b/documentation/manual-pages/ja/man3/kvm_nlist.3 new file mode 100644 index 0000000000..eae452f79a --- /dev/null +++ b/documentation/manual-pages/ja/man3/kvm_nlist.3 @@ -0,0 +1,88 @@ +.\" 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_nlist.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libkvm/kvm_nlist.3,v 1.5.2.3 2001/12/17 10:08:30 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt KVM_NLIST 3 +.Os +.Sh 名称 +.Nm kvm_nlist +.Nd カーネルイメージからシンボルテーブルを検索する +.Sh ライブラリ +.Lb libkvm +.Sh 書式 +.In kvm.h +.In nlist.h +.Ft int +.Fn kvm_nlist "kvm_t *kd" "struct nlist *nl" +.Sh 解説 +.Fn kvm_nlist +はネームリスト引数 +.Fa \&nl +で示されるシンボルテーブルのエントリを検索します。 +この引数は nlist 構造体の配列を指し示し、 +n_name フィールドが +.Dv NULL +.Xr (nlist 3 +参照) であるエントリで終了しています。 +各シンボルは n_name フィールドを使って調べられます。 +そしてもし見つけられたら、 +対応する n_type フィールドと n_value フィールドが記載されます。 +シンボルが見つからなければ、これらのフィールドは 0 にされます。 +.Pp +シンボルを見つけるに、 +.Xr kldsym 2 +を使用しています。 +nlist 値のエミュレートに関しては完全ではありませんが、 +カーネルモジュールを考慮していてかなり高速であるという利点があります。 +.Sh 戻り値 +.Fn kvm_nlist +関数は見つけた無効エントリ数を返します。 +カーネルシンボルテーブルが読めなければ、-1 を返します。 +.Sh 関連項目 +.Xr kldsym 2 , +.Xr kvm 3 , +.Xr kvm_close 3 , +.Xr kvm_getargv 3 , +.Xr kvm_getenvv 3 , +.Xr kvm_geterr 3 , +.Xr kvm_getprocs 3 , +.Xr kvm_open 3 , +.Xr kvm_openfiles 3 , +.Xr kvm_read 3 , +.Xr kvm_write 3 diff --git a/documentation/manual-pages/ja/man3/kvm_open.3 b/documentation/manual-pages/ja/man3/kvm_open.3 new file mode 100644 index 0000000000..c8f6299634 --- /dev/null +++ b/documentation/manual-pages/ja/man3/kvm_open.3 @@ -0,0 +1,188 @@ +.\" 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_open.3 8.3 (Berkeley) 4/19/94 +.\" %FreeBSD: src/lib/libkvm/kvm_open.3,v 1.5.2.3 2001/01/16 10:33:29 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 19, 1994 +.Dt KVM_OPEN 3 +.Os +.Sh 名称 +.Nm kvm_open , +.Nm kvm_openfiles , +.Nm kvm_close +.Nd カーネル仮想メモリアクセスの初期化 +.Sh ライブラリ +.Lb libkvm +.Sh 書式 +.Fd #include <fcntl.h> +.Fd #include <kvm.h> +.Ft kvm_t * +.Fn kvm_open "const char *execfile" "const char *corefile" "const char *swapfile" "int flags" "const char *errstr" +.Ft kvm_t * +.Fn kvm_openfiles "const char *execfile" "const char *corefile" "const char *swapfile" "int flags" "char *errbuf" +.Ft int +.Fn kvm_close "kvm_t *kd" +.Sh 解説 +.Fn kvm_open +と +.Fn kvm_openfiles +の各関数は +.Xr kvm 3 +ライブラリルーチンを介しカーネル仮想メモリに +アクセスするために使われる記述子を返します。 +作動中カーネルとクラッシュダンプの双方とも、 +このインタフェース経由でアクセス可能です。 +.Pp +.Fa execfile +は、検証されるカーネルの実行可能イメージです。 +このファイルにはシンボルテーブルが含まれる必要があります。 +この引数が +.Dv NULL +のとき、現在実行中のシステムと仮定して +.Xr getbootfile 3 +から決定されます。 +.Pp +.Fa corefile +はカーネルメモリデバイスファイルで、/dev/mem か +.Xr savecore 8 +が生成するクラッシュダンプコアのいずれかです。 +.Fa corefile +が +.Dv NULL +のとき、<paths.h> が指示するデフォルト値 +.Dv _PATH_MEM +が使われます。 +.Pp +.Fa swapfile +はスワップデバイスを指示します。 +.Dv NULL +のとき、<paths.h> の +.Dv _PATH_DRUM +が使われます。 +.Pp +.Fa flags +引数は、 +.Xr open 2 +同様に読取り / 書込みアクセスフラグを示し、 +コアファイルに限定して適用します。 +.Dv O_RDONLY , +.Dv O_WRONLY , +.Dv O_RDWR +だけが許可されます。 +.Pp +オープンルーチンは 2 個あり、 +その違いはエラー機構だけです。 +一方は SunOS kvm ライブラリと後方互換性があり、 +他方は改善されたエラー報告フレームワークを提供します。 +.Pp +.Fn kvm_open +関数は Sun kvm と互換のオープン呼び出しです。 +ここでは、 +.Fa errstr +引数はエラーの処理方法を示します。 +.Dv NULL +のとき、エラーは報告されず、 +アプリケーションプログラムは kvm +呼び出しが失敗した原因は知らされません。 +.Dv NULL +でなければ、 +.Xr perror 3 +同様に、 +前に +.Fa errstr +が付加されたメッセージが stderr に印字されます。 +通常、プログラム名が使われます。 +少なくとも対応する +.Fn kvm_close +呼び出しまでは、この文字列は変わらないものと仮定されます。 +.Pp +.Fn kvm_openfiles +関数は BSD 様式のエラー報告を行います。 +ライブラリは、エラーメッセージを印字しません。 +代わりに、アプリケーションが +.Fn kvm_geterr +.Xr (kvm_geterr 3 +参照) を使用して、 +一番最後の kvm library 呼び出しに該当するエラーメッセージを獲得します。 +最後の kvm 呼び出しが正常であれば、結果は未定義となります。 +.Fn kvm_geterr +は kvm 記述子を要求しますが、 +オープンルーチンはオープン失敗のときには +.Dv NULL +を返しますので、オープンに失敗したときには、 +.Fn kvm_geterr +を使ってエラーメッセージを獲得できません。 +このような事情があるため、 +.Fn kvm_openfiles +は任意のエラーメッセージを +.Fa errbuf +引数中に置きます。 +このバッファの大きさは _POSIX2_LINE_MAX 文字分必要です +(<limits.h> より)。 +.Sh 戻り値 +.Fn kvm_open +と +.Fn kvm_openfiles +の関数は、その後のすべての kvm ライブラリ呼び出しで +使用するための記述子を返します。 +ライブラリは完全に再入可能です。 +異常終了時には +.Dv NULL +が返されますが、この場合、 +.Fn kvm_openfiles +はエラーメッセージを +.Fa errbuf +に書き込みます。 +.Pp +.Fn kvm_close +関数は正常終了時に 0 を返し、 +異常終了時には -1 を返します。 +.Sh バグ +オープン呼び出しが 2 種類ある現状は望ましくありません。 +Sun ライブラリのエラーセマンティクスが誤って定義されていたこと、 +BSD において後方互換ライブラリを持ちたかったことは、 +選択の余地をほとんど残しませんでした。 +.Sh 関連項目 +.Xr open 2 , +.Xr kvm 3 , +.Xr kvm_getargv 3 , +.Xr kvm_getenvv 3 , +.Xr kvm_geterr 3 , +.Xr kvm_getprocs 3 , +.Xr kvm_nlist 3 , +.Xr kvm_read 3 , +.Xr kvm_write 3 diff --git a/documentation/manual-pages/ja/man3/kvm_read.3 b/documentation/manual-pages/ja/man3/kvm_read.3 new file mode 100644 index 0000000000..397e72d2aa --- /dev/null +++ b/documentation/manual-pages/ja/man3/kvm_read.3 @@ -0,0 +1,96 @@ +.\" 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_read.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libkvm/kvm_read.3,v 1.6.2.3 2001/12/17 10:08:30 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt KVM_READ 3 +.Os +.Sh 名称 +.Nm kvm_read , +.Nm kvm_write +.Nd カーネル仮想メモリの読取りと書込み +.Sh ライブラリ +.Lb libkvm +.Sh 書式 +.In kvm.h +.Ft ssize_t +.Fn kvm_read "kvm_t *kd" "unsigned long addr" "void *buf" "size_t nbytes" +.Ft ssize_t +.Fn kvm_write "kvm_t *kd" "unsigned long addr" "const void *buf" "size_t nbytes" +.Sh 解説 +.Fn kvm_read +および +.Fn kvm_write +の関数は、カーネル仮想メモリ +(またはクラッシュダンプファイル) の読取りと書込みに使用されます。 +カーネル仮想メモリと +クラッシュダンプのオープンに関する情報は +.Fn kvm_open 3 +または +.Fn kvm_openfiles 3 +を参照してください。 +.Pp +.Fn kvm_read +関数は +.Fa nbytes +バイトのデータをカーネル空間のアドレス +.Fa addr +から +.Fa buf +に転送します。逆に、 +.Fn kvm_write +はデータを +.Fa buf +から +.Fa addr +に転送します。 +SunOS と異なり、これらの関数は、プロセスのアドレス空間の +読取りまたは書込みに使用できません。 +.Sh 戻り値 +正常に終了すると、実際に転送されたバイト数が返されます。 +エラー終了時は -1 が返されます。 +.Sh 関連項目 +.Xr kvm 3 , +.Xr kvm_close 3 , +.Xr kvm_getargv 3 , +.Xr kvm_getenvv 3 , +.Xr kvm_geterr 3 , +.Xr kvm_getprocs 3 , +.Xr kvm_nlist 3 , +.Xr kvm_open 3 , +.Xr kvm_openfiles 3 diff --git a/documentation/manual-pages/ja/man3/labs.3 b/documentation/manual-pages/ja/man3/labs.3 new file mode 100644 index 0000000000..78ddc30ebd --- /dev/null +++ b/documentation/manual-pages/ja/man3/labs.3 @@ -0,0 +1,69 @@ +.\" 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. +.\" +.\" @(#)labs.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/labs.3,v 1.4.2.2 2001/03/06 16:46:02 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt LABS 3 +.Os +.Sh 名称 +.Nm labs +.Nd long integer の絶対値 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.Fd #include <stdlib.h> +.Ft long +.Fn labs "long j" +.Sh 解説 +.Fn labs +関数は、引数に指定された long integer の変数 +.Ar j +の絶対値を返します。 +.Sh 関連項目 +.Xr abs 3 , +.Xr cabs 3 , +.Xr floor 3 , +.Xr math 3 +.Sh 規格 +.Fn labs +関数は +.St -isoC +に適合しています。 +.Pp +.Sh バグ +負の最大値の整数は負のままです。 diff --git a/documentation/manual-pages/ja/man3/ldexp.3 b/documentation/manual-pages/ja/man3/ldexp.3 new file mode 100644 index 0000000000..1b05d2b5bd --- /dev/null +++ b/documentation/manual-pages/ja/man3/ldexp.3 @@ -0,0 +1,79 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)ldexp.3 8.2 (Berkeley) 4/19/94 +.\" %FreeBSD: src/lib/libc/gen/ldexp.3,v 1.5.2.3 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd April 19, 1994 +.Dt LDEXP 3 +.Os +.Sh 名称 +.Nm ldexp +.Nd 浮動小数点数値と 2 の整数累乗関数との乗算 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In math.h +.Ft double +.Fn ldexp "double x" "int exp" +.Sh 解説 +.Fn ldexp +関数は浮動小数点の数値と 2 の整数累乗関数との乗算を行います。 +.Sh 戻り値 +.Fn ldexp +関数は、 +.Fa x +と 2 の +.Fa exp +乗との乗算結果を返します。 +.Pp +計算結果に桁あふれが発生した場合、外部変数 +.Va errno +に +.Er ERANGE +がセットされ、値 +.Dv HUGE +が返されます。 +.Sh 関連項目 +.Xr frexp 3 , +.Xr math 3 , +.Xr modf 3 +.Sh 規格 +.Fn ldexp +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/ldiv.3 b/documentation/manual-pages/ja/man3/ldiv.3 new file mode 100644 index 0000000000..bfb155a36d --- /dev/null +++ b/documentation/manual-pages/ja/man3/ldiv.3 @@ -0,0 +1,75 @@ +.\" 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. +.\" +.\" @(#)ldiv.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/ldiv.3,v 1.4.2.2 2001/03/06 16:46:02 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt LDIV 3 +.Os +.Sh 名称 +.Nm ldiv +.Nd 割り算での商と余りを返す +.Sh ライブラリ +.Lb libc +.Sh 書式 +.Fd #include <stdlib.h> +.Ft ldiv_t +.Fn ldiv "long num" "long denom" +.Sh 解説 +.Fn ldiv +関数は、引数 +.Ar num , +.Ar denom +について、 +.Ar num/denom +の計算を実行し、商と余りを返します。 +戻り値は +.Em long integer +変数の +.Ar quot , +.Ar rem +からなる +.Ar ldiv-t +の構造体の形で返されます。 +.Sh 関連項目 +.Xr div 3 , +.Xr math 3 +.Sh 規格 +.Fn ldiv +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/lgamma.3 b/documentation/manual-pages/ja/man3/lgamma.3 new file mode 100644 index 0000000000..8107bae73a --- /dev/null +++ b/documentation/manual-pages/ja/man3/lgamma.3 @@ -0,0 +1,132 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/lgamma.3,v 1.7.2.5 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd December 3, 1992 +.Dt LGAMMA 3 +.Os +.Sh 名称 +.Nm lgamma , +.Nm lgammaf , +.Nm gamma , +.Nm gammaf +.Nd ガンマ関数およびガンマ関数の対数計算 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.Fd #include <math.h> +.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/documentation/manual-pages/ja/man3/libalias.3 b/documentation/manual-pages/ja/man3/libalias.3 new file mode 100644 index 0000000000..40652df97c --- /dev/null +++ b/documentation/manual-pages/ja/man3/libalias.3 @@ -0,0 +1,1051 @@ +.\"- +.\" Copyright (c) 2001 Charles Mott <cm@linktel.net> +.\" 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/libalias/libalias.3,v 1.23.2.11 2001/12/17 10:08:22 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 13, 2000 +.Dt LIBALIAS 3 +.Os +.Sh 名称 +.Nm libalias +.Nd マスカレードおよびネットワークアドレス変換用パケットエイリアシングライブラリ +.Sh 書式 +.In sys/types.h +.In netinet/in.h +.In alias.h +.Pp +関数のプロトタイプは、このテキストの本文で紹介します。 +.Sh 解説 +.Nm +ライブラリは、IP パケットのエイリアスおよびエイリアス解除用の関数群であり、 +マスカレードおよびネットワークアドレス変換 (NAT) を目的としています。 +.Sh 導入 +このライブラリは、IP のローカルネットワークアドレスの変換 +および変換処理サポート用にデザインされた関数です。 +ローカルネットワークの未登録の IP アドレスから発信するパケットは、 +アクセス可能な IP アドレスから来たかのように見せかけることができます。 +外から入ってくるパケットに対しては、 +ローカルネットワーク上の正しいマシンに送られるよう +エイリアス解除されます。 +.Pp +パケットエイリアシングエンジンには、 +ある程度の柔軟性が組み込まれています。 +もっとも簡単な操作では、 +ローカルネットワークアドレスとパケットエイリアスホストとの間で +多対 1 対応付けが行なわれます。 +これは仮装 IP として知られていることです。 +更に、ローカルアドレスとパブリックアドレスの間での +1 対 1 対応付けも実装することが可能で、 +静的 NAT として知られています。 +これらの間には、異なるプライベートアドレスのグループを +それぞれ異なるパブリックアドレスにリンクさせることができ、 +その中にははっきりした多対 1 対応もいくつか見られます。 +更に、パブリックアドレスおよびポートは +固定的にプライベートアドレスおよびポートに +リダイレクトさせることができます。 +.Pp +パケットエイリアシングエンジンは、 +カーネル外部のユーザ空間で作用するように設計されており、 +そのためプライベートなカーネルデータ構造へのアクセスは不要です。 +ただし、ソースコードはカーネル環境に組み込むことができます。 +.Sh 初期化と制御 +2 つの特殊な関数、 +.Fn PacketAliasInit +および +.Fn PacketAliasSetAddress +は、 +パケット操作が完了する前に呼ぶ必要があります。 +また、パケットエイリアシングエンジンの操作モードに対し +.Fn PacketAliasSetMode +呼び出しによりカスタマイズできます。 +.Pp +.Ft void +.Fn PacketAliasInit "void" +.Bd -ragged -offset indent +この関数には引数がなく、また戻り値もありません。 +内部データ構造の初期化に使用されます。 +以下に示すモードビットは +.Fn PacketAliasInit +の呼び出し後、必ずセットされます。 +これらのモードビットの意味については、後述の +.Fn PacketAliasSetMode +を参照してください。 +.Bl -item -offset indent -compact +.It +.Dv PKT_ALIAS_SAME_PORTS +.It +.Dv PKT_ALIAS_USE_SOCKETS +.It +.Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE +.El +.Pp +この関数はパケットエイリアスエンジンに対し、 +常時同一の初期状態を返します。 +.Fn PacketAliasSetAddress +呼び出しは、これに続いて行ないます。 +また、前述したデフォルトモードビットを変更する場合は +.Fn PacketAliasSetMode +を呼び出します。 +.Pp +この関数呼び出しは、 +パケット操作の前にプログラム開始段階で実行する必要があります。 +.Ed +.Pp +.Ft void +.Fn PacketAliasUninit void +.Bd -ragged -offset indent +この関数には引数も戻り値もなく、 +内部データ構造に設定された値をクリアする場合に使用されます。 +.Pp +この関数はプログラムでエイリアスエンジンの使用を +停止させる場合に呼び出す必要があります。 +それにより、ファイアウォールに空いた隙間を塞ぐことになります。 +以前との互換性や特別なセキュリティを備えるために、本関数を +.Fn PacketAliasInit +が +.Xr atexit 3 +チェーンに付加しています。 +何度呼び出しても問題はありません。 +.Ed +.Pp +.Ft void +.Fn PacketAliasSetAddress "struct in_addr addr" +.Bd -ragged -offset indent +この関数は、ローカル領域のネットワーク外へ +パケットが発信する先のソースアドレスをセットします。 +.Fn PacketAliasRedirectAddr +により生成された +静的アドレス対応により上書きされない限り、 +発信パケットはすべてこのアドレスに再対応付けされます。 +.Pp +.Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE +モードビット +(デフォルト操作モード) が設定されている場合、 +内部的なエイリアスリンクテーブルは、 +エイリアスアドレスが変更されるたび、 +リセットされます。 +これは一連のダイアルアップ操作の中で +IP アドレス状態に関わらず、 +.Xr ppp 8 +のようなインタフェースに便利です。 +.Pp +.Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE +モードビットが +0 にセットされていた場合、この関数は、 +パケット間のエイリアスの動的変更に使用できます +(オーバヘッドの少ない呼び出しです)。 +.Pp +パケット操作の前にこの関数を呼び出す必要があります。 +.Ed +.Pp +.Ft unsigned int +.Fn PacketAliasSetMode "unsigned int flags" "unsigned int mask" +.Bd -ragged -offset indent +この関数は、 +.Fa flags +値に従ってモードビットの設定やクリアを行ないます。 +.Fa mask +により示されたビットだけが対象となります。 +以下に示すモードビットは +.Aq Pa alias.h +で定義されています。 +.Bl -tag -width indent +.It Dv PKT_ALIAS_LOG +.Pa /var/log/alias.log +ファイルへのロギングを可能にします。 +ログファイルには、エイリアス・リンクの作成、削除のたびに +icmp、tcp、udp へのリンク回数が記録されます。 +ログファイルが +.Xr tail 1 +により継続的に見ることができれば、 +主としてデバッグ用として有効です。 +.It Dv PKT_ALIAS_DENY_INCOMING +このモードビットが設定されていると、 +TCP 接続や UDP トランザクションに関連する +外部から着信するあらゆるパケットは、 +呼び出しプログラムで無視 ( +.Fn PacketAliasIn +であれば +.Dv PKT_ALIAS_IGNORED +を返す) +するための印が付けられます。 +パケットのエイリアスホストや +ローカルネットワークから発生した接続や +トランザクションに対するレスポンスに対する影響はありません。 +このモードビットは片方向のファイアウォールを実装する時に有効です。 +.It Dv PKT_ALIAS_SAME_PORTS +このモードビットが設定されていると、 +パケットエイリアスエンジンは実際のローカルポート番号を +そのままエイリアスポート番号にしようとします。 +このことは +(proto, alias addr, alias port, remote addr, remote port) の +5 つのパラメータのペアが一意であれば可能です。 +競合が起きる場合は、このビットが設定されていても +エイリアスポート番号には別の番号が選択されます。 +.It Dv PKT_ALIAS_USE_SOCKETS +このビットは、エイリアスホストがパケット移送時のように +ネットワーク上にトラフィックを発生させる場合必ず設定します。 +パケットエイリアスホストが不明なホストアドレスや +不明のポート番号 (例えば、FTP データ接続時) +からの接続を待っている時は、このモードビットは、 +ポートの競合が起きないように +プレースホルダとしてソケットの割り当てを定義します。 +接続が確立されると、 +通常は 1 分ほどでソケットは閉じられます。 +.It Dv PKT_ALIAS_UNREGISTERED_ONLY +このビットが設定されていると、未登録のアドレス空間から生じた以外の +ローカルネットワーク上のトラフィックが無視されます。 +標準クラス A, B および C の未登録アドレスは次の通りです。 +.Bd -literal -offset indent +10.0.0.0 -> 10.255.255.255 (Class A subnet) +172.16.0.0 -> 172.31.255.255 (Class B subnets) +192.168.0.0 -> 192.168.255.255 (Class C subnets) +.Ed +このオプションは、パケットエイリアスホストが +別々のインタフェースに登録済みおよび +未登録サブネットがある場合に有効です。 +登録済みサブネットは完全に外部と接続しているので、 +パケットエイリアスエンジンにより +パケットを送り出す必要はありません。 +.It Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE +このモードビットが設定されており、 +.Fn PacketAliasSetAddress +が +エイリアスアドレス変更のために呼ばれるケースでは、 +パケットエイリアスエンジンの内部リンクテーブル内容がクリアされます。 +この操作モードは、 +ダイアルアップ間でのインタフェースアドレスを変更したり、 +変更せずにおく +.Xr ppp 8 +リンクの場合に有効です。 +このモードビットが設定されていない場合、 +リンクテーブルはアドレスが変更されてもリセットされません。 +.It Dv PKT_ALIAS_PUNCH_FW +このオプションにより、 +.Nm +は、 +FTP/IRC DCC 接続に対する +.Xr ipfirewall 4 +ベースのファイアウォールの +`隙間' を作ることになります。 +開けられた隙間は IP アドレスやポートと結び付いており、 +別の接続に使用することはできません。 +隙間はそれを使用している接続が消滅すれば除去されます。 +.Nm +を使用しているプログラムを強制的に終了させる +(例えば kill -9) 仕組みは、フラグの状態により、 +隙間に割り当てられた全ファイアウォール領域をクリアすることで実現されています。 +このことはまた +.Fn PacketAliasSetFWBase +に対する +初期呼び出しでも起こります。 +この呼び出しはフラグの設定の前に行なう必要があります。 +.It Dv PKT_ALIAS_REVERSE +本オプションは、ライブラリが内向きパケットと外向きパケットを扱う方法を +反転させます。 +これにより、外部インタフェースの代りに内部インタフェースを通過する +パケットを食わせることができます。 +.It Dv PKT_ALIAS_PROXY_ONLY +本オプションは、ライブラリが透過プロキシルールのみに従うよう指示します。 +通常のパケットエイリアスは実行されません。 +詳細は後述の +.Fn PacketAliasProxyRule +を参照してください。 +.El +.Ed +.Pp +.Ft void +.Fn PacketAliasSetFWBase "unsigned int base" "unsigned int num" +.Bd -ragged -offset indent +ファイアウォールに ( +.Dv PKT_ALIAS_PUNCH_FW +フラグにより) +ファイアウォールの隙間に対する領域を割り当てます。 +領域は全初期化ルールに従いクリアされます。 +.Ed +.Sh パケット操作 +パケット処理関数は、着信 (リモート -> ローカル) +および発信 (ローカル -> リモート) パケットの修正に使用されます。 +ネットワークインタフェース経由でのパケットの送受信は、 +呼び出し側プログラムが行ないます。 +.Pp +.Fn PacketAliasInit +および +.Fn PacketAliasSetAddress +とともに、 +.Fn PacketAliasIn +と +.Fn PacketAliasOut +の +2 つのパケット処理ルーチンが基本的な、 +見かけの IP 実装に必要な最小機能として用意されています。 +.Pp +.Ft int +.Fn PacketAliasIn "char *buffer" "int maxpacketsize" +.Bd -ragged -offset indent +リモートのマシンからローカルネットワークへの着信パケットは +この関数によりエイリアス解除されます。 +IP パケットは引数 +.Fa buffer +で指定されます。 +.Fa maxpacketsize +はパケットを含むデータ構造の長さを示しており、 +実際のパケット長より大きくとる必要があります。 +.Pp +戻りコード : +.Bl -tag -width indent +.It Dv PKT_ALIAS_OK +パケットエイリアシング処理は成功しました。 +.It Dv PKT_ALIAS_IGNORED +パケットは無視され、エイリアスは解除されませんでした。 +これは、プロトコルが認識されないとき、 +ICMP のメッセージタイプは処理されていないか、 +あるいは新たな接続についての入力パケットが +無視されたときに発生します ( +.Fn PacketAliasSetMode +が +.Dv PKT_ALIAS_DENY_INCOMING +を設定した場合)。 +.It Dv PKT_ALIAS_UNRESOLVED_FRAGMENT +ヘッダフラグメントが未送信のため +フラグメントが解消されないときにこのコードが返されてきます。 +この場合、フラグメントはヘッダフラグメントが見つかるまで +.Fn PacketAliasSaveFragment +により保存しておく必要があります。 +.It Dv PKT_ALIAS_FOUND_HEADER_FRAGMENT +パケットエイリアシング処理は成功し、 +ヘッダフラグメントも見つかりました。 +これは解消されていないフラグメントを、 +.Fn PacketAliasGetFragment +により探し、 +.Fn PacketAliasFragmentIn +を使って +エイリアス解除する時のシグナルとなります。 +.It Dv PKT_ALIAS_ERROR +パケットエイリアシングエンジン内で発生した内部エラー。 +.El +.Ed +.Pp +.Ft int +.Fn PacketAliasOut "char *buffer" "int maxpacketsize" +.Bd -ragged -offset indent +ローカルネットワークからリモートのマシンへ発信するパケットは、 +この関数によりエイリアスされます。 +IP パケットは引数 +.Fa buffer +で指定され、 +.Fa maxpacketsize +はパケットが取りうる最大長を示します。 +IP 表現形式プロトコルは、アドレスと、修正され、 +またパケット長の変更にからむ一連のデータ内のポート情報を設定します。 +プロトコルのよく知られた事例としては、 +FTP と IRC DDC があります。 +.Pp +戻りコード : +.Bl -tag -width indent +.It Dv PKT_ALIAS_OK +パケットエイリアシング処理は成功しました。 +.It Dv PKT_ALIAS_IGNORED +パケットは無視され、エイリアス解除はされませんでした。 +これはプロトコルが認識されないときか、あるいは ICMP +メッセージタイプが処理されないときに発生します。 +.It Dv PKT_ALIAS_ERROR +パケットエイリアシング内で発生した内部エラー。 +.El +.Ed +.Sh ポートとアドレスのリダイレクション +このセクションで解説している関数は、 +ローカルネットワーク上のマシンにおいて、 +外部ネットワークから新たな着信に対するアクセスをある程度可能にします。 +個々のポートは、再対応付けや +固定的なネットワークアドレスの変換を定義することができます。 +.Pp +.Ft struct alias_link * +.Fo PacketAliasRedirectPort +.Fa "struct in_addr local_addr" +.Fa "u_short local_port" +.Fa "struct in_addr remote_addr" +.Fa "u_short remote_port" +.Fa "struct in_addr alias_addr" +.Fa "u_short alias_port" +.Fa "u_char proto" +.Fc +.Bd -ragged -offset indent +この関数は、所定のリモートアドレスやポートから +エイリアスアドレスやポートへのトラフィックを、 +指定されたローカルアドレスやポートへのリダイレクトを定義します。 +パラメータ +.Fa proto +は +.Dv IPPROTO_TCP +か +.Dv IPPROTO_UDP +のどちらかに該当し、 +.Aq Pa netinet/in.h +で定義されます。 +.Pp +.Fa local_addr +あるいは +.Fa alias_addr +が 0 ならば、パケットエイリアシングアドレスは +.Fn PacketAliasSetAddress +で設定されたものを使用します。 +.Fn PacketAliasRedirectPort +が +.Fn PacketAliasSetAddress +呼び出し語に +アドレス変更のために呼び出されても、 +0 リファレンスがこの変更を記録します。 +.Pp +負荷共有用にリンクが更に設定されると、 +.Fa local_addr +と +.Fa local_port +は無視され、サーバプールから動的に選択されます。 +これは +.Fn PacketAliasAddServer +で後述されています。 +.Pp +.Fa remote_addr +が 0 の場合、 +パケットをリモートアドレスからリダイレクトします。 +同様に、 +.Fa remote_port +が 0 の場合、リモートのポート番号から発生した +パケットをリダイレクトします。 +通常、リモートポート定義は 0 ですが、 +ファイアウォールに対しては 0 でない +リモートアドレスが有効な場合があります。 +.Fn PacketAliasRedirectPort +呼び出しにより、 +アドレスとポート定義が重複した場合、 +最新の呼び出しが優先されます。 +.Pp +この関数は次いで +.Fn PacketAliasRedirectDelete +で使用するポインタを返します。 +.Dv NULL +が返された場合、関数呼び出しは正常に終了していません。 +.Pp +あらゆるポートアドレスは、 +ネットワークアドレスのバイトオーダ表記に従っています。 +これらのパラメータは +.Xr htons 3 +を使用して、 +内部的な数値形式からネットワークバイトオーダ表記に +変換する必要があります。 +アドレスもまた同様にネットワークバイトオーダ形式であり、 +.Fa struct in_addr +データ型で暗黙に定義されます。 +.Ed +.Pp +.Ft struct alias_link * +.Fo PacketAliasRedirectAddr +.Fa "struct in_addr local_addr" +.Fa "struct in_addr alias_addr" +.Fc +.Bd -ragged -offset indent +この関数は、 +.Fa alias_addr +への全着信トラフィックを +.Fa local_addr +にリダイレクトします。同様に、 +.Fa local_addr +からの全発信トラフィックは +.Fa alias_addr +にエイリアスされます。 +.Pp +.Pa local_addr +または +.Pa alias_addr +が 0 の場合、 +.Fn PacketAliasSetAddress +により設定された +パケットエイリアシングアドレスが使用されます。 +.Fn PacketAliasSetAddress +が +.Fn PacketAliasRedirectAddr +の呼び出し後に +アドレス変更のために呼び出されても、 +0 リファレンスがこの変更を記録します。 +.Pp +負荷共有用にリンクが更に設定されると、 +.Fa local_addr +は無視され、サーバプールから動的に選択されます。 +これは +.Fn PacketAliasAddServer +で後述されています。 +.Pp +.Fn PacketAliasRedirectAddr +に対する一連の呼び出しが +同一のエイリアシングアドレスを使用している場合、 +このエイリアシングアドレスへの新たな全着信トラフィックは、 +最後の関数呼び出しで作られたローカルアドレスへリダイレクトされます。 +いくつかの関数呼び出しで指定されたローカルマシンからの +新たな全トラフィックは、 +同一のアドレスにリダイレクトされます。 +.Bd -literal -offset indent +PacketAliasRedirectAddr(inet_aton("192.168.0.2"), + inet_aton("141.221.254.101")); +PacketAliasRedirectAddr(inet_aton("192.168.0.3"), + inet_aton("141.221.254.101")); +PacketAliasRedirectAddr(inet_aton("192.168.0.4"), + inet_aton("141.221.254.101")); +.Ed +.Pp +192.168.0.2, 192.168.0.3 および 192.168.0.4 から、 +.Xr telnet 1 +や +.Xr ftp 1 +などでの発信接続は +141.221.254.101 からでてきたかのようにみえます。 +141.221.254.101 への着信接続は +192.168.0.4 にリダイレクトされます。 +.Pp +.Fn PacketAliasRedirectPort +に対する呼び出しより +.Fn PacketAliasRedirectAddr +で指定されたアドレス対応が必ず優先されます。 +.Pp +この関数は、 +.Fn PacketAliasRedirectDelete +が使用するポインタを返します。 +.Dv NULL +が返される場合、関数呼び出しは正常に終了していません。 +.Ed +.Pp +.Ft int +.Fo PacketAliasAddServer +.Fa "struct alias_link *link" +.Fa "struct in_addr addr" +.Fa "u_short port" +.Fc +.Bd -ragged -offset indent +本関数は、 +.Fa link +を、IP Network Address Translation (RFC 2391, LSNAT) を使用した +負荷共有用に設定します。 +LSNAT は次のように動作します。 +クライアントが、サーバ仮想アドレスを使用してサーバへアクセスを試みます。 +LSNAT ルータが、サーバプール中の 1 個のホストに対し、 +要求を透過的にリダイレクトします。 +ホスト選択には、実時間負荷共有アルゴリズムを使用します。 +複数のセッションが同一のクライアントから開始されるかもしれません。 +各セッションは、その時々のサーバプールホスト間の負荷バランスによって、 +異なるホストに向けられる可能性があります。 +数個の固有のサービスに対して負荷共有が望まれる場合、 +LSNAT の設定により、望まれるサービスにのみ負荷共有を限定可能です。 +.Pp +現在のところ、最も単純な選択アルゴリズムのみが実装されています。 +この方法は、ラウンドロビンによる選択のみであり、 +ホストの負荷を考慮しないものです。 +.Pp +まず、 +.Fa link +が +.Fn PacketAliasRedirectPort +または +.Fn PacketAliasRedirectAddr +により作成されます。 +次に +.Fn PacketAliasAddServer +が複数回呼ばれ、 +.Fa link +のサーバプールにエントリが追加されます。 +.Pp +.Fn PacketAliasRedirectAddr +で作成されたリンクに対し、 +.Fa port +引数は無視されいかなる値、例えば htons(~0) を持ちえます。 +.Pp +本関数は、成功時には 0 を返し、失敗時には -1 を返します。 +.Ed +.Pp +.Ft void +.Fn PacketAliasRedirectDelete "struct alias_link *ptr" +.Bd -ragged -offset indent +この関数は、 +.Fn PacketAliasRedirectPort +あるいは +.Fn PacketAliasRedirectAddr +が設定した +特定の静的リダイレクトルールを削除します。 +パラメータ +.Fa ptr +は、いずれかのリダイレクション関数から返されてくるポインタです。 +正しくないポインタが +.Fn PacketAliasRedirectDelete +に渡されると、 +プログラムはクラッシュするか、予期せぬ動作結果となります。 +そのためにこの関数の使用に際しては注意が必要です。 +.Ed +.Pp +.Ft int +.Fn PacketAliasProxyRule "const char *cmd" +.Bd -ragged -offset indent +渡された +.Fa cmd +文字列は、1 個以上の、語の組からなります。 +各組の最初の語はトークンであり、次の語はそのトークンに適用される値です。 +トークンと引数の型は次の通りです: +.Bl -tag -width indent +.It Cm type encode_ip_hdr | encode_tcp_stream | no_encode +透過プロキシのサポートのために、 +新規終点サーバに元のアドレスとポートの情報を +なんらかの方法で渡す必要があります。 +.Cm encode_ip_hdr +が指定された場合、追加の IP オプションとして元のアドレスとポートが渡されます。 +.Cm encode_tcp_stream +が指定された場合、TCP ストリーム中の最初のデータ片の中に +.Dq DEST Ar IP port +という書式で、元のアドレスとポートが渡されます。 +.It Cm port Ar portnum +終点ポートが +.Ar portnum +のパケットのみがプロキシの対象となります。 +.It Cm server Ar host Ns Xo +.Op : Ns Ar portnum +.Xc +データの転送先の +.Ar host +と +.Ar portnum +を指定します。 +.Ar host +は、DNS ホスト名ではなく IP アドレスであることが必要です。 +.Ar portnum +が指定されないと、終点ポート番号は変更されません。 +.Pp +.Ar server +の指定は、 +.Cm delete +コマンドが使用されない限り、必須です。 +.It Cm rule Ar index +通常、各 +.Fn PacketAliasProxyRule +呼び出しは、ルールの線型リストの先頭に次のルールを挿入します。 +.Ar index +が指定された場合、低いインデックスの全ルールがチェックされた後に、 +新規ルールがチェックされます。 +ルールを指定しない +.Fn PacketAliasProxyRule +呼び出しは、ルールにルール 0 を割り当てます。 +.It Cm delete Ar index +本トークンと引数は、他のトークンと組み合わせて使用してはなりません。 +本トークンを使用すると、指定した +.Ar index +の既存のルールが削除されます。 +.It Cm proto tcp | udp +指定すると、指定したプロトコルタイプのパケットのみがマッチします。 +.It Cm src Ar IP Ns Xo +.Op / Ns Ar bits +.Xc +指定すると、指定した +.Ar IP +に始点アドレスがマッチするパケットのみがマッチします。 +.Ar bits +も指定すると、 +.Ar IP +アドレスの最初の +.Ar bits +ビットのみがネットワーク指定として使用され、 +そのネットワークからの全 IP アドレスがマッチします。 +.It Cm dst Ar IP Ns Xo +.Op / Ns Ar bits +.Xc +指定すると、指定した +.Ar IP +に終点アドレスがマッチするパケットのみがマッチします。 +.Ar bits +も指定すると、 +.Ar IP +アドレスの最初の +.Ar bits +ビットのみがネットワーク指定として使用され、 +そのネットワークからの全 IP アドレスがマッチします。 +.El +.Pp +本関数は、通常、ある主のインターネットアクセスを禁止されている +内部マシンに対し、外向き接続をリダイレクトするか、 +またはある種の外部マシンへのアクセスを制限します。 +.Ed +.Pp +.Ft struct alias_link * +.Fo PacketAliasRedirectProto +.Fa "struct in_addr local_addr" +.Fa "struct in_addr remote_addr" +.Fa "struct in_addr alias_addr" +.Fa "u_char proto" +.Fc +.Bd -ragged -offset indent +本関数は、指定したリモートアドレスからエイリアスアドレスへのプロトコル番号 +.Fa proto +の全パケットが、指定したローカルアドレスへリダイレクトすることを指定します。 +.Pp +.Fa local_addr +または +.Fa alias_addr +が 0 の場合、 +で確立したパケットエイリアスアドレスが使用されることを指定します。 +.Fn PacketAliasSetAddress +が +.Fn PacketAliasRedirectProto +の呼び出し後に +アドレス変更のために呼び出されても、 +0 リファレンスがこの変更を記録します。 +.Pp +.Fa remote_addr +が 0 の場合、 +全リモートホストからのパケットをリダイレクトすることを指定します。 +非 0 のリモートアドレスは、ファイアウォール用途に有用な場合があります。 +.Pp +2 個の +.Fn PacketAliasRedirectProto +呼び出しが、アドレス指定において重なる場合、 +最新の呼び出しが優先します。 +.Pp +本関数は、後に +.Fn PacketAliasRedirectDelete +に使用可能なポインタを返します。 +.Dv NULL +が返される場合、関数呼び出しは正常に終了していません。 +.Ed +.Sh フラグメント操作 +このセクションの関数は着信フラグメント操作で使用されます。 +.Pp +発信フラグメントは、 +.Fn PacketAliasRedirectAddr +で設定した +適用可能な対応付によるアドレス変更により、 +または +.Fn PacketAliasSetAddress +で設定した +エイリアシングアドレスの省略時値により、 +.Fn PacketAlaisOut +内で処理されます。 +.Pp +着信フラグメントは 2 通りの方法で処理されます。 +フラグメント化された +IP パケットのヘッダが既に分かっている場合は、 +一連のフラグメントはヘッダフラッグメントと +同じ方式で再対応付けされます。 +フラグメントはヘッダが到着する前に保存され、 +ヘッダフラグメントが消滅した段階で取り出されます。 +.Pp +.Ft int +.Fn PacketAliasSaveFragment "char *ptr" +.Bd -ragged -offset indent +.Fn PacketAliasIn +から +.Dv PKT_ALIAS_UNRESOLVED_FRAGMENT +返されてくると、この関数が、 +残っているフラグメントのポインタを保存するために使用できます。 +.Pp +引数 +.Fa ptr +は +.Xr malloc 3 +で割り当てられたメモリブロックを +指すことが暗黙のうちに仮定されています。 +フラグメントが解決されない場合、 +パケットエイリアシングエンジンは +タイムアウト時間経過後、自動的にメモリを解放します +[実質的には、この関数は、 +メモリ解放のコールバック関数が +引数として渡されるように修正しておく必要があります]。 +.Pp +この関数は、正常実行の場合 +.Dv PKT_ALIAS_OK +を返し、エラーの場合 +.Dv PKT_ALIAS_ERROR +を返します。 +.Ed +.Pp +.Ft char * +.Fn PacketAliasGetFragment "char *buffer" +.Bd -ragged -offset indent +この関数は、 +.Fn PacketAliasSaveFragment +で保管された +フラグメントポインタの再取り出しができます。 +.Fa buffer +で示す IP ヘッダフラグメントは、 +.Fn PacketAliasIn +が +.Fv PKT_ALIAS_FOUND_HEADER_FRAGMENT +を返したときに指定される +ヘッダフラグメントです。 +フラグメントのポインタが再取り出しされると、 +呼び出しプログラムによりフラグメントに +動的に割り当てられていたメモリが解放されます。 +.Pp +フラグメントがなくなるで +.Fn PacketAliasGetFragment +を続けて呼ぶことができます。 +処理するフラグメントがなくなると +.Dv NULL +が返されてきます。 +.Ed +.Pp +.Ft void +.Fn PacketAliasFragmentIn "char *header" "char *fragment" +.Bd -ragged -offset indent +.Fn PacketAliasGetFragment +によりフラグメントの再取得を行なうとき、 +.Fn PacketAliasFragmentIn +呼び出しを実行して +フラグメントのエイリアスを解除できます。 +引数 +.Fa header +は、テンプレートとして使われているヘッダフラグメントのポインタです。 +引数 +.Fa fragment +はエイリアス解除するパケットのポインタです。 +.Ed +.Sh その他の関数 +.Ft void +.Fn PacketAliasSetTarget "struct in_addr addr" +.Bd -ragged -offset indent +既存のエイリアスリンクと関連のない +外からの着信パケットがホストマシンに到着すると、 +それは +.Fn PacketAliasSetTarget +呼び出しにより +指定されるアドレスへ送られます。 +.Pp +この関数が +.Dv INADDR_NONE +アドレスを引数として呼ばれた場合、 +外からのあらゆる新規着信パケットは +.Fn PacketAliasSetAddress +で設定されるアドレスへ行きます。 +.Pp +この関数が +.Dv INADDR_ANY +アドレスを引数として呼ばれた場合、 +外からのあらゆる新規着信パケットは +パケット中で指定されるアドレスへ行きます。 +外部のマシンが内部のマシンへ直接ルーティング可能な場合、 +外部のマシンが直接内部のマシンと話すことを可能とします。 +.Ed +.Pp +.Ft int +.Fn PacketAliasCheckNewLink void +.Bd -ragged -offset indent +新規のエイリアシングリンクが生成されると、 +この関数は 0 以外の値を返します。 +外からの着信トラフィックが順次異なるサーバへ送られるという状況下で、 +この関数を +.Fn PacketAliasSetTarget +呼び出しを +デフォルトの目的アドレスを変更のため実行するときのトリガにできます。 +.Ed +.Pp +.Ft u_short +.Fn PacketAliasInternetChecksum "u_short *buffer" "int nbytes" +.Bd -ragged -offset indent +これはよそでは使うことがありませんが、 +便利なユーティリティ関数です。 +インターネットチェックサムを計算します。 +チェックサムは、IP およびプロトコル +(TCP, UDP, ICMP) 固有のヘッダのどちらでも使われています。 +.Pp +引数 +.Fa buffer +はチェックサムを取るデータブロックを指しています。また +.Fa nbytes +はバイト数を与えます。 +16 ビットのチェックサムフィールドは +チェックサム計算の前に 0 クリアされます。 +.Pp +チェックサムはチェックサム自身を含めた +データブロックの操作により検証することができます。 +チェックサムが正しければ、 +PacketAliasInternetChecksum() は 0 を返します。 +.Ed +.Pp +.Ft int +.Fn PacketUnaliasOut "char *buffer" "int maxpacketsize" +.Bd -ragged -offset indent +エイリアス処理済の外向きパケットは、 +プライベートアドレス/ポートの情報を本関数によって復活されています。 +.Fa buffer +で指される IP パケットと +.Fa maxpacketsize +が、エラーチェックのために提供されています。 +本関数は、エイリアス処理済パケットの元の IP ヘッダが +必要となる更なる処理 (例えばロギング) に使用可能です。 +.Ed +.Sh バグ +PPTP エイリアスは、複数の内部クライアントが同一の外部サーバに +同時に接続すると動作しません。 +なぜなら、PPTP は 2 つの IP アドレス間に +単一の TCP 制御接続を必要とするからです。 +.Sh 作者 +.An Charles Mott Aq cm@linktel.net , +versions 1.0 - 1.8, 2.0 - 2.4。 +.An Eivind Eklund Aq eivind@FreeBSD.org , +versions 1.8b, 1.9 および 2.5。 +アーキテクチャにおける数々の改善による貢献のほかに、 +IRC DCC に関するサポートを行ないました。 +ならびに FTP/IRC DCC のファイアウォールのバイパスです。 +.An Erik Salander Aq erik@whistle.com +が PPTP と RTSP のサポートを追加しました。 +.An Junichi Satoh Aq junichi@junichi.org +が RTSP/PNA のサポートを追加しました。 +.Sh 謝辞 +以下、概略時代順に示すのは、 +有益なコメントやデバッグの手助けを提供してくれた人々の名前です。 +.Pp +.Bd -ragged -offset indent +.An -split +.An Gary Roberts +.An Tom Torrance +.An Reto Burkhalter +.An Martin Renters +.An Brian Somers +.An Paul Traina +.An Ari Suutari +.An Dave Remien +.An J. Fortes +.An Andrzej Bialecki +.An Gordon Burditt +.Ed +.Sh 概念的な背景 +この付録は、ソースコードの修正を検討している人や、 +パケットエイリアシング関数を使用して +やや難解なアプリケーションを作成する人を対象としています。 +.Pp +ここにはパケットエイリアシングエンジンの +概念的なフレームワークが記述されています。 +議論の中心は、ローカルマシンとエイリアスされた識別子 +およびリモートマシン間の指定された +パケットトランザクションの関係を定義している +"エイリアシング リンク" に考え方についてです。 +こうしたリンクがどのように発生して +また消滅するかについて検討されています。 +.Ss エイリアシングリンク +.Em エイリアシング リンク +は、 +7 つの要素で記述できるという考え方があります: +.Bd -literal -offset indent +(ローカルアドレス、 ローカルポート番号、 +エイリアスアドレス、エイリアスポート番号、 +リモートアドレス、リモートポート、プロトコル) +.Ed +.Pp +外へ発信するパケットは、 +ローカルアドレスとローカルポート番号が、 +エイリアスアドレスとエイリアスポート番号で置き換えられます。 +外から着信するパケットは、逆のプロセスで処理されます。 +パケットエイリアシングエンジンは、 +エイリアシングリンクの内部テーブルに対してパケットを対応させ、 +指定 IP パケットの修飾方法を決定しようとします。 +IP ヘッダおよびプロトコルに依存するヘッダのどちらも +必要に応じて修正されます。 +エイリアシングリンクは、ネットワークのトラフィックにより、 +必要に応じて生成、消滅が行なわれます。 +.Pp +プロトコルは、ある状況では TCP か UDP であり、 +または ICMP であってかまいません +(ICMP のある種のパケットタイプには、 +個々のパケットの処理方式を決めるポート番号と同様な働きをする、 +一連の id 番号にエイリアスすることができるものがあります)。 +.Pp +それぞれのエイリアスリンクは +次の 5 つの数値の組合せを持っていなければなりません。 +すなわち、エイリアスアドレス / ポート、 +リモートアドレス / ポート、およびプロトコルです。 +このことによりローカルネットワーク上のいくつかのマシンは +同じエイリアス IP アドレスを共有することが可能となります。 +競合が起こるケースでは、エイリアシングポートが、 +一意性が保てるよう選択されます。 +.Ss 静的および動的リンク +エイリアシングリンクには静的および動的なものがあります。 +静的リンクは無期限に存続し、IP パケットの変換に関しては +固定された規則を保持しています。 +動的リンクは個別の TCP 接続や UDP トランザクションの +エコーシーケンスに対して生成されます。 +TCP の場合は、関連するエイリアシングリンクを +何時削除するべきかを知るために、接続を監視できます。 +UDP トランザクション (および ICMP エコーとタイムスタンプ要求) は +単純なタイムアウト規則で動いています。 +一定の時間、動的リンクを張るアクティビティが無いときは、 +自動的に削除されます。 +タイムアウト規則は適切なオープン / クローズを行なわない +TCP 接続にも適用されます。 +.Ss エイリアシングリンクの部分定義 +エイリアシングリンクは部分的な定義が可能です。 +これはリモートアドレスおよび (または) +リモートポートが不明である場合に行ないます。 +この場合、不完全な定義のパケットが見つかると、 +完全仕様の動的リンクが生成されます。 +元々の部分定義のリンクが動的なものである場合、 +完全仕様のリンクが生成された後それは削除され、 +そうでない場合無期限に残ることになります。 +.Pp +たとえば、部分定義リンクは次の通りです。 +.Bd -literal -offset indent +(192.168.0.4, 23, 204.228.203.215, 8066, 0, 0, tcp) +.Ed +.Pp +0 の値はリモートアドレスおよびポートの未定義部分を表しています。 +リンクが静的なものであれば、 +外から着信してくる全トラフィックを +アドレス 204.228.203.215 のポート 8066 から、 +ローカルネットワーク上の 192.168.0.4 のアドレスを持つマシンの +ポート 23 (telnet) へリダイレクトすることになります。 +.Ss A.4 動的リンクの生成 +エイリアシングリンクに加え、 +パケットエイリアシング機構を持つ +内部データテーブルに格納できるアドレス対応表があります。 +.Bd -literal -offset indent +(ローカルアドレス、エイリアスアドレス) +.Ed +.Pp +アドレス対応表は動的リンク生成時に必要とされます。 +.Pp +ローカルネットワークから外へ発信するあらゆるパケットは、 +既存の完全定義されたリンクと一致していなければ、 +動的リンクを自動的に生成します。 +これは発信するパケットに関し、 +アドレス対応があれば使用されるエイリアスアドレスを決定します。 +対応が無ければ、 +デフォルトアドレスが通常エイリアシングホストのアドレスですが、 +使用されます。 +必要であれば、デフォルトアドレスは +個々のパケットが到着するたびに変更できます。 +.Pp +エイリアシングポート番号は、 +新たな動的リンクが既存のリンクと競合しないよう決められます。 +デフォルト操作モードでは、パケットエイリアシングエンジンは +ローカルポート番号と同じ番号を +エイリアシングポートとして設定しようとします。 +その結果競合すれば、ポート番号は一意なエイリアシングリンクとなるまで +無作為に選択が行なわれます。 +予備の操作モードでは、 +エイリアシングポートの最初の選択は無作為に、 +またローカルポート番号と無関係に行なわれます。 diff --git a/documentation/manual-pages/ja/man3/libdisk.3 b/documentation/manual-pages/ja/man3/libdisk.3 new file mode 100644 index 0000000000..a4fbbacb16 --- /dev/null +++ b/documentation/manual-pages/ja/man3/libdisk.3 @@ -0,0 +1,362 @@ +.\" +.\" 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. +.\" +.\" %FreeBSD: src/lib/libdisk/libdisk.3,v 1.11.2.10 2001/12/17 10:08:29 ru Exp % +.\" " +.\" $FreeBSD$ +.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 ライブラリ +.Lb libdisk +.Sh 書式 +.In sys/types.h +.In libdisk.h +.Pp +.Vt extern const char *chunk_n[] ; +.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" "const size_t bootmgr_size" +.Ft int +.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; + u_long sector_size; +}; +.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 +この領域は、 +.Bx +互換であり、 +.Ql wd0s4f -> wd0f +のような短縮形も使用できます。 +.It CHUNK_ALIGN +この領域は整合(align)していなければなりません。 +.It CHUNK_IS_ROOT +この +.Ql part +は +rootfs +であり、パーティションを +.Ql a +に +割り振ります。 +.It CHUNK_ACTIVE +MBR 内のアクティブスライスです。 +.It CHUNK_FORCE_ALL +すべての BIOS によるジオメトリ解釈を無視し、与えられたディスク全体を +強制的に +.Fx +用とします。 +.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 +は、ディスク全体を一つの +.Fx +の領域を作成します。 +.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 作者 +.An -nosplit +.Nm libdisk +は、 +.An Poul-Henning Kamp +が作成しました。 +.Pp +このマニュアルページの執筆者は +.An J\(:org Wunsch +です。 diff --git a/documentation/manual-pages/ja/man3/libradius.3 b/documentation/manual-pages/ja/man3/libradius.3 new file mode 100644 index 0000000000..43e75b07bc --- /dev/null +++ b/documentation/manual-pages/ja/man3/libradius.3 @@ -0,0 +1,415 @@ +.\" 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.6.2.4 2001/12/17 10:08:31 ru Exp % +.\" +.\" $FreeBSD$ +.Dd October 30, 1999 +.Dt LIBRADIUS 3 +.Os +.Sh 名称 +.Nm libradius +.Nd RADIUS クライアントライブラリ +.Sh 書式 +.In radlib.h +.Ft struct rad_handle * +.Fn rad_acct_open "void" +.Ft int +.Fn rad_add_server "struct rad_handle *h" "const char *host" "int port" "const char *secret" "int timeout" "int max_tries" +.Ft struct rad_handle * +.Fn rad_auth_open "void" +.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 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 +および +.%O RFC 2138 +で定義されており、 +クライアントはリモート認証サーバへのネットワーク要求により +認証とアカウンティングを受けることができます。 +.Sh 初期設定 +ライブラリを使用する場合にアプリケーションは、まず +.Fn rad_auth_open +か +.Fn rad_acct_open +を呼び出して、次の操作のためのコンテキストを与える +.Va struct rad_handle * +を取得します。 +前者は RADIUS 認証に使用され、後者は RADIUS アカウンティングに使用されます。 +.Fn rad_auth_open +および +.Fn rad_acct_open +の呼び出しは、仮想メモリが足りない場合を除いて、常に正常終了します。 +必要なメモリが割り当てられないとき、 +関数は +.Dv NULL +を返します。 +以前のバージョンの本ライブラリとの互換性のために、 +.Fn rad_open +が +.Fn rad_auth_open +の同義語として提供されています。 +.Pp +RADIUS への要求を出す前に、ライブラリはコンタクト可能なサーバを +確認しなければなりません。ライブラリの設定をする最も簡単な方法は +.Fn rad_config +を呼び出すことです。 +.Fn rad_config +によって、ライブラリは +.Xr radius.conf 5 +でフォーマットが定義されているコンフィギュレーションファイルを読み込みます。 +コンフィギュレーションファイルのパス名は引数 +.Va file +として +.Fn rad_config +へ渡されます。この引数には +.Dv NULL +が +指定されてもかまいません。その場合は標準コンフィギュレーションファイル +/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 +または +.Ql radacct/udp +サービスを検索し、見つかったポートを使用します。 +エントリが見つからないときには、ライブラリは標準 RADIUS ポート、 +すなわち認証には 1812 をアカウンティングには 1813 を使用します。 +サーバホストに関する共有シークレット情報は、 +パラメータ +.Va secret +として渡されます。パラメータは +.Dv NUL +で終了するどんな文字列もかまいません。 +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 NUL +で終了する文字列を、それぞれに受け取ります。 +.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 NULL +で終了した文字列を返します。アプリケーションは、不要な文字列を +.Xr free 3 +を使って解放しなければなりません。 +.Pp +十分な仮想メモリがない場合、 +.Fn rad_cvt_string +は +.Dv NULL +を返します。 +.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 NULL +でないポインタを返します。 +十分な仮想メモリの割り当てができないとき、 +.Dv NULL +を返しますが、 +エラーメッセージは記録されません。 +.Pp +.Bl -item -offset indent -compact +.It +.Fn rad_acct_open +.It +.Fn rad_auth_open +.It +.Fn rad_cvt_string +.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 +.Rs +.%A C. Rigney +.%T RADIUS Accounting +.%O RFC 2139 +.Re +.Sh 作者 +このソフトウェアは元々 +.An John Polstra +が記述し、Juniper Networks, Inc が +.Fx +プロジェクトに寄贈しました。 +その後 +.An Oleg Semyonov +が RADIUS アカウンティングの機能を追加しました。 diff --git a/documentation/manual-pages/ja/man3/libtacplus.3 b/documentation/manual-pages/ja/man3/libtacplus.3 new file mode 100644 index 0000000000..b0ef066a04 --- /dev/null +++ b/documentation/manual-pages/ja/man3/libtacplus.3 @@ -0,0 +1,357 @@ +.\" 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.3.2.6 2001/12/17 10:08:32 ru Exp % +.\" +.\" $FreeBSD$ +.Dd September 2, 1998 +.Dt LIBTACPLUS 3 +.Os +.Sh 名称 +.Nm libtacplus +.Nd TACACS+ クライアントライブラリ +.Sh 書式 +.In taclib.h +.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 +.%A 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 によって +.Fx +プロジェクトに寄贈されました。 diff --git a/documentation/manual-pages/ja/man3/link_addr.3 b/documentation/manual-pages/ja/man3/link_addr.3 new file mode 100644 index 0000000000..0de13e4baa --- /dev/null +++ b/documentation/manual-pages/ja/man3/link_addr.3 @@ -0,0 +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 +.\" %FreeBSD: src/lib/libc/net/linkaddr.3,v 1.8.2.4 2001/12/14 18:33:55 ru Exp % +.\" $FreeBSD$ +.Dd June 17, 1996 +.Dt LINK_ADDR 3 +.Os +.Sh 名称 +.Nm link_addr , +.Nm link_ntoa +.Nd リンクレベルアクセス用基本アドレス指定ルーチン +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In sys/socket.h +.In net/if_dl.h +.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 +.\" 正規表現を用いると、この形式がもっとわかりやすくなるでしょう。 +.\" .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 +は 1 つ目の 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/documentation/manual-pages/ja/man3/lockf.3 b/documentation/manual-pages/ja/man3/lockf.3 new file mode 100644 index 0000000000..b7c793bb06 --- /dev/null +++ b/documentation/manual-pages/ja/man3/lockf.3 @@ -0,0 +1,253 @@ +.\" $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. +.\" +.\" %FreeBSD: src/lib/libc/gen/lockf.3,v 1.5.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd December 19, 1997 +.Dt LOCKF 3 +.Os +.Sh 名称 +.Nm lockf +.Nd ファイル上のレコードのロック +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.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 +.Fn lockf , +.Xr fcntl 2 +および +.Xr flock 2 +によるロックは同時併行で問題なく使用できます。 +セクションでの防護処理は適当なシグナルで解釈されます。 +.Pp +.Sh 戻り値 +.Rv -std lockf +失敗時には、既存のロックは変更されません。 +.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 +であり、 +ロックまたはロック解除の要求により、 +ロック区域の数がシステムで定めた +制限値を越えます。 +.El +.Sh 関連項目 +.Xr fcntl 2 , +.Xr flock 2 +.Pp +.Sh 規格 +.Fn lockf +関数は +.St -xpg4.2 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/login_auth.3 b/documentation/manual-pages/ja/man3/login_auth.3 new file mode 100644 index 0000000000..90b3fc165c --- /dev/null +++ b/documentation/manual-pages/ja/man3/login_auth.3 @@ -0,0 +1,73 @@ +.\" Copyright (c) 1995 David Nugent <davidn@blaze.net.au> +.\" 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. +.\" +.\" %FreeBSD: src/lib/libutil/login_auth.3,v 1.9.2.4 2001/12/17 10:08:32 ru Exp % +.\" $FreeBSD$ +.\" +.Dd December 29, 1996 +.Os +.Dt LOGIN_AUTH 3 +.Sh 名称 +.\" .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 ライブラリ +.Lb libutil +.Sh 書式 +.In sys/types.h +.In login_cap.h +.\" .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 +が提供するログインクラスの認証形式 +インタフェースをサポートします。 +.\" .Sh 戻り値 +.Sh 関連項目 +.Xr getcap 3 , +.Xr login_cap 3 , +.Xr login_class 3 , +.Xr login.conf 5 , +.Xr termcap 5 diff --git a/documentation/manual-pages/ja/man3/login_cap.3 b/documentation/manual-pages/ja/man3/login_cap.3 new file mode 100644 index 0000000000..14ff1ea649 --- /dev/null +++ b/documentation/manual-pages/ja/man3/login_cap.3 @@ -0,0 +1,458 @@ +.\" Copyright (c) 1995 David Nugent <davidn@blaze.net.au> +.\" 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. +.\" +.\" %FreeBSD: src/lib/libutil/login_cap.3,v 1.17.2.7 2001/12/17 10:08:32 ru Exp % +.\" $FreeBSD$ +.\" +.Dd December 27, 1996 +.Os +.Dt LOGIN_CAP 3 +.Sh 名称 +.Nm login_close , +.Nm login_getcapbool , +.Nm login_getcaplist , +.Nm login_getcapnum , +.Nm login_getcapstr , +.Nm login_getcapsize , +.Nm login_getcaptime , +.Nm login_getclass , +.Nm login_getclassbyname , +.Nm login_getpwclass , +.Nm login_getstyle , +.Nm login_getuserclass , +.Nm login_setcryptfmt +.Nd ログインクラスケーパビリティデータベースをアクセスする関数 +.Sh ライブラリ +.Lb libutil +.Sh 書式 +.In sys/types.h +.In login_cap.h +.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" +.Ft const char * +.Fn login_setcryptfmt "login_cap_t *lc" "const char *def" "const char *error" +.Sh 解説 +これらの関数は +.Xr login.conf 5 +に備わっているログインクラスデータベースに対する +プログラミングインタフェースを表します。 +このデータベースに収録されているのは、 +ケーパビリティ、属性およびデフォルト環境、ユーザや特殊ユーザとしての +稼動中のプログラムに対する課金上の設定などで、 +.Pa /etc/master.passwd +の登録データ内のログインクラスフィールドに定義されています。 +.Pp +.Xr login.conf 5 +内のレコードは、コロン +.Ql \&: +で分離されるフィールドで構成されています。 +各レコードの最初のフィールドは (データベース全体で一意な) +レコードのための 1 個以上の識別子です。それぞれ '|' で分離されており、 +最後尾に 'name' 識別子が付いていることもあります。 +レコードの残りのフィールドはキーワード/データのペアで構成されます。 +長い行は、空レコード内でバックスラッシュを後に付けることで継続可能であり、 +継続行は読み易さのためにインデントされているかもしれません。 +このことは、キーワードが 2 文字に限定されないことを除けば、 +.Xr termcap 5 +で使用されている形式と類似しており、読み易すく改善されている点が利点です。 +termcap レコードの場合と同様に、tc=<recordid> が記述されているフィールド +によって複数レコードを相互に関連させることができます +(レコードが包含関係にあります)。 +<recordid> で示されるすべてのレコードは発生した箇所で +tc= フィールドにより置きかえられます。 +ケーパビリティデータベースの形式と利用方法に関する詳細については、 +.Xr getcap 3 +を参照してください。 +.Pp +.Nm login_cap +インタフェースには、tc= 参照の拡張により、 +ログインレコードクラスを取り出す便利な方法が備わっています。 +プログラム要求により、 +.Fn login_getclass , +.Fn login_getpwclass , +.Fn login_getuserclass , +.Fn login_getclassbyname +のうちどれか 1 つを呼び出して実行します。 +それぞれの関数はログインケーパビリティ構造体 +.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 +を使用したユーザのログインレコード経由で間接的に +要求されたものと必ずしも同じではありません。参照されたユーザに +.Pa /etc/master.passwd +で定義されたログインクラスがない場合、クラス名は +NULL か空文字列です。 +また、定義されたクラスがデータベースに存在しない場合、 +各関数は、"default" という ID のレコードを探索し、 +.Ar lc_class +フィールドにその名前を戻り値として取得します。 +更に、参照されるユーザが UID 0 である場合 +(通常 "root" ですが、ユーザ名は関係ありません)、 +.Fn login_getpwclass +は、"default" という ID のレコードの前に、"root" という +ID のレコードを探します。 +.Pp +.Ar lc_cap +フィールドは、ライブラリで内部的に使用され、 +拡張されたログインケーパビリティレコードを保持します。 +例外的な要件のプログラムは、低次の +.Fn getcap +方式の関数と共に使用して、レコードを直接アクセスしようとします。 +.Pp +.Ar lc_style +フィールドに対しては、ログイン自身の操作プログラムからの +要求に従って、関数 +.Fn login_getstyle +により、認可方式が設定されます。 +.Pp +前述したように、関数 +.Fn get*class +は、ケーパビリティデータベースの +マッチングまたはデフォルトレコードのアクセスに使用される +login_cap_t +オブジェクトを戻り値として返します。 +.Fn getclassbyname +は 2 つの引数を受け取ります。 +最初のものは取り出し対象レコードのレコード識別子で、 +2 番めのものは、任意指定のディレクトリ名です。 +最初の引数 +.Ar name +が NULL か、空文字列か、 +あるいは +補助的なまたはシステムのログインクラスデータベースにクラスが存在しない場合、 +システム +.Em デフォルト +レコードが代わりに返されます。 +2 番めの引数 +.Ar dir +パラメータが NULL のとき、 +システムログインクラスデータベースだけが使用されますが、 +NULL でないときは、 +".login_conf" +というファイル内で名前付きディレクトリが検索され、中にある +ケーパビリティレコードがシステムデフォルトを上書きします。 +この体系によりユーザは、'me' という ID のレコードがある +プライベートクラスに対する +クラスレコードを生成して、システムログインクラスデータベースのレコード +におけるログイン設定値を上書きできます。 +.Em login +のコンテキストでは、次の 2 つの理由により、 +ユーザが上書きできないオプションがあります。 +第 1 に、 +リソース設定値やデフォルトのプロセス優先順位などの多くのオプションでは、 +効果を発揮させるために root 限が必要であること、 +第 2 に、ユーザファイルの他のフィールドは、ログインの初期段階ではセキュリティや +管理上の理由から、十分な検討が行われていません。 +どの設定がユーザが上書きできるのかについての詳細については、 +.Xr login.conf 5 +を参照してください。 +実際には、これらは、そうでない場合に常に初期起動 +シェルスクリプトで上書きされるユーザのデフォルトログイン環境によって明確に +制限されます。 +ユーザの +.Pa .login_conf +は、ログイン時、 +シェルが呼ばれる前に実行される優先ログイン環境設定での簡便な方法をユーザ +に提供します。 +.Pp +指定レコードがNULL か、空または存在しないとき、さらに不測の事態に +備えてデフォルトレコードがシステムにない場合、メモリアロケーションエラー +になるか、あるいは +.Xr cgetent 3 +が何らかの理由によりログインケーパビリティデータベースにアクセスできなくなり、 +NULL を返します。 +.Pp +関数 +.Fn login_getpwclass , +.Fn login_getclass , +.Fn login_getuserclass +で、ユーザパスワード登録情報に対応するログインクラスレコードの取り出し、 +.Fn login_getclassbyname +呼び出しによるクラス名の取り出しができます。 +処理が失敗した場合は NULL が返されます。 +これらの関数の間で、 +.Fn login_getuserclass +はユーザによる上書きが可能なユーザホームディレクトリ上の +.Pa .login_conf +を含んでいますが、 +.Fn login_getpwclass +および +.Fn login_getclass +では、それへの参照を +.Pa /etc/login.conf +上のシステムログインクラスに制限している点で異なります。 +上記に示したように、 +.Fn login_getpwclass +が +.Fn login_getclass +と異なる唯一の点は、 +パスワードデータベースでの定義がないときに、 +ユーザ 'root' をシステム "root" として認めていることです。 +他方、パスワードのポインタが NULL のとき、 +またはユーザレコードにログインクラスがない場合、 +システムの「デフォルト」登録レコードの取得が行われます。 +.Pp +プログラムで +login_cap_t +オブジェクトを使用する必要がなくなると、 +.Fn login_close +呼び出しを実行し、ログインクラスで使用していたリソースを +解放します。 +.Fn login_close +は NULL ポインタを返しますが、これには弊害はありません。 +.Pp +残りの関数は、個別の権限レコードの取り出しに使用されます。各関数は、 +login_cap_t オブジェクトを第 1 引数とし、 +ケーパビリティタグを第 2 引数とします。 +残りのパラメータは、ケーパビリティレコードが見つからないときの +デフォルトまたはエラー値を指定します。受け渡しされるパラメータの型は +関連するケーパビリティの +.Em タイプ +によって変わります。たとえば、 +文字列、リスト、時間値、ファイルやメモリサイズ、パス (コロンで +分離されたディレクトリリストから構成される)、またはバイナリ値フラグ +などです。 +.Xr login.conf 5 +のマニュアルページでは、 +固有のタグとこれらのタイプについて +取り扱っています。 +.Pp +このグループのすべての関数では、ポインタを返すとき +.Xr free 3 +呼び出しを使用できないことに注意してください。検索や +ケーパビリティタグ処理の間に +割り当てられたメモリは、後続するこのグループの関数呼び出しで自動的に +再利用されるか、または +.Fn login_close +呼び出しで解除されます。 +.Bl -tag -width "login_getcaplist()" +.It Fn login_getcapstr +この関数は、単純文字列ケーパビリティを返します。 +文字列が見つからないとき、 +.Ar def +内の定義値がデフォルト値として +返されます。エラーが発生したとき、 +.Ar error +パラメータの値が返されます。 +.It Fn login_getcaplist +本関数は、名前付きケーパビリティタグの値を +NULL で終了する配列の値 +.Em リスト +として返します。ログインクラスデータベースには、 +リストタイプのタグがあり、複数のコンマまたはスペースで分離した値で +構成されています。通常、この関数は直接アプリケーションから呼び +出されることはなく、 +.Fn login_getstyle +経由で間接的に使用されます。 +.It Fn login_getpath +この関数は、 +.Ql &: +で分離されたディレクトリリストを +返します。 +この関数の呼び出しが実行される +ケーパビリティタグはスペースで分離されたディレクトリリストで構成されます。 +.It Fn login_getcaptime +この関数は、時、分、秒 (デフォルト)、年 ( +365 日基準)、週、あるいはこれらの任意の組み合わせで表される値の特殊な +ケーパビリティ +タグに関連する +.Em 時間値 +を返します。接尾語により使用される単位を +決定します。 +S は秒を、M は分を、H は時を、D は日を、W は週を表し、Y は +365 日基準による年を表します。 +単位接尾語では大文字、小文字の区別はありません。 +.Pp +時間値は、通常はリソースの設定値、課金システム、およびセッション制限値に +使用されます。オペレーティングシステムやコンパイラ ( +.Fx +対応) で +サポートしている場合、戻り値は 2 次元 (long long) の +.Em rlim_t +型になります。値 'inf' または 'infinity' で無限の値を表せます。 +その場合 +RLIM_INFINITY +が +戻り値となります。 +.Pp +.It Fn login_getcapnum +この関数は、タグに関する数値を返します。数値は、 +tag=<value> または標準的な +.Fn cgetnum +書式 tag#<value> +で表現されます。 +最初の書式は 2 番目のものより優先的に使用されます。 +2 番めの書式は、 +.Xr getcap 3 +データベースの書式との互換性と整合性があり、数値タイプの場合、 +数値のデリミタとして +.Ql \&# +が使われます。最初の書式の場合、指定される値は +\&'inf' または 'infinity' で、戻り値は RLIM_INFINITY +になります。指定された ケーパビリティタグを見つけることができない場合、 +.Ar def +パラメータが返されます。 +エラーが起きると、 +.Ar error +パラメータが返されます。 +.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 を表します。 +大文字と小文字の区別はありません。エラー値が返ってくるのは、 +ログインケーパビリティデータベースエラーがあるか、 +間違った接尾語が使用されているか、または数値が変換ができない場合です。 +.It Fn login_getcapbool +この関数は、特定のフラグに関連したバイナリ値を、返します。指定された +ケーパビリティタグがないか、 +"tag@" (boolean フラグの詳細については +.Xr getcap 3 +を参照) により無効にされているとき、0 が返ります。 +タグが見つかれば 1 が返ります。 +.It Fn login_getstyle +この関数は、ログイン認可システムで使用され、特定の +ケースで有効なログインの形式を決定します。関数は、 +3 つのパラメータと、 +.Nm login_cap +登録レコードそのもの、および 2 つの任意指定パラメータ、 +\&'auth' +と +\&'style' +の認可タイプを受け取り、これらを用いてこれらのルールと矛盾しない +認可スタイルを決定します。 +.Pp +.Bl -bullet +.It +\&'auth' が NULL または 空文字列でなければ、 +ケーパビリティレコードの "auth-<auth>" タイプのタグの検索を行います。 +存在しなければ、デフォルトの +デフォルトタグ "auth=" +を検索します。 +.It +先のステップで正当な認可リストが見つからない場合、 +\&'passwd' +がデフォルトの認可リストとされます。 +.It +\&'style' が NULL でも +空でもないとき、先行ステップで見つかった認可方式の +リストからそれを検索します。 +.It +\&'style' が NULL か空文字列のとき、 +\&'passwd' +をデフォルトの認可に使用します。 +.It +\&'style' が、認可方式の選択リストに見つかった場合、それを返し、 +そうでないときは NULL を返します。 +.El +.Pp +この体系により、管理者は、アクセス方式に従って、システムが受け取る +認可方式を決定します。たとえば、管理者がネットワークを経由したシステムへの +アクセスに使用された認証方式として、skey または kerberos を要求します。 +また、直接のダイアルアップまたはコンソールログイン経由での標準的方式を +要求することもあり、"snooping" ネットワークパケットによりパスワードが +発見されるリスクを著しく減少させられます。 +.It Fn login_setcryptfmt +.Xr crypt 3 +書式の設定のために、 +.Ql passwd_format +設定エントリを使用し、 +.Fn login_setcryptfmt +関数が使用されます。 +エントリが見付からない場合、 +.Fa def +がフォールバックとして使用されます。 +指定した引数の +.Xr crypt_set_format 3 +が失敗すると、 +.Fa error +が返されます。 +.El +.Sh 関連項目 +.Xr crypt 3 , +.Xr getcap 3 , +.Xr login_class 3 , +.Xr login.conf 5 , +.Xr termcap 5 diff --git a/documentation/manual-pages/ja/man3/login_class.3 b/documentation/manual-pages/ja/man3/login_class.3 new file mode 100644 index 0000000000..bd28f8fe7c --- /dev/null +++ b/documentation/manual-pages/ja/man3/login_class.3 @@ -0,0 +1,190 @@ +.\" Copyright (c) 1995 David Nugent <davidn@blaze.net.au> +.\" 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. +.\" +.\" %FreeBSD: src/lib/libutil/login_class.3,v 1.9.2.3 2001/12/17 10:08:32 ru Exp % +.\" $FreeBSD$ +.\" +.Dd December 28, 1996 +.Os +.Dt LOGIN_CLASS 3 +.Sh 名称 +.Nm setclasscontext , +.Nm setclassenvironment , +.Nm setclassresources , +.Nm setusercontext +.Nd ログインクラスデータベースにアクセスする能力をもつ関数群 +.Sh ライブラリ +.Lb libutil +.Sh 書式 +.In sys/types.h +.In login_cap.h +.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" +.Sh 解説 +これらの関数は、ログインクラスデータベース関して +.Xr login_cap 3 +のマニュアルに記載されているインタフェースより高次のインタフェースを +提供します。これらの関数が使用されるのは、リソースに関する限界値や、 +環境およびシステムにログインするユーザへの課金の設定、およびログインクラス +に基づくシステムデーモンの設定と環境の適切な組を設定するときです。これらの +関数呼び出しは、現在のプロセスが root 権限で実行されているときだけ +可能です。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 +sbsize RLIMIT_SBSIZE +.Ed +.It LOGIN_SETPRIORITY +システムのログインクラスデータベースで定義された +値に基づき、現プロセスのスケジュール時の優先順位を設定します。使用される +クラス権限タグは次のとおりです。 +.Bd -literal +priority +.Ed +.It LOGIN_SETUMASK +現在のプロセスの umask にユーザまたはシステムの +ログインクラスデータベースでの値を設定します。 +使用されるクラス権限タグは次のとおりです。 +.Bd -literal +umask +.Ed +.It LOGIN_SETPATH +ユーザまたはシステムのログインクラスデータベースに基づく値を +\&'path' および 'manpath' +環境変数に設定します。該当する環境変数 +セットとともに使用されるクラス権限タグは次のとおりです。 +.Bd -literal +path PATH +manpath MANPATH +.Ed +.It LOGIN_SETENV +ユーザまたはシステムのログインクラスデータベースに +基づく値を種々の環境変数に設定します。該当する環境変数セットとともに +使用されるクラス権限タグは次のとおりです。 +.Bd -literal +lang LANG +charset MM_CHARSET +timezone TZ +term TERM +.Ed +.Pp +環境変数の追加として、リスト型の +権限設定 '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/documentation/manual-pages/ja/man3/login_ok.3 b/documentation/manual-pages/ja/man3/login_ok.3 new file mode 100644 index 0000000000..66bc339cda --- /dev/null +++ b/documentation/manual-pages/ja/man3/login_ok.3 @@ -0,0 +1,143 @@ +.\" Copyright (c) 1995 David Nugent <davidn@blaze.net.au> +.\" 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. +.\" +.\" %FreeBSD: src/lib/libutil/login_ok.3,v 1.7.2.4 2001/12/17 10:08:32 ru Exp % +.\" $FreeBSD$ +.\" +.Dd January 2, 1997 +.Os +.Dt LOGIN_OK 3 +.Sh 名称 +.Nm auth_ttyok , +.Nm auth_hostok , +.Nm auth_timeok +.Nd ログイン制約に基づくログインクラスのチェック用関数 +.Sh ライブラリ +.Lb libutil +.Sh 書式 +.In sys/types.h +.In time.h +.In login_cap.h +.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 +は、名前付 +tty +が指定されたクラスのユーザで +利用可能かどうかを判定します。またそれが +.Em ttys.allow +アクセスリストに載っており、 +.Em ttys.deny +アクセスリストに載っていないこともチェックします。 +tty +デバイス経由でくるログインは、 +.Em ttys.allow +リストがなく (あるいは指定されたログインクラスの登録権限定義がない) +ても、空でない +.Em ttys.deny +リストが存在しない限り、またはデバイスあるいは +tty +グループ( +.Xr ttys 5 +を参照のこと) がリストに載っていなければ、受入れられます。 +tty +に対するアクセスは、 +tty +デバイス名で固有の制限と範囲が決められます。また +デバイス名はワイルドカード指定 (例えば、ttyD* または cuaD*) +を含むか、または group=<name> タグが +.Pa /etc/ttys +に割り振られている場合、ttygroup の名前を定義します。 +ttys と ttygroups +の一致はケースによります。 +.Dv NULL +または文字列を +tty parameter +として渡すと、関数は 0 でない数値を返します。 +.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 +か空の文字列が渡された場合、0 以外の戻り値が返されます。 +.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 戻り値 +これらの関数からの戻り値が 0 でない場合、ログインが認可されています。 +戻り値が 0 の場合は、対象が +.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/documentation/manual-pages/ja/man3/login_times.3 b/documentation/manual-pages/ja/man3/login_times.3 new file mode 100644 index 0000000000..35d809eaab --- /dev/null +++ b/documentation/manual-pages/ja/man3/login_times.3 @@ -0,0 +1,157 @@ +.\" Copyright (c) 1995 David Nugent <davidn@blaze.net.au> +.\" 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. +.\" +.\" %FreeBSD: src/lib/libutil/login_times.3,v 1.8.2.5 2001/12/17 10:08:32 ru Exp % +.\" $FreeBSD$ +.\" +.Dd January 2, 1997 +.Os +.Dt LOGIN_TIMES 3 +.Sh 名称 +.Nm parse_lt , +.Nm in_ltm , +.Nm in_ltms +.Nd ログイン時間帯のチェックおよび解析を行う関数 +.Sh ライブラリ +.Lb libutil +.Sh 書式 +.In sys/types.h +.In time.h +.In login_cap.h +.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" (任意の曜日またはすべての曜日) や、 +曜日指定 (土曜日と日曜日を含む) のための "Wk"、 +週末を表す "Wd" +などの、特殊な表記記号も使用することができます。 +.Pp +時間帯はたとえば次のとおりです。 +.Dl MoThFrSa1400-2200 +これは、月曜日、木曜日、金曜日、土曜日の午後 2 時から +10 時の間と解釈されます。 +.Dl Wd0600-1800 +これは、土曜日と日曜日の午前 6 時から午後 6 時までの意味です。 +.Dl Any0400-1600 +これは、任意の曜日の午前 4 時から午後 4 時の意味です。 +.Pp +注意事項:時間帯の表示はすべてシステムのローカル時間です。 +.Pp +関数 +.Fn parse_lt +は、ASCII 表示の時間帯を +.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 パラメータで定義された時間内にあるかどうか決定します。 +指定の時間が時間帯内にあるかどうかをバイナリ型の戻り値で返します。 +時間が所定の時間帯になく、関数の第 3 パラメータが NULL でなければ、 +渡された時間に関係する時間帯の終了時間が返されます。 +.Pp +.Fn in_ltms +は、 +.Fn in_ltm +と類似していますが、第 1 パラメータが +.Ar login_time_t +オブジェクトの配列のポインタでなければならないという点は +異なります。なお配列は、要素数が LC_MAXTIMES (64) +で上限が規定されており、 +.Em LTM_NONE +が設定された +.Ar lt_dow +フィールドにより終端が規定されています。 +.Sh 戻り値 +.Fn parse_lt +は解析された時間帯を含む login_time_t 型の構造体を +返します。構文解析エラーがある場合、 +.Ar lt_dow +フィールドに +.Em LTM_NONE +(すなわち 0) が設定されます。 +.Pp +.Fn in_ltm +は、指定された時間が第 1 パラメータとして渡された login_time_t +で定義した時間帯内にあれば、0 以外の値を返します。 +.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/documentation/manual-pages/ja/man3/login_tty.3 b/documentation/manual-pages/ja/man3/login_tty.3 new file mode 100644 index 0000000000..ec37cc8ee2 --- /dev/null +++ b/documentation/manual-pages/ja/man3/login_tty.3 @@ -0,0 +1,63 @@ +.\" +.\" 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. +.\" +.\" %FreeBSD: src/lib/libutil/login_tty.3,v 1.5.2.3 2001/12/17 10:08:32 ru Exp % +.\" $FreeBSD$ +.\" " +.Dd December 29, 1996 +.Os +.Dt LOGIN_TTY 3 +.Sh 名称 +.Nm login_tty +.Nd 新規ログインセッションの tty 準備 +.Sh ライブラリ +.Lb libutil +.Sh 書式 +.In libutil.h +.Ft int +.Fn login_tty "int fd" +.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/documentation/manual-pages/ja/man3/lsearch.3 b/documentation/manual-pages/ja/man3/lsearch.3 new file mode 100644 index 0000000000..7c2b93e942 --- /dev/null +++ b/documentation/manual-pages/ja/man3/lsearch.3 @@ -0,0 +1,107 @@ +.\" 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. +.\" +.\" @(#)lsearch.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libcompat/4.3/lsearch.3,v 1.4.2.4 2001/12/17 10:08:29 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt LSEARCH 3 +.Os +.Sh 名称 +.Nm lsearch , +.Nm lfind +.Nd 線形探索ルーチン +.Sh ライブラリ +.Lb libcompat +.Sh 書式 +.In sys/types.h +.Ft char * +.Fn lsearch "const void *key" "const void *base" "size_t *nelp" "size_t width" "int (*compar)(void *, void *)" +.Ft char * +.Fn lfind "const void *key" "const void *base" "size_t *nelp" "size_t width" "int (*compar)(void *, void *)" +.Sh 解説 +.Bf -symbolic +このインタフェースは、これが書かれるより前に時代遅れでした。 +.Ef +.Pp +関数 +.Fn lsearch +及び +.Fn lfind +は基本的な線形探索機能を提供します。 +.Pp +.Fa base +は配列の先頭を指すポインタです。 +引数 +.Fa nelp +は配列の現在の要素数であり、 +各要素サイズのバイト長は +.Fa width +です。 +関数 +.Fa compar +は、2 つの要素比較に使用される比較ルーチンです。 +この関数は、2 つの引数、 +比較対象を指すポインタ +.Fa key +と配列メンバを指すポインタを、 +この順序でとります。 +そして、 +.Fa key +が指す比較対象が配列のメンバより、小さい、等しい、大きいと +考えられるそれぞれの場合について、 +負、 0 、正の整数を返さなければなりません。 +.Pp +関数 +.Fn lsearch +及び +.Fn lfind +は、 +.Fa base +によって参照される配列の中で +.Fa key +が位置するポインタを返します。 +もし +.Fa key +が存在しない場合、 +.Fn lfind +はヌルポインタを返し、 +.Fn lsearch +はそれを配列に追加します。 +.Fn lsearch +要素が配列に追加されると、 +により配列要素が追加されると、引数 +.Fa nelp +によって参照される位置が 1 つ加算されます。 +.Sh 関連項目 +.Xr bsearch 3 , +.Xr db 3 diff --git a/documentation/manual-pages/ja/man3/malloc.3 b/documentation/manual-pages/ja/man3/malloc.3 new file mode 100644 index 0000000000..24daede238 --- /dev/null +++ b/documentation/manual-pages/ja/man3/malloc.3 @@ -0,0 +1,470 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/stdlib/malloc.3,v 1.25.2.14 2001/12/14 18:33:58 ru Exp % +.\" $FreeBSD$ +.\" +.Dd August 27, 1996 +.Dt MALLOC 3 +.Os +.Sh 名称 +.Nm malloc , calloc , realloc , free , reallocf +.Nd 汎用のメモリ割り当てのための関数群 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.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 +に失敗すると、 +.Dv NULL +ポインタが返されます。 +.Pp +通常 +.Fn malloc +が返すメモリは、0 のバイトで初期化されては +.Em いない +ことに注意してください。 +.Pp +.Fn calloc +関数は、 +.Fa number +個の、長さが +.Fa size +であるオブジェクトに空間を割り当てます。 +この関数を呼び出した結果は、割り当てられたメモリが 0 のバイトに +明示的に初期化されていることを除けば、引数 +.Dq "number * size" +で +.Fn malloc +を呼び出した結果と同じです。 +.Pp +.Fn realloc +関数は、 +.Fa ptr +で参照される、以前に割り当てられたメモリのサイズを +.Fa size +バイトに変更します。 +新しいサイズと古いサイズのうち、 +小さい方のサイズまでのメモリ内容は変更されません。 +新しいサイズの方が大きい場合、 +新しく割り当てられた部分のメモリの値は未定義です。 +要求されたメモリを割り当てることができなかった場合は +.Dv NULL +が返されますが、 +.Fa ptr +が参照するメモリは有効で変更されていません。 +.Fa ptr +が +.Dv NULL +である場合、 +.Fn realloc +関数は、指定したサイズの +.Fn malloc +と同じ動きをします。 +.Pp +.Fn reallocf +関数は、要求されたメモリを割り当てることができなかった場合に、 +渡されたポインタを解放することを除けば、 +.Fn realloc +関数呼び出しと同じです。 +これは +.Fx +に固有の API で、 +.Fn realloc +の従来型のコーディングスタイルを用いると、 +ライブラリの内部でメモリリークを引き起こすという +問題をなくすために設計されました。 +.Pp +.Fn free +関数は、 +.Fa ptr +で参照される割り当て済みのメモリを +今後の割り当てのために使用できるようにします。 +.Fa ptr +が +.Dv NULL +である場合、何も実行されません。 +.Pp +.Sh 調整 +これらのメモリ割り当てルーチン群の 1 つが初めて呼び出されるときに、 +この割り当て実行の動作に影響を与える +さまざまなフラグがセットもしくはリセットされます。 +.Pp +.Pa /etc/malloc.conf +というシンボリックリンクで参照されるファイルの「名称」、 +環境変数 +.Ev MALLOC_OPTIONS +の値、 +グローバル変数 +.Va malloc_options +が指す文字列は、 +この順序で 1 文字毎にフラグとして解釈されます。 +.Pp +ほとんどのフラグは 1 文字で、 +大文字は動作が設定されたこと、つまりオンになっていることを表し、 +小文字は動作が設定されていないこと、つまりオフになっていることを表します。 +.Bl -tag -width indent +.It A +すべての警告 +(理解できないフラグが設定されているという警告を除く) を +致命的エラーにします。 +この場合、プロセスは +.Xr 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 +関数が常にメモリの再割り当てをするようになります。 +メモリを圧縮する場合の大きな助けとなります。 +.It U +すべてのオペレーションで、 +.Xr ktrace 1 +のための +.Dq utrace +エントリを生成します。 +このオプションの詳細については、ソースを参照してください。 +.It V +0 バイトを割り当てようとしたときに、 +有効なポインタの代わりに +.Dv 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 +オプションが +設定され、要求されたバイト列に 0 が出力されます。 +これはデバッグ用のオプションで、パフォーマンスの低下に強い影響を与えます。 +.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 ".Ev MALLOC_OPTIONS" +.It Ev MALLOC_OPTIONS +環境変数 +.Ev MALLOC_OPTIONS +を設定すると、この環境変数に含まれる文字は、 +メモリ割り当て関数群のフラグとして解釈されます。 +.El +.Sh 戻り値 +.Fn malloc +関数と +.Fn calloc +関数は、成功した場合は割り当てられたメモリへのポインタを返し、 +それ以外の場合は +.Dv NULL +ポインタを返し +.Va errno +を +.Er ENOMEM +に設定します。 +.Pp +.Fn realloc +関数と +.Fn reallocf +関数は、成功した場合はもしかしたら +.Fa ptr +と同一の、割り当てられたメモリへのポインタを返します。 +それ以外の場合は +.Dv NULL +ポインタを返します。 +その場合でも +.Fa ptr +によって参照されるメモリは利用可能でそのまま残ります。 +メモリの割り当てに失敗した場合は、 +.Va errno +を +.Er ENOMEM +に設定します。 +.Pp +.Fn free +関数は値を返しません。 +.Pp +.Sh MALLOC の問題のデバッグ +この実装は、 +割り当てられていない限り解放されているページはアクセスされず、 +再利用のためにカーネルに積極的に返されるという点が、 +他 (のシステム) のメモリ割り当ての実装と大きく異なります。 +.Bd -ragged -offset indent +ほとんど (のシステム) のメモリ割り当ての実装では、 +リンクドリストを含んだデータ構造が、 +解放されているメモリのかたまりの中に保存され、 +解放されているすべてのメモリを互いに結合するために使用されます。 +解放リストを行き来するたびに、 +未使用の、ページアウトされているであろうページが、 +プライマリメモリに入るためにページフォルトを起こすため、 +これは最適とは言えません。 +ページングを行うシステムでは、 +1 つのプロセスによって生じるページフォルトの数が +5 倍に増加する結果となることがあります。 +.Ed +.Pp +このアーキテクチャには、これまでは検出されなかったインタフェースの +細々とした違反が、実際に検出されるようになるという副作用があります。 +このため、ずっと問題なく動いていたプログラムが、この割り当ての実装と +リンクしたとたんに問題が続出することがあります。 +.Pp +最初にするべきこと、そしてもっとも重要なことは +.Dq A +オプションを設定することです。 +このオプションを設定すると、 +できるだけ処理を継続しようとする通常の方針をとるかわりに、 +問題が発生したときに (可能であれば) コアダンプを強制的に取ります。 +.Pp +デバッガのサポートのために、 +適切なオプションとシンボルでプログラムを再コンパイルするのが +おそらく賢明です。 +.Pp +プログラムが、通常とは異なる結果を出したり、コアダンプしたり、 +次のセクションで挙げるようなメッセージを出さずに +違った動作をし始めるような場合は、 +プログラムが 0 のバイトで満たされている記憶領域に依存している場合だと +思われます。 +.Dq Z +オプションを設定して実行してみてください。 +状況が好転した場合は、この診断が正しかったことになります。 +これでもプログラムがおかしな動作をするようなら、 +割り当てられた領域以外のメモリ、 +大抵は割り当てられた領域の前方ではなく後方にアクセスするという問題だと +思われます。 +.Pp +あるいは、症状が容易に再現しない場合は、 +.Dq J +オプションを設定すると問題を起こす助けになるかもしれません。 +.Pp +本当に難しい状況では、カーネルで +.Dq U +オプションがサポートされている場合はそれを設定すると、 +これらの関数のすべての呼出しの詳細なトレースが作成されます。 +.Pp +あいにく、この実装では、検出された問題に関する詳細は提供されません。 +そのような情報を保存することで、パフォーマンスが悪影響を受けるためです。 +パフォーマンスと引き換えにいっそうの健全さのチェックと詳細な診断を行い、 +問題の検出と位置の特定に焦点を当てた数多くのメモリ割り当ての実装が、 +インターネットで利用可能です。 +.Sh 診断メッセージ +.Fn malloc , +.Fn calloc , +.Fn realloc , +.Fn free +がエラーや警告を検出すると、 +メッセージがファイル記述子 STDERR_FILENO に出力されます。 +エラーの場合、プロセスはコアダンプします。 +.Dq A +オプションを設定すると、すべての +警告はエラーとして扱われます。 +.Pp +以下では、出力される可能性があるエラーメッセージとその意味について +簡単に説明します。 +.Bl -diag +.It "(ES): mumble mumble mumble" +.Dq EXTRA_SANITY +が定義された状態でメモリ割り当て関数がコンパイルされており、 +詳細なエラーチェック中にエラーが検出されました。 +詳細については、ソースコードを参照してください。 +.It "mmap(2) failed, check limits" +システムが危険な過負荷な状態であるか、プロセスの制限が正しく +指定されていないと思われます。 +.It "freelist is destroyed" +内部の解放リストが壊れています。 +.It "out of memory" +.Dq X +オプションが指定されていて、かつ、メモリの割り当てに失敗しました。 +.El +.Pp +以下では、出力される可能性がある警告メッセージとその意味について +簡単に説明します。 +.Bl -diag +.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 realloc , +.Fn free +もしくは +.Fn reallocf +が解放しようとしているポインタが、 +正しいページを参照していません。 +.It "recursive call" +メモリ割り当て関数を再帰的に呼び出そうとしました。 +これは許可されていません。 +特にシグナルハンドラでは、メモリの割り当てをするべきではありません。 +.It "unknown char in MALLOC_OPTIONS" +不明なオプションが指定されました。 +.Dq A +オプションを設定していても、この警告は単なる警告として扱われます。 +.El +.Sh 関連項目 +.Xr brk 2 , +.Xr mmap 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 -isoC +に適合しています。 +.Sh 歴史 +現在のメモリ割り当ての実装は、 +個別のゲルマニウムトランジスタで作成された、 +20 ビットバイナリコンピュータに取り付けられたドラムの +ファイルシステムとしてスタートしました。 +それ以降は、二次保存域ではなく、一次保存域を操作するようになりました。 +この新しい形態と機能は +.Fx 2.2 +ではじめて登場しました。 +.Pp +.Xr reallocf 3 +関数は +.Fx 3.0 +ではじめて登場しました。 +.Sh 作者 +.An Poul-Henning Kamp Aq phk@FreeBSD.org +.Sh バグ +問題が発生した場合に出力されるメッセージは、 +実際の値についての詳細を提供しません。 +.Pp +0 バイトを割り当てるように要求された場合に +.Dv NULL +ポインタを返すことは、愚かな問いかけに対する愚かな反応であると言えます。 diff --git a/documentation/manual-pages/ja/man3/math.3 b/documentation/manual-pages/ja/man3/math.3 new file mode 100644 index 0000000000..56ae1cd793 --- /dev/null +++ b/documentation/manual-pages/ja/man3/math.3 @@ -0,0 +1,576 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/math.3,v 1.9.2.1 2001/07/22 12:07:20 dd Exp % +.\" +.\" $FreeBSD$ +.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 +アンダフローが発生すると、0 になります。 +.br +警告: +.RS +アンダフローにより、x +.if n \ +!= +.if t \ +\(!= +y で x\-y = 0 となる可能性があります。同じように、 +x > y > 0 であっても、x\(**y = 0 もしくは +y/x = 0 ということが警告なしに発生してしまいます。 +.RE +.RE +0 は曖昧に表現されます。 +.RS +ハードウェアでは、2**55 通りの 0 の表現を受理しますが、 +生成されるものは明らかな表現だけです。 +VAX には -0 がありません。 +.RE +VAX アーキテクチャには無限 ( +.If +) もありません。 +.br +予約オペランド: +.RS +ハードウェアは 2**55 通りを認識しますが、生成されるものは 1 つだけです。 +予約オペランドに対する浮動小数演算は、MOVF や MOVD でさえ計算を中断する +ので、あまり使用されません。 +.RE +例外: +.RS +0 除算とオーバフローするオペレーションは不正なオペレーションで、 +計算は中断されます。古いマシンでは予約オペランドが作成され、 +計算が中断されます。 +.RE +丸め: +.RS + (PDP\-11 では必ずしもそうとは言えませんが) VAXでのすべての有理数演算 +(+, \-, \(**, /) は、オーバフロー、アンダフロー、0 除算が +発生しない場合、\*(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 か \-0 のようにあいまいに表現されます。 +.RS +符号は乗算か除算で正しく変換され、符号付き 0 の加算で維持されます。 +しかし x が有限の 場合、x\-x は +0 になります。0 の符号が +問題になる演算は、0 除算と copysign(x,\(+-0) のみです。 +とくに比較 (x > y, x \(>= y など) は 0 の符号から +影響を受けませんが、有限な値 x = y である場合は、 +.If +\&= 1/(x\-y) +.if n \ +!= +.if t \ +\(!= +\-1/(y\-x) = +.If \- +になります。 +.RE +.If +は符号付きです。 +.RS +.If +をそれ自身か有限の数値に加算しても +無限は維持されます。 +.If +の符号は乗算と除算で正しく変換され、 +.If (有限値)/\(+- \0=\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 +のちょうど半分である場合、丸めた値の最下位有効ビットは 0 になります。 +通常はこのような丸めが最適で、たとえば +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 では、0 への丸め、 +.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 \{\ +オーバフロー \(+-無限 +0 除算 \(+-無限 \} +.if t \{\ +オーバフロー \(+-\(if +0 除算 \(+-\(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 +警告: アンダフローが発生したかどうかを確実に発見するには、 +積や商がアンダフローしきい値より 0 に近いかどうかをテスト +するか、アンダフローフラグをテストするしかありません。 +(IEEE 754 では、和と差がアンダフローを起こすことはありません。 +x +.if n \ +!= +.if t \ +\(!= +y である場合、x\-y は完全に正確で、値が小さくても 0 ではありません。 +) 段階的にアンダフローを起こす積と商は、徐々に精度を失っても +0 にはならないため、0 と比較しても (VAX で実行する可能性がある)、 +ロスは明らかになりません。段階的にアンダフローを起こした値を +アンダフローしきい値より大きい値と加算する場合、段階的な +アンダフローで失われる桁は切り捨てられるので失われません。 +このため、通常の場合、段階的なアンダフローは無視できることがあります。 +0 にフラッシュされるアンダフローでは、同じことが正しいとは限りません。 +.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 +0 除算は、以下のような場合にのみ発生します。 +.RS +有限演算で、関数が無限の値を受けた場合。 +.RE +アンダフローは、以下のような場合にのみ発生します。 +.RS +正しい結果が 0 ではないが、アンダフローしきい値より +小さい場合。 +.RE +不正確は、以下のような場合にのみ発生します。 +.RS +正しい結果の表現に、より広い範囲かより高い精度が必要な +場合。 +.SH バグ +信号が適切である場合、その信号はコードの特定オペレーションから +発信されているので、上記の手法 5) を使用している場合は、 +サブルーチンをトレースしてその信号を発している関数を特定する +必要があります。すべてのコードは、IEEE 754 のデフォルトを使用します。 +つまり、すべての 0 除算をトラップしようとすると、 +トラップしない場合に 0 除算でも正しい結果を出すコードが中断されると +いうことです。 +.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/documentation/manual-pages/ja/man3/md4.3 b/documentation/manual-pages/ja/man3/md4.3 new file mode 100644 index 0000000000..7047363075 --- /dev/null +++ b/documentation/manual-pages/ja/man3/md4.3 @@ -0,0 +1,168 @@ +.\" +.\" ---------------------------------------------------------------------------- +.\" "THE BEER-WARE LICENSE" (Revision 42): +.\" <phk@login.dkuug.dk> 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.4 2002-05-18 07:12:55 horikawa Exp $ +.\" +.\" $FreeBSD$ +.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 <sys/types.h> +.Fd #include <md4.h> +.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/documentation/manual-pages/ja/man3/md5.3 b/documentation/manual-pages/ja/man3/md5.3 new file mode 100644 index 0000000000..ccdfb9683e --- /dev/null +++ b/documentation/manual-pages/ja/man3/md5.3 @@ -0,0 +1,168 @@ +.\" +.\" ---------------------------------------------------------------------------- +.\" "THE BEER-WARE LICENSE" (Revision 42): +.\" <phk@login.dkuug.dk> 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.4 2002-05-18 07:12:55 horikawa Exp $ +.\" +.\" $FreeBSD$ +.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 <sys/types.h> +.Fd #include <md5.h> +.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/documentation/manual-pages/ja/man3/memccpy.3 b/documentation/manual-pages/ja/man3/memccpy.3 new file mode 100644 index 0000000000..b942eb9dc5 --- /dev/null +++ b/documentation/manual-pages/ja/man3/memccpy.3 @@ -0,0 +1,77 @@ +.\" 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. +.\" +.\" @(#)memccpy.3 8.1 (Berkeley) 6/9/93 +.\" %FreeBSD: src/lib/libc/string/memccpy.3,v 1.4.2.2 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 9, 1993 +.Dt MEMCCPY 3 +.Os +.Sh 名称 +.Nm memccpy +.Sh ライブラリ +.Lb libc +.Nd 文字が見つかるまでバイト列をコピーする +.Sh 書式 +.In string.h +.Ft void * +.Fn memccpy "void *dst" "const void *src" "int c" "size_t len" +.Sh 解説 +.Fn memccpy +関数は、バイト列 +.Fa src +からバイト列 +.Fa dst +に複数バイトをコピーします。 +文字 +.Fa c +(unsigned char に変換されたものとして) +がバイト列 +.Fa src +中に見つかるとコピーは中断し、バイト列 +.Fa dst +中の +.Fa c +のコピーの後方のバイトを指すポインタが返されます。 +そうでない時は +.Fa len +個のバイトがコピーされ、 NULL ポインタが返されます。 +.Sh 関連項目 +.Xr bcopy 3 , +.Xr memcpy 3 , +.Xr memmove 3 , +.Xr strcpy 3 +.Sh 歴史 +.Fn memccpy +関数は、 +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/memchr.3 b/documentation/manual-pages/ja/man3/memchr.3 new file mode 100644 index 0000000000..c63728f005 --- /dev/null +++ b/documentation/manual-pages/ja/man3/memchr.3 @@ -0,0 +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. +.\" +.\" @(#)memchr.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/memchr.3,v 1.3.2.4 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt MEMCHR 3 +.Os +.Sh 名称 +.Nm memchr +.Nd バイト列中のバイトの位置を示す +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft void * +.Fn memchr "const void *b" "int c" "size_t len" +.Sh 解説 +.Fn memchr +関数は、 +バイト列 +.Fa b +中で +(unsigned char に変換された) +.Fa c +が最初に見つかった位置を示します。 +.Sh 戻り値 +.Fn memchr +関数は、該当するバイトのポインタ、 +または該当するバイトが +.Fa len +個のバイト中に存在しない時は NULL を返します。 +.Sh 関連項目 +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 規格 +.Fn memchr +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/memcmp.3 b/documentation/manual-pages/ja/man3/memcmp.3 new file mode 100644 index 0000000000..9ec146efc6 --- /dev/null +++ b/documentation/manual-pages/ja/man3/memcmp.3 @@ -0,0 +1,83 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/string/memcmp.3,v 1.5.2.3 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt MEMCMP 3 +.Os +.Sh 名称 +.Nm memcmp +.Sh ライブラリ +.Lb libc +.Nd バイト列を比較する +.Sh 書式 +.In string.h +.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 つのバイト列が一致する場合、0 を返します。 +そうでない時は、最初に一致しなかった 2 つのバイト間の差 +(unsigned char の値として扱われます。たとえば +.Sq Li \e\200 +は +.Sq Li \&\e0 +よりも大きくなります。) +が返されます。 +長さが 0 のバイト列は常に一致します。 +.Sh 関連項目 +.Xr bcmp 3 , +.Xr strcasecmp 3 , +.Xr strcmp 3 , +.Xr strcoll 3 , +.Xr strxfrm 3 +.Sh 規格 +.Fn memcmp +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/memcpy.3 b/documentation/manual-pages/ja/man3/memcpy.3 new file mode 100644 index 0000000000..c22e8f780b --- /dev/null +++ b/documentation/manual-pages/ja/man3/memcpy.3 @@ -0,0 +1,90 @@ +.\" 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. +.\" +.\" @(#)memcpy.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/memcpy.3,v 1.3.2.3 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt MEMCPY 3 +.Os +.Sh 名称 +.Nm memcpy +.Nd バイト列のコピー +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft void * +.Fn memcpy "void *dst" "const void *src" "size_t len" +.Sh 解説 +.Fn memcpy +関数は、バイト列 +.Fa src +からバイト列 +.Fa dst +に +.Fa len +個のバイトを +コピーします。 +.Sh 戻り値 +.Fn memcpy +関数は、 +.Fa dst +のオリジナルの値を返します。 +.Pp +.Sh 関連項目 +.Xr bcopy 3 , +.Xr memccpy 3 , +.Xr memmove 3 , +.Xr strcpy 3 +.Pp +.Sh 規格 +.Fn memcpy +関数は、 +.St -isoC +に適合しています。 +.Pp +.Sh バグ +この実装では、 +.Fn memcpy +が +.Xr bcopy 3 +を用いて実現されているため、バイト列が重なりあっていても構いません。 +他の実装では、重なりあっているバイト列をコピーしようとすると +びっくりするかもしれません。 +もっと簡単な解決策は、 +.Fn memcpy +を使用しないことです。 diff --git a/documentation/manual-pages/ja/man3/memmove.3 b/documentation/manual-pages/ja/man3/memmove.3 new file mode 100644 index 0000000000..adcf12a728 --- /dev/null +++ b/documentation/manual-pages/ja/man3/memmove.3 @@ -0,0 +1,78 @@ +.\" 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. +.\" +.\" @(#)memmove.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/memmove.3,v 1.3.2.3 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt MEMMOVE 3 +.Os +.Sh 名称 +.Nm memmove +.Nd バイト文字列をコピーします。 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft void * +.Fn memmove "void *dst" "const void *src" "size_t len" +.Sh 解説 +.Fn memmove +関数は、文字列 +.Fa src +から文字列 +.Fa dst +に +.Fa len +バイトを +コピーします。 +2 つの文字列がオーバラップすることがありますが、 +コピーは常に破壊されない方法で行われます。 +.Sh 戻り値 +.Fn memmove +関数は、 +.Fa dst +のオリジナルの値を戻します。 +.Sh 関連項目 +.Xr bcopy 3 , +.Xr memccpy 3 , +.Xr memcpy 3 , +.Xr strcpy 3 +.Sh 規格 +.Fn memmove +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/memory.3 b/documentation/manual-pages/ja/man3/memory.3 new file mode 100644 index 0000000000..de7944abc9 --- /dev/null +++ b/documentation/manual-pages/ja/man3/memory.3 @@ -0,0 +1,74 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/stdlib/memory.3,v 1.5.2.4 2001/12/14 18:33:58 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt MEMORY 3 +.Os +.Sh 名称 +.Nm malloc , +.Nm free , +.Nm realloc , +.Nm calloc , +.Nm alloca +.Nd 一般的なメモリ割り当て操作 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.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 解説 +この関数は、呼出しプロセスのメモリの割り当てと解放を行ないます。 +詳細については、それぞれのマニュアルページを参照してください。 +.Sh 関連項目 +.Xr alloca 3 , +.Xr calloc 3 , +.Xr free 3 , +.Xr malloc 3 , +.Xr realloc 3 +.Sh 規格 +この関数は、 +.Fn alloca +を除き、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/memset.3 b/documentation/manual-pages/ja/man3/memset.3 new file mode 100644 index 0000000000..ad8d1daf43 --- /dev/null +++ b/documentation/manual-pages/ja/man3/memset.3 @@ -0,0 +1,70 @@ +.\" 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. +.\" +.\" @(#)memset.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/memset.3,v 1.3.2.4 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt MEMSET 3 +.Os +.Sh 名称 +.Nm memset +.Nd バイト文字列にバイトを書き込む +.Sh ライブラリ +.Sh 書式 +.In string.h +.Ft void * +.Fn memset "void *b" "int c" "size_t len" +.Sh 解説 +.Fn memset +関数は、値 +.Fa c +(unsigned char に変換) の +.Fa len +バイトを文字列 +.Fa b +に書き込みます。 +.Sh 戻り値 +.Fn memset +関数は、最初の引数を戻します。 +.Sh 関連項目 +.Xr bzero 3 , +.Xr swab 3 +.Sh 規格 +.Fn memset +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/mktemp.3 b/documentation/manual-pages/ja/man3/mktemp.3 new file mode 100644 index 0000000000..4dce520164 --- /dev/null +++ b/documentation/manual-pages/ja/man3/mktemp.3 @@ -0,0 +1,226 @@ +.\" 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. +.\" +.\" @(#)mktemp.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdio/mktemp.3,v 1.11.2.6 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd February 11, 1998 +.Dt MKTEMP 3 +.Os +.Sh 名称 +.Nm mktemp +.Nd 一意な一時ファイル名を作成 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft char * +.Fn mktemp "char *template" +.Ft int +.Fn mkstemp "char *template" +.Ft int +.Fn mkstemps "char *template" "int suffixlen" +.Ft char * +.Fn mkdtemp "char *template" +.Sh 解説 +.Fn mktemp +関数は、与えられたファイル名テンプレートの一部を書き換えて +ファイル名を作成します。 +このファイル名は、関数が呼ばれた時に存在していないことが保証されており、 +アプリケーションでの使用に適しています。 +テンプレートとしては、 +.Pa /tmp/temp.XXXXXX +のように、任意のファイル名に数桁の文字 +.Ql X +が付いているものが使用されます。 +後ろに続く +.Ql X +は、英数字の一意の組合せに置き換えられます。 +.Fn mktemp +が戻す一意的なファイル名の数は、 +.Ql X +の数によって決まります。 +.Ql X +が 6 桁である場合、56800235584 (62 ** 6) 通りの可能な一時ファイル名から +.Fn mktemp +によって一つ選ばれます。 +.Pp +.Fn mkstemp +関数は、テンプレートを同じように置き換え、 +モード 0600 でテンプレートファイルを作成し、 +読み書き用としてオープンしたファイル記述子を返します。 +こうすることにより、ファイルの存在を確認することと +使用するためにオープンすることとの間の競合状態を避けられます。 +.Pp +.Fn mkstemps +は、テンプレートにサフィックスを含めることができることを除いて +.Fn mkstemp +と同様に動作します。 +テンプレートは、 +.Pa /tmp/tmpXXXXXXsuffix +という形式である必要があります。 +.Fn mkstemps +は、サフィックス文字列の長さを必要とします。 +.Pp +.Fn mkdtemp +関数は、テンプレートを +.Xr mktemp 3 +と同じように置き換え、 +モード 0700 でテンプレートディレクトリを作成します。 +.Sh 戻り値 +成功した場合、 +.Fn mktemp +関数と +.Fn mkdtemp +関数は、テンプレートへのポインタを返し、失敗した場合 +.Dv NULL +を返します。 +.Fn mkstemp +関数と +.Fn mkstemps +関数は、適切なファイルを作成できない場合に \-1 を返します。 +どの関数呼出しでもエラーが発生すると、エラーコードがグローバル変数 +.Va errno +に書き込まれます。 +.Sh エラー +.Fn mkstemp , +.Fn mkstemps , +.Fn mkdtemp +関数は、以下の値のうち 1 つを +.Va errno +に設定します。 +.Bl -tag -width Er +.It Bq Er ENOTDIR +テンプレートのパス名部分が、存在するディレクトリではありません。 +.El +.Pp +.Fn mkstemp , +.Fn mkstemps , +.Fn mkdtemp +関数は、 +.Xr stat 2 +関数で規定されるどの値も +.Va errno +に設定する可能性があります。 +.Pp +.Fn mkstemp +関数と +.Fn mkstemps +関数は、 +.Xr open 2 +関数で規定されるどの値も +.Va errno +に設定する可能性があります。 +.Pp +.Fn mkdtemp +関数は、 +.Xr mkdir 2 +関数で規定されるどの値も +.Va errno +に設定する可能性があります。 +.Sh 注 +コアダンプを引き起こす問題としてよくあるものは、プログラマが、 +.Fn mktemp , +.Fn mkstemp , +.Fn mkstemps , +.Fn mkdtemp +に読込み専用文字列を渡しているものです。 +この問題は、 +.St -isoC +コンパイラが普及する前に開発されたプログラムで多く見られます。 +たとえば引数 +.Qq /tmp/tempfile.XXXXXX +を指定して +.Fn mkstemp +を呼び出すと、 +.Fn mkstemp +が、指定された文字列定数を書き換えようとしてコアダンプが起こります。 +問題を起こすプログラムが、このような関数呼出しを頻繁に行っている場合は、 +メモリの書込み可能セグメントへ文字列定数を +保持するようにプログラムをコンパイルすることもできます。 +詳細については、 +.Xr gcc 1 +を参照してください。 +.Sh バグ +この関数群は推測可能なファイル名を生成しますが、 +.Ql X +の数を多くし作成可能な一時ファイル名の数を増やすことで、 +推測される危険を最小化します。 +.Fn mktemp +では、あるファイルが存在するかのテスト ( +.Fn mktemp +関数呼び出しの中) と、そのファイルを使用するためのオープン +(その後のユーザアプリケーションの中) との間で競合が発生し、 +これはセキュリティの面から見て、とても危険です。 +.Fn mkstemp +には競合状態がありませんので、 +可能な限り、この関数を使うべきでしょう。 +もし +.Fn mkstemp +が使用できない場合は、 +.Fn mktemp +で生成されたファイル名を +.Xr open 2 +で開く時に +.Dv O_EXCL +フラグをつけるようにし、 +失敗していないか戻り値をテストすべきでしょう。 +こうすることによって、攻撃者がファイルの内容を操作したり +読んだりする意図を持ってファイルを既に作成していても、 +プログラムが無闇に動作を継続することがなくなります。 +.Sh 関連項目 +.Xr chmod 2 , +.Xr getpid 2 , +.Xr mkdir 2 , +.Xr open 2 , +.Xr stat 2 +.Sh 歴史 +.Fn mktemp +関数は、 +.At v7 +で登場しました。 +.Fn mkstemp +関数は、 +.Bx 4.4 +で登場しました。 +.Fn mkdtemp +関数は、 +.Ox 2.2 +ではじめて登場し、その後 +.Fx 3.2 +で登場しました。 +.Fn mkstemps +は +.Ox 2.4 +ではじめて登場し、その後 +.Fx 3.4 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/modf.3 b/documentation/manual-pages/ja/man3/modf.3 new file mode 100644 index 0000000000..55281dd2e6 --- /dev/null +++ b/documentation/manual-pages/ja/man3/modf.3 @@ -0,0 +1,76 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)modf.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/modf.3,v 1.3.2.3 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt MODF 3 +.Os +.Sh 名称 +.Nm modf +.Nd 浮動小数点数からの符号付きの整数値/小数値取り出し +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In math.h +.Ft double +.Fn modf "double value" "double *iptr" +.Sh 解説 +.Fn modf +関数は、整数部分と小数部分に引数 +.Fa value +を分割します。整数部分と +小数部分とは、引数と同じ符号になります。整数部分は、 +.Fa iptr +が指すオブジェクトに +.Em double +として保存されます。 +.Sh 戻り値 +.Fn modf +関数は、 +.Fa value +の符号付き小数部分を返します。 +.Sh 関連項目 +.Xr frexp 3 , +.Xr ldexp 3 , +.Xr math 3 +.Sh 規格 +.Fn modf +関数は、 +.St -isoC +に適合しています。 +.\"kuma 1999-11-12 diff --git a/documentation/manual-pages/ja/man3/moncontrol.3 b/documentation/manual-pages/ja/man3/moncontrol.3 new file mode 100644 index 0000000000..5ffddd5183 --- /dev/null +++ b/documentation/manual-pages/ja/man3/moncontrol.3 @@ -0,0 +1,110 @@ +.\" Copyright (c) 1980, 1991, 1992, 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. +.\" +.\" @(#)moncontrol.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gmon/moncontrol.3,v 1.6.2.5 2001/12/14 18:33:54 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt MONCONTROL 3 +.Os +.Sh 名称 +.Nm moncontrol , +.Nm monstartup +.Nd 実行プロファイルの制御 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.Ft int +.Fn moncontrol "int mode" +.Ft int +.Fn monstartup "u_long *lowpc" "u_long *highpc" +.Sh 解説 +.Xr cc 1 +の +.Fl pg +オプションでコンパイルした実行可能プログラムには、 +.Xr gprof 1 +呼出しグラフ実行プロファイラの統計情報を収集するための関数呼出しが自動的に +組み込まれます。典型的なオペレーションの場合、プロファイル採取はプログラムの +起動時に始まり、プログラム呼出しが終了したときに終わります。プログラムが +終了すると、プロファイリングデータはファイル +.Em progname.gmon +に書き込まれ (progname はプログラムの名前)、 +.Xr gprof 1 +で結果が検査されます。 +.Pp +.Fn moncontrol +は、プログラムでのプロファイル取得を選択的に制御します。 +プロファイル取得は、プログラムが起動されると始まります。 +ヒストグラムティック値と関数呼び出し回数の収集を止めるには +.Fn moncontrol 0 +を使用し、ヒストグラムティック値と関数呼び出し回数の収集を再開するには +.Fn moncontrol 1 +を使用します。この機能により、特定のオペレーションのコストが計測できます。 +プログラムの終了時には、 +.Fn moncontrol +の状態に関係なく出力ファイルが作成されることに注意してください。 +.Pp +.Fl pg +でロードしていないプログラムでも、プロファイルを取得する +アドレスの範囲を指定して +.Fn monstartup +を呼び出し、プロファイリング統計情報を選択的に収集することができます。 +サンプル抽出するアドレスの範囲は、 +.Fa lowpc +と +.Fa highpc +で指定します。 +サンプル抽出される最下位アドレスは +.Fa lowpc +で、最上位アドレスは +.Fa highpc +のすぐ下になります。出力の呼出しグラフに表示されるのは、この範囲のうち、 +.Xr cc 1 +の +.Fl pg +オプションでコンパイルした関数のみですが、実行時間が計測されるのは、 +このアドレス範囲のすべての関数です。プロファイル採取は、 +.Fn monstartup +から戻ったときに始まります。 +.Sh 関連ファイル +.Bl -tag -width progname.gmon -compact +.It Pa progname.gmon +実行データファイル +.El +.Sh 関連項目 +.Xr cc 1 , +.Xr gprof 1 , +.Xr profil 2 , +.Xr clocks 7 +.\"kuma 1999-11-12 diff --git a/documentation/manual-pages/ja/man3/mpool.3 b/documentation/manual-pages/ja/man3/mpool.3 new file mode 100644 index 0000000000..644eaa1e76 --- /dev/null +++ b/documentation/manual-pages/ja/man3/mpool.3 @@ -0,0 +1,233 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/db/man/mpool.3,v 1.5.2.4 2001/12/14 18:33:49 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt MPOOL 3 +.Os +.Sh 名称 +.Nm mpool +.Nd 共有メモリバッファプール +.Sh 書式 +.In db.h +.In mpool.h +.Ft MPOOL * +.Fn mpool_open "void *key" "int fd" "pgno_t pagesize" "pgno_t maxcache" +.Ft void +.Fo mpool_filter +.Fa "MPOOL *mp" +.Fa "void (*pgin)(void *, pgno_t, void *)" +.Fa "void (*pgout)(void *, pgno_t, void *)" +.Fa "void *pgcookie" +.Fc +.Ft void * +.Fn mpool_new "MPOOL *mp" "pgno_t *pgnoaddr" +.Ft void * +.Fn mpool_get "MPOOL *mp" "pgno_t pgno" "u_int flags" +.Ft int +.Fn mpool_put "MPOOL *mp" "void *pgaddr" "u_int flags" +.Ft int +.Fn mpool_sync "MPOOL *mp" +.Ft int +.Fn mpool_close "MPOOL *mp" +.Sh 解説 +.Nm mpool +は、ページを基準にした、ファイルのバッファ管理を行なう +ライブラリインタフェースです。バッファはプロセス間で共有できます。 +.Pp +関数 +.Fn mpool_open +はメモリプールを初期化します。引数 +.Fa key +は、バッファ +を共有する複数のプロセス間でネゴシエートするために使われる +バイトストリングです。 +ファイルバッファが共有メモリにマップされた場合は、同じキーを +使用しているすべてのプロセスがバッファを共有します。 +.Fa key +が +.Dv NULL +である場合、バッファはプライベートメモリにマップされます。 +引数 +.Fa fd +は、基礎となる +ファイルのファイル記述子で、検索可能になっている必要があります。 +.Fa key +が +.Dv NULL +ではなく、すでにマップされているファイルと一致する場合、引数 +.Fa fd +は無視されます。 +.Pp +引数 +.Fa pagesize +は、ファイルを分割するページのサイズ (バイト単位) です。引数 +.Fa maxcache +は、一度にキャッシュする、基礎となるファイルの最大ページ数です。 +この値は、ファイルのバッファを共有するプロセス数とは +関係ありませんが、ファイルを共有するプロセスが指定した最大値になります。 +.Pp +関数 +.Fn mpool_filter +は、ページの透過的入出力処理を行ないます。 +.Fa pgin +関数が指定されると、保存ファイルからメモリプールにバッファを +読み込むたびに呼び出されます。 +.Fa pgout +関数が指定されると、保存ファイルにバッファが書き込まれるたびに +呼び出されます。どちらの関数も、 +.Fa pgcookie +ポインタ、ページ番号、読み書きを行なうページのポインタで呼び出されます。 +.Pp +関数 +.Fn mpool_new +は、 +.Ft MPOOL +ポインタとアドレスを引数として取ります。 +新しいページを割り振ることができる場合は、ページのポインタが返され、 +ページ番号が +.Fa pgnoaddr +アドレスに保存されます。割り振ることができない場合は +.Dv NULL +が返され、 +.Va errno +が設定されます。 +.Pp +関数 +.Fn mpool_get +は、 +.Ft MPOOL +ポインタとページ番号を引数として取ります。 +ページが存在する場合は、ページのポインタが返されます。 +ページが存在しない場合は +.Dv NULL +が返され、 +.Va errno +がセットされます。 +.Fa flags +パラメータは、今のところ使用されていません。 +.Pp +関数 +.Fn mpool_put +は、 +.Fa pgaddr +が参照するページを解放します。 +.Fa pgaddr +は、あらかじめ +.Fn mpool_get +または +.Fn mpool_new +が返したアドレスでなければなりません。 +.Fa flags +パラメータは以下の値の論理和 ( +.Em or +) によって指定されます。 +.Bl -tag -width indent +.It Dv MPOOL_DIRTY +ページが修正されており、保存ファイルに書き込む必要があります。 +.El +.Pp +関数 +.Fn mpool_put +は、正常終了時には 0 を返し、エラーのときは -1 を返します。 +.Pp +関数 +.Fn mpool_sync +は、 +.Ft MPOOL +ポインタに対して、変更されたすべてのページを +保存ファイルに書き込みます。 +.Fn mpool_sync +は、正常終了時には 0 を返し、エラーのときは -1 を返します。 +.Pp +関数 +.Fn mpool_close +は、メモリプールクッキーに対して割り振られたメモリを解放します。 +修正されたページは、保存ファイルに書き込まれ +.Em ません +。 +.Fn mpool_close +は、正常終了時には 0 を返し、エラーのときは -1 を返します。 +.Sh エラー +関数 +.Fn mpool_open +でエラーが発生すると、ライブラリルーチン +.Xr malloc 3 +で指定されたエラーの +.Va errno +がセットされます。 +.Pp +関数 +.Fn mpool_get +でエラーが発生すると、以下の +.Va errno +がセットされます。 +.Bl -tag -width Er +.It Bq Er EINVAL +要求されたレコードが存在しない。 +.El +.Pp +関数 +.Fn mpool_new +と +.Fn mpool_get +でエラーが発生すると、ライブラリルーチン +.Xr read 2 , +.Xr write 2 , +.Xr malloc 3 +で指定されたエラーの +.Va errno +がセットされます。 +.Pp +関数 +.Fn mpool_sync +でエラーが発生すると、ライブラリルーチン +.Xr write 2 +で指定されたエラーの +.Va errno +がセットされます。 +.Pp +関数 +.Fn mpool_close +でエラーが発生すると、ライブラリルーチン +.Xr free 3 +で +指定したエラーの +.Va errno +がセットされます。 +.Sh 関連項目 +.Xr btree 3 , +.Xr dbopen 3 , +.Xr hash 3 , +.Xr recno 3 diff --git a/documentation/manual-pages/ja/man3/multibyte.3 b/documentation/manual-pages/ja/man3/multibyte.3 new file mode 100644 index 0000000000..83478a0256 --- /dev/null +++ b/documentation/manual-pages/ja/man3/multibyte.3 @@ -0,0 +1,218 @@ +.\" 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 of 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. +.\" +.\" @(#)multibyte.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/multibyte.3,v 1.6.2.5 2001/12/14 18:33:54 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt MULTIBYTE 3 +.Os +.Sh 名称 +.Nm mblen , +.Nm mbstowcs , +.Nm mbtowc , +.Nm wcstombs , +.Nm wctomb +.Nd C 言語のマルチバイト文字サポート +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft int +.Fn mblen "const char *mbchar" "size_t nbytes" +.Ft size_t +.Fn mbstowcs "wchar_t *wcstring" "const char *mbstring" "size_t nwchars" +.Ft int +.Fn mbtowc "wchar_t *wcharp" "const char *mbchar" "size_t nbytes" +.Ft size_t +.Fn wcstombs "char *mbstring" "const wchar_t *wcstring" "size_t nbytes" +.Ft int +.Fn wctomb "char *mbchar" "wchar_t wchar" +.Sh 解説 +中国語のような自然言語の基本要素は、C 言語の +.Va char Ns s +型ひとつでは一意に表現できません。 +標準 C 言語規格では、 +.Em ワイド +文字と +.Em マルチバイト +文字という、自然言語のエンコード方法の拡張を扱う 2 つの異なる方法がサポートされています。 +ワイド文字は、基本要素ひとつひとつを +.Va wchar_t +型の単一オブジェクトへマップできるような内部表現です。 +マルチバイト文字は入出力に使用され、C 言語の +.Va char Ns s +型の並びとして基本要素ひとつひとつをコード化します。 +マルチバイト文字では、個々の基本要素は 1 バイトまたはそれ以上(最大 +.Dv MB_CHAR_MAX +バイト ) にマップされます。 +.Pp +現在のロケール +.Pq Xr setlocale 3 +によりワイド文字とマルチバイト文字のどちらで解釈するかが決定されます。 +ロケールカテゴリ +.Dv LC_CTYPE +の指定によりこの解釈を制御します。 +型 +.Va wchar_t +は、ワイド文字を表現するにあたり、すべてのロケールに対して最大の値を収容できるだけの十分な大きさを持ちます。 +.Pp +マルチバイト文字列には、与えられた表現中で規定されるモード間の切り替えをするための +.Sq シフト +指示子が含まれることがあります。 +明示的にシフトの発生を表すバイト列を使用すると、これらのバイトは別々の文字とはみなされずに、それと隣接する文字と一緒にまとめられます。 +.Sq 初期 +シフト状態は区別されて、常に存在しています。 +関数 +.Fn mbstowcs +と +.Fn wcstombs +は、マルチバイト文字列が初期シフト状態から始まって解釈されると仮定します。 +関数 +.Fn mblen , +.Fn mbtowc , +.Fn wctomb +は、内部で静的にシフト状態を維持管理します。 +ポインタ +.Fa mbchar +がヌルである呼び出しでは、現在のロケールがシフト状態を必要とする場合は 0 以外が戻されます。シフト状態を必要としない場合は 0 が戻されます。 +シフト状態を必要とする場合、シフト状態は初期状態にリセットされます。 +.Dv LC_CTYPE +か +.Dv LC_ALL +カテゴリを指定して +.Fn setlocale +を呼び出した後では、内部シフト状態は未定義になります。 +.Pp +処理に便利なように、値が 0 のワイド文字 +(ヌルワイド文字) +は、ワイド文字列の終了として認識されます。 +値が 0 の文字 +(ヌルバイト) +は、マルチバイト文字列の終了として認識されます。 +マルチバイト文字では、ヌルバイト列は許可されていません。 +.Pp +関数 +.Fn mblen +は、マルチバイト文字 +.Fa mbchar +のバイト長を算出します。 +.Fa nbytes +までが検査されます。 +.Pp +関数 +.Fn mbtowc +はマルチバイト文字 +.Fa mbchar +をワイド文字に変換し、その結果を +.Fa wcharp +が指すオブジェクトに格納します。 +.Fa nbytes +バイトまでが検査されます。 +.Pp +関数 +.Fn wctomb +はワイド文字 +.Fa wchar +をマルチバイト文字に変換し、その結果を +.Fa mbchar +に格納します。 +.Fa mbchar +が指すオブジェクトは、マルチバイト文字を収容できるだけの大きさを持たねばなりません。 +.Pp +関数 +.Fn mbstowcs +は、マルチバイト文字列 +.Fa mbstring +をワイド文字列 +.Fa wcstring . +に変換します。 +.Fa nwchars +の大きさのワイド文字までしか格納されません。 +終了を示すヌルワイド文字は、空きがある場合に付加されます。 +.Pp +関数 +.Fn wcstombs +は、ワイド文字列 +.Fa wcstring +をマルチバイト文字列 +.Fa mbstring +に変換します。 +.Fa nbytes +バイトまでが +.Fa mbstring +に格納されます。 +文字列の最後の断片的なマルチバイト文字は格納されません。マルチバイト文字列は、空きがあればヌルで終わります。 +.Sh "戻り値 +現在のロケールでマルチバイト文字がサポートされていない場合、これらすべての関数は、文字を処理できる場合は \-1 を返し、処理できない場合は 0 を返します。 +.Pp +.Fa mbchar +が +.Dv NULL +である場合、関数 +.Fn mblen , +.Fn mbtowc , +.Fn wctomb +は、シフト状態がサポートされている場合は 0 以外を返し、シフト状態がサポートされていない場合は 0 を返します。 +.Fa mbchar +が有効であると、これらの関数は +.Fa mbchar +で処理されたバイト数を返します。マルチバイト文字を認識できない場合か変換できない場合は \-1 を返します。 +.Pp +関数 +.Fn mbstowcs +は、変換されたワイド文字の数を返します。終了を示すヌルワイド文字は数に含めません。 +関数 +.Fn wcstombs +は、変換されたバイト数を返します。終了を示すヌルバイトは数に含めません。 +不正なマルチバイト文字があると、どちらの関数も \-1 を返します。 +.Sh "関連項目 +.Xr mbrune 3 , +.Xr rune 3 , +.Xr setlocale 3 , +.Xr euc 4 , +.Xr utf2 4 +.Sh 規格 +関数 +.Fn mblen , +.Fn mbstowcs , +.Fn mbtowc , +.Fn wcstombs +.Fn wctomb +は +.St -isoC +に準拠しています。 +.Sh バグ +現在のシステムは、シフト状態をサポートしません。 diff --git a/documentation/manual-pages/ja/man3/ncurses.3 b/documentation/manual-pages/ja/man3/ncurses.3 new file mode 100644 index 0000000000..53f958f844 --- /dev/null +++ b/documentation/manual-pages/ja/man3/ncurses.3 @@ -0,0 +1,419 @@ +.\" $FreeBSD$ +.TH ncurses 3 "" +.ds n 5 +.ds d @TERMINFO@ +.SH 名称 +\fBncurses\fR - CRT screen handling and optimization package +.SH 書式 +\fB#include <ncurses.h>\fR +.br +.SH 解説 +\fBncurses\fR ライブラリルーチンでは、端末に依存しない方法で、それなりに +最適化してキャラクタ画面を更新できます。 + +\fBncurses\fR ルーチンは、System V Release 4 UNIX の \fBcurses\fR(3) +ライブラリをエミュレートしますが、ソース形式で自由に再分配できます。 +System V Release 4 UNIX の curses との違いについては、それぞれの +マニュアルページのバグセクションで説明します。違いは少ししかなく、 +ncurses が発展するにつれ、違いは少なくなります。 + +このルーチンを使用しているプログラムは、\fB-lncurses\fR オプション、 +または(生成された場合は) \fB-ldcurses\fR や \fB-lpcurses\fR などの +デバッグライブラリの 1 つを使用してリンクする必要があります。 +dcurses ライブラリは、curses アクションを記述したトレースログを生成します。 +pcurses ライブラリは、プロファイル化をサポートしています。 + +\fBncurses\fR パッケージでは、画面全体、ウィンドウ、パッドの操作、 +ウィンドウとパッドへの出力、端末入力の読込み、端末、ncurses 入力と出力の +オプションの制御、環境クエリルーチン、カラー操作、ソフトラベルキーの使用、 +terminfo 機能、低レベル \fBncurses\fR ルーチンへのアクセスがサポート +されています。 + +ルーチンを初期化するには、ルーチン \fBinitscr\fR か \fBnewterm\fR +を呼び出してから、ウィンドウと画面を処理するその他のルーチンを使用する +必要があります。終了前には、ルーチン \fBendwin\fR を呼び出してください。 +エコーせずに 1 回に 1 キャラクタずつ入力するには (インタラクティブで +画面主導のほとんどのプログラムで必要)、以下のシーケンスを使用します。 + + \fBinitscr(); cbreak(); noecho();\fR + +ほとんどのプログラムでは、以下のシーケンスも使用します。 + + \fBnonl(); intrflush(stdscr,FALSE); keypad(stdscr,TRUE);\fR + +\fBncurses\fR プログラムを実行する前には、端末のタブストップを設定し、 +定義されていれば初期化文字列を出力する必要があります。 +これは、シェル環境変数 \fBTERM\fR をエクスポートした後でコマンド +\fBtput init\fR を実行すれば行なえます。 +[詳細については、\fBterminfo\fR(\*n) を参照してください。] + +\fBncurses\fR ライブラリでは、CRT 画面の全体か一部を表すキャラクタの +2 次元配列とみなせる、\fIwindows\fR というデータ構造を操作できます。 +デフォルトウィンドウは \fBstdscr\fR というもので、サイズは端末画面のサイズ +になっています。その他のウィンドウは、\fBnewwin\fR で作成できます。 + +ウィンドウは、\fBWINDOW *\fR のように宣言した変数で参照します。 +このデータ構造は、マニュアルセクション 3 のページで解説しているルーチン +(名前が「curs_」で始まるもの)で操作します。このうち最も基本的なルーチンは、 +\fBmove\fR と \fBaddch\fRです。このルーチンの一般的なバージョンは、名前が +\fBw\fR で始まります。このバージョンではウィンドウを指定できます。 +\fBw\fR で始まらないルーチンは \fBstdscr\fR に影響します。 + +ルーチンを使用してウィンドウを操作した後では \fBrefresh\fR が呼び出され、 +ユーザの CRT 画面を \fBstdscr\fR のように表示する指示が \fBncurses\fR に +出されます。ウィンドウのキャラクタのタイプは実際には \fBchtype\fR +(キャラクタと属性データ)なので、 +キャラクタのその他の情報もそれぞれのキャラクタとともに保存できます。 + +\fIパッド\fRという特殊なウィンドウも操作できます。パッドは画面のサイズに +制限されないウィンドウで、パッドの内容は完全に表示する必要がありません。 +詳細については curs_pad(3) を参照してください。 + +キャラクタの画面への描画の他に、ビデオ属性とカラーもサポート +されているので、下線、リバースビデオ、カラーなどのモードで、このような +表示拡張機能をサポートしている端末にキャラクタを表示できます。ライン描画 +キャラクタを出力するように指定することもできます。 +\fBncurses\fR は、入力時にエスケープシーケンスを送信する矢印キーと +ファンクションキーを 1 つの値に変換できます。 +ビデオ属性、ライン描画キャラクタ、入力値では、\fBA_REVERSE\fR、 +\fBACS_HLINE\fR、\fBKEY_LEFT\fR のような、\fB<ncurses.h>\fR に定義された名前が +使用されます。 + +環境変数 \fBLINES\fR と \fBCOLUMNS\fR を設定した場合、またはウィンドウ環境で +プログラムを実行している場合、\fIterminfo\fR で読み込まれた情報は、環境の行と +カラムの情報で上書きされます。これは、画面のサイズを変更できる、 +AT&T 630 レイヤなどで実行しているプログラムに影響します。 + +環境変数 \fBTERMINFO\fR を定義すると、\fBncurses\fR を使用しているプログラムは、 +ローカルの端末定義をチェックしてから標準の場所にチェックインします。 +たとえば \fBTERM\fR を \fBatt4424\fR に設定すると、 +コンパイルされた端末定義は以下の場所で見つかります。 + + \fB\*d/a/att4424\fR +(\fBa\fR は、大きなディレクトリの作成を避けるために \fBatt4424\fR の +最初の文字をコピーしたものです。) しかし \fBTERMINFO\fR を +\fB$HOME/myterms\fR に設定すると、\fBncurses\fRは +以下の場所を最初にチェックします。 + + \fB$HOME/myterms/a/att4424\fR + +チェックが失敗に終わると、次に以下をチェックします。 + + \fB\*d/a/att4424\fR + +これは、試験用定義を開発している場合、または \fB\*d\fR の書込み権がない +場合に便利です。 + +整数変数 \fBLINES\fR と \fBCOLS\fR は、\fB<ncurses.h>\fRに定義されています。 +この整数変数には、\fBinitscr\fR が画面のサイズに従って値を入力します。定数 +\fBTRUE\fR と \fBFALSE\fR の値は、それぞれ \fB1\fR と \fB0\fR になっています。 + +\fBncurses\fR ルーチンは、\fBWINDOW *\fR 変数 \fBcurscr\fR も定義します。 +この変数は、ごみを含む画面のクリアや再描画など、特定の低レベル操作で +使用します。\fBcurscr\fR は、少数のルーチンでしか使用されないでしょう。 + +.SS ルーチン名と引数名 +多くの \fBncurses\fR ルーチンには複数のバージョンがあります。 +\fBw\fR で始まるルーチンにはウィンドウ引数が必要です。 +\fBp\fR で始まるルーチンにはパッド引数が必要です。 +接頭語がないルーチンは、一般的に \fBstdscr\fR を使用します。 + +\fBmv\fR で始まるルーチンでは、移動先の \fIy\fR 座標と \fIx\fR 座標が +なければ、適切なアクションを実行できません。ルーチンが \fBmv\fR で +始まるということは、\fBmove\fR が呼び出されてから +別のルーチンが呼び出されるということです。 +\fIy\fR 座標はウィンドウの行を、\fIx\fR 座標はカラムを常に表します。 +左上は (1,1) ではなく常に (0,0) です。 + +\fBmvw\fR で始まるルーチンには、ウィンドウ引数と \fIx\fR 座標と +\fIy\fR 座標が必要です。ウィンドウ引数を指定してから座標を指定してください。 + +どのケースでも、\fIwin\fR は影響を受けるウィンドウで、 +\fIpad\fR は影響を受けるパッドです。\fIwin\fR と \fIpad\fR は、 +常に \fBWINDOW\fR 型のポインタです。 + +オプション設定ルーチンでは、値が \fBTRUE\fR か \fBFALSE\fR になっている +論理フラグ \fIbf\fR が必要です。 \fIbf\fR の型は常に \fBbool\fR です。 +変数 \fIch\fR と \fIattrs\fR の型は常に \fBchtype\fR です。 +型 \fBWINDOW\fR, \fBSCREEN\fR, \fBbool\fR, \fBchtype\fR は、 +\fB<ncurses.h>\fR で定義されています。 +\fBTERMINAL\fR 型は、\fB<term.h>\fR で定義されています。 +その他すべての引数は整数です。 + +.SS ルーチン名インデックス +以下の表は、各 \fBncurses\fR ルーチン、およびその解説が載っている +マニュアルページの名前をまとめたものです。 + +.nf +\fBncurses\fR ルーチン名 マニュアルページ名 +___________________________________________ +addch curs_addch(3) +addchnstr curs_addchstr(3) +addchstr curs_addchstr(3) +addnstr curs_addstr(3) +addstr curs_addstr(3) +attroff curs_attr(3) +attron curs_attr(3) +attrset curs_attr(3) +baudrate curs_termattrs(3) +beep curs_beep(3) +bkgd curs_bkgd(3) +bkgdset curs_bkgd(3) +border curs_border(3) +box curs_border(3) +can_change_color curs_color(3) +cbreak curs_inopts(3) +clear curs_clear(3) +clearok curs_outopts(3) +clrtobot curs_clear(3) +clrtoeol curs_clear(3) +color_content curs_color(3) +copywin curs_overlay(3) +curs_set curs_kernel(3) +def_prog_mode curs_kernel(3) +def_shell_mode curs_kernel(3) +del_curterm curs_terminfo(\*n) +delay_output curs_util(3) +delch curs_delch(3) +deleteln curs_deleteln(3) +delscreen curs_initscr(3) +delwin curs_window(3) +derwin curs_window(3) +doupdate curs_refresh(3) +dupwin curs_window(3) +echo curs_inopts(3) +echochar curs_addch(3) +endwin curs_initscr(3) +erase curs_clear(3) +erasechar curs_termattrs(3) +filter curs_util(3) +flash curs_beep(3) +flushinp curs_util(3) +getbegyx curs_getyx(3) +getch curs_getch(3) +getmaxyx curs_getyx(3) +getparyx curs_getyx(3) +getstr curs_getstr(3) +getsyx curs_kernel(3) +getwin curs_util(3) +getyx curs_getyx(3) +halfdelay curs_inopts(3) +has_colors curs_color(3) +has_ic curs_termattrs(3) +has_il curs_termattrs(3) +hline curs_border(3) +idcok curs_outopts(3) +idlok curs_outopts(3) +immedok curs_outopts(3) +inch curs_inch(3) +inchnstr curs_inchstr(3) +inchstr curs_inchstr(3) +init_color curs_color(3) +init_pair curs_color(3) +initscr curs_initscr(3) +innstr curs_instr(3) +insch curs_insch(3) +insdelln curs_deleteln(3) +insertln curs_deleteln(3) +insnstr curs_insstr(3) +insstr curs_insstr(3) +instr curs_instr(3) +intrflush curs_inopts(3) +is_linetouched curs_touch(3) +is_wintouched curs_touch(3) +isendwin curs_initscr(3) +keyname curs_util(3) +keypad curs_inopts(3) +killchar curs_termattrs(3) +leaveok curs_outopts(3) +longname curs_termattrs(3) +meta curs_inopts(3) +move curs_move(3) +mvaddch curs_addch(3) +mvaddchnstr curs_addchstr(3) +mvaddchstr curs_addchstr(3) +mvaddnstr curs_addstr(3) +mvaddstr curs_addstr(3) +mvcur curs_terminfo(\*n) +mvdelch curs_delch(3) +mvderwin curs_window(3) +mvgetch curs_getch(3) +mvgetstr curs_getstr(3) +mvinch curs_inch(3) +mvinchnstr curs_inchstr(3) +mvinchstr curs_inchstr(3) +mvinnstr curs_instr(3) +mvinsch curs_insch(3) +mvinsnstr curs_insstr(3) +mvinsstr curs_insstr(3) +mvinstr curs_instr(3) +mvprintw curs_printw(3) +mvscanw curs_scanw(3) +mvwaddch curs_addch(3) +mvwaddchnstr curs_addchstr(3) +mvwaddchstr curs_addchstr(3) +mvwaddnstr curs_addstr(3) +mvwaddstr curs_addstr(3) +mvwdelch curs_delch(3) +mvwgetch curs_getch(3) +mvwgetstr curs_getstr(3) +mvwin curs_window(3) +mvwinch curs_inch(3) +mvwinchnstr curs_inchstr(3) +mvwinchstr curs_inchstr(3) +mvwinnstr curs_instr(3) +mvwinsch curs_insch(3) +mvwinsnstr curs_insstr(3) +mvwinsstr curs_insstr(3) +mvwinstr curs_instr(3) +mvwprintw curs_printw(3) +mvwscanw curs_scanw(3) +napms curs_kernel(3) +newpad curs_pad(3) +newterm curs_initscr(3) +newwin curs_window(3) +nl curs_outopts(3) +nocbreak curs_inopts(3) +nodelay curs_inopts(3) +noecho curs_inopts(3) +nonl curs_outopts(3) +noqiflush curs_inopts(3) +noraw curs_inopts(3) +notimeout curs_inopts(3) +overlay curs_overlay(3) +overwrite curs_overlay(3) +pair_content curs_color(3) +pechochar curs_pad(3) +pnoutrefresh curs_pad(3) +prefresh curs_pad(3) +printw curs_printw(3) +putp curs_terminfo(\*n) +putwin curs_util(3) +qiflush curs_inopts(3) +raw curs_inopts(3) +redrawwin curs_refresh(3) +refresh curs_refresh(3) +reset_prog_mode curs_kernel(3) +reset_shell_mode curs_kernel(3) +resetty curs_kernel(3) +restartterm curs_terminfo(\*n) +ripoffline curs_kernel(3) +savetty curs_kernel(3) +scanw curs_scanw(3) +scr_dump curs_scr_dmp(3) +scr_init curs_scr_dmp(3) +scr_restore curs_scr_dmp(3) +scr_set curs_scr_dmp(3) +scrl curs_scroll(3) +scroll curs_scroll(3) +scrollok curs_outopts(3) +set_curterm curs_terminfo(\*n) +set_term curs_initscr(3) +setscrreg curs_outopts(3) +setsyx curs_kernel(3) +setterm curs_terminfo(\*n) +setupterm curs_terminfo(\*n) +slk_attroff curs_slk(3) +slk_attron curs_slk(3) +slk_attrset curs_slk(3) +slk_clear curs_slk(3) +slk_init curs_slk(3) +slk_label curs_slk(3) +slk_noutrefresh curs_slk(3) +slk_refresh curs_slk(3) +slk_restore curs_slk(3) +slk_set curs_slk(3) +slk_touch curs_slk(3) +standend curs_attr(3) +standout curs_attr(3) +start_color curs_color(3) +subpad curs_pad(3) +subwin curs_window(3) +syncok curs_window(3) +termattrs curs_termattrs(3) +termname curs_termattrs(3) +tigetflag curs_terminfo(\*n) +tigetnum curs_terminfo(\*n) +tigetstr curs_terminfo(\*n) +timeout curs_inopts(3) +touchline curs_touch(3) +touchwin curs_touch(3) +tparm curs_terminfo(\*n) +tputs curs_terminfo(\*n) +typeahead curs_inopts(3) +unctrl curs_util(3) +ungetch curs_getch(3) +untouchwin curs_touch(3) +use_env curs_util(3) +vidattr curs_terminfo(\*n) +vidputs curs_terminfo(\*n) +vline curs_border(3) +vwprintw curs_printw(3) +vwscanw curs_scanw(3) +waddch curs_addch(3) +waddchnstr curs_addchstr(3) +waddchstr curs_addchstr(3) +waddnstr curs_addstr(3) +waddstr curs_addstr(3) +wattroff curs_attr(3) +wattron curs_attr(3) +wattrset curs_attr(3) +wbkgd curs_bkgd(3) +wbkgdset curs_bkgd(3) +wborder curs_border(3) +wclear curs_clear(3) +wclrtobot curs_clear(3) +wclrtoeol curs_clear(3) +wcursyncup curs_window(3) +wdelch curs_delch(3) +wdeleteln curs_deleteln(3) +wechochar curs_addch(3) +werase curs_clear(3) +wgetch curs_getch(3) +wgetnstr curs_getstr(3) +wgetstr curs_getstr(3) +whline curs_border(3) +winch curs_inch(3) +winchnstr curs_inchstr(3) +winchstr curs_inchstr(3) +winnstr curs_instr(3) +winsch curs_insch(3) +winsdelln curs_deleteln(3) +winsertln curs_deleteln(3) +winsnstr curs_insstr(3) +winsstr curs_insstr(3) +winstr curs_instr(3) +wmove curs_move(3) +wnoutrefresh curs_refresh(3) +wprintw curs_printw(3) +wredrawln curs_refresh(3) +wrefresh curs_refresh(3) +wscanw curs_scanw(3) +wscrl curs_scroll(3) +wsetscrreg curs_outopts(3) +wstandend curs_attr(3) +wstandout curs_attr(3) +wsyncdown curs_window(3) +wsyncup curs_window(3) +wtimeout curs_inopts(3) +wtouchln curs_touch(3) +wvline curs_border(3) +.fi +.SH 戻り値 +ルーチンの解説で特記されていなければ、整数を戻すルーチンは、エラーが +発生した場合は \fBERR\fR を戻し、問題がない場合は \fBERR\fR 以外の +整数値を戻します。 + +\fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, +\fBgetmaxyx\fR 以外のすべてのマクロは、\fBw\fR バージョンの値を戻します。 +\fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, +\fBgetmaxyx\fR の戻り値は定義されていません。(すなわち、 +割り当てステートメントの右側では使用しないでください。) + +ポインタを戻すルーチンは、エラーが発生すると \fBNULL\fR を戻します。 +.SH 関連項目 +ルーチンの詳細については、\fBterminfo\fR(5)、および名前が「curs_」で始まる +セクション 3 のページを参照してください。 +.SH 注 +ヘッダファイル \fB<ncurses.h>\fR を取り込むと、ヘッダファイル +\fB<stdio.h>\fR と \fB<unctrl.h>\fR が自動的に取り込まれます。 diff --git a/documentation/manual-pages/ja/man3/nice.3 b/documentation/manual-pages/ja/man3/nice.3 new file mode 100644 index 0000000000..7d5b441449 --- /dev/null +++ b/documentation/manual-pages/ja/man3/nice.3 @@ -0,0 +1,74 @@ +.\" 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. +.\" +.\" @(#)nice.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/nice.3,v 1.6.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt NICE 3 +.Os BSD 4 +.Sh 名称 +.Nm nice +.Nd プログラムのスケジューリング優先度の設定 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft int +.Fn nice "int incr" +.Sh 解説 +.Bf -symbolic +このインタフェースは、 +.Xr setpriority 2 +で置き換えられました。 +.Ef +.Pp +.Fn nice +関数は、そのプロセスのスケジューリング優先度をシステムから入手し、 +.Fa incr +で指定する優先度の値に設定します。優先度の有効範囲は、-20 から 20 です。 +デフォルトの優先度は 0 です。優先度を下げると、スケジューリングが +良くなります。優先度を下げられるのは、スーパユーザのみです。 +.Pp +子プロセスは、 +.Xr fork 2 +を通じて親プロセスの優先度を継承します。 +.Sh 関連項目 +.Xr nice 1 , +.Xr fork 2 , +.Xr setpriority 2 , +.Xr renice 8 +.Sh 歴史 +.Fn nice +は、 +.At v6 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/nlist.3 b/documentation/manual-pages/ja/man3/nlist.3 new file mode 100644 index 0000000000..e6c7f655e5 --- /dev/null +++ b/documentation/manual-pages/ja/man3/nlist.3 @@ -0,0 +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. +.\" +.\" @(#)nlist.3 8.3 (Berkeley) 4/19/94 +.\" %FreeBSD: src/lib/libc/gen/nlist.3,v 1.4.2.3 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd April 19, 1994 +.Dt NLIST 3 +.Os +.Sh 名称 +.Nm nlist +.Nd 実行可能ファイルからシンボルテーブル名リストを取り出す +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In nlist.h +.Ft int +.Fn nlist "const char *filename" "struct nlist *nl" +.Sh 解説 +.Fn nlist +関数は、実行可能ファイルのシンボルテーブル +.Xr (a.out 5 +参照) から名前リストエントリを取り出します。引数 +.Fa \&nl +は、リストの最初を参照するために設定します。 +リストはバイナリデータと無効なデータで準備されており、 +名前リストのエントリが有効な場合は、エントリの +.Fa n_type +と +.Fa n_value +が、 +.Fa \&nl +で参照されるリストにコピーされます。 +その他のデータはコピーされません。リストの最後のエントリは、常に +.Dv NULL +です。 +.Sh 戻り値 +問題が発生しなかった場合は、無効なエントリの数が戻されます。 +ファイル +.Fa filename +が存在しない場合、または実行可能ファイルでない場合、 +戻り値は \-1 になります。 +.Sh 関連項目 +.Xr a.out 5 +.Sh 歴史 +.Fn nlist +関数は、 +.At v6 +で追加されました。 diff --git a/documentation/manual-pages/ja/man3/pam_authenticate.3 b/documentation/manual-pages/ja/man3/pam_authenticate.3 new file mode 100644 index 0000000000..446fffd8d3 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pam_authenticate.3 @@ -0,0 +1,97 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" $Id: pam_authenticate.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $ +.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_authenticate.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp % +.\" Copyright (c) Andrew G. Morgan 1996-7 <morgan@parc.power.net> +.\" $FreeBSD$ +.TH PAM_AUTHENTICATE 3 "1996 Dec 9" "PAM 0.55" "App. Programmers' Manual" +.SH 名称 + +pam_authenticate \- ユーザの認証 + +.SH 書式 +.B #include <security/pam_appl.h> +.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/documentation/manual-pages/ja/man3/pam_chauthtok.3 b/documentation/manual-pages/ja/man3/pam_chauthtok.3 new file mode 100644 index 0000000000..487176219e --- /dev/null +++ b/documentation/manual-pages/ja/man3/pam_chauthtok.3 @@ -0,0 +1,101 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" $Id: pam_chauthtok.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $ +.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_chauthtok.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp % +.\" Copyright (c) Andrew G. Morgan 1997 <morgan@parc.power.net> +.\" $FreeBSD$ +.TH PAM_CHAUTHTOK 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual" +.SH 名称 + +pam_chauthtok \- 認証トークンの更新 + +.SH 書式 +.B #include <security/pam_appl.h> +.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/documentation/manual-pages/ja/man3/pam_fail_delay.3 b/documentation/manual-pages/ja/man3/pam_fail_delay.3 new file mode 100644 index 0000000000..281afbaf2d --- /dev/null +++ b/documentation/manual-pages/ja/man3/pam_fail_delay.3 @@ -0,0 +1,130 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" $Id: pam_fail_delay.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $ +.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_fail_delay.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp % +.\" Copyright (c) Andrew G. Morgan 1997 <morgan@parc.power.net> +.\" $FreeBSD$ +.TH PAM_FAIL_DELAY 3 "1997 Jan 12" "PAM 0.56" "Programmers' Manual" +.SH 名称 + +pam_fail_delay \- エラー時に遅延を要求 + +.SH 書式 +.B #include <security/pam_appl.h> +.br +または +.br +.B #include <security/pam_modules.h> +.sp +.BI "int pam_fail_delay(pam_handle_t " "*pamh" ", unsigned int " "usec" ");" +.sp 2 +.SH 解説 +.br +申請ユーザのアクセスをスキームが拒否する場合にかかる時間を悪用することで、 +しばしば認証スキームに攻撃可能です。 +タイムアウトが +.I 短い +場合、 +.I 腕力による +辞書攻撃が可能な場合があります。 +自動処理により考えられるパスワードをすべて試して、攻撃者がシステムに +アクセスしようとするのです。 +一方、個々の失敗が (失敗の性質を示すような) 計測可能な時間を費す場合、 +認証処理に関する有用な情報を攻撃者が取得可能です。 +後者の攻撃は、重要な情報の +.I 隠れ通信路 (covert channel) +である、手続き遅延を使用することです。 + +.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)" +から戻る場合、問題の有無に関係なく、新しい要求遅延は +デフォルト値の 0 にリセットされます。 + +.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/documentation/manual-pages/ja/man3/pam_open_session.3 b/documentation/manual-pages/ja/man3/pam_open_session.3 new file mode 100644 index 0000000000..8ec2f127c8 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pam_open_session.3 @@ -0,0 +1,103 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" $Id: pam_open_session.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $ +.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_open_session.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp % +.\" Copyright (c) Andrew G. Morgan 1997 <morgan@parc.power.net> +.\" $FreeBSD$ +.TH PAM_OPEN_SESSION 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual" +.SH 名称 + +pam_open/close_session \- PAM セッション管理 + +.SH 書式 +.B #include <security/pam_appl.h> +.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/documentation/manual-pages/ja/man3/pam_setcred.3 b/documentation/manual-pages/ja/man3/pam_setcred.3 new file mode 100644 index 0000000000..b4927683a4 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pam_setcred.3 @@ -0,0 +1,80 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" $Id: pam_setcred.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $ +.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_setcred.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp % +.\" Copyright (c) Andrew G. Morgan 1996,1997 <morgan@parc.power.net> +.\" $FreeBSD$ +.TH PAM_SETCRED 3 "1997 July 6" "PAM 0.58" "App. Programmers' Manual" +.SH 名称 + +pam_setcred \- ユーザに証明書を設定 + +.SH 書式 +.B #include <security/pam_appl.h> +.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/documentation/manual-pages/ja/man3/pam_start.3 b/documentation/manual-pages/ja/man3/pam_start.3 new file mode 100644 index 0000000000..e1ecbafee7 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pam_start.3 @@ -0,0 +1,98 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" $Id: pam_start.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $ +.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_start.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp % +.\" Copyright (c) Andrew G. Morgan 1996-7 <morgan@parc.power.net> +.\" $FreeBSD$ +.TH PAM_START 3 "1997 Feb 15" "PAM 0.56" "Application Programmers' Manual" +.SH 名称 + +pam_start, pam_end \- PAM の起動 + +.SH 書式 +.B #include <security/pam_appl.h> +.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/documentation/manual-pages/ja/man3/pam_strerror.3 b/documentation/manual-pages/ja/man3/pam_strerror.3 new file mode 100644 index 0000000000..a906361324 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pam_strerror.3 @@ -0,0 +1,50 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" ripped off from Rick Faith's getgroups man page +.\" $Id: pam_strerror.3,v 1.5 2002-11-03 06:38:28 horikawa Exp $ +.\" %FreeBSD: src/contrib/libpam/doc/man/Attic/pam_strerror.3,v 1.2.6.2 2001/06/11 15:28:11 markm Exp % +.\" Copyright (c) Andrew G. Morgan 1996-7 <morgan@parc.power.net> +.\" $FreeBSD$ +.TH PAM_STRERROR 3 "1997 Feb 15" "PAM 0.56" "Programmers' Manual" +.SH 名称 + +pam_strerror \- PAM エラーの説明をテキストで戻す + +.SH 書式 +.B #include <security/pam_appl.h> +.br +or, +.br +.B #include <security/pam_modules.h> +.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/documentation/manual-pages/ja/man3/pause.3 b/documentation/manual-pages/ja/man3/pause.3 new file mode 100644 index 0000000000..d7686d88bd --- /dev/null +++ b/documentation/manual-pages/ja/man3/pause.3 @@ -0,0 +1,81 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/gen/pause.3,v 1.3.2.5 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt PAUSE 3 +.Os +.Sh 名称 +.Nm pause +.Nd シグナルを受けるまで停止 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.Fd #include <unistd.h> +.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 Er +.It Bq Er EINTR +呼び出しが割り込まれました。 +.El +.Sh 関連項目 +.Xr kill 2 , +.Xr select 2 , +.Xr sigsuspend 2 +.Sh 歴史 +.Fn pause +システムコールは、 +.At v6 +に追加されました。 diff --git a/documentation/manual-pages/ja/man3/pcap.3 b/documentation/manual-pages/ja/man3/pcap.3 new file mode 100644 index 0000000000..60f0541496 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pcap.3 @@ -0,0 +1,339 @@ +.\" Copyright (c) 1994, 1996, 1997 +.\" 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: (1) source code distributions +.\" retain the above copyright notice and this paragraph in its entirety, (2) +.\" distributions including binary code include the above copyright notice and +.\" this paragraph in its entirety in the documentation or other materials +.\" provided with the distribution, and (3) all advertising materials mentioning +.\" features or use of this software display the following acknowledgement: +.\" ``This product includes software developed by the University of California, +.\" Lawrence Berkeley Laboratory and its contributors.'' 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED +.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF +.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +.\" +.\" $Id: pcap.3,v 1.3 2006-03-08 07:43:48 metal Exp $ +.\" +.\" $FreeBSD$ +.TH PCAP 3 "24 June 1998" +.SH 名称 +pcap \- Packet Capture ライブラリ +.SH 書式 +.nf +.ft B +#include <pcap.h> +.ft +.LP +.ft B +pcap_t *pcap_open_live(char *device, int snaplen, +.ti +8 +int promisc, int to_ms, char *ebuf) +pcap_t *pcap_open_offline(char *fname, char *ebuf) +pcap_dumper_t *pcap_dump_open(pcap_t *p, char *fname) +.ft +.LP +.ft B +char errbuf[PCAP_ERRBUF_SIZE]; +char *pcap_lookupdev(char *errbuf) +int pcap_lookupnet(char *device, bpf_u_int32 *netp, +.ti +8 +bpf_u_int32 *maskp, char *errbuf) +.ft +.LP +.ft B +int pcap_dispatch(pcap_t *p, int cnt, +.ti +8 +pcap_handler callback, u_char *user) +int pcap_loop(pcap_t *p, int cnt, +.ti +8 +pcap_handler callback, u_char *user) +void pcap_dump(u_char *user, struct pcap_pkthdr *h, +.ti +8 +u_char *sp) +.ft +.LP +.ft B +int pcap_compile(pcap_t *p, struct bpf_program *fp, +.ti +8 +char *str, int optimize, bpf_u_int32 netmask) +int pcap_setfilter(pcap_t *p, struct bpf_program *fp) +.ft +.LP +.ft B +u_char *pcap_next(pcap_t *p, struct pcap_pkthdr *h) +.ft +.LP +.ft B +int pcap_datalink(pcap_t *p) +int pcap_snapshot(pcap_t *p) +int pcap_is_swapped(pcap_t *p) +int pcap_major_version(pcap_t *p) +int pcap_minor_version(pcap_t *p) +int pcap_stats(pcap_t *p, struct pcap_stat *ps) +FILE *pcap_file(pcap_t *p) +int pcap_fileno(pcap_t *p) +void pcap_perror(pcap_t *p, char *prefix) +char *pcap_geterr(pcap_t *p) +char *pcap_strerror(int error) +.ft +.LP +.ft B +void pcap_close(pcap_t *p) +void pcap_dump_close(pcap_dumper_t *p) +.ft +.fi +.SH 解説 +Packet Capture ライブラリは、パケット獲得システムの高レベルなインタフェー +スを提供します。このメカニズムでは、ネットワークのすべてのパケットに、 +その他のホスト用であってもアクセスできます。 +.SH ルーチン +.B pcap_open_live() +は、ネットワークのパケットを調べるためのパケット獲得記述子を取得するた +めに用います。 +.I device +は、開くネットワークデバイスを指定するストリングです。 +.I snaplen +は、獲得する最大バイト数を指定します。 +.I promisc +は、インタフェースを無差別モードにするかどうかを指定します(このパラメー +タが偽である場合でも、その他の理由でインタフェースが無差別モードになる +ことがあります)。 +.I to_ms +は、読込みタイムアウトをミリ秒単位で指定します。 +.I ebuf +は、エラーテキストを戻すために使用するもので、 +.B pcap_open_live() +がエラーになり、 +.BR NULL +が戻された場合に設定されます。 +.PP +.B pcap_open_offline() +は、読込み用の「保存ファイル」を開くために呼び出します。 +.I fname +は、開くファイルの名前を指定します。このファイルは、 +.B tcpdump(1) +と +.B tcpslice(1) +で使用するファイルと同じフォーマットになっています。エラーテキストが戻 +される場合、 +.BR stdin +.I ebuf +stdin.ebuf +のシノニムで名前「-」が使用されます。これは、 +.B pcap_open_offline() +がエラーになり、 +.BR NULL +が戻される場合に設定されます。 +.PP +.B pcap_dump_open() +は、書込み用の「保存ファイル」を開くために呼び出します。エラーが発生し +た場合は、 +.BR stdout +.B NULL +のシノニムで名前「-」が戻されます。 +.I p +は、 +.B pcap_open_offline() +か +.B pcap_open_live() +が戻す +.I pcap +構造体です。 +.I fname +は、開くファイルの名前を指定します。 +.B NULL +が戻された場合は、 +.B pcap_geterr() +を使用してエラーテキストを入手できます。 +.PP +.B pcap_lookupdev() +は、 +.B pcap_open_live() +と +.B pcap_lookupnet() +での使用に適したネットワークデバイスのポインタを戻します。エラーが発生 +した場合は +.B NULL +が戻され、 +.I errbuf +に適切なエラーメッセージが入ります。 +.PP +.B pcap_lookupnet() +は、ネットワークデバイス +.BR device +に関連するネットワーク番号とマスクを決めます。 +.I netp +と +.I maskp +は、 +.I bpf_u_int32 +ポインタです。エラーが発生した場合は \-1 が戻されます。この場合は +.I errbuf +に適切な +エラーメッセージが入ります。 +.PP +.B pcap_dispatch() +は、パケットの収集と処理に使用します。 +.I cnt +は、戻る前に処理するパケットの最大数を指定します。 +.I cnt +を \-1 にすると、1つのバッファで受け取ったすべてのパケットが処理されま +す。 +.I cnt +を 0にすると、エラーが発生するか、 +.B EOF +に達するか、読込みタイムアウトになる(ライブ読込みを行ない、0以外の読込 +みタイムアウトを指定している場合)までパケットが処理されます。 +.I callback +は、呼び出すルーチンを指定します。このルーチンの呼び出しに使用する引数 +は、 +.BR pcap_dispatch() +から渡される +.I u_char +ポインタ、 +.I pcap_pkthdr +構造体のポインタ(実際のネットワークヘッダとデータの前に置かれる)、パケッ +トデータの +.I u_char +ポインタです。戻り値は、読み込まれたパケットの数です。「保存ファイル」 +で +.B EOF +に達するとゼロが戻されます。エラーが発生した場合は \-1 が戻されます。 +.B pcap_perror() +か +.BR pcap_geterr() +を使用してエラーテキストを表示してください。 +.PP +.B pcap_dump() +は、 +.BR pcap_dump_open() +で開いた「保存ファイル」にパケットを出力します。呼び出し引数が、 +.BR pcap_dispatch() +での使用に適していることに注意してください。 +.PP +.B pcap_compile() +は、ストリング +.I str +をフィルタプログラムにコンパイルします。 +.I program +は、 +.I bpf_program +構造体のポインタで、 +.BR pcap_compile() +によって値が入力されます。 +.I optimize +は、作成されたコードで最適化を実行するかどうかを制御します。 +.I netmask +は、ローカルネットのネットマスクを指定します。 +.PP +.B pcap_setfilter() +は、フィルタプログラムを指定します。 +.I fp +は +.I bpf_program +構造体の配列を指すポインタで、一般的には +.BR pcap_compile() +を呼び +出した結果になっています。エラーが発生した場合は \-1 が戻され、エラー +が発生しなかった場合は 0が戻されます。 +.PP +.B pcap_loop() +は、 +.I cnt +パケットが処理されるかエラーが発生するまでパケットの読込みが続くことを +除いて、 +.B pcap_dispatch() +と同じです。ライブ読込みタイムアウトが発生しても戻りません。 +.B pcap_open_live() +に 0以外の読込みタイムアウトを指定して +.B pcap_dispatch() +を呼び出すと、タイムアウトが発生した場合に届いたパケットの受信と処理が +できます。 +.I cnt +に負の値を指定すると、 +.B pcap_loop() +は無限にループします(最低でもエラーが発生するまでループします)。 +.PP +.B pcap_next() +は、次のパケットの +.I u_char +ポインタを戻します。 +.PP +.B pcap_datalink() +は、 +.BR DLT_EN10MB +などのリンクレイヤタイプを戻します。 +.PP +.B pcap_snapshot() +は、 +.B pcap_open_live +を呼び出した場合に指定されるスナップショットの長さを戻します。 +.PP +.B pcap_is_swapped() +は、現在の「保存ファイル」が、現在のシステムとは異なるバイトオーダを使 +用している場合に真を戻します。 +.PP +.B pcap_major_version() +は、保存ファイルの書込みに使用した pcap のメジャーバージョン番号を戻します。 +.PP +.B pcap_minor_version() +は、保存ファイルの書込みに使用した pcap のマイナバージョン番号を戻します。 +.PP +.B pcap_file() +は「保存ファイル」の名前を戻します。 +.PP +.B int pcap_stats() +は 0を戻し、 +.B pcap_stat +構造体にデータを入力します。値は、実行の開始から呼び出しまでのパケット +統計を表します。エラーが発生した場合、または基礎となるパケット獲得でパ +ケット統計がサポートされていない場合は \-1 が戻されます。 +.B pcap_perror() +か +.B pcap_geterr() +でエラーテキストを入手してください。 +.PP +.B pcap_fileno() +は、「保存ファイル」のファイル記述子番号を戻します。 +.PP +.B pcap_perror() +は、最後の pcap ライブラリエラーのテキストを +.IR prefix +に続けて +.BR stderr +に出力します。 +.PP +.B pcap_geterr() +は、最後の pcap ライブラリエラーに関するエラーテキストを戻します。 +.PP +.B pcap_strerror() +は、 +.BR strerror(1) +が使用できない場合に使用できます。 +.PP +.B pcap_close() +は、 +.I p +に関連するファイルを閉じ、リソースの割り振りを解除します。 +.PP +.B pcap_dump_close() +は「保存ファイル」を閉じます。 +.SH 関連項目 +tcpdump(1), +tcpslice(1) +.SH 作者 +カリフォルニア大学バークレー校、Lawrence Berkeley National Laboratory +の Van Jacobson、Craig Leres、Steven McCanne +.LP +現行バージョンは、以下の匿名 ftp で使用できます。 +.LP +.RS +.I ftp://ftp.ee.lbl.gov/libpcap.tar.Z +.RE +.SH バグ +バグを発見した場合は、libpcap@ee.lbl.gov に報告してください。 diff --git a/documentation/manual-pages/ja/man3/popen.3 b/documentation/manual-pages/ja/man3/popen.3 new file mode 100644 index 0000000000..7cb4dab905 --- /dev/null +++ b/documentation/manual-pages/ja/man3/popen.3 @@ -0,0 +1,204 @@ +.\" 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. +.\" +.\" @(#)popen.3 8.2 (Berkeley) 5/3/95 +.\" %FreeBSD: src/lib/libc/gen/popen.3,v 1.10.2.3 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd May 3, 1995 +.Dt POPEN 3 +.Os +.Sh 名称 +.Nm popen , +.Nm pclose +.Nd +.Tn 入出力処理 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft FILE * +.Fn popen "const char *command" "const char *type" +.Ft int +.Fn pclose "FILE *stream" +.Sh 解説 +.Fn popen +関数は、双方向パイプフォークを作成し、シェルを起動してプロセスを +.Dq 開き +ます。 +親プロセスで事前に +.Fn popen +を呼び出して開いたストリームは、 +新しい子プロセスによってクローズされます。 +以前の +.Fn popen +は単方向のパイプで実装されていたため、 +.Fn popen +の多くの実装は、 +読み書きの両方ではなく、 +.Fa type +引数が読込もしくは書込のどちらかを指定すること +だけ許可していました。 +現在の +.Fn popen +は双方向パイプで実装しているので、 +.Fa type +引数で双方向データフローを要求できます。 +.Fa type +引数はヌル文字で終わる文字列のポインタで、 +読取りの場合は +.Ql r +、書込みの場合は +.Ql w +、読み書きの場合は +.Ql r+ +である必要があります。 +.Pp +.Fa command +引数は、シェルコマンドラインを含む、 +ヌル文字で終了する文字列のポインタです。 +このコマンドは、 +.Fl c +フラグで +.Pa /bin/sh +に渡されます。解釈がある場合、シェルで実行されます。 +.Pp +.Fn popen +の戻り値は通常の標準 +.Tn 入出力 +とあらゆる点で同等のものです。 +ただし、閉じるときは、 +.Fn fclose +ではなく +.Fn pclose +を使わなければなりません。 +このようなストリームに書込むと、 +コマンドの標準入力に書込まれます。 +コマンドの標準出力は、 +そのコマンド自体で変更しないかぎり、 +.Fn popen +で呼び出したプロセスのものと同じです。 +反対に、 +.Fn popen +で +.Dq 開かれた +ストリームからの読込みは、 +コマンドの標準出力から読込まれます。 +コマンドの標準入力は +.Fn popen +を呼び出したプロセスのものと同じです。 +.Pp +出力 +.Fn popen +ストリームは、デフォルトで完全にバッファ +されることに注意してください。 +.Pp +.Fn pclose +関数は、結び付けられたプロセスの終了を待機し、 +.Fn wait4 +が戻すコマンドの終了ステータスを返します。 +.Sh 戻り値 +.Fn popen +関数は、 +.Xr fork 2 +か +.Xr pipe 2 +でエラーが発生した場合、またはメモリを割り当てられない場合は +.Dv ヌル +を戻します。 +.Pp +.Fn pclose +関数は、 +.Fa ストリーム +が +.Fn popen +で +.Dq 開いた +コマンドと +結び付いていなかった場合、または +.Fa ストリーム +がすでに +.Fn pclose +で +.Dq 閉じている +場合、あるいは +.Xr wait4 +でエラーが発生した場合は \-1 を戻します。 +.Sh エラー +.Fn popen +関数は、信頼性のある +.Va errno +を設定しません。 +.Sh 関連項目 +.Xr sh 1 , +.Xr fork 2 , +.Xr pipe 2 , +.Xr wait4 2 , +.Xr fclose 3 , +.Xr fflush 3 , +.Xr fopen 3 , +.Xr stdio 3 , +.Xr system 3 +.Sh バグ +読取り用に開いたコマンドの標準入力は、 +.Fn popen +を呼び出したプロセスとシークオフセットを共有するので、 +オリジナルプロセスがバッファ読取りを実行すると、 +コマンドの入力位置が予想どおりにならないことがあります。 +同様に、書込み用に開いたコマンドの出力は、 +オリジナルプロセスのものと混ざることがあります。後者は、 +.Fn popen +の前に +.Xr fflush 3 +を呼び出すことで回避できます。 +.Pp +シェルを実行しないことには、それが実行できないコマンドのシェル +なのか、すぐに終了してしまうコマンドか、区別できません。 +終了ステータスの 127 のみがヒントになります。 +.Pp +.Fn popen +の引数は常に +.Xr sh 1 +を呼び出し、 +.Xr csh 1 +は呼び出しません。 +.Sh 歴史 +.Fn popen +関数と +.Fn pclose +関数は、 +.At v7 +で登場しました。 +.Pp +双方向機能は、 +.Fx 2.2.6 +で追加されました。 diff --git a/documentation/manual-pages/ja/man3/printf.3 b/documentation/manual-pages/ja/man3/printf.3 new file mode 100644 index 0000000000..161eb176a8 --- /dev/null +++ b/documentation/manual-pages/ja/man3/printf.3 @@ -0,0 +1,600 @@ +.\" 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. +.\" +.\" @(#)printf.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdio/printf.3,v 1.17.2.10 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt PRINTF 3 +.Os +.Sh 名称 +.Nm printf , fprintf , sprintf , snprintf , asprintf , +.Nm vprintf , vfprintf, vsprintf , vsnprintf , vasprintf +.Nd 書式に変換して出力 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft int +.Fn printf "const char *format" ... +.Ft int +.Fn fprintf "FILE *stream" "const char *format" ... +.Ft int +.Fn sprintf "char *str" "const char *format" ... +.Ft int +.Fn snprintf "char *str" "size_t size" "const char *format" ... +.Ft int +.Fn asprintf "char **ret" "const char *format" ... +.In stdarg.h +.Ft int +.Fn vprintf "const char *format" "va_list ap" +.Ft int +.Fn vfprintf "FILE *stream" "const char *format" "va_list ap" +.Ft int +.Fn vsprintf "char *str" "const char *format" "va_list ap" +.Ft int +.Fn vsnprintf "char *str" "size_t size" "const char *format" "va_list ap" +.Ft int +.Fn vasprintf "char **ret" "const char *format" "va_list ap" +.Sh 解説 +.Fn printf +ファミリの関数は、以下で説明する +.Fa format +に従って出力を行います。 +.Fn printf +と +.Fn vprintf +は、標準出力 +.Pa stdout +に出力を行います。 +.Fn fprintf +と +.Fn vfprintf +は、指定された出力 +.Fa stream +に出力を行います。 +.Fn sprintf , +.Fn snprintf , +.Fn vsprintf , +.Fn vsnprintf +は、キャラクタ文字列 +.Fa str +に出力を行います。 +.Fn asprintf +と +.Fn vasprintf +は、 +.Xr malloc 3 +で新しい文字列を動的に割り当てます。 +.Pp +これらの関数は、 +.Fa format +文字列による制御に従って出力を行います。 +この文字列は、その後の引数 +(または +.Xr stdarg 3 +の可変長引数機能でアクセスできる引数) +を出力用に変換する方法を指定します。 +.Pp +この関数は、出力された文字数 +(文字列への出力を終了する、最後の +.Ql \e0 +は含まない) を返します。 +.Fn snprintf +と +.Fn vsnprintf +の場合のみ、 +.Fa size +の制限が無かったとしたら +出力されたであろう文字数 +(同様に文字列の最後の +.Ql \e0 +は含まない) を返します。 +.Pp +.Fn asprintf +と +.Fn vasprintf +は、整形された文字列を格納するのに十分な大きさのバッファを指すポインタを +.Fa *ret +に設定します。 +割り当てられた領域が不要になった場合は、このポインタを +.Xr free 3 +に渡して解放してください。 +十分な領域を割り当てられない場合、 +.Fn asprintf +と +.Fn vasprintf +は -1 を戻し、 +.Fa ret +を +.Dv NULL +ポインタに設定します。 +.Pp +.Fn snprintf +と +.Fn vsnprintf +は、最大で +.Fa size Ns \-1 +文字だけ出力文字列に書き込みます +( +.Fa size +番目の文字は終端の +.Ql \e0 +になります)。 +戻り値が +.Fa size +引数以上である場合は、文字列を格納するには短かすぎたため、 +出力された文字の一部が破棄されたことになります。 +.Pp +.Fn sprintf +と +.Fn vsprintf +は、 +.Fa size +が無限であると仮定します。 +.Pp +整形文字列は、0 以上の命令から構成されています。 +この命令には、出力ストリームに変更されずにコピーされる +通常文字 +.Cm ( % +以外)、および 0 以上の後続の引数を取り出す変換指定があります。 +それぞれの変換指定は、 +.Cm % +文字から始まります。引数は、 +(型拡張の後に) 変換指示子に適切に対応する必要があります。 +.Cm % +の後には、以下が順番に現れます。 +.Bl -bullet +.It +後に +.Cm $ +が続く 10 進数文字列から構成され、 +次にアクセスする引数を指定する任意のフィールド。 +このフィールドを指定しないと、最後にアクセスされた +引数に続く引数が使用されます。引数には +.Cm 1 +から始まる番号が付きます。 +書式指定文字列で、 +アクセスできない引数がアクセスできる引数に点在する場合、 +結果は不定になります。 +.It +0 個以上の以下のフラグ +.Bl -hyphen +.It +値を +.Dq 代替形式 +に変換することを指定する +.Cm # +文字。 +.Cm c , d , i , n , p , s , +および +.Cm u +変換の場合、このオプションは効果を発揮しません。 +.Cm o +変換の場合は、数値の精度が上がり、 +出力文字列の最初の文字が 0 になります +(明確な精度の 0 で 0 が出力される場合を除く)。 +.Cm x +変換と +.Cm X +変換の場合は、0 以外の結果の前に文字列 +.Ql 0x +.Cm ( X +変換の場合は +.Ql 0X ) +が付きます。 +.Cm e , E , f , g , +および +.Cm G +変換の場合は、小数点以下がなくても小数点が結果に常に含まれます +(通常の場合、小数点以下がある場合にかぎり、 +変換結果に小数点が付きます)。 +.Cm g +および +.Cm G +変換の場合は、後続の 0 が通常の場合のように結果から削除されません。 +.It +.Cm 0 +(ゼロ) 文字のパディングを指定する。 +.Cm n +変換を除くすべての変換では、 +変換値の左に空白ではなく 0 が付きます。数値変換 +.Cm ( d , i , o , u , i , x , +および +.Cm X ) +で精度が指定されている場合、 +.Cm 0 +フラグは無視されます。 +.It +負のフィールド幅を示す +.Cm \- +フラグは変換された値がフィールド境界の左で揃えられる事を示します。 +.Cm n +変換以外では、変換値の左に空白か 0 が付くのではなく、 +変換値の右に空白が付きます。 +.Cm \- +と +.Cm \&0 +を両方とも指定した場合は +.Cm \&0 +が無効になります。 +.It +空白。符号付き変換 +.Cm ( d , e , E , f , g , G , +および +.Cm i ) +で作成される正の数値の前に空白が残ります。 +.It +.Cm + +文字。符号付き変換で作成される数値の前に常に符号が付きます。 +.Cm + +と空白を両方とも指定した場合は空白が無効になります。 +.El +.It +任意の 10 進数文字列。最低フィールド幅を指定します。 +変換値の文字数がフィールドの幅より少ない場合は、左に空白が付いて +(左揃えフラグを指定した場合は右に空白が付いて) +フィールドの幅に合わせられます。 +.It +ピリオド +.Cm .\& +の次に任意の数字文字列が続く形式の精度。 +数字文字列を省略した場合、精度は 0 になります。 +.Cm d , i , o , u , x , +および +.Cm X +変換では、この精度の最低桁数が出力されます。 +.Cm e , E , +および +.Cm f +変換では、小数点以下にこの精度の桁数が出力されます。 +.Cm g +および +.Cm G +変換では、この精度の最大有効桁数が出力されます。 +.Cm s +変換では、この精度の最大文字数が文字列から出力されます。 +.It +オプション文字 +.Cm h +。後の +.Cm d , i , o , u , x , +および +.Cm X +変換が +.Vt short int +引数か +.Vt unsigned short int +引数に対応すること、または後の +.Cm n +変換が +.Vt short int +引数のポインタに対応することを指定します。 +.It +オプション文字 +.Cm l +(小文字の L)。後の +.Cm d , i , o , u , x , +および +.Cm X +変換が +.Vt long int +引数か +.Vt unsigned long int +引数のポインタに適用されること、または後の +.Cm n +変換が +.Vt long int +引数のポインタに対応することを指定します。 +.It +オプション文字 +.Cm ll +(小文字の L が 2 つ)。後の +.Cm d , i , o , u , x , +および +.Cm X +変換が +.Vt long long int +引数か +.Vt unsigned long long int +引数に対応すること、または後の +.Cm n +変換が +.Vt long long int +引数のポインタに対応することを指定します。 +.It +オプション文字 +.Cm q , +。後の +.Cm d , i , o , u , x , +および +.Cm X +変換が +.Vt quad int +引数か +.Vt unsigned quad int +引数に対応すること、または後の +.Cm n +変換が +.Vt quad int +引数のポインタに対応することを指定します。 +.It +オプション文字 +.Cm L +。後の +.Cm e , E , f , g , +および +.Cm G +変換が +.Vt long double +引数に対応することを指定します。 +.It +適用する変換の型を指定する文字。 +.El +.Pp +フィールド幅か精度、またはその両方は、アスタリスク +.Ql * +、または数字文字列の代わりに 1 つ以上の 10 進数と +.Ql $ +が続くアスタリスクで指定できます。この場合、 +.Vt int +引数はフィールド幅か精度を提供します。 +負のフィールド幅は、 +正のフィールド幅が続く左揃えフラグとして扱われます。 +負の精度は、欠落しているものとして扱われます。 +1 つの書式命令に位置引数 (nn$) +と位置以外の引数が混在している場合、 +結果は未定義になります。 +.Pp +変換指示子とその意味は次のとおりです。 +.Pp +.Bl -tag -width "diouxX" +.It Cm diouxX +.Vt int +引数 (または適切な可変引数) が、符号付き 10 進 +.Cm ( d +と +.Cm i ) +、符号なし 8 進 +.Pq Cm o +、符号なし 10 進 +.Pq Cm u +、符号なし 16 進 +.Cm ( x +と +.Cm X ) +に変換されます。 +.Cm x +変換には文字 +.Cm abcdef +、 +.Cm X +変換には文字 +.Cm ABCDEF +が使用されます。 +精度は、出力する最低桁数を指定します。 +変換値で少ない桁しか必要ない場合は、 +左に 0 が付きます。 +.It Cm DOU +.Vt long int +引数が、符号付き 10 進、符号なし 8 進、符号なし 10 進に、 +それぞれの形式が +.Cm ld , lo , +および +.Cm lu +であるかのように変換されます。 +この変換文字には問題があるので、最終的には出力されません。 +.It Cm eE +.Vt double +引数が丸められ、 +.Oo \- Oc Ns d Ns Cm \&. Ns ddd Ns Cm e Ns \\*[Pm]dd +のスタイルに変換されます。 +小数点以上は 1 桁で、小数点以下の桁数は精度と等しくなります。 +精度が指定されていない場合は 6 が仮定されます。 +精度が 0 である場合、小数点は出力されません。 +.Cm E +変換では、文字 +.Cm E +.Cm ( e +ではない) が使用されて指数が導入されます。 +指数には、最低 2 桁が常に含まれます。 +値が 0 である場合、指数は 00 になります。 +.It Cm f +.Vt double +引数が丸められ、 +.Oo \- Oc Ns ddd Ns Cm \&. Ns ddd , +のスタイルで 10 進に変換されます。 +小数点以下の桁数は、精度指定に等しくなります。 +精度が指定されていない場合は 6 が仮定されます。 +精度が 0 である場合、小数点は出力されません。 +小数点が出力される場合は、小数点以上に最低 1 桁が出力されます。 +.It Cm gG +.Vt double +引数が、スタイル +.Cm f +か +.Cm e +.Cm ( G +変換の場合は +.Cm E ) +で変換されます。精度は有効桁数を指定します。 +精度が指定されていない場合は 6 が仮定されます。 +精度が 0 である場合は 1 として扱われます。 +変換後の指数が -4 より小さいか精度以上である場合は、スタイル +.Cm e +が使用されます。 +後続の 0 は、結果の小数部から削除されます。 +小数点は、小数点以下に最低でも 1 桁ある場合に出力されます。 +.It Cm c +.Vt int +引数が +.Vt unsigned char +に変換され、変換された文字が出力されます。 +.It Cm s +.Vt char * +引数が、文字型の配列を指すポインタ +(文字列へのポインタ) とみなされます。 +配列の文字は、最後のヌル文字まで出力されます +( +.Dv NULL +文字は出力されません)。 +精度が指定されている場合、指定された数以上は出力されないので、 +.Dv NULL +文字は必要ありません。 +精度が指定されていない場合、 +または精度が配列のサイズ以上である場合、 +配列の最後にはヌル文字が必要です。 +.It Cm p +.Vt void * +ポインタ引数が、16 進で +.Ql ( %#x +か +.Ql %#lx +でのように) 出力されます。 +.It Cm n +これまでに出力された文字数が、 +.Vt int * +ポインタ引数 (または可変ポインタ引数) +が指定する整数に保存されます。 +引数は変換されません。 +.It Cm % +.Ql % +が出力されます。変換される引数はありません。 +完全な変換指定は +.Ql %% +です。 +.El +.Pp +フィールド幅が存在しない場合、またはフィールド幅が小さい場合でも、 +フィールドは切り捨てられません。変換結果がフィールド幅より大きい場合、 +フィールドは変換結果を収容できるようになるまで拡張されます。 +.Sh 例 +.Fa weekday +と +.Fa month +が文字列へのポインタである場合に +.Dq Li "Sunday, July 3, 10:02" +という形式で日付と時刻を出力する場合: +.Bd -literal -offset indent +#include <stdio.h> +fprintf(stdout, "%s, %s %d, %.2d:%.2d\en", + weekday, month, day, hour, min); +.Ed +.Pp +\*(Pi を小数第 5 位まで出力する場合: +.Bd -literal -offset indent +#include <math.h> +#include <stdio.h> +fprintf(stdout, "pi = %.5f\en", 4 * atan(1.0)); +.Ed +.Pp +128 バイトの文字列を割り振り、そこに出力する場合: +.Bd -literal -offset indent +#include <stdio.h> +#include <stdlib.h> +#include <stdarg.h> +char *newfmt(const char *fmt, ...) +{ + char *p; + va_list ap; + if ((p = malloc(128)) == NULL) + return (NULL); + va_start(ap, fmt); + (void) vsnprintf(p, 128, fmt, ap); + va_end(ap); + return (p); +} +.Ed +.Sh 関連項目 +.Xr printf 1 , +.Xr scanf 3 +.Sh 規格 +.Fn fprintf , +.Fn printf , +.Fn sprintf , +.Fn vprintf , +.Fn vfprintf , +および +.Fn vsprintf +関数は、 +.St -isoC +に適合しています。 +.Sh 歴史 +.Fn asprintf +関数と +.Fn vasprintf +関数は、 +.Tn GNU C +ライブラリに追加されました。これは、 +.Fx 2.2 +で +.An Peter Wemm Aq peter@FreeBSD.org +によって実装されましたが、 +.Ox 2.3 +では後に +.An Todd C. Miller Aq Todd.Miller@courtesan.com +のシステムで置き換えられました。 +.Sh バグ +変換形式 +.Cm \&%D , \&%O , +および +.Cm %U +は標準的ではなく、下位互換性を保つために提供されています。 +.Cm %p +形式に ( +.Cm 0 +フラグか精度を指定することで) 0 をパディングすること、 +.Cm %n +変換と +.Cm %p +変換で +.Cm # +フラグを指定すること、 +.Cm %Ld +のような無意味な組み合わせは標準的でありません。 +このような組み合わせは避けてください。 +.Pp +.Fn sprintf +と +.Fn vsprintf +では無限に長い文字列が仮定されるので、 +呼び出し側では実際の空間を +オーバフローしないように注意する必要があります。 +オーバフローしないことを保証することは困難です。 +安全のため、代わりに +.Fn snprintf +インタフェースを使用してください。 +残念ながら、このインタフェースは移植できません。 diff --git a/documentation/manual-pages/ja/man3/property.3 b/documentation/manual-pages/ja/man3/property.3 new file mode 100644 index 0000000000..aa90619818 --- /dev/null +++ b/documentation/manual-pages/ja/man3/property.3 @@ -0,0 +1,97 @@ +.\" +.\" 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. +.\" +.\" %FreeBSD: src/lib/libutil/property.3,v 1.8.2.7 2001/12/17 10:08:32 ru Exp % +.\" $FreeBSD$ +.\" " +.Dd October 7, 1998 +.Os +.Dt PROPERTIES 3 +.Sh 名称 +.Nm properties_read , +.Nm propery_find , +.Nm properties_free +.Nd 単純なプロパティリストを ASCII から作成する関数 +.Sh ライブラリ +.Lb libutil +.Sh 書式 +.In sys/types.h +.In libutil.h +.Ft properties +.Fn properties_read "int fd" +.Ft char * +.Fn property_find "properties list" "const char *name" +.Ft void +.Fn properties_free "properties list" +.Sh 解説 +.Bd -literal +typedef struct _properties { + struct _properties *next; + char *name; + char *value; +} *properties; +.Ed +.Pp +関数 +.Fn properties_read +は、 +.Fa fd +で渡されたファイル記述子から名前と値のペアを読み込み、 +ファイルの内容が適切に分析されたものとして新しい +プロパティリストのヘッドを戻します。エラーが発生した場合は +NULL が返されます。 +返される値は、最大長 +.Dv PROPERTY_MAX_VALUE +バイトまでです。 +.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 作者 +.An Jordan Hubbard diff --git a/documentation/manual-pages/ja/man3/psignal.3 b/documentation/manual-pages/ja/man3/psignal.3 new file mode 100644 index 0000000000..4b242e1b96 --- /dev/null +++ b/documentation/manual-pages/ja/man3/psignal.3 @@ -0,0 +1,111 @@ +.\" 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. +.\" +.\" @(#)psignal.3 8.2 (Berkeley) 2/27/95 +.\" %FreeBSD: src/lib/libc/gen/psignal.3,v 1.10.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd February 27, 1995 +.Dt PSIGNAL 3 +.Os +.Sh 名称 +.Nm psignal , +.Nm strsignal , +.Nm sys_siglist , +.Nm sys_signame +.Nd システムシグナルメッセージ +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In signal.h +.Ft void +.Fn psignal "unsigned sig" "const char *s" +.Vt extern const char * const sys_siglist[] ; +.Vt extern const char * const sys_signame[] ; +.In string.h +.Ft "char *" +.Fn strsignal "int sig" +.Sh 解説 +関数 +.Fn psignal +と +.Fn strsignal +は指定されたシグナル番号の説明メッセージ文字列を特定します。 +.Pp +.Fn strsignal +関数は、シグナル番号引数 +.Fa sig +を取り、対応するメッセージ文字列へのポインタを返します。 +.Pp +.Fn psignal +関数は、シグナル番号引数 +.Fa sig +を取り、標準エラーへ書き込みます。 +引数 +.Fa s +が +.Dv NULL +ではなく、ヌル文字を指していない場合、 +メッセージ文字列の前に +.Fa s +が標準エラーファイル記述子に書き込まれ、 +その直後にコロンとスペースが続きます。 +シグナル番号が認識されない場合 +.Pq Xr sigaction 2 +文字列 +.Dq "Unknown signal +が書き込まれます。 +.Pp +メッセージ文字列には、 +認識されたシグナル番号のインデックスが付いた外部配列 +.Va sys_siglist +で直接アクセスできます。外部配列 +.Va sys_signame +も同じように使用できます。 +この外部配列には、シグナルの簡潔な省略形が小文字で含まれています。 +この省略形は、ユーザ入力でシグナル名を認識する場合に便利です。 +定義済み変数 +.Dv NSIG +には、 +.Va sys_siglist +と +.Va sys_signame +の文字列数が含まれています。 +.Sh 関連項目 +.Xr sigaction 2 , +.Xr perror 3 , +.Xr strerror 3 +.Sh 歴史 +.Fn psignal +関数は、 +.Bx 4.2 +に追加されました。 diff --git a/documentation/manual-pages/ja/man3/pthread.3 b/documentation/manual-pages/ja/man3/pthread.3 new file mode 100644 index 0000000000..65d071c489 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread.3 @@ -0,0 +1,454 @@ +.\" Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>. +.\" 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. +.\" +.\" %FreeBSD: src/share/man/man3/pthread.3,v 1.12.2.4 2001/08/17 13:08:36 ru Exp % +.\" %FreeBSD: src/share/man/man3/pthread.3,v 1.12.2.5 2001/12/17 11:30:11 ru Exp % +.\" +.\" $FreeBSD$ +.Dd September 10, 1998 +.Dt PTHREAD 3 +.Os +.Sh 名称 +.Nm pthread +.Nd POSIX スレッド関数 +.Sh 書式 +.In pthread.h +.Sh 解説 +POSIX スレッドは、プロセス内でスレッド (thread) と呼ばれる +制御の複数のフローを要求するアプリケーションをサポートする関数群です。 +マルチスレッドは、プログラムのパフォーマンスを改善するために使用されます。 +.Pp +このセクションでは、 +POSIX スレッド関数の概要について以下のグループに分けて説明します。 +.Bl -bullet -offset indent +.It +スレッドルーチン +.It +属性オブジェクトルーチン +.It +mutex ルーチン +.It +条件変数ルーチン +.It +読取り / 書込みロックルーチン +.It +スレッド固有コンテキストルーチン +.It +クリーンアップルーチン +.El +.Sh スレッドルーチン +.Bl -tag -width Er +.It Xo +.Ft int +.Fn pthread_create "pthread_t *thread" "const pthread_attr_t *attr" "void *(*start_routine)(void *)" "void *arg" +.Xc +新しい実行するスレッドを作成します。 +.It Xo +.Ft int +.Fn pthread_detach "pthread_t thread" +.Xc +スレッドに削除のための印を付けます。 +.It Xo +.Ft int +.Fn pthread_equal "pthread_t t1" "pthread_t t2" +.Xc +2 つのスレッドの ID を比較します。 +.It Xo +.Ft void +.Fn pthread_exit "void *value_ptr" +.Xc +呼び出しているスレッドを終了します。 +.It Xo +.Ft int +.Fn pthread_join "pthread_t thread" "void **value_ptr" +.Xc +呼び出しているスレッドが、指定したスレッドの終了を待つようにします。 +.It Xo +.Ft int +.Fn pthread_cancel "pthread_t thread" +.Xc +スレッドの実行を取り消します。 +.It Xo +.Ft int +.Fn pthread_once "pthread_once_t *once_control" "void (*init_routine)(void)" +.Xc +初期化ルーチンを一度だけ呼び出します。 +.It Xo +.Ft pthread_t +.Fn pthread_self void +.Xc +呼び出しているスレッドの ID を返します。 +.El +.Sh 属性オブジェクトルーチン +.Bl -tag -width Er +.It Xo +.Ft int +.Fn pthread_attr_destroy "pthread_attr_t *attr" +.Xc +スレッドの属性オブジェクトを破壊します。 +.It Xo +.Ft int +.Fn pthread_attr_getinheritsched "const pthread_attr_t *attr" "int *inheritsched" +.Xc +スレッドの属性オブジェクトから継承スケジューリング属性を取得します。 +.It Xo +.Ft int +.Fn pthread_attr_getschedparam "const pthread_attr_t *attr" "struct sched_param *param" +.Xc +スレッドの属性オブジェクトからスケジューリングパラメータ属性を取得します。 +.It Xo +.Ft int +.Fn pthread_attr_getschedpolicy "const pthread_attr_t *attr" "int *policy" +.Xc +スレッドの属性オブジェクトからスケジューリング方針属性を取得します。 +.It Xo +.Ft int +.Fn pthread_attr_getscope "const pthread_attr_t *attr" "int *contentionscope" +.Xc +スレッドの属性オブジェクトからコンテンション範囲属性を取得します。 +.It Xo +.Ft int +.Fn pthread_attr_getstacksize "const pthread_attr_t *attr" "size_t *stacksize" +.Xc +スレッドの属性オブジェクトからスタックサイズ属性を取得します。 +.It Xo +.Ft int +.Fn pthread_attr_getstackaddr "const pthread_attr_t *attr" "void **stackaddr" +.Xc +スレッドの属性オブジェクトからスタックアドレス属性を取得します。 +.It Xo +.Ft int +.Fn pthread_attr_getdetachstate "const pthread_attr_t *attr" "int *detachstate" +.Xc +スレッドの属性オブジェクトからデタッチ状態属性を取得します。 +.It Xo +.Ft int +.Fn pthread_attr_init "pthread_attr_t *attr" +.Xc +スレッド属性オブジェクトをデフォルト値で初期化します。 +.It Xo +.Ft int +.Fn pthread_attr_setinheritsched "pthread_attr_t *attr" "int inheritsched" +.Xc +スレッドの属性オブジェクトに継承スケジューリング属性を設定します。 +.It Xo +.Ft int +.Fn pthread_attr_setschedparam "pthread_attr_t *attr" "const struct sched_param *param" +.Xc +スレッドの属性オブジェクトにスケジューリングパラメータ属性を設定します。 +.It Xo +.Ft int +.Fn pthread_attr_setschedpolicy "pthread_attr_t *attr" "int policy" +.Xc +スレッドの属性オブジェクトにスケジューリング方針属性を設定します。 +.It Xo +.Ft int +.Fn pthread_attr_setscope "pthread_attr_t *attr" "int contentionscope" +.Xc +スレッドの属性オブジェクトにコンテンション範囲属性を設定します。 +.It Xo +.Ft int +.Fn pthread_attr_setstacksize "pthread_attr_t *attr" "size_t stacksize" +.Xc +スレッドの属性オブジェクトにスタックサイズ属性を設定します。 +.It Xo +.Ft int +.Fn pthread_attr_setstackaddr "pthread_attr_t *attr" "void *stackaddr" +.Xc +スレッドの属性オブジェクトにスタックアドレス属性を設定します。 +.It Xo +.Ft int +.Fn pthread_attr_setdetachstate "pthread_attr_t *attr" "int detachstate" +.Xc +スレッドの属性オブジェクトにデタッチ状態属性を設定します。 +.El +.Sh mutex ルーチン +.Bl -tag -width Er +.It Xo +.Ft int +.Fn pthread_mutexattr_destroy "pthread_mutexattr_t *attr" +.Xc +mutex の属性オブジェクトを破壊します。 +.It Xo +.Ft int +.Fn pthread_mutexattr_init "pthread_mutexattr_t *attr" +.Xc +mutex の属性オブジェクトをデフォルト値で初期化します。 +.It Xo +.Ft int +.Fn pthread_mutex_destroy "pthread_mutex_t *mutex" +.Xc +mutex を破壊します。 +.It Xo +.Ft int +.Fn pthread_mutex_init "pthread_mutex_t *mutex" "const pthread_mutexattr_t *attr" +.Xc +mutex を指定された属性で初期化します。 +.It Xo +.Ft int +.Fn pthread_mutex_lock "pthread_mutex_t *mutex" +.Xc +mutex をロックして、mutex が利用可能になるまでブロックします。 +.It Xo +.Ft int +.Fn pthread_mutex_trylock "pthread_mutex_t *mutex" +.Xc +mutex をロックしようとしますが、mutex が現在のスレッドを含めた +別のスレッドによってロックされている場合には、ブロックしません。 +.It Xo +.Ft int +.Fn pthread_mutex_unlock "pthread_mutex_t *mutex" +.Xc +mutex のロックを解除します。 +.El +.Sh 条件変数ルーチン +.Bl -tag -width Er +.It Xo +.Ft int +.Fn pthread_condattr_init "pthread_condattr_t *attr" +.Xc +条件変数の属性オブジェクトをデフォルト値で初期化します。 +.It Xo +.Ft int +.Fn pthread_condattr_destroy "pthread_condattr_t *attr" +.Xc +条件変数の属性オブジェクトを破壊します。 +.It Xo +.Ft int +.Fn pthread_cond_broadcast "pthread_cond_t *cond" +.Xc +指定された条件変数で現在ブロックされている +全てのスレッドのブロックを解除します。 +.It Xo +.Ft int +.Fn pthread_cond_destroy "pthread_cond_t *cond" +.Xc +条件変数を破壊します。 +.It Xo +.Ft int +.Fn pthread_cond_init "pthread_cond_t *cond" "const pthread_condattr_t *attr" +.Xc +条件変数を指定された属性で初期化します。 +.It Xo +.Ft int +.Fn pthread_cond_signal "pthread_cond_t *cond" +.Xc +指定された条件変数で現在ブロックされている +少なくとも 1 つのスレッドのブロックを解除します。 +.It Xo +.Ft int +.Fn pthread_cond_timedwait "pthread_cond_t *cond" "pthread_mutex_t *mutex" "const struct timespec *abstime" +.Xc +条件を指定された時間内で待機し、指定された mutex をロックします。 +.It Xo +.Ft int +.Fn pthread_cond_wait "pthread_cond_t *" "pthread_mutex_t *mutex" +.Xc +条件を待機し、指定された mutex をロックします。 +.El +.Sh 読取り / 書込みロックルーチン +.Bl -tag -width Er +.It Xo +.Ft int +.Fn pthread_rwlock_destroy "pthread_rwlock_t *lock" +.Xc +読取り / 書込みロックオブジェクトを破壊します。 +.It Xo +.Ft int +.Fn pthread_rwlock_init "pthread_rwlock_t *lock" "const pthread_rwlockattr_t *attr" +.Xc +読取り / 書込みロックオブジェクトを初期化します。 +.It Xo +.Ft int +.Fn pthread_rwlock_rdlock "pthread_rwlock_t *lock" +.Xc +読取り / 書込みロックを読取り用にロックし、 +ロックを取得できるようになるまでブロックします。 +.It Xo +.Ft int +.Fn pthread_rwlock_tryrdlock "pthread_rwlock_t *lock" +.Xc +読取り / 書込みロックを読取り用にロックしようとしますが、 +ロックできない場合にはブロックしません。 +.It Xo +.Ft int +.Fn pthread_rwlock_trywrlock "pthread_rwlock_t *lock" +.Xc +読取り / 書込みロックを書込み用にロックしようとしますが、 +ロックできない場合にはブロックしません。 +.It Xo +.Ft int +.Fn pthread_rwlock_unlock "pthread_rwlock_t *lock" +.Xc +読取り / 書込みロックのロックを解除します。 +.It Xo +.Ft int +.Fn pthread_rwlock_wrlock "pthread_rwlock_t *lock" +.Xc +読取り / 書込みロックを書込み用にロックし、 +ロックを取得できるようになるまでブロックします。 +.It Xo +.Ft int +.Fn pthread_rwlockattr_destroy "pthread_rwlockattr_t *attr" +.Xc +読取り / 書込みロックの属性オブジェクトを破壊します。 +.It Xo +.Ft int +.Fn pthread_rwlockattr_getpshared "const pthread_rwlockattr_t *attr" "int *pshared" +.Xc +読取り / 書込みロックの属性オブジェクトのプロセス共有設定を取得します。 +.It Xo +.Ft int +.Fn pthread_rwlockattr_init "pthread_rwlockattr_t *attr" +.Xc +読取り / 書込みロックの属性オブジェクトを初期化します。 +.It Xo +.Ft int +.Fn pthread_rwlockattr_setpshared "pthread_rwlockattr_t *attr" "int pshared" +.Xc +読取り / 書込みロックの属性オブジェクトのプロセス共有設定を設定します。 +.El +.Sh スレッド固有コンテキストルーチン +.Bl -tag -width Er +.It Xo +.Ft int +.Fn pthread_key_create "pthread_key_t *key" "void (*routine)(void *)" +.Xc +スレッド固有のデータキーを作成します。 +.It Xo +.Ft int +.Fn pthread_key_delete "pthread_key_t key" +.Xc +スレッド固有のデータキーを削除します。 +.It Xo +.Ft "void *" +.Fn pthread_getspecific "pthread_key_t key" +.Xc +指定されたキーのスレッド固有の値を取得します。 +.It Xo +.Ft int +.Fn pthread_setspecific "pthread_key_t key" "const void *value_ptr" +.Xc +指定されたキーのスレッド固有の値を設定します。 +.El +.Sh クリーンアップルーチン +.Bl -tag -width Er +.It Xo +.Ft void +.Fn pthread_cleanup_pop "int execute" +.Xc +呼び出しているスレッドの取り消しクリーンアップスタックの最初のルーチンを +削除し、オプションでそのルーチンを実行します。 +.It Xo +.Ft void +.Fn pthread_cleanup_push "void (*routine)(void *)" "void *routine_arg" +.Xc +呼び出しているスレッドの取り消しスタックに指定された取り消しクリーンアップ +ハンドラを積みます。 +.El +.Sh インストレーション +現在の +.Fx +POSIX スレッドの実装は、スレッドセーフな libc 関数とスレッド関数を含む +ライブラリ +.Fa libc_r +で構築されています。このライブラリはスレッドアプリケーションの +.Fa libc +を置き換えます。 +.Pp +デフォルトでは、 +.Fa libc_r +は 'make world' の一部として構築されます。この構築を無効にするには、 +.Xr make 1 +に '-DNOLIBC_R' オプションを与えなければなりません。 +.Pp +スレッド化されたプロセスを簡単にリンクするために、gcc に +.Fx +固有のオプションが追加されています。 +.Fa gcc -pthread +はスレッド化されたプロセスに +.Fa libc +に代って +.Fa libc_r +をリンクします。 +.Sh 関連項目 +.Xr pthread_create 3 , +.Xr pthread_detach 3 , +.Xr pthread_equal 3 , +.Xr pthread_exit 3 , +.Xr pthread_join 3 , +.Xr pthread_once 3 , +.Xr pthread_self 3 , +.Xr pthread_mutex_destroy 3 , +.Xr pthread_mutex_init 3 , +.Xr pthread_mutex_lock 3 , +.Xr pthread_mutex_trylock 3 , +.Xr pthread_mutex_unlock 3 , +.Xr pthread_cond_broadcast 3 , +.Xr pthread_cond_destroy 3 , +.Xr pthread_cond_init 3 , +.Xr pthread_cond_signal 3 , +.Xr pthread_cond_timedwait 3 , +.Xr pthread_cond_wait 3 , +.Xr pthread_rwlock_destroy 3 , +.Xr pthread_rwlock_init 3 , +.Xr pthread_rwlock_rdlock 3 , +.Xr pthread_rwlock_unlock 3 , +.Xr pthread_rwlock_wrlock 3 , +.Xr pthread_rwlockattr_destroy 3 , +.Xr pthread_rwlockattr_getpshared 3 , +.Xr pthread_rwlockattr_init 3 , +.Xr pthread_rwlockattr_setpshared 3 , +.Xr pthread_key_delete 3 , +.Xr pthread_getspecific 3 , +.Xr pthread_setspecific 3 , +.Xr pthread_cleanup_pop 3 , +.Xr pthread_cleanup_push 3 +.Sh 規格 +.Fa pthread_ +接頭語が付き、 +.Fa _np +接尾語または +.Fa pthread_rwlock +接頭語が付いていない +.Fa libc_r +の関数は、 +.St -p1003.1-96 +に適合しています。 +.Pp +.Fa pthread_ +接頭語および +.Fa _np +接尾語が付いた libc_r の関数は、POSIX スレッドへの非ポータブル拡張です。 +.Pp +.Fa pthread_rwlock +接頭語が付いた libc_r の関数は、 +.St -susv2 +の The Open Group によって作成された拡張です。 diff --git a/documentation/manual-pages/ja/man3/pthread_cleanup_pop.3 b/documentation/manual-pages/ja/man3/pthread_cleanup_pop.3 new file mode 100644 index 0000000000..afa080520f --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_cleanup_pop.3 @@ -0,0 +1,64 @@ +.\" Copyright (c) 1997 Brian Cully <shmit@kublai.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. 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_cleanup_pop.3,v 1.5.2.4 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 30, 1998 +.Dt PTHREAD_CLEANUP_POP 3 +.Os +.Sh 名称 +.Nm pthread_cleanup_pop +.Nd 最初のクリーンアップルーチンの呼び出し +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft void +.Fn pthread_cleanup_pop "int execute" +.Sh 解説 +.Fn pthread_cleanup_pop +関数は、現在のスレッドのクリーンアップルーチンスタックから先頭の +クリーンアップルーチンを取り出します。 +.Fa execute +が 0 でない場合には、その関数を実行します。 +クリーンアップルーチンがない場合には、 +.Fn pthread_cleanup_pop +は何もしません。 +.Sh 戻り値 +.Fn pthread_cleanup_pop +はいかなる値も返しません。 +.Sh エラー +ありません。 +.Sh 関連項目 +.Xr pthread_cleanup_push 3 , +.Xr pthread_exit 3 +.Sh 規格 +.Fn pthread_cleanup_pop +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_cleanup_push.3 b/documentation/manual-pages/ja/man3/pthread_cleanup_push.3 new file mode 100644 index 0000000000..b340fadcb4 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_cleanup_push.3 @@ -0,0 +1,66 @@ +.\" Copyright (c) 1997 Brian Cully <shmit@kublai.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. 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_cleanup_push.3,v 1.5.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 30, 1998 +.Dt PTHREAD_CLEANUP_PUSH 3 +.Os +.Sh 名称 +.Nm pthread_cleanup_push +.Nd スレッド終了時のクリーンアップ関数の追加 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft void +.Fn pthread_cleanup_push "void (*cleanup_routine)(void *)" "void *arg" +.Sh 解説 +.Fn pthread_cleanup_push +関数は、現在のスレッドが終了する時に呼び出されるクリーンアップハンドラの +スタックの先頭に +.Fa cleanup_routine +を追加します。 +.Pp +.Fa cleanup_routine +が呼び出されると、 +.Fa arg +がその唯一の引数として渡されます。 +.Sh 戻り値 +.Fn pthread_cleanup_push +はいかなる値も返しません。 +.Sh エラー +ありません。 +.Sh 関連項目 +.Xr pthread_cleanup_pop 3 , +.Xr pthread_exit 3 +.Sh 規格 +.Fn pthread_cleanup_push +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_cond_broadcast.3 b/documentation/manual-pages/ja/man3/pthread_cond_broadcast.3 new file mode 100644 index 0000000000..6e174cbe5b --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_cond_broadcast.3 @@ -0,0 +1,72 @@ +.\" Copyright (c) 1997 Brian Cully <shmit@kublai.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. 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_broadcast.3,v 1.5.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 28, 1998 +.Dt PTHREAD_COND_BROADCAST 3 +.Os +.Sh 名称 +.Nm pthread_cond_broadcast +.Nd 条件変数を待っている全てのスレッドのブロック解除 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_cond_broadcast "pthread_cond_t *cond" +.Sh 解説 +.Fn pthread_cond_broadcast +関数は、条件変数 +.Fa cond +を待っている全てのスレッドのブロックを解除します。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_cond_broadcast +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_cond_broadcast +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa cond +によって指定された値が無効です。 +.El +.Pp +.Sh 関連項目 +.Xr pthread_cond_destroy 3 , +.Xr pthread_cond_init 3 , +.Xr pthread_cond_signal 3 , +.Xr pthread_cond_timedwait 3 , +.Xr pthread_cond_wait 3 +.Sh 規格 +.Fn pthread_cond_broadcast +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_cond_destroy.3 b/documentation/manual-pages/ja/man3/pthread_cond_destroy.3 new file mode 100644 index 0000000000..d781935788 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_cond_destroy.3 @@ -0,0 +1,76 @@ +.\" Copyright (c) 1997 Brian Cully <shmit@kublai.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. 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_destroy.3,v 1.6.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 28, 1998 +.Dt PTHREAD_COND_DESTROY 3 +.Os +.Sh 名称 +.Nm pthread_cond_destroy +.Nd 条件変数の破壊 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_cond_destroy "pthread_cond_t *cond" +.Sh 解説 +.Fn pthread_cond_destroy +関数は、条件変数 +.Fa cond +によって割り当てられたリソースを解放します。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_cond_destroy +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_cond_destroy +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa cond +によって指定された値が無効です。 +.It Bq Er EBUSY +変数 +.Fa cond +が別のスレッドによってロックされています。 +.El +.Pp +.Sh 関連項目 +.Xr pthread_cond_broadcast 3 , +.Xr pthread_cond_init 3 , +.Xr pthread_cond_signal 3 , +.Xr pthread_cond_timedwait 3 , +.Xr pthread_cond_wait 3 +.Sh 規格 +.Fn pthread_cond_destroy +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_cond_init.3 b/documentation/manual-pages/ja/man3/pthread_cond_init.3 new file mode 100644 index 0000000000..5c06710b17 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_cond_init.3 @@ -0,0 +1,80 @@ +.\" Copyright (c) 1997 Brian Cully <shmit@kublai.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. 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_init.3,v 1.6.2.6 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 28, 1998 +.Dt PTHREAD_COND_INIT 3 +.Os +.Sh 名称 +.Nm pthread_cond_init +.Nd 条件変数の作成 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_cond_init "pthread_cond_t *cond" "const pthread_condattr_t *attr" +.Sh 解説 +.Fn pthread_cond_init +関数は、 +.Fa attr +に指定された属性で新しい条件変数を作成します。 +.Fa attr +が NULL の場合には、デフォルトの属性が使用されます。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_cond_init +関数は 0 を返し、 +.Fa cond +に新しい条件変数の ID を入れます。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_cond_init +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa attr +によって指定された値が無効です。 +.It Bq Er ENOMEM +プロセスが別の条件変数の作成のための十分なメモリを割り当てられません。 +.It Bq Er EAGAIN +別の条件変数を作成するために一時的なリソースが不足しています。 +.El +.Pp +.Sh 関連項目 +.Xr pthread_cond_broadcast 3 , +.Xr pthread_cond_destroy 3 , +.Xr pthread_cond_signal 3 , +.Xr pthread_cond_timedwait 3 , +.Xr pthread_cond_wait 3 +.Sh 規格 +.Fn pthread_cond_init +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_cond_signal.3 b/documentation/manual-pages/ja/man3/pthread_cond_signal.3 new file mode 100644 index 0000000000..9741c301f9 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_cond_signal.3 @@ -0,0 +1,72 @@ +.\" Copyright (c) 1997 Brian Cully <shmit@kublai.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. 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_signal.3,v 1.5.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 28, 1998 +.Dt PTHREAD_COND_SIGNAL 3 +.Os +.Sh 名称 +.Nm pthread_cond_signal +.Nd 条件変数を待っている 1 つのスレッドのブロック解除 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_cond_signal "pthread_cond_t *cond" +.Sh 解説 +.Fn pthread_cond_signal +関数は、条件変数 +.Fa cond +を待っている 1 つのスレッドのブロックを解除します。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_cond_signal +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_cond_signal +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa cond +によって指定された値が無効です。 +.El +.Pp +.Sh 関連項目 +.Xr pthread_cond_broadcast 3 , +.Xr pthread_cond_destroy 3 , +.Xr pthread_cond_init 3 , +.Xr pthread_cond_timedwait 3 , +.Xr pthread_cond_wait 3 +.Sh 規格 +.Fn pthread_cond_signal +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_cond_timedwait.3 b/documentation/manual-pages/ja/man3/pthread_cond_timedwait.3 new file mode 100644 index 0000000000..508de5eee8 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_cond_timedwait.3 @@ -0,0 +1,90 @@ +.\" Copyright (c) 1997 Brian Cully <shmit@kublai.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. 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_timedwait.3,v 1.8.2.7 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 28, 1998 +.Dt PTHREAD_COND_TIMEDWAIT 3 +.Os +.Sh 名称 +.Nm pthread_cond_timedwait +.Nd 指定した時間の間の条件変数の待機 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_cond_timedwait "pthread_cond_t *cond" "pthread_mutex_t *mutex" "const struct timespec *abstime" +.Sh 解説 +.Fn pthread_cond_timedwait +関数は、 +.Fa cond +で指定された条件変数で待っている現在のスレッドを不可分にブロックし、 +.Fa mutex +で指定された mutex のブロックを解除します。 +待っているスレッドは、別のスレッドが +.Xr pthread_cond_signal 3 +または +.Xr pthread_cond_broadcast 3 +を同じ条件変数で呼び出した後、またはシステム時間が +.Fa abstime +に指定された時間に達した場合、にのみブロックが解除され、現在のスレッドは +.Fa mutex +のロックを再取得します。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_cond_timedwait +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_cond_timedwait +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa cond , +.Fa mutex +または +.Fa abstime +によって指定された値が無効です。 +.It Bq Er ETIMEDOUT +システム時間が、 +.Fa abstime +に指定した時間に達しました。または、超過しました。 +.El +.Pp +.Sh 関連項目 +.Xr pthread_cond_broadcast 3 , +.Xr pthread_cond_destroy 3 , +.Xr pthread_cond_init 3 , +.Xr pthread_cond_signal 3 , +.Xr pthread_cond_wait 3 +.Sh 規格 +.Fn pthread_cond_timedwait +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_cond_wait.3 b/documentation/manual-pages/ja/man3/pthread_cond_wait.3 new file mode 100644 index 0000000000..7672b4cbe6 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_cond_wait.3 @@ -0,0 +1,83 @@ +.\" Copyright (c) 1997 Brian Cully <shmit@kublai.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. 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_wait.3,v 1.8.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 28, 1998 +.Dt PTHREAD_COND_WAIT 3 +.Os +.Sh 名称 +.Nm pthread_cond_wait +.Nd 条件変数の待機 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_cond_wait "pthread_cond_t *cond" "pthread_mutex_t *mutex" +.Sh 解説 +.Fn pthread_cond_wait +関数は、 +.Fa cond +で指定された条件変数で待っている現在のスレッドを不可分にブロックし、 +.Fa mutex +で指定された mutex のブロックを解除します。 +待っているスレッドは、別のスレッドが +.Xr pthread_cond_signal 3 +または +.Xr pthread_cond_broadcast 3 +を同じ条件変数で呼び出した後にのみブロックが解除され、現在のスレッドは +.Fa mutex +のロックを再取得します。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_cond_wait +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_cond_wait +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa cond +によって指定された値、または +.Fa mutex +によって指定された値が無効です。 +.El +.Pp +.Sh 関連項目 +.Xr pthread_cond_broadcast 3 , +.Xr pthread_cond_destroy 3 , +.Xr pthread_cond_init 3 , +.Xr pthread_cond_signal 3 , +.Xr pthread_cond_timedwait 3 +.Sh 規格 +.Fn pthread_cond_wait +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_create.3 b/documentation/manual-pages/ja/man3/pthread_create.3 new file mode 100644 index 0000000000..2cc76e1b6a --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_create.3 @@ -0,0 +1,120 @@ +.\" Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>. +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_create.3,v 1.9.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 4, 1996 +.Dt PTHREAD_CREATE 3 +.Os +.Sh 名称 +.Nm pthread_create +.Nd 新しいスレッドの作成 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_create "pthread_t *thread" "const pthread_attr_t *attr" "void *(*start_routine)(void *)" "void *arg" +.Sh 解説 +.Fn pthread_create +関数は、プロセス内に +.Fa attr +によって指定された属性をもつ新しいスレッドを作成するために使用されます。 +.Fa attr +が +.Dv NULL +である場合には、デフォルトの属性が使用されます。 +.Fa attr +によって指定された属性が後から更新された場合には、 +スレッドの属性は変化しません。 +問題なく完了すると、 +.Fn pthread_create +は +.Fa thread +によって指定された場所に作成されたスレッドの ID を格納します。 +.Pp +スレッドは、 +.Fa arg +を唯一の引数として +.Fa start_routine +を実行することで作成されます。 +.Fa start_routine +が戻った場合には、 +.Fa start_routine +の戻り値を終了ステータスとして使用し、暗黙のうちに +.Fn pthread_exit +を呼び出したような効果があります。 +.Fn main +を最初に実行したスレッドは、これとは異なることに注意してください。 +そのスレッドが +.Fn main +から戻った時には、 +.Fn main +の戻り値を終了ステータスとして使用し、暗黙のうちに +.Fn exit +を呼び出したような効果があります。 +.Pp +新しいスレッドのシグナルの状態は、以下のように初期化されます。 +.Bl -bullet -offset indent +.It +シグナルマスクは作成しているスレッドから継承されます。 +.It +新しいスレッド用に保留しているシグナルのセットは空です。 +.El +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_create +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_create +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EAGAIN +別のスレッドを作成するために必要なリソースがシステムに不足しています。 +または、1 つのプロセス内の総スレッド数についてのシステムの +制限 [PTHREAD_THREADS_MAX] を超過しました。 +.It Bq Er EINVAL +.Fa attr +によって指定された値が、有効ではありません。 +.El +.Pp +.Sh 関連項目 +.Xr fork 2 , +.Xr pthread_cleanup_pop 3 , +.Xr pthread_cleanup_push 3 , +.Xr pthread_exit 3 , +.Xr pthread_join 3 +.Sh 規格 +.Fn pthread_create +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_detach.3 b/documentation/manual-pages/ja/man3/pthread_detach.3 new file mode 100644 index 0000000000..6693100e1d --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_detach.3 @@ -0,0 +1,87 @@ +.\" Copyright (c) 1996-1998 John Birrell <jb@cimlogic.com.au>. +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_detach.3,v 1.6.2.6 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 4, 1996 +.Dt PTHREAD_DETACH 3 +.Os +.Sh 名称 +.Nm pthread_detach +.Nd スレッドのデタッチ +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_detach "pthread_t thread" +.Sh 解説 +.Fn pthread_detach +関数は、スレッドを終了する時にスレッドのための記憶領域 +.Fa thread +が再生できることを実装に示すために使用されます。 +.Fa thread +がまだ終了していない場合に、 +.Fn pthread_detach +はそのスレッド終了させることはありません。 +同じ対象スレッドへの複数回の +.Fn pthread_detach +の呼び出しの効果は未規定です。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_detach +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +この関数は幾つかの草案で規格とされていたようには errno の値を変更しない +ことに注意してください。 +これらの早期の草案では引数として pthread_t へのポインタも渡していました。 +気を付けてください。 +.Sh エラー +.Fn pthread_detach +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa thread +によって指定された値が、 +待機されることが可能なスレッドを参照していないことを検出しました。 +.It Bq Er ESRCH +与えられたスレッド ID, +.Fa thread +によって指定されたものと一致するスレッドを見つけることができません。 +.El +.Pp +.Sh 関連項目 +.Xr pthread_join 3 +.Sh 規格 +.Fn pthread_detach +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_equal.3 b/documentation/manual-pages/ja/man3/pthread_equal.3 new file mode 100644 index 0000000000..e5764871af --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_equal.3 @@ -0,0 +1,71 @@ +.\" Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>. +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_equal.3,v 1.4.2.6 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 4, 1996 +.Dt PTHREAD_EQUAL 3 +.Os +.Sh 名称 +.Nm pthread_equal +.Nd スレッド ID の比較 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_equal "pthread_t t1" "pthread_t t2" +.Sh 解説 +.Fn pthread_equal +関数は、 +.Fa t1 +および +.Fa t2 +のスレッド ID を比較します。 +.Sh 戻り値 +.Fn pthread_equal +関数は、 +.Fa t1 +および +.Fa t2 +のスレッド ID が同じスレッドに相当する場合には非 0 を返し、 +そうでない場合には 0 を返します。 +.Sh エラー +ありません。 +.Pp +.Sh 関連項目 +.Xr pthread_create 3 , +.Xr pthread_exit 3 +.Sh 規格 +.Fn pthread_equal +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_exit.3 b/documentation/manual-pages/ja/man3/pthread_exit.3 new file mode 100644 index 0000000000..f7c135ecfa --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_exit.3 @@ -0,0 +1,106 @@ +.\" Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>. +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_exit.3,v 1.8.2.7 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 4, 1996 +.Dt PTHREAD_EXIT 3 +.Os +.Sh 名称 +.Nm pthread_exit +.Nd 呼び出しているスレッドの終了 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft void +.Fn pthread_exit "void *value_ptr" +.Sh 解説 +.Fn pthread_exit +関数は、呼び出しているスレッドを終了し、 +終了するスレッドと成功裏に待ち受けするために +.Fa value_ptr +の値を利用可能にします。 +既にスタックに積まれていて取り出されていない取り消しクリーンアップハンドラは、 +積まれたのと逆の順序で取り出され、実行されます。 +全ての取り消しハンドラが実行された後で、スレッドがそのスレッド固有のデータを +持っている場合には、適切なデストラクタ関数が順序不定で呼び出されます。 +スレッドの終了は、アプリケーションから見える全てのプロセスリソースを +解放しません。 +このリソースは、mutex およびファイル記述子を含みますが、これに限りません。 +また、あらゆるプロセスレベルのクリーンアップの実行も行ないません。 +このクリーンアップは、存在する可能性のある +.Fn atexit +ルーチンの呼び出しを含みますが、これに限りません。 +.Pp +.Fn main +を最初に実行したスレッド以外のスレッドが、その作成に使用された +開始ルーチンから戻った時に、暗黙的に +.Fn pthread_exit +が呼び出されます。 +関数の戻り値は、スレッドの終了ステータスとして使用されます。 +.Pp +暗黙的なまたは明示的な +.Fn pthread_exit +の呼び出しの結果として実行された取り消しハンドラまたはデストラクタ関数から +呼び出された場合の、 +.Fn pthread_exit +の動作は未定義です。 +.Pp +スレッドが終了した後での、そのスレッドのローカル (auto) 変数へのアクセスの +結果は未定義です。 +従って、終了するスレッドのローカル変数への参照は、 +.Fn pthread_exit +の +.Fa value_ptr +パラメータの値に使用されるべきではありません。 +.Pp +最後のスレッドが終了した後で、プロセスは終了ステータス 0 で終了します。 +スレッド終了時に実装が引数 0 で +.Fn exit +を呼び出したかのように動作します。 +.Pp +.Sh 戻り値 +.Fn pthread_exit +関数は呼び出し側には戻れません。 +.Sh エラー +ありません。 +.Pp +.Sh 関連項目 +.Xr _exit 2 , +.Xr exit 3 , +.Xr pthread_create 3 , +.Xr pthread_join 3 +.Sh 規格 +.Fn pthread_exit +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_getspecific.3 b/documentation/manual-pages/ja/man3/pthread_getspecific.3 new file mode 100644 index 0000000000..2147f06e93 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_getspecific.3 @@ -0,0 +1,82 @@ +.\" Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>. +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_getspecific.3,v 1.6.2.4 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 4, 1996 +.Dt PTHREAD_GETSPECIFIC 3 +.Os +.Sh 名称 +.Nm pthread_getspecific +.Nd スレッド固有のデータ値の取得 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft void * +.Fn pthread_getspecific "pthread_key_t key" +.Sh 解説 +.Fn pthread_getspecific +関数は、呼び出しているスレッドの代わりに、指定された +.Fa key +に現在結びつけられている値を返します。 +.Pp +.Fn pthread_key_create +から入手したのではない +.Fa key +の値を伴った、または +.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 +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_join.3 b/documentation/manual-pages/ja/man3/pthread_join.3 new file mode 100644 index 0000000000..d9fe68eaaa --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_join.3 @@ -0,0 +1,105 @@ +.\" Copyright (c) 1996-1998 John Birrell <jb@cimlogic.com.au>. +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_join.3,v 1.7.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 4, 1996 +.Dt PTHREAD_JOIN 3 +.Os +.Sh 名称 +.Nm pthread_join +.Nd スレッド終了の待機 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_join "pthread_t thread" "void **value_ptr" +.Sh 解説 +.Fn pthread_join +関数は、対象 +.Fa thread +がまだ終了していない場合には、その対象 +.Fa thread +が終了するまで、呼び出しているスレッドの実行を保留します。 +.Pp +NULL ではない +.Fa value_ptr +引数を持つ +.Fn pthread_join +の呼び出しから成功裏に戻った時には、終了したスレッドによって +.Fn pthread_exit +に渡された値が、 +.Fa value_ptr +によって参照される位置に格納されます。 +.Fn pthread_join +が成功裏に戻った時には、その対象スレッドは既に終了しています。 +同じ対象スレッドを指定した複数で同時の +.Fn pthread_join +の呼び出しによる結果は、未定義です。 +.Fn pthread_join +を呼び出しているスレッドが取り消された場合には、その対象スレッドは +デタッチされません。 +.Pp +既に終了したが持ち受けされずに残っているスレッドは、 +[_POSIX_THREAD_THREADS_MAX] に対してカウントされます。 +.Pp +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_join +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_join +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa thread +によって指定された値が、 +待機されることが可能なスレッドを参照していないことを検出しました。 +.It Bq Er ESRCH +与えられたスレッド ID, +.Fa thread +によって指定されたものと一致するスレッドを見つけることができません。 +.It Bq Er EDEADLK +デッドロックを検出しました。または、 +.Fa thread +の値が呼び出しているスレッドを指定しています。 +.El +.Pp +.Sh 関連項目 +.Xr wait 2 , +.Xr pthread_create 3 +.Sh 規格 +.Fn pthread_join +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_key_create.3 b/documentation/manual-pages/ja/man3/pthread_key_create.3 new file mode 100644 index 0000000000..759bbb7fb3 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_key_create.3 @@ -0,0 +1,102 @@ +.\" Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>. +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_key_create.3,v 1.6.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 4, 1996 +.Dt PTHREAD_KEY_CREATE 3 +.Os +.Sh 名称 +.Nm pthread_key_create +.Nd スレッド固有のデータキーの作成 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_key_create "pthread_key_t *key" "void (*destructor)(void *)" +.Sh 解説 +.Fn pthread_key_create +関数は、プロセス内の全てのスレッドに可視のスレッド固有のデータキーを +作成します。 +.Fn pthread_key_create +によって提供されたキーの値は、スレッド固有のデータの位置を示すために +使用される不透明なオブジェクトです。 +別のスレッドによって同じキー値が使用されることが可能ですが、 +.Fn pthread_setspecific +によってキーに結びつけられた値はスレッド毎を基準に保守され、 +呼び出しているスレッドが生きている間存続します。 +.Pp +キーの作成時には、全てのアクティブなスレッド内の新しいキーに、値 NULL が +関連付けられます。 +スレッドの作成時には、新しいスレッド内の全ての定義済のキーに、値 NULL が +関連付けられます。 +.Pp +任意のデストラクタ関数は、個々のキーの値と関連付けられることができます。 +スレッドの終了時に、キー値が NULL でないデストラクタのポインタを持ち、 +かつスレッドがキーに関連付けられた NULL でない値を持っている場合には、 +現在関連付けられている値を唯一の引数として、指されている関数が呼び出されます。 +スレッドの終了時にそのスレッドのための 1 つ以上のデストラクタ関数が +存在する場合には、デストラクタの呼び出しの順序は未規定です。 +.Pp +デストラクタに関連付けられた全ての NULL でない値のために、全ての +デストラクタが呼び出された後で、まだ幾つかの関連付けられたデストラクタを +持つ NULL でない値がある場合には、その過程が繰り返されます。 +最低でも [PTHREAD_DESTRUCTOR_ITERATIONS] 回のデストラクタの呼び出しの +繰り返しの後で、まだなお幾つかの関連付けられたデストラクタを +持つ NULL でない値がある場合には、実装はデストラクタの呼び出しを中止します。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_key_create +関数は、新しく作成されたキーの値を +.Fa key +で指定された場所に格納し、0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_key_create +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EAGAIN +別のスレッド固有のデータキーを作成するために必要なリソースがシステムに +不足しています。または、1 つのプロセスごとのキーの総数についての +システムの制限 [PTHREAD_KEYS_MAX] を超過しました。 +.It Bq Er ENOMEM +キーを作成するための十分なメモリがありません。 +.El +.Sh 関連項目 +.Xr pthread_getspecific 3 , +.Xr pthread_key_delete 3 , +.Xr pthread_setspecific 3 +.Sh 規格 +.Fn pthread_key_create +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_key_delete.3 b/documentation/manual-pages/ja/man3/pthread_key_delete.3 new file mode 100644 index 0000000000..4bbeb7e7fe --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_key_delete.3 @@ -0,0 +1,95 @@ +.\" Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>. +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_key_delete.3,v 1.6.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 4, 1996 +.Dt PTHREAD_KEY_DELETE 3 +.Os +.Sh 名称 +.Nm pthread_key_delete +.Nd スレッド固有のデータキーの削除 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_key_delete "pthread_key_t key" +.Sh 解説 +.Fn pthread_key_delete +関数は、以前に +.Fn pthread_key_create +によって返されたスレッド固有のデータキーを削除します。 +.Fa key +に関連付けられたスレッド固有のデータ値は、 +.Fn pthread_key_delete +が呼び出される時点で NULL である必要はありません。 +全てのアプリケーション記憶領域の解放、または削除されたキーに関連した +データ構造や全てのスレッドの中のスレッド固有のデータの全ての +クリーンアップ動作の実行は、アプリケーションの責務です。 +このクリーンアップは +.Fn pthread_key_delete +が呼び出される前後で実行されることが可能です。 +.Fn pthread_key_delete +の呼び出しの後で、 +.Fa key +を使用しようとする全ての試みの結果は、不定動作になります。 +.Pp +.Fn pthread_key_delete +関数は、デストラクタ関数の中から呼び出すことが可能です。 +デストラクタ関数は、 +.Fn pthread_key_delete +からは呼び出されません。 +.Fa key +に関連付けられているかもしれない全てのデストラクタ関数は、 +スレッドの終了時にはもはや呼び出されません。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_key_delete +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_key_delete +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa key +の値が無効です。 +.El +.Sh 関連項目 +.Xr pthread_getspecific 3 , +.Xr pthread_key_create 3 , +.Xr pthread_setspecific 3 +.Sh 規格 +.Fn pthread_key_delete +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_mutex_destroy.3 b/documentation/manual-pages/ja/man3/pthread_mutex_destroy.3 new file mode 100644 index 0000000000..3a1d6de0e9 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_mutex_destroy.3 @@ -0,0 +1,73 @@ +.\" Copyright (c) 1997 Brian Cully <shmit@kublai.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. 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_destroy.3,v 1.5.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 29, 1998 +.Dt PTHREAD_MUTEX_DESTROY 3 +.Os +.Sh 名称 +.Nm pthread_mutex_destroy +.Nd mutex のために割り当てられたリソースの解放 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_mutex_destroy "pthread_mutex_t *mutex" +.Sh 解説 +.Fn pthread_mutex_destroy +関数は、 +.Fa mutex +のために割り当てられたリソースを解放します。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_mutex_destroy +は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_mutex_destroy +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa mutex +によって指定された値が無効です。 +.It Bq Er EBUSY +.Fa mutex +が別のスレッドにロックされています。 +.El +.Sh 関連項目 +.Xr pthread_mutex_init 3 , +.Xr pthread_mutex_lock 3 , +.Xr pthread_mutex_trylock 3 , +.Xr pthread_mutex_unlock 3 +.Sh 規格 +.Fn pthread_mutex_destroy +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_mutex_init.3 b/documentation/manual-pages/ja/man3/pthread_mutex_init.3 new file mode 100644 index 0000000000..e2cb0b940f --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_mutex_init.3 @@ -0,0 +1,78 @@ +.\" Copyright (c) 1997 Brian Cully <shmit@kublai.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. 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_init.3,v 1.6.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 29, 1998 +.Dt PTHREAD_MUTEX_INIT 3 +.Os +.Sh 名称 +.Nm pthread_mutex_init +.Nd mutex の作成 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_mutex_init "pthread_mutex_t *mutex" "const pthread_mutexattr_t *attr" +.Sh 解説 +.Fn pthread_mutex_init +関数は、 +.Fa attr +に指定された属性で新しい mutex を作成します。 +.Fa attr +が NULL の場合には、デフォルトの属性が使用されます。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_mutex_init +は 0 を返し、 +.Fa mutex +に新しい mutex の ID を入れます。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_mutex_init +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa attr +によって指定された値が無効です。 +.It Bq Er ENOMEM +プロセスが別の mutex の作成のための十分なメモリを割り当てられません。 +.It Bq Er EAGAIN +別の mutex を作成するために一時的なリソースが不足しています。 +.El +.Sh 関連項目 +.Xr pthread_mutex_destroy 3 , +.Xr pthread_mutex_lock 3 , +.Xr pthread_mutex_trylock 3 , +.Xr pthread_mutex_unlock 3 +.Sh 規格 +.Fn pthread_mutex_init +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_mutex_lock.3 b/documentation/manual-pages/ja/man3/pthread_mutex_lock.3 new file mode 100644 index 0000000000..f7844e8e29 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_mutex_lock.3 @@ -0,0 +1,76 @@ +.\" Copyright (c) 1997 Brian Cully <shmit@kublai.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. 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_lock.3,v 1.5.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 30, 1998 +.Dt PTHREAD_MUTEX_LOCK 3 +.Os +.Sh 名称 +.Nm pthread_mutex_lock +.Nd mutex のロック +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_mutex_lock "pthread_mutex_t *mutex" +.Sh 解説 +.Fn pthread_mutex_lock +関数は、 +.Fa mutex +をロックします。 +mutex が既にロックされている場合には、呼び出しているスレッドは +その mutex が利用可能になるまでブロックされます。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_mutex_lock +は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_mutex_lock +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa mutex +によって指定された値が無効です。 +.It Bq Er EDEADLK +.Fa mutex +を待つためにそのスレッドがブロックされた場合には、 +デッドロックが発生しています。 +.El +.Sh 関連項目 +.Xr pthread_mutex_destroy 3 , +.Xr pthread_mutex_init 3 , +.Xr pthread_mutex_trylock 3 , +.Xr pthread_mutex_unlock 3 +.Sh 規格 +.Fn pthread_mutex_lock +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_mutex_trylock.3 b/documentation/manual-pages/ja/man3/pthread_mutex_trylock.3 new file mode 100644 index 0000000000..6673c7f2cd --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_mutex_trylock.3 @@ -0,0 +1,76 @@ +.\" Copyright (c) 1997 Brian Cully <shmit@kublai.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. 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_trylock.3,v 1.5.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 30, 1998 +.Dt PTHREAD_MUTEX_TRYLOCK 3 +.Os +.Sh 名称 +.Nm pthread_mutex_trylock +.Nd ブロックを伴わない mutex のロックの試行 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_mutex_trylock "pthread_mutex_t *mutex" +.Sh 解説 +.Fn pthread_mutex_trylock +関数は +.Fa mutex +をロックします。 +mutex が既にロックされている場合には、 +.Fn pthread_mutex_trylock +はその mutex を待つためにブロックせずに、エラー条件を返します。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_mutex_trylock +は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_mutex_trylock +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa mutex +によって指定された値が無効です。 +.It Bq Er EBUSY +.Fa mutex +が既にロックされています。 +.El +.Sh 関連項目 +.Xr pthread_mutex_destroy 3 , +.Xr pthread_mutex_init 3 , +.Xr pthread_mutex_lock 3 , +.Xr pthread_mutex_unlock 3 +.Sh 規格 +.Fn pthread_mutex_trylock +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_mutex_unlock.3 b/documentation/manual-pages/ja/man3/pthread_mutex_unlock.3 new file mode 100644 index 0000000000..2f4df08d31 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_mutex_unlock.3 @@ -0,0 +1,77 @@ +.\" Copyright (c) 1997 Brian Cully <shmit@kublai.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. 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_unlock.3,v 1.5.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd July 30, 1998 +.Dt PTHREAD_MUTEX_UNLOCK 3 +.Os +.Sh 名称 +.Nm pthread_mutex_unlock +.Nd mutex のロックを解除 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_mutex_unlock "pthread_mutex_t *mutex" +.Sh 解説 +現在のスレッドが +.Fa mutex +のロックを保持している場合には、 +.Fn pthread_mutex_unlock +関数は、 +.Fa mutex +のロックを解除します。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_mutex_unlock +は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_mutex_trylock +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa mutex +によって指定された値が無効です。 +.It Bq Er EPERM +現在のスレッドが +.Fa mutex +のロックを保持していません。 +.El +.Sh 関連項目 +.Xr pthread_mutex_destroy 3 , +.Xr pthread_mutex_init 3 , +.Xr pthread_mutex_lock 3 , +.Xr pthread_mutex_trylock 3 +.Sh 規格 +.Fn pthread_mutex_unlock +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_once.3 b/documentation/manual-pages/ja/man3/pthread_once.3 new file mode 100644 index 0000000000..b287745b10 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_once.3 @@ -0,0 +1,107 @@ +.\" Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>. +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_once.3,v 1.6.2.7 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 4, 1996 +.Dt PTHREAD_ONCE 3 +.Os +.Sh 名称 +.Nm pthread_once +.Nd 動的なパッケージの初期化 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Pp +pthread_once_t +.Fa once_control += PTHREAD_ONCE_INIT; +.Ft int +.Fn pthread_once "pthread_once_t *once_control" "void (*init_routine)(void)" +.Sh 解説 +プロセスの全てのスレッドによる最初の、与えられた +.Fa once_control +を伴っての +.Fn pthread_once +の呼び出しは、 +.Fn init_routine +を引数無しで呼び出します。 +その後での同じ +.Fa once_control +を持つ +.Fn pthread_once +の呼び出しは、 +.Fn init_routine +を呼び出しません。 +.Fn pthread_once +から戻る時点では、 +.Fn init_routine +が完了していることが保証されています。 +.Fa once_control +パラメータは、関連付けられた初期化ルーチンが既に呼び出されたかどうかを +判断するために使用されます。 +.Pp +関数 +.Fn pthread_once +は取り消しポイントではありません。 +しかしながら、 +.Fn init_routine +が取り消しポイントですので取り消され、 +.Fa once_control +は +.Fn pthread_once +が一度も呼び出されていないかのような結果になります。 +.Pp +定数 +.Fa PTHREAD_ONCE_INIT +は、 +.Aq Pa pthread.h +で定義されています。 +.Pp +.Fa once_control +に自動保存期間がある、または +.Fa PTHREAD_ONCE_INIT +で初期化されていない場合には、 +.Fn pthread_once +の動作は未定義です。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_once +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +ありません。 +.Sh 規格 +.Fn pthread_once +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_rwlock_destroy.3 b/documentation/manual-pages/ja/man3/pthread_rwlock_destroy.3 new file mode 100644 index 0000000000..a4a0030ceb --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_rwlock_destroy.3 @@ -0,0 +1,80 @@ +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlock_destroy.3,v 1.3.2.3 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCK_DESTROY 3 +.Os +.Sh 名称 +.Nm pthread_rwlock_destroy +.Nd 読取り / 書込みロックの破壊 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_rwlock_destroy "pthread_rwlock_t *lock" +.Sh 解説 +.Fn pthread_rwlock_destroy +関数は、以前に +.Fn pthread_rwlock_init +で作成された読取り / 書込みロックを破壊するために使用されます。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_rwlock_destroy +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.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/documentation/manual-pages/ja/man3/pthread_rwlock_init.3 b/documentation/manual-pages/ja/man3/pthread_rwlock_init.3 new file mode 100644 index 0000000000..08cc5d48cb --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_rwlock_init.3 @@ -0,0 +1,96 @@ +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlock_init.3,v 1.2.2.3 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCK_INIT 3 +.Os +.Sh 名称 +.Nm pthread_rwlock_init +.Nd 読取り / 書込みロックの初期化 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.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 +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh 関連項目 +.Xr pthread_rwlock_destroy 3 , +.Xr pthread_rwlockattr_init 3 , +.Xr pthread_rwlockattr_setpshared 3 +.Sh 規格 +.Fn pthread_rwlock_init +関数は、 +.St -susv2 +に適合しているはずです。 +.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/documentation/manual-pages/ja/man3/pthread_rwlock_rdlock.3 b/documentation/manual-pages/ja/man3/pthread_rwlock_rdlock.3 new file mode 100644 index 0000000000..cd6260de05 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_rwlock_rdlock.3 @@ -0,0 +1,118 @@ +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlock_rdlock.3,v 1.2.2.2 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCK_RDLOCK 3 +.Os +.Sh 名称 +.Nm pthread_rwlock_rdlock , +.Nm pthread_rwlock_tryrdlock +.Nd 読取り用の読取り / 書込みロックの獲得 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.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 +で与えられた、ロックが現在書込み用に保持されておらず、書込みスレッドが +現在そのロックでブロックされていない、読取り用のロックを獲得します。 +読取り用のロックをすぐに獲得できない場合には、呼び出しているスレッドは +そのロックを獲得できるまでブロックします。 +.Pp +.Fn pthread_rwlock_tryrdlock +関数は、同じ操作を実行しますが、すぐにロックを獲得できない (すなわち、 +ロックが書込み用に保持されている、 +または待っている書込みスレッドがある) 場合には、ブロックしません。 +.Pp +1 つのスレッドは複数の同時の読取り用ロックを保持することができます。 +その場合には、個々の獲得されたのために +.Fn pthread_rwlock_unlock +が 1 度ずつ呼び出されなければなりません。 +.Pp +呼び出しているスレッドが書込み用のロックを保持している間の、 +読取り用のロックの獲得の結果は、未定義です。 +.Sh 実装に関する注 +書込み側の飢餓状態を防ぐため、書込み側が読込み側よりも優先されます。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_rwlock_rdlock +および +.Fn pthread_rwlock_tryrdlock +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.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 +現在のスレッドが既に書込み用の +.Fa lock +を所有しています。 +.It Bq Er EINVAL +.Fa lock +によって指定された値が無効です。 +.It Bq Er ENOMEM +ロック (静的に初期化されたロックのみに適用) の初期化のために +十分なメモリがありません。 +.El +.Sh 歴史 +.Fn pthread_rwlock_rdlock +関数は、 +.Fx 3.0 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/pthread_rwlock_unlock.3 b/documentation/manual-pages/ja/man3/pthread_rwlock_unlock.3 new file mode 100644 index 0000000000..2449286c36 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_rwlock_unlock.3 @@ -0,0 +1,80 @@ +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlock_unlock.3,v 1.2.2.2 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCK_UNLOCK 3 +.Os +.Sh 名称 +.Nm pthread_rwlock_unlock +.Nd 読取り / 書込みロックの解放 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.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 +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.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 +.Sh 歴史 +.Fn pthread_rwlock_unlock +関数は、 +.Fx 3.0 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/pthread_rwlock_wrlock.3 b/documentation/manual-pages/ja/man3/pthread_rwlock_wrlock.3 new file mode 100644 index 0000000000..c703aaad73 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_rwlock_wrlock.3 @@ -0,0 +1,101 @@ +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlock_wrlock.3,v 1.2.2.2 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCK_WRLOCK 3 +.Os +.Sh 名称 +.Nm pthread_rwlock_wrlock , +.Nm pthread_rwlock_trywrlock +.Nd 書込み用の読取り / 書込みロックの獲得 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.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 +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.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/documentation/manual-pages/ja/man3/pthread_rwlockattr_destroy.3 b/documentation/manual-pages/ja/man3/pthread_rwlockattr_destroy.3 new file mode 100644 index 0000000000..f6fa0b32ca --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_rwlockattr_destroy.3 @@ -0,0 +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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_destroy.3,v 1.3.2.3 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCKATTR_DESTROY 3 +.Os +.Sh 名称 +.Nm pthread_rwlockattr_destroy +.Nd 読取り / 書込みロックの属性の破壊 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_rwlockattr_destroy "pthread_rwlockattr_t *attr" +.Sh 解説 +.Fn pthread_rwlockattr_destroy +関数は、以前に +.Fn pthread_rwlockattr_init +で作成された読取り / 書込みロックの属性オブジェクトを破壊します。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_rwlockattr_destroy +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.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/documentation/manual-pages/ja/man3/pthread_rwlockattr_getpshared.3 b/documentation/manual-pages/ja/man3/pthread_rwlockattr_getpshared.3 new file mode 100644 index 0000000000..db83f5fcde --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_rwlockattr_getpshared.3 @@ -0,0 +1,82 @@ +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_getpshared.3,v 1.4.2.4 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd March 22, 1999 +.Dt PTHREAD_RWLOCKATTR_GETPSHARED 3 +.Os +.Sh 名称 +.Nm pthread_rwlockattr_getpshared +.Nd プロセス共有属性の取得 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_rwlockattr_getpshared "const pthread_rwlockattr_t *attr" "int *pshared" +.Sh 解説 +.Fn pthread_rwlockattr_getpshared +関数は、読取り / 書込みロックの属性オブジェクトのプロセス共有設定を +取得するために使用されます。 +その設定は +.Fa pshared +を通して返され、以下の 2 つの内の 1 つになります。 +.Bl -tag -width PTHREAD_PROCESS_PRIVATE +.It Dv PTHREAD_PROCESS_SHARED +読取り / 書込みロックが属するメモリにアクセスする全てのプロセスの +全てのスレッドは、ロックを操作できます。 +.It Dv PTHREAD_PROCESS_PRIVATE +読取り / 書込みロックを初期化したスレッドと同じプロセスの中で作成された +スレッドのみが、ロックを操作できます。 +これがデフォルト値です。 +.El +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_rwlockattr_getpshared +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.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/documentation/manual-pages/ja/man3/pthread_rwlockattr_init.3 b/documentation/manual-pages/ja/man3/pthread_rwlockattr_init.3 new file mode 100644 index 0000000000..2439688648 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_rwlockattr_init.3 @@ -0,0 +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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_init.3,v 1.3.2.3 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCKATTR_INIT 3 +.Os +.Sh 名称 +.Nm pthread_rwlockattr_init +.Nd 読取り / 書込みロックの属性の作成 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_rwlockattr_init "pthread_rwlockattr_t *attr" +.Sh 解説 +.Fn pthread_rwlockattr_init +関数は、読取り / 書込みロックの属性オブジェクトを初期化するために使用されます。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_rwlockattr_init +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh 関連項目 +.Xr pthread_rwlock_init 3 , +.Xr pthread_rwlockattr_destroy 3 , +.Xr pthread_rwlockattr_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 +.Sh 歴史 +.Fn pthread_rwlockattr_init +関数は、 +.Fx 3.0 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/pthread_rwlockattr_setpshared.3 b/documentation/manual-pages/ja/man3/pthread_rwlockattr_setpshared.3 new file mode 100644 index 0000000000..d38c8e716c --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_rwlockattr_setpshared.3 @@ -0,0 +1,89 @@ +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_setpshared.3,v 1.3.2.4 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd August 4, 1998 +.Dt PTHREAD_RWLOCKATTR_SETPSHARED 3 +.Os +.Sh 名称 +.Nm pthread_rwlockattr_setpshared +.Nd プロセス共有属性の設定 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_rwlockattr_setpshared "pthread_rwlockattr_t *attr" "int pshared" +.Sh 解説 +.Fn pthread_rwlockattr_setpshared +関数は、 +.Fa attr +のプロセス共有属性を +.Fa pshared +によって参照されている値に設定します。 +.Fa pshared +は、以下の 2 つの内の 1 つになります。 +.Bl -tag -width PTHREAD_PROCESS_PRIVATE +.It Dv PTHREAD_PROCESS_SHARED +読取り / 書込みロックが属するメモリにアクセスする全てのプロセスの +全てのスレッドは、ロックを操作できます。 +.It Dv PTHREAD_PROCESS_PRIVATE +読取り / 書込みロックを初期化したスレッドと同じプロセスの中で作成された +スレッドのみが、ロックを操作できます。 +これがデフォルト値です。 +.El +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_rwlockattr_setpshared +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.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 バグ +.Dv PTHREAD_PROCESS_SHARED +属性は、サポートされていません。 diff --git a/documentation/manual-pages/ja/man3/pthread_self.3 b/documentation/manual-pages/ja/man3/pthread_self.3 new file mode 100644 index 0000000000..5b557f876d --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_self.3 @@ -0,0 +1,62 @@ +.\" Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>. +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_self.3,v 1.4.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 4, 1996 +.Dt PTHREAD_SELF 3 +.Os +.Sh 名称 +.Nm pthread_self +.Nd 呼び出しているスレッドの ID の取得 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft pthread_t +.Fn pthread_self "void" +.Sh 解説 +.Fn pthread_self +関数は、呼び出しているスレッドのスレッド ID を返します。 +.Sh 戻り値 +.Fn pthread_self +関数は、呼び出しているスレッドのスレッド ID を返します。 +.Sh エラー +ありません。 +.Pp +.Sh 関連項目 +.Xr pthread_create 3 , +.Xr pthread_equal 3 +.Sh 規格 +.Fn pthread_self +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pthread_setspecific.3 b/documentation/manual-pages/ja/man3/pthread_setspecific.3 new file mode 100644 index 0000000000..67574cb1e5 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pthread_setspecific.3 @@ -0,0 +1,96 @@ +.\" Copyright (c) 1996 John Birrell <jb@cimlogic.com.au>. +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc_r/man/pthread_setspecific.3,v 1.6.2.5 2001/12/17 10:08:26 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 4, 1996 +.Dt PTHREAD_SETSPECIFIC 3 +.Os +.Sh 名称 +.Nm pthread_setspecific +.Nd スレッド固有のデータ値の設定 +.Sh ライブラリ +.Lb libc_r +.Sh 書式 +.In pthread.h +.Ft int +.Fn pthread_setspecific "pthread_key_t key" "const void *value" +.Sh 解説 +.Fn pthread_setspecific +関数は、以前の +.Fn pthread_key_create +の呼び出しを通して入手した +.Fa key +に、スレッド固有の値を関連付けます。 +異なるスレッドは同じキーに対して異なる値を、結びつけることができます。 +これらの値は、通常は呼び出しているスレッドによって既に予約されて、 +動的に割り当てられたメモリブロックを指すポインタです。 +.Pp +.Fn pthread_key_create +から入手したのではない +.Fa key +の値を伴った、または +.Fn pthread_key_delete +によって +.Fa key +が削除された後での、 +.Fn pthread_setspecific +の呼び出しの結果は未定義です。 +.Pp +.Fn pthread_setspecific +はスレッド固有のデータのデストラクタ関数から呼び出されることがあります。 +しかしながら、これは記憶領域を失ったり、 +無限ループに陥ったりすることがあります。 +.Sh 戻り値 +問題がない場合は、 +.Fn pthread_setspecific +関数は 0 を返します。 +問題がある場合は、そのエラーを示すためにエラー番号が返されます。 +.Sh エラー +.Fn pthread_setspecific +は以下の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er ENOMEM +.Fa key +と関連付けるための値の十分なメモリがありません。 +.It Bq Er EINVAL +.Fa key +の値が無効です。 +.El +.Sh 関連項目 +.Xr pthread_getspecific 3 , +.Xr pthread_key_create 3 , +.Xr pthread_key_delete 3 +.Sh 規格 +.Fn pthread_setspecific +は +.St -p1003.1-96 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/pty.3 b/documentation/manual-pages/ja/man3/pty.3 new file mode 100644 index 0000000000..469c5e2849 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pty.3 @@ -0,0 +1,144 @@ +.\" +.\" 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. +.\" +.\" %FreeBSD: src/lib/libutil/pty.3,v 1.8.2.3 2001/12/17 10:08:32 ru Exp % +.\" $FreeBSD$ +.\" " +.Dd December 29, 1996 +.Os +.Dt PTY 3 +.Sh 名称 +.Nm openpty , +.Nm forkpty +.Nd 疑似端末を入手する補助関数 +.Sh ライブラリ +.Lb libutil +.Sh 書式 +.In sys/types.h +.In sys/ioctl.h +.In termios.h +.In libutil.h +.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" +.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 pty 4 , +.Xr termios 4 , +.Xr group 5 +.Sh バグ +呼び出しプロセスにスーパユーザの有効な UID がなければ、すべての +アクションは実行できません。 pty を割り振れる限り ( +.Fn forkpty +の場合は新しいプロセスを作成できる限り)、説明したステップを +.Fn openpty +か +.Fn forkpty +が続けられなくても通知はされません。 diff --git a/documentation/manual-pages/ja/man3/publickey.3 b/documentation/manual-pages/ja/man3/publickey.3 new file mode 100644 index 0000000000..5549c3a143 --- /dev/null +++ b/documentation/manual-pages/ja/man3/publickey.3 @@ -0,0 +1,53 @@ +.\" @(#)publickey.3r 2.1 88/08/07 4.0 RPCSRC +.\" %FreeBSD: src/lib/libc/rpc/publickey.3,v 1.4.2.2 2001/12/14 18:33:56 ru Exp % +.\" $FreeBSD$ +.\" +.Dd October 6, 1987 +.Dt PUBLICKEY 3 +.Os +.Sh 名称 +.Nm publickey , getpublickey , getsecretkey +.Nd 公開鍵か秘密鍵の入手 +.Sh ライブラリ +.Lb librpcsvc +.Sh 書式 +.In rpc/rpc.h +.In rpc/key_prot.h +.Ft int +.Fo getpublickey +.Fa "char netname[MAXNETNAMELEN+1]" +.Fa "char publickey[HEXKEYBYTES+1]" +.Fc +.Ft int +.Fo getsecretkey +.Fa "char netname[MAXNETNAMELEN+1]" +.Fa "char secretkey[HEXKEYBYTES+1]" +.Fa "char *passwd" +.Fc +.Sh 解説 +これらのルーチンは、公開鍵と秘密鍵を +.Tn YP +データベースから入手します。 +.Fn getsecretkey +には追加の引数 +.Fa passwd +があり、 +データベースに保存されている、暗号化された秘密鍵の復号化に使用されます。 +どちらのルーチンも、鍵が見つかると 1 を戻し、見つからないと 0 を戻します。 +鍵は、 +.Dv NULL +で終わる 16 進文字列として戻されます。 +.Fn getsecretkey +に指定されたパスワードで秘密鍵を復号化できない場合は 1 が戻されますが、 +.Fa secretkey +引数は +.Dv NULL +文字列 +.Pq Dq +になります。 +.Sh 関連項目 +.Xr publickey 5 +.Pp +.Pa /usr/share/doc/psd/23.rpc +の +.%T "RPC Programmer's Manual" diff --git a/documentation/manual-pages/ja/man3/putc.3 b/documentation/manual-pages/ja/man3/putc.3 new file mode 100644 index 0000000000..8cac1bedcb --- /dev/null +++ b/documentation/manual-pages/ja/man3/putc.3 @@ -0,0 +1,127 @@ +.\" 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. +.\" +.\" @(#)putc.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdio/putc.3,v 1.5.2.3 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt PUTC 3 +.Os +.Sh 名称 +.Nm fputc , +.Nm putc , +.Nm putchar , +.Nm putw +.Nd キャラクタかワードをストリームに出力 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft int +.Fn fputc "int c" "FILE *stream" +.Ft int +.Fn putc "int c" "FILE *stream" +.Ft int +.Fn putchar "int c" +.Ft int +.Fn putw "int w" "FILE *stream" +.Sh 解説 +.Fn fputc +関数は、(``unsigned char'' に変換された) 文字 +.Fa c +を +.Fa stream +が指す出力ストリームに出力します。 +.Pp +.Fn putc +マクロは、 +.Fn fputc +と本質的に同じように動作しますが、 +インラインに展開されるマクロです。 +.Fa stream +を複数回評価することがあるので、 +.Fn putc +には、副作用がおきる式を引数として指定しないでください。 +.Pp +.Fn putchar +マクロは +.Fn putc +と同じですが、出力ストリームは +.Em stdout +です。 +.Pp +.Fn putw +関数は、指定された +.Em int +を指定された出力ストリーム +.Fa stream +に書き込みます。 +.Sh 戻り値 +.Fn fputc , +.Fn putc , +.Fn putchar +関数は、書き込んだ文字を返します。 +エラーが発生した場合は +.Dv EOF +を返します。 +.Fn putw +は、問題がない場合は 0 を返し、 +書込みエラーが発生した場合、 +または読込み専用ストリームに書き込もうとした場合は +.Dv EOF +を返します。 +.Sh 関連項目 +.Xr ferror 3 , +.Xr fopen 3 , +.Xr getc 3 , +.Xr stdio 3 +.Sh 規格 +.Fn fputc , +.Fn putc , +.Fn putchar +関数は、 +.St -isoC +に適合しています。 +.Fn putw +関数は、 +.At v6 +で登場しました。 +.Sh バグ +.Em int +のサイズとバイトオーダはマシンによって異なるので、 +移植可能アプリケーションに +.Fn putw +を使用しないでください。 diff --git a/documentation/manual-pages/ja/man3/pwcache.3 b/documentation/manual-pages/ja/man3/pwcache.3 new file mode 100644 index 0000000000..2a073d7c03 --- /dev/null +++ b/documentation/manual-pages/ja/man3/pwcache.3 @@ -0,0 +1,93 @@ +.\" 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. +.\" +.\" @(#)pwcache.3 8.1 (Berkeley) 6/9/93 +.\" %FreeBSD: src/lib/libc/gen/pwcache.3,v 1.6.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 9, 1993 +.Dt PWCACHE 3 +.Os +.Sh 名称 +.Nm pwcache +.Nd パスワードエントリとグループエントリのキャッシュ +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft char * +.Fn user_from_uid "unsigned long uid" "int nouser" +.Ft char * +.Fn group_from_gid "unsigned long gid" "int nogroup" +.Sh 解説 +.Fn user_from_uid +関数は、引数 +.Fa uid +に関連するユーザ名を戻します。ユーザ名はキャッシュされるので、同じ +.Fa uid +で何度も呼び出す場合は、 +.Xr getpwuid 3 +を呼び出す必要はありません。 +.Fa uid +にユーザが関連していない場合は、引数 +.Fa nouser +が 0 であれば、 +.Fa uid +のストリング表現にポインタが戻されます。0 以外である場合は +.Dv NULL +ポインタが戻されます。 +.Pp +.Fn group_from_gid +関数は、引数 +.Fa gid +に関連するグループ名を戻します。グループ名はキャッシュされるので、同じ +.Fa gid +で何度も呼び出す場合は、 +.Xr getgrgid 3 +を呼び出す必要はありません。 +.Fa gid +にグループが関連していない場合は、引数 +.Fa nogroup +が 0 であれば、 +.Fa gid +のストリング表現にポインタが戻されます。0 以外である場合は +.Dv NULL +ポインタが戻されます。 +.Sh 関連項目 +.Xr getgrgid 3 , +.Xr getpwuid 3 +.Sh 歴史 +.Fn user_from_uid +関数と +.Fn group_from_gid +関数は、 +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/qsort.3 b/documentation/manual-pages/ja/man3/qsort.3 new file mode 100644 index 0000000000..7b31ce0433 --- /dev/null +++ b/documentation/manual-pages/ja/man3/qsort.3 @@ -0,0 +1,223 @@ +.\" 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. +.\" +.\" @(#)qsort.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/qsort.3,v 1.4.2.4 2001/08/31 10:15:15 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt QSORT 3 +.Os +.Sh 名称 +.Nm qsort , heapsort , mergesort +.Nd ソート関数 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.Fd #include <stdlib.h> +.Ft void +.Fn qsort "void *base" "size_t nmemb" "size_t size" "int (*compar)(const void *, const void *)" +.Ft int +.Fn heapsort "void *base" "size_t nmemb" "size_t size" "int (*compar)(const void *, const void *)" +.Ft int +.Fn mergesort "void *base" "size_t nmemb" "size_t size" "int (*compar)(const void *, const void *)" +.Sh 解説 +.Fn qsort +関数は、パーティション交換ソートの修正版、ようするにクイックソートです。 +.Fn heapsort +関数は、選択ソートの修正版です。 +.Fn mergesort +関数は、既に並んでいる箇所のあるデータをソートする、 +指数検索によるマージソートの修正版です。 +.Pp +.Fn qsort +関数と +.Fn heapsort +関数は、 +.Fa base +によって初期メンバが指されている +.Fa nmemb +オブジェクトの配列をソートします。 +各オブジェクトのサイズは、 +.Fa size +で指定します。 +.Fn mergesort +も同じように動作しますが、 +.Fa size +は +.Dq "sizeof(void *) / 2" +より大きくなければなりません。 +.Pp +配列 +.Fa base +の内容は、 +.Fa compar +が指す比較関数に従って昇順でソートされます。 +この関数では、比較するオブジェクトを指す、2 つの引数が必要です。 +.Pp +比較関数は、最初の引数が次の引数より小さい場合は 0 より小さい整数、 +等しい場合は 0、大きい場合は 0 より大きい整数を戻す必要があります。 +.Pp +.Fn qsort +関数と +.Fn heapsort +関数は不安定です。 +つまり 2 つのメンバが等しい場合、ソート済み配列内での順序は不定になります。 +.Fn mergesort +関数は安定です。 +.Pp +.Fn qsort +関数は、パーティション交換ソートの一種である、C.A.R. Hoare の +``クイックソート'' アルゴリズムを実装しています。 +とくに D.E. Knuth のアルゴリズム Q を参照してください。 +.Fn qsort +には、平均で +O N lg N +の時間がかかります。 +この実装では、メジアン選択を使用して、O N**2 という +最悪なケースの動作を回避します。 +.Pp +.Fn heapsort +関数は、選択ソートの一種である、J.W.J. William の +``ヒープソート'' アルゴリズムを実装しています。 +とくに D.E. Knuth のアルゴリズム H を参照してください。 +.Fn heapsort +には、最悪のケースで +O N lg N +の時間がかかります。 +メモリをほとんど余分に使用しないという点のみが +.Fn qsort +より優れています。 +一方、 +.Fn qsort +はメモリを割り当てませんが、再帰を使用して実装されています。 +.Pp +.Fn mergesort +関数では、 +.Fa nmemb * +.Fa size +バイトのメモリが余分に必要となります。 +スペースに余裕がある場合のみに使用してください。 +.Fn mergesort +は、既に並んでいる箇所のあるデータを扱うよう最適化されています。 +最悪のケースの時間は O N lg N で、最善のケースは O N です。 +.Pp +通常は、 +.Fn heapsort +より +.Fn mergesort +の方が速く、 +.Fn mergesort +より +.Fn qsort +の方が高速です。 +使用できるメモリ量や既に並んでいるデータ量により、この状況は変化します。 +.Sh 戻り値 +.Fn qsort +関数は値を戻しません。 +.Pp +.Rv -std heapsort mergesort +.Sh エラー +.Fn heapsort +関数と +.Fn mergesort +関数は、以下のような場合にエラーとなります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa size +引数が 0 であるか、 +.Fn mergesort +の +.Fa size +引数が +.Dq "sizeof void * / 2" +より小さい場合。 +.It Bq Er ENOMEM +.Fn heapsort +か +.Fn mergesort +がメモリを割り当てられなかった場合。 +.El +.Sh 互換性 +旧バージョンの +.Fn qsort +では、比較ルーチンが +.Fn qsort 3 +を呼び出すことはできませんでした。 +現在は呼び出せます。 +.Sh 関連項目 +.Xr sort 1 , +.Xr radixsort 3 +.Rs +.%A Hoare, C.A.R. +.%D 1962 +.%T "Quicksort" +.%J "The Computer Journal" +.%V 5:1 +.%P pp. 10-15 +.Re +.Rs +.%A Williams, J.W.J +.%D 1964 +.%T "Heapsort" +.%J "Communications of the ACM" +.%V 7:1 +.%P pp. 347-348 +.Re +.Rs +.%A Knuth, D.E. +.%D 1968 +.%B "The Art of Computer Programming" +.%V Vol. 3 +.%T "Sorting and Searching" +.%P pp. 114-123, 145-149 +.Re +.Rs +.%A Mcilroy, P.M. +.%T "Optimistic Sorting and Information Theoretic Complexity" +.%J "Fourth Annual ACM-SIAM Symposium on Discrete Algorithms" +.%V January 1992 +.Re +.Rs +.%A Bentley, J.L. +.%T "Engineering a Sort Function" +.%J "bentley@research.att.com" +.%V January 1992 +.Re +.Sh 規格 +.Fn qsort +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/queue.3 b/documentation/manual-pages/ja/man3/queue.3 new file mode 100644 index 0000000000..d756b64644 --- /dev/null +++ b/documentation/manual-pages/ja/man3/queue.3 @@ -0,0 +1,1062 @@ +.\" 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 +.\" %FreeBSD: src/share/man/man3/queue.3,v 1.15.2.7 2001/12/18 10:09:02 ru Exp % +.\" $FreeBSD$ +.\" +.Dd January 24, 1994 +.Dt QUEUE 3 +.Os +.Sh 名称 +.Nm SLIST_EMPTY , +.Nm SLIST_ENTRY , +.Nm SLIST_FIRST , +.Nm SLIST_FOREACH , +.Nm SLIST_HEAD , +.Nm SLIST_HEAD_INITIALIZER , +.Nm SLIST_INIT , +.Nm SLIST_INSERT_AFTER , +.Nm SLIST_INSERT_HEAD , +.Nm SLIST_NEXT , +.Nm SLIST_REMOVE_HEAD , +.Nm SLIST_REMOVE , +.Nm STAILQ_EMPTY , +.Nm STAILQ_ENTRY , +.Nm STAILQ_FIRST , +.Nm STAILQ_FOREACH , +.Nm STAILQ_HEAD , +.Nm STAILQ_HEAD_INITIALIZER , +.Nm STAILQ_INIT , +.Nm STAILQ_INSERT_AFTER , +.Nm STAILQ_INSERT_HEAD , +.Nm STAILQ_INSERT_TAIL , +.Nm STAILQ_LAST , +.Nm STAILQ_NEXT , +.Nm STAILQ_REMOVE_HEAD , +.Nm STAILQ_REMOVE , +.Nm LIST_EMPTY , +.Nm LIST_ENTRY , +.Nm LIST_FIRST , +.Nm LIST_FOREACH , +.Nm LIST_HEAD , +.Nm LIST_HEAD_INITIALIZER , +.Nm LIST_INIT , +.Nm LIST_INSERT_AFTER , +.Nm LIST_INSERT_BEFORE , +.Nm LIST_INSERT_HEAD , +.Nm LIST_NEXT , +.Nm LIST_REMOVE , +.Nm TAILQ_EMPTY , +.Nm TAILQ_ENTRY , +.Nm TAILQ_FIRST , +.Nm TAILQ_FOREACH , +.Nm TAILQ_FOREACH_REVERSE , +.Nm TAILQ_HEAD , +.Nm TAILQ_HEAD_INITIALIZER , +.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_PREV , +.Nm TAILQ_REMOVE , +.Nm CIRCLEQ_EMPTY , +.Nm CIRCLEQ_ENTRY , +.Nm CIRCLEQ_FIRST , +.Nm CIRCLEQ_FOREACH , +.Nm CIRCLEQ_FOREACH_REVERSE , +.Nm CIRCLEQ_HEAD , +.Nm CIRCLEQ_HEAD_INITIALIZER , +.Nm CIRCLEQ_INIT , +.Nm CIRCLEQ_INSERT_AFTER , +.Nm CIRCLEQ_INSERT_BEFORE , +.Nm CIRCLEQ_INSERT_HEAD , +.Nm CIRCLEQ_INSERT_TAIL , +.Nm CIRCLE_LAST , +.Nm CIRCLE_NEXT , +.Nm CIRCLE_PREV , +.Nm CIRCLEQ_REMOVE +.Nd 単一リンクリスト、単一リンクテールキュー、リスト、テールキュー、 +循環キューの実装 +.Sh 書式 +.In sys/queue.h +.\" +.Fn SLIST_EMPTY "SLIST_HEAD *head" +.Fn SLIST_ENTRY "TYPE" +.Fn SLIST_FIRST "SLIST_HEAD *head" +.Fn SLIST_FOREACH "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME" +.Fn SLIST_HEAD "HEADNAME" "TYPE" +.Fn SLIST_HEAD_INITIALIZER "SLIST_HEAD head" +.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_EMPTY "STAILQ_HEAD *head" +.Fn STAILQ_ENTRY "TYPE" +.Fn STAILQ_FIRST "STAILQ_HEAD *head" +.Fn STAILQ_FOREACH "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" +.Fn STAILQ_HEAD "HEADNAME" "TYPE" +.Fn STAILQ_HEAD_INITIALIZER "STAILQ_HEAD head" +.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_LAST "STAILQ_HEAD *head" "TYPE" "STAILQ_ENTRY NAME" +.Fn STAILQ_NEXT "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_EMPTY "LIST_HEAD *head" +.Fn LIST_ENTRY "TYPE" +.Fn LIST_FIRST "LIST_HEAD *head" +.Fn LIST_FOREACH "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME" +.Fn LIST_HEAD "HEADNAME" "TYPE" +.Fn LIST_HEAD_INITIALIZER "LIST_HEAD head" +.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_NEXT "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_FOREACH "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME" +.Fn TAILQ_FOREACH_REVERSE "TYPE *var" "TAILQ_HEAD *head" "HEADNAME" "TAILQ_ENTRY NAME" +.Fn TAILQ_HEAD "HEADNAME" "TYPE" +.Fn TAILQ_HEAD_INITIALIZER "TAILQ_HEAD head" +.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" "HEADNAME" +.Fn TAILQ_NEXT "TYPE *elm" "TAILQ_ENTRY NAME" +.Fn TAILQ_PREV "TYPE *elm" "HEADNAME" "TAILQ_ENTRY NAME" +.Fn TAILQ_REMOVE "TAILQ_HEAD *head" "TYPE *elm" "TAILQ_ENTRY NAME" +.\" +.Fn CIRCLEQ_EMPTY "CIRCLEQ_HEAD *head" +.Fn CIRCLEQ_ENTRY "TYPE" +.Fn CIRCLEQ_FIRST "CIRCLEQ_HEAD *head" +.Fn CIRCLEQ_FOREACH "TYPE *var" "CIRCLEQ_HEAD *head" "CIRCLEQ_ENTRY NAME" +.Fn CIRCLEQ_FOREACH_REVERSE "TYPE *var" "CIRCLEQ_HEAD *head" "CIRCLEQ_ENTRY NAME" +.Fn CIRCLEQ_HEAD "HEADNAME" "TYPE" +.Fn CIRCLEQ_HEAD_INITIALIZER "CIRCLEQ_HEAD head" +.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_LAST "CIRCLEQ_HEAD *head" +.Fn CIRCLEQ_NEXT "TYPE *elm" "CIRCLEQ_ENTRY NAME" +.Fn CIRCLE_PREV "TYPE *elm" "CIRCLEQ_ENTRY NAME" +.Fn CIRCLEQ_REMOVE "CIRCLEQ_HEAD *head" "TYPE *elm" "CIRCLEQ_ENTRY NAME" +.Sh 解説 +このマクロは、単一リンクリスト、単一リンクテールキュー、リスト、 +テールキュー、循環キューという、5 種類のデータ構造を定義してそこで動作します。 +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 +リストの末尾にエントリを追加する。 +.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 +ここで +.Fa HEADNAME +は定義する構造体の名前で、 +.Fa TYPE +はリストにリンクする要素の型です。 +リストのヘッドのポインタは、後で以下のように宣言できます。 +.Bd -literal -offset indent +struct HEADNAME *headp; +.Ed +.Pp +(名前 +.Li head +と +.Li headp +は、ユーザが選べます。) +.Pp +マクロ +.Nm SLIST_HEAD_INITIALIZER +はリストの +.Fa head +を初期化します。 +.Pp +マクロ +.Nm SLIST_EMPTY +はリストに要素がない場合に真になります。 +.Pp +マクロ +.Nm SLIST_ENTRY +はリストの要素を接続する構造体を宣言します。 +.Pp +マクロ +.Nm SLIST_FIRST +はリストの先頭の要素を、リストが空なら NULL を返します。 +.Pp +マクロ +.Nm SLIST_FOREACH +は +.Fa head +で参照されるリストを、各要素を順に +.Fa var +に割り当てて順方向に走査します。 +.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_NEXT +はリストの次の要素を返します。 +.Pp +マクロ +.Nm SLIST_REMOVE_HEAD +はリストの先頭から要素 +.Fa elm +を削除します。 +最適な効率を得るために、リストの先頭から要素を削除する場合には +一般的な +.Fa SLIST_REMOVE +マクロの代わりにこのマクロを明示的に使用すべきです。 +.Pp +マクロ +.Nm SLIST_REMOVE +はリストから要素 +.Fa elm +を削除します。 +.Sh 単一リンクリストの使用例 +.Bd -literal +SLIST_HEAD(slisthead, entry) head = + SLIST_HEAD_INITIALIZER(head); +struct slisthead *headp; /* 単一リンクリストヘッド */ +struct entry { + ... + SLIST_ENTRY(entry) entries; /* 単一リンクリスト */ + ... +} *n1, *n2, *n3, *np; + +SLIST_INIT(&head); /* リストを初期化 */ + +n1 = malloc(sizeof(struct entry)); /* 先頭に挿入 */ +SLIST_INSERT_HEAD(&head, n1, entries); + +n2 = malloc(sizeof(struct entry)); /* 後ろに挿入 */ +SLIST_INSERT_AFTER(n1, n2, entries); + +SLIST_REMOVE(&head, n2, entry, entries);/* 削除 */ +free(n2); + +n3 = SLIST_FIRST(&head); +SLIST_REMOVE_HEAD(&head, entries); /* 先頭から削除 */ +free(n3); + /* 順走査 */ +SLIST_FOREACH(np, &head, entries) + np-> ... + +while (!SLIST_EMPTY(&head)) { /* リストの削除 */ + n1 = SLIST_FIRST(&head); + SLIST_REMOVE_HEAD(&head, entries); + free(n1); +} +.Ed +.Sh 単一リンクテールキュー +単一リンクテールキューの最初には、 +.Nm STAILQ_HEAD +マクロで定義される構造体がつきます。 +この構造体にはテールキューの先頭の要素を指すポインタと +テールキューの末尾の要素を指すポインタの 2 つが含まれます。 +要素は、任意の要素の 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_HEAD_INITIALIZER +はテールキューの +.Fa head +を初期化します。 +.Pp +マクロ +.Nm STAILQ_EMPTY +はテールキューに要素がない場合に真になります。 +.Pp +マクロ +.Nm STAILQ_ENTRY +はテールキューの要素を接続する構造体を宣言します。 +.Pp +マクロ +.Nm STAILQ_FIRST +はテールキューの先頭の要素を、テールキューが空なら NULL を返します。 +.Pp +マクロ +.Nm STAILQ_FOREACH +は +.Fa head +で参照されるテールキューを、各要素を順に +.Fa var +に割り当てて順方向に走査します。 +.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_LAST +はテールキューの末尾の要素を返します。 +テールキューが空なら、戻り値は未定義です。 +.Pp +マクロ +.Nm STAILQ_NEXT +はテールキューの次の要素を、この要素が末尾なら NULL を返します。 +.Pp +マクロ +.Nm STAILQ_REMOVE_HEAD +はテールキューの先頭から要素 +を削除します。 +最適な効率を得るために、テールキューの先頭から要素を削除する場合には +一般的な +.Fa STAILQ_REMOVE +マクロよりもこのマクロを明示的に使用すべきです。 +.Pp +マクロ +.Nm STAILQ_REMOVE +はテールキューから要素 +.Fa elm +を削除します。 +.Sh 単一リンクテールキューの使用例 +.Bd -literal +STAILQ_HEAD(stailhead, entry) head = + STAILQ_HEAD_INITIALIZER(head); +struct stailhead *headp; /* 単一リンクテールキューヘッド */ +struct entry { + ... + STAILQ_ENTRY(entry) entries; /* テールキュー */ + ... +} *n1, *n2, *n3, *np; + +STAILQ_INIT(&head); /* キューを初期化 */ + +n1 = malloc(sizeof(struct entry)); /* 先頭に挿入 */ +STAILQ_INSERT_HEAD(&head, n1, entries); + +n1 = malloc(sizeof(struct entry)); /* 末尾に挿入 */ +STAILQ_INSERT_TAIL(&head, n1, entries); + +n2 = malloc(sizeof(struct entry)); /* 後ろに挿入 */ +STAILQ_INSERT_AFTER(&head, n1, n2, entries); + /* 削除 */ +STAILQ_REMOVE(&head, n2, entry, entries); +free(n2); + /* 先頭から削除 */ +n3 = STAILQ_FIRST(&head); +STAILQ_REMOVE_HEAD(&head, entries); +free(n3); + /* 順走査 */ +STAILQ_FOREACH(np, &head, entries) + np-> ... + /* テールキューの削除 */ +while (!STAILQ_EMPTY(&head)) { + n1 = STAILQ_FIRST(&head); + STAILQ_REMOVE_HEAD(&head, entries); + free(n1); +} + /* テールキューの高速な削除 */ +n1 = STAILQ_FIRST(&head); +while (n1 != NULL) { + n2 = STAILQ_NEXT(n1, entries); + 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_HEAD_INITIALIZER +はリストの +.Fa head +を初期化します。 +.Pp +マクロ +.Nm LIST_EMPTY +はリストに要素がない場合に真になります。 +.Pp +マクロ +.Nm LIST_ENTRY +はリストの要素を接続する構造体を宣言します。 +.Pp +マクロ +.Nm LIST_FIRST +はリストの最初の要素を、リストが空なら NULL を返します。 +.Pp +マクロ +.Nm LIST_FOREACH +は +.Fa head +で参照されるリストを、各要素を順に +.Fa var +に割り当てて順方向に走査します。 +.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_NEXT +はリストの次の要素を、この要素が末尾なら NULL を返します。 +.Pp +マクロ +.Nm LIST_REMOVE +は要素 +.Fa elm +をリストから削除します。 +.Sh リストの使用例 +.Bd -literal +LIST_HEAD(listhead, entry) head = + LIST_HEAD_INITIALIZER(head); +struct listhead *headp; /* リストヘッド */ +struct entry { + ... + LIST_ENTRY(entry) entries; /* リスト */ + ... +} *n1, *n2, *n3, *np; + +LIST_INIT(&head); /* リストを初期化 */ + +n1 = malloc(sizeof(struct entry)); /* 先頭に挿入 */ +LIST_INSERT_HEAD(&head, n1, entries); + +n2 = malloc(sizeof(struct entry)); /* 後ろに挿入 */ +LIST_INSERT_AFTER(n1, n2, entries); + +n3 = malloc(sizeof(struct entry)); /* 前に挿入 */ +LIST_INSERT_BEFORE(n2, n3, entries); + +LIST_REMOVE(n2, entries); /* 削除 */ +free(n2); + /* 順走査 */ +LIST_FOREACH(np, &head, entries) + np-> ... + +while (!LIST_EMPTY(&head)) { /* リストの削除 */ + n1 = LIST_FIRST(&head); + LIST_REMOVE(n1, entries); + free(n1); +} + +n1 = LIST_FIRST(&head); /* リストの高速な削除 */ +while (n1 != NULL) { + n2 = LIST_NEXT(n1, entries); + free(n1); + n1 = n2; +} +LIST_INIT(&head); +.Ed +.Sh テールキュー +テールキューの最初には、 +.Nm TAILQ_HEAD +マクロで定義される構造体が付きます。 +この構造体には、テールキューの最初の要素を指すポインタと +テールキューの先頭の要素を指すポインタの 2 つが含まれます。 +要素は二重にリンクされているので、テールキューを走査せずに +任意の要素を削除できます。 +新しい要素は、既存の要素の前、既存の要素の後、テールキューの先頭、 +テールキューの末尾でテールキューに追加できます。 +.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_HEAD_INITIALIZER +はテールキューの +.Fa head +を初期化します。 +.Pp +マクロ +.Nm TAILQ_EMPTY +はテールキューに要素がない場合に真になります。 +.Pp +マクロ +.Nm TAILQ_ENTRY +はテールキューの要素を接続する構造体を宣言します。 +.Pp +マクロ +.Nm TAILQ_FIRST +はテールキューの最初の要素を、テールキューが空なら NULL を返します。 +.Pp +マクロ +.Nm TAILQ_FOREACH +は +.Fa head +で参照されるテールキューを、各要素を順に +.Fa var +に割り当てて順方向に走査します。 +.Pp +マクロ +.Nm TAILQ_FOREACH_REVERSE +は +.Fa head +で参照されるテールキューを、各要素を順に +.Fa var +に割り当てて逆方向に走査します。 +.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_PREV +はテールキューの前の要素を、その要素が先頭の場合は NULL を返します。 +.Pp +マクロ +.Nm TAILQ_REMOVE +は要素 +.Fa elm +をテールキューから削除します。 +.Sh テールキューの使用例 +.Bd -literal +TAILQ_HEAD(tailhead, entry) head = + TAILQ_HEAD_INITIALIZER(head); +struct tailhead *headp; /* テールキューヘッド */ +struct entry { + ... + TAILQ_ENTRY(entry) entries; /* テールキュー */ + ... +} *n1, *n2, *n3, *np; + +TAILQ_INIT(&head); /* キューを初期化 */ + +n1 = malloc(sizeof(struct entry)); /* 先頭に挿入 */ +TAILQ_INSERT_HEAD(&head, n1, entries); + +n1 = malloc(sizeof(struct entry)); /* 末尾に挿入 */ +TAILQ_INSERT_TAIL(&head, n1, entries); + +n2 = malloc(sizeof(struct entry)); /* 後ろに挿入 */ +TAILQ_INSERT_AFTER(&head, n1, n2, entries); + +n3 = malloc(sizeof(struct entry)); /* 前に挿入 */ +TAILQ_INSERT_BEFORE(n2, n3, entries); + +TAILQ_REMOVE(&head, n2, entries); /* 削除 */ +free(n2); + /* 順走査 */ +TAILQ_FOREACH(np, &head, entries) + np-> ... + /* 逆走査 */ +TAILQ_FOREACH_REVERSE(np, &head, tailhead, entries) + np-> ... + /* テールキューの削除 */ +while (!TAILQ_EMPTY(&head)) { + n1 = TAILQ_FIRST(&head); + TAILQ_REMOVE(&head, n1, entries); + free(n1); +} + /* テールキューの高速な削除 */ +n1 = TAILQ_FIRST(&head); +while (n1 != NULL) { + n2 = TAILQ_NEXT(n1, entries); + free(n1); + n1 = n2; +} +TAILQ_INIT(&head); +.Ed +.Sh 循環キュー +循環キューの最初には、 +.Nm CIRCLEQ_HEAD +マクロで定義される構造体が付きます。 +この構造体には、循環キューの先頭の要素を指すポインタと +循環キューの末尾の要素を指すポインタの 2 つが含まれます。 +要素は二重にリンクされているので、キューを走査せずに +任意の要素を削除できます。 +新しい要素は、既存の要素の前、既存の要素の後ろ、循環キューの先頭、 +循環キューの末尾で循環キューに追加できます。 +.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_HEAD_INITIALIZER +は循環キューの +.Fa head +を初期化します。 +.Pp +マクロ +.Nm CIRCLEQ_EMPTY +は循環キューに要素がない場合に真になります。 +.Pp +マクロ +.Nm CIRCLEQ_ENTRY +は循環キューの要素を接続する構造体を宣言します。 +.Pp +マクロ +.Nm CIRCLEQ_FIRST +は循環キューの先頭の要素を返します。 +.Pp +マクロ +.Nm CICRLEQ_FOREACH +は +.Fa head +で参照される循環キューを、各要素を順に +.Fa var +に割り当てて順方向に走査します。 +.Pp +マクロ +.Nm CICRLEQ_FOREACH_REVERSE +は +.Fa head +で参照される循環キューを、各要素を順に +.Fa var +に割り当てて逆方向に走査します。 +.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_LAST +は循環キューの末尾の要素を返します。 +.Pp +マクロ +.Nm CIRCLEQ_NEXT +は循環キューの次の要素を返します。 +.Pp +マクロ +.Nm CIRCLEQ_PREV +は循環キューの前の要素を返します。 +.Pp +マクロ +.Nm CIRCLEQ_REMOVE +は要素 +.Fa elm +を循環キューから削除します。 +.Sh 循環キューの使用例 +.Bd -literal +CIRCLEQ_HEAD(circlehead, entry) head = + CIRCLEQ_HEAD_INITIALIZER(head); +struct circleq *headp; /* 循環キューヘッド */ +struct entry { + ... + CIRCLEQ_ENTRY(entry) entries; /* 循環キュー */ + ... +} *n1, *n2, *np; + +CIRCLEQ_INIT(&head); /* 循環キューを初期化 */ + +n1 = malloc(sizeof(struct entry)); /* 先頭に挿入 */ +CIRCLEQ_INSERT_HEAD(&head, n1, entries); + +n1 = malloc(sizeof(struct entry)); /* 末尾に挿入 */ +CIRCLEQ_INSERT_TAIL(&head, n1, entries); + +n2 = malloc(sizeof(struct entry)); /* 後ろに挿入 */ +CIRCLEQ_INSERT_AFTER(&head, n1, n2, entries); + +n2 = malloc(sizeof(struct entry)); /* 前に挿入 */ +CIRCLEQ_INSERT_BEFORE(&head, n1, n2, entries); + +CIRCLEQ_REMOVE(&head, n1, entries); /* 削除 */ +free(n1); + /* 順走査 */ +CIRCLEQ_FOREACH(np, &head, entries) + np-> ... + /* 逆走査 */ +CIRCLEQ_FOREACH_REVERSE(np, &head, entries) + np-> ... + /* 循環キューの削除 */ +while (CIRCLEQ_FIRST(&head) != (void *)&head) { + n1 = CIRCLEQ_HEAD(&head); + CIRCLEQ_REMOVE(&head, n1, entries); + free(n1); +} + /* 循環キューの高速な削除 */ +n1 = CIRCLEQ_FIRST(&head); +while (n1 != (void *)&head) { + n2 = CIRCLEQ_NEXT(n1, entries); + free(n1); + n1 = n2; +} +CIRCLEQ_INIT(&head); +.Ed +.Sh 歴史 +.Nm queue +関数は +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/radixsort.3 b/documentation/manual-pages/ja/man3/radixsort.3 new file mode 100644 index 0000000000..9c2a3e0ba6 --- /dev/null +++ b/documentation/manual-pages/ja/man3/radixsort.3 @@ -0,0 +1,154 @@ +.\" 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. +.\" +.\" @(#)radixsort.3 8.2 (Berkeley) 1/27/94 +.\" %FreeBSD: src/lib/libc/stdlib/radixsort.3,v 1.5.2.4 2001/12/14 18:33:58 ru Exp % +.\" $FreeBSD$ +.\" +.Dd January 27, 1994 +.Dt RADIXSORT 3 +.Os +.Sh 名称 +.Nm radixsort +.Nd 基数ソート +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In limits.h +.In stdlib.h +.Ft int +.Fn radixsort "const unsigned char **base" "int nmemb" "const unsigned char *table" "unsigned endbyte" +.Ft int +.Fn sradixsort "const unsigned char **base" "int nmemb" "const unsigned char *table" "unsigned endbyte" +.Sh 解説 +.Fn radixsort +関数と +.Fn sradixsort +関数は、基数ソート (ラディックスソート) を実装しています。 +.Pp +この関数は、初期メンバが +.Fa base +によって参照されているバイト文字列へのポインタの配列をソートします。 +バイト文字列には任意の値を含められます。 +各文字列の最後には、ユーザが定義した値 +.Fa endbyte +が付きます。 +.Pp +アプリケーションでは、 +.Fa table +引数を指定することでソート順序を指定できます。 +.Dv NULL +ではない +.Fa table +は、各バイト値のソートウェイトを含む、 +.Dv UCHAR_MAX ++ 1 バイトの配列を参照している必要があります。 +文字列の終端バイトのソートウェイトは、 +0 か 255 (逆順ソート) でなければなりません。 +複数のバイトのソートウェイトが等しいこともあります。 +.Fa table +引数は、異なるキャラクタを等しくソートするアプリケーションで便利です。 +たとえば A から Z の各々のウェイトと a から z の各々のウェイトを等しくすると、 +大文字と小文字の区別をしないソートができます。 +.Fa table +が NULL である場合、配列の内容は、参照するバイト文字列の +.Tn ASCII +順序に従って昇順にソートされます。 +この時、 +.Fa endbyte +のソートウェイトは 0 です。 +.Pp +.Fn sradixsort +関数は安定です。 +つまり、2 つの要素が等しい場合、 +これらの要素の順序はソート済み配列でも変化しません。 +.Fn sradixsort +関数は、 +.Fa nmemb +ポインタを収容するに十分なメモリを余分に使用します。 +.Pp +.Fn radixsort +関数は不安定ですが、メモリを余分に使用しません。 +.Pp +この関数は、最上位バイト基数ソートの一種です。 +D.E. Knuth のアルゴリズム R とセクション 5.2.5、 +エクササイズ 10 を参照してください。 +この関数には、文字列のバイト数に比例した時間がかかります。 +.Sh 戻り値 +.Rv -std radixsort +.Sh エラー +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa table +の +.Fa endbyte +エレメントの値が 0 か 255 になっていません。 +.El +.Pp +.Fn sradixsort +関数は、エラーが発生すると、ライブラリルーチン +.Xr malloc 3 +で指定されているエラーを +.Va errno +に設定することがあります。 +.Sh 関連項目 +.Xr sort 1 , +.Xr qsort 3 +.Pp +.Rs +.%A Knuth, D.E. +.%D 1968 +.%B "The Art of Computer Programming" +.%T "Sorting and Searching" +.%V Vol. 3 +.%P pp. 170-178 +.Re +.Rs +.%A Paige, R. +.%D 1987 +.%T "Three Partition Refinement Algorithms" +.%J "SIAM J. Comput." +.%V Vol. 16 +.%N No. 6 +.Re +.Rs +.%A McIlroy, P. +.%D 1993 +.%B "Engineering Radix Sort" +.%T "Computing Systems" +.%V Vol. 6:1 +.%P pp. 5-27 +.Re +.Sh 歴史 +.Fn radixsort +関数は、 +.Bx 4.4 +にはじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/raise.3 b/documentation/manual-pages/ja/man3/raise.3 new file mode 100644 index 0000000000..630c655bfd --- /dev/null +++ b/documentation/manual-pages/ja/man3/raise.3 @@ -0,0 +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. +.\" +.\" @(#)raise.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/raise.3,v 1.3.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt RAISE 3 +.Os +.Sh 名称 +.Nm raise +.Nd 現行プロセスにシグナルを送信 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In signal.h +.Ft int +.Fn raise "int sig" +.Sh 解説 +.Fn raise +関数はシグナル +.Fa sig +を現行プロセスに送信します。 +.Sh 戻り値 +.Rv -std raise +.Sh エラー +.Fn raise +関数は、エラーが発生した場合、ライブラリ関数 +.Xr getpid 2 +と +.Xr kill 2 +のエラーに +.Va errno +を設定します。 +.Sh 関連項目 +.Xr kill 2 +.Sh 規格 +.Fn raise +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/rand.3 b/documentation/manual-pages/ja/man3/rand.3 new file mode 100644 index 0000000000..2cb2e9f1bf --- /dev/null +++ b/documentation/manual-pages/ja/man3/rand.3 @@ -0,0 +1,103 @@ +.\" 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. +.\" +.\" @(#)rand.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/rand.3,v 1.4.2.5 2001/12/14 18:33:58 ru Exp % +.\" $FreeBSD$ +.\" +.Dd May 25, 1999 +.Dt RAND 3 +.Os +.Sh 名称 +.Nm rand , +.Nm srand , +.Nm rand_r +.Nd 不十分な乱数ジェネレータ +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft void +.Fn srand "unsigned seed" +.Ft int +.Fn rand void +.Ft int +.Fn rand_r "unsigned *ctx" +.Sh 解説 +.Bf -symbolic +このインタフェースは、 +.Xr random 3 +に置き換えられました。 +.Ef +.Pp +.Fn rand +関数は、0 から +.Dv RAND_MAX +(ヘッダファイル +.Aq Pa stdlib.h +で定義) の範囲で、疑似乱整数のシーケンスを算出します。 +.Pp +.Fn srand +関数は、引数 +.Fa seed +を、 +.Fn rand +が戻す疑似乱数の新しいシーケンスの種として設定します。 +このシーケンスは、同じ値の種を用いて +.Fn srand +を呼び出すことで繰り返すことができます。 +.Pp +.Fa 種 +の値を指定しないと、これらの関数は自動的に 1 を種として使用します。 +.Pp +.Fn rand_r +は、 +.Fn rand +と同じ機能を提供します。 +コンテキスト毎の値である +.Fa ctx +へのポインタは、呼び出し側が提供する必要があります。 +.Sh 関連項目 +.Xr random 3 +.Sh 規格 +.Fn rand +関数と +.Fn srand +関数は、 +.St -isoC +に適合しています。 +.Pp +.Fn rand_r +関数は POSIX.4a Draft #6 ドキュメントで提案されています。 diff --git a/documentation/manual-pages/ja/man3/rand48.3 b/documentation/manual-pages/ja/man3/rand48.3 new file mode 100644 index 0000000000..807cdd6d6b --- /dev/null +++ b/documentation/manual-pages/ja/man3/rand48.3 @@ -0,0 +1,148 @@ +.\" Copyright (c) 1993 Martin Birgmeier +.\" All rights reserved. +.\" +.\" You may redistribute unmodified or modified versions of this source +.\" code provided that the above copyright notice and this and the +.\" following conditions are retained. +.\" +.\" This software is provided ``as is'', and comes with no warranties +.\" of any kind. I shall in no event be liable for anything that happens +.\" to anyone/anything when using this software. +.\" +.\" @(#)rand48.3 V1.0 MB 8 Oct 1993 +.\" %FreeBSD: src/lib/libc/gen/rand48.3,v 1.8.2.5 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd October 8, 1993 +.Dt RAND48 3 +.Os +.Sh 名称 +.Nm drand48 , +.Nm erand48 , +.Nm lrand48 , +.Nm nrand48 , +.Nm mrand48 , +.Nm jrand48 , +.Nm srand48 , +.Nm seed48 , +.Nm lcong48 +.Nd 疑似乱数ジェネレータと初期化ルーチン +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft double +.Fn drand48 void +.Ft double +.Fn erand48 "unsigned short xseed[3]" +.Ft long +.Fn lrand48 void +.Ft long +.Fn nrand48 "unsigned short xseed[3]" +.Ft long +.Fn mrand48 void +.Ft long +.Fn jrand48 "unsigned short xseed[3]" +.Ft void +.Fn srand48 "long seed" +.Ft "unsigned short *" +.Fn seed48 "unsigned short xseed[3]" +.Ft void +.Fn lcong48 "unsigned short p[7]" +.Sh 解説 +.Fn rand48 +ファミリの関数は、サイズが 48ビットの整数で動作する、一次的に一致した +アルゴリズムを使用して疑似乱数を作成します。採用されている公式は +r(n+1) = (a * r(n) + c) mod m +で、被乗数 a のデフォルト値は 0xfdeece66d = 25214903917、加数 c のデフォ +ルト値は 0xb = 11 です。法 m は、常に 2 ** 48 に固定されています。r(n) +は、乱数ジェネレータの種を呼び出します。 +.Pp +以下で説明する 6つのジェネレータルーチンでは、最初の演算ステップでアル +ゴリズムが 1回実行されます。 +.Pp +.Fn drand48 +と +.Fn erand48 +は、ダブルタイプの値を戻します。r(n+1) の 48ビット全体は戻り値の仮数に +ロードされ、指数は作成された値が区間[0.0, 1.0)に存在するように設定され +ます。 +.Pp +.Fn lrand48 +と +.Fn nrand48 +は、範囲[0, 2**31-1]でロングタイプの値を戻します。r(n+1) の上位(31)ビッ +トは戻り値の下位ビットにロードされ、最上位(符号)ビットは 0に設定されます。 +.Pp +.Fn mrand48 +と +.Fn jrand48 +は、範囲[-2**31, 2**31-1]でロングタイプの値を戻します。r(n+1)の上位 +(32)ビットは、戻り値にロードされます。 +.Pp +.Fn drand48 , +.Fn lrand48 , +.Fn mrand48 , +は、内部バッファを使用して r(n) を保存します。この関数では、r(0) の初 +期値が 0x1234abcd330e = 20017429951246 になっています。 +.Pp +.Fn erand48 , +.Fn nrand48 , +.Fn jrand48 +は、ユーザが指定したバッファを使用して r(n) を保存します。このバッファ +は 3つのショートから構成されており、0番目のメンバには最下位ビットが入 +ります。 +.Pp +すべての関数は、同じ被乗数と加数を共有します。 +.Pp +.Fn srand48 +は、種の値の 32ビットを r(n) の上位 32ビットにコピーし、r(n)の下位 16 +ビットを 0x330e に設定して、 +.Fn drand48 , +.Fn lrand48 , +.Fn mrand48 +の内部バッファ r(n) を初期化します。アルゴリズムの定被乗数と加数は、上 +記のデフォルト値にリセットされます。 +.Pp +.Fn seed48 +も +.Fn drand48 , +.Fn lrand48 , +.Fn mrand48 +の内部バッファ r(n) を初期化しますが、種の 48ビット全体が 3つのショー +トの配列に指定され、0番目のメンバは最下位ビットを指定します。アルゴリ +ズムの定被乗数と加数は、上記のデフォルト値にリセットされます。 +.Fn seed48 +は、古い種を含む、3つのショートの配列を指すポインタを戻します。この配 +列は静的に割り振られるため、 +.Fn seed48 +を呼び出すたびに内容は失われます。 +.Pp +.Fn lcong48 +では、 +.Fn drand48 , +.Fn erand48 , +.Fn lrand48 , +.Fn nrand48 , +.Fn mrand48 , +.Fn jrand48 +で使用される被乗数と加数、および +.Fn drand48 , +.Fn lrand48 , +.Fn mrand48 +で使用される種を完全に制御できます。パラメータとしては、7つのショート +の配列が渡されます。最初の 3つのショートは種の初期化に、次の 3つは被乗 +数の初期化に、最後のショートは加数の初期化に使用されます。このため、 +0xffff より大きい値を加数として使用することはできません。 +.Pp +乱数ジェネレータの種を作る 3つすべての手法は、6つのジェネレータの呼び +出し用に被乗数と加数を常に設定することに注意してください。 +.Pp +より強力な乱数ジェネレータが必要な場合は、 +.Xr random 3 +を使用してください。 +.Sh 作者 +.An Martin Birgmeier +.Sh 関連項目 +.Xr rand 3 , +.Xr random 3 diff --git a/documentation/manual-pages/ja/man3/random.3 b/documentation/manual-pages/ja/man3/random.3 new file mode 100644 index 0000000000..5ae94a3280 --- /dev/null +++ b/documentation/manual-pages/ja/man3/random.3 @@ -0,0 +1,178 @@ +.\" 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. +.\" +.\" @(#)random.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/random.3,v 1.11.2.5 2001/12/14 18:33:58 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt RANDOM 3 +.Os +.Sh 名称 +.Nm random , +.Nm srandom , +.Nm srandomdev , +.Nm initstate , +.Nm setstate +.Nd 優れた乱数ジェネレータ、およびジェネレータを変更するルーチン +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft long +.Fn random void +.Ft void +.Fn srandom "unsigned long seed" +.Ft void +.Fn srandomdev void +.Ft char * +.Fn initstate "unsigned long seed" "char *state" "long n" +.Ft char * +.Fn setstate "char *state" +.Sh 解説 +.Fn random +関数は、非線形加法フィードバック乱数ジェネレータを使用し、 +デフォルトでサイズが 31 の、ロング整数のテーブルを採用して、0 から +.if t 2\u\s731\s10\d\(mi1 +.if n (2**31)\(mi1 +までの範囲で連続した疑似乱数を戻します。 +この乱数ジェネレータの周期は非常に大きく、約 +.if t 16\(mu(2\u\s731\s10\d\(mi1) +.if n 16*((2**31)\(mi1) +です。 +.Pp +.Fn random +関数と +.Fn srandom +関数の呼び出し手順と初期化プロパティは、 +.Xr rand 3 +関数と +.Xr srand 3 +関数のものと (だいたい) 同じです。 +違いは、 +.Xr rand 3 +が作成するランダムシーケンスがかなり劣ったものであることです。 +実際、rand が作成する下位の多くのビットは、循環パターンになります。 +.Fn random +が作成するビットはすべて使用できます。 +たとえば +.Sq Li random()&01 +では、ランダムなバイナリ値が作成されます。 +.Pp +.Xr rand 3 +と同じように、 +.Fn random +は数値のシーケンスをデフォルトで作成します。 +このシーケンスは、種を +.Ql 1 +にして +.Fn srandom +を呼び出すと再作成できます。 +.Pp +.Fn srandomdev +ルーチンは、暗号化での使用に適した乱数を戻す +.Xr urandom 4 +乱数デバイスを使用し、状態配列を初期化します。 +この初期化プロシージャは、どのような値で +.Fn srandom +を呼び出しても再作成できない状態を作成することに注意してください。 +状態バッファ内の連続する項は、固定の種の場合に適用される +LC アルゴリズムでは導出できないからです。 +.Pp +.Fn initstate +ルーチンは、引数として渡された状態配列を、後の使用のために初期化します。 +.Fn initstate +は、状態配列のサイズ (バイト単位) を使用し、 +乱数ジェネレータの複雑さを決定します。 +状態を大きくすると、乱数の質は上がります。 +(現在のところ、状態情報の量に「最適」な値は、8 バイト、32 バイト、 +64 バイト、128 バイト、256 バイトです。 +その他の値は、最も近い値に切り下げられます。 +8 バイトより小さい値を使用するとエラーとなります。) +初期化の種 (乱数シーケンスの開始点を指定し、同じ点から再開できる) も引数です。 +.Fn initstate +関数は、以前の状態情報配列へのポインタを戻します。 +.Pp +状態を初期化したら、 +.Fn setstate +ルーチンで状態を素早く切り替えられます。 +.Fn setstate +関数は、以前の状態配列へのポインタを戻します。 +引数である状態配列は、次に +.Fn initstate +か +.Fn setstate +を呼び出すまで、さらに乱数を作成するのに使用されます。 +.Pp +状態配列を初期化したら、 +.Fn initstate +を (目的の種、状態配列、サイズで) 呼び出すか、 +もしくは (状態配列を指定した) +.Fn setstate +と (目的の種を指定した) +.Fn srandom +の両方を呼び出すことで、異なる点から再開できます。 +.Fn setstate +と +.Fn srandom +の両方を呼び出すと、状態配列のサイズを初期化した後で記憶する必要がない +という長所が得られます。 +.Pp +状態情報を 256 バイトにすると、乱数ジェネレータの周期は +.if t 2\u\s769\s10\d +.if n 2**69 +より大きくなります。 +この周期では、ほとんどの目的に十分に対応できます。 +.Sh 作者 +.An Earl T. Cohen +.Sh 診断 +状態情報を 8 バイトより小さくして +.Fn initstate +を呼び出したり、状態情報が歪められたことを +.Fn setstate +が検出したりすると、エラーメッセージが標準エラー出力に出力されます。 +.Sh 関連項目 +.Xr rand 3 , +.Xr srand 3 , +.Xr urandom 4 +.Sh 歴史 +この関数は、 +.Bx 4.2 +で登場しました。 +.Sh バグ +処理速度は、 +.Xr rand 3 +の約 2/3 です。 +.Pp +古い実装では初期化のプロセスが非常に弱く、 +種を用いてもランダムシーケンスはあまり変わりませんでした。 +現在のシステムは、より良い疑似乱数ジェネレータを +初期状態の算出に採用しています。 diff --git a/documentation/manual-pages/ja/man3/rcmd.3 b/documentation/manual-pages/ja/man3/rcmd.3 new file mode 100644 index 0000000000..9aa8186af8 --- /dev/null +++ b/documentation/manual-pages/ja/man3/rcmd.3 @@ -0,0 +1,273 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/net/rcmd.3,v 1.12.2.8 2001/12/14 18:33:55 ru Exp % +.\" $FreeBSD$ +.\" +.Dd March 3, 2000 +.Dt RCMD 3 +.Os +.Sh 名称 +.Nm rcmd , +.Nm rresvport , +.Nm iruserok , +.Nm ruserok , +.Nm rcmd_af , +.Nm rresvport_af , +.Nm iruserok_sa +.Nd リモートコマンドにストリームを返すルーチン +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.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" +.Ft int +.Fn rcmd_af "char **ahost" "int inport" "const char *locuser" "const char *remuser" "const char *cmd" "int *fd2p" "int af" +.Ft int +.Fn rresvport_af "int *port" "int af" +.Ft int +.Fn iruserok_sa "const void *addr" "int addrlen" "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 を信頼する必要しかありません。 +.Pp +.Dq Li _af +や +.Dq Li _sa +といった接尾辞のついた関数、たとえば +.Fn rcmd_af , +.Fn rresvport_af +や +.Fn iruserok_sa +などは、IPv6 と IPv4 ポートを扱えることを除いて、 +対応する接尾辞のない関数と同じ動作をします。 +.Pp +.Dq Li _af +接尾辞は、アドレスファミリ (下記参照) を指定するために使われる +.Fa af +引数が加わっていることを意味しています。 +.Fa af +引数の拡張は、バイナリアドレス引数を持たない関数に対して実装されています。 +バイナリアドレスの代わりに +.Fa af +引数はどのアドレスファミリが必要かを指定します。 +.Pp +.Dq Li _sa +接尾辞は、関数が汎用ソケットアドレスと長さを +引数に持っていることを意味しています。 +ソケットアドレスはプロトコルに依存しないデータ構造なので、 +必要に応じて IPv4 と IPv6 のソケットアドレスを渡すことができます。 +.Fa sa +引数の拡張は、プロトコルに依存したバイナリアドレス引数を渡す関数に対して +実装されています。 +引数は、汎用的な方法でいくつものアドレスファミリをサポートするように、 +更に汎用的なアドレス構造に置き換えられる必要があります。 +.Pp +.Dq Li _af +接尾辞も +.Dq Li _sa +接尾辞もついていない関数は、IPv6 と IPv4 の両方とも扱える +.Fn ruserok +関数を除いて、IPv4 のみで動作します。 +アドレスファミリを切替えるには、 +.Fa af +引数に +.Dv AF_INET +もしくは +.Dv AF_INET6 +を設定しなければなりません。 +.Fn rcmd_af +に対しては、 +.Dv PF_UNSPEC +も許されます。 +.Sh 診断 +成功した場合、 +.Fn rcmd +関数は有効なソケット記述子を返します。 +エラーが発生した場合は -1 を返し、診断メッセージを標準エラーに出力します。 +.Pp +成功した場合、 +.Fn rresvport +関数は有効で結合したソケット記述子を返します。 +エラーが発生した場合は -1 を返し、エラーの原因に従ってグローバル変数 +.Va errno +が設定されます。 +「すべてのネットワークポートが使用されている」ことを示す場合は、 +エラーコード +.Er EAGAIN +がオーバロードされます。 +.Sh 関連項目 +.Xr rlogin 1 , +.Xr rsh 1 , +.Xr intro 2 , +.Xr rexec 3 , +.Xr rexecd 8 , +.Xr rlogind 8 , +.Xr rshd 8 +.Pp +.Rs +.%A W. Stevens +.%A M. Thomas +.%T "Advanced Socket API for IPv6" +.%O RFC2292 +.Re +.Rs +.%A W. Stevens +.%A M. Thomas +.%A E. Nordmark +.%T "Advanced Socket API for IPv6" +.%O draft-ietf-ipngwg-rfc2292bis-01.txt +.Re +.Sh 歴史 +これらのほとんどの関数は、 +.Bx 4.2 +で登場しました。 +.Fn rresvport_af +は RFC2292 で登場し、 Hydrangea IPv6 プロトコルスタックキットのために +WIDE プロジェクトによって実装されました。 +.Fn rcmd_af +は draft-ietf-ipngwg-rfc2292bis-01.txt で登場し、 +WIDE/KAME IPv6 プロトコルスタックキットで実装されました。 +.Fn iruserok_sa +は IETF の ipngwg メーリングリストの議論で登場し、 +.Fx 4.0 +で実装されました。 diff --git a/documentation/manual-pages/ja/man3/re_comp.3 b/documentation/manual-pages/ja/man3/re_comp.3 new file mode 100644 index 0000000000..3294c7a99d --- /dev/null +++ b/documentation/manual-pages/ja/man3/re_comp.3 @@ -0,0 +1,117 @@ +.\" 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. +.\" +.\" @(#)re_comp.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libcompat/4.3/re_comp.3,v 1.6.2.4 2001/12/17 10:08:29 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt RE_COMP 3 +.Os +.Sh 名称 +.Nm re_comp , +.Nm re_exec +.Nd 定型数式ハンドラ +.Sh ライブラリ +.Lb libcompat +.Sh 書式 +.Fd #include <unistd.h> +.Ft char * +.Fn re_comp "const char *s" +.Ft int +.Fn re_exec "const char *s" +.Sh 解説 +.Bf -symbolic +このインタフェースは、 +.Xr regex 3 +に置き換えられました。 +.Ef +.Pp +.Fn re_comp +関数は、パターンマッチングに合う内部形式にストリングをコンパイルします。 +.Fn re_exec +関数は、 +.Fn re_comp +に渡された最後のストリングと引数ストリングを照合します。 +.Pp +.Fn re_comp +関数は、ストリング +.Fa s +が問題なくコンパイルされると 0 を戻します。問題が発生した場合は、エラー +メッセージを含むストリングが戻されます。0 かヌルストリングが渡された +.Fn re_comp +は、現在コンパイルされている定型数式を変更せずに戻ります。 +.Pp +.Fn re_exec +関数は、最後にコンパイルされた定型数式とストリング +.Fa s +が一致すると 1 を戻します。最後にコンパイルされた定型数式とストリング +.Fa s +が一致しない場合は 0 を戻します。 +コンパイルされた定型数式が正しくない場合は \-1 を戻します (内部エラー)。 +.Pp +.Fn re_comp +と +.Fn re_exec +の両方に渡すストリングには、最後に改行文字が付いていたり、改行文字 +が埋め込まれていたりすることがありますが、これらは +.Dv NUL +で終端されます。 +認識される定型数式については、上記のような違いがありますが、 +.Xr ed 1 +のマニュアルエントリを参照してください。 +.Sh 診断 +.Fn re_exec +関数は、内部エラーが発生した場合、-1 を戻します。 +.Pp +.Fn re_comp +関数は、エラーが発生した場合、以下のストリングのうち 1 つを戻します。 +.Bd -unfilled -offset indent +No previous regular expression, +Regular expression too long, +nmatched \e(, +missing ], +too many \e(\e) pairs, +unmatched \e). +.Sh 関連項目 +.Xr ed 1 , +.Xr egrep 1 , +.Xr ex 1 , +.Xr fgrep 1 , +.Xr grep 1 , +.Xr regex 3 +.Sh 歴史 +.Fn re_comp +関数と +.Fn re_exec +関数は、 +.Bx 4.0 +に追加されました。 diff --git a/documentation/manual-pages/ja/man3/realpath.3 b/documentation/manual-pages/ja/man3/realpath.3 new file mode 100644 index 0000000000..6d7d30ebeb --- /dev/null +++ b/documentation/manual-pages/ja/man3/realpath.3 @@ -0,0 +1,116 @@ +.\" Copyright (c) 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Jan-Simon Pendry. +.\" +.\" 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. +.\" +.\" @(#)realpath.3 8.2 (Berkeley) 2/16/94 +.\" %FreeBSD: src/lib/libc/stdlib/realpath.3,v 1.7.2.3 2001/12/14 18:33:58 ru Exp % +.\" $FreeBSD$ +.\" +.Dd February 16, 1994 +.Dt REALPATH 3 +.Os +.Sh 名称 +.Nm realpath +.Nd 正規の絶対パス名を戻す +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/param.h +.In stdlib.h +.Ft "char *" +.Fn realpath "const char *pathname" "char resolved_path[MAXPATHLEN]" +.Sh 解説 +.Fn realpath +関数は、 +.Fa pathname +のすべてのシンボリックリンク、余分な +.Dq / +キャラクタ、 +.Pa /./ +と +.Pa /../ +のリファレンスを分析し、 +.Fa resolved_path +が参照するメモリに絶対パス名をコピーします。 +.Fa resolved_path +引数は、少なくとも +.Dv MAXPATHLEN +キャラクタを保存できるバッファを参照している必要があります。 +.Pp +.Fn realpath +関数は、絶対パスと相対パスの両方を分析し、 +.Fa pathname +に対応する絶対パス名を戻します。 +.Fa pathname +の最後のコンポーネント以外は、 +.Fn readpath +を呼び出したときに存在している必要があります。 +.Sh 戻り値 +.Fn realpath +関数は、問題がなければ +.Fa resolved_path +を戻します。 +エラーが発生した場合、 +.Fn realpath +は +.Dv NULL +を戻し、問題となったパス名を +.Fa resolved_path +に入れます。 +.Sh エラー +.Fn realpath +関数がエラーとなると、ライブラリ関数 +.Xr chdir 2 , +.Xr close 2 , +.Xr fchdir 2 , +.Xr lstat 2 , +.Xr open 2 , +.Xr readlink 2 , +.Xr getcwd 3 +で指定されているエラーを外部変数 +.Va errno +に設定することがあります。 +.Sh 警告 +この +.Fn realpath +の実装は、Solaris での実装とは多少異なります。 +.Bx 4.4 +のバージョンは常に絶対パス名を戻しますが、Solaris での実装は、 +ある状況下で、相対パス名が指定されると相対パス名を戻します。 +.Sh 関連項目 +.Xr getcwd 3 +.Sh 歴史 +.Fn realpath +関数は、 +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/recno.3 b/documentation/manual-pages/ja/man3/recno.3 new file mode 100644 index 0000000000..77b6e36fbc --- /dev/null +++ b/documentation/manual-pages/ja/man3/recno.3 @@ -0,0 +1,219 @@ +.\" 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. +.\" +.\" @(#)recno.3 8.5 (Berkeley) 8/18/94 +.\" %FreeBSD: src/lib/libc/db/man/recno.3,v 1.4.2.2 2001/12/14 18:33:49 ru Exp % +.\" $FreeBSD$ +.\" +.Dd August 18, 1994 +.Dt RECNO 3 +.Os +.Sh 名称 +.Nm recno +.Nd レコード番号データベースへのアクセス手法 +.Sh 書式 +.In sys/types.h +.In db.h +.Sh 解説 +.Fn dbopen +ルーチンは、データベースファイルのライブラリインタフェース +ですが、そこでサポートされているファイルフォーマットの 1 つに、 +レコード番号ファイルがあります。データベースアクセス手法の一般事項については、 +.Xr dbopen 3 +を参照してください。このマニュアルページでは、 +.Nm +の固有事項について +説明します。 +.Pp +レコード番号データ構造は、フラットファイルフォーマットで保存された、 +可変長あるいは固定長のレコードで、論理レコード番号でアクセスされます。 +レコード番号 5 が存在するということは、レコード 1 からレコード 4 が +存在することになります。レコード番号 1 を削除すると、レコード番号 5 は +レコード番号 4 になり、レコード番号 1 の後ろを指していたカーソルは、 +1 レコード下にシフトします。 +.Pp +.Fn dbopen +で提供される +.Nm +へのアクセス手法に固有なデータ構造は、 +.Aq Pa db.h +インクルードファイルで以下のように定義されています。 +.Bd -literal +typedef struct { + u_long flags; + u_int cachesize; + u_int psize; + int lorder; + size_t reclen; + u_char bval; + char *bfname; +} RECNOINFO; +.Ed +.Pp +この構造体のエレメントは、以下のように定義されます。 +.Bl -tag -width indent +.It Va flags +フラグ値は、以下の値の論理和 ( +.Em or +) を取ることで指定されます。 +.Bl -tag -width indent +.It Dv R_FIXEDLEN +レコードは固定長で、バイトで区切られていません。 +構造体のエレメント +.Va reclen +がレコードの長さを指定し、構造体のエレメント +.Va bval +がパッドキャラクタとして使用されます。データベースに挿入された +レコードは、 +.Va reclen +バイトより小さい場合、自動的にパッドされます。 +.It Dv R_NOKEY +.Fn dbopen +が指定するインタフェースでは、 +シーケンシャルレコード検索で、呼び出し側のキーとデータ構造の両方にデータが +入ります。 +.Dv R_NOKEY +フラグを指定すると、 +.Em cursor +ルーチンがなくてもキー構造に +データが入ります。これにより、アプリケーションは、中間に存在するレコード +すべてを読み込まずに、ファイルの最後のレコードを取り出せます。 +.It Dv R_SNAPSHOT +このフラグは、修正されていないレコードを +オリジナルファイルから読み込む代わりに、 +.Fn dbopen +が呼び出された場合にファイル +のスナップショットを取ることを要求します。 +.El +.It Va cachesize +メモリキャッシュの最大サイズ (バイト単位) です。この値は +.Em 参考程度のもの +で、アクセス手法はエラーにならずにこれ以上のメモリを割り +振ります。 +.Va cachesize +を 0 にすると (サイズを指定しないと)、デフォルトの +キャッシュが使用されます。 +.It Va psize +.Nm +へのアクセス手法は、レコードのメモリのコピーを btree に +保存します。 +この値は、そのツリーのノードで使用されるページのサイズ (バイト単位) です。 +.Va psize +が 0 である場合は (ページサイズが指定されていない場合は)、 +基礎となるファイルシステムの I/O ブロックサイズに従って +ページサイズが選択されます。詳細については、 +.Xr btree 3 +を参照してください。 +.It Va lorder +保存されているデータベースメタデータの整数のバイトオーダ +です。整数のオーダを数値で表現する必要があります。たとえば +ビッグエンディアンのばバイトオーダは、4321 の順番になります。 +.Va lorder +が 0 である場合は、(オーダが指定されていない場合は)、 +現行ホストのオーダが使用されます。 +.It Va reclen +固定長レコードの長さです。 +.It Va bval +可変長レコードの場合は、レコードの終わりをマークする区切り +バイトで、固定長レコードの場合は、パッドキャラクタです。値を指定しないと、 +可変長レコードの最後は改行 +.Pq Dq \en +でマークされ、 +固定長レコードはスペースでパッドされます。 +.It Va bfname +.Nm +アクセス手法は、レコードのメモリのコピーを btree に保存します。 +.Dv NULL +以外の +.Va bfname +は、btree ファイルの +.Fn dbopen +の +ファイル名として指定されたかのように、btree ファイルの名前を指定します。 +.El +.Pp +.Nm +へのアクセス手法で使用するキーとデータのペアのデータ部分は、その +他のアクセス手法と同じですが、キーは異なります。キーの +.Va data +フィールドは、 +.Aq Pa db.h +インクルードファイルで定義された、タイプ +.Ft recno_t +のメモリ位置を指す +ポインタでなければなりません。通常の場合、このタイプは、システムで +使用できる最大の符号なし整数タイプです。キーの +.Va size +フィールドは、そのタイプのサイズである必要があります。 +.Pp +基礎となる +.Nm +アクセス手法ファイルでは、メタデータを +関連付けられないので、デフォルト値に対する変更内容 (たとえばレコードの +固定長やバイト区切り値) は、ファイルを開くたびに明確に指定する +必要があります。 +.Pp +.Fn dbopen +が指定するインタフェースでは、 +.Va put +インタフェースを使用して +新しいレコードを作成すると、レコード番号が、現在のデータベースの最大 +レコードより 1 以上大きい場合、複数の空のレコードが作成されます。 +.Sh エラー +.Nm +アクセス手法ルーチンがエラーになると、ライブラリルーチン +.Xr dbopen 3 +に指定されたエラーか以下のエラーに +.Va errno +が設定されます。 +.Bl -tag -width Er +.It Bq Er EINVAL +固定長データベースに、大きすぎるレコードを +追加しようとしました。 +.El +.Sh 関連項目 +.Xr btree 3 , +.Xr dbopen 3 , +.Xr hash 3 , +.Xr mpool 3 +.Rs +.%T "Document Processing in a Relational Database System" +.%A Michael Stonebraker +.%A Heidi Stettner +.%A Joseph Kalash +.%A Antonin Guttman +.%A Nadene Lynn +.%R "Memorandum No. UCB/ERL M82/32" +.%D May 1982 +.Re +.Sh バグ +ビッグエンディアンのバイトオーダとリトルエンディアンのバイトオーダのみ +がサポートされています。 diff --git a/documentation/manual-pages/ja/man3/regex.3 b/documentation/manual-pages/ja/man3/regex.3 new file mode 100644 index 0000000000..b806e70557 --- /dev/null +++ b/documentation/manual-pages/ja/man3/regex.3 @@ -0,0 +1,486 @@ +.\" Copyright (c) 1992, 1993, 1994 Henry Spencer. +.\" Copyright (c) 1992, 1993, 1994 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" Henry Spencer. +.\" +.\" 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. +.\" +.\" @(#)regex.3 8.4 (Berkeley) 3/20/94 +.\" +.\" $FreeBSD$ +.TH REGEX 3 "March 20, 1994" +.de ZR +.\" one other place knows this name: the SEE ALSO section +.IR re_format (7) \\$1 +.. +.SH 名称 +regcomp, regexec, regerror, regfree \- 正規表現ライブラリ +.SH 書式 +.ft B +.\".na +#include <sys/types.h> +.br +#include <regex.h> +.HP 10 +int regcomp(regex_t\ *preg, const\ char\ *pattern, int\ cflags); +.HP +int\ regexec(const\ regex_t\ *preg, const\ char\ *string, +size_t\ nmatch, regmatch_t\ pmatch[], int\ eflags); +.HP +size_t\ regerror(int\ errcode, const\ regex_t\ *preg, +char\ *errbuf, size_t\ errbuf_size); +.HP +void\ regfree(regex_t\ *preg); +.\".ad +.ft +.SH 解説 +このルーチンは、POSIX 1003.2 正規表現(``RE'')を実現しています。 +.ZR +を参照してください。 +.I regcomp +は、内部フォームにストリングとして書き込まれた RE をコンパイルします。 +.I regexec +は、その内部フォームをストリングと突き合わせて結果を報告します。 +.I regerror +は、エラーコードを人が判読できるメッセージに変換します。 +.I regfree +は、RE の内部フォームで使用される、 +ダイナミックに割り振られた記憶域を解放します。 +.PP +ヘッダ +.I <regex.h> +は、コンパイルされた内部フォーム用の +.I regex_t, +および突き合わせの報告用の +.I regmatch_t +という、2 つの構造体タイプを宣言します。4 つの関数、タイプ +.I regoff_t, +名前が ``REG_'' で始まる定数の数も宣言します。 +.PP +.I Regcomp +は、 +.IR cflags +のフラグに従って、 +.I pattern +ストリングに含まれる正規表現をコンパイルし、 +.IR preg +が指す +.I regex_t +構造体に結果を配置します。 +.I cflags +は、ゼロ個以上の以下のフラグでビットワイズ論理和を取ったものです。 +.IP REG_EXTENDED \w'REG_EXTENDED'u+2n +デフォルトの古い ( ``基本'' ) RE の代わりに、新しい ( ``拡張'' ) RE を +コンパイルします。 +.IP REG_BASIC +0 のシノニムです。 +REG_EXTENDED に対して提供されたもので、読みやすさを改善します。 +.IP REG_NOSPEC +すべての特殊文字が無効になっていることを認識して +コンパイルします。すべてのキャラクタは通常文字とみなされるので、 +``RE'' はリテラルストリングになります。これは、POSIX 1003.2 と +互換性があるが指定されていないエクステンションです。 +他のシステムに移植することを目的としたソフトウェアでは +注意して使用してください。REG_EXTENDED と REG_NOSPEC は、 +.I regcomp +の呼び出しで同時には使用できません。 +.IP REG_ICASE +大文字と小文字を区別しないマッチング用にコンパイルします。 +.ZR +を参照してください。 +.IP REG_NOSUB +一致したものではなく、問題の有無のレポートのみが必要な +マッチング用にコンパイルします。 +.IP REG_NEWLINE +改行を考慮するマッチング用にコンパイルします。 +デフォルトの場合、改行は、RE とストリングで特殊な意味がない、完全な +通常文字です。このフラグを使用すると、ブランケット `[^' と `.' は改行と +一致しなくなります。アンカ `^' は、通常関数に加え、ストリングの改行の +後ろにある NULL ストリングと一致するようになります。アンカ `$' は、 +通常関数に加え、ストリングの改行の前にある NULL ストリングと +一致するようになります。 +.IP REG_PEND +最初の NULL ではなく、 +.IR preg +が指す構造体の +.I re_endp +メンバが指すキャラクタの直前で正規表現が終わるようになります。 +.I re_endp +メンバのタイプは +.IR const\ char\ * +です。このフラグは、RE に NULL が含まれることを許可します。 +この NULL は、通常文字とみなされます。これは、POSIX 1003.2 と +互換性があるが指定されていないエクステンションです。他のシステムへの移植を +目的としたソフトウェアでは注意して使用してください。 +.PP +問題がない場合、 +.I regcomp +は 0 を戻し、 +.I preg +が指す構造体にデータを入れます。 +この構造体の 1 つのメンバ ( +.IR re_endp +以外 ) は公表されます。 +.IR size_t +タイプの +.IR re_nsub +には、RE の括弧で囲まれたサブ表現の数が入ります ( REG_NOSUB フラグを +使用した場合、このメンバの値は不定になります ) 。 +.I regcomp +でエラーが発生すると、ゼロ以外のエラーコードが戻されます。診断を +参照してください。 +.PP +.I regexec +は、 +.I eflags +のフラグに従って、 +.I preg +が指すコンパイル済み RE を +.IR string +と突き合わせ、 +.IR nmatch, +.IR pmatch, +戻り値を使用して結果を報告します。RE は、これ以前に +.IR regcomp +を呼び出してコンパイルしておく必要があります。 +コンパイルされたフォームは、 +.IR regexec +を実行しても変更されないので、1 つのコンパイル済み RE を +複数のスレッドで同時に使用できます。 +.PP +デフォルトの場合、 +.I string +が指す、NULL で終了するストリングは、 +ライン全体から最後の改行を除いたテキストとみなされます。 +.I eflags +引数は、ゼロ個以上の以下のフラグでビットワイズ論理和を取ったものです。 +.IP REG_NOTBOL \w'REG_STARTEND'u+2n +ストリングの最初のキャラクタがラインの最初ではないので、`^' アンカが +その前で一致する必要はありません。REG_NEWLINE の改行の動作は影響されません。 +.IP REG_NOTEOL +ストリングを終了する NULL がラインを終了しないので、`$' アンカが +その前で一致する必要はありません。REG_NEWLINE の改行の動作は影響されません。 +.IP REG_STARTEND +.IR nmatch +の値に関係なく、ストリングが +\fIstring\fR\ + \fIpmatch\fR[0].\fIrm_so\fR +で始まり、最後の NULL が +\fIstring\fR\ + \fIpmatch\fR[0].\fIrm_eo\fR +に配置されている ( その場所に NULL が実際に存在する必要はない ) と +みなされます。 +.IR pmatch +と +.IR nmatch +の定義については、下記を参照してください。 +これは、POSIX 1003.2 と互換性があるが指定されていないエクステンションです。 +他のシステムへの移植を目的としたソフトウェアでは注意して使用してください。 +\fIrm_so\fRがゼロ以外であっても、 REG_NOTBOL が暗示されることはありません。 +REG_STARTEND はストリングの位置のみに影響し、マッチング方法には +影響しません。 +.PP +RE かその一部が +.IR string +のサブストリングと一致する状況で一致するものについては、 +.ZR +を参照してください。 +.PP +通常の場合、 +.I regexec +は問題がないと 0 を戻し、問題があるとゼロ以外のコード REG_NOMATCH を +戻します。例外的な状況では、ゼロではない、これ以外の +エラーコードが戻されることがあります。診断を参照してください。 +.PP +RE のコンパイルで REG_NOSUB を指定した場合、または +.I nmatch +が 0 である場合、 +.I regexec +は +.I pmatch +引数を無視します ( REG_STARTEND を指定した場合については下記参照 ) 。 +その他の場合、 +.I pmatch +は +.IR regmatch_t +タイプの +.I nmatch +構造体の配列を指します。このような構造体には、 +サブストリングの第 1 キャラクタのオフセットを含む +.I rm_so +、およびサブストリングの最後の後ろにある第 1 キャラクタのオフセットを含む +.IR rm_eo +というメンバが最低でも必要です。 +どちらもタイプは +.I regoff_t +( 最低でもサイズが +.I off_t +と +.IR ssize_t +である、符号付き算術タイプ ) です。オフセットは、 +.IR regexec +に指定した +.I string +引数の最初から計測されます。空のサブストリングは、空のサブストリングに続く +キャラクタを示す、等しいオフセットで表現されます。 +.PP +.I pmatch +配列の 0 番目のメンバには、RE 全体で一致した、 +.I string +のサブストリングが入ります。残りのメンバは、RE の括弧で囲まれたサブ表現で +一致したサブストリングを報告します。メンバ +.I i +は、RE の左括弧の次数を左から右に 1 から数えたサブ表現で、サブ表現 +.IR i +を報告します。突き合わせにまったく関係しなかったサブ表現か RE に存在しない +サブ表現 ( つまり、\fIi\fR\ > \fIpreg\fR\->\fIre_nsub\fR) に対応する、 +配列の未使用エントリでは、 +.I rm_so +と +.I rm_eo +の +両方が \-1 に設定されています。サブ表現が突き合わせに複数回関係した場合は、 +一致した最後のサブストリングが報告されます ( RE `(b*)+' が `bbb' と +一致する場合、括弧に囲まれたサブ表現は、3 つそれぞれの `b' 、 +および最後の `b' に続く無限の空ストリングと一致するため、 +報告されるサブストリングは空のうちの 1 つになります ) . +.PP +REG_STARTEND を指定した場合、 +.I pmatch +は最低でも 1 つの +.I regmatch_t +を指し ( +.I nmatch +が 0 であるか、REG_NOSUB を指定した場合でも )、 +REG_STARTEND の入力オフセットを保持する必要があります。出力での使用は、 +.IR nmatch +で完全に制御されます。 +.I nmatch +が 0 である場合、または REG_NOSUB を指定した場合、 +.IR pmatch [0] +の値は、 +.IR regexec +で問題が発生しなければ変更されません。 +.PP +.I regerror +は、 +.I regcomp +か +.I regexec +のゼロでない +.I errcode +を人間が判読可能で出力できるメッセージにマップします。 +.I preg +が NULL 以外である場合、エラーコードは、 +.IR preg +が指す +.I regex_t +の使用から発生します。エラーコードが +.IR regcomp +からのものである場合、エラーコードは、その +.IR regex_t +を使用して +最近実行した +.I regcomp +の結果となります +.IR ( regerror +は、 +.I regex_t +の情報を使用してより詳細なメッセージを提供することがあります ) 。 +.I regerror +は、NULL で終わるメッセージを +.IR errbuf +が指すバッファに配置します。NULL を含めたメッセージの長さは、最大で +.I errbuf_size +バイトに制限されます。 +メッセージ全体が収まらない場合は、最後の NULL の前で収まる部分までが +提供されます。どのような場合でも、戻り値は、最後の NULL も含めた、 +メッセージ全体を保持するのに必要なバッファサイズになります。 +.I errbuf_size +が 0 である場合、 +.I errbuf +は無視されますが、戻り値は正確です。 +.PP +.I regerror +に与えられた +.I errcode +と REG_ITOA の論理和を最初に取ると、作成される ``メッセージ'' は、 +エラーコードの説明ではなく、``REG_NOMATCH'' など、 +エラーコードの出力可能な名前になります。 +.I errcode +が REG_ATOI である場合、 +.I preg +は NULL 以外で、これが指す構造体の +.I re_endp +メンバは、エラーコードの出力可能な名前を指す必要があります。この場合、 +.I errbuf +の結果は、エラーコードの数値の十進数になります ( 名前が +認識されない場合は 0 ) 。 +REG_ITOA と REG_ATOI は、主にデバッグを目的としたものです。 +これは、POSIX 1003.2 と互換性があるが指定されていない +エクステンションです。他のシステムへの移植を目的としたソフトウェアでは +注意して使用してください。また試験的なものとみなされているので、 +変更されることがあることにも注意してください。 +.PP +.I regfree +は、 +.IR preg +が指すコンパイル済み RE に関連する、ダイナミックに +割り振られた記憶域を解放します。残った +.I regex_t +は有効なコンパイル済み RE ではないので、 +.I regexec +か +.I regerror +でこれを使用しても結果は不定になります。 +.PP +このすべての関数は、目次を除くグローバル変数を参照しません。引数が +安全である場合、複数のスレッドで使用しても安全です。 +.SH 実装における選択 +1003.2 には、``未定義'' と明言する形で、または RE の文法で +禁止されているという形で、システム設計者にゆだねている未決定事項が +数多くあります。このシステムでは、この未決定事項を以下のように +扱っています。 +.PP +大文字と小文字を区別するマッチングの定義については、 +.ZR +を参照してください。 +.PP +メモリの制限を除けば、RE の長さに制限はありません。メモリの使用量は +RE のサイズにだいたい比例しており、制限付きの反復を除いて、RE の複雑さに +大きく左右されることはありません。ほとんどのシステムでメモリが不足する、 +反復を使用した短い RE については、バグを参照してください。 +.PP +1003.2 で特別な意味 ( このような特別な意味は、 +古い [``basic''] RE のみにあります ) が与えられているもの +以外のバックスラッシュキャラクタは、通常文字とみなされます。 +.PP +一致しない [ は REG_EBRACK エラーです。 +.PP +等価クラスは、括弧で囲まれた表現の範囲を始めたり +終了したりできません。ある範囲の終了点が、他の範囲の +開始点になることはありません。 +.PP +制限付き反復の反復数の制限である RE_DUP_MAX は 255 です。 +.PP +反復演算子 (?, *, +, 制限) に別の反復演算子を +続けることはできません。反復演算子で表現やサブ表現を始めたり、 +`^' か `|' の後に反復演算子を続けたりすることはできません。 +.PP +表現やサブ表現の最初か最後に `|' を使用したり、`|' の後に +別の `|' を使用したりすることはできません。たとえば、`|' のオペランドを +空のサブ表現にすることはできません。括弧で囲まれた空のサブ表現 `()' は +許可されており、空のストリングかサブストリングと一致します。空のストリング +は、適切な RE ではありません。 +.PP +後に数字が続く `{' は、制限付き反復の制限の始まりとみなされます。 +この場合は、制限のシンタックスに従う必要があります。後に数字が +\fI 続かない\fR `{' は、通常文字とみなされます。 +.PP +古い ( ``基本'' ) RE のサブ表現の開始と終了を表す `^' と `$' はアンカ +であり、通常文字ではありません。 +.SH 関連項目 +grep(1), re_format(7) +POSIX 1003.2, sections 2.8 (Regular Expression Notation) +および +B.5 (C Binding for Regular Expression Matching) +.SH 診断 +以下は、 +.I regcomp +と +.I regexec +のゼロでないエラーコードです。 +.PP +.nf +.ta \w'REG_ECOLLATE'u+3n +REG_NOMATCH regexec() の一致でエラーが発生 +REG_BADPAT 正規表現が正しくない +REG_ECOLLATE 照合するエレメントが正しくない +REG_ECTYPE キャラクタクラスが正しくない +REG_EESCAPE エスケープ以外のキャラクタに \e が付いている +REG_ESUBREG バックリファレンス番号が正しくない +REG_EBRACK 括弧 [ ] の数が合わない +REG_EPAREN 括弧 ( ) の数が合わない +REG_EBRACE 括弧 { } の数が合わない +REG_BADBR { } の反復数が正しくない +REG_ERANGE [ ] のキャラクタ範囲が正しくない +REG_ESPACE メモリ不足 +REG_BADRPT ?, *, + オペランドが正しくない +REG_EMPTY 空の表現かサブ表現 +REG_ASSERT ``ありえない''、つまりバグ +REG_INVARG 引数が正しくない ( 負の長さのストリングなど ) +.fi +.SH 歴史 +最初の作者は Henry Spencer です。 +.BA 4.4 +の配布に含めるために変更されました。 +.SH バグ +アルファリリースであるため、欠陥のあることが知られています。 +問題がある場合は報告してください。 +.PP +機能的なバグとして知られているものに、国際化のシステムが +不完全であるということがあります。 1003.2 のデフォルトロケールが常に +仮定されるので、そのロケールの照合エレメントなどしか使用できません。 +.PP +バックリファレンスコードは微妙で、複雑な場合はその正確さに疑問が +残ります。 +.PP +.I regexec +のパフォーマンスは低くなっています。後のリリースでは +改善されますが、 +.I nmatch +が 0 を越えるとコストがかかり、 1 を越えると状況はさらに悪化します。 +.I regexec +は、バックリファレンスに多くのコストがかかる場合を除き、 +RE の複雑さには大きく影響されません。問題は RE の長さで、 +特殊文字を 2 倍として計算し、RE の長さを約 30 キャラクタに +収めると、処理は速くなります。 +.PP +.I regcomp +は、マクロ拡張で制限付き反復を実現しています。制限付き反復には、 +数が大きい場合、または制限付き反復がネストされている場合、長い +時間と多くのスペースが必要です。たとえば +`((((a{1,100}){1,100}){1,100}){1,100}){1,100}' +のような RE では、最終的にほとんどのマシンでスワップスペースが不足します。 +.PP +はっきりとしないエラー条件へのリスポンスにも問題があるようです。 +非常に大きな RE か複雑にネストした制限付き反復で引き起こされる、特定の内部 +オーバフローは、適切に処理されないことがあります。 +.PP +1003.2 の誤りにより、一致しない `(' が前にある場合にのみ `)' が +特殊文字になるので、`a)b' のようなものが正しい RE になってしまいます。 +この問題は、仕様が修正されるまで修正されません。 +.PP +バックリファレンスに関する、標準の定義は曖昧になっています。 +たとえば +`a\e(\e(b\e)*\e2\e)*d' が `abbbd' と一致してしまうのです。標準が +明確になるまで、このような場合の動作は信頼すべきではありません。 +.PP +ワード境界マッチングのシステムは多少あいまいで、ワード境界マッチング +とアンカの組み合わせにはバグが潜んでいる可能性があります。 diff --git a/documentation/manual-pages/ja/man3/remove.3 b/documentation/manual-pages/ja/man3/remove.3 new file mode 100644 index 0000000000..4ee4b9d095 --- /dev/null +++ b/documentation/manual-pages/ja/man3/remove.3 @@ -0,0 +1,87 @@ +.\" 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. +.\" +.\" @(#)remove.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdio/remove.3,v 1.3.2.6 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt REMOVE 3 +.Os +.Sh 名称 +.Nm remove +.Nd ディレクトリエントリの削除 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft int +.Fn remove "const char *path" +.Sh 解説 +.Fn remove +関数は、 +.Fa path +によって指定されるファイルもしくはディレクトリを削除します。 +.Pp +.Fa path +がディレクトリを指していた場合、 +.Fn remove "path" +は +.Fn rmdir "path" +と同等です。 +ファイルを指していた場合は、 +.Fn unlink "path" +と同等です。 +.Sh 戻り値 +.Rv -std remove +.Sh エラー +.Fn remove +関数は、エラーが発生すると、ルーチン +.Xr lstat 2 , +.Xr rmdir 2 , +.Xr unlink 2 +で規定されているエラーを +.Va errno +に設定することがあります。 +.Sh 関連項目 +.Xr rmdir 2 , +.Xr unlink 2 +.Sh 規格 +.Fn remove +関数は、 +.St -isoC +と +.St -xpg4.2 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/resolver.3 b/documentation/manual-pages/ja/man3/resolver.3 new file mode 100644 index 0000000000..563621356b --- /dev/null +++ b/documentation/manual-pages/ja/man3/resolver.3 @@ -0,0 +1,357 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" @(#)resolver.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/net/resolver.3,v 1.11.2.7 2001/12/14 18:33:55 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt RESOLVER 3 +.Os +.Sh 名称 +.Nm res_query , +.Nm res_search , +.Nm res_mkquery , +.Nm res_send , +.Nm res_init , +.Nm dn_comp , +.Nm dn_expand +.Nd リゾルバルーチン +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In netinet/in.h +.In arpa/nameser.h +.In resolv.h +.Ft int +.Fo res_query +.Fa "const char *dname" +.Fa "int class" +.Fa "int type" +.Fa "u_char *answer" +.Fa "int anslen" +.Fc +.Ft int +.Fo res_search +.Fa "const char *dname" +.Fa "int class" +.Fa "int type" +.Fa "u_char *answer" +.Fa "int anslen" +.Fc +.Ft int +.Fo res_mkquery +.Fa "int op" +.Fa "const char *dname" +.Fa "int class" +.Fa "int type" +.Fa "const u_char *data" +.Fa "int datalen" +.Fa "const u_char *newrr_in" +.Fa "u_char *buf" +.Fa "int buflen" +.Fc +.Ft int +.Fo res_send +.Fa "const u_char *msg" +.Fa "int msglen" +.Fa "u_char *answer" +.Fa "int anslen" +.Fc +.Ft int +.Fn res_init +.Fo dn_comp +.Fa "const char *exp_dn" +.Fa "u_char *comp_dn" +.Fa "int length" +.Fa "u_char **dnptrs" +.Fa "u_char **lastdnptr" +.Fc +.Ft int +.Fo dn_expand +.Fa "const u_char *msg" +.Fa "const u_char *eomorig" +.Fa "const u_char *comp_dn" +.Fa "char *exp_dn" +.Fa "int length" +.Fc +.Sh 解説 +これらのルーチンは、インターネットドメインネームサーバを使用し、 +問い合わせと応答メッセージの作成、送信、解釈を行います。 +.Pp +リゾルバルーチンが使用するグローバルな設定と状態の情報は、構造体 +.Em _res +に保存されます。 +ほとんどの値は、適切なデフォルト値になっているので無視できます。 +.Em _res.options +に保存されるオプションは、 +.Pa resolv.h +で以下のように定義されています。 +オプションは、有効なオプションのビット論理和をとった、 +単純なビットマスクとして保存されています。 +.Bl -tag -width RES_USE_INET6 +.It Dv RES_INIT +初期ネームサーバアドレスとデフォルトドメイン名が初期化されている場合は +真です ( +.Fn res_init +が呼び出された場合など)。 +.It Dv RES_DEBUG +デバッグメッセージを出力します。 +.It Dv RES_AAONLY +信頼できる応答のみを受け入れます。 +このオプションを使用した場合、信頼できる応答かエラーが見つかるまで +.Fn res_send +を続ける必要があります。 +現在のところ、これは実装されていません。 +.It Dv RES_USEVC +UDP データグラムの代わりに +.Tn TCP +接続を問い合わせに使用します。 +.It Dv RES_STAYOPEN +.Dv RES_USEVC +とともに使用し、問い合わせと問い合わせの間も +.Tn TCP +接続を開いたままに保ちます。 +多くの問い合わせを定期的に行うプログラムのみで便利です。 +通常の使用には +.Tn UDP +を使うべきです。 +.It Dv RES_IGNTC +現在は使用されません (トランケーションエラーを無視します、すなわち、 +.Tn TCP +で再試行しません)。 +.It Dv RES_RECURSE +問い合わせの反復要求ビットを設定します。 +これがデフォルトです ( +.Fn res_send +は反復問い合わせを行なわず、ネームサーバが反復を処理することを期待します)。 +.It Dv RES_DEFNAMES +設定すると、 +.Fn res_search +がシングルコンポーネント名 (ドットを含まない名前) に +デフォルトのドメイン名を追加するようになります。 +このオプションはデフォルトで有効になっています。 +.It Dv RES_DNSRCH +このオプションを設定すると、 +.Fn res_search +が、現在のドメインと親ドメインでホスト名を検索するようになります。 +.Xr hostname 7 +を参照してください。 +これは、標準ホスト検索ルーチン +.Xr gethostbyname 3 +によって使用されます。 +このオプションはデフォルトで有効になっています。 +.It Dv NOALIASES +このオプションは、 +.Dq Ev HOSTALIASES +環境変数によって制御されるユーザレベルのエイリアシング機能を無効にします。 +ネットワークデーモンでは、このオプションを設定する必要があります。 +.It Dv RES_USE_INET6 +IPv6 のみのアプリケーションのサポートを有効にします。 +IPv4 アドレスは IPv4 射影アドレスとして返されるようになります。 +たとえば、 +.Li 10.1.1.1 +は +.Li ::ffff:10.1.1.1 +のように返されます。 +このオプションは、特定のカーネルコンフィギュレーションの場合にだけ意味が +あります。 +.It Dv RES_USE_EDNS0 +EDNS0 拡張の OPT pseudo-RR のサポートを有効にします。 +このオプションにより、リゾルバコードは DNS 問い合わせに OPT pseudo-RR を +加えて、こちらの受け取りバッファの大きさを通知します。 +このオプションにより、DNS サーバはデフォルトでない大きさの受け取りバッファを +利用できるので、より大きな応答を送ることができるようになります。 +EDNS0 拡張されたDNS 問い合わせパケットは非 EDNS0 DNS サーバとは +互換性がありません。 +.El +.Pp +.Fn res_init +ルーチンは、設定ファイルを読み込み (設定ファイルが存在する場合。 +.Xr resolver 5 +参照)、デフォルトドメイン名、検索リスト、ローカルネームサーバの +インターネットアドレスを入手します。 +サーバが設定されていない場合は、リゾルバを実行しているホストが試されます。 +現在のドメイン名は、設定ファイルで指定されていない場合、 +ホスト名で定義されますが、環境変数 +.Ev LOCALDOMAIN +で上書きすることもできます。 +検索リストをプロセスごとに上書きする場合は、 +ブランクで区切られた複数のトークンをこの環境変数に含めます。 +これは、設定ファイルの +.Em search +コマンドに似ています。 +別の環境変数 +.Dq Ev RES_OPTIONS +を設定すれば、特定の内部リゾルバオプションを上書きできます。 +内部リゾルバオプションは、上書きされなければ、 +.Em _res +構造体のフィールドを変更することで設定されるか、設定ファイルの +.Em options +コマンドから継承されます。 +.Dq Ev RES_OPTIONS +環境変数のシンタックスについては、 +.Xr resolver 5 +を参照してください。 +通常の場合、初期化は以下のルーチンを初めて呼び出したときに実行されます。 +.Pp +.Fn res_query +関数は、サーバ問い合わせメカニズムのインタフェースを提供するもので、 +問い合わせの作成、作成された問い合わせのローカルサーバへの送信、応答の待機、 +応答の予備チェックを行います。 +問い合わせは、完全な形でのドメイン名 +.Fa dname +に対する、指定された +.Fa type +と +.Fa class +の情報を要求します。 +応答メッセージは +.Fa answer +バッファに残され、呼び出し側が指定する +.Fa anslen +の長さになっています。 +.Pp +.Fn res_search +ルーチンは、 +.Fn res_query +と同じように問い合わせの作成と応答の待機を行いますが、それに加えて +.Dv RES_DEFNAMES +と +.Dv RES_DNSRCH +オプションによって制御されるデフォルトと検索規則も実装しています。 +このルーチンは最初に成功した応答を返します。 +.Pp +残りのルーチンは、 +.Fn res_query +が使用する低レベルルーチンです。 +.Fn res_mkquery +関数は、標準問い合わせメッセージを作成して +.Fa buf +に配置し、問い合わせのサイズを返します。 +問い合わせが +.Fa buflen +より長い場合は -1 を返します。 +問い合わせタイプ +.Fa op +は、通常の場合 +.Dv QUERY +ですが、 +.Aq Pa arpa/nameser.h +で定義されているどの問い合わせタイプにもできます。 +問い合わせのドメイン名は +.Fa dname +で指定します。 +.Fa newrr +は現在使用されていませんが、更新メッセージを作成するためのものです。 +.Pp +.Fn res_send +ルーチンは、事前フォーマット済み問い合わせを送信し、応答を返します。 +.Dv RES_INIT +が設定されていない場合は +.Fn res_init +を呼び出します。 +ローカルネームサーバへの問い合わせの送信、およびタイムアウトと +再試行の処理も行います。 +応答メッセージの長さを返しますが、エラーがあった場合は -1 を返します。 +.Pp +.Fn dn_comp +関数は、ドメイン名 +.Fa exp_dn +を圧縮し、 +.Fa comp_dn +に保存します。 +圧縮された名前のサイズを返しますが、エラーがあった場合は -1 を返します。 +.Fa comp_dn +が指す配列のサイズは +.Fa length +で指定します。 +圧縮の際、現在のメッセージでそれまでに圧縮された名前を指すポインタ +.Fa dnptrs +の配列を使用します。 +最初のポインタはメッセージの最初を指し、リストは +.Dv NULL +で終わります。配列の制限は +.Fa lastdnptr +で指定します。 +.Fn dn_comp +の副作用は、名前が圧縮されたときにメッセージに挿入されるラベルのポインタの +リストが更新されることです。 +.Em dnptr +が +.Dv NULL +である場合、名前は圧縮されません。 +.Fa lastdnptr +が +.Dv NULL +である場合、ラベルのリストは更新されません。 +.Pp +.Fn dn_expand +エントリは、圧縮されたドメイン名 +.Fa comp_dn +を完全なドメイン名に展開します。 +圧縮された名前は、問い合わせもしくは応答メッセージに含まれます。 +.Fa msg +は、メッセージの最初を指すポインタです。 +展開された名前は、 +.Fa exp_dn +が示すサイズ +.Fa length +のバッファに配置されます。 +圧縮された名前のサイズが返されますが、 +エラーがあった場合は -1 が返されます。 +.Sh 関連ファイル +.Bl -tag -width /etc/resolv.conf +.It Pa /etc/resolv.conf +設定ファイル。 +.Xr resolver 5 +を参照のこと。 +.El +.Sh 関連項目 +.Xr gethostbyname 3 , +.Xr resolver 5 , +.Xr hostname 7 , +.Xr named 8 +.Pp +.%T RFC1032 , +.%T RFC1033 , +.%T RFC1034 , +.%T RFC1035 , +.%T RFC974 +.Rs +.%T "Name Server Operations Guide for BIND" +.Re +.Sh 歴史 +.Fn res_query +関数は +.Bx 4.3 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/rexec.3 b/documentation/manual-pages/ja/man3/rexec.3 new file mode 100644 index 0000000000..e66190ad83 --- /dev/null +++ b/documentation/manual-pages/ja/man3/rexec.3 @@ -0,0 +1,120 @@ +.\" 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. +.\" +.\" @(#)rexec.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libcompat/4.3/rexec.3,v 1.5.2.4 2001/08/17 15:42:56 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt REXEC 3 +.Os BSD 4.2 +.Sh 名称 +.Nm rexec +.Nd リモートコマンドにストリームを戻す +.Sh ライブラリ +.Lb libcompat +.Sh 書式 +.Ft int +.Fn rexec "char **ahost" "int inport" "char *user" "char *passwd" "char *cmd" "int *fd2p" +.Sh 解説 +.Bf -symbolic +このインタフェースは、 +.Xr krcmd 3 +に置き換えられました。 +.Ef +.Pp +.Fn rexec +関数は +.Xr gethostbyname 3 +を使用してホスト +.Fa *ahost +を検索し、ホストが存在しない場合は \-1 を戻します。ホストが存在する場 +合は、ホストの標準名に +.Fa *ahost +を設定します。ユーザ名とパスワードの両方が指定されている場合は、この情 +報を使用して外部ホストに認証します。ユーザ名とパスワードが指定されてい +な場合は、ホームディレクトリの環境とユーザの +.Pa .netrc +ファイルを検索して適切な情報を特定します。このすべてがエラーとなった場 +合は、情報を入力するようにユーザに要求します。 +.Pp +ポート +.Fa inport +は、接続に使用する、既知の +.Tn DARPA +インターネットポートを指定します。 +.Fn getservbyname \*qexec\*q \*qtcp\*q +を呼び出すと ( +.Xr getservent 3 +参照)、必要なポートを含む構造体のポインタが戻されます。 +接続のプロトコルについては、 +.Xr rexecd 8 +を参照してください。 +.Pp +問題なく接続されると、 +.Dv SOCK_STREAM +タイプのインターネットドメインのソケットが呼び出し側に戻され、 +.Em stdin +と +.Em stdout +としてリモートコマンドに指定されます。 +.Fa fd2p +が 0 以外である場合は、制御プロセスの補助チャンネルが設定され、その記述子が +.Fa *fd2p +に配置されます。制御プロセスは、このチャンネルのコマンド (ユニット 2) か +ら診断出力を戻し、このチャンネルのバイトを +.Tn UNIX +シグナル番号として受け入れ、コマンドのプロセスグループに転送します。戻される +診断情報には、認証が確認されてから第 2 接続が設定されるので、リモート認証 +エラーが含まれません。 +.Fa fd2p +が 0 である場合は、 +.Em stderr +(リモートコマンドのユニット 2) が +.Em stdout +と同じように作成されます。バンド外データを使用して注目を集められますが、 +リモートプロセスに任意のシグナルを送信する準備は行なわれません。 +.Sh 関連項目 +.Xr rcmd 3 , +.Xr rexecd 8 +.Sh 歴史 +.Fn rexec +関数は +.Bx 4.2 +に追加されました。 +.Sh バグ +.Fn rexec +関数は、暗号化されていないパスワードをネットワークで送信します。 +.Pp +基礎となるサービスは、セキュリティの大きな問題があるとみなされているた +め、多くのサイトでは有効になっていません。 +.Xr rexecd 8 +を参照してください。 diff --git a/documentation/manual-pages/ja/man3/rindex.3 b/documentation/manual-pages/ja/man3/rindex.3 new file mode 100644 index 0000000000..13eb522d0e --- /dev/null +++ b/documentation/manual-pages/ja/man3/rindex.3 @@ -0,0 +1,85 @@ +.\" 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. +.\" +.\" @(#)rindex.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/rindex.3,v 1.3.2.3 2001/12/14 18:33:59 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt RINDEX 3 +.Os +.Sh 名称 +.Nm rindex +.Nd 文字列中の文字位置の特定 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft char * +.Fn rindex "const char *s" "int c" +.Sh 解説 +.Fn rindex +関数は、ナル文字で終了する文字列 +.Fa s +から +.Fa c +( +.Em char +型に変換) に一致する最後の文字位置を調べます。 +.Sh 戻り値 +該当する文字が発見された場合、該当する文字へのポインタを返し、 +見つからなかった場合は NULL を返します。 +.Fa c +が +.Ql \e0 +の時、 +.Fn rindex +は文字列の最後の +.Ql \e0 +の位置を調べます。 +.Sh 関連項目 +.Xr index 3 , +.Xr memchr 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 歴史 +.Fn rindex +関数は、 +.At v6 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/rint.3 b/documentation/manual-pages/ja/man3/rint.3 new file mode 100644 index 0000000000..4b9486064d --- /dev/null +++ b/documentation/manual-pages/ja/man3/rint.3 @@ -0,0 +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 +.\" %FreeBSD: src/lib/msun/man/rint.3,v 1.6.2.2 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd March 10, 1994 +.Dt RINT 3 +.Os +.Sh 名称 +.Nm rint , +.Nm rintf +.Nd 浮動小数点形式で整数値への丸め +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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/documentation/manual-pages/ja/man3/rpc.3 b/documentation/manual-pages/ja/man3/rpc.3 new file mode 100644 index 0000000000..0e54c5ebb8 --- /dev/null +++ b/documentation/manual-pages/ja/man3/rpc.3 @@ -0,0 +1,1462 @@ +.\" @(#)rpc.3n 2.4 88/08/08 4.0 RPCSRC; from 1.19 88/06/24 SMI +.\" %FreeBSD: src/lib/libc/rpc/rpc.3,v 1.11.2.5 2001/12/14 18:33:56 ru Exp % +.\" $FreeBSD$ +.\" +.Dd February 16, 1988 +.Dt RPC 3 +.Os +.Sh 名称 +.Nm rpc +.Nd リモートプロシージャコール用ライブラリルーチン +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In rpc/rpc.h +.Pp +関数の説明については +.Sx 解説 +を参照してください。 +.Sh 解説 +このルーチンでは、C プログラムを使用して、 +ネットワークを通して別のマシンでプロシージャ呼び出しを実行できます。 +まずクライアントがプロシージャを呼び出し、 +データパケットをサーバに送信します。 +パケットを受け取ったサーバは、ディスパッチルーチンを呼び出し、 +要求されたサービスを実行してから応答を送り返します。 +最後に、プロシージャ呼び出しがクライアントに戻ります。 +.Pp +Secure +.Tn RPC ( DES +認証) に使用するルーチンについては、 +.Xr rpc_secure 3 +で説明します。 +Secure +.Tn RPC +は +.Tn DES +暗号化が使用できる場合にのみ使用できます。 +.Bl -tag -width indent -compact +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn auth_destroy "AUTH *auth" +.Xc +.Pp +.Fa auth +に関連する認証情報を破壊するマクロです。 +一般的に、破壊にはプライベートデータ構造の解放も含まれます。 +.Fn auth_destroy +を呼び出した後で +.Fa auth +を使用した結果は不定になります。 +.Pp +.It Xo +.Ft "AUTH *" +.Xc +.It Xo +.Fn authnone_create +.Xc +.Pp +各リモートプロシージャコールで使用できない認証情報を渡す +.Tn RPC +認証ハンドルを作成して戻します。 +.Tn RPC +は、この認証をデフォルトで使用します。 +.Pp +.It Xo +.Ft "AUTH *" +.Xc +.It Xo +.Fn authunix_create "char *host" "int uid" "int gid" "int len" "int *aup_gids" +.Xc +.Pp +認証情報を含む +.Tn RPC +.Ux +認証ハンドルを作成して戻します。 +パラメータ +.Fa host +は、情報を作成するマシンの名前です。 +.Fa uid +は、ユーザのユーザ ID です。 +.Fa gid +は、ユーザの現行グループ ID です。 +.Fa len +と +.Fa aup_gids +は、ユーザが属するグループの配列を表します。 +あるユーザになりすますことが容易です。 +.Pp +.It Xo +.Ft "AUTH *" +.Xc +.It Xo +.Fn authunix_create_default +.Xc +.Pp +適切なパラメータで +.Fn authunix_create +を呼び出します。 +.Pp +.It Xo +.Fo callrpc +.Fa "char *host" +.Fa "u_long prognum" +.Fa "u_long versnum" +.Fa "u_long procnum" +.Fa "xdrproc_t inproc" +.Fa "char *in" +.Fa "xdrproc_t outproc" +.Fa "char *out" +.Fc +.Xc +.Pp +マシン +.Fa host +で +.Fa prognum , +.Fa versnum , +.Fa procnum +に関連するリモートプロシージャを呼び出します。 +パラメータ +.Fa in +は、プロシージャの引数アドレスで、 +.Fa out +は結果を配置するアドレスです。 +.Fa inproc +は、プロシージャのパラメータをデコードするために使用し、 +.Fa outproc +は、プロシージャの結果をデコードするために使用します。 +このルーチンは、問題がなければ 0 を戻し、 +問題がある場合は、 +.Vt "enum clnt_stat" +を整数にキャストした値を戻します。 +エラーステータスをメッセージに変換するには、ルーチン +.Fn clnt_perrno +が便利です。 +.Pp +警告: このルーチンでリモートプロシージャを呼び出す場合は、 +.Tn UDP/IP +がトランスポート層として使用されます。 +制限事項については、 +.Fn clntudp_create +を参照してください。 +このルーチンを使用した場合、タイムアウトや認証は制御できません。 +.Pp +.It Xo +.Ft "enum clnt_stat" +.Xc +.It Xo +.Fo clnt_broadcast +.Fa "u_long prognum" +.Fa "u_long versnum" +.Fa "u_long procnum" +.Fa "xdrproc_t inproc" +.Fa "char *in" +.Fa "xdrproc_t outproc" +.Fa "char *out" +.Fa "bool_t (*eachresult)(caddr_t, struct sockaddr_in *) +.Fc +.Xc +.Pp +ローカルで接続されているすべてのブロードキャストネットに +呼び出しメッセージがブロードキャストされることを除けば、 +.Fn callrpc +と同じです。 +このルーチンは、応答を受け取るたびに、以下の形式の +.Fn eachresult +を呼び出します。 +.Bd -ragged -offset indent +.Ft bool_t +.Fn eachresult "caddr_t out" "struct sockaddr_in *addr" +.Ed +.Pp +.Fa out +は、リモートプロシージャの出力がデコードされることを除けば、 +.Fn clnt_broadcast +に渡される +.Fa out +と同じです。 +.Fa addr +は、結果を送信するマシンのアドレスを指します。 +.Fn eachresult +が 0 を戻す場合、 +.Fn clnt_broadcast +は次の応答を待ちます。 +0 を戻さない場合は、適切なステータスで戻ります。 +.Pp +警告: ブロードキャストソケットのサイズは、 +データリンクの最大転送単位に制限されています。 +イーサネットの場合、この値は 1500 バイトです。 +.Pp +.It Xo +.Ft "enum clnt_stat" +.Xc +.It Xo +.Fo clnt_call +.Fa "CLIENT *clnt" +.Fa "u_long procnum" +.Fa "xdrproc_t inproc" +.Fa "char *in" +.Fa "xdrproc_t outproc" +.Fa "char *out" +.Fa "struct timeval tout" +.Fc +.Xc +.Pp +.Fn clnt_create +などの +.Tn RPC +クライアント作成ルーチンで入手した、クライアントハンドル +.Fa clnt +に関連するリモートプロシージャ +.Fa procnum +を呼び出すマクロです。 +パラメータ +.Fa in +はプロシージャの引数のアドレスで、 +.Fa out +は結果を配置するアドレスです。 +.Fa inproc +はプロシージャのパラメータのデコードに使用し、 +.Fa outproc +はプロシージャの結果のデコードに使用します。 +.Fa tout +は、結果が戻るまでの時間です。 +.Pp +.It Xo +.Ft void +.Fn clnt_destroy "CLIENT *clnt" +.Xc +.Pp +クライアントの +.Tn RPC +ハンドルを破壊するマクロです。 +通常の場合、破壊には、 +.Fa clnt +も含めたプライベートデータ構造の解放も含まれます。 +.Fn clnt_destroy +を呼び出した後で +.Fa clnt +を使用した結果は不定になります。 +.Tn RPC +ライブラリが関連ソケットを開いた場合はそれも閉じます。 +関連ソケットを開いていない場合、ソケットは開いたまま残ります。 +.Pp +.It Xo +.Ft CLIENT * +.Xc +.It Xo +.Fn clnt_create "char *host" "u_long prog" "u_long vers" "char *proto" +.Xc +.Pp +一般的なクライアント作成ルーチンです。 +.Fa host +は、サーバが配置されているリモートホストの名前を指定します。 +.Fa proto +は、使用する転送プロトコルの種類を指定します。 +このフィールドで現在サポートされている値は、 +.Qq Li udp +と +.Qq Li tcp +です。 +タイムアウトはデフォルトが設定されていますが、 +.Fn clnt_control +を使用して修正できます。 +.Pp +警告: +.Tn UDP +の使用には短所があります。 +.Tn UDP +ベースの +.Tn RPC +メッセージは、 +8 キロバイトのエンコード済みデータまでしか維持できないので、 +大きな引数を取るプロシージャや、 +大きな結果を戻すプロシージャでは使用できません。 +.Pp +.It Xo +.Ft bool_t +.Xc +.It Xo +.Fn clnt_control "CLIENT *cl" "u_int req" "char *info" +.Xc +.Pp +クライアントオブジェクトのさまざまな情報の変更や取り出しを行うマクロです。 +.Fa req +はオペレーションのタイプを指定し、 +.Fa info +は情報のポインタです。 +.Tn UDP +と +.Tn TCP +の両方でサポートされている +.Fa req +の値、引数タイプ、実行内容は以下の通りです。 +.Bl -column "CLSET_RETRY_TIMEOUT" "struct sockaddr_in" +.It Dv CLSET_TIMEOUT Ta Xo +.Vt "struct timeval" Ta "総タイムアウトの設定" +.Xc +.It Dv CLGET_TIMEOUT Ta Xo +.Vt "struct timeval" Ta "総タイムアウトの入手" +.Xc +.El +.Pp +注意: タイムアウトを +.Fn clnt_control +で設定すると、 +.Fn clnt_call +に渡されるタイムアウトパラメータは、 +後のすべての呼び出しで無視されます。 +.Bl -column "CLSET_RETRY_TIMEOUT" "struct sockaddr_in" +.It Dv CLGET_SERVER_ADDR Ta Xo +.Vt "struct sockaddr_in" Ta "get server's address" +.Xc +.El +.Pp +以下のオペレーションは +.Tn UDP +のみで有効です。 +.Bl -column "CLSET_RETRY_TIMEOUT" "struct sockaddr_in" +.It Dv CLSET_RETRY_TIMEOUT Ta Xo +.Vt "struct timeval" Ta "再試行タイムアウトの設定" +.Xc +.It Dv CLGET_RETRY_TIMEOUT Ta Xo +.Vt "struct timeval" Ta "再試行タイムアウトの入手" +.Xc +.It Dv CLSET_CONNECT Ta Vt "int" Ta Xr connect 2 +を使用 +.El +.Pp +再試行タイムアウトは、サーバが応答してから要求を再送することを +.Tn "UDP RPC" +が待機する時間です。 +.Pp +.It Xo +.Ft bool_t +.Fn clnt_freeres "CLIENT *clnt" "xdrproc_t outproc" "char *out" +.Xc +.Pp +.Tn RPC/XDR +システムが +.Tn RPC +呼び出しの結果をデコードする場合に割り振ったデータを解放するマクロです。 +パラメータ +.Fa out +は結果のアドレスで、 +.Fa outproc +は結果を記述する +.Tn XDR +ルーチンです。 +このルーチンは、結果が問題なく解放された場合は 1 を戻し、 +問題が発生した場合は 0 を戻します。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn clnt_geterr "CLIENT *clnt" "struct rpc_err *errp" +.Xc +.Pp +クライアントハンドルのエラー構造を、アドレス +.Fa errp +の構造体にコピーするマクロです。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn clnt_pcreateerror "char *s" +.Xc +.Pp +クライアント +.Tn RPC +ハンドルを作成できない理由を表すメッセージを標準エラーに出力します。 +メッセージの最初には、文字列 +.Fa s +とコロンが付きます。 +これは、 +.Fn clnt_create , +.Fn clntraw_create , +.Fn clnttcp_create , +.Fn clntudp_create +のいずれかがエラーとなった場合に使用します。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn clnt_perrno "enum clnt_stat stat" +.Xc +.Pp +.Fa stat +が示す条件に対応するメッセージを標準エラーに出力します。 +.Fn callrpc +の後で使用してください。 +.Pp +.It Xo +.Ft void +.Fn clnt_perror "CLIENT *clnt" "char *s" +.Xc +.Pp +.Tn RPC +呼び出しがエラーになった理由を示すメッセージを標準エラーに出力します。 +.Fa clnt +は、呼び出しの実行に使用したハンドルです。 +メッセージ最初には、文字列 +.Fa s +とコロンが付きます。 +.Fn clnt_call +の後で使用してください。 +.Pp +.It Xo +.Ft "char *" +.Xc +.It Xo +.Fn clnt_spcreateerror "char *s" +.Xc +.Pp +標準エラーに出力する代わりに文字列を戻すことを除けば、 +.Fn clnt_pcreateerror +と同じです。 +.Pp +バグ: 各呼び出しで上書きされた静的データのポインタを戻します。 +.Pp +.It Xo +.Ft "char *" +.Xc +.It Xo +.Fn clnt_sperrno "enum clnt_stat stat" +.Xc +.Pp +.Fn clnt_perrno +と同じ引数を取りますが、 +.Tn RPC +呼び出しがエラーになった理由を示すメッセージを標準エラーに送信する代わりに、 +メッセージを含む文字列のポインタを戻します。 +文字列は改行 +.Pq Ql "\en" +で終わります。 +.Pp +プログラムに標準エラーがない場合 +(サーバとして実行しているプログラムには標準エラーがないことが多い)、 +またはメッセージを +.Fn printf +で出力する必要がない場合、 +あるいは +.Fn clnt_perrno +がサポートするもの以外のメッセージフォーマットを使用する場合は、 +.Fn clnt_perrno +の代わりに +.Fn clnt_sperrno +を使用します。 +.Pp +注意: +.Fn clnt_sperror +と +.Fn clnt_spcreaterror +とは異なり、 +.Fn clnt_sperrno +は静的データのポインタを戻しますが、 +結果は各呼び出しで上書きされません。 +.Pp +.It Xo +.Ft "char *" +.Xc +.It Xo +.Fn clnt_sperror "CLIENT *rpch" "char *s" +.Xc +.Pp +.Fn clnt_sperrno +と同じように、標準エラーに出力せずに文字列を戻すことを除けば、 +.Fn clnt_perror +と同じです。 +.Pp +バグ: 各呼び出しで上書きされた静的データのポインタを戻します。 +.Pp +.It Xo +.Ft "CLIENT *" +.Xc +.It Xo +.Fn clntraw_create "u_long prognum" "u_long versnum" +.Xc +.Pp +リモートプログラム +.Fa prognum +バージョン +.Fa versnum +のトイ +.Tn RPC +クライアントを作成します。 +サービスにメッセージを渡す実際のトランスポートは、 +プロセスのアドレススペース内にあるバッファなので、 +対応する +.Tn RPC +サーバは同じアドレススペースに存在する必要があります。 +.Fn svcraw_create +を参照してください。 +これにより、 +.Tn RPC +のシミュレーション、およびラウンドトリップタイムなど、 +.Tn RPC +オーバヘッドの取得をカーネルの干渉なしに実行できます。 +このルーチンは、エラーが発生すると +.Dv NULL +を戻します。 +.Pp +.It Xo +.Ft "CLIENT *" +.Xc +.It Xo +.Fo clnttcp_create +.Fa "struct sockaddr_in *addr" +.Fa "u_long prognum" +.Fa "u_long versnum" +.Fa "int *sockp" +.Fa "u_int sendsz" +.Fa "u_int recvsz" +.Fc +.Xc +.Pp +リモートプログラム +.Fa prognum +バージョン +.Fa versnum +の +.Tn RPC +クライアントを作成します。 +クライアントは、トランスポートとして +.Tn TCP/IP +を使用します。 +リモートプログラムは、インターネットアドレス +.Fa addr +にあります。 +.Fa addr\->sin_port +が 0 である場合は、 +リモートプログラムが注意を向ける実際のポートに設定されます ( +.Xr portmap 8 +サービスはこの情報で調べられます)。 +パラメータ +.Fa sockp +はソケットです。このパラメータが +.Dv RPC_ANYSOCK +である場合、このルーチンは新しいソケットを開いて +.Fa sockp +を設定します。 +.Tn TCP +ベースの +.Tn RPC +はバッファによる +.Tn I/O +を使用するので、ユーザはパラメータ +.Fa sendsz +と +.Fa recvsz +で送信バッファと受信バッファのサイズを指定できます。 +値を 0 にすると、適切なデフォルトが選択されます。 +このルーチンは、エラーになると +.Dv NULL +を戻します。 +.Pp +.It Xo +.Ft "CLIENT *" +.Xc +.It Xo +.Fo clntudp_create +.Fa "struct sockaddr_in *addr" +.Fa "u_long prognum" +.Fa "u_long versnum" +.Fa "struct timeval wait" +.Fa "int *sockp" +.Fc +.Xc +.Pp +リモートプログラム +.Fa prognum +バージョン +.Fa versnum +の +.Tn RPC +クライアントを作成します。 +クライアントは、トランスポートとして +.Tn UDP/IP +を使用します。 +リモートプログラムは、インターネットアドレス +.Fa addr +にあります。 +.Fa addr\->sin_port +が 0 である場合は、 +リモートプログラムが注意を向ける実際のポートに設定されます +(リモート +.Xr portmap 8 +サービスは、この情報で調べられます)。 +パラメータ +.Fa sockp +はソケットです。 +このパラメータが +.Dv RPC_ANYSOCK +である場合、このルーチンは新しいソケットを開いて +.Fa sockp +を設定します。 +.Tn UDP +トランスポートは、応答を受け取るまで、 +または呼び出しがタイムアウトになるまで、 +.Fa wait +時間間隔で呼び出しメッセージを再送信します。 +呼び出しがタイムアウトとなる時間は、 +で指定します。 +.Pp +警告: +.Tn UDP +ベースの +.Tn RPC +メッセージは、 +8 キロバイトのエンコード済みデータまでしか維持できないので、 +大きな引数を取るプロシージャや +大きな結果を戻すプロシージャでは使用できません。 +.Pp +.It Xo +.Ft "CLIENT *" +.Xc +.It Xo +.Fo clntudp_bufcreate +.Fa "struct sockaddr_in *addr" +.Fa "u_long prognum" +.Fa "u_long versnum" +.Fa "struct timeval wait" +.Fa "int *sockp" +.Fa "unsigned int sendsize" +.Fa "unsigned int recosize" +.Fc +.Xc +.Pp +リモートプログラム +.Fa prognum +バージョン +.Fa versnum +の +.Tn RPC +クライアントを作成します。 +クライアントは、トランスポートとして +.Tn UDP/IP +を使用します。 +リモートプログラムは、インターネットアドレス +.Fa addr +にあります。 +.Fa addr\->sin_port +が 0 である場合は、 +リモートプログラムが注意を向ける実際のポートに設定されます +(リモート +.Xr portmap 8 +サービスは、この情報で調べられます)。 +パラメータ +.Fa sockp +はソケットです。このパラメータが +.Dv RPC_ANYSOCK +である場合、このルーチンは新しいソケットを開いて +.Fa sockp +を設定します。 +.Tn UDP +トランスポートは、応答を受け取るまで、 +または呼び出しがタイムアウトになるまで +.Fa wait +時間間隔で呼び出しメッセージを再送信します。 +呼び出しがタイムアウトになる時間は、 +.Fn clnt_call +で指定します。 +.Pp +ユーザは、 +.Tn UDP +ベースの +.Tn RPC +メッセージの送受信を行う、最大パケットサイズを指定できます。 +.Pp +.It Xo +.Ft int +.Xc +.It Xo +.Fn get_myaddress "struct sockaddr_in *addr" +.Xc +.Pp +.Pa /etc/hosts +を処理するライブラリルーチンを参考にせず、マシンの +.Tn IP +アドレスを +.Fa addr +に入れます。ポート番号は、常に +.Fn htons PMAPPORT +に設定されます。 +問題がない場合は 0 を戻し、問題がある場合は 0 以外を戻します。 +.Pp +.It Xo +.Ft "struct pmaplist *" +.Xc +.It Xo +.Fn pmap_getmaps "struct sockaddr_in *addr" +.Xc +.Pp +.Xr portmap 8 +サービスのユーザインタフェースで、 +.Tn IP +アドレス +.Fa addr +にあるホストの +.Tn RPC +プログラムとポートの現行のマッピングのリストを戻します。 +このルーチンは +.Dv NULL +を戻すことがあります。 +コマンド +.Dq Nm rpcinfo Fl p +はこのルーチンを使用します。 +.Pp +.It Xo +.Ft u_short +.Xc +.It Xo +.Fo pmap_getport +.Fa "struct sockaddr_in *addr" +.Fa "u_long prognum" +.Fa "u_long versnum" +.Fa "u_long protocol" +.Fc +.Xc +.Pp +.Xr portmap 8 +サービスのユーザインタフェースで、 +プログラム番号 +.Fa prognum +バージョン +.Fa versnum +をサポートするサービスを待ち、 +.Fa protocol +に関連する転送プロトコルを表すポート番号を戻します。 +.Fa protocol +の値は、ほとんどの場合 +.Dv IPPROTO_UDP +か +.Dv IPPROTO_TCP +です。マッピングが存在しない場合、または +.Tn RPC +システムがリモート +.Xr portmap 8 +サービスと接触できない場合、戻り値は 0 になります。 +後者の場合、 +.Va rpc_createerr +には +.Tn RPC +ステータスが入ります。 +.Pp +.It Xo +.Ft "enum clnt_stat" +.Xc +.It Xo +.Fo pmap_rmtcall +.Fa "struct sockaddr_in *addr" +.Fa "u_long prognum" +.Fa "u_long versnum" +.Fa "u_long procnum" +.Fa "xdrproc_t inproc" +.Fa "char *in" +.Fa "xdrproc_t outproc" +.Fa "char *out" +.Fa "struct timeval tout" +.Fa "u_long *portp" +.Fc +.Xc +.Pp +.Xr portmap 8 +サービスのユーザインタフェースで、 +.Tn IP +アドレス +.Fa addr +のホストのプロシージャを +.Tn RPC +呼び出しにするように、そのホストの +.Xr portmap 8 +に命令します。 +プロシージャで問題が発生しない場合、パラメータ +.Fa portp +はプログラムのポート番号に修正されます。 +その他のパラメータについては、 +.Fn callrpc +と +.Fn clnt_call +を参照してください。 +このプロシージャは、 +.Dq ping +以外で使用することはありません。 +.Fn clnt_broadcast +も参照してください。 +.Pp +.It Xo +.Ft bool_t +.Fn pmap_set "u_long prognum" "u_long versnum" "u_long protocol" "u_short port" +.Xc +.Pp +.Xr portmap 8 +サービスのユーザインタフェースで、 +.Pq Fa prognum , versnum , protocol +の 3 つ、およびマシンの +.Xr portmap 8 +サービスでの +.Fa port +の間にマッピングを確立します。 +.Fa protocol +の値は、ほとんどの場合 +.Dv IPPROTO_UDP +か +.Dv IPPROTO_TCP . +です。 +このルーチンは問題がないと 1 を戻し、問題がある場合は 0 を戻します。 +これは、 +.Fn svc_register +で自動的に実行されます。 +.Pp +.It Xo +.Ft bool_t +.Fn pmap_unset "u_long prognum" "u_long versnum" +.Xc +.Pp +.Xr portmap 8 +サービスのユーザインタフェースで、 +.Pq Fa prognum , versnum , * +の 3 つ、および +.Xr portmap 8 +サービスでの +.Fa port +の間に存在するマッピングをすべて破壊します。 +このルーチンは、問題がなければ 1 を戻し、問題がある場合は 0 を戻します。 +.Pp +.It Xo +.Ft bool_t +.Fo registerrpc +.Fa "u_long prognum" +.Fa "u_long versnum" +.Fa "u_long procnum" +.Fa "char *(*procname)(void)" +.Fa "xdrproc_t inproc" +.Fa "xdrproc_t outproc" +.Fc +.Xc +.Pp +.Tn RPC +サービスパッケージでプロシージャ +.Fa procname +を登録します。 +プログラム +.Fa prognum +バージョン +.Fa versnum +プロシージャ +.Fa procnum +が要求されると、パラメータのポインタで +.Fa procname +が呼び出されます。 +.Fa progname +は、静的結果のポインタを戻します。 +.Fa inproc +はパラメータのデコードに使用され、 +.Fa outproc +は結果のエンコードに使用されます。 +このルーチンは、登録で問題が発生しなければ 0 を戻し、 +問題が発生したら \-1 を戻します。 +.Pp +警告: この形式で登録されたリモートプロシージャは、 +.Tn UDP/IP +トランスポートでアクセスされます。 +制限事項については +.Fn svcudp_create +を参照してください。 +.Pp +.It Xo +.Vt "struct rpc_createerr" rpc_createerr ; +.Xc +.Pp +エラーになった +.Tn RPC +クライアント作成ルーチンで値が設定されるグローバル変数です。 +エラーの原因を出力するには、ルーチン +.Fn clnt_pcreateerror +を使用します。 +.Pp +.It Xo +.Ft bool_t +.Fn svc_destroy "SVCXPRT * xprt" +.Xc +.Pp +.Tn RPC +サービス転送ハンドル +.Fa xprt +を破壊するマクロです。 +一般的に破壊処理には、 +.Fa xprt +も含むプライベートデータ構造の解放も含まれます。 +このルーチンを呼び出した後で +.Fa xprt +を使用した結果は不定となります。 +.Pp +.It Xo +.Vt fd_set svc_fdset ; +.Xc +.Pp +.Tn RPC +サービスサイドの読み込みファイル記述子ビットマスクを表すグローバル変数です。 +.Xr select 2 +システムコールのテンプレートパラメータとして最適です。 +サービスの設計者が +.Fn svc_run +を呼び出さず、非同期のイベント処理を行う場合のみに重要です。 +この変数は読み込み専用ですが +(アドレスを +.Xr select 2 +に渡しませんが)、 +.Fn svc_getreqset +か作成ルーチンを呼び出した後で変更できます。 +.Dv FD_SETSIZE , +を越える記述子の制限がプロセスにある場合、この変数は +.Dv FD_SETSIZE +記述子でしか使用できないことに注意してください。 +.Pp +.It Xo +.Vt int svc_fds ; +.Xc +.Pp +.Va svc_fdset +に似ていますが、32 個の記述子に制限されています。 +このインタフェースは +.Va svc_fdset +で置き換えられました。 +.Pp +.It Xo +.Ft bool_t +.Fn svc_freeargs "SVCXPRT *xprt" "xdrproc_t inproc" "char *in" +.Xc +.Pp +.Tn RPC/XDR +システムが +.Fn svc_getargs +を使用して引数をサービスプロシージャにデコードした場合に +割り振ったデータを解放するマクロです。 +このルーチンは、結果が問題なく解放されると 1 を戻し、 +問題が発生した場合は 0 を戻します。 +.Pp +.It Xo +.Ft bool_t +.Fn svc_getargs "SVCXPRT *xprt" "xdrproc_t inproc" "char *in" +.Xc +.Pp +.Tn RPC +サービス転送ハンドル +.Fa xprt +.Tn RPC +要求の引数をデコードするマクロです。 +パラメータ +.Fa in +は、引数を配置する場所のアドレスです。 +.Fa inproc +は、引数をデコードする +.Tn XDR +ルーチンです。 +このルーチンは、デコードで問題が発生しなければ 1 を戻し、 +問題が発生した場合は 0 を戻します。 +.Pp +.It Xo +.Ft "struct sockaddr_in *" +.Xc +.It Xo +.Fn svc_getcaller "SVCXPRT *xprt" +.Xc +.Pp +.Tn RPC +サービス転送ハンドル +.Fa xprt +に関連するプロシージャの呼び出し側の +ネットワークアドレスを入手する確実な方法です。 +.Pp +.It Xo +.Ft void +.Fn svc_getreqset "fd_set *rdfds" +.Xc +.Pp +このルーチンは、サービスの設計者が +.Fn svc_run +を呼び出さず、独自の非同期イベント処理を実現する場合にのみ重要です。 +.Tn RPC +要求が +.Tn RPC +ソケットに到着したと +.Xr select 2 +システムコールが判断した場合に呼び出されます。 +.Fa rdfds +は、作成された読み込み記述子ビットマスクです。 +このルーチンは、 +.Fa rdfds +の値に関連したすべてのソケットサービスを受けた場合に戻ります。 +.Pp +.It Xo +.Ft void +.Fn svc_getreq "int rdfds" +.Xc +.Pp +.Fn svc_getreqset , +に似ていますが、32 個の記述子に制限されています。 +このインタフェースは +.Fn svc_getreqset +で置き換えられました。 +.Pp +.It Xo +.Ft bool_t +.Fo svc_register +.Fa "SVCXPRT *xprt" +.Fa "u_long prognum" +.Fa "u_long versnum" +.Fa "void (*dispatch)(struct svc_req *, SVCXPRT *)" +.Fa "int protocol" +.Fc +.Xc +.Pp +.Fa prognum +と +.Fa versnum +をサービスディスパッチプロシージャ +.Fn dispatch +に関連付けます。 +.Fa protocol +が 0 である場合、サービスは +.Xr portmap 8 +サービスで登録されません。 +.Fa protocol +が 0 以外である場合、 +.Pq Fa prognum , versnum , protocol +の 3 つと +.Fa xprt\->xp_port +のマッピングがローカル +.Xr portmap 8 +サービスで確立されます +(一般的に +.Fa protocol +は 0 か +.Dv IPPROTO_UDP +か +.Dv IPPROTO_TCP +です)。 +プロシージャ +.Fn dispatch +の形式は以下の通りです。 +.Bd -ragged -offset indent +.Fn bool_t +.Fn dispatch "struct svc_req *request" "SVCXPRT *xprt" +.Ed +.Pp +.Fn svc_register +ルーチンは、問題がなければ 1 を戻し、問題がある場合は 0 を戻します。 +.Pp +.It Xo +.Fn svc_run +.Xc +.Pp +このルーチンは戻りません。 +.Tn RPC +要求の到着を待ち、到着すると +.Fn svc_getreq +を使用して適切なサービスプロシージャを呼び出します。 +通常の場合、このプロシージャは、 +.Xr select 2 +システムコールが戻るのを待ちます。 +.Pp +.It Xo +.Ft bool_t +.Fn svc_sendreply "SVCXPRT *xprt" "xdrproc_t outproc" "char *out" +.Xc +.Pp +.Tn RPC +サービスのディスパッチルーチンで呼び出され、 +リモートプロシージャコールの結果を送信します。 +パラメータ +.Fa xprt +は要求の関連転送ハンドルです。 +.Fa outproc +は、結果のエンコードに使用する +.Tn XDR +ルーチンです。 +.Fa out +は結果のアドレスです。 +このルーチンは、問題がなければ 1 を戻し、問題がある場合は 0 を戻します。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn svc_unregister "u_long prognum" "u_long versnum" +.Xc +.Pp +.Pq Fa prognum , versnum +の 2 つとディスパッチルーチンのマッピング、および +.Pq Fa prognum , versnum , * +の 3 つとポート番号のマッチングをすべて削除します。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn svcerr_auth "SVCXPRT *xprt" "enum auth_stat why" +.Xc +.Pp +認証エラーのために、リモートプロシージャコールの実行を拒否する +サービスディスパッチルーチンが呼び出します。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn svcerr_decode "SVCXPRT *xprt" +.Xc +.Pp +パラメータを問題なくデコードできない +サービスディスパッチルーチンが呼び出します。 +.Fn svc_getargs +も参照してください。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn svcerr_noproc "SVCXPRT *xprt" +.Xc +.Pp +呼び出し側が要求したプロシージャ番号を +実現しないサービスディスパッチルーチンが呼び出します。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn svcerr_noprog "SVCXPRT *xprt" +.Xc +.Pp +目的のプログラムが +.Tn RPC +パッケージで登録されていない場合に呼び出されます。 +サービスの設計者には、通常の場合このルーチンは必要ありません。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn svcerr_progvers "SVCXPRT *xprt" "u_long low_vers" "u_long high_vers" +.Xc +.Pp +プログラムの目的のバージョンが +.Tn RPC +パッケージで登録されていない場合に呼び出されます。 +サービスの設計者には、通常の場合このルーチンは必要ありません。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn svcerr_systemerr "SVCXPRT *xprt" +.Xc +.Pp +サービスディスパッチルーチンが、 +特定プロトコルでカバーされていないシステムエラーを検出した場合に呼び出します。 +たとえばサービスが記憶域を割り振れない場合は、 +このルーチンが呼び出されます。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn svcerr_weakauth "SVCXPRT *xprt" +.Xc +.Pp +認証パラメータが足りないために、 +リモートプロシージャコールの実行を拒否する +サービスディスパッチルーチンが呼び出します。 +このルーチンは、 +.Fn svcerr_auth xprt AUTH_TOOWEAK +を呼び出します。 +.Pp +.It Xo +.Ft "SVCXPRT *" +.Xc +.It Xo +.Fn svcraw_create void +.Xc +.Pp +ポインタを戻すためのトイ +.Tn RPC +クライアントを作成します。 +実際のトランスポートは、 +プロセスのアドレススペース内にあるバッファなので、対応する +.Tn RPC +クライアントは同じアドレススペースに存在する必要があります。 +.Fn clntraw_create +を参照してください。 +このルーチンにより、 +.Tn RPC +のシミュレーション、およびラウンドトリップタイムなど、 +.Tn RPC +オーバヘッドの取得をカーネルの干渉なしに実行できます。 +このルーチンは、エラーが発生すると +.Dv NULL +を戻します。 +.Pp +.It Xo +.Ft "SVCXPRT *" +.Xc +.It Xo +.Fn svctcp_create "int sock" "u_int send_buf_size" "u_int recv_buf_size" +.Xc +.Pp +ポインタを戻す、 +.Tn TCP/IP +ベースの +.Tn RPC +サービストランスポートを作成します。 +トランスポートにはソケット +.Fa sock +が関連します。ソケットが +.Dv RPC_ANYSOCK +である場合は、新しいソケットが作成されます。 +ソケットがローカル +.Tn TCP +ポートに結合していない場合、 +このルーチンはソケットを任意のポートに結合します。処理が終わると、 +.Fa xprt\->xp_sock +はトランスポートのソケット記述子になり、 +.Fa xprt\->xp_port +はトランスポートのポート番号になります。 +このルーチンは、エラーが発生すると +.Dv NULL +を戻します。 +.Tn TCP +ベースの +.Tn RPC +はバッファによる +.Tn I/O +を使用するので、ユーザはバッファサイズを指定できます。 +値を 0 にすると、適切なデフォルトが選択されます。 +.Pp +.It Xo +.Ft "SVCXPRT *" +.Xc +.It Xo +.Fn svcfd_create "int fd" "u_int sendsize" "u_int recvsize" +.Xc +.Pp +開いている記述子の最上位にサービスを作成します。 +一般的にこの記述子は、 +.Tn TCP +などのストリームプロトコルの接続済みソケットです。 +.Fa sendsize +と +.Fa recvsize +は、送信バッファと受信バッファのサイズを指定します。 +このサイズが 0 である場合は、適切なデフォルトが選択されます。 +.Pp +.It Xo +.Ft "SVCXPRT *" +.Xc +.It Xo +.Fn svcudp_bufcreate "int sock" "u_int sendsize" "u_int recvsize" +.Xc +.Pp +ポインタを戻す +.Tn UDP/IP +ベースの +.Tn RPC +サービストランスポートを作成します。 +トランスポートにはソケット +.Fa sock +が関連します。ソケットが +.Dv RPC_ANYSOCK +である場合は、新しいソケットが作成されます。 +ソケットがローカル +.Tn UDP +ポートに結合していない場合、 +このルーチンはソケットを任意のポートに結合します。 +処理が終わると、 +.Fa xprt\->xp_sock +はトランスポートのソケット記述子になり、 +.Fa xprt\->xp_port +はトランスポートのポート番号になります。 +このルーチンは、エラーが発生すると +.Dv NULL +を戻します。 +.Pp +これにより、ユーザは、 +.Tn UDP +ベースの送信 +.Tn RPC +メッセージと受信メッセージの最大パケットサイズを指定できます。 +.Pp +.It Xo +.Ft bool_t +.Fn xdr_accepted_reply "XDR *xdrs" "struct accepted_reply *ar" +.Xc +.Pp +.Tn RPC +応答メッセージのエンコードに使用します。 +このルーチンでは、 +.Tn RPC +パッケージを使用せずに、 +.Tn RPC +スタイルのメッセージを作成する場合に便利です。 +.Pp +.It Xo +.Ft bool_t +.Fn xdr_authunix_parms "XDR *xdrs" "struct authunix_parms *aupp" +.Xc +.Pp +.Ux +証明書の記述に使用します。 +このルーチンは、 +.Tn RPC +認証パッケージを使用せずに、証明書を作成する場合に便利です。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Ft bool_t +.Fn xdr_callhdr "XDR *xdrs" "struct rpc_msg *chdr" +.Xc +.Pp +.Tn RPC +コールヘッダメッセージの記述に使用します。 +このルーチンでは、 +.Tn RPC +パッケージを使用せずに、 +.Tn RPC +スタイルのメッセージを作成する場合に便利です。 +.Pp +.It Xo +.Ft bool_t +.Fn xdr_callmsg "XDR *xdrs" "struct rpc_msg *cmsg" +.Xc +.Pp +.Tn RPC +コールメッセージの記述に使用します。 +このルーチンは、 +.Tn RPC +パッケージを使用せずに、 +.Tn RPC +スタイルのメッセージを作成する場合に便利です。 +.Pp +.It Xo +.Ft bool_t +.Fn xdr_opaque_auth "XDR *xdrs" "struct opaque_auth *ap" +.Xc +.Pp +.Tn RPC +認証情報メッセージの記述に使用します。 +このルーチンでは、 +.Tn RPC +パッケージを使用せずに、 +.Tn RPC +スタイルのメッセージを作成する場合に便利です。 +.Pp +.It Xo +.Vt struct pmap ; +.Xc +.It Xo +.Ft bool_t +.Fn xdr_pmap "XDR *xdrs" "struct pmap *regs" +.Xc +.Pp +さまざまな +.Xr portmap 8 +プロシージャのパラメータの記述に外部的に使用します。 +このルーチンは、 +.Fn pmap_* +インタフェースを使用せずに、このパラメータを作成する場合に便利です。 +.Pp +.It Xo +.Ft bool_t +.Fn xdr_pmaplist "XDR *xdrs" "struct pmaplist **rp" +.Xc +.Pp +ポートマッピングのリストの記述に外部的に使用します。 +このルーチンは、 +.Fn pmap_* +インタフェースを使用せずに、このパラメータを作成する場合に便利です。 +.Pp +.It Xo +.Ft bool_t +.Fn xdr_rejected_reply "XDR *xdrs" "struct rejected_reply *rr" +.Xc +.Pp +.Tn RPC +応答メッセージの記述に使用します。 +このルーチンは +.Tn RPC +パッケージを使用せずに、 +.Tn RPC +スタイルのメッセージを作成する場合に便利です。 +.Pp +.It Xo +.Ft bool_t +.Fn xdr_replymsg "XDR *xdrs" "struct rpc_msg *rmsg" +.Xc +.Pp +.Tn RPC +応答メッセージの記述に使用します。 +このルーチンは +.Tn RPC +パッケージを使用せずに、 +.Tn RPC +スタイルのメッセージを作成する場合に便利です。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn xprt_register "SVCXPRT *xprt" +.Xc +.Pp +.Tn RPC +サービストランスポートハンドルが作成されたら、 +.Tn RPC +サービスパッケージで登録する必要があります。 +このルーチンは、グローバル変数 +.Va svc_fds +を修正します。サービスの設計者には、 +通常の場合このルーチンは必要ありません。 +.Pp +.It Xo +.Ft void +.Xc +.It Xo +.Fn xprt_unregister "SVCXPRT *xprt" +.Xc +.Pp +.Tn RPC +サービストランスポートハンドルを破壊する前には、 +.Tn RPC +サービスパッケージで登録を解除する必要があります。 +このルーチンは、グローバル変数 +.Va svc_fds +を修正します。サービスの設計者には、 +通常の場合このルーチンは必要ありません。 +.El +.Sh 関連項目 +.Xr rpc_secure 3 , +.Xr xdr 3 +.Rs +.%T "Remote Procedure Calls: Protocol Specification" +.Re +.Rs +.%T "Remote Procedure Call Programming Guide" +.Re +.Rs +.%T "rpcgen Programming Guide" +.Re +.Rs +.%T "RPC: Remote Procedure Call Protocol Specification" +.%O RFC1050 +.%Q "Sun Microsystems, Inc., USC-ISI" +.Re diff --git a/documentation/manual-pages/ja/man3/rpc_secure.3 b/documentation/manual-pages/ja/man3/rpc_secure.3 new file mode 100644 index 0000000000..72e6622144 --- /dev/null +++ b/documentation/manual-pages/ja/man3/rpc_secure.3 @@ -0,0 +1,235 @@ +.\" @(#)rpc_secure.3n 2.1 88/08/08 4.0 RPCSRC; from 1.19 88/06/24 SMI +.\" %FreeBSD: src/lib/libc/rpc/rpc_secure.3,v 1.6.2.5 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.\" $Id: rpc_secure.3,v 1.5 2002-05-18 07:12:56 horikawa Exp $ +.Dd February 16, 1988 +.Dt RPC 3 +.Os +.Sh 名称 +.Nm rpc_secure +.Nd 安全なリモートプロシージャコールのためのライブラリルーチン +.Sh 書式 +.In rpc/rpc.h +.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/documentation/manual-pages/ja/man3/rtime.3 b/documentation/manual-pages/ja/man3/rtime.3 new file mode 100644 index 0000000000..e6328888c0 --- /dev/null +++ b/documentation/manual-pages/ja/man3/rtime.3 @@ -0,0 +1,49 @@ +.\" @(#)rtime.3n 2.1 88/08/08 4.0 RPCSRC; from 1.5 88/02/08 SMI +.\" %FreeBSD: src/lib/libc/rpc/rtime.3,v 1.4.2.2 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd November 22, 1987 +.Dt RTIME 3 +.Os +.Sh 名称 +.Nm rtime +.Nd リモートタイムの入手 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In sys/time.h +.In netinet/in.h +.Ft int +.Fo rtime +.Fa "struct sockaddr_in *addrp" +.Fa "struct timeval *timep" +.Fa "struct timeval *timeout" +.Fc +.Sh 解説 +.Fn rtime +は、 +.Fa addrp +が指すアドレスのインターネットタイムサーバを +参考にして、 +.Fa timep +が指す +.Vt timeval +構造体にリモートタイムを戻します。 +通常の +場合は、タイムサーバを参考にするときに +.Tn UDP +プロトコルが使用されます。 +.Fa timeout +パラメータは、ルーチンが応答を待つ期間を指定します。 +.Fa timeout +に +.Dv NULL +を指定した場合、このルーチンは +.Tn TCP +を使用し、タイムサーバから応答を +受けるまでブロックします。 +.Sh 戻り値 +.Rv -std rtime +.Sh 関連項目 +.Xr timed 8 diff --git a/documentation/manual-pages/ja/man3/scandir.3 b/documentation/manual-pages/ja/man3/scandir.3 new file mode 100644 index 0000000000..b8660ed8dc --- /dev/null +++ b/documentation/manual-pages/ja/man3/scandir.3 @@ -0,0 +1,109 @@ +.\" 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. +.\" +.\" @(#)scandir.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/scandir.3,v 1.3.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt SCANDIR 3 +.Os +.Sh 名称 +.Nm scandir , +.Nm alphasort +.Nd ディレクトリを走査する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In dirent.h +.Ft int +.Fn scandir "const char *dirname" "struct dirent ***namelist" "int \\*(lp*select\\*(rp\\*(lpstruct dirent *\\*(rp" "int \\*(lp*compar\\*(rp\\*(lpconst void *, const void *\\*(rp" +.Ft int +.Fn alphasort "const void *d1" "const void *d2" +.Sh 解説 +.Fn scandir +関数はディレクトリ +.Fa dirname +を読み取り、 +.Xr malloc 3 +を使用してディレクトリエントリを指すポインタの配列を作成します。 +そして配列内のエントリの数を返します。 +ディレクトリエントリの配列を指すポインタは、 +.Fa namelist +が参照する位置に保存されます。 +.Pp +.Fa select +パラメータは、どのエントリを配列に入れるかを選択するために +.Fn scandir +によって呼び出される、ユーザ定義サブルーチンを指すポインタです。 +選択ルーチンにはディレクトリエントリを指すポインタが渡されます。 +また、ディレクトリエントリを配列に入れる場合は非 +0 の値を返さなくてはなりません。 +.Fa select +が +NULL +の場合、すべてのディレクトリエントリが組み入れられます。 +.Pp +.Fa compar +パラメータは、ユーザ定義サブルーチンを指すポインタであり、 +このサブルーチンは完成した配列をソートするために +.Xr qsort 3 +に渡されます。このポインタが +NULL +の場合、配列はソートされません。 +.Pp +.Fn alphasort +関数は、 +.Fa compar +パラメータに使用できるルーチンで、配列をアルファベット順にソートします。 +.Pp +配列用に割当てられたメモリを +.Xr free 3 +で割当て解除できます。その場合、 +配列内の各ポインタを解放してから、配列自体を解放してください。 +.Sh 診断 +ディレクトリが読み取り用に開けない場合、または +.Xr malloc 3 +がすべてのデータ構造を保持するのに十分なメモリを割り当てできない場合は +\-1 を返します。 +.Sh 関連項目 +.Xr directory 3 , +.Xr malloc 3 , +.Xr qsort 3 , +.Xr dir 5 +.Sh 歴史 +.Fn scandir +と +.Fn alphasort +関数は +.Bx 4.2 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/scanf.3 b/documentation/manual-pages/ja/man3/scanf.3 new file mode 100644 index 0000000000..9250314e64 --- /dev/null +++ b/documentation/manual-pages/ja/man3/scanf.3 @@ -0,0 +1,441 @@ +.\" 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. +.\" +.\" @(#)scanf.3 8.2 (Berkeley) 12/11/93 +.\" %FreeBSD: src/lib/libc/stdio/scanf.3,v 1.7.2.4 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd December 11, 1993 +.Dt SCANF 3 +.Os +.Sh 名称 +.Nm scanf , +.Nm fscanf , +.Nm sscanf , +.Nm vscanf , +.Nm vsscanf , +.Nm vfscanf +.Nd 入力のフォーマット変換 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft int +.Fn scanf "const char *format" ... +.Ft int +.Fn fscanf "FILE *stream" "const char *format" ... +.Ft int +.Fn sscanf "const char *str" "const char *format" ... +.In stdarg.h +.Ft int +.Fn vscanf "const char *format" "va_list ap" +.Ft int +.Fn vsscanf "const char *str" "const char *format" "va_list ap" +.Ft int +.Fn vfscanf "FILE *stream" "const char *format" "va_list ap" +.Sh 解説 +.Fn scanf +関数ファミリは、後述する +.Fa format +に従って入力を走査します。 +このフォーマットには +.Em 変換指示子 +を含めることができます。 +このような変換がある時、その結果は +.Em ポインタ +引数を介して格納されます。 +.Fn scanf +関数は入力を標準入力ストリーム +.Em stdin +から読み取ります。 +.Fn fscanf +は入力をストリームポインタ +.Fa stream +から読み取ります。 +.Fn sscanf +は入力を +.Fa str +の指すキャラクタ文字列から読み取ります。 +.Fn vfscanf +関数は、 +.Xr vfprintf 3 +に類似しており、ポインタの可変引数リスト +( +.Xr stdarg 3 +を参照) +を使用して、ストリームポインタ +.Fa stream +から入力を読み取ります。 +.Fn vscanf +関数は標準入力から、 +.Fn vsscanf +関数は文字列から可変引数リストを走査します。 +これらの関数はそれぞれ +.Fn vprintf +関数と +.Fn vsprintf +関数に類似しています。 +連続した各 +.Em ポインタ +引数は、連続したそれぞれの変換指示子と +適切に対応している必要があります +(ただし、後述の `抑制' を参照)。 +変換指示子はすべて +.Cm % +文字 (パーセント符号) で始まります。 +.Fa format +文字列には、他の文字も含めることができます。 +.Fa format +文字列内の空白 (ブランクやタブ、改行など) は、 +空白なしを含む任意の量の空白と一致します。 +その他の文字はすべてそれ自身とだけ一致します。 +入力文字がそのようなフォーマット文字と一致しなくなったときに +走査は停止します。 +走査は、入力変換が行えないときにも停止します (下記参照)。 +.Sh 変換 +変換の先頭となる +.Cm % +文字に続いて、以下にあげるいくつかの +.Em フラグ +文字をおくことができます。 +.Bl -tag -width indent +.It Cm * +割り当ての抑制。 +これに続く変換は普段通りに行われますが、ポインタは使用されません。 +変換の結果は単に廃棄されます。 +.It Cm h +変換が +.Cm dioux +または +.Cm n +のどれかであり、次のポインタは +( +.Em int +ではなく) +.Em short int +を指すポインタであることを示します。 +.It Cm l +変換が +.Cm dioux +または +.Cm n +のどれかであり、次のポインタが +( +.Em int +ではなく) +.Em long int +を指すポインタであること、あるいは変換は +.Cm efg +のどれかであり、次のポインタは +( +.Em float +ではなく) +.Em double +を指すポインタであることを示します。 +.It Cm L +変換が +.Cm efg +であり、次のポインタが +.Em long double +を指すポインタであることを示します +(このタイプは実装されていません。 +.Cm L +フラグは現時点では無視されます)。 +.It Cm q +変換が +.Cm dioux +または +.Cm n +のどれかであり、次のポインタが +( +.Em int +ではなく) +.Em long long int +を指すポインタであることを示します。 +.El +.Pp +これらのフラグに加えて、オプションとして +10 進整数で表される最大フィールド幅を +.Cm % +と変換の間に置くことも可能です。 +フィールド幅を指定しない場合、デフォルトの `無限' が使用されます +(例外が 1 つあります。後述)。 +フィールド幅を指定した場合、 +変換処理において最大でその数の文字が走査されます。 +変換が始まる前に、ほとんどの変換は空白をスキップします。 +この空白はフィールド幅のカウント対象にはなりません。 +.Pp +以下の変換を利用できます。 +.Bl -tag -width XXXX +.It Cm % +リテラルの `%' と一致します。 +すなわち、フォーマット文字列内の `%\&%' は、 +1 つの入力文字 `%' と一致します。 +変換は行われず、割当ては行われません。 +.It Cm d +符号の有無に関わらず、10 進整数に一致します。 +次のポインタは +.Em int +を指すポインタである必要があります。 +.It Cm D +.Cm ld +と同等です。 +これは後方互換性のためにだけ存在しています。 +.It Cm i +符号の有無に関わらず、整数に一致します。 +次のポインタは +.Em int +を指すポインタである必要があります。 +整数が +.Ql 0x +または +.Ql 0X +で始まる場合、整数を基数 16 で読み取ります。 +.Ql 0 +で始まる場合、基数 8 で読み取ります。 +それ以外の場合は、基数 10 です。 +基数に対応する文字だけが使用されます。 +.It Cm o +8 進整数と一致します。 +次のポインタは +.Em unsigned int +を指すポインタである必要があります。 +.It Cm O +.Cm lo +と同等です。 +これは後方互換性のために存在しています。 +.It Cm u +符号の有無に関わらず、10 進整数と一致します。 +次のポインタは +.Em unsigned int +を指すポインタである必要があります。 +.It Cm x +符号の有無に関わらず、16 進整数に一致します。 +次のポインタは +.Em unsigned int +を指すポインタである必要があります。 +.It Cm X +.Cm lx +と同等です。 +これは +.St -isoC +違反ですが、以前の +.Ux +システムとは後方互換性があります。 +.It Cm f +符号の有無に関わらず、浮動小数点数と一致します。 +次のポインタは +.Em float +を指すポインタである必要があります。 +.It Cm e +.Cm f +と同等です。 +.It Cm g +.Cm f +と同等です。 +.It Cm E +.Cm lf +と同等です。 +これは +.St -isoC +違反ですが、以前の +.Ux +システムとは後方互換性があります。 +.It Cm F +.Cm lf +と同等です。 +これは後方互換性のためにだけ存在します。 +.It Cm s +非空白文字のシーケンスと一致します。 +次のポインタは +.Em char +を指すポインタである必要があり、配列はすべてのシーケンスと終端の +.Dv NUL +文字を受け入れるのに十分なだけ大きい必要があります。 +入力文字列は、空白、または最大フィールド幅のどちらかが +最初に発生した場所で停止します。 +.It Cm c +.Em width +個 (デフォルト 1) の文字のシーケンスに一致します。 +次のポインタは +.Em char +を指すポインタである必要があり、 +すべての文字に対して十分な余地がある必要があります +(終端の +.Dv NUL +は追加されません)。 +通常行われる先頭の空白スキップは抑制されます。 +最初の空白をスキップするには、 +フォーマット内に明示的なスペースを使用してください。 +.It Cm \&[ +指定された受け入れ文字集合からなる、 +空でない文字列と一致します。 +次のポインタは、 +.Em char +を指すポインタである必要があり、 +文字列内のすべての文字に加えて終端の +.Dv NUL +文字を入れる十分な余地がある必要があります。 +通常行われる先頭の空白スキップは抑制されます。 +文字列は、特定の集合内の (または集合外の) 文字で構成されます。 +この集合は、開き角括弧 +.Cm [ +文字と閉じ角括弧 +.Cm ] +文字の間の文字によって定義されます。 +集合は、開き角括弧の直後の文字が曲折アクセント記号 +.Cm ^ +である場合、これらの文字を +.Em 除外 +します。 +集合内に閉じ角括弧を入れるには、閉じ角括弧を +開き角括弧または曲折アクセント記号の直後の文字にします。 +その他の位置に置くと集合を終了させます。 +ハイフン文字 +.Cm - +も特殊です。 +他の 2 つの文字間に置かれた場合、 +ハイフンは間に入るすべての文字を集合に追加します。 +ハイフンを入れるためには、 +ハイフンを最後の閉じ角括弧の直前の文字にします。 +たとえば、 +.Ql [^]0-9-] +は、`閉じ角括弧、0 から 9、およびハイフン以外のすべて' +の集合を意味します。文字列は、集合内にない +(または曲折アクセント記号がある集合に含まれる) +文字が出現するか、またはフィールド幅が尽きた時に終了します。 +.It Cm p +( +.Xr printf 3 +で +.Ql %p +で印字された) ポインタの値と一致します。 +次のポインタは +.Em void +を指すポインタである必要があります。 +.It Cm n +何も予期しません。 +その代わり、入力以降消費された文字の個数が +次のポインタを介して保存されます。 +次のポインタは +.Em int +を指すポインタである必要があります。 +これは変換では +.Em ありません。 +ただし +.Cm * +フラグで抑制できます。 +.El +.Pp +後方互換性のために、他の変換文字 +( +.Ql \e0 +を除く) は +.Ql %d +であるかのように、または大文字の場合は +.Ql %ld +であるかのように扱われ、 +.Ql %\e0 +の変換はただちに +.Dv EOF +を戻します。 +.Cm F +と +.Cm X +の変換は、将来 +.Tn ANSI +C +標準に適合するように変更される予定なので、 +その後では、これらの変換はそれぞれ +.Cm f +と +.Cm x +のように動作するでしょう。 +.Sh 戻り値 +これらの関数は、割り当てられた入力項目数を返します。 +一致が成功しなかった場合、この数は準備されたものよりも少なく、 +または 0 になることさえあります。 +0 は、利用できる入力があったものの、 +変換が割り当てられなかったことを示します。 +通常、これは +.Ql %d +変換に対するアルファベット文字等のような、無効な入力文字のためです。 +なんらかの変換が発生する前に、 +ファイルの終りのようなことで入力処理が失敗した場合は、値 +.Dv EOF +が返されます。 +変換が開始した後で、エラーまたはファイルの終りが発生した場合、 +正常に完了した変換の数が返されます。 +.Sh 関連項目 +.Xr getc 3 , +.Xr printf 3 , +.Xr strtod 3 , +.Xr strtol 3 , +.Xr strtoul 3 +.Sh 規格 +関数 +.Fn fscanf , +.Fn scanf +および +.Fn sscanf +は +.St -isoC +に適合しています。 +.Sh 歴史 +関数 +.Fn vscanf , +.Fn vsscanf +および +.Fn vfscanf +はこのリリースではじめて登場しました。 +.Sh バグ +変換 +.Cm %F +と +.Cm %X +の現在の状況は不都合な状態にあります。 +.Pp +すべての後方互換フォーマットは、将来取り除かれます。 +.Pp +数値文字列は 512 文字に切り捨てられます。 +たとえば、 +.Cm %f +と +.Cm %d +は事実上 +.Cm %512f +と +.Cm %512d +です。 diff --git a/documentation/manual-pages/ja/man3/setbuf.3 b/documentation/manual-pages/ja/man3/setbuf.3 new file mode 100644 index 0000000000..5466a7619a --- /dev/null +++ b/documentation/manual-pages/ja/man3/setbuf.3 @@ -0,0 +1,191 @@ +.\" 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. +.\" +.\" @(#)setbuf.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdio/setbuf.3,v 1.5.2.5 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt SETBUF 3 +.Os +.Sh 名称 +.Nm setbuf , +.Nm setbuffer , +.Nm setlinebuf , +.Nm setvbuf +.Nd ストリームバッファリング操作 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft void +.Fn setbuf "FILE *stream" "char *buf" +.Ft void +.Fn setbuffer "FILE *stream" "char *buf" "int size" +.Ft int +.Fn setlinebuf "FILE *stream" +.Ft int +.Fn setvbuf "FILE *stream" "char *buf" "int mode" "size_t size" +.Sh 解説 +利用できる 3 タイプのバッファリングは、バッファリングなし、 +ブロックバッファリング、および行バッファリングです。 +出力ストリームがバッファリングなしの場合、情報は書き込まれると +ただちに書き込み先ファイルや端末に表示されます。 +出力ストリームがブロックバッファリングの場合、 +多数のキャラクタが蓄積されブロックとして書き込まれます。 +出力ストリームが行バッファリングの場合、改行が出力されるか、 +または端末デバイスにアタッチされた任意のストリーム +(通常は stdin) から入力が読み込まれるまで、キャラクタが蓄えられます。 +関数 +.Xr fflush 3 +を使用して、早めにブロックの出力を強制することもできます +( +.Xr fclose 3 +を参照)。 +.Pp +通常、すべてのファイルはブロックバッファリングされます。 +ファイルに対して最初の入出力操作が発生したとき、 +.Xr malloc 3 +が呼び出されて最適なサイズのバッファが獲得されます。 +( +.Em stdout +が通常行うように) +ストリームが端末を参照する場合は行バッファリングです。 +標準エラーストリーム +.Em stderr +は常にバッファリングなしです。 +.Pp +.Fn setvbuf +関数は、ストリームのバッファリング動作を変更するのに使用できます。 +.Fa mode +パラメータは次の 3 つのマクロのどれかでなくてはなりません。 +.Bl -tag -width _IOFBF -offset indent +.It Dv _IONBF +バッファリングなし +.It Dv _IOLBF +行バッファリング +.It Dv _IOFBF +完全バッファリング +.El +.Pp +.Fa size +パラメータは、最適サイズのバッファをいつも通りに遅延割当てさせるために +0 に設定できます。 +このパラメータが 0 でない場合、バッファリングなしのファイルを除けば、 +.Fa buf +引数は少なくとも長さが +.Fa size +バイトのバッファを指していなくてはなりません。 +このバッファが現在のバッファの代わりに使用されます +( +.Fa size +引数が 0 でないものの、 +.Fa buf +が +.Dv NULL +の場合、指定サイズのバッファがただちに割り振られ、 +クローズ時に解放されます。 +これは ANSI C の拡張です。 +移植可能コードはサイズが 0 の +.Dv NULL +バッファを使用するはずです)。 +.Pp +.Fn setvbuf +関数はいつでも使用できますが、ストリームが ``アクティブ''な場合に、 +(たとえば、入力の切り捨てや出力のフラッシュ等の) +奇妙な副作用を持つことがあります。 +移植可能なアプリケーションは、なんらかの +.Tn 入出力 +が実行される前に、 +指定された任意のストリームに対してこの関数を一度だけ呼び出すべきです。 +.Pp +他の 3 つの呼び出しは、実際には、 +.Fn setvbuf +呼び出しの別名にすぎません。 +戻り値がないことを除いて、 +.Fn setbuf +関数は以下の呼び出しと厳密に同じです。 +.Pp +.Dl "setvbuf(stream, buf, buf ? _IOFBF : _IONBF, BUFSIZ);" +.Pp +.Fn setbuffer +関数は、バッファのサイズを呼び出し元が決め、デフォルトの +.Dv BUFSIZ +で決定されるのではないこと以外は同じです。 +.Fn setlinebuf +関数は、次の呼び出しと厳密に同じです。 +.Pp +.Dl "setvbuf(stream, (char *)NULL, _IOLBF, 0);" +.Sh 戻り値 +.Fn setvbuf +関数は正常終了すると 0 を返します。 +要求が受け入れられない場合は +.Dv EOF +を返します +(ストリームはこの場合でも依然として機能していることに注意してください)。 +.Pp +.Fn setlinebuf +関数は、同等の +.Fn setvbuf +呼び出しが返したはずの値を返します。 +.Sh 関連項目 +.Xr fclose 3 , +.Xr fopen 3 , +.Xr fread 3 , +.Xr malloc 3 , +.Xr printf 3 , +.Xr puts 3 +.Sh 規格 +.Fn setbuf +関数と +.Fn setvbuf +関数は +.St -isoC +に適合しています。 +.Sh バグ +.Fn setbuffer +関数と +.Fn setlinebuf +関数は、 +.Bx 4.2 +より前のバージョンの +.Bx +へ移植可能ではありません。 +.Bx 4.2 +システムと +.Bx 4.3 +システムでは、 +.Fn setbuf +は、最適ではないバッファサイズを常に使用するので、避けてください。 diff --git a/documentation/manual-pages/ja/man3/setjmp.3 b/documentation/manual-pages/ja/man3/setjmp.3 new file mode 100644 index 0000000000..4d56462219 --- /dev/null +++ b/documentation/manual-pages/ja/man3/setjmp.3 @@ -0,0 +1,185 @@ +.\" 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. +.\" +.\" @(#)setjmp.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/setjmp.3,v 1.5.2.4 2001/12/14 18:33:51 ru Exp % +.\" WORD: automatic storage invocation duration 自動記憶域期間 [JIS C] +.\" WORD: gracefully 行儀よく [doc-jp] +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt SETJMP 3 +.Os +.Sh 名称 +.Nm sigsetjmp , +.Nm siglongjmp , +.Nm setjmp , +.Nm longjmp , +.Nm _setjmp , +.Nm _longjmp , +.Nm longjmperror +.Nd 非局所分岐 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In setjmp.h +.Ft int +.Fn sigsetjmp "sigjmp_buf env" "int savemask" +.Ft void +.Fn siglongjmp "sigjmp_buf env" "int val" +.Ft int +.Fn setjmp "jmp_buf env" +.Ft void +.Fn longjmp "jmp_buf env" "int val" +.Ft int +.Fn _setjmp "jmp_buf env" +.Ft void +.Fn _longjmp "jmp_buf env" "int val" +.Ft void +.Fn longjmperror void +.Sh 解説 +.Fn sigsetjmp , +.Fn setjmp +および +.Fn _setjmp +関数は、呼び出し元の環境を +.Fa env +に保存します。これらの関数はどれも +0 +を返します。 +.Pp +対応する +.Fn longjmp +関数は、それぞれ最も新しい +.Fn setjmp +関数呼び出しによって保存された環境を復元します。 +.Fn longjmp +関数はその後で復帰するので、対応する +.Fn setjmp +呼び出しが、0 ではなく +.Fa val +で指定された値を返したばかりであるかのように +プログラムの実行が継続します。 +.Pp +呼び出しのペアはお互いに混合できます。すなわち、 +.Fn sigsetjmp +と +.Fn siglongjmp +および +.Fn setjmp +と +.Fn longjmp +の各組み合わせは、同じプログラム内で使用できます。 +しかし、個々の呼び出しは混合することはできません。 +たとえば、 +.Fn setjmp +に渡される +.Fa env +引数は +.Fn siglongjmp +に渡すことはできません。 +.Pp +.Fn longjmp +ルーチンは、 +.Fn setjmp +を呼び出したルーチンから復帰した後では +呼び出すことはできません。 +.Pp +アクセス可能なオブジェクトはすべて +.Fn longjmp +ルーチンが呼び出された時点での値を持ちます。 +ただし例外として、自動記憶域期間継続するオブジェクトであり、 +.Em volatile +型ではなく、かつ +.Fn setjmp +呼び出しと +.Fn longjmp +呼び出しとの間で変更されるものについて、 +その値が不定になることは除きます。 +.Pp +.Fn setjmp Ns / Ns Fn longjmp +のペアはシグナルマスクを保存し復元しますが、 +.Fn _setjmp Ns / Ns Fn _longjmp +のペアはレジスタセットとスタックしか保存および復元しません +( +.Fn sigprocmask 2 +を参照 +) +。 +.Pp +.Fn sigsetjmp Ns / Ns Fn siglongjmp +関数のペアは、引数 +.Fa savemask +が 0 でない場合、シグナルマスクを保存および復元します。 +0 である場合は、レジスタセットとスタックのみが保存されます。 +.Sh エラー +.Fa env +の内容が破壊されている場合、または既に復帰した環境に対応している場合、 +.Fn longjmp +ルーチンは、 +.Fn longjmperror 3 +を呼び出します。 +.Fn longjmperror +から復帰すると、プログラムは中止します +( +.Xr abort 3 +を参照 +) +。 +.Fn longjmperror +のデフォルトバージョンでは +.Dq Li longjmp botch +メッセージを標準エラー出力に印字して復帰します。 +ユーザプログラムがもっと行儀よく脱出することを望むなら、 +独自バージョンの +.Fn longjmperror +を書くべきです。 +.Sh 関連項目 +.Xr sigaction 2 , +.Xr sigaltstack 2 , +.Xr signal 3 +.Sh 規格 +.Fn setjmp +関数と +.Fn longjmp +関数は +.St -isoC +に適合しています。 +.Fn sigsetjmp +関数と +.Fn siglongjmp +関数は +.St -p1003.1-88 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/setlocale.3 b/documentation/manual-pages/ja/man3/setlocale.3 new file mode 100644 index 0000000000..4112a7edb7 --- /dev/null +++ b/documentation/manual-pages/ja/man3/setlocale.3 @@ -0,0 +1,311 @@ +.\" 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. +.\" +.\" @(#)setlocale.3 8.1 (Berkeley) 6/9/93 +.\" %FreeBSD: src/lib/libc/locale/setlocale.3,v 1.15.2.5 2001/12/14 18:33:55 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 9, 1993 +.Dt SETLOCALE 3 +.Os +.Sh 名称 +.Nm setlocale , +.Nm localeconv +.Nd C 用の自然言語の整形 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In locale.h +.Ft char * +.Fn setlocale "int category" "const char *locale" +.Ft struct lconv * +.Fn localeconv "void" +.Sh 解説 +.Fn setlocale +関数は、特定のルーチンの集合について、C ライブラリでいうところの +自然言語整形のスタイルを設定します。 +それぞれのスタイルを +.Sq ロケール +と呼び、C 文字列として渡される適切な名前によって呼び出します。 +.Fn localeconv +ルーチンは、現在のロケールの数値整形用パラメータを返します。 +.Pp +.Fn setlocale +関数は、いくつかのルーチンのカテゴリを識別します。 +以下は、カテゴリとカテゴリが選択したルーチンの組です。 +.Pp +.Bl -tag -width LC_MONETARY +.It Dv LC_ALL +ロケール全体をまとめて設定します。 +.It Dv LC_COLLATE +文字列照合ルーチン用のロケールを設定します。これは +.Fn strcoll +および +.Fn strxfrm +でのアルファベット順を制御します。 +.It Dv LC_CTYPE +.Xr ctype 3 , +.Xr mbrune 3 , +.Xr multibyte 3 +および +.Xr rune 3 +の各関数のロケールを設定します。 +これは、大文字と小文字、アルファベットと非アルファベット文字 +などの識別を制御します。実際の作業は +.Fn setrunelocale +関数によって行われます。 +.It Dv LC_MESSAGES +メッセージカタログのロケールを設定します。 +.Xr catopen 3 +関数を参照してください。 +.It Dv LC_MONETARY +通貨値の整形用ロケールを設定します。これは +.Fn localeconv +関数に影響を及ぼします。 +.It Dv LC_NUMERIC +数字を整形するためのロケールを設定します。これは、 +.Fn localeconv +によって返される値を制御するのに加えて、 +.Fn printf +および +.Fn scanf +のような関数の浮動小数点入出力の小数点整形方法も制御します。 +.It Dv LC_TIME +.Fn strftime +関数を使用して日付と時刻を整形するためのロケールを設定します。 +.El +.Pp +デフォルトでは 3 つのロケールだけが定義されています。空の文字列 +.Li "\&""\|"" +はネイティブの環境を表します。そして +.Li "\&""C"" +および +.Li "\&""POSIX"" +ロケールは C 言語環境を表します。 +.Fa locale +引数が +.Dv NULL +の場合には、 +.Fn setlocale +は現在のロケールを戻します。デフォルトでは、 C プログラムは +.Li "\&""C"" +ロケールで開始します。ロケールを設定する唯一のライブラリ内関数は +.Fn setlocale +です。ロケールは他のルーチンの副作用として変更されることはありません。 +.Pp +.Fn localeconv +関数は、数字、特に通貨値の整形用パラメータを +提供する構造体を指すポインタを返します。 +.Bd -literal -offset indent +struct lconv { + char *decimal_point; + char *thousands_sep; + char *grouping; + char *int_curr_symbol; + char *currency_symbol; + char *mon_decimal_point; + char *mon_thousands_sep; + char *mon_grouping; + char *positive_sign; + char *negative_sign; + char int_frac_digits; + char frac_digits; + char p_cs_precedes; + char p_sep_by_space; + char n_cs_precedes; + char n_sep_by_space; + char p_sign_posn; + char n_sign_posn; +}; +.Ed +.Pp +個々のフィールドには次の意味があります。 +.Pp +.Bl -tag -width mon_decimal_point +.It Fa decimal_point +通貨値を除く、小数点文字です。 +.It Fa thousands_sep +通貨値を除く、小数点の前の桁のグループ間の区切り文字です。 +.It Fa grouping +通貨値を除く、桁のグループの大きさです。 +これは、 +.Va char +型の、低い位の桁から高い位の桁 (右から左) までのグループの大きさを表す +整数の配列を指すポインタです。 +そのリストは、0 または +.Dv CHAR_MAX +で終わります。リストが 0 で終了する場合には、0 の前の最後のグループの +大きさを、全ての桁が埋まるまで繰り返し用います。 +.Dv CHAR_MAX +で終了する場合には、それ以上のグループ化は実行されません。 +.It Fa int_curr_symbol +標準で定められた国際通貨記号です。 +.It Fa currency_symbol +ローカルな通貨記号です。 +.It Fa mon_decimal_point +通貨値に対する小数点文字です。 +.It Fa mon_thousands_sep +通貨値内の桁のグループについての区切り文字です。 +.It Fa mon_grouping +.Fa grouping +に類似していますが、通貨用です。 +.It Fa positive_sign +非負の通貨値を表記するのに使用される文字で、通常は空の文字列です。 +.It Fa negative_sign +負の通貨値を表現するのに使用される文字で、 +通常はマイナス符号です。 +.It Fa int_frac_digits +国際スタイルの通貨値における小数点以下の桁数です。 +.It Fa frac_digits +ローカルスタイルの通貨値における小数点以下の桁数です。 +.It Fa p_cs_precedes +非負の値に対して通貨値の前に通貨記号が置かれる場合には 1、 +そうでない場合には 0 です。 +.It Fa p_sep_by_space +非負の値に対して通貨記号と通貨値の間に空白が挿入されている場合は 1、 +そうでない場合には 0 です。 +.It Fa n_cs_precedes +負の値に対して +.Fa p_cs_precedes +と同様です。 +.It Fa n_sep_by_space +負の値に対して +.Fa p_sep_by_space +と同様です。 +.It Fa p_sign_posn +非負の量および +.Fa currency_symbol +に関する +.Fa positive_sign +の位置です。コードは次の通りです。 +.Bl -tag -width 3n -compact +.It Li 0 +文字列全体を囲む丸括弧です。 +.It Li 1 +文字列の前です。 +.It Li 2 +文字列の後です。 +.It Li 3 +.Fa currency_symbol +の直前です。 +.It Li 4 +.Fa currency_symbol +の直後です。 +.El +.It Fa n_sign_posn +負の通貨値に対して +.Fa p_sign_posn +と同様です。 +.El +.Pp +前述した場合を除いて、フィールドの値としての空の文字列は、 +結果の長さがゼロであるか、または現在のロケール内にはない値で +あることを示します。 +同様に +.Dv CHAR_MAX +の結果は利用できない値を表記します。 +.Sh 戻り値 +.Fn setlocale +関数は、指定の +.Fa category +と +.Fa locale +の組み合わせが意味をなさない場合には、 +.Dv NULL +を返してロケールの変更は失敗します。 +.Fn localeconv +関数は、後の +.Fn setlocale +または +.Fn localeconv +の呼び出しで変更される可能性のある静的オブジェクトを指すポインタを返します。 +.Sh ファイル +.Bl -tag -width /usr/share/locale/locale/category -compact +.It Pa $PATH_LOCALE/ Ns Em locale/category +.It Pa /usr/share/locale/ Ns Em locale/category +ロケール +.Em locale +とカテゴリ +.Em category +用のロケールファイル +.El +.Sh 関連項目 +.Xr colldef 1 , +.Xr mklocale 1 , +.Xr catopen 3 , +.Xr ctype 3 , +.Xr mbrune 3 , +.Xr multibyte 3 , +.Xr rune 3 , +.Xr strcoll 3 , +.Xr strxfrm 3 , +.Xr euc 4 , +.Xr utf2 4 +.Sh 規格 +.Fn setlocale +および +.Fn localeconv +関数は、 +.St -isoC +に適合しています。 +.Sh 歴史 +.Fn setlocale +および +.Fn localeconv +関数は、 +.Bx 4.4 +ではじめて登場しました。 +.Sh バグ +現在の実装は、 +.Dv LC_COLLATE , +.Dv LC_CTYPE +および +.Dv LC_TIME +のカテゴリ以外では、 +.Li "\&""C"" +と +.Li "\&""POSIX"" +ロケールのみサポートしています。 +.Pp +.Fn localeconv +における整然としない通貨サポートにも関わらず、規格は、 +一般化された通貨フォーマットのための関数を組み入れていません。 +.Pp +われわれがリアルタイムの通貨変換機能を持つまでは、 +.Dv LC_MONETARY +の使用は間違った結果を導く可能性があります。 +.Dv LC_NUMERIC +および +.Dv LC_TIME +は個人的な選択肢であり、他のカテゴリで覆い隠すべきではありません。 diff --git a/documentation/manual-pages/ja/man3/setmode.3 b/documentation/manual-pages/ja/man3/setmode.3 new file mode 100644 index 0000000000..64c4fad44d --- /dev/null +++ b/documentation/manual-pages/ja/man3/setmode.3 @@ -0,0 +1,120 @@ +.\" 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. +.\" +.\" @(#)setmode.3 8.2 (Berkeley) 4/28/95 +.\" %FreeBSD: src/lib/libc/gen/setmode.3,v 1.8.2.3 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 28, 1995 +.Dt SETMODE 3 +.Os +.Sh 名称 +.Nm getmode , +.Nm setmode +.Nd モードビットを更新する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft mode_t +.Fn getmode "const void *set" "mode_t mode" +.Ft void * +.Fn setmode "const char *mode_str" +.Sh 解説 +.Fn getmode +関数は、 +.Fa set +が指す値によって変更された様にファイルパーミッションビット +.Fa mode +のコピーを返します。モードビットだけが変更されるのに対し、 +ファイルモードの他の部分を調査できます。 +.Pp +.Fn setmode +関数は、 +.Xr chmod 1 +で述べた様に絶対値 +(8 +進数 +) +またはシンボリック値を引数として取り、 +.Fn getmode +に与えられるモード値を指すポインタを返します。 +ファイル作成マスクには相対的なシンボリック値もあるので、 +.Fn setmode +は +.Xr umask 2 +を呼び出すことがあります。これが生じた場合、ファイル作成マスクは +.Fn setmode +が復帰する前に復元されます。 +呼び出しプログラムがファイル作成マスクの値を +.Fn setmode +を呼び出した後で変更する場合、将来のファイルモードを正しく更新するために +.Fn getmode +を呼ぶなら、 +.Fn setmode +をもう一度呼び出す必要があります。 +.Pp +.Fn setmode +に渡されたモードが無効な場合、または戻り値に関する +メモリを割り当てできない場合、 +.Fn setmode +は +.Dv NULL +を返します。 +.Pp +.Fn setmode +から返された値は +.Fn malloc +から得られ、プログラムがその値に対する処理を終えた時、 +通常は +.Fn getmode +の呼び出しの後に、 +.Fn free +でシステムに返す必要があります。 +.Sh エラー +.Fn setmode +関数は、処理に失敗して +errno +をライブラリルーチン +.Xr malloc 3 +で指定されたエラーのどれかに設定することがあります。 +.Sh 関連項目 +.Xr chmod 1 , +.Xr stat 2 , +.Xr umask 2 , +.Xr malloc 3 +.Sh 歴史 +.Fn getmode +関数と +.Fn setmode +関数は +.Bx 4.4 +で最初に登場しました。 diff --git a/documentation/manual-pages/ja/man3/setproctitle.3 b/documentation/manual-pages/ja/man3/setproctitle.3 new file mode 100644 index 0000000000..977b415ed8 --- /dev/null +++ b/documentation/manual-pages/ja/man3/setproctitle.3 @@ -0,0 +1,102 @@ +.\" Copyright (c) 1995 Peter Wemm <peter@freebsd.org> +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc/gen/setproctitle.3,v 1.16.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" The following requests are required for all man pages. +.\" $FreeBSD$ +.Dd December 16, 1995 +.Os +.Dt SETPROCTITLE 3 +.Sh 名称 +.Nm setproctitle +.Nd +.Xr ps 1 +用のプロセスタイトルを設定する +.Sh 書式 +.In sys/types.h +.In libutil.h +.Ft void +.Fn setproctitle "const char *fmt" "..." +.Sh 解説 +.Fn setproctitle +ライブラリルーチンは、 +.Xr ps 1 +コマンドに現れるプロセスタイトル +を設定します。 +.Pp +タイトルは実行可能モジュールの名前に、 +.Va fmt +で指定される引数の +.Xr printf 3 +スタイルの拡張の結果が続いたもので設定されます。 +.Va fmt +引数が +.Dq - +文字で開始する場合、実行形式名はスキップされます。 +.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 +実現は、 +.Nx +と +.Bsx +も含めて、実現システムは他のシステムとの +互換性があると考えられます。 +.Sh 歴史 +.Fn setproctitle +は +.Fx 2.2 +で最初に現れました。 +他のオペレーティングシステムも同じような機能を持っています。 +.Sh 作者 +.An -nosplit +.An Peter Wemm Aq peter@FreeBSD.org +は、 +.An Eric Allman Aq eric@sendmail.org +による +.Sy "Sendmail 8.7.3" +ソースコードからアイデアを取りました。 diff --git a/documentation/manual-pages/ja/man3/setruid.3 b/documentation/manual-pages/ja/man3/setruid.3 new file mode 100644 index 0000000000..5fd99b157a --- /dev/null +++ b/documentation/manual-pages/ja/man3/setruid.3 @@ -0,0 +1,84 @@ +.\" 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. +.\" +.\" @(#)setruid.3 8.1 (Berkeley) 6/2/93 +.\" %FreeBSD: src/lib/libc/compat-43/setruid.3,v 1.5.2.5 2001/12/14 18:33:49 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 2, 1993 +.Dt SETRUID 3 +.Os +.Sh 名称 +.Nm setruid , +.Nm setrgid +.Nd ユーザとグループ ID を設定する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft int +.Fn setruid "uid_t ruid" +.Ft int +.Fn setrgid "gid_t rgid" +.Sh 解説 +.Fn setruid +関数 +.Pq Fn setrgid +は、現在のプロセスの実際のユーザ ID (グループ ID) を +設定します。 +.Sh 戻り値 +.Rv -std +.Sh エラー +関数は次の場合に失敗します: +.Bl -tag -width Er +.It Bq Er EPERM +ユーザがスーパユーザでなく、 +指定された ID が実 ID でも実効 ID でもありませんでした。 +.El +.Sh 互換性 +これらの呼び出しの使用は移植可能ではありません。 +これらを使用するのはお勧めできません。将来除去される予定だからです。 +.Sh 関連項目 +.Xr getgid 2 , +.Xr getuid 2 , +.Xr setegid 2 , +.Xr seteuid 2 , +.Xr setgid 2 , +.Xr setuid 2 +.Sh 歴史 +.Fn setruid +と +.Fn setrgid +システムコールは +.Bx 4.2 +で現れ、 +.Bx 4.4 +で落とされました。 diff --git a/documentation/manual-pages/ja/man3/siginterrupt.3 b/documentation/manual-pages/ja/man3/siginterrupt.3 new file mode 100644 index 0000000000..7e3bd20e3c --- /dev/null +++ b/documentation/manual-pages/ja/man3/siginterrupt.3 @@ -0,0 +1,123 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" @(#)siginterrupt.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/siginterrupt.3,v 1.6.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt SIGINTERRUPT 3 +.Os +.Sh 名称 +.Nm siginterrupt +.Nd シグナルがシステムコールを中断できるようにする +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In signal.h +.Ft int +.Fn siginterrupt "int sig" "int flag" +.Sh 解説 +.Fn siginterrupt +関数を使用して、システムコールが指定のシグナルによって割り込まれたときに、 +システムコール再開始の動作を変更します。 +フラグが偽 (0) の場合、システムコールは、指定のシグナルによって割り込みされ、 +しかもデータがまだ転送されていない場合に再開始されます。 +システムコールの再開始は、 +.Bx 4.2 +以降のデフォルトの動作であり、 +.Fx +での +.Xr signal 3 +のデフォルトの +動作です。 +.Pp +フラグが真 (1) の場合、 +システムコールの再開始は無効になります。 +システムコールが指定のシグナルによって割り込みされ、 +しかもデータが転送されていない場合、 +システムコールは \-1 で返り、グローバル変数 +.Va errno +は +.Er EINTR +に設定されます。 +データの転送を開始した中断されたシステムコールは、 +実際に転送されたデータの量を返します。 +システムコール割り込みは、 +.Bx 4.1 +と +.At V +システムに見られるシグナルのふるまいです。 +.Pp +新しい +.Bx 4.2 +シグナル処理のセマンティクスはどちらにしても変更されていません。 +最も注目すべきは、シグナルハンドラは、後続の +.Xr sigaction 2 +呼び出しによって明示的に変更されるまで、そして +.Xr sigaction 2 +で文書化したようにシグナルマスクが動作するまで、 +必ずインストールされたままになることです。 +プログラムは、プログラムの実行の間、必要なだけ頻繁に再起動可能な +システムコール操作と割り込み可能なシステムコール操作の間で切り替えできます。 +.Pp +シグナルハンドラの実行の間に +.Fn siginterrupt 3 +を呼び出すと、捕捉される次のシグナルで +新しい処置が行われます。 +.Sh 注 +このライブラリルーチンは、 +.Bx 4.2 +では利用できない +.Xr sigaction 2 +システムコールの拡張を使用しています。 +ですから、後方互換性が必要な場合、これは使用しないでください。 +.Sh 戻り値 +.Rv -std siginterrupt +.Sh エラー +.Fn siginterrupt +呼び出しは、次の場合に失敗します: +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa sig +は有効なシグナル番号ではありません。 +.El +.Sh 関連項目 +.Xr sigaction 2 , +.Xr sigblock 2 , +.Xr sigpause 2 , +.Xr sigsetmask 2 , +.Xr signal 3 +.Sh 歴史 +.Fn siginterrupt +関数は +.Bx 4.3 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/signal.3 b/documentation/manual-pages/ja/man3/signal.3 new file mode 100644 index 0000000000..2bc600e8c3 --- /dev/null +++ b/documentation/manual-pages/ja/man3/signal.3 @@ -0,0 +1,234 @@ +.\" 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. +.\" +.\" @(#)signal.3 8.3 (Berkeley) 4/19/94 +.\" +.\" $FreeBSD$ +.Dd April 19, 1994 +.Dt SIGNAL 3 +.Os BSD 4 +.Sh 名称 +.Nm signal +.Nd 単純化されたソフトウェアシグナル機能 +.Sh 書式 +.Fd #include <signal.h> +.\" The following is Quite Ugly, but syntactically correct. Don't try to +.\" fix it. +.Ft void \*(lp* +.Fn signal "int sig" "void \*(lp*func\*(rp\*(lpint\*(rp\*(rp\*(rp\*(lpint" + +or in FreeBSD's equivalent but easier to read typedef'd version: +.Ft typedef "void \*(lp*sig_t\*(rp \*(lpint\*(rp" +.Ft sig_t +.Fn signal "int sig" "sig_t func" +.Sh 解説 +この +.Fn signal +機能は、もっと一般的な +.Xr sigaction 2 +機能への単純化された +インタフェースです。 +.Pp +シグナルによって、そのドメイン外のプロセスの操作が可能になり、プロセスが +自身または自身のコピー(子プロセス)を操作できます。シグナルには次の2 つの +一般的なタイプがあります。プロセスを終了させるもの、 +およびそうではないものです。プログラムの終了を発生させるシグナルは、 +回復不可能なエラーの結果であることもありますし、「割り込み」キャラクタを +入力する端末のユーザの結果であることもあります。シグナルが使用されるのは、 +プロセスが停止されたときです。バックグラウンドにありながら制御端末に +アクセスする必要があるからです +( +.Xr tty 4 +を参照 +) +。シグナルがオプションで生成されるのは、 +プロセスが停止された後、再開されるとき、子プロセスのステータスが +変化したとき、または入力が制御端末で準備ができているときです。処置が +行われない場合、ほとんどのシグナルはシグナルを受け取るプロセスの終了という +結果になります。シグナルによっては、代わりにプロセスが +シグナルを受け取ってから停止させるものもありますし、プロセスが別の +要求をされていない場合は単に廃棄されるものもあります。 +.Dv SIGKILL +シグナルと +.Dv SIGSTOP +シグナルを除いて、 +.Fn signal +関数は、シグナルを捕捉、無視、または割り込み生成できるようにします。 +これらのシグナルはファイル +.Aq Pa signal.h +に +定義されています。 +.Bl -column SIGVTALARMXX "create core imagexxx" +.It Sy " 名前 " " デフォルト処置 " " 説明" +.It Dv SIGHUP No " プロセスの終了" " 端末ラインのハングアップ" +.It Dv SIGINT No " プロセスの終了" " プログラムに割り込む" +.It Dv SIGQUIT No " コアイメージ作成" " プログラムを終了する" +.It Dv SIGILL No " コアイメージ作成" " 不正命令" +.It Dv SIGTRAP No " コアイメージ作成" " トラップを追跡する" +.It Dv SIGABRT No " コアイメージ作成" Xr abort 2 +呼び出し ( 以前は +.Dv SIGIOT ) +.It Dv SIGEMT No " コアイメージ作成" " エミュレート命令が実行される" +.It Dv SIGFPE No " コアイメージ作成" " 浮動小数点例外" +.It Dv SIGKILL No " プロセスの終了" " プログラムを抹消する" +.It Dv SIGBUS No " コアイメージ作成" " バスエラー" +.It Dv SIGSEGV No " コアイメージ作成" " セグメント化侵犯" +.It Dv SIGSYS No " コアイメージ作成" " 不存在のシステムコールを呼び出す" +.It Dv SIGPIPE No " プロセスの終了" " リーダ(reader)のないパイプに書き込む" +.It Dv SIGALRM No " プロセスの終了" " リアルタイマが時間切れ" +.It Dv SIGTERM No " プロセスの終了" " ソフトウェア終了シグナル" +.It Dv SIGURG No " シグナルを廃棄" " ソケット上に存在する緊急状況" +.It Dv SIGSTOP No " プロセスの停止" " 停止する(捕捉または無視できない)" +.It Dv SIGTSTP No " プロセスの停止" " キーボードから生成されたシグナルを停止する" +.It Dv SIGCONT No " シグナルを廃棄" " 停止の後も継続する" +.It Dv SIGCHLD No " シグナルを廃棄" " 子ステータスが変化した" +.It Dv SIGTTIN No " プロセス停止" " 制御端末から試みられたバックグラウンド読み取り" +.It Dv SIGTTOU No " プロセス停止" " 制御端末について試みられたバックグラウンド書き込み" +.It Dv SIGIO No " シグナルを廃棄" Tn " " +記述子上で入出力が可能 +( +.Xr fcntl 2 +を参照) +.It Dv SIGXCPU No " プロセスの終了" " プロセス cpu 時間制限を超過 ( +.Xr setrlimit 2 +を参照) +.It Dv SIGXFSZ No " プロセスの終了" " ファイルサイズ制限を超過 ( +.Xr setrlimit 2 +を参照) +.It Dv SIGVTALRM No " プロセスの終了" " 仮想時間アラーム ( +.Xr setitimer 2 +を参照) +.It Dv SIGPROF No " プロセスの終了" " プロファイル化タイマアラーム ( +.Xr setitimer 2 +を参照) +.It Dv SIGWINCH No " シグナルを廃棄" " ウィンドウサイズの変化" +.It Dv SIGINFO No " シグナルを廃棄" " キーボードからのステータス要求" +.It Dv SIGUSR1 No " プロセスの終了" " ユーザ定義シグナル 1" +.It Dv SIGUSR2 No " プロセスの終了" " ユーザ定義シグナル 2" +.El +.Pp +.Fa sig +パラメータはどのシグナルが受信されたかを指定します。 +.Fa func +プロシージャは、 +ユーザがシグナル受信時に処置を選択できるようにします。上記にリストしたように +発生するようシグナルのデフォルト処置を設定するには、 +.Fa func +は +.Dv SIG_DFL +である +必要があります。 +.Dv SIG_DFL +は、デフォルトの処置をリセットします。シグナルを +無視するためには、 +.Fa func +は +.Dv SIG_IGN +にする必要があります。これによって、 +後続のシグナルのインスタンスが無視され、中断中のインスタンスが廃棄されます。 +.Dv SIG_IGN +が使用されない場合は、それ以上に発生したシグナルは自動的にブロック +され、 +.Fa func +が呼び出されます。 +.Pp +取り扱われるシグナルは、関数が戻るときにはブロックされず、シグナルが発生したときに +プロセスは中断したところから継続します。 +.Bf -symbolic +以前のシグナル機能と違って、ハンドラ func() はシグナルが配信された後も +インストールされたままになります。 +.Ef +.Pp +システムコールによっては、呼び出しが実行中にシグナルが捕捉され、呼び出しが +完了前に終了された場合、呼び出しが自動的に再開されます +(ハンドラは +.Xr sigaction 2 +で +.Dv SA_RESTART +フラグを使用してインストールされます)。 +影響を +受けるシステムコールには、通信チャネル上または低速デバイス上および +.Xr ioctl 2 +または +.Xr wait 2 +の間の、 +.Xr read 2 , +.Xr write 2 , +.Xr sendto 2 , +.Xr recvfrom 2 , +.Xr sendmsg 2 , +および +.Xr recvmsg 2 +が含まれます。 +しかし、既にコミット済みの呼び出しは再開始されず、 +代わりに部分的な処理成功が返されます ( たとえば、短い読み取りカウント )。 +.Pp +シグナルハンドラをインストールしたプロセスがフォークすると、子プロセスはシグナルを +継承します。 +捕捉されたすべてのシグナルが、 +.Xr execve 2 +関数の呼び出しによって、デフォルトの処置にリセットされます。無視されたシグナルは +無視されたままになります。 +.Sh 戻り値 +呼び出しが成功すると、直前の処置が返されます。 +そうでない場合、SIG_ERR が返され、グローバル変数 +.Va errno +が設定されてエラーを示します。 +.Sh エラー +.Fn signal +は次のうちの +1 つが発生すると処理失敗し、処置は取られません。 +.Bl -tag -width [EINVAL] +.It Bq Er EINVAL +.Em Sig +は有効なシグナル番号ではありません。 +.It Bq Er EINVAL +.Dv SIGKILL +または +.Dv SIGSTOP +についてのハンドラを無視または指定しようとする試みが行われます。 +.Sh 関連項目 +.Xr kill 1 , +.Xr kill 2 , +.Xr ptrace 2 , +.Xr sigaction 2 , +.Xr sigaltstack 2 , +.Xr sigprocmask 2 , +.Xr sigsuspend 2 , +.Xr fpsetmask 3 , +.Xr setjmp 3 , +.Xr tty 4 +.Sh 歴史 +この +.Nm signal +機能は +.Bx 4.0 +で現れました。 diff --git a/documentation/manual-pages/ja/man3/sigsetops.3 b/documentation/manual-pages/ja/man3/sigsetops.3 new file mode 100644 index 0000000000..46c1d9664a --- /dev/null +++ b/documentation/manual-pages/ja/man3/sigsetops.3 @@ -0,0 +1,112 @@ +.\" 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. +.\" +.\" @(#)sigsetops.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/sigsetops.3,v 1.4.2.2 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt SIGSETOPS 3 +.Os +.Sh 名称 +.Nm sigemptyset , +.Nm sigfillset , +.Nm sigaddset , +.Nm sigdelset , +.Nm sigismember +.Nd シグナルセットを操作 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In signal.h +.Ft int +.Fn sigemptyset "sigset_t *set" +.Ft int +.Fn sigfillset "sigset_t *set" +.Ft int +.Fn sigaddset "sigset_t *set" "int signo" +.Ft int +.Fn sigdelset "sigset_t *set" "int signo" +.Ft int +.Fn sigismember "const sigset_t *set" "int signo" +.Sh 解説 +これらの関数は、 +.Fa sigset_t +に保存されたシグナルセットを操作します。 +.Fa sigset_t +型の各オブジェクトについて +.Fn sigemptyset +または +.Fn sigfillset +のどちらかを呼び出した後で、オブジェクトを他のように使用します。 +.Pp +.Fn sigemptyset +関数はシグナルセットを空に初期化します。 +.Pp +.Fn sigfillset +関数は、シグナルセットをすべてのシグナルが含まれるように初期化します。 +.Pp +.Fn sigaddset +関数は、シグナルセットに、指定のシグナル +.Fa signo +を追加します。 +.Pp +.Fn sigdelset +関数は、シグナルセットから、指定のシグナル +.Fa signo +を削除します。 +.Pp +.Fn sigismember +関数は、指定のシグナル +.Fa signo +がシグナルセットに含まれるかどうかを返します。 +.Pp +これらの関数は +インクルードファイル <signal.h> 内にマクロとして備えられています。 +(#undef +.Em 名前 +を使用して)名前が未定義であっても実際の関数は利用できます 。 +.Sh 戻り値 +.Fn sigismember +関数は、シグナルがセットのメンバである場合は +1 を返します。 +そうでない場合は 0 を返します。 +他の関数は 0 を返します。 +.Sh エラー +現時点ではエラーは検出されていません。 +.Sh 関連項目 +.Xr kill 2 , +.Xr sigaction 2 , +.Xr sigsuspend 2 +.Sh 規格 +これらの関数は、 +.St -p1003.1-88 +によって定義されています。 diff --git a/documentation/manual-pages/ja/man3/sin.3 b/documentation/manual-pages/ja/man3/sin.3 new file mode 100644 index 0000000000..181de6b40f --- /dev/null +++ b/documentation/manual-pages/ja/man3/sin.3 @@ -0,0 +1,80 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/sin.3,v 1.6.2.2 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 19, 1991 +.Dt SIN 3 +.Os +.Sh 名称 +.Nm sin , +.Nm sinf +.Nd 正弦関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/sinh.3 b/documentation/manual-pages/ja/man3/sinh.3 new file mode 100644 index 0000000000..270778f82a --- /dev/null +++ b/documentation/manual-pages/ja/man3/sinh.3 @@ -0,0 +1,84 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/sinh.3,v 1.6.2.3 2001/12/17 10:08:36 ru Exp % +.\" $FreeBSD$ +.Dd April 19, 1991 +.Dt SINH 3 +.Os +.Sh 名称 +.Nm sinh , +.Nm sinhf +.Nd 双曲正弦関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/skey.3 b/documentation/manual-pages/ja/man3/skey.3 new file mode 100644 index 0000000000..36e5645cf0 --- /dev/null +++ b/documentation/manual-pages/ja/man3/skey.3 @@ -0,0 +1,159 @@ +.\" 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. +.\" +.\" %FreeBSD: src/lib/libskey/Attic/skey.3,v 1.8.2.2 2000/04/23 17:48:11 phantom Exp % +.\" +.\" $FreeBSD$ +.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 ライブラリ +.Lb libskey +.Sh 書式 +.Fd #include <stdio.h> +.Fd #include <skey.h> +.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/documentation/manual-pages/ja/man3/sleep.3 b/documentation/manual-pages/ja/man3/sleep.3 new file mode 100644 index 0000000000..d383e9de96 --- /dev/null +++ b/documentation/manual-pages/ja/man3/sleep.3 @@ -0,0 +1,89 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/gen/sleep.3,v 1.12.2.3 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd February 13, 1998 +.Dt SLEEP 3 +.Os +.Sh 名称 +.Nm sleep +.Nd 秒単位で測定される間隔だけプロセスの実行を中断する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft unsigned int +.Fn sleep "unsigned int seconds" +.Sh 解説 +.Fn sleep +関数は +.Fa seconds +秒が経過するか、またはシグナルがプロセスに到着した結果 +シグナル処理関数を起動するかプロセスを終了するまで、 +呼び出しプロセスの実行を中断します。 +システムの稼働状況によっては、プロセスの中断している時間が +不確定となって長びく可能性があります。 +.Pp +この関数は、 +.Xr nanosleep 2 +を使用して、 +.Fa seconds +秒経つか、またはシグナルが到着するまで中断するという方法で +実装されています。したがって、この実装においては、 +プロセスが中断することによってプロセスタイマの状態が +影響を受けることはなく、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/documentation/manual-pages/ja/man3/sqrt.3 b/documentation/manual-pages/ja/man3/sqrt.3 new file mode 100644 index 0000000000..786a374613 --- /dev/null +++ b/documentation/manual-pages/ja/man3/sqrt.3 @@ -0,0 +1,129 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/sqrt.3,v 1.6.2.3 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 6, 1991 +.Dt SQRT 3 +.Os +.Sh 名称 +.Nm cbrt , +.Nm cbrtf , +.Nm sqrt , +.Nm sqrtf +.Nd 立方根および平方根関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 +を +.Er EDOM +に設定し、予約されたオペランドフォルトが生成されます。 +.Sh エラー (丸めなどによるもの) +.Fn cbrt +関数は、0.7 +.Em ulp +の範囲内で正確です。 +.Pp +.Tn VAX +上の +.Fn sqrt +関数は、0.501 +.Em ulp +の範囲内で正確です。 +.Tn IEEE +754 に適合しているマシン上の sqrt は、実施中の丸め方法に従って、 +正確に丸められます。 +その誤差は、デフォルトの方法 (四捨五入) では、 +.Em ulp +の半分未満です。 +.Em ulp +とは、最後に繰り上げられた位置の位 ( +.Em U Ns nit +in the +.Em L Ns ast +.Em P Ns lacce +) です。 +.Sh 関連項目 +.Xr math 3 +.Sh 規格 +.Fn sqrt +関数は、 +.St -isoC +に適合しています。 +.Sh 歴史 +.Fn cbrt +関数は、 +.Bx 4.3 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/stdarg.3 b/documentation/manual-pages/ja/man3/stdarg.3 new file mode 100644 index 0000000000..d9e84c87b7 --- /dev/null +++ b/documentation/manual-pages/ja/man3/stdarg.3 @@ -0,0 +1,197 @@ +.\" 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 +.\" %FreeBSD: src/share/man/man3/stdarg.3,v 1.4.2.5 2001/12/17 11:30:11 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 5, 1993 +.Dt STDARG 3 +.Os +.Sh 名称 +.Nm stdarg +.Nd 変数引数リスト +.Sh 書式 +.In stdarg.h +.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, *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 -isoC +に適合しています。 +.Sh 互換性 +これらのマクロは、置き換えられる歴史的なマクロと互換性がありま +.Em せん +。 +後方互換バージョンはインクルードファイル +.Aq Pa varargs.h +の中にあります。 +.Sh バグ +.Em varargs +マクロと違って、 +.Nm +マクロでは、プログラマは、固定した引数のない +関数を作成することができません。この問題は、主に +.Em varargs +コードを +.Nm +コードに変換するときに作業を生じさせますが、 +.Xr vfprintf 3 +のように、 +.Em va_list +引数を取る関数にすべての引数を渡そうとする各種の関数についても困難を +生じさせます。 diff --git a/documentation/manual-pages/ja/man3/stdio.3 b/documentation/manual-pages/ja/man3/stdio.3 new file mode 100644 index 0000000000..2ba5bd06ab --- /dev/null +++ b/documentation/manual-pages/ja/man3/stdio.3 @@ -0,0 +1,299 @@ +.\" 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. +.\" +.\" @(#)stdio.3 8.7 (Berkeley) 4/19/94 +.\" %FreeBSD: src/lib/libc/stdio/stdio.3,v 1.10.2.7 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd April 19, 1994 +.Dt STDIO 3 +.Os +.Sh 名称 +.Nm stdio +.Nd 標準入出力ライブラリ関数 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Vt FILE *stdin ; +.Vt FILE *stdout ; +.Vt FILE *stderr ; +.Sh 解説 +標準 +.Tn I/O +ライブラリは、単純かつ効率的なバッファ付きストリーム +.Tn I/O +インタフェースを提供します。 +入力と出力は論理的データストリームにマップされ、 +物理的な +.Tn I/O +特性値は隠されます。関数およびマクロは下に示す通りですが、 +それぞれに関する個別のマニュアルページにさらに詳しい説明があります。 +.Pp +ストリームはファイルを +.Em 開く +ことによって、外部ファイル (物理的なデバイスのときもあります) に +関連づけられます。 +それによって新しいファイルが作成される場合もあります。 +存在するファイルを作成しようとすると、 +そのファイルの以前の内容は破棄されます。 +ファイルが位置指定要求 (端末ではなく、ディスクファイルというような) を +サポートする場合は、そのファイルが追加モードで開かれているのでない限り、 +ストリームに関連づけられた +.Em ファイル位置指示子 +はファイルの先頭 (バイト 0) を指します。 +追加モードを使った場合は、位置指示子はファイルの最後を指します。 +位置指示子は以降の読み取り、書込み、位置指定の要求によって取り扱われます。 +すべての入力はあたかもキャラクタが +.Xr fgetc 3 +関数の連続的な呼び出しによって読み取られたかのようにして行われ、すべての +出力はすべてのキャラクタが +.Xr fputc 3 +関数の連続的な呼び出しによって +書込まれたかのようにして行われます。 +.Pp +ファイルは、そのファイルを +.Em 閉じる +ことによってストリームとの関連づけが解除されます。 +出力ストリームは、ファイルとの関連づけが解除される前にフラッシュされます +(書込まれなかったバッファの内容はホスト環境に送られます)。 +.Dv FILE +オブジェクトへのポインタの値は、ファイルを閉じた後は +不定 (ゴミ) になります。 +.Pp +同じプログラムまたは別のプログラムの実行から +ファイルを再度オープンしてもよく、 +(ファイルの開始位置に再度位置づけできる場合は) +元のファイルの内容を再利用または変更できます。 +main 関数が呼び出し元に返るか、または +.Xr exit 3 +関数が呼び出された場合には、開いている全てのファイルは閉じられます +(従って、すべての出力ストリームはフラッシュされます)。 +それ以外の方法でプログラムを終了したときは、 +ファイルが適切に閉じられない可能性があるため、 +バッファリングされた出力が失われることがあります。 +特に、 +.Xr _exit 2 +は stdio ファイルをフラッシュしません。シグナルによる exit も同様です。 +.Xr abort 3 +は POSIX の要請に従いバッファをフラッシュしますが、 +以前の実装ではこれを行っていません。 +.Pp +この実装では、 +.Dq テキスト +と +.Dq バイナリ +のストリームを区別しません。 +実際にはすべてのストリームはバイナリです。 +いかなるストリームにも、 +変換が行われたり余分のパディングが現れたりすることはありません。 +.Pp +プログラムの開始時には、次の 3 つのストリームが +事前に定義され、それらを明示的に開く必要はありません。 +.Bl -bullet -compact -offset indent +.It +.Em 標準入力 +(通常入力読み取り用) +.It +.Em 標準出力 +(通常出力書込み用) +.It +.Em 標準エラー出力 +(診断出力書込み用) +.El +これらのストリームは +.Em stdin , stdout +そして +.Em stderr +と略記されます。 +初期状態では標準エラーストリームはバッファリングされていません。 +標準入力および出力ストリームは、そのストリームが +.Xr isatty 3 +関数で判定されるような +会話型または +.Dq 端末 +デバイスへの参照でない場合に限り、完全にバッファリングされます。 +実際に、端末デバイスを参照する新規に開かれた +.Em すべての +ストリームは行バッファがデフォルトであり、 +このようなストリームへの保留されている出力は、 +入力ストリームが読み込まれたときは常に自動的に書込まれます。 +このことは、 +.Dq 本当の読み込み +に対してのみ当てはまることに注意してください。 +読み込み要求がバッファリングされた既存のデータで間に合う場合は、 +自動的なフラッシュは起きません。 +このような場合、 +または出力端末に行の一部をプリントした後で大量の処理が行う場合には、 +出力が現れるように、先に進んで処理を行う前に、標準出力を +.Xr fflush 3 +する必要があります。 +もしくは、これらのデフォルトを +.Xr setvbuf 3 +関数で修正することでも可能です。 +.Pp +.Nm +ライブラリはライブラリ +.Nm libc +の一部であり、 +ルーチンは C コンパイラによって必要に応じて自動的にロードされます。 +以下のマニュアルの +.Tn 書式 +の節では、どのインクルードファイルが使用されるか、 +関数に対するコンパイラの宣言がどのようになっているか、 +どの外部変数が関係しているかを示します。 +.Pp +以下のものはマクロとして定義されています。これらの名称は、現在の定義を +.Dv #undef +を使って削除してからでないと再使用することはできません: +.Dv BUFSIZ , +.Dv EOF , +.Dv FILENAME_MAX , +.Dv FOPEN_MAX , +.Dv L_cuserid , +.Dv L_ctermid , +.Dv L_tmpnam , +.Dv NULL , +.Dv P_tmpdir , +.Dv SEEK_CUR , +.Dv SEEK_END , +.Dv SEEK_SET , +.Dv TMP_MAX , +.Dv clearerr , +.Dv feof , +.Dv ferror , +.Dv fileno , +.Dv fropen , +.Dv fwopen , +.Dv getc , +.Dv getchar , +.Dv putc , +.Dv putchar , +.Dv stderr , +.Dv stdin , +.Dv stdout , +.Dv vfscanf +。 +マクロ関数 +.Fn clearerr , +.Fn feof , +.Fn ferror , +.Fn fileno , +.Fn getc , +.Fn getchar , +.Fn putc , +および +.Fn putchar +には関数バージョンが存在し、 +マクロ定義が明示的に削除された場合にはそれが使われます。 +.Sh 関連項目 +.Xr close 2 , +.Xr open 2 , +.Xr read 2 , +.Xr write 2 +.Sh バグ +標準のバッファ付き関数は、他のライブラリ関数およびシステム関数、特に +.Xr vfork 2 +とはうまく相互運用することができません。 +.Sh 規格 +.Nm +ライブラリは、 +.St -isoC +に適合しています。 +.Sh 関数一覧 +.Bl -column "Description" +.It Sy "関数 説明" +.It "asprintf 書式付き出力変換" +.It "clearerr ストリームの状態のチェックとリセット" +.It "fclose ストリームを閉じる" +.It "fdopen ストリームを開く関数" +.It "feof ストリームの状態のチェックとリセット" +.It "ferror ストリームの状態のチェックとリセット" +.It "fflush ストリームのフラッシュ" +.It "fgetc 入力ストリームから次のキャラクタまたはワードを取得" +.It "fgetln ストリームから 1 行を取得" +.It "fgetpos ストリームの位置指定" +.It "fgets ストリームから 1 行を取得" +.It "fileno ストリームの状態のチェックとリセット" +.It "fopen ストリームを開く関数" +.It "fprintf 書式付き出力変換" +.It "fpurge ストリームのフラッシュ" +.It "fputc 1 キャラクタまたは 1 ワードをストリームに出力" +.It "fputs 1 行をストリームに出力" +.It "fread バイナリストリームの入力/出力" +.It "freopen ストリームを開く関数" +.It "fropen ストリームを開く" +.It "fscanf 書式付き入力変換" +.It "fseek ストリームの位置指定" +.It "fsetpos ストリームの位置指定" +.It "ftell ストリームの位置指定" +.It "funopen ストリームを開く" +.It "fwopen ストリームを開く" +.It "fwrite バイナリストリームの入力/出力" +.It "getc 入力ストリームから次のキャラクタまたはワードを取得" +.It "getchar 入力ストリームから次のキャラクタまたはワードを取得" +.It "gets ストリームから 1 行を取得" +.It "getw 入力ストリームから次のキャラクタまたはワードを取得" +.It "mkdtemp ユニークなテンポラリファイルを作成" +.It "mkstemp ユニークなテンポラリファイルを作成" +.It "mktemp ユニークなテンポラリファイルを作成" +.It "perror システムエラーメッセージ" +.It "printf 書式付き出力変換" +.It "putc 1 キャラクタまたはワードをストリームに出力" +.It "putchar 1 キャラクタまたはワードをストリームに出力" +.It "puts 1 行をストリームに出力" +.It "putw 1 キャラクタまたはワードをストリームに出力" +.It "remove ディレクトリエントリの削除" +.It "rewind ストリームの位置指定" +.It "scanf 書式付き入力変換" +.It "setbuf ストリームのバッファリング操作" +.It "setbuffer ストリームのバッファリング操作" +.It "setlinebuf ストリームのバッファリング操作" +.It "setvbuf ストリームのバッファリング操作" +.It "snprintf 書式付き出力変換" +.It "sprintf 書式付き出力変換" +.It "sscanf 書式付き入力変換" +.It "strerror システムエラーメッセージ" +.It "sys_errlist システムエラーメッセージ" +.It "sys_nerr システムエラーメッセージ" +.It "tempnam テンポラリファイルルーチン" +.It "tmpfile テンポラリファイルルーチン" +.It "tmpnam テンポラリファイルルーチン" +.It "ungetc 入力ストリームに文字を返す" +.It "vasprintf 書式付き出力変換" +.It "vfprintf 書式付き出力変換" +.It "vfscanf 書式付き入力変換" +.It "vprintf 書式付き出力変換" +.It "vscanf 書式付き入力変換" +.It "vsnprintf 書式付き出力変換" +.It "vsprintf 書式付き出力変換" +.It "vsscanf 書式付き入力変換" +.El diff --git a/documentation/manual-pages/ja/man3/strcasecmp.3 b/documentation/manual-pages/ja/man3/strcasecmp.3 new file mode 100644 index 0000000000..b7dba44dde --- /dev/null +++ b/documentation/manual-pages/ja/man3/strcasecmp.3 @@ -0,0 +1,96 @@ +.\" 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. +.\" +.\" @(#)strcasecmp.3 8.1 (Berkeley) 6/9/93 +.\" %FreeBSD: src/lib/libc/string/strcasecmp.3,v 1.6.2.3 2001/12/14 18:33:59 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 9, 1993 +.Dt STRCASECMP 3 +.Os +.Sh 名称 +.Nm strcasecmp , +.Nm strncasecmp +.Nd 大文字小文字を無視した文字列の比較 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft int +.Fn strcasecmp "const char *s1" "const char *s2" +.Ft int +.Fn strncasecmp "const char *s1" "const char *s2" "size_t len" +.Sh 解説 +.Fn strcasecmp +および +.Fn strncasecmp +関数は、ヌル文字で終了する文字列 +.Fa s1 +および +.Fa s2 +を比較します。 +.Pp +.Fn strncasecmp +は、最大で +.Fa len +個の文字を比較します。 +.Sh 戻り値 +.Fn strcasecmp +および +.Fn strncasecmp +は、それぞれの文字を小文字に変換した後に +.Fa s1 +が +.Fa s2 +よりも辞書式順序で大きいか、等しいか、あるいは小さいかに応じて、 +それぞれ、0 より大きい、0 に等しい、 +あるいは 0 より小さい整数を返します。 +文字列自体は修正されません。比較は、 +.Sq Li \e200 +が +.Ql \e0 +よりも大きくなるように、unsigned char を使って行います。 +.Sh 関連項目 +.Xr bcmp 3 , +.Xr memcmp 3 , +.Xr strcmp 3 , +.Xr strcoll 3 , +.Xr strxfrm 3 , +.Xr tolower 3 +.Sh 歴史 +.Fn strcasecmp +および +.Fn strncasecmp +関数は、 +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/strcat.3 b/documentation/manual-pages/ja/man3/strcat.3 new file mode 100644 index 0000000000..0a74cd9817 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strcat.3 @@ -0,0 +1,98 @@ +.\" 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. +.\" +.\" @(#)strcat.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/strcat.3,v 1.5.2.3 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt STRCAT 3 +.Os +.Sh 名称 +.Nm strcat +.Nd 文字列の連結 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft char * +.Fn strcat "char *s" "const char *append" +.Ft char * +.Fn strncat "char *s" "const char *append" "size_t count" +.Sh 解説 +.Fn strcat +および +.Fn strncat +関数は、ヌル文字で終了する文字列 +.Fa append +をヌル文字で終了する文字列 +.Fa s +の終わりに追加し、次に終端の +.Ql \e0 +を追加します。文字列 +.Fa s +は、結果を保持するのに十分なスペースを持っていなければなりません。 +.Pp +.Fn strncat +関数は、 +.Fa append +から +.Fa count +を超えない数の文字を追加し、次に終端の +.Ql \e0 +を追加します。 +.Sh 戻り値 +.Fn strcat +および +.Fn strncat +関数は、ポインタ +.Fa s +を返します。 +.Sh 関連項目 +.Xr bcopy 3 , +.Xr memccpy 3 , +.Xr memcpy 3 , +.Xr memmove 3 , +.Xr strcpy 3 , +.Xr strlcat 3 , +.Xr strlcpy 3 +.Sh 規格 +.Fn strcat +および +.Fn strncat +関数は、 +.St -isoC +適合しています。 diff --git a/documentation/manual-pages/ja/man3/strchr.3 b/documentation/manual-pages/ja/man3/strchr.3 new file mode 100644 index 0000000000..73c4632a39 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strchr.3 @@ -0,0 +1,86 @@ +.\" 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. +.\" +.\" @(#)strchr.3 8.2 (Berkeley) 4/19/94 +.\" %FreeBSD: src/lib/libc/string/strchr.3,v 1.4.2.4 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd April 19, 1994 +.Dt STRCHR 3 +.Os +.Sh 名称 +.Nm strchr +.Nd 文字列中の文字を検索 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft char * +.Fn strchr "const char *s" "int c" +.Sh 解説 +.Fn strchr +関数は、 +.Ar s +によって指される文字列の中で最初に出会う文字 +.Ar c +を見つけます。終端のヌル文字は、文字列の一部とみなします。 +.Fa c +が +.Ql \e0 +である場合は、 +.Fn strchr +は終端の +.Ql \e0 +を見つけます。 +.Sh 戻り値 +関数 +.Fn strchr +は、見つけた文字へのポインタか、 +または文字が文字列中に見つからない場合は NULL を返します。 +.Sh 関連項目 +.Xr memchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 規格 +.Fn strchr +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/strcmp.3 b/documentation/manual-pages/ja/man3/strcmp.3 new file mode 100644 index 0000000000..13f3f1bdd2 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strcmp.3 @@ -0,0 +1,102 @@ +.\" 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. +.\" +.\" @(#)strcmp.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/strcmp.3,v 1.6.2.3 2001/10/15 16:45:38 mike Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd October 11, 2001 +.Dt STRCMP 3 +.Os +.Sh 名称 +.Nm strcmp , +.Nm strncmp , +.Nd 文字列の比較 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft int +.Fn strcmp "const char *s1" "const char *s2" +.Ft int +.Fn strncmp "const char *s1" "const char *s2" "size_t len" +.Sh 解説 +.Fn strcmp +および +.Fn strncmp +関数は、ヌル文字で終了する文字列 +.Fa s1 +および +.Fa s2 +を辞書式順序で比較します。 +.Pp +.Fn strncmp +関数は、 +.Fa len +文字分の比較をします。 +.Fn strncmp +は、バイナリデータより +文字列の比較のために設計されているので、 +.Ql \e0 +文字の後に現れる文字列は比較されません。 +.Sh 戻り値 +.Fn strcmp +および +.Fn strncmp +は、 +.Fa s1 +が +.Fa s2 +よりも大きいか、等しいか、あるいは小さいかに応じて、 +それぞれ 0 よりも大きい、0 に等しい、 +あるいは 0 よりも小さい整数を返します。比較は、 +.Ql \e200 +が +.Ql \e0 +よりも大きくなるように、unsigned char を使って行います。 +.Sh 関連項目 +.Xr bcmp 3 , +.Xr memcmp 3 , +.Xr strcasecmp 3 , +.Xr strcoll 3 , +.Xr strxfrm 3 +.Sh 規格 +.Fn strcmp +および +.Fn strncmp +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/strcoll.3 b/documentation/manual-pages/ja/man3/strcoll.3 new file mode 100644 index 0000000000..be043316f2 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strcoll.3 @@ -0,0 +1,76 @@ +.\" 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. +.\" +.\" @(#)strcoll.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/strcoll.3,v 1.8.2.3 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt STRCOLL 3 +.Os +.Sh 名称 +.Nm strcoll +.Nd 現在の照合に従って文字列を比較 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft int +.Fn strcoll "const char *s1" "const char *s2" +.Sh 解説 +.Fn strcoll +関数は、ヌル文字で終了する文字列 +.Fa s1 +と +.Fa s2 +を現在ロケールにおいて照合とするものがあれば、 +それに従って辞書式順序で比較し、ない場合には +.Fa strcmp +を呼び出して、 +.Fa s1 +が +.Fa s2 +よりも大きいか、等しいか、小さいかによってそれぞれ、 +0 よりも大きい、または等しい、または小さい整数を返します。 +.Sh 関連項目 +.Xr setlocale 3 , +.Xr strcmp 3 , +.Xr strxfrm 3 +.Sh 規格 +.Fn strcoll +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/strcpy.3 b/documentation/manual-pages/ja/man3/strcpy.3 new file mode 100644 index 0000000000..ce2bd8dd84 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strcpy.3 @@ -0,0 +1,164 @@ +.\" 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. +.\" +.\" @(#)strcpy.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/strcpy.3,v 1.4.2.5 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd August 9, 2001 +.Dt STRCPY 3 +.Os +.Sh 名称 +.Nm strcpy , strncpy +.Nd 文字列のコピー +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft char * +.Fn strcpy "char *dst" "const char *src" +.Ft char * +.Fn strncpy "char *dst" "const char *src" "size_t len" +.Sh 解説 +.Fn strcpy +関数は、文字列 +.Fa src +を +.Fa dst +にコピーします (終端の +.Ql \e0 +文字を含めて)。 +.Pp +.Fn strncpy +関数は、 +.Fa len +個以上の文字は +.Fa dst +にコピーせず、 +.Fa src +の長さが +.Fa len +文字以下の場合には +.Ql \e0 +文字を追加します。また、 +.Fa src +の長さが +.Fa len +文字以上である場合は、 +.Fa dst +.Em を終了させません。 +.Sh 戻り値 +.Fn strcpy +および +.Fn strncpy +関数は、 +.Fa dst +を返します。 +.Sh 例 +次の行は、 +.Va chararray +を +.Dq Li abc\e0\e0\e0 +に設定します : +.Bd -literal -offset indent +char chararray[6]; + +(void)strncpy(chararray, "abc", sizeof(chararray)); +.Ed +.Pp +次の行は、 +.Va chararray +を +.Dq Li abcdef +に設定します : +.Bd -literal -offset indent +char chararray[6]; + +(void)strncpy(chararray, "abcdefgh", sizeof(chararray)); +.Ed +.Pp +パラメータの長さが、ソースの長さと同じか +それ以上であるため +.Va chararray +は +.Tn NUL +.Em で終了しない +ことに注意してください。 +.Pp +次の行は、 +.Va input +から +.Va buf +へ文字を適切にコピーし、 +その結果を +.Tn NUL +で終了させます。 +.Fn strncpy +の文字列自体が +.Tn NUL +で終了することを +保証しないためで、 +これは明確にしなければなりません。 +.Bd -literal -offset indent +char buf[1024]; + +(void)strncpy(buf, input, sizeof(buf) - 1); +buf[sizeof(buf) - 1] = '\e0'; +.Ed +.Pp +次の例のように +.Xr strlcpy 3 +を使用すると、より良く実行できるかもしれません。 +.Pp +.Dl "(void)strlcpy(buf, input, sizeof(buf));" +.Pp +.Xr strlcpy 3 +は標準的には定義されていないので、 +移植に無関係なときだけ +利用するように注意してください。 +.Sh 関連項目 +.Xr bcopy 3 , +.Xr memccpy 3 , +.Xr memcpy 3 , +.Xr memmove 3 , +.Xr strlcpy 3 +.Sh 規格 +.Fn strcpy +および +.Fn strncpy +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/strcspn.3 b/documentation/manual-pages/ja/man3/strcspn.3 new file mode 100644 index 0000000000..a00b7ff396 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strcspn.3 @@ -0,0 +1,82 @@ +.\" 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. +.\" +.\" @(#)strcspn.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/strcspn.3,v 1.3.2.4 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt STRCSPN 3 +.Os +.Sh 名称 +.Nm strcspn +.Nd 文字列の補集合の長さを測る +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft size_t +.Fn strcspn "const char *s" "const char *charset" +.Sh 解説 +.Fn strcspn +関数は、ヌル文字で終了する文字列 +.Fa s +から文字列 +.Fa charset +にない文字列の長さだけ +.Fa s +の最初の部分の長さを測ります +.Fa ( charset +の +.Em 補集合 +の長さを測ります)。 +.Sh 戻り値 +.Fn strcspn +関数は測られた文字の数を返します。 +.Sh 関連項目 +.Xr memchr 3 , +.Xr strchr 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 規格 +.Fn strcspn +関数は +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/strdup.3 b/documentation/manual-pages/ja/man3/strdup.3 new file mode 100644 index 0000000000..ab18170044 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strdup.3 @@ -0,0 +1,65 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/string/strdup.3,v 1.7.2.2 2001/12/14 18:33:59 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 9, 1993 +.Dt STRDUP 3 +.Os +.Sh 名称 +.Nm strdup +.Nd 文字列のコピーを保存 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft char * +.Fn strdup "const char *str" +.Sh 解説 +.Fn strdup +関数は、文字列 +.Fa str +のコピーのために十分なメモリを割り当て、コピーを行い、 +コピーへのポインタを返します。ポインタは後で関数 +.Xr free 3 +の引数として使ってください。 +.Pp +利用可能なメモリが十分ではない場合、NULL を返します。 +.Sh 関連項目 +.Xr free 3 , +.Xr malloc 3 +.Sh 歴史 +.Fn strdup +関数は、 +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/strerror.3 b/documentation/manual-pages/ja/man3/strerror.3 new file mode 100644 index 0000000000..55251c28fb --- /dev/null +++ b/documentation/manual-pages/ja/man3/strerror.3 @@ -0,0 +1,179 @@ +.\" 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. +.\" +.\" @(#)strerror.3 8.1 (Berkeley) 6/9/93 +.\" %FreeBSD: src/lib/libc/string/strerror.3,v 1.7.2.6 2001/12/20 06:31:26 wes Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd Nov 26, 2001 +.Dt STRERROR 3 +.Os +.Sh 名称 +.Nm perror , +.Nm strerror , +.Nm strerror_r , +.Nm sys_errlist , +.Nm sys_nerr +.Nd システムのエラーメッセージ +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft void +.Fn perror "const char *string" +.Vt extern const char * const sys_errlist[] ; +.Vt extern const int sys_nerr ; +.In string.h +.Ft char * +.Fn strerror "int errnum" +.Ft int +.Fn strerror_r "int errnum" "char * strerrbuf" "size_t buflen" +.Sh 解説 +.Fn strerror , +.Fn strerror_r +および +.Fn perror +関数は、エラー番号に対応するエラーメッセージ文字列を探し出します。 +.Pp +.Fn strerror +関数は、エラー番号の引数 +.Fa errnum +を受け取って、それに対応するメッセージ文字列へのポインタを返します。 +.Pp +.Fn strerror_r +関数は、 +同じ結果を +最大 +.Fa buflen +文字数の +.Fa strerrbuf +に直し、 +成功した場合は 0 を返します。 +.Pp +.Fn perror +関数は、大域変数 +.Va errno +.Pq Xr intro 2 +の現在の値に対応するエラーメッセージを探して、 +それに改行をつけて標準エラーファイル記述子に書込みます。引数 +.Fa string +が +.Dv ヌル +以外であり、ヌル文字を指さない場合は、 +この文字列はメッセージ文字列の前にコロンとスペース +.Pq Ql \&:\ \& ; +で区切って追加されます。 +それ以外の場合は、エラーメッセージ文字列のみが印字されます。 +.Pp +.Fa errnum +がエラー番号として認識できない場合は、 +.Fn strerror +は、 +.Dq Li "Unknown error:\ " +のエラーメッセージ文字列の後に、 +10 進数のエラー番号を返し、 +.Va errno +に +.Er EINVAL +をセットします。 +.Fn strerror_r +は、 +.Fa strerrbuf +を変更せずに +.Er EINVAL +を返します。 +エラー番号が +0 <= +.Fa errnum +< +.Fa sys_nerr +内の実装では、認識できません。 +.Pp +エラー文字列を含む +( +.Fa buflen +で指定されているより) +.Fa strerrbuf +が不十分な領域の場合、 +.Fn strerror_r +は +.Er ERANGE +を返し、 +.Fa strerrbuf +には、 +.Fa buflen +で指定された +ヌル文字で終了する長さの +切り捨てたエラーメッセージが入ります。 +.Pp +メッセージ文字列には、外部配列 +.Va sys_errlist +を使って直接アクセスすることができます。外部値 +.Va sys_nerr +には +.Va sys_errlist +の中にあるメッセージのカウントが入っています。 +これらの変数を使用することには賛成できません。代わりに、 +.Fn strerror +または +.Fn strerror_r +を使った方がよいでしょう。 +.Sh 関連項目 +.Xr intro 2 , +.Xr psignal 3 +.Sh 歴史 +.Fn strerror +および +.Fn perror +関数は、 +.Bx 4.4 +ではじめて登場しました。 +.Fn strerror_r +関数は、 +.An Wes Peters +.Aq wes@freebsd.org . +によって +.Fx 4.4 +で実装されました。 +.Sh バグ +認識できないエラー番号に対しては、 +.Fn strerror +関数はその結果を静的バッファに返し、 +それは以降の呼び出しによって上書きされる可能性があります。 +.Pp +.Va sys_errlist +変数を使用している好ましくないプログラムは、 +その変数を一貫性なく宣言するために失敗することがしばしばあります。 diff --git a/documentation/manual-pages/ja/man3/strftime.3 b/documentation/manual-pages/ja/man3/strftime.3 new file mode 100644 index 0000000000..fc6a3d966f --- /dev/null +++ b/documentation/manual-pages/ja/man3/strftime.3 @@ -0,0 +1,254 @@ +.\" 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 +.\" 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. +.\" +.\" @(#)strftime.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdtime/strftime.3,v 1.18.2.7 2001/12/14 18:33:59 ru Exp % +.\" $FreeBSD$ +.\" +.Dd October 4, 1997 +.Dt STRFTIME 3 +.Os +.Sh 名称 +.Nm strftime +.Nd 日付と時間をフォーマット +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In time.h +.Ft size_t +.Fn strftime "char *buf" "size_t maxsize" "const char *format" "const struct tm *timeptr" +.Sh 解説 +.Fn strftime +関数は、 +.Fa timeptr +からの情報を +.Fa format +によって指される文字列に従ってバッファ +.Fa buf +にフォーマットします。 +.Pp +.Fa format +文字列は、0 以上の変換指定および通常の文字から構成されます。 +すべての通常文字は、直接バッファにコピーされます。 +変換指定は、パーセント記号 +.Dq Ql % +ともう 1 つの文字から構成されます。 +.Pp +配列には +.Fa maxsize +個を超えない文字が置かれます。 +結果として生じる文字の総数が終端のヌル文字を含めて +.Fa maxsize +を超えない場合は、 +.Fn strftime +は終端のヌルを数えないで配列中の文字数を返します。 +それ以外の場合は 0 を返し、バッファの内容は不定になります。 +.Pp +変換指定は、以下に示すような形で展開した後バッファにコピーされます : +.Bl -tag -width "xxxx" +.It Cm \&%A +各国の表現で完全な曜日名で置き換えられます。 +.It Cm %a +各国の表現で省略した曜日名で置き換えられます。 +ここで、略称は最初の 3 文字です。 +.It Cm \&%B +各国の表現で完全な月名で置き換えられます。 +.It Cm %b +各国の表現で省略した月名で置き換えられます。 +ここで、略称は最初の 3 文字です。 +.It Cm \&%C +(西暦年 / 100) の 10 進数で置き換えられます。 +1 桁の数字の前には 0 が付きます。 +.It Cm %c +各国の表現で時刻と日付で置き換えられます。 +書式は +.Xr ctime 3 +が生成するものと同様であり、"%a %Ef %T %Y" と等価です。 +これはまた、"3+1+6+1+8+1+4" の出力フォーマットを意味します。 +.It Cm \&%D +.Dq Li %m/%d/%y +と同等です。 +.It Cm %d +日を示す 10 進数 (01-31) で置き換えられます。 +.It Cm \&%E* Cm \&%O* +POSIX の地域拡張です。 +%Ec %EC %Ex %EX %Ey %EY +%Od %Oe %OH %OI %Om %OM +%OS %Ou %OU %OV %Ow %OW %Oy +というシーケンスは、代替的な表現を与えるものと見なされます。 +.Pp +更に、%Ef は短縮形の月の名前と日を示し、 +また %EF は長い形式の月と日を示し、 +また %OB は別の形式の月の名前を示します (単独で使用し日付は指定しません)。 +.It Cm %e +日を示す 10 進数 (1-31) で置き換えられます。 +1 桁の数字の前には空白が付きます。 +.It Cm \&%G +百年紀付きの年の 10 進数で置き換えられます。 +この年は、週の大部分を含んだものとなります +(月曜日を週の最初の日として)。 +.It Cm %g +.Dq Li %G +と同じ年ですが、百年紀なしの 10 進数 (00-99) で置き換えられます。 +.It Cm \&%H +(24 時間時計で) 時間を示す 10 進数 (00-23) で置き換えられます。 +.It Cm %h +%b と同じです。 +.It Cm \&%I +(12 時間時計で) 時間を示す 10 進数 (01-12) で置き換えられます。 +.It Cm %j +1 年の日を示す 10 進数 (001-366) で置き換えられます。 +.It Cm %k +(24 時間時計で) 時間を示す 10 進数 (0-23) で置き換えられます。 +1 桁の数字の前には空白が付きます。 +.It Cm %l +(12 時間時計で) 時間を示す 10 進数 (1-12) で置き換えられます。 +1 桁の数字の前には空白が付きます。 +.It Cm \&%M +分を示す 10 進数 (00-59) で置き換えられます。 +.It Cm %m +月を示す 10 進数 (01-12) で置き換えられます。 +.It Cm %n +改行で置き換えられます。 +.It Cm \&%O* +%E* と同じです。 +.It Cm %p +各国の表現で "午前" または "午後" の +いずれか該当する表示で置き換えられます。 +.It Cm \&%R +.Dq Li %H:%M +と同等です。 +.It Cm %r +.Dq Li %I:%M:%S %p +と同等です。 +.It Cm \&%S +秒を示す 10 進数 (00-60) で置き換えられます。 +.It Cm %s +世界標準時基準時点からの秒数で置き換えられます +.Xr (mktime 3 +参照)。 +.It Cm \&%T +.Dq Li %H:%M:%S +と同等です。 +.It Cm %t +タブで置き換えられます。 +.It Cm \&%U +1 年のうちの週数 (日曜日を週の最初の日として) を示す +10 進数 (00-53) で置き換えられます。 +.It Cm %u +1 週のうちの日 (月曜日を週の最初の日として) を示す +10 進数 (1-7) で置き換えられます。 +.It Cm \&%V +1 年のうちの週数 (月曜日を週の最初の日として) を示す +10 進数 (01-53) で置き換えられます。 +新年の 1 月 1 日を含む週に 4 日以上の日がある場合は、 +その週が第 1 週となります。 +それ以外の場合は、その週は前年の最後の週となり、 +その次の週が第 1 週となります。 +.It Cm %v +.Dq Li %e-%b-%Y +と同等です。 +.It Cm \&%W +1 年のうちの週数 (月曜日を週の最初の日として) を示す +10 進数 (00-53) で置き換えられます。 +.It Cm %w +1 週のうちの日 (日曜日を週の最初の日として) を示す +10 進数 (0-6) で置き換えられます。 +.It Cm \&%X +各国の表現で時刻で置き換えられます。 +.It Cm %x +各国の表現で日付で置き換えられます。 +.It Cm \&%Y +百年紀付きの年を示す 10 進数で置き換えられます。 +.It Cm %y +百年紀なしの年を示す 10 進数 (00-99) で置き換えられます。 +.It Cm \&%Z +時間帯名で置き換えられます。 +.It Cm \&%z +は UTC からの時間帯の差で置き変えられます。 +先頭のプラス記号は UTC から東を意味し、 +マイナス記号は UTC から西を意味します。 +続く時間と分は、それぞれ 2 桁であり、間に区切り文字はありません +(RFC 822 時刻ヘッダに共通です)。 +.It Cm %+ +各国の表現で日付と時刻を示すもので置き換えられます +(フォーマットは +.Xr date 1 +によって作成されるものと同じです)。 +.It Cm %% +.Ql % +で置き換えられます。 +.El +.Sh 関連項目 +.Xr date 1 , +.Xr printf 1 , +.Xr ctime 3 , +.Xr printf 3 , +.Xr strptime 3 +.Sh 規格 +.Fn strftime +関数は、 +.Ql %C , +.Ql \&%D , +.Ql %E* , +.Ql %e , +.Ql %G , +.Ql %g , +.Ql %h , +.Ql %k , +.Ql %l , +.Ql %n , +.Ql %O* , +.Ql \&%R , +.Ql %r , +.Ql %s , +.Ql \&%T , +.Ql %t , +.Ql %u , +.Ql \&%V , +.Ql %z , +.Ql %+ +などを含む多くの拡張を含めて、 +.St -isoC +に適合しています。 +.Pp +.Ql %G , +.Ql %g , +および +.Ql \&%V +の置き換えにおける特殊な週数および年数は、 +ISO 8601: 1988 に定義されています。 +.Sh バグ +月の象に関する変換指定は備えていません。 diff --git a/documentation/manual-pages/ja/man3/string.3 b/documentation/manual-pages/ja/man3/string.3 new file mode 100644 index 0000000000..2ffdc29f10 --- /dev/null +++ b/documentation/manual-pages/ja/man3/string.3 @@ -0,0 +1,157 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/string/string.3,v 1.6.2.4 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd December 11, 1993 +.Dt STRING 3 +.Os +.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 ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.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 -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/stringlist.3 b/documentation/manual-pages/ja/man3/stringlist.3 new file mode 100644 index 0000000000..602fe32117 --- /dev/null +++ b/documentation/manual-pages/ja/man3/stringlist.3 @@ -0,0 +1,122 @@ +.\" $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. +.\" +.\" %FreeBSD: src/lib/libc/gen/stringlist.3,v 1.3.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd February 24, 1997 +.Os +.Dt STRINGLIST 3 +.Sh 名称 +.Nm stringlist , +.Nm sl_init , +.Nm sl_add , +.Nm sl_free , +.Nm sl_find +.Nd 文字列リスト操作関数 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stringlist.h +.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 +が非 0 の場合は、 +.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 +を探し、見つからない場合は NULL を返します。 +.El +.Sh 関連項目 +.Xr free 3 , +.Xr malloc 3 diff --git a/documentation/manual-pages/ja/man3/strlen.3 b/documentation/manual-pages/ja/man3/strlen.3 new file mode 100644 index 0000000000..91f6e4e3b8 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strlen.3 @@ -0,0 +1,69 @@ +.\" 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. +.\" +.\" @(#)strlen.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/strlen.3,v 1.3.2.3 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt STRLEN 3 +.Os +.Sh 名称 +.Nm strlen +.Nd 文字列の長さを測定 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft size_t +.Fn strlen "const char *s" +.Sh 解説 +.Fn strlen +関数は、文字列 +.Fa s +の長さを計算します。 +.Sh 戻り値 +.Fn strlen +関数は、終端の +.Dv ヌル +文字を含まない文字数を返します。 +.Sh 関連項目 +.Xr string 3 +.Sh 規格 +.Fn strlen +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/strmode.3 b/documentation/manual-pages/ja/man3/strmode.3 new file mode 100644 index 0000000000..5e97ed0bb3 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strmode.3 @@ -0,0 +1,165 @@ +.\" 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. +.\" +.\" @(#)strmode.3 8.3 (Berkeley) 7/28/94 +.\" %FreeBSD: src/lib/libc/string/strmode.3,v 1.6.2.2 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.\" +.Dd July 28, 1994 +.Dt STRMODE 3 +.Os +.Sh 名称 +.Nm strmode +.Nd inode ステータス情報をシンボル文字列に変換 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft void +.Fn strmode "mode_t mode" "char *bp" +.Sh 解説 +.Fn strmode +関数は、ファイル +.Fa mode +(inode に結合されるタイプとパーミッションの情報については、 +.Xr stat 2 +を参照) をシンボル文字列に変換し、それを +.Fa bp +で参照される場所に保存します。 +保存されるこの文字列は、長さが 11 文字で最後にヌル文字が付きます。 +.Pp +最初の文字は inode タイプで、次のいずれかになります : +.Pp +.Bl -tag -width flag -offset indent -compact +.It \- +通常ファイル +.It b +ブロック型特殊ファイル +.It c +文字型特殊ファイル +.It d +ディレクトリ +.It l +シンボリックリンク +.It p +fifo +.It s +ソケット +.It w +whiteout +.It ? +未知の inode タイプ +.El +.Pp +次に続く 9 つの文字は、3 文字毎に 3 つのパーミッションセットをコード化します。 +最初の 3 つの文字はファイル所有者のためのパーミッションで、 +2 番目の 3 文字はファイルが所属するグループのためのもの、 +そして 3 番目の 3 文字は +``他者'' またはデフォルトのユーザセット用です。 +.Pp +パーミッションチェックは、できる限り明確に限定して行われます。 +最初のパーミッションセットでファイルの所有者に対して +読み取り許可が拒否された場合は、 +ファイルの所有者はそのファイルを読み取ることができません。 +このことは、その所有者がファイルのグループに入っており、 +そのグループパーミッションによって読み取り許可が与えられている場合、 +または読み取りを許可する ``他者'' のパーミッションが +与えられている場合でも当てはまります。 +.Pp +3 文字セットの最初の文字が ``r'' である場合は、 +そのファイルはそのユーザセットに対して読み取り可能です。 +文字がダッシュ ``\-'' 場合は、読み取りできません。 +.Pp +3 文字セットの 2 番目の文字が ``w'' である場合は、 +そのファイルはそのユーザセットに対して書き込み可能です。 +文字がダッシュ ``\-'' である場合は、書き込みできません。 +.Pp +3 番目の文字は、次の該当する文字です : +.Bl -tag -width xxxx +.It S +文字が所有者パーミッションの一部であり、 +ファイルが実行可能ではないか、 +またはディレクトリが所有者によって検索可能ではなく、 +set-user-id ビットが設定されている場合。 +.It S +文字がグループパーミッションの一部であり、 +ファイルが実行可能ではないか、 +またはディレクトリがグループによって検索可能ではなく、 +set-group-id ビットが設定されている場合。 +.It T +文字が他者のパーミッションの一部であり、 +ファイルが実行可能ではないか、 +またはディレクトリが他者のものによって検索可能ではなく、 +``sticky'' +.Pq Dv S_ISVTX +ビットが設定されている場合。 +.It s +文字が所有者パーミッションの一部であり、 +ファイルが実行可能であるか、 +またはディレクトリが所有者によって検索可能であり、 +set-user-id ビットが設定されている場合。 +.It s +文字がグループパーミッションの一部であり、 +ファイルが実行可能であるか、 +またはディレクトリがグループによって検索可能であり、 +set-group-id ビットが設定されている場合。 +.It t +文字が他者のパーミッションの一部であり、 +ファイルが実行可能であるか、 +またはディレクトリが他者のものによって検索可能であり、 +``sticky'' +.Pq Dv S_ISVTX +ビットが設定されている場合。 +.It x +ファイルが実行可能であるか、またはディレクトリが検索可能。 +.It \- +上のいずれにも該当しない。 +.El +.Pp +最後の文字は +inode に結合された別のアクセス制御方法が何かある場合は、 +プラス記号 ``+'' です。 +それ以外の場合は、文字はスペースになります。 +.Sh 戻り値 +.Fn strmode +関数は、常に 0 を返します。 +.Sh 関連項目 +.Xr chmod 1 , +.Xr find 1 , +.Xr stat 2 , +.Xr getmode 3 , +.Xr setmode 3 +.Sh 歴史 +.Fn strmode +関数は +.Bx 4.4 +で初めて登場しました。 diff --git a/documentation/manual-pages/ja/man3/strpbrk.3 b/documentation/manual-pages/ja/man3/strpbrk.3 new file mode 100644 index 0000000000..4c227796d1 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strpbrk.3 @@ -0,0 +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. +.\" +.\" @(#)strpbrk.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/strpbrk.3,v 1.3.2.4 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt STRPBRK 3 +.Os +.Sh 名称 +.Nm strpbrk +.Nd 複数の文字について文字列の中の位置を探す +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft char * +.Fn strpbrk "const char *s" "const char *charset" +.Sh 解説 +.Fn strpbrk +関数は、文字列 +.Fa charset +のうちのいずれかの文字が、 +ヌル文字で終了する文字列 +.Fa s +の中に最初に出現する位置を探し、 +その文字へのポインタを返します。 +.Fa s +の中に +.Fa charset +のどの文字も出現しない場合は、 +.Fn strpbrk +は NULL を返します。 +.Sh 関連項目 +.Xr memchr 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 規格 +.Fn strpbrk +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/strptime.3 b/documentation/manual-pages/ja/man3/strptime.3 new file mode 100644 index 0000000000..a756b073b0 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strptime.3 @@ -0,0 +1,194 @@ +.\" +.\" 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. +.\" +.\" %FreeBSD: src/lib/libc/stdtime/strptime.3,v 1.9.2.7 2001/12/14 18:33:59 ru Exp % +.\" " +.\" $FreeBSD$ +.Dd May 8, 1997 +.Dt STRPTIME 3 +.Os +.Sh 名称 +.Nm strptime +.Nd 日付および時刻を表す文字列を解釈する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In time.h +.Ft char * +.Fn strptime "const char *buf" "const char *format" "struct tm *timeptr" +.Sh 解説 +.Fn strptime +関数は、バッファ +.Fa buf +中の文字列を +.Fa format +で示される文字列に従って解釈し、 +.Fa timeptr +が指す構造体の要素に入れます。 +.\" The resulting values will be relative to the local time zone. +この結果は地域時間に適切に合わされます。 +したがって、これは +.Xr strftime 3 +の逆方向の操作と考えることができます。 +.Pp +.Fa format +文字列は、0 以上の変換則と通常文字からなります。 +すべての通常文字は、バッファと厳密にマッチされます。 +そして、フォーマット文字列の空白文字は +バッファ中の任意の数の空白文字とマッチします。 +すべての変換則は、 +.Xr strftime 3 +に記述したものと同じです。 +.\".Pp +.\"Two-digit year values, including formats +.\".Fa %y +.\"and +.\".Fa \&%D , +.\"are now interpreted as beginning at 1969 per POSIX requirements. +.\"Years 69-00 are interpreted in the 20th century (1969-2000), years +.\"01-68 in the 21st century (2001-2068). +.Pp +形式に含まれる +.Fa %y +で示される 2 桁の年の値、および +.Fa \&%D +は、 POSIX 要求仕様によって 1969 年から始まるように解釈されます。 +年が 69-00 の場合は 20 世紀 (1969-2000) と、 +年が 01-68 の場合は 21 世紀 (2001-2068) と解釈されます。 +.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 +このマニュアルページは、 +.An J\(:org Wunsch . +によって書かれました。 +.Sh 歴史 +.Fn strptime +関数は +.Fx 3.0 +で登場しました。 +.\".Sh BUGS +.\"Both the +.\".Fa %e +.\"and +.\".Fa %l +.\"format specifiers may incorrectly scan one too many digits +.\"if the intended values comprise only a single digit +.\"and that digit is followed immediately by another digit. +.\"Both specifiers accept zero-padded values, +.\"even though they are both defined as taking unpadded values. +.Sh バグ +変換形式 +.Fa %e +と +.Fa %l +の両方は +もし意図された値が一桁の数値だけで成り、 +かつその数値にすぐに続けて他の整数が続く場合、 +一桁を越えて不正確なスキャンを行います。 +これらの変換形式には、たとえ詰めていない値を取得する場合でも +0 詰めした値を渡してください。 +.\".Pp +.\"The +.\".Fa %p +.\"format specifier has no effect unless it is parsed +.\".Em after +.\"hour-related specifiers. +.\"Specifying +.\".Fa %l +.\"without +.\".Fa %p +.\"will produce undefined results. +.\"Note that 12AM +.\".Pq ante meridiem +.\"is taken as midnight +.\"and 12PM +.\".Pq post meridiem +.\"is taken as noon. +.Pp +変換形式 +.Fa %p +は時間を示す変換形式が解析された +.Em 後 +でないと意味を持ちません。 +変換形式 +.Fa %l +は +.Fa %p +が無いと未定義の結果を作り出します。 +注 12AM +(午前) +は深夜を指し、12PM +(午後) +は正午を指します。 +.\".Pp +.\"The +.\".Fa %U +.\"and +.\".Fa %W +.\"format specifiers accept any value within the range 00 to 53 +.\"without validating against other values supplied (like month +.\"or day of the year, for example). +.Pp +変換仕様 +.Fa %U +と +.Fa %W +は他の値 (例えば年の中の月や日など) を取得する場合とは対照に、 +正当性の検査なしに 00 から 53 の範囲の中での値を受け付けます。 +.\".Pp +.\"The +.\".Fa %Z +.\"format specifier only accepts time zone abbreviations of the local time zone, +.\"or the value "GMT". +.\"This limitation is because of ambiguity due to of the over loading of time +.\"zone abbreviations. One such example is +.\".Fa EST +.\"which is both Eastern Standard Time and Eastern Australia Summer Time. +.Pp +変換仕様 +.Fa %Z +は時間帯として省略された地域時間か "GMT" のみを受け付けます。 +この制限は多義的な時間帯の省略がオーバロードされる場合に影響します。 +たとえば一つの例として +.Fa EST +は東部標準時と東部オーストラリア夏時間が挙げられます。 diff --git a/documentation/manual-pages/ja/man3/strrchr.3 b/documentation/manual-pages/ja/man3/strrchr.3 new file mode 100644 index 0000000000..599befd577 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strrchr.3 @@ -0,0 +1,88 @@ +.\" 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. +.\" +.\" @(#)strrchr.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/strrchr.3,v 1.5.2.4 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt STRRCHR 3 +.Os +.Sh 名称 +.Nm strrchr +.Nd 文字列中での文字の位置を探す +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft char * +.Fn strrchr "const char *s" "int c" +.Sh 解説 +.Fn strrchr +関数は、文字列 +.Fa s +中の (char に変換された) +.Fa c +が最後に出現する位置を探します。 +.Fa c +が +.Ql \e0 +のときは +.Fn strrchr +は終端の +.Ql \e0 +の位置を示します。 +.Sh 戻り値 +.Fn strrchr +関数は該当する文字へのポインタを返します。 +また、 +.Fa s +中のどこにも +.Fa c +が出現しない場合は NULL ポインタを返します。 +.Sh 関連項目 +.Xr memchr 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 規格 +.Fn strrchr +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/strsep.3 b/documentation/manual-pages/ja/man3/strsep.3 new file mode 100644 index 0000000000..09bffe0696 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strsep.3 @@ -0,0 +1,123 @@ +.\" 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. +.\" +.\" @(#)strsep.3 8.1 (Berkeley) 6/9/93 +.\" %FreeBSD: src/lib/libc/string/strsep.3,v 1.6.2.5 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 9, 1993 +.Dt STRSEP 3 +.Os +.Sh 名称 +.Nm strsep +.Nd 文字列の分割 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft char * +.Fn strsep "char **stringp" "const char *delim" +.Sh 解説 +.Fn strsep +関数は、 +.Fa *stringp +により参照される文字列の中で、文字列 +.Fa delim +中のいずれかの文字 (または終端の +.Ql \e0 +) のうちで最初に出現する文字の位置を探し、その箇所を +.Ql \e0 +で置き換えます。 +区切り文字 (または文字列の末尾に達した場合は +.Dv NULL +) の次の文字の位置は、 +.Fa *stringp +に格納されます。 +.Fa *stringp +の元の値は戻り値となります。 +.Pp +「空」のフィールド、すなわち、 +2 つの隣接する区切り文字によって生じたフィールドは、 +.Fa *stringp +の中に返されたポインタが参照する位置を +.Ql \e0 +と比較することで検出可能です。 +.Pp +.Fa *stringp +が最初から +.Dv NULL +である場合は、 +.Fn strsep +は +.Dv NULL +を返します。 +.Sh 例 +以下では、 +空白文字によって区切られたトークンで構成されている文字列を、 +引数ベクタへと解釈するために +.Fn strsep +を使っています。 +.Bd -literal -offset indent +char **ap, *argv[10], *inputstring; + +for (ap = argv; (*ap = strsep(&inputstring, " \et")) != NULL;) + if (**ap != '\e0') + if (++ap >= &argv[10]) + break; +.Ed +.Sh 関連項目 +.Xr memchr 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strspn 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 歴史 +.Fn strsep +関数は、 +.Fn strtok +関数を置き換えるものとして考えられています。 +.Fn strtok +関数は移植性の点では好ましいのですが ( +.St -isoC +に適合しています) 、 +空のフィールドを扱う、すなわち、 +2 つの隣接する区切り文字によって区切られたフィールドを検出するとか、 +一回で複数の文字列に対して使用する、といったことができません。 +.Fn strsep +関数は、 +.Bx 4.4 +で初めて登場しました。 diff --git a/documentation/manual-pages/ja/man3/strspn.3 b/documentation/manual-pages/ja/man3/strspn.3 new file mode 100644 index 0000000000..07ad722944 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strspn.3 @@ -0,0 +1,78 @@ +.\" 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. +.\" +.\" @(#)strspn.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/strspn.3,v 1.4.2.4 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt STRSPN 3 +.Os +.Sh 名称 +.Nm strspn +.Nd 文字列を測る +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft size_t +.Fn strspn "const char *s" "const char *charset" +.Sh 解説 +.Fn strspn +関数は、ヌル文字で終了する文字列 +.Fa s +について、 +.Fa s +から取り出した文字が +.Fa charset +中に存在する +最初の区間の長さを測ります。 +.Sh 戻り値 +.Fn strspn +関数は、測られた文字数を返します。 +.Sh 関連項目 +.Xr memchr 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strstr 3 , +.Xr strtok 3 +.Sh 規格 +.Fn strspn +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/strstr.3 b/documentation/manual-pages/ja/man3/strstr.3 new file mode 100644 index 0000000000..69a303cf81 --- /dev/null +++ b/documentation/manual-pages/ja/man3/strstr.3 @@ -0,0 +1,143 @@ +.\" 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. +.\" +.\" @(#)strstr.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/strstr.3,v 1.3.2.5 2001/12/25 00:36:53 ache Exp % +.\" +.\" $FreeBSD$ +.Dd October 11, 2001 +.Dt STRSTR 3 +.Os +.Sh 名称 +.Nm strstr , strcasestr , strnstr +.Nd 文字列中の部分文字列の位置を探す +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft char * +.Fn strstr "const char *big" "const char *little" +.Ft char * +.Fn strcasestr "const char *big" "const char *little" +.Ft char * +.Fn strnstr "const char *big" "const char *little" "size_t len" +.Sh 解説 +.Fn strstr +関数は、ヌル文字で終了する文字列 +.Fa big +中で、 +ヌル文字で終了する文字列 +.Fa little +が最初に出現する位置を探します。 +.Pp +.Fn strcasestr +関数は、 +.Fn strstr +と同様ですが、 +両方の文字列の大文字と小文字の違いを無視します。 +.Pp +.Fn strnstr +関数は、検索された +.Fa len +文字より少ない文字列 +.Fa big +の中で、 +ヌル文字で終了する文字列 +.Fa little +が最初に出現する位置を探します。 +.Ql \e0 +の後に現れる文字は、検索されません。 +.Fn strnstr +関数は、 +.Fx +の特定の API なので、 +移植に無関係なときだけ利用するようにしてください。 +.Sh 戻り値 +.Fa little +が空の文字列のとき、 +.Fa big +を返し、 +.Fa little +に +.Fa big +がない場合は、NULL を返します。 +それ以外のときは、 +最初に出現した +.Fa little +の最初の文字へのポインタを返します。 +.Sh 例 +次の例は、 +.Va largestring +の +.Qq Li Bar Baz +部分がポインタ +.Va ptr +にセットされます。 +.Bd -literal -offset indent +const char *largestring = "Foo Bar Baz"; +const char *smallstring = "Bar"; +char *ptr; + +ptr = strstr(largestring, smallstring); +.Ed +.Pp +次の例は、ポインタ +.Va ptr +に +.Dv NULL +がセットされます。これは +.Va largestring +の最初の 4 文字だけを検索するためです。 +.Bd -literal -offset indent +const char *largestring = "Foo Bar Baz"; +const char *smallstring = "Bar"; +char *ptr; + +ptr = strnstr(largestring, smallstring, 4); +.Ed +.Sh 関連項目 +.Xr memchr 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strtok 3 +.Sh 規格 +.Fn strstr +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/strtod.3 b/documentation/manual-pages/ja/man3/strtod.3 new file mode 100644 index 0000000000..76ba87c91d --- /dev/null +++ b/documentation/manual-pages/ja/man3/strtod.3 @@ -0,0 +1,141 @@ +.\" 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. +.\" +.\" @(#)strtod.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/strtod.3,v 1.4.2.7 2001/12/14 18:33:58 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt STRTOD 3 +.Os +.Sh 名称 +.Nm strtod +.Nd +.Tn ASCII +文字列を double に変換 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft double +.Fn strtod "const char *nptr" "char **endptr" +.Sh 解説 +.Fn strtod +関数は、 +.Fa nptr +が指す文字列の最初の部分を +.Em double +による表現に変換します。 +.Pp +文字列に想定される形は、 +オプションのプラス (``+'') またはマイナス (``\-'') 記号、 +続いて数字の並び (これはオプションで小数点文字を含みます)、 +オプションで指数が続くというものです。 +指数は、 ``E'' または ``e'' に +オプションでプラスまたはマイナス記号が続いて、 +さらに数字の並びが続くという形です。 +.Pp +文字列の先頭の空白文字 +.Xr (isspace 3 +関数により定義されるような) はスキップします。 +.Sh 戻り値 +.Fn strtod +関数は、どんなときでも変換された値を返します。 +.Pp +.Fa endptr +が +.Dv NULL +でない場合は、変換に使われた最後の文字の次の文字へのポインタが、 +.Fa endptr +により参照される場所に格納されます。 +.Pp +変換が行われなかった場合は 0 が返され、 +.Fa nptr +の値は +.Fa endptr +によって参照される場所に格納されます。 +.Pp +正しい値がオーバフローとなると思われるときは、 +(その値の符号にしたがって) プラスまたはマイナスの +.Dv HUGE_VAL +が返され、 +.Er ERANGE +が +.Va errno +に保存されます。 +正しい値がアンダフローとなると思われるときは、 +0 が返され、 +.Er ERANGE +が +.Va errno +に保存されます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er ERANGE +オーバフローまたはアンダフローが起きました。 +.El +.Sh 関連項目 +.Xr atof 3 , +.Xr atoi 3 , +.Xr atol 3 , +.Xr strtol 3 , +.Xr strtoul 3 +.Sh 規格 +.Fn strtod +関数は、 +.St -isoC +に適合しています。 +.Sh 作者 +このソフトウェアの作者は +.An David M. Gay +です。 +.Pp +Copyright (c) 1991 by AT&T. +.Pp +本ソフトウェアのコピーや修正版、またはそれらを含むソフトウェア +のすべてのコピー、およびそのようなソフトウェアのサポートドキュメント +のすべてのコピーにこの注意書き全体が含まれていることを条件として、この +ソフトウェアを無料であらゆる目的に使用し、コピーし、修正し、 +配布することをここに許諾します。 +.Pp +本ソフトウェアは、いかなる明示的または暗黙的な保証なしに、 +「そのままの形」で提供されています。 +特に、作者あるいは AT&T は、 +本ソフトウェアの商品性または特定の目的に対する適合性に関する +説明または保証を一切行いません。 +.Pp +.Fn strtod +およびそれに付随する関数のソースコードの無料 +コピー入手については、ベンダに連絡してください。 diff --git a/documentation/manual-pages/ja/man3/strtok.3 b/documentation/manual-pages/ja/man3/strtok.3 new file mode 100644 index 0000000000..853b57e46c --- /dev/null +++ b/documentation/manual-pages/ja/man3/strtok.3 @@ -0,0 +1,182 @@ +.\" Copyright (c) 1998 Softweyr LLC. All rights reserved. +.\" +.\" strtok_r, from Berkeley strtok +.\" Oct 13, 1998 by Wes Peters <wes@softweyr.com> +.\" +.\" Copyright (c) 1988, 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 +.\" notices, this list of conditions and the following disclaimer. +.\" +.\" 2. Redistributions in binary form must reproduce the above +.\" copyright notices, 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 Softweyr LLC, the +.\" University of California, Berkeley, and its contributors. +.\" +.\" 4. Neither the name of Softweyr LLC, 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 SOFTWEYR LLC, 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 SOFTWEYR LLC, 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. +.\" +.\" @(#)strtok.3 8.2 (Berkeley) 2/3/94 +.\" %FreeBSD: src/lib/libc/string/strtok.3,v 1.10.2.8 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd November 27, 1998 +.Dt STRTOK 3 +.Os +.Sh 名称 +.Nm strtok , strtok_r +.Nd 文字列のトークン +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft char * +.Fn strtok "char *str" "const char *sep" +.Ft char * +.Fn strtok_r "char *str" "const char *sep" "char **last" +.Sh 解説 +.Bf -symbolic +このインタフェースは +.Xr strsep 3 +によって置き換えられました。 +.Ef +.Pp +.Fn strtok +関数は、ヌルで終端された文字列 +.Fa str +の中の連続するトークンを分割するために用いられます。 +これらのトークンは、その文字列内で +.Fa sep +の中の文字の少なくとも 1 つによって区分されています。 +最初に +.Fn strtok +を呼び出すときには、 +.Fa str +を指定する必要があります。 +同じ文字列からさらにトークンを取得するために +続いて呼び出すときには、 +代わりに空ポインタを渡す必要があります。 +セパレータ文字列 +.Fa sep +は毎回与えなければなりませんが、 +呼び出しのたびに変更しても構いません。 +.\".Pp +.\"The implementation will behave as if no library function calls +.\".Fn strtok . +.Pp +ライブラリは、実装上、他のライブラリ関数が +.Fn strtok +を呼び出したりしないかのように動作します。 +.Pp +.Fn strtok_r +関数は +.Fn strtok +の再入可能なバージョンです。 +コンテキストポインタ +.Fa last +は、呼び出し毎に与えなければなりません。 +.Fn strtok_r +は、別々のコンテキストポインタが使われている限りでは、 +お互いの内部で 2 つのパースループを入れ子にするためにも使えます。 +.Pp +.Fn strtok +および +.Fn strtok_r +関数は、そのトークン自体を +.Dv NUL +文字で置き換えた後、 +文字列の次のトークンの先頭へのポインタを返します。 +トークンがなくなると、NULL ポインタを返します。 +.Sh 例 +次の例では、別々のコンテキストを使って 2 つの文字列を +パースするために +.Fn strtok_r +を使っています: +.Bd -literal +char test[80], blah[80]; +char *sep = "\e\e/:;=-"; +char *word, *phrase, *brkt, *brkb; + +strcpy(test, "This;is.a:test:of=the/string\e\etokenizer-function."); + +for (word = strtok_r(test, sep, &brkt); + word; + word = strtok_r(NULL, sep, &brkt)) +{ + strcpy(blah, "blah:blat:blab:blag"); + + for (phrase = strtok_r(blah, sep, &brkb); + phrase; + phrase = strtok_r(NULL, sep, &brkb)) + { + printf("So far we're at %s:%s\en", word, phrase); + } +} +.Ed +.Sh 関連項目 +.Xr memchr 3 , +.Xr strchr 3 , +.Xr strcspn 3 , +.Xr strpbrk 3 , +.Xr strrchr 3 , +.Xr strsep 3 , +.Xr strspn 3 , +.Xr strstr 3 +.Sh 規格 +.Fn strtok +関数は、 +.St -isoC +に適合しています。 +.Sh バグ +System V の +.Fn strtok +は、区切り文字のみからなる文字列を渡された場合は、 +次の開始点を変更しません。 +異なる (または空の) 区切り文字列を使った +.Fn strtok +の呼び出しで、 +.Dv NULL +.\" .Pf non- Dv NULL (オリジナル記述) +以外の値を返せるようにするためです。 +この実装では常に次の開始点を変更するので、 +そのような呼び出しが続く時は常に +.Dv NULL +を返すことになります。 +.Sh 作者 +.An Wes Peters , +Softweyr LLC: +.Aq wes@softweyr.com +.Pp +.Fx 3.0 +での実装に基づきます。 diff --git a/documentation/manual-pages/ja/man3/strtol.3 b/documentation/manual-pages/ja/man3/strtol.3 new file mode 100644 index 0000000000..9127ead26e --- /dev/null +++ b/documentation/manual-pages/ja/man3/strtol.3 @@ -0,0 +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 +.\" 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. +.\" +.\" @(#)strtol.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/strtol.3,v 1.4.2.5 2001/12/14 18:33:58 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt STRTOL 3 +.Os +.Sh 名称 +.Nm strtol, strtoq +.Nd 文字列の数値を long 値、long long 値または quad_t 値に変換 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.In limits.h +.Ft long +.Fn strtol "const char *nptr" "char **endptr" "int base" +.Ft long long +.Fn strtoll "const char *nptr" "char **endptr" "int base" +.In sys/types.h +.In stdlib.h +.In limits.h +.Ft quad_t +.Fn strtoq "const char *nptr" "char **endptr" "int base" +.Sh 解説 +.Fn strtol +関数は、 +.Fa nptr +にある文字列を +.Em long +値に変換します。 +.Fn strtoll +関数は、 +.Fa nptr +にある文字列を +.Em long long +値に変換します。 +.Fn strtoq +関数は、 +.Fa nptr +にある文字列を +.Em quad_t +値に変換します。 +変換は与えられた +.Fa base +に従って行われます。 +この +.Fa base +の値は 2 から 36 の間か、 +または特別な値である 0 でなければなりません。 +.Pp +文字列は、任意の数の空白文字 +.Xr (isspace 3 +により決められるような) で始まり、 +オプションで一つの +.Ql + +または +.Ql - +記号がそれに続きます。 +.Fa base +が 0 か 16 のときは、文字列は接頭辞 +.Ql 0x +を含むことができ、数字は基数を 16 として読み取られます。 +そうでないときの、0 の +.Fa base +では、その次の文字が +.Ql 0 +でなければ +10 (10 進数) と見なされ、 +.Ql 0 +であれば +8 (8 進数) と見なされます。 +.Pp +文字列の残りは、 +与えられた基数では有効な数字ではない最初の文字のところで中止するという +わかりやすいやり方で +.Em long +値に変換されます。 +(10 以上の基数では、大文字または小文字の +.Ql A +は 10 を、 +.Ql B +は 11 を表し、 +.Ql Z +は 35 を表します。) +.Pp +.Fa endptr +が空ポインタではない場合は、 +.Fn strtol +は最初の無効な文字のアドレスを +.Fa *endptr +に格納します。 +数字が全くなかった場合は、 +.Fn strtol +は +.Fa nptr +の元の値を +.Fa *endptr +に格納します。 +(従って、戻ったときに +.Fa *nptr +が +.Ql \e0 +ではなく、 +.Fa **endptr +が +.Ql \e0 +である場合は、文字列全体が +有効だったことになります。) +.Sh 戻り値 +.Fn strtol +関数は、値がアンダフローやオーバフローを起こさない限り、 +変換の結果を返します。 +アンダフローが起こった場合は、 +.Fn strtol +は +.Dv LONG_MIN +を返します。オーバフローが起こった場合は、 +.Fn strtol +は +.Dv LONG_MAX +を返します。 +.Fn strtoll +関数は、値がアンダフローやオーバフローを起こさない限り、 +変換の結果を返します。 +アンダフローが起こった場合は、 +.Fn strtoll +は +.Dv LLONG_MIN +を返します。オーバフローが起こった場合は、 +.Fn strtoll +は +.Dv LLONG_MAX +を返します。 +全ての場合、 +.Va errno +は +.Er ERANGE +に設定されます。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er ERANGE +与えられた文字列が値域を超えました。 +変換された値は固定されています。 +.El +.Sh 関連項目 +.Xr atof 3 , +.Xr atoi 3 , +.Xr atol 3 , +.Xr strtod 3 , +.Xr strtoul 3 +.Sh 規格 +.Fn strtol +関数は、 +.St -isoC +に適合しています。 +.Fn strtoll +関数は、 +.St -isoC-99 +に適合しています。 +.Bx +.Fn strtoq +関数は推奨されません。 +.Sh バグ +現在のロケールを無視します。 diff --git a/documentation/manual-pages/ja/man3/strtoul.3 b/documentation/manual-pages/ja/man3/strtoul.3 new file mode 100644 index 0000000000..237539a33b --- /dev/null +++ b/documentation/manual-pages/ja/man3/strtoul.3 @@ -0,0 +1,196 @@ +.\" 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. +.\" +.\" @(#)strtoul.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/strtoul.3,v 1.3.2.7 2002/01/21 12:30:34 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt STRTOUL 3 +.Os +.Sh 名称 +.Nm strtoul , strtoull , strtouq +.Nd 文字列を +.Vt unsigned long 値、unsigned long long 値 +または +.Vt uquad_t 値 +に変換 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.In limits.h +.Ft "unsigned long" +.Fn strtoul "const char *nptr" "char **endptr" "int base" +.Ft "unsigned long long" +.Fn strtoull "const char *nptr" "char **endptr" "int base" +.In sys/types.h +.In stdlib.h +.In limits.h +.Ft u_quad_t +.Fn strtouq "const char *nptr" "char **endptr" "int base" +.Sh 解説 +.Fn strtoul +関数は、 +.Fa nptr +にある文字列を +.Vt "unsigned long" +値に変換します。 +.Fn strtoull +関数は、 +.Fa nptr +にある文字列を +.Vt "unsigned long long" +値に変換します。 +.Fn strtouq +関数は、 +.Fa nptr +にある文字列を +.Vt u_quad_t +値に変換します。 +変換は与えられた +.Fa base +に従って行われます。 +この +.Fa base +の値は 2 から 36 の間か、 +または特別な値である 0 でなければなりません。 +.Pp +文字列は、任意の数の空白文字 +.Xr (isspace 3 +により決められるような) で始まり、 +オプションで一つの +.Ql + +または +.Ql - +記号が続きます。 +.Fa base +が 0 か 16 のとき、文字列は接頭辞 +.Dq Li 0x +を含むことができ、数字は基数を 16 として読み取られます。 +そうでないときの、0 の +.Fa base +では、その次の文字が +.Ql 0 +でなければ +10 (10 進数) と見なされ、 +.Ql 0 +であれば +8 (8 進数) と見なされます。 +.Pp +文字列の残りは、 +与えられた基数では有効な数字ではない最初の文字のところで中止するという +わかりやすいやり方で +.Vt "unsigned long" +値に変換されます。 +(10 以上の基数では、大文字または小文字の +.Ql A +は 10 を、 +.Ql B +は 11 を表し、 +.Ql Z +は 35 を表します。) +.Pp +.Fa endptr +が +.Dv NULL +ではない場合は、 +.Fn strtoul +は最初の無効な文字のアドレスを +.Fa *endptr +に格納します。 +数字が全くなかった場合は、 +.Fn strtoul +は +.Fa nptr +の元の値を +.Fa *endptr +に格納します。 +(従って、戻ったときに +.Fa *nptr +が +.Ql \e0 +ではなく、 +.Fa **endptr +が +.Ql \e0 +である場合は、文字列全体が +有効だったことになります。) +.Sh 戻り値 +.Fn strtoul +関数は、 +元の (否定されていない) 値がオーバフローを起こしそうにない限り、 +変換の結果、もしくは先頭にマイナス記号がある場合には変換結果の否定を返します。 +オーバフローを起こす場合、 +.Fn strtoul +は +.Dv ULONG_MAX +を返します。 +.Fn strtoull +関数は、 +元の (否定されていない) 値がオーバフローを起こしそうにない限り、 +変換の結果、もしくは先頭にマイナス記号がある場合には変換結果の否定を返します。 +オーバフローを起こす場合、 +.Fn strtoull +は +.Dv ULLONG_MAX +を返します。 +全ての場合で、 +.Va errno +に +.Er ERANGE +を設定します。 +.Sh エラー +.Bl -tag -width Er +.It Bq Er ERANGE +与えられた文字列が値域を超えました。 +変換された値は固定されています。 +.El +.Sh 関連項目 +.Xr strtol 3 +.Sh 規格 +.Fn strtoul +関数は、 +.St -isoC +に適合しています。 +.Fn strtoll +関数は、 +.St -isoC-99 +に適合しています。 +.Bx +.Fn strtouq +関数は推奨されません。 +.Sh バグ +現在のロケールを無視します。 diff --git a/documentation/manual-pages/ja/man3/strxfrm.3 b/documentation/manual-pages/ja/man3/strxfrm.3 new file mode 100644 index 0000000000..83d4e586dd --- /dev/null +++ b/documentation/manual-pages/ja/man3/strxfrm.3 @@ -0,0 +1,119 @@ +.\" 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. +.\" +.\" @(#)strxfrm.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/strxfrm.3,v 1.11.2.3 2001/12/14 18:33:59 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt STRXFRM 3 +.Os +.Sh 名称 +.Nm strxfrm +.Nd 文字列をロケールにしたがって変換する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Fn strxfrm "char *dst" "const char *src" "size_t n" +.Sh 解説 +.Fn strxfrm +関数は、 +.Fa src +により示されたヌル文字で終了する文字列を、 +現在のロケール照合 (locale collation) がある場合には、 +それに従って変換し、 +.\"then copies the transformed string +.\"into +.\".Fa dst . +変換した文字列を +.Fa dst +にコピーします。 +.\"Not more than +.\".Fa n +.\"characters are copied into +.\".Fa dst , +.\"including the terminating null character added. +.Fa n +を越えない文字数が +.Fa dst +にヌル文字を付加してコピーされます。 +.\"If +.\".Fa n +.\"is set to 0 +.\"(it helps to determine an actual size needed +.\"for transformation), +.\".Fa dst +.\"is permitted to be a NULL pointer. +もし +.Fa n +に 0 がセットされた場合 (この場合変換に必要となる実サイズを決定するのを助けます)、 +.Fa dst +には NULL ポインタにする事が許されます。 +.Pp +.Fn strxfrm +の後で +.Fn strcmp +を使って 2 つの文字列を比較することは、 +元の 2 つの文字列を +.Fn strcoll +を使って比較することと同じになります。 +.Sh 戻り値 +.\"Upon successful completion, +.\".Fn strxfrm +.\"returns the length of the transformed string not including +.\"the terminating null character. +.\"If this value is +.\".Fa n +.\"or more, the contents of +.\".Fa dst +.\"are indeterminate. +完全に成功した場合、 +.Fn strxfrm +は終端のヌル文字を含まない変換された文字列の長さを返します。 +もしこの値が +.Fa n +と同じかそれより大きい場合、 +.Fa dst +の内容は不定です。 +.Sh 関連項目 +.Xr setlocale 3 , +.Xr strcmp 3 , +.Xr strcoll 3 +.Sh 規格 +.Fn strxfrm +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/swab.3 b/documentation/manual-pages/ja/man3/swab.3 new file mode 100644 index 0000000000..778d5fc065 --- /dev/null +++ b/documentation/manual-pages/ja/man3/swab.3 @@ -0,0 +1,70 @@ +.\" 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. +.\" +.\" @(#)swab.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/string/swab.3,v 1.4.2.2 2001/12/14 18:33:59 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt SWAB 3 +.Os +.Sh 名称 +.Nm swab +.Nd 隣接するバイトを交換する +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In string.h +.Ft void +.Fn swab "const void *src" "void *dst" "size_t len" +.Sh 解説 +関数 +.Fn swab +は +.Fa src +で参照される位置から +.Fa dst +で参照される位置へ、 +隣接するバイトを交換しながら +.Fa len +バイトをコピーします。 +.Pp +引数 +.Fa len +は偶数でなければなりません。 +.Sh 関連項目 +.Xr bzero 3 , +.Xr memset 3 +.Sh 歴史 +.Fn swab +関数は +.At v7 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/sysconf.3 b/documentation/manual-pages/ja/man3/sysconf.3 new file mode 100644 index 0000000000..b2301a89ec --- /dev/null +++ b/documentation/manual-pages/ja/man3/sysconf.3 @@ -0,0 +1,201 @@ +.\" 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. +.\" +.\" @(#)sysconf.3 8.3 (Berkeley) 4/19/94 +.\" %FreeBSD: src/lib/libc/gen/sysconf.3,v 1.8.2.6 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 19, 1994 +.Dt SYSCONF 3 +.Os +.Sh 名称 +.Nm sysconf +.Nd コンフィギュレーション可能なシステム変数を取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft long +.Fn sysconf "int name" +.Sh 解説 +このインタフェースは、 +.St -p1003.1-88 +により定義されたものです。 +.Xr sysctl 3 +を使えば、さらに一層完全なインタフェースを使用することができます。 +.Pp +.Fn sysconf +関数は、 +コンフィギュレーション可能なシステムの制限 (system limit) +またはオプション変数の現在の値を、 +アプリケーションが調べるための方法を提供します。 +引数 +.Fa name +は、照会するシステム変数を指定します。 +それぞれの名前の値に対応するシンボリック定数は、 +インクルードファイル +.Aq Pa unistd.h +の中にあります。 +.Pp +使用できる値は次の通りです: +.Pp +.Bl -tag -width 6n +.Pp +.It Li _SC_ARG_MAX +.Xr execve 2 +の引数の最大バイト数。 +.It Li _SC_CHILD_MAX +1 ユーザ ID あたりの同時プロセスの最大数。 +.It Li _SC_CLK_TCK +1 秒あたりの tick 数で表した統計クロック (statistics clock) の頻度。 +.It Li _SC_NGROUPS_Max +追加可能なグループの最大数。 +.It Li _SC_OPEN_MAX +1 ユーザ ID 当たりのオープン可能なファイルの最大数。 +.It Li _SC_STREAM_MAX +1 つのプロセスが一度にオープンできるストリームの最大数の最小値。 +.It Li _SC_TZNAME_MAX +時間帯 (timezone) の名前としてサポートされるタイプの最大数の最小値。 +.It Li _SC_JOB_CONTROL +このシステムでジョブ制御が利用できるなら 1 を返し、 +利用できない場合は \-1 を返します。 +.It Li _SC_SAVED_IDS +保存された set-group および保存された set-user ID が +利用できる場合は 1 を返し、そうでない場合は \-1 を返します。 +.It Li _SC_VERSION +システムが準拠しようと試みる +.St -p1003.1 +のバージョン。 +.It Li _SC_BC_BASE_MAX +.Xr bc 1 +ユーティリティにおける ibase/obase の最大値。 +.It Li _SC_BC_DIM_MAX +.Xr bc 1 +ユーティリティにおける最大配列サイズ。 +.It Li _SC_BC_SCALE_MAX +.Xr bc 1 +ユーティリティにおける最大スケール値。 +.It Li _SC_BC_STRING_MAX +.Xr bc 1 +ユーティリティにおける最大ストリング長。 +.It Li _SC_COLL_WEIGHTS_MAX +ロケール定義ファイルにおける LC_COLLATE 順序キーボードのエントリに +割り当てることができる重みの最大数。 +.It Li _SC_EXPR_NEST_MAX +.Xr expr 1 +ユーティリティでの括弧でネストできる式の最大数。 +.It Li _SC_LINE_MAX +テキスト処理ユーティリティの入力ラインのバイトで表した最大長さ。 +.It Li _SC_RE_DUP_MAX +インターバル表記を使うときに許される正規表現の繰り返し発生回数の最大数。 +.It Li _SC_2_VERSION +システムが準拠することを試みる +.St -p1003.2 +のバージョン。 +.It Li _SC_2_C_BIND +システムの C 言語開発ファシリティで +C 言語構築オプション (C-Language Bindings Option) が +サポートされていれば 1 を返し、 +サポートされていなければ \-1 を返します。 +.It Li _SC_2_C_DEV +C 言語開発ユーティリティオプション +(C-Language Development Utilities Option) が +サポートされていれば 1 を返し、 +サポートされていなければ\-1 を返します。 +.It Li _SC_2_CHAR_TERM +.St -p1003.2 +に記述されている全操作が可能な端末タイプが、 +最低 1 つサポートされていれば 1 を返し、 +そうでなければ \-1 を返します。 +.It Li _SC_2_FORT_DEV +FORTRAN 開発ユーティリティオプション +(FORTRAN Development Utilities Option) が +サポートされていれば 1 を返し、 +サポートされていなければ \-1 を返します。 +.It Li _SC_2_FORT_RUN +FORTRAN ランタイムユーティリティオプション +(FORTRAN Runtime Utilities Option) が +サポートされていれば 1 を返し、 +サポートされていなければ \-1 を返します。 +.It Li _SC_2_LOCALEDEF +ロケールの作成がサポートしていれば 1 を返し、 +サポートされていなければ \-1 を返します。 +.It Li _SC_2_SW_DEV +ソフトウェア開発ユーティリティオプション +(Software Development Utilities Option) が +サポートされていれば 1 を返し、 +サポートされていなければ \-1 を返します。 +.It Li _SC_2_UPE +ユーザポータビリティユーティリティオプション +(User Portability Utilities Option) が +サポートされていれば 1 を返し、 +サポートされていなければ \-1 を返します。 +.El +.Sh 戻り値 +.Fn sysconf +の呼び出しが成功しなかったときは \-1 が返され、 +.Va errno +が適切な値に設定されます。 +そうでないときは、 +変数がサポートされていない機能に関連づけられていると \-1 が返され、 +.Va errno +は修正されません。 +それ以外の場合は、現在の変数値が返されます。 +.Sh エラー +.Fn sysconf +関数が失敗して、ライブラリ関数 +.Xr sysctl 3 +について記されているエラーのいずれかに対応した +.Va errno +が設定されることがあります。 +さらに、次のようなエラーが報告されることがあります。 +.Bl -tag -width Er +.It Bq Er EINVAL +.Fa name +引数の値が無効です。 +.El +.Sh 関連項目 +.Xr sysctl 3 +.Sh バグ +_SC_STREAM_MAX の値は最大値の最小値であり、 +ANSI C の FOPEN_MAX と同じであることが要求されているので、 +戻り値は極めて小さい誤解を招くような値になります。 +.Sh 規格 +.Fn sysconf +の返す値が、呼び出したプロセスが生存している間に変化する +可能性があることを除いては、この関数は +.St -p1003.1-88 +に準拠しています。 +.Sh 歴史 +.Fn sysconf +関数は、最初 +.Bx 4.4 +に現れました。 diff --git a/documentation/manual-pages/ja/man3/sysctl.3 b/documentation/manual-pages/ja/man3/sysctl.3 new file mode 100644 index 0000000000..a424691b81 --- /dev/null +++ b/documentation/manual-pages/ja/man3/sysctl.3 @@ -0,0 +1,955 @@ +.\" 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. +.\" +.\" @(#)sysctl.3 8.4 (Berkeley) 5/9/95 +.\" %FreeBSD: src/lib/libc/gen/sysctl.3,v 1.33.2.12 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd January 23, 2001 +.Dt SYSCTL 3 +.Os +.Sh 名称 +.Nm sysctl , +.Nm sysctlbyname , +.Nm sysctlnametomib +.Nd システム情報を取得または設定 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In sys/sysctl.h +.Ft int +.Fn sysctl "int *name" "u_int namelen" "void *oldp" "size_t *oldlenp" "void *newp" "size_t newlen" +.Ft int +.Fn sysctlbyname "const char *name" "void *oldp" "size_t *oldlenp" "void *newp" "size_t newlen" +.Ft int +.Fn sysctlnametomib "const char *name" "int *mibp" "size_t *sizep" +.Sh 解説 +.Fn sysctl +関数はシステム情報を取り出し、該当する特権のあるプロセスが +システム情報を設定できるようにします。 +.Fn sysctl +で利用できる情報は、整数、 +ストリング、およびテーブルで構成されます。情報は、 +.Xr sysctl 8 +ユーティリティ +を使用してコマンドインタフェースから取り出しおよび設定できます。 +.Pp +以降で明確に記載した場合を除いて、 +.Fn sysctl +は、要求されたデータの一貫した +スナップショットを返します。一貫性を保つために、メモリへの宛先バッファが +ロックされるので、データはブロックなしにコピーできます。 +.Fn sysctl +の呼び出しはデッドロックを回避するためにシリアル化されています。 +.Pp +状態は ``管理情報ベース'' (Management Information Base、MIB) +スタイルの名前を使用して記述され、 +.Fa name +にリストされます。 +.Fa name +は長さが +.Fa namelen +の整数の配列です。 +.Pp +.Fn sysctlbyname +関数は、名前の +ASCII +表現を受け入れ、整数の名前ベクトルを +内部的に検索します。それ以外は、標準の +.Fn sysctl +関数と同じように機能します。 +.Pp +情報は +.Fa oldp +で指定したバッファにコピーされます。バッファのサイズは、呼び +出しの前に +.Fa oldlenp +で指定した位置で与えられます。この位置は、呼び出しが +正常に完了した後およびエラーコード +.Er ENOMEM +で返った後にコピーされるデータの +量を与えます。利用できるデータの量が指定のバッファサイズより大きい場合、 +呼び出しは、指定バッファにちょうど入る量のデータだけを与え、エラーコード +.Er ENOMEM +で返ります。古い値が不要な場合は、 +.Fa oldp +と +.Fa oldlenp +を +NULL +に +設定してください。 +.Pp +利用できるデータのサイズを決定するには、 +.Fa oldp +に +NULL +パラメータを指定して +.Fn sysctl +を呼び出します。利用できるデータのサイズが、 +.Fa oldlenp +の指す位置に +返されます。操作によっては空間の量が頻繁に変化することがあります。 +そのような操作の場合、システムは量を切り上げようとします。返されたサイズ +が、その後まもなくデータを返す呼び出しに十分であるようにするためです。 +.Pp +新しい値を設定するため、 +.Fa newp +は、長さが +.Fa newlen +のバッファを指すように +設定されます。このバッファから、要求された値が取得されます。新しい値が +設定されないと、 +.Fa newp +は +NULL +に設定され、 +.Fa newlen +は +0 に設定されます。 +.Pp +.Fn sysctlnametomib +関数は、ASCII 表現の名前を受け付け、 +整数の名前ベクトルを検索し、 +.Fa mibp +で指される mib 配列中に、数値表現を格納して返します。 +mib 配列中の要素数は、呼び出し前に +.Fa sizep +で指定された場所が与えます。 +呼び出しが成功した後には、この場所には、コピーされた要素数が与えられます。 +結果の +.Fa mib +と +.Fa size +は、後で +.Fn sysctl +呼び出しに使用して、 +要求した ASCII 名に関連付けられているデータを取得可能です。 +同じ名前の変数を繰り返し要求するアプリケーションが使用することを、 +このインタフェースは意図しています ( +.Fn sysctl +関数は、 +.Fn sysctlbyname +関数で実現される要求と同じことを、約 1/3 の時間で実行します)。 +.Fn sysctlbyname +関数は、 +mib の前置詞を取得してこれに最後の構成要素を付加するためにも有用です。 +例えば、PID が 100 未満のプロセスのプロセス情報を取得するには、 +次のようにします: +.Pp +.Bd -literal -offset indent -compact +int i, mib[4]; +size_t len; +struct kinfo_proc kp; + +/* Fill out the first three components of the mib */ +len = 4; +sysctlnametomib("kern.proc.pid", mib, &len); + +/* Fetch and print entries for pid's < 100 */ +for (i = 0; i < 100; i++) { + mib[3] = i; + len = sizeof(kp); + if (sysctl(mib, 4, &kp, &len, NULL, 0) == -1) + perror("sysctl"); + else if (len > 0) + printkproc(&kp); +} +.Ed +.Pp +1 番上のレベルの名前は +.Aq Pa sys/sysctl.h +に +CTL_ +接頭語付きで定義されます。 +次のとおりです。次のレベルおよびそれ以下のレベルは、ここにリストする +インクルードファイル内にあり、以降の個別のセクションで説明します。 +.Pp +.Bl -column CTLXMACHDEPXXX "Next level namesXXXXXX" -offset indent +.It Sy "名前 次のレベル名 解説" +.It "CTL\_DEBUG sys/sysctl.h デバッグ" +.It "CTL\_VFS sys/mount.h ファイルシステム" +.It "CTL\_HW sys/sysctl.h 一般的な CPU, I/O" +.It "CTL\_KERN sys/sysctl.h カーネルの最高限界" +.It "CTL\_MACHDEP sys/sysctl.h マシン依存" +.It "CTL\_NET sys/socket.h ネットワーク" +.It "CTL\_USER sys/sysctl.h ユーザレベル" +.It "CTL\_VM vm/vm_param.h 仮想メモリ" +.El +.Pp +たとえば、システムで許容されるプロセスの最大数を取り出す方法は +次のとおりです。 +.Pp +.Bd -literal -offset indent -compact +int mib[2], maxproc; +size_t len; + +mib[0] = CTL_KERN; +mib[1] = KERN_MAXPROC; +len = sizeof(maxproc); +sysctl(mib, 2, &maxproc, &len, NULL, 0); +.Ed +.Pp +システムユーティリティの標準検索パスを取り出す方法は次のとおりです。 +.Pp +.Bd -literal -offset indent -compact +int mib[2]; +size_t len; +char *p; + +mib[0] = CTL_USER; +mib[1] = USER_CS_PATH; +sysctl(mib, 2, NULL, &len, NULL, 0); +p = malloc(len); +sysctl(mib, 2, p, &len, NULL, 0); +.Ed +.Ss CTL_DEBUG +デバッグ変数はシステムごとにさまざまです。デバッグ変数を追加または +削除するとき、それを認識するように +.Fn sysctl +をコンパイルし直す必要はありません。実行のたびに、 +.Fn sysctl +が、カーネルからデバッグ変数の +リストを取得し、その現在値を表示するからです。システムは +20 個の +.Ns ( Va struct ctldebug ) +変数を定義します。これらは +.Nm debug0 +から +.Nm debug19 +という +名前になります。これらは別個の変数として宣言されるので、対応変数の位置で +個別に初期化できます。ローダは、変数が複数の場所で初期化されたときは +エラーを出して、同じ変数が複数に使用されるのを回避します。たとえば、変数 +.Nm dospecialcheck +をデバッグ変数としてエクスポートする場合には、次の宣言が +使用できます。 +.Bd -literal -offset indent -compact +int dospecialcheck = 1; +struct ctldebug debug5 = { "dospecialcheck", &dospecialcheck }; +.Ed +.Ss CTL_VFS +明瞭な第 +2 レベルの名称 +VFS_GENERIC +は、すべてのファイルシステムに関する +一般情報を取得するのに使用します。これの第 +3 レベルの識別子の +1 つは +VFS_MAXTYPENUM +で、最も大きいファイルシステムタイプの番号を与えます。別の +第 +3 レベルの識別子は +VFS_CONF +で、第 +4 レベルの識別子として与えられた +ファイルシステムタイプに関する構成を返します +( +使用法の例は +.Xr getvfsbyname 3 +を参照 +) +。残りの第 +2 レベルの識別子は、 +.Xr statfs 2 +呼び出しまたは +VFS_CONF +が +返すファイルシステムタイプ番号です。各ファイルシステムについて利用できる第 +3 レベルの識別子は、そのファイルシステムのマウント引数構造を定義する +ヘッダファイルで指定されます。 +.Ss CTL_HW +CTL_HW +レベルに関して利用できるストリングと整数については以下で詳しく +説明します。変更可能性の列は、適切な特権のあるプロセスが値を +変更できるかどうかを示します。 +.Bl -column "Second level nameXXXXXX" integerXXX -offset indent +.It Sy "第 2 レベル名 タイプ 変更可能" +.It "HW\_MACHINE ストリング いいえ" +.It "HW\_MODEL ストリング いいえ" +.It "HW\_NCPU 整数 いいえ" +.It "HW\_BYTEORDER 整数 いいえ" +.It "HW\_PHYSMEM 整数 いいえ" +.It "HW\_USERMEM 整数 いいえ" +.It "HW\_PAGESIZE 整数 いいえ" +.It "HW\_FLOATINGPOINT 整数 いいえ" +.It "HW\_MACHINE\_ARCH ストリング いいえ" +.\".It "HW\_DISKNAMES 整数 いいえ" +.\".It "HW\_DISKSTATS 整数 いいえ" +.El +.Pp +.Bl -tag -width 6n +.It Li HW_MACHINE +マシンクラス +.It Li HW_MODEL +マシンモデル +.It Li HW_NCPU +CPU +の数 +.It Li HW_BYTEORDER +バイト順 +(4,321、または 1,234) +.It Li HW_PHYSMEM +物理メモリのバイト +.It Li HW_USERMEM +カーネルでないメモリのバイト +.It Li HW_PAGESIZE +ソフトウェアのページサイズ +.It Li HW_FLOATINGPOINT +浮動小数点サポートがハードウェアにある場合はゼロでない +.It Li HW_MACHINE_ARCH +マシンはアーキテクチャタイプに依存 +.\".It Fa HW_DISKNAMES +.\".It Fa HW_DISKSTATS +.El +.Ss CTL_KERN +CTL_KERN +レベルに関して利用できるストリングと整数の情報について以下に詳しく +説明します。変更可能性の列は、該当する特権のあるプロセスが値を +変更するかどうかを示します。現時点で利用できるデータのタイプは、 +プロセス情報、システム +vnode、開いたファイルのエントリ、 +ルーティングテーブルのエントリ、仮想メモリ統計、負荷平均履歴、および +クロックレート情報です。 +.Pp +.Bl -column "KERNXMAXFILESPERPROCXXX" "struct clockrateXXX" -offset indent +.It Sy "第 2 レベル名 タイプ 変更可能" +.It "KERN\_ARGMAX 整数 いいえ" +.It "KERN\_BOOTFILE ストリング はい" +.It "KERN\_BOOTTIME struct timeval いいえ" +.It "KERN\_CLOCKRATE struct clockinfo いいえ" +.It "KERN\_FILE struct file いいえ" +.It "KERN\_HOSTID 整数 はい" +.It "KERN\_HOSTNAME ストリング はい" +.It "KERN\_JOB\_CONTROL 整数 いいえ" +.It "KERN\_MAXFILES 整数 はい" +.It "KERN\_MAXFILESPERPROC 整数 はい" +.It "KERN\_MAXPROC 整数 いいえ" +.It "KERN\_MAXPROCPERUID 整数 はい" +.It "KERN\_MAXVNODES 整数 はい" +.It "KERN\_NGROUPS 整数 いいえ" +.It "KERN\_NISDOMAINNAME ストリング はい" +.It "KERN\_OSRELDATE 整数 いいえ" +.It "KERN\_OSRELEASE ストリング いいえ" +.It "KERN\_OSREV 整数 いいえ" +.It "KERN\_OSTYPE ストリング いいえ" +.It "KERN\_POSIX1 整数 いいえ" +.It "KERN\_PROC struct proc いいえ" +.It "KERN\_PROF node 適用不可" +.It "KERN\_QUANTUM 整数 はい" +.It "KERN\_SAVED\_IDS 整数 いいえ" +.It "KERN\_SECURELVL 整数 累乗のみ" +.It "KERN\_UPDATEINTERVAL 整数 いいえ" +.It "KERN\_VERSION ストリング いいえ" +.It "KERN\_VNODE struct vnode いいえ" +.El +.Pp +.Bl -tag -width 6n +.It Li KERN_ARGMAX +.Xr execve 2 +への引数の最大バイト数 +.It Li KERN_BOOTFILE +カーネルがロードされた元のファイルの完全なパス名 +.It Li KERN_BOOTTIME +.Va struct timeval +構造が返されます。この構造には、システムが起動された時刻が +入れられます。 +.It Li KERN_CLOCKRATE +.Va struct clockinfo +構造が返されます。この構造には、クロック、統計クロック、 +およびプロファイル化クロック頻度、マイクロ秒 +/hz +チック、およびねじれレート +が入れられます。 +.It Li KERN_FILE +ファイルテーブル全体を返します。返されたデータは、 +1 つの +.Va struct filehead +に +.Va struct file +の配列が続いたものになります。ファイルのサイズは、 +システム内のそのようなオブジェクトの現在の数で決まります。 +.It Li KERN_HOSTID +ホスト +ID +を取得または設定します。 +.It Li KERN_HOSTNAME +ホスト名を取得または設定します。 +.It Li KERN_JOB_CONTROL +このシステムで情報制御が利用できる場合は +1 を返します。そうでない場合は +0 を返します。 +.It Li KERN_MAXFILES +システムで開けるファイルの最大数 +.It Li KERN_MAXFILESPERPROC +1 つのプロセスについて開けるファイルの最大数。この制限が適用されるのは、 +開くという要求があった時点で、ゼロでない有効な +uid +のあるプロセスだけです。 +制限または有効な +uid +が変更されても、既に開かれているファイルは影響を受けません。 +.It Li KERN_MAXPROC +システム内で許される同時プロセスの最大数 +.It Li KERN_MAXPROCPERUID +1 つの有効な +uid +についてシステムが許容する同時プロセスの最大数。この限界が +適用されるのは、フォーク要求の時点で、ゼロでない有効な +uid +のあるプロセス +だけです。限界が変更されても、既に開始されているプロセスは影響を +受けません。 +.It Li KERN_MAXVNODES +システムで利用できる +vnode +の最大数 +.It Li KERN_NGROUPS +補充グループの最大数 +.It Li KERN_NISDOMAINNAME +現在の +YP/NIS +ドメインの名前 +.It Li KERN_OSRELDATE +システムのリリース日付。形式は +YYYYMM (1996 +年 +1 月は +199601 と +コード化されます +)。 +.It Li KERN_OSRELEASE +システムリリースストリング +.It Li KERN_OSREV +システム改訂ストリング +.It Li KERN_OSTYPE +システムタイプストリング +.It Li KERN_POSIX1 +システムが準拠しようとしている +.St -p1003.1 +のバージョン +.It Li KERN_PROC +プロセステーブル全体またはそのサブセットを返します。 +.Va struct kinfo_proc +構造の配列が返され、配列のサイズはシステム内のそのようなオブジェクトの +現在の数で決まります。第 +3 レベルと第 +4 レベルは次のとおりです。 +.Bl -column "Third level nameXXXXXX" "Fourth level is:XXXXXX" -offset indent +.It "第 3 レベル名 第 4 レベル名" +.It "KERN\_PROC\_ALL なし" +.It "KERN\_PROC\_PID プロセス ID" +.It "KERN\_PROC\_PGRP プロセスグループ" +.It "KERN\_PROC\_TTY tty デバイス" +.It "KERN\_PROC\_UID ユーザ ID" +.It "KERN\_PROC\_RUID リアルユーザ ID" +.El +.It Li KERN_PROF +カーネルに関するプロファイル化情報を返します。カーネルをプロファイル化用に +コンパイルしないと、 +KERN_PROF +値を取り出そうとしても、 +.Er ENOENT +で処理は失敗します。ストリング用の第 +3 レベル名および整数プロファイル化情報について +以下に詳しく説明します。 +( +変更可能性の列は、該当する特権のあるプロセスが値を +変更できるかどうかを示します。 +.Bl -column "GPROFXGMONPARAMXXX" "struct gmonparamXXX" -offset indent +.It Sy "第 3 レベル名 タイプ 変更可能" +.It "GPROF\_STATE 整数 はい" +.It "GPROF\_COUNT u_short[\|] はい" +.It "GPROF\_FROMS u_short[\|] はい" +.It "GPROF\_TOS struct tostruct はい" +.It "GPROF\_GMONPARAM struct gmonparam いいえ" +.El +.Pp +変数は次のとおりです。 +.Bl -tag -width 6n +.It Li GPROF_STATE +GMON_PROF_ON +または +GMON_PROF_OFF +を返して、プロファイル化が +進行中であるか、または停止しているかを示します。 +.It Li GPROF_COUNT +統計プログラムカウンタカウントの配列 +.It Li GPROF_FROMS +呼び出し点のプログラムカウントでインデックス処理された配列 +.It Li GPROF_TOS +呼び出しの宛先とそのカウントを記述する +.Va struct tostruct +の配列 +.It Li GPROF_GMONPARAM +上記の配列のサイズを指定する構造 +.El +.It Li KERN_QUANTUM +他プロセスが実行待ち行列にいる場合において +あるプロセスが取り上げられずに実行し続けられる最大期間を、 +ミリ秒単位で示します。 +.It Li KERN_SAVED_IDS +保存された +set-group +および保存された +set-user ID +が利用できる場合は +1 を +返します。 +.It Li KERN_SECURELVL +システムのセキュリティレベル。このレベルは、該当する特権のあるプロセス +によって上げることができます。下げることはできません。 +.It Li KERN_VERSION +システムバージョンストリング +.It Li KERN_VNODE +vnode +テーブル全体を返します。 +vnode +テーブルは必ずしもシステムの一貫した +スナップショットではないことに注意してください。返されるデータは配列で +構成され、配列のサイズは、システム内のそのようなオブジェクトの現在の数で +決まります。配列の各要素に含まれるのは、 +vnode +のカーネルアドレス +.Va struct vnode * +に +vnode +自体 +.Va struct vnode +が続いたものです。 +.El +.Ss CTL_MACHDEP +定義された変数の集合はアーキテクチャに依存します。次の変数が +i386 +アーキテクチャ用に定義されています。 +.Bl -column "CONSOLE_DEVICEXXX" "struct bootinfoXXX" -offset indent +.It Sy "第 2 レベル名 タイプ 変更可能" +.It Li "CPU\_CONSDEV dev_t いいえ" +.It Li "CPU\_ADJKERNTZ 整数 はい" +.It Li "CPU\_DISRTCSET 整数 はい" +.It Li "CPU\_BOOTINFO struct bootinfo いいえ" +.It Li "CPU\_WALLCLOCK 整数 はい" +.El +.Ss CTL_NET +CTL_NET +レベルに利用できるストリングと整数については以下に詳しく +説明します。変更可能性の列は、該当する特権のあるプロセスが値を +変更できるかどうかを示します。 +.Bl -column "Second level nameXXXXXX" "routing messagesXXX" -offset indent +.It Sy "第 2 レベル名 タイプ 変更可能" +.It "PF\_ROUTE ルーティングメッセージ いいえ" +.It "PF\_INET IPv4 値 はい" +.It "PF\_INET6 IPv6 値 はい" +.El +.Pp +.Bl -tag -width 6n +.It Li PF_ROUTE +ルーティングテーブル全体またはそのサブセットを返します。データは、 +ルーティングメッセージのシーケンスとして返されます +( +ヘッダファイル、形式、 +および意味については +.Xr route 4 +を参照 +)。各メッセージの長さはメッセージヘッダ +に組み込まれています。 +.Pp +第 +3 レベル名はプロトコル番号で、現時点では必ず +0 です。第 +4 レベル名は +アドレスファミリで、これを +0 に設定するとすべてのアドレスファミリを +選択できます。第 +5 レベル名と第 +6 レベル名は次のとおりです。 +.Bl -column "Fifth level nameXXXXXX" "Sixth level is:XXX" -offset indent +.It Sy "第 5 レベル名 第 6 レベル" +.It "NET_RT_FLAGS rtflags" +.It "NET_RT_DUMP なし" +.It "NET_RT_IFLIST なし" +.El +.It Li PF_INET +IPv4 (インターネットプロトコルバージョン 4) +に関する各種のグローバルな情報を取得または +設定します。第 +3 レベル名はプロトコルです。第 +4 レベル名は変数名です。 +現時点で定義されているプロトコルと名前は次のとおりです。 +.Bl -column ProtocolXX VariableXX TypeXX ChangeableXX +.It Sy "プロトコル 変数 タイプ 変更可能" +.It "icmp bmcastecho 整数 はい" +.It "icmp maskrepl 整数 はい" +.It "ip forwarding 整数 はい" +.It "ip redirect 整数 はい" +.It "ip ttl 整数 はい" +.It "udp checksum 整数 はい" +.El +.Pp +変数は次のとおりです。 +.Bl -tag -width 6n +.It Li icmp.bmcastecho +ブロードキャストまたはマルチキャストのアドレスへの +ICMP +エコー要求が +応答される必要がある場合は +1 を返します。 +.It Li icmp.maskrepl +ICMP +ネットワークマスク要求が応答される必要がある場合は +1 を返します。 +.It Li ip.forwarding +IP +転送がホストについて有効なときは +1 を返します。つまり、ホストがルータ +として機能しているときです。 +.It Li ip.redirect +ICMP +再転送がホストによって送信できるときは +1 を返します。このオプション +は、ホストが +IP +パケットをルーティングしていない場合は無視されます。また、 +このオプションは通常、すべてのシステムで有効にしておく必要があります。 +.It Li ip.ttl +システムがソースになっている +IP +パケットの最大寿命 +( +ホップ数 +) +値。この値は +通常のトランスポートプロトコルに適用されます。 +ICMP +にではありません。 +.It Li udp.checksum +UDP +チェックサムが計算およびチェックされているときは +1 を返します。 +UDP +チェックサムを無効にすることは、強く非推奨です。 +.Pp +変数 net.inet.*.ipsec については +.Xr ipsec 4 +を参照してください。 +.El +.It Li PF_INET6 +IPv6 (インターネットプロトコルバージョン 6) +に関する各種のグローバルな情報を取得または +設定します。 +第 3 レベル名はプロトコルです。 +第 4 レベル名は変数名です。 +.Pp +変数 net.inet6.* については +.Xr inet6 4 +を参照してください。 +変数 net.inet6.*.ipsec6 については +.Xr ipsec 4 +を参照してください。 +.El +.Ss CTL_USER +CTL_USER +レベルに利用できるストリングと整数について以下に詳しく説明します。 +変更可能性の列は、該当する特権のあるプロセスが値を変更できるかどうかを +示します。 +.Bl -column "USER_COLL_WEIGHTS_MAXXXX" "integerXXX" -offset indent +.It Sy "第 2 レベル名 タイプ 変更可能" +.It "USER\_BC\_BASE\_MAX 整数 いいえ" +.It "USER\_BC\_DIM\_MAX 整数 いいえ" +.It "USER\_BC\_SCALE\_MAX 整数 いいえ" +.It "USER\_BC\_STRING\_MAX 整数 いいえ" +.It "USER\_COLL\_WEIGHTS\_MAX 整数 いいえ" +.It "USER\_CS\_PATH ストリング いいえ" +.It "USER\_EXPR\_NEST\_MAX 整数 いいえ" +.It "USER\_LINE\_MAX 整数 いいえ" +.It "USER\_POSIX2\_CHAR\_TERM 整数 いいえ" +.It "USER\_POSIX2\_C\_BIND 整数 いいえ" +.It "USER\_POSIX2\_C\_DEV 整数 いいえ" +.It "USER\_POSIX2\_FORT\_DEV 整数 いいえ" +.It "USER\_POSIX2\_FORT\_RUN 整数 いいえ" +.It "USER\_POSIX2\_LOCALEDEF 整数 いいえ" +.It "USER\_POSIX2\_SW\_DEV 整数 いいえ" +.It "USER\_POSIX2\_UPE 整数 いいえ" +.It "USER\_POSIX2\_VERSION 整数 いいえ" +.It "USER\_RE\_DUP\_MAX 整数 いいえ" +.It "USER\_STREAM\_MAX 整数 いいえ" +.It "USER\_TZNAME\_MAX 整数 いいえ" +.El +.Bl -tag -width 6 +.Pp +.It Li USER_BC_BASE_MAX +.Xr bc 1 +ユーティリティ内の最大 +ibase/obase +値 +.It Li USER_BC_DIM_MAX +.Xr bc 1 +ユーティリティ内の最大配列サイズ +.It Li USER_BC_SCALE_MAX +.Xr bc 1 +ユーティリティ内の最大スケール値 +.It Li USER_BC_STRING_MAX +.Xr bc 1 +ユーティリティ内の最大ストリング長 +.It Li USER_COLL_WEIGHTS_MAX +ロケール定義ファイル内の +LC_COLLATE +順序キーワードのエントリに割り +当てできる重みの最大数 +.It Li USER_CS_PATH +すべての標準ユーティリティを検出する環境変数 +.Ev PATH +の値を返します。 +.It Li USER_EXPR_NEST_MAX +.Xr expr 1 +ユーティリティによって、丸括弧内にネストできる式の最大数 +.It Li USER_LINE_MAX +テキスト処理ユーティリティ入力行の最大長 +( +バイト単位 +) +.It Li USER_POSIX2_CHAR_TERM +.St -p1003.2 +に記述されたすべての操作ができる少なくとも +1 つの端末タイプを +システムがサポートする場合は +1 を返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_C_BIND +システムの +C +言語開発機能が、 +C +言語バインディングオプションをサポートする +場合は +1 を返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_C_DEV +システムが +C +言語開発ユーティリティオプションをサポートする場合は +1 を +返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_FORT_DEV +システムが +FORTRAN +開発ユーティリティオプションをサポートする場合は +1 を +返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_FORT_RUN +システムが +FORTRAN +ランタイムユーティリティオプションをサポートする場合は +1 を返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_LOCALEDEF +システムがロケールの作成をサポートする場合は +1 を返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_SW_DEV +システムがソフトウェア開発ユーティリティオプションをサポートする場合は +1 を +返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_UPE +システムがユーザポータビリティ・ユーティリティオプションをサポートする +場合は +1 を返します。そうでない場合は +0 を返します。 +.It Li USER_POSIX2_VERSION +システムが準拠しようとしている +.St -p1003.2 +のバージョン +.It Li USER_RE_DUP_MAX +間隔表記を使用しているときに、許容される正規表現の反復発生の最大数 +.It Li USER_STREAM_MAX +プロセスが同時に開いておけるストリームの最大数の最小 +.It Li USER_TZNAME_MAX +時間帯の名前についてサポートされるタイプの最大数の最小 +.El +.Ss CTL_VM +CTL_VM +レベルで利用できるストリングと整数について以下で詳しく説明します。 +変更可能性の列は、該当する特権のあるプロセスが値を変更できるかどうかを +示します。 +.Bl -column "Second level nameXXXXXX" "struct loadavgXXX" -offset indent +.It Sy "第 2 レベル名 タイプ 変更可能" +.It "VM\_LOADAVG struct loadavg いいえ" +.It "VM\_METER struct vmtotal いいえ" +.It "VM\_PAGEOUT\_ALGORITHM 整数 はい" +.It "VM\_SWAPPING\_ENABLED 整数 おそらく" +.It "VM\_V\_CACHE\_MAX 整数 はい" +.It "VM\_V\_CACHE\_MIN 整数 はい" +.It "VM\_V\_FREE\_MIN 整数 はい" +.It "VM\_V\_FREE\_RESERVED 整数 はい" +.It "VM\_V\_FREE\_TARGET 整数 はい" +.It "VM\_V\_INACTIVE\_TARGET 整数 はい" +.It "VM\_V\_PAGEOUT\_FREE\_MIN 整数 はい" +.El +.Pp +.Bl -tag -width 6n +.It Li VM_LOADAVG +負荷平均履歴を返します。返されたデータは +.Va struct loadavg +で構成されます。 +.It Li VM_METER +システム全体に渡る仮想メモリ統計を返します。返されたデータは +.Va struct vmtotal +で構成されます。 +.It Li VM_PAGEOUT_ALGORITHM +統計ベースの管理アルゴリズムが使用される場合は +0 です。 +近 LRU +( near-LRU ) +アルゴリズムが使用される場合は +1 です。 +.It Li VM_SWAPPING_ENABLED +プロセススワップが有効な場合は +1 です。無効な場合は +0 です。スワップを +無効にしてカーネルが構築された場合、この変数は永続的に +0 に設定されます。 +.It Li VM_V_CACHE_MAX +キャッシュ待ち行列の最大希望サイズ +.It Li VM_V_CACHE_MIN +キャッシュ待ち行列の最小希望サイズ。キャッシュ待ち行列のサイズがこの +値よりはるかに低いと、ページアウトデーモンが起動されます。 +.It Li VM_V_FREE_MIN +メモリを待っているプロセスが起動する前に、利用できるようになる必要のある +メモリの最小量 +( +キャッシュメモリ+空きメモリ +)。 +.It Li VM_V_FREE_RESERVED +空きページとキャッシュページがこの値より低いと、プロセスは +ページアウトデーモンを起動し、メモリを待機します。 +.It Li VM_V_FREE_TARGET +ページアウトデーモンが維持しようとする空きメモリの合計量 +( +キャッシュメモリを +含む +)。 +.It Li VM_V_INACTIVE_TARGET +ページアウトデーモンが、実行されるときに、到達する必要のあるアクティブ +でないページの希望数。アクティブでないページは、必要なときに、 +プロセスアドレス内に素早く挿入できます。 +.It Li VM_V_PAGEOUT_FREE_MIN +空きメモリとキャッシュメモリの量がこの値より低い場合、ページアウトデーモン +はデッドロックを避けるために "メモリ維持モード" に入ります。 +.El +.Sh 戻り値 +.Rv -std +.Sh エラー +次のエラーが報告される可能性があります。 +.Bl -tag -width Er +.It Bq Er EFAULT +バッファ +.Fa name、 +.Fa oldp、 +.Fa newp、または長さポインタ +.Fa oldlenp +に無効な +アドレスが含まれています。 +.It Bq Er EINVAL +.Fa name +配列が +2 未満であるか、または +CTL_MAXNAME +より大きくなっています。 +.It Bq Er EINVAL +NULL +でない +.Fa newp +が指定され、 +.Fa newlen +内の指定の長さが +大きすぎるかまたは小さすぎます。 +.It Bq Er ENOMEM +.Fa oldlenpis +が指す長さが短すぎて、要求された値を保持できません。 +.It Bq Er ENOTDIR +.Fa name +配列が、端の名前ではなく、中間の名前を指定しています。 +.It Bq Er EISDIR +.Fa name +配列が端の名前を指定していますが、実際の名前は端ではありません。 +.It Bq Er ENOENT +.Fa name +配列が未知の値を指定しています。 +.It Bq Er EPERM +読み取り専用値を設定しようとしました。 +.It Bq Er EPERM +該当する特権のないプロセスが値を設定しようとしました。 +.El +.Sh ファイル +.Bl -tag -width <netinet/icmpXvar.h> -compact +.It Aq Pa sys/sysctl.h +1 番上のレベルの識別子の定義、 +2 番めのレベルのカーネルおよび +ハードウェア識別子、およびユーザレベル識別子 +.It Aq Pa sys/socket.h +第 +2 レベルのネットワーク識別子の定義 +.It Aq Pa sys/gmon.h +第 +3 レベルのプロファイル化識別子についての定義 +.It Aq Pa vm/vm_param.h +第 +2 レベルの仮想メモリ識別子についての定義 +.It Aq Pa netinet/in.h +第 3 レベルの IPv4/IPv6 識別子と、 +第 4 レベルの IPv4/IPv6 識別子についての定義 +.It Aq Pa netinet/icmp_var.h +第 +4 レベルの +ICMP +識別子についての定義 +.It Aq Pa netinet/icmp6.h +4 レベルの +ICMPv6 +識別子についての定義 +.It Aq Pa netinet/udp_var.h +第 +4 レベルの +UDP +識別子についての定義 +.El +.Sh 関連項目 +.Xr sysconf 3 , +.Xr sysctl 8 +.Sh 歴史 +.Fn sysctl +関数は +.Bx 4.4 +で最初に取り入れられました。 diff --git a/documentation/manual-pages/ja/man3/sysexits.3 b/documentation/manual-pages/ja/man3/sysexits.3 new file mode 100644 index 0000000000..a81ddb68de --- /dev/null +++ b/documentation/manual-pages/ja/man3/sysexits.3 @@ -0,0 +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. +.\" +.\" %FreeBSD: src/share/man/man3/sysexits.3,v 1.5.2.3 2001/12/17 11:30:11 ru Exp % +.\" $FreeBSD$ +.\" +.\" " +.Dd March 31, 1996 +.Os +.Dt SYSEXITS 3 +.Sh 名称 +.Nm sysexits +.Nd プログラムの望ましい終了コード +.Sh 書式 +.In sysexits.h +.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 +ファイルは、 +.Bx 4.3 +以降のどこかで登場しました。 +.Sh 作者 +このマニュアルページは、 +.Pa <sysexits.h> +の中のコメント以後に +.An J\(:org Wunsch +によって書かれました。 +.Sh バグ +適切な終了値の選択が、しばしばあいまいになります。 diff --git a/documentation/manual-pages/ja/man3/syslog.3 b/documentation/manual-pages/ja/man3/syslog.3 new file mode 100644 index 0000000000..61abe6cbb0 --- /dev/null +++ b/documentation/manual-pages/ja/man3/syslog.3 @@ -0,0 +1,292 @@ +.\" Copyright (c) 1985, 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. +.\" +.\" @(#)syslog.3 8.1 (Berkeley) 6/4/93 +.\" $FreeBSD$ +.\" %FreeBSD: src/lib/libc/gen/syslog.3,v 1.9.2.9 2001/12/14 18:33:51 ru Exp % +.\" +.Dd June 4, 1993 +.Dt SYSLOG 3 +.Os +.Sh 名称 +.Nm syslog , +.Nm vsyslog , +.Nm openlog , +.Nm closelog , +.Nm setlogmask +.Nd システムログの制御 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In syslog.h +.In varargs.h +.Ft void +.Fn syslog "int priority" "const char *message" "..." +.Ft void +.Fn vsyslog "int priority" "const char *message" "va_list args" +.Ft void +.Fn openlog "const char *ident" "int logopt" "int facility" +.Ft void +.Fn closelog void +.Ft int +.Fn setlogmask "int maskpri" +.Sh 解説 +.Fn syslog +関数は、システムのメッセージロガーにメッセージを書込みます。 +そのメッセージは、次に状況に応じてシステムコンソール、ログファイル、 +ログインしたユーザなどに書込まれたり、他のマシンに転送されます +( +.Xr syslogd 8 +参照) +。 +.Pp +メッセージは、 +.Ql %m +が現在のエラーメッセージにより置き換えられることを除けば、 +.Xr printf 3 +フォーマットストリングと同じものになります +(グローバル変数 +errno +によって示されるものと同じ。 +.Xr strerror 3 +参照) +。 +何もない場合は、末尾に改行が追加されます。 +.Pp +.Fn vsyslog +関数は、 +.Xr stdarg 3 +の可変長引数機能を使ってすでに引数が +キャプチャされている場合の代替形式です。 +.Pp +メッセージには優先順位 +( +.Fa priority +) +のタグが付けられます。優先順位は、 +.Fa facility +と +.Em level +にコード化されます。 +.Fa facility +は、メッセージを作成する +システムの一部を記述します。 +.Em level +は、順番になった +(高い方から低い方へ) +次のような一覧から選択します: +.Bl -tag -width LOG_AUTHPRIV +.It Dv LOG_EMERG +パニック状態。これは、通常は全ユーザに送信されます。 +.It Dv LOG_ALERT +壊れたシステムデータベースのような、直ちに是正すべき状態。 +.It Dv LOG_CRIT +危険な状態、例えばハードデバイスエラーなど。 +.It Dv LOG_ERR +エラー。 +.It Dv LOG_WARNING +警告メッセージ。 +.It Dv LOG_NOTICE +エラー状態ではないが、特別に処理する必要性が考えられる状態。 +.It Dv LOG_INFO +インフォメーションメッセージ。 +.It Dv LOG_DEBUG +通常はプログラムのデバッグの際にのみ使う情報が入った +メッセージ。 +.El +.Pp +.Fn openlog +関数は、 +.Fn syslog +および +.Fn vsyslog +により送られたメッセージに +対して、より特殊な処理を施すためのものです。パラメータ +.Fa ident +は、すべての +メッセージの前に付加されるストリングです。 +.Fa logopt +引数は、ログ作成オプション +を指定するビットフィールドで、次に示す値の +1 つ以上を +.Tn OR +操作することによって作成されます: +.Bl -tag -width LOG_AUTHPRIV +.It Dv LOG_CONS +.Fn syslog +がメッセージを +.Xr syslogd 8 +へ渡せない場合、 +コンソール +.Pq Dq Pa /dev/console +にメッセージを書き込むことを試みます。 +.It Dv LOG_NDELAY +.Xr syslogd 8 +への接続を直ちに開きます。通常は、最初の +メッセージがログに書込まれるまでは開く操作を遅らせます。これは、 +ファイル記述子を割り振る順番を管理する必要があるプログラムでは役に +立ちます。 +.It Dv LOG_PERROR +メッセージを、システムログと同時に標準エラー出力にも書込みます。 +.It Dv LOG_PID +各メッセージとともにプロセス +ID +をログします。デーモンのインスタンス化を識別するために役に立ちます。 +.El +.Pp +.Fa facility +パラメータは、明示的なファシリティが +コード化されていないすべてのメッセージに割り当てるデフォルトファシリティを +コード化します: +.Bl -tag -width LOG_AUTHPRIV +.It Dv LOG_AUTH +権限付与システム: +.Xr login 1 +、 +.Xr su 1 +、 +.Xr getty 8 +、など。 +.It Dv LOG_AUTHPRIV +.Dv LOG_AUTH +と同じですが、限定された個人だけが読める +ファイルにログします。 +.It Dv LOG_CONSOLE +カーネルコンソール出力ドライバが、メッセージを +.Pa /dev/console +に書き込みます。 +.It Dv LOG_CRON +cron +デーモン: +.Xr cron 8 +。 +.It Dv LOG_DAEMON +.Xr routed 8 +のような、他のファシリティでは明示的に +用意されていないシステムデーモン。 +.It Dv LOG_FTP +ファイル転送プロトコルデーモン: +.Xr ftpd 8 +、 +.Xr tftpd 8 +。 +.It Dv LOG_KERN +カーネルにより生成されるメッセージ。これらは、どんな +ユーザプロセスによっても生成できません。 +.It Dv LOG_LPR +ラインプリンタのスプーリングシステム: +.Xr lpr 1 +、 +.Xr lpc 8 +、 +.Xr lpd 8 +、など。 +.It Dv LOG_MAIL +メールシステム。 +.It Dv LOG_NEWS +ネットワークニュースシステム。 +.It Dv LOG_SECURITY +セキュリティサブシステムです。 +例えば +.Xr ipfw 4 +です。 +.It Dv LOG_SYSLOG +.Xr syslogd 8 +により内部的に生成されたメッセージ。 +.It Dv LOG_USER +任意のユーザプロセスにより生成されたメッセージ。何も +指定されていない場合は、これはデフォルトのファシリティ識別子になります。 +.It Dv LOG_UUCP +uucp +システム。 +.It Dv LOG_LOCAL0 +ローカルの使用のために予約。 +.Dv LOG_LOCAL1 +から +.Dv LOG_LOCAL7 +までについても同じ。 +.El +.Pp +.Fn closelog +関数は、ログファイルを閉じるために使うことができます。 +.Pp +.Fn setlogmask +関数は、ログ優先順位マスクを +.Fa maskpri +に設定し、以前のマスクを返します。 +.Fa maskpri +に設定されていない優先順位を持った +.Fn syslog +への呼び出しは拒絶されます。個別の優先順位 +.Fa pri +のためのマスクは、マクロ +.Fn LOG_MASK pri +によって計算されます。 +.Fa toppri +自体を含む +toppri +までのすべての優先順位についてのマスクは、マクロ +.Fn LOG_UPTO toppri +によって与えられます。 +デフォルトでは、すべての優先順位をログすることを許可します。 +.Sh 戻り値 +ルーチン +.Fn closelog +、 +.Fn openlog +、 +.Fn syslog +、および +.Fn vsyslog +は、値を返しません。 +.Pp +ルーチン +.Fn setlogmask +は、常に前のログマスクレベルを返します。 +.Sh 例 +.Bd -literal -offset indent +syslog(LOG_ALERT, "who: internal error 23"); + +openlog("ftpd", LOG_PID | LOG_NDELAY, LOG_FTP); + +setlogmask(LOG_UPTO(LOG_ERR)); + +syslog(LOG_INFO, "Connection from host %d", CallingHost); + +syslog(LOG_INFO|LOG_LOCAL2, "foobar error: %m"); +.Ed +.Sh 関連項目 +.Xr logger 1 , +.Xr syslogd 8 +.Sh 歴史 +これらの関数は +.Bx 4.2 +に現れました。 diff --git a/documentation/manual-pages/ja/man3/system.3 b/documentation/manual-pages/ja/man3/system.3 new file mode 100644 index 0000000000..04813b43b7 --- /dev/null +++ b/documentation/manual-pages/ja/man3/system.3 @@ -0,0 +1,103 @@ +.\" 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. +.\" +.\" @(#)system.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdlib/system.3,v 1.6.2.4 2001/12/14 18:33:58 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt SYSTEM 3 +.Os +.Sh 名称 +.Nm system +.Nd コマンドをシェルに渡す +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdlib.h +.Ft int +.Fn system "const char *string" +.Sh 解説 +.Fn system +関数は、引数 +.Fa string +をコマンドインタプリタ +.Xr sh 1 +に渡します。 +呼び出し元プロセスは、シェルがそのコマンドの実行を +完了するまで待ち、 +.Dv SIGINT +および +.Dv SIGQUIT +を無視し、 +.Dv SIGCHLD +をブロックします。 +.Pp +.Fa string +が +.Dv NULL +ポインタの場合、 +.Fn system +はコマンドインタプリタ +.Xr sh 1 +が利用できる場合は 0 以外の値を返し、 +利用できない場合は 0 を返します。 +.Pp +.Xr fork 2 +もしくは +.Xr waitpid 2 +を呼び出したときにエラーが発生した場合、 +.Fn system +関数は、 +.Xr waitpid 2 +で返されるシェルの終了状態、 +あるいは +\-1 を返します。 +戻り値 127 は、シェルの実行が +失敗したことを意味します。 +.Sh 関連項目 +.Xr sh 1 , +.Xr execve 2 , +.Xr wait 2 , +.Xr fork 2 , +.Xr waitpid 2 , +.Xr popen 3 +.Sh 規格 +.Fn system +関数は、 +.St -isoC +に適合しており、 +.St -p1003.2 +と互換性があると思われます。 diff --git a/documentation/manual-pages/ja/man3/tan.3 b/documentation/manual-pages/ja/man3/tan.3 new file mode 100644 index 0000000000..a8f4093836 --- /dev/null +++ b/documentation/manual-pages/ja/man3/tan.3 @@ -0,0 +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: @(#)tan.3 5.1 (Berkeley) 5/2/91 +.\" %FreeBSD: src/lib/msun/man/tan.3,v 1.6.2.2 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 2, 1991 +.Dt TAN 3 +.Os +.Sh 名称 +.Nm tan , +.Nm tanf +.Nd 正接関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.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 -isoC +に適合しています。 + + diff --git a/documentation/manual-pages/ja/man3/tanh.3 b/documentation/manual-pages/ja/man3/tanh.3 new file mode 100644 index 0000000000..55b31a74a5 --- /dev/null +++ b/documentation/manual-pages/ja/man3/tanh.3 @@ -0,0 +1,81 @@ +.\" 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 +.\" %FreeBSD: src/lib/msun/man/tanh.3,v 1.6.2.3 2001/12/17 10:08:36 ru Exp % +.\" +.\" $FreeBSD$ +.Dd May 2, 1991 +.Dt TANH 3 +.Os +.Sh 名称 +.Nm tanh , +.Nm tanhf +.Nd 双曲正接関数 +.Sh ライブラリ +.Lb libm +.Sh 書式 +.In math.h +.Ft double +.Fn tanh "double x" +.Ft float +.Fn tanhf "float x" +.Sh 解説 +.Fn tanh +および +.Fn tanhf +関数は、 +.Fa 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 -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/tcgetpgrp.3 b/documentation/manual-pages/ja/man3/tcgetpgrp.3 new file mode 100644 index 0000000000..4c07ba316c --- /dev/null +++ b/documentation/manual-pages/ja/man3/tcgetpgrp.3 @@ -0,0 +1,85 @@ +.\" 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. +.\" +.\" @(#)tcgetpgrp.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/tcgetpgrp.3,v 1.6.2.2 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt TCGETPGRP 3 +.Os +.Sh 名称 +.Nm tcgetpgrp +.Nd フォアグラウンドの処理グループIDを取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In unistd.h +.Ft pid_t +.Fn tcgetpgrp "int fd" +.Sh 解説 +.Fn tcgetpgrp +関数は、端末デバイスで行っているフォアグラウンドの処理 +グループの処理グループ +ID +を返します。フォアグラウンドの処理グループがない場合、 +.Fn tcgetpgrp +は無効なプロセス +ID +を返します。 +.Sh エラー +エラーが起きた場合、 +.Fn tcgetpgrp +は +-1 を返し、エラーを示すために +次のようにグローバル変数 +.Va errno +が設定されます: +.Bl -tag -width Er +.It Bq Er EBADF +引数 +.Fa fd +が有効なファイル記述子ではありません。 +.It Bq Er ENOTTY +呼び出し側処理が制御端末を持っていないか、または +.Fa fd +で表わされている端末デバイスが制御端末ではありません。 +.El +.Sh 関連項目 +.Xr setpgid 2 , +.Xr setsid 2 , +.Xr tcsetpgrp 3 +.Sh 規格 +.Fn tcgetpgrp +関数は、 +.St -p1003.1-88 +規格に適合しているものと考えられます。 diff --git a/documentation/manual-pages/ja/man3/tcsendbreak.3 b/documentation/manual-pages/ja/man3/tcsendbreak.3 new file mode 100644 index 0000000000..017318d384 --- /dev/null +++ b/documentation/manual-pages/ja/man3/tcsendbreak.3 @@ -0,0 +1,171 @@ +.\" 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. +.\" +.\" @(#)tcsendbreak.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/tcsendbreak.3,v 1.5.2.3 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt TCSENDBREAK 3 +.Os +.Sh 名称 +.Nm tcsendbreak , +.Nm tcdrain , +.Nm tcflush , +.Nm tcflow +.Nd ライン制御関数 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In termios.h +.Ft int +.Fn tcdrain "int fd" +.Ft int +.Fn tcflow "int fd" "int action" +.Ft int +.Fn tcflush "int fd" "int action" +.Ft int +.Fn tcsendbreak "int fd" "int len" +.Sh 解説 +.Fn tcdrain +関数は、 +.Fa fd +で参照される端末へ書込まれるすべての出力が端末に +転送されるまで待ちます。 +.Pp +.Fn tcflow +関数は、 +.Fa action +の値に応じて、 +.Fa fd +で参照される端末へのデータの +送信またはその端末からのデータの受信を一時停止します。 +.Fa action +の値は、 +次のいずれかでなければなりません: +.Bl -tag -width "TCIOFF" +.It Fa TCOOFF +出力を一時停止します。 +.It Fa TCOON +一時停止した出力を再開します。 +.It Fa TCIOFF +端末がシステムへのデータ送信を停止するように、 +STOP +キャラクタを送信します +( +.Xr termios 4 +の +.Ql Input Modes +セクションの +IXOFF +の解説を +参照して下さい +)。 +.It Fa TCION +端末がシステムへのデータ送信を開始するように、 +START +キャラクタ +を送信します +( +.Xr termios 4 +の +.Ql Input Modes +セクションの +IXOFF +の解説を +参照してください +)。 +.El +.Pp +.Fn tcflush +関数は、 +.Fa fd +で参照される端末へ書込まれるべきデータ +であるがまだ端末に送信されていないすべてのデータ、またはその端末から +受信したデータであるがまだ読み込んでいないすべてのデータを、 +.Fa action +の値に +応じて廃棄します。 +.Fa action +の値は、次のいずれかでなければなりません: +.Bl -tag -width "TCIOFLUSH" +.It Fa TCIFLUSH +受信したが読み込んでいないデータを捨てます。 +.It Fa TCOFLUSH +書込んだが送信していないデータを捨てます。 +.It Fa TCIOFLUSH +受信したが読み込んでいないデータ、および書込んだが +送信していないデータの両方を捨てます。 +.El +.Pp +.Fn tcsendbreak +関数は、0 値ビットの連続ストリームを +0.4 +秒間の間 +.Fa fd +で参照される端末へ送信します。 +.Fa len +パラメータは、このシステムでは無視されます。 +.Sh 戻り値 +処理が成功すると、上記のすべての関数は値 0 を返します。 +.Sh エラー +エラーが起きた場合は +-1 の値が返され、エラーを示すグローバル変数 +.Va errno +が次のように設定されます: +.Bl -tag -width Er +.It Bq Er EBADF +引数 +.Fa fd +が有効なファイル記述子ではありません。 +.It Bq Er EINVAL +引数 +.Fa action +の値が適当ではありません。 +.It Bq Er ENOTTY +.Fa fd +に結びつけられるファイルが端末ではありません。 +.It Bq Er EINTR +.Fn tcdrain +関数はシグナルにより中断されました。 +.El +.Sh 関連項目 +.Xr tcsetattr 3 , +.Xr termios 4 +.Sh 規格 +関数 +.Fn tcsendbreak , +.Fn tcdrain , +.Fn tcflush , +.Fn tcflow +は、 +.St -p1003.1-88 +規格に適合していると考えられます。 diff --git a/documentation/manual-pages/ja/man3/tcsetattr.3 b/documentation/manual-pages/ja/man3/tcsetattr.3 new file mode 100644 index 0000000000..6f247faee8 --- /dev/null +++ b/documentation/manual-pages/ja/man3/tcsetattr.3 @@ -0,0 +1,319 @@ +.\" 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. +.\" +.\" @(#)tcsetattr.3 8.3 (Berkeley) 1/2/94 +.\" %FreeBSD: src/lib/libc/gen/tcsetattr.3,v 1.6.2.3 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd January 2, 1994 +.Dt TCSETATTR 3 +.Os +.Sh 名称 +.Nm cfgetispeed , +.Nm cfsetispeed , +.Nm cfgetospeed , +.Nm cfsetospeed , +.Nm cfsetspeed , +.Nm cfmakeraw , +.Nm tcgetattr , +.Nm tcsetattr +.Nd termios 構造の操作 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In termios.h +.Ft speed_t +.Fn cfgetispeed "const struct termios *t" +.Ft int +.Fn cfsetispeed "struct termios *t" "speed_t speed" +.Ft speed_t +.Fn cfgetospeed "const struct termios *t" +.Ft int +.Fn cfsetospeed "struct termios *t" "speed_t speed" +.Ft int +.Fn cfsetspeed "struct termios *t" "speed_t speed" +.Ft void +.Fn cfmakeraw "struct termios *t" +.Ft int +.Fn tcgetattr "int fd" "struct termios *t" +.Ft int +.Fn tcsetattr "int fd" "int action" "const struct termios *t" +.Sh 解説 +.Fn cfmakeraw , +.Fn tcgetattr +および +.Fn tcsetattr +関数は、termios 構造の取得および設定を行うためのものです。 +.Pp +.Fn cfgetispeed , +.Fn cfsetispeed , +.Fn cfgetospeed , +.Fn cfsetospeed +および +.Fn cfsetspeed +関数は、termios 構造におけるボーレートの取得および設定を +行うためのものです。以下に述べる端末に対する関数の効果は、 +.Fn tcsetattr +関数が呼び出されるまでは有効にはならず、すべてエラーが検出されます。 +.Fn tcsetattr +関数に渡されるボーレートの特定の値は、termios 構造に設定され、 +特別な意味を持ちます。これについては、 +.Fn tcsetattr +関数を説明しているマニュアルページに述べます。 +.Sh ボーレートの取得と設定 +入力および出力のボーレートは、termios 構造に入っています。符号なしの整数 +.Li speed_t +は、インクルードファイル +.Aq Pa termios.h +の中で typedef されています。しかし、この整数の値は、それが示すボーレートに +直接対応しており、次のような記号で値が定義されています。 +.Bd -literal +#define B0 0 +#define B50 50 +#define B75 75 +#define B110 110 +#define B134 134 +#define B150 150 +#define B200 200 +#define B300 300 +#define B600 600 +#define B1200 1200 +#define B1800 1800 +#define B2400 2400 +#define B4800 4800 +#define B9600 9600 +#define B19200 19200 +#define B38400 38400 +#ifndef _POSIX_SOURCE +#define EXTA 19200 +#define EXTB 38400 +#endif /*_POSIX_SOURCE */ +.Ed +.Pp +.Fn cfgetispeed +関数は、 +.Fa tp +で参照される termios 構造における入力ボーレートを返します。 +.Pp +.Fn cfsetispeed +関数は、 +.Fa tp +で参照される termios 構造における入力ボーレートを +.Fa speed +の値に設定します。 +.Pp +.Fn cfgetospeed +関数は、 +.Fa tp +で参照される termios 構造における出力ボーレートを返します。 +.Pp +.Fn cfsetospeed +関数は、 +.Fa tp +で参照される termios 構造における出力ボーレートを +.Fa speed +の値に設定します。 +.Pp +.Fn cfsetspeed +関数は、 +.Fa tp +で参照される termios 構造における入力および出力ボーレートの両方を +.Fa speed +の値に設定します。 +.Pp +処理が成功すると、 +.Fn cfsetispeed , +.Fn cfsetospeed +および +.Fn cfsetspeed +は値 0 を返します。それ以外の場合は -1 という値が返され、エラーを示す +グローバル変数 +.Va errno +が設定されます。 +.Sh termios状態の取得と設定 +このセクションでは、一般端末インタフェースを制御するために用いる +関数について説明します。特定のコマンドについて特に断り書きがない限り、 +これらの関数はバックグラウンド処理による使用に対しては制限があります。 +このような操作を行なおうとすると、その処理グループには SIGTTOU シグナルが +送られます。呼び出し側処理が SIGTTOU シグナルをブロックまたは無視した場合は、 +その処理は操作を実行することを許され、 SIGTTOU シグナルは送信されません。 +.Pp +.Fa fd +は開くファイルの記述子ですが、すべての関数においては、関数はそれが +示す特定のファイル記述子に関して開いたファイルの内容だけでなく、潜在的に +関連する端末ファイルにも影響を及ぼします。 +.Pp +.Fn cfmakeraw +関数は、termios 構造に保存されたフラグをすべての入力および +出力処理を無効にする状態に設定し、 +.Dq 生の I/O パス +を与えます。この効果を +逆転させる関数は存在しないことに注意してください。これは、有効に +戻すことができる処理オプションは沢山あり、正しい方法は +.Fn tcgetattr +関数を使い、まず +.Fn cfmakeraw +関数で次に +.Fn tcsetattr +関数によって生モードを設定し、次にもう一度 +.Fn tcsetattr +関数を保存状態で使って元の端末状態に戻して +現在の端末状態のスナップショットを適用するやり方だからです。 +.Pp +.Fn tcgetattr +関数は、 +.Fa tp +で参照される +termios +構造に入っている +.Fa fd +によって参照される端末に付随するパラメータをコピーします。この関数は、 +バックグラウンド処理から使うことが許されていますが、端末アトリビュート +はその後にフォアグラウンド処理によって変更される場合があります。 +.Pp +.Fn tcsetattr +関数は、 +.Fa tp +によって参照される termios 構造の端末に付随するパラメータを設定します。 +.Fa action +フィールドは、インクルードファイル +.Aq Pa termios.h +の中で指定された通りに、以下の値を +.Em or +操作することによって +作成されます。 +.Bl -tag -width "TCSADRAIN" +.It Fa TCSANOW +変更は直ちに行われます。 +.It Fa TCSADRAIN +変更は、 +.Fa fd +に書込まれたすべての出力が端末に送信された後で +行われます。出力に影響を与えるパラメータを変更する場合には、この +.Fa action +値を使わなければなりません。 +.It Fa TCSAFLUSH +変更は、 +.Fa fd +に書込まれたすべての出力が端末に送信された後で +行われます。その上、受信されたがまだ読み取られていないすべての入力は +廃棄されます。 +.It Fa TCSASOFT +この値が +.Fa action +値に +.Em 又は +操作された場合は、 +.Em c_cflag , +.Em c_ispeed +および +.Em c_ospeed +フィールドの値は無視されます。 +.El +.Pp +ボーレート値 0 は、接続を終了するために使います。 +.Fn tcsetattr +関数に出力速度 0 を指定すると、端末に対してモデム制御を主張せずに、 +端末の接続を切ります。 +.Pp +関数 +.Fn tcsetattr +に入力速度 0 を指定した場合は、入力ボーレートは出力 +ボーレートに指定されたものと同じ値に設定されます。 +.Pp +関数 +.Fn tcsetattr +が要求した変更のいずれをも行うことができない場合は、値 -1 を返して +.Va errno +を設定します。それ以外の場合は、要求された変更すべてを +可能な限り行います。指定した入力および出力のボーレートが異なり、その +組合せがサポートされていない場合には、どちらのボーレートも変更されません。 +.Pp +処理が成功して完了すると、関数 +.Fn tcgetattr +および +.Fn tcsetattr +は値 0 を返します。それ以外の場合は、値 -1 を返してエラーを示すグローバル変数 +.Va errno +が次のように設定されます: +.Bl -tag -width Er +.It Bq Er EBADF +関数 +.Fn tcgetattr +または +.Fn tcsetattr +に対する引数 +.Fa fd +が有効なファイル記述子ではありません。 +.It Bq Er EINTR +関数 +.Fn tcsetattr +がシグナルによって中断されました。 +.It Bq Er EINVAL +関数 +.Fn tcsetattr +の引数 +.Fa action +が有効でないか、または termios 構造の中のアトリビュートを +サポートされていない値に変更しようとしています。 +.It Bq Er ENOTTY +関数 +.Fn tcgetattr +または +.Fn tcsetattr +の引数 +.Fa fd +に結びついたファイルが、端末ではありません。 +.El +.Sh 関連項目 +.Xr tcsendbreak 3 , +.Xr termios 4 +.Sh 規格 +関数 +.XX cfgetispeed , +.XX cfsetispeed , +.XX cfgetospeed , +.XX cfsetospeed , +.Fn tcgetattr , +.Fn tcsetattr +は、 +.St -p1003.1-88 +規格に適合していると考えられます。関数 +.Fn cfmakeraw +および +.Fn cfsetspeed +は、 +.Fn tcsetattr +関数の +.Li TCSASOFT +オプションと同様に +.St -p1003.1-88 +規格の拡張です。 diff --git a/documentation/manual-pages/ja/man3/tcsetpgrp.3 b/documentation/manual-pages/ja/man3/tcsetpgrp.3 new file mode 100644 index 0000000000..c15c67e049 --- /dev/null +++ b/documentation/manual-pages/ja/man3/tcsetpgrp.3 @@ -0,0 +1,96 @@ +.\" 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. +.\" +.\" @(#)tcsetpgrp.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/tcsetpgrp.3,v 1.6.2.3 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt TCSETPGRP 3 +.Os +.Sh 名称 +.Nm tcsetpgrp +.Nd フォアグラウンド処理グループ ID の設定 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In unistd.h +.Ft int +.Fn tcsetpgrp "int fd" "pid_t pgrp_id" +.Sh 解説 +処理が制御する端末を持つ場合は、 +.Fn tcsetpgrp +関数はその端末デバイスと連携したフォアグラウンド処理グループ ID を +.Fa pgrp_id +に設定します。 +.Fa fd +に連携した端末デバイスは、呼び出し処理の制御端末でなければならず、またその +制御端末はその呼び出し側処理のセッションに +現在連携していなければなりません。 +.Fa pgrp_id +の値は、同じセッションにおける処理の呼び出し側処理の処理グループ ID と +同じでなければなりません。 +.Sh 戻り値 +.Rv -std tcsetpgrp +.Sh エラー +.Fn tcsetpgrp +は次の場合に失敗します。 +.Bl -tag -width Er +.It Bq Er EBADF +引数 +.Fa fd +が有効なファイル記述子ではありません。 +.It Bq Er EINVAL +無効な +.Fa pgrp_id +の値が指定されました。 +.It Bq Er ENOTTY +呼び出し処理が制御端末を持っていないか、または +.Fa fd +で +表わされるファイルが制御端末ではないか、または制御端末がもはや呼び出し +処理のセッションに結合されていません。 +.It Bq Er EPERM +引数 +.Fa pgrp_id +が、同じセッションにおける処理の呼び出し側処理の +処理グループ ID と一致しません。 +.El +.Sh 関連項目 +.Xr setpgid 2 , +.Xr setsid 2 , +.Xr tcgetpgrp 3 +.Sh 規格 +.Fn tcsetpgprp +関数は、 +.St -p1003.1-88 +規格に適合しているものと考えられます。 diff --git a/documentation/manual-pages/ja/man3/termcap.3 b/documentation/manual-pages/ja/man3/termcap.3 new file mode 100644 index 0000000000..35beb4ce64 --- /dev/null +++ b/documentation/manual-pages/ja/man3/termcap.3 @@ -0,0 +1,268 @@ +.\" 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. +.\" +.\" @(#)termcap.3 8.2 (Berkeley) 12/11/93 +.\" +.\" $FreeBSD$ +.Dd December 11, 1993 +.Dt TERMCAP 3 +.Os BSD 4 +.Sh 名称 +.Nm tgetent , +.Nm tgetnum , +.Nm tgetflag , +.Nm tgetstr , +.Nm tgoto , +.Nm tputs , +.Nm tparm , +.Nm __set_ospeed +.Nd ターミナルとは独立した操作関数 +.Sh 書式 +.Fd #include <termcap.h> +.Vt char PC; +.Vt char *BC; +.Vt char *UP; +.Vt short ospeed; +.Ft int +.Fn tgetent "char *bp" "const char *name" +.Ft int +.Fn tgetnum "const char *id" +.Ft int +.Fn tgetflag "const char *id" +.Ft char * +.Fn tgetstr "const char *id" "char **area" +.Ft char * +.Fn tgoto "const char *cm" "int destcol" "int destline" +.Ft int +.Fn tputs "const char *cp" "int affcnt" "int (*outc)(int)" +.Ft char * +.Fn tparm "const char *cp" "..." +.Ft void +.Fn __set_ospeed "unsigned int speed" +.Sh 解説 +これらの関数は、端末機能データベース、普通は +.Pa /usr/share/misc/termcap +から機能を抽出して使用し、その形式は +.Xr termcap 5 +に説明してあります。 +これらは低レベルのルーチンです。より高レベルのパッケージについては、 +.Xr curses 3 +を参照してください。 +.Pp +.Fn tgetent +関数は、端末名の入力を +.Fa bp +のバッファに抽出します。引数 +.Fa bp +はサイズ 1024 のキャラクタバッファでなければならず、またそれに続いて関数 +.Fn tgetnum , +.Fn tgetflag , +.Fn tgetstr +などの呼び出しが行われても保持されます。 +.Fn tgetent +関数は、データベースファイル +.Nm termcap +がどれも開けない場合は \-1 を返し、 +与えた端末名が入力されていない場合は 0 を返し、すべてがうまく +処理された場合は 1 を返します。この関数は環境の中で +.Ev TERMCAP +変数を探します。それが見つかり、その値がスラッシュで始まっておらず、 +また端末タイプ +.Fa name +が環境ストリング +.Ev TERM +と同じである場合は、 +.Nm termcap +ファイルを読まずに +.Ev TERMCAP +ストリングを使用します。スラッシュで始まっている場合は、検索する +.Nm termcap +ファイルのパス名としてそのストリングを使います。 +.Ev TERMCAP +がスラッシュで始まっておらす、かつ +.Fa name +が +.Ev TERM +と異なる場合は、環境変数 +.Ev TERMPATH +が存在しなければ +.Fn tgetent +関数はファイル +.Pa $HOME/.termcap +および +.Pa /usr/share/misc/termcap +をこの順番で探します。 +.Ev TERMPATH +が存在すれば、 +それが検索するファイルの(空白またはコロンで区切られた)パス名リストを +指定します。複数のファイルを探す場合で要求されたエントリに +.Sy tc +フィールドがある場合は、 +それが指名するエントリを同じファイルまたはそれに続くファイルの中に +探さねばなりません。これによって、 +.Fn tgetent +関数を呼び出すプログラムへの +入力のスピードを上げることができるとともに、新しい端末記述のデバッグや +.Pa /usr/share/misc/termcap +ファイルを書けない場合に自分の端末の端末説明を +作ることが簡単になります。 +.Pp +.Fn tgetnum +関数は、機能 +.Fa id +の数値を取り入れて、それが端末に対して +与えられていない場合は \-1 を返します。 +.Fn tgetflag +関数は、指定された機能が端末のエントリに存在する場合には 1 を返し、 +存在しない場合には 0 を返します。 +.Fn tgetstr +関数は、機能 +.Fa id +のストリング値を返し、それを +.Fa area +のバッファに入れ、 +.Fa area +ポインタを進めます。この関数は、カーソルのアドレス +およびパッディング情報を除いて、 +.Xr termcap 5 +に記述されたこのフィールドの +略称をデコードします。 +.Fn tgetstr +関数は、その機能が見つからない場合は +.Dv NULL +を返します。 +.Pp +.Fn tgoto +関数は、 +.Fa destline +行の +.Fa cm +から go to カラムまででデコードされたカーソルアドレスストリングを返します。 +この関数は、返すストリングに +.Sy \en , +.Sy ^D +または +.Sy ^@ +を入れることを避けるために必要な場合には外部変数 +.Va UP +( +.Sy up +機能から ) および +.Va BC +( +.Sy bs +ではなく +.Sy bc +が与えられている場合 ) を使います。( +.Fn tgoto +関数を呼び出すプログラムは、 +.Fn tgoto +関数がタブを出力する可能性があるので、必ず +.Dv XTABS +ビットをオフにしておかなければなりません。 +いずれにせよ、termcap を使っているプログラムは、 +端末によっては control-I を他の機能、 +例えば破壊不能スペースに使っているので、一般に +.Dv XTABS +をオフにする +必要があることに注意してください ) 。 理解できない +.Sy % +シーケンスが与えられている場合は、 +.Fn tgoto +関数は +.Pq Dv OOPS +を返します。 +.Pp +.Fn tputs +関数は、 +.Fa cp +ストリングの先頭のパッディング情報をデコードします。 +.Fa affcnt +は、この操作によって影響を受ける行数を与え、これに該当しない +場合は行数は 1 となり、 +.Fa outc +は各キャラクタとともに順に呼び出されるルーチンです。外部変数 +.Va PC +には、パッドキャラクタが null +.Pq Sy ^@ +では不適当な場合には、( +.Sy pc +機能から ) 使用すべきパッドキャラクタが +入っていなければなりません。 +外部変数 +.Va ospeed +には、 +.Xr stty 3 +によりエンコードされた端末の出力速度が +入っていなければなりません。 +.Fn __set_ospeed +関数は、cps で表した速度 +.Fa speed +をもっとも近い +.Xr stty 3 +コード化された速度に変換し、その結果を +.Va ospeed +に保存します。 +.Pp +.Fn tparm +関数は、ストリング +.Fa cp +を与えられたパラメータによってインスタンスに変換します。 +.Fa cp +にそのパラメータが適用された結果を指すポインタ +が返されます。理解できない +.Sy % +シーケンスが与えられた場合は、 +.Fn tparm +関数は +.Pq Dv OOPS +を返します。 +.Sh ファイル +.Bl -tag -width /usr/share/misc/termcap -compact +.It /usr/lib/libtermcap.a +.Fl l Ar ltermcap +ライブラリ ( +.Fl l Ar ltermlib +とも呼ばれます ) +.It /usr/share/misc/termcap +標準端末機能データベース +.It $HOME/.termcap +ユーザの端末機能データベース +.El +.Sh 参照 +.Xr ex 1 , +.Xr curses 3 , +.Xr termcap 5 +.Sh 歴史 +.Fn tgetent +関数は、 +.Bx 4.0 +に現れました。 diff --git a/documentation/manual-pages/ja/man3/time.3 b/documentation/manual-pages/ja/man3/time.3 new file mode 100644 index 0000000000..048ebf176a --- /dev/null +++ b/documentation/manual-pages/ja/man3/time.3 @@ -0,0 +1,85 @@ +.\" 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 +.\" 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. +.\" +.\" @(#)time.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/time.3,v 1.5.2.5 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt TIME 3 +.Os +.Sh 名称 +.Nm time +.Nd 日時を取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In time.h +.Ft time_t +.Fn time "time_t *tloc" +.Sh 解説 +.Fn time +関数は、協定世界時の 1970 年 1 月 1 日 0 時 0 分 0 秒から +数えた時間を秒単位で返します。 +.Pp +時間の値のコピーは、ポインタ +.Fa tloc +によって示される領域に保存されます。 +.Fa tloc +が NULL ポインタである場合は、値は保存されません。 +.Pp +操作が正常終了すると、 +.Fn time +関数は時間の値を返します。 +そうでない場合は、 +.Pq Po Vt time_t Pc \-1 +が返され、エラーを示すためにグローバル変数 +.Va errno +が設定されます。 +.Sh エラー +.Va errno +には、次のエラーコードが設定されます。 +.Bl -tag -width Er +.It Bq Er EFAULT +引数アドレスが不正なメモリを参照しました。 +.El +.Sh 関連項目 +.Xr gettimeofday 2 , +.Xr ctime 3 +.Sh 歴史 +.Fn time +関数は、 +.At v6 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/time2posix.3 b/documentation/manual-pages/ja/man3/time2posix.3 new file mode 100644 index 0000000000..c554c3f112 --- /dev/null +++ b/documentation/manual-pages/ja/man3/time2posix.3 @@ -0,0 +1,99 @@ +.\" %FreeBSD: src/lib/libc/stdtime/time2posix.3,v 1.9.2.4 2001/12/14 18:33:59 ru Exp % +.\" $FreeBSD$ +.\" +.Dd May 1, 1996 +.Dt TIME2POSIX 3 +.Os +.Sh 名称 +.Nm time2posix , +.Nm posix2time +.Nd 基準時点からの秒数を変換 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In time.h +.Ft time_t +.Fn time2posix "const time_t *t" +.Ft time_t +.Fn posix2time "const time_t *t" +.Sh 解説 +.St -p1003.1-88 +は、536457599 という time_t 値を "1986 年 12 月 31 日 23:59:59" +に対応させるように規定しています。これは、実際上 POSIX の time_t が +うるう秒を含むことはできず、従ってシステム時間はうるう秒が起きるたびに +調整する必要があることを意味しています。 +.Pp +しかしながら、時間パッケージのうるう秒サポートが有効に設定されている +場合は、このような調整は必要がなく、time_t 値はうるう秒が +起きても正しく (真の「…からの秒数」で) 進みます。 +これは、これらの値が基準時点以後に挿入された +正味のうるう秒だけ POSIX によって要求される値と異なることを意味します。 +.Pp +通常は、タイプ time_t は (ほとんどの場合) 不透明なので +\(em すなわち time_t 値は +.Xr time 3 , +.Xr localtime 3 , +.Xr mktime 3 , +.Xr difftime 3 +などの関数からのみ取得し、またそれらの関数のみに渡すように +考えられているので \(em +このことは問題になりません。 +しかしながら、 +.St -p1003.1-88 +は、日付/時間から time_t 値を直接計算する数式を与えており、 +プログラムによってはこの関係を前提条件にしているものがあります。 +通常、この関係を使って time_t の作成/分析を行っているプログラムでは、 +うるう秒をまたがる間隔を正しく処理できません。 +.Pp +.Fn time2posix +および +.Fn posix2time +関数は、ローカルの time_t 値とそれに相当する POSIX 等価の値との間で +変換を行って、この time_t のミスマッチに対応するために +用意されたものです。これは、うるう秒の挿入や +削除に応じて POSIX システムに起きたタイムベース変更の回数を数える +ことにより行います。これらの変換値は、 +古いアプリケーションを訂正する代りに、あるいは POSIX 準拠システムと +通信するときに用いることができます。 +.Pp +.Fn time2posix +関数は単一の値を持ちます。すなわち、すべてのローカルの time_t は、 +単一の POSIX time_t に対応します。 +.Fn posix2time +関数の動作は、それほど行儀よくありません。 +正のうるう秒に出会うとその結果は 1 つにはならず、 +また負のうるう秒に対しては対応する time_t が存在しないために +それに近い値が返されます。これらの 2 つの例は、POSIX による +表現の欠陥度を示すよい指標であるといえます。 +.Pp +次の表は、1993 年 6 月末に挿入されたうるう秒に対して、time_t と +その POSIX 表現への変換値、およびそれを再変換して戻した値との関係を示します。 +.Bl -column "93/06/30" "23:59:59" "A+0" "X=time2posix(T)" +.It Sy "DATE TIME T X=time2posix(T) posix2time(X)" +.It "93/06/30 23:59:59 A+0 B+0 A+0" +.It "93/06/30 23:59:60 A+1 B+1 A+1 or A+2" +.It "93/07/01 00:00:00 A+2 B+1 A+1 or A+2" +.It "93/07/01 00:00:01 A+3 B+2 A+3" +.El +.Pp +うるう秒削除は次のようになります。 +.Bl -column "??/06/30" "23:59:58" "A+0" "X=time2posix(T)" +.It Sy "DATE TIME T X=time2posix(T) posix2time(X)" +.It "??/06/30 23:59:58 A+0 B+0 A+0" +.It "??/07/01 00:00:00 A+1 B+2 A+1" +.It "??/07/01 00:00:01 A+2 B+3 A+2" +.El +.Pp +.D1 No "[注: posix2time(B+1) => A+0 or A+1]" +.Pp +うるう秒サポートが有効になっていない場合は、 +ローカルの time_t と POSIX の time_t は等価となり、 +.Fn time2posix +および +.Fn posix2time +関数はともに恒等関数となります。 +.Sh 関連項目 +.Xr difftime 3 , +.Xr localtime 3 , +.Xr mktime 3 , +.Xr time 3 diff --git a/documentation/manual-pages/ja/man3/times.3 b/documentation/manual-pages/ja/man3/times.3 new file mode 100644 index 0000000000..53d047e9b8 --- /dev/null +++ b/documentation/manual-pages/ja/man3/times.3 @@ -0,0 +1,139 @@ +.\" 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. +.\" +.\" @(#)times.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/times.3,v 1.4.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt TIMES 3 +.Os +.Sh 名称 +.Nm times +.Sh ライブラリ +.Lb libc +.Nd 時間の処理 +.Sh 書式 +.In sys/times.h +.Ft clock_t +.Fn times "struct tms *tp" +.Sh 解説 +.Bf -symbolic +このインタフェースは、関数 +.Xr getrusage 2 +および +.Xr gettimeofday 3 +に置き換えられています。 +.Ef +.Pp +.Fn times +関数は、1970 年 1 月 1 日 0 時 0 分 0 秒で調整された世界時から測った +.Dv CLK_TCK +の時間値を秒で返します。 +.Pp +この関数は、 +.Fa tp +により指示された構造に時間計測情報を書込みます。 +.Pp +.Vt tms +構造は、次のように定義されます: +.Bd -literal -offset indent +struct tms { + clock_t tms_utime; + clock_t tms_stime; + clock_t tms_cutime; + clock_t tms_cstime; +}; +.Ed +.Pp +この構造の要素は、次のように定義されます: +.Bl -tag -width ".Va tms_cutime" +.It Va tms_utime +ユーザインストラクションの実行に対して請求される +.Tn CPU +タイム。 +.It Va tms_stime +その処理のためのシステムによる実行に対して請求される +.Tn CPU +タイム。 +.It Va tms_cutime +子プロセスの +.Va tms_utime s +および +.Va tms_cutime s +の和。 +.It Va tms_cstime +子プロセスの +.Va tms_stime Ns s +および +.Va tms_cstime Ns s +の和。 +.El +.Pp +すべての時間は、 +.Dv CLK_TCK +秒で表されます。 +.Pp +終了した子プロセスの時間は、 +.Xr wait 2 +関数の +1 つが終了した子のプロセス ID をその親に返したときに、その親の +.Va tms_cutime +および +.Va tms_cstime +の要素にインクルードされます。エラーが起きた場合は、 +.Fn times +関数は値 +.Pq Po Vt clock_t Pc Ns \-1 +を返し、エラーを示す +.Va errno +を設定します。 +.Sh エラー +.Fn times +関数が失敗すると、ライブラリルーチン +.Xr getrusage 2 +および +.Xr gettimeofday 2 +に指定されたすべてのエラーに対して、グローバル変数 +.Va errno +を設定する場合があります。 +.Sh 関連項目 +.Xr time 1 , +.Xr getrusage 2 , +.Xr gettimeofday 2 , +.Xr wait 2 , +.Xr clocks 7 +.Pp +.Sh 規格 +.Fn times +関数は、 +.St -p1003.1-88 +に準拠しています。 diff --git a/documentation/manual-pages/ja/man3/timezone.3 b/documentation/manual-pages/ja/man3/timezone.3 new file mode 100644 index 0000000000..3a29450564 --- /dev/null +++ b/documentation/manual-pages/ja/man3/timezone.3 @@ -0,0 +1,71 @@ +.\" 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. +.\" +.\" @(#)timezone.3 8.2 (Berkeley) 4/19/94 +.\" %FreeBSD: src/lib/libc/gen/timezone.3,v 1.4.2.3 2000/12/08 13:49:24 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 19, 1994 +.Dt TIMEZONE 3 +.Os +.Sh 名称 +.Nm timezone +.Nd タイムゾーンの略称を返す +.Sh ライブラリ +.Lb libc +.Sh 書式 +.Ft char * +.Fn timezone "int zone" "int dst" +.Sh 解説 +.Bf Sy +このインタフェースは、互換性を保つためだけのものです。タイムゾーンの +引数をタイムゾーン略称に正確にマップすることは不可能です。 +.Xr ctime 3 +を参照してください。 +.Ef +.Pp +.Fn timezone +関数は、指定された +.Ar zone +および +.Ar dst +値に対してタイムゾーン略称へのポインタを返します。 +.Ar zone +は GMT から西に数えた分の数で、 +.Ar dst +は夏時間が使われている場合はゼロではありません。 +.Sh 関連項目 +.Xr ctime 3 +.Sh 歴史 +.Fn timezone +関数は、 +.At v7 +に現れました。 diff --git a/documentation/manual-pages/ja/man3/tmpnam.3 b/documentation/manual-pages/ja/man3/tmpnam.3 new file mode 100644 index 0000000000..cb640eb848 --- /dev/null +++ b/documentation/manual-pages/ja/man3/tmpnam.3 @@ -0,0 +1,215 @@ +.\" Copyright (c) 1988, 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. +.\" +.\" @(#)tmpnam.3 8.2 (Berkeley) 11/17/93 +.\" %FreeBSD: src/lib/libc/stdio/tmpnam.3,v 1.5.2.5 2001/12/14 18:33:57 ru Exp % +.\" +.\" $FreeBSD$ +.Dd November 17, 1993 +.Dt TMPFILE 3 +.Os +.Sh 名称 +.Nm tempnam , +.Nm tmpfile , +.Nm tmpnam +.Nd 一時ファイルルーチン +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft FILE * +.Fn tmpfile void +.Ft char * +.Fn tmpnam "char *str" +.Ft char * +.Fn tempnam "const char *tmpdir" "const char *prefix" +.Sh 解説 +.Fn tmpfile +関数は、 +.Xr mkstemp 3 +ルーチンによって返されたファイル記述子に +結合されたストリームへのポインタを返します。 +作成されたファイルは +.Fn tmpfile +関数から返る前にリンクが削除されます。 +そのため、そのファイルへの最後の参照が閉じられた時に、 +ファイルは自動的に削除されます。 +そのファイルは、アクセス値 +.Ql w+ +によって開かれます。 +.Ev TMPDIR +が設定されている場合、ファイルは、この環境変数によって決定される +ディレクトリに作成されます。 +.Ev TMPDIR +が設定されていない場合のデフォルト値は +.Pa /tmp +です。 +.Pp +.Fn tmpnam +関数は、過去のある不特定の時点で +.Dv P_tmpdir +ディレクトリに存在していたファイルを参照していたものではない +ファイル名へのポインタを返します。 +.Dv P_tmpdir +は、インクルードファイル +.Aq Pa stdio.h +の中で定義されています。 +引数 +.Fa str +が +.Dv NULL +でない場合は、ファイル名はそれが参照するバッファにコピーされます。 +それ以外の場合は、ファイル名は静的バッファにコピーされます。 +どちらの場合でも、 +.Fn tmpnam +関数はそのファイル名へのポインタを返します。 +.Pp +.Fa str +により参照されるバッファの長さは、少なくとも +.Dv L_tmpnam +バイトなければなりません。 +.Dv L_tmpnam +は、インクルードファイル +.Aq Pa stdio.h +の中で定義されています。 +.Pp +.Fn tempnam +関数は、 +.Fn tmpnam +関数と同じようなものですが、一時ファイルを収容するディレクトリと +ファイル名プレフィックスを指定する機能を持っています。 +.Pp +一時ファイルを保存するディレクトリとしては、環境変数 +.Ev TMPDIR +(これが設定されている場合)、引数 +.Fa tmpdir +(これが +.Dv NULL +でない場合)、ディレクトリ +.Dv P_tmpdir , +ディレクトリ +.Pa /tmp +が、この順番で試されます。 +.Pp +ファイル名プレフィックスを指定するためには、値が +.Dv NULL +でない場合は引数 +.Fa prefix +が使われ、これが作成されるファイル名の最初の部分になります。 +.Fn tempnam +関数は、ファイル名を保存するメモリを割り当てます。 +返されたポインタは、 +.Xr free 3 +への次に続く引数として使うことができます。 +.Sh 戻り値 +.Fn tmpfile +関数は、成功した場合には開いたファイルストリームへのポインタを、 +エラーの場合には +.Dv NULL +ポインタを返します。 +.Pp +.Fn tmpnam +および +.Fn tempfile +関数は、成功した場合にはファイル名へのポインタを、 +エラーの場合には +.Dv NULL +ポインタを返します。 +.Sh エラー +.Fn tmpfile +関数が失敗した場合、ライブラリ関数 +.Xr fdopen 3 +または +.Xr mkstemp 3 +で規定されるエラーのいずれかが、グローバル変数 +.Va errno +に設定される場合があります。 +.Pp +.Fn tmpnam +関数が失敗した場合、ライブラリ関数 +.Xr mktemp 3 +で規定されるエラーのいずれかが +.Va errno +が設定される場合があります。 +.Pp +.Fn tempnam +関数が失敗した場合、ライブラリ関数 +.Xr malloc 3 +または +.Xr mktemp 3 +で規定されるエラーのいずれかが +.Va errno +が設定される場合があります。 +.Sh 関連項目 +.Xr mkstemp 3 , +.Xr mktemp 3 +.Sh 規格 +.Fn tmpfile +および +.Fn tmpnam +関数は、 +.St -isoC +に適合しています。 +.Sh バグ +これらのインタフェースは、System V および +.Tn ANSI +との互換性のみのために提供されています。 +.Xr mkstemp 3 +インタフェースの使用を強く推奨します。 +.Pp +これらのインタフェースには (古い +.Xr mktemp 3 +インタフェースと同様に)、4 つの重大な問題があります。 +まず第一に、ファイル名選択とファイル作成および削除の間には +明らかな競合があります。 +第二に、ほとんどの古いシステムでは、ファイル名がリサイクルされるまでには、 +限られた数 (通常は 26) の一時ファイル名しか使えないことです。 +第三に、これらの関数 (および +.Xr mktemp 3 +) の System V における実装は、一時ファイル作成の可否を決めるために +.Xr access 2 +関数を用いていることです。 +これは、setuid および setgid プログラムに対して +明らかな問題を派生させ、このようなプログラムにこれらの +インタフェースを移植して使うことを複雑にします。 +最後に、一時ファイルを作成する許可に関する指定がありません。 +.Pp +この実装にはこれらの欠陥はありませんが、移植可能な +ソフトウェアはそれを頼りにすることはできません。 +特に、 +.Fn tmpfile +インタフェースは、ユーザが一時ファイルを公開して読み書き可能にすることを +望まない可能性がある場合は、他のシステム上で使用されることが予想される +ソフトウェアの中では使うべきではありません。 diff --git a/documentation/manual-pages/ja/man3/toascii.3 b/documentation/manual-pages/ja/man3/toascii.3 new file mode 100644 index 0000000000..d80743bbbb --- /dev/null +++ b/documentation/manual-pages/ja/man3/toascii.3 @@ -0,0 +1,70 @@ +.\" 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. +.\" +.\" @(#)toascii.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/toascii.3,v 1.4.2.2 2001/12/14 18:33:55 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt TOASCII 3 +.Os +.Sh 名称 +.Nm toascii +.Nd バイトを 7 ビット ASCII に変換 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In ctype.h +.Ft int +.Fn toascii "int c" +.Sh 解説 +.Fn toascii +関数は、1 つの文字から、下位 7 ビット以外の、パリティまたは他のマーカービットを含むすべてを取り除きます。 +.Sh 戻り値 +.Fn toascii +関数は、必ず有効な ASCII 文字を返します。 +.Sh 関連項目 +.Xr isalnum 3 , +.Xr isalpha 3 , +.Xr isascii 3 , +.Xr iscntrl 3 , +.Xr isdigit 3 , +.Xr isgraph 3 , +.Xr islower 3 , +.Xr isprint 3 , +.Xr ispunct 3 , +.Xr isspace 3 , +.Xr isupper 3 , +.Xr isxdigit 3 , +.Xr stdio 3 , +.Xr tolower 3 , +.Xr toupper 3 , +.Xr ascii 7 diff --git a/documentation/manual-pages/ja/man3/tolower.3 b/documentation/manual-pages/ja/man3/tolower.3 new file mode 100644 index 0000000000..85cce680f6 --- /dev/null +++ b/documentation/manual-pages/ja/man3/tolower.3 @@ -0,0 +1,90 @@ +.\" 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 +.\" 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. +.\" +.\" @(#)tolower.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/tolower.3,v 1.6.2.4 2001/12/14 18:33:55 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt TOLOWER 3 +.Os +.Sh 名称 +.Nm tolower +.Nd 大文字から小文字への変換 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In ctype.h +.Ft int +.Fn tolower "int c" +.Sh 解説 +.Fn tolower +関数は大文字を対応する小文字に変換します。 +C 言語の +.Va char Ns s +型ひとつに関するロケール ( +.Xr multibyte 3 +参照 ) のことを考慮して、引数の値は +.Li unsigned char +または +.Dv EOF +の値として表されなければなりません。 +.Sh 戻り値 +引数が大文字である場合は、その文字に対応する小文字がある場合は +.Fn tolower +関数はそれを返します。それ以外の場合は、その引数が変更されないまま返されます。 +.Sh 関連項目 +.Xr isalnum 3 , +.Xr isalpha 3 , +.Xr isascii 3 , +.Xr iscntrl 3 , +.Xr isdigit 3 , +.Xr isgraph 3 , +.Xr islower 3 , +.Xr isprint 3 , +.Xr ispunct 3 , +.Xr isspace 3 , +.Xr isupper 3 , +.Xr isxdigit 3 , +.Xr multibyte 3 , +.Xr stdio 3 , +.Xr toascii 3 , +.Xr toupper 3 , +.Xr ascii 7 +.Sh 規格 +.Fn tolower +関数は +.St -isoC +に準拠しています。 diff --git a/documentation/manual-pages/ja/man3/toupper.3 b/documentation/manual-pages/ja/man3/toupper.3 new file mode 100644 index 0000000000..3a4f38b427 --- /dev/null +++ b/documentation/manual-pages/ja/man3/toupper.3 @@ -0,0 +1,90 @@ +.\" 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 +.\" 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. +.\" +.\" @(#)toupper.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/locale/toupper.3,v 1.5.2.5 2001/12/14 18:33:55 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt TOUPPER 3 +.Os +.Sh 名称 +.Nm toupper +.Nd 小文字から大文字への変換 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In ctype.h +.Ft int +.Fn toupper "int c" +.Sh 解説 +.Fn toupper +関数は小文字を対応する大文字へ変換します。 +C 言語の +.Va char Ns s +型ひとつに関するロケール ( +.Xr multibyte 3 +参照 ) のことを考慮して、引数の値は +.Li unsigned char +または +.Dv EOF +の値として表されなければなりません。 +.Sh 戻り値 +引数が小文字である場合は、その文字に対応する大文字がある場合は +.Fn toupper +関数はそれを返します。それ以外の場合は、その引数が変更されないまま返されます。 +.Sh 関連項目 +.Xr isalnum 3 , +.Xr isalpha 3 , +.Xr isascii 3 , +.Xr iscntrl 3 , +.Xr isdigit 3 , +.Xr isgraph 3 , +.Xr islower 3 , +.Xr isprint 3 , +.Xr ispunct 3 , +.Xr isspace 3 , +.Xr isupper 3 , +.Xr isxdigit 3 , +.Xr multibyte 3 , +.Xr stdio 3 , +.Xr toascii 3 , +.Xr tolower 3 , +.Xr ascii 7 +.Sh 規格 +.Fn toupper +関数は +.St -isoC +に準拠しています。 diff --git a/documentation/manual-pages/ja/man3/ttyname.3 b/documentation/manual-pages/ja/man3/ttyname.3 new file mode 100644 index 0000000000..8e1012ea1a --- /dev/null +++ b/documentation/manual-pages/ja/man3/ttyname.3 @@ -0,0 +1,116 @@ +.\" 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. +.\" +.\" @(#)ttyname.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/ttyname.3,v 1.5.2.3 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt TTYNAME 3 +.Os +.Sh 名称 +.Nm ttyname , +.Nm isatty , +.Nm ttyslot +.Nd ファイル記述子からそれに結合されている端末 ( tty ) の名前を取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft char * +.Fn ttyname "int fd" +.Ft int +.Fn isatty "int fd" +.Ft int +.Fn ttyslot void +.Sh 解説 +これらの関数は、端末タイプデバイスに関するシステムファイル記述子を +操作します。これらの記述子は標準の +.Tn I/O +.Dv FILE +typedef とは関係を持っておらず、 +.Pa /dev +ディレクトリ中にあって +.Pa /dev/tty Ns Em xx +という名前を持ち、 +それについては初期設定ファイル +.Pa /etc/ttys +の中にエントリが存在するような特別デバイスファイルを参照します( +.Xr ttys 5 +参照 )。 +.Pp +.Fn isatty +関数は、ファイル記述子 +.Fa fd +が有効な端末タイプデバイスを参照しているかどうかを判断します。 +.Pp +.Fn ttyname +関数は、 +.Fn isatty +が真であるファイル記述子に関連するデバイス名を取得します。 +.Pp +.Fn ttyslot +関数は、 +.Xr ttys 5 +ファイルエントリから現在のプロセスの制御端末番号を取ってきます。 +.Sh 戻り値 +.Fn ttyname +関数は、デバイスが見つかって +.Fn isatty +が真である場合は、null で終端された名前を返します。それ以外の場合は、 +.Dv NULL +ポインタを返します。 +.Pp +.Fn ttyslot +関数は、デバイスファイルが見つかればそのユニット番号を +返します。見つからない場合は、値ゼロを返します。 +.Sh ファイル +.Bl -tag -width /etc/ttys -compact +.It Pa /dev/\(** +.It Pa /etc/ttys +.El +.Sh 関連項目 +.Xr ioctl 2 , +.Xr ttys 5 +.Sh 歴史 +.Fn isatty , +.Fn ttyname , +および +.Fn ttyslot +関数は、 +.At v7 +に現れました。 +.Sh バグ +.Fn ttyname +関数は、その結果を内部静的オブジェクトの中に残し、その +オブジェクトへのポインタを返します。それ以後に +.Fn ttyname +を呼び出すと、その同じオブジェクトは修正されます。 diff --git a/documentation/manual-pages/ja/man3/tzset.3 b/documentation/manual-pages/ja/man3/tzset.3 new file mode 100644 index 0000000000..1a7cdd387b --- /dev/null +++ b/documentation/manual-pages/ja/man3/tzset.3 @@ -0,0 +1,319 @@ +.\" 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. +.\" +.\" @(#)tzset.3 8.2 (Berkeley) 11/17/93 +.\" %FreeBSD: src/lib/libc/gen/tzset.3,v 1.6.2.5 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd November 17, 1993 +.Dt TZSET 3 +.Os +.Sh 名称 +.Nm tzset , +.Nm tzsetwall +.Nd 時間変換情報の初期化 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In time.h +.Ft void +.Fn tzset void +.Ft void +.Fn tzsetwall void +.Sh 解説 +.Fn tzset +関数は、ライブラリルーチン +.Xr localtime 3 +により使用される +時間変換情報を初期化します。環境変数 +.Ev TZ +は、この変換をどのように行うかを指定します。 +.Pp +環境に +.Ev TZ +が現れていない場合は、 +.Xr tzfile 5 +形式のファイル +.Pa /etc/localtime +により指定されたローカル壁時計時間に最も近い近似値が用いられます。 +.Pp +環境に +.Ev TZ +が現れているがその値が null ストリングである場合には、 +世界標準時刻 +.Pq Tn UTC +が用いられます ( うるう秒補正なしで )。 +.Pp +環境に +.Ev TZ +が現れ、その値がコロン +.Pq Ql \&: +で始まる場合は、それ以降の値が +.Xr tzfile 5 +形式ファイルのパス名として用いられ、そこから時間変換情報が読み +込まれます。パス名の最初のキャラクタがスラッシュ +.Pq Ql / +である場合は、それは +絶対パス名として用いられます。それ以外の場合は、そのパス名はシステムの +時間変換情報ディレクトリに対する相対パス名として用いられます。 +.Pp +その値がコロンで始まらない場合は、それはまず ( 上に +説明したように ) 時間変換情報の読み取り用ファイルのパス名として +用いられます。そのファイルが読めない場合は、その値は時間変換情報の +直接的仕様 ( 形式は下に説明 ) であると解釈されます。 +.Pp +環境変数 +.Ev TZ +が +.Xr tzfile 5 +形式ファイルを指定しておらず、直接的仕様と解釈できない場合は、 +.Tn UTC +が用いられます。 +.Pp +.Fn tzsetwall +関数は、ローカル壁時計時間に最も近い近似値を返すように調整を行います。 +.Sh 仕様形式 +.Ev TZ +を時間変換情報の仕様として直接使う場合は、次のようなシンタックスを +持つ必要があります ( 空白は読みやすくするために入れてあります ): +.Bd -ragged -offset indent +.Em std offset +.Bo +.Em dst +.Bq Em offset +.Bq , Em rule +.Bc +.Ed +.Pp +ここで: +.Bl -tag -width std_and_dst -offset indent +.It Em std と Em dst +標準時間帯 ( +.Em std +) または夏時間帯 ( +.Em dst +) の指示子である 3 以上のバイト。必要なのは +.Em std +のみです。 +.Em dst +がない場合は、この地域では +夏時間が適用されません。大文字と小文字の区別は明示的に許可されます。先頭の +コロン +.Pq Ql \&: , +小数点、コンマ +.Pq Ql \&, , +マイナス +.Pq Ql \- , +プラス +.Pq Ql + , +および +.Tn ASCII +.Dv NUL +以外のキャラクタであれば使えます。 +.Pp +.It Em offset +世界標準時を計算するためにローカル時間に加えるべき値を示します。 +.Em offset +は、次のような形式を持ちます: +.Bd -ragged -offset indent +.Sm off +.Em hh Bo +.Em : mm +.Bq Em : ss +.Bc +.Sm on +.Ed +.Pp +分 +.Pq Em mm +および秒 +.Pq Em ss +を付けるのは任意です。時 +.PQ Em hh +は必要で、 1 桁の数字でも構いません。 +.Em std +に続く +.Em offset +は必要です。 +.Em dst +の後に +.Em offset +がない場合は、夏時間は標準時間よりも 1 時間進むものとみなします。 1 桁 +以上の数字が使えます。値は常に十進数であると解釈されます。 +時は 0 から 24 までの間、 +また分 ( および秒 ) を指定する場合は 0 から 59 までの間でなければなりません。 +先頭に +.Pq Ql \- +が付いている場合は、時間帯は本初子午線の東となります。それ以外の +場合は、西となります ( 任意で先頭に +.Pq Ql + +を付けて指定しても構いません ) 。 +.Pp +.It Em rule +いつ夏時間に変更するか、またいつ夏時間から元に戻すかを示します。 +.Em rule +は次のような形式を持ちます: +.Bd -ragged -offset indent +.Em date/time,date/time +.Ed +.Pp +ここで、最初の +.Em date +は標準時間から夏時間への変更がいつ起きるかを表し、 2 番目の +.Em date +はいつ元に戻すかを表します。それぞれの +.Em time +フィールドは、 +現在のローカル時間からもう一方の時間への変更をいつ行うかを表します。 +.Pp +.Em date +の形式は、次のいずれかです: +.Bl -tag -width "M.m.n.d" +.It Sy J Em n +ユリウス日 +.Em n +(1 \*(Le +.Em n +\*(Le 365)。 +うるう日は数えません。 +すなわち、 +うるう年を含めたすべての年で 2 月 28 日は 59 日目、 +3 月 1 日は 60 日目になります。ときどきやってくる 2 月 29 日を明示的に +参照することはできません。 +.It Em n +0 を基準にしたユリウス日 +(0 \*(Le +.Em n +\*(Le 365 )。 +うるう日は数えられ、 2 月 29 日を参照することは可能です。 +.It Sy M Em m.n.d +ある年の +.Em m +番目の月の第 +.Em n +週の +.Em d +(0 \*(Le +.Em d +\*(Le 6) +番目の曜日 +(1 \*(Le +.Em n +\*(Le 5), +(1 \*(Le +.Em m +\*(Le 12)。 +ここで、第 5 週とは 第 4 週目または第 5 週目に起きる +.Do +第 +.Em m +月の最後の +.Em d +番目の日 +.Dc +を意味します。第 1 週は、 +.Em d +番目の日が起きる最初の週です。第 0 日は日曜日です。 +.Pp +.Em time +は、先頭の符号 +.Pq Ql \- +または +.Pq Ql + +が許されないこと以外は、 +.Em offset +と同じ形式を持ちます。 +.Em time +を与えない場合は、 +.Sy 02:00:00 +がデフォルト値となります。 +.El +.Pp +.Ev TZ +仕様に +.Em rule +がない場合は、システム時間変換情報ディレクトリの中の +.Xr tzfile 5 +形式ファイル +.Em posixrules +により指定された規則が用いられ、標準時間および夏時間の +.Tn UTC +からのオフセットは +.Ev TZ +の +.Em offset +値で指定された値により置き換えられます。 +.El +.Pp +System V Release 3.1 との互換性を持たせるため、 +.Em rule +を残りの仕様から区別するためにセミコロン +.Pq Ql \&; +を使うこともできます。 +.Sh 関連ファイル +.Bl -tag -width /usr/share/zoneinfo/posixrules -compact +.It Pa /etc/localtime +ローカル時間帯ファイル +.It Pa /usr/share/zoneinfo +時間帯ディレクトリ +.It Pa /usr/share/zoneinfo/posixrules +.Tn POSIX +スタイルの +.Tn TZ +に関する規則 +.It Pa /usr/share/zoneinfo/GMT +.Tn UTC +うるう秒 +.El +.Pp +.Pa /usr/share/zoneinfo/GMT +ファイルが存在しない場合は、 +.Tn UTC +うるう秒は +.Pa /usr/share/zoneinfo/posixrules +からロードされます。 +.Sh 関連項目 +.Xr date 1 , +.Xr gettimeofday 2 , +.Xr ctime 3 , +.Xr getenv 3 , +.Xr time 3 , +.Xr tzfile 5 +.Sh 歴史 +.Fn tzset +および +.Fn tzsetwall +関数は、最初に +.Bx 4.4 +に現れました。 diff --git a/documentation/manual-pages/ja/man3/ualarm.3 b/documentation/manual-pages/ja/man3/ualarm.3 new file mode 100644 index 0000000000..1409d5db44 --- /dev/null +++ b/documentation/manual-pages/ja/man3/ualarm.3 @@ -0,0 +1,101 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/gen/ualarm.3,v 1.9.2.5 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd April 19, 1994 +.Dt UALARM 3 +.Os +.Sh 名称 +.Nm ualarm +.Nd 指定された時間後に信号発信を予定 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft u_int +.Fn ualarm "u_int microseconds" "u_int interval" +.Sh 解説 +.Bf -symbolic +これは +.Xr 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/documentation/manual-pages/ja/man3/uname.3 b/documentation/manual-pages/ja/man3/uname.3 new file mode 100644 index 0000000000..3a65e33ab7 --- /dev/null +++ b/documentation/manual-pages/ja/man3/uname.3 @@ -0,0 +1,91 @@ +.\" Copyright (c) 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. +.\" +.\" @(#)uname.3 8.1 (Berkeley) 1/4/94 +.\" %FreeBSD: src/lib/libc/gen/uname.3,v 1.6.2.4 2001/12/14 18:33:51 ru Exp % +.\" $FreeBSD$ +.\" +.Dd January 4, 1994 +.Dt UNAME 3 +.Os +.Sh 名称 +.Nm uname +.Nd システムの識別名を取得 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/utsname.h +.Ft int +.Fn uname "struct utsname *name" +.Sh 解説 +.Fn uname +関数は、現在のシステムを識別する情報のヌル文字で終了する文字列を +.Fa name +により参照される構造に保存します。 +.Pp +.Vt utsname +構造体は、ヘッダファイル +.Aq Pa sys/utsname.h +の中で定義され、次のメンバを収容しています: +.Bl -tag -width nodenameXXXX -offset indent +.It sysname +オペレーティングシステム実現の名称。 +.It nodename +このマシンのネットワーク名。 +.It release +オペレーティングシステムのリリースレベル。 +.It version +オペレーティングシステムのバージョンレベル。 +.It machine +マシンのハードウェアプラットフォーム。 +.El +.Sh 戻り値 +.Rv -std uname +.Sh エラー +.Fn uname +関数が失敗すると、ライブラリ関数 +.Xr sysctl 3 +について指定されたエラーに対する +.Va errno +が設定されます。 +.Sh 関連項目 +.Xr uname 1 , +.Xr sysctl 3 +.Sh 規格 +.Fn uname +関数は、 +.St -p1003.1-88 +に適合しています。 +.Sh 歴史 +.Fn uname +関数は、 +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/ungetc.3 b/documentation/manual-pages/ja/man3/ungetc.3 new file mode 100644 index 0000000000..e540b9fec1 --- /dev/null +++ b/documentation/manual-pages/ja/man3/ungetc.3 @@ -0,0 +1,100 @@ +.\" 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. +.\" +.\" @(#)ungetc.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/stdio/ungetc.3,v 1.4.2.5 2001/12/14 18:33:57 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt UNGETC 3 +.Os +.Sh 名称 +.Nm ungetc +.Nd 入力ストリームから文字を戻す +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In stdio.h +.Ft int +.Fn ungetc "int c" "FILE *stream" +.Sh 解説 +.Fn ungetc +関数は、 +(符号なし char に変換されている) +文字 +.Fa c +を +.Fa stream +が指す入力ストリームに戻します。 +プッシュバックされた文字は、 +次にそのストリームを読んだときには +(逆の順序で) +返されます。 +プッシュバックした文字は、 +そのストリームから読み出す前に、 +ファイル位置検索関数 +.Xr ( fseek 3 , +.Xr fsetpos 3 , +または +.Xr rewind 3 ) +のいずれかへの割り込み呼び出しが +成功すると廃棄されます。 +.Pp +1 文字分のプッシュバックは保証されていますが、十分なメモリ +がある限り、実質的には限度なしのプッシュバックが可能です。 +.Pp +文字のプッシュバックに成功すると、 +そのストリームのファイル終了表示子を +クリアします。 +.Sh 戻り値 +.Fn ungetc +関数は、変換後にプッシュバックされたキャラクタを返すか、 +またはその操作に失敗した場合は +.Dv EOF +を返します。引数 +.Fa c +の文字値が +.Dv EOF +に等しい場合は、 +その操作は失敗してストリームは変更されません。 +.Sh 関連項目 +.Xr fseek 3 , +.Xr getc 3 , +.Xr setvbuf 3 +.Sh 規格 +.Fn ungetc +関数は、 +.St -isoC +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/unvis.3 b/documentation/manual-pages/ja/man3/unvis.3 new file mode 100644 index 0000000000..04b0a940ce --- /dev/null +++ b/documentation/manual-pages/ja/man3/unvis.3 @@ -0,0 +1,162 @@ +.\" 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. +.\" +.\" @(#)unvis.3 8.2 (Berkeley) 12/11/93 +.\" %FreeBSD: src/lib/libc/gen/unvis.3,v 1.6.2.5 2001/12/14 18:33:51 ru Exp % +.\" $FreeBSD$ +.\" +.Dd December 11, 1993 +.Dt UNVIS 3 +.Os +.Sh 名称 +.Nm unvis , +.Nm strunvis +.Nd キャラクタの画像表現のデコード +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In vis.h +.Ft int +.Fn unvis "char *cp" "int c" "int *astate" "int flag" +.Ft int +.Fn strunvis "char *dst" "const char *src" +.Sh 解説 +.Fn unvis +および +.Fn strunvis +関数は、例えば +.Xr vis 3 +関数によって作り +出されたようなキャラクタの画像表現をデコードして元の形に戻します。 +unvisは +.Ar c +にある連続するキャラクタとともに有効なシーケンスが認識されるまで呼び +出され、それが認識されるとデコードされたキャラクタが +.Ar cp +によって指されるキャラクタのところに置かれます。 +strunvisは、 +.Ar src +により指されるキャラクタを +.Ar dst +により指されるバッファへデコードします。 +.Pp +.Fn strunvis +関数は、エスケープシーケンスをデコードしながら単に +.Ar src +を +.Ar dst +へコピーし、 +.Ar dst +に置かれたキャラクタの数を返すか、または無効な +エスケープシーケンスが検出された場合には \-1 を返します。 +.Ar dst +のサイズは、 +.Ar src +のサイズに等しくなければなりません (すなわち、デコード中には拡張は +起こりません)。 +.Pp +.Fn unvis +関数は、任意のバイトストリームをデコードできるステートマシンを +インプリメントしています。デコードされるそのバイトに付随するすべての +ステートは、 +.Fn unvis +関数の外に保存されますから (すなわち、ステートへの +ポインタは渡されますから)、異なるストリームをデコードする呼び出しを自由に +混在することができます。バイトストリームのデコードを開始するには、まず +整数をゼロに初期化します。この整数へのポインタおよびデコード先キャラクタ +へのポインタとともに連続するバイトのそれぞれに +.Fn unvis +を呼び出します。 +.Fn unvis +関数は、適切に取扱わねばならないいくつかのリターンコードを +持っています。それらは次の通りです: +.Bl -tag -width UNVIS_VALIDPUSH +.It Li \&0 (ゼロ) +キャラクタがもう一つ必要であり、まだ何も認識されていません。 +.It Dv UNVIS_VALID +有効なキャラクタが認識され、cp によって指される場所に置かれています。 +.It Dv UNVIS_VALIDPUSH +有効なキャラクタが認識され、cp によって指される場所に +置かれています。しかし、現在渡されているそのキャラクタをもう一度渡す +必要があります。 +.It Dv UNVIS_NOCHAR +有効なシーケンスが検出されたが、キャラクタは +作成されていません。このリターンコードは、キャラクタの間の論理的区切りを +示すために必要です。 +.It Dv UNVIS_SYNBAD +無効なエスケープシーケンスが検出されたか、または +デコーダが不明のステートにあります。デコーダはスタート時のステートに +置かれます。 +.El +.Pp +ストリームのすべてのバイトが処理されたとき、 +.Ar flag +を +.Dv UNVIS_END +に設定してもう一度 +.Fn unvis +を呼び出して残っているキャラクタを +抽出します (渡されたキャラクタは無視されます)。 +.Pp +次のような部分的コードは、 +.Fn unvis +の適切な使用法を示しています。 +.Bd -literal -offset indent +int state = 0; +char out; + +while ((ch = getchar()) != EOF) { +again: + switch(unvis(&out, ch, &state, 0)) { + case 0: + case UNVIS_NOCHAR: + break; + case UNVIS_VALID: + (void) putchar(out); + break; + case UNVIS_VALIDPUSH: + (void) putchar(out); + goto again; + case UNVIS_SYNBAD: + (void)fprintf(stderr, "bad sequence!\en"); + exit(1); + } +} +if (unvis(&out, (char)0, &state, UNVIS_END) == UNVIS_VALID) + (void) putchar(out); +.Ed +.Sh 関連項目 +.Xr vis 1 +.Sh 歴史 +.Fn unvis +関数は、 +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/usleep.3 b/documentation/manual-pages/ja/man3/usleep.3 new file mode 100644 index 0000000000..53266401e5 --- /dev/null +++ b/documentation/manual-pages/ja/man3/usleep.3 @@ -0,0 +1,81 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/gen/usleep.3,v 1.10.2.7 2001/12/14 18:33:51 ru Exp % +.\" $FreeBSD$ +.\" +.Dd February 13, 1998 +.Dt USLEEP 3 +.Os +.Sh 名称 +.Nm usleep +.Nd プロセスの実行をマイクロ秒で測った時間だけ中断 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft int +.Fn usleep "unsigned int microseconds" +.Sh 解説 +.Fn usleep +関数は、 +.Fa microseconds +マイクロ秒経過するか、またはプロセスに +信号が到着してその動作が信号受信機能を呼び出すものであるかまたはプロセスを +終了するものであるまで、呼び出しプロセスの実行を中断します。システムの +活動状態によっては、スリープ時間は不確定の時間だけ長くなります。 +.Pp +この関数は、 +.Fa microseconds +マイクロ秒だけ、または信号があるまでポーズ +して +.Xr nanosleep 2 +を使い実行されます。その結果、このインプリメンテーション +ではスリープはプロセスタイマの状態には影響を与えず、 +SIGALRM について特別な取扱いは行いません。 +.Sh 戻り値 +.Rv -std usleep +.Sh エラー +.Fn usleep +関数は、次のような場合には失敗します: +.Bl -tag -width Er +.It Bq Er EINTR +信号がプロセスに到着し、その動作は信号受信機能を呼び出すものでした。 +.El +.Sh 関連項目 +.Xr nanosleep 2 , +.Xr sleep 3 +.Sh 歴史 +.Fn usleep +関数は、 +.Bx 4.3 +で登場しました。 diff --git a/documentation/manual-pages/ja/man3/utime.3 b/documentation/manual-pages/ja/man3/utime.3 new file mode 100644 index 0000000000..bcb5aed397 --- /dev/null +++ b/documentation/manual-pages/ja/man3/utime.3 @@ -0,0 +1,95 @@ +.\" 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. +.\" +.\" @(#)utime.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/utime.3,v 1.5.2.4 2001/12/14 18:33:51 ru Exp % +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt UTIME 3 +.Os +.Sh 名称 +.Nm utime +.Nd ファイルの時間を設定 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In sys/types.h +.In utime.h +.Ft int +.Fn utime "const char *file" "const struct utimbuf *timep" +.Sh 解説 +.Bf -symbolic +このインタフェースは +.Xr utimes 2 +によって置き換えられました。 +.Ef +.Pp +.Fn utime +関数は、引数配列 +.Fa timep +の中の構造体から名前で指定されたファイルのアクセスおよび +修正の時間を設定します。 +.Pp +時刻が指定された場合 ( 引数 +.Fa timep +が +.Dv NULL +でない場合 ) は、呼び出し元はそのファイルの所有者であるか、 +またはスーパユーザでなければなりません。 +.Pp +時刻が指定されていない場合 ( 引数 +.Fa timep +が +.Dv NULL +の場合 ) は、呼び出し元はそのファイルの所有者であるか、 +そのファイルに書込みを許されているか、 +またはスーパユーザでなければなりません。 +.Sh エラー +.Fn utime +関数が失敗すると、ライブラリ関数 +.Xr utimes 2 +について指定されたエラーに対する +.Va errno +が設定されます。 +.Sh 関連項目 +.Xr stat 2 , +.Xr utimes 2 +.Sh 歴史 +.Fn utime +関数は +.At v7 +で登場しました。 +.Sh 規格 +.Fn utime +関数は、 +.St -p1003.1-88 +に適合しています。 diff --git a/documentation/manual-pages/ja/man3/uucplock.3 b/documentation/manual-pages/ja/man3/uucplock.3 new file mode 100644 index 0000000000..329f357294 --- /dev/null +++ b/documentation/manual-pages/ja/man3/uucplock.3 @@ -0,0 +1,183 @@ +.\" +.\" Copyright (c) 1996 Brian Somers <brian@awfulhak.demon.co.uk> +.\" +.\" 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. +.\" +.\" %FreeBSD: src/lib/libutil/uucplock.3,v 1.13.2.4 2001/12/17 10:08:32 ru Exp % +.\" $FreeBSD$ +.\" " +.Dd March 30, 1997 +.Os +.Dt UUCPLOCK 3 +.Sh 名称 +.Nm uu_lock , +.Nm uu_unlock , +.Nm uu_lockerr +.Nd シリアルデバイスの制御権の取得および放棄 +.Sh ライブラリ +.Lb libutil +.Sh 書式 +.In sys/types.h +.In libutil.h +.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" +.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/documentation/manual-pages/ja/man3/valloc.3 b/documentation/manual-pages/ja/man3/valloc.3 new file mode 100644 index 0000000000..29e185804f --- /dev/null +++ b/documentation/manual-pages/ja/man3/valloc.3 @@ -0,0 +1,76 @@ +.\" 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. +.\" +.\" @(#)valloc.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libc/gen/valloc.3,v 1.4.2.4 2001/12/14 18:33:51 ru Exp % +.\" $FreeBSD$ +.\" +.Dd June 4, 1993 +.Dt VALLOC 3 +.Os +.Sh 名称 +.Nm valloc +.Nd 整列メモリ割り振り関数 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In unistd.h +.Ft void * +.Fn valloc "size_t size" +.Sh 解説 +.Bf -symbolic +.Fn valloc +は、ページサイズのより大きな割り振りを整列する現在バージョンの +.Xr malloc 3 +関数によって置き換えられています。 +.Ef +.Pp +.Fn valloc +関数は、ページ境界に整列された +.Fa size +バイトを割り振ります。 +この関数は、やや大きな要求事項とともに +.Xr malloc 3 +関数を呼び出し、割り振られたブロックの真の始まりを保存し、 +適切に整列されたポインタを返すことによって行われます。 +.Sh 戻り値 +.Fn valloc +関数は、成功した場合は割り振られた空間へのポインタを +返します。それ以外の場合は、null ポインタを返します。 +.Sh 歴史 +.Fn valloc +関数は、 +.Bx 3.0 +で登場しました。 +.Pp +.Sh バグ +.Em vfree +関数は実装されていません。 diff --git a/documentation/manual-pages/ja/man3/vgl.3 b/documentation/manual-pages/ja/man3/vgl.3 new file mode 100644 index 0000000000..23b60da91f --- /dev/null +++ b/documentation/manual-pages/ja/man3/vgl.3 @@ -0,0 +1,301 @@ +.\" 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.5 2006-03-08 07:43:48 metal Exp $ +.\" $FreeBSD$ + +.Dd August 13, 1997 +.Dt VGL 3 +.Os FreeBSD 3 +.Sh 名称 +.Nm vgl +.Nd ビデオグラフィックスライブラリ関数 +.Sh 書式 +.Fd #include <vgl.h> + +.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/documentation/manual-pages/ja/man3/vis.3 b/documentation/manual-pages/ja/man3/vis.3 new file mode 100644 index 0000000000..b2118e7565 --- /dev/null +++ b/documentation/manual-pages/ja/man3/vis.3 @@ -0,0 +1,265 @@ +.\" 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 +.\" %FreeBSD: src/lib/libc/gen/vis.3,v 1.8.2.6 2001/12/14 18:33:51 ru Exp % +.\" $FreeBSD$ +.\" +.Dd July 25, 1996 +.Dt VIS 3 +.Os +.Sh 名称 +.Nm vis +.Nd キャラクタを視覚的にコード化 +.Sh ライブラリ +.Lb libc +.Sh 書式 +.In vis.h +.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 +コード化には 4 つの形式があります。すべての形式は、 +バックスラッシュキャラクタ +.Ql \e +を使って特殊シーケンスを導入します。本当のバックスラッシュを表すには、 + 2 つのバックスラッシュを使います。次のような視覚的形式があります: +.Bl -tag -width VIS_HTTPSTYLE +.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_HTTPSTYLE +RFC 1808 に記述された URI エンコードを使用します。 +形式は +.Ql %dd +であり、 +.Em d +は、16 進数の桁を表現します。 +.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 unvis 3 +.Rs +.%A R. Fielding +.%T Relative Uniform Resource Locators +.%O RFC1808 +.Re +.Sh 歴史 +これらの関数は +.Bx 4.4 +ではじめて登場しました。 diff --git a/documentation/manual-pages/ja/man3/vlimit.3 b/documentation/manual-pages/ja/man3/vlimit.3 new file mode 100644 index 0000000000..67aee29c9d --- /dev/null +++ b/documentation/manual-pages/ja/man3/vlimit.3 @@ -0,0 +1,122 @@ +.\" 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. +.\" +.\" @(#)vlimit.3 8.1 (Berkeley) 6/4/93 +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt VLIMIT 3 +.Os BSD 4 +.Sh 名称 +.Nm vlimit +.Nd システムリソース消費の最大値を制御 +.Sh 書式 +.Fd #include <sys/vlimit.h> +.Fn vlimit resource value +.Sh 解説 +.Bf -symbolic +このインタフェースは、getrlimit(2) によって置き換えられました。 +この関数は、互換性ライブラリ、libcompat から使用できます。 +.Ef +.Pp +現在のプロセスおよびそれが作成する各プロセスによる個別の消費量が、 +指定された +.Fa resource +について +.Fa value +を超えないように制限します。 +.Fa value +が \-1 に指定されている場合は、現在の限界値が返され、 +限界値は変更されません。 +現在のところ制御可能なリソースは次の通りです。 +.Bl -tag -width LIM_NORAISE +.It Dv LIM_NORAISE +擬似限界値。非ゼロの値に設定しても、限界値は引き上げられない場合があります。 +.Em noraise +制限を削除することができるのは、スーパユーザのみです。 +.It Dv LIM_CPU +各プロセスが使用する cpu 秒の最大数。 +.It Dv LIM_FSIZE +作成できる最大の単一ファイル。 +.It Dv LIM_DATA +.Xr sbrk 2 +による data+stack 領域の +プログラムテキストの終わりを超えた最大成長度。 +.It Dv LIM_STACK +自動的に拡張されたスタック領域の最大サイズ。 +.It Dv LIM_CORE +作成される最大のコアダンプのサイズ。 +.It Dv LIM_MAXRSS +プログラムに割り当てられる物理的メモリ量(バイト)の +ソフト限界値。メモリが不足する場合は、システムは宣言した +.Dv LIM_MAXRSS +を超えているプロセスからメモリを取り上げます。 +.El +.Pp +この情報はプロセス毎の情報に保存されているので、このシステムコールを +シェルにより将来作成されるすべてのプロセスに対して有効にするためには、 +シェルによって直接実行する必要があります。従って、 +.Xr limit +は +.Xr csh 1 +の組み込みコマンドです。 +.Pp +通常のやり方では制限値を超えてしまう場合は、システムはデータまたは +スタックスペースの拡張を拒否します。データスペース制限値に達した場合に +.Xr brk 2 +コールが失敗したり、スタック制限値に達した場合はそのプロセスは +中止されます(スタックを拡張できないので、シグナルを送る方法がありません!)。 +.Pp +大きすぎるファイルを作成するようなファイル +.Tn I/O +操作を行うと、シグナル +.Dv SIGXFSZ +が生成されますが、これは通常はプロセスを終了させますが、 +捕捉できる場合もあります。 +cpu 時間の制限値を超えた場合は、シグナル +.Dv SIGXFSZ +が違反している +プロセスに送られます。そのシグナルを処理する時間を許すために、 +.Tn CPU +時間制限値を上げることにより +5 秒間の猶予がプロセスに与えられます。 +.Sh 参照 +.Xr csh 1 +.Sh 歴史 +.Fn vlimit +関数は、 +.Bx 4.2 +に現れました。 +.Sh バグ +.Dv LIM_NORAISE +はもはや存在しません。 + +この関数は、未だに再実装されていません。 diff --git a/documentation/manual-pages/ja/man3/vtimes.3 b/documentation/manual-pages/ja/man3/vtimes.3 new file mode 100644 index 0000000000..605216322a --- /dev/null +++ b/documentation/manual-pages/ja/man3/vtimes.3 @@ -0,0 +1,138 @@ +.\" 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. +.\" +.\" @(#)vtimes.3 8.1 (Berkeley) 6/4/93 +.\" +.\" $FreeBSD$ +.Dd June 4, 1993 +.Dt VTIMES 3 +.Os BSD 4 +.Sh 名称 +.Nm vtimes +.Nd リソース利用についての情報を取得 +.Sh 書式 +.Fd #include <sys/vtimes.h> +.Fn vtimes "struct vtimes *par_vm" "struct vtimes *ch_vm" +.Sh 解説 +.Bf -symbolic +このインタフェースは、getrusage(2) によって置き換えられました。 +この関数は、互換性ライブラリ、libcompat から使用できます。 +.Ef +.Pp +.Fn vtimes +関数は、現在のプロセスおよび現在のプロセスの終了した +子プロセスのアカウント情報を返します。 +.Fa par_vm +または +.Fa ch_vm +のどちらか一方、またはこれら両方は 0 でも構いません。この場合には、 +非ゼロであるポインタについての情報のみが返されます。 +.Pp +この関数を呼び出した後は、各バッファにはインクルードファイル +.Pa /usr/include/sys/vtimes.h +の内容によって定義された次のような情報が +入ります。 +.Bd -literal -offset indent +struct vtimes { + int vm_utime; /* user time (*HZ) */ + int vm_stime; /* system time (*HZ) */ + /* divide next two by utime+stime to get averages */ + unsigned vm_idsrss; /* integral of d+s rss */ + unsigned vm_ixrss; /* integral of text rss */ + int vm_maxrss; /* maximum rss */ + int vm_majflt; /* major page faults */ + int vm_minflt; /* minor page faults */ + int vm_nswap; /* number of swaps */ + int vm_inblk; /* block reads */ + int vm_oublk; /* block writes */ +}; +.Ed +.Pp +.Fa vm_utime +および +.Fa vm_stime +のフィールドは、60 分の 1 秒 (ローカルの交流の周波数が 50 Hz の場合は +50 分の 1 秒) の単位でそれぞれユーザ時間と +システム時間を示します。 +.Fa vm_idrss +および +.Fa vm_ixrss +は、メモリの使用度を測ります。それぞれ、 +.Tn CPU +時間に対する使用メモリページの数を積分して +計算します。これらは、クロックが 1 回刻む度に +現在のメモリ使用(512 バイトページの単位で)を加算して、 +離散的に計算したかのように示されます。ある +プロセスがデータおよびスタックについて 1 cpu 秒に +5 コアページを使った場合は、 +.Fa vm_idsrss +は 5*60 の値を持ち、ここで +.Fa vm_utime+vm_stime +は 60 となります。 +引数 +.Fa Vm_idsrss +はデータとスタックのセグメント使用度を積算し、 +.Fa vm_ixrss +はテキストセグメントの使用度を積算します。 +.Fa Vm_maxrss +関数は、 +テキスト+データ+スタックのコア駐在のページカウントの最大瞬間総和を +示します。 +.Pp +.Fa vm_majflt +フィールドは、ディスク動作に結びついたページフォールトの数を +示します。 +.Fa vm_minflt +フィールドは、参照ビットのシミュレーションで引き起こされた +ページフォールトの数を示します。 +.Fa vm_nswap +は、起こったスワップの数です。 +ファイルシステムの入力/出力イベントの回数は、 +.Fa vm_inblk +および +.Fa vm_oublk +によって示されます。 +これらの数字は、実際の +.Tn I/O +のみを数えます。 +キャッシング機構によって供給されたデータは、そのデータを読み書きする最初の +プロセスに対してのみ勘定されます。 +.Sh 参照 +.Xr getrusage 2 , +.Xr wait3 2 , +.Xr time 3 +.Sh 歴史 +.Fn vlimit +関数は、 +.Bx 4.2 +に現れました。 +.Sh バグ +この関数は、未だに再実装されていません。 diff --git a/documentation/manual-pages/ja/man3/xdr.3 b/documentation/manual-pages/ja/man3/xdr.3 new file mode 100644 index 0000000000..8b38f6e9ed --- /dev/null +++ b/documentation/manual-pages/ja/man3/xdr.3 @@ -0,0 +1,789 @@ +.\" @(#)xdr.3n 2.2 88/08/03 4.0 RPCSRC; from 1.16 88/03/14 SMI +.\" $Id: xdr.3,v 1.5 2004-07-11 11:15:52 metal Exp $ +.\" +.\" $FreeBSD$ +.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 diff --git a/documentation/manual-pages/ja/man3/zlib.3 b/documentation/manual-pages/ja/man3/zlib.3 new file mode 100644 index 0000000000..a63160f9e6 --- /dev/null +++ b/documentation/manual-pages/ja/man3/zlib.3 @@ -0,0 +1,111 @@ +.\" %FreeBSD: src/lib/libz/zlib.3,v 1.3.2.1 2001/07/22 12:07:20 dd Exp % +.\" $FreeBSD$ +.\" +.TH ZLIB 3 "9 July 1998" +.SH 名称 +zlib \- ライブラリを圧縮/圧縮解除 +.SH 書式 +[see +.I zlib.h +for full description] +.SH 解説 +.I zlib +ライブラリは、汎用のデータ圧縮ライブラリです。コードは +スレッドセーフです。このライブラリは、非圧縮データの完全性チェックを +含めて、メモリ内での圧縮、圧縮解除機能持っています。本バージョンの +ライブラリでは 1 種類の圧縮方法 (デフレーション) しかサポートしていませんが、 +今後その他のアルゴリズムも追加し、同じストリームインタフェースを採用する +予定です。 +.PP +圧縮は、バッファが十分に大きければ (例えば入力ファイル +が mmap されている場合) シングルステップで行うことが可能ですが、 +圧縮関数を繰り返して呼び出すことで圧縮することも可能です。 +後者の場合は、コールを行う前に +アプリケーションは入力を増加させるか、 +または出力を消費しておく (出力スペースを増すために) 必要があります。 +.PP +このライブラリは、 stdio のものと同様なインタフェースによって、 +.I gzip +(.gz) 形式のファイルの読み書きもサポートしています。 +.PP +このライブラリは、シグナルハンドラはインストールしません。デコーダ +は、壊れた入力があった場合でもライブラリが絶対にクラッシュしないように、 +圧縮データの一貫性をチェックします。 +.PP +圧縮ライブラリのすべての関数は、ファイル +.I zlib.h +に説明してあります。 +配布ソースには、このライブラリの使用例を説明したファイル +.I example.c +と +.I minigzip.c +が入っています。 +.PP +.I zlib +の Java インプリメンテーションは、 +Java Development Kit 1.1 +に入っています: +.IP +http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html +.PP +Paul Marquess +(pmarquess@bfsec.bt.co.uk) によって書かれた +.I zlib +への Perl インタフェースは、次の +CPAN (Comprehensive Perl Archive Network) +サイトで入手できます: +.IP +ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-mod-ule/Compress/Compress-Zlib* +.PP +A.M. Kuchlingamk@magnet.com +によって書かれた +.I zlib +への Python インタフェースは、次の +Python Software Association +サイトで入手できます: +.IP +ftp://ftp.python.org/pub/python/contrib/Encoding/zlib*.tar.gz +.SH 参照 +zlib に関する質問は、次のところに送ってください: +.IP +zlib@quest.jpl.nasa.gov +、またはこれに失敗した場合は下に示す +作者のアドレス。 +zlib のホームページは次の通りです: +.IP +http://www.cdrom.com/pub/infozip/zlib/ +.PP +zlib ライブラリが使っているデータ形式は、次のファイルに入っている +RFC (Request for Comments) の 1950 から 1952 +に説明してあります: +.IP +ftp://ds.internic.net/rfc/rfc1950.txt (zlib format) +.br +rfc1951.txt (deflate format) +.br +rfc1952.txt (gzip format) +.PP +これらの文書は、その他の形式でも入手可能です: +.IP +ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html +.SH 作者 +Version 1.1.3 +Copyright (C) 1995-1998 Jean-loup Gailly (jloup@gzip.org) +and Mark Adler (madler@alumni.caltech.edu). +.PP +このソフトウェアは、いかなる明示的あるいは暗黙的な保証もなしに、 +「そのままの形」で提供されています。作者らはこのソフトウェアの使用によって +生じたいかなる損害に対しても責任を負いません。再配布についての必要事項に +関しては、配布ディレクトリを参照してください。 +.I zlib +が使用している圧縮形式は、 Phil Katz によって定義されています。 +圧縮および +.I zlib +仕様は、L. Peter Deutsch によって書かれました。 +問題点を報告してくれたり、 +.I zlib +に様々な改善点を助言してくれた、 +ここでは名前を挙げられないほどの多数の人々に感謝の意を表します。 +.PP +UNIX manual page by R. P. C. Rodgers, +U.S. National Library of Medicine (rodgers@nlm.nih.gov). |