diff --git a/ja_JP.eucJP/man/man3/_secure_path.3 b/ja_JP.eucJP/man/man3/_secure_path.3 index 2cdc5bee4b..110eb26f15 100644 --- a/ja_JP.eucJP/man/man3/_secure_path.3 +++ b/ja_JP.eucJP/man/man3/_secure_path.3 @@ -1,79 +1,78 @@ .\" Copyright (c) 1997 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" %FreeBSD: src/lib/libutil/_secure_path.3,v 1.7.2.2 2001/08/17 15:43:07 ru Exp % +.\" %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 FreeBSD +.Os .Dt _SECURE_PATH 3 .Sh 名称 .Nm _secure_path .Nd ファイルが安全であるように見えるかどうかを判定する .Sh ライブラリ .Lb libutil .Sh 書式 -.Fd #include -.Fd #include +.In sys/types.h +.In libutil.h .Ft int .Fn _secure_path "const char *path" "uid_t uid" "gid_t gid" .Sh 解説 この関数は、指定のパスについて基本的なセキュリティチェックを行います。 これはルート特権で実行中のプロセスが使用することを意図しています。指定の ファイルの内容を信頼するかどうかを判定するためです。この関数は、システムの 危険性を検出するために使用される方法としてよく使われます。 ファイルは、次の条件を満たす場合に .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 プロジェクトに寄与されたものです。 -.\"X kuma oh diff --git a/ja_JP.eucJP/man/man3/abort.3 b/ja_JP.eucJP/man/man3/abort.3 index f12dca54e5..7c6110c1cf 100644 --- a/ja_JP.eucJP/man/man3/abort.3 +++ b/ja_JP.eucJP/man/man3/abort.3 @@ -1,72 +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.1 2000/04/22 17:06:23 phantom Exp % +.\" %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 書式 -.Fd #include +.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 に適合しています。 -.\"X kuma oh diff --git a/ja_JP.eucJP/man/man3/abs.3 b/ja_JP.eucJP/man/man3/abs.3 index 54c09b9207..686bf37e9e 100644 --- a/ja_JP.eucJP/man/man3/abs.3 +++ b/ja_JP.eucJP/man/man3/abs.3 @@ -1,75 +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.2 2001/03/06 16:46:02 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/acos.3 b/ja_JP.eucJP/man/man3/acos.3 index 431316f0bf..43c5234651 100644 --- a/ja_JP.eucJP/man/man3/acos.3 +++ b/ja_JP.eucJP/man/man3/acos.3 @@ -1,99 +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.3 2001/07/22 12:07:20 dd Exp % +.\" %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 .Ft double .Fn acos "double x" .Ft float .Fn acosf "float x" .Sh 解説 .Fn acos および .Fn acosf 関数は、 .Fa x の逆余弦の主値を計算します。 -[-1, +1] の区間外の引数によって、領域エラーが発生します。 +.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/ja_JP.eucJP/man/man3/acosh.3 b/ja_JP.eucJP/man/man3/acosh.3 index ceefdb8ca3..0c77e91f96 100644 --- a/ja_JP.eucJP/man/man3/acosh.3 +++ b/ja_JP.eucJP/man/man3/acosh.3 @@ -1,85 +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.2 2001/08/17 15:43:08 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/addr2ascii.3 b/ja_JP.eucJP/man/man3/addr2ascii.3 index 97d0221f96..da55cb893d 100644 --- a/ja_JP.eucJP/man/man3/addr2ascii.3 +++ b/ja_JP.eucJP/man/man3/addr2ascii.3 @@ -1,221 +1,221 @@ .\" .\" Copyright 1996 Massachusetts Institute of Technology .\" .\" Permission to use, copy, modify, and distribute this software and .\" its documentation for any purpose and without fee is hereby .\" granted, provided that both the above copyright notice and this .\" permission notice appear in all copies, that both the above .\" copyright notice and this permission notice appear in all .\" supporting documentation, and that the name of M.I.T. not be used .\" in advertising or publicity pertaining to distribution of the .\" software without specific, written prior permission. M.I.T. makes .\" no representations about the suitability of this software for any .\" purpose. It is provided "as is" without express or implied .\" warranty. .\" .\" THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS .\" ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT .\" SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, .\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT .\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF .\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND .\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $ANA: addr2ascii.3,v 1.1 1996/06/13 18:41:46 wollman Exp $ -.\" %FreeBSD: src/lib/libc/net/addr2ascii.3,v 1.7.2.4 2001/08/17 15:42:38 ru Exp % +.\" %FreeBSD: src/lib/libc/net/addr2ascii.3,v 1.7.2.5 2001/12/14 18:33:55 ru Exp % .\" .\" $FreeBSD$ .Dd June 13, 1996 .Dt ADDR2ASCII 3 .Os .Sh 名称 .Nm addr2ascii , .Nm ascii2addr .Nd 一般的なアドレスフォーマットルーチン .Sh ライブラリ .Lb libc .Sh 書式 -.Fd #include -.Fd #include -.Fd #include +.In sys/types.h +.In netinet/in.h +.In arpa/inet.h .Ft "char *" .Fn addr2ascii "int af" "const void *addrp" "int len" "char *buf" .Ft int .Fn ascii2addr "int af" "const char *ascii" "void *result" .Sh 解説 ルーチン .Fn addr2ascii と .Fn ascii2addr は、バイナリ形式と、アドレスファミリに適切な印字可能な形式との間で ネットワークアドレスを変換するのに使用されます。 両方の関数とも、変換プロセスで使用されるアドレスファミリを指定する .Fa af 引数を使用します (現時点では、 .Dv AF_INET および .Dv AF_LINK アドレスファミリだけがサポートされています)。 .Pp .Fn addr2ascii 関数は、バイナリのネットワーク形式のアドレスを印字可能な形式に 変換するのに使用されます。 .Fa af の他に、 3 つの引数を持ちます。 .Fa addrp 引数は、変換するネットワークアドレスへのポインタです。 .Fa len 引数は、アドレスの長さです。 .Fa buf 引数は、結果を保持するために呼び出し元が割り振る バッファへのオプションのポインタです。 ヌルポインタが渡されると、 .Fn addr2ascii は静的に割り振られたバッファを使用します。 .Pp .Fn ascii2addr 関数は、 .Fn addr2ascii と逆の操作を実行します。 .Fa af に加えて、2 つのパラメータ .Fa ascii と .Fa result を使用します。 .Fa ascii パラメータは、バイナリに変換される文字列へのポインタです。 .Fa result パラメータは、指定されたファミリに適切なネットワークアドレス構造体への ポインタです。 .Pp 指定されたファミリにおいて使用されるバイナリアドレスとして 適切な構造体は次のとおりです。 .Pp .Bl -tag -width AF_INETxxxx -compact .It Dv AF_INET .Li struct in_addr (in .Aq Pa netinet/in.h ) .It Dv AF_LINK .Li struct sockaddr_dl (in .Aq Pa net/if_dl.h ) .\" .It Dv AF_INET6 .\" .Li struct in6_addr .\" (in .\" .Aq Pa netinet6/in6.h ) .El .Sh 戻り値 .Fn addr2ascii 関数は、渡されたバッファのアドレス、または NULL ポインタが渡された場合は静的バッファのアドレスを返します。 処理が失敗した場合は、ヌルポインタを返します。 .Fn ascii2addr 関数は、バイナリアドレスの長さ (バイト単位) を返します。 処理が失敗した場合は -1 を返します。 .Pp .Sh 例 .Xr inet 3 関数 .Fn inet_ntoa と .Fn inet_aton は次のように実装することができます。 .Bd -literal -offset indent #include #include #Include #include char * inet_ntoa(struct in_addr addr) { return addr2ascii(AF_INET, &addr, sizeof addr, 0); } int inet_aton(const char *ascii, struct in_addr *addr) { return (ascii2addr(AF_INET, ascii, addr) == sizeof(*addr)); } .Ed .Pp 実際には、これは実行できません。 .Fn addr2ascii と .Fn ascii2addr は、他の方法でなく、 .Xr inet 3 関数で実装されているからです。 .Sh エラー 処理失敗が返されたとき、 .Li errno に次の値の 1 つの設定されます。 .Bl -tag -width Er .It Bq Er ENAMETOOLONG .Fn addr2ascii ルーチンは、 .Fa af によって渡されたアドレスファミリに不適切なパラメータ .Fa len を渡されました。 .It Bq Er EPROTONOSUPPORT いずれかのルーチンに、 .Dv AF_INET または .Dv AF_LINK ではない .Fa af パラメータが渡されました。 .It Bq Er EINVAL .Fn ascii2addr に渡された文字列は、 アドレスファミリ .Fa af について不適切にフォーマットされていました。 .El .Sh 関連項目 .Xr inet 3 , .Xr linkaddr 3 , .Xr inet 4 .Sh 歴史 これに近いインタフェースは、もともと Craig Partridge によって 提案されました。 このインタフェース自体は、 .Tn INRIA の .Tn IPv6 の実装により、はじめて登場しました。 .Sh 作者 コードとドキュメントは MIT Laboratory for Computer Science の .An Garrett A. Wollman によるものです。 .Sh バグ オリジナルの実装は IPv6 をサポートしていました。 このサポートは、そのうち復活されるはずです。 .Tn NRL の実装には、 .Dv AF_ISO および .Dv AF_NS アドレスファミリのサポートも含まれていました。 .Pp このインタフェースの一般性については、いくらか疑問があります。 本当に一般的なインタフェースであれば、バッファを動的に割り当てることが できるよう、使用されるバッファの長さを決定する手段を備えているでしょうし、 バイナリアドレスを保持するのには必ず .Dq Li struct sockaddr を要求するでしょう。 残念ながら、これは既存のやり方と互換性がありません。 この制限のため、任意のアドレスファミリからネットワークアドレスを 印字するルーチンは、必要な最大バッファ長や、 バイナリアドレスとして使用するアドレスの適切な部分といった 内部的な知識を依然として持っていなければなりません。 diff --git a/ja_JP.eucJP/man/man3/alarm.3 b/ja_JP.eucJP/man/man3/alarm.3 index 02eebc2eee..885867a852 100644 --- a/ja_JP.eucJP/man/man3/alarm.3 +++ b/ja_JP.eucJP/man/man3/alarm.3 @@ -1,104 +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.4 2001/08/17 15:42:32 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/alloca.3 b/ja_JP.eucJP/man/man3/alloca.3 index 426d79bd38..53e2b5765f 100644 --- a/ja_JP.eucJP/man/man3/alloca.3 +++ b/ja_JP.eucJP/man/man3/alloca.3 @@ -1,79 +1,79 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)alloca.3 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/stdlib/alloca.3,v 1.4.2.3 2001/08/17 15:42:42 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/asin.3 b/ja_JP.eucJP/man/man3/asin.3 index d4bc049386..a6e3b31720 100644 --- a/ja_JP.eucJP/man/man3/asin.3 +++ b/ja_JP.eucJP/man/man3/asin.3 @@ -1,101 +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.3 2001/08/17 15:43:08 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/asinh.3 b/ja_JP.eucJP/man/man3/asinh.3 index 769573aa16..4f16f2fb85 100644 --- a/ja_JP.eucJP/man/man3/asinh.3 +++ b/ja_JP.eucJP/man/man3/asinh.3 @@ -1,75 +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.2 2001/08/17 15:43:08 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/assert.3 b/ja_JP.eucJP/man/man3/assert.3 index 8fd91b0a07..d09d24e5cd 100644 --- a/ja_JP.eucJP/man/man3/assert.3 +++ b/ja_JP.eucJP/man/man3/assert.3 @@ -1,86 +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.2 2000/12/29 10:17:59 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/atan.3 b/ja_JP.eucJP/man/man3/atan.3 index 4265459085..c2479f21b3 100644 --- a/ja_JP.eucJP/man/man3/atan.3 +++ b/ja_JP.eucJP/man/man3/atan.3 @@ -1,85 +1,85 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)atan.3 5.1 (Berkeley) 5/2/91 -.\" %FreeBSD: src/lib/msun/man/atan.3,v 1.6.2.2 2001/07/22 12:07:20 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/atan2.3 b/ja_JP.eucJP/man/man3/atan2.3 index cdaa7f50c0..ad4434be12 100644 --- a/ja_JP.eucJP/man/man3/atan2.3 +++ b/ja_JP.eucJP/man/man3/atan2.3 @@ -1,208 +1,208 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)atan2.3 5.1 (Berkeley) 5/2/91 -.\" %Id: atan2.3,v 1.5 1997/02/22 15:09:25 peter Exp % +.\" $Id: atan2.3,v 1.4 2002-05-18 07:12:52 horikawa Exp $ .\" .\" $FreeBSD$ .Dd May 2, 1991 .Dt ATAN2 3 .Os .Sh 名称 .Nm atan2 , .Nm atan2f .Nd 2 つの変数の逆正接関数 .Sh 書式 .Fd #include .Ft double .Fn atan2 "double y" "double x" .Ft float .Fn atan2f "float y" "float x" .Sh 解説 .Fn atan2 関数と .Fn atan2f 関数は、 .Fa y/ Ns Ar x の逆正接の主値を計算します。その際、 両方の引数の符号を使用して戻り値の象限を判定します。 .Pp .Sh 戻り値 .Fn atan2 関数と .Fn atan2f 関数は、処理が成功すると、範囲 .Bk -words .Bq \&- Ns \*)Pi , \&+ Ns \*(Pi .Ek ラジアン内の .Fa y/ Ns Ar x の逆正接を返します。 .Fa x と .Fa y の両方がゼロの場合、 グローバル変数 .Va errno が .Er EDOM に設定されます。 .Tn VAX では次のとおりです。 .Bl -column atan2_(y,x)_:=____ sign(y)_(Pi_atan2(Xy_xX))___ .It Fn atan2 y x No := Ta .Fn atan y/x Ta .Ar x > 0 の場合 .It Ta sign( Ns Ar y Ns )*(\*(Pi - .Fn atan "\\*(Bay/x\\*(Ba" ) Ta .Ar x < 0 の場合 .It Ta .No 0 Ta x = y = 0 の場合、 .It Ta .Pf sign( Ar y Ns )*\\*(Pi/2 Ta .Ar x = 0 \*(!= .Ar y の場合 .El .Sh 注 関数 .Fn atan2 は .Tn VAX で ``x > 0 の場合''、 .Fn atan2 0 0 = 0 を定義します。以前は .Fn atan2 0 0 はエラーメッセージを生成していた 可能性があるにもかかわらずです。 .Fn atan2 0 0 に値を割り当てる理由は次のとおりです。 .Bl -enum -offset indent .It .Fn atan2 0 0 の計算を回避するために引数をテストするプログラムは、この値に 無関係である必要があります。これが無効であることを要求するプログラムは、 さまざまなコンピュータシステム上でこれが無効であることに対するさまざまな 反応に対し脆弱です。 .It .Fn atan2 関数は、矩形 (x,y) を、極座標 .if n\ (r,theta) .if t\ (r,\(*h) に変換します。この座標は、 .if n\ r\(**cos theta .if t\ r\(**cos\(*h および y = .if n\ r\(**sin theta .if t\ r\(**sin\(*h を満たす必要があります。 .if n\ (r,theta) .if t\ (r,\(*h) 極座標に変換するのに主に使用されます。これらの等式が 満たされるのは、(x=0,y=0) が .Tn VAX で .if n \ (r=0,theta=0) .if t \ (r=0,\(*h=0) にマップされるときです。 一般に、極座標への変換は次のようにして計算する必要があります。 .Bd -unfilled -offset indent .if n \{\ r := hypot(x,y); ... := sqrt(x\(**x+y\(**y) theta := atan2(y,x) .\} .if t \{\ r := hypot(x,y); ... := \(sr(x\u\s82\s10\d+y\u\s82\s10\d) theta := atan2(y,x) .\} .\"XX .XX sqrt x*x+y*y .Ed .It 上記の公式は、 .Tn IEEE 754 に準拠するマシンでは符号付きのゼロおよび無限に、 合理的な方法で、対処しようと変更する必要はありません。そのようなマシン用に 準備された .Xr hypot 3 と .Fn atan2 のバージョンがすべてのケースを処理するよう 設計されています。これがたとえば .Fn atan2 \(+-0 \-0 = \(+-\*(Pi である理由です。一般に、 上記の公式は次のものと同等です。 .Bd -unfilled -offset indent .if n \ r := sqrt(x\(**x+y\(**y); r =0 の場合は、x := copysign(1,x); .if t \ r := \(sr(x\(**x+y\(**y);\0\0 r =0 の場合は、x := copysign(1,x); .Ed .El .Sh 関連項目 .Xr acos 3 , .Xr asin 3 , .Xr atan 3 , .Xr cos 3 , .Xr cosh 3 , .Xr math 3 , .Xr sin 3 , .Xr sinh 3 , .Xr tan 3 , .Xr tanh 3 .Pp .Sh 規格 .Fn atan2 関数は .St -ansiC に準拠しています。 .\"X kuma diff --git a/ja_JP.eucJP/man/man3/atanh.3 b/ja_JP.eucJP/man/man3/atanh.3 index 5c6c55facb..ead4e0c84b 100644 --- a/ja_JP.eucJP/man/man3/atanh.3 +++ b/ja_JP.eucJP/man/man3/atanh.3 @@ -1,85 +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.2 2001/08/17 15:43:08 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/atexit.3 b/ja_JP.eucJP/man/man3/atexit.3 index 7ff1cdfca0..edc96f2741 100644 --- a/ja_JP.eucJP/man/man3/atexit.3 +++ b/ja_JP.eucJP/man/man3/atexit.3 @@ -1,85 +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.3 2001/03/06 16:46:02 ru Exp % +.\" %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 書式 -.Fd #include +.In stdlib.h .Ft int .Fn atexit "void (*function)(void)" .Sh 解説 .Fn atexit 関数は、 .Xr exit 3 によるものであろうが、プログラムの .Em main 関数からの戻りによるものであろうが プログラム終了時に、与えられた .Ar function が呼び出されるよう登録します。 登録された関数は、逆の順序で呼び出されます。 引数は渡されません。 少なくとも 32 個の関数が常に登録でき、 十分なメモリが割り当てられる限り、それを超える関数も登録できます。 .Sh 戻り値 -.\"X .Rv -std atexit -.Fn atexit -関数は、処理が成功すると値 0 を返します。 -そうでない場合は -1 が返され、エラーを示すためにグローバル変数 -.Fa errno -が設定されます。 +.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/ja_JP.eucJP/man/man3/atof.3 b/ja_JP.eucJP/man/man3/atof.3 index 155ea11d9e..7b5be5309f 100644 --- a/ja_JP.eucJP/man/man3/atof.3 +++ b/ja_JP.eucJP/man/man3/atof.3 @@ -1,78 +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.2 2001/03/06 16:46:02 ru Exp % +.\" %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 書式 -.Fd #include +.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 -.Pp .Sh 関連項目 .Xr atoi 3 , .Xr atol 3 , .Xr strtod 3 , .Xr strtol 3 , .Xr strtoul 3 -.Pp .Sh 規格 .Fn atof 関数は .St -isoC -に準拠しています。 +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/atoi.3 b/ja_JP.eucJP/man/man3/atoi.3 index bbd8d052eb..75da8393b3 100644 --- a/ja_JP.eucJP/man/man3/atoi.3 +++ b/ja_JP.eucJP/man/man3/atoi.3 @@ -1,76 +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.2 2001/03/06 16:46:02 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/atol.3 b/ja_JP.eucJP/man/man3/atol.3 index c778c1a93e..8dfc66db23 100644 --- a/ja_JP.eucJP/man/man3/atol.3 +++ b/ja_JP.eucJP/man/man3/atol.3 @@ -1,77 +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.2 2001/03/06 16:46:02 ru Exp % +.\" %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 書式 -.Fd #include +.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 -.Pp .Sh 規格 .Fn atol 関数は .St -isoC に適合しています。 diff --git a/ja_JP.eucJP/man/man3/auth.3 b/ja_JP.eucJP/man/man3/auth.3 index 26d68481eb..0fef4a975a 100644 --- a/ja_JP.eucJP/man/man3/auth.3 +++ b/ja_JP.eucJP/man/man3/auth.3 @@ -1,66 +1,64 @@ .\" .\" 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/auth.3,v 1.4.2.3 2001/07/22 12:07:18 dd Exp % +.\" %FreeBSD: src/lib/libutil/auth.3,v 1.4.2.4 2001/12/17 10:08:32 ru Exp % .\" $FreeBSD$ .\" " .Dd October 7, 1998 .Os .Dt AUTH_GETVAL 3 .Sh 名称 .Nm auth_getval .Nd .Pa /etc/auth.conf から値を読み取る関数 .Sh ライブラリ .Lb libutil .Sh 書式 -.Fd #include -.Fd #include +.In sys/types.h +.In libutil.h .Ft char * .Fn auth_getval "const char *name" .Sh 解説 関数 .Fn auth_getval は、 .Fa name というフィールドに対応する値を返します。 そのようなフィールドが見つからない場合、または auth ファイルを開けることが できない場合は NULL を返します。 -.Pp .Sh 関連項目 .Xr properties_free 3 , .Xr properties_read 3 , .Xr property_find 3 , .Xr auth.conf 5 -.Pp .Sh ファイル -/etc/auth.conf +.Pa /etc/auth.conf には、 .Fn auth_getval が検索する name=value のペアが 含まれています。 diff --git a/ja_JP.eucJP/man/man3/bcmp.3 b/ja_JP.eucJP/man/man3/bcmp.3 index 3d5a60ccdb..171332572a 100644 --- a/ja_JP.eucJP/man/man3/bcmp.3 +++ b/ja_JP.eucJP/man/man3/bcmp.3 @@ -1,76 +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.3 2001/08/17 15:42:43 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/bcopy.3 b/ja_JP.eucJP/man/man3/bcopy.3 index 12edcbb098..5dc7d21599 100644 --- a/ja_JP.eucJP/man/man3/bcopy.3 +++ b/ja_JP.eucJP/man/man3/bcopy.3 @@ -1,73 +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.3 2001/08/17 15:42:43 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/bindresvport.3 b/ja_JP.eucJP/man/man3/bindresvport.3 index 7a61078d13..11459c1400 100644 --- a/ja_JP.eucJP/man/man3/bindresvport.3 +++ b/ja_JP.eucJP/man/man3/bindresvport.3 @@ -1,103 +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.1 2000/12/08 13:49:29 ru Exp % +.\" %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 書式 -.Fd #include +.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 ルートだけが特権ポートに結合できます。この呼び出しは他のユーザについては 処理失敗します。 .Pp .Va sin がヌルポインタでない場合、 .Va sin->sin_family は .Va sd によって渡されるソケットのアドレスファミリで初期化する 必要があります。 -sin->sin_port の値がゼロでない場合、 +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/ja_JP.eucJP/man/man3/bitstring.3 b/ja_JP.eucJP/man/man3/bitstring.3 index 467dcb7652..1ea012b355 100644 --- a/ja_JP.eucJP/man/man3/bitstring.3 +++ b/ja_JP.eucJP/man/man3/bitstring.3 @@ -1,196 +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.4 2001/08/17 13:08:36 ru Exp % +.\" %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 書式 -.Fd #include +.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 が設定されます。 +が参照する位置に、\-1 が設定されます。 .Pp マクロ .Fn bit_ffc は、 .Ar name が参照する .Fa nbits ビットの配列のなかで、セットされていないビットが最初に現れる位置を、 -ゼロを起点として番号付けした値を、 +0 を起点として番号付けした値を、 .Fa value が参照する位置に格納します。どのビットも設定されている場合、 .Fa value -が参照する位置に、-1 が設定されます。 +が参照する位置に、\-1 が設定されます。 .Pp これらのマクロの引数は、 1 回だけ評価され、安全な副作用がある 可能性があります。 .Sh 例 .Bd -literal -offset indent #include #include \&... #define LPR_BUSY_BIT 0 #define LPR_FORMAT_BIT 1 #define LPR_DOWNLOAD_BIT 2 \&... #define LPR_AVAILABLE_BIT 9 #define LPR_MAX_BITS 10 make_lpr_available() { bitstr_t bit_decl(bitlist, LPR_MAX_BITS); ... bit_nclear(bitlist, 0, LPR_MAX_BITS - 1); ... if (!bit_test(bitlist, LPR_BUSY_BIT)) { bit_clear(bitlist, LPR_FORMAT_BIT); bit_clear(bitlist, LPR_DOWNLOAD_BIT); bit_set(bitlist, LPR_AVAILABLE_BIT); } } .Ed .Sh 関連項目 .Xr malloc 3 -.Pp .Sh 歴史 .Nm bitstring -関数は最初に +関数は .Bx 4.4 -で現れました。 +ではじめて登場しました。 .\" kuma diff --git a/ja_JP.eucJP/man/man3/bsearch.3 b/ja_JP.eucJP/man/man3/bsearch.3 index 241f9c3e2e..0766149cea 100644 --- a/ja_JP.eucJP/man/man3/bsearch.3 +++ b/ja_JP.eucJP/man/man3/bsearch.3 @@ -1,91 +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.3 2001/07/22 12:06:47 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/bstring.3 b/ja_JP.eucJP/man/man3/bstring.3 index d7bc24d39d..d68cdd0373 100644 --- a/ja_JP.eucJP/man/man3/bstring.3 +++ b/ja_JP.eucJP/man/man3/bstring.3 @@ -1,119 +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.2 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/btree.3 b/ja_JP.eucJP/man/man3/btree.3 index ade670d455..163ba4d43f 100644 --- a/ja_JP.eucJP/man/man3/btree.3 +++ b/ja_JP.eucJP/man/man3/btree.3 @@ -1,281 +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.1 2001/01/12 08:30:09 ru Exp % +.\" %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 書式 -.Fd "#include " -.Fd "#include " +.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 バイトであり、 +(バイト単位) です。最少ページサイズは 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/ja_JP.eucJP/man/man3/byteorder.3 b/ja_JP.eucJP/man/man3/byteorder.3 index d55159e13e..c3fb9d9c8c 100644 --- a/ja_JP.eucJP/man/man3/byteorder.3 +++ b/ja_JP.eucJP/man/man3/byteorder.3 @@ -1,80 +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.3 2001/08/17 15:42:38 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/bzero.3 b/ja_JP.eucJP/man/man3/bzero.3 index 1c005af4f6..9c3aea2094 100644 --- a/ja_JP.eucJP/man/man3/bzero.3 +++ b/ja_JP.eucJP/man/man3/bzero.3 @@ -1,71 +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.3 2001/08/17 15:42:43 ru Exp % +.\" %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 書式 -.Fd #include +.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 は何もしません。 -.Pp .Sh 関連項目 .Xr memset 3 , .Xr swab 3 -.Pp .Sh 歴史 .Fn bzero 関数は .Bx 4.3 で登場しました。 diff --git a/ja_JP.eucJP/man/man3/calendar.3 b/ja_JP.eucJP/man/man3/calendar.3 index b7a424b862..d5a734c722 100644 --- a/ja_JP.eucJP/man/man3/calendar.3 +++ b/ja_JP.eucJP/man/man3/calendar.3 @@ -1,217 +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.4 2001/08/17 15:42:55 ru Exp % +.\" %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 書式 -.Fd #include +.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 日をゼロとして、 +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/ja_JP.eucJP/man/man3/cam.3 b/ja_JP.eucJP/man/man3/cam.3 index acd61f2f31..31b349861b 100644 --- a/ja_JP.eucJP/man/man3/cam.3 +++ b/ja_JP.eucJP/man/man3/cam.3 @@ -1,490 +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.5 2001/08/17 15:42:55 ru Exp % +.\" %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 書式 -.Fd #include -.Fd #include +.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 と同じように、 -.Ar device +.Fa device 引数はオプションです。 .Pp .Fn cam_open_pass は、引数として、開く .Xr pass 4 デバイスの .Fa path を取ります。 変換もルックアップも行われないので、 渡されるパスは CAM .Xr pass 4 デバイスの パスでなければなりません。 -.Ar flags +.Fa flags は、 .Xr open 2 に渡すのに適したフラグである 必要があります。 -.Ar device +.Fa device 引数は、ユーザが CAM ライブラリに .Va cam_device 構造体用の空間を割り振りさせたい場合は、 .Fn cam_open_spec_device および .Fn cam_open_btl と同じように、 -.Va NULL +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 構造体内で記述された -.Ar 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 構造体用に空間を割り当て、渡された -.Ar 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 構造を指すポインタを返します。または、 エラーがあった場合は -.Va NULL +NULL を返します。 .Pp .Fn cam_getccb は、割り振り済みで部分的に初期化済みの CCB を返します。また、 CCB の割り振りが処理失敗した場合は -.Va NULL +NULL を返します。 .Pp .Fn cam_send_ccb は、エラーが発生した場合、値 -1 を返し、 .Va errno がエラーを 示すように設定されます。 .Pp .Fn cam_path_string は、便宜として記入された印刷接頭語を返します。これは、 .Fn cam_path_string に渡されるのと同じ -.Ar str +.Fa str です。 .Pp .Fn cam_device_dup は、渡された -.Ar device +.Va device のコピーを返します。または、エラーが 発生した場合は -.Va NULL +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 ライブラリは最初に +CAM ライブラリは .Fx 3.0 -で現れました。 +ではじめて登場しました。 .Sh 作者 .An Kenneth Merry Aq ken@FreeBSD.org .Sh バグ .Fn cam_open_device は、渡された .Fa path が何かへの symlink であるかどうか チェックしません。渡された .Fa path が実際の .Xr pass 4 デバイスであるかどうかも チェックしません。前のチェックを実現するのはかなり簡単でしょうが、後の チェックを実行するためには、 .Xr pass 4 デバイスとしてデバイスノードを識別する 決定的な方法が必要でしょう。 .Pp おそらく関数には名前が不適切なものや、名前が不十分なものがあります。 diff --git a/ja_JP.eucJP/man/man3/cam_cdbparse.3 b/ja_JP.eucJP/man/man3/cam_cdbparse.3 index 92264c86de..35743ed452 100644 --- a/ja_JP.eucJP/man/man3/cam_cdbparse.3 +++ b/ja_JP.eucJP/man/man3/cam_cdbparse.3 @@ -1,626 +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.9 2001/08/17 15:42:55 ru Exp % +.\" %FreeBSD: src/lib/libcam/cam_cdbparse.3,v 1.3.2.10 2001/12/17 10:08:28 ru Exp % .\" $FreeBSD$ -p % .\" .\" 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 書式 -.Fd #include -.Fd #include +.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 エンジン用である */ -.Pp + /* フェーズ認識モードフラグ */ CAM_DIS_AUTOSRP = 0x01000000,/* 自動保存/復元ポインタを無効にする */ CAM_DIS_AUTODISC = 0x02000000,/* 自動切断を無効にする */ CAM_TGT_CCB_AVAIL = 0x04000000,/* ターゲットの CCB が利用可能 */ CAM_TGT_PHASE_MODE = 0x08000000,/* SIM がフェーズモードで実行される */ CAM_MSGB_VALID = 0x20000000,/* メッセージバッファが有効 */ CAM_STATUS_VALID = 0x40000000,/* ステータスバッファが有効 */ CAM_DATAB_VALID = 0x80000000,/* データバッファが有効 */ -.Pp + /* ホストターゲットモードフラグ */ CAM_TERM_IO = 0x20000000,/* 入出力メッセージ補充を終了 */ CAM_DISCONNECT = 0x40000000,/* 切断は必須である */ CAM_SEND_STATUS = 0x80000000,/* データフェーズの後にステータスを送信 */ } ccb_flags; .Ed .Pp 複数のフラグを指定する場合、OR (論理和) を取る必要があります。 どの CCB フラグを使用することもできます。 以降の重要ないくつかのフラグについては特に説明しておく価値が あります。 .Pp .Bl -tag -width CAM_PASS_ERR_RECOVER -.It CAM_DIR_IN +.It Dv CAM_DIR_IN 問題の操作が読み取り操作であることを示します。すなわち、データは .Tn SCSI デバイスからユーザ指定バッファに読み取られています。 -.It CAM_DIR_OUT +.It Dv CAM_DIR_OUT 操作が書き込み操作であることを示します。すなわち、データは ユーザ指定バッファからデバイスに書き込まれています。 -.It CAM_DIR_NONE +.It Dv CAM_DIR_NONE このコマンドについて転送されるデータはないことを示します。 -.It CAM_DEV_QFRZDIS +.It Dv CAM_DEV_QFRZDIS デバイス待ち行列の、エラー回復メカニズムとしての凍結を 無効にします。 .It Dv CAM_PASS_ERR_RECOVER .Xr pass 4 ドライバにエラー回復を有効にするように 通知します。デフォルトではエラー回復を実行されません。すなわち、このフラグ がない場合は再試行カウントは意味を持ちません。 -.It CAM_DATA_PHYS +.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 フィールド指示子については、次の整数引数が、変数引数リストから取られ、 その値が -.Tn SCSI +SCSI 順にスワップするのに使用されます。 .Pp .Fn csio_build_visit は .Fn csio_build と動作が類似していますが、 .Fa cmd_spec 内の 変数引数に置き換わる値が、 .Xr stdarg 3 によってではなく、 .Fn csio_build_visit に 渡される .Fn arg_get 関数によって取り出される点が異なります。 .Fn arg_get 関数は 次の 2 つの引数を取ります。 .Bl -tag -width field_name .It Fa gethook は関数呼び出しのたびに .Fn arg_get 関数に渡されます。これによって、 .Fn arg_get 関数は、グローバル変数または静的変数を使用せずに、間の呼び出しの間に 状態のいくらかを保持することができます。 .It Fa field_name は、 .Fa fmt がある場合はそれによって与えられる名前です。 .El .Pp .Fn csio_decode は、 -.Tn SCSI +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/ja_JP.eucJP/man/man3/catclose.3 b/ja_JP.eucJP/man/man3/catclose.3 index ee5524fdf0..6d657716f4 100644 --- a/ja_JP.eucJP/man/man3/catclose.3 +++ b/ja_JP.eucJP/man/man3/catclose.3 @@ -1,69 +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.5 2001/07/22 12:06:45 dd Exp % +.\" %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 書式 -.Fd #include +.In nl_types.h .Ft int .Fn catclose "nl_catd catd" .Sh 解説 .Fn catclose 関数は、引数 .Fa catd によって指定されたメッセージカタログをクローズします。 .Sh 戻り値 -.\".Rv -std catclose -.Fn catclose -関数は成功すると値 0 を返します。それ以外の場合は値 -1 が -返され、エラーを示すグローバル変数 -.Fa errno -が設定されます。 +.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/ja_JP.eucJP/man/man3/catgets.3 b/ja_JP.eucJP/man/man3/catgets.3 index a007ab35a2..aedf4aae68 100644 --- a/ja_JP.eucJP/man/man3/catgets.3 +++ b/ja_JP.eucJP/man/man3/catgets.3 @@ -1,71 +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.3 2001/07/22 12:06:45 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/catopen.3 b/ja_JP.eucJP/man/man3/catopen.3 index 43e0105e93..dea6ad7303 100644 --- a/ja_JP.eucJP/man/man3/catopen.3 +++ b/ja_JP.eucJP/man/man3/catopen.3 @@ -1,144 +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.5 2001/07/22 12:06:45 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/ceil.3 b/ja_JP.eucJP/man/man3/ceil.3 index 418396b2eb..b296793f11 100644 --- a/ja_JP.eucJP/man/man3/ceil.3 +++ b/ja_JP.eucJP/man/man3/ceil.3 @@ -1,69 +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.1 2001/03/06 16:46:24 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/cftime.3 b/ja_JP.eucJP/man/man3/cftime.3 index 28d8449300..c3a3c1bae6 100644 --- a/ja_JP.eucJP/man/man3/cftime.3 +++ b/ja_JP.eucJP/man/man3/cftime.3 @@ -1,101 +1,101 @@ .\" .\" Copyright (c) 1994, 1995 Joerg Wunsch .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Joerg Wunsch .\" 4. The name of the developer may not be used to endorse or promote .\" products derived from this software without specific prior written .\" permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" -.\" %FreeBSD: src/lib/libcompat/4.1/cftime.3,v 1.6.2.3 2001/07/22 12:07:04 dd Exp % +.\" %FreeBSD: src/lib/libcompat/4.1/cftime.3,v 1.6.2.4 2001/12/17 10:08:28 ru Exp % .\" .\" $FreeBSD$ .Dd June 15, 1993 .Os .Dt CFTIME 3 .Sh 名称 .Nm cftime .Nm ascftime .Nd 日付と時刻の文字列への変換 .Sh ライブラリ .Lb libcompat .Sh 書式 -.Fd #include +.In time.h .Ft int .Fn cftime "char *s" "char *format" "const time_t *clock" .Ft int .Fn ascftime "char *s" "const char *format" "const struct tm *tmptr" .Sh 解説 .Bf -symbolic .Fn cftime 関数と .Fn ascftime 関数は、 .Xr strftime 3 によって旧式なものとなっています。 .Ef .Pp 関数 .Fn cftime および .Fn ascftime はできるだけ使用しないでください。 バッファのオーバーフロー状態をチェックする方法がないからです。 代わりに .Xr strftime 3 を使用してください。 .Pp .Fn ascftime は .Xr strftime 3 とほとんど同じです。ただし、最大バッファ長を指定するパラメータがないことと、 .Em NULL ポインタが指定されると .Fa format パラメータがデフォルトで .Dq %C になるという点だけは異なります。 .Pp .Fn cftime は同じ処理を行ないますが、指定された .Fa clock を変換するために最初に .Xr localtime 3 を起動してから、 .Fa format 引数で要求されているような変換を実行します。 -.Sh 返却値 +.Sh 戻り値 .Fn cftime 関数と .Fn ascftime 関数は、出力バッファ .Fa s に書き込まれた文字数を返します。その場合、末尾のヌル文字は数えません。 .Sh 関連項目 .Xr localtime 3 , .Xr strftime 3 diff --git a/ja_JP.eucJP/man/man3/cipher.3 b/ja_JP.eucJP/man/man3/cipher.3 index 0d3ab0b0ba..f9d9aa70e3 100644 --- a/ja_JP.eucJP/man/man3/cipher.3 +++ b/ja_JP.eucJP/man/man3/cipher.3 @@ -1,150 +1,150 @@ .\" 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/secure/lib/libcipher/cipher.3,v 1.6.2.1 2001/03/06 12:00:18 ru Exp % +.\" %FreeBSD: src/secure/lib/libcipher/cipher.3,v 1.6.2.3 2001/12/14 15:21:13 ru Exp % .\" $FreeBSD$ .\" .\" Manual page, using -mandoc macros .\" .Dd March 9, 1994 .Dt CIPHER 3 .Os "FreeSec 1.0" .Sh 名称 .Nm setkey , .Nm encrypt , .Nm des_setkey , .Nm des_cipher .Nd DES 暗号化 .Sh ライブラリ .Lb libcipher .Sh 書式 -.Fd #include +.In unistd.h .Ft int .Fn setkey "const char *key" .Ft int .Fn encrypt "char *block" "int flag" .Ft int .Fn des_setkey "const char *key" .Ft int .Fn des_cipher "const char *in" "char *out" "long salt" "int count" .Sh 解説 .Fn encrypt , .Fn setkey , .Fn des_setkey , .Fn des_cipher 関数は、 .Tn DES アルゴリズムへのアクセス手段を提供します。 .Fn setkey には、バイナリ値 (数値 0 または 1) を持つ 64バイトの配列を渡します。 この配列から 56 ビットの鍵が取り出されます。 これは、配列を 8 バイトのグループに分割し、各グループの最後のビットを 無視することで行ないます。 このビットは DES によりバイトパリティチェックのために予約されていますが、 これらの関数はこのビットを無視します。 .Pp .Fn encrypt の引数 .Fa block もまた、バイナリ値を持つ 64 バイトの配列です。 .Fa flag の値が 0 の場合、 .Fa block は暗号化されます。それ以外の場合は復号化されます。 .Fn setkey により指定した鍵を使い、配列の値を処理した後で、 処理結果は元の配列 .Fa block に返されます。 .Pp .Fn des_setkey の引数は長さ 8 のキャラクタの配列です。 各キャラクタの最下位ビット (パリティビット) は無視され、 残りのビットをくっつけて 56 ビットの鍵を形成します。 .Fn des_cipher 関数は .Fa count の .Xr abs 3 回 .Tn DES を繰り返して、 .Fa in にある 8 キャラクタに格納された 64 ビットの値を暗号化 ( .Fa count が負の場合は復号化) し、 結果の 64 ビットを 8 キャラクタにして .Fa out (これは、 .Fa in と同じ場所でも構いません) に格納します。 .Fa salt は .Tn DES アルゴリズムに対し、16777216 通りまたは 4096 通り (つまり、24 ビットまたは 12 ビット) の中から 1 通りという不規則性を導入します ( .Ar salt のビット .Em i が設定されている場合、 .Tn DES E-box 出力中のビット .Em i とビット .Em i+24 -とが交換されます) 。 +とが交換されます)。 .Pp .Fn setkey , .Fn encrypt , .Fn des_setkey , .Fn des_cipher 関数は処理に成功した場合 0 を返し、失敗した場合 1 を返します。 .Pp .Fn setkey と .Fn des_setkey 関数は同じ鍵空間を操作します。 .Sh 関連項目 .Xr login 1 , .Xr passwd 1 , .Xr crypt 3 , .Xr getpass 3 , .Xr passwd 5 .Sh 歴史 このライブラリ (FreeSec 1.0) は、アメリカ合衆国のみで使える .Nx libcrypt 暗号化ライブラリに対して、そのような障害のない置き換えとして アメリカ合衆国の外で開発されました。 ユーザは、このコード (とこのライブラリを静的リンクしたプログラム) は 合衆国の外に輸出できないことを理解しておかねばなりません。もっとも、 輸入できることは明らかなのですが。 .Sh 作者 .An David Burren Aq davidb@werj.com.au diff --git a/ja_JP.eucJP/man/man3/cos.3 b/ja_JP.eucJP/man/man3/cos.3 index 97e77e6be2..00ad7aad11 100644 --- a/ja_JP.eucJP/man/man3/cos.3 +++ b/ja_JP.eucJP/man/man3/cos.3 @@ -1,80 +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.2 2001/07/22 12:07:20 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/cosh.3 b/ja_JP.eucJP/man/man3/cosh.3 index 818739d017..7a58132c06 100644 --- a/ja_JP.eucJP/man/man3/cosh.3 +++ b/ja_JP.eucJP/man/man3/cosh.3 @@ -1,83 +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.2 2001/07/22 12:07:20 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/crypt.3 b/ja_JP.eucJP/man/man3/crypt.3 index c05afd82ac..76d16d8d23 100644 --- a/ja_JP.eucJP/man/man3/crypt.3 +++ b/ja_JP.eucJP/man/man3/crypt.3 @@ -1,305 +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.10 2001/08/17 15:42:57 ru Exp % +.\" %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 書式 -.Fd #include +.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)) に従います) +(モジュール化暗号フォーマット (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 ファイルで、 -.Ql crypt_format +.Va crypt_default 属性を使い設定することができます。 -.Sh 返却値 +.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 AUTHORS +.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/ja_JP.eucJP/man/man3/ctime.3 b/ja_JP.eucJP/man/man3/ctime.3 index 79c6ae2943..3d5b775efa 100644 --- a/ja_JP.eucJP/man/man3/ctime.3 +++ b/ja_JP.eucJP/man/man3/ctime.3 @@ -1,350 +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/ja_JP.eucJP/man/man3/ctype.3 b/ja_JP.eucJP/man/man3/ctype.3 index 2c2185b0ec..2e9688b2eb 100644 --- a/ja_JP.eucJP/man/man3/ctype.3 +++ b/ja_JP.eucJP/man/man3/ctype.3 @@ -1,125 +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 toascii , .Nm tolower , -.Nm toupper , +.Nm toupper .Nd 文字分類マクロ +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .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 toupper , -.Fn tolower , +.Fn ishexnumber , +.Fn isideogram , +.Fn isnumber , +.Fn isphonogram , +.Fn isrune , +.Fn isspecial および .Fn toascii を 除いて、 -.St -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/curs_addch.3 b/ja_JP.eucJP/man/man3/curs_addch.3 index 83bd031c98..1799e320e7 100644 --- a/ja_JP.eucJP/man/man3/curs_addch.3 +++ b/ja_JP.eucJP/man/man3/curs_addch.3 @@ -1,127 +1,127 @@ -.\" %Id: curs_addch.3,v 1.6 1997/02/22 15:07:39 peter Exp % +.\" $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 \fR \fBaddch(chtype ch);\fR .br \fBwaddch(WINDOW *win, chtype ch);\fR .br \fBmvaddch(int y, int x, chtype ch);\fR .br \fBmvwaddch(WINDOW *win, int y, int x, chtype ch);\fR .br \fBechochar(chtype ch);\fR .br \fBwechochar(WINDOW *win, chtype ch);\fR .br .SH 解説 \fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR および \fBmvwaddch\fR の各ルーチンは、 指定のウィンドウの現在のウィンドウ位置に文字 \fIch\fR を設定し、 その位置を進行します。 これらは \fBstdio\fR(3) の \fBputchar\fR に類似しています。 進行が右端余白の場合、カーソルは自動的に次の行の先頭にラップします。 \fBscrollok\fR が有効な場合、スクロール領域の下端では、 スクロール領域が 1 行だけ上にスクロールします。 \fIch\fR がタブ、改行、またはバックスペースの場合、 カーソルはウィンドウ内部で適切に移動させられます。 改行は \fBclrtoeol\fR を行ってから移動します。 タブは、8 カラムごとにあると見なされます。 \fIch\fR がタブ、改行、バックスペース以外の制御文字の場合、 それは \fB^\fR\fIX\fR 表記で描かれます。 制御文字を追加した後に \fBwinch\fR を呼び出しても、 制御文字は戻らず、代わりに制御文字の表現が返されます (制御文字を文字どおり送るには、\fBechochar\fRを使用します)。 ビデオ属性は 1 つの文字と論理和 (OR) を取ることによって、 結合されてパラメータに入れることができます。 この結果、これらの属性も設定されることになります (ここで意図することは、属性を含めてテキストが、 \fBinch\fR と \fBaddch\fR を使用して、 ある場所から別の場所にコピーできるということです)。 [ curs_attr(3) ページの、定義済みビデオ属性定数である \fBstandout\fR を参照してください]。 \fBechochar\fR ルーチンと \fBwechochar\fR ルーチンは、 \fBaddch\fR の呼び出しの後に \fBrefresh\fR の呼び出しが続いたもの、 または \fBwaddch\fR の呼び出しの後に \fBwrefresh\fR の呼び出しが続いたものと機能的に同等です。 1 つの文字だけが出力されていることを考慮に入れ、 制御文字でない文字の場合は、これらのルーチンを、 同等のものの代わりに使用すると、性能が大幅に向上することがあります。 .SS ライングラフィックス 以降の変数を使用して、\fBaddch\fR ファミリのルーチンで、 ライン描画文字を画面に追加できます。 以下にリストしたデフォルト文字が使用されるのは、 \fBacsc\fR 機能がターミナル固有の代わりのものを定義しない場合です。 名前は VT100 命名法から取ってあります。 .TS l l l _ _ _ l l l. \fl名称\fR \fIデフォルト\fR \fI記述\fR ACS_ULCORNER + 左上コーナー ACS_LLCORNER + 左下コーナー ACS_URCORNER + 右上コーナー ACS_LRCORNER + 右下コーナー ACS_RTEE + 右ツリー ACS_LTEE + 左ツリー ACS_BTEE + 下端ツリー ACS_TTEE + 上端ツリー ACS_HLINE - 水平線 ACS_VLINE | 垂直線 ACS_PLUS + プラス ACS_S1 - 走査線 1 ACS_S9 \&_ 走査線 9 ACS_DIAMOND + ダイアモンド ACS_CKBOARD : チェッカーボード (点描) ACS_DEGREE ' 度のシンボル ACS_PLMINUS # プラス / マイナス ACS_BULLET o ブレット ACS_LARROW < 左向き矢印 ACS_RARROW > 右向き矢印 ACS_DARROW v 下向き矢印 ACS_UARROW ^ 上向き矢印 ACS_BOARD # 正方形のボード ACS_LANTERN # ランタンのシンボル ACS_BLOCK # 埋められた正方形のブロック .TE .SH 戻り値 ルーチンはすべて、処理が失敗すると整数 \fBERR\fR で返ります。 処理が成功して完了すると、\fBERR\fR 以外の整数値が返されます。 ただし、これまでのルーチンの説明で異なるように注記した場合は別です。 .SH バグ .SH 注釈 \fBaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR および \fBechochar\fR はマクロである可能性があります。 386 と 486 のコンソールでは、 \fBwechochar\fR に上位ビットを設定した引数を指定すると、 対応する高さが半分の ASCIIZ グラフィックが生成されます (SVr4 curses にもこの特徴がありますが、 ドキュメントに記載はされていません)。 しかし、制御文字引数は通常、対応するグラフィックを作成しないものです。 CR, NL, FF および TAB のような文字は、 通常、コンソールドライバ自体によって解釈され、 ESC は制御シーケンスの先頭と解釈されます。 .SH 関連項目 \fBncurses\fR(3), \fBcurs_attr\fR(3), \fBcurs_clear\fR(3), \fBcurs_inch\fR(3), \fBcurs_outopts\fR(3), \fBcurs_refresh\fR(3), \fBputc\fR(3). diff --git a/ja_JP.eucJP/man/man3/cuserid.3 b/ja_JP.eucJP/man/man3/cuserid.3 index 34828bdad5..1ec84736e3 100644 --- a/ja_JP.eucJP/man/man3/cuserid.3 +++ b/ja_JP.eucJP/man/man3/cuserid.3 @@ -1,89 +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. -.\" -.\" %Id: cuserid.3,v 1.5 1997/02/22 15:06:05 peter Exp % +.\" +.\" %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 書式 -.Fd #include +.In stdio.h .Ft char * .Fn cuserid "char *s" .Sh 解説 .Bf -symbolic -.Nm cuserid +.Fn cuserid 関数は -getpwuid +.Xr getpwuid 3 によって旧式なものになりました。 -.br -これは互換性ライブラリ -libcompat -で利用できます。 .Ef .Pp 関数 -.Nm cuserid +.Fn cuserid は、現在のプロセスの有効な UID に対応するユーザ名を取得します。引数 .Fa s -がゼロでない場合、名前は、それが指しているバッファに +が NULL でない場合、名前は、それが指しているバッファに コピーされ、そのアドレスが返されます。このバッファは少なくとも .Em L_cuserid -キャラクタ用の空間を準備する必要があります。この定数は -.Pa Aq stdio.h -内に -定義されます。 +キャラクタ用の空間を準備する必要があります。 +L_cuuserid 定数は +.Aq Pa stdio.h +内に定義されます。 .Pp .Fa s -がゼロの場合、内部配列が使用され、そのアドレスが返されます。 -.Pp +が NULL の場合、内部配列が使用され、そのアドレスが返されます。 .Sh 戻り値 -.Nm cuserid +.Fn cuserid は、名前が保存された配列のアドレスを返します。 .Pp 現在のプロセスの有効な UID に対応する名前が見つからない場合は、NULL ポインタが返されるか、または -.Po -s がゼロでない場合 -.Pc +(s が NULL でない場合) バッファ .Fa s -が NULL ストリングで埋められるかのどちらかです。 +がヌルストリングで埋められるかのどちらかです。 .Sh 関連項目 .Xr geteuid 2 , .Xr getpwuid 3 diff --git a/ja_JP.eucJP/man/man3/dbopen.3 b/ja_JP.eucJP/man/man3/dbopen.3 index c071a57228..972bf293ab 100644 --- a/ja_JP.eucJP/man/man3/dbopen.3 +++ b/ja_JP.eucJP/man/man3/dbopen.3 @@ -1,519 +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.1 2001/01/12 08:30:10 ru Exp % +.\" %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 書式 -.Fd "#include " -.Fd "#include " -.Fd "#include " +.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 -を open します。ディスク上に保持する必要のないファイルは、 +をオープンします。ディスク上に保持する必要のないファイルは、 ファイルパラメータを .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 では -open できないことに注意してください)。 +オープンできないことに注意してください)。 .\"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 つまたは複数のポインタを +時々キー / データ構造とフラグ値を指す 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 を返します。 -.I key +.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 errnoerrno +.Va errno を設定)、 正常終了時には 0 を返し、指定のキーまたは現在のキーより小さいかまたは -大きいキー/データの組が存在しない場合は 1 を返します。 +大きいキー / データの組が存在しない場合は 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 を返します。 -.Sh キー/データの組 -すべてのファイルタイプへのアクセスはキー/データの組を基にしています。 +.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 DBT は、 +.Ft DBTs +は、 .Dq "data base thang" の略称で、 まだ使用されていない合理的な名前を誰も思いつかなかったために 使われることになりました。 .Pp ファイル記述子インタフェースは構成が調和しておらず、 インタフェースの今後のバージョンでは削除される予定です。 .Pp どのアクセス方式も、並行アクセス、ロック、またはトランザクション は、どのような形式でも提供しません。 diff --git a/ja_JP.eucJP/man/man3/des_crypt.3 b/ja_JP.eucJP/man/man3/des_crypt.3 index 4f6a670144..737cfcb51b 100644 --- a/ja_JP.eucJP/man/man3/des_crypt.3 +++ b/ja_JP.eucJP/man/man3/des_crypt.3 @@ -1,112 +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.2 2001/07/22 10:14:45 dd Exp % +.\" %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 書式 -.Fd "#include " +.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/ja_JP.eucJP/man/man3/devstat.3 b/ja_JP.eucJP/man/man3/devstat.3 index 77117ca3c9..bc1f0df22b 100644 --- a/ja_JP.eucJP/man/man3/devstat.3 +++ b/ja_JP.eucJP/man/man3/devstat.3 @@ -1,525 +1,525 @@ .\" .\" Copyright (c) 1998 Kenneth D. Merry. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %Id: devstat.3,v 1.3 1999/01/06 04:59:53 obrien Exp % +.\" $Id: devstat.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" .\" $FreeBSD$ .Dd May 21, 1998 .Dt DEVSTAT 3 .Os FreeBSD 3.0 .Sh 名称 .Nm devstat .Nd デバイス統計ユーティリティライブラリ .Sh 書式 .Fd #include .Ft int .Fn getnumdevs "void" .Ft long .Fn getgeneration "void" .Ft int .Fn getversion "void" .Ft int .Fn checkversion "void" .Ft int .Fn getdevs "struct statinfo *stats" .Ft int .Fo selectdevs .Fa "struct device_selection **dev_select" .Fa "int *num_selected" .Fa "int *num_selections" .Fa "long *select_generation" .Fa "long current_generation" .Fa "struct devstat *devices" .Fa "int numdevs" .Fa "struct devstat_match *matches" .Fa "int num_matches" .Fa "char **dev_selections" .Fa "int num_dev_selections" .Fa "devstat_select_mode select_mode" .Fa "int maxshowdevs" .Fa "int perf_select" .Fc .Ft int .Fo buildmatch .Fa "char *match_str" .Fa "struct devstat_match **matches" .Fa "int *num_matches" .Fc .Ft int .Fo compute_stats .Fa "struct devstat *current" .Fa "struct devstat *previous" .Fa "long double etime" .Fa "u_int64_t *total_bytes" .Fa "u_int64_t *total_transfers" .Fa "u_int64_t *total_blocks" .Fa "long double *kb_per_transfer" .Fa "long double *transfers_per_second" .Fa "long double *mb_per_second" .Fa "long double *blocks_per_second" .Fa "long double *ms_per_transaction" .Fc .Ft long double .Fo compute_etime .Fa "struct timeval cur_time" .Fa "struct timeval prev_time" .Fc .Sh 解説 .Nm devstat ライブラリは、カーネル .Xr devstat 9 インタフェースを処理するのに 便利な関数のライブラリです。カーネル .Xr devstat 9 インタフェースは、 .Xr sysctl 3 によってユーザーがアクセスできます。 .Pp .Fn getnumdevs は、カーネル内の .Nm devstat サブシステムとともに登録された デバイスの番号を返します。 .Pp .Fn getgeneration は、カーネル内のデバイス .Nm devstat リストの現在の世代を 返します。 .Pp .Fn getversion は、現在のカーネル .Nm devstat デバイスバージョンを返します。 .Pp .Fn checkversion は、カーネル .Nm devstat バージョンに対して userland devstat をチェックします。 2 つが同一の場合、ゼロが返されます。そうでない場合は、 .Va devstat_errbuf に該当するエラーを表示し -1 を返します。 .Pp .Fn getdevs は、デバイスと統計の現在のリストを取り出して、指定された .Va statinfo 構造に入れます。 .Va statinfo 構造は .Aq Pa devstat.h にあります。 .Bd -literal -offset indent struct statinfo { long cp_time[CPUSTATES]; long tk_nin; long tk_nout; struct devinfo *dinfo; struct timeval busy_time; }; .Ed .Pp .Fn getdevs は .Va statinfo 構造が割り振られるのを予期し、また、定刻より早く .Va dinfo サブエレメントが割り振られるのも予期します。 .Va dinfo サブエレメントには次のエレメントが入っています。 .Bd -literal -offset indent struct devinfo { struct devstat *devices; u_int8_t *mem_ptr; long generation; int numdevs; }; .Ed .Pp .Va kern.devstat.all sysctl 変数には、 .Nm devstat 構造の配列が入っていますが、配列の先頭は現在の .Nm devstat 世代です。世代がバッファの先頭にある理由は、 .Nm devstat 統計にアクセスしている userland ソフトウェアが自動的に 統計情報および対応する世代番号の両方を自動的に得るようにするためです。 クライアントソフトウェアが別の .Nm sysctl 変数 ( これは便宜のために利用できます ) を通じて世代番号を得ることを 強制された場合、デバイスのリストは、クライアントが世代を得る時刻と、 クライアントがデバイスリストを得る時刻の間で変化する可能性があります。 .Pp .Va devinfo 構造の .Va mem_ptr サブエレメントは、割り振られたメモリを指すポインタであり、必要であれば、 .Fn getdevs によってサイズを変更されます。 .Va devinfo 構造のデバイスサブエレメントは基本的に、 .Va kern.devstat.all .Nm sysctl 変数から .Nm devstat 構造の配列の先頭を指すポインタです。 .Nm devinfo 構造の世代 サブエレメントには、 .Va kern.devstat.all .Nm sysctl 変数からの世代番号が含まれています。 .Va devinfo 構造の .Va numdevs サブエレメントには、カーネル .Nm devstat サブシステムで登録されたデバイスの現在の番号が入っています。 .Pp .Fn selectdevs は、規準の数を基礎にして表示するデバイスを選択します。 .Bl -tag -width flag .It 指定デバイス 指定されたデバイスは最初の選択優先順位です。これらは、一般に、 ユーザにより名前により指定されたデバイス、たとえば、 da0, da1, cd0 です。 .It マッチパターン これらのパターンユーザ入力から .Fn buildmatch によって生成されたパターンマッチング式です。 .It 性能 性能モードが有効な場合、デバイスは、 .Fn selectdevs に渡される .Va device_selection 構造内の .Va bytes フィールドを基礎にしてソートされます。 .Va bytes 値は、現時点では、ユーザが保守する必要があります。将来的には、これは .Nm devstat ライブラリルーチンで行われる可能性があります。デバイスが名前または パターンによって選択されていない場合、性能追跡コードがシステム内の 各デバイスを選択し、これらを性能によってソートします。デバイスが名前または パターンによって選択されている場合、性能追跡コードはこれらの選択を尊重し、 選択されたデバイスの間でだけソートします。 .It devstat リスト内の順序 選択モードが DS_SELECT_ADD に設定され、しかも .Va maxshowdevs 未満のデバイスが選択されている場合、 .Fn selectdevs が自動的に .Va maxshowdevs デバイスをセットアップします。 .El .Pp .Fn selectdevs は、次の 4 つのモードで選択を行います。 .Bl -tag -width DS_SELECT_ADDONLY .It DS_SELECT_ADD 追加モードで、 .Fn selectdevs は、名前または一致パターンによって指定された 選択されていないデバイスを選択します。また、これは .Nm devstat の順序でさらにデバイスを選択します。選択したデバイスの数が .Va maxshowdevs に等しくなるまで、またはすべてのデバイスが選択されるまでです。 .It DS_SELECT_ONLY only モードで、 .Fn selectdevs は、現在の選択肢をすべてクリアし、 名前または一致するパターンで指定されたデバイスだけを選択します。 .It DS_SELECT_REMOVE 除去モードで、 .Fn selectdevs は、名前または一致パターンによって指定されたデバイスを除去します。 追加デバイスは選択しません。 .It DS_SELECT_ADDONLY 追加のみモードで、 .Fn selectdevs は、名前または一致する パターンで指定された選択されないデバイスを選択します。この点では、これは 追加モードと同一です。しかし、指定された以外のデバイスは選択しません。 .El .Pp すべての選択モードで、 .Fn selectdevs は、 .Va maxshowdevs デバイスを越えるデバイスは選択しません。1 つの例外は、 .Dq top モードにあり、デバイスが選択されていないときです。この場合、 .Fn selectdevs は、システム内の各デバイス を選択します。クライアントプログラムは、特定のデバイスに注意を払うかどうか 決定するときに、選択の順序に注意を払う必要があります。これはまずい 動作であり、さらに考慮する必要があると考えられます。 .Pp .Fn selectdevs は、クライアントによって渡された .Va dev_select 構造の割り振りとサイズ変更を処理します。 .Fn selectdevs は、 .Va numdevs フィールドと .Va current_generation フィールドを使用して、現在の .Nm devstat 世代とデバイスの数を追跡します。 .Va num_selections が .Va numdevs と同じでない場合、または .Va select_generation が .Va current_generation と同じでない場合、 .Fn selectdevs は、選択リストを必要に応じてサイズ変更し、選択配列を初期化し直します。 .Pp .Fn buildmatch は、カンマで区切られた一致ストリングを取り、 .Fn selectdevs が理解する \fBdevstat_match\fR 構造にコンパイルします。一致ストリングの形式は 次のとおりです。 .Pp .Bd -literal -offset indent device,type,if .Ed .Pp .Fn buildmatch は、必要に応じて、一致リストの割り振りと再割り振りを 処理します。現時点で既知の一致タイプには次のものが含まれます。 .Pp .Bl -tag -width indent -compact .It デバイスタイプ: .Bl -tag -width 123456789 -compact .It da ダイレクトアクセスデバイス .It sa シーケンシャルアクセスデバイス .It printer プリンタ .It proc プロセッサデバイス .It worm 書き込み 1 回読み取り複数デバイス (Write Once Read Multiple devices) .It cd CD デバイス .It scanner スキャナデバイス .It optical 光学メモリデバイス .It changer 媒体変更 (Medium Changer) デバイス .It comm 通信デバイス .It array ストレージ配列デバイス .It enclosure 囲みサービスデバイス (Enclosure Services devices) .It floppy フロッピーデバイス .El .Pp .It インタフェース: .Bl -tag -width 123456789 -compact .It IDE 統合ドライブ電子工学デバイス (Integrated Drive Electronics devices) .It SCSI 小型コンピュータシステムインタフェースデバイス .It other 他のデバイスインタフェース .El .Pp .It パススルー: .Bl -tag -width 123456789 -compact .It pass パススルーデバイス .El .El .Pp .Fn compute_stats は、さまざまなデバイス統計を得るための簡単な方法です。 .Va current と .Va etime の 2 つの引数が必須です。他の各引数はオプションです。 ほとんどのアプリケーションの場合、ユーザは .Va current と .Va previous の .Nm devstat 構造の両方を指定したいと思うものです。指定期間に渡って統計が 計算できるようにするためにです。インスタンスによっては、システム起動からの 統計を計算するために、ユーザは .Va previous の引数について NULL ポインタを渡すことがあります。その場合、 .Fn compute_stats は、 .Va current の構造内の合計状態を使用して、 .Va etime 時間に渡る統計を計算します。 .Fn compute_stats が計算する可能性のある各種統計は、関数宣言自体で主に説明する 必要がありますが、完全性を期するために、変数名のリストとそれに入れられる 統計を示します。 .Bl -tag -width transfers_per_second .It total_bytes .Va previous の取得と .Va current の取得の間で、読み取りと書き込みの 両方が、指定デバイスで転送されるバイトの合計数です。 .Va previous が NULL の場合、結果は .Va current で与えられる合計の読み取りと書き込みです。 .It total_transfers .Va previous の取得と .Va current の取得の間で完了される転送の合計数です。以前が NULL の場合、結果は .Va current 内にリストされるトランザクションの合計数です。 .It total_blocks 基本的に .Va total_bytes をデバイスブロックサイズで除算したものです。ブロックサイズが .Sq 0 としてリストされている場合、デバイスブロックサイズは、 デフォルトで 512 バイトになります。 .It kb_per_transfer 測定期間の間の転送ごとの平均 KB 数です。 .It transfers_per_second 秒ごとの転送の平均数です。 .It mb_per_second 秒ごとの平均 MB です。 .It locks_per_second 秒ごとの平均ブロックです。デバイスブロックサイズが .Sq 0 の場合、デフォルトのブロックサイズ 512 バイトが代わりに使用されます。 .It ms_per_transaction トランザクションごとの平均ミリ秒数です。 .El .Pp .Fn compute_etime は、2 つの .Va timeval 構造の間の秒単位の違いを検出する簡単な方法です。これは、 .Fn getdevs 関数 ( .Va statinfo 構造体内 ) が、現在の .Nm devstat リストを取り出すたびに、 .Fn getdevs 関数が記録した時刻とともに最も一般的に使用されます。 .Sh 戻り値 .Fn getnumdevs , .Fn getgeneration 、および .Fn getversion は、指示された \fBsysctl\fR 変数を返します。 変数を取り出すときにエラーがあった場合は -1 を返します。 .Pp .Fn checkversion は、カーネルと userland devstat バージョンが一致する場合、 0 を返します。一致しない場合、 -1 を返します。 .Pp .Fn getdevs と .Fn selectdevs は、エラーの場合は -1 を返し、エラーがない場合は 0 を返し、 デバイスリストまたは選択したデバイスが変化している場合は 1 を返します。 .Fn getdevs からの戻り値が 1 であるのは、 .Fn selectdevs の再実行の ヒントです。デバイスリストが変化しているからです。 .Pp .Fn buildmatch はエラーの場合は -1 、エラーがない場合は 0 を返します。 .Pp .Fn compute_stats はエラーの場合は -1 、成功の場合は 0 を返します。 .Pp .Fn compute_etime 計算済みの経過時間を返します。 .Pp .Nm devstat ライブラリ関数の 1 つからエラーが返された場合、一般に、エラーの 理由がグローバルストリング .Va devstat_errbuf に印刷されます。 .Va devstat_errbuf の長さは .Dv DEVSTAT_ERRBUF_SIZE キャラクタです。 .Sh 関連項目 .Xr systat 1 , .Xr iostat 8 , .Xr rpc.rstatd 8 , .Xr vmstat 8 , .Xr devstat 9 .Sh 歴史 .Nm devstat 統計システムは最初に .Fx 3.0 に現れました。 .Sh 作者 Kenneth Merry .Aq ken@FreeBSD.ORG .Sh バグ .Fn getdevs , .Fn selectdevs 、および .Fn buildmatch によって割り振られたメモリを 割り振り解除するためのインタフェースがおそらくあるはずです。 .Pp .Fn selectdevs は、デバイスが以前に選択されていない場合、 .Dq top モードでは、 .Va maxshowdevs デバイスより多くを選択することはおそらくできません。 .Pp このライブラリのほとんどのクライアントについて行われる統計バッファスワップ を実行するための関数がおそらくあるはずです。 .Pp .Va statinfo 構造と .Nm devinfo 構造は、クリーンアップし、もう少し考える必要があります。 diff --git a/ja_JP.eucJP/man/man3/dialog.3 b/ja_JP.eucJP/man/man3/dialog.3 index c38334dc0f..aa479e143d 100644 --- a/ja_JP.eucJP/man/man3/dialog.3 +++ b/ja_JP.eucJP/man/man3/dialog.3 @@ -1,491 +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.8 1998/10/02 11:23:47 jkh Exp % +.\" $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 .Ft "void" .Fn draw_shadow "WINDOW *win" "int y" "int x" "int height" "int width" \fBx, y, width\fR、および \fBheight\fR の寸法を使用して、 curses ウィンドウ \fBwin\fR に陰を描画します。 処理成功すると 0 を返し、処理失敗すると -1 を返します。 .Ft "void" .Fn draw_box "WINDOW *win" "int y" "int x" "int height" "int width" "chtype box" "chtype border" \fBx, y, width\fR、および \fBheight\fR の寸法を使用して、 ボーダーのあるボックスを描画します。 \fBbox\fR と \fBborder\fR の属性が指定されている場合、ボックスと オブジェクトのボーダー領域をペイントする間、それらが使用されます。 .Ft "int" .Fo line_edit .Fa "WINDOW *dialog" .Fa "int box_y" .Fa "int box_x" .Fa "int flen" .Fa "int box_width" .Fa "chtype attrs" .Fa "int first" .Fa "unsigned char *result" .Fa "int attr_mask" .Fc 寸法が \fBbox_x, box_y\fR および \fBbox_width\fR の編集ボックスで 簡単なラインエディタを起動します。フィールドの長さは \fBflen\fR によって 制約され、指定された \fBfirst\fR キャラクタで開始します。 この \fBfirst\fR キャラクタはオプションで、 キャラクタ属性 \fBattrs\fR で表示されます。 編集中のストリングは \fBresult\fR に保存されます。 処理が成功した場合は 0 、処理が失敗した場合は -1 を返します。 .Ft "int" .Fn strheight "const char *p" 改行をカウントしながら、\fBp\fR 内のストリングの高さを返します。 .Ft "int" .Fn strwidth "const char *p" 改行をカウントしながら、\fBp\fR 内のストリングの幅を返します。 .Ft "void" .Fn dialog_create_rc "unsigned char *filename" デフォルトとして後で取り出すためにダイアログライブラリ設定 を \fBfilename\fR 内にダンプします。 処理が成功した場合は 0 、処理が失敗した場合は -1 を返します。 .Ft "int" .Fn dialog_yesno "unsigned char *title" "unsigned char *prompt" "int height" "int width" 寸法が \fBheight\fR と \fBwidth\fR の \fBtitle\fR ストリングと \fBprompt\fR ストリングを使用してテキストボックスを表示します。 また、下端に \fBYes\fR ボタンと \fBNo\fR ボタンのペアも表示します。 \fBYes\fR ボタンを選択すると、FALSE を返します。 \fBNo\fR ボタンを選択すると TRUE を返します。 .Ft "int" .Fn dialog_prgbox "unsigned char *title" "const unsigned char *line" "int height" "int width" "int pause" "int use_shell" コマンド \fBline\fR の出力が入っている、寸法が \fBheight\fR と \fBwidth\fR のテキストボックスを表示します。 \fBuse_shell\fR が TRUE の場合、\fBline\fR は \fBsh(1)\fR への引数として 渡されます。そうでない場合は、単に \fBexec(3)\fR に渡されます。 \fBpause\fR が TRUE の場合、実行が終了したときに、 最終的な確認リクエスタが供給されます。 処理が成功した場合は 0 、処理が失敗した場合は -1 を返します。 .Ft "int" .Fn dialog_textbox "unsigned char *title" "unsigned char *prompt" "int height" "int width" 寸法が \fBheight\fR と \fBwidth\fR の、ストリング \fBprompt\fR の内容が 含まれているテキストボックスを表示します。 処理が成功した場合は 0 、処理が失敗した場合は -1 を返します。 .Ft "int" .Fn dialog_menu "unsigned char *title" "unsigned char *prompt" "int height" "int width" "int menu_height" "int item_no" "void *itptr" "unsigned char *result, int *ch, int *sc" 寸法が \fBheight\fR と \fBwidth\fR のメニューを表示します。 このメニューには、\fBmenu_height\fR というオプションの内部メニューの高さが あります。\fBitem_no\fR 引数と \fBitptr\fR 引数には特別な重要性があります。 これらは一緒になって、利用可能な 2 つの API のうちどちらを使用するかを 決定するからです。古い従来のインタフェースを使用するには、 \fBitem_no\fR が \fBitptr\fR (タイプは \fBchar **\fR である必要があります) 内に見つかるストリングポインタペアの数を表す正の整数である 必要があります。ストリングは各項目についてプロンプト内にあり タイトル順であることが予測されます。 \fBresult\fR パラメータは、選択された項目の プロンプトストリングがコピーされる配列を指すと予測されます。もっと新しい インタフェースを使用するには、\fBitem_no\fR が、 \fBitptr\fR (タイプは \fBdialogMenuItem *\fR である必要があります) の指す \fBdialogMenuItem\fR 構造の数を表す負の整数である必要があります。 項目ごとに 1 つの構造です。新しいインタフェースでは、\fBresult\fR 変数は、 単純なブール演算子 (ポインタではありません) として使用され、 \fBitptr\fR がメニュー構造を指すだけで、デフォルトの \fBOK\fR ボタンと \fBCancel\fR ボタンが望ましい場合は、NULL にする必要があります。 \fBresult\fR が NULL でない場合、\fBitptr\fR は実際に、 メニュー項目リストの始点を過ぎた 2 位置を指すと予測されます。 この場合、\fBitptr\fR[-1] は \fBCancel\fR ボタンを表す項目を指すと 予測されます。ここから、 \fBprompt\fR 処置と \fBfire\fR 処置が デフォルトの動作を上書きするために使用されます。 \fBitp-tr[-2]\fR は \fBOK\fR ボタンについて同じことをします。 どちらかの API 動作を使用すると、\fBch\fR 値と \fBsc\fR 値が渡され、 現在の項目選択が維持され、呼び出しの間で位置の値がスクロールされます。 処理が成功した場合は 0 、処理が失敗した場合または ESC の場合は -1 を返します。 .Ft "int" .Fn dialog_checklist "unsigned char *title" "unsigned char *prompt" "int height" "int width" "int m_height" "int item_no" "void *itptr" "unsigned char *result" 寸法が \fBheight\fR と \fBwidth\fR のメニューを表示します。このメニューには、 \fBmenu_height\fR というオプションの内部メニューの高さがあります。 \fBitem_no\fR 引数と \fBitptr\fR 引数には特別な重要性があります。 これらは一緒になって、利用可能な 2 つの API のうちどちらを使用するか を決定するからです。古い従来のインタフェースを使用するには、 \fBitem_no\fR が \fBitptr\fR (タイプは \fBchar **\fR である必要が あります) 内に見つかるストリングポインタ要素の集合の数を表す正の 整数である必要があります。ストリングは各項目についてプロンプト内にあり タイトルと状態 (「オン」または「オフ」) 順であることが予測されます。 \fBresult\fR パラメータは、選択された項目のプロンプトストリングが コピーされる配列を指すと予測されます。 もっと新しいインタフェースを使用するには、\fBitem_no\fR が、 \fBitptr\fR (タイプは \fBdialogMenuItem *\fR である必要があります) の指す \fBdialogMenuItem\fR 構造の数を表す負の整数である必要があります。項目ごとに 1 つの構造です。新しいインタフェースでは、\fBresult\fR 変数は、 単純なブール演算子 (ポインタではありません) として使用され、 \fBitptr\fR がメニュー構造を指すだけで、デフォルトの \fBOK\fR ボタンと \fBCancel\fR ボタンが望ましい場合は、NULL にする必要があります。 \fBresult\fR が NULL でない場合、\fBitptr\fR は実際に、メニュー項目 リストの始点を過ぎた 2 位置を指すと予測されます。この場合、 \fBitptr[-1]\fR は \fBCancel\fR ボタンを表す項目を指すと予測されます。 ここから、\fBprompt\fR 処置と \fBfire\fR 処置が デフォルトの動作を上書きするために使用されます。 \fBitptr[-2]\fR は \fBOK\fR ボタンについて同じことをします。 標準 API モデルでは、メニューは複数項目の選択をサポートしています。 各項目が選択を表すために 'X' キャラクタでマークされます。 OK ボタンを選択すると、選択されたすべての項目についてのプロンプト値が 連結されて \fBresult\fR ストリングに入れられます。 新しい API モデルでは、「チェックリスト」意味論を保持する必要は 実際にはありません。各項目がどのように表示されるか、 「選択された」としてどのようにマークされるかについての 実際的にほとんどのことは完全に構成可能だからです。 「ラジオ」動作、「チェックリスト」動作、および標準メニュー項目動作の 項目のグループを実際に組み入れていた 1 つのチェックリストメニューを 得ることができるでしょう。 新しい API モデルで \fBdialog_radiolist\fR よりも \fBdialog_checklist\fR を呼び出す唯一の理由は、 ベース動作を継承することです。もはやそれによって制約されなくなります。 処理が成功した場合は 0、処理が失敗した場合または ESC の場合は -1 を返します。 .Ft "int" .Fn dialog_radiolist "unsigned char *title" "unsigned char *prompt" "int height" "int width" "int m_height" "int item_no" "void *it" "unsigned char *result" 寸法が \fBheight\fR と \fRwidth\fR のメニューを表示します。このメニューには、 \fBmenu_height\fR というオプションの内部メニューの高さがあります。 \fBitem_no\fR 引数と \fBitptr\fR 引数には特別な重要性があります。 これらは一緒になって、利用可能な 2 つの API のうちどちらを使用するかを 決定するからです。古い従来のインタフェースを使用するには、 \fBitem_no\fR が \fBitptr\fR (タイプは \fBchar **\fR である 必要があります) 内に見つかるストリングポインタ要素の集合の数を表す正の 整数である必要があります。ストリングは各項目についてプロンプト内にあり タイトルと状態 (「オン」または「オフ」) 順であることが予測されます。 \fBresult\fR パラメータは、選択された項目のプロンプトストリングが コピーされる配列を指すと予測されます。 もっと新しいインタフェースを使用するには、\fBitem_no\fR が、 \fBitptr\fR (タイプは \fBdialogMenuItem *\fR である必要があります) の指す \fBdialogMenuItem\fR 構造の数を表す負の整数である必要があります。項目ごとに 1 つの構造です。新しいインタフェースでは、\fBresult\fR 変数は、 単純なブール演算子 (ポインタではありません) として使用され、 \fBitptr\fR がメニュー構造を指すだけで、デフォルトの \fBOK\fR ボタンと \fBCancel\fR ボタンが望ましい場合は、NULL にする必要があります。 \fBresult\fR が NULL でない場合、\fBitptr\fR は実際に、メニュー項目 リストの始点を過ぎた 2 位置を指すと予測されます。この場合、 \fBitptr[-1]\fR は \fBCancel\fR ボタンを表す項目を指すと予測されます。 ここから、 \fBprompt\fR 処置と \fBfire\fR 処置がデフォルトの動作を 上書きするために使用されます。\fBitptr[-2]\fR は \fBOK\fR ボタンについて 同じことをします。 標準 API モデルでは、メニューは複数の項目の 1 つだけの選択をサポートします。 現在アクティブな項目は `*' でマークされます。 新しい API モデルでは、「ラジオボタン」意味論を保持する必要は 実際にはありません。各項目がどのように表示されるか、 「選択された」としてどのようにマークされるかについての 実際的にすべてのことが完全に構成可能だからです。「チェックリスト」動作、 「ラジオ」動作および標準メニュー項目動作の項目のグループを実際に組み入れた 1 つのチェックリストメニューを得ることができます。 新しい API モデルで \fBdialog_checklist\fR よりも \fBdialog_radiolist\fR を呼び出す唯一の理由は、ベース動作を継承することです。 処理が成功した場合は 0 を返し、Cancel の場合は 1 を返し、 処理が失敗するかまたは ESC の場合は -1 を返します。 .Ft "int" .Fn dialog_inputbox "unsigned char *title" "unsigned char *prompt" "int height" "int width" "unsigned char *result" 寸法が \fBheight\fR と \fBwidth\fR の \fBtitle\fR と \fBprompt\fR を表示するボックス内に 1 行のテキスト入力フィールドを表示します。 入力されたフィールドは \fBresult\fR に保存されます。 処理が成功した場合は 0 を返し、 処理が失敗するかまたは ESC の場合は -1 を返します。 .Ft "char *" .Fn dialog_fselect "char *dir" "char *fmask" \fBdir\fR で開始し、\fBfmask\fR に一致するファイル名だけを表示する ファイルセレクタダイアログを呼び出します。 選択されたファイル名または NULL を返します。 .Ft "int" .Fn dialog_dselect "char *dir" "char *fmask" \fBdir\fR で開始し、\fBfmask\fR に一致するディレクトリ名だけを表示する ファイルセレクタダイアログを呼び出します。選択されたファイル名 または NULL を返します。 .Ft "void" .Fn dialog_notify "char *msg" \fBmsg\fR が入った一般的な "hey, you!" 通知ダイアログを呼び出します。 .Ft "int" .Fn dialog_mesgbox "unsigned char *title" "unsigned char *prompt" "int height" "int width" 通知ダイアログに類似していますが、 \fBtitle\fR, \fBprompt\fR, \fBwidth\fR および \fBheight\fR を さらに制御できます。このオブジェクトは、\fBdialog_notify\fR と違って、 ユーザ確認も待機します。 処理が成功した場合は 0 を返し、処理が失敗した場合は -1 を返します。 .Ft "void" .Fn dialog_gauge "char *title" "char *prompt" "int y" "int x" "int height" "int width" "int perc" 水平の棒グラフスタイルのゲージを表示します。\fBperc\fR についての \fB100\fR という値はフルゲージを構成し、 \fB0\fR という値は空のゲージを構成します。 .Ft "void" .Fn use_helpfile "char *helpfile" コンテキストに応じたヘルプをサポートしているどのメニューについても、 \fBF1\fR キー が押されるたびにこのファイル上のテキストボックスオブジェクトが 起動されます。 .Ft "void" .Fn use_helpfile "char *helpfile" 表示されているメニューの下に便利なこの行を表示します。 .Ft "char *" .Fn get_helpline "void" 便利なテキスト行の現在の値を取得します。 .Ft "void" .Fn dialog_clear_norefresh "void" 画面をクリアしてダイアログ背景色にしますが、内容はリフレッシュしません。 .Ft "void" .Fn dialog_clear "void" ただちに画面をクリアしてダイアログの背景色に戻します。 .Ft "void" .Fn dialog_update "void" 延期中の画面リフレッシュを今、行います。 .Ft "void" .Fn init_dialog "void" ダイアログライブラリをシャットダウンします (正気に戻る必要がある場合は これを呼び出してください) 。 .Ft "int" .Fn dialog_ftree "unsigned char *filename" "unsigned char FS" \ "unsigned char *title" "unsigned char *prompt" "int height" "int width" \ "int menu_height" "unsigned char **result" \fBdialog_ftree\fR は、ファイル \fBfilename\fR からのデータで 記述されたツリーを表示します。ファイル内のデータは \fBfind(1)\fR 出力のように見えるはずです。 \fBfind(1)\fR 出力の場合、フィールド分離子 \fBFS\fR は \fB\'/\'\fR になります。 \fBheight\fR と \fBwidth\fR が正の数である場合、これらは \fBdialog_ftree\fR ボックス全体の絶対サイズを設定します。 \fBheight\fR と \fBwidth\fR が負の数である場合、 \fBdialog_ftree\fR ボックスのサイズは自動的に計算されます。 \fBmenu_height\fR は \fBdialog_ftree\fR ボックス内の ツリーサブウィンドウの高さを設定し、また設定する必要があります。 \fBtitle\fR は、\fBdialog_ftree\fR ボックスの上端ボーダー上に 中央揃えで表示されます。 ツリーサブウィンドウの上方にある \fBdialog_ftree\fR 内部に \fBprompt\fR が表示され、行を分割するために \fB\'\\n\'\fR を 入れることができます。ツリーをナビゲートするには、\fBUP/DOWN\fR または \fB\'+\'/\'-\'\fR, \fBPG_UP/PG_DOWN\fR または \fB\'b\'/SPACE\fR および \fBHOME/END\fR または \fB\'g\'/\'G\'\fR を押します。ツリーのリーフを選択するには、 \fBTAB\fR または \fBLEFT/RIGHT\fR を押し、\fBOK\fR ボタン次いで \fBENTER\fR を押します。ファイル名には \fBfind(1)\fR 出力のような データを組み入れることができます。 \fB-d\fR オプションを指定した \fBfind(1)\fR の出力とも同じようにです。 ツリーのリーフに移行するパスは存在しなくてかまいません。 このようなデータはファイル名からフィードされたときに訂正されます。 \fBOK\fR ボタンを選択すると、関数は 0 と選択したリーフ (ツリーの ルートからリーフへのパス) を指すポインタを結果に入れて返します。 ツリーの作成用に割り振られたメモリは、既存の \fBdialog_ftree\fR を 終了するときに解放されます。 結果の行用のメモリは必要であれば後で手動で解放します。 \fBCancel\fR ボタンを選択すると、関数は 1 を返します。 \fBESC\fR で \fBdialog_ftree\fR を終了する場合、関数は -1 を返します。 .Ft "int" .Fo dialog_tree .Fa "unsigned char **names" .Fa "int size" .Fa "unsigned char FS" .Fa "unsigned char *title" .Fa "unsigned char *prompt" .Fa "int height" .Fa "int width" .Fa "int menu_height" .Fa "unsigned char **result" .Fc \fBdialog_tree\fR は、\fBdialog_ftree\fR と非常に類似したツリーを表示しますが、 例外がいくつかあります。ツリーを作成するためのソースデータは、 サイズが \fBsize\fR のリーフへのパスの配列 \fBnames\fR です (\fBfind(1)\fR 出力に類似しています) 。 しかし、\fBdialog_ftree\fR でのようにデータの訂正はありません。 このように、正しいツリーを表示するためには、配列には正しいデータが 既に入っている必要があります。 なお、セッションごとに \fBdialog_tree\fR の独自の各使用法がメモリに保持され、 後で、同じ \fBnames\fR, \fBsize\fR, \fBFS\fR, \fBheight\fR, \fBwidth\fR および \fBmenu_height\fR で \fBdialog_tree\fR を呼び出すときに、 ツリーサブウィンドウ内のカーソルの位置が復元されます。 関数は \fBdialog_ftree\fR と同じ結果を返します。 0 が返された場合、結果には配列 \fBnames\fR からのポインタが入れられます。 .Sh 関連項目 .Xr dialog 1 , .Xr ncurses 3 .Sh 作者 主要な作者は .An Savio Lam Aq lam836@cs.cuhk.hk と考えられます。長年に渡る貢献が .An Stuart Herbert Aq S.Herbert@sheffield.ac.uk , .An Marc van Kempen Aq wmbfmk@urc.tue.nl , .An Andrey Chernov Aq ache@freebsd.org , .An Jordan Hubbard Aq jkh@freebsd.org および .An Anatoly A. Orehovsky Aq tolik@mpeks.tomsk.su によって行われました。 .Sh 歴史 これらの関数は .Em FreeBSD-2.0 では .Xr dialog 1 コマンドとして現れましたが、 すぐに Andrey Chernov によってライブラリとコマンドに分割されました。 Marc van Kempen がその他のコントロールとオブジェクトのほとんどを作成しました。 Jordan Hubbard が dialogMenuItem 革新とこのマニュアルページを追加しました。 Anatoly A. Orehovsky が dialog_ftree() と dialog_tree() を作成しました。 .Sh バグ 確実! diff --git a/ja_JP.eucJP/man/man3/div.3 b/ja_JP.eucJP/man/man3/div.3 index 167450d080..baf6b39dd7 100644 --- a/ja_JP.eucJP/man/man3/div.3 +++ b/ja_JP.eucJP/man/man3/div.3 @@ -1,72 +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.2 2001/03/06 16:46:02 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/dladdr.3 b/ja_JP.eucJP/man/man3/dladdr.3 index 5b0ace716b..56ac0cba20 100644 --- a/ja_JP.eucJP/man/man3/dladdr.3 +++ b/ja_JP.eucJP/man/man3/dladdr.3 @@ -1,123 +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.2 2001/08/17 15:42:32 ru Exp % +.\" %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 書式 -.Fd #include +.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 オペレーティングシステムで最初に登場しました。 +関数は Solaris オペレーティングシステムではじめて登場しました。 .Sh バグ この関数は、Solaris での実装とバグに互換性があります。特に、 次のバグが存在します。 .Bl -bullet .It .Fa addr が共有ライブラリではなくメインの実行可能モジュールにある場合、 .Va dli_fname で返されるパス名は正しいものにならない可能性があります。 パス名は呼び出しプロセスの .Va argv[0] から直接取り出されます。フルパス名で指定されたプログラム を実行するとき、ほとんどのシェルは .Va argv[0] をパス名に設定します。しかし、 これはシェルの必要条件ではありませんし、オペレーティングシステムによって 保証されてもいません。 .It .Fa addr が形式 .Va &func ( .Va func はグローバル関数) である場合、その値が 好ましくない驚くものになってしまう 可能性があります。動的リンクされたプログラムでは、 グローバル関数のアドレスは関数そのもののエントリポイントではなく、 プログラムリンクテーブルのエントリを指すと考えられます。 このため、大部分のグローバル関数が、実際のコードが入っている 共有ライブラリではなく、メインの実行可能モジュール内部で 定義されているように見えます。 .It 処理の失敗を示すものとして 0 を返すのは、長く続いている Unix の伝統に反することです。 .El diff --git a/ja_JP.eucJP/man/man3/dlopen.3 b/ja_JP.eucJP/man/man3/dlopen.3 index d1c8bd21b5..3946bc95b0 100644 --- a/ja_JP.eucJP/man/man3/dlopen.3 +++ b/ja_JP.eucJP/man/man3/dlopen.3 @@ -1,302 +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.6 2001/08/17 15:42:32 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/editline.3 b/ja_JP.eucJP/man/man3/editline.3 index bc647f12c0..1818a31615 100644 --- a/ja_JP.eucJP/man/man3/editline.3 +++ b/ja_JP.eucJP/man/man3/editline.3 @@ -1,562 +1,575 @@ -.\" %NetBSD: editline.3,v 1.4 1997/01/14 04:17:23 lukem Exp % +.\" $NetBSD: editline.3,v 1.4 1997/01/14 04:17:23 lukem Exp $ .\" .\" Copyright (c) 1997 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This file was contributed to The NetBSD Foundation by Luke Mewburn. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE .\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" +.\" %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 BSD 4.4 +.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 .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 注: +.Em 注 : .Va argv[0] は .Fn el_parse によって修正されることがあります。 .Dq prog と コマンド .Ar command の間のコロンは、NUL -.Po -.Dq \e0 -.Pc +.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 $PWD/.editrc -を試してみてから .Pa $HOME/.editrc を試します。 .Fa file の形式の詳細については、 .Xr editrc 5 を 参照してください。 .It Fn el_resize 端末のサイズが変化する場合は呼び出す必要があります。 .Dv EL_SIGNAL が .Fn el_set で設定されている場合、これは自動的に行われます。そうでない場合は、適切な 機会に .Fn el_resize を呼び出すのはアプリケーションの責任です。 .It Fn el_line 現在のラインについての編集情報を .Fa LineInfo で返します。これは次のように 定義されます。 .Bd -literal typedef struct lineinfo { const char *buffer; /* バッファのアドレス */ const char *cursor; /* カーソルのアドレス */ const char *lastchar; /* 最後のキャラクタのアドレス */ } LineInfo; .Ed .It Fn el_insertstr カーソルがあるラインに .Fa str を挿入します。 .Fa str が空であるかフィットしない 場合は -1 を返します。それ以外の場合は 0 を返します。 .It Fn el_deletestr カーソルの前の .Fa num 個のキャラクタを削除します。 +.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 内では公に定義されていません。 diff --git a/ja_JP.eucJP/man/man3/end.3 b/ja_JP.eucJP/man/man3/end.3 index 5d97d4441d..058ad1de2e 100644 --- a/ja_JP.eucJP/man/man3/end.3 +++ b/ja_JP.eucJP/man/man3/end.3 @@ -1,82 +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 January 24, 1994 +.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/ja_JP.eucJP/man/man3/erf.3 b/ja_JP.eucJP/man/man3/erf.3 index 437aaabfb9..4a59010190 100644 --- a/ja_JP.eucJP/man/man3/erf.3 +++ b/ja_JP.eucJP/man/man3/erf.3 @@ -1,93 +1,93 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)erf.3 6.4 (Berkeley) 4/20/91 -.\" %Id: erf.3,v 1.4 1997/02/22 15:09:29 peter Exp % +.\" $Id: erf.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" .\" $FreeBSD$ .Dd April 20, 1991 .Dt ERF 3 .Os BSD 4.3 .Sh 名称 .Nm erf , .Nm erff , .Nm erfc , .Nm erfcf .Nd エラー関数演算子 .Sh 書式 .Fd #include .Ft double .Fn erf "double x" .Ft float .Fn erff "float x" .Ft double .Fn erfc "double x" .Ft float .Fn erfcf "float x" .Sh 解説 これらの関数は .Fa x のエラー関数を計算します。 .Pp .Fn erf 関数と .Fn erff 関数は x のエラー関数を計算します。ここで次のとおりです。 .Bd -filled -offset indent .if n \{\ erf(x) = 2/sqrt(pi)\(**\|integral from 0 to x of exp(\-t\(**t) dt \} .if t \{\ erf\|(x) := (2/\(sr\(*p)\|\(is\d\s8\z0\s10\u\u\s8x\s10\d\|exp(\-t\u\s82\s10\d)\|dt \} .Ed .Pp .Fn erfc 関数と .Fn erfcf 関数は .Fa x の補数のエラー関数を計算します。すなわち、 .Fn erfc は 1.0 から エラー関数 .Fn erf x の結果を減算します。これは便利です。 大きな .Fa x の場所がなくなるからです。 .Sh 関連項目 .Xr math 3 .Sh 歴史 .Fn erf と .Fn erfc 関数は .Bx 4.3 で現れました。 diff --git a/ja_JP.eucJP/man/man3/err.3 b/ja_JP.eucJP/man/man3/err.3 index 3d3974ec12..de6e56080b 100644 --- a/ja_JP.eucJP/man/man3/err.3 +++ b/ja_JP.eucJP/man/man3/err.3 @@ -1,197 +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 -.\" %Id: err.3,v 1.9 1998/09/12 21:02:22 wollman Exp % +.\" %FreeBSD: src/lib/libc/gen/err.3,v 1.11.2.6 2001/12/14 18:33:51 ru Exp % .\" .\" $FreeBSD$ -.Dd April 13, 1995 +.Dd March 6, 1999 .Dt ERR 3 -.Os BSD 4 +.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_file , -.Nm err_set_exit +.Nm err_set_exit , +.Nm err_set_file .Nd フォーマットされたエラーメッセージ +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include +.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" "..." -.Fd #include -.Ft void -.Fn err_set_file "FILE *fp" -.Ft void -.Fn err_set_exit "void (*exitf)(int)" -.Fd #include +.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 関数を使用して指定した別のファイル上にフォーマット済みの エラーメッセージを表示します。 すべての場合に、プログラム名の最後のコンポーネント、コロンキャラクタ、 およびスペースが出力されます。 -.Va fmt +.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 の各関数は、 -.Fn errc -ファミリの -.Va code -引数ではなく、グローバル変数 +グローバル変数 .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 */ 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_file -関数と .Fn err_set_exit +関数 +.Fn err_set_file 関数は最初に .Fx 2.1 で現れました。 .Fn errc 関数と .Fn warnc 関数は最初に .Fx 3.0 で現れました。 diff --git a/ja_JP.eucJP/man/man3/ethers.3 b/ja_JP.eucJP/man/man3/ethers.3 index dd142e5ffe..b92f917a7b 100644 --- a/ja_JP.eucJP/man/man3/ethers.3 +++ b/ja_JP.eucJP/man/man3/ethers.3 @@ -1,195 +1,195 @@ .\" Copyright (c) 1995 .\" Bill Paul . All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Bill Paul. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc/net/ethers.3,v 1.10.2.9 2001/08/17 15:42:38 ru Exp % +.\" %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 書式 -.Fd #include -.Fd #include -.Fd #include +.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/ja_JP.eucJP/man/man3/exec.3 b/ja_JP.eucJP/man/man3/exec.3 index 537053ee7e..528cfb6ec3 100644 --- a/ja_JP.eucJP/man/man3/exec.3 +++ b/ja_JP.eucJP/man/man3/exec.3 @@ -1,297 +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 -.\" %Id: exec.3,v 1.6 1997/10/14 07:23:14 bde Exp % +.\" %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 書式 -.Fd #include -.Vt extern char **environ; +.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 . +.Xr environ 7 .Sh 互換性 歴史的には .Fn execlp 関数と .Fn execvp 関数のデフォルトのパスは .Dq Pa :/bin:/usr/bin です。これが、システムセキュリティを向上させるために 現在のディレクトリを最後に配置するよう変更されました。 .Pp ファイルを実行しようとしている間にエラーが発生したときの .Fn execlp と .Fn execvp の動作は、あまり歴史的な慣行ではなく、従来から ドキュメント化されておらず、 .Tn POSIX 標準で指定されていません。 .Pp 従来、 .Fn execlp 関数と .Fn execvp 関数は、上記のもの、および .Er ETXTBSY , .Er ENOMEM と .Er E2BIG を除いてすべてのエラーを無視しました。 .Er ETXTBSY でこれらの関数は 数秒間、スリープした後で再試行し、 .Er ENOMEM と .Er E2BIG でこれらの関数は 返ります。 これらは現在 .Er ETXTBSY について戻り、存在と実行可能性をもっと注意深く判定します。 特に、パス接頭語内のアクセスできないディレクトリを表す .Er EACCES が、不適切な実行パーミッションのあるファイルについての .Er EACCES と混乱されないようになっています。 .Bx 4.4 で、これらの関数は、 .Er EACCES , .Er ENOENT , .Er ENOEXEC および .Er ETXTBSY 以外のすべてのエラーで戻りました。 これは従来のエラー処理より劣ったものでした。パス接頭語についてのエラーの 無視を破り、異常に曖昧なエラー .Er EFAULT と異常なエラー .Er EIO の処理を改良するだけだからです。 動作は .Xr sh 1 の動作と一致するように変更されました。 .Pp .Sh 規格 .Fn execl , .Fn execv , .Fn execle , .Fn execlp および .Fn execvp は .St -p1003.1-88 に準拠しています。 diff --git a/ja_JP.eucJP/man/man3/exit.3 b/ja_JP.eucJP/man/man3/exit.3 index 7030c38811..cf6e421018 100644 --- a/ja_JP.eucJP/man/man3/exit.3 +++ b/ja_JP.eucJP/man/man3/exit.3 @@ -1,94 +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.3 2001/07/22 12:06:47 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/exp.3 b/ja_JP.eucJP/man/man3/exp.3 index 0bed93d4ec..cbc2420d1b 100644 --- a/ja_JP.eucJP/man/man3/exp.3 +++ b/ja_JP.eucJP/man/man3/exp.3 @@ -1,315 +1,315 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)exp.3 6.12 (Berkeley) 7/31/91 -.\" %Id: exp.3,v 1.6 1997/02/22 15:09:30 peter Exp % +.\" $Id: exp.3,v 1.5 2002-05-18 07:12:54 horikawa Exp $ .\" .\" $FreeBSD$ .\" .Dd July 31, 1991 .Dt EXP 3 .Os BSD 4 .Sh 名称 .Nm exp , .Nm expf , .Nm exp2 , .Nm exp2f , .Nm exp10 , .Nm exp10f , .Nm expm1 , .Nm expm1f , .Nm log , .Nm logf , .Nm log10 , .Nm log10f , .Nm log1p , .Nm log1pf , .Nm pow , .Nm powf .Nd 指数関数、対数関数、累乗関数 .Sh 書式 .Fd #include .Ft double .Fn exp "double x" .Ft float .Fn expf "float x" .Ft double .Fn expm1 "double x" .Ft float .Fn expm1f "float x" .Ft double .Fn log "double x" .Ft float .Fn logf "float x" .Ft double .Fn log10 "double x" .Ft float .Fn log10f "float x" .Ft double .Fn log1p "double x" .Ft float .Fn log1pf "float x" .Ft double .Fn pow "double x" "double y" .Ft float .Fn powf "float x" "float y" .Sh 解説 .Fn exp 関数と .Fn expf 関数は、指定の引数 .Fa x の指数値を計算します。 .Pp .Fn expm1 関数と .Fn expm1f 関数は、小さい引数 .Fa x についてさえ正確に、exp(x)\-1 の値を計算します。 .Pp .Fn log 関数と .Fn logf 関数は引数 .Fa x の自然対数の値を計算します。 .Pp .Fn log10 関数と .Fn log10f 関数は、基底 10 について引数 .Fa x の対数を計算します。 .Pp .Fn log1p 関数と .Fn log1pf 関数は、小さい引数 .Fa x についてさえ log(1+x) の値を正確に計算します。 .Pp .Fn pow 関数と .Fn powf 関数は、指数 .Ar y に対して .Ar x の値を計算します。 .Sh エラー (丸めなどのためによる) .Fn exp x , .Fn log x , .Fn expm1 x および .Fn log1p x は、1 .Em ulp 内部で正確です。 .Fn log10 x は 2 .Em ulps 内部で正確です。1 .Em ulp は .Em Last .Em Place 内の 1 .Em 単位 です。 .Fn pow x y のエラーは、大きさが中程度のときは約 2 .Em ulps 未満です。 .Fn pow x y がオーバーフロー/アンダーフローしきい値に近づくと増大します。最後には、 ほとんどすべてのビットが浮動小数点指数フィールドによって占められれて 失われます。これは .Tn "VAX D" では 8 ビットであり、IEEE 754 Double では 11 ビットです。 このように大きな欠落は試験によって明らかにされていません。 観察された最悪のエラーは、 .Tn "VAX D" については 20 .Em ulps 未満。 .Tn IEEE 754 Double については 300 .Em ulps です。 .Fn pow 中程度の値が、 .Fn pow integer integer が正確になるために十分です。最後は、 .Tn VAX については 2**56 より大きくなり、 .Tn IEEE 754 については 2**53 より大きくなります。 .Sh 戻り値 これらの関数は、エラーが発生するか引数が範囲外の場合を除き、 適切な計算を返します。関数 .Fn exp , .Fn expm1 , .Fn pow は、計算された値がオーバーフローするかどうか検出し、 グローバル変数 .Va errno を .Er ERANGE に設定し、 .Tn VAX または .Tn Tahoe で予約済みのオペランド障害を発生させます。関数 .Fn pow x y は、 .Fa x < 0 かどうかをチェックし、 .Fa y が整数でない場合、これが真の場合でも、グローバル変数 .Va errno を .Er EDOM に設定し、 .Tn VAX と .Tn Tahoe で、予約済みのオペランド障害を生成します。 .Tn VAX と .Tn Tahoe では、 .Va errno が .Er EDOM に設定され、 .Fa x > 0 の場合を除いて、予約済みオペランドが対数によって返され、 .Fa x > \-1 の場合を除いて .Fn log1p によって返されます。 .Sh 注 関数 exp(x)\-1 と log(1+x) は、Hewlett Packard .Tn HP Ns \-71B および .Tn APPLE の Macintosh の .Tn BASIC では expm1 と logp1 と呼ばれ、Pascal では .Tn EXP1 と .Tn LN1 と呼ばれ、 .Tn APPLE Macintosh の C では exp1 と log1 と呼ばれます。 この場合、これらは ((1+x)**n\-1)/x すなわち expm1(n\(**log1p(x))/x の財政的計算が x が小さい場合に正確になることを確認するために備えられています。 これらは正確な逆双曲線関数も提供します。 .Pp 関数 .Fn pow x 0 は、すべての x について x**0 = 1 を返します。 x には、x = 0、 .if n \ infinity .if t \ \(if .Tn ( VAX にはありません)、 .Em NaN .Tn ( VAX の予約済みオペランド) が含まれます。 pow のこれまでの実現は、これらのすべての場合またはいくつかの場合に、 x**0 を未定義としてきたことがあります。 これが必ず x**0 = 1 を返す理由です。 .Bl -enum -width indent .It x**0 を計算する前に x がゼロ (または無限または \*(Na) であるかを試験するプログラムは 0**0 = 1 であるかどうかを配慮できません。 0**0 が無効であることに左右されるプログラムは、 式の意味と、無効な場合、 式の結果がコンピュータシステムごとに変化するため疑わしいものです。 .It 算術テキスト (たとえば、Sigler のもの) には、 x = 0 を含めてすべての x について x**0 = 1 を定義するものがあります。 これは、a[0] を、a[0]\(**0**0 を無効として拒絶するのではなく、多項式 .Bd -literal -offset -indent p(x) = a[0]\(**x**0 + a[1]\(**x**1 + a[2]\(**x**2 +...+ a[n]\(**x**n .Ed .Pp の値を a[0] として受け入れる慣行と互換性があります。 .It アナリストは、x と y が独立に 0 に近づくときに、 x**y が特定の値に近づくかまたは何にも近づかないかに関わらず、 0**0 = 1 を受け入れます。 0**0 = 1 を受け入れる理由は次のとおりです。 .Bd -filled -offset indent x(z) と y(z) が z = 0 付近の 0 で分析的な関数であり (拡張可能な累乗シリーズ)、 しかも x(0) = y(0) = 0 の場合、z \(-> 0 のとき x(z)**y(z) \(-> 1 です。 .Ed .It 0**0 = 1 の場合、 .if n \ infinity**0 = 1/0**0 = 1 .if t \ \(if**0 = 1/0**0 = 1 です。次いで、\*(Na**0 = 1 でもあります。 すべての有限および無限な x について、 すなわち x に独立に x**0 = 1 だからです。 .El .Sh 関連項目 .Xr math 3 .Sh 歴史 .Fn exp , .Fn log および .Fn pow 関数は .At v6 で現れました。 .Fn log10 関数は .At v7 で現れました。 .Fn log1p 関数と .Fn expm1 関数は .Bx 4.3 で現れました。 diff --git a/ja_JP.eucJP/man/man3/fabs.3 b/ja_JP.eucJP/man/man3/fabs.3 index e1ed29b59e..bee05971e3 100644 --- a/ja_JP.eucJP/man/man3/fabs.3 +++ b/ja_JP.eucJP/man/man3/fabs.3 @@ -1,77 +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.1 2001/03/06 16:46:24 ru Exp % +.\" %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 浮動小数絶対値関数 +.Nd 浮動小数点絶対値関数 +.Sh ライブラリ +.Lb libm .Sh 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/fclose.3 b/ja_JP.eucJP/man/man3/fclose.3 index 7871cfe0c9..41c055b183 100644 --- a/ja_JP.eucJP/man/man3/fclose.3 +++ b/ja_JP.eucJP/man/man3/fclose.3 @@ -1,100 +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.3 2001/03/06 16:46:00 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/ferror.3 b/ja_JP.eucJP/man/man3/ferror.3 index 2863bdf9cd..07a18c9bf2 100644 --- a/ja_JP.eucJP/man/man3/ferror.3 +++ b/ja_JP.eucJP/man/man3/ferror.3 @@ -1,108 +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.2 2001/03/06 16:46:01 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/fetch.3 b/ja_JP.eucJP/man/man3/fetch.3 index 9c0f175de4..f887ac0599 100644 --- a/ja_JP.eucJP/man/man3/fetch.3 +++ b/ja_JP.eucJP/man/man3/fetch.3 @@ -1,413 +1,413 @@ .\" Copyright (c) 1998 Dag-Erling Coiean Smoograv .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %Id: fetch.3,v 1.7 1998/12/21 19:41:50 des Exp % +.\" $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 .Fd #include .Fd #include .Ft FILE * .Fn fetchGetURL "char *URL" "char *flags" .Ft FILE * .Fn fetchPutURL "char *URL" "char *flags" .Ft int .Fn fetchStatURL "char *URL" "struct url_stat *us" "char *flags" .Ft struct url_ent * .Fn fetchListURL "char *URL" "char *flags" .Ft struct url * .Fn fetchParseURL "char *URL" "char *flags" .Ft FILE * .Fn fetchGet "struct url *URL" "char *flags" .Ft FILE * .Fn fetchPut "struct url *URL" "char *flags" .Ft int .Fn fetchStat "struct url *URL" "struct url_stat *us" "char *flags" .Ft struct url_ent * .Fn fetchList "struct url *" "char *flags" .Ft FILE * .Fn fetchGetFile "struct url *u" "char *flags" .Ft FILE * .Fn fetchPutFile "struct url *u" "char *flags" .Ft int .Fn fetchStatFile "struct url *URL" "struct url_stat *us" "char *flags" .Ft struct url_ent * .Fn fetchListFile "struct url *" "char *flags" .Ft FILE * .Fn fetchGetHTTP "struct url *u" "char *flags" .Ft FILE * .Fn fetchPutHTTP "struct url *u" "char *flags" .Ft int .Fn fetchStatHTTP "struct url *URL" "struct url_stat *us" "char *flags" .Ft struct url_ent * .Fn fetchListHTTP "struct url *" "char *flags" .Ft FILE * .Fn fetchGetFTP "struct url *u" "char *flags" .Ft FILE * .Fn fetchPutFTP "struct url *u" "char *flags" .Ft int .Fn fetchStatFTP "struct url *URL" "struct url_stat *us" "char *flags" .Ft struct url_ent * .Fn fetchListFTP "struct url *" "char *flags" .Sh 解説 この関数は、URL (Uniform Resource Locators) を使用してファイルの取り出しとアップロードを行なう、 高レベルなライブラリを実現します。 .Pp .Fn fetchGetURL と .Fn fetchPutURL は、 .Nm fetch ライブラリのインタフェースを構成します。 この関数は渡された URL を検査して転送手法を決め、 適切な低レベル関数を呼び出して実際の転送を実行します。 .Fa flags 引数は、転送オプションを指定するキャラクタのストリングです。 それぞれのフラグの意味はスキームによって異なるので、 以下の適切なセクションを参照してください。 .Pp .Fn fetchStatURL は、要求された文書のメタデータを入手し、 第 2 引数が指す構造体にデータを入力しようとします。 .Fa url_stat 構造体は、 .Aq Pa fetch.h で以下のように定義されています。 .Bd -literal struct url_stat { off_t size; time_t atime; time_t mtime; }; .Ed .Pp .Fn fetchListURL は、指定された URL が指すディレクトリの内容をリストしようとします。 問題がなければ、malloc で割り振られた .Fa url_ent 構造体の配列を戻します。 .Fa url_ent 構造体は、 .Aq Pa fetch.h で以下のように定義されています。 .Bd -literal struct url_ent { char name[MAXPATHLEN]; struct url_stat stat; }; .Ed .Pp リストは、名前がないエントリで終わります。 .Pp .Fn fetchListURL が戻すポインタは、 .Fn free で解放してください。 .Pp .Fn fetchParseURL はナル文字で終わるストリングの URL を取り、RFC1738 に規定されている Common Internet Scheme Syntax に従って、その URL を コンポーネント関数に分割します。 このシンタックスを作る正規表現は以下のとおりです。 .Bd -literal :(//((:)?@)?(:)?)?/()? .Ed .Pp URL の一部のコンポーネントは、 すべての URL スキームで重要ではないことがあることに注意してください。 たとえばファイルスキームでは、 コンポーネントと コンポーネントしか必要ありません。 .Pp .Fn fetchParseURL が戻すポインタは、 .Fn free で解放してください。 .Pp .Fn fetchGet 、 .Fn fetchPut 、 .Fn fetchStat は、ポインタの形式の事前解析済み URL がストリングではなく .Fa struct url で必要になることを除けば、 .Fn fetchGetURL 、 .Fn fetchPutURL 、 .Fn fetchStatURL に似ています。 .Pp すべての .Fn fetchGetXXX 関数と .Fn fetchPutXXX 関数は、要求された文書からのデータの読込みや要求された文書へのデータの 書込みに使用できるストリームのポインタを戻します。 それぞれのアクセス手法のシステム詳細は異なりますが、 .Fn fetchGetXXX 関数が戻すストリームは読込み専用で、 .Fn fetchPutXXX が戻すストリームは書込み専用であると一般的に仮定されます。 .Sh ファイルスキーム .Fn fetchGetFile と .Fn fetchPutFile では、ローカルにマウントされたファイルシステムのファイルである文書に アクセスできます。URL の コンポーネントのみが使用されます。 .Pp .Fn fetchGetFile はフラグを受け入れません。 .Pp .Fn fetchPutFile は、 .Fa a フラグ (ファイルに追加) を受け入れます。 このフラグを指定した場合、 .Fn fetchPutFile が戻すストリームへ書き込まれたデータは、 ファイルの前の内容を置き換えるのではなくファイルの前の内容に追加されます。 .Sh FTP スキーム .Fn fetchGetFTP と .Fn fetchPutFTP は、RFC959 に記述されているように FTP プロトコルを実現します。 .Pp .Fa p フラグ (受動) を指定すると、能動的ではなく受動的な接続が試されます。 .Pp ユーザ名かパスワードを指定しないと、 .Nm fetch ライブラリは、ユーザ名 "ftp"、パスワード "ftp" で匿名ログインを試します。 .Sh HTTP スキーム .Fn fetchGetHTTP 関数と .Fn fetchPutHTTP 関数は、HTTP/1.1 プロトコルを実現します。 この関数は、RFC2068 に準拠する可能性があります。 .Pp .Nm fetch ライブラリと調和する方法で HTTP PUT 手法を実現する適切な方法がないようなので、 .Fn fetchPutHTTP は現在のところ実現されていません。 .Sh 戻り値 .Fn fetchParseURL は、URL のそれぞれのコンポーネントを含む .Fa struct url のポインタを戻します。メモリを割り振れない場合、 または URL のシンタックスが 正しくない場合、 .Fn fetchParseURL は NULL ポインタを戻します。 .Pp .Fn fetchStat 関数は、問題がなければ 0 を戻し、問題がある場合は -1 を戻します。 .Pp その他すべての関数は、要求された文書へのアクセスに使用できる ストリームのポインタを戻します。 エラーが発生した場合は NULL を戻します。 .Pp .Nm Libfetch は、Common Error Library .Nm ( libcom_err ) を使用してエラーを報告します。 .Fn com_err に渡されるエラーコードは以下のとおりです。 .Bl -tag -width Er .It Bq Er FETCH_ABORT オペレーションが異常終了しました。 .It Bq Er FETCH_AUTH 認証がエラーになりました。 .It Bq Er FETCH_DOWN サービスが使用できません。 .It Bq Er FETCH_EXISTS ファイルが存在します。 .It Bq Er FETCH_FULL ファイルシステムの容量が不足しています。 .It Bq Er FETCH_INFO 情報としての応答です。 .It Bq Er FETCH_MEMORY メモリが不足しています。 .It Bq Er FETCH_MOVED ファイルが移動されました。 .It Bq Er FETCH_NETWORK ネットワークエラー .It Bq Er FETCH_OK エラーはありません。 .It Bq Er FETCH_PROTO プロトコルエラー .It Bq Er FETCH_RESOLV リゾルバエラー .It Bq Er FETCH_SERVER サーバエラー .It Bq Er FETCH_TEMP 一時的なエラー .It Bq Er FETCH_TIMEOUT オペレーションがタイムアウトになりました。 .It Bq Er FETCH_UNAVAIL ファイルが使用できません。 .It Bq Er FETCH_UNKNOWN 未知のエラー .It Bq Er FETCH_URL URL が正しくありません。 .El .Pp エラーメッセージには、 "File is not available (404 Not Found)" のように、 プロトコルのエラーコードとメッセージが組み込まれます。 .Sh 環境変数 FTP と HTTP に関連した関数は、 ファイル転送に使用するプロキシサーバのアドレスとして、 .Ev HTTP_PROXY 環境変数と .Ev FTP_PROXY 環境変数を使用します。 .Sh 関連項目 .Xr com_err 3 , .Xr fetch 1 , .Xr ftpio 3 .Rs .%A T. Berners-Lee .%A L. Masinter .%A M. McCahill .%D December 1994 .%T Uniform Resource Locators (URL) .%O RFC1738 .Re .Rs .%A R. Fielding .%A J. Gettys .%A J. Mogul .%A H. Frystyk .%A T. Berners-Lee .%D Januray 1997 .%T Hypertext Transfer Protocol -- HTTP/1.1 .%O RFC2068 .Re .Rs .%A J. Postel .%A J. K. Reynolds .%D October 1985 .%T File Transfer Protocol .%O RFC959 .Re .Sh 注 .Nm fetch ライブラリは Common Error ライブラリを使用するので、 .Nm libfetch にリンクするアプリケーションは、 .Nm libcom_err にもリンクする必要があります。 .Sh 歴史 .Nm fetch ライブラリは、 .Fx 3.0 に追加されました。 .Sh 作者 .Nm fetch ライブラリは、 .An Jordan K. Hubbard Aq jkh@FreeBSD.org , .An Eugene Skepner Aq eu@qub.com 、その他の FreeBSD 開発者の提案を受け入れ、 .An Dag-Erling Coidan Smograv Aq des@FreeBSD.org が作成しました。これにより、 .An Poul-Henning Kamp Aq pkh@FreeBSD.org と .An Jordan K. Hubbard Aq jkh@FreeBSD.org が作成した .Nm ftpio が置き換えられました。 .Pp このマニュアルページの筆者は、 .An Dag-Erling Coidan Smograv Aq des@FreeBSD.org です。 .Sh バグ .Fn fetchPutHTTP 、 .Fn fetchStatHTTP 、 .Fn fetchListHTTP 、 .Fn fetchListFTP 、FTP プロキシサポートなど、ライブラリの一部はまだ実現されていません。 .Pp .Ev HTTP_PROXY 環境変数か .Ev FTP_PROXY 環境変数を適切に設定する以外、 プロキシを実行時に選択する方法はありません。 この環境変数を設定した場合は、 FTP 関数と HTTP 関数によるプロキシの使用を止めることはできません。 .Pp HTTP 認証は動作しません。調査した範囲では、 コードにバグがあるとは言い切れません。 .Nm libfetch は HTTP/1.1 基本認証を RFC2068 のとおりに正しく処理しますが、 HTTP サーバは、認証のヘッダフィールドを受け入れません。また .Nm libfetch は、HTTP サーバの認証要求を解釈してそれに応答しようとしません。 .Pp URL でスペースなどをエンコードする試みはなされていません。 URL の文書部分のスペースは、HTTP URL で "%20" に、 FTP URLで "\\ " に置き換える必要があります。 .Pp エラー番号は、特定コンテキストのみで一意です。 FTP と HTTP で使用するエラーコード、 およびリゾルバとシステムのエラーで使用するエラーコードは重複します。 たとえばエラーコード 202 は、FTPでは "Command not implemented, superfluous at this site" を表し、HTTP では "Accepted" を表します。 .Pp このマニュアルページは不十分で、 テキストのフォーマットも揃っていません。 .Pp その他にも多くのことがあります。 diff --git a/ja_JP.eucJP/man/man3/fflush.3 b/ja_JP.eucJP/man/man3/fflush.3 index 1dba9a6c63..0adfe1dfa9 100644 --- a/ja_JP.eucJP/man/man3/fflush.3 +++ b/ja_JP.eucJP/man/man3/fflush.3 @@ -1,118 +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.3 2001/03/06 16:46:01 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/ffs.3 b/ja_JP.eucJP/man/man3/ffs.3 index 9b58933f9c..e54a12dfa6 100644 --- a/ja_JP.eucJP/man/man3/ffs.3 +++ b/ja_JP.eucJP/man/man3/ffs.3 @@ -1,63 +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.1 2000/04/22 17:06:37 phantom Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/fgetln.3 b/ja_JP.eucJP/man/man3/fgetln.3 index be2d062ac4..4f475eb12d 100644 --- a/ja_JP.eucJP/man/man3/fgetln.3 +++ b/ja_JP.eucJP/man/man3/fgetln.3 @@ -1,124 +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.2 2000/05/06 13:34:12 phantom Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/fgets.3 b/ja_JP.eucJP/man/man3/fgets.3 index 6a146800ee..2b937d0c00 100644 --- a/ja_JP.eucJP/man/man3/fgets.3 +++ b/ja_JP.eucJP/man/man3/fgets.3 @@ -1,153 +1,153 @@ .\" 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.5 2001/07/22 12:06:45 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/floor.3 b/ja_JP.eucJP/man/man3/floor.3 index 2af31580f5..f10bb1f66e 100644 --- a/ja_JP.eucJP/man/man3/floor.3 +++ b/ja_JP.eucJP/man/man3/floor.3 @@ -1,69 +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.2 2001/07/22 12:07:20 dd Exp % +.\" %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 LIBRARY +.Lb libm .Sh 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/fmod.3 b/ja_JP.eucJP/man/man3/fmod.3 index 478d8f9eee..93d38aef83 100644 --- a/ja_JP.eucJP/man/man3/fmod.3 +++ b/ja_JP.eucJP/man/man3/fmod.3 @@ -1,86 +1,86 @@ .\" Copyright (c) 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)fmod.3 5.1 (Berkeley) 5/2/91 -.\" %Id: fmod.3,v 1.4 1997/02/22 15:09:33 peter Exp % +.\" $Id: fmod.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" .\" $FreeBSD$ .Dd May 2, 1991 .Dt FMOD 3 .Os .Sh 名称 .Nm fmod , .Nm fmodf .Nd 浮動小数の余りを求める関数 .Sh 書式 .Fd #include .Ft double .Fn fmod "double x" "double y" .Ft float .Fn fmodf "float x" "float y" .Sh 解説 .Fn fmod 関数と .Fn fmodf 関数は、 .Fa x Ns / Fa y の浮動小数の余りを算出します。 .Sh 戻り値 .Fa y がゼロでない場合、結果が .Fa x と同じ符号になり、かつ、結果の大きさが .Fa y よりも小さくなるような整数 .Em i に対して、 .Fn fmod 関数と .Fn fmodf 関数は、値 .Sm off .Fa x - Em i * Fa y .Sm on を戻します。 .Fa y がゼロである場合、ドメインエラーを発生させるか、または .Fn fmod 関数と .Fn fmodf 関数がゼロを戻すかはシステムで定義されます。 .Sh 関連項目 .Xr math 3 .Sh 規格 .Fn fmod 関数は、 .St -ansiC に準拠しています。 .\"X kuma 1999-11-5 diff --git a/ja_JP.eucJP/man/man3/fopen.3 b/ja_JP.eucJP/man/man3/fopen.3 index 0f6adacfbc..dc4bb32949 100644 --- a/ja_JP.eucJP/man/man3/fopen.3 +++ b/ja_JP.eucJP/man/man3/fopen.3 @@ -1,239 +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.4 2001/03/06 16:46:01 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/fpgetround.3 b/ja_JP.eucJP/man/man3/fpgetround.3 index c4fb68e6bd..ab30f52aef 100644 --- a/ja_JP.eucJP/man/man3/fpgetround.3 +++ b/ja_JP.eucJP/man/man3/fpgetround.3 @@ -1,148 +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.1 2000/12/29 10:17:59 ru Exp % +.\" %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 浮動小数インタフェース +.Nd IEEE 浮動小数点インタフェース .Sh 書式 -.Fd #include +.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 -.Pp .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/ja_JP.eucJP/man/man3/fputs.3 b/ja_JP.eucJP/man/man3/fputs.3 index 59c4e5fc89..944b36e644 100644 --- a/ja_JP.eucJP/man/man3/fputs.3 +++ b/ja_JP.eucJP/man/man3/fputs.3 @@ -1,109 +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.3 2001/03/06 16:46:01 ru Exp % +.\" %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 書式 -.Fd #include +.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 -.Pp .Sh 規格 .Fn fputs 関数と .Fn puts 関数は、 .St -isoC -に準拠しています。 +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/fread.3 b/ja_JP.eucJP/man/man3/fread.3 index 69b937cad3..25f09b3122 100644 --- a/ja_JP.eucJP/man/man3/fread.3 +++ b/ja_JP.eucJP/man/man3/fread.3 @@ -1,110 +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.2 2001/03/06 16:46:01 ru Exp % +.\" %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 書式 -.Fd #include +.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 が指すストリームに書き込みます。 -.Pp .Sh 戻り値 .Fn fread 関数と .Fn fwrite 関数は、読み書きしたバイト数だけ ストリームのファイル位置インジケータを進め、 読み書きしたオブジェクト数を返します。 エラーが発生した場合、またはファイルの終了に達した場合は、 指定したものより少ないオブジェクト数 (または 0) を返します。 .Pp .Fn fread 関数は、ファイルの終了とエラーを区別しません。 ファイルの終了かエラーかを判断するためには、呼び出し側が .Xr feof 3 と .Xr ferror 3 を使用する必要があります。 .Fn fwrite は、書き込みエラーが発生した場合に限って .Fa nmemb より少ない値を返します。 -.Pp .Sh 関連項目 .Xr read 2 , .Xr write 2 -.Pp .Sh 規格 .Fn fread 関数と .Fn fwrite 関数は、 .St -isoC に適合しています。 diff --git a/ja_JP.eucJP/man/man3/fseek.3 b/ja_JP.eucJP/man/man3/fseek.3 index 2c85bc437a..6f23bb3ff1 100644 --- a/ja_JP.eucJP/man/man3/fseek.3 +++ b/ja_JP.eucJP/man/man3/fseek.3 @@ -1,218 +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.6 2001/08/31 10:15:14 ru Exp % +.\" %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 書式 -.Fd #include +.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" -.Fd #include +.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/ja_JP.eucJP/man/man3/ftime.3 b/ja_JP.eucJP/man/man3/ftime.3 index f3b7e955e3..92d36b7733 100644 --- a/ja_JP.eucJP/man/man3/ftime.3 +++ b/ja_JP.eucJP/man/man3/ftime.3 @@ -1,86 +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 書式 -.Fd #include -.Fd #include -.Ft int +.In sys/types.h +.In sys/timeb.h +.Ft int .Fn ftime "struct timeb *tp" .Sh 解説 .Bf -symbolic -このインタフェースは、gettimeofday(2) +このインタフェースは、 +.Xr gettimeofday 2 で置き換えられました。 -.Pp -これは、互換性ライブラリ libcompat から使用できます。 .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/ja_JP.eucJP/man/man3/ftok.3 b/ja_JP.eucJP/man/man3/ftok.3 index ee5030fc14..d34873c510 100644 --- a/ja_JP.eucJP/man/man3/ftok.3 +++ b/ja_JP.eucJP/man/man3/ftok.3 @@ -1,84 +1,87 @@ .\" Copyright (c) 1994 SigmaSoft, Th. Lockert .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, .\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, .\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; .\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %Id: ftok.3,v 1.10 1998/06/10 04:24:18 jdp Exp % +.\" %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 書式 -.Fd #include -.Fd #include +.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/ja_JP.eucJP/man/man3/ftpio.3 b/ja_JP.eucJP/man/man3/ftpio.3 index dfa537c5a5..951d4fb4db 100644 --- a/ja_JP.eucJP/man/man3/ftpio.3 +++ b/ja_JP.eucJP/man/man3/ftpio.3 @@ -1,229 +1,229 @@ .\" Copyright (c) 1996 Jordan Hubbard (jkh@FreeBSD.org) .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY JORDAN HUBBARD ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %Id: ftpio.3,v 1.17 1998/03/19 07:34:09 charnier Exp % +.\" $Id: ftpio.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" .\" $FreeBSD$ .Dd June 17, 1996 .Dt ftpio 3 .Os .Sh 名称 .Nm ftpLogin , .Nm ftpChdir , .Nm ftpErrno , .Nm ftpGetModtime , .Nm ftpGetSize , .Nm ftpGet , .Nm ftpPut , .Nm ftpBinary , .Nm ftpPassive , .Nm ftpVerbose , .Nm ftpGetURL , .Nm ftpPutURL .Nd FTPIO ユーザライブラリ .Sh 書式 .Fd #include .Ft FILE * .Fn ftpLogin "char *host" "char *user" "char *passwd" "int ftp_port" "int verbose" "int *retcode" .Ft int .Fn ftpChdir "FILE *stream, char *dirname" .Ft int .Fn ftpErrno "FILE *stream" .Ft const char * .Fn ftpErrString "int errno" .Ft time_t .Fn ftpGetModtime "FILE *stream, char *file" .Ft off_t .Fn ftpGetSize "FILE *stream, char *file" .Ft FILE * .Fn ftpGet "FILE *stream, char *file, off_t *seekto" .Ft FILE * .Fn ftpPut "FILE *stream, char *file" .Ft int .Fn ftpAscii "FILE *stream" .Ft int .Fn ftpBinary "FILE *stream" .Ft int .Fn ftpPassive "FILE *stream, int status" .Ft void .Fn ftpVerbose "FILE *stream, int status" .Ft FILE * .Fn ftpGetURL "char *url, char *user, char *passwd, int *retcode" .Ft FILE * .Fn ftpPutURL "char *url, char *user, char *passwd, int *retcode" .Sh 解説 この関数は、FTP コネクションを管理するための 高レベルなライブラリを実装します。 .Pp .Fn ftpLogin は、指定された .Fa user , .Fa passwd , .Fa ftp_port (0 を渡した場合、標準 FTP ポートの 21 がデフォルトで .Fa ftp_port になる), .Fa verbose フィールドを 使用してログインしようとします。ログインに成功すれば、標準的な ストリーム記述子が戻されます。この記述子は、後の FTP オペレーションに 渡してください。エラーが発生した場合は NULL が戻され、 .Fa retcode には、外部サーバが戻すエラーコードが入ります。 .Pp .Fn ftpChdir は、サーバの CD コマンドを出し、 .Fa dir で指定された ディレクトリに変更しようとします。問題がなければゼロが戻されます。 問題がある場合は、サーバのエラーコードが戻されます。 .Pp .Fn ftpErrno は、最後のオペレーションのサーバエラーコードを戻します。 FTP のエラーコードに精通している場合は、エラーの原因の確認に有益です。 .Fn ftpErrString は、人間が判読できるサーバエラーコードを戻します。 .Pp .Fn ftpGet は、 .Fa file 引数が指定するファイルを取り出し (FTP サーバのカレントディレクトリ からの相対パスと想定される。 .Fn ftpChdir 参照)、そのファイルのための新しい FILE* ポインタを戻します。 エラーが発生した場合は NULL を戻します。 .Fa seekto が NULL ではない場合、これが指す整数の内容は、ファイルの再開ポイント として使用されます。つまり、戻されたストリームは、ファイルの .Fa *seekto バイトを指しているということです。これは、エラーで失敗した転送を 効率的に再開する際に便利です。シーク操作がエラーになった場合、 .Fa *seekto の値はゼロになります。 .Pp .Fn ftpGetModtime は、 .Fa file 引数が指定するファイルの最終修正時刻を 戻します。ファイルをオープンできない場合は 0 が戻されます。 .Pp .Fn ftpGetSize は、 .Fa file 引数が指定するファイルのサイズをバイト単位で 戻します。ファイルをオープンできない場合は -1 が戻されます。 .Pp .Fn ftpPut は、 .Fa file 引数が指定する新しいファイルを作成し (FTP サーバのカレントディレクトリからの相対パスと想定される。 .Fn ftpChdir 参照)、ファイルの新しい .Fa stream ポインタを戻します。エラーが発生した場合は NULL を戻します。 .Pp .Fn ftpAscii は、 .Fa stream が指定する現行サーバのコネクションに ASCII モードを設定します。 .Pp .Fn ftpBinary は、 .Fa stream が指定する現行サーバのコネクションに バイナリモードを設定します。 .Pp .Fn ftpPassive は、 .Fa stream が指定する現在のサーバのコネクションのパッシブモード (ファイアウォール用)を論理値 .Fa status に設定します。 .Pp .Fn ftpVerbose は、 .Fa stream が指定する現在のサーバのコネクションの冗長モードを論理値 .Fa status に設定します。 .Pp .Fn ftpGetURL は、 .Fa URL が指定するファイルを取り出します。これは、 サーバの .Fa stream が戻されないこと除けば、 .Fn ftpLogin , .Fn ftpChdir , .Fn ftpGet を組み合わせた操作と同じとみなすことができます。 サーバとのコネクションは、ファイルが完全に読み込まれた時点で クローズされます。複数のファイルを取り出す場合は、低レベルのルーチン を使用してください。この方がはるかに効率的です。 .Pp .Fn ftpPutURL は、 .Fa URL が指定するファイルを作成します。これは、 サーバの .Fa stream が戻されないことを除けば、 .Fn ftpLogin , .Fn ftpChdir , .Fn ftpPut を組み合わせた操作と同じとみなすことができます。 サーバとのコネクションは、ファイルが完全に書き込まれた時点で クローズされます。複数のファイルを作成する場合は、低レベルのルーチン を使用してください。この方がはるかに効率的です。 .Sh 環境変数 .Bl -tag -width FTP_PASSIVE_MODE -offset 123 .It Ev FTP_TIMEOUT .Tn FTP 接続を異常終了させる前に、通信相手からの応答を待つ最大時間 (秒単位) です。 .It Ev FTP_PASSIVE_MODE パッシブモード .Tn FTP を強制的に使用します。 .El .Sh バグ こいつを徹底的に使い込むと、内部状態マシンを混乱させてしまう可能性が ありますが、私がテストした限りでは、非常に丈夫に作られていることが 確かめてあります。 .Pp .Sh 歴史 Poul-Henning Kamp のシステムインストレーションユーティリティ用 ftp ドライバとして始まり、Jordan Hubbard が、stdio の拡張という より一般的な形式に変更しました。 Jean-Marc Zucconi のアイデアと拡張機能もいくつか盛り込まれています。 .Sh 作者 .An Jordan Hubbard , .An Poul-Henning Kamp , .An Jean-Marc Zucconi .\"X kuma 1999-11-6 diff --git a/ja_JP.eucJP/man/man3/fts.3 b/ja_JP.eucJP/man/man3/fts.3 index 6061bf9318..d327a9eb14 100644 --- a/ja_JP.eucJP/man/man3/fts.3 +++ b/ja_JP.eucJP/man/man3/fts.3 @@ -1,705 +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 -.\" %Id: fts.3,v 1.4 1998/02/28 18:05:42 jraynard Exp % +.\" %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 書式 -.Fd #include -.Fd #include -.Fd #include +.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 fts +.Nm は、 .Tn UNIX ファイル階層を横断するための関数です。簡単に説明すると、 .Fn fts_open -関数はファイル階層の「ハンドル」を戻します。このハンドルは、その他の -.Nm fts +関数はファイル階層の +.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 つは、ファイル階層のファイル 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 */ - short fts_pathlen; /* strlen(fts_path) */ + u_short fts_pathlen; /* strlen(fts_path) */ char *fts_name; /* file name */ - short fts_namelen; /* strlen(fts_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 .\& や、 -.Ql .. +.Ql ..\& という名前を持つファイルです ( .Dv FTS_SEEDOT を参照)。 .It Dv FTS_DP 逆順でアクセスされるディレクトリです。 正順 (つまり、 .Fa fts_info フィールドに .Dv FTS_D が設定された場合) で戻ってきた時は、 .Fa FTSENT 構造体の内容は変更されていません。 .It Dv FTS_ERR これはエラーリターンであり、 .Fa fts_errno フィールドにエラーの原因が設定されます。 .It Dv FTS_F 通常ファイルです。 .It Dv FTS_NS .Xr stat 2 で情報が取得できないファイルです。 .Fa fts_statp フィールドの内容は未定義になります。これはエラーリターンであり、 .Fa fts_errno フィールドにエラーの原因を表す値が設定されます。 .It Dv FTS_NSOK .Xr stat 2 での情報取得を要求しないファイルです。 .Fa fts_statp フィールドの内容は不定になります。 .It Dv FTS_SL シンボリックリンクです。 .It Dv FTS_SLNONE ターゲットが存在しないシンボリックリンクです。 .Fa fts_statp フィールドの内容は、そのシンボリックリンク自体の ファイル特性情報を参照します。 .El .It Fa fts_accpath カレントディレクトリからファイルにアクセスするためのパスです。 .It Fa fts_path 横断のルートからの、ファイルの相対パスです。このパスには、 .Fn fts_open に指定したパスが接頭語として含まれます。 .It Fa fts_pathlen .Fa fts_path が参照する文字列の長さです。 .It Fa fts_name ファイルの名前です。 .It Fa fts_namelen .Fa fts_name が参照する文字列の長さです。 .It Fa fts_level このファイルが見つかった場所の、この横断における深さです。この深さは \-1 から N までの番号が付けられます。横断の開始点の親 (またはルート) を表す .Fa FTSENT -構造体には、番号 \-1 が付されます。 +構造体には、番号 +.Dv FTS_ROOTPARENTLEVEL +(\-1) が付されます。 ルートの .Fa FTSENT -構造体には、番号 0 が付されます。 +構造体には、番号 +.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 fts +.Nm 関数群はこのフィールドを変更しません。このフィールドは 0 で初期化されています。 .It Fa fts_pointer このフィールドは、アプリケーションプログラムで使用するためのもので、 -.Nm fts +.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 fts +.Nm ルーチンは、シンボリックリンクそのものではなく、 シンボリックリンクのターゲットの .Fa FTSENT 構造体を戻すようになります。このオプションを設定すると、 アプリケーションに戻される .Fa FTSENT 構造体が指すシンボリックリンクは、存在しないファイルを 参照するものだけになります。 .Fn fts_open 関数には、 .Dv FTS_LOGICAL か .Dv FTS_PHYSICAL を指定する必要があります。 .It Dv FTS_NOCHDIR パフォーマンスを最適化するため、 -.Nm fts +.Nm 関数は、ファイル階層のアクセス中に カレントディレクトリを変更します。これには、横断中にどのディレクトリ にいるかがアプリケーションで特定できないという副作用があります。 .Dv FTS_NOCHDIR オプションはこの最適化を無効にするので、 -.Nm fts +.Nm 関数はカレントディレクトリを変更しなくなります。 .Dv FTS_NOCHDIR を指定していない、もしくは、 .Fn fts_open に絶対パス名を引数として指定していない場合は、アプリケーションで カレントディレクトリを変更したり、ファイルにアクセスしたり しないでください。 .It Dv FTS_NOSTAT デフォルトでは、戻される .Fa FTSENT 構造体は、アクセスしたファイルそれぞれについて ファイル特性情報 ( .Fa statp フィールド) を参照しています。このオプションは、パフォーマンスを 最適化するためにこの要件を緩和し、 -.Nm fts +.Nm 関数が .Fa fts_info フィールドに .Dv FTS_NSOK を設定して、 .Fa statp フィールドの内容を未定義のままにすることを許可します。 .It Dv FTS_PHYSICAL このオプションを指定すると、 -.Nm fts +.Nm ルーチンは、シンボリックリンクが指すターゲットファイルではなく、 シンボリックリンク自体の .Fa FTSENT 構造体を戻すようになります。このオプションを設定すると、 階層に存在するすべてのシンボリックリンクの .Fa FTSENT 構造体がアプリケーションに戻されます。 .Fn fts_open 関数には、 .Dv FTS_LOGICAL か .Dv FTS_PHYSICAL を指定する必要があります。 .It Dv FTS_SEEDOT デフォルトでは、 .Fn fts_open のパス引数として指定しない限り、ファイル階層に存在する、 -.Ql \&. +.Ql .\& もしくは、 -.Ql .. +.Ql ..\& という名前のファイルは無視されます。このオプションを指定することにより、 -.Nm fts +.Nm ルーチンは、このような ファイルの .Fa FTSENT 構造体を戻すようになります。 .It Dv FTS_XDEV このオプションを指定すると、 -.Nm fts +.Nm は、下降を始めたファイルと 異なるデバイス番号を持つディレクトリに下降しません。 .El .Pp 引数 .Fn compar は、階層横断の順序決めに使用されるユーザ定義関数を 指定します。この関数は、 .Fa FTSENT 構造体のポインタを指す 2 つのポインタを 引数として取り、最初の引数が参照するファイルが、2 番目の引数が 参照するファイルより前に来るか、前でも後ろでもどちらでも構わないか、 -後ろに来るかによって、それぞれ負の値、ゼロ、正の値を戻さねばなりません。 +後ろに来るかによって、それぞれ負の値、0、正の値を戻さねばなりません。 この比較では、 .Fa FTSENT 構造体の -.Fa fts_accpath , +.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_children , .Fn fts_open , .Fn fts_set がエラーになると、以下のように .Va errno を設定します。 .Bl -tag -width Er .It Bq Er EINVAL オプションが正しくありません。 .El .Sh 関連項目 .Xr find 1 , .Xr chdir 2 , .Xr stat 2 , .Xr qsort 3 .Pp .Sh 規格 -.Nm fts +.Nm ユーティリティは、将来、 .St -p1003.1-88 リビジョンに組み込まれると思われます。 .\"X kuma 99-10-21 diff --git a/ja_JP.eucJP/man/man3/funopen.3 b/ja_JP.eucJP/man/man3/funopen.3 index e9b74c447d..f374af85f1 100644 --- a/ja_JP.eucJP/man/man3/funopen.3 +++ b/ja_JP.eucJP/man/man3/funopen.3 @@ -1,166 +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.3 2001/07/22 12:06:46 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/getbootfile.3 b/ja_JP.eucJP/man/man3/getbootfile.3 index 757b2930d2..23506b723d 100644 --- a/ja_JP.eucJP/man/man3/getbootfile.3 +++ b/ja_JP.eucJP/man/man3/getbootfile.3 @@ -1,70 +1,70 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)gethostname.3 8.1 (Berkeley) 6/4/93 -.\" %Id: getbootfile.3,v 1.5 1997/02/22 14:58:03 peter Exp % +.\" $Id: getbootfile.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" .\" $FreeBSD$ .Dd September 23, 1994 .Dt GETBOOTFILE 3 .Os .Sh 名称 .Nm getbootfile .Nd カーネル起動ファイル名を取得 .Sh 書式 .Fd #include .Ft const char * .Fn getbootfile void .Sh 解説 .Fn getbootfile 関数は、現在のカーネルがロードされたファイルのフルパス名を取り出し、そ の静的ポインタを返します。この情報の読み込み/書き込みインタフェースは、 .Xr sysctl 3 MIB 変数 .Dq Li kern.bootfile によって利用できます。 .Sh 戻り値 呼び出しが成功した場合はパス名を与えるストリングが返ります。失敗した場合は null ポインタが返り、エラーコードがグローバルな位置の .Va errno に置かれます。 .Sh 関連項目 .Xr sysctl 3 .Sh バグ 起動時のカーネルにこの情報を渡すように、起動ブロックが修正されていない 場合は、実際の起動ファイル名の代わりに静的ストリング .Dq Pa /kernel が返ります。 .Sh 歴史 .Fn getbootfile 関数呼び出しは .Fx 2.0 で最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/getc.3 b/ja_JP.eucJP/man/man3/getc.3 index 8533501cc7..d4a0750ed2 100644 --- a/ja_JP.eucJP/man/man3/getc.3 +++ b/ja_JP.eucJP/man/man3/getc.3 @@ -1,137 +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.4 2001/08/17 15:42:41 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/getcwd.3 b/ja_JP.eucJP/man/man3/getcwd.3 index c1dd07317e..e9db45e203 100644 --- a/ja_JP.eucJP/man/man3/getcwd.3 +++ b/ja_JP.eucJP/man/man3/getcwd.3 @@ -1,147 +1,147 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)getcwd.3 8.2 (Berkeley) 12/11/93 -.\" %Id: getcwd.3,v 1.6 1997/11/23 17:58:34 bde Exp % +.\" $Id: getcwd.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" .\" $FreeBSD$ .Dd November 24, 1997 .Dt GETCWD 3 .Os BSD 4.2 .Sh 名称 .Nm getcwd , .Nm getwd .Nd 作業ディレクトリのパス名を取得 .Sh 書式 .Fd #include .Ft char * .Fn getcwd "char *buf" "size_t size" .Ft char * .Fn getwd "char *buf" .Sh 解説 .Fn getcwd 関数は、現在の作業ディレクトリの絶対パス名を .Fa buf で参照されるメモリにコピーし、 .Fa buf のポインタを返します。 .Fa size 引数は、 .Fa buf で参照される配列のバイト数によるサイズです。 .Pp .Fa buf が .Dv NULL の場合は、パス名を保存するのに必要なだけの空間が割り振られます。この空 間は後で .Xr free 3 できます。 .Pp 関数 .Fn getwd は .Fn getcwd を呼び出す互換性ルーチンです。 .Fa buf 引数および、(インクルードファイル .Aq Pa sys/param.h で定義された) .Dv MAXPATHLEN のサイズを持ちます。 .Fa buf が少なくとも、 .Dv MAXPATHLEN バイトの長さを持たなければならないことは明らかです。 .Pp これらのルーチンは従来、そこへ戻るために作業ディレクトリの名前を保存す るプログラムによって使用されてきました。これをより速く誤りなく遂行する ものとして、カレントディレクトリ .Pq Ql \&. をオープンし、 .Xr fchdir 2 関数を使って戻る方法があります。 .Sh 戻り値 無事に完了した場合はパス名のポインタが返ります。その他の場合は .Dv NULL ポインタが返り、エラーを示すためグローバル変数 .Va errno が設定され、さらに .Fn getwd が .Va errno に関連するエラーメッセージを .Fa buf で参照されるメモリにコピーします。 .Sh エラー .Fn getcwd 関数は次の場合に失敗します。 .Bl -tag -width [EACCES] .It Bq Er EACCES 読み込みまたは検索パーミッションが、パス名の構成要素のため拒否されまし た。 .Pp .It Bq Er EINVAL .Fa size 引数がゼロです。 .It Bq Er ENOENT パス名の構成要素がもはや存在しません。 .It Bq Er ENOMEM 利用できるメモリが十分ではありません。 .It Bq Er ERANGE .Fa size 引数はゼロよりも大きいが、パス名 + 1 よりも小さいので不当です。 .El .Sh 関連項目 .Xr chdir 2 , .Xr fchdir 2 , .Xr malloc 3 , .Xr strerror 3 .Pp .Sh 規格 .Fn getcwd 関数は、 .St -ansiC に準拠しています。 .Dv NULL ポインタを指定して、必要に応じて .Fn getcwd にメモリを割り振る機能は拡張部分です。 .Sh 歴史 .Fn getwd 関数は .Bx 4.0 で最初に取り入れられました。 .Sh バグ .Fn getwd 関数はエラーチックを十分に行いません。非常に長いパス名は、有効でも返す ことができません。互換性を考える上で注意が必要です。 diff --git a/ja_JP.eucJP/man/man3/getdomainname.3 b/ja_JP.eucJP/man/man3/getdomainname.3 index 2fddf103e1..4065f0c775 100644 --- a/ja_JP.eucJP/man/man3/getdomainname.3 +++ b/ja_JP.eucJP/man/man3/getdomainname.3 @@ -1,99 +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 -.\" %Id: getdomainname.3,v 1.8 1997/02/22 14:58:06 peter Exp % +.\" $Id: getdomainname.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" .\" $FreeBSD$ .Dd May 6, 1994 .Dt GETDOMAINNAME 3 .Os BSD 4.2 .Sh 名称 .Nm getdomainname , .Nm setdomainname .Nd 現在のホストのドメイン名を取得/設定 .Sh 書式 .Fd #include .Ft int .Fn getdomainname "char *name" "int namelen" .Ft int .Fn setdomainname "const char *name" "int namelen" .Sh 解説 .Fn Getdomainname は前に .Fn setdomainname によって設定された、現在のプロセッサの標準ドメイン名を返します。パラメー タ .Fa namelen は .Fa name 配列のサイズを指定します。空間が十分にない場合を除いて、返される値は null で終わります。 .Pp .Fn Setdomainname は .Fa name するホストマシンの、長さ .Fa namelen のドメイン名を設定します。この呼び出しはスーパユーザに限定されます。通 常はシステムを、ブートストラップする場合にだけ使用されます。 .Sh 戻り値 呼び出しに成功した場合は値 0が返ります。呼び出しに失敗した場合は値 -1 が返り、グローバルな位置 .Va errno にエラーコードが置かれます。 .Sh エラー これらの呼び出しによって、次のエラーが返る場合があります。 .Bl -tag -width Er .It Bq Er EFAULT .Fa name または .Fa namelen パラメータに与えたアドレスが無効です。 .It Bq Er EPERM 呼び出し元がホスト名を設定しようとしましたが、スーパユーザではありませ ん。 .El .Sh 関連項目 .Xr gethostid 3 , .Xr gethostname 3 , .Xr sysctl 3 .Sh バグ ドメイン名は、( .Ao Pa sys/param.h Ac による) .Dv MAXHOSTNAMELEN 長さのキャラクタ、現在 256 文字に限られています。 .Sh 歴史 .Fn getdomainname 関数の呼び出しは、 .Bx 4.2 で最初に登場しました。 diff --git a/ja_JP.eucJP/man/man3/getenv.3 b/ja_JP.eucJP/man/man3/getenv.3 index 1df71332a2..b7de268646 100644 --- a/ja_JP.eucJP/man/man3/getenv.3 +++ b/ja_JP.eucJP/man/man3/getenv.3 @@ -1,160 +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.6 2001/08/31 10:15:15 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/getgrent.3 b/ja_JP.eucJP/man/man3/getgrent.3 index 441355a714..734faeab8c 100644 --- a/ja_JP.eucJP/man/man3/getgrent.3 +++ b/ja_JP.eucJP/man/man3/getgrent.3 @@ -1,198 +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.10 1997/02/28 05:46:19 mpp Exp % +.\" $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 .Fd #include .Ft struct group * .Fn getgrent void .Ft struct group * .Fn getgrnam "const char *name" .Ft struct group * .Fn getgrgid "gid_t gid" .Ft int .Fn setgroupent "int stayopen" .\" .Ft void .\" .Fn setgrfile "const char *name" .Ft int .Fn setgrent void .Ft void .Fn endgrent void .Sh 解説 これらの関数はいずれも、 .Xr group 5 に記述されたグループデータベースファイル .Pa /etc/group を操作します。データベースの各行は、インクルードファイル .Aq Pa grp.h にある構造体 .Ar group によって定義されます。次のとおりです。 .Bd -literal -offset indent struct group { char *gr_name; /* グループ名 */ char *gr_passwd; /* グループパスワード */ int gr_gid; /* グループ id */ char **gr_mem; /* グループメンバ */ }; .Ed .Pp 関数 .Fn getgrnam および .Fn getgrgid は、 .Ar name に示す与えられたグループ名または .Ar gid に示すグループ id を、グループデータベースで検索して、それぞれに最初の 適合エントリを返します。異なるエントリに同一グループ名または、同一グループ id が与えられていると、未定義な不測の挙動をもたらすことがあります。 .Pp .Fn getgrent 関数は、グループデータベースを順次読み込みます。完全な グループリストを着実に生成するプログラム向きです。 .Pp 3 つのルーチンはいずれも、読み込みに必要ならば目的のグループファイルを オープンします。 .Pp .Fn setgroupent 関数は目的のファイルをオープン、またはすでにオープンされている 場合はリワインドします。 .Fa stayopen が 0 でなければ、ファイル記述子はオープン のままにされ、以後の関数呼び出しがきわめて高速化されます。ただし .Fn getgrent の場合は、デフォルトでファイル記述子をクローズしないので、この 機能は不要です。また、グループファイルが更新される可能性があるので、 長期間実行するプログラムでこの機能を使用するのは危険です。注意してください。 .Pp .Fn setgrent 関数は、0 の引数を持つ .Fn setgroupent と同じです。 .Pp .Fn endgrent 関数は、オープンされているファイルをクローズします。 .Sh YP/NIS の相互作用 .Xr yp 4 グループデータベースが使用可能な場合、要求されたグループがローカルの .Pa /etc/groupfile に見付からないと、 .Fn getgrnam および .Fn getgrgid 関数は、 YP マップ .Dq group.byname および .Dq group.bygid をそれぞれ使用します。 .Xr group 5 で記述されたとおりに全体マップが使用可能ならば、 .Fn getgrent 関数は YP マップ .Dq group.byname を通ります。 .Sh 戻り値 関数 .Fn getgrent , .Fn getgrnam , .Fn getgrgid は、いずれも成功すると グループエントリのポインタを返します。エンドオブファイルに到達するかエラー が発生した場合は、ヌルポインタが返ります。関数 .Fn setgroupent および .Fn setgrent は、処理が無事に完了した場合は値 1 を返します。 その他の場合は値 0 が返ります。 関数 .Fn endgrent および .Fn setgrfile の戻り値はありません。 .Pp .Sh 関連ファイル .Bl -tag -width /etc/group -compact .It Pa /etc/group グループデータベースファイル .El .Sh 関連項目 .Xr getpwent 3 , .Xr yp 4 , .Xr group 5 .Sh 歴史 関数 .Fn endgrent , .Fn getgrent , .Fn getgrnam , .Fn getgrgid , .Fn setgrent は、 .At v7 で最初に取り入れられました。関数 .Fn setgrfile および .Fn setgroupent は、 .Bx 4.3 Reno で最初に取り入れられました。 .Sh 互換性 代替パスワードデータベースの規格を許した歴史的な関数 .Fn setgrfile は、これまで非難されてきましたが、もはや使用できません。 .Sh バグ 関数 .Fn getgrent , .Fn getgrnam , .Fn getgrgid , .Fn setgroupent , .Fn setgrent は、それぞれの結果を内部の静的オブジェクトに残し、そのオブジェクトの ポインタを返します。後に続く同じ関数の呼び出しは、その同じオブジェクトを 改変します。 diff --git a/ja_JP.eucJP/man/man3/gethostbyname.3 b/ja_JP.eucJP/man/man3/gethostbyname.3 index c7484da731..224e720a67 100644 --- a/ja_JP.eucJP/man/man3/gethostbyname.3 +++ b/ja_JP.eucJP/man/man3/gethostbyname.3 @@ -1,295 +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.6 2001/08/17 15:42:38 ru Exp % +.\" %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 書式 -.Fd #include +.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 関数はファイルをクローズします。 -.Pp .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/ja_JP.eucJP/man/man3/getnetent.3 b/ja_JP.eucJP/man/man3/getnetent.3 index 22aedb7886..ce815b8fc5 100644 --- a/ja_JP.eucJP/man/man3/getnetent.3 +++ b/ja_JP.eucJP/man/man3/getnetent.3 @@ -1,147 +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.3 2001/08/17 15:42:38 ru Exp % +.\" %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 書式 -.Fd #include +.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/network にある行の内訳フィールドが含まれます。 .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 でなければなりません。 ネットワーク番号はホストオーダで返されます。 -.Pp .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/ja_JP.eucJP/man/man3/getobjformat.3 b/ja_JP.eucJP/man/man3/getobjformat.3 index 562a49c98b..f6dbd671c0 100644 --- a/ja_JP.eucJP/man/man3/getobjformat.3 +++ b/ja_JP.eucJP/man/man3/getobjformat.3 @@ -1,134 +1,134 @@ .\" Copyright (c) 1998 John D. Polstra .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %Id: getobjformat.3,v 1.2 1998/10/25 13:29:57 obrien Exp % +.\" $Id: getobjformat.3,v 1.4 2002-05-18 07:12:54 horikawa Exp $ .\" .\" $FreeBSD$ .Dd September 7, 1998 .Dt GETOBJFORMAT 3 .Os FreeBSD .Sh 名称 .Nm getobjformat .Nd 優先オブジェクトファイルフォーマットの取得 .Sh 書式 .Fd #include .Ft int .Fn getobjformat "char *buf" "size_t bufsize" "int *argcp" "char **argv" .Sh 解説 .Fn getobjformat はいくつかの情報源に問い合わせて、 優先オブジェクトファイルフォーマットを決め、呼び出し元によって設定された バッファにその名前をコピーします。 .Pp オブジェクトファイルフォーマットは、次のように決定されます。 .Va argv が .Dv NULL でなく、 .Fl aout または .Fl elf のような明示的なコマンドライン引数が存在する場合は、 その引数がオブジェクトファイルフォーマットを決めます。 .Pp そうでない場合、環境に変数 .Ev OBJFORMAT が設定されていれば、 その変数の値からオブジェクトファイルフォーマットがとられます。 .Pp そうでない場合、ファイル .Pa /etc/objformat の読み取りが可能で、 .Ql OBJFORMAT=xxx という形式の行が含まれていれば、オブジェクトファイルフォーマット はそこからとられます。 .Pp そうでない場合、 組み込みのシステムデフォルトのオブジェクトファイルフォーマットが返ります。 .Pp .Va buf は、オブジェクトファイルフォーマットの名前がそこにコピーされる、 ユーザ指定のバッファを示します。 .Va bufsize は、バッファの大きさをバイト数で与えます。 .Va buf に置かれる文字列は常にヌルで終わります。 ヌルで終わるバッファ名を保持するためにはバッファが小さすぎる場合、 エラーになります。 .Pp .Va argv は、オブジェクトフォーマットのオプションがスキャンされる、 .Dv NULL で終わる引数ベクトルを示します。引数ベクトルがスキャンしない場合は、 .Va argv を .Dv NULL にすることができます。 .Pp .Va argcp が .Dv NULL でなければ、すべてのオブジェクトフォーマットオプションは引数 ベクトルから削除され、更新された引数カウントが、 .Va argcp で参照される整数に格納されます。 .Va argcp が .Dv NULL ならば、引数ベクトルは変更されないでそのまま残ります。 .Sh 戻り値 成功した場合 .Fn getobjformat は、終わりのヌルを含まない オブジェクトファイルフォーマット名の長さを返します。 オブジェクトファイルフォーマットおよび終わりのヌルを保持するためには、 指定のバッファが小さすぎる場合、 .Fn getobjformat は -1 を返します。 その場合 バッファおよび、呼び出し元によって指定された引数ベクトルの内容は不定です。 .Sh 環境変数 .Bl -tag -width OBJFORMAT .It Ev OBJFORMAT 環境変数 .Ev OBJFORMAT が設定されると、デフォルトのオブジェクトファイルフォーマットに優先します。 .Ev OBJFORMAT は .Pa /etc/objformat に優先します。 .Sh 関連ファイル .Bl -tag -width /etc/objformat -compact .It Pa /etc/objformat 存在すればこれが、使用するオブジェクトファイルフォーマットを指定します。構文は .Ql OBJFORMAT=xxx です。 .Sh 関連項目 .Xr objformat 1 .Pp .Sh 歴史 .Fn getobjformat 関数は .Fx 3.0 で最初に取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/getopt.3 b/ja_JP.eucJP/man/man3/getopt.3 index 9d356de16d..5e48f00c54 100644 --- a/ja_JP.eucJP/man/man3/getopt.3 +++ b/ja_JP.eucJP/man/man3/getopt.3 @@ -1,266 +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.7 2001/08/17 15:42:42 ru Exp % +.\" %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 書式 -.Fd #include +.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 を -.Aq Pa stdio.h +.Pa から切り離すために .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/ja_JP.eucJP/man/man3/getprotoent.3 b/ja_JP.eucJP/man/man3/getprotoent.3 index 4cb1a3eedb..df0a7423e6 100644 --- a/ja_JP.eucJP/man/man3/getprotoent.3 +++ b/ja_JP.eucJP/man/man3/getprotoent.3 @@ -1,137 +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.3 2001/08/17 15:42:38 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/getpw.3 b/ja_JP.eucJP/man/man3/getpw.3 index 3ce4a3e54a..cecab89077 100644 --- a/ja_JP.eucJP/man/man3/getpw.3 +++ b/ja_JP.eucJP/man/man3/getpw.3 @@ -1,91 +1,92 @@ .\" 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. .\" .\" @(#)getpw.3 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libcompat/4.1/getpw.3,v 1.5.2.4 2001/08/17 15:42:55 ru Exp % +.\" %FreeBSD: src/lib/libcompat/4.1/getpw.3,v 1.5.2.5 2001/12/17 10:08:28 ru Exp % .\" $FreeBSD$ .\" .Dd June 4, 1993 .Dt GETPW 3 .Os .Sh 名称 .Nm getpw .Nd uid からユーザ名を取得 .Sh ライブラリ .Lb libcompat .Sh 書式 -.Fd #include +.In sys/types.h .Ft int .Fn getpw "uid_t uid" "char *buf" .Sh 解説 .Bf -symbolic -getpw 関数は、 +.Fn getpw +関数は、 .Xr getpwuid 3 の登場によって旧式のものとなっています。 .Ef .Pp .Fn getpw 関数はファイル .Pa /etc/passwd を読み込んで、指定された .Fa uid が見つかればその パスワードエントリ行を、 .Fa buf が指す文字列にコピーします。 パスワードデータベースからコピーするエントリ行が null で終わっている場合は、 .Dv NUL キャラクタを後に付加します。 .Sh 戻り値 .Fn getpw 関数は、処理が正常終了した場合には 0 を返します。 -エントリが存在しないなど、その他の場合は非 0 を返します。 +エントリが存在しないなど、その他の場合は 0 以外を返します。 .Sh 関連ファイル .Bl -tag -width /etc/passwd -compact .It Pa /etc/passwd .El .Sh 関連項目 .Xr getpwent 3 , .Xr passwd 5 .Sh 歴史 .Fn getpw 関数は .At v6 ではじめて登場しました。 .Sh バグ .Fa buf で示された領域は、ユーザ名を保持するのに十分な大きさである 必要があります。 .Pp .Xr getpwent 3 に関するバグはすべてこの関数でも当てはまります。 diff --git a/ja_JP.eucJP/man/man3/getpwent.3 b/ja_JP.eucJP/man/man3/getpwent.3 index 68e87c40fc..67bbb6e1cd 100644 --- a/ja_JP.eucJP/man/man3/getpwent.3 +++ b/ja_JP.eucJP/man/man3/getpwent.3 @@ -1,222 +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.3 2001/08/17 15:42:33 ru Exp % +.\" %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 書式 -.Fd #include -.Fd #include +.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 +.Bx 4.3 Reno で登場しました。 .Sh 互換性 歴史的な理由で存在していた、 代替パスワードデータベースの規格を許した関数 .Xr setpwfile 3 は非推奨になっており、もう使用できません。 .Sh バグ 関数 .Fn getpwent , .Fn getpwnam および .Fn getpwuid は、呼び出し結果を内部の静的オブジェクトに残し、 そのオブジェクトを指すポインタを返します。その後、 同じ関数を呼び出すと、同じオブジェクトを変更していきます。 diff --git a/ja_JP.eucJP/man/man3/getrpcent.3 b/ja_JP.eucJP/man/man3/getrpcent.3 index d268dfc901..c7dc2d1471 100644 --- a/ja_JP.eucJP/man/man3/getrpcent.3 +++ b/ja_JP.eucJP/man/man3/getrpcent.3 @@ -1,92 +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.2 2001/07/22 12:06:45 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/getservent.3 b/ja_JP.eucJP/man/man3/getservent.3 index 3f15419f93..9811425f44 100644 --- a/ja_JP.eucJP/man/man3/getservent.3 +++ b/ja_JP.eucJP/man/man3/getservent.3 @@ -1,145 +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.4 2001/08/17 15:42:38 ru Exp %v +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/getsubopt.3 b/ja_JP.eucJP/man/man3/getsubopt.3 index 785b4a32fb..c098ddb314 100644 --- a/ja_JP.eucJP/man/man3/getsubopt.3 +++ b/ja_JP.eucJP/man/man3/getsubopt.3 @@ -1,150 +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.3 2001/01/12 16:15:58 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/getusershell.3 b/ja_JP.eucJP/man/man3/getusershell.3 index 2acffa54b1..9a7aa03ef2 100644 --- a/ja_JP.eucJP/man/man3/getusershell.3 +++ b/ja_JP.eucJP/man/man3/getusershell.3 @@ -1,98 +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.2 2001/08/17 15:42:33 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/getvfsent.3 b/ja_JP.eucJP/man/man3/getvfsent.3 index 0b1d4dd3aa..3c3510c2dc 100644 --- a/ja_JP.eucJP/man/man3/getvfsent.3 +++ b/ja_JP.eucJP/man/man3/getvfsent.3 @@ -1,237 +1,237 @@ -.\" %Id: getvfsent.3,v 1.14 1998/05/30 18:20:37 steve Exp % +.\" $Id: getvfsent.3,v 1.5 2002-05-18 07:12:55 horikawa Exp $ .\" Written by Garrett A. Wollman, September 1994. .\" This manual page is in the public domain. .\" .\" $FreeBSD$ .Dd September 24, 1994 .Dt GETVFSENT 3 .Os .Sh 名称 .Nm getvfsent , .Nm setvfsent , .Nm endvfsent , .Nm vfsisloadable , .Nm vfsload .Nd 仮想ファイルシステムモジュールを管理 .Sh 書式 .Fd #include .Fd #include .Ft struct ovfsconf * .Fn getvfsent "void" .Ft void .Fn setvfsent "int cachelist" .Ft void .Fn endvfsent "void" .Ft int .Fn vfsisloadable "const char *name" .Ft int .Fn vfsload "const char *name" .Sh 解説 .Fn getvfsent 関数によって、カーネルが管理する仮想ファイルシステムモジュール の実装リストに、簡単にアクセスできます。リストのファイルシステムを 1 回に 1 つづつ段階的に処理します。利用できるデータがそれ以上なくなると、 null ポインタが返ります。構造体 .Dq Li struct ovfsconf のフィールドは次のとおりです。 .Pp .Bl -tag -compact -width vfc_refcount .It vfc_name ファイルシステムの名前。 .It vfc_index カーネルによって割り当てられ .Xr mount 2 の呼び出しに使用された、ファイルシステムのタイプ番号。 .It vfc_refcount このファイルシステムの参照数 (通常は実装数ですが、 アンロードできないファイルシステム、または静的にこのカーネルにリンク されているファイルシステムなどがあると、実装数を上回ります) 。 .It vfc_flags 現在なにも定義されていないフラグビット。 .El .Pp .Fn setvfsent および .Fn endvfsent 関数は、 .Xr sysctl 3 のよってカーネル からまとめて取得されるファイルシステムリストの、キャッシング制御に 使用されます。 .Fn setvfsent の .Fa cachelist パラメータがゼロでなければ、これら 検索関数のどれかを最初に呼び出した時点でリストはただ 1 回だけ取り出され、 キャッシュをクリアするために .Fn endvfsent が呼び出されるまで保持されます。 一般に .Fn setvfsent 1 は、 .Fn getvfsent を使用するプログラムによって呼び出される必要があり、 .Fn setvfsent 0 は (これもデフォルトの状態で) 、 .Fn vfsload 関数を使用するプログラムによって呼び出される必要があります。 .Pp .Fn vfsisloadable 関数は、後で .Fn vfsload name の呼び出しが続きそうだと非ゼロ値を返します。ここで 「そう」と言うのは、 .Fn vfsisloadable によってチェックされる条件だけが、 .Fn vfsload が後続するために必要な条件の小さな サブセットだからです。詳しく説明すれば、 .Fn vfsisloadable は .Pa /dev/lkm が 存在するか、書き込みのためにオープンできるか、また LKM (ロード可能カーネルモジュール) 用に指定したディレクトリの 1 つで、 .Pa Ns Fa name Ns _mod.o が 見付かるかなどをチェックします。 .Pp .Fn vfsload 関数は、ファイルシステム .Fa name の実装カーネルモジュールをロード しようと試みます。ファイルシステムモジュールを無事に突き止めてロードした 場合はゼロが、その他の場合は非ゼロが返ります。この関数を呼び出せるのは次に 示す状況だけです。 .Bl -enum .It .Fn getvfsbyname を呼び出して非ゼロ値が返った場合。 .It .Fn vfsisloadable を呼び出して非ゼロ値が返った場合。 .It 十分な一時ファイル空間が利用でき、 .No Ns \&${ Ns Ev TMPDIR Ns \&} の .Pa /var/tmp または .Pa /tmp の 1 つに 書き込みもできる場合。 .El .Pp .Xr mount_cd9660 8 のソースから取った使用例を次に示します。 .Bd -literal -offset indent struct vfsconf *vfc; int error; /* ここにセットアップコードが入る */ error = getvfsbyname("cd9660", &vfc); if (error && vfsisloadable("cd9660")) { if (vfsload("cd9660")) err(EX_OSERR, "vfsload(cd9660)"); endvfsent(); /* flush cache */ error = getvfsbyname("cd9660", &vfc); } if (error) errx(1, "cd9660 filesystem is not available"); if (mount(vfc.vfc_name, dir, mntflags, &args) < 0) err(1, NULL); .Ed .Sh 戻り値 .Fn getvfsent ルーチンは、成功すると静的データ構造体のポインタを、失敗すると null ポインタを返します。原因が .Xr sysctl 3 または .Xr malloc 3 で失敗した場合は、 .Va errno がそれら関数用にドキュメントされた値の 1 つに 設定されることがあります。その他の場合 .Va errno は改変されません。 .Pp .Fn vfsload 関数は失敗すると非ゼロ値を、成功するとゼロを返します。 .Fn vfsload が失敗した場合、 .Va errno がフォーク .Xr fork 2 、 .Xr waitpid 2 、 .Xr chdir 2 、 または .Xr execlp 3 用としてドキュメントされた値の 1 つに設定されるか、または、 現在特に有用ではないにしても結局は便利な .Xr modload 8 プログラムの、 ステータスを返す可能性があります。さらに、もし .Xr modload 8 がシグナルで終了した場合、 .Fn vfsload は失敗し .Va errno を .Er EINVAL に設定します。 .Sh 環境変数 .Bl -tag -compact -width TMPDIRx .It Ev TMPDIR .Fn vfsload に代わって .Xr modload 8 によって作成された一時ファイルの位置。 .It Ev LKMDIR ロード可能モジュールを検索する .Fn vfsisloadable および .Fn vfsload 用の代替ディレクトリ。 .Sh 関連項目 .Xr mount 2 、 .Xr modload 8 、 .Xr mount 8 .Sh バグ .Xr modload 8 コマンドの戻り値は、 .Va errno 値として解釈する場合 (もっと言えば、ほかのどんなものとして解釈する場合も)、 特に有用ではありません。 .Sh 作者 このロード可能ファイルシステムサポートは、 .An Terry Lambert による汎用のロード可能カーネルモジュールサポートをベースに、 .An Garrett A. Wollman によって書かれました。 .Sh 歴史 .Fn getvfsent 関数ファミリは .Fx 2.0 で最初に取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/hash.3 b/ja_JP.eucJP/man/man3/hash.3 index c664192837..6e12a6281e 100644 --- a/ja_JP.eucJP/man/man3/hash.3 +++ b/ja_JP.eucJP/man/man3/hash.3 @@ -1,188 +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.1 2001/01/12 08:30:10 ru Exp % +.\" %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 書式 -.Fd "#include " -.Fd "#include " +.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 , -.Va ffactor , -.Va lorder , -.Va nelem +.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/ja_JP.eucJP/man/man3/hypot.3 b/ja_JP.eucJP/man/man3/hypot.3 index c274fc8f56..6c88172152 100644 --- a/ja_JP.eucJP/man/man3/hypot.3 +++ b/ja_JP.eucJP/man/man3/hypot.3 @@ -1,135 +1,135 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)hypot.3 6.7 (Berkeley) 5/6/91 -.\" %Id: hypot.3,v 1.4 1997/02/22 15:09:34 peter Exp % +.\" $Id: hypot.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" .\" $FreeBSD$ .Dd May 6, 1991 .Dt HYPOT 3 .Os BSD 4 .Sh 名称 .Nm hypot , .Nm hypotf , .Nm cabs , .Nm cabsf .Nd ユークリッド距離と複素絶対値関数 .Sh 書式 .Fd #include .Ft double .Fn hypot "double x" "double y" .Ft float .Fn hypotf "float x" "float y" .Fd struct {double x, y;} z; .Ft double .Fn cabs z .Fd struct {float x, y;} z; .Ft float .Fn cabsf z .Sh 解説 .Fn hypot , .Fn hypotf , .Fn cabs , および .Fn cabsf 関数は、アンダーフローが 起きず、最終結果でオーバーフローが起こる場合のみオーバーフローする方法で sqrt(x*x+y*y) を計算します。 .Pp .Fn hypot "\*(If" "v" あるいは .Fn hypot "v" "\*(If" は、全ての .Ar v に対して、\*(Na を含む +\*(If になります。 .Sh 誤差 ( Roundoff 等に基づく ) 0.97 .Em ulps 以下。 その結果、 完全な .Fn hypot "5.0" "12.0" = 13.0 となる。通常、hypot と cabs は整数値が求められる時には必ず整数を返します。 .Pp cabs.c の注釈にある短縮、かつ高速版の hypot と cabs については例外となり、 誤差は 1.2 .Em ulps を超すことがあります。 .Sh 注 想定通り、 .Fn hypot "v" "\*(Na" と .Fn hypot "\*(Na" "v" は .Em 全有限数 .Ar v に対して \*(Na となります。 "reserved operand" が "\*(Na" に置き換われば、 .Tn VAX でも同じ結果になります。 .Tn VAX 以外のマシン ( もし無限数が無ければ ) のプログラマは .Fn hypot "\(+-\*(If" "\*(Na" = +\*(If に初めは驚くかもしれません。 これは意図的なものであり、無限、有限に関係なく、 .Em すべての .Ar v について .Fn hypot "\*(If" "v" = +\*(If であるために起こります。 したがって、 .Fn hypot "\*(If" "v" は、 .Ar v とは独立した値です。 .Tn VAX での reserved operand fault とは異なり、 .Tn IEEE \*(Na は .Fn hypot "\*(If" "\*(Na" において同様に、無関係になると 消失します。 .Sh 関連項目 .Xr math 3 , .Xr sqrt 3 .Sh 歴史 .Fn hypot 関数と .Fn cabs 関数はどちらも .At v7 から登場しました。 diff --git a/ja_JP.eucJP/man/man3/ieee.3 b/ja_JP.eucJP/man/man3/ieee.3 index 67dc4b1853..6b841f48a4 100644 --- a/ja_JP.eucJP/man/man3/ieee.3 +++ b/ja_JP.eucJP/man/man3/ieee.3 @@ -1,187 +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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/ieee_test.3 b/ja_JP.eucJP/man/man3/ieee_test.3 index eb5326bc17..8a8d73ca79 100644 --- a/ja_JP.eucJP/man/man3/ieee_test.3 +++ b/ja_JP.eucJP/man/man3/ieee_test.3 @@ -1,112 +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.3 2001/08/17 15:43:08 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/index.3 b/ja_JP.eucJP/man/man3/index.3 index f23e886456..b4e2821cca 100644 --- a/ja_JP.eucJP/man/man3/index.3 +++ b/ja_JP.eucJP/man/man3/index.3 @@ -1,83 +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.2 2001/07/22 12:06:49 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/inet.3 b/ja_JP.eucJP/man/man3/inet.3 index cd3a899c1e..14a522b063 100644 --- a/ja_JP.eucJP/man/man3/inet.3 +++ b/ja_JP.eucJP/man/man3/inet.3 @@ -1,255 +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.7 2001/09/03 08:46:42 ru Exp % +.\" %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 書式 -.Fd #include -.Fd #include -.Fd #include -.Fd #include +.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 個に分けて指定しなければなりません。 +アドレスは 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/ja_JP.eucJP/man/man3/initgroups.3 b/ja_JP.eucJP/man/man3/initgroups.3 index 1a4d6a4096..6f132377b9 100644 --- a/ja_JP.eucJP/man/man3/initgroups.3 +++ b/ja_JP.eucJP/man/man3/initgroups.3 @@ -1,79 +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 BSD 4.2 +.Os .Sh 名称 .Nm initgroups -.Nd グループ・アクセス・リストを初期化します。 +.Nd グループアクセスリストの初期化 +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include +.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 -関数はスーパーユーザ以外が起動したとき、 \-1 を戻します。 +関数は、失敗することがあり、 +.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/ja_JP.eucJP/man/man3/insque.3 b/ja_JP.eucJP/man/man3/insque.3 index dc3453c25c..871649f5db 100644 --- a/ja_JP.eucJP/man/man3/insque.3 +++ b/ja_JP.eucJP/man/man3/insque.3 @@ -1,88 +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 BSD 4.2 +.Os .Sh 名称 .Nm insque , .Nm remque -.Nd 待ち行列に対してエレメントを挿入 / 削除します。 +.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 関数は時代遅れの関数です。 -.br -これらの関数は、互換性ライブラリである libcompat から利用できます。 .Ef .Pp .Fn insque と .Fn remque 関数は、二重リンクのリストから作られた待ち行列を -操作します。待ち行列中の各エレメントは -.Dq Li struct qelem +操作します。待ち行列中の各要素は +.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/ja_JP.eucJP/man/man3/ipx.3 b/ja_JP.eucJP/man/man3/ipx.3 index af7be686e6..6f3c5accbf 100644 --- a/ja_JP.eucJP/man/man3/ipx.3 +++ b/ja_JP.eucJP/man/man3/ipx.3 @@ -1,120 +1,130 @@ .\" 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. .\" +.\" %FreeBSD: src/lib/libipx/ipx.3,v 1.7.2.5 2001/12/17 10:08:30 ru Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt IPX 3 -.Os BSD 4.3 +.Os .Sh 名称 .Nm ipx_addr , .Nm ipx_ntoa .Nd IPX アドレス変換ルーチン +.Sh ライブラリ +.Lb libipx .Sh 書式 -.Fd #include -.Fd #include -.Ft struct ipx_addr +.In sys/types.h +.In netipx/ipx.h +.Ft struct ipx_addr .Fn ipx_addr "const char *cp" .Ft char * .Fn ipx_ntoa "struct ipx_addr ipx" .Sh 解説 .Fn ipx_addr ルーチンは .Tn IPX -アドレスを表わすキャラクタ・ストリングを解釈し、 -システム呼出しに適したバイナリ情報を返します。 +アドレスを表現する文字列を解釈し、 +システムコールに渡すのに適したバイナリ情報を返します。 .Fn ipx_ntoa ルーチンは .Tn IPX -アドレスを受け取り、共通に使われる表記法で -アドレスを示した +アドレスを引数にとり、 +アドレスを一般に使われる次のような表記法で記述した .Tn ASCII -ストリングを返します。 -.Pp -.Bd -filled -offset indent -< ネットワーク番号 >.< ホスト番号 >.< ポート番号 > +文字列として返します: +.Bd -ragged -offset indent +<ネットワーク番号>.<ホスト番号>.<ポート番号> .Ed .Pp -後に付くゼロ・フィールドは圧縮されて各番号は、 +後につく 0 となるフィールドは抑制され、各番号は .Fn ipx_addr -への入力に適したフォーマットの16 進で印刷されます。 -スーパー 10 進ディジットのないフィールドは、後ろに +の入力に適した 16 進数の形式で印字されます。 +10 進数を越える数字が現れないフィールドは最後に .Ql H -が付随します。 +が付加されます。 .Pp .Fn ipx_addr -と共通使用の大多数のフォーマットとの互換性を保証するべく -努力がなされています。最初に、アドレスは、ピリオッド -.Ql \&. , -コロン -.Ql \&: , -パウンド記号 -.Ql \&# -の中から選んだ一つのセパレータ(区切り文字)で 1 フィールド -から 3 フィールドに分割されます。次に、各フィールドでのバイト・セパレー -タ ( コロンまたはピリオッド ) の有無を調べます。バイト・セパレータがあれば、 -分割されたサブフィールドは小さな 16 進数となり、全体は -ネットワーク・バイト順序の量として、 -ネットワーク順序の上位バイトにゼロがあるものとして -取り込まれます。次に、フィールドでのハイフンの有無を調べますが、ハイフン -があれば、フィールドは 1000 年をハイフンで区切る 10 進表記法の数字と -想定されます。次に、数字と見なされるフィールドに前詰めの -.Ql 0x -( C の場合 )、 -後詰めの -.Ql H -( Mesa のとき )、あるいは任意の上位 10 進ディジットがあれば、 -その数字は 16 進数と解釈されます。前詰めの -.Ql 0x -があり、上位 8 進ディジットがなければ、その数字は 8 進数と解釈されます。 -それ以外は、 10 進数に変換されます。 +と一般に使用される大部分の形式との互換性の確保に努力が注がれてきました。 +最初に、アドレスは +ピリオド +.Ql \&. +、コロン +.Ql \&: +、ポンド記号 +.Ql \&# +の中から選んだ単一のセパレータで 1 フィールドから 3 フィールドに分割されます。 +次に、各フィールドについてバイトセパレータ ( コロンまたはピリオド ) +の有無を調べます。 +バイトセパレータがある場合は、 +分離されたバイトフィールドは 16 進数のニブルとして解釈されます。 +全体はネットワーク順でのバイト上位に 0 を拡張したバイト列が +ネットワークのバイト順で解釈されます。 +次に、フィールドでのハイフンの有無を調べます。 +ハイフンがある場合はフィールドはハイフンで 1000 の位を +区切る 10 進数表記の数であると見なされます。 +次に、フィールドは以下のようなやり方で数として解釈されます。 +すなわち、 +(C のように ) 先行する +.Ql 0x +や、 (Mesa のように ) 後続の +.Ql H +がある場合、または 10 進数を越える数字がある場合には、 +フィールドは 16 進数であると解釈されます。 +先行する +.Ql 0 +があり、かつ 8 進数を越える数字が無い場合には、 +フィールドは 8 進数であると解釈されます。 +いずれにも該当しない場合には、 10 進数として変換されます。 .Sh 戻り値 なし ( .Sx バグ -参照 ) +を参照 ) 。 .Sh 関連項目 .\" .Xr ns 4 , .Xr hosts 5 , .Xr networks 5 .Sh 歴史 -前述の +前身である .Fn ns_addr -と +関数と .Fn ns_toa 関数は .Bx 4.3 -で取り入れられました。 +で登場しました。 .Sh バグ .Fn ipx_ntoa -が戻すストリングはスタティック・メモリ領域に常駐します。 +関数が返す文字列は static メモリ領域に存在します。 .Fn ipx_addr -関数は入力形式が適切かどうか診断すべきです。そして、明確にこれを -容認すべきです。 +関数は入力の不適切な形式を診断すべきです。 +更に、このバグ診断を知るための曖昧さのない方策が必要です。 +.\" Translated by Tetsuro Furuya (古谷 哲郎) +.\" Checked by Kazuo Horikawa diff --git a/ja_JP.eucJP/man/man3/isalnum.3 b/ja_JP.eucJP/man/man3/isalnum.3 index c07c55c947..c7d5d6734a 100644 --- a/ja_JP.eucJP/man/man3/isalnum.3 +++ b/ja_JP.eucJP/man/man3/isalnum.3 @@ -1,86 +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 アルファニューメリック・キャラクタテスト +.Nd 英数字文字のテスト +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include +.In ctype.h .Ft int .Fn isalnum "int c" .Sh 解説 .Fn isalnum 関数は、 .Xr isalpha 3 あるいは .Xr isdigit 3 -がエラーでない任意のキャラクタをテストします。 -ASCII キャラクタ・セットでは、下記の文字が該当します。 +が真である文字であるかどうかをテストします。 +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'' +.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 , -xo.Xr isdigit 3 , +.Xr isdigit 3 , +.Xr multibyte 3 , .Xr ascii 7 .Sh 規格 .Fn isalnum 関数は -.St -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/isalpha.3 b/ja_JP.eucJP/man/man3/isalpha.3 index 74d51e52c6..473eeda68e 100644 --- a/ja_JP.eucJP/man/man3/isalpha.3 +++ b/ja_JP.eucJP/man/man3/isalpha.3 @@ -1,83 +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 書式 -.Fd #include -.Ft int +.In ctype.h +.Ft int .Fn isalpha "int c" .Sh 解説 .Fn isalpha 関数は、 .Xr isupper 3 あるいは .Xr islower 3 が真である文字であるかどうかをテストします。 -ASCII 文字セットでは、下記の文字が該当します。 +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'' +.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 -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/isascii.3 b/ja_JP.eucJP/man/man3/isascii.3 index e4dcaba861..4aeebf1c90 100644 --- a/ja_JP.eucJP/man/man3/isascii.3 +++ b/ja_JP.eucJP/man/man3/isascii.3 @@ -1,59 +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 書式 -.Fd #include +.In ctype.h .Ft int .Fn isascii "int c" .Sh 解説 .Fn isascii 関数は .Tn ASCII 文字であるかどうかをテストします。 .Tn ASCII -文字は 0177 と同じかそれ以下の値の任意の文字です。 +文字は、0 から 8 進数 0177 までの範囲で両端を含む値の任意の文字です。 .Sh 関連項目 .Xr ctype 3 , .Xr ascii 7 .Sh 規格 .Fn isascii 関数は -.St -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/isblank.3 b/ja_JP.eucJP/man/man3/isblank.3 index 6110a605d4..3bbc8c7d8b 100644 --- a/ja_JP.eucJP/man/man3/isblank.3 +++ b/ja_JP.eucJP/man/man3/isblank.3 @@ -1,54 +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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/iscntrl.3 b/ja_JP.eucJP/man/man3/iscntrl.3 index c72f467478..40a39be32d 100644 --- a/ja_JP.eucJP/man/man3/iscntrl.3 +++ b/ja_JP.eucJP/man/man3/iscntrl.3 @@ -1,74 +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 書式 -.Fd #include +.In ctype.h .Ft int .Fn iscntrl "int c" .Sh 解説 .Fn iscntrl 関数は制御文字であるかどうかをテストします。 -ASCII 文字セットでは、下記の文字が該当します。 +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 +.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 -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/isdigit.3 b/ja_JP.eucJP/man/man3/isdigit.3 index 341c8258aa..569368944d 100644 --- a/ja_JP.eucJP/man/man3/isdigit.3 +++ b/ja_JP.eucJP/man/man3/isdigit.3 @@ -1,69 +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進数文字のテスト +.Nd 10 進数文字のテスト +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include +.In ctype.h .Ft int .Fn isdigit "int c" .Sh 解説 .Fn isdigit 関数は 10 進数文字であるかどうかをテストします。 -ASCII 文字セットでは、下記の文字が該当します。 +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 "\&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 -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/isgraph.3 b/ja_JP.eucJP/man/man3/isgraph.3 index 6587bfd42f..fb68f209d5 100644 --- a/ja_JP.eucJP/man/man3/isgraph.3 +++ b/ja_JP.eucJP/man/man3/isgraph.3 @@ -1,86 +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 印刷用文字のテスト (空白文字を除く) +.Nd 表示可能文字のテスト (空白文字を除く) +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include +.In ctype.h .Ft int .Fn isgraph "int c" .Sh 解説 .Fn isgraph -関数は空白を除いた印刷用文字であるかどうかをテストします。 -ASCII 文字セットでは、下記の文字が該当します。 +関数は、空白以外の表示可能文字であるかどうかをテストします。 +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\ ``~'' +.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 -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/isinf.3 b/ja_JP.eucJP/man/man3/isinf.3 index abd05f6171..8fccb2ed46 100644 --- a/ja_JP.eucJP/man/man3/isinf.3 +++ b/ja_JP.eucJP/man/man3/isinf.3 @@ -1,72 +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 isnan , +.Nm isnanf .Nd 無限大 (infinity) または非数値 (not-a-number) のテスト +.Sh ライブラリ +.Lb libc .Sh 書式 -.Ft int +.Ft int .Fn isinf double -.Ft int +.Ft int .Fn isnan double +.Ft int +.Fn isnanf float .Sh 解説 -.Fn isninf -関数は数値が +.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 を返します。 +.Tn VAX +および +Tahoe のどちらの浮動小数点数においても、 +「無限大」や「非数値」を見分けるための値を持ちません。 +これらのアーキテクチャ上では、これらのルーチンは、常に 0 を返します。 diff --git a/ja_JP.eucJP/man/man3/islower.3 b/ja_JP.eucJP/man/man3/islower.3 index 921f15d73a..0393f0c07d 100644 --- a/ja_JP.eucJP/man/man3/islower.3 +++ b/ja_JP.eucJP/man/man3/islower.3 @@ -1,73 +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 書式 -.Fd #include +.In ctype.h .Ft int .Fn islower "int c" .Sh 解説 .Fn islower -関数は小文字であるかどうかをテストします。 -ASCII 文字セットでは、下記の文字が該当します。 +関数は、小文字であるかどうかをテストします。 +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'' +.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 -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/isprint.3 b/ja_JP.eucJP/man/man3/isprint.3 index 8811eba451..44ec7004bc 100644 --- a/ja_JP.eucJP/man/man3/isprint.3 +++ b/ja_JP.eucJP/man/man3/isprint.3 @@ -1,86 +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 印刷用文字のテスト (空白文字を含む) +.Nd 表示可能文字のテスト (空白文字を含む) +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn isprint "int c" .Sh 解説 .Fn isprint -関数は空白 (' ') を含む印刷用文字であるかどうかをテストします。 -ASCII 文字セットでは、下記の文字が該当します。 +関数は、空白 (' ') を含む表示可能文字であるかどうかをテストします。 +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\ ``~'' +.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 -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/ispunct.3 b/ja_JP.eucJP/man/man3/ispunct.3 index 0066d3e164..11c4d0a88c 100644 --- a/ja_JP.eucJP/man/man3/ispunct.3 +++ b/ja_JP.eucJP/man/man3/ispunct.3 @@ -1,77 +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 .Ft int .Fn ispunct "int c" .Sh 解説 .Fn ispunct 関数は、 空白または .Xr isalnum 3 -が真である文字を除いた、印刷用文字であるかどうかをテストします。 -ASCII 文字セットでは下記の文字が該当します。 +が真である文字を除いた、表示可能文字であるかどうかをテストします。 +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\ ``~'' +.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 -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/isspace.3 b/ja_JP.eucJP/man/man3/isspace.3 index cdd2aa36e6..5a554d3d8b 100644 --- a/ja_JP.eucJP/man/man3/isspace.3 +++ b/ja_JP.eucJP/man/man3/isspace.3 @@ -1,69 +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 .Ft int .Fn isspace "int c" .Sh 解説 .Fn isspace 関数は標準空白文字であるかどうかをテストします。 -ASCII 文字セットでは下記の文字が該当します。 +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 +.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 -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/isupper.3 b/ja_JP.eucJP/man/man3/isupper.3 index 04e9d2c9bf..e192c48358 100644 --- a/ja_JP.eucJP/man/man3/isupper.3 +++ b/ja_JP.eucJP/man/man3/isupper.3 @@ -1,73 +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 書式 -.Fd #include +.In ctype.h .Ft int .Fn isupper "int c" .Sh 解説 .Fn isupper 関数は大文字であるかどうかをテストします。 -ASCII 文字セットでは下記の文字が該当します。 +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'' +.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 -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/isxdigit.3 b/ja_JP.eucJP/man/man3/isxdigit.3 index 369fd38fd1..401af4a437 100644 --- a/ja_JP.eucJP/man/man3/isxdigit.3 +++ b/ja_JP.eucJP/man/man3/isxdigit.3 @@ -1,72 +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進数文字のテスト +.Nd 16 進数文字のテスト +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include +.In ctype.h .Ft int .Fn isxdigit "int c" .Sh 解説 .Fn isxdigit 関数は 16 進数文字であるかどうかをテストします。 -ASCII 文字セットでは、下記の文字が該当します。 +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'' +.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 -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/j0.3 b/ja_JP.eucJP/man/man3/j0.3 index 3c8f29c6ee..a8dc291359 100644 --- a/ja_JP.eucJP/man/man3/j0.3 +++ b/ja_JP.eucJP/man/man3/j0.3 @@ -1,155 +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.2 2001/08/17 15:43:08 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/kvm_getprocs.3 b/ja_JP.eucJP/man/man3/kvm_getprocs.3 index 688ec777b2..b16f9d0a8c 100644 --- a/ja_JP.eucJP/man/man3/kvm_getprocs.3 +++ b/ja_JP.eucJP/man/man3/kvm_getprocs.3 @@ -1,174 +1,174 @@ .\" Copyright (c) 1992, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software developed by the Computer Systems .\" Engineering group at Lawrence Berkeley Laboratory under DARPA contract .\" BG 91-66 and contributed to Berkeley. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)kvm_getprocs.3 8.1 (Berkeley) 6/4/93 -.\" %Id: kvm_getprocs.3,v 1.5 1997/02/22 15:07:00 peter Exp % +.\" $Id: kvm_getprocs.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" .\" $FreeBSD$ .\" .Dd June 4, 1993 .Dt KVM_GETPROCS 3 .Os .Sh 名称 .Nm kvm_getprocs , .Nm kvm_getargv , .Nm kvm_getenvv .Nd ユーザプロセス状態にアクセスする .Sh 書式 .Fd #include .Fd #include .Fd #include .\" .Fa kvm_t *kd .br .Ft struct kinfo_proc * .Fn kvm_getprocs "kvm_t *kd" "int op" "int arg" "int *cnt" .Ft char ** .Fn kvm_getargv "kvm_t *kd" "const struct kinfo_proc *p" "int nchr" .Ft char ** .Fn kvm_getenvv "kvm_t *kd" "const struct kinfo_proc *p" "int nchr" .Sh 解説 .Fn kvm_getprocs は .Fa kd が指示するカーネルの動作中のプロセスの (サブ) 集合を戻します。 .Fa op と .Fa arg の各引数は戻されたプロセスの集合を制限する属性を構成します。 .Fa op の値は以下のフィルタリング属性を記述しています : .Pp .Bl -tag -width 20n -offset indent -compact .It Sy KERN_PROC_ALL すべてのプロセス .It Sy KERN_PROC_PID プロセス ID .Fa arg を持つプロセス .It Sy KERN_PROC_PGRP プロセスグループ .Fa arg を持つプロセス .It Sy KERN_PROC_SESSION セッション .Fa arg を持つプロセス .It Sy KERN_PROC_TTY tty .Fa arg を持つプロセス .It Sy KERN_PROC_UID 実効ユーザ ID .Fa arg を持つプロセス .It Sy KERN_PROC_RUID 実ユーザ ID .Fa arg を持つプロセス .El .Pp 見つけたプロセス数は参照パラメータ .Fa cnt で戻されます。 プロセスは kinfo_proc 構造体の連続配列として戻されます。 このメモリは局所的に割り当てられ、 .Fn kvm_getprocs と .Fn kvm_close に引き続く呼び出しはこの記憶域に上書きします。 .Pp .Fn kvm_getargv はヌルで終了する引数ベクタを戻します。 このベクタは .Fa p が示すプロセスに通過したコマンドライン引数に対応します。 おそらく、これらの引数はプロセス生成時の .Xr exec 3 に通過した値に相当します。 しかしながら、この情報は、 故意にプロセス自身のコントロール下にあります。 オリジナルのコマンド名は、 .Fn kvm_getprocs によって戻されたプロセス構造体の p_comm フィールドに、 変更されていない状態で見つけることができます。 .Pp .Fa nchr 引数はヌルバイトを含めた最大の文字数を示し、 文字列の構築に使います。 もしもこの量を超えてしまえば、 オーバーフローの原因となる文字列は切り捨てられ、 結果が部分的に戻されます。これは .Xr ps 1 や .Xr w 1 のようなプログラムにとっては簡便な方法です。 これらのプログラムにおいては、 コマンドの 1 行要約のみを印字し、 無視するためのみに多量のテキストを複写すべきではありません。 .Fa nchr がゼロならば、なんら制限は課されませんし、 すべての引数の文字列はそっくりそのまま戻されます。 .Pp argv ポインタと文字列記憶域に割り当てられたメモリは、 kvm ライブラリによって所有されます。引き続く .Fn kvm_getprocs と .Xr kvm_close 3 呼び出しはこの記憶域を容赦なく使います。 .Pp .Fn kvm_getenvv 関数は .Fn kvm_getargv に類似していますが、環境文字列のベクタを戻します。 このデータはまたプロセスにより変更可能です。 .Sh 戻り値 .Fn kvm_getprocs , .Fn kvm_getargv , および .Fn kvm_getenvv はすべて異常終了時に .Dv ヌル を戻します。 .Sh バグ これらのルーチンは kvm インタフェースに属していません。 .Sh 関連項目 .Xr kvm 3 , .Xr kvm_close 3 , .Xr kvm_geterr 3 , .Xr kvm_nlist 3 , .Xr kvm_open 3 , .Xr kvm_openfiles 3 , .Xr kvm_read 3 , .Xr kvm_write 3 diff --git a/ja_JP.eucJP/man/man3/ldexp.3 b/ja_JP.eucJP/man/man3/ldexp.3 index 1e9f818689..1b05d2b5bd 100644 --- a/ja_JP.eucJP/man/man3/ldexp.3 +++ b/ja_JP.eucJP/man/man3/ldexp.3 @@ -1,76 +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 書式 -.Fd #include +.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 -ansiC -に準拠しています。 +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/lgamma.3 b/ja_JP.eucJP/man/man3/lgamma.3 index 8f83d2b09b..193f9f5a5b 100644 --- a/ja_JP.eucJP/man/man3/lgamma.3 +++ b/ja_JP.eucJP/man/man3/lgamma.3 @@ -1,131 +1,131 @@ .\" Copyright (c) 1985, 1991 Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)lgamma.3 6.6 (Berkeley) 12/3/92 -.\" %Id: lgamma.3,v 1.6 1997/07/13 14:45:28 bde Exp % +.\" $Id: lgamma.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" .\" $FreeBSD$ .\" .Dd December 3, 1992 .Dt LGAMMA 3 .Os BSD 4.3 .Sh 名称 .Nm lgamma , .Nm lgammaf , .Nm gamma , .Nm gammaf .Nd ガンマ関数およびガンマ関数の対数計算 .Sh 書式 .Fd #include .Ft extern int .Fa signgam ; .sp .Ft double .Fn lgamma "double x" .Ft float .Fn lgammaf "float x" .Ft double .Fn gamma "double x" .Ft float .Fn gammaf "float x" .Sh 解説 .Fn lgamma x および .Fn lgammaf x は x のガンマ関数の自然対数を返します。 .Pp 外部変数 .Fa signgam には x のガンマ関数の符号が返されます。 .Pp .Fn gamma x および .Fn gammaf x では .Fa signgam は使用されません。 .Sh 特記事項 g := \(*G(x) の計算において .Dq Li signam\(**exp(lgamma(x)) のような記述は不適切です。 以下のような (C 言語) プログラムコーディングにします。 .Bd -literal -offset indent lg = lgamma(x); g = signam\(**exp(lg); .Ed .Pp signgam は、 .Fn lgamma あるいは .Fn lgammaf の処理が完了した段階でないと正しい値を得ることができません。 .Pp 引数の値域については、 .Fn gamma および .Fn gammaf のものが優先されます。 正値引数の場合は全ての計算要素まで正確に計算されます。 .Fn lgamma のベキ指数の有効サイズは 2 の 10 乗までです。 .Sh 戻り値 .Fn gamma , .Fn gammaf , .Fn lgamma , および .Fn lgammaf は引数の値が適正な範囲であれば正しい結果を返します。 制限を越えた大きな桁の正整数値や負符号の 整数値を指定すると桁あふれエラーとなります。 .Tn VAX では、予約語のオペレータが返され、 負の大きな非整数値に関しては .Fn gamma 関数でアンダーフロエラーが発生し、 .Va errno に .Er ERANGE がセットされます。 .Sh 関連項目 .Xr math 3 .Sh 歴史 .Nm lgamma は .Bx 4.3 に実装された関数です。 .Nm gamma は .Bx 4.4 に実装された関数です。 .Fn gamma の名称は関数名 .Fn lgamma の元になっていますが、 旧いコードの部分では互換性が失われている場合もあります。 diff --git a/ja_JP.eucJP/man/man3/libalias.3 b/ja_JP.eucJP/man/man3/libalias.3 index c4a77a7d2e..e50031de59 100644 --- a/ja_JP.eucJP/man/man3/libalias.3 +++ b/ja_JP.eucJP/man/man3/libalias.3 @@ -1,720 +1,1051 @@ -.\" $FreeBSD$ +.\"- +.\" Copyright (c) 2001 Charles Mott +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must 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 % .\" -.Dd July, 1997 -.Dt "libalias" 3 +.\" $FreeBSD$ +.Dd April 13, 2000 +.Dt LIBALIAS 3 .Os .Sh 名称 -.Nm "libalias" -パケットエイリアシングライブラリ。 -ネットワークアドレス変換 (NAT) と別名化のための -IP パケットエイリアシングおよびエイリアス解除関数群 +.Nm libalias +.Nd スカレードおよびネットワークアドレス変換用パケットエイリアシングライブラリ .Sh 書式 -.Fd #include -.Fd #include -.Fd #include - +.In sys/types.h +.In netinet/in.h +.In alias.h +.Pp 関数のプロトタイプは、このテキストの本文で紹介します。 -.Sh 目次 -.Bd -literal -offset left -1. 序文 -2. 初期化と制御 - 2.1 PacketAliasInit() - 2.2 PacketAliasUninit() - 2.3 PacketAliasSetAddress() - 2.4 PacketAliasSetMode() - 2.5 PacketAliasSetFWBase() -3. パケット操作 - 3.1 PacketAliasIn() - 3.2 PacketAliasOut() -4. ポートとアドレスのリダイレクション - 4.1 PacketAliasRedirectPort() - 4.2 PacketAliasRedirectAddr() - 4.3 PacketAliasRedirectDelete() -5. フラグメント操作 - 5.1 PacketAliasSaveFragment() - 5.2 PacketAliasGetFragment() - 5.3 PacketAliasFragmentIn() -6. その他の関数 - 6.1 PacketAliasSetTarget() - 6.2 PacketAliasCheckNewLink() - 6.3 PacketAliasInternetChecksum() -7. 作者 -8. 謝辞 - -付録 A: 概念的背景 - A.1 エイリアシング・リンク - A.2 静的および動的リンク - A.3 部分的定義によるリンク - A.4 動的リンクの生成 -.Ed - -.Sh 1. 序文 +.Sh 解説 +.Nm +ライブラリは、IP パケットのエイリアスおよびエイリアス解除用の関数群であり、 +マスカレードおよびネットワークアドレス変換 (NAT) を目的としています。 +.Pp 導入 このライブラリは、IP のローカルネットワークアドレスの変換 および変換処理サポート用にデザインされた関数です。 ローカルネットワークの未登録の IP アドレスから発信するパケットは、 アクセス可能な IP アドレスから来たかのように見せかけることができます。 外から入ってくるパケットに対しては、 ローカルネットワーク上の正しいマシンに送られるよう エイリアス解除されます。 - +.Pp パケットエイリアシングエンジンには、 ある程度の柔軟性が組み込まれています。 もっとも簡単な操作では、 ローカルネットワークアドレスとパケットエイリアスホストとの間で 多対 1 対応付けが行なわれます。 これは仮装 IP として知られていることです。 更に、ローカルアドレスとパブリックアドレスの間での 1 対 1 対応付けも実装することが可能で、 静的 NAT として知られています。 これらの間には、異なるプライベートアドレスのグループを それぞれ異なるパブリックアドレスにリンクさせることができ、 その中にははっきりした多対 1 対応もいくつか見られます。 更に、パブリックアドレスおよびポートは 固定的にプライベートアドレスおよびポートに リダイレクトさせることができます。 - +.Pp パケットエイリアシングエンジンは、 カーネル外部のユーザ空間で作用するように設計されており、 そのためプライベートなカーネルデータ構造へのアクセスは不要です。 ただし、ソースコードはカーネル環境に組み込むことができます。 - -.Sh 2. 初期化と制御 +.Sh 初期化と制御 2 つの特殊な関数、 -PacketAliasInit() および PacketAliasSetAddress() は、 +.Fn PacketAliasInit +および +.Fn PacketAliasSetAddress +は、 パケット操作が完了する前に呼ぶ必要があります。 また、パケットエイリアシングエンジンの操作モードに対し -PacketAliasSetMode() 呼び出しによりカスタマイズできます。 -.Ss 2.1 PacketAliasInit() - +.Fn PacketAliasSetMode +呼び出しによりカスタマイズできます。 +.Pp .Ft void .Fn PacketAliasInit "void" - +.Bd -ragged -offset indent この関数には引数がなく、また戻り値もありません。 内部データ構造の初期化に使用されます。 以下に示すモードビットは -PacketAliasInit() の呼び出し後、必ずセットされます。 -これらのモードビットの意味については、 -セクション 2.3 を参照してください。 -.Bd -literal -offset indent - PKT_ALIAS_USE_SAME_PORTS - PKT_ALIAS_USE_SOCKETS - PKT_ALIAS_RESET_ON_ADDR_CHANGE - -.Ed +.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 この関数はパケットエイリアスエンジンに対し、 常時同一の初期状態を返します。 -PacketAliasSetAddress() 呼び出しは、これに続いて行ないます。 +.Fn PacketAliasSetAddress +呼び出しは、これに続いて行ないます。 また、前述したデフォルトモードビットを変更する場合は -PacketAliasSetMode() を呼び出します。 - +.Fn PacketAliasSetMode +を呼び出します。 +.Pp この関数呼び出しは、 パケット操作の前にプログラム開始段階で実行する必要があります。 -.Ss 2.2 PacketAliasUninit() - +.Ed +.Pp .Ft void -.Fn PacketAliasUninit "void" - +.Fn PacketAliasUninit void +.Bd -ragged -offset indent この関数には引数も戻り値もなく、 内部データ構造に設定された値をクリアする場合に使用されます。 - +.Pp この関数はプログラムでエイリアスエンジンの使用を 停止させる場合に呼び出す必要があります。 それにより、ファイアウォールに空いた隙間を塞ぐことになります。 -以前との互換性や特別なセキュリティを備えるために、 -PacketAliasInit() が atexit() チェーンに付加されています。 +以前との互換性や特別なセキュリティを備えるために、本関数を +.Fn PacketAliasInit +が +.Xr atexit 3 +チェーンに付加しています。 何度呼び出しても問題はありません。 -.Ss 2.3 PacketAliasSetAddress() - +.Ed +.Pp .Ft void .Fn PacketAliasSetAddress "struct in_addr addr" - +.Bd -ragged -offset indent この関数は、ローカル領域のネットワーク外へ パケットが発信する先のソースアドレスをセットします。 -PacketAliasRedirectAddr() により生成された +.Fn PacketAliasRedirectAddr +により生成された 静的アドレス対応により上書きされない限り、 発信パケットはすべてこのアドレスに再対応付けされます。 - -PKT_ALIAS_RESET_ON_ADDR_CHANGE モードビット +.Pp +.Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE +モードビット (デフォルト操作モード) が設定されている場合、 内部的なエイリアスリンクテーブルは、 エイリアスアドレスが変更されるたび、 -PacketAliasReset() 呼び出しが行なわれたかのようにリセットされます。 +リセットされます。 これは一連のダイアルアップ操作の中で IP アドレス状態に関わらず、 -ppp のようなインタフェースに便利です。 - -PKT_ALIAS_RESET_ON_ADDR_CHANGE モードビットが +.Xr ppp 8 +のようなインタフェースに便利です。 +.Pp +.Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE +モードビットが 0 にセットされていた場合、この関数は、 パケット間のエイリアスの動的変更に使用できます (オーバヘッドの少ない呼び出しです)。 - +.Pp パケット操作の前にこの関数を呼び出す必要があります。 -.Ss 2.4 PacketAliasSetMode() - +.Ed +.Pp .Ft unsigned int -.Fn PacketAliasSetMode "unsigned int mode" "unsigned int mask" - +.Fn PacketAliasSetMode "unsigned int flags" "unsigned int mask" +.Bd -ragged -offset indent この関数は、 -.Em mode +.Fa flags 値に従ってモードビットの設定をクリアを行ないます。 -.Em mask +.Fa mask により示されたビットだけが対象となります。 -以下に示すモードビットは alias.h で定義されています。 -.Bl -hang -offset left -.It PKT_ALIAS_LOG. -/var/log/alias.log ファイルへのロギングを可能にします。 +以下に示すモードビットは +.Aq Pa alias.h +で定義されています。 +.Bl -tag -width indent +.It Dv PKT_ALIAS_LOG +.Pa /var/log/alias.log +ファイルへのロギングを可能にします。 ログファイルには、エイリアス・リンクの作成、削除のたびに icmp、tcp、udp へのリンク回数が記録されます。 -ログファイルが "tail -f" により継続的に見ることができれば、 +ログファイルが +.Xr tail 1 +により継続的に見ることができれば、 主としてデバッグ用として有効です。 -.It PKT_ALIAS_DENY_INCOMING. +.It Dv PKT_ALIAS_DENY_INCOMING このモードビットが設定されていると、 TCP 接続や UDP トランザクションに関連する 外部から着信するあらゆるパケットは、 -呼び出しプログラムで無視 (PacketAliasIn() であれば -PKT_ALIAS_IGNORED を返す) するための印が付けられます。 +呼び出しプログラムで無視 ( +.Fn PacketAliasIn +であれば +.Dv PKT_ALIAS_IGNORED +を返す) +するための印が付けられます。 パケットのエイリアスホストや ローカルネットワークから発生した接続や トランザクションに対するレスポンスに対する影響はありません。 このモードビットは片方向のファイアウォールを実装する時に有効です。 -.It PKT_ALIAS_SAME_PORTS. +.It Dv PKT_ALIAS_SAME_PORTS このモードビットが設定されていると、 パケットエイリアスエンジンは実際のローカルポート番号を そのままエイリアスポート番号にしようとします。 このことは (proto, alias addr, alias port, remote addr, remote port) の 5 つのパラメータのペアが一意であれば可能です。 競合が起きる場合は、このビットが設定されていても エイリアスポート番号には別の番号が選択されます。 -.It PKT_ALIAS_USE_SOCKETS. +.It Dv PKT_ALIAS_USE_SOCKETS このビットは、エイリアスホストがパケット移送時のように ネットワーク上にトラフィックを発生させる場合必ず設定します。 パケットエイリアスホストが不明なホストアドレスや 不明のポート番号 (例えば、FTP データ接続時) からの接続を待っている時は、このモードビットは、 ポートの競合が起きないように プレースホルダとしてソケットの割り当てを定義します。 接続が確立されると、 通常は 1 分ほどでソケットは閉じられます。 -.It PKT_ALIAS_UNREGISTERED_ONLY. +.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) - +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 PKT_ALIAS_RESET_ON_ADDR_CHANGE. -このモードビットが設定されており、PacketAliasSetAddress() が +.It Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE +このモードビットが設定されており、 +.Fn PacketAliasSetAddress +が エイリアスアドレス変更のために呼ばれるケースでは、 パケットエイリアスエンジンの内部リンクテーブル内容がクリアされます。 この操作モードは、 ダイアルアップ間でのインタフェースアドレスを変更したり、 -変更せずにおく ppp リンクの場合に有効です。 +変更せずにおく +.Xr ppp 8 +リンクの場合に有効です。 このモードビットが設定されていない場合、 リンクテーブルはアドレスが変更されてもリセットされません。 -.It PKT_ALIAS_PUNCH_FW. -このオプションにより、libalias は、 -FTP/IRC DCC 接続に対する ipfw ベースのファイアウォールの +.It Dv PKT_ALIAS_PUNCH_FW +このオプションにより、 +.Nm +は、 +FTP/IRC DCC 接続に対する +.Xr ipfirewall 4 +ベースのファイアウォールの `隙間' を作ることになります。 開けられた隙間は IP アドレスやポートと結び付いており、 別の接続に使用することはできません。 隙間はそれを使用している接続が消滅すれば除去されます。 -libalias を使用しているプログラムを強制的に終了させる +.Nm +を使用しているプログラムを強制的に終了させる (例えば kill -9) 仕組みは、フラグの状態により、 -隙間に割り当てられた全 ipfw 領域をクリアすることで実現されています。 -このことはまた PacketAliasSetFWBase() に対する +隙間に割り当てられた全ファイアゥオール領域をクリアすることで実現されています。 +このことはまた +.Fn PacketAliasSetFWBase +に対する 初期呼び出しでも起こります。 この呼び出しはフラグの設定の前に行なう必要があります。 - +.It Dv PKT_ALIAS_REVERSE +本オプションは、ライブラリが内向きパケットと外向きパケットを扱う方法を +反転させます。 +これにより、外部インタフェースの代りに内部インタフェースを通過する +パケットを食わせることができます。 +.It Dv PKT_ALIAS_PROXY_ONLY +本オプションは、ライブラリが透過プロキシルールのみに従うよう指示します。 +通常のパケットエイリアスは実行されません。 +詳細は後述の +.Fn PacketAliasProxyRule +を参照してください。 .El - -.Ss 2.5 PacketAliasSetFWBase() - +.Ed +.Pp .Ft void .Fn PacketAliasSetFWBase "unsigned int base" "unsigned int num" - -IPFW に (PKT_ALIAS_PUNCH_FW フラグにより) +.Bd -ragged -offset indent +ファイアウォールに ( +.Dv PKT_ALIAS_PUNCH_FW +フラグにより) ファイアウォールの隙間に対する領域を割り当てます。 領域は全初期化ルールに従いクリアされます。 - -.Sh 3. パケット操作 +.Ed +.Sh パケット操作 パケット処理関数は、着信 (リモート -> ローカル) および発信 (ローカル -> リモート) パケットの修正に使用されます。 ネットワークインタフェース経由でのパケットの送受信は、 呼び出し側プログラムが行ないます。 - -PacketAliasInit() および PacketAliasSetAddress() とともに、 -PacketAliasIn() と PacketAliasOut() の +.Pp +.Fn PacketAliasInit +および +.Fn PacketAliasSetAddress +とともに、 +.Fn PacketAliasIn +と +.Fn PacketAliasOut +の 2 つのパケット処理ルーチンが基本的な、 見かけの IP 実装に必要な最小機能として用意されています。 -.Ss 3.1 PacketAliasIn() - +.Pp .Ft int .Fn PacketAliasIn "char *buffer" "int maxpacketsize" - +.Bd -ragged -offset indent リモートのマシンからローカルネットワークへの着信パケットは この関数によりエイリアス解除されます。 IP パケットは引数 -.Em buffer +.Fa buffer で指定されます。 -.Em maxpacketsize +.Fa maxpacketsize はパケットを含むデータ構造の長さを示しており、 実際のパケット長より大きくとる必要があります。 - +.Pp 戻りコード : -.Bl -hang -offset left -.It PKT_ALIAS_ERROR. -パケットエイリアシングエンジン内で発生した内部エラー。 -.It PKT_ALIAS_OK. +.Bl -tag -width indent +.It Dv PKT_ALIAS_OK パケットエイリアシング処理は成功しました。 -.It PKT_ALIAS_IGNORED. +.It Dv PKT_ALIAS_IGNORED パケットは無視され、エイリアスは解除されませんでした。 これは、プロトコルが認識されないとき、 ICMP のメッセージタイプは処理されていないか、 あるいは新たな接続についての入力パケットが -無視されたときに発生します -(セクション 2.2 の PKT_ALIAS_DENY_INCOMING を参照してください)。 -.It PKT_ALIAS_UNRESOLVED_FRAGMENT. +無視されたときに発生します ( +.Fn PacketAliasSetMode +が +.Dv PKT_ALIAS_DENY_INCOMING +を設定した場合)。 +.It Dv PKT_ALIAS_UNRESOLVED_FRAGMENT ヘッダフラグメントが未送信のため フラグメントが解消されないときにこのコードが返されてきます。 この場合、フラグメントはヘッダフラグメントが見つかるまで -PacketAliasSaveFragment() により保存しておく必要があります。 -.It PKT_ALIAS_FOUND_HEADER_FRAGMENT. +.Fn PacketAliasSaveFragment +により保存しておく必要があります。 +.It Dv PKT_ALIAS_FOUND_HEADER_FRAGMENT パケットエイリアシング処理は成功し、 ヘッダフラグメントも見つかりました。 これは解消されていないフラグメントを、 -PacketAliasGetFragment() により探し、 -PacketAliasFragmentIn() を使って +.Fn PacketAliasGetFragment +により探し、 +.Fn PacketAliasFragmentIn +を使って エイリアス解除する時のシグナルとなります。 +.It Dv PKT_ALIAS_ERROR +パケットエイリアシングエンジン内で発生した内部エラー。 .El -.Ss 3.2 PacketAliasOut() - +.Ed +.Pp .Ft int .Fn PacketAliasOut "char *buffer" "int maxpacketsize" - +.Bd -ragged -offset indent ローカルネットワークからリモートのマシンへ発信するパケットは、 この関数によりエイリアスされます。 IP パケットは引数 -.Em buffer +.Fa buffer で指定され、 -.Em maxpacketsize +.Fa maxpacketsize はパケットが取りうる最大長を示します。 IP 表現形式プロトコルは、アドレスと、修正され、 またパケット長の変更にからむ一連のデータ内のポート情報を設定します。 プロトコルのよく知られた事例としては、 FTP と IRC DDC があります。 - +Pp 戻りコード : -.Bl -hang -offset left -.It PKT_ALIAS_ERROR. -パケットエイリアシング内で発生した内部エラー。 -.It PKT_ALIAS_OK. +.Bl -tag -width indent +.It Dv PKT_ALIAS_OK パケットエイリアシング処理は成功しました。 -.It PKT_ALIAS_IGNORED. +.It Dv PKT_ALIAS_IGNORED パケットは無視され、エイリアス解除はされませんでした。 これはプロトコルが認識されないときか、あるいは ICMP メッセージタイプが処理されないときに発生します。 +.It Dv PKT_ALIAS_ERROR +パケットエイリアシング内で発生した内部エラー。 .El - -.Sh 4. ポートとアドレスのリダイレクション +.Ed +.Sh ポートとアドレスのリダイレクション このセクションで解説している関数は、 ローカルネットワーク上のマシンにおいて、 外部ネットワークから新たな着信に対するアクセスをある程度可能にします。 個々のポートは、再対応付けや 固定的なネットワークアドレスの変換を定義することができます。 -.Ss 4.1 PacketAliasRedirectPort() - +.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 この関数は、所定のリモートアドレスやポートから エイリアスアドレスやポートへのトラフィックを、 指定されたローカルアドレスやポートへのリダイレクトを定義します。 パラメータ -.Em proto -は IPPROTO_TCP か IPPROTO_UDP のどちらかに該当し、 - で定義されます。 - -.Em local_addr +.Fa proto +は +.Dv IPPROTO_TCP +か +.Dv IPPROTO_UDP +のどちらかに該当し、 +.Aq Pa netinet/in.h +で定義されます。 +.Pp +.Fa local_addr あるいは -.Em alias_addr +.Fa alias_addr が 0 ならば、パケットエイリアシングアドレスは -PacketAliasSetAddress() で設定されたものを使用します。 -PacketAliasRedirectPort() 呼び出しの後で -PacketAliasAddress() 呼び出しが実行され、 -アドレスが変更されても、 -引数が 0 の場合これは無効になります。 - -.Em remote_addr +.Fn PacketAliasSetAddress +で設定されたものを使用します。 +.Fn PacketAliasRedirectPort +が +.Fn PacketAliasSetAddress +呼び出し語に +アドレス変更のために呼び出されても、 +0 リファレンスがこの変更を記録します。 +.Pp +負荷共有用にリンクが更に設定されると、 +.Fa local_addr +と +.Fa local_port +は無視され、サーバプールから動的に選択されます。 +これは +.Fn PacketAliasAddServer +で後述されています。 +.Pp +.Fa remote_addr が 0 の場合、 パケットをリモートアドレスからリダイレクトします。 同様に、 -.Em remote_port +.Fa remote_port が 0 の場合、リモートのポート番号から発生した パケットをリダイレクトします。 通常、リモートポート定義は 0 ですが、 ファイアウォールに対しては 0 でない リモートアドレスが有効な場合があります。 -PacketAliasRedirectPort() 呼び出しにより、 +.Fn PacketAliasRedirectPort +呼び出しにより、 アドレスとポート定義が重複した場合、 最新の呼び出しが優先されます。 - +.Pp この関数は次いで -PacketAliasRedirectDelete() で使用するポインタを返します。 -ヌルが返された場合、関数呼び出しは正常に終了していません。 - +.Fn PacketAliasRedirectDelete +で使用するポインタを返します。 +.Dv NULL +が返された場合、関数呼び出しは正常に終了していません。 +.Pp あらゆるポートアドレスは、 ネットワークアドレスのバイトオーダ表記に従っています。 -これらのパラメータは htons() を使用して、 +これらのパラメータは +.Xr htons 3 +を使用して、 内部的な数値形式からネットワークバイトオーダ表記に 変換する必要があります。 アドレスもまた同様にネットワークバイトオーダ形式であり、 -.Em struct in_addr +.Fa struct in_addr データ型で暗黙に定義されます。 -.Ss 4.2 PacketAliasRedirectAddr() - +.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 この関数は、 -.Em alias_addr +.Fa alias_addr への全着信トラフィックを -.Em local_addr +.Fa local_addr にリダイレクトします。同様に、 -.Em local_addr +.Fa local_addr からの全発信トラフィックは -.Em alias_addr +.Fa alias_addr にエイリアスされます。 - -.Em local_addr +.Pp +.Pa local_addr または -.Em alias_addr -が 0 の場合、PacketAliasSetAddress() により設定された +.Pa alias_addr +が 0 の場合、 +.Fn PacketAliasSetAddress +により設定された パケットエイリアシングアドレスが使用されます。 -PacketAliasAddress() は -PacketAliasRedirectAddr() の呼び出し後に -アドレス変更のために呼び出されても無効です。 - -PacketAliasRedirectAddr() に対する一連の呼び出しが +.Fn PacketAliasSetAddress +が +.Fn PacketAliasRedirectAddr +の呼び出し後に +アドレス変更のために呼び出されても、 +0 リファレンスがこの変更を記録します。 +.Pp +負荷共有用にリンクが更に設定されると、 +.Fa local_addr +は無視され、サーバプールから動的に選択されます。 +これは +.Fn PacketAliasAddServer +で後述されています。 +.Pp +.Fn PacketAliasRedirectAddr +に対する一連の呼び出しが 同一のエイリアシングアドレスを使用している場合、 このエイリアシングアドレスへの新たな全着信トラフィックは、 -最後の関数呼び出しで作られたローカルアドレスへリダイレクトされますが、 +最後の関数呼び出しで作られたローカルアドレスへリダイレクトされます。 いくつかの関数呼び出しで指定されたローカルマシンからの 新たな全トラフィックは、 同一のアドレスにリダイレクトされます。 -.Bd -literal -offset left - 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")); +.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 から、 -telnet や ftp などでの発信接続は +.Xr telnet 1 +や +.Xr ftp 1 +などでの発信接続は 141.221.254.101 からでてきたかのようにみえます。 141.221.254.101 への着信接続は 192.168.0.4 にリダイレクトされます。 - -PacketAliasRedirectPort() に対する呼び出しより -PacketAliasRedirectAddr() で指定されたアドレス対応が必ず優先されます。 - -この関数は、PacketAliasRedirectDelete() が使用するポインタを返します。 -ヌルが返される場合、関数呼び出しは正常に終了していません。 -.Ss 4.3 PacketAliasRedirectDelete() - +.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" - -この関数は、PacketAliasRedirectPort() あるいは -PacketAliasRedirectAddr() が設定した +.Bd -ragged -offset indent +この関数は、 +.Fn PacketAliasRedirectPort +あるいは +.Fn PacketAliasRedirectAddr +が設定した 特定の静的リダイレクトルールを削除します。 パラメータ -.Em ptr +.Fa ptr は、いずれかのリダイレクション関数から返されてくるポインタです。 -正しくないポインタが PacketAliasRedirectDelete() に渡されると、 +正しくないポインタが +.Fn PacketAliasRedirectDelete +に渡されると、 プログラムはクラッシュするか、予期せぬ動作結果となります。 そのためにこの関数の使用に際しては注意が必要です。 - -.Sh 5. フラグメント操作 +.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 フラグメント操作 このセクションの関数は着信フラグメント操作で使用されます。 - -発信フラグメントは、PacketAliasRedirectAddress() で設定した +.Pp +発信フラグメントは、 +.Fn PacketAliasRedirectAddr +で設定した 適用可能な対応付によるアドレス変更により、 -または PacketAliasSetAddress() で設定した +または +.Fn PacketAliasSetAddress +で設定した エイリアシングアドレスの省略時値により、 -PacketAlaisOut() 内で処理されます。 - +.Fn PacketAlaisOut +内で処理されます。 +.Pp 着信フラグメントは 2 通りの方法で処理されます。 フラグメント化された IP パケットのヘッダが既に分かっている場合は、 一連のフラグメントはヘッダフラッグメントと 同じ方式で再対応付けされます。 フラグメントはヘッダが到着する前に保存され、 ヘッダフラグメントが消滅した段階で取り出されます。 -.Ss 5.1 PacketAliasSaveFragment() - +.Pp .Ft int .Fn PacketAliasSaveFragment "char *ptr" - -PacketAliasIn() から -PKT_ALIAS_UNRESOLVED_FRAGMENT が返されてくると、この関数が、 +.Bd -ragged -offset indent +.Fn PacketAliasIn +から +.Dv PKT_ALIAS_UNRESOLVED_FRAGMENT +返されてくると、この関数が、 残っているフラグメントのポインタを保存するために使用できます。 - +.Pp 引数 -.Em ptr -は malloc() で割り当てられたメモリブロックを +.Fa ptr +は +.Xr malloc 3 +で割り当てられたメモリブロックを 指すことが暗黙のうちに仮定されています。 フラグメントが解決されない場合、 パケットエイリアシングエンジンは タイムアウト時間経過後、自動的にメモリを解放します [実質的には、この関数は、 メモリ解放のコールバック関数が 引数として渡されるように修正しておく必要があります]。 - -この関数は、正常実行の場合 PKT_ALIAS_OK を返し、 -エラーの場合 PKT_ALIAS_ERROR を返します。 -.Ss 5.2 PacketAliasGetNextFragment() - +.Pp +この関数は、正常実行の場合 +.Dv PKT_ALIAS_OK +を返し、エラーの場合 +.Dv PKT_ALIAS_ERROR +を返します。 +.Ed +.Pp .Ft char * .Fn PacketAliasGetFragment "char *buffer" - -この関数は、PacketAliasSaveFragment() で保管された +.Bd -ragged -offset indent +この関数は、 +.Fn PacketAliasSaveFragment +で保管された フラグメントポインタの再取り出しができます。 -.Em buffer -で示す IP ヘッダフラグメントは、PacketAliasIn() が -PKT_ALIAS_FOUND_HEADER_FRAGMENT を返したときに指定される +.Fa buffer +で示す IP ヘッダフラグメントは、 +.Fn PacketAliasIn +が +.Fv PKT_ALIAS_FOUND_HEADER_FRAGMENT +を返したときに指定される ヘッダフラグメントです。 フラグメントのポインタが再取り出しされると、 呼び出しプログラムによりフラグメントに 動的に割り当てられていたメモリが解放されます。 - +.Pp フラグメントがなくなるで -PacketAliasGetFragment() を続けて呼ぶことができます。 -処理するフラグメントがなくなるとヌルが返されてきます。 -.Ss 5.3 PacketAliasFragmentIn() - +.Fn PacketAliasGetFragment +を続けて呼ぶことができます。 +処理するフラグメントがなくなると +.Dv NULL +が返されてきます。 +.Ed +.Pp .Ft void -.Fn PacketAliasFragmentIn "char *header" "char *fragment" - -PacketAliasGetFragment() によりフラグメントの再取得を行なうとき、 -PacketAliasFragmentIn() 呼び出しを実行して +.Fn PacketAliasFragmentIn "char *header" "char *fragment" +.Bd -ragged -offset indent +.Fn PacketAliasGetFragment +によりフラグメントの再取得を行なうとき、 +.Fn PacketAliasFragmentIn +呼び出しを実行して フラグメントのエイリアスを解除できます。 引数 -.Em header +.Fa header は、テンプレートとして使われているヘッダフラグメントのポインタです。 引数 -.Em fragment +.Fa fragment はエイリアス解除するパケットのポインタです。 - -.Sh 6. その他の関数 - -.Ss 6.1 PacketAliasSetTarget() - +.Ed +.Sh その他の関数 .Ft void .Fn PacketAliasSetTarget "struct in_addr addr" - +.Bd -ragged -offset indent 既存のエイリアスリンクと関連のない 外からの着信パケットがホストマシンに到着すると、 -それは PacketAliasSetTarget() 呼び出しにより +それは +.Fn PacketAliasSetTarget +呼び出しにより 指定されるアドレスへ送られます。 - -この関数が呼ばれないか、あるいは指定アドレスが 0 の場合、 +.Pp +この関数が +.Dv INADDR_NONE +アドレスを引数として呼ばれた場合、 +外からのあらゆる新規着信パケットは +.Fn PacketAliasSetAddress +で設定されるアドレスへ行きます。 +.Pp +この関数が +.Dv INADDR_ANY +アドレスを引数として呼ばれた場合、 外からのあらゆる新規着信パケットは -PacketAliasSetAddress で設定されるアドレスへ行きます。 -.Ss 6.2 PacketAliasCheckNewLink() - +パケット中で指定されるアドレスへ行きます。 +外部のマシンが内部のマシンへ直接ルーティング可能な場合、 +外部のマシンが直接内部のマシンと話すことを可能とします。 +.Ed +.Pp .Ft int -.Fn PacketAliasCheckNewLink "void" - +.Fn PacketAliasCheckNewLink void +.Bd -ragged -offset indent 新規のエイリアシングリンクが生成されると、 この関数は 0 以外の値を返します。 外からの着信トラフィックが順次異なるサーバへ送られるという状況下で、 -この関数を PacketAliasSetTarget() 呼び出しを +この関数を +.Fn PacketAliasSetTarget +呼び出しを デフォルトの目的アドレスを変更のため実行するときのトリガにできます。 -.Ss 6.3 PacketAliasInternetChecksum() - +.Ed +.Pp .Ft u_short .Fn PacketAliasInternetChecksum "u_short *buffer" "int nbytes" - +.Bd -ragged -offset indent これはよそでは使うことがありませんが、 便利なユーティリティ関数です。 インターネットチェックサムを計算します。 チェックサムは、IP およびプロトコル (TCP, UDP, ICMP) 固有のヘッダのどちらでも使われています。 - +.Pp 引数 -.Em buffer +.Fa buffer はチェックサムを取るデータブロックを指しています。また -.Em nbytes +.Fa nbytes はバイト数を与えます。 16 ビットのチェックサムフィールドは チェックサム計算の前に 0 クリアされます。 - +.Pp チェックサムはチェックサム自身を含めた データブロックの操作により検証することができます。 チェックサムが正しければ、 PacketAliasInternetChecksum() は 0 を返します。 - -.Sh 7. 作者 -Charles Mott (cmott@srv.net), versions 1.0 - 1.8, 2.0 - 2.4. - -Eivind Eklund (eivind@freebsd.org), versions 1.8b, 1.9 および 2.5. +.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 のファイアウォールのバイパスです。 - -.Sh 8. 謝辞 - +.An Erik Salander Aq erik@whistle.com +が PPTP と RTSP のサポートを追加しました。 +.An Junichi Satoh Aq junichi@junichi.org +が RTSP/PNA のサポートを追加しました。 +.Sh 謝辞 以下、概略時代順に示すのは、 有益なコメントやデバッグの手助けを提供してくれた人々の名前です。 - -.Bl -inset -compact -offset left -.It Gary Roberts -.It Tom Torrance -.It Reto Burkhalter -.It Martin Renters -.It Brian Somers -.It Paul Traina -.It Ari Suutari -.It Dave Remien -.It J. Fortes -.It Andrzej Bialeki -.It Gordon Burditt -.El - -.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 A.1 エイリアシングリンク -"エイリアシング リンク" は、 +.Ss エイリアシングリンク +.Em エイリアシング リンク +は、 7 つの要素で記述できるという考え方があります: .Bd -literal -offset indent (ローカルアドレス、 ローカルポート番号、 エイリアスアドレス、エイリアスポート番号、 リモートアドレス、リモートポート、プロトコル) .Ed - +.Pp 外へ発信するパケットは、 ローカルアドレスとローカルポート番号が、 エイリアスアドレスとエイリアスポート番号で置き換えられます。 外から着信するパケットは、逆のプロセスで処理されます。 パケットエイリアシングエンジンは、 エイリアシングリンクの内部テーブルに対してパケットを対応させ、 指定 IP パケットの修飾方法を決定しようとします。 IP ヘッダおよびプロトコルに依存するヘッダのどちらも 必要に応じて修正されます。 エイリアシングリンクは、ネットワークのトラフィックにより、 必要に応じて生成、消滅が行なわれます。 - +.Pp プロトコルは、ある状況では TCP か UDP であり、 または ICMP であってかまいません (ICMP のある種のパケットタイプには、 個々のパケットの処理方式を決めるポート番号と同様な働きをする、 一連の id 番号にエイリアスすることができるものがあります)。 - +.Pp それぞれのエイリアスリンクは 次の 5 つの数値の組合せを持っていなければなりません。 すなわち、エイリアスアドレス / ポート、 リモートアドレス / ポート、およびプロトコルです。 このことによりローカルネットワーク上のいくつかのマシンは 同じエイリアス IP アドレスを共有することが可能となります。 競合が起こるケースでは、エイリアシングポートが、 一意性が保てるよう選択されます。 -.Ss A.2 静的および動的リンク +.Ss 静的および動的リンク エイリアシングリンクには静的および動的なものがあります。 静的リンクは無期限に存続し、IP パケットの変換に関しては 固定された規則を保持しています。 動的リンクは個別の TCP 接続や UDP トランザクションの エコーシーケンスに対して生成されます。 TCP の場合は、関連するエイリアシングリンクを 何時削除するべきかを知るために、接続を監視できます。 UDP トランザクション (および ICMP エコーとタイムスタンプ要求) は 単純なタイムアウト規則で動いています。 一定の時間、動的リンクを張るアクティビティが無いときは、 自動的に削除されます。 タイムアウト規則は適切なオープン / クローズを行なわない TCP 接続にも適用されます。 -.Ss A.3 エイリアシングリンクの部分定義 +.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/ja_JP.eucJP/man/man3/libdisk.3 b/ja_JP.eucJP/man/man3/libdisk.3 index 09c522f73d..a4fbbacb16 100644 --- a/ja_JP.eucJP/man/man3/libdisk.3 +++ b/ja_JP.eucJP/man/man3/libdisk.3 @@ -1,357 +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. .\" -.\" %Id: libdisk.3,v 1.8 1998/12/31 02:35:43 jkh Exp % +.\" %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 書式 -.Fd #include -.Fd #include -.\" What is the correct way to cause a single line break ??? -.Bd -literal -.Dv extern const char *chunk_n[]; -.Ed +.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" -.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 -この領域は、BSD 互換であり、 +この領域は、 +.Bx +互換であり、 .Ql wd0s4f -> wd0f のような短縮形も使用できます。 -.It CHUNK_BAD144 -この領域には bad144 マッピングがあります。 .It CHUNK_ALIGN この領域は整合(align)していなければなりません。 .It CHUNK_IS_ROOT この .Ql part は rootfs であり、パーティションを .Ql a に 割り振ります。 .It CHUNK_ACTIVE MBR 内のアクティブスライスです。 .It CHUNK_FORCE_ALL すべての BIOS によるジオメトリ解釈を無視し、与えられたディスク全体を -強制的に FreeBSD 用とします。 +強制的に +.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 -は、ディスク全体を一つの 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 このマニュアルページの執筆者は -.ie t J\(:org Wunsch -.el Joerg Wunsch +.An J\(:org Wunsch です。 diff --git a/ja_JP.eucJP/man/man3/libradius.3 b/ja_JP.eucJP/man/man3/libradius.3 index 26a7f36ec4..f200ab5f1c 100644 --- a/ja_JP.eucJP/man/man3/libradius.3 +++ b/ja_JP.eucJP/man/man3/libradius.3 @@ -1,387 +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: doc/ja_JP.eucJP/man/man3/libradius.3,v 1.1.1.1 1999/12/09 16:26:01 kuriyama Exp % +.\" %FreeBSD: src/lib/libradius/libradius.3,v 1.6.2.4 2001/12/17 10:08:31 ru Exp % .\" .\" $FreeBSD$ -.Dd July 29, 1998 +.Dd October 30, 1999 .Dt LIBRADIUS 3 -.Os FreeBSD +.Os .Sh 名称 .Nm libradius .Nd RADIUS クライアントライブラリ .Sh 書式 -.Fd #include +.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 struct rad_handle * -.Fn rad_open "void" .Ft int .Fn rad_put_addr "struct rad_handle *h" "int type" "struct in_addr addr" .Ft int .Fn rad_put_attr "struct rad_handle *h" "int type" "const void *data" "size_t len" .Ft int .Fn rad_put_int "struct rad_handle *h" "int type" "u_int32_t value" .Ft int .Fn rad_put_string "struct rad_handle *h" "int type" "const char *str" .Ft int .Fn rad_send_request "struct rad_handle *h" .Ft const char * .Fn rad_strerror "struct rad_handle *h" .Sh 解説 .Nm libradius ライブラリは、ユーザサービス遠隔認証ダイアル (RADIUS) の クライアント側を実装しています。 RADIUS は .%O RFC 2138 +および +.%O RFC 2138 で定義されており、 -クライアントはリモート認証サーバへのネットワーク要求により認証を -受けることができます。 +クライアントはリモート認証サーバへのネットワーク要求により +認証とアカウンティングを受けることができます。 .Sh 初期設定 ライブラリを使用する場合にアプリケーションは、まず -.Fn rad_open -呼び出して、次の操作のためのコンテキストを与える +.Fn rad_auth_open +か +.Fn rad_acct_open +を呼び出して、次の操作のためのコンテキストを与える .Va struct rad_handle * を取得します。 -.Fn rad_open -呼び出しは、仮想メモリが足りない場合を除いて、常に正常終了します。 +前者は RADIUS 認証に使用され、後者は RADIUS アカウンティングに使用されます。 +.Fn rad_auth_open +および +.Fn rad_acct_open +の呼び出しは、仮想メモリが足りない場合を除いて、常に正常終了します。 必要なメモリが割り当てられないとき、 -.Fn rad_open -は -.Dv ヌル +関数は +.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 ヌル +.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 サービスを検索し、見つかったポートを使用します。 -エントリが見つからないときには、ライブラリはポート 1812 の標準 -RADIUS ポートを使用します。サーバホストに関する共有シークレット情報は、 +エントリが見つからないときには、ライブラリは標準 RADIUS ポート、 +すなわち認証には 1812 をアカウンティングには 1813 を使用します。 +サーバホストに関する共有シークレット情報は、 パラメータ .Va secret として渡されます。パラメータは -.Dv ヌル +.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 ナル文字 +.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 ヌル +.Dv NULL で終了した文字列を返します。アプリケーションは、不要な文字列を .Xr free 3 を使って解放しなければなりません。 .Pp 十分な仮想メモリがない場合、 .Fn rad_cvt_string は -.Dv ヌル +.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 ヌル +.Dv NULL でないポインタを返します。 十分な仮想メモリの割り当てができないとき、 -.Dv ヌル +.Dv NULL を返しますが、 エラーメッセージは記録されません。 .Pp .Bl -item -offset indent -compact .It -.Fn rad_cvt_string +.Fn rad_acct_open .It -.Fn rad_open +.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) +.%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 により FreeBSD プロジェクトに寄贈されました。 +が記述し、Juniper Networks, Inc が +.Fx +プロジェクトに寄贈しました。 +その後 +.An Oleg Semyonov +が RADIUS アカウンティングの機能を追加しました。 diff --git a/ja_JP.eucJP/man/man3/libstand.3 b/ja_JP.eucJP/man/man3/libstand.3 index 2da1ca34e2..f5c5b2a14b 100644 --- a/ja_JP.eucJP/man/man3/libstand.3 +++ b/ja_JP.eucJP/man/man3/libstand.3 @@ -1,500 +1,665 @@ .\" Copyright (c) Michael Smith .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR Ohttp://wafu.netgate.net/tama/unix/indexe.htmlTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %Id: libstand.3,v 1.3 1998/11/04 07:39:53 msmith Exp % +.\" %FreeBSD: src/lib/libstand/libstand.3,v 1.5.2.10 2001/12/17 10:08:31 ru Exp % .\" .\" $FreeBSD$ .Dd June 22, 1998 .Dt LIBSTAND 3 -.Os FreeBSD 3.0 +.Os .Sh 名称 .Nm libstand .Nd スタンドアローン実行用サポートライブラリ .Sh 書式 -.Fd #include +.In stand.h .Sh 解説 .Nm libstand は、スタンドアローンアプリケーションのサポート関数群と、 -標準 BSD プログラミングが可能な模擬環境を備えています。 +標準 +.Bx +プログラミングが可能な模擬環境を備えています。 後のセクションでこれらの関数を種類分けしています。 ここに明確な定義がない場合は、指定の関数のセクション 3 の マニュアルページの該当個所を参照して下さい。 .Sh 文字列関数 使用できる文字列関数は、 .Xr string 3 および .Xr bstring 3 に書かれています。 .Sh メモリアロケーション .Bl -hang -width 10n -.It Fn "void *malloc" "size_t size" +.It Xo +.Ft "void *" +.Fn malloc "size_t size" +.Xc .Pp .Fa size で指定した大きさのメモリを最適なアルゴリズムでヒープ領域から割り 当てます。 -.It Fn "void free" "void *ptr" +.It Xo +.Ft void +.Fn free "void *ptr" +.Xc .Pp .Fa ptr に割り当てられたオブジェクトを解放します。 -.It Fn "void setheap" "void *start" "void *limit" +.It Xo +.Ft void +.Fn setheap "void *start" "void *limit" +.Xc .Pp ヒープ領域を初期化します。この関数は、 .Fn alloc を最初に呼び出す前に実行しなければなりません。 .Fa start と .Fa limit の間の領域がヒープ領域に使用されます。 これを越えて割り当てようとすると panic となります。 -.It Fn "char *sbrk" "int junk" +.It Xo +.Ft "char *" +.Fn sbrk "int junk" +.Xc .Pp .Fn sbrk 0 の性質を与えます。すなわちヒープ領域の最高位アドレスのポインタを 返します。この戻り値は、テスト時にヒープの実使用状況を判断するのに 使用できます。引数 .Fa junk は無視されます。 .El .Sh 環境 伝統的なシェルサポート環境にと同様、フラットな変数空間操作のために 一群の関数が備わっています。主な拡張として、フック関数の設定/設定解除の ためのサポートがあります。 .Bl -hang -width 10n -.It Fn "char *getenv" "const char *name" -.It Fn "int setenv" "const char *name" "char *value" "int overwrite" -.It Fn "int putenv" "const char *string" -.It Fn "int unsetenv" "const char *name" +.It Xo +.Ft "char *" +.Fn getenv "const char *name" +.Xc +.It Xo +.Ft int +.Fn setenv "const char *name" "char *value" "int overwrite" +.Xc +.It Xo +.Ft int +.Fn putenv "const char *string" +.Xc +.It Xo +.Ft int +.Fn unsetenv "const char *name" +.Xc .Pp これらの関数は、標準ライブラリと類似の動作をします。 -.It Fn "struct env_var *env_getenv" "const char *name" +.It Xo +.Ft "struct env_var *" +.Fn env_getenv "const char *name" +.Xc .Pp その環境内での変数を検索し、すべてのデータ構造を返します。 -.It Fn "int env_setenv" "const char *name" "int flags" "char *value" "ev_sethook_t sethook" "ev_unsethook_t unsethook" +.It Xo +.Ft int +.Fn env_setenv "const char *name" "int flags" "char *value" "ev_sethook_t sethook" "ev_unsethook_t unsethook" +.Xc .Pp .Fa name という環境変数の新規作成または既存環境変数の設定を行います。 新規変数を生成する場合は、引数 .Fa sethook および .Fa unsethook を指定することができます。 .Pp EV_NOHOOK フラグが設定されていなければ、変数設定をしようとするとすると、 フックの設定が必ず起動されます。通常、引数 .Fa value の確認を行ない、実際に値を保存するために EV_NOHOOK 変数をつけて、再度 .Fn env_setenv 呼び出しを行い設定します。すべての変数設定を拒否するために、定義済み関数 .Fn env_noset を指定することができます。 .Pp 設定解除フックは、変数の設定解除が行われるときに起動されます。 戻り値が 0 のとき、変数の設定解除されています。定義済み関数 .Fa env_nounset は、変数設定解除を抑制するのに使用します。 .El .Sh 標準ライブラリサポート .Bl -hang -width 10n -.It Fn "int getopt" "int argc" "char * const *argv" "cont char *optstring" -.It Fn "long strtol" "const char *nptr" "char **endptr" "int base" -.It Fn "void srandom" "unsigned long seed" -.It Fn "unsigned long random" "void" -.It Fn "char *strerror" "int error" -.Pp -.Nm libstand +.It Xo +.Ft int +.Fn getopt "int argc" "char * const *argv" "cont char *optstring" +.Xc +.It Xo +.Ft long +.Fn strtol "const char *nptr" "char **endptr" "int base" +.Xc +.It Xo +.Ft void +.Fn srandom "unsigned long seed" +.Xc +.It Xo +.Ft "unsigned long" +.Fn random void +.Xc +.It Xo +.Ft "char *" +.Fn strerror "int error" +.Xc +.Pp +.Nm でサポートされている errno のサブセット値に対応する エラーメッセージを返します。 -.It Fn "assert" "expression" +.It Fn assert expression .Pp -.Fd #include +.In assert.h 行が必要です。 -.It Fn "int setjmp" "jmp_buf env" -.It Fn "void longjmp" "jmp_buf env" "int val" +.It Xo +.Ft int +.Fn setjmp "jmp_buf env" +.Xc +.It Xo +.Ft void +.Fn longjmp "jmp_buf env" "int val" +.Xc .Pp 操作できるシグナル状態がないため、それぞれ .Fn _setjmp および .Fn _lonjmp として定義されています。 -.Fd #include +.In setjmp.h 行が必要です。 .El .Sh キャラクタ I/O .Bl -hang -width 10n -.It Fn "void gets" "char *buf" +.It Xo +.Ft void +.Fn gets "char *buf" +.Xc .Pp キャラクタをコンソールから .Fa buf に読み込みます。標準的な注意事項が本関数に 対して適用されます。 -.It Fn "void ngets" "char *buf" "size_t size" +.It Xo +.Ft void +.Fn ngets "char *buf" "size_t size" +.Xc .Pp .Fa size -1 またはそれ以下の文字をコンソールから .Fa buf に読み込みます。行末文字は削除され、 バッファは常にヌルが終端文字になります。 .Fa size が 1 以下の場合、関数は .Fn gets と同じ動作をします。 -.It Fn "int fgetstr" "char *buf" "int size" "int fd" +.It Xo +.Ft int +.Fn fgetstr "char *buf" "int size" "int fd" +.Xc .Pp 一行を .Fa size 文字以下の範囲で .Fa buf に読み込みます。行末のキャラクタは切り捨てられ、 バッファは常にヌルが終端となります。 正常終了のときは .Fa buf 内の文字数を返し、読み込みエラーのときは -1 を返します。 -.It Fn "int printf" "const char *fmt" "..." -.It Fn "void vprintf" "const char *fmt" "va_list ap" -.It Fn "int sprintf" "char *buf" "const char *fmt" "..." -.It Fn "void vsprintf" "char *buf" "const char *fmt" "va_list ap" +.It Xo +.Ft int +.Fn printf "const char *fmt" "..." +.Xc +.It Xo +.Ft void +.Fn vprintf "const char *fmt" "va_list ap" +.Xc +.It Xo +.Ft int +.Fn sprintf "char *buf" "const char *fmt" "..." +.Xc +.It Xo +.Ft void +.Fn vsprintf "char *buf" "const char *fmt" "va_list ap" +.Xc .Pp *printf 関数は、標準 .Fn printf ファミリのサブセット機能といくつかの拡張機能を備えています。 c,d,n,o,p,s,u,x の標準変換がサポートされています。 +,-,#,*,0, field width,precision,l の修飾子がサポートされています。 .Pp エラーレジスタをデコードするために .Li b 変換が備わっています。 使い方は以下の通りです。 .Pp -.Bd -offset indent -printf( -.Qq reg=%b\en , -regval, +.Bd -ragged -offset indent +printf( +.Qq reg=%b\en , +regval, .Qq * ); .Ed - +.Pp .Aq Pa base は、制御キャラクタの出力を表現しています。例えば \e10 は 10 進数を、\e20 は 16 進数を意味します。各 .Aq Pa arg は、文字列で、最初の一文字は引数のビット数(始めが1)で、 ビットが設定されている場合、それ以降の文字列(32文字未満)は表示対象の テキストです。つまり、 .Pp -.Bd -offset indent +.Bd -ragged -offset indent printf( .Qq reg=%b\en 3 .Qq \e10\e2BITTWO\e1BITONE\en ); .Ed - +.Pp により出力表示されます。 .Pp -.Bd -offset indent +.Bd -ragged -offset indent reg=3 .Ed .Pp .Li D 変換は、16 進数ダンプの機能を備えています。 たとえば、以下。 .Pp -.Bd -offset indent -literal +.Bd -ragged -offset indent printf( .Qq %6D , ptr, -.Qq \: -); gives +.Qq \&: +); gives .Qq XX:XX:XX:XX:XX:XX .Ed -.Bd -offset indent -literal +.Bd -ragged -offset indent printf( .Qq %*D , len, ptr, .Qq "\ " -); gives +); gives .Qq XX XX XX ... .Ed .El .Pp .Sh 文字テストと変換 .Bl -hang -width 10n -.It Fn "int isupper" "int c" -.It Fn "int islower" "int c" -.It Fn "int isspace" "int c" -.It Fn "int isdigit" "int c" -.It Fn "int isxdigit" "int c" -.It Fn "int isascii" "int c" -.It Fn "int isalpha" "int c" -.It Fn "int toupper" "int c" -.It Fn "int tolower" "int c" +.It Xo +.Ft int +.Fn isupper "int c" +.Xc +.It Xo +.Ft int +.Fn islower "int c" +.Xc +.It Xo +.Ft int +.Fn isspace "int c" +.Xc +.It Xo +.Ft int +.Fn isdigit "int c" +.Xc +.It Xo +.Ft int +.Fn isxdigit "int c" +.Xc +.It Xo +.Ft int +.Fn isascii "int c" +.Xc +.It Xo +.Ft int +.Fn isalpha "int c" +.Xc +.It Xo +.Ft int +.Fn toupper "int c" +.Xc +.It Xo +.Ft int +.Fn tolower "int c" +.Xc .El .Sh ファイル入出力 .Bl -hang -width 10n -.It Fn "int open" "const char *path" "int flags" +.It Xo +.Ft int +.Fn open "const char *path" "int flags" +.Xc .Pp .Xr open 2 の動作に似ています。ただし、ファイル作成機能がサポート されていないため、モードパラメータは不要です。引数 .Fa flags には、O_RDONLY, O_WRONLY, O_RDWR のどれかを指定できます。 (たとえ、現在書込みをサポートするファイルシステムが無いとしても) -.It Fn "int close" "int fd" -.It Fn "void closeall" "void" +.It Xo +.Ft int +.Fn close "int fd" +.Xc +.It Xo +.Ft void +.Fn closeall void +.Xc .Pp すべての open されているファイルを閉じます。 -.It Fn "ssize_t read" "int fd" "void *buf" "size_t len" -.It Fn "ssize_t write" "int fd" "void *buf" "size_t len" +.It Xo +.Ft ssize_t +.Fn read "int fd" "void *buf" "size_t len" +.Xc +.It Xo +.Ft ssize_t +.Fn write "int fd" "void *buf" "size_t len" +.Xc .Pp (現在書き込みをサポートしていあるファイルシステムはありません) -.It Fn "off_t lseek" "int fd" "off_t offset" "int whence" +.It Xo +.Ft off_t +.Fn lseek "int fd" "off_t offset" "int whence" +.Xc .Pp 読み込みの最中に自動的に解凍されるファイルは、現在の位置から後方に seek することはできません。 -.It Fn "int stat" "const char *path" "struct stat *sb" -.It Fn "int fstat" "int fd" "struct stat *sb" +.It Xo +.Ft int +.Fn stat "const char *path" "struct stat *sb" +.Xc +.It Xo +.Ft int +.Fn fstat "int fd" "struct stat *sb" +.Xc .Pp 関数 .Fn stat および .Fn fstat は、 .Fa sb 構造体のフィールド : st_mode, st_nlink,st_uid,st_gid,st_size への書き込みだけをします。 .Nm tftp ファイルシステムでは、この関数の呼び出しは 意味のある値になりません。また .Nm cd9660 ファイルシステムは、ファイルの uid/gid が常に 0 であると 報告して来ます。 .El .Sh ページャ .Nm libstand は簡単な内部ページャを提供し、大きなコマンドの出力を読みやすくします。 .Bl -hang -width 10n -.It Fn "void pager_open" +.It Xo +.Ft void +.Fn pager_open +.Xc .Pp ページャを初期化し、次の出力行が表示装置の先頭であることを知らせます。 環境変数 LINES は、一度に表示可能な行数を決める際に参照されます。 -.It Fn "void pager_close" "void" +.It Xo +.Ft void +.Fn pager_close void +.Xc .Pp ページャを閉じます -.It Fn "void pager_output" "char *lines" +.It Xo +.Ft int +.Fn pager_output "char *lines" +.Xc .Pp .Fa lines で指定された、ヌルで終了するバッファーの行がページャに送られます。 改行文字を数えることで、出力される行数が決まります。 (折り返しは含みません) すべての行が出力されると、 .Fn pager_output は 0 を返します。画面表示が停止し、ユーザが途中終了を 選択したときは 0 以外の値を返します。 -.It Fn "int pager_file" "char *fname" +.It Xo +.Ft int +.Fn pager_file "char *fname" +.Xc .Pp ファイル .Fa fname を開き、画面表示します。エラーのときは -1 を返し、EOF のときは 0 を、ユーザが読み込みを途中終了する場合は 1 を返します。 .El .Sh その他 .Bl -hang -width 10n -.It Fn "void twiddle" "void" +.It Xo +.Ft void +.Fn twiddle void +.Xc .Pp 連続呼び出しの場合、ユーザが確認できるように、 文字列 |,/,-,\\ の後にバックスペースを付けて出力します。 .El .Sh 低レベルサポートの要求 スタック、ヒープ、コンソール、デバイスは、 .Nm libstand でよく使われるリソースです。 .Pp スタックは、 .Nm libstand 関数が起動される前に構築する必要があります。 スタック要求は、関数や使われているファイルシステム、および、後で詳述する サポートレイヤ関数によって変化します。 .Pp ヒープは、 .Fn alloc 関数や .Fn open 関数の呼び出しの前に、 .Fn setheap 呼び出しを行なって構築しなければなりません。ヒープの使用法は、クライアントの 動作と同様、同時に open するファイルの数によって変化します。自動解凍をす ると、ファイルを open する度に 64K 以上のデータが割り当てられます。 .Pp コンソールアクセスは、後述の関数 .Fn getchar , .Fn putchar , .Fn ischar によって行われます。 .Pp デバイスアクセスは .Fn devopen によって初期化され、 .Fn devopen が返すデバイススイッチ構造体の関数 .Fn dv_strategy , .Fn dv_ioctl , .Fn dv_close によって実行されます。 .Pp ユーザは次のサポート関数を用意する必要があります。 .Bl -hang -width 10n -.It Fn "int getchar" "void" +.It Xo +.Ft int +.Fn getchar void +.Xc .Pp コンソールから、関数 .Fn gets , .Fn ngets やページャ関数によって使われる文字を返します。 -.It Fn "int ischar" "void" +.It Xo +.Ft int +.Fn ischar void +.Xc .Pp コンソールから入力待ちの状態のとき、0 でない値を返します。 -.It Fn "void putchar" "int" +.It Xo +.Ft void +.Fn putchar int +.Xc .Pp コンソールに、 .Fn gets , .Fn ngets , .Fn *printf , .Fn panic , .Fn twiddle および 他の多くのデバッグ、情報通知用の関数が使用する文字を書き出します。 -.It Fn "int devopen" "struct open_file *of" "const char *name" "char **file" +.It Xo +.Ft int +.Fn devopen "struct open_file *of" "const char *name" "char **file" +.Xc .Pp .Fa name という名前のファイル用の適当なデバイスを開き、デバイスを参照しない ファイルの残りの部分の .Fa name を指すポインタを、 .Fa file に返します。 .Fa of の構造体フィールド .Va f_dev は、正常終了した場合、open したデバイスの -.Dv devsw +.Vt devsw 構造体を指すようにセットされます。 デバイス識別子は、常にパス構成の先頭に来る 必要がありますが、それ以外は自由にフォーマットされています。 .Fn open や デバイス関連の I/O で使用されます。 -.It Fn "int devclose" "struct open_file *of" +.It Xo +.Ft int +.Fn devclose "struct open_file *of" +.Xc .Fa of に割り当てられたデバイスを閉じます。 デバイスドライバー自身はクローズ処理のためにすでに呼び出しが行われており、 この呼び出しは、 .Fn devopen による割り当てを解除するだけです。 -.It Fn "void panic" "const char *msg" "..." +.It Xo +.Ft void +.Fn panic "const char *msg" "..." +.Xc .Pp 致命的で回復不能なエラー状態を通知します。引数 .Fa msg ... は、 .Fn printf のものと同様です。 .El .Sh 内部ファイルシステム 内部ファイルシステムでは、 -.Dv struct fs_ops *file_system[], which should be initialised with pointers +.Vt struct fs_ops *file_system[] の構造体の配列を、ユーザ がエクスポートでき、配列は構造体 -.Dv struct fs_ops +.Vt struct fs_ops へのポインタで初期化されます。 以下のファイルシステムハンドラが -.Nm libstand +.Nm に 備わっていますが、ユーザは自分で別のファイルシステムを 提供することができます。 -.Bl -hang -width "cd9660_fsops " -.It ufs_fsops -BSD の UFS +.Bl -hang -width ".Va cd9660_fsops" +.It Va ufs_fsops +.Bx +の UFS +.It Va ext2fs_fsops +Linux の ext2fs ファイルシステム .It tftp_fsops TFTP 経由のファイルアクセス -.It nfs_fsops +.It Va nfs_fsops NFS 経由のファイルアクセス -.It cd9660_fsops +.It Va cd9660_fsops ISO 9660 (CD-ROM) ファイルシステム -.It zipfs_fsops +.It Va zipfs_fsops ファイルをサポートしているファイルシステムの gzip されたファイルをサポートするスタック されたファイルシステムで、zipfs ファイルシステムを使おうとすると、 .Nm libstand はファイル名の後に -.Li .gz +.Li .gz を付加し、更に別のファイルシステムを使用してファイルの位置を決めます。 このファイルシステムの、配列 -.Dv file_system[] +.Va file_system[] での配置によって、 non-gzipped ファイルを参照している gzipped ファイルが open されるかどうかが決められます。 gzip されたファイルは前方へ seek することだけができ、gzip されたファイルへの .Fn stat および .Fn fstat は、長さの不正を報告します。 +.It Va bzipfs_fsops +.Va zipfs_fsops +と同様ですが、 +.Xr bzip2 +で圧縮されたファイルを使用します。 .El .Pp 構造体 -.Dv struct fs_ops +.Vt struct fs_ops のポインタ配列はヌルで終了しなければなりません。 .Sh デバイス -デバイスは、ヌルで終了するデバイススイッチ構造体のポインタ配列である、 -.Dv struct devsw *devsw[] +デバイスは、ヌルで終了するデバイススイッチ構造体のポインタ配列である、 +.Vt struct devsw *devsw[] 経由のサポートコードによってエクスポートされます。 .Sh バグ 詳細なメモリ使用データがないのは不親切です。 .Pp .Sh 歴史 .Nm libstand は多くのソースを利用しています。すなわち、 .Bl -bullet -compact -.It +.It .Nx からの .Nm libsa .It .Fx 3.0 からの .Nm libc と .Nm libkern .It .An Matthew Dillon Aq dillon@backplane.com からの .Nm zalloc .El .Pp 再構成と .Fx 3.0 へのポート、環境変数関係の関数、このマニュアルページは -.An Mike Smith Aq msmith@freebsd.org +.An Mike Smith Aq msmith@FreeBSD.org が作成しました。 - diff --git a/ja_JP.eucJP/man/man3/libtacplus.3 b/ja_JP.eucJP/man/man3/libtacplus.3 index 4287ec6aa6..b0ef066a04 100644 --- a/ja_JP.eucJP/man/man3/libtacplus.3 +++ b/ja_JP.eucJP/man/man3/libtacplus.3 @@ -1,354 +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: doc/ja_JP.eucJP/man/man3/libtacplus.3,v 1.1.1.1 1999/12/09 16:26:01 kuriyama Exp % +.\" %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 FreeBSD +.Os .Sh 名称 .Nm libtacplus .Nd TACACS+ クライアントライブラリ .Sh 書式 -.Fd #include +.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 and Lol Grant +.%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 によって FreeBSD プロジェクトに寄贈されました。 +Juniper Networks, Inc によって +.Fx +プロジェクトに寄贈されました。 diff --git a/ja_JP.eucJP/man/man3/link_addr.3 b/ja_JP.eucJP/man/man3/link_addr.3 index 01b5c8995e..0de13e4baa 100644 --- a/ja_JP.eucJP/man/man3/link_addr.3 +++ b/ja_JP.eucJP/man/man3/link_addr.3 @@ -1,126 +1,126 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Donn Seeley at BSDI. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)linkaddr.3 8.1 (Berkeley) 7/28/93 -.\" %FreeBSD: src/lib/libc/net/linkaddr.3,v 1.8.2.3 2001/08/17 15:42:38 ru Exp % +.\" %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 書式 -.Fd #include -.Fd #include -.Fd #include +.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 +.Bx 4.3 Reno で登場しました。 .Sh バグ .Fn link_ntoa の戻り値は静的なメモリ領域にあります。 .Pp 関数 .Fn link_addr は、不適切な形式の入力を診断する機能が必要であり、 これを認識するあいまいでない方法が必要となります。 .Pp リンクソケットアドレスの .Va sdl_len フィールドが 0 の場合、 .Fn link_ntoa は、インタフェースアドレスバイトの前にコロンを挿入しません。 変換されたアドレスが、最初のコロンが挿入されずに .Fn link_addr に渡された場合、この関数はアドレスを正しく解釈しないでしょう。 diff --git a/ja_JP.eucJP/man/man3/lockf.3 b/ja_JP.eucJP/man/man3/lockf.3 index 46151a86d6..2551c42498 100644 --- a/ja_JP.eucJP/man/man3/lockf.3 +++ b/ja_JP.eucJP/man/man3/lockf.3 @@ -1,255 +1,253 @@ -.\" %NetBSD: lockf.3,v 1.2 1998/02/05 18:47:28 perry Exp % +.\" $NetBSD: lockf.3,v 1.2 1998/02/05 18:47:28 perry Exp $ .\" .\" Copyright (c) 1997 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation .\" by Klaus Klein and S.P. Zeidler. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" +.\" %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 NetBSD 1.4 +.Os .Sh 名称 .Nm lockf .Nd ファイル上のレコードのロック -.Sh LIBRARY +.Sh ライブラリ .Lb libc .Sh 書式 -.Fd #include +.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 戻り値 -正常実行の場合、 -.Fn lockf -は 0 を返します。 -そうでない場合は -1 を返し、エラー内容を示す表示を -.Dv errno -に設定し、現存のロックは変更されません。 +.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 であり、 ロックまたはロック解除の要求により、 ロック区域の数がシステムで定めた 制限値を越えます。 -.Pp +.El .Sh 関連項目 .Xr fcntl 2 , .Xr flock 2 .Pp .Sh 規格 .Fn lockf 関数は .St -xpg4.2 -に準拠しています。 +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/login.3 b/ja_JP.eucJP/man/man3/login.3 index 0d4fae39cf..978ee389c0 100644 --- a/ja_JP.eucJP/man/man3/login.3 +++ b/ja_JP.eucJP/man/man3/login.3 @@ -1,74 +1,74 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %Id: login.3,v 1.4 1997/02/22 15:08:15 peter Exp % +.\" $Id: login.3,v 1.5 2002-05-18 07:12:55 horikawa Exp $ .\" " .\" $FreeBSD$ .Dd December 29, 1996 .Os .Dt LOGIN 3 .Sh 名称 .Nm login .Nd utmp及びwtmpファイルへのログインレコードの記録 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft void .Fn login "struct utmp *ut" .Pp Link with .Va -lutil on the .Xr cc 1 command line. .Sh 解説 関数 .Fn login は、 .Xr utmp 5 ファイルの適当なスロットへパスされる .Ar ut エントリを記録し (呼び出しプロセスの制御端末に従って)、それを .Xr wtmp 5 ファイルへアペンドします。 呼び出しプロセスはどちらのファイルに対しても書き込み権限を 持っている必要があります。 .Pp .Sh 戻り値 なし .Pp .Sh 関連項目 .Xr logout 3 , .Xr ttyslot 3 , .Xr utmp 5 , .Xr wtmp 5 .Pp .Sh バグ .Fn login は未加工なインタフェースを提供します。呼び出し側は、 .Va struct utmp の構造について認識している必要があります。もう少し抽象化が 必要です。 diff --git a/ja_JP.eucJP/man/man3/login_auth.3 b/ja_JP.eucJP/man/man3/login_auth.3 index c8347f124f..90b3fc165c 100644 --- a/ja_JP.eucJP/man/man3/login_auth.3 +++ b/ja_JP.eucJP/man/man3/login_auth.3 @@ -1,73 +1,73 @@ .\" Copyright (c) 1995 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" %FreeBSD: src/lib/libutil/login_auth.3,v 1.9.2.3 2001/08/17 15:43:07 ru Exp % +.\" %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 書式 -.Fd #include -.Fd #include +.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/ja_JP.eucJP/man/man3/login_cap.3 b/ja_JP.eucJP/man/man3/login_cap.3 index 8b80a58683..b65760c706 100644 --- a/ja_JP.eucJP/man/man3/login_cap.3 +++ b/ja_JP.eucJP/man/man3/login_cap.3 @@ -1,457 +1,458 @@ .\" Copyright (c) 1995 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" %FreeBSD: src/lib/libutil/login_cap.3,v 1.17.2.6 2001/08/17 15:43:07 ru Exp % +.\" %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 書式 -.Fd #include -.Fd #include +.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= が記述されているフィールド によって複数レコードを相互に関連させることができます (レコードが包含関係にあります)。 で示されるすべてのレコードは発生した箇所で tc= フィールドにより置きかえられます。 ケーパビリティデータベースの形式と利用方法に関する詳細については、 .Xr getcap 3 を参照してください。 .Pp .Nm login_cap -インフェースには、tc= 参照の拡張により、 +インタフェースには、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 でないときは、 -.Xr .login_conf 5 +".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 はユーザによる上書きが可能なユーザホームディレクトリ上の -.login_conf +.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_gatcaplist()" -.Fn login_getcapstr +.Bl -tag -width "login_getcaplist()" +.It Fn login_getcapstr この関数は、単純文字列ケーパビリティを返します。 文字列が見つからないとき、 .Ar def 内の定義値がデフォルト値として 返されます。エラーが発生したとき、 .Ar error パラメータの値が返されます。 -.Pp .It Fn login_getcaplist 本関数は、名前付きケーパビリティタグの値を -NULL で終了する配列の値リストとして返します。ログインクラスデータベースには、 +NULL で終了する配列の値 +.Em リスト +として返します。ログインクラスデータベースには、 リストタイプのタグがあり、複数のカンマまたはスペースで分離した値で 構成されています。通常、この関数は直接アプリケーションから呼び 出されることはなく、 .Fn login_getstyle 経由で間接的に使用されます。 -.Pp .It Fn login_getpath この関数は、 .Ql &: で分離されたディレクトリリストを 返します。 この関数の呼び出しが実行される ケーパビリティタグはスペースで分離されたディレクトリリストで構成されます。 -.Pp .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= または標準的な .Fn cgetnum 書式 tag# で表現されます。 最初の書式は 2 番目のものより優先的に使用されます。 2 番めの書式は、 .Xr getcap 3 データベースの書式との互換性と整合性があり、数値タイプの場合、 数値のデリミタとして .Ql \&# が使われます。最初の書式の場合、指定される値は \&'inf' または 'infinity' で、戻り値は RLIM_INFINITY になります。指定された ケーパビリティタグを見つけることができない場合、 .Ar def パラメータが返されます。 エラーが起きると、 .Ar error パラメータが返されます。 -.Pp .It Fn login_getcapsize .Fn login_getcapsize は、サイズ(ファイルまたは メモリの場合)を表す値を、バイト数(デフォルト)、 512 バイトのブロック数、 KB, MB, GB 表示で返します。また .Ar long long タイプをサポートしているシステム であれば、 TB 表示もあります。使用されている接尾語により単位、複合値を 決定し、単位は組み合せた形で使用されます。(例えば、 1m500k = 1.5megabytes) 接尾語がない値 A はバイトを、 B は 512 バイトブロックを、 K は KB を、 M は MB を、 G は GB を、 そして T は TB を表します。 大文字と小文字の区別はありません。エラー値が返ってくるのは、 ログインケーパビリティデータベースエラーがあるか、 間違った接尾語が使用されているか、または数値が変換ができない場合です。 -.Pp .It Fn login_getcapbool この関数は、特定のフラグに関連したバイナリ値を、返します。指定された ケーパビリティタグがないか、 -\&'tag@'(boolean フラグの詳細については +"tag@" (boolean フラグの詳細については .Xr getcap 3 を参照) により無効にされているとき、0 が返ります。 タグが見つかれば 1 が返ります。 -.Pp .It Fn login_getstyle この関数は、ログイン認可システムで使用され、特定の ケースで有効なログインの形式を決定します。関数は、 3 つのパラメータと、 .Nm login_cap 登録レコードそのもの、および 2 つの任意指定パラメータ、 \&'auth' と \&'style' の認可タイプを受け取り、これらを用いてこれらのルールと矛盾しない 認可スタイルを決定します。 .Pp .Bl -bullet .It \&'auth' が NULL または 空文字列でなければ、 ケーパビリティレコードの "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 -.Pp -この体系により、管理者は、アクセス方式に従って、システムが受け取る -認可方式を決定します。たとえば、管理者がネットワークを経由したシステムへの -アクセスに使用された認証方式として、skey または kerberos を要求します。 -また、直接のダイアルアップまたはコンソールログイン経由での標準的方式を -要求することもあり、"snooping" ネットワークパケットによりパスワードが -発見されるリスクを著しく減少させられます。 -.El .Sh 関連項目 .Xr crypt 3 , .Xr getcap 3 , .Xr login_class 3 , .Xr login.conf 5 , .Xr termcap 5 - - - diff --git a/ja_JP.eucJP/man/man3/login_class.3 b/ja_JP.eucJP/man/man3/login_class.3 index 9e08b1dac1..8f5f22dbc8 100644 --- a/ja_JP.eucJP/man/man3/login_class.3 +++ b/ja_JP.eucJP/man/man3/login_class.3 @@ -1,190 +1,190 @@ .\" Copyright (c) 1995 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" %FreeBSD: src/lib/libutil/login_class.3,v 1.9.2.2 2001/08/17 15:43:07 ru Exp % +.\" %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 書式 -.Fd #include -.Fd #include +.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 -のマニュアルに記載されているインターフェスより高次のインターフェスを +のマニュアルに記載されているインタフーェスより高次のインタフーェスを 提供します。これらの関数が使用されるのは、リソースに関する限界値や、 環境およびシステムにログインするユーザへの課金の設定、およびログインクラス に基づくシステムデーモンの設定と環境の適切な組を設定するときです。これらの 関数呼び出しは、現在のプロセスがルート権限で実行されているときだけ 可能です。LOGIN_SETLOGIN フラグが使用される場合、この関数は .Xr setlogin 2 の呼び出しを実行し、当該関数についてはマニュアルページに説明してある注意を 払う必要があります。これは同一のセッションで実行されているすべてのプロセス に影響をあたえますが、現在のプロセスが影響を受けることはありません。 .Pp .Fn setclasscontext は、種々の、指定された名前付クラスの値に基づくクラス のコンテキスト値 (リソースの限界値、umask やプロセスの優先順位) を 設定します。 .Pp .Fn setusercontext は、指定された login_cap_t オブジェクト、 -指定された passwd レコード ( login_cap_t が nullの場合) +指定された 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 (ハードリミット)の接尾語と次に示す +は、-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 +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 -.Pd +.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/ja_JP.eucJP/man/man3/login_ok.3 b/ja_JP.eucJP/man/man3/login_ok.3 index 0fe499ad4b..fa3d99afd3 100644 --- a/ja_JP.eucJP/man/man3/login_ok.3 +++ b/ja_JP.eucJP/man/man3/login_ok.3 @@ -1,143 +1,143 @@ .\" Copyright (c) 1995 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" %FreeBSD: src/lib/libutil/login_ok.3,v 1.7.2.3 2001/08/17 15:43:07 ru Exp % +.\" %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 書式 -.Fd #include -.Fd #include -.Fd #include +.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 は、名前付 -.Ar tty +tty が指定されたクラスのユーザで 利用可能かどうかを判定します。またそれが .Em ttys.allow アクセスリストに載っており、 .Em ttys.deny -アクセスリストに載っていないこともチエックします。 -.Ar tty +アクセスリストに載っていないこともチェックします。 +tty デバイス経由でくるログインは、 .Em ttys.allow リストがなく (あるいは指定されたログインクラスの登録権限定義がない) ても、空でない .Em ttys.deny リストが存在しない限り、またはデバイスあるいは -.Ar tty +tty グループ( .Xr ttys 5 -を参照のこと)がリストに載っていなければ、受入れられます。 -.Ar tty +を参照のこと) がリストに載っていなければ、受入れられます。 +tty に対するアクセスは、 -.Ar tty +tty デバイス名で固有の制限と範囲が決められます。また デバイス名はワイルドカード指定 (例えば、ttyD* または cuaD*) を含むか、または group= タグが .Pa /etc/ttys に割り振られている場合、ttygroup の名前を定義します。 ttys と ttygroups の一致はケースによります。 .Dv NULL または文字列を -.Ar tty parameter +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/ja_JP.eucJP/man/man3/login_times.3 b/ja_JP.eucJP/man/man3/login_times.3 index f1db0a1a8d..b6e353848c 100644 --- a/ja_JP.eucJP/man/man3/login_times.3 +++ b/ja_JP.eucJP/man/man3/login_times.3 @@ -1,158 +1,157 @@ .\" Copyright (c) 1995 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" %FreeBSD: src/lib/libutil/login_times.3,v 1.8.2.4 2001/08/17 15:43:07 ru Exp % +.\" %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 書式 -.Fd #include -.Fd #include -.Fd #include +.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' +"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 パラメータで定義された時間内にあるかどうか決定します。 -.Pp 指定の時間が時間帯内にあるかどうかをバイナリ型の戻り値で返します。 時間が所定の時間帯になく、関数の第 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/ja_JP.eucJP/man/man3/login_tty.3 b/ja_JP.eucJP/man/man3/login_tty.3 index 38b5ccdf6b..ec37cc8ee2 100644 --- a/ja_JP.eucJP/man/man3/login_tty.3 +++ b/ja_JP.eucJP/man/man3/login_tty.3 @@ -1,63 +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.2 2001/07/22 12:07:18 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/logout.3 b/ja_JP.eucJP/man/man3/logout.3 index e86a9dc643..6038337938 100644 --- a/ja_JP.eucJP/man/man3/logout.3 +++ b/ja_JP.eucJP/man/man3/logout.3 @@ -1,69 +1,69 @@ .\" .\" 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/logout.3,v 1.6.2.3 2001/07/22 12:07:18 dd Exp % +.\" %FreeBSD: src/lib/libutil/logout.3,v 1.6.2.4 2001/12/17 10:08:32 ru Exp % .\" $FreeBSD$ .\" " .Dd December 29, 1996 .Os .Dt LOGOUT 3 .Sh 名称 .Nm logout .Nd utmpファイルからの登録の削除 .Sh ライブラリ .Lb libutil .Sh 書式 -.Fd #include -.Fd #include +.In sys/types.h +.In libutil.h .Fn logout "const char *line" .Sh 解説 関数 .Fn logout は、引数 .Ar line で指定された (通常 tty 名で) スロットを探して .Xr utmp 5 ファイルを探索します。スロットがみつからない場合は、 .Em name 及び hos フィールドが空のレコードで更新され、 タイムスタンプは最新時間に更新されます。 .Sh 戻り値 関数 .Fn Logout は引数 .Ar line で指定したスロットが見つからない場合、1 を返して更新し、 そうでない場合は 0 を返します。 .Sh 関連項目 .Xr login 3 , .Xr utmp 5 , .Xr wtmp 5 .Sh バグ .Fn logout -の呼び出しインターフェスは +の呼び出しインタフェースは .Xr login 3 のインタフェースと整合性がとれていません。 diff --git a/ja_JP.eucJP/man/man3/logwtmp.3 b/ja_JP.eucJP/man/man3/logwtmp.3 index 5717ce831a..0985186b4b 100644 --- a/ja_JP.eucJP/man/man3/logwtmp.3 +++ b/ja_JP.eucJP/man/man3/logwtmp.3 @@ -1,71 +1,71 @@ .\" .\" 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/logwtmp.3,v 1.7.2.3 2001/11/02 00:58:18 yar Exp % +.\" %FreeBSD: src/lib/libutil/logwtmp.3,v 1.7.2.4 2001/12/17 10:08:32 ru Exp % .\" $FreeBSD$ .\" " .Dd December 29, 1996 .Os .Dt LOGWTMP 3 .Sh 名称 .Nm logwtmp .Nd wtmp ファイルに新規レコードを追加 .Sh ライブラリ .Lb libutil .Sh 書式 -.Fd #include -.Fd #include +.In sys/types.h +.In libutil.h .Ft void .Fn logwtmp "const char *line" "const char *name" "const char *host" .Sh 解説 .Fn logwtmp は、 .Xr wtmp 5 ファイルに新規レコードの追加します。 引数は、 .Ar line , .Ar name , .Ar host 及び現在時間を与えます。 .Pp .Ar host で指定するホスト名の長さが .Xr wtmp 5 ファイルのホスト名フィールドと合わない場合、最初は、 .Xr gethostbyname 3 により数値の IP アドレスに変換しようとします。 これに失敗した場合、ホスト名は .Qq invalid hostname (不正ホスト名) として記録されます。 .Pp 呼び出しプロセスは、 .Xr wtmp 5 ファイルに対し、読み込み、書き込みの両方の権限を持っている必要があります。 .Sh 戻り値 なし。 .Sh 関連項目 .Xr gethostbyname 3 , .Xr login 3 , .Xr wtmp 5 diff --git a/ja_JP.eucJP/man/man3/lsearch.3 b/ja_JP.eucJP/man/man3/lsearch.3 index 6087981d34..7c2b93e942 100644 --- a/ja_JP.eucJP/man/man3/lsearch.3 +++ b/ja_JP.eucJP/man/man3/lsearch.3 @@ -1,105 +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 書式 -.Fd #include +.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 このインタフェースは、これが書かれるより前に時代遅れでした。 -これは互換ライブラリ libcompat から利用可能となっています。 .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/ja_JP.eucJP/man/man3/malloc.3 b/ja_JP.eucJP/man/man3/malloc.3 index 3716f81584..24daede238 100644 --- a/ja_JP.eucJP/man/man3/malloc.3 +++ b/ja_JP.eucJP/man/man3/malloc.3 @@ -1,471 +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.13 2001/11/12 01:11:15 dd Exp % +.\" %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 書式 -.Fd #include +.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 関数が常にメモリの再割り当てをするようになります。 メモリを圧縮する場合の大きな助けとなります。 -.Pp .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に出力されます。 +メッセージがファイル記述子 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/ja_JP.eucJP/man/man3/math.3 b/ja_JP.eucJP/man/man3/math.3 index 08e7949fd4..f3ded9e3ff 100644 --- a/ja_JP.eucJP/man/man3/math.3 +++ b/ja_JP.eucJP/man/man3/math.3 @@ -1,576 +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 -.\" %Id: math.3,v 1.7 1998/02/04 22:30:18 jlemon Exp % +.\" $Id: math.3,v 1.5 2002-05-18 07:12:55 horikawa 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 アンダーフローが発生すると、ゼロになります。 .br 警告: .RS アンダーフローにより、x .if n \ != .if t \ \(!= y で x\-y = 0 となる可能性があります。同じように、 x > y > 0 であっても、x\(**y = 0 もしくは y/x = 0 ということが警告なしに発生してしまいます。 .RE .RE ゼロは曖昧に表現されます。 .RS ハードウェアでは、2**55 通りのゼロの表現を受理しますが、 生成されるものは明らかな表現だけです。 VAX には -0 がありません。 .RE VAX アーキテクチャには無限 ( .If ) もありません。 .br 予約オペランド: .RS ハードウェアは 2**55 通りを認識しますが、生成されるものは 1 つだけです。 予約オペランドに対する浮動小数演算は、MOVF や MOVD でさえ計算を中断する ので、あまり使用されません。 .RE 例外: .RS ゼロ除算とオーバフローするオペレーションは不正なオペレーションで、 計算は中断されます。古いマシンでは予約オペランドが作成され、 計算が中断されます。 .RE 丸め: .RS (PDP\-11 では必ずしもそうとは言えませんが) VAXでのすべての有理数演算 (+, \-, \(**, /) は、オーバフロー、アンダーフロー、ゼロ除算が 発生しない場合、\*(up の半分以内に丸められます。丸め誤差が \*(up のちょうど半分である場合、丸めは 0 から離れます。 .RE .RE .PP 範囲が狭いことを別にすると、D_floating\-point は、1960 年代に設計された ものとしては優れたコンピュータ算術演算のひとつです。 D_floating\-point のプロパティは、4.3 BSD で配布された VAX の 基本的な関数に忠実に反映されています。オーバフローや アンダーフローが発生するのは、結果が範囲外になるか範囲外に非常に近い 場合のみで、その場合はオーバフローやアンダーフローを起こす有理算術 オペレーションと同じような動作をします。同じように、log(0) と atanh(1) のような式は 1/0 のように動作し、sqrt(\-3) と acos(3) は 0/0 のように動作します。これらはすべて予約オペランドを作成し、 計算は中断されます。この状況については、 それぞれのマニュアルページで詳しく説明します。 .RS .ll -0.5i このレスポンスは厳し過ぎるので、すべての浮動小数演算の例外を適切に 処理するように開発された、柔軟で統一されたスキームで近い将来に 置き換えられる予定です。 .\" See infnan(3M) for the present state of affairs.\fR .ll +0.5i .RE .PP UNIX 用 4.3 BSD の新しい \fIlibm\fR の関数を DEC の VAX/VMS ライブラリと 比較すると、一部の VMS 関数は多少速く、一部は多少精度が高く、一部は かなり例外に厳しくなって(pow(0.0,0.0) と atan2(0.0,0.0) など)おり、 ほとんどは、\fIlibm\fR よりも多くのメモリを使用します。 VMS コードは、大きいテーブルで補間して速さと精度を達成しています。 \fIlibm\fR コードは、将来はすべてが ROM に収まりそうなほど 小型で相当工夫を凝らした式を使用しています。 .PP それより重要なことは、DEC が VMS コードを特許とみなし、許可なく 使用することを厳しく禁じているのに対し、4.3 BSD の \fIlibm\fR コードは public domain を意図しているということです。つまり、 出所を常に明らかにして、ユーザがコードを使用した感想を報告して コードの作者の研究に協力する限りにおいて、\fIlibm\fR コードは自 由にコピーできます。それゆえ、算術処理が VAX D_floating\-point に似ているマシンの UNIX ユーザであっても、新しい \fIlibm\fR よりも 劣るものを使用する必要がないということです。 .PP \fBIEEE STANDARD 754 浮動小数点数算術演算:\fR .PP この標準は、他のコンピュータ算術演算方式よりも広く 採用されてきています。以下のような多くのメーカが、この標準の一部の バージョンに準拠した VLSI チップを製造しています。 .nf .ta 0.5i +\w'Intel i8070, i80287'u+6n Intel i8087, i80287 National Semiconductor 32081 Motorola 68881 Weitek WTL-1032, ... , -1165 Zilog Z8070 Western Electric (AT&T) WE32106. .ta .fi この他にも、ソフトウェアによる実装 (Apple Macintosh は完璧にそれ) から、 Hewlett-Packard 9000 シリーズの VLSI による実装や、果ては ECL を 駆使し、3 Megaflop を達成した ELXSI 6400 まで極めて広い実装の幅を 誇ります。他の企業の中には、丸め、オーバフロー、アンダーフロー などの例外の処理でこの標準の方法に従わずに、IEEE 754 のフォーマット だけを採用しています。 DEC VAX G_floating\-point フォーマットは、IEEE 754 Double フォーマットに非常に似ているので、上に挙げたほとんどの初等関数の IEEE バージョンの C プログラムは、MicroVAX で実行するように簡単に 変換できますが、わざわざ変換してやろうという人はいないようです。 .PP 4.3 BSD \fIlibm\fR のコードのうち、IEEE 754 準拠マシン用のものは、 National Semi. 32081 と WTL 1164/65 用になっています。 Intel チップや Zilog チップ、または Apple Macintosh か ELXSI 6400 でこのコードを使用する場合は、これらの企業が提供するよりよいコード (無料になると思われる) か、上のコードの作者が設計した コードを使用することになります。 \fIatan\fR, \fIcabs\fR, \fIcbrt\fR, \fIerf\fR, \fIerfc\fR, \fIhypot\fR, \fIj0\-jn\fR, \fIlgamma\fR, \fIpow\fR, \fIy0\-yn\fR を除けば、 Motorola 68881 は \fIlibm\fR のすべての関数をチップに搭載し、 しかもより速く正確になっています。 Motorola, Apple, i8087, z8070, WE32106 では、 有効桁数 64 ビットを使用しています。4.3 BSD の \fIlibm\fR コードには、 public domain を意図しているという長所があります。 出所を常に明らかにし、ユーザがコードを使用した感想を報告して 作者の研究に協力すれば、\fIlibm\fR コードは自由にコピーできます。 算術演算が IEEE 754 に似ているマシンの UNIX ユーザは、新しい \fIlibm\fR に劣るものを使用する必要がないということです。 .PP IEEE 754 Double-Precision のプロパティ: .RS ワードサイズ: 64 ビット、8 バイト、基数: バイナリ .br 精度: 53 ビット、(10 進数で) 約 16 桁。 .RS x と x' が連続した正の倍精度浮動小数点数である (1 \*(up ずつ異なる) 場合は、 .br 1.1e\-16 < 0.5**53 < (x'\-x)/x \(<= 0.5**52 < 2.3e\-16 となる。 .RE .nf .ta \w'範囲:'u+1n +\w'アンダーフロー閾値'u+1n +\w'= 2.0**1024'u+1n 範囲: オーバフローしきい値 = 2.0**1024 = 1.8e308 アンダーフローしきい値 = 0.5**1022 = 2.2e-308 .ta .fi .RS オーバフローが発生すると、デフォルトで符号付きの無限になります。 アンダーフローは 0.5**1074 = 4.9e-324 の倍数の整数のうち最も 近いものに段階的に丸められます。 .RE ゼロは、+0 か \-0 のようにあいまいに表現されます。 .RS 符号は乗算か除算で正しく変換され、符号付きゼロの加算で維持されます。 しかし x が有限の 場合、x\-x は +0 になります。0 の符号が 問題になる演算は、0 除算と copysign(x,\(+-0) のみです。 とくに比較 (x > y, x \(>= y など) はゼロの符号から 影響を受けませんが、有限な値 x = y である場合は、 .If \&= 1/(x\-y) .if n \ != .if t \ \(!= \-1/(y\-x) = .If \- になります。 .RE .If は符号付きです。 .RS .If をそれ自身か有限の数値に加算しても 無限は維持されます。 .If の符号は乗算と除算で正しく変換され、 .If (有限値)/\(+- \0=\0\(+-0 (非ゼロ値))/0 = .If \(+- になります。しかし、 .if n \ 無限\-無限, 無限\(**0, 無限/無限 .if t \ \(if\-\(if, \(if\(**0, \(if/\(if は、0/0 や sqrt(\-3) と同様に不正な演算であり、\*(nn が生成されます。 .RE 予約オペランド: .RS 2**53\-2 通りの予約オペランドがあり、すべて \*(nn (\fIN\fRot \fIa N\fRumber) と呼ばれます。一部は発信 \*(nn と呼ばれ、それに対して浮動小数点演算を実行するとトラップが発生します。 値の欠落か未初期化、または配列の存在しない要素をマークするために 使用されます。その他は無発信 \*(nn と呼ばれます。これは 不正演算の結果のデフォルト値で、それ以後の算術演算に影響が波及します。 x .if n \ != .if t \ \(!= x である場合、x は \*(nn です。その他すべての論理演算 (x > y, x = y, x < y など) は、\*(nn が関係する場合は 偽になります。 .br 注意: \*(nn は三分法を妨害します。 .RS \*(nn が関係する場合、純粋な (不) 等値演算ではなく 順序付け比較を伴う論理演算は 偽になるだけでなく、不正演算となります。 .RE .RE 丸め: .RS デフォルトでは、すべての代数演算 (+, \-, \(**, /, .if n \ sqrt) .if t \ \(sr) は、\*(up の半分以内に丸められます。丸め誤差が \*(up のちょうど半分である場合、丸めた値の最下位有効ビットはゼロになります。 通常はこのような丸めが最適で、たとえば x = 1.0, 2.0, 3.0, 4.0, ..., 2.0**52 である場合、商と積の両方が丸められるにも関わらず、 (x/3.0)\(**3.0 == x, (x/10.0)\(**10.0 == x, ... になります。このような結果となるのは、IEEE 754 のような丸めのみです。 しかし 1 つの丸めがどの状況でも最適であるとは限らないため、 IEEE 754 では、ゼロへの丸め、 .If + への丸め、 .If - への丸めをプログラマが選択できるようになっています。最低でも 1.0e\-10 から 1.0e37 くらいまででは、 バイナリと小数の変換に同じ種類の丸めを指定できます。 .RE 例外: .RS IEEE 754 では、5 種類の浮動小数例外が認識されます。 以下では、重要な順にその 5 種類を挙げます。 .RS .nf .ta \w'Invalid Operation'u+6n +\w'Gradual Underflow'u+2n 例外 デフォルトの結果 .tc \(ru .tc 不正演算 \*(nn, または偽 .if n \{\ オーバフロー \(+-無限 ゼロ除算 \(+-無限 \} .if t \{\ オーバフロー \(+-\(if ゼロ除算 \(+-\(if \} アンダーフロー 段階的アンダーフロー 不精密 丸めた値 .ta .fi .RE 注意: 例外は、適切に処理されればエラーではありません。 例外を例外的なものにしてしまうのは、すべての例を満たす デフォルトレスポンスがない場合です。逆に、デフォルトレスポンスが ほとんどの例を満たす場合、それでも満たされない例を、 例外が発生するたびに演算を中断するという手で正当化することは できません。 .RE .PP IEEE 754 では、それぞれの浮動小数例外のためにフラグを 用意しています。このフラグは例外が発生するたびに上がり、プログラムで リセットするまで、上がった状態で残ります。プログラムでは、フラグのテスト、 保存、復元もできます。 IEEE 754 には、デフォルトの結果が満足の行くものでない 例外にプログラムで対処する方法として、以下の 3 つがあります。 .IP 1) \w'\0\0\0\0'u 後で例外の原因となる可能性がある条件をテストし、その テスト結果に従って処理を変えて例外を避ける。 .IP 2) \w'\0\0\0\0'u フラグをテストし、プログラムで最後にフラグをリセット してから例外が発生したかどうかを確認する。 .IP 3) \w'\0\0\0\0'u 結果をテストし、1 つの例外のみが発生する値であるかどうかを確認する。 .RS 警告: アンダーフローが発生したかどうかを確実に発見するには、 積や商がアンダーフローしきい値よりゼロに近いかどうかをテスト するか、アンダーフローフラグをテストするしかありません。 (IEEE 754 では、和と差がアンダーフローを起こすことはありません。 x .if n \ != .if t \ \(!= y である場合、x\-y は完全に正確で、値が小さくてもゼロではありません。 ) 段階的にアンダーフローを起こす積と商は、徐々に精度を失っても ゼロにはならないため、ゼロと比較しても (VAX で実行する可能性がある)、 ロスは明らかになりません。段階的にアンダーフローを起こした値を アンダーフローしきい値より大きい値と加算する場合、段階的な アンダーフローで失われる桁は切り捨てられるので失われません。 このため、通常の場合、段階的なアンダーフローは無視できることがあります。 ゼロにフラッシュされるアンダーフローでは、同じことが正しいとは限りません。 .RE .PP IEEE 754 に準拠するシステムでは、以下のような方法でも例外に 対処できます。 .IP 4) \w'\0\0\0\0'u 異常終了 (ABORT)。このメカニズムでは、「ON ERROR GO TO」のような エラー処理ステートメントに関連する方法で処理する事がらとして、例外を 前もって分類します。言語が異なれば、このステートメントの形式は 変わりますが、次のような共通した特徴があります。 .IP \(em \w'\0\0\0\0'u 例外を起こした演算結果の値を代用し、式の途中から計算を 再開する方法がなくなります。例外の結果は放棄されます。 .IP \(em \w'\0\0\0\0'u エラー処理ステートメントがないサブプログラムでは、どの プログラムが呼び出してもそのサブプログラムは例外のために異常終了し、 エラー処理ステートメントが見つかるまでサブプログラムが次々に呼び 出されるか、タスク全体が異常終了してメモリのダンプが取られます。 .IP 5) \w'\0\0\0\0'u 停止(STOP)。対話型のデバッグ環境が必要になるこのメカニズムは、 プログラマ用であってプログラム向きではありません。例外はプログラマの 間違いの兆候として前もって分類されます。例外が発生すると、例外を起こした オペレーションの近くで実行が停止されるので、プログラマは、例外がどのように 発生したのかを確認できます。多くの場合は、最初の数個の例外は大きな 問題ではなく、プログラマはそれぞれの例外が発生するたびに、実行が 停止されなかったかのように実行を再開できます。 .IP 6) \w'\0\0\0\0'u \&... その他の方法については、この文書では説明しません。 .RE .PP 例外処理には、範囲 (scope) という重大な問題があります。問題の解決策は 分かっていますが、人手不足のため、4.3 BSD の \fIlibm\fR で配布するとき までに完全に実現できませんでした。理想的には、それぞれの初等関数を、 次のような意味で分割せずに自動的に動作させる必要があります。 .IP i) \w'iii)'u+2n 関数に提供したデータが値しない例外を発生させない。 .IP ii) \w'iii)'u+2n 発生したすべての例外をその関数で識別し、サブルーチンでは 識別しない。 .IP iii) \w'iii)'u+2n 関数の定義が例外処理と関連しているにも関わらず、上記 5 つの 例外処理方法によって呼出し側プログラムを変更し、小さな関数の 内部処理を中断しない。 .PP プログラマが、デバッグ済みサブプログラムをユーザが気付かないような 小さなものに簡単にできるようになれば理想的です。しかし、小さな関数の 3 つすべての特徴をシミュレートすることは、多くのテスト、保存、復元が 伴うため、厄介な作業になっています。現在、この不便さを改善する作業が 進んでいます。 .PP この作業が進むまで、\fIlibm\fR の関数はそれほど小さくなりませんが、 以下の場合を除き、不適切な例外を発生させません。 .RS オーバフロー/アンダーフロー .RS 正しく計算した結果が、範囲内に収まっている場合。 .RE \fIcabs\fR, \fIcbrt\fR, \fIhypot\fR, \fIlog10\fR, \fIpow\fR の不正。 .RS エラーの偶発的な取り消しによって正確になった場合。 .RE .RE その他の場合 .RS 不正演算は、以下のような場合にのみ発生します。 .RS \*(nn 以外の結果が誤っていると思われる場合。 .RE オーバフローは、以下のような場合にのみ発生します。 .RS 正しい結果が有限であるが、オーバフローしきい値を 越えている場合。 .RE ゼロ除算は、以下のような場合にのみ発生します。 .RS 有限演算で、関数が無限の値を受けた場合。 .RE アンダーフローは、以下のような場合にのみ発生します。 .RS 正しい結果がゼロではないが、アンダーフローしきい値より 小さい場合。 .RE 不正確は、以下のような場合にのみ発生します。 .RS 正しい結果の表現に、より広い範囲かより高い精度が必要な 場合。 .SH バグ シグナルが適切である場合、そのシグナルはコードの特定オペレーションから 発信されているので、上記の手法 5) を使用している場合は、 サブルーチンをトレースしてそのシグナルを発している関数を特定する 必要があります。すべてのコードは、IEEE 754 のデフォルトを使用します。 つまり、すべてのゼロ除算をトラップしようとすると、 トラップしない場合にゼロ除算でも正しい結果を出すコードが中断されると いうことです。 .SH 関連項目 \fBfpgetround\fR(3), \fBfpsetround\fR(3), \fBfpgetprec\fR(3), \fBfpsetprec\fR(3), \fBfpgetmask\fR(3), \fBfpsetmask\fR(3), \fBfpgetsticky\fR(3) \fBfpresetsticky\fR(3) - IEEE 浮動小数インタフェース .SH 注釈 IEEE 754 とエクステンション p854 については、 1984 年 8 月に発行された、IEEE の雑誌『MICRO』を参照してください。 W. J. Cody らが「A Proposed Radix\- and Word\-length\-independent Standard for Floating-point Arithmetic」という記事の中で 説明しています。Apple Macintosh の Pascal, C, BASIC のマニュアル には、IEEE 754 の機能に関する分かりやすい説明があります。 IEEE の雑誌『COMPUTER vol. 14 no. 3』(1981 年 3 月) と 1979 年 10 月の 『ACM SIGNUM Newsletter Special Issue』の記事も役立ちますが、この 記事はのちに変更された標準仕様案に関係しています。 diff --git a/ja_JP.eucJP/man/man3/mbrune.3 b/ja_JP.eucJP/man/man3/mbrune.3 index 806da94078..e43e13019d 100644 --- a/ja_JP.eucJP/man/man3/mbrune.3 +++ b/ja_JP.eucJP/man/man3/mbrune.3 @@ -1,157 +1,160 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Paul Borman at Krystal Technologies. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mbrune.3 8.2 (Berkeley) 4/19/94 +.\" %FreeBSD: src/lib/libc/locale/mbrune.3,v 1.6.2.4 2001/12/14 18:33:54 ru Exp % .\" .\" $FreeBSD$ .Dd April 19, 1994 .Dt MBRUNE 3 .Os .Sh 名称 .Nm mbrune , .Nm mbrrune , .Nm mbmb .Nd C のためのマルチバイト文字 (rune) サポート +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include +.In rune.h .Ft char * .Fn mbrune "const char *string" "rune_t rune" .Ft char * .Fn mbrrune "const char *string" "rune_t rune" .Ft char * .Fn mbmb "const char *string" "char *pattern" .Sh 解説 これらのルーチン群は、マルチバイト文字列のための .Fn strchr , .Fn strrchr , .Fn strstr 相当の機能を提供します。 .Pp .Fn mbrune 関数は、 .Ar string の指す文字列の中で、 .Fa rune が最初に現れる位置を指します。 終端の .Dv NUL 文字は文字列の一部とみなされます。 .Fa rune が .Ql \e0 である場合は .Fn mbrune は終端の .Ql \e0 を指します。 .Pp .Fn mbrrune 関数は、文字列 .Fa string の中で .Fa rune が最後に現れる位置を指します。 .Fa rune が .Ql \e0 である場合は .Fn mbrune は終端の .Ql \e0 を指します。 .Pp .Fn mbmb 関数は、 ヌルで終端する文字列 .Fa string の中で、ヌルで終端する文字列 .Fa pattern が最初に現れるものを指します。 .Fa pattern が空文字列である場合、 .Fn mbmb は .Fa string を返します。 .Fa pattern が .Fa string の中のどこにも現れない場合、 .Fn mbmb は .Dv NULL を返します。 それ以外の場合、 .Fn mbmb は、 .Fa pattern が最初に現れる先頭の文字のポインタを返します。 .Sh 戻り値 .Fn mbrune 関数は、該当する文字の位置を示すポインタを返します。 文字列中に該当する文字が見つからない場合は .Dv NULL を返します。 .Pp .Fn mbrrune 関数は、該当する文字のポインタを返します。 文字列中に該当する文字が見つからない場合は .Dv NULL を返します。 .Pp .Fn mbmb 関数は、 .Fa pattern のポインタを返します。 文字列中に該当する .Fa pattern が見つからない場合は .Dv NULL を返します。 .Pp .Sh 関連項目 .Xr mbrune 3 , .Xr rune 3 , .Xr setlocale 3 , .Xr euc 4 , .Xr utf2 4 .Sh 歴史 .Fn mbrune , .Fn mbrrune , .Fn mbmb 関数は、Bell Labs の Plan 9 で .Fn utfrune , .Fn utfrrune , .Fn utfutf として現れました。 diff --git a/ja_JP.eucJP/man/man3/md2.3 b/ja_JP.eucJP/man/man3/md2.3 index 2da4a8f37b..86bb29b633 100644 --- a/ja_JP.eucJP/man/man3/md2.3 +++ b/ja_JP.eucJP/man/man3/md2.3 @@ -1,170 +1,170 @@ .\" .\" ---------------------------------------------------------------------------- .\" "THE BEER-WARE LICENSE" (Revision 42): .\" wrote this file. As long as you retain this notice you .\" can do whatever you want with this stuff. If we meet some day, and you think .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" %Id: md2.3,v 1.13 1998/03/27 10:22:07 phk Exp % +.\" $Id: md2.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" .\" $FreeBSD$ .Dd October 9, 1996 .Dt MD2 3 .Os FreeBSD 2 .Sh 名称 .Nm MD2Init , .Nm MD2Update , .Nm MD2Pad , .Nm MD2Final , .Nm MD2End , .Nm MD2File , .Nm MD2Data .Nd RSA Data Security .Sh 書式 .Fd #include .Fd #include .Ft void .Fn MD2Init "MD2_CTX *context" .Ft void .Fn MD2Update "MD2_CTX *context" "const unsigned char *data" "unsigned int len" .Ft void .Fn MD2Pad "MD2_CTX *context" .Ft void .Fn MD2Final "unsigned char digest[16]" "MD2_CTX *context" .Ft "char *" .Fn MD2End "MD2_CTX *context" "char *buf" .Ft "char *" .Fn MD2File "const char *filename" "char *buf" .Ft "char *" .Fn MD2Data "const unsigned char *data" "unsigned int len" "char *buf" .Sh 解説 MD2 関数群は、任意の数の入力バイトに対して 128 ビット暗号チェックサム ( ダイジェスト ) を計算します。 暗号チェックサムは一方向ハッシュ関数なので 特定出力に対応する入力を ( 徹底的な検索を除いて ) 見つけることはできません。 結果的には入力データの「指紋」しか見つからず、 実際の入力が明らかになることはありません。 .Pp MD2 は最も遅く、 MD4 は最も高速で、 MD5 はその中間です。 MD2 は、プライバシが重要なメールのみで使用できます。 MD4 には弱すぎると酷評されたため、 「安全ベルトを付けた MD4」として MD5 が開発されました。 疑わしいときは MD5 を使用してください。 .Pp .Fn MD2Init , .Fn MD2Update , .Fn MD2Final 関数は中心的な関数群です。 MD2_CTX を割り当て、 .Fn MD2Init で初期化し、 .Fn MD2Update でデータを処理し、最後に .Fn MD2Final で結果を取り出してください。 .Pp .Fn MD2Pad は 計算を終了しないで、 .Fn MD2Final と同じ方法でメッセージデータをつめることができます。 .Pp .Fn MD2End は .Fn MD2Final のラッパで、 16 進 128 ビットを表現する 33 文字 ( 最後の「 \e0 」を含む ) の .Tn ASCII 文字列に戻り値を変換します。 .Pp .Fn MD2File はファイルのダイジェストを計算し、 .Fn MD2End を使用して結果を返します。 ファイルを開けない場合はヌルポインタを返します。 .Fn MD2Data はメモリに存在するデータのダイジェストを計算し、 .Fn MD2End を使用して結果を返します。 .Pp .Fn MD2End , .Fn MD2File , .Fn MD2Data の使用にあたっては .Ar buf を NULL ポインタとすることができます。 この場合は .Xr malloc 3 で割り当てられた文字列が返されるので、使用後は .Xr free 3 で割り当てを解除しなければなりません。 .Ar buf が NULL でない時は、少なくとも 33 文字分のバッファを 指していなければなりません。 .Sh 関連項目 .Xr md2 3 , .Xr md4 3 , .Xr md5 3 .Rs .%A B. Kaliski .%T The MD2 Message-Digest Algorithm .%O RFC 1319 .Re .Rs .%A R. Rivest .%T The MD4 Message-Digest Algorithm .%O RFC 1186 .Re .Rs .%A R. Rivest .%T The MD5 Message-Digest Algorithm .%O RFC 1321 .Re .Rs .%A RSA Laboratories .%T Frequently Asked Questions About today's Cryptography .Re .Sh 作者 オリジナルの MD2 ルーチンは、 .Tn RSA Data Security 社によって開発され、 上記のリファレンスで公開されました。 このコードは、 .An Poul-Henning Kamp Aq phk@login.dkuug.dk により、この実装から直接引き出されました。 .Pp Phk ristede runen. .Sh 歴史 この関数は、 .Fx 2.0 に現れました。 .Pp .Sh バグ 同じハッシュ値を持つような 2 つのファイルを見つける方法、 または特定のハッシュ値を持つようなファイルを見つける方法は 知られていません。 一方、そのような方法が存在しないという保証もありません。 .Pp MD2 は、プライバシが重要なメールに使用する場合のみライセンス供与されます。 その他の場合は MD4 か MD5 を使用してください。 .Pp .Sh COPYRIGHT Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All rights reserved. .Pp このソフトウェアの複製や使用のためのライセンスは、 このソフトウェアやこの関数について言及したり参照したりする すべての資料で 「 RSA Data Security 社の MD2 メッセージダイジェストアルゴリズム」 であることが明示されていれば、 プライバシが重要となる非営利インターネットメールに供与されます。 .Pp RSA Data Security 社は、このソフトウェアの商業性、またはこの 特定の目的に対するこのソフトウェアの適合性について表明しません。 このソフトウェアは、いかなる種類の、明示的または暗黙的な保証もなく、 「現状のまま」で提供されます。 .Pp この警告は、この文書かソフトウェア、またはその両方のすべてのコピーに 掲載しなければなりません。 diff --git a/ja_JP.eucJP/man/man3/md4.3 b/ja_JP.eucJP/man/man3/md4.3 index 7f455db468..7047363075 100644 --- a/ja_JP.eucJP/man/man3/md4.3 +++ b/ja_JP.eucJP/man/man3/md4.3 @@ -1,168 +1,168 @@ .\" .\" ---------------------------------------------------------------------------- .\" "THE BEER-WARE LICENSE" (Revision 42): .\" wrote this file. As long as you retain this notice you .\" can do whatever you want with this stuff. If we meet some day, and you think .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" %Id: md4.3,v 1.13 1998/03/27 10:22:07 phk Exp % +.\" $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 .Fd #include .Ft void .Fn MD4Init "MD4_CTX *context" .Ft void .Fn MD4Update "MD4_CTX *context" "const unsigned char *data" "unsigned int len" .Ft void .Fn MD4Pad "MD4_CTX *context" .Ft void .Fn MD4Final "unsigned char digest[16]" "MD4_CTX *context" .Ft "char *" .Fn MD4End "MD4_CTX *context" "char *buf" .Ft "char *" .Fn MD4File "const char *filename" "char *buf" .Ft "char *" .Fn MD4Data "const unsigned char *data" "unsigned int len" "char *buf" .Sh 解説 MD4 関数群は、任意の数の入力バイトについて 128 ビット暗号チェックサム ( ダイジェスト ) を計算します。 暗号チェックサムは一方向ハッシュ関数なので 特定出力に対応する入力を ( 徹底的な検索を除いて ) 見つけることはできません。 結果的には入力データの「指紋」しか見つからず、 実際の入力が明らかになることはありません。 .Pp MD2 は最も遅く、 MD4 は最も高速で、 MD5 はその中間です。 MD2 は、プライバシが重要なメールのみで使用できます。 MD4 は弱すぎると酷評されたため、 「安全ベルトを付けた MD4」として MD5 が開発されました。 疑わしいときは MD5 を使用してください。 .Pp .Fn MD4Init , .Fn MD4Update , .Fn MD4Final 関数は中心的な関数群です。 MD4_CTX を割り当て、 .Fn MD4Init で初期化し、 .Fn MD4Update でデータを処理し、最後に .Fn MD4Final で結果を取り出してください。 .Pp .Fn MD4Pad は、計算を終了しないで .Fn MD4Final と同じ方法でメッセージデータをつめることができます。 .Pp .Fn MD4End は .Fn MD4Final のラッパで、 16 進 128 ビットを表現する 33 文字 ( 最後の「 \e0 」を含む ) の .Tn ASCII 文字列に戻り値を変換します。 .Pp .Fn MD4File はファイルのダイジェストを計算し、 .Fn MD4End を使用して結果を返します。 ファイルを開けない場合はヌルポインタを返します。 .Fn MD4Data はメモリに存在するデータのダイジェストを計算し、 .Fn MD4End を使用して結果を返します。 .Pp .Fn MD4End , .Fn MD4File , .Fn MD4Data の使用にあたっては .Ar buf を NULL ポインタとすることができます。 この場合は .Xr malloc 3 で割り当てられた文字列が返されるので、使用後は .Xr free 3 で割り当てを解除しなければなりません。 .Ar buf が NULL でない時は、少なくとも 33 文字分のバッファを 指していなければなりません。 .Sh 関連項目 .Xr md2 3 , .Xr md4 3 , .Xr md5 3 .Rs .%A B. Kaliski .%T The MD2 Message-Digest Algorithm .%O RFC 1319 .Re .Rs .%A R. Rivest .%T The MD4 Message-Digest Algorithm .%O RFC 1186 .Re .Rs .%A R. Rivest .%T The MD5 Message-Digest Algorithm .%O RFC 1321 .Re .Rs .%A RSA Laboratories .%T Frequently Asked Questions About today's Cryptography .Re .Sh 作者 オリジナルの MD4 ルーチンは、 .Tn RSA Data Security 社によって開発され、 上記のリファレンスで公開されました。 このコードは、 .An Poul-Henning Kamp Aq phk@login.dkuug.dk により、この実装から直接引き出されています。 .Pp Phk ristede runen. .Sh 歴史 この関数は、 .Fx 2.0 で現れました。 .Sh バグ 同じハッシュ値を持つような 2 つのファイルを見つける方法、 または特定のハッシュ値を持つようなファイルを見つける方法は 知られていません。 一方、そのような方法が存在しないという保証もありません。 .Pp MD2 は、プライバシが重要なメールに使用する場合のみライセンス供与されます。 その他の場合は MD4 か MD5 を使用してください。 .Pp .Sh COPYRIGHT Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. .Pp このソフトウェアの複製や使用のためのライセンスは、 このソフトウェアやこの関数について言及したり参照したりする すべての資料で 「 RSA Data Security 社の MD2 メッセージダイジェストアルゴリズム」 であることが明示されていれば、 プライバシが重要となる非営利インターネットメールに供与されます。 .Pp RSA Data Security 社は、このソフトウェアの商業性、またはこの 特定の目的に対するこのソフトウェアの適合性について表明しません。 このソフトウェアは、いかなる種類の、明示的または暗黙的な保証もなく、 「現状のまま」で提供されます。 .Pp この警告は、この文書かソフトウェア、またはその両方のすべてのコピーに 掲載しなければなりません。 diff --git a/ja_JP.eucJP/man/man3/md5.3 b/ja_JP.eucJP/man/man3/md5.3 index db694369f0..ccdfb9683e 100644 --- a/ja_JP.eucJP/man/man3/md5.3 +++ b/ja_JP.eucJP/man/man3/md5.3 @@ -1,168 +1,168 @@ .\" .\" ---------------------------------------------------------------------------- .\" "THE BEER-WARE LICENSE" (Revision 42): .\" wrote this file. As long as you retain this notice you .\" can do whatever you want with this stuff. If we meet some day, and you think .\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp .\" ---------------------------------------------------------------------------- .\" -.\" %Id: md5.3,v 1.13 1998/03/27 10:22:07 phk Exp % +.\" $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 .Fd #include .Ft void .Fn MD5Init "MD5_CTX *context" .Ft void .Fn MD5Update "MD5_CTX *context" "const unsigned char *data" "unsigned int len" .Ft void .Fn MD5Pad "MD5_CTX *context" .Ft void .Fn MD5Final "unsigned char digest[16]" "MD5_CTX *context" .Ft "char *" .Fn MD5End "MD5_CTX *context" "char *buf" .Ft "char *" .Fn MD5File "const char *filename" "char *buf" .Ft "char *" .Fn MD5Data "const unsigned char *data" "unsigned int len" "char *buf" .Sh 解説 MD5 関数群は、任意の数の入力バイトについて 128 ビット暗号チェックサム ( ダイジェスト ) を計算します。 暗号チェックサムは一方向ハッシュ関数なので 特定出力に対応する入力を ( 徹底的な検索を除いて) 見つけることはできません。 結果的には入力データの「指紋」しか見つからず、 実際の入力が明らかになることはありません。 .Pp MD2 は最も遅く、 MD4 は最も高速で、 MD5 はその中間です。 MD2 は、プライバシが重要なメールのみで使用できます。 MD4 は弱すぎると酷評されたため、 「安全ベルトを付けた MD4」として MD5 が開発されました。 疑わしいときは MD5 を使用してください。 .Pp .Fn MD5Init , .Fn MD5Update , .Fn MD5Final 関数は中心的な関数群です。 MD5_CTX を割り当て、 .Fn MD5Init で初期化し、 .Fn MD5Update でデータを処理し、最後に .Fn MD5Final で結果を取り出してください。 .Pp .Fn MD5Pad は、計算を終了しないで .Fn MD5Final と同じ方法でメッセージデータをつめることができます。 .Pp .Fn MD5End は .Fn MD5Final のラッパで、 16 進 128 ビットを表現する 33 文字 ( 最後の「 \e0 」を含む ) の .Tn ASCII 文字列に戻り値を変換します。 .Pp .Fn MD5File はファイルのダイジェストを計算し、 .Fn MD5End を使用して結果を返します。 ファイルを開けない場合はヌルポインタを返します。 .Fn MD5Data はメモリに存在するデータのダイジェストを計算し、 .Fn MD5End を使用して結果を返します。 .Pp .Fn MD5End , .Fn MD5File , .Fn MD5Data の使用にあたっては .Ar buf を NULL ポインタとすることができます。 この場合は .Xr malloc 3 で割り当てられた文字列が返されるので、使用後は .Xr free 3 で割り当てを解除しなければなりません。 .Ar buf が NULL でない時は、少なくとも 33 文字分のバッファを 指していなければなりません。 .Sh 関連項目 .Xr md2 3 , .Xr md4 3 , .Xr md5 3 .Rs .%A B. Kaliski .%T The MD2 Message-Digest Algorithm .%O RFC 1319 .Re .Rs .%A R. Rivest .%T The MD4 Message-Digest Algorithm .%O RFC 1186 .Re .Rs .%A R. Rivest .%T The MD5 Message-Digest Algorithm .%O RFC 1321 .Re .Rs .%A RSA Laboratories .%T Frequently Asked Questions About today's Cryptography .Re .Sh 作者 オリジナルの MD5 ルーチンは、 .Tn RSA Data Security 社によって開発され、 上記のリファレンスで公開されました。 このコードは、 .An Poul-Henning Kamp Aq phk@login.dkuug.dk により、この実装から直接引き出されています。 .Pp Phk ristede runen. .Sh 歴史 この関数は、 .Fx 2.0 で現れました。 .Sh バグ 同じハッシュ値を持つような 2 つのファイルを見つける方法、 または特定のハッシュ値を持つようなファイルを見つける方法は 知られていません。 一方、そのような方法が存在しないという保証もありません。 .Pp MD2 は、プライバシが重要なメールに使用する場合のみライセンス供与されます。 その他の場合は MD4 か MD5 を使用してください。 .Pp .Sh COPYRIGHT Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved. .Pp このソフトウェアの複製や使用のためのライセンスは、 このソフトウェアやこの関数について言及したり参照したりする すべての資料で 「 RSA Data Security 社の MD2 メッセージダイジェストアルゴリズム」 であることが明示されていれば、 プライバシが重要となる非営利インターネットメールに供与されます。 .Pp RSA Data Security 社は、このソフトウェアの商業性、またはこの 特定の目的に対するこのソフトウェアの適合性について表明しません。 このソフトウェアは、いかなる種類の、明示的または暗黙的な保証もなく、 「現状のまま」で提供されます。 .Pp この警告は、この文書かソフトウェア、またはその両方のすべてのコピーに 掲載しなければなりません。 diff --git a/ja_JP.eucJP/man/man3/memccpy.3 b/ja_JP.eucJP/man/man3/memccpy.3 index aaaff65a75..b942eb9dc5 100644 --- a/ja_JP.eucJP/man/man3/memccpy.3 +++ b/ja_JP.eucJP/man/man3/memccpy.3 @@ -1,77 +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.1 2000/04/22 17:06:38 phantom Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/memchr.3 b/ja_JP.eucJP/man/man3/memchr.3 index 23a50c14ad..c63728f005 100644 --- a/ja_JP.eucJP/man/man3/memchr.3 +++ b/ja_JP.eucJP/man/man3/memchr.3 @@ -1,80 +1,80 @@ .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Chris Torek and the American National Standards Committee X3, .\" on Information Processing Systems. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)memchr.3 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/string/memchr.3,v 1.3.2.3 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/memcmp.3 b/ja_JP.eucJP/man/man3/memcmp.3 index d63ba41853..9ec146efc6 100644 --- a/ja_JP.eucJP/man/man3/memcmp.3 +++ b/ja_JP.eucJP/man/man3/memcmp.3 @@ -1,83 +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.2 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/memcpy.3 b/ja_JP.eucJP/man/man3/memcpy.3 index 56442e3109..c22e8f780b 100644 --- a/ja_JP.eucJP/man/man3/memcpy.3 +++ b/ja_JP.eucJP/man/man3/memcpy.3 @@ -1,90 +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.2 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/memmove.3 b/ja_JP.eucJP/man/man3/memmove.3 index b9a3edf6a4..b9673b034c 100644 --- a/ja_JP.eucJP/man/man3/memmove.3 +++ b/ja_JP.eucJP/man/man3/memmove.3 @@ -1,81 +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.2 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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 つの文字列がオーバーラップすることがありますが、 コピーは常に破壊されない方法で行われます。 -.Pp .Sh 戻り値 .Fn memmove 関数は、 .Fa dst のオリジナルの値を戻します。 -.Pp .Sh 関連項目 .Xr bcopy 3 , .Xr memccpy 3 , .Xr memcpy 3 , .Xr strcpy 3 -.Pp .Sh 規格 .Fn memmove 関数は、 .St -isoC に適合しています。 diff --git a/ja_JP.eucJP/man/man3/memory.3 b/ja_JP.eucJP/man/man3/memory.3 index 3d641beae1..de7944abc9 100644 --- a/ja_JP.eucJP/man/man3/memory.3 +++ b/ja_JP.eucJP/man/man3/memory.3 @@ -1,76 +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.3 2001/08/17 15:42:42 ru Exp % +.\" %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 書式 -.Fd #include +.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 解説 この関数は、呼出しプロセスのメモリの割り当てと解放を行ないます。 詳細については、それぞれのマニュアルページを参照してください。 -.Pp .Sh 関連項目 .Xr alloca 3 , .Xr calloc 3 , .Xr free 3 , .Xr malloc 3 , .Xr realloc 3 -.Pp .Sh 規格 この関数は、 .Fn alloca を除き、 .St -isoC に適合しています。 diff --git a/ja_JP.eucJP/man/man3/memset.3 b/ja_JP.eucJP/man/man3/memset.3 index 56e0cbafac..ad8d1daf43 100644 --- a/ja_JP.eucJP/man/man3/memset.3 +++ b/ja_JP.eucJP/man/man3/memset.3 @@ -1,71 +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.3 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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 関数は、最初の引数を戻します。 -.Pp .Sh 関連項目 .Xr bzero 3 , .Xr swab 3 .Sh 規格 .Fn memset 関数は、 .St -isoC に適合しています。 diff --git a/ja_JP.eucJP/man/man3/mktemp.3 b/ja_JP.eucJP/man/man3/mktemp.3 index b3c1cdeadb..4dce520164 100644 --- a/ja_JP.eucJP/man/man3/mktemp.3 +++ b/ja_JP.eucJP/man/man3/mktemp.3 @@ -1,228 +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.5 2001/07/22 12:06:46 dd Exp % +.\" %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 書式 -.Fd #include +.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 の数によって決まります。 .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 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 フラグをつけるようにし、 失敗していないか戻り値をテストすべきでしょう。 こうすることによって、攻撃者がファイルの内容を操作したり 読んだりする意図を持ってファイルを既に作成していても、 プログラムが無闇に動作を継続することがなくなります。 -.Pp .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/ja_JP.eucJP/man/man3/mpool.3 b/ja_JP.eucJP/man/man3/mpool.3 index 4b15ee5e3f..644eaa1e76 100644 --- a/ja_JP.eucJP/man/man3/mpool.3 +++ b/ja_JP.eucJP/man/man3/mpool.3 @@ -1,233 +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.3 2001/08/17 15:42:30 ru Exp % +.\" %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 書式 -.Fd "#include " -.Fd "#include " +.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 +.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 関数が指定されると、保存ファイルからメモリプールにバッファを 読み込むたびに呼び出されます。 -.Fn pgout +.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/ja_JP.eucJP/man/man3/msgctl.3 b/ja_JP.eucJP/man/man3/msgctl.3 index 2a0fe5c335..6a97d5d3a7 100644 --- a/ja_JP.eucJP/man/man3/msgctl.3 +++ b/ja_JP.eucJP/man/man3/msgctl.3 @@ -1,211 +1,211 @@ -.\" %NetBSD: msgctl.2,v 1.1 1995/10/16 23:49:15 jtc Exp % +.\" $NetBSD: msgctl.2,v 1.1 1995/10/16 23:49:15 jtc Exp $ .\" .\" Copyright (c) 1995 Frank van der Linden .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the NetBSD Project .\" by Frank van der Linden .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %Id: msgctl.3,v 1.5 1997/11/23 17:58:36 bde Exp % +.\" $Id: msgctl.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\"/ .\" $FreeBSD$ .Dd November 24, 1997 .Dt MSGCTL 3 .Os FreeBSD .Sh 名称 .Nm msgctl .Nd メッセージ制御オペレーション .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn msgctl "int msqid" "int cmd" "struct msqid_ds *buf" .Sh 解説 .Fn msgctl システムコールは、 .Fa msqid が指定するメッセージキューに対して制御オペレーションを実行します。 各メッセージキューには、それに関連したデータ構造体があります。 その一部は .Fn msgctl で変更できます。 .Fn msgctl のアクションを決めるデータ構造もあります。このデータ構造体は .Aq Pa sys/msg.h で定義され、以下のようなメンバが含まれています (その他のメンバも あります)。 .Bd -literal struct msqid_ds { struct ipc_perm msg_perm; /* メッセージキューのパーミッションビット */ struct msg *msg_first; /* キューの最初のメッセージ */ struct msg *msg_last; /* キューの最後のメッセージ */ u_long msg_cbytes; /* キューで使用しているバイト数 */ u_long msg_qnum; /* キューで使用しているメッセージ数 */ u_long msg_qbytes; /* キューで使用する最大バイト数 */ pid_t msg_lspid; /* 最後の msgsnd のプロセスID */ pid_t msg_lrpid; /* 最後の msgrcv のプロセスID */ time_t msg_stime; /* 最後の msgsnd の時間 */ long msg_pad1; time_t msg_rtime; /* 最後の msgrcv の時間 */ long msg_pad2; time_t msg_ctime; /* 最後の msgctl の時間 */ long msg_pad3; long msg_pad4[4]; }; .Ed .Pp .Bf -literal shmid_ds .Ef 構造体の中で使用される .Bf -literal ipc_perm .Ef 構造体は、 .Aq Pa sys/ipc.h で以下のように定義されています。 .Bd -literal struct ipc_perm { ushort cuid; /* 生成者のユーザID */ ushort cgid; /* 生成者のグループID */ ushort uid; /* ユーザID */ ushort gid; /* グループID */ ushort mode; /* r/w パーミッション */ ushort seq; /* シーケンス番号 (一意に生成された msg/sem/shm ID) */ key_t key; /* ユーザが指定した msg/sem/shm キー */ }; .Ed .Pp .Fn msgctl が実行するオペレーションは、以下のうちの 1 つで .Fa cmd で指定されます。 .Bl -tag -width IPC_RMIDX .It Dv IPC_STAT メッセージキューの情報を集め、 .Fa buf が指す構造体に配置します。 .It Dv IPC_SET .Fa msqid に関連する構造体の .Va msg_perm.uid フィールド、 .Va msg_perm.gid フィールド、 .Va msg_perm.mode フィールド、 .Va msg_qbytes フィールドの値を設定します。この値は、 .Fa buf が指す構造体で対応するフィールドから取られます。このオペレーションを 実行できるのは、スーパユーザ、またはメッセージキューに関連する データ構造体の .Va msg_perm.cuid か .Va msg_perm.uid と等しい実効ユーザ ID を持つプロセスのみです。 .Va msg_qbytes の値を増やせるのは、スーパユーザのみです。システム制限 ( .Aq Pa sys/msg.h の MSGMNB) を越えた .Va msg_qbytes の値は、その制限に切り捨てられます。 .It Dv IPC_RMID .Fa msqid が指定するメッセージキューを削除し、 .Fa msqid に関連する データを破壊します。スーパユーザ、または、キューに 関連するデータ構造体の .Va msg_perm.cuid または .Va msg_perm.uid の値が、実効ユーザ ID に等しいプロセスのみが、これを実行できます。 .El メッセージキューからの読込み権かメッセージキューへの書込み権 ( .Xr msgsnd 3 と .Xr msgrcv 3 参照) は、ファイルと同じように ( .Xr chmod 2 参照)、 .Va msg_perm.mode フィールドによって決まります。実効ユーザ ID は、 .Va msg_perm.cuid フィールドか .Va msg_perm.uid フィールドと一致し、実効グループ ID は、 .Va msg_perm.cgid か .Va msg_perm.gid と一致します。 .Sh 戻り値 問題なく終了すると 0 が戻されます。問題なく終了しないと -1 が戻され、 グローバル変数 .Va errno がそのエラーを示すように設定されます。 .Sh エラー .Fn msgctl は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EPERM .Fa cmd が IPC_SET か IPC_RMID と等しく、呼出し側がスーパユーザではない場合。 または実効ユーザ ID がメッセージキューに関連するデータ構造の .Va msg_perm.uid フィールドか .Va msg_perm.cuid フィールドと一致しない場合。 IPC_SET を用いて .Va msg_qbytes の値を上げようとしたが、呼出し側がスーパユーザでない場合。 .It Bq Er EACCES コマンドが IPC_STAT であるが、このメッセージキューの 読込み権が呼出し側にない場合。 .It Bq Er EINVAL .Fa msqid が正しいメッセージキュー ID でない場合。 .Va cmd が正しいコマンドでない場合。 .It Bq Er EFAULT .Fa buf が正しいアドレスを指定していない場合。 .El .Sh 関連項目 .Xr msgget 3 , .Xr msgrcv 3 , .Xr msgsnd 3 .Sh 歴史 メッセージキューは、 AT&T Unix System V の最初のリリースに追加されました。 .\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/msgget.3 b/ja_JP.eucJP/man/man3/msgget.3 index 4d6199bb36..4a7c98aa94 100644 --- a/ja_JP.eucJP/man/man3/msgget.3 +++ b/ja_JP.eucJP/man/man3/msgget.3 @@ -1,140 +1,140 @@ -.\" %NetBSD: msgget.2,v 1.1 1995/10/16 23:49:19 jtc Exp % +.\" $NetBSD: msgget.2,v 1.1 1995/10/16 23:49:19 jtc Exp $ .\" .\" Copyright (c) 1995 Frank van der Linden .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the NetBSD Project .\" by Frank van der Linden .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\"/ .\" $FreeBSD$ .Dd August 17, 1995 .Dt MSGGET 3 .Os FreeBSD .Sh 名称 .Nm msgget .Nd メッセージキューの取得 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn msgget "key_t key" "int msgflg" .Sh 解説 .Fn msgget は、 .Fa key に関連するメッセージキュー ID を戻します。メッセージキュー ID は、 0 より大きい一意的な整数です。 .Pp メッセージキューは、 .Fa key が .Dv IPC_PRIVATE と等しい場合、または .Fa key に関連するメッセージキュー ID が存在せず、かつ、 .Dv IPC_CREAT ビットが .Fa msgflg で設定されている場合に作成されます。 .Pp 新しいメッセージキューが作成された場合、関連するデータ構造 ( .Fa msqid_ds 構造体。 .Xr msgctl 3 参照) は、以下のように初期化されます。 .Bl -bullet .It .Va msg_perm.cuid と .Va msg_perm.uid は、呼び出しプロセスの実効ユーザ ID に設定されます。 .It .Va msg_perm.gid と .Va msg_perm.cgid は、呼び出しプロセスの実効グループ ID に設定されます。 .It .Va msg_perm.mode は、 .Fa msgflg の下位 9 ビットが設定されます。 .It .Va msg_cbytes , .Va msg_qnum , .Va msg_lspid , .Va msg_lrpid , .Va msg_rtime , .Va msg_stime には 0 が設定されます。 .It .Va msg_qbytes は、キューのバイト数 .Pf ( Dv MSGMNB ) についてのシステムの最大値が設定されます。 .It .Va msg_ctime は、現在の時刻に設定されます。 .Sh 戻り値 問題なく終了すると、正のメッセージキュー ID が戻されます。問題なく 終了しないと -1 が戻され、グローバル変数 .Va errno がそのエラーを示すように設定されます。 .Sh エラー .Bl -tag -width Er .It Bq Er EACESS メッセージキューが .Fa key とすでに関連していますが、呼出し側にアクセス権がありません。 .It Bq Er EEXIST .Dv IPC_CREAT と .Dv IPC_EXCL の両方が .Fa msgflg で設定されており、メッセージキューが .Fa key とすでに関連しています。 .It Bq Er ENOSPC メッセージキューの数に関するシステム制限に達しているため、 新しいメッセージキューを作成できません。 .It Bq Er ENOENT .Fa msgflg に .Dv IPC_CREAT が設定されていない状況で、 .Fa key に関連するメッセージキューが見つかりません。 .Sh 関連項目 .Xr msgctl 3 , .Xr msgrcv 3 , .Xr msgsnd 3 .Pp .Sh 歴史 メッセージキューは、 AT&T Unix System V の最初のリリースに追加されました。 .\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/msgrcv.3 b/ja_JP.eucJP/man/man3/msgrcv.3 index af44258506..7e1309baf5 100644 --- a/ja_JP.eucJP/man/man3/msgrcv.3 +++ b/ja_JP.eucJP/man/man3/msgrcv.3 @@ -1,216 +1,216 @@ -.\" %NetBSD: msgrcv.2,v 1.1 1995/10/16 23:49:20 jtc Exp % +.\" $NetBSD: msgrcv.2,v 1.1 1995/10/16 23:49:20 jtc Exp $ .\" .\" Copyright (c) 1995 Frank van der Linden .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the NetBSD Project .\" by Frank van der Linden .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" %Id: msgrcv.3,v 1.5 1997/11/23 17:58:38 bde Exp % +.\" $Id: msgrcv.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" .\"/ .\" $FreeBSD$ .Dd November 24, 1997 .Dt MSGRCV 3 .Os FreeBSD .Sh 名称 .Nm msgrcv .Nd メッセージキューからメッセージを受信 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn msgrcv "int msqid" "void *msgp" "size_t msgsz" "long msgtyp" "int msgflg" .Sh 解説 .Fn msgrcv 関数は、 .Fa msqid で指定したメッセージキューからメッセージを受信し、 .Fa msgp が指す構造体に配置します。この構造体は、以下のメンバから 構成されている必要があります。 .Bd -literal long mtype; /* メッセージタイプ */ char mtext[1]; /* メッセージ本体 */ .Ed .Pp .Va mtype は 0 より大きい整数で、メッセージの選択に使用されます。 .Va mtext はバイトの配列で、システム制限 .Pf ( Dv MSGMAX ) までのサイズです。 .Pp .Fa msgtyp の値には以下のような意味があります。 .Bl -bullet .It .Fa msgtyp が 0 より大きい場合、タイプが .Fa msgtyp である最初のメッセージが受信されます。 .It .Fa msgtyp が 0 と等しい場合、キューの最初のメッセージが受信されます。 .It .Fa msgtyp が 0 より小さい場合、最低メッセージタイプが .Fa msgtyp の絶対値以下であるメッセージのうち最初のものが受信されます。 .El .Pp .Fa msgsz は、要求したメッセージの最大長を指定します。受信したメッセージが .Fa msgsz より長い場合、 .Fa msgflg で .Dv MSG_NOERROR フラグが設定されていると、メッセージはエラー通知なしで切り捨てられます。 .Dv MSG_NOERROR フラグが設定されていないと、エラーが戻されます。 .Pp .Fa msqid が指定するメッセージキューに、一致するメッセージが存在しない場合、 .Fn msgrcv の動作は、 .Fa msgflg で .Dv IPC_NOWAIT フラグが設定されているかどうかによって決まります。 .Dv IPC_NOWAIT が設定されていると、 .Fn msgrcv はすぐに -1 を戻し、 .Va errno を .Er EAGAIN に設定します。 .Dv IPC_NOWAIT が設定されていないと、呼び出しプロセスは、以下の状態になるまでブロック されます。 .Bl -bullet .It 要求されたタイプのメッセージがメッセージキューで 使用できるようになるまで。 .It メッセージキューが削除されるまで。この場合は -1 が戻され、 .Va errno が .Er EINVAL に設定されます。 .It シグナルが受信されるまで。この場合は -1 が戻され、 .Va errno が .Er EINTR に設定されます。 .El .Pp メッセージが問題なく受信されると、 .Fa msqid に関連するデータ構造体は、以下のように更新されます。 .Bl -bullet .It .Va msg_cbytes が、そのメッセージのサイズだけ小さくなります。 .It .Va msg_lrpid が、呼出し側のプロセス ID に設定されます。 .It .Va msg_lrtime が、現在の時刻に設定されます。 .It .Va msg_qnum から 1 が引かれます。 .El .Sh 戻り値 問題なく終了すると、 .Fn msgrcv は、 .Fa msgp が指す構造体の .Va mtext フィールドに受信したバイト数を戻します。 問題なく終了しない場合 -1 が戻され、 .Va errno がそのエラーを示すように設定されます。 .Sh エラー .Fn msgrcv は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EINVAL .Fa msqid が正しいメッセージキュー ID でない場合。 .Pp 要求されたタイプのメッセージが使用できるようになる状態を .Fn msgrcv が待っている間にメッセージキューが削除された場合。 .Pp .Fa msgsz が 0 より小さい場合。 .It Bq Er E2BIG 一致するメッセージが受信されたが、サイズが .Fa msgsz より大きく、 .Fa msgflg で .Dv MSG_NOERROR フラグが設定されていない場合。 .It Bq Er EACCES 呼び出しプロセスに、メッセージキューの読込み権がない場合。 .It Bq Er EFAULT .Fa msgp が、正しいアドレスを指していない場合。 .It Bq Er EINTR システムコールが、シグナルの配送によって割り込まれた場合。 .It Bq Er EAGAIN 要求されたタイプのメッセージがメッセージキューになく、 .Fa msgflg で .Dv IPC_NOWAIT が設定されている場合。 .Sh 関連項目 .Xr msgctl 3 , .Xr msgget 3 , .Xr msgsnd 3 .Sh バグ .Tn NetBSD と .Tn FreeBSD では、メッセージキューが削除された場合に使用すべきエラー値 .Er EIDRM が定義されていません。また、利用可能なメッセージがない状態で .Dv IPC_NOWAIT が設定されている場合に使用すべきエラー値 .Er ENOMSG が定義されていません。 .Sh 歴史 メッセージキューは、 AT&T Unix System V の最初のリリースに 追加されました。 .\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/msgsnd.3 b/ja_JP.eucJP/man/man3/msgsnd.3 index 1b2eff8ca2..584db65396 100644 --- a/ja_JP.eucJP/man/man3/msgsnd.3 +++ b/ja_JP.eucJP/man/man3/msgsnd.3 @@ -1,170 +1,170 @@ -.\" %NetBSD: msgsnd.2,v 1.1 1995/10/16 23:49:24 jtc Exp % +.\" $NetBSD: msgsnd.2,v 1.1 1995/10/16 23:49:24 jtc Exp $ .\" .\" Copyright (c) 1995 Frank van der Linden .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed for the NetBSD Project .\" by Frank van der Linden .\" 4. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" %Id: msgsnd.3,v 1.4 1997/11/23 17:58:40 bde Exp % +.\" $Id: msgsnd.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" .\"/ .\" $FreeBSD$ .Dd November 24, 1997 .Dt MSGSND 3 .Os FreeBSD .Sh 名称 .Nm msgsnd .Nd メッセージキューにメッセージを送信 .Sh 書式 .Fd #include .Fd #include .Fd #include .Ft int .Fn msgsnd "int msqid" "void *msgp" "size_t msgsz" "int msgflg" .Sh 解説 .Fn msgsnd 関数は、 .Fa msqid で指定されているメッセージキューからメッセージ を送信します。 .Fa msgp は、メッセージを含む構造体を指します。この構造体は、 以下のメンバから構成されている必要があります。 .Bd -literal long mtype; /* メッセージタイプ */ char mtext[1]; /* メッセージ本体 */ .Ed .Pp .Va mtype は 0 より大きい整数で、メッセージの選択に使用されます ( .Xr msgrcv 3 参照)。 .Va mtext はバイトの配列で、システム制限 .Pf ( Dv MSGMAX ) までのサイズです。 .Pp メッセージキューにすでに存在するバイト数と .Fa msgsz の合計が、メッセージキューの最大バイト数 .Pf ( Va msg_qbytes 。 .Xr msgctl 3 参照) より大きい場合、またはシステム全体のすべてのキューに存在する メッセージ数がシステム制限にすでに等しくなっている場合は、 .Fa msgflg が .Fn msgsnd の動作を決めます。 .Fa msgflg で .Dv IPC_NOWAIT マスクが設定されている場合、呼び出しはすぐに戻されます。 .Fa msgflg で .Dv IPC_NOWAIT が設定されていない場合、呼出しは以下の状態になるまでブロックされます。 .Bl -bullet .It 呼出しがブロックされる条件がなくなるまで。この条件がなくなると、 メッセージが送信されます。 .It メッセージキューが削除されるまで。この場合は -1 が戻され、 .Va errno が .Er EINVAL に設定されます。 .It 呼び出し側がシグナルを受信するまで。呼び出しは、 .Va errno が .Er EINTR に設定された状態で戻ります。 .El .Pp 呼び出しで問題が発生しなかった場合、メッセージキューに関連する データ構造は以下のように更新されます。 .Bl -bullet .It .Va msg_cbytes が、メッセージのサイズだけ大きくなります。 .It .Va msg_qnum に 1 が加えられます。 .It .Va msg_lspid が呼び出しプロセスのプロセス ID に設定されます。 .It .Va msg_stime が現在の時刻に設定されます。 .El .Sh 戻り値 問題なく終了すると 0 が戻されます。問題が発生すると -1 が戻され、 .Va errno がそのエラーを示すように設定されます。 .Sh エラー .Fn msgsnd は、以下のような場合にエラーとなります。 .Bl -tag -width Er .It Bq Er EINVAL .Fa msqid が正しいメッセージキュー ID でない場合。 .Pp リソースが使用できるようになり、メッセージを送信できる 状態になることを .Fn msgsnd が待っている間に、メッセージキューが削除された場合。 .Pp .Fa msgsz が 0 より小さいか、 .Va msg_qbytes より大きい場合。 .It Bq Er EACCES 呼出しプロセスにメッセージキューの書込み権がない場合。 .It Bq Er EAGAIN キューかシステム全体にメッセージ用のスペースがなく、 .Fa msgflg で .Dv IPC_NOWAIT が設定されている場合。 .It Bq Er EFAULT .Fa msgp が正しいアドレスを指していない場合。 .It Bq Er EINTR システムコールが、シグナルの配送によって割り込まれた場合。 .Sh バグ .Tn NetBSD と .Tn FreeBSD は、メッセージキューが削除された場合に使用すべきエラー値 .Er EIDRM を定義していません。 .Sh 歴史 メッセージキューは、 AT&T Unix System V の最初のリリースに 追加されました。 .\"kuma 1999-11-12 diff --git a/ja_JP.eucJP/man/man3/nlist.3 b/ja_JP.eucJP/man/man3/nlist.3 index cd9a30abf1..e6c7f655e5 100644 --- a/ja_JP.eucJP/man/man3/nlist.3 +++ b/ja_JP.eucJP/man/man3/nlist.3 @@ -1,76 +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 BSD 4 +.Os .Sh 名称 .Nm nlist .Nd 実行可能ファイルからシンボルテーブル名リストを取り出す +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include +.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 ヌル +.Dv NULL です。 .Sh 戻り値 問題が発生しなかった場合は、無効なエントリの数が戻されます。 ファイル .Fa filename が存在しない場合、または実行可能ファイルでない場合、 戻り値は \-1 になります。 .Sh 関連項目 .Xr a.out 5 .Sh 歴史 .Fn nlist 関数は、 .At v6 で追加されました。 diff --git a/ja_JP.eucJP/man/man3/pam_authenticate.3 b/ja_JP.eucJP/man/man3/pam_authenticate.3 index 5818948f35..20a4f5f068 100644 --- a/ja_JP.eucJP/man/man3/pam_authenticate.3 +++ b/ja_JP.eucJP/man/man3/pam_authenticate.3 @@ -1,96 +1,96 @@ .\" Hey Emacs! This file is -*- nroff -*- source. -.\" %Id: pam_authenticate.3,v 1.2 1997/02/15 18:39:59 morgan Exp % +.\" $Id: pam_authenticate.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" Copyright (c) Andrew G. Morgan 1996-7 .\" $FreeBSD$ .TH PAM_AUTHENTICATE 3 "1996 Dec 9" "PAM 0.55" "App. Programmers' Manual" .SH 名称 pam_authenticate \- ユーザの認証 .SH 書式 .B #include .sp .BI "int pam_authenticate(pam_handle_t " *pamh ", int " flags ");" .sp 2 .SH 解説 .B pam_authenticate .br この関数を使用すると、申請ユーザを認証できます。この関数は、 .BR PAM で認証モジュールに .I ダイナミックに リンクされており、 この認証モジュールが認証を行ないます。 アプリケーションが認証の本質に関わることはありません。 .br 認証が問題なく終了すると、認証されたユーザの .BR 名前 が .BR PAM アイテム .BR PAM_USER に入ります。 このアイテムは、 .BR pam_get_item "(3)" を呼び出して取得できます。 .br アプリケーション開発者は、認証モジュールが対話メカニズム( .BR pam_start "(3)" 参照) でユーザにユーザ名を入力させることがあることに注意する必要があります。 この場合は、ユーザプロンプトストリングを .BR PAM_USER_PROMPT アイテム( .BR pam_set_item "(3)" 参照) で設定できます。 .SH 戻り値 問題がない場合は .BR PAM_SUCCESS が戻されます。その他の値が戻された場合は、 認証で問題が発生したとみなされ、以前に呼び出した .BR pam_fail_delay "(3)" で指定された値だけ .I 遅延 が発生します。 とくに注意が必要なエラーは以下のとおりです。 .TP .B PAM_ABORT アプリケーションをすぐに終了する必要があります。もちろん最初に .BR pam_end "(3)" を呼び出してください。 .TP .B PAM_MAXTRIES アプリケーションがユーザの認証を何度も繰り返しています。 認証を止めてください。 .SH エラー .BR pam_strerror "(3)" でテキストに変換できます。 .SH 準拠 DCE-RFC 86.0, October 1995. .SH バグ .sp 2 見つかっていません。 .SH 関連項目 .BR pam_start "(3), " .BR pam_get_item "(3), " .BR pam_fail_delay "(3), " .BR pam_strerror "(3)" .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_chauthtok.3 b/ja_JP.eucJP/man/man3/pam_chauthtok.3 index 6e84dbf7fb..468b5feb7b 100644 --- a/ja_JP.eucJP/man/man3/pam_chauthtok.3 +++ b/ja_JP.eucJP/man/man3/pam_chauthtok.3 @@ -1,98 +1,98 @@ .\" Hey Emacs! This file is -*- nroff -*- source. -.\" %Id: pam_chauthtok.3,v 1.2 1997/02/15 18:42:23 morgan Exp % +.\" $Id: pam_chauthtok.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" Copyright (c) Andrew G. Morgan 1997 .\" $FreeBSD$ .TH PAM_CHAUTHTOK 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual" .SH 名称 pam_chauthtok \- 認証トークンの更新 .SH 書式 .B #include .sp .BI "int pam_chauthtok(pam_handle_t " *pamh ", int " flags ");" .sp 2 .SH 解説 .B pam_chauthtok .br この関数を使用すると、申請ユーザの認証トークン(パスワードなど)を 更新できます。 .br アプリケーションでユーザをあらかじめ認証する必要はありません。認証は .BR PAM フレームワークで必要に応じて実行されます。 .br .I flags 引数が、値 .BR PAM_CHANGE_EXPIRED_AUTHTOK を取ることが .I あります。 この場合は、期限が切れた認証トークンの更新をフレームワークで行なう 必要があります。この引数がないと、フレームワークはすべての設定済み認証 メカニズムで新しいトークンを取得しようとします。呼び出しアプリケーション で、このようなスキームのタイプと番号の詳細に関わる必要はありません。 .SH 戻り値 この関数から問題なく戻ると、 .BR PAM_SUCCESS が戻されます。 .br この関数を呼び出した場合にとくに注意すべきエラーは以下のとおりです。 .br .BR PAM_AUTHTOK_ERROR - 有効な新しいトークンを取得できませんでした。 .br .BR PAM_AUTHTOK_RECOVERY_ERR - 古い認証トークンを使用できませんでした。 .br .BR PAM_AUTHTOK_LOCK_BUSY - トークンの更新に必要なリソースがロックされていました。 後で再度実行してください。 .br .BR PAM_AUTHTOK_DISABLE_AGING - 1 つ以上の認証モジュールが、認証トークンの期限切れを認めませんでした。 .br .BR PAM_TRY_AGAIN - 1 つ以上の認証メカニズムで、今回のトークンの更新準備が整っていません。 .br 一般的にはその他の戻り値も戻されます。エラーを示しているものとして 扱ってください。 .SH エラー .BR pam_strerror "(3)" でテキストに変換できます。 .SH 準拠 DCE-RFC 86.0, October 1995. .SH バグ .sp 2 見つかっていません。 .SH 関連項目 .BR pam_start "(3), " .BR pam_authenticate "(3), " .BR pam_setcred "(3), " .BR pam_get_item "(3), " .BR pam_strerror "(3) " .BR pam "(8)." .br .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_fail_delay.3 b/ja_JP.eucJP/man/man3/pam_fail_delay.3 index b44cae7fb7..a09f73bce5 100644 --- a/ja_JP.eucJP/man/man3/pam_fail_delay.3 +++ b/ja_JP.eucJP/man/man3/pam_fail_delay.3 @@ -1,126 +1,126 @@ .\" Hey Emacs! This file is -*- nroff -*- source. -.\" %Id: pam_fail_delay.3,v 1.2 1997/02/15 18:47:46 morgan Exp morgan % +.\" $Id: pam_fail_delay.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" Copyright (c) Andrew G. Morgan 1997 .\" $FreeBSD$ .TH PAM_FAIL_DELAY 3 "1997 Jan 12" "PAM 0.56" "Programmers' Manual" .SH 名称 pam_fail_delay \- エラー時に遅延を要求 .SH 書式 .B #include .br or, .br .B #include .sp .BI "int pam_fail_delay(pam_handle_t " "*pamh" ", unsigned int " "usec" ");" .sp 2 .SH 解説 .br 申請ユーザのアクセスをスキームが拒否する場合にかかる時間を悪用し、 認証スキームにアタックできることがあります。タイムアウトが .I 短い 場合でも、ディクショナリを .I 乱用 してアタックすることが可能なことがあります。アタッカが 自動化されたプロセスを使用し、考えられるパスワードをすべて試してシステムに アクセスしようとするのです。それぞれのエラーにかかる時間を計測できる場合 (エラーの本質を示す)、アタッカは認証プロセスに関する重要な情報を 入手できます。後者のアタックでは、重要な情報の .I 保護チャンネル を構成する手続き型遅延が利用されます。 .br このようなアタックを最低限に抑えるには、エラーとなった認証プロセスで ランダムな遅延を導入することが有効です。 .B PAM には、ランダムな遅延を導入する機能があります。遅延は、 .BR pam_authenticate "(3)" 関数と .BR pam_chauthtok "(3)" 関数の エラー時に発生します。すべての認証モジュールが呼び出された .I 後 で、制御がサービスアプリケーションに戻る .I 前 に発生します。 .br .BR pam_fail_delay "(3)" 関数を使用すると、エラー遅延に必要な最低時間 ( .I usec 引数) を指定できます。この関数は、ユーザによるサービスの再申請を 遅らせることが重要となるサービスアプリケーションや認証モジュールから呼び 出せます。遅延の長さは必要なときに算出され、 .I 最大 要求値からランダムに分散されます。 最大要求値の上下 25% までに分散されるのです。 .br .BR pam_authenticate "(3)" や .BR pam_chauthtok "(3)" から戻る場合、問題の有無に関係なく、新しい要求遅延は デフォルト値のゼロにリセットされます。 .SH 例 .br .B ログイン アプリケーションで約 3 秒間のエラー遅延が必要となる場合、 このアプリケーションには以下のようなコードが含まれます。 .sp .br .B " pam_fail_delay(pamh, 3000000 /* micro-seconds */ );" .br .B " pam_authenticate(pamh, 0);" .sp .br モジュールが遅延を要求しない場合、エラー遅延は 2.25 秒と 3.75 秒の 間になります。 .br 認証プロセスで呼び出されるモジュールでも、以下のような遅延が 要求されることがあります。 .sp .br .RB " (モジュール #1) " "pam_fail_delay(pamh, 2000000);" .sp .br .RB " (モジュール #2) " "pam_fail_delay(pamh, 4000000);" .sp .br この場合、実際のエラー遅延の算出に使用されるのは最大要求値です。 ここでは 3 秒から 5 秒です。 .SH 戻り値 .BR pam_fail_delay "(3)" で問題が発生しなかった場合は、 .BR PAM_SUC-CESS が戻されます。その他すべての戻り値は、重大なエラーとみなしてください。 .SH エラー .BR pam_strerror "(3)" でテキストに変換できます。 .SH 準拠 X/Open グループが、PAM RFC. 1996/1/10 に組み込むことを検討中です。 .SH バグ .sp 2 見つかっていません。 .SH 関連項目 .BR pam_start "(3), " .BR pam_get_item "(3), " .BR pam_strerror "(3)" .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR Linux-PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_open_session.3 b/ja_JP.eucJP/man/man3/pam_open_session.3 index de27f8986d..6b252d3ed7 100644 --- a/ja_JP.eucJP/man/man3/pam_open_session.3 +++ b/ja_JP.eucJP/man/man3/pam_open_session.3 @@ -1,101 +1,101 @@ .\" Hey Emacs! This file is -*- nroff -*- source. -.\" %Id: pam_open_session.3,v 1.2 1997/02/15 18:49:02 morgan Exp % +.\" $Id: pam_open_session.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" Copyright (c) Andrew G. Morgan 1997 .\" $FreeBSD$ .TH PAM_OPEN_SESSION 3 "1997 Jan 4" "PAM 0.55" "App. Programmers' Manual" .SH 名称 pam_open/close_session \- PAM セッション管理 .SH 書式 .B #include .sp .BI "int pam_open_session(pam_handle_t " *pamh ", int " flags ");" .sp .BI "int pam_close_session(pam_handle_t " *pamh ", int " flags ");" .sp 2 .SH 解説 PAM には、セッションの初期化と終了を行なう管理ツールがあります。 .TP .B pam_open_session この関数を使用すると、認証されたユーザのセッションが始まったことを 通知できます。ユーザが .BR pam_authenticate "(3)" で適切に確認され、 必要な場合は .BR pam_setcred "(3)" で証明書を与えられた後で呼び出してください。 .br セッションの初期化に関連した関数には、システムを監視するための ログ作成とディレクトリ(ユーザのホームディレクトリなど)の マウントがあります。アプリケーションでこれに関わることはありません。 アプリケーションの .I 有効な uid ( .BR geteuid "(2)" ) に、このようなタスクを実行する権利が必要であることに注意してください。 .TP .B pam_close_session .br この関数を使用すると、ユーザセッションが終了したことを通知できます。 一般的には、初期化関数 ( .BR pam_open_session ) と同じアプリケーションにこの関数を配置する必要はありません。 .br この関数は、 .BR pam_open_session のアクションを取り消します。 つまり、ユーザセッションの終了に関わる監視情報を記録し、ユーザの ホームディレクトリのマウントを解除します。十分な権利があることは別にして、 セッションの終了の詳細に呼び出しアプリケーションが関わるこはありません。 しかし、この呼び出しから戻るときにユーザのためにアクションを起こすことは 止めてください。 .SH 戻り値 このセッション管理関数で問題が発生しなかった場合は、 .BR PAM_SUCCESS が戻されます。 .br セッションの開閉でエラーが発生した場合は、 .BR PAM_SESSION_ERR が戻されます。 その他の戻り値が戻された場合は、エラーを示すものとして扱ってください。 .SH エラー .BR pam_strerror "(3)" でテキストに変換できます。 .SH 準拠 OSF-RFC 86.0, October 1995. .SH バグ .sp 2 見つかっていません。 .SH 関連項目 .BR pam_start "(3), " .BR pam_authenticate "(3), " .BR pam_setcred "(3), " .BR pam_get_item "(3), " .BR pam_strerror "(3), " .BR pam "(3)." .br .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR Linux-PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_setcred.3 b/ja_JP.eucJP/man/man3/pam_setcred.3 index 133526630b..9848b7e3cf 100644 --- a/ja_JP.eucJP/man/man3/pam_setcred.3 +++ b/ja_JP.eucJP/man/man3/pam_setcred.3 @@ -1,79 +1,79 @@ .\" Hey Emacs! This file is -*- nroff -*- source. -.\" %Id: pam_setcred.3,v 1.1.1.1 1998/07/09 22:10:18 jdp Exp % +.\" $Id: pam_setcred.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" Copyright (c) Andrew G. Morgan 1996,1997 .\" $FreeBSD$ .TH PAM_SETCRED 3 "1997 July 6" "PAM 0.58" "App. Programmers' Manual" .SH 名称 pam_setcred \- ユーザに証明書を設定 .SH 書式 .B #include .sp .BI "int pam_setcred(pam_handle_t " *pamh ", int " flags ");" .sp 2 .SH 解説 .B pam_setcred この関数を使用すると、ユーザの証明書の確立、保守、削除ができます。 ユーザが認証された後で、そのユーザのセッションを .BR pam_open_session "(3)" で開く前に呼び出してください。 証明書には、グループメンバーシップ、チケットファイル、PAM 環境変数など、 多くの形式があることに注意してください。このため、この関数を 呼び出す前にユーザの基本的な ID をアプリケーションで確立することが 重要になります。デフォルトの .BR PAM 環境変数を設定し、 .BR initgroups "(2)" かそれと同等のものを実行してください。 .SH 有効なフラグ .TP .BR PAM_ESTABLISH_CRED ユーザの証明書を初期化します。 .TP .BR PAM_DELETE_CRED ユーザの証明書を削除します。 .TP .BR PAM_REINITIALIZE_CRED ユーザの証明書を削除してから初期化します。 .TP .BR PAM_REFRESH_CRED 既存の証明書の有効期限を延期します。 .SH 戻り値 問題がない場合は、 .BR PAM_SUCCESS が戻されます。その他すべての戻り値は、エラーとして扱ってください。 .SH エラー .BR pam_strerror "(3)" でテキストに変換できます。 .SH 準拠 DCE-RFC 86.0, October 1995. .SH バグ .sp 2 見つかっていません。 .SH 関連項目 .BR pam_authenticate "(3), " .BR pam_strerror "(3), " .BR pam_open_session "(3). " .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR Linux-PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_start.3 b/ja_JP.eucJP/man/man3/pam_start.3 index 193e4030ec..cf18c90f6f 100644 --- a/ja_JP.eucJP/man/man3/pam_start.3 +++ b/ja_JP.eucJP/man/man3/pam_start.3 @@ -1,97 +1,97 @@ .\" Hey Emacs! This file is -*- nroff -*- source. -.\" %Id: pam_start.3,v 1.2 1997/02/15 18:51:54 morgan Exp % +.\" $Id: pam_start.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" Copyright (c) Andrew G. Morgan 1996-7 .\" $FreeBSD$ .TH PAM_START 3 "1997 Feb 15" "PAM 0.56" "Application Programmers' Manual" .SH 名称 pam_start, pam_end \- PAM の起動 .SH 書式 .B #include .sp .BI "int pam_start(const char " *service ", const char " *user ", const struct pam_conv " *conv ", pam_handle_t " **pamh_p ");" .sp .BI "int pam_end(pam_handle_t " *pamh ", int " pam_status ");" .sp 2 .SH 解説 .TP .B pam_start .I PAM ライブラリを初期化し、特定の .IR サービス 名でアプリケーション を確認します。インタフェースを初期化するときにユーザ名が分かっていない 場合は、 .IR ユーザ 名を .IR NULL にできます。 .IR conv 引数では、対話構造をライブラリに渡せます (これとその他の構造の詳細については、 .IR PAM アプリケーションの 開発者用ガイドを参照してください)。初期化が問題なく終了すると、 ライブラリに後でアクセスするための不透明なポインタハンドルが .IR pamh_p ポインタで戻されます。 .TP .B pam_end .B PAM ライブラリを終了します。 .IR pamh ハンドルが関連するサービスアプリケーションが終了します。 .IR pam_status 引数は、ライブラリからアプリケーションに戻された最新の値を渡します。 これは、ライブラリの終了方法を示します。この引数は戻り値を運ぶ他に、 .IR PAM_DATA_SILENT と論理和を取り、モジュールがこの呼び出しを重大に扱わないことを 示すことがあります。 一般的には、現在のライブラリの終了処理が .IR fork "(2)" を実行したプロセスで実行されること、 および現行プロセスのスペース以外に存在するもの(ファイルなど) を親がクリーンアップすることを示します。 .SH 戻り値 .TP .B pam_start .TP .PP .B pam_end 問題がない場合は .BR PAM_SUCCESS が戻されます。 .SH エラー .BR pam_strerror "(3)" でテキストに変換できます。 .SH 準拠 DCE-RFC 86.0, October 1995. .PP .sp .BR PAM_DATA_SILENT フラグは、1996 年 12 月 4 日現在、DCE での受け入れが保留されています。 .SH バグ .sp 2 見つかっていません。 .SH 関連項目 .BR fork "(2), " .BR pam_authenticate "(3), " .BR pam_acct_mgmt "(3), " .BR pam_open_session "(3), " .BR pam_chauthtok "(3)." .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR Linux-PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pam_strerror.3 b/ja_JP.eucJP/man/man3/pam_strerror.3 index 4511f0381e..ddd59f562a 100644 --- a/ja_JP.eucJP/man/man3/pam_strerror.3 +++ b/ja_JP.eucJP/man/man3/pam_strerror.3 @@ -1,49 +1,49 @@ .\" Hey Emacs! This file is -*- nroff -*- source. .\" ripped off from Rick Faith's getgroups man page -.\" %Id: pam_strerror.3,v 1.2 1997/02/15 18:53:04 morgan Exp % +.\" $Id: pam_strerror.3,v 1.4 2002-05-18 07:12:55 horikawa Exp $ .\" Copyright (c) Andrew G. Morgan 1996-7 .\" $FreeBSD$ .TH PAM_STRERROR 3 "1997 Feb 15" "PAM 0.56" "Programmers' Manual" .SH 名称 pam_strerror \- PAM エラーの説明をテキストで戻す .SH 書式 .B #include .br or, .br .B #include .sp .BI "const char *pam_strerror(" int " pam_error); .sp 2 .SH 解説 .B pam_strerror この関数は、引数で渡された .BR PAM エラーを説明するテキストの行を指すポインタを戻します。 .SH 戻り値 問題がない場合、この関数は、指定されたエラーの説明を戻します。この 関数がエラーを認識できない場合は、「Unknown PAM error」が戻されます。 .SH 準拠 DCE-RFC 86.0, October 1995. .SH バグ .sp 2 この関数は国際化する必要があります。 .SH 関連項目 .BR pam "(8)" .BR システム管理者 、 .BR モジュール開発者 、 .BR アプリケーション開発者 用の .BR Linux-PAM ガイドも参照してください。 diff --git a/ja_JP.eucJP/man/man3/pause.3 b/ja_JP.eucJP/man/man3/pause.3 index f005cdc75b..d7686d88bd 100644 --- a/ja_JP.eucJP/man/man3/pause.3 +++ b/ja_JP.eucJP/man/man3/pause.3 @@ -1,79 +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 -.\" %Id: pause.3,v 1.2 1997/03/09 00:42:46 mpp Exp % +.\" %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 BSD 4 +.Os .Sh 名称 .Nm pause .Nd シグナルを受けるまで停止 +.Sh ライブラリ +.Lb libc .Sh 書式 .Fd #include .Ft int .Fn pause void .Sh 解説 .Sy pause は、 .Xr sigsuspend 2 .Sy に置き換えられました。 .Pp .Fn pause 関数は、 .Xr kill 2 関数かインターバルタイマ .Xr (setitimer 2 参照) からシグナルを受けるまで、プロセスを強制的に停止します。 .Fn pause の実行中に開始されたシグナルハンドラが終了すると、 .Fn pause の呼び出しは戻ります。 .Sh 戻り値 常に \-1 が戻されます。 -.Sh 誤り +.Sh エラー .Fn pause 関数は、常に以下を戻します。 -.Bl -tag -width [EINTR] +.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/ja_JP.eucJP/man/man3/popen.3 b/ja_JP.eucJP/man/man3/popen.3 index a9d096a70e..7cb4dab905 100644 --- a/ja_JP.eucJP/man/man3/popen.3 +++ b/ja_JP.eucJP/man/man3/popen.3 @@ -1,204 +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.2 2000/12/08 13:49:24 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/printf.3 b/ja_JP.eucJP/man/man3/printf.3 index c8afbd6d70..161eb176a8 100644 --- a/ja_JP.eucJP/man/man3/printf.3 +++ b/ja_JP.eucJP/man/man3/printf.3 @@ -1,600 +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.9 2001/08/17 15:42:41 ru Exp % +.\" %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 書式 -.Fd #include +.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" ... -.Fd #include +.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 fprintf(stdout, "%s, %s %d, %.2d:%.2d\en", weekday, month, day, hour, min); .Ed .Pp \*(Pi を小数第 5 位まで出力する場合: .Bd -literal -offset indent #include #include fprintf(stdout, "pi = %.5f\en", 4 * atan(1.0)); .Ed .Pp 128 バイトの文字列を割り振り、そこに出力する場合: .Bd -literal -offset indent #include #include #include 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/ja_JP.eucJP/man/man3/property.3 b/ja_JP.eucJP/man/man3/property.3 index ba57821bce..dae659406b 100644 --- a/ja_JP.eucJP/man/man3/property.3 +++ b/ja_JP.eucJP/man/man3/property.3 @@ -1,95 +1,95 @@ .\" .\" 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.6 2001/07/22 12:07:18 dd Exp % +.\" %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 書式 -.Fd #include -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread.3 b/ja_JP.eucJP/man/man3/pthread.3 index f7680152e1..65d071c489 100644 --- a/ja_JP.eucJP/man/man3/pthread.3 +++ b/ja_JP.eucJP/man/man3/pthread.3 @@ -1,453 +1,454 @@ .\" Copyright (c) 1996 John Birrell . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %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 書式 -.Fd #include +.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 読取り/書込みロックルーチン +.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/ja_JP.eucJP/man/man3/pthread_cleanup_pop.3 b/ja_JP.eucJP/man/man3/pthread_cleanup_pop.3 index af44789324..afa080520f 100644 --- a/ja_JP.eucJP/man/man3/pthread_cleanup_pop.3 +++ b/ja_JP.eucJP/man/man3/pthread_cleanup_pop.3 @@ -1,64 +1,64 @@ .\" Copyright (c) 1997 Brian Cully .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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.3 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_cleanup_push.3 b/ja_JP.eucJP/man/man3/pthread_cleanup_push.3 index 5c0f6e24f1..b340fadcb4 100644 --- a/ja_JP.eucJP/man/man3/pthread_cleanup_push.3 +++ b/ja_JP.eucJP/man/man3/pthread_cleanup_push.3 @@ -1,66 +1,66 @@ .\" Copyright (c) 1997 Brian Cully .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_cond_broadcast.3 b/ja_JP.eucJP/man/man3/pthread_cond_broadcast.3 index 85cbfe8295..6e174cbe5b 100644 --- a/ja_JP.eucJP/man/man3/pthread_cond_broadcast.3 +++ b/ja_JP.eucJP/man/man3/pthread_cond_broadcast.3 @@ -1,72 +1,72 @@ .\" Copyright (c) 1997 Brian Cully .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_cond_destroy.3 b/ja_JP.eucJP/man/man3/pthread_cond_destroy.3 index defa82b556..953d884b5d 100644 --- a/ja_JP.eucJP/man/man3/pthread_cond_destroy.3 +++ b/ja_JP.eucJP/man/man3/pthread_cond_destroy.3 @@ -1,76 +1,76 @@ .\" Copyright (c) 1997 Brian Cully .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_cond_init.3 b/ja_JP.eucJP/man/man3/pthread_cond_init.3 index 8122245304..5c06710b17 100644 --- a/ja_JP.eucJP/man/man3/pthread_cond_init.3 +++ b/ja_JP.eucJP/man/man3/pthread_cond_init.3 @@ -1,80 +1,80 @@ .\" Copyright (c) 1997 Brian Cully .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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.5 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_cond_signal.3 b/ja_JP.eucJP/man/man3/pthread_cond_signal.3 index 01af06e4a3..9741c301f9 100644 --- a/ja_JP.eucJP/man/man3/pthread_cond_signal.3 +++ b/ja_JP.eucJP/man/man3/pthread_cond_signal.3 @@ -1,72 +1,72 @@ .\" Copyright (c) 1997 Brian Cully .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_cond_timedwait.3 b/ja_JP.eucJP/man/man3/pthread_cond_timedwait.3 index 84de055acd..508de5eee8 100644 --- a/ja_JP.eucJP/man/man3/pthread_cond_timedwait.3 +++ b/ja_JP.eucJP/man/man3/pthread_cond_timedwait.3 @@ -1,90 +1,90 @@ .\" Copyright (c) 1997 Brian Cully .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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.6 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_cond_wait.3 b/ja_JP.eucJP/man/man3/pthread_cond_wait.3 index 0425f97c92..7672b4cbe6 100644 --- a/ja_JP.eucJP/man/man3/pthread_cond_wait.3 +++ b/ja_JP.eucJP/man/man3/pthread_cond_wait.3 @@ -1,83 +1,83 @@ .\" Copyright (c) 1997 Brian Cully .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_create.3 b/ja_JP.eucJP/man/man3/pthread_create.3 index 0d7f266583..8cb729c159 100644 --- a/ja_JP.eucJP/man/man3/pthread_create.3 +++ b/ja_JP.eucJP/man/man3/pthread_create.3 @@ -1,118 +1,120 @@ .\" Copyright (c) 1996 John Birrell . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc_r/man/pthread_create.3,v 1.9.2.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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 -が NULL である場合には、デフォルトの属性が使用されます。 +が +.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/ja_JP.eucJP/man/man3/pthread_detach.3 b/ja_JP.eucJP/man/man3/pthread_detach.3 index e256b74e23..6693100e1d 100644 --- a/ja_JP.eucJP/man/man3/pthread_detach.3 +++ b/ja_JP.eucJP/man/man3/pthread_detach.3 @@ -1,87 +1,87 @@ .\" Copyright (c) 1996-1998 John Birrell . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc_r/man/pthread_detach.3,v 1.6.2.5 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_equal.3 b/ja_JP.eucJP/man/man3/pthread_equal.3 index e367a37720..e5764871af 100644 --- a/ja_JP.eucJP/man/man3/pthread_equal.3 +++ b/ja_JP.eucJP/man/man3/pthread_equal.3 @@ -1,71 +1,71 @@ .\" Copyright (c) 1996 John Birrell . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc_r/man/pthread_equal.3,v 1.4.2.5 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_exit.3 b/ja_JP.eucJP/man/man3/pthread_exit.3 index 90e1ca0f2f..ac2d31bfbd 100644 --- a/ja_JP.eucJP/man/man3/pthread_exit.3 +++ b/ja_JP.eucJP/man/man3/pthread_exit.3 @@ -1,106 +1,106 @@ .\" Copyright (c) 1996 John Birrell . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc_r/man/pthread_exit.3,v 1.8.2.6 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_getspecific.3 b/ja_JP.eucJP/man/man3/pthread_getspecific.3 index 6238523610..2147f06e93 100644 --- a/ja_JP.eucJP/man/man3/pthread_getspecific.3 +++ b/ja_JP.eucJP/man/man3/pthread_getspecific.3 @@ -1,82 +1,82 @@ .\" Copyright (c) 1996 John Birrell . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc_r/man/pthread_getspecific.3,v 1.6.2.3 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_join.3 b/ja_JP.eucJP/man/man3/pthread_join.3 index 69a394ad15..d9fe68eaaa 100644 --- a/ja_JP.eucJP/man/man3/pthread_join.3 +++ b/ja_JP.eucJP/man/man3/pthread_join.3 @@ -1,105 +1,105 @@ .\" Copyright (c) 1996-1998 John Birrell . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc_r/man/pthread_join.3,v 1.7.2.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_key_create.3 b/ja_JP.eucJP/man/man3/pthread_key_create.3 index c25a4dab12..759bbb7fb3 100644 --- a/ja_JP.eucJP/man/man3/pthread_key_create.3 +++ b/ja_JP.eucJP/man/man3/pthread_key_create.3 @@ -1,102 +1,102 @@ .\" Copyright (c) 1996 John Birrell . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc_r/man/pthread_key_create.3,v 1.6.2.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_key_delete.3 b/ja_JP.eucJP/man/man3/pthread_key_delete.3 index 89efb242ba..f0f222d308 100644 --- a/ja_JP.eucJP/man/man3/pthread_key_delete.3 +++ b/ja_JP.eucJP/man/man3/pthread_key_delete.3 @@ -1,95 +1,95 @@ .\" Copyright (c) 1996 John Birrell . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc_r/man/pthread_key_delete.3,v 1.6.2.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_mutex_destroy.3 b/ja_JP.eucJP/man/man3/pthread_mutex_destroy.3 index e06f05fc77..58f2866a81 100644 --- a/ja_JP.eucJP/man/man3/pthread_mutex_destroy.3 +++ b/ja_JP.eucJP/man/man3/pthread_mutex_destroy.3 @@ -1,73 +1,73 @@ .\" Copyright (c) 1997 Brian Cully .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_mutex_init.3 b/ja_JP.eucJP/man/man3/pthread_mutex_init.3 index c7ec280cbd..e2cb0b940f 100644 --- a/ja_JP.eucJP/man/man3/pthread_mutex_init.3 +++ b/ja_JP.eucJP/man/man3/pthread_mutex_init.3 @@ -1,78 +1,78 @@ .\" Copyright (c) 1997 Brian Cully .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_mutex_lock.3 b/ja_JP.eucJP/man/man3/pthread_mutex_lock.3 index 9306c031e8..f7844e8e29 100644 --- a/ja_JP.eucJP/man/man3/pthread_mutex_lock.3 +++ b/ja_JP.eucJP/man/man3/pthread_mutex_lock.3 @@ -1,76 +1,76 @@ .\" Copyright (c) 1997 Brian Cully .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_mutex_trylock.3 b/ja_JP.eucJP/man/man3/pthread_mutex_trylock.3 index 839956a235..6673c7f2cd 100644 --- a/ja_JP.eucJP/man/man3/pthread_mutex_trylock.3 +++ b/ja_JP.eucJP/man/man3/pthread_mutex_trylock.3 @@ -1,76 +1,76 @@ .\" Copyright (c) 1997 Brian Cully .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_mutex_unlock.3 b/ja_JP.eucJP/man/man3/pthread_mutex_unlock.3 index 5753af2c6b..2f4df08d31 100644 --- a/ja_JP.eucJP/man/man3/pthread_mutex_unlock.3 +++ b/ja_JP.eucJP/man/man3/pthread_mutex_unlock.3 @@ -1,77 +1,77 @@ .\" Copyright (c) 1997 Brian Cully .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce 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.4 2001/08/17 15:42:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_once.3 b/ja_JP.eucJP/man/man3/pthread_once.3 index 5d117a5466..b287745b10 100644 --- a/ja_JP.eucJP/man/man3/pthread_once.3 +++ b/ja_JP.eucJP/man/man3/pthread_once.3 @@ -1,107 +1,107 @@ .\" Copyright (c) 1996 John Birrell . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc_r/man/pthread_once.3,v 1.6.2.6 2001/08/17 15:42:52 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_rwlock_destroy.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_destroy.3 index a7b3f5b215..a4a0030ceb 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlock_destroy.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_destroy.3 @@ -1,80 +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.2 2001/07/22 12:07:01 dd Exp % +.\" %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 読取り/書込みロックの破壊 +.Nd 読取り / 書込みロックの破壊 .Sh ライブラリ .Lb libc_r .Sh 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_rwlock_init.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_init.3 index 23f92cb99a..08cc5d48cb 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlock_init.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_init.3 @@ -1,98 +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.2 2001/08/17 15:42:52 ru Exp % +.\" %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 読取り/書込みロックの初期化 +.Nd 読取り / 書込みロックの初期化 .Sh ライブラリ .Lb libc_r .Sh 書式 -.Fd #include +.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 の場合には、デフォルトの読取り/書込みロック属性が使用されます。 +が 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/ja_JP.eucJP/man/man3/pthread_rwlock_rdlock.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_rdlock.3 index 95bc02772a..cd6260de05 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlock_rdlock.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_rdlock.3 @@ -1,118 +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.1 2000/04/22 16:35:08 phantom Exp % +.\" %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 読取り用の読取り/書込みロックの獲得 +.Nd 読取り用の読取り / 書込みロックの獲得 .Sh ライブラリ .Lb libc_r .Sh 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_rwlock_unlock.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_unlock.3 index f63709afcd..0852dc1665 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlock_unlock.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_unlock.3 @@ -1,80 +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.1 2000/04/22 16:35:08 phantom Exp % +.\" %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 読取り/書込みロックの開放 +.Nd 読取り / 書込みロックの開放 .Sh ライブラリ .Lb libc_r .Sh 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_rwlock_wrlock.3 b/ja_JP.eucJP/man/man3/pthread_rwlock_wrlock.3 index 68b2387551..c703aaad73 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlock_wrlock.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlock_wrlock.3 @@ -1,101 +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.1 2000/04/22 16:35:08 phantom Exp % +.\" %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 書込み用の読取り/書込みロックの獲得 +.Nd 書込み用の読取り / 書込みロックの獲得 .Sh ライブラリ .Lb libc_r .Sh 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_rwlockattr_destroy.3 b/ja_JP.eucJP/man/man3/pthread_rwlockattr_destroy.3 index c66d045c1e..f6fa0b32ca 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlockattr_destroy.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlockattr_destroy.3 @@ -1,69 +1,69 @@ .\" Copyright (c) 1998 Alex Nash .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_destroy.3,v 1.3.2.2 2001/07/22 12:07:01 dd Exp % +.\" %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 読取り/書込みロックの属性の破壊 +.Nd 読取り / 書込みロックの属性の破壊 .Sh ライブラリ .Lb libc_r .Sh 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_rwlockattr_getpshared.3 b/ja_JP.eucJP/man/man3/pthread_rwlockattr_getpshared.3 index 248e477ea8..c8466de719 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlockattr_getpshared.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlockattr_getpshared.3 @@ -1,82 +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.3 2001/08/17 15:42:52 ru Exp % +.\" %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 書式 -.Fd #include +.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 HISTORY .Fn pthread_rwlockattr_getpshared 関数は、 .Fx 3.0 ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man3/pthread_rwlockattr_init.3 b/ja_JP.eucJP/man/man3/pthread_rwlockattr_init.3 index f5e07a7c8f..2439688648 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlockattr_init.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlockattr_init.3 @@ -1,69 +1,69 @@ .\" Copyright (c) 1998 Alex Nash .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_init.3,v 1.3.2.2 2001/08/17 15:42:52 ru Exp % +.\" %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 読取り/書込みロックの属性の作成 +.Nd 読取り / 書込みロックの属性の作成 .Sh ライブラリ .Lb libc_r .Sh 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_rwlockattr_setpshared.3 b/ja_JP.eucJP/man/man3/pthread_rwlockattr_setpshared.3 index 9428629791..d38c8e716c 100644 --- a/ja_JP.eucJP/man/man3/pthread_rwlockattr_setpshared.3 +++ b/ja_JP.eucJP/man/man3/pthread_rwlockattr_setpshared.3 @@ -1,89 +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.3 2001/08/17 15:42:52 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_self.3 b/ja_JP.eucJP/man/man3/pthread_self.3 index ff7e6f931e..5b557f876d 100644 --- a/ja_JP.eucJP/man/man3/pthread_self.3 +++ b/ja_JP.eucJP/man/man3/pthread_self.3 @@ -1,62 +1,62 @@ .\" Copyright (c) 1996 John Birrell . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc_r/man/pthread_self.3,v 1.4.2.4 2001/08/17 15:42:52 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pthread_setspecific.3 b/ja_JP.eucJP/man/man3/pthread_setspecific.3 index 7941ca7d75..67574cb1e5 100644 --- a/ja_JP.eucJP/man/man3/pthread_setspecific.3 +++ b/ja_JP.eucJP/man/man3/pthread_setspecific.3 @@ -1,96 +1,96 @@ .\" Copyright (c) 1996 John Birrell . .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by John Birrell. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JOHN BIRRELL AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc_r/man/pthread_setspecific.3,v 1.6.2.4 2001/08/17 15:42:52 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pty.3 b/ja_JP.eucJP/man/man3/pty.3 index 52eb60783e..8f0b204aca 100644 --- a/ja_JP.eucJP/man/man3/pty.3 +++ b/ja_JP.eucJP/man/man3/pty.3 @@ -1,144 +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.2 2001/07/22 12:07:18 dd Exp % +.\" %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 書式 -.Fd #include -.Fd #include -.Fd #include -.Fd #include +.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 、親プロセスに +は、エラーが発生すると -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/ja_JP.eucJP/man/man3/publickey.3 b/ja_JP.eucJP/man/man3/publickey.3 index 496658d776..5549c3a143 100644 --- a/ja_JP.eucJP/man/man3/publickey.3 +++ b/ja_JP.eucJP/man/man3/publickey.3 @@ -1,53 +1,53 @@ .\" @(#)publickey.3r 2.1 88/08/07 4.0 RPCSRC -.\" %FreeBSD: src/lib/libc/rpc/publickey.3,v 1.4.2.1 2001/01/18 10:20:24 ru Exp % +.\" %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 書式 -.Fd "#include " -.Fd "#include " +.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/ja_JP.eucJP/man/man3/putc.3 b/ja_JP.eucJP/man/man3/putc.3 index dfc4642153..8cac1bedcb 100644 --- a/ja_JP.eucJP/man/man3/putc.3 +++ b/ja_JP.eucJP/man/man3/putc.3 @@ -1,127 +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.2 2001/03/06 16:46:01 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/pwcache.3 b/ja_JP.eucJP/man/man3/pwcache.3 index 9422b223b6..2a073d7c03 100644 --- a/ja_JP.eucJP/man/man3/pwcache.3 +++ b/ja_JP.eucJP/man/man3/pwcache.3 @@ -1,90 +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 書式 -.Fd #include +.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であれば、 +が 0 であれば、 .Fa uid -のストリング表現にポインタが戻されます。0以外である場合は +のストリング表現にポインタが戻されます。0 以外である場合は .Dv NULL ポインタが戻されます。 .Pp .Fn group_from_gid 関数は、引数 .Fa gid に関連するグループ名を戻します。グループ名はキャッシュされるので、同じ .Fa gid で何度も呼び出す場合は、 .Xr getgrgid 3 を呼び出す必要はありません。 .Fa gid にグループが関連していない場合は、引数 .Fa nogroup -が 0であれば、 +が 0 であれば、 .Fa gid -のストリング表現にポインタが戻されます。0以外である場合は +のストリング表現にポインタが戻されます。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/ja_JP.eucJP/man/man3/queue.3 b/ja_JP.eucJP/man/man3/queue.3 index 57a2fb20df..d756b64644 100644 --- a/ja_JP.eucJP/man/man3/queue.3 +++ b/ja_JP.eucJP/man/man3/queue.3 @@ -1,1025 +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.5 2001/08/21 06:58:44 sobomax Exp % +.\" %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 書式 -.Fd #include +.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(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); /* 削除 */ +SLIST_REMOVE_HEAD(&head, entries); /* 先頭から削除 */ free(n3); - /* 順走査 */ SLIST_FOREACH(np, &head, entries) np-> ... -while (!SLIST_EMPTY(&head)) { /* リストの削除 */ +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 elm を削除します。 最適な効率を得るために、テールキューの先頭から要素を削除する場合には 一般的な .Fa STAILQ_REMOVE マクロよりもこのマクロを明示的に使用すべきです。 .Pp マクロ .Nm STAILQ_REMOVE はテールキューから要素 .Fa elm を削除します。 .Sh 単一リンクテールキューの使用例 .Bd -literal -STAILQ_HEAD(stailhead, entry) head; +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_HEAD(&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; -struct listhead *headp; /* リストヘッド */ +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)) { /* リストの削除 */ +while (!LIST_EMPTY(&head)) { /* リストの削除 */ n1 = LIST_FIRST(&head); LIST_REMOVE(n1, entries); free(n1); } -n1 = LIST_FIRST(&head); /* リストの高速な削除 */ +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; -struct tailhead *headp; /* テールキューヘッド */ +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)) { +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(circleq, entry) head; +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/ja_JP.eucJP/man/man3/radixsort.3 b/ja_JP.eucJP/man/man3/radixsort.3 index 186b30b09d..9c2a3e0ba6 100644 --- a/ja_JP.eucJP/man/man3/radixsort.3 +++ b/ja_JP.eucJP/man/man3/radixsort.3 @@ -1,154 +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.3 2001/08/17 15:42:42 ru Exp % +.\" %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 書式 -.Fd #include -.Fd #include +.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/ja_JP.eucJP/man/man3/raise.3 b/ja_JP.eucJP/man/man3/raise.3 index a3522a38ed..630c655bfd 100644 --- a/ja_JP.eucJP/man/man3/raise.3 +++ b/ja_JP.eucJP/man/man3/raise.3 @@ -1,75 +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 書式 -.Fd #include +.In signal.h .Ft int .Fn raise "int sig" .Sh 解説 .Fn raise 関数はシグナル .Fa sig を現行プロセスに送信します。 .Sh 戻り値 -問題がない場合は 0が戻されます。問題がある場合は \-1 が戻され、グロー -バル変数 -.Va errno -が、そのエラーを示す値に設定されます。 +.Rv -std raise .Sh エラー .Fn raise 関数は、エラーが発生した場合、ライブラリ関数 .Xr getpid 2 と .Xr kill 2 のエラーに .Va errno を設定します。 .Sh 関連項目 .Xr kill 2 .Sh 規格 .Fn raise 関数は、 -.St -ansiC -に準拠しています。 - +.St -isoC +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/rand.3 b/ja_JP.eucJP/man/man3/rand.3 index 680bc5f9d2..2cb2e9f1bf 100644 --- a/ja_JP.eucJP/man/man3/rand.3 +++ b/ja_JP.eucJP/man/man3/rand.3 @@ -1,103 +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.4 2001/08/17 15:42:42 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/rand48.3 b/ja_JP.eucJP/man/man3/rand48.3 index 022309eaf4..807cdd6d6b 100644 --- a/ja_JP.eucJP/man/man3/rand48.3 +++ b/ja_JP.eucJP/man/man3/rand48.3 @@ -1,145 +1,148 @@ -.\" $FreeBSD$ -\" Copyright (c) 1993 Martin Birgmeier +.\" 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 FreeBSD +.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 書式 -.Fd #include -.Ft double +.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/ja_JP.eucJP/man/man3/random.3 b/ja_JP.eucJP/man/man3/random.3 index 823797ffef..5ae94a3280 100644 --- a/ja_JP.eucJP/man/man3/random.3 +++ b/ja_JP.eucJP/man/man3/random.3 @@ -1,178 +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.4 2001/08/17 15:42:42 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/rcmd.3 b/ja_JP.eucJP/man/man3/rcmd.3 index 21c8a8b780..9aa8186af8 100644 --- a/ja_JP.eucJP/man/man3/rcmd.3 +++ b/ja_JP.eucJP/man/man3/rcmd.3 @@ -1,274 +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.7 2001/08/17 15:42:38 ru Exp % +.\" %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 書式 -.Fd #include +.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" +.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/ja_JP.eucJP/man/man3/re_comp.3 b/ja_JP.eucJP/man/man3/re_comp.3 index 1d2165a5e8..3294c7a99d 100644 --- a/ja_JP.eucJP/man/man3/re_comp.3 +++ b/ja_JP.eucJP/man/man3/re_comp.3 @@ -1,112 +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 .Ft char * .Fn re_comp "const char *s" .Ft int .Fn re_exec "const char *s" .Sh 解説 +.Bf -symbolic このインタフェースは、 .Xr regex 3 -に置き換わりました。互換性ライブラリ libcompat から使用できます。 +に置き換えられました。 +.Ef .Pp .Fn re_comp 関数は、パターンマッチングに合う内部形式にストリングをコンパイルします。 .Fn re_exec 関数は、 .Fn re_comp に渡された最後のストリングと引数ストリングを照合します。 .Pp .Fn re_comp 関数は、ストリング .Fa s -が問題なくコンパイルされると 0を戻します。問題が発生した場合は、エラー -メッセージを含むストリングが戻されます。0 か null ストリングが渡された +が問題なくコンパイルされると 0 を戻します。問題が発生した場合は、エラー +メッセージを含むストリングが戻されます。0 かヌルストリングが渡された .Fn re_comp は、現在コンパイルされている定型数式を変更せずに戻ります。 .Pp .Fn re_exec 関数は、最後にコンパイルされた定型数式とストリング .Fa s -が一致すると 1を戻します。最後にコンパイルされた定型数式とストリング +が一致すると 1 を戻します。最後にコンパイルされた定型数式とストリング .Fa s -が一致しない場合は 0を戻します。コンパイルされた定型数式が正しくない場 -合は \-1 を戻します(内部エラー)。 +が一致しない場合は 0 を戻します。 +コンパイルされた定型数式が正しくない場合は \-1 を戻します (内部エラー)。 .Pp .Fn re_comp と .Fn re_exec -の両方に渡すストリングには、最後に改行キャラクタが付いていたり、改行キャ -ラクタが埋め込まれていたりすることがありますが、これらは -.Dv NULL -で終了されます。認識される定型数式については、上記のような違いがありま -すが、 +の両方に渡すストリングには、最後に改行文字が付いていたり、改行文字 +が埋め込まれていたりすることがありますが、これらは +.Dv NUL +で終端されます。 +認識される定型数式については、上記のような違いがありますが、 .Xr ed 1 のマニュアルエントリを参照してください。 .Sh 診断 .Fn re_exec 関数は、内部エラーが発生した場合、-1 を戻します。 .Pp .Fn re_comp -関数は、エラーが発生した場合、以下のストリングのうち 1つを戻します。 +関数は、エラーが発生した場合、以下のストリングのうち 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/ja_JP.eucJP/man/man3/realpath.3 b/ja_JP.eucJP/man/man3/realpath.3 index d402a183f7..6d7d30ebeb 100644 --- a/ja_JP.eucJP/man/man3/realpath.3 +++ b/ja_JP.eucJP/man/man3/realpath.3 @@ -1,116 +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.2 2001/07/22 12:06:47 dd Exp % +.\" %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 書式 -.Fd #include -.Fd #include +.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/ja_JP.eucJP/man/man3/recno.3 b/ja_JP.eucJP/man/man3/recno.3 index 677aa45003..77b6e36fbc 100644 --- a/ja_JP.eucJP/man/man3/recno.3 +++ b/ja_JP.eucJP/man/man3/recno.3 @@ -1,218 +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.1 2001/01/12 08:30:10 ru Exp % +.\" %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 書式 -.Fd "#include " -.Fd "#include " +.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/ja_JP.eucJP/man/man3/regexp.3 b/ja_JP.eucJP/man/man3/regexp.3 index 3efde85dbd..9b1b4f6f39 100644 --- a/ja_JP.eucJP/man/man3/regexp.3 +++ b/ja_JP.eucJP/man/man3/regexp.3 @@ -1,257 +1,262 @@ .\" 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. .\" .\" @(#)regexp.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libcompat/regexp/regexp.3,v 1.6.2.2 2001/12/17 10:08:29 ru Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt REGEXP 3 .Os .Sh 名称 .Nm regcomp , .Nm regexec , .Nm regsub , .Nm regerror .Nd 正規表現ハンドラ +.Sh ライブラリ +.Lb libcompat .Sh 書式 -.Fd #include +.In regexp.h .Ft regexp * .Fn regcomp "const char *exp" .Ft int .Fn regexec "const regexp *prog" "const char *string" .Ft void .Fn regsub "const regexp *prog" "const char *source" "char *dest" .Sh 解説 +.Bf Sy このインタフェースは、 .Xr regex 3 -で置き換えられました。これは、互換性ライブラリ libcompat から使用できます。 +で置き換えられました。 +.Ef .Pp .Fn regcomp , .Fn regexec , .Fn regsub , .Fn regerror は .Xr egrep 1 スタイルの正規表現とサポート機能を実現しています。 .Pp .Fn regcomp は、正規表現を .Fn regexp タイプの構造体にコンパイルし、その構造体のポインタを戻します。スペース は .Xr malloc 3 で割り振られ、 .Xr free で解放されます。 .Pp .Fn regexec 関数は、 .Dv NULL で終わる .Fa string を .Fa prog のコンパイル済み正規表現と突き合わせます。問題がない場合は 1を戻し、問 題がある場合は 0を戻します。また、 .Fa prog の .Em startp と .Em endp (下記参照)の内容を調整します。 .Pp .Fn regexp 構造体のメンバーには、最低でも以下が必要です。順番は関係ありません。 .Bd -literal -offset indent char *startp[NSUBEXP]; char *endp[NSUBEXP]; .Ed .Pp .Dv NSUBEXP は、ヘッダファイルで 10に定義されています。 .Fn regexp を使用して .Fn regexec が問題なく実行されると、 .Em startp と .Em endp の各ペアは、 .Fa string のサブストリングを表します。 .Em startp はサブストリングの第 1キャラクタを指し、 .Em endp はサブストリングの次の第 1キャラクタを指します。0番目のサブストリング は、正規表現全体と一致する .Fa string のサブストリングです。その他は、正規表現の括弧で囲まれた表現と一致する サブストリングです。括弧で囲まれた表現には、左括弧の左から右の次数で番 号が付きます。 .Pp .Fn regsub 関数は、 .Fa prog を使用して最後に実行した .Fn regexec に従って置き換えを行ないながら、 .Fa source を .Fa dest にコピーします。 .Fa source の `&' の各インスタンスは、 .Em startp Ns Bq と .Em endp Ns Bq で示されるサブストリングで置き換えられます。 .Sq \e Ns Em n の各インスタンス(nは数字)は、 .Em startp Ns Bq Em n と .Em endp Ns Bq Em n で示されるサブストリングで置き換えられます。リテラル `&' や .Sq \e Ns Em n を .Fa dest に配置するには、そのリテラルの前に `\e' を配置します。`&'や .Sq \e Ns Em n の前にリテラル `\e' を付けるには、その前に `\e' をもう 1つ付けます。 .Pp .Fn regerror 関数は、 .Fn regcomp , .Fn regexec , .Fn regsub でエラーが検出されると常に呼び出されます。デフォルトの .Fn regerror は、原因の適切なインジケータを使用し、ストリング .Fa msg を標準エラー出力に書き込んで -.Xr exit 2 +.Xr exit 3 を呼び出します。その他のアクションが望ましい場合、ユーザは .Fn regerror 関数を別のものと置き換えられます。 .Sh 正規表現シンタックス 正規表現は、`|' で区切られた、 0以上のブランチです。ブランチの 1つと 一致するものと一致します。 .Pp ブランチは、 0以上の連結したピースです。最初に一致したものと一致した 後で、次に一致したものと一致します。 .Pp ピースは、`*' , `+' , `?' が続くことがあるアトムです。 `*' が続くアトムは、アトムの 0以上の一致のシーケンスと一致します。 `+' が続くアトムは、アトムの 1以上の一致のシーケンスと一致します。 `?' が続くアトムは、アトムの一致、または null ストリングと一致します。 .Pp アトムは、括弧で囲まれた正規表現(正規表現の一致と一致する)、範囲(下記 参照)、`.' ( 1キャラクタと一致する)、`^' (入力ストリングの最初の null ストリングと一致する)、`$' (入力ストリングの最後の null ストリングと一 致する)、1 キャラクタが続く `\e' (そのキャラクタと一致する)、その他の 意味がない 1キャラクタ(そのキャラクタと一致する)です。 .Pp 範囲は、`[]' で囲まれたキャラクタのシーケンスです。通常は、そのシーケ ンスの 1キャラクタと一致します。シーケンスが `^' で始まる場合は、シー ケンスの残りのキャラクタではない 1キャラクタと一致します。シーケンスの 2つのキャラクタが `\-' で区切られている場合、これは、その 2キャラクタ に挟まれた .Tn ASCII キャラクタのリストを表します(たとえば `[0-9]' は、任意の十進数と一致し ます)。シーケンスにリテラル `]'を組み込むには、それを最初のキャラクタ にします( `^' がある場合はその次のキャラクタにします)。リテラル `\-' を組み込むには、最初か最後のキャラクタにします。 .Sh あいまい性 正規表現が入力ストリングの 2つの部分と一致する場合は、最初のものと一致 します。両方が同じ場所で始まっているが長さが異なる場合、または長さが 同じで別々の場所で始まっている場合、現実は以下のように複雑になります。 .Pp 一般的に、ブランチのリストの実現性は左から右に考慮されます。`*', `+', `?' の実現性は長いものから考慮されます。ネストされたコンストラクトは外 側から考慮されます。連結されたコンストラクトは左から考慮されます。 選 択される一致は、最初の選択肢の最初の実現性を使用するものとなります。 選択肢が複数ある場合は、最初の決定に従って、次が同じ方法(最初の実現性) で行なわれます。残りも同じようになります。 .Pp たとえば .Sq Li (ab|a)b*c が `abc' と一致する方法には 2つあります。最初の選択肢は、`ab' と `a' の間です。`ab' が先で、問題ない一致全体をリードするので、これが選択さ れます。`b' はすでに選択されているので、`b*' は最後の実現性(空ストリン グ)と一致します。先の選択肢を考慮する必要があるからです。 .Pp `|' が存在せず、`*' , `+', `?' が 1つだけ存在する場合は、最も長い一致 が選択される結果となります。`xabbbby' で提供された `ab*' は、`abbbb' と一致します。`ab*' が `xabyabbbz' で試されると、最初のものが選択され るので、`x' の後の `ab' と一致することに注意してください。(実際には、 一致を始める場所の決定が最初の選択肢なので、後の選択肢では、優先順位が 低い代案がリードしていてもそれを考慮する必要があります。) .Sh 戻り値 .Fn regcomp 関数は、シンタックスエラー、システム制限の超越、 .Dv NULL オペランドへの `+' や `*' の適用などのエラーが発生した場合は .Dv NULL を戻します( .Fn regerror が開始されます)。 .Sh 関連項目 .Xr ed 1 , .Xr egrep 1 , .Xr ex 1 , .Xr expr 1 , .Xr fgrep 1 , .Xr grep 1 , .Xr regex 3 .Sh 歴史 .Fn regcomp , .Fn regexec , .Fn regsub , .Fn regerror のコードとマニュアルページは、トロント大学で作成され、 .Bx 4.3-Tahoe に追加されました。Bell V8 .Xr regexp 3 と互換性を保つようになっていますが、Bell コードから派生したものではあ りません。 .Sh バグ 空のブランチと空の正規表現は、V8 と互換性はありません。 .Pp .Dv NULL オペランドに `*' か `+' を適用することに課せられる制限は、システムを単 純にするためのものです。 .Pp .Xr egrep の改行で区切られたブランチはサポートされていません。V8 .Xr regexp 3 でもサポートされていません。 .Pp 簡潔さと単純さを強調したため、それほど速くありません。単純なケースを 速く処理することに注意が向けられています。 diff --git a/ja_JP.eucJP/man/man3/remove.3 b/ja_JP.eucJP/man/man3/remove.3 index 146c77a919..4ee4b9d095 100644 --- a/ja_JP.eucJP/man/man3/remove.3 +++ b/ja_JP.eucJP/man/man3/remove.3 @@ -1,87 +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.5 2001/08/17 15:42:41 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/resolver.3 b/ja_JP.eucJP/man/man3/resolver.3 index 073c3ec321..984dc80e94 100644 --- a/ja_JP.eucJP/man/man3/resolver.3 +++ b/ja_JP.eucJP/man/man3/resolver.3 @@ -1,356 +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.6 2001/08/17 15:42:38 ru Exp % +.\" %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 書式 -.Fd #include -.Fd #include -.Fd #include -.Fd #include +.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 現在は使用されません (トランケーションエラーを無視します、すなわち、 -TCP で再試行しません)。 +.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/ja_JP.eucJP/man/man3/rexec.3 b/ja_JP.eucJP/man/man3/rexec.3 index 4acca19f22..e66190ad83 100644 --- a/ja_JP.eucJP/man/man3/rexec.3 +++ b/ja_JP.eucJP/man/man3/rexec.3 @@ -1,117 +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 -このインタフェースは、krcmd(3) に置き換えられました。互換性ライブラリ -libcompat から使用できます。 +このインタフェースは、 +.Xr krcmd 3 +に置き換えられました。 .Ef .Pp .Fn rexec 関数は .Xr gethostbyname 3 を使用してホスト .Fa *ahost を検索し、ホストが存在しない場合は \-1 を戻します。ホストが存在する場 合は、ホストの標準名に .Fa *ahost を設定します。ユーザ名とパスワードの両方が指定されている場合は、この情 報を使用して外部ホストに認証します。ユーザ名とパスワードが指定されてい な場合は、ホームディレクトリの環境とユーザの .Pa .netrc ファイルを検索して適切な情報を特定します。このすべてがエラーとなった場 合は、情報を入力するようにユーザに要求します。 .Pp ポート .Fa inport は、接続に使用する、既知の .Tn DARPA インターネットポートを指定します。 -.Ql getservbyname(\\*qexec\\*q,\\*qtcp\\*q) -を呼び出すと( +.Fn getservbyname \*qexec\*q \*qtcp\*q +を呼び出すと ( .Xr getservent 3 -参照)、必要なポートを含む構造体のポインタが戻されます。接続のプロトコ -ルについては、 +参照)、必要なポートを含む構造体のポインタが戻されます。 +接続のプロトコルについては、 .Xr rexecd 8 を参照してください。 .Pp 問題なく接続されると、 .Dv SOCK_STREAM タイプのインターネットドメインのソケットが呼び出し側に戻され、 .Em stdin と .Em stdout としてリモートコマンドに指定されます。 .Fa fd2p -が 0以外である場合は、制御プロセスの補助チャンネルが設定され、その記述 -子が +が 0 以外である場合は、制御プロセスの補助チャンネルが設定され、その記述子が .Fa *fd2p -に配置されます。制御プロセスは、このチャンネルのコマンド(ユニット 2)か +に配置されます。制御プロセスは、このチャンネルのコマンド (ユニット 2) か ら診断出力を戻し、このチャンネルのバイトを .Tn UNIX シグナル番号として受け入れ、コマンドのプロセスグループに転送します。戻される -診断情報には、認証が確認されてから第 2接続が設定されるので、リモート認証 +診断情報には、認証が確認されてから第 2 接続が設定されるので、リモート認証 エラーが含まれません。 .Fa fd2p -が 0である場合は、 +が 0 である場合は、 .Em stderr -(リモートコマンドのユニット 2)が +(リモートコマンドのユニット 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/ja_JP.eucJP/man/man3/rindex.3 b/ja_JP.eucJP/man/man3/rindex.3 index 4bf71a3f80..13eb522d0e 100644 --- a/ja_JP.eucJP/man/man3/rindex.3 +++ b/ja_JP.eucJP/man/man3/rindex.3 @@ -1,85 +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.2 2001/07/22 12:06:49 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/rint.3 b/ja_JP.eucJP/man/man3/rint.3 index 9c0eefa642..d806e4f898 100644 --- a/ja_JP.eucJP/man/man3/rint.3 +++ b/ja_JP.eucJP/man/man3/rint.3 @@ -1,68 +1,68 @@ .\" 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.1 2001/07/22 12:07:20 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/rpc.3 b/ja_JP.eucJP/man/man3/rpc.3 index 93c9ae7d41..ccd9eb2de3 100644 --- a/ja_JP.eucJP/man/man3/rpc.3 +++ b/ja_JP.eucJP/man/man3/rpc.3 @@ -1,1461 +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.4 2001/06/28 21:44:27 iedowse Exp % +.\" %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 書式 -.Fd "#include " +.In rpc/rpc.h .Pp 関数の説明については .Sx 解説 を参照してください。 .Sh 解説 このルーチンでは、C プログラムを使用して、 ネットワークを通して別のマシンでプロシージャ呼び出しを実行できます。 まずクライアントがプロシージャを呼び出し、 データパケットをサーバに送信します。 パケットを受け取ったサーバは、ディスパッチルーチンを呼び出し、 要求されたサービスを実行してから応答を送り返します。 最後に、プロシージャ呼び出しがクライアントに戻ります。 .Pp Secure .Tn RPC ( DES 認証) に使用するルーチンについては、 .Xr rpc_secure 3 で説明します。 Secure .Tn RPC は .Tn DES 暗号化が使用できる場合にのみ使用できます。 -.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_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/ja_JP.eucJP/man/man3/rpc_secure.3 b/ja_JP.eucJP/man/man3/rpc_secure.3 index 408b5e5e83..72e6622144 100644 --- a/ja_JP.eucJP/man/man3/rpc_secure.3 +++ b/ja_JP.eucJP/man/man3/rpc_secure.3 @@ -1,235 +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.4 2001/08/17 15:42:41 ru Exp % +.\" %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.3 1998/01/16 13:33:09 bde Exp % +.\" $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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/rtime.3 b/ja_JP.eucJP/man/man3/rtime.3 index 7420ec3d1d..e6328888c0 100644 --- a/ja_JP.eucJP/man/man3/rtime.3 +++ b/ja_JP.eucJP/man/man3/rtime.3 @@ -1,49 +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.1 2001/01/18 10:20:24 ru Exp % +.\" %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 書式 -.Fd "#include " -.Fd "#include " -.Fd "#include " +.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/ja_JP.eucJP/man/man3/rune.3 b/ja_JP.eucJP/man/man3/rune.3 index 68ab6c4e33..fa925a773c 100644 --- a/ja_JP.eucJP/man/man3/rune.3 +++ b/ja_JP.eucJP/man/man3/rune.3 @@ -1,287 +1,293 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Paul Borman at Krystal Technologies. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)rune.3 8.2 (Berkeley) 12/11/93 +.\" %FreeBSD: src/lib/libc/locale/rune.3,v 1.10.2.6 2001/12/14 18:33:54 ru Exp % .\" .\" $FreeBSD$ .Dd December 11, 1993 .Dt RUNE 3 .Os .Sh 名称 .Nm setrunelocale , .Nm setinvalidrune , .Nm sgetrune , -.Nm sputrune +.Nm sputrune , +.Nm fgetrune , +.Nm fungetrune , +.Nm fputrune .Nd C 用ルーンサポート +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include -.Fd #include +.In rune.h +.In errno.h .Ft int .Fn setrunelocale "char *locale" .Ft void .Fn setinvalidrune "rune_t rune" .Ft rune_t .Fn sgetrune "const char *string" "size_t n" "char const **result" .Ft int .Fn sputrune "rune_t rune" "char *string" "size_t n" "char **result" .Pp -.Fd #include +.In stdio.h .Ft long .Fn fgetrune "FILE *stream" .Ft int .Fn fungetrune "rune_t rune" "FILE *stream" .Ft int .Fn fputrune "rune_t rune" "FILE *stream" .Sh 解説 .Fn setrunelocale は、マルチバイトストリングとしてルーンを表現するための エンコードのタイプ、および .Aq Pa ctype.h で定義されたルーンのプロパティを制御します。 .Fa locale 引数は、ロードするロケールを指定します。 ロケールが正常にロードされると .Dv 0 が戻され、ロードで問題が生じるとエラータイプを表す errno 値が戻されます。 .Pp .Fn setinvalidrune 関数は、グローバル値 -.Ev _INVALID_RUNE +.Dv _INVALID_RUNE の値を .Fa rune に設定します。 .Pp .Fn sgetrune 関数は、長さが最大 .Fa n バイトの 1 つのマルチバイトキャラクタを .Fa string から読み込もうとします。 .Fn sgetrune で問題が発生しなかった場合はルーンが戻されます。 .Fa result が .Dv NULL ではない場合、 .Fa *result は、 .Fa string で変換されなかった最初のバイトを指します。 .Fa string の最初の .Fa n バイトが完全なマルチバイトキャラクタを表さない場合は -.Ev _INVALID_RUNE +.Dv _INVALID_RUNE が戻され、 .Fa *result は .Fa string を指します。 .Fa string の最初でエンコードのエラーが発生した場合は -.Ev _INVALID_RUNE +.Dv _INVALID_RUNE が戻され、 .Fa *result は .Fa string の第 2 キャラクタを指します。 .Pp .Fn sputrune 関数は、マルチバイトストリングとして .Fa rune をエンコードし、 .Fa string に保存しようとします。しかし .Fa n バイトまでしか保存されません。 .Fa result が .Dv NULL ではない場合、 .Fa *result は、新しいマルチバイトキャラクタに続くストリングの 最初のバイトを指すように設定されます。 .Fa string が .Dv NULL である場合、 .Fa *result は .Dv "(char *)0 +" .Fa x を指します。 .Fa x は、マルチバイト値の保存に必要なバイト数です。 マルチバイトキャラクタが .Fa n より長いバイトから構成され、 .Fa result が .Dv NULL ではない場合、 .Fa *result は .Dv NULL に設定されます。 どのような場合でも、 .Fn sputrune は、マルチバイトキャラクタとして .Fa rune を保存するために必要なバイト数を戻します。 .Pp .Fn fgetrune 関数は、 1 つのルーンをデコードするのに足る数のバイトを .Fa stream から読み込もうとすることを除けば、 .Fn sgetrune と同じ動作をします。ファイルの終わりに達した場合は -.Ev EOF +.Dv EOF を、エンコードでエラーが発生した場合は -.Ev _INVALID_RUNE +.Dv _INVALID_RUNE を、問題が発生しなかった場合はデコードされたルーンを戻します。 .Pp .Fn fungetrune 関数は、次に .Fn fgetrune を呼び出した場合に .Fa rune が戻されるように、 .Fn sputrune が与える .Fa rune のマルチバイトエンコードを .Fa stream にプッシュします。エラーが発生した場合は -.Ev EOF +.Dv EOF を戻し、エラーが発生しなかった場合は .Dv 0 を戻します。 .Pp .Fn fputrune 関数は、 .Fn sputrune が与える .Fa rune のマルチバイトエンコードを .Fa stream に書き込みます。エラーが発生した場合は -.Ev EOF +.Dv EOF を戻し、エラーが発生しなかった場合は .Dv 0 を戻します。 .Sh 戻り値 .Fn setrunelocale 関数は、以下の値のどれか 1 つを戻します。 -.Bl -tag -width WWWWWWWW -.It Dv 0 -.Fa setrunelocale +.Bl -tag -width Er +.It Er 0 +.Fn setrunelocale で問題が発生しませんでした。 -.It Ev EFAULT +.It Bq Er EFAULT .Fa locale が .Dv NULL になっています。 -.It Ev ENOENT +.It Bq Er ENOENT ロケールが見つかりません。 -.It Ev EFTYPE +.It Bq Er EFTYPE 見つかったファイルが正しいファイルではありません。 -.It Ev EINVAL +.It Bq Er EINVAL ロケールで示されるエンコードが未知のものです。 .El .Pp .Fn sgetrune 関数は、読み込んだルーンか -.Ev _INVALID_RUNE +.Dv _INVALID_RUNE を戻します。 .Fn sputrune 関数は、マルチバイトストリングとして .Fa rune を保存するために必要なバイト数を戻します。 .Sh 関連ファイル .Bl -tag -width /usr/share/locale/locale/LC_CTYPE -compact .It Pa $PATH_LOCALE/ Ns Em locale Ns /LC_CTYPE .It Pa /usr/share/locale/ Ns Em locale Ns /LC_CTYPE ロケール .Em locale のバイナリ LC_CTYPE ファイル .El .Sh 関連項目 .Xr mbrune 3 , .Xr setlocale 3 , .Xr euc 4 , .Xr utf2 4 .Sh 注 ANSI C の -.Ev wchar_t +.Em wchar_t 型は、 -.Ev rune_t +.Em rune_t と同じです。美しさに劣る ANSI C プリミティブをシステムの土台としない故意の選択であることを強調するために -.Ev rune_t +.Em rune_t が選ばれました。 .Sh 歴史 この関数は、 .Bx 4.4 で初めて登場しました。 .Pp .Fn setrunelocale 関数とその他の非 ANSI ルーン関数は、 ANSI マルチバイトとワイドキャラクタサポートのより確実な代替案としての -.Nm Bell Labs の Plan 9 +.Sy Bell Labs の Plan 9 にヒントを得ました。 .\"They were conceived at the San Diego 1993 Summer USENIX conference by .\"Paul Borman of Krystal Technologies, Keith Bostic of CSRG and Andrew Hume .\"of Bell Labs. .Pp すべての ANSI マルチバイトとワイドキャラクタのサポート関数は、 ルーン関数を使用して作成されています。 diff --git a/ja_JP.eucJP/man/man3/scandir.3 b/ja_JP.eucJP/man/man3/scandir.3 index 1e78b4351b..b8660ed8dc 100644 --- a/ja_JP.eucJP/man/man3/scandir.3 +++ b/ja_JP.eucJP/man/man3/scandir.3 @@ -1,106 +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 BSD 4.2 +.Os .Sh 名称 .Nm scandir , .Nm alphasort .Nd ディレクトリを走査する +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include -.Fd #include +.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/ja_JP.eucJP/man/man3/scanf.3 b/ja_JP.eucJP/man/man3/scanf.3 index dd36403f94..9250314e64 100644 --- a/ja_JP.eucJP/man/man3/scanf.3 +++ b/ja_JP.eucJP/man/man3/scanf.3 @@ -1,441 +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.3 2001/07/22 11:01:36 dd Exp % +.\" %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 書式 -.Fd #include +.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" ... -.Fd #include +.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/ja_JP.eucJP/man/man3/setbuf.3 b/ja_JP.eucJP/man/man3/setbuf.3 index 40c889be42..5466a7619a 100644 --- a/ja_JP.eucJP/man/man3/setbuf.3 +++ b/ja_JP.eucJP/man/man3/setbuf.3 @@ -1,189 +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.4 2001/08/17 15:42:41 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/setjmp.3 b/ja_JP.eucJP/man/man3/setjmp.3 index 575f8bc099..4d56462219 100644 --- a/ja_JP.eucJP/man/man3/setjmp.3 +++ b/ja_JP.eucJP/man/man3/setjmp.3 @@ -1,182 +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 BSD 4 +.Os .Sh 名称 .Nm sigsetjmp , .Nm siglongjmp , .Nm setjmp , .Nm longjmp , .Nm _setjmp , .Nm _longjmp , .Nm longjmperror .Nd 非局所分岐 +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include +.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 -ではなく、 +呼び出しが、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 でない場合、シグナルマスクを保存および復元します。 +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 -ansiC -に準拠しています。 +.St -isoC +に適合しています。 .Fn sigsetjmp 関数と .Fn siglongjmp 関数は .St -p1003.1-88 -に準拠しています。 +に適合しています。 diff --git a/ja_JP.eucJP/man/man3/setlocale.3 b/ja_JP.eucJP/man/man3/setlocale.3 index 372344f0e2..4112a7edb7 100644 --- a/ja_JP.eucJP/man/man3/setlocale.3 +++ b/ja_JP.eucJP/man/man3/setlocale.3 @@ -1,311 +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.4 2001/08/17 15:42:37 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/setmode.3 b/ja_JP.eucJP/man/man3/setmode.3 index f16217de63..64c4fad44d 100644 --- a/ja_JP.eucJP/man/man3/setmode.3 +++ b/ja_JP.eucJP/man/man3/setmode.3 @@ -1,117 +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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/setproctitle.3 b/ja_JP.eucJP/man/man3/setproctitle.3 index 65f63297e4..977b415ed8 100644 --- a/ja_JP.eucJP/man/man3/setproctitle.3 +++ b/ja_JP.eucJP/man/man3/setproctitle.3 @@ -1,104 +1,102 @@ .\" Copyright (c) 1995 Peter Wemm .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" Peter Wemm. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" %Id: setproctitle.3,v 1.10 1998/03/19 07:34:19 charnier Exp % +.\" %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 FreeBSD +.Os .Dt SETPROCTITLE 3 .Sh 名称 .Nm setproctitle .Nd .Xr ps 1 用のプロセスタイトルを設定する .Sh 書式 -.Fd #include -.Fd #include +.In sys/types.h +.In libutil.h .Ft void .Fn setproctitle "const char *fmt" "..." -.Pp -Link with -.Va -lutil -on the -.Xr cc 1 -command line. .Sh 解説 .Fn setproctitle ライブラリルーチンは、 .Xr ps 1 コマンドに現れるプロセスタイトル を設定します。 .Pp タイトルは実行可能モジュールの名前に、 .Va fmt で指定される引数の .Xr printf 3 スタイルの拡張の結果が続いたもので設定されます。 +.Va fmt +引数が +.Dq - +文字で開始する場合、実行形式名はスキップされます。 .Pp .Va fmt -が NULL の場合、プロセスタイトルは実行可能モジュールの名前にリセット -されるだけです。 +が NULL の場合、プロセスタイトルは元に戻ります。 .Sh 例 デーモンにタイトルを設定してそのアクティビティを示す方法は次のとおりです。 .Bd -literal -offset indent setproctitle("talking to %s", inet_ntoa(addr)); .Ed .Sh 関連項目 .Xr ps 1 , .Xr w 1 , .Xr kvm 3 , .Xr kvm_getargv 3 , .Xr printf 3 .Sh 規格 .Fn setproctitle は、黙示的には標準ではありません。 .Xr ps 1 コマンド行が変化するようにする他の方法 (argv[0] ストリング上のコピーを含む)も黙示的に 移植不可能です。システム付属の .Fn setproctitle が存在する場合は、これを使用する方が賢明です。 .Pp 不都合なことに、 .Fn setproctitle の他のバージョンを呼び出す他の規約がある 可能性があります。ただし、作者はまだどれも見つけていません。これは主導的な 慣行であると信じられています。 .Pp 実現は、 -.Tn NetBSD +.Nx と -.Tn BSD/OS +.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/ja_JP.eucJP/man/man3/setruid.3 b/ja_JP.eucJP/man/man3/setruid.3 index 172fd19f31..5fd99b157a 100644 --- a/ja_JP.eucJP/man/man3/setruid.3 +++ b/ja_JP.eucJP/man/man3/setruid.3 @@ -1,79 +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 BSD 4.2 +.Os .Sh 名称 .Nm setruid , .Nm setrgid .Nd ユーザとグループ ID を設定する +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include +.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 戻り値 -処理が成功すると、これらの関数は 0 を返します。 -そうでない場合は \-1 が返されます。 -.Pp -ユーザがスーパーユーザでない場合、または指定された uid -が実際のすなわち有効な ID でない場合、これらの関数は -\-1 を返します。 -.Pp +.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/ja_JP.eucJP/man/man3/sin.3 b/ja_JP.eucJP/man/man3/sin.3 index a1e94d3301..181de6b40f 100644 --- a/ja_JP.eucJP/man/man3/sin.3 +++ b/ja_JP.eucJP/man/man3/sin.3 @@ -1,80 +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.1 2001/03/06 16:46:24 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/sinh.3 b/ja_JP.eucJP/man/man3/sinh.3 index 12e2d865ba..d365249864 100644 --- a/ja_JP.eucJP/man/man3/sinh.3 +++ b/ja_JP.eucJP/man/man3/sinh.3 @@ -1,83 +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: @(#)sinh.3 6.6 (Berkeley) 4/19/91 -.\" %FreeBSD: src/lib/msun/man/sinh.3,v 1.6.2.2 2001/07/22 12:07:20 dd Exp % +.\" %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 書式 -.Fd #include +.In math.h .Ft double .Fn sinh "double x" .Ft float .Fn sinhf "float x" .Sh 解説 The .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/ja_JP.eucJP/man/man3/skey.3 b/ja_JP.eucJP/man/man3/skey.3 index d55d218cbf..349b0d914c 100644 --- a/ja_JP.eucJP/man/man3/skey.3 +++ b/ja_JP.eucJP/man/man3/skey.3 @@ -1,157 +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. .\" -.\" %Id: skey.3,v 1.8 1998/08/05 23:42:10 jdp Exp % +.\" %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 .Fd #include .Ft int .Fn skeylookup "struct skey *mp" "const char *name" .Ft int .Fn skeyverify "struct skey *mp" "char *response" .Ft int .Fn skeychallenge "struct skey *mp" "const char *name" "char *challenge" .Ft int .Fn skeyinfo "struct skey *mp" "const char *name" "char *ss" .Ft int .Fn skeyaccess "char *user" "const char *port" "const char *host" "const char *addr" .Ft char * .Fn skey_getpass "const char *prompt" "struct passwd *pwd" "int pwok" .Ft char * .Fn skey_crypt "char *pp" "char *salt" "struct passwd *pwd" "int pwok" .Sh 解説 これらのルーチンは、コンピュータシステムへのアクセスに使用される S/Key 一時パスワードシステムをサポートします。 S/Key システム自体についての詳細は、 .Xr skey 1 を参照してください。 .Pp .Pp .Fn skeylookup は、一時のパスワードデータベースでエントリを検出します。 処理が成功すると(指定の名前に対応するエントリが検出されると)、 呼び出し元によって渡された skey 構造が埋められ 0 が返されます。 ファイルの読み取り/書き込みポインタは検出されたレコードの先頭に配置されます。 指定の名前に対応するエントリが見つからない場合は、 ファイルの読み取り/書き込みポインタがファイルの末尾に配置され、 ルーチンは 1 を返します。 データベースが開けない場合、またはアクセスエラーが発生する場合、 .Fn skeylookup は -1 を返します。 .Pp .Fn skeyinfo 関数は、ユーザ「名」用の skey 情報をルックアップします。 処理が成功すると、呼び出し元の skey 構造が埋められ、 .Fn skeyinfo は 0 を返します。 オプションのチャレンジストリングバッファが与えられた場合は、それが更新されます。 処理が失敗すると(たとえば、名前が未知の場合、または データベースにアクセスできない場合)、-1 が返されます。 .Pp .Fn skeychallenge は、「名前」についての skey チャレンジストリングを返します。 処理が成功すると、呼び出し元の skey 構造が埋められ、関数は 0 を 返します。ファイル読み取り/書き込みポインタは レコードの先頭に残されます。 処理が成功しないと(すなわち、名前が見つからないと)、関数は -1 を返し、データベースは閉じられます。 .Pp .Fn skeyverify は、s/key チャレンジへの応答を検証します。 この関数が 0 を返した場合、検証は成功であり、 データベースはアップデートされています。 1 が返された場合、検証は処理失敗し、データベースは変化しないままです。 -1 が返された場合、何らかの種類のエラーがデータベースについて発生しており、 データベースは変化しないままです。 s/key データベースは必ずこの呼び出しによって閉じられます。 .Pp .Fn skey_getpass 関数を使用して、正規のパスワードまたは s/key パスワードを 読み取ることができます。 使用するプロンプトは、関数に渡されます。ユーザが 検証できる完全な(安全な) struct passwd と一緒にです。 .Fn skey_getpass は、ユーザのパスワードを取り出そうとする最初の試みにおいて標準ライブラリ getpass を使用し、それがブランクの場合、エコーバックして S/Key パスワード を取り出します。 いずれの場合でも、入力したストリングは呼び出し元に 返されます。 .Pp .Fn skey_crypt は、標準ライブラリ .Xr crypt 3 用のラッパー関数です。 これは、指定の s/key パスワードまたは正規のパスワードのどちらかが OK の場合、暗号化された UNIX パスワードを返します。 .Fn skey_crypt は、最初に skey 方式によって指定パスワードの確認を試み、 それが確認できる場合は、ユーザが正しい UNIX パスワードを実際に 入力したかのように、passwd 構造から暗号化されたパスワードを返します。 s/key パスワード検証が機能しない場合、 パスワードは通常の方法で暗号化され、結果は呼び出し元に渡されます。 passwd 構造ポインタが NULL の場合、 .Fn skey_crypt は、NULL でないストリングを返します。このストリングは有効な UNIX パスワードとは言えません(すなわち、「:」の入ったストリングです)。 .Pp .Fn skeyaccess 関数は、ユーザ名、グループメンバ、端末ポート、ホスト名、および ネットワークの組み合わせについて、従来の UNIX (S/Key でない) パスワードが使用できるかどうかを判定します。UNIX パスワードが使用できる場合、 .Fn skeyaccess は、ゼロでない値を返します。UNIX パスワードが使用できない場合、 0 を返します。 この関数が使用する skey.access 構成ファイルのレイアウトと構造の詳細については、 .Xr skey.access 5 を参照してください。 .Sh 戻り値 上記を参照。 .Sh 関連項目 .Xr skey 1 , .Xr skey.access 5 .Sh バグ 複数のプロセスからの同時アクセスを防止するために s/key データベースについては助言のロックは行われません。 これはファイル内でキーが追加または更新されるときは、通常、 問題ではありませんが、キーが除去されるときは問題がある可能性があります。 .Sh 作者 .An Phil Karn , .An Neil M. Haller , .An John S. Walden , .An Scott Chasin diff --git a/ja_JP.eucJP/man/man3/sleep.3 b/ja_JP.eucJP/man/man3/sleep.3 index e1083eee2e..d383e9de96 100644 --- a/ja_JP.eucJP/man/man3/sleep.3 +++ b/ja_JP.eucJP/man/man3/sleep.3 @@ -1,84 +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 -.\" %Id: sleep.3,v 1.11 1998/02/13 03:34:11 bde Exp % +.\" %FreeBSD: src/lib/libc/gen/sleep.3,v 1.12.2.3 2001/12/14 18:33:51 ru Exp % .\" .\" $FreeBSD$ -.Dd Feb 13, 1998 +.Dd February 13, 1998 .Dt SLEEP 3 .Os .Sh 名称 .Nm sleep -.Nd 秒単位で測定される間隔についてプロセス実行を延期する +.Nd 秒単位で測定される間隔だけプロセスの実行を中断する +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include +.In unistd.h .Ft unsigned int .Fn sleep "unsigned int seconds" .Sh 解説 .Fn sleep -関数は、 +関数は .Fa seconds -秒が経過するか、またはシグナルがプロセスに配信されその -処置がシグナル捕捉関数を起動するかプロセスを終了するまで、呼び出しプロセスの -実行を延期します。 -システムアクティビティは、不確定の量だけスリープを長くする可能性があります。 +秒が経過するか、またはシグナルがプロセスに到着した結果 +シグナル処理関数を起動するかプロセスを終了するまで、 +呼び出しプロセスの実行を中断します。 +システムの稼働状況によっては、プロセスの中断している時間が +不確定となって長びく可能性があります。 .Pp この関数は、 -.Fa seconds -秒だけ停止することによって、またはシグナルが発生するまで、 .Xr nanosleep 2 -を使用して実現されています。したがって、ここでは、スリープは -プロセスタイマの状態に何の影響もなく、SIGALRM -の特別な処理もありません。 +を使用して、 +.Fa seconds +秒経つか、またはシグナルが到着するまで中断するという方法で +実装されています。したがって、この実装においては、 +プロセスが中断することによってプロセスタイマの状態が +影響を受けることはなく、SIGALRM に対する特別な処理も +ありません。 .Sh 戻り値 要求された時間が経過したために .Fn sleep -関数が戻った場合、返される値は -0 です。シグナルの配信のために +関数が復帰した場合、返される値は +0 です。シグナルが送られたために .Fn sleep -関数が戻った場合、返される値は -スリープでない時間量(秒単位) -になります(これは要求された時間から実際にスリープした +関数が復帰した場合、返される値は +プロセスが中断していなかった時間量 (秒単位) +になります (これは要求された時間から実際に中断していた 時間を減算したものです)。 .Sh 関連項目 .Xr nanosleep 2 , .Xr usleep 3 .Sh 規格 .Fn sleep 関数は .St -p1003.1-90 -に準拠しています。 +に適合しています。 .Sh 歴史 .Fn sleep 関数は .At v7 -で現れました。 +で登場しました。 diff --git a/ja_JP.eucJP/man/man3/sqrt.3 b/ja_JP.eucJP/man/man3/sqrt.3 index 51b43ac7c7..786a374613 100644 --- a/ja_JP.eucJP/man/man3/sqrt.3 +++ b/ja_JP.eucJP/man/man3/sqrt.3 @@ -1,128 +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.2 2001/03/06 16:46:24 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/stdarg.3 b/ja_JP.eucJP/man/man3/stdarg.3 index c86999cc7c..d9e84c87b7 100644 --- a/ja_JP.eucJP/man/man3/stdarg.3 +++ b/ja_JP.eucJP/man/man3/stdarg.3 @@ -1,197 +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.4 2001/08/17 13:08:36 ru Exp % +.\" %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 書式 -.Fd #include +.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 stdarg +.Nm マクロでは、プログラマは、固定した引数のない 関数を作成することができません。この問題は、主に .Em varargs コードを -.Nm stdarg +.Nm コードに変換するときに作業を生じさせますが、 .Xr vfprintf 3 のように、 .Em va_list 引数を取る関数にすべての引数を渡そうとする各種の関数についても困難を 生じさせます。 diff --git a/ja_JP.eucJP/man/man3/stdio.3 b/ja_JP.eucJP/man/man3/stdio.3 index 636195832b..2ba5bd06ab 100644 --- a/ja_JP.eucJP/man/man3/stdio.3 +++ b/ja_JP.eucJP/man/man3/stdio.3 @@ -1,299 +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.6 2001/08/17 15:42:41 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strcasecmp.3 b/ja_JP.eucJP/man/man3/strcasecmp.3 index bf32df9c24..c9f2225e14 100644 --- a/ja_JP.eucJP/man/man3/strcasecmp.3 +++ b/ja_JP.eucJP/man/man3/strcasecmp.3 @@ -1,96 +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.2 2001/05/14 18:40:15 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strcat.3 b/ja_JP.eucJP/man/man3/strcat.3 index e53b3f0050..d5ad23ab1a 100644 --- a/ja_JP.eucJP/man/man3/strcat.3 +++ b/ja_JP.eucJP/man/man3/strcat.3 @@ -1,98 +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.2 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strchr.3 b/ja_JP.eucJP/man/man3/strchr.3 index 14019976a2..fd479e871c 100644 --- a/ja_JP.eucJP/man/man3/strchr.3 +++ b/ja_JP.eucJP/man/man3/strchr.3 @@ -1,86 +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.3 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strcmp.3 b/ja_JP.eucJP/man/man3/strcmp.3 index 8524e17626..96989c384a 100644 --- a/ja_JP.eucJP/man/man3/strcmp.3 +++ b/ja_JP.eucJP/man/man3/strcmp.3 @@ -1,97 +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.2 2001/03/06 16:46:04 ru Exp % +.\" %FreeBSD: src/lib/libc/string/strcmp.3,v 1.6.2.3 2001/10/15 16:45:38 mike Exp % .\" .\" $FreeBSD$ .\" -.Dd June 4, 1993 +.Dd October 11, 2001 .Dt STRCMP 3 .Os .Sh 名称 .Nm strcmp , .Nm strncmp , .Nd 文字列の比較 .Sh ライブラリ .Lb libc .Sh 書式 -.Fd #include +.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 を使って行います。 -.Pp -.Fn strncmp -は、 -.Fa len -を超えない数の文字を比較します。 .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/ja_JP.eucJP/man/man3/strcoll.3 b/ja_JP.eucJP/man/man3/strcoll.3 index 0e4b372eb2..f3af80fd6f 100644 --- a/ja_JP.eucJP/man/man3/strcoll.3 +++ b/ja_JP.eucJP/man/man3/strcoll.3 @@ -1,76 +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.2 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strcpy.3 b/ja_JP.eucJP/man/man3/strcpy.3 index 58e382f226..ea32d83688 100644 --- a/ja_JP.eucJP/man/man3/strcpy.3 +++ b/ja_JP.eucJP/man/man3/strcpy.3 @@ -1,164 +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.4 2001/08/13 00:28:08 mike Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strcspn.3 b/ja_JP.eucJP/man/man3/strcspn.3 index 32b70f23c5..5d97f84d03 100644 --- a/ja_JP.eucJP/man/man3/strcspn.3 +++ b/ja_JP.eucJP/man/man3/strcspn.3 @@ -1,84 +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.3 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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 補集合 の長さを測ります)。 -.Pp .Sh 戻り値 .Fn strcspn 関数は測られた文字の数を返します。 -.Pp .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/ja_JP.eucJP/man/man3/strdup.3 b/ja_JP.eucJP/man/man3/strdup.3 index 522c99b8dd..e975f4242c 100644 --- a/ja_JP.eucJP/man/man3/strdup.3 +++ b/ja_JP.eucJP/man/man3/strdup.3 @@ -1,65 +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.1 2000/04/22 17:06:40 phantom Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strerror.3 b/ja_JP.eucJP/man/man3/strerror.3 index dcf6b4132a..41baba0ac1 100644 --- a/ja_JP.eucJP/man/man3/strerror.3 +++ b/ja_JP.eucJP/man/man3/strerror.3 @@ -1,119 +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.4 2001/08/17 15:42:43 ru Exp % +.\" %FreeBSD: src/lib/libc/string/strerror.3,v 1.7.2.6 2001/12/20 06:31:26 wes Exp % .\" .\" $FreeBSD$ .\" -.Dd June 9, 1993 +.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 書式 -.Fd #include +.In stdio.h .Ft void .Fn perror "const char *string" .Vt extern const char * const sys_errlist[] ; .Vt extern const int sys_nerr ; -.Fd #include +.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 , +.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 進数のエラー番号が続いたものとなります。 +のエラーメッセージ文字列の後に、 +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/ja_JP.eucJP/man/man3/strftime.3 b/ja_JP.eucJP/man/man3/strftime.3 index 103fb53667..7ebc9f52d2 100644 --- a/ja_JP.eucJP/man/man3/strftime.3 +++ b/ja_JP.eucJP/man/man3/strftime.3 @@ -1,254 +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.6 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/string.3 b/ja_JP.eucJP/man/man3/string.3 index 8098c96e36..ae8178077c 100644 --- a/ja_JP.eucJP/man/man3/string.3 +++ b/ja_JP.eucJP/man/man3/string.3 @@ -1,157 +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.3 2001/08/17 15:42:43 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/stringlist.3 b/ja_JP.eucJP/man/man3/stringlist.3 index 07e9f4f7f1..349db233cd 100644 --- a/ja_JP.eucJP/man/man3/stringlist.3 +++ b/ja_JP.eucJP/man/man3/stringlist.3 @@ -1,122 +1,122 @@ -.\" %NetBSD: stringlist.3,v 1.2 1997/04/09 08:59:25 kleink Exp % +.\" $NetBSD: stringlist.3,v 1.2 1997/04/09 08:59:25 kleink Exp $ .\" .\" Copyright (c) 1997 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This file was contributed to The NetBSD Foundation by Luke Mewburn. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE .\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libc/gen/stringlist.3,v 1.3.2.3 2001/08/17 15:42:33 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strlen.3 b/ja_JP.eucJP/man/man3/strlen.3 index f128f1667f..8fc3d794eb 100644 --- a/ja_JP.eucJP/man/man3/strlen.3 +++ b/ja_JP.eucJP/man/man3/strlen.3 @@ -1,67 +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.2 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strmode.3 b/ja_JP.eucJP/man/man3/strmode.3 index 6322753163..3d996eccc2 100644 --- a/ja_JP.eucJP/man/man3/strmode.3 +++ b/ja_JP.eucJP/man/man3/strmode.3 @@ -1,165 +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.1 2000/04/22 17:06:40 phantom Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strpbrk.3 b/ja_JP.eucJP/man/man3/strpbrk.3 index 3cb6e427e9..42396a22c5 100644 --- a/ja_JP.eucJP/man/man3/strpbrk.3 +++ b/ja_JP.eucJP/man/man3/strpbrk.3 @@ -1,80 +1,80 @@ .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Chris Torek and the American National Standards Committee X3, .\" on Information Processing Systems. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)strpbrk.3 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/string/strpbrk.3,v 1.3.2.3 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strptime.3 b/ja_JP.eucJP/man/man3/strptime.3 index fdf8da222b..1689b2a15d 100644 --- a/ja_JP.eucJP/man/man3/strptime.3 +++ b/ja_JP.eucJP/man/man3/strptime.3 @@ -1,194 +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.6 2001/08/17 15:42:43 ru Exp % +.\" %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 書式 -.Fd #include +.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 以上の変換則と通常文字からなります。 +文字列は、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/ja_JP.eucJP/man/man3/strrchr.3 b/ja_JP.eucJP/man/man3/strrchr.3 index 85bbcb1dc2..f34b7ce67b 100644 --- a/ja_JP.eucJP/man/man3/strrchr.3 +++ b/ja_JP.eucJP/man/man3/strrchr.3 @@ -1,88 +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.3 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strsep.3 b/ja_JP.eucJP/man/man3/strsep.3 index 2d16623123..d4b93c722f 100644 --- a/ja_JP.eucJP/man/man3/strsep.3 +++ b/ja_JP.eucJP/man/man3/strsep.3 @@ -1,123 +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.4 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strspn.3 b/ja_JP.eucJP/man/man3/strspn.3 index 6f2d4552be..c38e03f6b8 100644 --- a/ja_JP.eucJP/man/man3/strspn.3 +++ b/ja_JP.eucJP/man/man3/strspn.3 @@ -1,78 +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.3 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strstr.3 b/ja_JP.eucJP/man/man3/strstr.3 index 3975504854..5a37c52100 100644 --- a/ja_JP.eucJP/man/man3/strstr.3 +++ b/ja_JP.eucJP/man/man3/strstr.3 @@ -1,90 +1,144 @@ .\" 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.3 2001/03/06 16:46:04 ru Exp % +.\" %FreeBSD: src/lib/libc/string/strstr.3,v 1.3.2.5 2001/12/25 00:36:53 ache Exp % .\" .\" $FreeBSD$ -.Dd June 4, 1993 +.Dd October 11, 2001 .Dt STRSTR 3 .Os .Sh 名称 -.Nm strstr +.Nm strstr , strcasestr , strnstr .Nd 文字列中の部分文字列の位置を探す .Sh ライブラリ .Lb libc .Sh 書式 -.Fd #include +.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 が空の文字列のとき、 -.Fn strstr -は .Fa big -を返します。 +を返し、 .Fa little -が +に .Fa big -の中に現れないとき、 -.Fn strstr -は NULL を返します。 +がない場合は、NULL を返します。 それ以外のときは、 -.Fn strstr -は最初に出現した +最初に出現した .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/ja_JP.eucJP/man/man3/strtod.3 b/ja_JP.eucJP/man/man3/strtod.3 index 4acad22f0b..2b40abf7b7 100644 --- a/ja_JP.eucJP/man/man3/strtod.3 +++ b/ja_JP.eucJP/man/man3/strtod.3 @@ -1,141 +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.6 2001/07/22 12:06:47 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strtok.3 b/ja_JP.eucJP/man/man3/strtok.3 index b4c9df6e10..3c377535cc 100644 --- a/ja_JP.eucJP/man/man3/strtok.3 +++ b/ja_JP.eucJP/man/man3/strtok.3 @@ -1,182 +1,182 @@ .\" Copyright (c) 1998 Softweyr LLC. All rights reserved. .\" .\" strtok_r, from Berkeley strtok .\" Oct 13, 1998 by Wes Peters .\" .\" 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.7 2001/08/17 15:42:43 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/strtol.3 b/ja_JP.eucJP/man/man3/strtol.3 index 075aa3e04f..1bee1ca14d 100644 --- a/ja_JP.eucJP/man/man3/strtol.3 +++ b/ja_JP.eucJP/man/man3/strtol.3 @@ -1,200 +1,200 @@ .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" 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.4 2001/03/02 09:45:20 obrien Exp % +.\" %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 書式 -.Fd #include -.Fd #include +.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" -.Fd #include -.Fd #include -.Fd #include +.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/ja_JP.eucJP/man/man3/strtoul.3 b/ja_JP.eucJP/man/man3/strtoul.3 index 3357ff7e78..638985942e 100644 --- a/ja_JP.eucJP/man/man3/strtoul.3 +++ b/ja_JP.eucJP/man/man3/strtoul.3 @@ -1,190 +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.5 2001/03/02 09:45:20 obrien Exp % +.\" %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 文字列を unsigned long 値、unsigned long long 値または uquad_t 値に変換 +.Nd 文字列を +.Vt unsigned long 値、unsigned long long 値 +または +.Vt uquad_t 値 +に変換 .Sh ライブラリ .Lb libc .Sh 書式 -.Fd #include -.Fd #include -.Ft unsigned long +.In stdlib.h +.In limits.h +.Ft "unsigned long" .Fn strtoul "const char *nptr" "char **endptr" "int base" -.Ft unsigned long long +.Ft "unsigned long long" .Fn strtoull "const char *nptr" "char **endptr" "int base" -.Fd #include -.Fd #include -.Fd #include +.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 にある文字列を -.Em unsigned long +.Vt "unsigned long" 値に変換します。 .Fn strtoull 関数は、 .Fa nptr にある文字列を -.Em unsigned long long +.Vt "unsigned long long" 値に変換します。 .Fn strtouq 関数は、 .Fa nptr にある文字列を -.Em u_quad_t +.Vt u_quad_t 値に変換します。 変換は与えられた .Fa base に従って行われます。 この .Fa base の値は 2 から 36 の間か、 または特別な値である 0 でなければなりません。 .Pp 文字列は、任意の数の空白文字 .Xr (isspace 3 により決められるような) で始まり、 オプションで一つの .Ql + または .Ql - 記号が続きます。 .Fa base が 0 か 16 のとき、文字列は接頭辞 -.Ql 0x +.Dq Li 0x を含むことができ、数字は基数を 16 として読み取られます。 そうでないときの、0 の .Fa base では、その次の文字が .Ql 0 でなければ 10 (10 進数) と見なされ、 .Ql 0 であれば 8 (8 進数) と見なされます。 .Pp 文字列の残りは、 与えられた基数では有効な数字ではない最初の文字のところで中止するという わかりやすいやり方で -.Em unsigned long +.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 strtoq +.Fn strtouq 関数は推奨されません。 .Sh バグ 現在のロケールを無視します。 diff --git a/ja_JP.eucJP/man/man3/strxfrm.3 b/ja_JP.eucJP/man/man3/strxfrm.3 index 6af42390e1..ad320f7957 100644 --- a/ja_JP.eucJP/man/man3/strxfrm.3 +++ b/ja_JP.eucJP/man/man3/strxfrm.3 @@ -1,120 +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.2 2001/03/06 16:46:04 ru Exp % +.\" %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 書式 -.Fd #include -.Ft size_t +.In string.h .Fn strxfrm "char *dst" "const char *src" "size_t n" .Sh 解説 .Fn strxfrm 関数は、 .Fa src により示されたヌル文字で終了する文字列を、 現在のロケール照合 (localle 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 がセットされた場合 (この場合変換に必要となる実サイズを決定するのを助けます) 、 +に 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/ja_JP.eucJP/man/man3/stty.3 b/ja_JP.eucJP/man/man3/stty.3 index 31b0aaebed..1b6f6c39a5 100644 --- a/ja_JP.eucJP/man/man3/stty.3 +++ b/ja_JP.eucJP/man/man3/stty.3 @@ -1,91 +1,95 @@ .\" 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. .\" .\" @(#)stty.3 8.1 (Berkeley) 6/4/93 +.\" %FreeBSD: src/lib/libcompat/4.1/stty.3,v 1.4.2.4 2001/12/17 10:08:28 ru Exp % .\" .\" $FreeBSD$ .Dd June 4, 1993 .Dt STTY 3 .Os BSD 4.2 .Sh 名称 .Nm stty , .Nm gtty -.Nd 端末状態の設定および取得 ( 現存しません ) +.Nd 端末状態の設定および取得 (現存しません) +.Sh ライブラリ +.Lb libcompat .Sh 書式 -.Fd #include +.In sgtty.h .Ft int .Fn stty "int fd" "struct sgttyb *buf" .Ft int .Fn gtty "int fd" "struct sgttyb *buf" .Sh 解説 .Bf -symbolic -これらのインタフェースは、ioctl(2) によって置き換えられました。 -これらの関数は、互換ライブラリ libcompat から利用できます。 +これらのインタフェースは、 +.Xr ioctl 2 +によって置き換えられました。 .Ef .Pp .Fn stty 関数は、 .Fa fd に割り当てられた端末の状態を設定します。 .Fn gtty 関数は、 .Fa fd に割り当てられた端末の状態を取得します。 端末の状態を設定するには、 その呼び出しは書込み許可を持っていなければなりません。 .Pp .Fn stty の呼び出しは、実際は .Ql ioctl(fd, TIOCSETP, buf) であり、 .Fn gtty 呼び出しは .Ql ioctl(fd, TIOCGETP, buf) です。この説明については、 .Xr ioctl 2 および .Xr tty 4 を参照してください。 .Sh 診断 呼び出しが成功した場合は 0 が返され、 そうでない場合は \-1 が返され、グローバル変数 .Va errno に失敗の原因が入ります。 .Sh 参照 .Xr ioctl 2 , .Xr tty 4 .Sh 歴史 .Fn stty および .Fn gtty 関数は、 .Bx 4.2 に現れました。 diff --git a/ja_JP.eucJP/man/man3/swab.3 b/ja_JP.eucJP/man/man3/swab.3 index 1d0da511d9..778d5fc065 100644 --- a/ja_JP.eucJP/man/man3/swab.3 +++ b/ja_JP.eucJP/man/man3/swab.3 @@ -1,70 +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.1 2000/04/22 17:06:42 phantom Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/sysconf.3 b/ja_JP.eucJP/man/man3/sysconf.3 index 0c39746efa..6eab394726 100644 --- a/ja_JP.eucJP/man/man3/sysconf.3 +++ b/ja_JP.eucJP/man/man3/sysconf.3 @@ -1,192 +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 BSD 4 +.Os .Sh 名称 .Nm sysconf .Nd コンフィグレーション可能なシステム変数を取得 +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include +.In unistd.h .Ft long .Fn sysconf "int name" .Sh 解説 このインタフェースは、 .St -p1003.1-88 により定義されたものです。 .Xr sysctl 3 を使えば、さらに一層完全なインタフェースを使用することができます。 .Pp .Fn sysconf 関数は、 コンフィグレーション可能なシステムの制限 (system limit) またはオプション変数の現在の値を、 アプリケーションが調べるための方法を提供します。 引数 .Fa name は、照会するシステム変数を指定します。 それぞれの名前の値に対応するシンボリック定数は、 インクルードファイル -.Li +.Aq Pa unistd.h の中にあります。 .Pp 使用できる値は次の通りです: .Pp -.Bl -tag -width "123456" +.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 -システムが準拠しようと試みる ISO/IEC 9945 (POSIX 1003.1) のバージョン。 +システムが準拠しようと試みる +.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 -システムが準拠することを試みる POSIX 1003.2 のバージョン。 +システムが準拠することを試みる +.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 -POSIX 1003.2 に記述されている全操作が可能な端末タイプが、 +.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/ja_JP.eucJP/man/man3/sysctl.3 b/ja_JP.eucJP/man/man3/sysctl.3 index 09be1acbc9..c25241ace6 100644 --- a/ja_JP.eucJP/man/man3/sysctl.3 +++ b/ja_JP.eucJP/man/man3/sysctl.3 @@ -1,889 +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 May 9, 1995 +.Dd January 23, 2001 .Dt SYSCTL 3 .Os .Sh 名称 .Nm sysctl , -.Nm sysctlbyname +.Nm sysctlbyname , +.Nm sysctlnametomib .Nd システム情報を取得または設定 +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include -.Fd #include +.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 で指定した位置で与えられます。この位置は、呼び出しが 正常に完了した後およびエラーコード -ENOMEM +.Er ENOMEM で返った後にコピーされるデータの 量を与えます。利用できるデータの量が指定のバッファサイズより大きい場合、 呼び出しは、指定バッファにちょうど入る量のデータだけを与え、エラーコード -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 -一番上のレベルの名前は -.Pa +.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 Pa 名前 次のレベル名 解説 -.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 仮想メモリ +.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 -.Sh CTL_DEBUG +.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 -.Sh CTL_VFS +.Ss CTL_VFS 明瞭な第 2 レベルの名称 VFS_GENERIC は、すべてのファイルシステムに関する 一般情報を取得するのに使用します。これの第 3 レベルの識別子の 1 つは VFS_MAXTYPENUM で、最も大きいファイルシステムタイプの番号を与えます。別の 第 3 レベルの識別子は VFS_CONF で、第 4 レベルの識別子として与えられた ファイルシステムタイプに関する構成を返します ( 使用法の例は .Xr getvfsbyname 3 を参照 ) 。残りの第 2 レベルの識別子は、 .Xr statfs 2 呼び出しまたは VFS_CONF が 返すファイルシステムタイプ番号です。各ファイルシステムについて利用できる第 3 レベルの識別子は、そのファイルシステムのマウント引数構造を定義する ヘッダファイルで指定されます。 -.Sh CTL_HW +.Ss CTL_HW CTL_HW レベルに関して利用できるストリングと整数については以下で詳しく 説明します。変更可能性の列は、適切な特権のあるプロセスが値を 変更できるかどうかを示します。 .Bl -column "Second level nameXXXXXX" integerXXX -offset indent -.It Sy Pa 第 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 整数 いいえ +.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 "123456" +.Bl -tag -width 6n .It Li HW_MACHINE マシンクラス .It Li HW_MODEL マシンモデル .It Li HW_NCPU CPU の数 -.ne 1i .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 -.Sh CTL_KERN +.Ss CTL_KERN CTL_KERN レベルに関して利用できるストリングと整数の情報について以下に詳しく 説明します。変更可能性の列は、該当する特権のあるプロセスが値を 変更するかどうかを示します。現時点で利用できるデータのタイプは、 プロセス情報、システム vnode、開いたファイルのエントリ、 ルーティングテーブルのエントリ、仮想メモリ統計、負荷平均履歴、および クロックレート情報です。 .Pp .Bl -column "KERNXMAXFILESPERPROCXXX" "struct clockrateXXX" -offset indent -.It Sy Pa 第 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\_SAVED\_IDS 整数 いいえ -.It KERN\_SECURELVL 整数 累乗のみ -.It KERN\_UPDATEINTERVAL 整数 いいえ -.It KERN\_VERSION ストリング いいえ -.It KERN\_VNODE struct vnode いいえ +.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 -.ne 1i .Pp -.Bl -tag -width "123456" +.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 システムが準拠しようとしている -ISO/IEC 9945 (POSIX 1003.1) +.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 Pa 第 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 +.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 値を取り出そうとしても、 -EOPNOTSUPP +.Er ENOENT で処理は失敗します。ストリング用の第 3 レベル名および整数プロファイル化情報について 以下に詳しく説明します。 ( 変更可能性の列は、該当する特権のあるプロセスが値を 変更できるかどうかを示します。 .Bl -column "GPROFXGMONPARAMXXX" "struct gmonparamXXX" -offset indent -.It Sy Pa 第 3 レベル名 タイプ 変更可能 -.It GPROF\_STATE 整数 はい -.It GPROF\_COUNT u_short[\|] はい -.It GPROF\_FROMS u_short[\|] はい -.It GPROF\_TOS struct tostruct はい -.It GPROF\_GMONPARAM struct gmonparam いいえ +.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 "123456" +.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 -.ne 1i +.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 が続いたものです。 -.It Li KERN_UPDATEINTERVAL -.Xr update 4 -プロセス内の -.Xr sync 2 -呼び出しの間の間隔 .El -.Sh CTL_MACHDEP +.Ss CTL_MACHDEP 定義された変数の集合はアーキテクチャに依存します。次の変数が i386 アーキテクチャ用に定義されています。 .Bl -column "CONSOLE_DEVICEXXX" "struct bootinfoXXX" -offset indent -.It Sy Pa 第 2 レベル名 タイプ 変更可能 -.It Li CPU\_CONSDEV dev_t いいえ -.It Li CPU\_ADJKERNTZ int はい -.It Li CPU\_DISRTCSET int はい -.It Li CPU\_BOOTINFO struct bootinfo いいえ -.It Li CPU\_WALLCLOCK int はい +.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 -.Sh CTL_NET +.Ss CTL_NET CTL_NET レベルに利用できるストリングと整数については以下に詳しく 説明します。変更可能性の列は、該当する特権のあるプロセスが値を 変更できるかどうかを示します。 .Bl -column "Second level nameXXXXXX" "routing messagesXXX" -offset indent -.It Sy Pa 第 2 レベル名 タイプ 変更可能 -.It PF\_ROUTE ルーティングメッセージ いいえ -.It PF\_INET インターネット値 はい +.It Sy "第 2 レベル名 タイプ 変更可能" +.It "PF\_ROUTE ルーティングメッセージ いいえ" +.It "PF\_INET IPv4 値 はい" +.It "PF\_INET6 IPv6 値 はい" .El .Pp -.Bl -tag -width "123456" +.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 Pa 第 5 レベル名 第 6 レベル -.It NET_RT_FLAGS rtflags -.It NET_RT_DUMP なし -.It NET_RT_IFLIST なし +.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 レベル名は変数名です。 現時点で定義されているプロトコルと名前は次のとおりです。 -.ne 1i .Bl -column ProtocolXX VariableXX TypeXX ChangeableXX -.It Pa プロトコル 変数 タイプ 変更可能 -.It icmp bmcastecho 整数 はい -.It icmp maskrepl 整数 はい -.It ip forwarding 整数 はい -.It ip redirect 整数 はい -.It ip ttl 整数 はい -.It udp checksum 整数 はい +.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 "123456" +.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 -.Sh CTL_USER +.Ss CTL_USER CTL_USER レベルに利用できるストリングと整数について以下に詳しく説明します。 変更可能性の列は、該当する特権のあるプロセスが値を変更できるかどうかを 示します。 .Bl -column "USER_COLL_WEIGHTS_MAXXXX" "integerXXX" -offset indent -.It Sy Pa 第 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 整数 なし +.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 "123456" +.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 -POSIX 1003.2 +.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 システムが準拠しようとしている -POSIX 1003.2 +.St -p1003.2 のバージョン .It Li USER_RE_DUP_MAX 間隔表記を使用しているときに、許容される正規表現の反復発生の最大数 -.ne 1i .It Li USER_STREAM_MAX プロセスが同時に開いておけるストリームの最大数の最小 .It Li USER_TZNAME_MAX 時間帯の名前についてサポートされるタイプの最大数の最小 .El -.Sh CTL_VM +.Ss CTL_VM CTL_VM レベルで利用できるストリングと整数について以下で詳しく説明します。 変更可能性の列は、該当する特権のあるプロセスが値を変更できるかどうかを 示します。 .Bl -column "Second level nameXXXXXX" "struct loadavgXXX" -offset indent -.It Sy Pa 第 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 整数 はい +.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 "123456" +.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 戻り値 -.Fn sysctl -と -.Fn sysctlbyname -は正常に完了したとき -0 を返します。そうでない -場合は -\-1 が返され、 -.Va errno -が適宜設定されます。 +.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 EOPNOTSUPP +.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 -compact -.It Pa -一番上のレベルの識別子の定義、 +.It Aq Pa sys/sysctl.h +1 番上のレベルの識別子の定義、 2 番めのレベルのカーネルおよび ハードウェア識別子、およびユーザレベル識別子 -.It Pa +.It Aq Pa sys/socket.h 第 2 レベルのネットワーク識別子の定義 -.It Pa +.It Aq Pa sys/gmon.h 第 3 レベルのプロファイル化識別子についての定義 -.It Pa +.It Aq Pa vm/vm_param.h 第 2 レベルの仮想メモリ識別子についての定義 -.It Pa +.It Aq Pa netinet/in.h +第 3 レベルの IPv4/IPv6 識別子と、 +第 4 レベルの IPv4/IPv6 識別子についての定義 +.It Aq Pa netinet/icmp_var.h 第 -3 レベルのインターネット識別子と第 4 レベルの -IP +ICMP 識別子についての定義 -.It Pa -第 +.It Aq Pa netinet/icmp6.h 4 レベルの -ICMP +ICMPv6 識別子についての定義 -.It Pa +.It Aq Pa netinet/udp_var.h 第 4 レベルの UDP 識別子についての定義 .El .Sh 関連項目 .Xr sysconf 3 , -.Xr sysctl 3 +.Xr sysctl 8 .Sh 歴史 .Fn sysctl 関数は .Bx 4.4 で最初に取り入れられました。 diff --git a/ja_JP.eucJP/man/man3/sysexits.3 b/ja_JP.eucJP/man/man3/sysexits.3 index b494b9795e..11f4ce2127 100644 --- a/ja_JP.eucJP/man/man3/sysexits.3 +++ b/ja_JP.eucJP/man/man3/sysexits.3 @@ -1,151 +1,151 @@ .\" .\" Copyright (c) 1996 Joerg Wunsch .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man3/sysexits.3,v 1.5.2.2 2000/12/08 14:59:05 ru Exp % +.\" %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 書式 -.Fd #include +.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 の中のコメント以後に .An J\(:org Wunsch によって書かれました。 .Sh バグ 適切な終了値の選択が、しばしばあいまいになります。 diff --git a/ja_JP.eucJP/man/man3/syslog.3 b/ja_JP.eucJP/man/man3/syslog.3 index 08370bb0dc..98d6ea597d 100644 --- a/ja_JP.eucJP/man/man3/syslog.3 +++ b/ja_JP.eucJP/man/man3/syslog.3 @@ -1,280 +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 BSD 4.2 +.Os .Sh 名称 .Nm syslog , .Nm vsyslog , .Nm openlog , .Nm closelog , .Nm setlogmask .Nd システムログの制御 +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include -.Fd #include +.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 varargs 3 +.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/ja_JP.eucJP/man/man3/system.3 b/ja_JP.eucJP/man/man3/system.3 index 587beb5b46..8b84734325 100644 --- a/ja_JP.eucJP/man/man3/system.3 +++ b/ja_JP.eucJP/man/man3/system.3 @@ -1,103 +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.3 2001/07/22 12:06:47 dd Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/tan.3 b/ja_JP.eucJP/man/man3/tan.3 index f564299b82..a8f4093836 100644 --- a/ja_JP.eucJP/man/man3/tan.3 +++ b/ja_JP.eucJP/man/man3/tan.3 @@ -1,80 +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.1 2001/03/06 16:46:24 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/tanh.3 b/ja_JP.eucJP/man/man3/tanh.3 index 9dfbfd69db..548e45b153 100644 --- a/ja_JP.eucJP/man/man3/tanh.3 +++ b/ja_JP.eucJP/man/man3/tanh.3 @@ -1,80 +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: @(#)tanh.3 5.1 (Berkeley) 5/2/91 -.\" %FreeBSD: src/lib/msun/man/tanh.3,v 1.6.2.2 2001/07/22 12:07:20 dd Exp % +.\" %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 書式 -.Fd #include +.In math.h .Ft double .Fn tanh "double x" .Ft float .Fn tanhf "float x" .Sh 解説 The .Fn tanh and the .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/ja_JP.eucJP/man/man3/tcgetpgrp.3 b/ja_JP.eucJP/man/man3/tcgetpgrp.3 index 4ac91bef9f..9999c6492c 100644 --- a/ja_JP.eucJP/man/man3/tcgetpgrp.3 +++ b/ja_JP.eucJP/man/man3/tcgetpgrp.3 @@ -1,82 +1,83 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)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 書式 -.Fd #include -.Fd #include +.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/ja_JP.eucJP/man/man3/tcsendbreak.3 b/ja_JP.eucJP/man/man3/tcsendbreak.3 index 7ae82c1fc9..83ae616cae 100644 --- a/ja_JP.eucJP/man/man3/tcsendbreak.3 +++ b/ja_JP.eucJP/man/man3/tcsendbreak.3 @@ -1,170 +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 書式 -.Fd #include +.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 tcsendbreak , +.Fn tcdrain , +.Fn tcflush , .Fn tcflow -関数は、 +は、 .St -p1003.1-88 -規格に準拠していると考えられます。 +規格に適合していると考えられます。 diff --git a/ja_JP.eucJP/man/man3/tcsetattr.3 b/ja_JP.eucJP/man/man3/tcsetattr.3 index 7fc5b1d168..a599ae98de 100644 --- a/ja_JP.eucJP/man/man3/tcsetattr.3 +++ b/ja_JP.eucJP/man/man3/tcsetattr.3 @@ -1,317 +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 書式 -.Fd #include +.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 -は値ゼロを返します。それ以外の場合は -1 という値が返され、エラーを示す +は値 0 を返します。それ以外の場合は -1 という値が返され、エラーを示す グローバル変数 .Va errno が設定されます。 -.SH termios状態の取得と設定 +.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 tcgetattr , .Fn tcsetattr は、 .St -p1003.1-88 -規格に準拠していると考えられます。関数 +規格に適合していると考えられます。関数 .Fn cfmakeraw および .Fn cfsetspeed は、 .Fn tcsetattr 関数の .Li TCSASOFT オプションと同様に .St -p1003.1-88 規格の拡張です。 diff --git a/ja_JP.eucJP/man/man3/tcsetpgrp.3 b/ja_JP.eucJP/man/man3/tcsetpgrp.3 index 4fc49f88c9..e9d1938221 100644 --- a/ja_JP.eucJP/man/man3/tcsetpgrp.3 +++ b/ja_JP.eucJP/man/man3/tcsetpgrp.3 @@ -1,98 +1,101 @@ .\" 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/tcgetpgrp.3,v 1.6.2.2 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 書式 -.Fd #include -.Fd #include +.In sys/types.h +.In unistd.h .Ft int .Fn tcsetpgrp "int fd" "pid_t pgrp_id" .Sh 解説 処理が制御する端末を持つ場合は、 .Nm tcsetpgrp 関数はその端末デバイスと連携したフォアグラウンド処理グループ ID を .Fa pgrp_id に設定します。 .Fa fd に連携した端末デバイスは、呼び出し処理の制御端末でなければならず、またその 制御端末はその呼び出し側処理のセッションに 現在連携していなければなりません。 .Fa pgrp_id の値は、同じセッションにおける処理の呼び出し側処理の処理グループ ID と 同じでなければなりません。 .Pp 処理が成功して完了すると、 .Nm tcsetpgrp -は値ゼロを返します。 +は値 0 を返します。 .Sh エラー エラーが起きた場合は、 .Nm tcsetpgrp は値 -1 を返してエラーを示すグローバル変数 .Va errno を次のように設定します: .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 規格 .Nm tcsetpgprp 関数は、 .St -p1003.1-88 -規格に準拠しているものと考えられます。 +規格に適合しているものと考えられます。 diff --git a/ja_JP.eucJP/man/man3/time.3 b/ja_JP.eucJP/man/man3/time.3 index fae146088f..048ebf176a 100644 --- a/ja_JP.eucJP/man/man3/time.3 +++ b/ja_JP.eucJP/man/man3/time.3 @@ -1,82 +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 BSD 4 +.Os .Sh 名称 .Nm time .Nd 日時を取得 +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include +.In time.h .Ft time_t .Fn time "time_t *tloc" .Sh 解説 .Fn time -関数は、 -1970 年 1 月 1 日 0 時 0 分 0 秒から数えた世界時を秒単位で返します。 +関数は、協定世界時の 1970 年 1 月 1 日 0 時 0 分 0 秒から +数えた時間を秒単位で返します。 .Pp -時間数のコピーは、ポインタ +時間の値のコピーは、ポインタ .Fa tloc によって示される領域に保存されます。 .Fa tloc が NULL ポインタである場合は、値は保存されません。 .Pp -操作が成功して終了すると、 +操作が正常終了すると、 .Fn time -関数は時間の値を返します。それ以外の場合は、 -.Po -.Po Fa time_t Pc \-1 -.Pc -という値が返され、エラーを示すグローバル変数 +関数は時間の値を返します。 +そうでない場合は、 +.Pq Po Vt time_t Pc \-1 +が返され、エラーを示すためにグローバル変数 .Va errno が設定されます。 .Sh エラー .Va errno には、次のエラーコードが設定されます。 -.Bl -tag -width [EFAULT] +.Bl -tag -width Er .It Bq Er EFAULT -引数アドレスが無効なメモリを参照しました。 -.Sh 参照 +引数アドレスが不正なメモリを参照しました。 +.El +.Sh 関連項目 .Xr gettimeofday 2 , .Xr ctime 3 .Sh 歴史 .Fn time 関数は、 .At v6 -に現れました。 +で登場しました。 diff --git a/ja_JP.eucJP/man/man3/time2posix.3 b/ja_JP.eucJP/man/man3/time2posix.3 index 47958d4592..c554c3f112 100644 --- a/ja_JP.eucJP/man/man3/time2posix.3 +++ b/ja_JP.eucJP/man/man3/time2posix.3 @@ -1,99 +1,99 @@ -.\" %FreeBSD: src/lib/libc/stdtime/time2posix.3,v 1.9.2.3 2000/12/29 14:44:51 ru Exp % +.\" %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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/times.3 b/ja_JP.eucJP/man/man3/times.3 index 3542816fe8..94c1e739e0 100644 --- a/ja_JP.eucJP/man/man3/times.3 +++ b/ja_JP.eucJP/man/man3/times.3 @@ -1,133 +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 BSD 4 +.Os .Sh 名称 .Nm times +.Sh ライブラリ +.Lb libc .Nd 時間の処理 .Sh 書式 -.Fd #include -.Ft clock_t +.In sys/times.h +.Ft clock_t .Fn times "struct tms *tp" .Sh 解説 .Bf -symbolic -このインタフェースは、関数 getrusage(2) および gettimeofday(3) に -置き換えられています。 +このインタフェースは、関数 +.Xr getrusage 2 +および +.Xr gettimeofday 3 +に置き換えられています。 .Ef .Pp .Fn times 関数は、1970 年 1 月 1 日 0 時 0 分 0 秒で調整された世界時から測った .Dv CLK_TCK の時間値を秒で返します。 .Pp この関数は、 .Fa tp により指示された構造に時間計測情報を書込みます。 .Pp -.Fa tms +.Vt tms 構造は、次のように定義されます: .Bd -literal -offset indent -typedef struct { +struct tms { clock_t tms_utime; clock_t tms_stime; clock_t tms_cutime; clock_t tms_cstime; -} +}; .Ed .Pp この構造の要素は、次のように定義されます: -.Bl -tag -width tms_cutime -.It Fa tms_utime +.Bl -tag -width ".Va tms_cutime" +.It Va tms_utime ユーザインストラクションの実行に対して請求される .Tn CPU タイム。 -.It Fa tms_stime +.It Va tms_stime その処理のためのシステムによる実行に対して請求される .Tn CPU タイム。 -.It Fa tms_cutime +.It Va tms_cutime 子プロセスの -.Fa tms_utime s +.Va tms_utime s および -.Fa tms_cutime s +.Va tms_cutime s の和。 -.It Fa tms_cstime +.It Va tms_cstime 子プロセスの -.Fa tms_stime Ns s +.Va tms_stime Ns s および -.Fa tms_cstime Ns s +.Va tms_cstime Ns s の和。 .El .Pp すべての時間は、 .Dv CLK_TCK 秒で表されます。 .Pp 終了した子プロセスの時間は、 .Xr wait 2 関数の 1 つが終了した子のプロセス ID をその親に返したときに、その親の -.Fa tms_cutime +.Va tms_cutime および -.Fa tms_cstime +.Va tms_cstime の要素にインクルードされます。エラーが起きた場合は、 .Fn times 関数は値 -.Pq (clock_t)\-1 +.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/ja_JP.eucJP/man/man3/timezone.3 b/ja_JP.eucJP/man/man3/timezone.3 index f946e56e92..d93185abba 100644 --- a/ja_JP.eucJP/man/man3/timezone.3 +++ b/ja_JP.eucJP/man/man3/timezone.3 @@ -1,67 +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 解説 -.ft B +.Bf Sy このインタフェースは、互換性を保つためだけのものです。タイムゾーンの 引数をタイムゾーン略称に正確にマップすることは不可能です。 -ctime(3) を参照してください。 -.ft P +.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/ja_JP.eucJP/man/man3/tmpnam.3 b/ja_JP.eucJP/man/man3/tmpnam.3 index e367c17684..6fc19b81ef 100644 --- a/ja_JP.eucJP/man/man3/tmpnam.3 +++ b/ja_JP.eucJP/man/man3/tmpnam.3 @@ -1,215 +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.4 2001/07/28 19:13:57 mikeh Exp % +.\" %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 書式 -.Fd #include +.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 +.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/ja_JP.eucJP/man/man3/ttyname.3 b/ja_JP.eucJP/man/man3/ttyname.3 index 1067d66c9c..95c44e6a14 100644 --- a/ja_JP.eucJP/man/man3/ttyname.3 +++ b/ja_JP.eucJP/man/man3/ttyname.3 @@ -1,113 +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 書式 -.Fd #include +.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/ja_JP.eucJP/man/man3/tzset.3 b/ja_JP.eucJP/man/man3/tzset.3 index 1f7d310f1a..3973a45470 100644 --- a/ja_JP.eucJP/man/man3/tzset.3 +++ b/ja_JP.eucJP/man/man3/tzset.3 @@ -1,319 +1,320 @@ .\" 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 書式 -.Fd #include +.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 \: +.Pq Ql \&: で始まる場合は、それ以降の値が .Xr tzfile 5 形式ファイルのパス名として用いられ、そこから時間変換情報が読み 込まれます。パス名の最初のキャラクタがスラッシュ .Pq Ql / である場合は、それは 絶対パス名として用いられます。それ以外の場合は、そのパス名はシステムの 時間変換情報ディレクトリに対する相対パス名として用いられます。 .Pp その値がコロンで始まらない場合は、それはまず ( 上に 説明したように ) 時間変換情報の読み取り用ファイルのパス名として 用いられます。そのファイルが読めない場合は、その値は時間変換情報の 直接的仕様 ( 形式は下に説明 ) であると解釈されます。 .Pp 環境変数 .Ev TZ が .Xr tzfile 5 形式ファイルを指定しておらず、直接的仕様と解釈できない場合は、 .Tn UTC が用いられます。 .Pp .Fn tzsetwall 関数は、ローカル壁時計時間に最も近い近似値を返すように調整を行います。 .Pp 仕様形式 .Ev TZ を時間変換情報の仕様として直接使う場合は、次のようなシンタックスを 持つ必要があります ( 空白は読みやすくするために入れてあります ): -.Bd -filled -offset indent -.Em std offset Bo -.Em dst Bo -.Em offset -.Bc +.Bd -ragged -offset indent +.Em std offset .Bo -.No , Em rule -.Bc +.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 \- , プラス .Pq Ql + , および .Tn ASCII .Dv NUL 以外のキャラクタであれば使えます。 .Pp .It Em offset 世界標準時を計算するためにローカル時間に加えるべき値を示します。 .Em offset は、次のような形式を持ちます: -.Bd -unfilled -offset indent +.Bd -ragged -offset indent +.Sm off .Em hh Bo -.Pf \&: Em mm -.Bo -.Pf \&: Em ss -.Bc +.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 -filled -offset indent +.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 ) +\*(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 \; +.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/ja_JP.eucJP/man/man3/ualarm.3 b/ja_JP.eucJP/man/man3/ualarm.3 index abc031a79f..56c84a8076 100644 --- a/ja_JP.eucJP/man/man3/ualarm.3 +++ b/ja_JP.eucJP/man/man3/ualarm.3 @@ -1,97 +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 -.\" %Id: ualarm.3,v 1.8 1997/09/29 19:11:14 wosch Exp % +.\" %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 BSD 4.3 +.Os .Sh 名称 .Nm ualarm -.Nd 指定された時間後にシグナル発信を予定 +.Nd 指定された時間後に信号発信を予定 +.Sh ライブラリ +.Lb libc .Sh 書式 -.Fd #include -.Ft u_int +.In unistd.h +.Ft u_int .Fn ualarm "u_int microseconds" "u_int interval" .Sh 解説 .Bf -symbolic -これは setitimer(2) への簡易化されたインタフェースです。 +これは +.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/ja_JP.eucJP/man/man3/uname.3 b/ja_JP.eucJP/man/man3/uname.3 index e3012ac13c..13d25f7103 100644 --- a/ja_JP.eucJP/man/man3/uname.3 +++ b/ja_JP.eucJP/man/man3/uname.3 @@ -1,91 +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.3 2001/08/17 15:42:33 ru Exp % +.\" %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 書式 -.Fd #include +.In sys/utsname.h .Ft int .Fn uname "struct utsname *name" .Sh 解説 .Fn uname -関数は、現在のシステムを識別する情報の null で終るストリングを +関数は、現在のシステムを識別する情報のヌル文字で終了する文字列を .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/ja_JP.eucJP/man/man3/ungetc.3 b/ja_JP.eucJP/man/man3/ungetc.3 index 00d84c5a8e..de96d139c1 100644 --- a/ja_JP.eucJP/man/man3/ungetc.3 +++ b/ja_JP.eucJP/man/man3/ungetc.3 @@ -1,100 +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.4 2001/08/17 15:42:42 ru Exp % +.\" %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 書式 -.Fd #include +.In stdio.h .Ft int .Fn ungetc "int c" "FILE *stream" .Sh 解説 .Fn ungetc 関数は、 -(符号なしchar に変換されている) +(符号なし 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/ja_JP.eucJP/man/man3/unvis.3 b/ja_JP.eucJP/man/man3/unvis.3 index 2bd7a9ea44..6ee657ec9c 100644 --- a/ja_JP.eucJP/man/man3/unvis.3 +++ b/ja_JP.eucJP/man/man3/unvis.3 @@ -1,162 +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.4 2001/08/17 15:42:33 ru Exp % +.\" %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 書式 .Sh ライブラリ .Lb libc -.Fd #include +.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 Li \&0 (ゼロ) キャラクタがもう一つ必要であり、まだ何も認識されていません。 .It Dv UNVIS_VALID -有効なキャラクタが認識され、 cp によって指される場所に置かれています。 +有効なキャラクタが認識され、cp によって指される場所に置かれています。 .It Dv UNVIS_VALIDPUSH -有効なキャラクタが認識され、 cp によって指される場所に +有効なキャラクタが認識され、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/ja_JP.eucJP/man/man3/usleep.3 b/ja_JP.eucJP/man/man3/usleep.3 index 84d9d43fa1..05ecf8fdf6 100644 --- a/ja_JP.eucJP/man/man3/usleep.3 +++ b/ja_JP.eucJP/man/man3/usleep.3 @@ -1,86 +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.6 2001/08/17 15:42:33 ru Exp % +.\" %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 書式 -.Fd #include +.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 -.Fn usleep -関数は、成功すると値 0 を返します。それ以外の場合は値 -1 が -返され、エラーを示すグローバル変数 -.Fa errno -が設定されます。 +.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/ja_JP.eucJP/man/man3/uucplock.3 b/ja_JP.eucJP/man/man3/uucplock.3 index 41221274f8..ef43d5d88e 100644 --- a/ja_JP.eucJP/man/man3/uucplock.3 +++ b/ja_JP.eucJP/man/man3/uucplock.3 @@ -1,183 +1,183 @@ .\" .\" Copyright (c) 1996 Brian Somers .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/lib/libutil/uucplock.3,v 1.13.2.3 2001/07/22 12:07:18 dd Exp % +.\" %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 書式 -.Fd #include -.Fd #include +.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 を返します。 +関数は、成功すると 0、失敗すると -1 を返します。 .Pp .Fn uu_lock 関数は、次のいずれかの値を返します: .Pp .Dv UU_LOCK_INUSE : ロックは別のプロセスによって使われています。 .Pp .Dv UU_LOCK_OK : ロックの作成に成功しました。 .Pp .Dv UU_LOCK_OPEN_ERR : .Xr open 2 はロックファイルを開くことができません。 .Pp .Dv UU_LOCK_READ_ERR : .Xr read 2 は、ロックファイルを読み取ることができません。 .Pp .Dv UU_LOCK_CREAT_ERR : .Xr creat 2 は、一時ロックファイルを 作成することができません。 .Pp .Dv UU_LOCK_WRITE_ERR : .Xr write 2 の呼び出しによって、現在のプロセス ID を ロックファイルに書込むことができません。 .Pp .Dv UU_LOCK_LINK_ERR : .Xr link 2 は、一時ロックファイルをリンクすることができません。 .Pp .Dv UU_LOCK_TRY_ERR : ロックする試みは、5 回の試行の後に失敗しました。 .Pp .Dv UU_LOCK_OK の値が .Fn uu_lockerr に渡された場合は、空のストリングが 返されます。それ以外の場合は、失敗した理由を示すストリングが返されます。 .Fn uu_lockerr は、現在の .Va errno の値を使って正確なエラーを判断します。 .Fn uu_lock を呼び出してから .Fn uu_lockerr を呼び出すまでの間に .Va errno が変化してしまわないように注意してください。 .Pp .Fn uu_lock_txfr 関数は、次のいずれかの値を返します: .Pp .Dv UU_LOCK_OK : 転送は成功しました。指定したプロセスが現在デバイスロックを 持っています。 .Pp .Dv UU_LOCK_OWNER_ERR : 現在のプロセスは、指定されたデバイスについての ロックをすでに持ってはいません。 .Pp .DV UU_LOCK_WRITE_ERR : .Xr write 2 の呼び出しによっては、新しいプロセス ID を ロックファイルに書込むことができません。 .Sh エラー .Fn uu_lock 関数が上のエラー値のいずれかを返した場合は、グローバル値 .Va errno を使ってその理由を判断することができます。詳しくは、該当する マニュアルページを参照してください。 .Pp .Fn uu_unlock 関数は、ロックファイルが削除できなかった理由を示す グローバル変数 .Va errno を設定します。詳しくは、 .Xr unlink 2 についての解説を参照してください。 .Sh 参照 .Xr lseek 2 , .Xr open 2 , .Xr read 2 , .Xr write 2 .Sh バグ 失効ロックを残したプログラムと同じプロセス ID が新しいプロセスに割り 当てられた場合は、失効したロックが失効を認識されない可能性があります。 .Pp 呼び出しプロセスは、 .Pa /var/spool/lock ディレクトリに対する書込み許可を 持っていなければなりません。このディレクトリの許可がロックされる シリアルデバイスの許可と同じであることを保証する仕組みは備えていません。 diff --git a/ja_JP.eucJP/man/man3/valloc.3 b/ja_JP.eucJP/man/man3/valloc.3 index 51959668dd..29e185804f 100644 --- a/ja_JP.eucJP/man/man3/valloc.3 +++ b/ja_JP.eucJP/man/man3/valloc.3 @@ -1,76 +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.3 2001/08/17 15:42:33 ru Exp % +.\" %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 書式 -.Fd #include <unistd.h> +.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/ja_JP.eucJP/man/man3/vgl.3 b/ja_JP.eucJP/man/man3/vgl.3 index c10555f300..22e5388d33 100644 --- a/ja_JP.eucJP/man/man3/vgl.3 +++ b/ja_JP.eucJP/man/man3/vgl.3 @@ -1,301 +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.4 1998/03/19 07:34:22 charnier Exp % +.\" $Id: vgl.3,v 1.4 2002-05-18 07:12:57 horikawa Exp $ .\" $FreeBSD$ .Dd August 13, 1997 .Dt VGL 3 .Os FreeBSD 3 .Sh 名称 .Nm vgl .Nd ビデオグラフィックスライブラリ関数 .Sh 書式 .Fd #include .Sh 解説 Libvgl は、コンソールドライバ (syscons) によりサポートされている グラフィックスモードにプログラマがアクセスできるようにするライブラリです。 このライブラリは実際のビデオハードウェアのプログラミングを行い、様々な グラフィックス操作を行うためのいくつかの簡単な機能を提供します。また、 FreeBSD における標準マウスシステムによるマウス機能 ( .Fn moused 参照 ) も サポートしており、これには現在作業中のグラフィックスイメージに マウスポインタをトランスペアレントに重ねあわせる機能も含まれています。この ライブラリは、別の仮想コンソールに切り替える前に現在のイメージをメモリに 保存し、ユーザが切り替えを元に戻したときにそれを復元することによって 画面切り替えを行います。これによって、複数のグラフィックスアプリケーション を異なる仮想コンソールの上で同時に使うことができます。 様々な機能を、以下に簡単に説明します: .Sh 作者 .An Sen Schmidt Aq sos@FreeBSD.org .Sh 関数 .Ft int .Fn VGLInit "int mode" ライブラリを初期化し、グラフィックモード .Em mode を設定します。 .Ft void .Fn VGLEnd "void" グラフィックモードを終了し、 .Fn VGLInit が呼び出される前にアクティブだった画面モードを復元します。 .Ft void .Fn VGLCheckSwitch "void" グラフィックスの出力がないままにプログラムの処理時間が長くなった 場合に、この関数を呼び出すとシステムが画面を切り替えることができる 場合があります。 .Ft int .Fn VGLTextSetFontFile "char *filename" char/string 関数に、組み込みフォントの代りにファイル .Em filename に入っているフォントを使うように指示します。 .Ft int .Fn VGLMouseInit "int mode" マウスを初期化します。引数が .Em VGL_MOUSESHOW である場合は、オプションの画面上マウスポインタを表示します。 .Ft void .Fn VGLMouseMode "int mode" 引数が .Em VGL_MOUSESHOW である場合はマウスポインタを表示し、引数が .Em VGL_MOUSEHIDE である場合はマウスポインタを非表示にします。 .Ft int .Fn VGLMouseStatus "int *x" "int *y" "char *buttons" 現在のマウスポインタの座標およびボタン状態を .Em x, y , buttons で返します。戻り値は、マウスポインタが現在画面に表示されているかいないかを 反映します。 .Ft void .Fn VGLMouseSetImage "VGLBitmap *AndMask" "VGLBitmap *OrMask" この関数を使えば、画面上のマウスポインタのイメージを変えることができます。 .Ft void .Fn VGLMouseSetStdImage "void" この関数は、マウスポインタを標準の矢印に戻します。 .Ft void .Fn VGLLine "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color" 座標 .Em x1, y1 から座標 .Em x2, y2 へ色が .Em color の直線を引きます。 .Ft void .Fn VGLBox "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color" 左上隅の座標 .Em x1, y1 、右下隅の座標 .Em x2, y2 の四角形を色 .Em color の線で描きます。 .Ft void .Fn VGLFilledBox "VGLBitmap *object" "int x1" "int y1" "int x2" "int y2" "byte color" 左上隅の座標 .Em x1, y1 、右下隅の座標 .Em x2, y2 の塗り潰し四角形を色 .Em color で描きます。 .Ft void .Fn VGLEllipse "VGLBitmap *object" "int xc" "int yc" "int a" "int b" "byte color" 中心が .Em xc, yc であり、幅 .Em a ピクセル、高さ .Em b ピクセルの楕円を色 .Em color の線で描きます。 .Ft void .Fn VGLFilledEllipse "VGLBitmap *object" "int xc" "int yc" "int a" "int b" "byte color" 中心が .Em xc, yc であり、幅 .Em a ピクセル、高さ .Em b ピクセルの塗り潰し楕円を色 .Em color で描きます。 .Ft int .Fn VGLBitmapCopy "VGLBitmap *src" "int srcx" "int srcy" "VGLBitmap *dst" "int dstx" "int dsty" "int width" "int hight" サイズが .Em width, height である長方形のピクセルを、ビットマップ .Em src の左上隅 ( .Em srcx, srcy ) からビットマップ .Em dst の座標 ( .Em dstx, dsty ) へコピーします。 .Ft void .Fn VGLBitmapPutChar "VGLBitmap *Object" "int x" "int y" "byte ch" "byte fgcol" "byte bgcol" "int fill" "int dir" キャラクタ .Em ch を位置 .Em x, y にフォアグラウンド色 .Em fgcol で書き込みます。 .Em fill が != 0 である場合はバックグラウンド色に色 .Em bgcol を使い、それ以外の場合はバックグラウンドは透明になります。キャラクタは引数 .Em dir によって指定される方向に描かれます。 .Ft void .Fn VGLBitmapString "VGLBitmap *Object" "int x" "int y" "char *str" "byte fgcol" "byte bgcol" "int fill" "int dir" 文字列 .Em str を位置 .Em x, y に色 .Em fgcol で書き込みます。 .Em fill が != 0 である場合はバックグラウンド色に色 .Em bgcol を使い、それ以外の場合はバックグラウンド は透明になります。文字列は引数 .Em dir によって指定される方向に描かれます。 .Ft void .Fn VGLClear "VGLBitmap *object" "byte color" ビットマップの全体を色 .Em color に塗り替えます。 .Ft void .Fn VGLSetPalette "byte *red" "byte *green" "byte *blue" この関数は使用するパレットを設定するもので、引数 .Em red, greenm, blue はそれぞれ 256 位置のバイト配列を指すものでなければなりません。 .Ft void .Fn VGLSetPaletteIndex "byte color" "byte red" "byte green" "byte blue" パレットインデックス .Em color を、指定された RGB 値に設定します。 .Ft void .Fn VGLSetBorder "byte color" 境界色を色 .Em color に設定します。 .Ft void .Fn VGLBlankDisplay "int blank" 引数 .Em blank が != 0 である場合は、ディスプレーを空白表示にします。 これは、表示更新の間に画面を閉じて、処理が終ったときに初めてユーザが画面を 見られるようにするために使えます。 .Sh 歴史 .Nm ライブラリは .Fx 3.0 に現れました。 diff --git a/ja_JP.eucJP/man/man3/vis.3 b/ja_JP.eucJP/man/man3/vis.3 index f4ff9e664a..c3286bdffd 100644 --- a/ja_JP.eucJP/man/man3/vis.3 +++ b/ja_JP.eucJP/man/man3/vis.3 @@ -1,266 +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.5 2001/08/17 15:42:33 ru Exp % +.\" %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 LIBRARY .Lb libc .Sh 書式 -.Fd #include <vis.h> +.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 キャラクタです ( 最後の +コード化の長さの最大値は 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 倍でなければなりません ( プラス +からコード化されるキャラクタ数の 4 倍でなければなりません (プラス .Dv NUL -のための1 ) 。どちらの形式でも、キャラクタ数を +のための 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 番目のビットがセットされた -キャラクタ ) を表し、カラット +を使ってメタキャラクタ (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 strunvis 3 , .Xr unvis 3 .Rs .%A R. Fielding .%T Relative Uniform Resource Locators .%O RFC1808 .Re .Sh 歴史 -これらの関数は最初に +これらの関数は .Bx 4.4 -に現れました。 +ではじめて登場しました。 diff --git a/ja_JP.eucJP/man/man3/xdr.3 b/ja_JP.eucJP/man/man3/xdr.3 index 9dbe230bb9..c495e8a589 100644 --- a/ja_JP.eucJP/man/man3/xdr.3 +++ b/ja_JP.eucJP/man/man3/xdr.3 @@ -1,789 +1,789 @@ .\" @(#)xdr.3n 2.2 88/08/03 4.0 RPCSRC; from 1.16 88/03/14 SMI -.\" %Id: xdr.3,v 1.6 1997/05/28 04:57:28 wpaul Exp % +.\" $Id: xdr.3,v 1.4 2002-05-18 07:12:57 horikawa 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