catch up with 4.4-20011007-STABLE of man3 entries
Submitted by: Yuko Sasaki <yuko@veltec.co.jp> and jpman project <man-jp@jp.FreeBSD.org>
This commit is contained in:
parent
cb4d61ee2f
commit
80131ed3b0
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=11533
143 changed files with 2975 additions and 2428 deletions
|
|
@ -17,7 +17,7 @@
|
|||
.\" 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.1 2000/04/22 16:36:01 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libutil/_secure_path.3,v 1.7.2.2 2001/08/17 15:43:07 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd May 2, 1997
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" from: @(#)acos.3 5.1 (Berkeley) 5/2/91
|
||||
.\" %FreeBSD: src/lib/msun/man/acos.3,v 1.6.2.2 2001/03/06 16:46:24 ru Exp %
|
||||
.\" %FreeBSD: src/lib/msun/man/acos.3,v 1.6.2.3 2001/07/22 12:07:20 dd Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd May 2, 1991
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" from: @(#)acosh.3 5.2 (Berkeley) 5/6/91
|
||||
.\" %FreeBSD: src/lib/msun/man/acosh.3,v 1.6 1999/08/28 00:06:18 peter Exp %
|
||||
.\" %FreeBSD: src/lib/msun/man/acosh.3,v 1.6.2.2 2001/08/17 15:43:08 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd May 6, 1991
|
||||
.Dt ACOSH 3
|
||||
.Os BSD 4.3
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm acosh ,
|
||||
.Nm acoshf
|
||||
|
|
@ -83,5 +83,3 @@
|
|||
関数は、
|
||||
.Bx 4.3
|
||||
で登場しました。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
.\" 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.2 2000/05/06 13:34:10 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/net/addr2ascii.3,v 1.7.2.4 2001/08/17 15:42:38 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 13, 1996
|
||||
|
|
@ -100,13 +100,16 @@
|
|||
.Bl -tag -width AF_INETxxxx -compact
|
||||
.It Dv AF_INET
|
||||
.Li struct in_addr
|
||||
.Pq in Aq Pa netinet/in.h
|
||||
(in
|
||||
.Aq Pa netinet/in.h )
|
||||
.It Dv AF_LINK
|
||||
.Li struct sockaddr_dl
|
||||
.Pq in Aq Pa net/if_dl.h
|
||||
(in
|
||||
.Aq Pa net/if_dl.h )
|
||||
.\" .It Dv AF_INET6
|
||||
.\" .Li struct in6_addr
|
||||
.\" .Pq in Aq Pa netinet6/in6.h
|
||||
.\" (in
|
||||
.\" .Aq Pa netinet6/in6.h )
|
||||
.El
|
||||
.Sh 戻り値
|
||||
.Fn addr2ascii
|
||||
|
|
@ -190,7 +193,7 @@ inet_aton(const char *ascii, struct in_addr *addr)
|
|||
.Tn INRIA
|
||||
の
|
||||
.Tn IPv6
|
||||
の実装に最初に現れました。
|
||||
の実装により、はじめて登場しました。
|
||||
.Sh 作者
|
||||
コードとドキュメントは MIT Laboratory for Computer Science の
|
||||
.An Garrett A. Wollman
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)alarm.3 8.2 (Berkeley) 4/19/94
|
||||
.\" %FreeBSD: src/lib/libc/gen/alarm.3,v 1.9.2.2 2001/03/06 16:45:53 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/gen/alarm.3,v 1.9.2.4 2001/08/17 15:42:32 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 19, 1994
|
||||
.Dt ALARM 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm alarm
|
||||
.Nd シグナルタイマアラームを設定する
|
||||
|
|
@ -47,7 +47,9 @@
|
|||
.Fn alarm "unsigned int seconds"
|
||||
.Sh 解説
|
||||
.Bf -symbolic
|
||||
このインタフェースは setitimer(2) によって旧式のものとなっています。
|
||||
このインタフェースは
|
||||
.Xr setitimer 2
|
||||
によって旧式のものとなっています。
|
||||
.Ef
|
||||
.Pp
|
||||
.Fn alarm
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)alloca.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/stdlib/alloca.3,v 1.4.2.1 2000/04/22 17:06:23 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/stdlib/alloca.3,v 1.4.2.3 2001/08/17 15:42:42 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 4, 1993
|
||||
.Dt ALLOCA 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm alloca
|
||||
.Nd メモリ割り当て関数
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" from: @(#)asin.3 5.1 (Berkeley) 5/2/91
|
||||
.\" %FreeBSD: src/lib/msun/man/asin.3,v 1.6.2.1 2001/03/06 16:46:24 ru Exp %
|
||||
.\" %FreeBSD: src/lib/msun/man/asin.3,v 1.6.2.3 2001/08/17 15:43:08 ru Exp %
|
||||
.\"
|
||||
.\" WORD: range ¶è´Ö[asin.3]
|
||||
.\" WORD: principal ¼çÃÍ[asin.3]
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" from: @(#)asinh.3 6.4 (Berkeley) 5/6/91
|
||||
.\" %FreeBSD: src/lib/msun/man/asinh.3,v 1.6 1999/08/28 00:06:18 peter Exp %
|
||||
.\" %FreeBSD: src/lib/msun/man/asinh.3,v 1.6.2.2 2001/08/17 15:43:08 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd May 6, 1991
|
||||
.Dt ASINH 3
|
||||
.Os BSD 4.3
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm asinh ,
|
||||
.Nm asinhf
|
||||
|
|
@ -73,5 +73,3 @@
|
|||
関数は、
|
||||
.Bx 4.3
|
||||
で登場しました。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" from: @(#)atan.3 5.1 (Berkeley) 5/2/91
|
||||
.\" %FreeBSD: src/lib/msun/man/atan.3,v 1.6.2.1 2001/03/06 16:46:24 ru Exp %
|
||||
.\" %FreeBSD: src/lib/msun/man/atan.3,v 1.6.2.2 2001/07/22 12:07:20 dd Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd May 2, 1991
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" from: @(#)atanh.3 5.2 (Berkeley) 5/6/91
|
||||
.\" %FreeBSD: src/lib/msun/man/atanh.3,v 1.6 1999/08/28 00:06:20 peter Exp %
|
||||
.\" %FreeBSD: src/lib/msun/man/atanh.3,v 1.6.2.2 2001/08/17 15:43:08 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd May 6, 1991
|
||||
.Dt ATANH 3
|
||||
.Os BSD 4.3
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm atanh ,
|
||||
.Nm atanhf
|
||||
|
|
@ -53,6 +53,9 @@
|
|||
関数は、実数の引数
|
||||
.Ar x
|
||||
の逆双曲正接を計算します。
|
||||
丸めによる誤差の議論は、
|
||||
.Xr math 3
|
||||
を参照してください。
|
||||
.Sh 戻り値
|
||||
.Fn atanh
|
||||
および
|
||||
|
|
@ -80,4 +83,3 @@
|
|||
関数は、
|
||||
.Bx 4.3
|
||||
で登場しました。
|
||||
|
||||
|
|
|
|||
|
|
@ -32,12 +32,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)bcmp.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/string/bcmp.3,v 1.4.2.1 2000/04/22 17:06:35 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/string/bcmp.3,v 1.4.2.3 2001/08/17 15:42:43 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 4, 1993
|
||||
.Dt BCMP 3
|
||||
.Os BSD 4.2
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm bcmp
|
||||
.Nd バイト文字列を比較する
|
||||
|
|
|
|||
|
|
@ -33,12 +33,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)bcopy.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/string/bcopy.3,v 1.3.2.1 2000/04/22 17:06:37 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/string/bcopy.3,v 1.3.2.3 2001/08/17 15:42:43 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 4, 1993
|
||||
.Dt BCOPY 3
|
||||
.Os BSD 4.2
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm bcopy
|
||||
.Nd バイト文字列をコピーする
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)bsearch.3 8.3 (Berkeley) 4/19/94
|
||||
.\" %FreeBSD: src/lib/libc/stdlib/bsearch.3,v 1.4.2.2 2001/03/06 16:46:02 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/stdlib/bsearch.3,v 1.4.2.3 2001/07/22 12:06:47 dd Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 19, 1994
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)byteorder.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/net/byteorder.3,v 1.3.2.1 2000/04/22 17:06:03 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/net/byteorder.3,v 1.3.2.3 2001/08/17 15:42:38 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 4, 1993
|
||||
.Dt BYTEORDER 3
|
||||
.Os BSD 4.2
|
||||
.Os
|
||||
.Sh ̾¾Î
|
||||
.Nm htonl ,
|
||||
.Nm htons ,
|
||||
|
|
|
|||
|
|
@ -33,12 +33,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)bzero.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/string/bzero.3,v 1.3.2.1 2000/04/22 17:06:37 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/string/bzero.3,v 1.3.2.3 2001/08/17 15:42:43 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 4, 1993
|
||||
.Dt BZERO 3
|
||||
.Os BSD 4.3
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm bzero
|
||||
.Nd バイト文字列に 0 を書き込む
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
.\" 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.2 2001/01/16 12:09:30 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libcalendar/calendar.3,v 1.6.2.4 2001/08/17 15:42:55 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd November 29, 1997
|
||||
|
|
@ -202,12 +202,12 @@ int d; /\(** day of month (1 - 31) \(**/
|
|||
.Xr ncal 1 ,
|
||||
.Xr strftime 3
|
||||
.Sh 規格
|
||||
週番号は ISO 8601: 1988 に準拠しています。
|
||||
週番号は ISO 8601: 1988 に適合しています。
|
||||
.Sh 歴史
|
||||
.Nm calendar
|
||||
ライブラリは
|
||||
.Fx 3.0
|
||||
で最初に登場しました。
|
||||
ではじめて登場しました。
|
||||
.Sh 作者
|
||||
このマニュアルページとライブラリは、
|
||||
.An Wolfgang Helbig Aq helbig@FreeBSD.org
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
.\" (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.4 2001/02/12 08:43:29 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc/nls/catclose.3,v 1.7.2.5 2001/07/22 12:06:45 dd Exp %
|
||||
.\" $FreeBSD$
|
||||
.Dd May 29, 1994
|
||||
.Dt CATCLOSE 3
|
||||
|
|
@ -67,5 +67,3 @@
|
|||
関数は、
|
||||
.St -xpg4
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
.\" (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.2 2000/09/07 16:46:33 ache Exp %
|
||||
.\" %FreeBSD: src/lib/libc/nls/catgets.3,v 1.7.2.3 2001/07/22 12:06:45 dd Exp %
|
||||
.\" $FreeBSD$
|
||||
.Dd May 29, 1994
|
||||
.Dt CATGETS 3
|
||||
|
|
@ -69,5 +69,3 @@
|
|||
関数は、
|
||||
.St -xpg4
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
.\" (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.4 2000/12/08 13:49:28 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc/nls/catopen.3,v 1.9.2.5 2001/07/22 12:06:45 dd Exp %
|
||||
.\" $FreeBSD$
|
||||
.Dd May 29, 1994
|
||||
.Dt CATOPEN 3
|
||||
|
|
@ -142,5 +142,3 @@
|
|||
関数は、
|
||||
.St -xpg4
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" from: @(#)cos.3 5.1 (Berkeley) 5/2/91
|
||||
.\" %FreeBSD: src/lib/msun/man/cos.3,v 1.7.2.1 2001/03/06 16:46:24 ru Exp %
|
||||
.\" %FreeBSD: src/lib/msun/man/cos.3,v 1.7.2.2 2001/07/22 12:07:20 dd Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd May 2, 1991
|
||||
|
|
@ -78,5 +78,3 @@
|
|||
関数は、
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" from: @(#)cosh.3 5.1 (Berkeley) 5/2/91
|
||||
.\" %FreeBSD: src/lib/msun/man/cosh.3,v 1.7.2.1 2001/03/06 16:46:24 ru Exp %
|
||||
.\" %FreeBSD: src/lib/msun/man/cosh.3,v 1.7.2.2 2001/07/22 12:07:20 dd Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd May 2, 1991
|
||||
|
|
@ -81,5 +81,3 @@
|
|||
関数は、
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -32,12 +32,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" From: @(#)ctime.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %Id: ctime.3,v 1.8 1999/01/03 01:07:41 wollman Exp %
|
||||
.\"
|
||||
.\" %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 BSD 4.3
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm asctime ,
|
||||
.Nm asctime_r ,
|
||||
|
|
@ -51,9 +51,11 @@
|
|||
.Nm mktime ,
|
||||
.Nm timegm
|
||||
.Nd バイナリ日付と時刻の値を変換する
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <time.h>
|
||||
.Vt extern char *tzname[2];
|
||||
.In time.h
|
||||
.Vt extern char *tzname[2] ;
|
||||
.Ft char *
|
||||
.Fn ctime "const time_t *clock"
|
||||
.Ft double
|
||||
|
|
@ -98,9 +100,10 @@
|
|||
.Ev TZ
|
||||
環境変数 (
|
||||
.Xr tzset 3
|
||||
を参照) が指定するように実行されます。
|
||||
を参照) で指定されたように実行されます。
|
||||
プロセスが
|
||||
.Xr tzset 3
|
||||
がプロセスによってまだ呼び出されていない場合、関数
|
||||
をまだ呼び出していない場合、関数
|
||||
.Fn localtime
|
||||
は、
|
||||
.Xr tzset 3
|
||||
|
|
@ -112,22 +115,22 @@
|
|||
.Fa tzname
|
||||
の
|
||||
.Fa tm_isdst
|
||||
番めのエレメントを、
|
||||
番めの要素を、
|
||||
.Fn localtime
|
||||
の戻り値とともに使用する時間帯短縮形である
|
||||
.Tn ASCII
|
||||
ストリングを指すポインタに設定します。
|
||||
文字列を指すポインタに設定します。
|
||||
.Pp
|
||||
関数
|
||||
.Fn gmtime
|
||||
は、同じように時刻の値を変換しますが、時間帯の調整はなく、
|
||||
は、同様に時刻の値を変換しますが、時間帯の調整はなく、
|
||||
構造体 tm を指すポインタを返します (後述)。
|
||||
.Pp
|
||||
.Fn ctime
|
||||
関数は、
|
||||
.Fn localtime
|
||||
と同じ方法で現在の時間帯の時刻値を調整し、次の形式の
|
||||
26 キャラクタのストリングを指すポインタを返します。
|
||||
26 文字の文字列を指すポインタを返します。
|
||||
.Bd -literal -offset indent
|
||||
Thu Nov 24 18:22:48 1986\en\e0
|
||||
.Ed
|
||||
|
|
@ -140,7 +143,7 @@ Thu Nov 24 18:22:48 1986\en\e0
|
|||
と同じ機能ですが、呼び出し元が結果を保存するために出力バッファ
|
||||
.Fa buf
|
||||
を準備しなければならないという点は異なります。このバッファは少なくとも
|
||||
26 キャラクタの長さである必要があります。
|
||||
26 文字の長さである必要があります。
|
||||
.Fn localtime_r
|
||||
および
|
||||
.Fn gmtime_r
|
||||
|
|
@ -166,7 +169,7 @@ Thu Nov 24 18:22:48 1986\en\e0
|
|||
出力バッファ
|
||||
.Fa buf
|
||||
を準備する点は異なります。このバッファの長さは少なくとも
|
||||
26 キャラクタである必要があります。
|
||||
26 文字である必要があります。
|
||||
.Pp
|
||||
関数
|
||||
.Fn mktime
|
||||
|
|
@ -176,7 +179,7 @@ Thu Nov 24 18:22:48 1986\en\e0
|
|||
tm
|
||||
が指す構造体内の細分化した時間を、
|
||||
.Xr time 3
|
||||
関数が返す値と同じエンコードの時刻値に変換します (すなわち、Epoch,
|
||||
関数が返す値と同じエンコードの時刻値に変換します (すなわち、基準時点
|
||||
.Tn UTC
|
||||
からの時刻にします)。
|
||||
.Fn mktime
|
||||
|
|
@ -193,25 +196,35 @@ tm
|
|||
コンポーネントと
|
||||
.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
|
||||
|
|
@ -249,14 +262,14 @@ int tm_mon; /\(**
|
|||
int tm_year; /\(** 年 \- 1900 \(**/
|
||||
int tm_wday; /\(** 曜日 (Sunday = 0) \(**/
|
||||
int tm_yday; /\(** 年内の日 (0 - 365) \(**/
|
||||
int tm_isdst; /\(** サマータイムは有効か \(**/
|
||||
int tm_isdst; /\(** 夏時間は有効か \(**/
|
||||
char \(**tm_zone; /\(** 時間帯名の短縮形 \(**/
|
||||
long tm_gmtoff; /\(** UTC からのオフセット (秒単位) \(**/
|
||||
.Ed
|
||||
.Pp
|
||||
サマータイムが有効な場合、フィールド
|
||||
夏時間が有効な場合、フィールド
|
||||
.Fa tm_isdst
|
||||
はゼロでなくなります。
|
||||
は 0 でなくなります。
|
||||
.Pp
|
||||
フィールド
|
||||
.Fa tm_gmtoff
|
||||
|
|
@ -282,9 +295,9 @@ long tm_gmtoff; /\(** UTC
|
|||
場合だけ、
|
||||
.St -isoC
|
||||
と
|
||||
.St -p1003.1
|
||||
.St -p1003.1-96
|
||||
に準拠します (
|
||||
.XX zic 8
|
||||
.Xr zic 8
|
||||
を参照)。
|
||||
.Pp
|
||||
.Fn asctime_r ,
|
||||
|
|
@ -292,15 +305,17 @@ long tm_gmtoff; /\(** UTC
|
|||
.Fn gmtime_r ,
|
||||
.Fn localtime_r
|
||||
の各関数は
|
||||
.St -iso9945-1
|
||||
.St -p1003.1-96
|
||||
に準拠すると予想されます (ここでも、選択したローカルな時間帯に
|
||||
閏秒テーブルが含まれていない場合だけです)。
|
||||
.Pp
|
||||
.Fn timegm
|
||||
関数は、いかなる規格によっても指定されていません。
|
||||
この関数は、上述の標準関数を使用しても、完全にはエミュレート不可能です。
|
||||
.Sh 歴史
|
||||
このマニュアルページは、
|
||||
Arthur Olsen
|
||||
によって
|
||||
Berkeley
|
||||
に寄付された時間パッケージに由来するもので、これは
|
||||
.An Arthur Olsen
|
||||
によって Berkeley に寄付された時間パッケージに由来するもので、これは
|
||||
.Bx 4.3
|
||||
で現れました。
|
||||
.Sh バグ
|
||||
|
|
|
|||
|
|
@ -32,14 +32,17 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt DIV 3
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm div
|
||||
.Nd 除算の商と剰余を返す
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdlib.h>
|
||||
.Ft div_t
|
||||
|
|
@ -50,7 +53,8 @@
|
|||
.Fa num/denom
|
||||
を計算し、商と剰余を
|
||||
.Fa div_t
|
||||
という名前の構造に入れて返します。この構造には
|
||||
という名前の構造に入れて返します。
|
||||
この構造には
|
||||
.Fa quot
|
||||
と
|
||||
.Fa rem
|
||||
|
|
@ -64,5 +68,5 @@
|
|||
.Sh 規格
|
||||
.Fn div
|
||||
関数は
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
|
|
|
|||
|
|
@ -23,15 +23,17 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %Id: dladdr.3,v 1.2 1998/08/31 16:40:59 wosch Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/gen/dladdr.3,v 1.3.2.2 2001/08/17 15:42:32 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd February 5, 1998
|
||||
.Os FreeBSD
|
||||
.Os
|
||||
.Dt DLADDR 3
|
||||
.Sh 名称
|
||||
.Nm dladdr
|
||||
.Nd 指定のアドレスが入った共有オブジェクトを検出する
|
||||
.Nd 指定のアドレスが含まれる共有オブジェクトを検出する
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <dlfcn.h>
|
||||
.Ft int
|
||||
|
|
@ -40,22 +42,21 @@
|
|||
.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 ソースコードで表示されるように返されます。
|
||||
以下の値を持った最も近いランタイムシンボルの名前。
|
||||
可能なときは、シンボル名が C ソースコードで表示されるように返されます。
|
||||
.Pp
|
||||
適切な値のシンボルが見つからない場合は、このフィールドと
|
||||
.Va dli_saddr
|
||||
|
|
@ -71,30 +72,30 @@
|
|||
は動的にリンクされるプログラムでだけ利用できます。
|
||||
.Sh エラー
|
||||
.Fa addr
|
||||
が入っているマップされた共有オブジェクトが見つからない場合、
|
||||
が含まれているマップされた共有オブジェクトが見つからない場合、
|
||||
.Nm
|
||||
は
|
||||
0 を返します。この場合、障害を説明するメッセージが
|
||||
0 を返します。この場合、失敗理由を詳しく述べたメッセージを
|
||||
.Fn dlerror
|
||||
を呼び出すことで取り出せます。
|
||||
を呼び出すことで取り出すことができます。
|
||||
.Pp
|
||||
成功の場合、ゼロでない値が返されます。
|
||||
成功時には、0 でない値が返されます。
|
||||
.Sh 関連項目
|
||||
.Xr rtld 1 ,
|
||||
.Xr dlopen 3
|
||||
.Sh 歴史
|
||||
.Nm
|
||||
関数は Solaris オペレーティングシステムで最初に現れました。
|
||||
関数は Solaris オペレーティングシステムで最初に登場しました。
|
||||
.Sh バグ
|
||||
この関数は Solaris とバグに互換性があります。特に、
|
||||
この関数は、Solaris での実装とバグに互換性があります。特に、
|
||||
次のバグが存在します。
|
||||
.Bl -bullet
|
||||
.It
|
||||
.Fa addr
|
||||
が共有ライブラリではなくメインの実行可能モジュールにある場合、
|
||||
.Va dli_fname
|
||||
で返されるパス名は正しくない可能性があります。パス名は呼び出し
|
||||
プロセスの
|
||||
で返されるパス名は正しいものにならない可能性があります。
|
||||
パス名は呼び出しプロセスの
|
||||
.Va argv[0]
|
||||
から直接取り出されます。フルパス名で指定されたプログラム
|
||||
を実行するとき、ほとんどのシェルは
|
||||
|
|
@ -106,14 +107,17 @@
|
|||
.Fa addr
|
||||
が形式
|
||||
.Va &func
|
||||
であり、
|
||||
(
|
||||
.Va func
|
||||
がグローバル関数の場合、その値が意外に
|
||||
良くない可能性があります。動的にリンクされたプログラムでは、
|
||||
グローバル関数のアドレスは、関数自体の開始点ではなく、
|
||||
プログラムリンクテーブルのエントリを指すと考えられます。これによって、
|
||||
ほとんどのグローバル関数が、実際にコードが常駐する共有ライブラリではなく、
|
||||
メインの実行可能モジュール内部で定義されるように見えます。
|
||||
はグローバル関数) である場合、その値が
|
||||
好ましくない驚くものになってしまう
|
||||
可能性があります。動的リンクされたプログラムでは、
|
||||
グローバル関数のアドレスは関数そのもののエントリポイントではなく、
|
||||
プログラムリンクテーブルのエントリを指すと考えられます。
|
||||
このため、大部分のグローバル関数が、実際のコードが入っている
|
||||
共有ライブラリではなく、メインの実行可能モジュール内部で
|
||||
定義されているように見えます。
|
||||
.It
|
||||
処理失敗の印として 0 を返すのは、Unix の長い伝統に反します。
|
||||
処理の失敗を示すものとして 0 を返すのは、長く続いている
|
||||
Unix の伝統に反することです。
|
||||
.El
|
||||
|
|
|
|||
|
|
@ -14,9 +14,9 @@
|
|||
.\" 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,
|
||||
.\" 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
|
||||
|
|
@ -30,13 +30,18 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
.\" WORD: directed acyclic graph 有向非巡回グラフ
|
||||
.Dd September 24, 1989
|
||||
.Os FreeBSD
|
||||
.Os
|
||||
.Dt DLOPEN 3
|
||||
.Sh 名称
|
||||
.Nm dlopen, dlsym, dlerror, dlclose
|
||||
.Nm dlopen , dlsym , dlerror , dlclose
|
||||
.Nd 動的リンカへのプログラムのインタフェース
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <dlfcn.h>
|
||||
.Ft void *
|
||||
|
|
@ -48,12 +53,12 @@
|
|||
.Ft int
|
||||
.Fn dlclose "void *handle"
|
||||
.Sh 解説
|
||||
これらの関数は、動的リンカのサービスのために単純なプログラムの
|
||||
インタフェースを備えています。
|
||||
このようなオブジェクトが定義するシンボルの
|
||||
アドレス結合を取得するため、およびこのようなオブジェクトを使用する
|
||||
必要がなくなったときそれらを除去するため、プログラムのアドレス空間に新しい
|
||||
共有オブジェクトを追加する操作が備わっています。
|
||||
これらの関数は、動的リンカサービスに対する単純なプログラムの
|
||||
インタフェースを提供します。
|
||||
プログラムのアドレス空間に新しい共有オブジェクトを追加する操作、
|
||||
共有オブジェクトが定義するシンボルのアドレス結合を取得する操作、
|
||||
および共有オブジェクトを使用する必要がなくなったときに
|
||||
それを除去する操作が提供されています。
|
||||
.Pp
|
||||
.Fn dlopen
|
||||
は、
|
||||
|
|
@ -62,165 +67,198 @@
|
|||
.Fn dlsym
|
||||
と
|
||||
.Fn dlclose
|
||||
の呼び出しにおいてオブジェクトの後の参照に使用できる記述子を
|
||||
返します。
|
||||
の呼び出しにおいて、オブジェクトを後で参照するために使用可能な
|
||||
記述子を返します。
|
||||
.Fn dlopen
|
||||
の呼び出しの前に
|
||||
を呼び出す前に
|
||||
.Fa path
|
||||
がアドレス空間内にない場合は、
|
||||
それがアドレス空間に配置されます。オブジェクトが最初にこの方法で
|
||||
アドレス空間にロードされるときに、その関数
|
||||
がアドレス空間内になかった場合はアドレス空間に配置されます。
|
||||
この方法で、オブジェクトが
|
||||
初めてアドレス空間にロードされるとき、関数
|
||||
.Fn _init
|
||||
がある場合、この関数が
|
||||
動的リンカによって呼び出されます
|
||||
(
|
||||
.Ql _init
|
||||
は C 言語で表現される名前です。
|
||||
アセンブリ言語からは、名前は代わりに
|
||||
.Ql __init
|
||||
として現れます)。
|
||||
が存在すればそれが動的リンカによって呼び出されます。
|
||||
先の
|
||||
.Fn dlopen
|
||||
の
|
||||
直前の呼び出しでアドレス空間内に
|
||||
呼び出しでアドレス空間内に
|
||||
.Fa path
|
||||
が既に配置されている場合、2 度めには追加されません。ただし、
|
||||
が既に配置されている場合、2 度目は追加されません。
|
||||
しかし、
|
||||
.Fa path
|
||||
についての
|
||||
上での
|
||||
.Fn dlopen
|
||||
操作の参照カウントは
|
||||
維持されます。
|
||||
操作の参照カウント値は管理されます。
|
||||
.Fa path
|
||||
のために指定された NULL ポインタは、プロセスの
|
||||
メイン実行可能モジュールへのリファレンスとして解釈されます。
|
||||
に指定されたものが NULL ポインタであれば、プロセスの
|
||||
メイン実行可能モジュールへの参照として解釈されます。
|
||||
.Fa mode
|
||||
は、ロード
|
||||
されたオブジェクトからの外部関数参照が、その参照に結合される方法を
|
||||
制御します。これには次の値の 1 つが入っている必要があります。
|
||||
は、ロードされたオブジェクトからの外部関数への参照が、
|
||||
どのようにその参照先と結合するか、その方法を制御します。
|
||||
これには次の値のうちの 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 symbol
|
||||
が
|
||||
.Fa handle
|
||||
で識別される共有オブジェクト内で
|
||||
発生したときです。
|
||||
発生したときと同様に、ヌル文字で終了する文字列
|
||||
.Fa symbol
|
||||
は、シンボル名のアセンブリ言語表現であることに
|
||||
注意してください。
|
||||
C 言語シンボルのアセンブリ言語表現には、先頭に追加の
|
||||
アンダースコアが入っています。たとえば、
|
||||
C でのシンボル
|
||||
.Ql foo
|
||||
は、
|
||||
アセンブリ言語でおよび
|
||||
.Fn dlsym
|
||||
への
|
||||
.Fa symbol
|
||||
引数では
|
||||
.Ql _foo
|
||||
として現れます。
|
||||
で記述されたシンボルのアドレス結合を返します。
|
||||
.Fn dlopen
|
||||
によってアドレス空間に追加された、オブジェクトによってエクスポート
|
||||
されるシンボルは、
|
||||
によってアドレス空間に追加されたオブジェクトによってエクスポートされる
|
||||
シンボルは、
|
||||
.Fn dlsym
|
||||
の呼び出しによってのみアクセスできます。
|
||||
このようなシンボルは、オブジェクトがロードされるときにアドレス空間内に既に
|
||||
存在するシンボルの定義に取って代わることはなく、通常の動的リンク参照を
|
||||
満足させるために利用できることもありません。
|
||||
呼び出しを通してのみアクセス可能です。
|
||||
このようなシンボルは、オブジェクトがロードされる際に、すでに
|
||||
アドレス空間に存在しているシンボルの定義に置き換わるものでは
|
||||
ありませんし、通常の動的リンク参照を満たすために利用可能な
|
||||
ものでもありません。
|
||||
.Pp
|
||||
.Fn dlsym
|
||||
が特別な
|
||||
.Fa handle
|
||||
の値として与えられた NULL ポインタは、
|
||||
実行可能モジュールの参照として解釈されます。この実行可能
|
||||
モジュールから
|
||||
.Dv NULL
|
||||
を使用して呼び出された場合は、
|
||||
そのハンドルは呼び出しがされている実行ファイルあるいは
|
||||
共有オブジェクトへの参照として解釈されます。このため、
|
||||
共有オブジェクトは自分自身の持つシンボルを
|
||||
参照できるのです。
|
||||
.Pp
|
||||
.Fn dlsym
|
||||
の呼び出しが行われます。このように共有オブジェクト
|
||||
は、専用のシンボルを参照できます。
|
||||
が特別な
|
||||
.Fa handle
|
||||
.Dv RTLD_DEFAULT
|
||||
を使用して呼び出された場合は、オブジェクトが
|
||||
ロードされる際に未定義のシンボルを解決するために
|
||||
使用されるアルゴリズムに従ってシンボルを探索します。
|
||||
探索されるオブジェクトは次のように書かれた順番になります。
|
||||
.Bl -enum
|
||||
.It
|
||||
参照しているオブジェクト自身 (あるいは
|
||||
.Fn dlsym
|
||||
は、シンボルが見つからない場合は
|
||||
NULL ポインタを返し、エラー条件を設定します。エラー条件は
|
||||
への呼び出しがされているオブジェクト)。ただし、オブジェクトが
|
||||
.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 dlsym
|
||||
が専用の
|
||||
.Fa handle
|
||||
.Dv RTLD_NEXT
|
||||
で呼び出された場合、シンボルの検索は、
|
||||
.Fn dlsym
|
||||
の呼び出しの後で、ロードされた共有オブジェクトに制限されます。
|
||||
このようにメインプログラムから関数が呼び出された場合、すべての共有
|
||||
ライブラリが検索されます。これが共有ライブラリから呼び出された場合、
|
||||
後続のすべての共有ライブラリが検索されます。
|
||||
.Dv RTLD_NEXT
|
||||
はライブラリ関数を
|
||||
巡るラッパーを実現するのに便利です。たとえば、ラッパー関数
|
||||
.Fn getpid
|
||||
は、
|
||||
.Li dlsym(RTLD_NEXT, \&"_getpid\&")
|
||||
で
|
||||
.Dq 現実の
|
||||
.Fn getpid
|
||||
にアクセスできます。
|
||||
.Pp
|
||||
を使用して問い合わせることができます。
|
||||
.Fn dlerror
|
||||
は、
|
||||
.Fn dlopen ,
|
||||
.Fn dlsym ,
|
||||
または
|
||||
.Fn dlclose
|
||||
の呼び出しの間に発生した最後のエラーを記述する
|
||||
ナル文字で終わるキャラクタストリングを返します。
|
||||
呼び出しの間に発生した最後のエラーを記述する
|
||||
ヌル文字で終了する文字列を返します。
|
||||
このようなエラーが発生していない場合、
|
||||
.Fn dlerror
|
||||
は NULL ポインタを返します。
|
||||
.Fn dlerror
|
||||
を呼び出すたびに、エラー指示がリセットされます。
|
||||
ですから、2 番めの呼び出しが最初の呼び出しの直後に続く
|
||||
そのため、後の呼び出しが先の呼び出しの直後にくるような
|
||||
.Fn dlerror
|
||||
呼び出しの 2 つのケースでは、
|
||||
2 番めの呼び出しは必ず NULL ポインタを返します。
|
||||
呼び出しを行った場合、後の呼び出しでは必ず NULL ポインタが
|
||||
返ってきます。
|
||||
.Pp
|
||||
.Fn dlclose
|
||||
は、
|
||||
は
|
||||
.Fa handle
|
||||
が参照する共有オブジェクトへの参照を削除します。参照
|
||||
カウントが低下して
|
||||
0 になると、そのオブジェクトはアドレス空間から除去され、
|
||||
が参照する共有オブジェクトへの参照を削除します。
|
||||
参照カウント値が減らされ 0 になると、そのオブジェクトはアドレス空間から
|
||||
削除され
|
||||
.Fa handle
|
||||
は無効になります。この方法で共有オブジェクトを除去する直前に、動的
|
||||
リンカはオブジェクトの
|
||||
は無効になります。この方法で共有オブジェクトを除去する直前に、
|
||||
.Fn _fini
|
||||
関数がオブジェクトによって定義されている
|
||||
場合、これを呼び出します。
|
||||
.Ql _init
|
||||
と同じように、
|
||||
.Ql _fini
|
||||
は関数の C 言語名です。
|
||||
関数がこのオブジェクトで定義されている場合には
|
||||
それを呼び出します。
|
||||
.Fn dlclose
|
||||
は、処理が成功すると値
|
||||
0 を返します。そうでない場合は -1 を返し、
|
||||
エラー条件を設定します。エラー条件は
|
||||
は、処理が成功すると値 0 を返します。
|
||||
そうでない場合は -1 を返し、
|
||||
エラー状態を設定します。エラー状態は
|
||||
.Fn dlerror
|
||||
で問い合わせできます。
|
||||
.Pp
|
||||
|
|
@ -228,20 +266,37 @@ NULL
|
|||
.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 ポインタを返します。
|
||||
は、エラーが発生した場合には NULL ポインタを返します。
|
||||
.Fn dlclose
|
||||
は処理が成功すると 0 を返し、
|
||||
エラーが発生した場合は -1 を
|
||||
返します。エラーが検出されるたびに、それの詳細を説明するメッセージが
|
||||
エラーが発生した場合は -1 を返します。
|
||||
エラーが検出されるたびに、エラーの詳細を説明するメッセージが
|
||||
.Fn dlerror
|
||||
の呼び出しによって取り出せます。
|
||||
呼び出しによって取り出せます。
|
||||
.Sh 関連項目
|
||||
.Xr ld 1 ,
|
||||
.Xr rtld 1 ,
|
||||
.Xr dladdr 3 ,
|
||||
.Xr link 5
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@
|
|||
.\" 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.6 2000/12/14 12:10:01 ru Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/net/ethers.3,v 1.10.2.9 2001/08/17 15:42:38 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd April 12, 1995
|
||||
.Dt ETHERS 3
|
||||
.Os FreeBSD
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm ethers ,
|
||||
.Nm ether_line ,
|
||||
|
|
@ -183,7 +183,6 @@ NIS
|
|||
.Xr yp 4 ,
|
||||
.Xr ethers 5
|
||||
.Sh バグ
|
||||
.Pp
|
||||
.Fn ether_aton
|
||||
関数と
|
||||
.Fn ether_ntoa
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
.\" Copyright (c) 1990, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\" 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
|
||||
|
|
@ -15,8 +15,8 @@
|
|||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" 4. Neither the name of the University nor the names of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
|
|
@ -33,8 +33,8 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)exit.3 8.1 (Berkeley) 6/4/93
|
||||
.\"
|
||||
.\" @(#)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$
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
|
|
@ -43,19 +43,22 @@
|
|||
.Sh 名称
|
||||
.Nm exit
|
||||
.Nd 正常なプログラム終了を実行する
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdlib.h>
|
||||
.Ft void
|
||||
.Fn exit "int status"
|
||||
.Sh 解説
|
||||
.Fn Exit
|
||||
.Fn exit
|
||||
はプロセスを終了させます。
|
||||
.Pp
|
||||
終了の前に、リストした順に次の機能を実行します。
|
||||
.Bl -enum -offset indent
|
||||
.It
|
||||
.Xr atexit 3
|
||||
関数で登録された関数を呼び出します。登録とは逆の順序でです。
|
||||
関数で登録された関数を呼び出します。
|
||||
登録とは逆の順序で行われます。
|
||||
.It
|
||||
開いているすべての出力ストリームをフラッシュします。
|
||||
.It
|
||||
|
|
@ -67,9 +70,14 @@
|
|||
.Pp
|
||||
任意の値を
|
||||
.Ar status
|
||||
として環境に渡すのは、まずいスタイルと考えられました。代わりに、
|
||||
として環境に返すのは、よくないスタイルとされています。
|
||||
.Dv EXIT_SUCCESS
|
||||
や
|
||||
.Dv EXIT_FAILURE
|
||||
という値を使用すべきでしょう。
|
||||
移植性を考慮しなくていい場合は、
|
||||
.Xr sysexits 3
|
||||
で記述したように値を使用します。
|
||||
に記述されている値を使用できます。
|
||||
.Sh 戻り値
|
||||
.Fn exit
|
||||
関数は戻ることはありません。
|
||||
|
|
@ -82,5 +90,5 @@
|
|||
.Sh 規格
|
||||
.Fn exit
|
||||
関数は
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
|
|
|
|||
|
|
@ -105,4 +105,4 @@
|
|||
.Fn ferror
|
||||
簇眶は、
|
||||
.St -isoC
|
||||
に準拠しています。
|
||||
に適合しています。
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
.Dd April 19, 1994
|
||||
|
|
@ -40,7 +40,9 @@
|
|||
.Os
|
||||
.Sh 名称
|
||||
.Nm ffs
|
||||
.Nd ビットストリングに設定された、最初のビットの検索
|
||||
.Nd ビット列に設定された、最初のビットの検索
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <string.h>
|
||||
.Ft int
|
||||
|
|
@ -51,11 +53,11 @@
|
|||
.Fa value
|
||||
に設定された最初のビットを検索し、そのビットのインデックスを戻します。
|
||||
ビットには、最も右のビットを 1 として番号が振られます。
|
||||
戻り値が 0 である場合は、引数がゼロであったことを表します。
|
||||
戻り値が 0 である場合は、引数が 0 であったことを表します。
|
||||
.Sh 関連項目
|
||||
.Xr bitstring 3
|
||||
.Sh 歴史
|
||||
.Fn ffs
|
||||
関数は、
|
||||
.Bx 4.3
|
||||
に追加されました。
|
||||
で登場しました。
|
||||
|
|
|
|||
|
|
@ -121,4 +121,4 @@
|
|||
.Fn fgetln
|
||||
簇眶は、
|
||||
.Bx 4.4
|
||||
で初めて登場しました。
|
||||
ではじめて登場しました。
|
||||
|
|
|
|||
|
|
@ -35,8 +35,8 @@
|
|||
.\"
|
||||
.\" @(#)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$
|
||||
.\" %FreeBSD: src/lib/libc/stdio/fgets.3,v 1.6.2.3 2001/03/06 16:46:01 ru Exp %
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt FGETS 3
|
||||
|
|
@ -64,7 +64,7 @@
|
|||
あるいはエラーが見つかったりした場合に停止します。
|
||||
改行文字は、存在していれば保持されます。
|
||||
任意の文字を読み込んでエラーが発生しなかった場合、
|
||||
ストリングの最後には
|
||||
文字列の最後には
|
||||
.Ql \e0
|
||||
文字が追加されます。
|
||||
.Pp
|
||||
|
|
@ -137,7 +137,7 @@
|
|||
.Fn gets
|
||||
関数は、
|
||||
.St -isoC
|
||||
に準拠しています。
|
||||
に適合しています。
|
||||
.Sh バグ
|
||||
通常、次の入力行がある任意の長さより短いことを保証するのは
|
||||
不可能であり、また入力バッファをオーバフローすると
|
||||
|
|
@ -150,4 +150,4 @@
|
|||
.Fn gets
|
||||
は、
|
||||
.St -isoC
|
||||
に準拠するためだけに存在しています。
|
||||
に適合するためだけに存在しています。
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" from: @(#)floor.3 6.5 (Berkeley) 4/19/91
|
||||
.\" %FreeBSD: src/lib/msun/man/floor.3,v 1.7.2.1 2001/03/06 16:46:24 ru Exp %
|
||||
.\" %FreeBSD: src/lib/msun/man/floor.3,v 1.7.2.2 2001/07/22 12:07:20 dd Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd March 10, 1994
|
||||
|
|
|
|||
|
|
@ -34,8 +34,9 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt FOPEN 3
|
||||
.Os
|
||||
|
|
@ -44,6 +45,8 @@
|
|||
.Nm fdopen ,
|
||||
.Nm freopen
|
||||
.Nd ストリームをオープンする関数
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdio.h>
|
||||
.Ft FILE *
|
||||
|
|
@ -56,43 +59,55 @@
|
|||
.Fn fopen
|
||||
関数は、
|
||||
.Fa path
|
||||
が指すストリングの名前を持つファイルをオープンし、
|
||||
が指す文字列の名前を持つファイルをオープンし、
|
||||
それにストリームを関連付けます。
|
||||
.Pp
|
||||
引数
|
||||
.Fa mode
|
||||
は、以下のシーケンスの
|
||||
1 つで始まるストリングを指します (このシーケンスには、
|
||||
別のキャラクタが続けても構いません)。
|
||||
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'' を組み込むことができます。
|
||||
文字列には、3 番目の文字として、
|
||||
または上で説明した 2 文字からなる文字列の間に指定する文字として、
|
||||
文字 ``b'' を含めることができます。
|
||||
これは
|
||||
.St -ansiC
|
||||
との互換性を保つためのもので、
|
||||
効果はありません。``b'' は無視されます。
|
||||
.St -isoC
|
||||
との互換性を保つためのもので、効果はありません。
|
||||
``b'' は無視されます。
|
||||
.Pp
|
||||
作成されたファイルのモードは、
|
||||
.Pf \\*q Dv S_IRUSR
|
||||
|
|
@ -115,7 +130,8 @@
|
|||
混ぜることができ、前バージョンの
|
||||
.Em stdio
|
||||
のように、それらの間にシーク操作は必要ありません。
|
||||
しかしながら、これは他のシステムとの移植性を保持しません。というのは、
|
||||
しかしながら、これは他のシステムへの移植性がありません。
|
||||
というのは、
|
||||
.Tn ANSI C
|
||||
は、入力オペレーションがファイルの終了に達していない場合、
|
||||
ファイル位置付け関数が出力と入力の間に
|
||||
|
|
@ -124,17 +140,22 @@
|
|||
.Fn fdopen
|
||||
関数は、既存のファイル記述子
|
||||
.Fa fildes
|
||||
にストリームを関連付けます。ストリームの
|
||||
にストリームを関連付けます。
|
||||
ストリームの
|
||||
.Fa mode
|
||||
には、ファイル記述子のモードとの互換性が必要です。
|
||||
.Xr fclose 3
|
||||
によってストリームが閉じられた時には、
|
||||
.Fa fildes
|
||||
も閉じられます。
|
||||
.Pp
|
||||
.Fn freopen
|
||||
関数は、
|
||||
.Fa path
|
||||
が指すストリングの名前が付いたファイルを開き、
|
||||
が指す文字列の名前が付いたファイルを開き、
|
||||
.Fa stream
|
||||
が指すストリームを関連付けます。オリジナルのストリームが存在する
|
||||
場合、それは閉じられます。
|
||||
が指すストリームを関連付けます。
|
||||
元のストリームが存在する場合、それは閉じられます。
|
||||
.Fa mode
|
||||
引数は、
|
||||
.Fn fopen
|
||||
|
|
@ -144,7 +165,7 @@
|
|||
.Pf ( Em stderr,
|
||||
.Em stdin
|
||||
.Em stdout )
|
||||
に関連付けられたファイルを変更することです。
|
||||
に関連付けられたファイルを切替えることです。
|
||||
.Sh 戻り値
|
||||
呼び出しが成功すると、
|
||||
.Fn fopen,
|
||||
|
|
@ -152,13 +173,14 @@
|
|||
.Fn freopen
|
||||
は
|
||||
.Tn FILE
|
||||
ポインタを戻します。問題がある場合は
|
||||
ポインタを返します。
|
||||
問題がある場合は
|
||||
.Dv NULL
|
||||
を戻し、そのエラーを示す値にグローバル変数
|
||||
を返し、そのエラーを示す値をグローバル変数
|
||||
.Va errno
|
||||
を設定します。
|
||||
に設定します。
|
||||
.Sh エラー
|
||||
.Bl -tag -width [EINVAL]
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EINVAL
|
||||
.Fn fopen ,
|
||||
.Fn fdopen ,
|
||||
|
|
@ -168,41 +190,37 @@
|
|||
が正しくありません。
|
||||
.El
|
||||
.Pp
|
||||
ルーチン
|
||||
.Xr malloc 3
|
||||
で指定されたエラーに関して、
|
||||
.Fn fopen ,
|
||||
.Fn fdopen ,
|
||||
.Fn freopen
|
||||
関数がエラーになり、
|
||||
関数は、エラーが発生すると、ルーチン
|
||||
.Xr malloc 3
|
||||
で規定されたエラーを
|
||||
.Va errno
|
||||
が設定されることがあります。
|
||||
に設定することもあります。
|
||||
.Pp
|
||||
ルーチン
|
||||
.Xr open 2
|
||||
で指定されたエラーに関して、
|
||||
.Fn fopen
|
||||
関数がエラーになり、
|
||||
関数は、エラーが発生すると、ルーチン
|
||||
.Xr open 2
|
||||
で規定されたエラーを
|
||||
.Va errno
|
||||
が設定されることがあります。
|
||||
に設定することもあります。
|
||||
.Pp
|
||||
ルーチン
|
||||
.Xr fcntl 2
|
||||
で指定されたエラーに関して、
|
||||
.Fn fdopen
|
||||
関数がエラーになり、
|
||||
関数は、エラーが発生すると、ルーチン
|
||||
.Xr fcntl 2
|
||||
で規定されたエラーを
|
||||
.Va errno
|
||||
が設定されることがあります。
|
||||
に設定することもあります。
|
||||
.Pp
|
||||
ルーチン
|
||||
.Fn freopen
|
||||
関数は、エラーが発生すると、ルーチン
|
||||
.Xr open 2 ,
|
||||
.Xr fclose 3 ,
|
||||
.Xr fflush 3
|
||||
で指定されたエラーに関して、
|
||||
.Fn freopen
|
||||
関数がエラーになり、
|
||||
で規定されたエラーを
|
||||
.Va errno
|
||||
が設定されることがあります。
|
||||
に設定することもあります。
|
||||
.Sh 関連項目
|
||||
.Xr open 2 ,
|
||||
.Xr fclose 3 ,
|
||||
|
|
@ -213,10 +231,9 @@
|
|||
関数と
|
||||
.Fn freopen
|
||||
関数は、
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
.Fn fdopen
|
||||
関数は、
|
||||
.St -p1003.1-88
|
||||
に準拠しています。
|
||||
.\"X kuma 1999-11-5
|
||||
に適合しています。
|
||||
|
|
|
|||
|
|
@ -34,8 +34,9 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
.Dd March 8, 1994
|
||||
.Dt FREAD 3
|
||||
.Os
|
||||
|
|
@ -43,6 +44,8 @@
|
|||
.Nm fread ,
|
||||
.Nm fwrite
|
||||
.Nd バイナリストリーム入出力
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdio.h>
|
||||
.Ft size_t
|
||||
|
|
@ -76,14 +79,15 @@
|
|||
.Fn fread
|
||||
関数と
|
||||
.Fn fwrite
|
||||
関数は、読み書きしたバイト数だけ、ストリームの
|
||||
ファイル位置インジケータを進め、読み書きしたオブジェクト数を戻します。
|
||||
エラーが発生した場合、またはファイルの終了に達した場合は、短い
|
||||
オブジェクト数 (またはゼロ) が戻されます。
|
||||
関数は、読み書きしたバイト数だけ
|
||||
ストリームのファイル位置インジケータを進め、
|
||||
読み書きしたオブジェクト数を返します。
|
||||
エラーが発生した場合、またはファイルの終了に達した場合は、
|
||||
指定したものより少ないオブジェクト数 (または 0) を返します。
|
||||
.Pp
|
||||
.Fn fread
|
||||
関数は、ファイルの終了とエラーを区別しません。ファイルの終了か
|
||||
エラーかを判断するためには、呼び出し側が
|
||||
関数は、ファイルの終了とエラーを区別しません。
|
||||
ファイルの終了かエラーかを判断するためには、呼び出し側が
|
||||
.Xr feof 3
|
||||
と
|
||||
.Xr ferror 3
|
||||
|
|
@ -91,7 +95,7 @@
|
|||
.Fn fwrite
|
||||
は、書き込みエラーが発生した場合に限って
|
||||
.Fa nmemb
|
||||
より小さい値を戻します。
|
||||
より少ない値を返します。
|
||||
.Pp
|
||||
.Sh 関連項目
|
||||
.Xr read 2 ,
|
||||
|
|
@ -102,7 +106,5 @@
|
|||
関数と
|
||||
.Fn fwrite
|
||||
関数は、
|
||||
.St -ansiC
|
||||
に
|
||||
準拠しています。
|
||||
.\"X kuma 1999-11-6
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
|
|
|
|||
|
|
@ -34,18 +34,23 @@
|
|||
.\" 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$
|
||||
.Dd June 4, 1993
|
||||
.\"
|
||||
.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 <stdio.h>
|
||||
.Ft int
|
||||
|
|
@ -58,6 +63,11 @@
|
|||
.Fn fgetpos "FILE *stream" "fpos_t *pos"
|
||||
.Ft int
|
||||
.Fn fsetpos "FILE *stream" "const fpos_t *pos"
|
||||
.Fd #include <sys/types.h>
|
||||
.Ft int
|
||||
.Fn fseeko "FILE *stream" "off_t offset" "int whence"
|
||||
.Ft off_t
|
||||
.Fn ftello "FILE *stream"
|
||||
.Sh 解説
|
||||
.Fn fseek
|
||||
関数は、
|
||||
|
|
@ -78,9 +88,9 @@
|
|||
.Fn fseek
|
||||
関数の呼び出しで
|
||||
問題が発生しない場合は、ストリームの end-of-file 指示子がクリアされ、
|
||||
そのストリームの
|
||||
そのストリームに対する
|
||||
.Xr ungetc 3
|
||||
関数の結果は取り消されます。
|
||||
関数の効果は取り消されます。
|
||||
.Pp
|
||||
.Fn ftell
|
||||
関数は、
|
||||
|
|
@ -99,42 +109,60 @@
|
|||
.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
|
||||
関数は、
|
||||
.Fa whence
|
||||
を
|
||||
関数は、( whence を
|
||||
.Dv SEEK_SET
|
||||
に設定した
|
||||
に設定した )
|
||||
.Fn ftell
|
||||
と
|
||||
や
|
||||
.Fn fseek
|
||||
と同じインタフェースで、ファイルオフセットの現在の値を
|
||||
.Fa pos
|
||||
が参照するオブジェクトから設定したり、
|
||||
.Fa pos
|
||||
が参照するオブジェクトに保存したりします。
|
||||
.Tn UNIX
|
||||
以外の一部のシステムでは、
|
||||
一部の
|
||||
.Pq Tn UNIX 以外の
|
||||
システムでは、
|
||||
.Dq Fa fpos_t
|
||||
オブジェクトが複合オブジェクトとなり、
|
||||
オブジェクトが複合オブジェクトであるかもしれないので、
|
||||
移植性を保ちながらテキストストリームの位置を
|
||||
変更するためには、このルーチンに依るしかないこともあります。
|
||||
.Sh 戻り値
|
||||
.Fn rewind
|
||||
関数は値を戻しません。
|
||||
.Fn fgetpos ,
|
||||
.Fn fseek ,
|
||||
.Fn fsetpos
|
||||
は、問題なく終了すると 0 を戻し、
|
||||
関数は値を返しません。
|
||||
.Pp
|
||||
.Rv -std fgetpos fseek fseeko fsetpos
|
||||
.Pp
|
||||
成功して終了すると、
|
||||
.Fn ftell
|
||||
は現在のオフセットを戻します。問題がある場合は \-1 が戻され、
|
||||
そのエラーを示す値がグローバル変数
|
||||
および
|
||||
.Fn ftello
|
||||
は現在のオフセットを返します。それ以外の場合は \-1 が返され、
|
||||
グローバル変数
|
||||
.Va errno
|
||||
に設定されます。
|
||||
が設定されてエラーを示します。
|
||||
.Sh エラー
|
||||
.Bl -tag -width [EINVAL]
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EBADF
|
||||
指定された
|
||||
.Fa stream
|
||||
|
|
@ -148,21 +176,27 @@
|
|||
.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
|
||||
で指定されたエラーに関して、
|
||||
.Fn fgetpos ,
|
||||
.Fn fseek ,
|
||||
.Fn fsetpos ,
|
||||
.Fn ftell
|
||||
関数がエラーになり、
|
||||
について示しているエラーが
|
||||
.Va errno
|
||||
が設定されることがあります。
|
||||
に設定されていることもあります。
|
||||
.Sh 関連項目
|
||||
.Xr lseek 2
|
||||
.Sh 規格
|
||||
|
|
@ -172,6 +206,13 @@
|
|||
.Fn ftell ,
|
||||
.Fn rewind
|
||||
関数は、
|
||||
.St -ansiC
|
||||
.St -isoC
|
||||
に準拠しています。
|
||||
.Pp
|
||||
.Fn fseeko
|
||||
と
|
||||
.Fn ftello
|
||||
関数は、
|
||||
.St -susv2
|
||||
に準拠しています。
|
||||
.\"X kuma 1999-11-6
|
||||
|
|
|
|||
|
|
@ -32,8 +32,9 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
.Dd June 9, 1993
|
||||
.Dt FUNOPEN 3
|
||||
.Os
|
||||
|
|
@ -42,6 +43,8 @@
|
|||
.Nm fropen ,
|
||||
.Nm fwopen
|
||||
.Nd ストリームのオープン
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdio.h>
|
||||
.Ft FILE *
|
||||
|
|
@ -52,22 +55,27 @@
|
|||
.Fn fwopen "void *cookie" "int (*writefn)(void *, const char *, int)"
|
||||
.Sh 解説
|
||||
.Fn funopen
|
||||
関数は、最大
|
||||
4 つの「
|
||||
.Tn I/O
|
||||
機能」にストリームを関連付けます。
|
||||
関数は、ストリームを最大 4 つの
|
||||
.Dq Tn I/O No 関数
|
||||
に関連付けます。
|
||||
.Fa readfn
|
||||
か
|
||||
.Fa writefn
|
||||
を指定してください。適切に入力した
|
||||
Null
|
||||
ポインタとして、その他を指定することもできます。この
|
||||
のどちらかは必ず指定しなければなりません。
|
||||
それ以外の箇所には適当な型の
|
||||
.Dv NULL
|
||||
ポインタを与えることができます。
|
||||
これらの
|
||||
.Tn I/O
|
||||
機能は、新しいストリームの読込み、書込み、シーク、クローズに使用されます。
|
||||
関数は、新しいストリームに対する
|
||||
読込み、書込み、シーク、クローズのために使用されます。
|
||||
.Pp
|
||||
一般的に、機能を省略すると、作成されたストリームでの関連オペレーション
|
||||
の実行がエラーになります。クローズ機能を省略した場合、ストリームを閉じ
|
||||
ると、バッファの出力がフラッシュされて問題なく終了します。
|
||||
通常、関数を省略したということは、
|
||||
作成されたストリームに関連付けられた操作を実行すると失敗する、
|
||||
ということを意味しています。
|
||||
クローズ関数が省略されている場合は、
|
||||
ストリームを閉じるとバッファリングされている出力がフラッシュされ、
|
||||
成功して終了します。
|
||||
.Pp
|
||||
.Fa readfn ,
|
||||
.Fa writefn ,
|
||||
|
|
@ -78,66 +86,66 @@ Null
|
|||
.Xr write 2 ,
|
||||
.Xr seek 2 ,
|
||||
.Xr close 2
|
||||
のものと同じですが、従来のファイル記述子引数の場所で、
|
||||
のものと同じですが、通常ファイル記述子引数が置かれる場所に、
|
||||
.Fn funopen
|
||||
に指定された
|
||||
.Fa cookie
|
||||
引数が渡されるという違いがあります。
|
||||
.Pp
|
||||
読込み
|
||||
読込みおよび書込み
|
||||
.Tn I/O
|
||||
機能と書込み
|
||||
.Tn I/O
|
||||
機能では、
|
||||
関数は、
|
||||
.Xr setvbuf 3
|
||||
を呼び出せば、完全にバッファ化されたストリームかラインでバッファ化され
|
||||
たストリームで基礎となるバッファを変更できます。バッファに完全に情報を
|
||||
入力したり、バッファを完全に空にしたりする必要はありません。しかし、バッ
|
||||
ファ化されていないストリームからバッファ化されたストリームに変更したり、
|
||||
ラインバッファリングフラグの状態を変更したりすることはできません。また、
|
||||
最近指定されたもの以外で、バッファでの読込み呼び出しや書込み呼び出しの
|
||||
準備をする必要があります。
|
||||
を呼び出すことによって、
|
||||
完全にバッファリングされたもしくは行単位でバッファリングされたストリームの
|
||||
基礎となるバッファを変更することが許可されています。
|
||||
バッファを完全に満たしたり完全に空にしたりすることまでは要求されません。
|
||||
しかし、バッファリングされていない状態から
|
||||
バッファリングされた状態に変更したり、
|
||||
行バッファのフラグの状態を変更したりすることは許可されていません。
|
||||
最近指定された以外のバッファに対して読込みや書込みの呼び出しが
|
||||
発生するということに備えておく必要があります。
|
||||
.Pp
|
||||
すべてのユーザ
|
||||
.Tn I/O
|
||||
機能は、\-1 を戻すことでエラーを報告します。エラーが発生した場合、すべ
|
||||
ての機能は外部変数
|
||||
関数は、\-1 を返すことでエラーを報告することができます。
|
||||
さらに、エラーが発生した場合、すべての関数は外部変数
|
||||
.Va errno
|
||||
を適切に設定する必要があります。
|
||||
.Pp
|
||||
.Fn closefn
|
||||
でエラーが発生すると、ストリームは閉じます。
|
||||
でのエラーは、ストリームを開いた状態には保持しません。
|
||||
.Pp
|
||||
便宜を図るため、インクルードファイル
|
||||
.Aq Pa stdio.h
|
||||
では、読込み機能か書込み機能だけを指定した
|
||||
では、
|
||||
.Fn funopen
|
||||
呼び出しのようなマクロ
|
||||
を読込みまたは書込み関数だけを指定して呼び出す時のような、
|
||||
.Fn fropen
|
||||
と
|
||||
マクロと
|
||||
.Fn fwopen
|
||||
が定義されています。
|
||||
マクロが定義されています。
|
||||
.Sh 戻り値
|
||||
問題なく終了すると、
|
||||
成功して終了すると、
|
||||
.Fn funopen
|
||||
は
|
||||
.Dv FILE
|
||||
ポインタを戻します。問題がある場合は
|
||||
.Dv Null
|
||||
が戻され、そのエラーを示す値にグローバル変数
|
||||
ポインタを返します。それ以外の場合では
|
||||
.Dv NULL
|
||||
が返され、エラーを示す値がグローバル変数
|
||||
.Va errno
|
||||
が設定されます。
|
||||
に設定されます。
|
||||
.Sh エラー
|
||||
.Bl -tag -width [EINVAL]
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EINVAL
|
||||
.Fn funopen
|
||||
関数が、読込み機能か書込み機能なしで呼び出されました。
|
||||
関数が、読込み関数または書込み関数のどちらも指定されずに呼び出されました。
|
||||
.Fn funopen
|
||||
関数がエラーになると、ルーチン
|
||||
関数は失敗した時に
|
||||
.Xr malloc 3
|
||||
に指定されたエラーに
|
||||
ルーチンのために指定されたエラーを
|
||||
.Va errno
|
||||
が設定されることもあります。
|
||||
に設定することもあります。
|
||||
.El
|
||||
.Sh 関連項目
|
||||
.Xr fcntl 2 ,
|
||||
|
|
@ -148,11 +156,11 @@ Null
|
|||
.Xr setbuf 3
|
||||
.Sh 歴史
|
||||
.Fn funopen
|
||||
関数は、
|
||||
関数は
|
||||
.Bx 4.4
|
||||
に追加されました。
|
||||
に初めて現れました。
|
||||
.Sh バグ
|
||||
.Fn funopen
|
||||
関数は、
|
||||
関数は
|
||||
.Bx
|
||||
以外のシステムに移植できないことがあります。
|
||||
以外のシステムには移植可能でないかもしれません。
|
||||
|
|
|
|||
|
|
@ -34,8 +34,9 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt GETC 3
|
||||
.Os
|
||||
|
|
@ -44,7 +45,9 @@
|
|||
.Nm getc ,
|
||||
.Nm getchar ,
|
||||
.Nm getw
|
||||
.Nd 入力ストリームから次のキャラクタまたはワードを取得
|
||||
.Nd 入力ストリームから次の文字またはワードを取得
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdio.h>
|
||||
.Ft int
|
||||
|
|
@ -59,45 +62,50 @@
|
|||
.Fn fgetc
|
||||
関数は、
|
||||
.Fa stream
|
||||
で指定したストリームから、次の入力キャラクタを(それがあれば)取得するか、
|
||||
で指したストリームから、(存在している場合) 次の入力文字を取得するか、
|
||||
または、
|
||||
.Xr ungetc 3
|
||||
によってそのストリームにプッシュバックされた、次のキャラクタを取得します。
|
||||
によってそのストリームにプッシュバックされた、次の文字を取得します。
|
||||
.Pp
|
||||
.Fn getc
|
||||
関数も
|
||||
関数は
|
||||
.Fn fgetc
|
||||
と同じ機能ですが、これはインラインで展開するマクロです。
|
||||
と基本的に同じ機能ですが、これはインラインで展開するマクロです。
|
||||
.Pp
|
||||
.Fn getchar
|
||||
関数は引数 stdin 付きの
|
||||
関数は、
|
||||
引数 stdin がついている
|
||||
.Fn getc
|
||||
と等価です。
|
||||
と同等です。
|
||||
.Pp
|
||||
.Fn getw
|
||||
関数は
|
||||
.Fa stream
|
||||
で指定したストリームから、次の
|
||||
で指したストリームから、次の
|
||||
.Em int
|
||||
を(それがあれば)取得します。
|
||||
を (存在している場合) 取得します。
|
||||
.Sh 戻り値
|
||||
処理が無事に完了した場合、これらのルーチンはいずれも
|
||||
処理が正常に完了した場合、これらのルーチンはいずれも
|
||||
.Fa stream
|
||||
から次の要求オブジェクトを返します。ストリームがエンドオブファイルに達
|
||||
したか、または 読み込みエラーが発生した場合は
|
||||
から次の要求オブジェクトを返します。
|
||||
ストリームがファイルの終わりに達したか、
|
||||
または読込みエラーが発生した場合は
|
||||
.Dv EOF
|
||||
を返します。エンドオブファイルかエラーかの識別には、
|
||||
を返します。
|
||||
ファイルの終わりか、エラーなのかを識別するには、
|
||||
.Xr feof 3
|
||||
および
|
||||
と
|
||||
.Xr ferror 3
|
||||
ルーチンを使用する必要があります。エラーが発生した場合はグローバル変数
|
||||
ルーチンを使用する必要があります。
|
||||
エラーが発生した場合は、グローバル変数
|
||||
.Va errno
|
||||
が設定されるので、それによってエラーが識別できます。エンドオブファイル
|
||||
条件は端末上であっても記憶され、以後の読み込みの試みにはすべて
|
||||
.Dv EOF
|
||||
が返されます。
|
||||
にエラーを示す値が設定されます。
|
||||
ファイルの終端を示す状態は端末であってもそのまま残り、
|
||||
その後の読み込みに対しては
|
||||
.Xr clearerr 3
|
||||
によってこの条件がクリアされるまで、それは続きます。
|
||||
によって状態がクリアされなければ
|
||||
.Dv EOF
|
||||
を返すことになります。
|
||||
.Sh 関連項目
|
||||
.Xr ferror 3 ,
|
||||
.Xr fopen 3 ,
|
||||
|
|
@ -110,11 +118,11 @@
|
|||
および
|
||||
.Fn getchar
|
||||
関数は、
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
.Sh バグ
|
||||
.Dv EOF
|
||||
が有効な整数値なので、
|
||||
は、有効な整数値なので
|
||||
.Fn getw
|
||||
を呼び出した後のエラーをチェックするには、
|
||||
.Xr feof 3
|
||||
|
|
@ -122,7 +130,8 @@
|
|||
.Xr ferror 3
|
||||
を使用する必要があります。
|
||||
.Em int
|
||||
のサイズとバイト順はマシンによってさまざまです。移植可能なアプリケーショ
|
||||
ンが目的なら、
|
||||
のサイズとバイト順はマシンによってさまざまです。
|
||||
移植可能なアプリケーションが目的なら、
|
||||
.Fn getw
|
||||
の使用は推奨できません。
|
||||
.Pp
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
.\" Copyright (c) 1988, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\" 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
|
||||
|
|
@ -15,8 +15,8 @@
|
|||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" This product includes software developed by the University of
|
||||
.\" California, Berkeley and its contributors.
|
||||
.\" 4. Neither the name of the University nor the names of its contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
|
|
@ -33,9 +33,10 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)getenv.3 8.2 (Berkeley) 12/11/93
|
||||
.\"
|
||||
.\" @(#)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$
|
||||
.\"
|
||||
.Dd December 11, 1993
|
||||
.Dt GETENV 3
|
||||
.Os
|
||||
|
|
@ -45,6 +46,8 @@
|
|||
.Nm setenv ,
|
||||
.Nm unsetenv
|
||||
.Nd 環境変数関数
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdlib.h>
|
||||
.Ft char *
|
||||
|
|
@ -56,62 +59,58 @@
|
|||
.Ft void
|
||||
.Fn unsetenv "const char *name"
|
||||
.Sh 解説
|
||||
これらの関数は環境変数を設定し、設定を解除し、ホストの
|
||||
これらの関数は、環境変数を設定もしくは削除し、またホストの
|
||||
.Em environment list
|
||||
からそれらを取り出します。異なる環境規定との互換性を得るため、与えられ
|
||||
た引数
|
||||
からそれらを取り出します。
|
||||
異なる慣習の環境との互換性のため、与えられた引数
|
||||
.Ar name
|
||||
および
|
||||
.Ar value
|
||||
はそれぞれ、等価記号
|
||||
.Dq Li \&= .
|
||||
.Dq Li \&=
|
||||
によって後に付加することも、前に付加することもできます。
|
||||
.Pp
|
||||
.Fn getenv
|
||||
関数は、環境変数
|
||||
.Ar name
|
||||
の現在の値を取得します。変数
|
||||
の現在の値を取得します。
|
||||
変数
|
||||
.Ar name
|
||||
が現在の
|
||||
環境にない場合は、null ポインタが返ります。
|
||||
が現在の環境にない場合は、null ポインタが返ります。
|
||||
.Pp
|
||||
.Fn setenv
|
||||
関数は環境変数
|
||||
関数は、環境変数
|
||||
.Ar name
|
||||
を現在の環境リストに挿入またはリセットします。変数
|
||||
を現在の環境リストに挿入または再設定します。
|
||||
変数
|
||||
.Ar name
|
||||
がリストにない場合は、与えられた
|
||||
.Ar value
|
||||
によって挿入されます。変数が存在する場合は引数
|
||||
に設定されて挿入されます。
|
||||
変数が存在する場合は引数
|
||||
.Ar overwrite
|
||||
がテストされ、
|
||||
が検査され、
|
||||
.Ar overwrite
|
||||
がゼロならば変数
|
||||
が 0 ならば変数
|
||||
.Ar name
|
||||
は上書きされず、その他の場合は与えられた値に再設定されます。
|
||||
は再設定されません。
|
||||
その他の場合は、与えられた値に再設定されます。
|
||||
.Pp
|
||||
.Fn putenv
|
||||
関数は ``name=value'' の形で引数をとります。これは次と等価です。
|
||||
関数は、``name=value'' の形で引数をとります。
|
||||
これは次と等価です。
|
||||
.Bd -literal -offset indent
|
||||
setenv(name, value, 1);
|
||||
.Ed
|
||||
.Pp
|
||||
.Fn unsetenv
|
||||
関数は
|
||||
関数は、
|
||||
.Fa name
|
||||
で示される変数名のインスタンスを、リストからすべて削除します。
|
||||
.Sh 戻り値
|
||||
関数
|
||||
.Fn setenv
|
||||
および
|
||||
.Fn putenv
|
||||
は、成功するとゼロを返します。その他の場合は、エラーを示すためにグロー
|
||||
バル変数
|
||||
.Va errno
|
||||
が設定され、
|
||||
\-1 が返ります。
|
||||
.Rv -std setenv putenv
|
||||
.Sh エラー
|
||||
.Bl -tag -width [ENOMEM]
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er ENOMEM
|
||||
環境にメモリを割り振ることができなかったので、関数
|
||||
.Fn setenv
|
||||
|
|
@ -127,8 +126,26 @@ setenv(name, value, 1);
|
|||
.Sh 規格
|
||||
.Fn getenv
|
||||
関数は、
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
.Sh バグ
|
||||
異なる大きさの
|
||||
.Ar value
|
||||
を同じ
|
||||
.Ar name
|
||||
に設定する、連続した
|
||||
.Fn setenv
|
||||
や
|
||||
.Fn putenv
|
||||
の呼び出しは、メモリリークを引き起こします。
|
||||
.Fx
|
||||
のこれらの関数のセマンティクス
|
||||
(つまり
|
||||
.Ar value
|
||||
の内容はコピーされ、その古い値はいつまでもアクセス可能のまま残される)
|
||||
によって、このバグは回避不能です。
|
||||
このバグを修正するために、将来のバージョンでは、
|
||||
このセマンティクスの保証の一つ、もしくは両方を削除するかも知れません。
|
||||
.Sh 歴史
|
||||
関数
|
||||
.Fn setenv
|
||||
|
|
@ -136,8 +153,8 @@ setenv(name, value, 1);
|
|||
.Fn unsetenv
|
||||
は、
|
||||
.At v7
|
||||
で最初に登場しました。
|
||||
で初めて登場しました。
|
||||
.Fn putenv
|
||||
関数は、
|
||||
.Bx 4.3 Reno
|
||||
で最初に登場しました。
|
||||
で初めて登場しました。
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" From: @(#)gethostbyname.3 8.4 (Berkeley) 5/25/95
|
||||
.\" %FreeBSD: src/lib/libc/net/gethostbyname.3,v 1.12.2.3 2001/03/06 16:45:59 ru Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/net/gethostbyname.3,v 1.12.2.6 2001/08/17 15:42:38 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd May 25, 1995
|
||||
.Dt GETHOSTBYNAME 3
|
||||
.Os BSD 4.2
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm gethostbyname ,
|
||||
.Nm gethostbyname2 ,
|
||||
|
|
@ -193,7 +193,9 @@ struct hostent {
|
|||
.Fn gethostbyname ,
|
||||
.Fn gethostbyname2 ,
|
||||
.Fn gethostbyaddr
|
||||
のエラー状態は、ヌルポインタが返ることで示されます。その場合は外部整数
|
||||
のエラー状態は、
|
||||
.Dv NULL
|
||||
ポインタが返ることで示されます。その場合は外部整数
|
||||
.Va h_errno
|
||||
をチェックすることにより、
|
||||
一時的なエラーであるのか、
|
||||
|
|
@ -230,6 +232,7 @@ struct hostent {
|
|||
たとえばメールフォワーダがそのドメインに登録されている場合があります。
|
||||
.El
|
||||
.Sh 関連項目
|
||||
.Xr getaddrinfo 3 ,
|
||||
.Xr resolver 3 ,
|
||||
.Xr hosts 5 ,
|
||||
.Xr hostname 7 ,
|
||||
|
|
@ -283,7 +286,7 @@ struct hostent {
|
|||
.Fn gethostbyname2
|
||||
関数は
|
||||
.Tn BIND
|
||||
バージョン 4.9.4 で初めて登場しました。
|
||||
バージョン 4.9.4 ではじめて登場しました。
|
||||
.Sh バグ
|
||||
これらの関数は静的データ記憶域を使用します。
|
||||
後でこのデータを使う必要がある場合は、以後のこれらの関数呼び出しで
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)getnetent.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/net/getnetent.3,v 1.11.2.1 2000/04/22 17:06:05 phantom Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/net/getnetent.3,v 1.11.2.3 2001/08/17 15:42:38 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt GETNETENT 3
|
||||
.Os BSD 4.2
|
||||
.Os
|
||||
.Sh ̾¾Î
|
||||
.Nm getnetent ,
|
||||
.Nm getnetbyaddr ,
|
||||
|
|
|
|||
|
|
@ -30,30 +30,34 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
.Dd April 27, 1995
|
||||
.Dt GETOPT 3
|
||||
.Os BSD 4.3
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm getopt
|
||||
.Nd コマンドラインの引数リストからのオプション文字の取得
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <unistd.h>
|
||||
.Vt extern char *optarg;
|
||||
.Vt extern int optind;
|
||||
.Vt extern int optopt;
|
||||
.Vt extern int opterr;
|
||||
.Vt extern int optreset;
|
||||
.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 既知
|
||||
|
|
@ -61,64 +65,67 @@
|
|||
.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 に初期化されます。多かれ少なかれ
|
||||
はどちらも 1 に初期化されます。
|
||||
一連の
|
||||
.Fn getopt
|
||||
呼び出しの前ならば、いくつかの
|
||||
.Fa argv
|
||||
エントリを飛び越すための
|
||||
.Fn getopt
|
||||
呼び出しの設定前ならば、
|
||||
エントリを飛び越すために、
|
||||
.Va optind
|
||||
変数は別の値に設定できます。
|
||||
変数を別の値に設定できます。
|
||||
.Pp
|
||||
複数セットの引数の評価または、1 つの引数セットの複数回評価のために
|
||||
複数セットの引数の評価、または 1 つの引数セットの複数回評価のために
|
||||
.Fn getopt
|
||||
を使用する場合、2 回目以降の
|
||||
を使用する場合、2 回目以降行われる追加の各一連の
|
||||
.Fn getopt
|
||||
各追加呼び出し設定前に変数
|
||||
呼び出し前に、変数
|
||||
.Va optreset
|
||||
は 1 に設定し、変数
|
||||
を 1 に設定し、変数
|
||||
.Va optind
|
||||
は再初期化する必要があります。
|
||||
を再初期化する必要があります。
|
||||
.Pp
|
||||
.Fn getopt
|
||||
関数は引数リストを使い果たした場合 \-1 を、受け入れられない
|
||||
関数は、引数リストを使い果たした場合 \-1 を、受け入れられない
|
||||
オプションに出会った場合は
|
||||
.Ql ?
|
||||
.Ql ?\&
|
||||
を返します。引数リストにあるオプションの解釈は、オプション
|
||||
.Ql --
|
||||
(2 重のダッシュ) によって取り消すことができます。
|
||||
|
|
@ -131,13 +138,13 @@
|
|||
は \-1 を返します。
|
||||
.Sh 診断
|
||||
文字列
|
||||
.Va optarg
|
||||
.Va optstring
|
||||
にない文字に出会うか、またはオプション引数の欠落を検出すると、
|
||||
.Fn getopt
|
||||
関数はエラーメッセージを
|
||||
.Em stderr
|
||||
に書き出して
|
||||
.Ql ?
|
||||
.Ql ?\&
|
||||
を返します。
|
||||
.Va opterr
|
||||
を 0 に設定すると、これらのエラーメッセージは無効になります。
|
||||
|
|
@ -162,8 +169,6 @@
|
|||
規格への拡張です。
|
||||
.Sh 使用例
|
||||
.Bd -literal -compact
|
||||
extern char *optarg;
|
||||
extern int optind;
|
||||
int bflag, ch, fd;
|
||||
|
||||
bflag = 0;
|
||||
|
|
@ -173,11 +178,8 @@ while ((ch = getopt(argc, argv, "bf:")) != -1)
|
|||
bflag = 1;
|
||||
break;
|
||||
case 'f':
|
||||
if ((fd = open(optarg, O_RDONLY, 0)) < 0) {
|
||||
(void)fprintf(stderr,
|
||||
"myname: %s: %s\en", optarg, strerror(errno));
|
||||
exit(1);
|
||||
}
|
||||
if ((fd = open(optarg, O_RDONLY, 0)) < 0)
|
||||
err(1, "%s", optarg);
|
||||
break;
|
||||
case '?':
|
||||
default:
|
||||
|
|
@ -190,51 +192,58 @@ argv += optind;
|
|||
.Fn getopt
|
||||
関数は
|
||||
.Bx 4.3
|
||||
で最初に取り入れられました。
|
||||
で初めて登場しました。
|
||||
.Sh バグ
|
||||
かつて
|
||||
.Fn getopt
|
||||
関数はいったん、\-1 の代わりに
|
||||
関数は、\-1 の代わりに
|
||||
.Dv EOF
|
||||
を返すように指定されました。これは、
|
||||
を返すように定められていました。
|
||||
この仕様は、
|
||||
.Fn getopt
|
||||
を
|
||||
.Aq Pa stdio.h
|
||||
から切り離すことで、
|
||||
から切り離すために
|
||||
.St -p1003.2-92
|
||||
により変更されました。
|
||||
で変更されました。
|
||||
.Pp
|
||||
関連する引数を持つことは
|
||||
.Em 決して
|
||||
許されませんが、
|
||||
.Fa optstring
|
||||
の文字として単一ダッシュ
|
||||
.Dq Li -
|
||||
も指定できますが、
|
||||
関連する引数を持つことは
|
||||
.Em 決して
|
||||
許されません。このため、オプションフラグとして
|
||||
も指定できます。
|
||||
このため、オプションフラグとして
|
||||
.Dq Li -
|
||||
が予期されるプログラムでも、
|
||||
を期待しているプログラムでも、
|
||||
.Fn getopt
|
||||
を使用可能です。しかし、これは間違いです。
|
||||
現在のどのようなプログラム開発でもこれは使うべきではありません。
|
||||
を使用可能です。
|
||||
しかし、これは良い方法ではありません。
|
||||
現在のどのようなプログラム開発でも、これを使うべきではありません。
|
||||
下位互換のため
|
||||
.Em だけ
|
||||
に存在します。
|
||||
デフォルトで単一ダッシュは、
|
||||
.Fn getopt
|
||||
に \-1 を返させます。これは System V と互換であるはずです。
|
||||
に \-1 を返させます。
|
||||
これは System V と互換であるはずです。
|
||||
.Pp
|
||||
オプション文字として数字も使えます。このため、オプションとして数字
|
||||
オプション文字として数字も使えます。
|
||||
このため、オプションとして数字
|
||||
.Pq Dq Li \&-\&3
|
||||
が予期されるプログラムでも
|
||||
を期待しているプログラムでも
|
||||
.Fn getopt
|
||||
を使用可能です。しかし、これは間違いです。
|
||||
現在のどのようなプログラム開発でもこれは使うべきではありません。
|
||||
を使用可能です。
|
||||
しかし、これは良い方法ではありません。
|
||||
現在のどのようなプログラム開発でも、これを使うべきではありません。
|
||||
下位互換のため
|
||||
.Em だけ
|
||||
に存在します。
|
||||
次のコードフラグメントが、ほとんどの場合に動作します。
|
||||
次のコードフラグメントが、ほとんどの場合 (でもすべてではない) に動作します。
|
||||
.Bd -literal -offset indent
|
||||
int length;
|
||||
char *p;
|
||||
char *p, *ep;
|
||||
|
||||
while ((ch = getopt(argc, argv, "0123456789")) != -1)
|
||||
switch (ch) {
|
||||
|
|
@ -242,9 +251,16 @@ while ((ch = getopt(argc, argv, "0123456789")) != -1)
|
|||
case '5': case '6': case '7': case '8': case '9':
|
||||
p = argv[optind - 1];
|
||||
if (p[0] == '-' && p[1] == ch && !p[2])
|
||||
length = atoi(++p);
|
||||
else
|
||||
length = atoi(argv[optind] + 1);
|
||||
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
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)getprotoent.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/net/getprotoent.3,v 1.4.2.1 2000/04/22 17:06:06 phantom Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/net/getprotoent.3,v 1.4.2.3 2001/08/17 15:42:38 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt GETPROTOENT 3
|
||||
.Os BSD 4.2
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm getprotoent ,
|
||||
.Nm getprotobynumber ,
|
||||
|
|
@ -103,7 +103,7 @@ struct protoent {
|
|||
.Fn getprotobyname
|
||||
および
|
||||
.Fn getprotobynumber
|
||||
関数は、適合するプロトコル名またはプロトコル番号が見付かるか、または
|
||||
関数は、適合するプロトコル名またはプロトコル番号が見つかるか、または
|
||||
.Dv EOF
|
||||
に達するまで、ファイルを最初から順次検索します。
|
||||
.Sh 戻り値
|
||||
|
|
|
|||
|
|
@ -30,9 +30,9 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)getpw.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libcompat/4.1/getpw.3,v 1.5.2.2 2000/12/29 14:44:57 ru Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libcompat/4.1/getpw.3,v 1.5.2.4 2001/08/17 15:42:55 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt GETPW 3
|
||||
.Os
|
||||
|
|
@ -47,7 +47,8 @@
|
|||
.Fn getpw "uid_t uid" "char *buf"
|
||||
.Sh 解説
|
||||
.Bf -symbolic
|
||||
getpw 関数は、getpwuid(3)
|
||||
getpw 関数は、
|
||||
.Xr getpwuid 3
|
||||
の登場によって旧式のものとなっています。
|
||||
.Ef
|
||||
.Pp
|
||||
|
|
@ -80,7 +81,7 @@ null
|
|||
.Fn getpw
|
||||
関数は
|
||||
.At v6
|
||||
で初めて登場しました。
|
||||
ではじめて登場しました。
|
||||
.Sh バグ
|
||||
.Fa buf
|
||||
で示された領域は、ユーザ名を保持するのに十分な大きさである
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" From: @(#)getservent.3 8.3 (Berkeley) 1/12/94
|
||||
.\" %FreeBSD: src/lib/libc/net/getservent.3,v 1.7.2.2 2000/12/08 13:49:28 ru Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/net/getservent.3,v 1.7.2.4 2001/08/17 15:42:38 ru Exp %v
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd July 9, 1995
|
||||
.Dt GETSERVENT 3
|
||||
.Os BSD 4.2
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm getservent ,
|
||||
.Nm getservbyport ,
|
||||
|
|
@ -108,12 +108,12 @@ struct servent {
|
|||
.Fn getservbyport
|
||||
関数は、適合するプロトコル名またはポート番号
|
||||
(これはネットワークバイトオーダで指定されなければなりません)
|
||||
が見付かるか、さもなければ
|
||||
が見つかるか、さもなければ
|
||||
.Dv EOF
|
||||
に達するまで、ファイルを最初から順次検索します。
|
||||
プロトコル名が与えられていても (
|
||||
.Dv NULL
|
||||
でなくても)、検索は適合するプロトコルが見付かるまで続けられます。
|
||||
でなくても)、検索は適合するプロトコルが見つかるまで続けられます。
|
||||
.Sh 関連ファイル
|
||||
.Bl -tag -width /etc/services -compact
|
||||
.It Pa /etc/services
|
||||
|
|
|
|||
|
|
@ -30,17 +30,20 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
.Dd June 9, 1993
|
||||
.Dt GETSUBOPT 3
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm getsubopt
|
||||
.Nd 引数からサブオプションを取得
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdlib.h>
|
||||
.Vt extern char *suboptarg
|
||||
.Fd #include <unistd.h>
|
||||
.Vt extern char *suboptarg ;
|
||||
.Ft int
|
||||
.Fn getsubopt "char **optionp" "char * const *tokens" "char **valuep"
|
||||
.Sh 解説
|
||||
|
|
@ -48,58 +51,51 @@
|
|||
関数は、
|
||||
1 つまたは複数のタブ、スペースまたはコンマ
|
||||
.Pq Ql \&,
|
||||
キャラクタによって区切られた、トークンが含まれるストリングを解析します。
|
||||
ユーティリティコマンドラインの一部として提供される、オプション引数グループ
|
||||
の解析に使用するのが目的です。
|
||||
キャラクタによって区切られたトークンが含まれる文字列を解析します。
|
||||
ユーティリティのコマンドラインの一部として入力される、
|
||||
オプション引数のまとまりを解析するのに使用するのが目的です。
|
||||
.Pp
|
||||
引数
|
||||
.Fa optionp
|
||||
は、ストリングのポインタを示すポインタです。引数
|
||||
は、文字列へのポインタを指すポインタです。
|
||||
引数
|
||||
.Fa tokens
|
||||
は、
|
||||
ストリングのポインタの
|
||||
は、文字列へのポインタを持つ、
|
||||
.Dv NULL
|
||||
で終わる配列を示すポインタです。
|
||||
で終わる配列を指すポインタです。
|
||||
.Pp
|
||||
.Fn getsubopt
|
||||
関数は、ストリングの最初のトークンに適合するストリングを、
|
||||
参照するポインタのゼロベースオフセットを返します。ストリングにトークンが
|
||||
一切含まれない、または
|
||||
関数は、文字列の最初のトークンに適合する文字列を参照する
|
||||
.Fa tokens
|
||||
に適合するストリングか含まれない場合には、
|
||||
\-1 を返します。
|
||||
配列中のポインタの、0 始まりのオフセットを返します。
|
||||
文字列にトークンが一切含まれない、または
|
||||
.Fa tokens
|
||||
中に適合する文字列が含まれない場合には \-1 を返します。
|
||||
.Pp
|
||||
トークンの形式が
|
||||
``name=value''
|
||||
である場合、
|
||||
トークンの形式が ``name=value'' である場合、
|
||||
.Fa valuep
|
||||
で参照される位置は、トークンの
|
||||
``値''
|
||||
部分の開始を示すように設定されます。
|
||||
で参照される先は、
|
||||
トークンの ``value'' の部分の先頭を指すように設定されます。
|
||||
.Pp
|
||||
.Fn getsubopt
|
||||
からの戻りでは、
|
||||
から戻った時、
|
||||
.Fa optionp
|
||||
がストリングの次のトークンの開始を
|
||||
示すように設定されます。または、それ以上のストリングがない場合には、
|
||||
ストリングの終わりに
|
||||
null
|
||||
を示します。外部変数
|
||||
が文字列の次のトークンの先頭を指すように設定されます。
|
||||
または、それ以上のトークンがない場合には、
|
||||
文字列の終わりの null を指します。
|
||||
外部変数
|
||||
.Fa suboptarg
|
||||
は、現在のトークン
|
||||
の開始を示すように設定されます。トークンがなかった場合は、
|
||||
は、現在のトークンの先頭を指すように設定されます。
|
||||
トークンがなかった場合は、
|
||||
.Dv NULL
|
||||
を示します。
|
||||
となります。
|
||||
引数
|
||||
.Fa valuep
|
||||
は、トークンの
|
||||
``値''
|
||||
部分を示すように設定されます。または、
|
||||
``値''
|
||||
部分がなかった場合は
|
||||
は、トークンの ``value'' の部分を示すように設定されます。
|
||||
または、``value'' 部分がなかった場合は
|
||||
.Dv NULL
|
||||
を示します。
|
||||
.Sh 例
|
||||
となります。
|
||||
.Sh 使用例
|
||||
.Bd -literal -compact
|
||||
char *tokens[] = {
|
||||
#define ONE 0
|
||||
|
|
@ -145,11 +141,10 @@ while ((ch = getopt(argc, argv, "ab:")) != -1) {
|
|||
|
||||
.Ed
|
||||
.Sh 関連項目
|
||||
.Xr getopt 3
|
||||
、
|
||||
.Xr getopt 3 ,
|
||||
.Xr strsep 3
|
||||
.Sh 歴史
|
||||
.Fn getsubopt
|
||||
関数は
|
||||
.Bx 4.4
|
||||
で最初に取り入れられました。
|
||||
で初めて登場しました。
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" from: @(#)ieee.3 6.4 (Berkeley) 5/6/91
|
||||
.\" %FreeBSD: src/lib/msun/man/ieee.3,v 1.5.2.2 2001/03/06 16:46:24 ru Exp %
|
||||
.\" %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
|
||||
|
|
@ -52,19 +52,19 @@
|
|||
.Nd IEEE 演算関数
|
||||
.Sh 書式
|
||||
.Fd #include <math.h>
|
||||
.Ft double
|
||||
.Ft double
|
||||
.Fn copysign "double x" "double y"
|
||||
.Ft float
|
||||
.Ft float
|
||||
.Fn copysignf "float x" "float y"
|
||||
.Ft int
|
||||
.Ft int
|
||||
.Fn finite "double x"
|
||||
.Ft int
|
||||
.Ft int
|
||||
.Fn finitef "float x"
|
||||
.Ft int
|
||||
.Fn ilogb "double x"
|
||||
.Ft int
|
||||
.Fn ilogbf "float x"
|
||||
.Ft double
|
||||
.Ft double
|
||||
.Fn nextafter "double x" "double y"
|
||||
.Ft float
|
||||
.Fn nextafterf "float x" "float y"
|
||||
|
|
@ -72,9 +72,9 @@
|
|||
.Fn remainder "double x" "double y"
|
||||
.Ft float
|
||||
.Fn remainderf "float x" "float y"
|
||||
.Ft double
|
||||
.Ft double
|
||||
.Fn scalbn "double x" "int n"
|
||||
.Ft float
|
||||
.Ft float
|
||||
.Fn scalbnf "float x" "int n"
|
||||
.Sh 解説
|
||||
これらの関数は、
|
||||
|
|
@ -113,7 +113,7 @@
|
|||
の
|
||||
.Fa n
|
||||
乗を整数型で返します。
|
||||
.Fn ilogb \*(Pm\*(If
|
||||
.Fn ilogb \*(Pm\*(If
|
||||
は
|
||||
.Dv INT_MAX
|
||||
を返し、
|
||||
|
|
@ -122,7 +122,7 @@
|
|||
.Dv INT_MIN
|
||||
を返します。
|
||||
.Pp
|
||||
.Fn nextafter
|
||||
.Fn nextafter
|
||||
および
|
||||
.Fn nextafterf
|
||||
は、次のマシン表示可能な数を
|
||||
|
|
@ -185,5 +185,3 @@
|
|||
で登場しました。
|
||||
.Sh 規格
|
||||
.St -ieee754
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" from: @(#)ieee.3 6.4 (Berkeley) 5/6/91
|
||||
.\" %FreeBSD: src/lib/msun/man/ieee_test.3,v 1.5.2.1 2000/12/29 14:45:07 ru Exp %
|
||||
.\" %FreeBSD: src/lib/msun/man/ieee_test.3,v 1.5.2.3 2001/08/17 15:43:08 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd March 10, 1994
|
||||
.Dt IEEE_TEST 3
|
||||
.Os
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm logb ,
|
||||
.Nm logbf ,
|
||||
|
|
@ -46,13 +46,13 @@
|
|||
.Nd IEEE テスト関数
|
||||
.Sh 書式
|
||||
.Fd #include <math.h>
|
||||
.Ft double
|
||||
.Ft double
|
||||
.Fn logb "double x"
|
||||
.Ft float
|
||||
.Fn logbf "float x"
|
||||
.Ft double
|
||||
.Ft double
|
||||
.Fn scalb "double x" "double n"
|
||||
.Ft float
|
||||
.Ft float
|
||||
.Fn scalbf "float x" "float n"
|
||||
.Ft double
|
||||
.Fn significand "double x"
|
||||
|
|
@ -87,14 +87,14 @@
|
|||
.Fa x Ns \(**(2** Ns Fa n )
|
||||
を返します。
|
||||
.Pp
|
||||
.Fn significand x
|
||||
.Fn significand x
|
||||
および
|
||||
.Fn significandf x
|
||||
.Fn significandf x
|
||||
は、1 \(<=
|
||||
.Fa sig
|
||||
< 2 の範囲で
|
||||
.Fa x
|
||||
:=
|
||||
.Fa x
|
||||
:=
|
||||
.Fa sig No \(** 2** Ns Fa n
|
||||
となる時の、
|
||||
.Fa sig
|
||||
|
|
@ -110,5 +110,3 @@
|
|||
.Xr math 3
|
||||
.Sh 規格
|
||||
.St -ieee754
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -32,21 +32,24 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt INDEX 3
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm index
|
||||
.Nd 文字列中の文字位置の特定
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <string.h>
|
||||
.Ft char *
|
||||
.Fn index "const char *s" "int c"
|
||||
.Sh 解説
|
||||
.Fn index
|
||||
関数はナル文字で終了する文字列
|
||||
関数は、ナル文字で終了する文字列
|
||||
.Fa s
|
||||
から
|
||||
.Fa c
|
||||
|
|
@ -55,13 +58,13 @@
|
|||
型に変換 ) に一致する最初の文字位置を調べます。
|
||||
.Sh 戻り値
|
||||
該当する文字が発見された場合、該当する文字へのポインタを返し、
|
||||
見つからなければ
|
||||
見つからなかった場合は
|
||||
.Dv NULL
|
||||
を返します。
|
||||
.Fa c
|
||||
が '\e0' のとき、
|
||||
が '\e0' の時、
|
||||
.Fn index
|
||||
は文字列の最後に位置する '\e0' を調べます。
|
||||
は文字列の最後の '\e0' の位置を調べます。
|
||||
.Sh 関連項目
|
||||
.Xr memchr 3 ,
|
||||
.Xr rindex 3 ,
|
||||
|
|
@ -75,6 +78,6 @@
|
|||
.Xr strtok 3
|
||||
.Sh 歴史
|
||||
.Fn index
|
||||
関数は
|
||||
関数は、
|
||||
.At v6
|
||||
で取り入れられました。
|
||||
で登場しました。
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" From: @(#)inet.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/net/inet.3,v 1.8.2.3 2000/12/29 14:44:48 ru Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/net/inet.3,v 1.8.2.7 2001/09/03 08:46:42 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd June 17, 1996
|
||||
.Dt INET 3
|
||||
.Os BSD 4.2
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm inet_aton ,
|
||||
.Nm inet_addr ,
|
||||
|
|
@ -54,11 +54,11 @@
|
|||
.Fd #include <sys/socket.h>
|
||||
.Fd #include <netinet/in.h>
|
||||
.Fd #include <arpa/inet.h>
|
||||
.Ft int
|
||||
.Ft int
|
||||
.Fn inet_aton "const char *cp" "struct in_addr *pin"
|
||||
.Ft unsigned long
|
||||
.Ft unsigned long
|
||||
.Fn inet_addr "const char *cp"
|
||||
.Ft unsigned long
|
||||
.Ft unsigned long
|
||||
.Fn inet_network "const char *cp"
|
||||
.Ft char *
|
||||
.Fn inet_ntoa "struct in_addr in"
|
||||
|
|
@ -66,11 +66,11 @@
|
|||
.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
|
||||
.Ft struct in_addr
|
||||
.Fn inet_makeaddr "unsigned long net" "unsigned long lna"
|
||||
.Ft unsigned long
|
||||
.Ft unsigned long
|
||||
.Fn inet_lnaof "struct in_addr in"
|
||||
.Ft unsigned long
|
||||
.Ft unsigned long
|
||||
.Fn inet_netof "struct in_addr in"
|
||||
.Sh 解説
|
||||
.Fn inet_aton ,
|
||||
|
|
@ -121,7 +121,7 @@
|
|||
ポインタを返します。
|
||||
この関数は現在
|
||||
.Dv AF_INET
|
||||
and
|
||||
¤È
|
||||
.Dv AF_INET6
|
||||
に対して有効です。
|
||||
.Pp
|
||||
|
|
@ -224,7 +224,7 @@ a
|
|||
と
|
||||
.Fn inet_pton
|
||||
関数は、
|
||||
.St -xns5.2d2.0
|
||||
.St -xns5.2
|
||||
に適合しています。
|
||||
.Fn inet_pton
|
||||
関数は、1 個、2 個もしくは 3 個のドット形式のアドレスには
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" from: @(#)j0.3 6.7 (Berkeley) 4/19/91
|
||||
.\" %Id: j0.3,v 1.6 1997/02/22 15:09:37 peter Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/msun/man/j0.3,v 1.8.2.2 2001/08/17 15:43:08 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd April 19, 1991
|
||||
.Dt J0 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm j0 ,
|
||||
.Nm j0f ,
|
||||
|
|
@ -77,54 +77,59 @@
|
|||
.Ft float
|
||||
.Fn ynf "int n" "float x"
|
||||
.Sh 解説
|
||||
.Fn j0 ,
|
||||
.Fn j0f ,
|
||||
.Fn j1
|
||||
および
|
||||
関数
|
||||
.Fn j0 ,
|
||||
.Fn j0f ,
|
||||
.Fn j1 ,
|
||||
.Fn j1f
|
||||
の各関数
|
||||
は、それぞれ実数値
|
||||
はそれぞれ実数値
|
||||
.Fa x
|
||||
に対して、
|
||||
オーダー 0 、オーダー 1 の
|
||||
第一種ベッセル関数
|
||||
を計算します。
|
||||
.Fn jn
|
||||
に対して
|
||||
0
|
||||
.Em 次
|
||||
と
|
||||
.Fn jnf
|
||||
関数は実数値
|
||||
.Fa x
|
||||
に対する整数オーダー
|
||||
.Fa n
|
||||
の
|
||||
第一種ベッセル関数
|
||||
を計算します。
|
||||
.Pp
|
||||
.Fn y0 ,
|
||||
.Fn y0f ,
|
||||
.Fn y1
|
||||
と
|
||||
.Fn y1f
|
||||
の各関数は、正の実数値
|
||||
.Fa x
|
||||
に対する、
|
||||
オーダー
|
||||
0 とオーダー
|
||||
1 の
|
||||
線形独立な
|
||||
第二種ベッセル関数
|
||||
1
|
||||
.Em 次の第一種ベッセル関数
|
||||
を計算します。
|
||||
関数
|
||||
.Fn yn
|
||||
と
|
||||
.Fn ynf
|
||||
の各関数は、正の実数値
|
||||
.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
|
||||
|
|
@ -132,21 +137,19 @@
|
|||
.Tn Tahoe
|
||||
アーキテクチャでは、
|
||||
第二種ベッセル関数に対しては、
|
||||
負またはゼロの
|
||||
値
|
||||
負または
|
||||
0 の
|
||||
.Fa x
|
||||
はエラー
|
||||
となります。
|
||||
の値
|
||||
はエラーになります。
|
||||
グローバル変数
|
||||
.Va errno
|
||||
は
|
||||
.Er EDOM
|
||||
に設定されてリザーブ・オペランド・
|
||||
フォールトが生成されます。
|
||||
に設定されて予約オペランドフォルトが生成されます。
|
||||
.Sh 関連項目
|
||||
.Xr math 3
|
||||
.Sh 歴史
|
||||
この関数セットは
|
||||
AT&T UNIX
|
||||
バージョン
|
||||
7 で取込まれました。
|
||||
この一群の関数は
|
||||
.At v7
|
||||
で登場しました。
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)labs.3 8.1 (Berkeley) 6/4/93
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/stdlib/labs.3,v 1.4.2.2 2001/03/06 16:46:02 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
|
|
@ -43,6 +43,8 @@
|
|||
.Sh 名称
|
||||
.Nm labs
|
||||
.Nd long integer の絶対値
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdlib.h>
|
||||
.Ft long
|
||||
|
|
@ -60,8 +62,8 @@
|
|||
.Sh 規格
|
||||
.Fn labs
|
||||
関数は
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
.Pp
|
||||
.Sh バグ
|
||||
負の最大値の整数は負のままです。
|
||||
負の最大値の整数は負のままです。
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)ldiv.3 8.1 (Berkeley) 6/4/93
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/stdlib/ldiv.3,v 1.4.2.2 2001/03/06 16:46:02 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
|
|
@ -43,6 +43,8 @@
|
|||
.Sh 名称
|
||||
.Nm ldiv
|
||||
.Nd 割り算での商と余りを返す
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdlib.h>
|
||||
.Ft ldiv_t
|
||||
|
|
@ -54,11 +56,11 @@
|
|||
.Ar denom
|
||||
について、
|
||||
.Ar num/denom
|
||||
の計算を実行し、商と余りを返します。戻り値は
|
||||
の計算を実行し、商と余りを返します。
|
||||
戻り値は
|
||||
.Em long integer
|
||||
変数の
|
||||
.Ar quot
|
||||
、
|
||||
.Ar quot ,
|
||||
.Ar rem
|
||||
からなる
|
||||
.Ar ldiv-t
|
||||
|
|
@ -69,5 +71,5 @@
|
|||
.Sh 規格
|
||||
.Fn ldiv
|
||||
関数は
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
|
|
|
|||
|
|
@ -33,12 +33,11 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" From: @(#)linkaddr.3 8.1 (Berkeley) 7/28/93
|
||||
.\" %FreeBSD: src/lib/libc/net/linkaddr.3,v 1.8.2.1 2000/04/22 17:06:08 phantom Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/net/linkaddr.3,v 1.8.2.3 2001/08/17 15:42:38 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.Dd June 17, 1996
|
||||
.Dt LINK_ADDR 3
|
||||
.Os BSD 4.4
|
||||
.Os
|
||||
.Sh ̾¾Î
|
||||
.Nm link_addr ,
|
||||
.Nm link_ntoa
|
||||
|
|
|
|||
|
|
@ -17,54 +17,54 @@
|
|||
.\" 5. Modifications may be freely made to this file providing the above
|
||||
.\" conditions are met.
|
||||
.\"
|
||||
.\" %Id: login_auth.3,v 1.5 1998/03/23 13:29:49 bde Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libutil/login_auth.3,v 1.9.2.3 2001/08/17 15:43:07 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd December 29, 1996
|
||||
.Os FreeBSD
|
||||
.Os
|
||||
.Dt LOGIN_AUTH 3
|
||||
.Sh 名称
|
||||
.\" .Nm authenticate
|
||||
.Nm auth_script
|
||||
.Nm auth_env
|
||||
.Nm auth_scan
|
||||
.Nm auth_rmfiles
|
||||
.Nm auth_checknologin
|
||||
.\" .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_ttyok
|
||||
.\" .Nm auth_hostok
|
||||
.\" .Nm auth_timesok
|
||||
.Nd ログインクラス受け入れデータベースの認証形式
|
||||
.Sh ライブラリ
|
||||
.Lb libutil
|
||||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <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 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_ttyok "login_cap_t *lc" "const char *tty"
|
||||
.\" .Ft int
|
||||
.\" .Fn auth_hostok "login_cap_t *lc" "const char *hostname" "char const *ip"
|
||||
.\" .Ft int
|
||||
.\" .Fn auth_timesok "login_cap_t *lc" "time_t now"
|
||||
.Sh 解説
|
||||
この関数セットは、
|
||||
.Xr login.conf 5
|
||||
が提供するログインクラスの認証形式インタフェースをサポートします。
|
||||
.Pp
|
||||
.Sh 戻り値
|
||||
.Pp
|
||||
が提供するログインクラスの認証形式
|
||||
インターフェスをサポートします。
|
||||
.\" .Sh 戻り値
|
||||
.Sh 関連項目
|
||||
.Xr getcap 3 ,
|
||||
.Xr login_cap 3 ,
|
||||
|
|
|
|||
|
|
@ -17,32 +17,34 @@
|
|||
.\" 5. Modifications may be freely made to this file providing the above
|
||||
.\" conditions are met.
|
||||
.\"
|
||||
.\" %Id: login_cap.3,v 1.9 1998/06/06 05:50:42 jkoshy Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libutil/login_cap.3,v 1.17.2.6 2001/08/17 15:43:07 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd December 27, 1996
|
||||
.Os FreeBSD
|
||||
.Os
|
||||
.Dt LOGIN_CAP 3
|
||||
.Sh 名称
|
||||
.Nm login_getclassbyname ,
|
||||
.Nm login_close ,
|
||||
.Nm login_getclass ,
|
||||
.Nm login_getpwclass ,
|
||||
.Nm login_getuserclass ,
|
||||
.Nm login_getcapstr ,
|
||||
.Nm login_getcaplist ,
|
||||
.Nm login_getcaptime ,
|
||||
.Nm login_getcapnum ,
|
||||
.Nm login_getcapsize ,
|
||||
.Nm login_getcapbool ,
|
||||
.Nm login_getstyl
|
||||
.Nd ログインクラスデータベース
|
||||
に対するプログラミングインタフェース
|
||||
.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 <sys/types.h>
|
||||
.Fd #include <login_cap.h>
|
||||
.Ft void
|
||||
.Fn login_close "login_cap_t * lc"
|
||||
.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 *
|
||||
|
|
@ -67,63 +69,60 @@
|
|||
.Fn login_getcapbool "login_cap_t *lc" "const char *cap" "int def"
|
||||
.Ft char *
|
||||
.Fn login_getstyle "login_cap_t *lc" "char *style" "const char *auth"
|
||||
.Pp
|
||||
.Ft const char *
|
||||
.Fn login_setcryptfmt "login_cap_t *lc" "const char *def" "const char *error"
|
||||
.Sh 解説
|
||||
これらの関数は
|
||||
.Xr login.conf 5
|
||||
に備わっているログインクラスデータベース
|
||||
に対するプログラミングインタフェースを表します。このデータベースに
|
||||
収録されているのは、CAPABILITIES、属性およびデフォルト環境、
|
||||
ユーザや特殊ユーザとしての稼動中のプログラムに対する課金上の設定などで、
|
||||
に備わっているログインクラスデータベースに対する
|
||||
プログラミングインタフェースを表します。
|
||||
このデータベースに収録されているのは、
|
||||
ケーパビリティ、属性およびデフォルト環境、ユーザや特殊ユーザとしての
|
||||
稼動中のプログラムに対する課金上の設定などで、
|
||||
.Pa /etc/master.passwd
|
||||
の登録データ内のログインクラスフィールドに定義されています。
|
||||
.Pp
|
||||
.Xr login.conf 5
|
||||
内のレコードは、コロン
|
||||
.Ql \&:
|
||||
で分離されるフィールドで
|
||||
構成されています。各レコードの最初のフィールドはデータベース全体で一意な
|
||||
レコードのための複数の識別子です。それぞれ '|' で分離されており、
|
||||
で分離されるフィールドで構成されています。
|
||||
各レコードの最初のフィールドは (データベース全体で一意な)
|
||||
レコードのための 1 個以上の識別子です。それぞれ '|' で分離されており、
|
||||
最後尾に 'name' 識別子が付いていることもあります。
|
||||
レコードの残りのフィールドは keyword/data のペアで構成されます。
|
||||
ロングラインは空のレコード内でバックスラッシュが後ろにつき、
|
||||
次の連続する行は随時読み取られるようになっています。
|
||||
このことは、キーワードが 2 つの意味にある文字に限定されないことを除けば
|
||||
レコードの残りのフィールドはキーワード/データのペアで構成されます。
|
||||
長い行は、空レコード内でバックスラッシュを後に付けることで継続可能であり、
|
||||
継続行は読み易さのためにインデントされているかもしれません。
|
||||
このことは、キーワードが 2 文字に限定されないことを除けば、
|
||||
.Xr termcap 5
|
||||
で使用されている形式と類似しており、読み易すく改善されている点が利点です。
|
||||
termcap レコードの場合と同様に、tc=<recordid>
|
||||
が記述されているフィールドによって複数レコードを相互に
|
||||
関連させることができます (レコードが包含関係にあります)。
|
||||
.Aq Pa recordid
|
||||
で示されるすべてのレコードは発生した箇所で tc= フィールドにより
|
||||
置きかえられます。
|
||||
CAPABILITIES データベースの形式と利用方法に関する詳細については、
|
||||
termcap レコードの場合と同様に、tc=<recordid> が記述されているフィールド
|
||||
によって複数レコードを相互に関連させることができます
|
||||
(レコードが包含関係にあります)。
|
||||
<recordid> で示されるすべてのレコードは発生した箇所で
|
||||
tc= フィールドにより置きかえられます。
|
||||
ケーパビリティデータベースの形式と利用方法に関する詳細については、
|
||||
.Xr getcap 3
|
||||
を参照してください。
|
||||
.Pp
|
||||
.Nm login_cap
|
||||
インタフェースには、tc= 参照の拡張により、
|
||||
インフェースには、tc= 参照の拡張により、
|
||||
ログインレコードクラスを取り出す便利な方法が備わっています。
|
||||
プログラム要求により、
|
||||
.Fn login_getclass ,
|
||||
.Fn login_getpwclass ,
|
||||
.Fn login_getuserclass
|
||||
または
|
||||
.Fn login_getuserclass ,
|
||||
.Fn login_getclassbyname
|
||||
のうちどれか 1 つを呼び
|
||||
出して実行します。それぞれの関数はログイン CAPABILITIES 構造体
|
||||
のうちどれか 1 つを呼び出して実行します。
|
||||
それぞれの関数はログインケーパビリティ構造体
|
||||
.Ft login_cap_t
|
||||
を戻り値として返し、
|
||||
API
|
||||
の残りを使用して指定した値をデータベースに引き続き
|
||||
を戻り値として返し、API の残りを使用して指定した値をデータベースに引き続き
|
||||
問い合せするときに使用されます。
|
||||
login_cap_t
|
||||
が不要になった場合は、関数
|
||||
login_cap_t が不要になった場合は、関数
|
||||
.Fn login_close
|
||||
の呼び出しを実行して使用していたリソースをすべて解放する
|
||||
必要があります。
|
||||
の呼び出しを実行して使用していたリソースをすべて解放する必要があります。
|
||||
.Pp
|
||||
login_cap_t の構造は login_cap.h で次のように定義されます。
|
||||
login_cap_t の構造は
|
||||
login_cap.h で次のように定義されます。
|
||||
.Bd -literal -offset indent
|
||||
typedef struct {
|
||||
char *lc_class;
|
||||
|
|
@ -133,8 +132,8 @@ typedef struct {
|
|||
.Ed
|
||||
.Pp
|
||||
.Ar lc_class
|
||||
メンバーには取り出したログインクラスの名前に対するポインタ
|
||||
があります。これは、
|
||||
メンバには取り出したログインクラスの名前に対するポインタがあります。
|
||||
これは、
|
||||
.Fn login_getclass
|
||||
または
|
||||
.Fn login_getuserclass
|
||||
|
|
@ -144,21 +143,25 @@ typedef struct {
|
|||
.Fn login_getpwclass
|
||||
を使用したユーザのログインレコード経由で間接的に
|
||||
要求されたものと必ずしも同じではありません。参照されたユーザに
|
||||
/etc/master.passwd
|
||||
で定義されたログインクラスがない場合、クラス名は NULL
|
||||
か空ストリングです。
|
||||
.Pa /etc/master.passwd
|
||||
で定義されたログインクラスがない場合、クラス名は
|
||||
NULL か空文字列です。
|
||||
また、定義されたクラスがデータベースに存在しない場合、
|
||||
各関数は、'default' という ID のレコードを探索し、
|
||||
各関数は、"default" という ID のレコードを探索し、
|
||||
.Ar lc_class
|
||||
フィールドにその名前を戻り値として取得します。
|
||||
更に、参照されるユーザが UID 0 である場合
|
||||
(通常 "root" ですが、ユーザ名は関係ありません)、
|
||||
.Fn login_getpwclass
|
||||
は、"default" という ID のレコードの前に、"root" という
|
||||
ID のレコードを探します。
|
||||
.Pp
|
||||
.Ar lc_cap
|
||||
フィールドは、ライブラリで内部的に使用され、
|
||||
拡張されたログイン CAPABILITIES レコードを保持します。
|
||||
プログラムからの例外要求では、低次の
|
||||
拡張されたログインケーパビリティレコードを保持します。
|
||||
例外的な要件のプログラムは、低次の
|
||||
.Fn getcap
|
||||
方式の関数とともにレコードを直接アクセスしようとしてこれを
|
||||
使用する傾向があります。
|
||||
方式の関数と共に使用して、レコードを直接アクセスしようとします。
|
||||
.Pp
|
||||
.Ar lc_style
|
||||
フィールドに対しては、ログイン自身の操作プログラムからの
|
||||
|
|
@ -168,19 +171,22 @@ typedef struct {
|
|||
.Pp
|
||||
前述したように、関数
|
||||
.Fn get*class
|
||||
は、CAPABILITIES データベースのマッチング
|
||||
またはデフォルトレコードのアクセスに使用される login_cap_t オブジェクトを
|
||||
戻り値として返します。
|
||||
は、ケーパビリティデータベースの
|
||||
マッチングまたはデフォルトレコードのアクセスに使用される
|
||||
login_cap_t
|
||||
オブジェクトを戻り値として返します。
|
||||
.Fn getclassbyname
|
||||
は 2 つの引数を受け取ります。
|
||||
最初のものは取り出し対象レコードのレコード識別子で、
|
||||
2 番めのものは、任意指定のディレクトリ名です。最初の引数
|
||||
2 番めのものは、任意指定のディレクトリ名です。
|
||||
最初の引数
|
||||
.Ar name
|
||||
が NULL か、空ストリング、
|
||||
あるいは補助的なまたはシステムのログインクラスデータベースに
|
||||
クラスが存在しない場合、システム
|
||||
が NULL か、空文字列か、
|
||||
あるいは
|
||||
補助的なまたはシステムのログインクラスデータベースにクラスが存在しない場合、
|
||||
システム
|
||||
.Em デフォルト
|
||||
レコードが代わりに返されてきます。
|
||||
レコードが代わりに返されます。
|
||||
2 番めの引数
|
||||
.Ar dir
|
||||
パラメータが NULL のとき、
|
||||
|
|
@ -188,45 +194,50 @@ typedef struct {
|
|||
NULL でないときは、
|
||||
.Xr .login_conf 5
|
||||
というファイル内で名前付きディレクトリが検索され、中にある
|
||||
CAPABILITIES レコードがシステムデフォルトを上書きします。
|
||||
この体系によりユーザは、'me' という IDのレコードがある
|
||||
プライベートクラスに対するクラスレコードを生成して、
|
||||
システムログインクラス・データベースのレコード
|
||||
ケーパビリティレコードがシステムデフォルトを上書きします。
|
||||
この体系によりユーザは、'me' という ID のレコードがある
|
||||
プライベートクラスに対する
|
||||
クラスレコードを生成して、システムログインクラスデータベースのレコード
|
||||
におけるログイン設定値を上書きできます。
|
||||
Login のコンテキストでは、次の 2 つの理由により、
|
||||
.Em login
|
||||
のコンテキストでは、次の 2 つの理由により、
|
||||
ユーザが上書きできないオプションがあります。
|
||||
第 1 に、リソース設定値やデフォルトのプロセス優先順位などの
|
||||
多くのオプションでは、効果を発揮させるためにルート権限が必要であること、
|
||||
第 2 に、ユーザファイルの他のフィールドは、
|
||||
ログインの初期段階ではセキュリティや管理上の理由から、
|
||||
十分な検討が行われていません。どの設定がユーザが
|
||||
上書きできるのかについての詳細については、
|
||||
第 1 に、
|
||||
リソース設定値やデフォルトのプロセス優先順位などの多くのオプションでは、
|
||||
効果を発揮させるために root 限が必要であること、
|
||||
第 2 に、ユーザファイルの他のフィールドは、ログインの初期段階ではセキュリティや
|
||||
管理上の理由から、十分な検討が行われていません。
|
||||
どの設定がユーザが上書きできるのかについての詳細については、
|
||||
.Xr login.conf 5
|
||||
を参照してください。実際には、これらは、そうでない場合に常に
|
||||
初期起動シエルスクリプトで上書きされるユーザのデフォルトログイン環境に
|
||||
よって明確に制限されます。ユーザの
|
||||
を参照してください。
|
||||
実際には、これらは、そうでない場合に常に初期起動
|
||||
シェルスクリプトで上書きされるユーザのデフォルトログイン環境によって明確に
|
||||
制限されます。
|
||||
ユーザの
|
||||
.Pa .login_conf
|
||||
は、ログイン時、シエルが呼ばれる前に
|
||||
実行される優先ログイン環境設定での簡便な方法をユーザに提供します。
|
||||
は、ログイン時、
|
||||
シェルが呼ばれる前に実行される優先ログイン環境設定での簡便な方法をユーザ
|
||||
に提供します。
|
||||
.Pp
|
||||
指定レコードが NULL か、空または存在しないとき、さらに不測の事態に
|
||||
指定レコードがNULL か、空または存在しないとき、さらに不測の事態に
|
||||
備えてデフォルトレコードがシステムにない場合、メモリアロケーションエラー
|
||||
になるか、あるいは
|
||||
.Xr cgetent 3
|
||||
が何らかの理由によりログイン CAPABILITIES データベースに
|
||||
アクセスできなくなり、NULL を返してきます。
|
||||
が何らかの理由によりログインケーパビリティデータベースにアクセスできなくなり、
|
||||
NULL を返します。
|
||||
.Pp
|
||||
関数
|
||||
.Fn login_getpwclass ,
|
||||
.Fn login_getclass
|
||||
および
|
||||
.Fn login_getclass ,
|
||||
.Fn login_getuserclass
|
||||
で、ユーザパスワード登録情報に対応するログインクラスレコードの取り出し、
|
||||
.Fn login_getclassbyname
|
||||
呼び出しによるクラス名の取り出しができます。
|
||||
処理が失敗した場合は NULL が返されます。これらの関数の間で、
|
||||
処理が失敗した場合は NULL が返されます。
|
||||
これらの関数の間で、
|
||||
.Fn login_getuserclass
|
||||
はユーザによる上書きが可能なユーザホームディレクトリ上の .login_conf
|
||||
はユーザによる上書きが可能なユーザホームディレクトリ上の
|
||||
.login_conf
|
||||
を含んでいますが、
|
||||
.Fn login_getpwclass
|
||||
および
|
||||
|
|
@ -234,95 +245,108 @@ Login
|
|||
では、それへの参照を
|
||||
.Pa /etc/login.conf
|
||||
上のシステムログインクラスに制限している点で異なります。
|
||||
上記に示したように、
|
||||
.Fn login_getpwclass
|
||||
が
|
||||
.Fn login_getclass
|
||||
と異なる唯一の点は、パスワードデータベースでの定義がないときに
|
||||
ユーザルートをシステムルートとして認めていることです。
|
||||
と異なる唯一の点は、
|
||||
パスワードデータベースでの定義がないときに、
|
||||
ユーザ 'root' をシステム "root" として認めていることです。
|
||||
他方、パスワードのポインタが NULL のとき、
|
||||
またはユーザレコードにログインクラスがない場合、
|
||||
システムの「デフォルト」登録レコードの取得が行われます。
|
||||
.Pp
|
||||
プログラムで login_cap_t オブジェクトを使用する必要がなくなると、
|
||||
プログラムで
|
||||
login_cap_t
|
||||
オブジェクトを使用する必要がなくなると、
|
||||
.Fn login_close
|
||||
呼び出しを実行し、ログインクラスで使用していたリソースを解放します。
|
||||
呼び出しを実行し、ログインクラスで使用していたリソースを
|
||||
解放します。
|
||||
.Fn login_close
|
||||
は NULL ポインタを返しますが、これには弊害はありません。
|
||||
.Pp
|
||||
残りの関数は、個別の権限レコードの取り出しに使用されます。各関数は、
|
||||
login_cap_t オブジェクトを第 1 引数とし、
|
||||
CAPABILITIES タグを第 2 引数とします。残りのパラメータは、
|
||||
CAPABILITIES レコードが見つからないときの
|
||||
デフォルトまたはエラー値を指定します。
|
||||
受け渡されるパラメータの型は関連する CAPABILITIES のタイプによって
|
||||
変わってきます。
|
||||
たとえば、ストリング、リスト、時間値、ファイルやメモリサイズ、
|
||||
パス (コロンで分離されたデイレクトリリストから構成される)、
|
||||
またはバイナリ値フラグなどです。
|
||||
ケーパビリティタグを第 2 引数とします。
|
||||
残りのパラメータは、ケーパビリティレコードが見つからないときの
|
||||
デフォルトまたはエラー値を指定します。受け渡しされるパラメータの型は
|
||||
関連するケーパビリティのタイプによって変わります。たとえば、
|
||||
文字列、リスト、時間値、ファイルやメモリサイズ、パス (コロンで
|
||||
分離されたディレクトリリストから構成される)、またはバイナリ値フラグ
|
||||
などです。
|
||||
.Pp
|
||||
このグループのすべての関数では、ポインタを返すとき
|
||||
.Xr free 3
|
||||
呼出を使用できないことに注意してください。
|
||||
検索や CAPABILITIES タグ処理の間に割り当てられたメモリは、
|
||||
後続するこのグループの関数呼び出しで自動的に再利用されるか、
|
||||
または
|
||||
呼び出しを使用できないことに注意してください。検索や
|
||||
ケーパビリティタグ処理の間に
|
||||
割り当てられたメモリは、後続するこのグループの関数呼び出しで自動的に
|
||||
再利用されるか、または
|
||||
.Fn login_close
|
||||
呼び出しで解除されます。
|
||||
.Bl -tag -width "login_gatcaplist()"
|
||||
.Fn login_getcapstr
|
||||
この関数は、単純ストリング CAPABILITIES を返します。
|
||||
ストリングが見つからないとき、
|
||||
この関数は、単純文字列ケーパビリティを返します。
|
||||
文字列が見つからないとき、
|
||||
.Ar def
|
||||
内の定義値がデフォルト値として返されます。エラーが発生したとき、
|
||||
内の定義値がデフォルト値として
|
||||
返されます。エラーが発生したとき、
|
||||
.Ar error
|
||||
パラメータの値が返されます。
|
||||
.Pp
|
||||
.It Fn login_getcaplist
|
||||
この関数は、名前付き CAPABILITY タグの値を NULL で
|
||||
終了する配列の値リストとして返します。ログインクラスデータベースには、
|
||||
本関数は、名前付きケーパビリティタグの値を
|
||||
NULL で終了する配列の値リストとして返します。ログインクラスデータベースには、
|
||||
リストタイプのタグがあり、複数のカンマまたはスペースで分離した値で
|
||||
構成されています。通常、この関数は直接アプリケーションから
|
||||
呼び出されることはなく、
|
||||
構成されています。通常、この関数は直接アプリケーションから呼び
|
||||
出されることはなく、
|
||||
.Fn login_getstyle
|
||||
経由で間接的に使用されます。
|
||||
.Pp
|
||||
.It Fn login_getpath
|
||||
この関数は、コロン
|
||||
.Ql \&:
|
||||
で分離されたディレクトリリストを返します。
|
||||
この関数の呼出しが実行される CAPABILITY タグはスペースで分離された
|
||||
デイレクトリリストで構成されます。
|
||||
この関数は、
|
||||
.Ql &:
|
||||
で分離されたディレクトリリストを
|
||||
返します。
|
||||
この関数の呼び出しが実行される
|
||||
ケーパビリティタグはスペースで分離されたディレクトリリストで構成されます。
|
||||
.Pp
|
||||
.It Fn login_getcaptime
|
||||
この関数は、時、分、秒 (デフォルト)、年 (365 日基準)、週、
|
||||
あるいはこれらの任意の組み合わせで表される値の特殊な
|
||||
CAPABILITY タグに関連する時間値を返します。
|
||||
接尾語により使用される単位を決定します。
|
||||
S は秒を、M は分を、H は時を、D は日を、W は週を表し、
|
||||
Y は 365 日基準による年を表します。
|
||||
この関数は、時、分、秒 (デフォルト)、年 (
|
||||
365 日基準)、週、あるいはこれらの任意の組み合わせで表される値の特殊な
|
||||
ケーパビリティ
|
||||
タグに関連する時間値を返します。接尾語により使用される単位を
|
||||
決定します。
|
||||
S は秒を、M は分を、H は時を、D は日を、W は週を表し、Y は
|
||||
365 日基準による年を表します。
|
||||
単位接尾語では大文字、小文字の区別はありません。
|
||||
.Pp
|
||||
時間値は、通常はリソースの設定値、課金システム、およびセッション制限値に
|
||||
使用されます。オペレーティングシステムやコンパイラ (FreeBSD 対応) で
|
||||
使用されます。オペレーティングシステムやコンパイラ (
|
||||
.Fx
|
||||
対応) で
|
||||
サポートしている場合、戻り値は 2 次元 (long long) の
|
||||
.Em rlim_t
|
||||
型になります。値 "inf" または "infinity" で無限の値を表せます。
|
||||
その場合 RLIM_INFINITY が戻り値となります。
|
||||
型になります。値 'inf' または 'infinity' で無限の値を表せます。
|
||||
その場合
|
||||
RLIM_INFINITY
|
||||
が
|
||||
戻り値となります。
|
||||
.Pp
|
||||
.It Fn login_getcapnum
|
||||
この関数は、タグに関する数値を返します。数値は、
|
||||
tag=<value> または標準的な
|
||||
.Fn cgetnum
|
||||
書式 tag#<value> で表現されます。
|
||||
書式 tag#<value>
|
||||
で表現されます。
|
||||
最初の書式は 2 番目のものより優先的に使用されます。
|
||||
2 番めの書式は、
|
||||
.Xr getcap 3
|
||||
データベースの書式との互換性と整合性があり、数値タイプの場合、
|
||||
数値のデリミタとして
|
||||
.Ql \&#
|
||||
が使われます。最初の書式の場合、指定される値は "inf"
|
||||
または "infinity" で、戻り値は RLIM_INFINITY になります。
|
||||
指定された CAPABILITY タグを見つけることができない場合、
|
||||
が使われます。最初の書式の場合、指定される値は
|
||||
\&'inf' または 'infinity' で、戻り値は RLIM_INFINITY
|
||||
になります。指定された ケーパビリティタグを見つけることができない場合、
|
||||
.Ar def
|
||||
パラメータが返されます。
|
||||
エラーが起きると、
|
||||
|
|
@ -331,61 +355,88 @@ tag=<value>
|
|||
.Pp
|
||||
.It Fn login_getcapsize
|
||||
.Fn login_getcapsize
|
||||
は、サイズ(ファイルまたはメモリの場合)を表す値を、
|
||||
バイト数(デフォルト)、512 バイトのブロック数、
|
||||
KB,MB,GB
|
||||
は、サイズ(ファイルまたは
|
||||
メモリの場合)を表す値を、バイト数(デフォルト)、
|
||||
512 バイトのブロック数、
|
||||
KB,
|
||||
MB,
|
||||
GB
|
||||
表示で返します。また
|
||||
.Ar long long
|
||||
タイプをサポートしているシステムであれば、
|
||||
TB 表示もあります。使用されている接尾語により単位、複合値を
|
||||
タイプをサポートしているシステム
|
||||
であれば、
|
||||
TB
|
||||
表示もあります。使用されている接尾語により単位、複合値を
|
||||
決定し、単位は組み合せた形で使用されます。(例えば、
|
||||
1m500k = 1.5megabytes) 接尾語がない値 A はバイトを、
|
||||
B は 512 バイトブロックを、
|
||||
K は kilobyte を、
|
||||
M は megabyte を、
|
||||
G は gigabyte を、
|
||||
そして T は terrabyte を表します。
|
||||
K は KB を、
|
||||
M は MB を、
|
||||
G は GB を、
|
||||
そして
|
||||
T
|
||||
は TB を表します。
|
||||
大文字と小文字の区別はありません。エラー値が返ってくるのは、
|
||||
ログイン CAPABILITIES データベースエラーがあるか、
|
||||
ログインケーパビリティデータベースエラーがあるか、
|
||||
間違った接尾語が使用されているか、または数値が変換ができない場合です。
|
||||
.Pp
|
||||
.It Fn login_getcapbool
|
||||
この関数は、特定のフラグに関連したバイナリ値を返します。
|
||||
指定された CAPABILITY タグがないか、
|
||||
"tag@" (boolean フラグの詳細については
|
||||
この関数は、特定のフラグに関連したバイナリ値を、返します。指定された
|
||||
ケーパビリティタグがないか、
|
||||
\&'tag@'(boolean フラグの詳細については
|
||||
.Xr getcap 3
|
||||
を参照) により無効にされているとき、0 が返ってきます。
|
||||
を参照) により無効にされているとき、0 が返ります。
|
||||
タグが見つかれば 1 が返ります。
|
||||
.Pp
|
||||
.It Fn login_getstyle
|
||||
この関数は、ログイン認可システムで使用され、特定の
|
||||
ケースで有効なログインの形式を決定します。
|
||||
関数は、3 つのパラメータと、
|
||||
ケースで有効なログインの形式を決定します。関数は、
|
||||
3 つのパラメータと、
|
||||
.Nm login_cap
|
||||
登録レコードそのもの、および 2 つの任意指定パラメータ、'auth'
|
||||
と 'style' の認可タイプを受け取り、
|
||||
これらを用いてこれらのルールと矛盾しない認可スタイルを決定します。
|
||||
登録レコードそのもの、および 2 つの任意指定パラメータ、
|
||||
\&'auth'
|
||||
と
|
||||
\&'style'
|
||||
の認可タイプを受け取り、これらを用いてこれらのルールと矛盾しない
|
||||
認可スタイルを決定します。
|
||||
.Pp
|
||||
.Bl -bullet -indent offset
|
||||
.Bl -bullet
|
||||
.It
|
||||
.Ql auth
|
||||
が NULL または 空ストリングでなければ、CAPABILITY レコードの
|
||||
"auth-<auth>" タイプのタグの検索を行います。
|
||||
存在しなければ、デフォルトのデフォルトタグ "auth=" を検索します。
|
||||
\&'auth' が NULL または 空文字列でなければ、
|
||||
ケーパビリティレコードの "auth-<auth>" タイプのタグの検索を行います。
|
||||
存在しなければ、デフォルトの
|
||||
デフォルトタグ "auth="
|
||||
を検索します。
|
||||
.It
|
||||
先のステップで正当な認可リストが見つからない場合、"passwd"
|
||||
先のステップで正当な認可リストが見つからない場合、
|
||||
\&'passwd'
|
||||
がデフォルトの認可リストとされます。
|
||||
.It
|
||||
.Ql style
|
||||
が NULL でも空でもないとき、先行ステップで見つかった認可方式の
|
||||
\&'style' が NULL でも
|
||||
空でもないとき、先行ステップで見つかった認可方式の
|
||||
リストからそれを検索します。
|
||||
.It
|
||||
.Ql style
|
||||
が NULLか空ストリングのとき、"passwd"をデフォルトの認可に使用します。
|
||||
\&'style' が NULL か空文字列のとき、
|
||||
\&'passwd'
|
||||
をデフォルトの認可に使用します。
|
||||
.It
|
||||
.Ql style
|
||||
が、認可方式の選択リストに見つかった場合、それを返し、
|
||||
\&'style' が、認可方式の選択リストに見つかった場合、それを返し、
|
||||
そうでないときは NULL を返します。
|
||||
.It Fn login_setcryptfmt
|
||||
.Xr crypt 3
|
||||
書式の設定のために、
|
||||
.Ql passwd_format
|
||||
設定エントリを使用し、
|
||||
.Fn login_setcryptfmt
|
||||
関数が使用されます。
|
||||
エントリが見付からない場合、
|
||||
.Fa def
|
||||
がフォールバックとして使用されます。
|
||||
指定した引数の
|
||||
.Xr crypt_set_format 3
|
||||
が失敗すると、
|
||||
.Fa error
|
||||
が返されます。
|
||||
.El
|
||||
.Pp
|
||||
この体系により、管理者は、アクセス方式に従って、システムが受け取る
|
||||
|
|
@ -396,6 +447,7 @@ G
|
|||
発見されるリスクを著しく減少させられます。
|
||||
.El
|
||||
.Sh 関連項目
|
||||
.Xr crypt 3 ,
|
||||
.Xr getcap 3 ,
|
||||
.Xr login_class 3 ,
|
||||
.Xr login.conf 5 ,
|
||||
|
|
|
|||
|
|
@ -17,18 +17,20 @@
|
|||
.\" 5. Modifications may be freely made to this file providing the above
|
||||
.\" conditions are met.
|
||||
.\"
|
||||
.\" %Id: login_class.3,v 1.6 1998/06/06 05:50:43 jkoshy Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libutil/login_class.3,v 1.9.2.2 2001/08/17 15:43:07 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd December 28, 1996
|
||||
.Os FreeBSD
|
||||
.Os
|
||||
.Dt LOGIN_CLASS 3
|
||||
.Sh 名称
|
||||
.Nm setclasscontext ,
|
||||
.Nm setusercontext ,
|
||||
.Nm setclassenvironment ,
|
||||
.Nm setclassresources ,
|
||||
.Nm setclassenvironment
|
||||
.Nm setusercontext
|
||||
.Nd ログインクラスデータベースにアクセスする能力をもつ関数群
|
||||
.Sh ライブラリ
|
||||
.Lb libutil
|
||||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <login_cap.h>
|
||||
|
|
@ -40,11 +42,10 @@
|
|||
.Fn setclassresources "login_cap_t *lc"
|
||||
.Ft void
|
||||
.Fn setclassenvironment "login_cap_t *lc" "const struct passwd *pwd" "int paths"
|
||||
.Pp
|
||||
.Sh 解説
|
||||
これらの関数は、ログインクラスデータベース関して
|
||||
.Xr login_cap 3
|
||||
のマニュアルに記載されているインタフェースより高次のインタフェースを
|
||||
のマニュアルに記載されているインターフェスより高次のインターフェスを
|
||||
提供します。これらの関数が使用されるのは、リソースに関する限界値や、
|
||||
環境およびシステムにログインするユーザへの課金の設定、およびログインクラス
|
||||
に基づくシステムデーモンの設定と環境の適切な組を設定するときです。これらの
|
||||
|
|
@ -62,7 +63,7 @@
|
|||
.Pp
|
||||
.Fn setusercontext
|
||||
は、指定された login_cap_t オブジェクト、
|
||||
指定された passwd レコード (login_cap_t が nullの場合)
|
||||
指定された passwd レコード ( login_cap_t が nullの場合)
|
||||
に基づく、クラスのコンテキストバリューを設定します。
|
||||
また最新のセッションへのログインや、
|
||||
最新のプロセスのユーザおよびグループの所有者を設定します。
|
||||
|
|
@ -97,9 +98,8 @@ passwd
|
|||
NULL 以外の値を指定する必要があります。
|
||||
.It LOGIN_SETRESOURCES
|
||||
システムのログインクラスデータベースで定義される
|
||||
設定値に基づき現在のプロセスのリソースの限界値を設定します。
|
||||
クラス権限タグは、-cur (ソフトリミット)
|
||||
または -max (ハードリミット) の接尾語と次に示す
|
||||
設定値に基づき現在のプロセスのリソースの限界値を設定します。クラス権限タグ
|
||||
は、-cur (ソフトリミット) または -max (ハードリミット)の接尾語と次に示す
|
||||
リソース設定子を適切に組み合わせて使用します。
|
||||
.Bd -literal
|
||||
cputime RLIMIT_CPU
|
||||
|
|
@ -111,6 +111,7 @@ memoryuse RLIMIT_RSS
|
|||
memorylocked RLIMIT_MEMLOCK
|
||||
maxproc RLIMIT_NPROC
|
||||
openfiles RLIMIT_NOFILE
|
||||
sbsize RLIMIT_SBSIZE
|
||||
.Ed
|
||||
.It LOGIN_SETPRIORITY
|
||||
システムのログインクラスデータベースで定義された
|
||||
|
|
@ -127,9 +128,10 @@ Priority
|
|||
umask
|
||||
.Ed
|
||||
.It LOGIN_SETPATH
|
||||
ユーザまたはシステムのログインクラスデータベースに基づく
|
||||
値を "path" および "manpath" 環境変数に設定します。
|
||||
該当する環境変数セットとともに使用されるクラス権限タグは次のとおりです。
|
||||
ユーザまたはシステムのログインクラスデータベースに基づく値を
|
||||
\&'path' および 'manpath'
|
||||
環境変数に設定します。該当する環境変数
|
||||
セットとともに使用されるクラス権限タグは次のとおりです。
|
||||
.Bd -literal
|
||||
path PATH
|
||||
manpath MANPATH
|
||||
|
|
@ -146,7 +148,7 @@ term TERM
|
|||
.Ed
|
||||
.Pd
|
||||
環境変数の追加として、リスト型の
|
||||
権限設定 "setenv=var1 val1,var2 val2..,varN valN "
|
||||
権限設定 'setenv=var1 val1,var2 val2..,varN valN '
|
||||
を使用できます。
|
||||
.It LOGIN_SETALL
|
||||
上記の設定をすべて可能にします。
|
||||
|
|
@ -163,10 +165,10 @@ term TERM
|
|||
.Pp
|
||||
関数
|
||||
.Fn setclassresources
|
||||
と
|
||||
および
|
||||
.Fn setclassenvironment
|
||||
は、上記コンテキスト設定の関数のサブセットですが、
|
||||
単独でも使用できます。
|
||||
は、上記コンテキスト設定の関数の
|
||||
サブセットですが、単独でも使用できます。
|
||||
.Sh 戻り値
|
||||
.Fn setclasscontext
|
||||
および
|
||||
|
|
|
|||
|
|
@ -17,17 +17,19 @@
|
|||
.\" 5. Modifications may be freely made to this file providing the above
|
||||
.\" conditions are met.
|
||||
.\"
|
||||
.\" %Id: login_ok.3,v 1.4 1997/02/22 15:08:22 peter Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libutil/login_ok.3,v 1.7.2.3 2001/08/17 15:43:07 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd January 2, 1997
|
||||
.Os FreeBSD
|
||||
.Os
|
||||
.Dt LOGIN_OK 3
|
||||
.Sh 名称
|
||||
.Nm auth_ttyok
|
||||
.Nm auth_hostok
|
||||
.Nm auth_ttyok ,
|
||||
.Nm auth_hostok ,
|
||||
.Nm auth_timeok
|
||||
.Nd ログイン制約に基づくログインクラス・チェック用関数
|
||||
.Nd ログイン制約に基づくログインクラスのチェック用関数
|
||||
.Sh ライブラリ
|
||||
.Lb libutil
|
||||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <time.h>
|
||||
|
|
@ -53,7 +55,7 @@
|
|||
.Em ttys.allow
|
||||
アクセスリストに載っており、
|
||||
.Em ttys.deny
|
||||
アクセスリストに載っていないこともチェックします。
|
||||
アクセスリストに載っていないこともチエックします。
|
||||
.Ar tty
|
||||
デバイス経由でくるログインは、
|
||||
.Em ttys.allow
|
||||
|
|
@ -62,9 +64,9 @@
|
|||
.Em ttys.deny
|
||||
リストが存在しない限り、またはデバイスあるいは
|
||||
.Ar tty
|
||||
グループ (
|
||||
グループ(
|
||||
.Xr ttys 5
|
||||
を参照のこと) がリストに載っていなければ、受け入れられます。
|
||||
を参照のこと)がリストに載っていなければ、受入れられます。
|
||||
.Ar tty
|
||||
に対するアクセスは、
|
||||
.Ar tty
|
||||
|
|
@ -89,16 +91,15 @@ ttys
|
|||
のログインクラスの権限レベルに対し、ホスト名や IP アドレス
|
||||
(具体的には n.n.n.n のようなテキスト形式で指定されます。)
|
||||
の両方のチエックを行います。
|
||||
ttys およびそのグループについてと同様、許可、非許可権限レコード内で
|
||||
ワイルドカードや文字クラスを使用できます。
|
||||
関数
|
||||
ttys およびそのグループについてと同様、許可、
|
||||
非許可権限レコード内でワイルドカードや文字
|
||||
クラスを使用できます。関数
|
||||
.Xr fnmatch 3
|
||||
は対応付けに使用されます。
|
||||
ホスト名の対応付けは大文字か小文字かによります。
|
||||
この関数ではホスト名が完全形式で記述 (たとえば、必要ならば
|
||||
ローカルドメイン名が追加される) されている必要があることに
|
||||
注意する必要があります。さらに、IP アドレスは標準的な形式に
|
||||
なっています。ホスト名やアドレス参照は行われません。
|
||||
は対応付けに使用されます。ホスト名の
|
||||
対応付けは大文字か小文字かによります。この関数ではホスト名が完全形式で
|
||||
記述 (たとえば、必要ならばローカルドメイン名が追加される) されている
|
||||
必要があることに注意する必要があります。さらに、IP アドレスは標準的な
|
||||
形式になっています。ホスト名やアドレス参照は行われません。
|
||||
.Pp
|
||||
この関数の呼び出しは、ホスト名を使用するか、または IP アドレスを
|
||||
指定せず (例えば
|
||||
|
|
@ -108,6 +109,7 @@ ttys
|
|||
.Dv NULL
|
||||
か空の文字列が渡された場合、0 以外の戻り値が返されます。
|
||||
.Pp
|
||||
関数
|
||||
.Fn auth_timeok
|
||||
は、指定の時間値が、ログインクラス
|
||||
.Em times.allow
|
||||
|
|
|
|||
|
|
@ -17,17 +17,19 @@
|
|||
.\" 5. Modifications may be freely made to this file providing the above
|
||||
.\" conditions are met.
|
||||
.\"
|
||||
.\" %Id: login_times.3,v 1.4 1997/02/22 15:08:26 peter Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libutil/login_times.3,v 1.8.2.4 2001/08/17 15:43:07 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd January 2, 1997
|
||||
.Os FreeBSD
|
||||
.Os
|
||||
.Dt LOGIN_TIMES 3
|
||||
.Sh 名称
|
||||
.Nm parse_lt
|
||||
.Nm in_ltm
|
||||
.Nm parse_lt ,
|
||||
.Nm in_ltm ,
|
||||
.Nm in_ltms
|
||||
.Nd ログイン時間帯のチェックと解析を行う関数
|
||||
.Nd ログイン時間帯のチエックおよび解析を行う関数
|
||||
.Sh ライブラリ
|
||||
.Lb libutil
|
||||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <time.h>
|
||||
|
|
@ -49,16 +51,18 @@
|
|||
と
|
||||
.Ar times.deny
|
||||
権限フィールドで定義された許可、非許可セッション時間の形式は、
|
||||
1 桁または 2 ,3 桁以上の文字の日付コードを定義する接頭語で構成されます。
|
||||
1 桁または
|
||||
2, 3 桁以上の文字の日付コードを定義する接頭語で構成されます。
|
||||
ハイフンで分離される 24 時形式の開始、終了時間がそれに続きます。
|
||||
日付コードは、特定の日付を選択するために接合されるか、または
|
||||
"Any" や "All"(任意の曜日またはすべての曜日) や、
|
||||
曜日指定 (土曜日と日曜日を含む) のための "Wk"、週末を表す "Wd"
|
||||
\&'Any' や 'All' (任意の曜日またはすべての曜日) や、
|
||||
曜日指定 (土曜日と日曜日を含む) のための 'Wk'、
|
||||
週末を表す 'Wd'
|
||||
などの、特殊な表記記号も使用することができます。
|
||||
.Pp
|
||||
時間帯はたとえば次のとおりです。
|
||||
.Dl MoThFrSa1400-2200
|
||||
これは、月、木、金、土曜日の午後 2 時から
|
||||
これは、月曜日、木曜日、金曜日、土曜日の午後 2 時から
|
||||
10 時の間と解釈されます。
|
||||
.Dl Wd0600-1800
|
||||
これは、土曜日と日曜日の午前 6 時から午後 6 時までの意味です。
|
||||
|
|
@ -69,7 +73,7 @@
|
|||
.Pp
|
||||
関数
|
||||
.Fn parse_lt
|
||||
は、アスキー表示の時間帯を
|
||||
は、ASCII 表示の時間帯を
|
||||
.Ft login_time_t
|
||||
タイプの構造に変換します。
|
||||
定義は次のとおりです。
|
||||
|
|
@ -107,11 +111,12 @@ typedef struct login_time
|
|||
.Ar login_time_t
|
||||
を返した場合、構文解析エラーがあります。
|
||||
.Pp
|
||||
残りの関数により、指定された time_t
|
||||
残りの関数により、指定された
|
||||
time_t
|
||||
または特別な時間帯または時間帯の配列に対する構造体 tm をテストできます。
|
||||
.Fn in_ltm
|
||||
により、第 2 パラメータとして渡された構造体 tm で指定された時間が第
|
||||
1 パラメータで定義された時間内にあるかどうか決定します。
|
||||
により、第 2 パラメータとして渡された構造体 tm で指定された時間が
|
||||
第 1 パラメータで定義された時間内にあるかどうか決定します。
|
||||
.Pp
|
||||
指定の時間が時間帯内にあるかどうかをバイナリ型の戻り値で返します。
|
||||
時間が所定の時間帯になく、関数の第 3 パラメータが NULL でなければ、
|
||||
|
|
@ -125,7 +130,7 @@ typedef struct login_time
|
|||
オブジェクトの配列のポインタでなければならないという点は
|
||||
異なります。なお配列は、要素数が LC_MAXTIMES (64)
|
||||
で上限が規定されており、
|
||||
.Em LTM_NON
|
||||
.Em LTM_NONE
|
||||
が設定された
|
||||
.Ar lt_dow
|
||||
フィールドにより終端が規定されています。
|
||||
|
|
@ -139,7 +144,7 @@ typedef struct login_time
|
|||
(すなわち 0) が設定されます。
|
||||
.Pp
|
||||
.Fn in_ltm
|
||||
は、指定された時間が第一パラメータとして渡された login_time_t
|
||||
は、指定された時間が第 1 パラメータとして渡された login_time_t
|
||||
で定義した時間帯内にあれば、0 以外の値を返します。
|
||||
.Pp
|
||||
.Fn in_ltms
|
||||
|
|
|
|||
|
|
@ -23,37 +23,33 @@
|
|||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %Id: login_tty.3,v 1.4 1997/02/22 15:08:27 peter Exp %
|
||||
.\" "
|
||||
.\" %FreeBSD: src/lib/libutil/login_tty.3,v 1.5.2.2 2001/07/22 12:07:18 dd Exp %
|
||||
.\" $FreeBSD$
|
||||
.\" "
|
||||
.Dd December 29, 1996
|
||||
.Os
|
||||
.Dt LOGIN_TTY 3
|
||||
.Sh 名称
|
||||
.Nm login_tty
|
||||
.Nd 新規ログインセッションの tty 準備
|
||||
.Sh ライブラリ
|
||||
.Lb libutil
|
||||
.Sh 書式
|
||||
.Fd #include <libutil.h>
|
||||
.Ft int
|
||||
.Fn login_tty "int fd"
|
||||
.Pp
|
||||
Link with
|
||||
.Va -lutil
|
||||
on the
|
||||
.Xr cc 1
|
||||
command line.
|
||||
.Sh 解説
|
||||
関数
|
||||
.Fn login_tty
|
||||
は、新規ログインセッションの端末を準備します。
|
||||
.Fn login_tty
|
||||
に渡されたファイル記述子
|
||||
に渡されたファイル指示子
|
||||
.Ar fd
|
||||
は端末デバイス上で、読み込みや書き込みが可能である必要があります。
|
||||
.Xr setsid 2
|
||||
により新規セッションが割り当てられた後、
|
||||
呼び出しプロセスの制御デバイスが作られます。この端末デバイスは更に、
|
||||
呼び出しプロセスでの標準入力や標準出力、および標準エラー出力になります。
|
||||
呼び出しプロセスでの標準入力や出力、及び標準エラー出力になります。
|
||||
.Sh 戻り値
|
||||
.Fn Login_tty
|
||||
は、呼び出しプロセスの制御デバイス
|
||||
|
|
|
|||
|
|
@ -23,26 +23,21 @@
|
|||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %Id: logout.3,v 1.5 1997/05/11 08:50:32 davidn Exp %
|
||||
.\" "
|
||||
.\" %FreeBSD: src/lib/libutil/logout.3,v 1.6.2.3 2001/07/22 12:07:18 dd Exp %
|
||||
.\" $FreeBSD$
|
||||
.\" "
|
||||
.Dd December 29, 1996
|
||||
.Os
|
||||
.Dt LOGOUT 3
|
||||
.Sh 名称
|
||||
.Nm logout
|
||||
.Nd utmpファイルからの登録の削除
|
||||
.Sh ライブラリ
|
||||
.Lb libutil
|
||||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <libutil.h>
|
||||
.Ft int
|
||||
.Fn logout "char *line"
|
||||
.Pp
|
||||
Link with
|
||||
.Va -lutil
|
||||
on the
|
||||
.Xr cc 1
|
||||
command line.
|
||||
.Fn logout "const char *line"
|
||||
.Sh 解説
|
||||
関数
|
||||
.Fn logout
|
||||
|
|
@ -53,7 +48,7 @@ command line.
|
|||
ファイルを探索します。スロットがみつからない場合は、
|
||||
.Em name
|
||||
及び
|
||||
.Em host
|
||||
hos
|
||||
フィールドが空のレコードで更新され、
|
||||
タイムスタンプは最新時間に更新されます。
|
||||
.Sh 戻り値
|
||||
|
|
@ -69,6 +64,6 @@ command line.
|
|||
.Xr wtmp 5
|
||||
.Sh バグ
|
||||
.Fn logout
|
||||
の呼び出しインタフェースは
|
||||
の呼び出しインターフェスは
|
||||
.Xr login 3
|
||||
のインタフェースと整合性がとれていません。
|
||||
|
|
|
|||
|
|
@ -23,26 +23,22 @@
|
|||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %Id: logwtmp.3,v 1.6 1998/01/16 16:53:30 bde Exp %
|
||||
.\" "
|
||||
.\" %FreeBSD: src/lib/libutil/logwtmp.3,v 1.7.2.3 2001/11/02 00:58:18 yar Exp %
|
||||
.\" $FreeBSD$
|
||||
.\" "
|
||||
.Dd December 29, 1996
|
||||
.Os
|
||||
.Dt LOGWTMP 3
|
||||
.Sh 名称
|
||||
.Nm logwtmp
|
||||
.Nd wtmp ファイルに新規レコードを追加
|
||||
.Sh ライブラリ
|
||||
.Lb libutil
|
||||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <libutil.h>
|
||||
.Ft void
|
||||
.Fn logwtmp "const char *line" "const char *name" "const char *host"
|
||||
.Pp
|
||||
Link with
|
||||
.Va -lutil
|
||||
on the
|
||||
.Xr cc 1
|
||||
command line.
|
||||
.Sh 解説
|
||||
.Fn logwtmp
|
||||
は、
|
||||
|
|
@ -50,8 +46,7 @@ command line.
|
|||
ファイルに新規レコードの追加します。
|
||||
引数は、
|
||||
.Ar line ,
|
||||
.Ar name
|
||||
と
|
||||
.Ar name ,
|
||||
.Ar host
|
||||
及び現在時間を与えます。
|
||||
.Pp
|
||||
|
|
@ -65,10 +60,11 @@ command line.
|
|||
.Qq invalid hostname
|
||||
(不正ホスト名) として記録されます。
|
||||
.Pp
|
||||
呼び出しプロセスは読み込み、書き込みの両方の権限を持っている
|
||||
必要があります。
|
||||
呼び出しプロセスは、
|
||||
.Xr wtmp 5
|
||||
ファイルに対し、読み込み、書き込みの両方の権限を持っている必要があります。
|
||||
.Sh 戻り値
|
||||
なし
|
||||
なし。
|
||||
.Sh 関連項目
|
||||
.Xr gethostbyname 3 ,
|
||||
.Xr login 3 ,
|
||||
|
|
|
|||
|
|
@ -34,15 +34,17 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)malloc.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %Id: malloc.3,v 1.17 1998/09/16 04:07:31 imp Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/stdlib/malloc.3,v 1.25.2.13 2001/11/12 01:11:15 dd Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd August 27, 1996
|
||||
.Dt MALLOC 3
|
||||
.Os FreeBSD 2
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm malloc, calloc, realloc, free, reallocf
|
||||
.Nm malloc , calloc , realloc , free , reallocf
|
||||
.Nd 汎用のメモリ割り当てのための関数群
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdlib.h>
|
||||
.Ft void *
|
||||
|
|
@ -70,7 +72,15 @@
|
|||
.Xr getpagesize 3
|
||||
参照 )、返されるメモリはページ境界が調整されていることでしょう。
|
||||
.Fn malloc
|
||||
に失敗すると、 NULL ポインタが返されます。
|
||||
に失敗すると、
|
||||
.Dv NULL
|
||||
ポインタが返されます。
|
||||
.Pp
|
||||
通常
|
||||
.Fn malloc
|
||||
が返すメモリは、0 のバイトで初期化されては
|
||||
.Em いない
|
||||
ことに注意してください。
|
||||
.Pp
|
||||
.Fn calloc
|
||||
関数は、
|
||||
|
|
@ -78,9 +88,8 @@
|
|||
個の、長さが
|
||||
.Fa size
|
||||
であるオブジェクトに空間を割り当てます。
|
||||
この関数を呼び出した結果は、割り当てられたメモリがナルに
|
||||
初期化されていることを除けば、
|
||||
引数
|
||||
この関数を呼び出した結果は、割り当てられたメモリが 0 のバイトに
|
||||
明示的に初期化されていることを除けば、引数
|
||||
.Dq "number * size"
|
||||
で
|
||||
.Fn malloc
|
||||
|
|
@ -92,16 +101,19 @@
|
|||
で参照される、以前に割り当てられたメモリのサイズを
|
||||
.Fa size
|
||||
バイトに変更します。
|
||||
メモリの内容は、新しいサイズと古いサイズのうち
|
||||
小さい方のサイズまでは変化しません。
|
||||
新しいサイズと古いサイズのうち、
|
||||
小さい方のサイズまでのメモリ内容は変更されません。
|
||||
新しいサイズの方が大きい場合、
|
||||
新しく割り当てられた部分のメモリの値は未定義です。
|
||||
要求されたメモリを割り当てることができなかった場合は
|
||||
NULL が返されますが、
|
||||
.Dv NULL
|
||||
が返されますが、
|
||||
.Fa ptr
|
||||
が参照するメモリは有効で変化しません。
|
||||
が参照するメモリは有効で変更されていません。
|
||||
.Fa ptr
|
||||
が NULL である場合、
|
||||
が
|
||||
.Dv NULL
|
||||
である場合、
|
||||
.Fn realloc
|
||||
関数は、指定したサイズの
|
||||
.Fn malloc
|
||||
|
|
@ -112,7 +124,9 @@ NULL
|
|||
渡されたポインタを解放することを除けば、
|
||||
.Fn realloc
|
||||
関数呼び出しと同じです。
|
||||
これは FreeBSD に固有の API で、
|
||||
これは
|
||||
.Fx
|
||||
に固有の API で、
|
||||
.Fn realloc
|
||||
の従来型のコーディングスタイルを用いると、
|
||||
ライブラリの内部でメモリリークを引き起こすという
|
||||
|
|
@ -124,7 +138,9 @@ NULL
|
|||
で参照される割り当て済みのメモリを
|
||||
今後の割り当てのために使用できるようにします。
|
||||
.Fa ptr
|
||||
が NULL である場合、何も実行されません。
|
||||
が
|
||||
.Dv NULL
|
||||
である場合、何も実行されません。
|
||||
.Pp
|
||||
.Sh 調整
|
||||
これらのメモリ割り当てルーチン群の 1 つが初めて呼び出されるときに、
|
||||
|
|
@ -147,11 +163,11 @@ NULL
|
|||
.Bl -tag -width indent
|
||||
.It A
|
||||
すべての警告
|
||||
( 理解できないフラグが設定されているという警告を除く ) 、
|
||||
およびメモリ割り当ての失敗を致命的エラーにします。
|
||||
( 理解できないフラグが設定されているという警告を除く ) を
|
||||
致命的エラーにします。
|
||||
この場合、プロセスは
|
||||
.Fn abort 3
|
||||
が呼び出します。
|
||||
.Xr abort 3
|
||||
を呼び出します。
|
||||
.It J
|
||||
.Fn malloc ,
|
||||
.Fn realloc ,
|
||||
|
|
@ -166,8 +182,8 @@ NULL
|
|||
オプションもセットします。
|
||||
これはデバッグ用のオプションで、パフォーマンスの低下に強い影響を与えます。
|
||||
.It H
|
||||
割り当て関数で使用されないページに関するヒントをカーネルに与えます。
|
||||
システムが過度にページングを行なっている場合はパフォーマンスが向上します。
|
||||
割り当て関数で使用されてないページに関するヒントをカーネルに与えます。
|
||||
システムが過度にページングを行っている場合は、パフォーマンスが向上します。
|
||||
このオプションは、デフォルトでオフになっています。
|
||||
.It R
|
||||
最初の割り当てが十分に大きい場合であっても、
|
||||
|
|
@ -185,9 +201,11 @@ NULL
|
|||
エントリを生成します。
|
||||
このオプションの詳細については、ソースを参照してください。
|
||||
.It V
|
||||
ゼロバイトを割り当てようとしたときに、
|
||||
有効なポインタの代わりに NULL ポインタが返されるようになります。
|
||||
( デフォルトの動作では、最小の割り当てを行なってそのポインタを返します。 )
|
||||
0 バイトを割り当てようとしたときに、
|
||||
有効なポインタの代わりに
|
||||
.Dv NULL
|
||||
ポインタが返されるようになります
|
||||
( デフォルトの動作では、最小の割り当てを行って、そのポインタを返します )。
|
||||
このオプションは System V との互換性のために提供されています。
|
||||
このオプションは
|
||||
.Dq X
|
||||
|
|
@ -212,10 +230,10 @@ malloc_options = "X";
|
|||
オプションと
|
||||
.Dq R
|
||||
オプションが
|
||||
設定され、要求されたバイト列にゼロが出力されます。
|
||||
設定され、要求されたバイト列に 0 が出力されます。
|
||||
これはデバッグ用のオプションで、パフォーマンスの低下に強い影響を与えます。
|
||||
.It <
|
||||
キャッシュサイズ 2 分の 1 にします。
|
||||
キャッシュサイズを 2 分の 1 にします。
|
||||
デフォルトのキャッシュサイズは 16 ページです。
|
||||
このオプションは複数回指定できます。
|
||||
.It >
|
||||
|
|
@ -246,52 +264,68 @@ malloc_options = "X";
|
|||
.Ed
|
||||
.Sh 環境変数
|
||||
以下の環境変数は、メモリ割り当て関数の実行に影響を与えます。
|
||||
.Bl -tag -width MMM
|
||||
.Bl -tag -width ".Ev MALLOC_OPTIONS"
|
||||
.It Ev MALLOC_OPTIONS
|
||||
環境変数
|
||||
.Ev MALLOC_OPTIONS
|
||||
を設定すると、この環境変数に含まれる文字は、
|
||||
メモリ割り当て関数群のフラグとして解釈されます。
|
||||
.El
|
||||
.Sh 戻り値
|
||||
.Fn malloc
|
||||
関数と
|
||||
.Fn calloc
|
||||
関数は、成功した場合は割り当てられたメモリのポインタを返し、
|
||||
それ以外の場合は NULL ポインタを返します。
|
||||
関数は、成功した場合は割り当てられたメモリへのポインタを返し、
|
||||
それ以外の場合は
|
||||
.Dv NULL
|
||||
ポインタを返し
|
||||
.Va errno
|
||||
を
|
||||
.Er ENOMEM
|
||||
に設定します。
|
||||
.Pp
|
||||
.Fn realloc
|
||||
関数と
|
||||
.Fn reallocf
|
||||
関数は、成功した場合は
|
||||
関数は、成功した場合はもしかしたら
|
||||
.Fa ptr
|
||||
と同一の、割り当てられたメモリのポインタを戻します。
|
||||
それ以外の場合は NULL ポインタを返します。
|
||||
と同一の、割り当てられたメモリへのポインタを返します。
|
||||
それ以外の場合は
|
||||
.Dv NULL
|
||||
ポインタを返します。
|
||||
その場合でも
|
||||
.Fa ptr
|
||||
によって参照されるメモリは利用可能でそのまま残ります。
|
||||
メモリの割り当てに失敗した場合は、
|
||||
.Va errno
|
||||
を
|
||||
.Er ENOMEM
|
||||
に設定します。
|
||||
.Pp
|
||||
.Fn free
|
||||
関数は値を返しません。
|
||||
.Pp
|
||||
.Sh MALLOC の問題のデバッグ
|
||||
この実装は、解放されているページには、割り当てられていない限り
|
||||
アクセスされず、再利用のためにカーネルに積極的に返されるという点が、
|
||||
この実装は、
|
||||
割り当てられていない限り解放されているページはアクセスされず、
|
||||
再利用のためにカーネルに積極的に返されるという点が、
|
||||
他 ( のシステム ) のメモリ割り当ての実装と大きく異なります。
|
||||
.Bd -filled -offset indent
|
||||
.Bd -ragged -offset indent
|
||||
ほとんど ( のシステム ) のメモリ割り当ての実装では、
|
||||
リンクドリストを含んだデータ構造が、
|
||||
解放されているメモリのかたまりの中に保存され、
|
||||
解放されているすべてのメモリを互いに結合するために使用されます。
|
||||
解放リストが横切るたびに、
|
||||
未使用のはずの、ページアウトされているようなページが、
|
||||
解放リストを行き来するたびに、
|
||||
未使用の、ページアウトされているであろうページが、
|
||||
プライマリメモリに入るためにページフォルトを起こすため、
|
||||
これは最適とは言えません。
|
||||
ページングを行なうシステムでは、
|
||||
ページングを行うシステムでは、
|
||||
一つのプロセスによって生じるページフォルトの数が
|
||||
5 倍に増加する結果となることがあります。
|
||||
.Ed
|
||||
.Pp
|
||||
このアーキテクチャには、これまでは検出されなかった、インタフェースの
|
||||
細々とした違反が実際に検出されるようになるという副作用があります。
|
||||
このアーキテクチャには、これまでは検出されなかったインタフェースの
|
||||
細々とした違反が、実際に検出されるようになるという副作用があります。
|
||||
このため、ずっと問題なく動いていたプログラムが、この割り当ての実装と
|
||||
リンクしたとたんに問題が続出することがあります。
|
||||
.Pp
|
||||
|
|
@ -299,7 +333,7 @@ malloc_options = "X";
|
|||
.Dq A
|
||||
オプションを設定することです。
|
||||
このオプションを設定すると、
|
||||
できるだけ処理を継続しようとする通常の方針をとるかわりに
|
||||
できるだけ処理を継続しようとする通常の方針をとるかわりに、
|
||||
問題が発生したときに (可能であれば) コアダンプを強制的に取ります。
|
||||
.Pp
|
||||
デバッガのサポートのために、
|
||||
|
|
@ -308,13 +342,13 @@ malloc_options = "X";
|
|||
.Pp
|
||||
プログラムが、通常とは異なる結果を出したり、コアダンプしたり、
|
||||
次のセクションで挙げるようなメッセージを出さずに
|
||||
違ったふるまいをし始めるような場合は、
|
||||
プログラムがナルバイトで満たされている記憶領域に依存している場合だと
|
||||
違った動作をし始めるような場合は、
|
||||
プログラムが 0 のバイトで満たされている記憶領域に依存している場合だと
|
||||
思われます。
|
||||
.Dq Z
|
||||
オプションを設定して実行してみてください。
|
||||
状況が好転した場合は、この診断が正しかったことになります。
|
||||
これでもプログラムがおかしなふるまいをするようなら、
|
||||
これでもプログラムがおかしな動作をするようなら、
|
||||
割り当てられた領域以外のメモリ、
|
||||
大抵は割り当てられた領域の前方ではなく後方にアクセスするという問題だと
|
||||
思われます。
|
||||
|
|
@ -330,9 +364,9 @@ malloc_options = "X";
|
|||
.Pp
|
||||
あいにく、この実装では、検出された問題に関する詳細は提供されません。
|
||||
そのような情報を保存することで、パフォーマンスが悪影響を受けるためです。
|
||||
パフォーマンスと引き換えにいっそうの健全さのチェックと詳細な診断を行ない、
|
||||
問題の検出と位置の特定に焦点を当てた、
|
||||
利用可能なメモリ割り当ての実装がインターネットには数多くあります。
|
||||
パフォーマンスと引き換えにいっそうの健全さのチェックと詳細な診断を行い、
|
||||
問題の検出と位置の特定に焦点を当てた数多くのメモリ割り当ての実装が、
|
||||
インターネットで利用可能です。
|
||||
.Sh 診断メッセージ
|
||||
.Fn malloc ,
|
||||
.Fn calloc ,
|
||||
|
|
@ -340,67 +374,66 @@ malloc_options = "X";
|
|||
.Fn free
|
||||
がエラーや警告を検出すると、
|
||||
メッセージがファイル記述子 STDERR_FILENOに出力されます。
|
||||
エラーはコアダンプとなります。
|
||||
エラーの場合、プロセスはコアダンプします。
|
||||
.Dq A
|
||||
オプションを設定すると、すべての
|
||||
警告はエラーとして扱われます。
|
||||
.Pp
|
||||
以下では、出力される可能性があるエラーメッセージとその意味について
|
||||
簡単に説明します。
|
||||
.Bl -tag -width indent
|
||||
.It "(ES): mumble mumble mumble
|
||||
.Bl -diag
|
||||
.It "(ES): mumble mumble mumble"
|
||||
.Dq EXTRA_SANITY
|
||||
が定義された状態でメモリ割り当て関数がコンパイルされており、
|
||||
詳細なエラーチェック中にエラーが検出されました。
|
||||
詳細については、ソースコードを参照してください。
|
||||
.It "allocation failed
|
||||
.Dq A
|
||||
オプションを指定している場合は、メモリ割り当て関数が失敗すると
|
||||
致命的なエラーとなります。
|
||||
.It "mmap(2) failed, check limits
|
||||
.It "mmap(2) failed, check limits"
|
||||
システムが危険な過負荷な状態であるか、プロセスの制限が正しく
|
||||
指定されていないと思われます。
|
||||
.It "freelist is destroyed
|
||||
.It "freelist is destroyed"
|
||||
内部の解放リストが壊れています。
|
||||
.It "out of memory"
|
||||
.Dq X
|
||||
オプションが指定されていて、かつ、メモリの割り当てに失敗しました。
|
||||
.El
|
||||
.Pp
|
||||
.Bl -tag -width indent
|
||||
以下では、出力される可能性がある警告メッセージとその意味について
|
||||
簡単に説明します。
|
||||
.It "chunk/page is already free
|
||||
.Bl -diag
|
||||
.It "chunk/page is already free"
|
||||
すでに解放されているメモリを
|
||||
.Fn free
|
||||
で解放しようとしました。
|
||||
.It "junk pointer ...
|
||||
.It "junk pointer, ..."
|
||||
メモリ割り当て関数に与えられたポインタが、
|
||||
認識されているメモリ境界の外側を指しています。
|
||||
.It "malloc() has never been called
|
||||
.It "malloc() has never been called"
|
||||
メモリが割り振られていないにも関わらず、解放しようとしたり、
|
||||
再割り当てしようとしました。
|
||||
.It "modified (chunk-/page-) pointer
|
||||
.It "modified (chunk-/page-) pointer"
|
||||
.Fn free
|
||||
か
|
||||
.Fn realloc
|
||||
に渡されたポインタが書き換えられています。
|
||||
.It "pointer to wrong page
|
||||
.Fn malloc
|
||||
か
|
||||
.Fn calloc
|
||||
が解放 (?) しようとしているポインタが、
|
||||
.It "pointer to wrong page"
|
||||
.Fn realloc ,
|
||||
.Fn free
|
||||
もしくは
|
||||
.Fn reallocf
|
||||
が解放しようとしているポインタが、
|
||||
正しいページを参照していません。
|
||||
.It "recursive call
|
||||
.It "recursive call"
|
||||
メモリ割り当て関数を再帰的に呼び出そうとしました。
|
||||
これは許可されていません。
|
||||
特にシグナルハンドラでは、メモリの割り当てをするべきではありません。
|
||||
.It "out of memory
|
||||
.Dq X
|
||||
オプションが指定されていて、かつ、メモリの割り割り当てに失敗しました。
|
||||
.It "unknown char in MALLOC_OPTIONS
|
||||
.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
|
||||
|
|
@ -411,26 +444,28 @@ malloc_options = "X";
|
|||
.Fn realloc ,
|
||||
.Fn free
|
||||
関数は
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.Sh バグ
|
||||
問題が発生した場合に出力されるメッセージは、
|
||||
実際の値についての詳細を提供しません。
|
||||
.Pp
|
||||
ゼロバイトを割り当てるように要求された場合に
|
||||
ヌルポインタを返すことは、
|
||||
愚かな問いかけに対する愚かな反応であると言えます。
|
||||
.Pp
|
||||
この実装の作者は、Poul-Henning Kamp です。
|
||||
問題が発生した場合は、彼
|
||||
.Li <phk@FreeBSD.org>
|
||||
まで報告してください。
|
||||
.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
|
||||
ポインタを返すことは、愚かな問いかけに対する愚かな反応であると言えます。
|
||||
|
|
|
|||
|
|
@ -30,12 +30,12 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)memory.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/stdlib/memory.3,v 1.5.2.2 2001/03/06 16:46:02 ru Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/stdlib/memory.3,v 1.5.2.3 2001/08/17 15:42:42 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt MEMORY 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh ̾¾Î
|
||||
.Nm malloc ,
|
||||
.Nm free ,
|
||||
|
|
|
|||
|
|
@ -30,84 +30,102 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
.Dd February 11, 1998
|
||||
.Dt MKTEMP 3
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm mktemp
|
||||
.Nd 一意な一時ファイル名を作成
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <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
|
||||
関数は、特定ファイル名テンプレートの一部を書き換えて
|
||||
ファイル名を作成します。このファイル名は一意的で、
|
||||
アプリケーションでの使用に
|
||||
適合しています。テンプレートとしては、
|
||||
/tmp/temp.XXXX
|
||||
のように、任意の
|
||||
ファイル名に数桁の文字
|
||||
関数は、与えられたファイル名テンプレートの一部を書き換えて
|
||||
ファイル名を作成します。
|
||||
このファイル名は、関数が呼ばれた時に存在していないことが保証されており、
|
||||
アプリケーションでの使用に適しています。
|
||||
テンプレートとしては、
|
||||
.Pa /tmp/temp.XXXXXX
|
||||
のように、任意のファイル名に数桁の文字
|
||||
.Ql X
|
||||
が付いているものが使用されます。最後の
|
||||
が付いているものが使用されます。
|
||||
後ろに続く
|
||||
.Ql X
|
||||
は、
|
||||
現在のプロセス番号か固有な文字、またはその両方の組み合わせで置き
|
||||
換えられます。
|
||||
は、英数字の一意の組合せに置き換えられます。
|
||||
.Fn mktemp
|
||||
が戻す一意的なファイル名の数は、
|
||||
.Ql X
|
||||
の数によって決まります。
|
||||
.Ql X
|
||||
が6 桁である場合、
|
||||
が 6 桁である場合、56800235584 (62 ** 6) 通りの可能な一時ファイル名から
|
||||
.Fn mktemp
|
||||
は約
|
||||
26 ** 6
|
||||
とおりのファイル名を作成できます。
|
||||
によって一つ選ばれます。
|
||||
.Pp
|
||||
.Fn mkstemp
|
||||
関数は、テンプレートを同じように置き換えて
|
||||
テンプレートファイル、モード 0600 を作成し、読み書き用としてオープンした
|
||||
ファイル記述子を返します。これにより、ファイルの存在を確認することと
|
||||
使用するためにオープンすることとの間の競合状況を避けられます。
|
||||
関数は、テンプレートを同じように置き換え、
|
||||
モード 0600 でテンプレートファイルを作成し、
|
||||
読み書き用としてオープンしたファイル記述子を返します。
|
||||
こうすることにより、ファイルの存在を確認することと
|
||||
使用するためにオープンすることとの間の競合状態を避けられます。
|
||||
.Pp
|
||||
.Fn mkstemps
|
||||
は、テンプレートにサフィックスを含めることができることを除いて
|
||||
.Fn mkstemp
|
||||
と同様に動作します。
|
||||
テンプレートは、
|
||||
.Pa /tmp/tmpXXXXXXsuffix
|
||||
という形式である必要があります。
|
||||
.Fn mkstemps
|
||||
は、サフィックス文字列の長さを必要とします。
|
||||
.Pp
|
||||
.Fn mkdtemp
|
||||
関数は、テンプレートを
|
||||
.Xr mktemp 3
|
||||
と同じように置き換え、
|
||||
テンプレートディレクトリ、モード 0700 を作成します。
|
||||
モード 0700 でテンプレートディレクトリを作成します。
|
||||
.Sh 戻り値
|
||||
成功した場合、
|
||||
.Fn mktemp
|
||||
関数と
|
||||
.Fn mkdtemp
|
||||
関数は、問題がない場合はテンプレートのポインタを戻し、問題がある場合は
|
||||
関数は、テンプレートへのポインタを返し、失敗した場合
|
||||
.Dv NULL
|
||||
を戻します。
|
||||
を返します。
|
||||
.Fn mkstemp
|
||||
関数は、適切なファイルを作成できない場合に \-1 を戻します。
|
||||
どの呼出しでもエラーが発生すると、エラーコードがグローバル変数
|
||||
関数と
|
||||
.Fn mkstemps
|
||||
関数は、適切なファイルを作成できない場合に \-1 を返します。
|
||||
どの関数呼出しでもエラーが発生すると、エラーコードがグローバル変数
|
||||
.Va errno
|
||||
に書き込まれます。
|
||||
.Sh エラー
|
||||
.Fn mkstemp
|
||||
関数と
|
||||
.Fn mkstemp ,
|
||||
.Fn mkstemp ,
|
||||
.Fn mkstemps ,
|
||||
.Fn mkdtemp
|
||||
関数は、以下の 1 つの値に
|
||||
関数は、以下の値のうち 1 つを
|
||||
.Va errno
|
||||
を設定します。
|
||||
.Bl -tag -width [ENOTDIR]
|
||||
に設定します。
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er ENOTDIR
|
||||
テンプレートのパス名部分が、存在するディレクトリではない。
|
||||
テンプレートのパス名部分が、存在するディレクトリではありません。
|
||||
.El
|
||||
.Pp
|
||||
.Fn mkstemp
|
||||
関数と
|
||||
.Fn mkstemp ,
|
||||
.Fn mkstemps ,
|
||||
.Fn mkdtemp
|
||||
関数は、
|
||||
.Xr stat 2
|
||||
|
|
@ -116,6 +134,8 @@
|
|||
に設定する可能性があります。
|
||||
.Pp
|
||||
.Fn mkstemp
|
||||
関数と
|
||||
.Fn mkstemps
|
||||
関数は、
|
||||
.Xr open 2
|
||||
関数で規定されるどの値も
|
||||
|
|
@ -129,33 +149,55 @@
|
|||
.Va errno
|
||||
に設定する可能性があります。
|
||||
.Sh 注
|
||||
コアダンプに終わる問題として普通なものは、プログラマが、
|
||||
コアダンプを引き起こす問題としてよくあるものは、プログラマが、
|
||||
.Fn mktemp ,
|
||||
.Fn mkstemp ,
|
||||
.Fn mkstemps ,
|
||||
.Fn mkdtemp
|
||||
に読込み専用ストリングを渡しているために発生します。
|
||||
に読込み専用文字列を渡しているものです。
|
||||
この問題は、
|
||||
.St -ansiC
|
||||
コンパイラが普及する前に
|
||||
開発されたプログラムで多く見られます。たとえば
|
||||
引数
|
||||
.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 ,
|
||||
|
|
@ -167,9 +209,20 @@
|
|||
.Fn mktemp
|
||||
関数は、
|
||||
.At v7
|
||||
に追加されました。
|
||||
で登場しました。
|
||||
.Fn mkstemp
|
||||
関数は、
|
||||
.Bx 4.4
|
||||
で登場しました。
|
||||
.Fn mkdtemp
|
||||
関数は、
|
||||
.Ox 2.2
|
||||
に追加されました。
|
||||
.\"kuma 1999-11-10
|
||||
ではじめて登場し、その後
|
||||
.Fx 3.2
|
||||
で登場しました。
|
||||
.Fn mkstemps
|
||||
は
|
||||
.Ox 2.4
|
||||
ではじめて登場し、その後
|
||||
.Fx 3.4
|
||||
で登場しました。
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
|
|
|
|||
|
|
@ -34,23 +34,15 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)printf.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/stdio/printf.3,v 1.17.2.6 2001/04/18 13:21:08 ru Exp %
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libc/stdio/printf.3,v 1.17.2.9 2001/08/17 15:42:41 ru Exp %
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt PRINTF 3
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm printf ,
|
||||
.Nm fprintf ,
|
||||
.Nm sprintf ,
|
||||
.Nm snprintf ,
|
||||
.Nm asprintf ,
|
||||
.Nm vprintf ,
|
||||
.Nm vfprintf,
|
||||
.Nm vsprintf ,
|
||||
.Nm vsnprintf ,
|
||||
.Nm vasprintf
|
||||
.Nm printf , fprintf , sprintf , snprintf , asprintf ,
|
||||
.Nm vprintf , vfprintf, vsprintf , vsnprintf , vasprintf
|
||||
.Nd 書式に変換して出力
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
|
|
@ -86,12 +78,14 @@
|
|||
と
|
||||
.Fn vprintf
|
||||
は、標準出力
|
||||
.Em stdout
|
||||
.Pa stdout
|
||||
に出力を行います。
|
||||
.Fn fprintf
|
||||
と
|
||||
.Fn vfprintf
|
||||
は、指定された出力ストリームに出力を行います。
|
||||
は、指定された出力
|
||||
.Fa stream
|
||||
に出力を行います。
|
||||
.Fn sprintf ,
|
||||
.Fn snprintf ,
|
||||
.Fn vsprintf ,
|
||||
|
|
@ -118,7 +112,17 @@
|
|||
この関数は、出力された文字数
|
||||
(文字列への出力を終了する、最後の
|
||||
.Ql \e0
|
||||
は含まない) を戻します。
|
||||
は含まない) を返します。
|
||||
.Fn snprintf
|
||||
と
|
||||
.Fn vsnprintf
|
||||
の場合のみ、
|
||||
.Fa size
|
||||
の制限が無かったとしたら
|
||||
出力されたであろう文字数
|
||||
(同様に文字列の最後の
|
||||
.Ql \e0
|
||||
は含まない) を返します。
|
||||
.Pp
|
||||
.Fn asprintf
|
||||
と
|
||||
|
|
@ -135,7 +139,9 @@
|
|||
.Fn vasprintf
|
||||
は -1 を戻し、
|
||||
.Fa ret
|
||||
を NULL ポインタに設定します。
|
||||
を
|
||||
.Dv NULL
|
||||
ポインタに設定します。
|
||||
.Pp
|
||||
.Fn snprintf
|
||||
と
|
||||
|
|
@ -143,12 +149,14 @@
|
|||
は、最大で
|
||||
.Fa size Ns \-1
|
||||
文字だけ出力文字列に書き込みます
|
||||
(size 番目の文字は終端の
|
||||
(
|
||||
.Fa size
|
||||
番目の文字は終端の
|
||||
.Ql \e0
|
||||
になります)。
|
||||
戻り値が
|
||||
.Fa size
|
||||
引数以上である場合は、文字列を格納するには短すぎたため、
|
||||
引数以上である場合は、文字列を格納するには短かすぎたため、
|
||||
出力された文字の一部が破棄されたことになります。
|
||||
.Pp
|
||||
.Fn sprintf
|
||||
|
|
@ -163,9 +171,9 @@
|
|||
通常文字
|
||||
.Cm ( %
|
||||
以外)、および 0 以上の後続の引数を取り出す変換指定があります。
|
||||
それぞれの変換指定は、文字
|
||||
それぞれの変換指定は、
|
||||
.Cm %
|
||||
から始まります。引数は、
|
||||
文字から始まります。引数は、
|
||||
(型拡張の後に) 変換指示子に適切に対応する必要があります。
|
||||
.Cm %
|
||||
の後には、以下が順番に現れます。
|
||||
|
|
@ -177,7 +185,8 @@
|
|||
次にアクセスする引数を指定する任意のフィールド。
|
||||
このフィールドを指定しないと、最後にアクセスされた
|
||||
引数に続く引数が使用されます。引数には
|
||||
.Cm 1 から始まる番号が付きます。
|
||||
.Cm 1
|
||||
から始まる番号が付きます。
|
||||
書式指定文字列で、
|
||||
アクセスできない引数がアクセスできる引数に点在する場合、
|
||||
結果は不定になります。
|
||||
|
|
@ -185,15 +194,12 @@
|
|||
0 個以上の以下のフラグ
|
||||
.Bl -hyphen
|
||||
.It
|
||||
値を ``代替形式'' に変換することを指定する
|
||||
値を
|
||||
.Dq 代替形式
|
||||
に変換することを指定する
|
||||
.Cm #
|
||||
文字。
|
||||
.Cm c ,
|
||||
.Cm d ,
|
||||
.Cm i ,
|
||||
.Cm n ,
|
||||
.Cm p ,
|
||||
.Cm s ,
|
||||
.Cm c , d , i , n , p , s ,
|
||||
および
|
||||
.Cm u
|
||||
変換の場合、このオプションは効果を発揮しません。
|
||||
|
|
@ -210,10 +216,7 @@
|
|||
変換の場合は
|
||||
.Ql 0X )
|
||||
が付きます。
|
||||
.Cm e ,
|
||||
.Cm E ,
|
||||
.Cm f ,
|
||||
.Cm g ,
|
||||
.Cm e , E , f , g ,
|
||||
および
|
||||
.Cm G
|
||||
変換の場合は、小数点以下がなくても小数点が結果に常に含まれます
|
||||
|
|
@ -224,51 +227,40 @@
|
|||
.Cm G
|
||||
変換の場合は、後続の 0 が通常の場合のように結果から削除されません。
|
||||
.It
|
||||
0 のパディングを指定する
|
||||
.Sq Cm \&0
|
||||
文字。
|
||||
.Cm 0
|
||||
(ゼロ) 文字のパディングを指定する。
|
||||
.Cm n
|
||||
変換を除くすべての変換では、
|
||||
変換値の左に空白ではなく 0 が付きます。数値変換
|
||||
.Pf ( Cm d ,
|
||||
.Cm i ,
|
||||
.Cm o ,
|
||||
.Cm u ,
|
||||
.Cm i ,
|
||||
.Cm x ,
|
||||
.Cm ( d , i , o , u , i , x ,
|
||||
および
|
||||
.Cm X )
|
||||
で精度が指定されている場合、
|
||||
.Sq Cm \&0
|
||||
.Cm 0
|
||||
フラグは無視されます。
|
||||
.It
|
||||
負のフィールド幅を示す
|
||||
.Sq Cm \-
|
||||
.Cm \-
|
||||
フラグは変換された値がフィールド境界の左で揃えられる事を示します。
|
||||
.Cm n
|
||||
変換以外では、変換値の左に空白か 0 が付くのではなく、
|
||||
変換値の右に空白が付きます。
|
||||
.Sq Cm \-
|
||||
.Cm \-
|
||||
と
|
||||
.Sq Cm \&0
|
||||
.Cm \&0
|
||||
を両方とも指定した場合は
|
||||
.Sq Cm \&0
|
||||
.Cm \&0
|
||||
が無効になります。
|
||||
.It
|
||||
空白。符号付き変換
|
||||
.Pf ( Cm d ,
|
||||
.Cm e ,
|
||||
.Cm E ,
|
||||
.Cm f ,
|
||||
.Cm g ,
|
||||
.Cm G ,
|
||||
.Cm ( d , e , E , f , g , G ,
|
||||
および
|
||||
.Cm i )
|
||||
で作成される正の数値の前に空白が残ります。
|
||||
.It
|
||||
.Sq Cm +
|
||||
.Cm +
|
||||
文字。符号付き変換で作成される数値の前に常に符号が付きます。
|
||||
.Sq Cm +
|
||||
.Cm +
|
||||
と空白を両方とも指定した場合は空白が無効になります。
|
||||
.El
|
||||
.It
|
||||
|
|
@ -278,19 +270,14 @@
|
|||
フィールドの幅に合わせられます。
|
||||
.It
|
||||
ピリオド
|
||||
.Sq Cm .\&
|
||||
.Cm .\&
|
||||
の次に任意の数字文字列が続く形式の精度。
|
||||
数字文字列を省略した場合、精度は 0 になります。
|
||||
.Cm d ,
|
||||
.Cm i ,
|
||||
.Cm o ,
|
||||
.Cm u ,
|
||||
.Cm x ,
|
||||
.Cm d , i , o , u , x ,
|
||||
および
|
||||
.Cm X
|
||||
変換では、この精度の最低桁数が出力されます。
|
||||
.Cm e ,
|
||||
.Cm E ,
|
||||
.Cm e , E ,
|
||||
および
|
||||
.Cm f
|
||||
変換では、小数点以下にこの精度の桁数が出力されます。
|
||||
|
|
@ -304,74 +291,75 @@
|
|||
オプション文字
|
||||
.Cm h
|
||||
。後の
|
||||
.Cm d ,
|
||||
.Cm i ,
|
||||
.Cm o ,
|
||||
.Cm u ,
|
||||
.Cm x ,
|
||||
.Cm d , i , o , u , x ,
|
||||
および
|
||||
.Cm X
|
||||
変換が
|
||||
.Em short int
|
||||
.Vt short int
|
||||
引数か
|
||||
.Em unsigned short int
|
||||
.Vt unsigned short int
|
||||
引数に対応すること、または後の
|
||||
.Cm n
|
||||
変換が
|
||||
.Em short int
|
||||
.Vt short int
|
||||
引数のポインタに対応することを指定します。
|
||||
.It
|
||||
オプション文字
|
||||
.Cm l
|
||||
。後の
|
||||
.Cm d ,
|
||||
.Cm i ,
|
||||
.Cm o ,
|
||||
.Cm u ,
|
||||
.Cm x ,
|
||||
(小文字の L)。後の
|
||||
.Cm d , i , o , u , x ,
|
||||
および
|
||||
.Cm X
|
||||
変換が
|
||||
.Em long int
|
||||
.Vt long int
|
||||
引数か
|
||||
.Em unsigned long int
|
||||
.Vt unsigned long int
|
||||
引数のポインタに適用されること、または後の
|
||||
.Cm n
|
||||
変換が
|
||||
.Em long int
|
||||
.Vt long int
|
||||
引数のポインタに対応することを指定します。
|
||||
.It
|
||||
オプション文字
|
||||
.Cm q
|
||||
。後の
|
||||
.Cm d ,
|
||||
.Cm i ,
|
||||
.Cm o ,
|
||||
.Cm u ,
|
||||
.Cm x ,
|
||||
.Cm ll
|
||||
(小文字の L が 2 つ)。後の
|
||||
.Cm d , i , o , u , x ,
|
||||
および
|
||||
.Cm X
|
||||
変換が
|
||||
.Em quad int
|
||||
.Vt long long int
|
||||
引数か
|
||||
.Em unsigned quad int
|
||||
.Vt unsigned long long int
|
||||
引数に対応すること、または後の
|
||||
.Cm n
|
||||
変換が
|
||||
.Em quad int
|
||||
.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 ,
|
||||
.Cm E ,
|
||||
.Cm f ,
|
||||
.Cm g ,
|
||||
.Cm e , E , f , g ,
|
||||
および
|
||||
.Cm G
|
||||
変換が
|
||||
.Em long double
|
||||
.Vt long double
|
||||
引数に対応することを指定します。
|
||||
.It
|
||||
適用する変換の型を指定する文字。
|
||||
|
|
@ -382,7 +370,7 @@
|
|||
、または数字文字列の代わりに 1 つ以上の 10 進数と
|
||||
.Ql $
|
||||
が続くアスタリスクで指定できます。この場合、
|
||||
.Em int
|
||||
.Vt int
|
||||
引数はフィールド幅か精度を提供します。
|
||||
負のフィールド幅は、
|
||||
正のフィールド幅が続く左揃えフラグとして扱われます。
|
||||
|
|
@ -395,9 +383,9 @@
|
|||
.Pp
|
||||
.Bl -tag -width "diouxX"
|
||||
.It Cm diouxX
|
||||
.Em int
|
||||
.Vt int
|
||||
引数 (または適切な可変引数) が、符号付き 10 進
|
||||
.Pf ( Cm d
|
||||
.Cm ( d
|
||||
と
|
||||
.Cm i )
|
||||
、符号なし 8 進
|
||||
|
|
@ -405,7 +393,7 @@
|
|||
、符号なし 10 進
|
||||
.Pq Cm u
|
||||
、符号なし 16 進
|
||||
.Pf ( Cm x
|
||||
.Cm ( x
|
||||
と
|
||||
.Cm X )
|
||||
に変換されます。
|
||||
|
|
@ -421,20 +409,18 @@
|
|||
変換値で少ない桁しか必要ない場合は、
|
||||
左に 0 が付きます。
|
||||
.It Cm DOU
|
||||
.Em long int
|
||||
.Vt long int
|
||||
引数が、符号付き 10 進、符号なし 8 進、符号なし 10 進に、
|
||||
それぞれの形式が
|
||||
.Cm ld ,
|
||||
.Cm lo ,
|
||||
.Cm ld , lo ,
|
||||
および
|
||||
.Cm lu
|
||||
であるかのように変換されます。
|
||||
この変換文字には問題があるので、最終的には出力されません。
|
||||
.It Cm eE
|
||||
.Em double
|
||||
.Vt double
|
||||
引数が丸められ、
|
||||
.Sm off
|
||||
.Pf [\-]d Cm \&. No ddd Cm e No \\*(Pmdd
|
||||
.Sm of
|
||||
.Oo \- Oc Ns d Ns Cm \&. Ns ddd Ns Cm e Ns \\*[Pm]dd
|
||||
のスタイルに変換されます。
|
||||
小数点以上は 1 桁で、小数点以下の桁数は精度と等しくなります。
|
||||
精度が指定されていない場合は 6 が仮定されます。
|
||||
|
|
@ -447,18 +433,16 @@
|
|||
指数には、最低 2 桁が常に含まれます。
|
||||
値が 0 である場合、指数は 00 になります。
|
||||
.It Cm f
|
||||
.Em double
|
||||
.Vt double
|
||||
引数が丸められ、
|
||||
.Sm off
|
||||
.Pf [-]ddd Cm \&. No ddd
|
||||
.Sm on
|
||||
.Oo \- Oc Ns ddd Ns Cm \&. Ns ddd ,
|
||||
のスタイルで 10 進に変換されます。
|
||||
小数点以下の桁数は、精度指定に等しくなります。
|
||||
精度が指定されていない場合は 6 が仮定されます。
|
||||
精度が 0 である場合、小数点は出力されません。
|
||||
小数点が出力される場合は、小数点以上に最低 1 桁が出力されます。
|
||||
.It Cm gG
|
||||
.Em double
|
||||
.Vt double
|
||||
引数が、スタイル
|
||||
.Cm f
|
||||
か
|
||||
|
|
@ -475,23 +459,26 @@
|
|||
後続の 0 は、結果の小数部から削除されます。
|
||||
小数点は、小数点以下に最低でも 1 桁ある場合に出力されます。
|
||||
.It Cm c
|
||||
.Em int
|
||||
.Vt int
|
||||
引数が
|
||||
.Em unsigned char
|
||||
.Vt unsigned char
|
||||
に変換され、変換された文字が出力されます。
|
||||
.It Cm s
|
||||
.Dq Em char *
|
||||
.Vt char *
|
||||
引数が、文字型の配列を指すポインタ
|
||||
(文字列へのポインタ) とみなされます。
|
||||
配列の文字は、最後のヌル文字まで出力されます
|
||||
(ヌル文字は出力されません)。
|
||||
(
|
||||
.Dv NULL
|
||||
文字は出力されません)。
|
||||
精度が指定されている場合、指定された数以上は出力されないので、
|
||||
ヌル文字は必要ありません。
|
||||
.Dv NULL
|
||||
文字は必要ありません。
|
||||
精度が指定されていない場合、
|
||||
または精度が配列のサイズ以上である場合、
|
||||
配列の最後にはヌル文字が必要です。
|
||||
.It Cm p
|
||||
.Dq Em void *
|
||||
.Vt void *
|
||||
ポインタ引数が、16 進で
|
||||
.Ql ( %#x
|
||||
か
|
||||
|
|
@ -499,7 +486,7 @@
|
|||
でのように) 出力されます。
|
||||
.It Cm n
|
||||
これまでに出力された文字数が、
|
||||
.Dq Em int *
|
||||
.Vt int *
|
||||
ポインタ引数 (または可変ポインタ引数)
|
||||
が指定する整数に保存されます。
|
||||
引数は変換されません。
|
||||
|
|
@ -515,11 +502,12 @@
|
|||
フィールドは切り捨てられません。変換結果がフィールド幅より大きい場合、
|
||||
フィールドは変換結果を収容できるようになるまで拡張されます。
|
||||
.Sh 例
|
||||
.Em weekday
|
||||
.Fa weekday
|
||||
と
|
||||
.Em month
|
||||
.Fa month
|
||||
が文字列へのポインタである場合に
|
||||
`Sunday, July 3, 10:02' という形式で日付と時刻を出力する場合:
|
||||
.Dq Li "Sunday, July 3, 10:02"
|
||||
という形式で日付と時刻を出力する場合:
|
||||
.Bd -literal -offset indent
|
||||
#include <stdio.h>
|
||||
fprintf(stdout, "%s, %s %d, %.2d:%.2d\en",
|
||||
|
|
@ -568,7 +556,9 @@ char *newfmt(const char *fmt, ...)
|
|||
.Fn asprintf
|
||||
関数と
|
||||
.Fn vasprintf
|
||||
関数は、GNU C ライブラリに追加されました。これは、
|
||||
関数は、
|
||||
.Tn GNU C
|
||||
ライブラリに追加されました。これは、
|
||||
.Fx 2.2
|
||||
で
|
||||
.An Peter Wemm Aq peter@FreeBSD.org
|
||||
|
|
@ -579,20 +569,19 @@ char *newfmt(const char *fmt, ...)
|
|||
のシステムで置き換えられました。
|
||||
.Sh バグ
|
||||
変換形式
|
||||
.Cm \&%D ,
|
||||
.Cm \&%O ,
|
||||
.Cm \&%D , \&%O ,
|
||||
および
|
||||
.Cm \&%U
|
||||
.Cm %U
|
||||
は標準的ではなく、下位互換性を保つために提供されています。
|
||||
.Cm %p
|
||||
形式に (
|
||||
.Sq Cm 0
|
||||
.Cm 0
|
||||
フラグか精度を指定することで) 0 をパディングすること、
|
||||
.Cm %n
|
||||
変換と
|
||||
.Cm %p
|
||||
変換で
|
||||
.Sq Cm #
|
||||
.Cm #
|
||||
フラグを指定すること、
|
||||
.Cm %Ld
|
||||
のような無意味な組み合わせは標準的でありません。
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
.\"
|
||||
.\"
|
||||
.\" 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:
|
||||
|
|
@ -22,41 +22,36 @@
|
|||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %Id: property.3,v 1.4 1998/11/22 13:20:09 jkh Exp %
|
||||
.\" "
|
||||
.\"
|
||||
.\" %FreeBSD: src/lib/libutil/property.3,v 1.8.2.6 2001/07/22 12:07:18 dd Exp %
|
||||
.\" $FreeBSD$
|
||||
.\" "
|
||||
.Dd October 7, 1998
|
||||
.Os
|
||||
.Dt properties 3
|
||||
.Dt PROPERTIES 3
|
||||
.Sh 名称
|
||||
.Nm properties_read ,
|
||||
.Nm properties_read ,
|
||||
.Nm propery_find ,
|
||||
.Nm properties_free
|
||||
.Nd 単純なプロパティリストを ascii から作成する関数
|
||||
.Nd 単純なプロパティリストを ASCII から作成する関数
|
||||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <libutil.h>
|
||||
.Ft properties
|
||||
.Fn properties_read "int fd"
|
||||
.Ft char *
|
||||
.Fn property_find "properties list" "char *name"
|
||||
.Fn property_find "properties list" "const char *name"
|
||||
.Ft void
|
||||
.Fn properties_free "properties list"
|
||||
.Pp
|
||||
.Xr cc 1
|
||||
コマンド行で
|
||||
.Va -lutil
|
||||
を指定してリンクする。
|
||||
.Sh 解説
|
||||
.nf
|
||||
.Bd -literal
|
||||
typedef struct _properties {
|
||||
struct _properties *next;
|
||||
char *name;
|
||||
char *value;
|
||||
} *properties;
|
||||
.fi
|
||||
|
||||
.Ed
|
||||
.Pp
|
||||
関数
|
||||
.Fn properties_read
|
||||
は、
|
||||
|
|
@ -64,7 +59,10 @@ typedef struct _properties {
|
|||
で渡されたファイル記述子から名前と値のペアを読み込み、
|
||||
ファイルの内容が適切に分析されたものとして新しい
|
||||
プロパティリストのヘッドを戻します。エラーが発生した場合は
|
||||
NULL を戻します。
|
||||
NULL が返されます。
|
||||
返される値は、最大長
|
||||
.Dv PROPERTY_MAX_VALUE
|
||||
バイトまでです。
|
||||
.Pp
|
||||
.Fn property_find
|
||||
は、
|
||||
|
|
@ -94,4 +92,4 @@ NULL
|
|||
.Sh バグ
|
||||
単純です。
|
||||
.Sh 作者
|
||||
Jordan Hubbard
|
||||
.An Jordan Hubbard
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@
|
|||
.\" 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.2 2001/03/06 19:08:09 ru Exp %
|
||||
.\" %FreeBSD: src/share/man/man3/pthread.3,v 1.12.2.4 2001/08/17 13:08:36 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd September 10, 1998
|
||||
.Dt PTHREAD 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread
|
||||
.Nd POSIX スレッド関数
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_cleanup_pop.3,v 1.5.2.3 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 30, 1998
|
||||
.Dt PTHREAD_CLEANUP_POP 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_cleanup_pop
|
||||
.Nd 最初のクリーンアップルーチンの呼び出し
|
||||
|
|
@ -62,5 +62,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_cleanup_push.3,v 1.5.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 30, 1998
|
||||
.Dt PTHREAD_CLEANUP_PUSH 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_cleanup_push
|
||||
.Nd スレッド終了時のクリーンアップ関数の追加
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
.Fa cleanup_routine
|
||||
を追加します。
|
||||
.Pp
|
||||
.Fn pthread_cleanup_push
|
||||
.Fa cleanup_routine
|
||||
が呼び出されると、
|
||||
.Fa arg
|
||||
がその唯一の引数として渡されます。
|
||||
|
|
@ -64,5 +64,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_broadcast.3,v 1.5.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 28, 1998
|
||||
.Dt PTHREAD_COND_BROADCAST 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_cond_broadcast
|
||||
.Nd 条件変数を待っている全てのスレッドのブロック解除
|
||||
|
|
@ -70,5 +70,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_destroy.3,v 1.6.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 28, 1998
|
||||
.Dt PTHREAD_COND_DESTROY 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_cond_destroy
|
||||
.Nd 条件変数の破壊
|
||||
|
|
@ -74,5 +74,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_init.3,v 1.6.2.5 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 28, 1998
|
||||
.Dt PTHREAD_COND_INIT 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_cond_init
|
||||
.Nd 条件変数の作成
|
||||
|
|
@ -78,5 +78,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_signal.3,v 1.5.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 28, 1998
|
||||
.Dt PTHREAD_COND_SIGNAL 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_cond_signal
|
||||
.Nd 条件変数を待っている 1 つのスレッドのブロック解除
|
||||
|
|
@ -70,5 +70,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
.\" 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.3 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_timedwait.3,v 1.8.2.6 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 28, 1998
|
||||
.Dt PTHREAD_COND_TIMEDWAIT 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_cond_timedwait
|
||||
.Nd 指定した時間の間の条件変数の待機
|
||||
|
|
@ -88,5 +88,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_cond_wait.3,v 1.8.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 28, 1998
|
||||
.Dt PTHREAD_COND_WAIT 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_cond_wait
|
||||
.Nd 条件変数の待機
|
||||
|
|
@ -81,5 +81,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_create.3,v 1.9.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 4, 1996
|
||||
.Dt PTHREAD_CREATE 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_create
|
||||
.Nd 新しいスレッドの作成
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_detach.3,v 1.6.2.5 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 4, 1996
|
||||
.Dt PTHREAD_DETACH 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_detach
|
||||
.Nd スレッドのデタッチ
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_equal.3,v 1.4.2.5 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 4, 1996
|
||||
.Dt PTHREAD_EQUAL 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_equal
|
||||
.Nd スレッド ID の比較
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@
|
|||
.\" 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.3 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_exit.3,v 1.8.2.6 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 4, 1996
|
||||
.Dt PTHREAD_EXIT 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_exit
|
||||
.Nd 呼び出しているスレッドの終了
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_getspecific.3,v 1.6.2.3 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 4, 1996
|
||||
.Dt PTHREAD_GETSPECIFIC 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_getspecific
|
||||
.Nd スレッド固有のデータ値の取得
|
||||
|
|
@ -80,5 +80,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_join.3,v 1.7.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 4, 1996
|
||||
.Dt PTHREAD_JOIN 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_join
|
||||
.Nd スレッド終了の待機
|
||||
|
|
@ -103,5 +103,3 @@ NULL
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_key_create.3,v 1.6.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 4, 1996
|
||||
.Dt PTHREAD_KEY_CREATE 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_key_create
|
||||
.Nd スレッド固有のデータキーの作成
|
||||
|
|
@ -91,7 +91,6 @@
|
|||
.It Bq Er ENOMEM
|
||||
キーを作成するための十分なメモリがありません。
|
||||
.El
|
||||
.Pp
|
||||
.Sh 関連項目
|
||||
.Xr pthread_getspecific 3 ,
|
||||
.Xr pthread_key_delete 3 ,
|
||||
|
|
@ -101,5 +100,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:08 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_key_delete.3,v 1.6.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 4, 1996
|
||||
.Dt PTHREAD_KEY_DELETE 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_key_delete
|
||||
.Nd スレッド固有のデータキーの削除
|
||||
|
|
@ -84,7 +84,6 @@
|
|||
.Fa key
|
||||
の値が無効です。
|
||||
.El
|
||||
.Pp
|
||||
.Sh 関連項目
|
||||
.Xr pthread_getspecific 3 ,
|
||||
.Xr pthread_key_create 3 ,
|
||||
|
|
@ -94,5 +93,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:09 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_destroy.3,v 1.5.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 29, 1998
|
||||
.Dt PTHREAD_MUTEX_DESTROY 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_mutex_destroy
|
||||
.Nd mutex のために割り当てられたリソースの開放
|
||||
|
|
@ -42,7 +42,9 @@
|
|||
.Fn pthread_mutex_destroy "pthread_mutex_t *mutex"
|
||||
.Sh 解説
|
||||
.Fn pthread_mutex_destroy
|
||||
関数は、mutex のために割り当てられたリソースを開放します。
|
||||
関数は、
|
||||
.Fa mutex
|
||||
のために割り当てられたリソースを開放します。
|
||||
.Sh 戻り値
|
||||
問題がない場合は、
|
||||
.Fn pthread_mutex_destroy
|
||||
|
|
@ -59,7 +61,6 @@
|
|||
.Fa mutex
|
||||
が別のスレッドにロックされています。
|
||||
.El
|
||||
.Pp
|
||||
.Sh 関連項目
|
||||
.Xr pthread_mutex_init 3 ,
|
||||
.Xr pthread_mutex_lock 3 ,
|
||||
|
|
@ -70,5 +71,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:09 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_init.3,v 1.6.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 29, 1998
|
||||
.Dt PTHREAD_MUTEX_INIT 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_mutex_init
|
||||
.Nd mutex の作成
|
||||
|
|
@ -66,7 +66,6 @@
|
|||
.It Bq Er EAGAIN
|
||||
別の mutex を作成するために一時的なリソースが不足しています。
|
||||
.El
|
||||
.Pp
|
||||
.Sh 関連項目
|
||||
.Xr pthread_mutex_destroy 3 ,
|
||||
.Xr pthread_mutex_lock 3 ,
|
||||
|
|
@ -77,5 +76,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:09 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_lock.3,v 1.5.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 30, 1998
|
||||
.Dt PTHREAD_MUTEX_LOCK 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_mutex_lock
|
||||
.Nd mutex のロック
|
||||
|
|
@ -64,7 +64,6 @@ mutex
|
|||
を待つためにそのスレッドがブロックされた場合には、
|
||||
デッドロックが発生しています。
|
||||
.El
|
||||
.Pp
|
||||
.Sh 関連項目
|
||||
.Xr pthread_mutex_destroy 3 ,
|
||||
.Xr pthread_mutex_init 3 ,
|
||||
|
|
@ -75,5 +74,3 @@ mutex
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:09 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_trylock.3,v 1.5.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 30, 1998
|
||||
.Dt PTHREAD_MUTEX_TRYLOCK 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_mutex_trylock
|
||||
.Nd ブロックを伴わない mutex のロックの試行
|
||||
|
|
@ -64,7 +64,6 @@ mutex
|
|||
.Fa mutex
|
||||
が既にロックされています。
|
||||
.El
|
||||
.Pp
|
||||
.Sh 関連項目
|
||||
.Xr pthread_mutex_destroy 3 ,
|
||||
.Xr pthread_mutex_init 3 ,
|
||||
|
|
@ -75,5 +74,3 @@ mutex
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,12 +25,12 @@
|
|||
.\" 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.2 2001/03/06 16:46:09 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_mutex_unlock.3,v 1.5.2.4 2001/08/17 15:42:51 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd July 30, 1998
|
||||
.Dt PTHREAD_MUTEX_UNLOCK 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_mutex_unlock
|
||||
.Nd mutex のロックを解除
|
||||
|
|
@ -65,7 +65,6 @@
|
|||
.Fa mutex
|
||||
のロックを保持していません。
|
||||
.El
|
||||
.Pp
|
||||
.Sh 関連項目
|
||||
.Xr pthread_mutex_destroy 3 ,
|
||||
.Xr pthread_mutex_init 3 ,
|
||||
|
|
@ -76,5 +75,3 @@
|
|||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -28,12 +28,12 @@
|
|||
.\" 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.3 2001/03/06 16:46:09 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_once.3,v 1.6.2.6 2001/08/17 15:42:52 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 4, 1996
|
||||
.Dt PTHREAD_ONCE 3
|
||||
.Os BSD 4
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm pthread_once
|
||||
.Nd 動的なパッケージの初期化
|
||||
|
|
@ -93,7 +93,6 @@ pthread_once_t
|
|||
で初期化されていない場合には、
|
||||
.Fn pthread_once
|
||||
の動作は未定義です。
|
||||
.Pp
|
||||
.Sh 戻り値
|
||||
問題がない場合は、
|
||||
.Fn pthread_once
|
||||
|
|
@ -101,10 +100,8 @@ pthread_once_t
|
|||
問題がある場合は、そのエラーを示すためにエラー番号が返されます。
|
||||
.Sh エラー
|
||||
ありません。
|
||||
.Pp
|
||||
.Sh 規格
|
||||
.Fn pthread_once
|
||||
は
|
||||
.St -p1003.1-96
|
||||
に適合しています。
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
.\" 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.1 2000/04/22 16:35:07 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlock_destroy.3,v 1.3.2.2 2001/07/22 12:07:01 dd Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd August 4, 1998
|
||||
|
|
@ -77,6 +77,4 @@
|
|||
.Fn pthread_rwlock_destroy
|
||||
簇眶は、
|
||||
.Fx 3.0
|
||||
で初めて登場しました。
|
||||
|
||||
|
||||
ではじめて登場しました。
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
.\" 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.1 2000/04/22 16:35:07 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlock_init.3,v 1.2.2.2 2001/08/17 15:42:52 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd August 4, 1998
|
||||
|
|
|
|||
|
|
@ -115,6 +115,4 @@
|
|||
.Fn pthread_rwlock_rdlock
|
||||
簇眶は、
|
||||
.Fx 3.0
|
||||
で初めて登場しました。
|
||||
|
||||
|
||||
ではじめて登場しました。
|
||||
|
|
|
|||
|
|
@ -77,6 +77,4 @@
|
|||
.Fn pthread_rwlock_unlock
|
||||
簇眶は、
|
||||
.Fx 3.0
|
||||
で初めて登場しました。
|
||||
|
||||
|
||||
ではじめて登場しました。
|
||||
|
|
|
|||
|
|
@ -98,6 +98,4 @@
|
|||
.Fn pthread_rwlock_wrlock
|
||||
簇眶は、
|
||||
.Fx 3.0
|
||||
で初めて登場しました。
|
||||
|
||||
|
||||
ではじめて登場しました。
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
.\" 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.1 2000/04/22 16:35:09 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_destroy.3,v 1.3.2.2 2001/07/22 12:07:01 dd Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd August 4, 1998
|
||||
|
|
@ -66,6 +66,4 @@
|
|||
.Fn pthread_rwlockattr_destroy
|
||||
簇眶は、
|
||||
.Fx 3.0
|
||||
で初めて登場しました。
|
||||
|
||||
|
||||
ではじめて登場しました。
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
.\" 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.2 2001/03/06 16:46:09 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_getpshared.3,v 1.4.2.3 2001/08/17 15:42:52 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd March 22, 1999
|
||||
|
|
@ -79,6 +79,4 @@
|
|||
.Fn pthread_rwlockattr_getpshared
|
||||
簇眶は、
|
||||
.Fx 3.0
|
||||
で初めて登場しました。
|
||||
|
||||
|
||||
ではじめて登場しました。
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
.\" 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.1 2000/04/22 16:35:09 phantom Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_init.3,v 1.3.2.2 2001/08/17 15:42:52 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd August 4, 1998
|
||||
|
|
@ -66,6 +66,4 @@
|
|||
.Fn pthread_rwlockattr_init
|
||||
簇眶は、
|
||||
.Fx 3.0
|
||||
で初めて登場しました。
|
||||
|
||||
|
||||
ではじめて登場しました。
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
.\" 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.2 2001/03/06 16:46:09 ru Exp %
|
||||
.\" %FreeBSD: src/lib/libc_r/man/pthread_rwlockattr_setpshared.3,v 1.3.2.3 2001/08/17 15:42:52 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd August 4, 1998
|
||||
|
|
@ -83,8 +83,7 @@
|
|||
.Fn pthread_rwlockattr_setpshared
|
||||
関数は、
|
||||
.Fx 3.0
|
||||
で初めて登場しました。
|
||||
ではじめて登場しました。
|
||||
.Sh バグ
|
||||
.Dv PTHREAD_PROCESS_SHARED
|
||||
属性は、サポートされていません。
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue