4.3-RELEASE based section 3 manual pages.
(Yes, they are 4.3-RELEASE based translations). Submitted by:jpman project <man-jp@jp.FreeBSD.org> Reviewed by:Yuko Sasaki <yuko@veltec.co.jp>
This commit is contained in:
parent
a8bd2ab848
commit
632fcd2e85
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=10398
22 changed files with 856 additions and 662 deletions
|
@ -1,5 +1,5 @@
|
|||
.\" Copyright (c) 1995
|
||||
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
|
||||
.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
|
@ -11,7 +11,7 @@
|
|||
.\" documentation and/or other materials provided with the distribution.
|
||||
.\" 3. All advertising materials mentioning features or use of this software
|
||||
.\" must display the following acknowledgement:
|
||||
.\" This product includes software developed by Bill Paul.
|
||||
.\" This product includes software developed by Bill Paul.
|
||||
.\" 4. Neither the name of the author nor the names of any co-contributors
|
||||
.\" may be used to endorse or promote products derived from this software
|
||||
.\" without specific prior written permission.
|
||||
|
@ -28,12 +28,12 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" %Id: ethers.3,v 1.7 1997/02/22 15:00:05 peter Exp %
|
||||
.\" %FreeBSD: src/lib/libc/net/ethers.3,v 1.10.2.6 2000/12/14 12:10:01 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd April 12, 1995
|
||||
.Dt ETHERS 3
|
||||
.Os FreeBSD 2.1
|
||||
.Os FreeBSD
|
||||
.Sh 名称
|
||||
.Nm ethers ,
|
||||
.Nm ether_line ,
|
||||
|
@ -41,78 +41,78 @@
|
|||
.Nm ether_ntoa ,
|
||||
.Nm ether_ntohost ,
|
||||
.Nm ether_hostton
|
||||
.Nd イーサネットアドレス変換およびルックアップのルーチン
|
||||
.Nd イーサネットアドレス変換および調査ルーチン
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <sys/socket.h>
|
||||
.Fd #include <net/ethernet.h>
|
||||
.Ft int
|
||||
.Fn ether_line "char *l" "struct ether_addr *e" "char *hostname"
|
||||
.Fn ether_line "const char *l" "struct ether_addr *e" "char *hostname"
|
||||
.Ft struct ether_addr *
|
||||
.Fn ether_aton "char *a"
|
||||
.Fn ether_aton "const char *a"
|
||||
.Ft char *
|
||||
.Fn ether_ntoa "struct ether_addr *n"
|
||||
.Fn ether_ntoa "const struct ether_addr *n"
|
||||
.Ft int
|
||||
.Fn ether_ntohost "char *hostname" "struct ether_addr *e"
|
||||
.Fn ether_ntohost "char *hostname" "const struct ether_addr *e"
|
||||
.Ft int
|
||||
.Fn ether_hostton "char *hostname" "struct ether_addr *e"
|
||||
.Fn ether_hostton "const char *hostname" "struct ether_addr *e"
|
||||
.Sh 解説
|
||||
これらの関数は、
|
||||
.Ar ether_addr
|
||||
構造を使用してイーサネットアドレスに作用します。
|
||||
この構造はヘッダファイル
|
||||
構造体を使用してイーサネットアドレスを操作します。
|
||||
この構造体はヘッダファイル
|
||||
.Aq Pa netinet/if_ether.h
|
||||
に定義されます。
|
||||
に定義されています。
|
||||
.Bd -literal -offset indent
|
||||
/*
|
||||
* イーサネット(MAC)アドレスにあるバイト数
|
||||
* イーサネット(MAC)アドレスのバイト数
|
||||
*/
|
||||
#define ETHER_ADDR_LEN 6
|
||||
#define ETHER_ADDR_LEN 6
|
||||
|
||||
/*
|
||||
* 48 ビットのイーサネットアドレスの構造
|
||||
* 48 ビットイーサネットアドレスの構造体
|
||||
*/
|
||||
struct ether_addr {
|
||||
u_char octet[ETHER_ADDR_LEN];
|
||||
};
|
||||
.Ed
|
||||
.Pp
|
||||
関数
|
||||
.Fn ether_line
|
||||
は、
|
||||
関数は、
|
||||
.Xr ethers 5
|
||||
形式の
|
||||
.Tn ASCII
|
||||
ストリングである
|
||||
文字列である
|
||||
.Ar l
|
||||
を走査し、
|
||||
ストリング内に指定されたイーサネットアドレスに
|
||||
を走査し、文字列で指定されたイーサネットアドレスを
|
||||
.Ar e
|
||||
を設定し、ホスト名に
|
||||
に設定し、ホスト名を
|
||||
.Ar h
|
||||
を設定します。この関数は、
|
||||
に設定します。
|
||||
この関数は、
|
||||
.Pa /etc/ethers
|
||||
の行をそのコンポーネントのパーツにパースするのに使用されます。
|
||||
の行をその構成部分にパースするのに使用されます。
|
||||
.Pp
|
||||
.Fn ether_aton
|
||||
関数は、イーサネットアドレスの
|
||||
.Tn ASCII
|
||||
表現を
|
||||
.Ar ether_addr
|
||||
構造に
|
||||
変換します。同様に、
|
||||
構造体に変換します。
|
||||
同様に、
|
||||
.Fn ether_ntoa
|
||||
は、
|
||||
.Ar ether_addr
|
||||
として指定された
|
||||
イーサネットアドレスを
|
||||
構造体として指定されたイーサネットアドレスを
|
||||
.Tn ASCII
|
||||
ストリングに変換します。
|
||||
文字列に変換します。
|
||||
.Pp
|
||||
.Fn ether_ntohost
|
||||
関数と
|
||||
.Fn ether_hostton
|
||||
関数は、イーサネットアドレスを、
|
||||
関数は、イーサネットアドレスを
|
||||
.Pa /etc/ethers
|
||||
データベースで指定された対応するホスト名にマップします。
|
||||
.Fn ether_ntohost
|
||||
|
@ -121,50 +121,50 @@ struct ether_addr {
|
|||
は、ホスト名からイーサネットアドレスへの変換を行います。
|
||||
.Sh 戻り値
|
||||
.Fn ether_line
|
||||
は、処理が成功するとゼロを返します。指定された行
|
||||
は、処理が成功すると 0 を返します。
|
||||
与えられた行
|
||||
.Ar l
|
||||
の一部をパースできなかった場合はゼロでない値を返します。
|
||||
抽出されたイーサネットアドレスを指定の
|
||||
の一部でもパースできなかった場合は 0 でない値を返します。
|
||||
抽出されたイーサネットアドレスを与えられた
|
||||
.Ar ether_addr
|
||||
構造
|
||||
構造体
|
||||
.Ar e
|
||||
に返し、ホスト名を指定のストリング
|
||||
に返し、ホスト名を与えられた文字列
|
||||
.Ar h
|
||||
に返します。
|
||||
.Pp
|
||||
処理が成功すると、
|
||||
.Fn ether_ntoa
|
||||
は、イーサネットアドレスの
|
||||
は、処理が成功するとイーサネットアドレスの
|
||||
.Tn ASCII
|
||||
表現が入ったストリングを指すポインタを返します。指定された
|
||||
表現が入った文字列へのポインタを返します。
|
||||
与えられた
|
||||
.Ar ether_addr
|
||||
を変換できない場合は、
|
||||
構造体を変換できなかった場合は、
|
||||
.Dv NULL
|
||||
ポインタを返します。同じように、
|
||||
ポインタを返します。
|
||||
同じように、
|
||||
.Fn ether_aton
|
||||
は成功すると
|
||||
.Ar ether_addr
|
||||
構造を指すポインタを返し、失敗すると
|
||||
構造体へのポインタを返し、失敗すると
|
||||
.Dv NULL
|
||||
ポインタを返します。
|
||||
.Pp
|
||||
.Fn ether_ntohost
|
||||
関数と
|
||||
.Fn ether_hostton
|
||||
関数は両方とも成功した場合はゼロを
|
||||
返し、
|
||||
関数は両方とも、成功した場合は 0 を返し、
|
||||
.Pa /etc/ethers
|
||||
データベース内に一致するものを検出できない場合はゼロ
|
||||
でない値を返します。
|
||||
データベース内に一致するものを見つけられなかった場合は
|
||||
0 でない値を返します。
|
||||
.Sh 注
|
||||
ユーザは、
|
||||
.Fn ether_line ,
|
||||
.Fn ether_ntohost
|
||||
および
|
||||
.Fn ether_hostton
|
||||
の各関数に
|
||||
渡されるホスト名ストリングが、返されたホスト名を入れられるほど大きいことを
|
||||
確認する必要があります。
|
||||
の各関数に渡されるホスト名文字列が、
|
||||
返されたホスト名を入れられるほど大きいことを保証する必要があります。
|
||||
.Sh NIS 相互作用
|
||||
.Pa /etc/ethers
|
||||
の中に 1 つの + が入った行がある場合、
|
||||
|
@ -190,8 +190,7 @@ NIS
|
|||
関数は、これらが次に呼び出されたときには
|
||||
上書きされる可能性のある静的メモリ領域に保存された値を返します。
|
||||
.Sh 歴史
|
||||
.Nm ethers
|
||||
ライブラリ関数のこの特別な実現は、
|
||||
.Nm
|
||||
ライブラリ関数のこの実装は、
|
||||
.Fx 2.1
|
||||
のために作成され、
|
||||
ここで現れました。
|
||||
のために作成され、登場しました。
|
||||
|
|
|
@ -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
|
||||
.\" Chris Torek and the American National Standards Committee X3,
|
||||
|
@ -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,10 +33,13 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)ferror.3 8.2 (Berkeley) 4/19/94
|
||||
.\" @(#)ferror.3 8.2 (Berkeley) 4/19/94
|
||||
.\" %FreeBSD: src/lib/libc/stdio/ferror.3,v 1.3.2.2 2001/03/06 16:46:01 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.\" WORD: error indicator エラー表示子 [JIS C]
|
||||
.\" WORD: end-of-file indicator ファイル終了表示子 [JIS C]
|
||||
.Dd April 19, 1994
|
||||
.Dt FERROR 3
|
||||
.Os
|
||||
|
@ -45,9 +48,11 @@
|
|||
.Nm feof ,
|
||||
.Nm ferror ,
|
||||
.Nm fileno
|
||||
.Nd ストリームステータスのチェックとリセット
|
||||
.Nd ストリームの状態のチェックとリセット
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdio.h>
|
||||
.Fd #include
|
||||
.Ft void
|
||||
.Fn clearerr "FILE *stream"
|
||||
.Ft int
|
||||
|
@ -60,24 +65,24 @@
|
|||
.Fn clearerr
|
||||
関数は、
|
||||
.Fa stream
|
||||
が指すストリームのファイル終了インジケータと
|
||||
エラーインジケータをクリアします。
|
||||
が指すストリームに対するファイル終了表示子と
|
||||
エラー表示子をクリアします。
|
||||
.Pp
|
||||
.Fn feof
|
||||
関数は、
|
||||
.Fa stream
|
||||
が指すストリームのファイル終了インジケータを検査し、
|
||||
ファイル終了インジケータが設定されている場合はゼロ以外を戻します。
|
||||
ファイル終了インジケータをクリアできるのは、
|
||||
が指すストリームに対するファイル終了表示子を検査し、
|
||||
ファイル終了表示子が設定されている場合は 0 以外を戻します。
|
||||
ファイル終了表示子をクリアできるのは、
|
||||
.Fn clearerr
|
||||
関数のみです。
|
||||
.Pp
|
||||
.Fn ferror
|
||||
関数は、
|
||||
.Fa stream
|
||||
が指すストリームのエラーインジケータを検査し、
|
||||
エラーインジケータが設定されている場合はゼロ以外を戻します。
|
||||
エラーインジケータをリセットできるのは、
|
||||
が指すストリームに対するエラー表示子を検査し、
|
||||
エラー表示子が設定されている場合は 0 以外を戻します。
|
||||
エラー表示子をリセットできるのは、
|
||||
.Fn clearerr
|
||||
関数のみです。
|
||||
.Pp
|
||||
|
@ -99,5 +104,5 @@
|
|||
関数、
|
||||
.Fn ferror
|
||||
関数は、
|
||||
.St -ansiC
|
||||
.St -isoC
|
||||
に準拠しています。
|
||||
|
|
|
@ -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.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
|
@ -11,8 +11,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.
|
||||
|
@ -29,78 +29,89 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)fgetln.3 8.3 (Berkeley) 4/19/94
|
||||
.\" @(#)fgetln.3 8.3 (Berkeley) 4/19/94
|
||||
.\" %FreeBSD: src/lib/libc/stdio/fgetln.3,v 1.4.2.2 2000/05/06 13:34:12 phantom Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.\" WORD: error indicator エラー表示子 [JIS C]
|
||||
.Dd April 19, 1994
|
||||
.Dt FGETLN 3
|
||||
.Os
|
||||
.Sh 名称
|
||||
.Nm fgetln
|
||||
.Nd ストリームからラインを入手
|
||||
.Nd ストリームから行を取得
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdio.h>
|
||||
.Fd #include
|
||||
.Ft char *
|
||||
.Fn fgetln "FILE *stream" "size_t *len"
|
||||
.Sh 解説
|
||||
.Fn fgetln
|
||||
関数は、
|
||||
.Fa stream
|
||||
が参照するストリームから次のラインのポインタを戻します。
|
||||
このラインは C ストリングではなく、
|
||||
最後はナル文字で終了しません。
|
||||
最後の改行も含めたラインの長さは、
|
||||
が参照するストリームから次の行のポインタを戻します。
|
||||
取得した行は、
|
||||
.Dv NUL
|
||||
文字で終端されていませんので、C 言語での文字列では
|
||||
.Em ありません。
|
||||
最後の改行も含めた行の長さは、
|
||||
.Fa len
|
||||
が指すメモリ位置に保存されます
|
||||
(ラインが、改行で終わらないファイルの最後にある場合、
|
||||
(ただし、改行で終わらないファイルの最後に行がある場合、
|
||||
戻されるテキストに改行は含まれません)。
|
||||
.Sh 戻り値
|
||||
問題なく終了すると、ポインタが戻されます。
|
||||
このポインタは、問題の有無に関係なく、
|
||||
正常終了すると、ポインタが戻されます。
|
||||
このポインタは、次に
|
||||
.Fa stream
|
||||
での次の
|
||||
で
|
||||
.Tn I/O
|
||||
オペレーション、またはストリームが閉じられた直後で無効になります。
|
||||
問題がある場合は
|
||||
操作を行った後 (成功であれ失敗であれ)、あるいはストリームが
|
||||
閉じた直後では無効になります。
|
||||
異常終了した場合は
|
||||
.Dv NULL
|
||||
が戻されます。
|
||||
.Fn fgetln
|
||||
関数は、ファイルの終了とエラーを区別しません。
|
||||
関数は、ファイルの終了とエラーとを区別しません。
|
||||
ファイルの終了かエラーかを判断するには、ルーチン
|
||||
.Xr feof 3
|
||||
と
|
||||
および
|
||||
.Xr ferror 3
|
||||
を使用する必要があります。
|
||||
エラーが発生した場合は、そのエラーを示す値にグローバル変数
|
||||
を使用しなくてはなりません。
|
||||
エラーが発生した場合は、そのエラーを示すために
|
||||
グローバル変数
|
||||
.Va errno
|
||||
が設定されます。
|
||||
ファイルの終了条件は端末でも記憶されるので、条件が
|
||||
ファイルの終了状態はたとえ端末であっても記憶されます。
|
||||
.Xr clearerr 3
|
||||
でクリアされるまで、その後の読込みでは
|
||||
でその状態がクリアされるまでは、
|
||||
その後読込みを試みてもすべて
|
||||
.Dv NULL
|
||||
が常に戻されます。
|
||||
が返されます。
|
||||
.Pp
|
||||
戻されたサイズ以上に変更を加えなければ、
|
||||
戻されたポインタが指すテキストは修正できます。
|
||||
戻されたポインタが指し示すテキストは、
|
||||
そのサイズを超えて変更を加えないという条件であれば
|
||||
変更することができます。
|
||||
この変更内容は、ポインタが無効になると失われます。
|
||||
.Sh エラー
|
||||
.Bl -tag -width [EBADF]
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EBADF
|
||||
引数
|
||||
.Fa stream
|
||||
が、読込み用に開いたストリームではありません。
|
||||
.El
|
||||
.Pp
|
||||
.Fn fgetln
|
||||
関数がエラーになると、ルーチン
|
||||
関数はエラーを発生し、ルーチン
|
||||
.Xr fflush 3 ,
|
||||
.Xr malloc 3 ,
|
||||
.Xr read 2 ,
|
||||
.Xr stat 2 ,
|
||||
.Xr realloc 3
|
||||
に指定されたエラーに
|
||||
用に指定されたエラーのいずれかが
|
||||
.Va errno
|
||||
が設定されることがあります。
|
||||
に設定される場合があります。
|
||||
.Sh 関連項目
|
||||
.Xr ferror 3 ,
|
||||
.Xr fgets 3 ,
|
||||
|
@ -110,4 +121,4 @@
|
|||
.Fn fgetln
|
||||
関数は、
|
||||
.Bx 4.4
|
||||
に追加されました。
|
||||
で初めて登場しました。
|
||||
|
|
|
@ -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
|
||||
.\" Chris Torek and the American National Standards Committee X3,
|
||||
|
@ -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.
|
||||
.\"
|
||||
.\" @(#)fgets.3 8.1 (Berkeley) 6/4/93
|
||||
.\" @(#)fgets.3 8.1 (Berkeley) 6/4/93
|
||||
.\"
|
||||
.\" $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
|
||||
|
@ -43,9 +44,9 @@
|
|||
.Sh 名称
|
||||
.Nm fgets ,
|
||||
.Nm gets
|
||||
.Nd ストリームからラインを入手
|
||||
.Nd ストリームから行を取得
|
||||
.Sh 書式
|
||||
.Fd #include <stdio.h>
|
||||
.Fd #include
|
||||
.Ft char *
|
||||
.Fn fgets "char *str" "int size" "FILE *stream"
|
||||
.Ft char *
|
||||
|
@ -54,37 +55,39 @@
|
|||
.Fn fgets
|
||||
関数は、最大で
|
||||
.Fa size
|
||||
が指定するキャラクタ数より 1 少ないキャラクタを
|
||||
で指定された文字数より 1 だけ少ない数の文字を
|
||||
.Fa stream
|
||||
から読み込み、ストリング
|
||||
から読み込み、文字列
|
||||
.Fa str
|
||||
に保存します。
|
||||
読込みは、改行キャラクタ、ファイルの終了、
|
||||
エラーが見つかった場合に停止します。
|
||||
存在する改行は保持されます。
|
||||
キャラクタを読み込んでエラーが発生しなかった場合、
|
||||
読込みは、改行文字が見つかったり、ファイルの終了
|
||||
あるいはエラーが見つかったりした場合に停止します。
|
||||
改行文字は、存在していれば保持されます。
|
||||
任意の文字を読み込んでエラーが発生しなかった場合、
|
||||
ストリングの最後には
|
||||
.Ql \e0
|
||||
キャラクタが付きます。
|
||||
文字が追加されます。
|
||||
.Pp
|
||||
.Fn gets
|
||||
関数は、改行キャラクタが存在してもストリングに保存されないことを除けば、
|
||||
.Fa size
|
||||
を無限にして
|
||||
.Fa stream
|
||||
を
|
||||
.Em stdin
|
||||
にした
|
||||
関数は
|
||||
.Fn fgets
|
||||
と同じです。呼び出し側では、
|
||||
存在する入力ラインがストリングに収まる長さであることを
|
||||
確認する必要があります。
|
||||
関数で
|
||||
.Fa size
|
||||
を無限にし、
|
||||
.Em stdin
|
||||
を
|
||||
.Fa stream
|
||||
にしたものと等価ですが、
|
||||
文字列中で改行文字が保存されない (改行文字が存在した場合) 点が
|
||||
異なります。
|
||||
入力行が存在する場合、それが十分短く文字列に収まりきる
|
||||
ことを保証するのは呼び出し側の責任です。
|
||||
.Sh 戻り値
|
||||
問題なく終了すると、
|
||||
正常終了すると、
|
||||
.Fn fgets
|
||||
と
|
||||
.Fn gets
|
||||
はストリングのポインタを戻します。
|
||||
は文字列のポインタを戻します。
|
||||
キャラクタを読み込む前にファイルの終了に達すると、
|
||||
.Dv NULL
|
||||
が戻されます。
|
||||
|
@ -94,18 +97,18 @@
|
|||
.Fn fgets
|
||||
関数と
|
||||
.Fn gets
|
||||
関数はファイルの終了とエラーを区別しません。
|
||||
関数はファイルの終了とエラーとを区別しません。
|
||||
ファイルの終了かエラーかを判断するには、呼び出し側が
|
||||
.Xr feof 3
|
||||
と
|
||||
.Xr ferror 3
|
||||
を使用する必要があります。
|
||||
を使用しなくてはなりません。
|
||||
.Sh エラー
|
||||
.Bl -tag -width [EBADF]
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EBADF
|
||||
指定された
|
||||
.Fa stream
|
||||
が、読込み可能ストリームではありません。
|
||||
が、読込み可能なストリームではありません。
|
||||
.El
|
||||
.Pp
|
||||
.Fn fgets
|
||||
|
@ -114,16 +117,16 @@
|
|||
.Xr fstat 2 ,
|
||||
.Xr read 2 ,
|
||||
.Xr malloc 3
|
||||
に指定されたエラーに
|
||||
用に指定されたエラーのいずれかが
|
||||
.Va errno
|
||||
が設定されることがあります。
|
||||
に設定される場合があります。
|
||||
.Pp
|
||||
.Fn gets
|
||||
関数がエラーになると、ルーチン
|
||||
.Xr getchar 3
|
||||
に指定されたエラーに
|
||||
用に指定されたエラーが
|
||||
.Va errno
|
||||
が設定されることがあります。
|
||||
に設定される場合があります。
|
||||
.Sh 関連項目
|
||||
.Xr feof 3 ,
|
||||
.Xr ferror 3 ,
|
||||
|
@ -133,16 +136,18 @@
|
|||
関数と
|
||||
.Fn gets
|
||||
関数は、
|
||||
.St -ansiC
|
||||
.St -isoC
|
||||
に準拠しています。
|
||||
.Sh バグ
|
||||
通常の場合は、
|
||||
次の入力ラインが任意の長さより短いことを確認することは不可能で、
|
||||
入力バッファがオーバフローすると必ずセキュリティ違反となるため、
|
||||
通常、次の入力行がある任意の長さより短いことを保証するのは
|
||||
不可能であり、また入力バッファをオーバフローすると
|
||||
ほぼ必ずセキュリティ違反となるため、
|
||||
プログラムでは
|
||||
.Fn gets
|
||||
を使用しないでください。
|
||||
を
|
||||
.Em 絶対に
|
||||
使用しないでください。
|
||||
.Fn gets
|
||||
は、
|
||||
.St -ansiC
|
||||
に準拠するために存在します。
|
||||
.St -isoC
|
||||
に準拠するためだけに存在しています。
|
||||
|
|
|
@ -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
|
||||
.\" Chris Torek and the American National Standards Committee X3,
|
||||
|
@ -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,7 +33,8 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)fputs.3 8.1 (Berkeley) 6/4/93
|
||||
.\" @(#)fputs.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/stdio/fputs.3,v 1.4.2.3 2001/03/06 16:46:01 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 4, 1993
|
||||
|
@ -43,8 +44,10 @@
|
|||
.Nm fputs ,
|
||||
.Nm puts
|
||||
.Nd 行をストリームに出力する
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdio.h>
|
||||
.Fd #include
|
||||
.Ft int
|
||||
.Fn fputs "const char *str" "FILE *stream"
|
||||
.Ft int
|
||||
|
@ -53,14 +56,17 @@
|
|||
.Fn fputs
|
||||
関数は、
|
||||
.Fa str
|
||||
が指すストリングを
|
||||
が指す文字列を
|
||||
.Fa stream
|
||||
が指すストリームに書き込みます。
|
||||
.\" The terminating
|
||||
.\" .Dv NUL
|
||||
.\" character is not written.
|
||||
.Pp
|
||||
.Fn puts
|
||||
関数は、ストリング
|
||||
関数は、文字列
|
||||
.Fa str
|
||||
と最後に改行文字をストリーム
|
||||
および文字列終端用の改行文字をストリーム
|
||||
.Em stdout
|
||||
に書き込みます。
|
||||
.Sh 戻り値
|
||||
|
@ -73,22 +79,22 @@
|
|||
.Dv EOF
|
||||
を戻します。
|
||||
.Sh エラー
|
||||
.Bl -tag -width [EBADF]
|
||||
.Bl -tag -width Er
|
||||
.It Bq Er EBADF
|
||||
指定された
|
||||
.Fa stream
|
||||
が、書込み可能なストリームではありません。
|
||||
.El
|
||||
.Pp
|
||||
ルーチン
|
||||
.Xr write 2
|
||||
で指定されたエラーに関して
|
||||
.Fn fputs
|
||||
関数と
|
||||
.Fn puts
|
||||
関数が失敗し、
|
||||
関数は処理に失敗し、
|
||||
ルーチン
|
||||
.Xr write 2
|
||||
で指定されたエラーのいずれかが
|
||||
.Va errno
|
||||
が設定されることがあります。
|
||||
に設定されることがあります。
|
||||
.Sh 関連項目
|
||||
.Xr ferror 3 ,
|
||||
.Xr putc 3 ,
|
||||
|
@ -99,6 +105,5 @@
|
|||
関数と
|
||||
.Fn puts
|
||||
関数は、
|
||||
.St -ansiC
|
||||
.St -isoC
|
||||
に準拠しています。
|
||||
.\"X kuma 1999-11-5
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" Copyright (c) 1983, 1987, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
|
@ -11,8 +11,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.
|
||||
|
@ -29,8 +29,8 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" From: @(#)gethostbyname.3 8.4 (Berkeley) 5/25/95
|
||||
.\" %Id: gethostbyname.3,v 1.10 1998/06/06 05:50:44 jkoshy Exp %
|
||||
.\" 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$
|
||||
.Dd May 25, 1995
|
||||
|
@ -46,9 +46,11 @@
|
|||
.Nm herror ,
|
||||
.Nm hstrerror
|
||||
.Nd ネットワークホストのエントリの取得
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <netdb.h>
|
||||
.Vt extern int h_errno;
|
||||
.Vt extern int h_errno ;
|
||||
.Ft struct hostent *
|
||||
.Fn gethostbyname "const char *name"
|
||||
.Ft struct hostent *
|
||||
|
@ -69,60 +71,57 @@
|
|||
.Fn gethostbyname ,
|
||||
.Fn gethostbyname2 ,
|
||||
.Fn gethostbyaddr
|
||||
関数はそれぞれ、
|
||||
次に示す構造体を持つオブジェクトのポインタを返します。構造体には、
|
||||
名前またはアドレスによって参照されるインターネットホストが記述されていて、
|
||||
ネームサーバ
|
||||
関数はそれぞれ、次に示す構造を持つオブジェクトへのポインタを返します。
|
||||
構造体には、名前またはアドレスによって参照されるインターネットホストが
|
||||
記述されていて、ネームサーバ
|
||||
.Xr named 8
|
||||
から、または
|
||||
.Pa /etc/hosts
|
||||
にある行の内訳フィールドから
|
||||
得られた情報を含んでいます。ローカルのネームサーバが実行されていない場合、
|
||||
これらのルーチンは
|
||||
にある行の内訳フィールドから得られた情報を含んでいます。
|
||||
ローカルのネームサーバが実行されていない場合、これらのルーチンは
|
||||
.Pa /etc/hosts
|
||||
を検索します。
|
||||
.Bd -literal
|
||||
struct hostent {
|
||||
char *h_name; /* ホストの正式名 */
|
||||
char **h_aliases; /* 別名リスト */
|
||||
int h_addrtype; /* ホストアドレスタイプ */
|
||||
int h_length; /* アドレスの長さ */
|
||||
char **h_addr_list; /* ネームサーバからのアドレスリスト */
|
||||
struct hostent {
|
||||
char *h_name; /* ホストの正式名 */
|
||||
char **h_aliases; /* 別名リスト */
|
||||
int h_addrtype; /* ホストアドレスタイプ */
|
||||
int h_length; /* アドレスの長さ */
|
||||
char **h_addr_list; /* ネームサーバからのアドレスリスト */
|
||||
};
|
||||
#define h_addr h_addr_list[0] /* アドレス、下位互換用 */
|
||||
#define h_addr h_addr_list[0] /* アドレス、後方互換用 */
|
||||
.Ed
|
||||
.Pp
|
||||
この構造体のメンバは次のとおりです。
|
||||
.Bl -tag -width h_addr_list
|
||||
.It Fa h_name
|
||||
.It Va h_name
|
||||
ホストの正式名。
|
||||
.It Fa h_aliases
|
||||
.It Va h_aliases
|
||||
ホストの別名 (エイリアス) のヌルで終わる配列。
|
||||
.It Fa h_addrtype
|
||||
.It Va h_addrtype
|
||||
返されるアドレスのタイプであり、通常は
|
||||
.Dv AF_INET
|
||||
。
|
||||
.It Fa h_length
|
||||
.It Va h_length
|
||||
アドレスのバイト数による長さ。
|
||||
.It Fa h_addr_list
|
||||
.It Va h_addr_list
|
||||
ホストのネットワークアドレスのヌルで終わる配列。
|
||||
ホストアドレスはネットワークバイト順で返されます。
|
||||
.It Fa h_addr
|
||||
.Fa h_addr_list
|
||||
にある最初のアドレスであり、下位互換用。
|
||||
ホストアドレスはネットワークバイトオーダで返されます。
|
||||
.It Va h_addr
|
||||
.Va h_addr_list
|
||||
にある最初のアドレスであり、後方互換用。
|
||||
.El
|
||||
.Pp
|
||||
ネームサーバを使用する場合、
|
||||
ネームサーバを使用する場合、名前がドットで終わっていない時は
|
||||
.Fn gethostbyname
|
||||
および
|
||||
.Fn gethostbyname
|
||||
は、目的の名前が付いたホストを、現在のドメインと親のドメインから検索します。
|
||||
ただしこれは、名前がドットで終わっていない場合です。
|
||||
名前にドットが含まれないか、または環境変数
|
||||
.Fn gethostbyname2
|
||||
は名前が付いたホストを、現在のドメインと親のドメインから検索します。
|
||||
名前にドットが含まれてなく、且つ環境変数
|
||||
.Dq Ev HOSTALIASES
|
||||
にエイリアスファイルの名前が含まれている場合は、
|
||||
入力名に適合するエイリアスが最初にエイリアスファイルで検索されます。
|
||||
ドメイン検索手続きとエイリアスファイル書式については、
|
||||
入力名に適合するエイリアスが、まずエイリアスファイルから検索されます。
|
||||
ドメイン検索の手続きとエイリアスファイルの書式については、
|
||||
.Xr hostname 7
|
||||
を参照してください。
|
||||
.Pp
|
||||
|
@ -148,9 +147,9 @@ struct hostent {
|
|||
を返します。
|
||||
.Pp
|
||||
.Fn sethostent
|
||||
関数は、問い合わせ用に、接続した
|
||||
関数は、問い合わせの際に接続された
|
||||
.Tn TCP
|
||||
ソケットの使用を要求する場合に使用できます。
|
||||
ソケットを使いたい場合に使用できます。
|
||||
.Fa stayopen
|
||||
フラグが 0 でなければ、
|
||||
.Tn TCP
|
||||
|
@ -158,8 +157,8 @@ struct hostent {
|
|||
.Fn gethostbyname ,
|
||||
.Fn gethostbyname2 ,
|
||||
.Fn gethostbyaddr
|
||||
のそれぞれ呼び出し後にも、接続を保持するようにオプションが設定できます。
|
||||
その他の場合、問い合わせは
|
||||
のそれぞれ呼び出し後にも、接続を保持するようにオプションを設定します。
|
||||
フラグが 0 の時、問い合わせは
|
||||
.Tn UDP
|
||||
データグラムを使用して
|
||||
実行されます。
|
||||
|
@ -173,7 +172,9 @@ struct hostent {
|
|||
関数は診断出力にメッセージを書き出します。
|
||||
診断出力は文字列パラメータ
|
||||
.Fa s
|
||||
と、定数文字列 ": " と、
|
||||
と、定数文字列
|
||||
.Qq Li ":\ "
|
||||
と、
|
||||
.Va h_errno
|
||||
の値に対応するメッセージで構成されます。
|
||||
.Pp
|
||||
|
@ -201,7 +202,7 @@ struct hostent {
|
|||
ルーチンによって、エラーを記述するエラーメッセージを表示できます。
|
||||
引数
|
||||
.Fa string
|
||||
は、
|
||||
は
|
||||
.Dv NULL
|
||||
でなければ表示され、後にコロンとスペースが続きます。
|
||||
エラーメッセージが終端の改行とともに印刷されます。
|
||||
|
@ -254,8 +255,8 @@ struct hostent {
|
|||
.Pp
|
||||
.Fn sethostent
|
||||
関数はファイル
|
||||
.Pa etc/hosts
|
||||
をオープンおよび/またはリワインドします。
|
||||
.Pa /etc/hosts
|
||||
をオープンもしくはリワインドします。
|
||||
.Fa stayopen
|
||||
引数が 0 でなければ、
|
||||
.Fn gethostbyname ,
|
||||
|
@ -270,7 +271,7 @@ struct hostent {
|
|||
.Fn herror
|
||||
関数は
|
||||
.Bx 4.3
|
||||
で最初に取り入れられました。
|
||||
で登場しました。
|
||||
.Fn endhostent ,
|
||||
.Fn gethostbyaddr ,
|
||||
.Fn gethostbyname ,
|
||||
|
@ -278,11 +279,14 @@ struct hostent {
|
|||
.Fn sethostent
|
||||
関数は
|
||||
.Bx 4.2
|
||||
で最初に取り入れられました。
|
||||
で登場しました。
|
||||
.Fn gethostbyname2
|
||||
関数は bind-4.9.4 で最初に取り入れられました。
|
||||
関数は
|
||||
.Tn BIND
|
||||
バージョン 4.9.4 で初めて登場しました。
|
||||
.Sh バグ
|
||||
これらの関数は静的データ記憶域を使用します。後でデータが必要な場合は、
|
||||
以後の呼び出しで上書きする前にコピーして保存する必要があります。なお、
|
||||
アドレスデータとして受け入れるのは現在、インターネットアドレスフォーマット
|
||||
だけです。
|
||||
これらの関数は静的データ記憶域を使用します。
|
||||
後でこのデータを使う必要がある場合は、以後のこれらの関数呼び出しで
|
||||
データが上書きされる前に、コピーして保存する必要があります。
|
||||
なお、アドレスデータとして受け入れるのは現在、
|
||||
インターネットアドレスフォーマットだけです。
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" Copyright (c) 1983, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
|
@ -11,8 +11,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.
|
||||
|
@ -29,7 +29,8 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)getnetent.3 8.1 (Berkeley) 6/4/93
|
||||
.\" @(#)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$
|
||||
.Dd June 4, 1993
|
||||
|
@ -42,6 +43,8 @@
|
|||
.Nm setnetent ,
|
||||
.Nm endnetent
|
||||
.Nd ネットワークエントリの取得
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <netdb.h>
|
||||
.Ft struct netent *
|
||||
|
@ -58,16 +61,16 @@
|
|||
.Fn getnetent ,
|
||||
.Fn getnetbyname ,
|
||||
.Fn getnetbyaddr
|
||||
関数はそれぞれ、次に示す構造体を持つオブジェクトのポインタを返します。
|
||||
関数はそれぞれ、次に示す構造を持つオブジェクトへのポインタを返します。
|
||||
構造体には、ネットワークデータベース
|
||||
.Pa /etc/network
|
||||
にある行の内訳フィールドが含まれます。
|
||||
.Bd -literal -offset indent
|
||||
struct netent {
|
||||
char *n_name; /* ネットワークの正式名 */
|
||||
char **n_aliases; /* 別名リスト */
|
||||
int n_addrtype; /* ネット番号のタイプ */
|
||||
unsigned long n_net; /* ネット番号 */
|
||||
struct netent {
|
||||
char *n_name; /* ネットワークの正式名 */
|
||||
char **n_aliases; /* 別名リスト */
|
||||
int n_addrtype; /* ネット番号のタイプ */
|
||||
unsigned long n_net; /* ネット番号 */
|
||||
};
|
||||
.Ed
|
||||
.Pp
|
||||
|
@ -83,7 +86,7 @@ struct netent {
|
|||
だけです。
|
||||
.It Fa n_net
|
||||
ネットワーク番号。
|
||||
ネットワーク番号は、マシンバイト順で返されます。
|
||||
ネットワーク番号は、マシンバイトオーダで返されます。
|
||||
.El
|
||||
.Pp
|
||||
.Fn getnetent
|
||||
|
@ -93,11 +96,11 @@ struct netent {
|
|||
.Fn setnetent
|
||||
関数は、目的のファイルをオープンしリワインドします。
|
||||
.Fa stayopen
|
||||
フラグが 0 でなければ
|
||||
フラグが 0 でなければ、
|
||||
.Fn getnetbyname
|
||||
または
|
||||
.Fn getnetbyaddr
|
||||
それぞれの呼び出しの後に、ネットデータベースはクローズされません。
|
||||
のそれぞれの呼び出しの後でも、ネットデータベースはクローズされません。
|
||||
.Pp
|
||||
.Fn endnetent
|
||||
関数はファイルをクローズします。
|
||||
|
@ -112,7 +115,7 @@ struct netent {
|
|||
は
|
||||
.Dv AF_INET
|
||||
でなければなりません。
|
||||
ネットワーク番号はホストオーダで規定されます。
|
||||
ネットワーク番号はホストオーダで返されます。
|
||||
.Pp
|
||||
.Sh 関連ファイル
|
||||
.Bl -tag -width /etc/networks -compact
|
||||
|
@ -134,12 +137,11 @@ struct netent {
|
|||
.Fn endnetent
|
||||
関数は、
|
||||
.Bx 4.2
|
||||
で最初に取り入れられました。
|
||||
で登場しました。
|
||||
.Sh バグ
|
||||
これらの関数で使用されるデータ空間は静的です。
|
||||
後でこのデータを使う必要がある場合は、
|
||||
以後のこれら関数の呼び出しでデータを上書きする前に、
|
||||
コピーして保存する必要があります。
|
||||
後でこのデータを使う必要がある場合は、以後のこれら関数の呼び出しで
|
||||
データが上書きされる前に、コピーして保存する必要があります。
|
||||
データとして受け入れられるのは現在、インターネットネットワーク番号だけです。
|
||||
ネットワーク番号が 32 ビットを超えない範囲に収まるというのは、
|
||||
おそらく素朴な考えです。
|
||||
ネットワーク番号が 32 ビットを超えない範囲に収まっていると期待するのは、
|
||||
おそらく素朴過ぎます。
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" Copyright (c) 1983, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
|
@ -11,8 +11,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.
|
||||
|
@ -29,7 +29,8 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)getprotoent.3 8.1 (Berkeley) 6/4/93
|
||||
.\" @(#)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$
|
||||
.Dd June 4, 1993
|
||||
|
@ -41,7 +42,9 @@
|
|||
.Nm getprotobyname ,
|
||||
.Nm setprotoent ,
|
||||
.Nm endprotoent
|
||||
.Nd プロトコルエントリを取得
|
||||
.Nd プロトコルエントリの取得
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <netdb.h>
|
||||
.Ft struct protoent *
|
||||
|
@ -55,23 +58,20 @@
|
|||
.Ft void
|
||||
.Fn endprotoent void
|
||||
.Sh 解説
|
||||
.Fn getprotoent
|
||||
、
|
||||
.Fn getprotobyname
|
||||
.Fn getprotoent ,
|
||||
.Fn getprotobyname ,
|
||||
および
|
||||
.Fn getprotobynumber
|
||||
関数はそれぞれ、
|
||||
次に示す構造体を持つオブジェクトのポインタを返します。構造体には、
|
||||
ネットワークプロトコルデータベース
|
||||
関数はそれぞれ、次に示す構造を持つオブジェクトへのポインタを返します。
|
||||
構造体には、ネットワークプロトコルデータベース
|
||||
.Pa /etc/protocols
|
||||
にある行の内訳フィールド
|
||||
が含まれます。
|
||||
にある行の内訳フィールドが含まれます。
|
||||
.Bd -literal -offset indent
|
||||
.Pp
|
||||
struct protoent {
|
||||
char *p_name; /* プロトコルのオフィシャル名 */
|
||||
char **p_aliases; /* エイリアスリスト */
|
||||
int p_proto; /* プロトコル番号 */
|
||||
char *p_name; /* プロトコルのオフィシャル名 */
|
||||
char **p_aliases; /* エイリアスリスト */
|
||||
int p_proto; /* プロトコル番号 */
|
||||
};
|
||||
.Ed
|
||||
.Pp
|
||||
|
@ -80,36 +80,32 @@ struct protoent {
|
|||
.It Fa p_name
|
||||
プロトコルのオフィシャル名。
|
||||
.It Fa p_aliases
|
||||
プロトコルのゼロで終わる別名
|
||||
(エイリアス)
|
||||
リスト。
|
||||
プロトコルの別名 (エイリアス) の 0 で終わるリスト。
|
||||
.It Fa p_proto
|
||||
プロトコル番号。
|
||||
.El
|
||||
.Pp
|
||||
.Fn getprotoent
|
||||
関数は、必要ならばファイルをオープンして次の行を読み
|
||||
込みます。
|
||||
関数は、ファイルの次の行を読み込みます。
|
||||
この際、必要ならばファイルをオープンします。
|
||||
.Pp
|
||||
.Fn setprotoent
|
||||
関数は、ファイルをオープンしてリワインドします。
|
||||
.Fa stayopen
|
||||
フラグがゼロでなければ、
|
||||
フラグが 0 でなければ、
|
||||
.Fn getprotobyname
|
||||
または
|
||||
.Fn getprotobynumber
|
||||
の各呼び出しの後、ネットデータベースはクローズされません。
|
||||
|
||||
のそれぞれの呼び出しの後でも、ネットデータベースはクローズされません。
|
||||
.Fn endprotoent
|
||||
関数はファイルをクローズします。
|
||||
.Pp
|
||||
.Fn getprotobyname
|
||||
および
|
||||
.Fn getprotobynumber
|
||||
関数は、適合する
|
||||
プロトコル名またはプロトコル番号が見付かるか、または
|
||||
関数は、適合するプロトコル名またはプロトコル番号が見付かるか、または
|
||||
.Dv EOF
|
||||
に出会うまでファイルを順次検索します。
|
||||
に達するまで、ファイルを最初から順次検索します。
|
||||
.Sh 戻り値
|
||||
.Dv EOF
|
||||
またはエラーで
|
||||
|
@ -124,20 +120,18 @@ Null
|
|||
.Sh 関連項目
|
||||
.Xr protocols 5
|
||||
.Sh 歴史
|
||||
.Fn getprotoent
|
||||
、
|
||||
.Fn getprotobynumber
|
||||
、
|
||||
.Fn getprotobyname
|
||||
、
|
||||
.Fn getprotoent ,
|
||||
.Fn getprotobynumber ,
|
||||
.Fn getprotobyname ,
|
||||
.Fn setprotoent
|
||||
および
|
||||
.Fn endprotoent
|
||||
関数は
|
||||
.Bx 4.2
|
||||
で最初に取り入れられました。
|
||||
で登場しました。
|
||||
.Sh バグ
|
||||
これらの関数は静的データ空間を使用します。後で使用する必要があれば、以後の
|
||||
呼び出しで上書きする前にデータをコピーして保存する必要があります。なお、
|
||||
プロトコルデータとして受け入れるのは現在、インターネットプロトコル
|
||||
だけです。
|
||||
これらの関数は静的データ空間を使用します。
|
||||
後でこのデータを使用する必要があれば、以後のこれらの関数の呼び出しで
|
||||
データが上書きされる前に、コピーして保存する必要があります。
|
||||
なお、プロトコルデータとして受け入れるのは現在、
|
||||
インターネットプロトコルだけです。
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
.\" 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$
|
||||
.Dd June 4, 1993
|
||||
|
@ -37,7 +38,9 @@
|
|||
.Os
|
||||
.Sh 名称
|
||||
.Nm getpw
|
||||
.Nd uidからユーザ名を取得
|
||||
.Nd uid からユーザ名を取得
|
||||
.Sh ライブラリ
|
||||
.Lb libcompat
|
||||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Ft int
|
||||
|
@ -45,22 +48,18 @@
|
|||
.Sh 解説
|
||||
.Bf -symbolic
|
||||
getpw 関数は、getpwuid(3)
|
||||
の登場によって廃止されています。
|
||||
.br
|
||||
互換性ライブラリ
|
||||
libcompat
|
||||
で利用できます。
|
||||
の登場によって旧式のものとなっています。
|
||||
.Ef
|
||||
.Pp
|
||||
.Fn getpw
|
||||
関数はファイル
|
||||
.Pa /etc/passwd
|
||||
を読み出し、指定
|
||||
を読み込んで、指定された
|
||||
.Fa uid
|
||||
が見付かればその
|
||||
が見つかればその
|
||||
パスワードエントリ行を、
|
||||
.Fa buf
|
||||
によって示されるストリングにコピーします。
|
||||
が指す文字列にコピーします。
|
||||
パスワードデータベースからコピーするエントリ行が
|
||||
null
|
||||
で終わっている場合は、
|
||||
|
@ -68,24 +67,24 @@ null
|
|||
キャラクタを後に付加します。
|
||||
.Sh 戻り値
|
||||
.Fn getpw
|
||||
関数は、処理が無事に完了した場合ゼロを返します。エントリが
|
||||
存在しないなど、その他の場合は非ゼロを返します。
|
||||
関数は、処理が正常終了した場合には 0 を返します。
|
||||
エントリが存在しないなど、その他の場合は非 0 を返します。
|
||||
.Sh 関連ファイル
|
||||
.Bl -tag -width /etc/passwd - compact
|
||||
.Bl -tag -width /etc/passwd -compact
|
||||
.It Pa /etc/passwd
|
||||
.El
|
||||
.Sh 関連項目
|
||||
.Xr getpwent 3
|
||||
、
|
||||
.Xr getpwent 3 ,
|
||||
.Xr passwd 5
|
||||
.Sh 歴史
|
||||
.Fn getpw
|
||||
関数は、
|
||||
関数は
|
||||
.At v6
|
||||
で最初に取り入れられました。
|
||||
で初めて登場しました。
|
||||
.Sh バグ
|
||||
.Fa buf
|
||||
で示された領域は、ユーザ名を保持するのに十分な大きさの必要があります。
|
||||
|
||||
で示された領域は、ユーザ名を保持するのに十分な大きさである
|
||||
必要があります。
|
||||
.Pp
|
||||
.Xr getpwent 3
|
||||
に関するバグはすべてこの関数でも有効です。
|
||||
に関するバグはすべてこの関数でも当てはまります。
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" Copyright (c) 1983, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
|
@ -11,8 +11,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.
|
||||
|
@ -29,8 +29,8 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" From: @(#)getservent.3 8.3 (Berkeley) 1/12/94
|
||||
.\" %Id: getservent.3,v 1.5 1997/02/22 15:00:13 peter Exp %
|
||||
.\" 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$
|
||||
.Dd July 9, 1995
|
||||
|
@ -42,7 +42,9 @@
|
|||
.Nm getservbyname ,
|
||||
.Nm setservent ,
|
||||
.Nm endservent
|
||||
.Nd サービスエントリを取得
|
||||
.Nd サービスエントリの取得
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <netdb.h>
|
||||
.Ft struct servent *
|
||||
|
@ -56,23 +58,20 @@
|
|||
.Ft void
|
||||
.Fn endservent void
|
||||
.Sh 解説
|
||||
.Fn getservent
|
||||
、
|
||||
.Fn getservent ,
|
||||
.Fn getservbyname
|
||||
および
|
||||
.Fn getservbyport
|
||||
関数はそれぞれ、次に
|
||||
示す構造体を持つオブジェクトのポインタを返します。構造体には
|
||||
ネットワークサービスデータベース
|
||||
関数はそれぞれ、次に示す構造を持つオブジェクトへのポインタを返します。
|
||||
構造体にはネットワークサービスデータベース
|
||||
.Pa /etc/services
|
||||
にある、行の内訳フィールドが
|
||||
含まれます。
|
||||
にある、行の内訳フィールドが含まれます。
|
||||
.Bd -literal -offset indent
|
||||
struct servent {
|
||||
char *s_name; /* サービスのオフィシャル名 */
|
||||
char **s_aliases; /* エイリアスリスト */
|
||||
int s_port; /* サービスが常駐するポート */
|
||||
char *s_proto; /* 使用するプロトコル */
|
||||
char *s_name; /* サービスのオフィシャル名 */
|
||||
char **s_aliases; /* エイリアスリスト */
|
||||
int s_port; /* サービスが常駐するポート */
|
||||
char *s_proto; /* 使用するプロトコル */
|
||||
};
|
||||
.Ed
|
||||
この構造体のメンバは次のとおりです。
|
||||
|
@ -80,45 +79,41 @@ struct servent {
|
|||
.It Fa s_name
|
||||
サービスのオフィシャル名。
|
||||
.It Fa s_aliases
|
||||
サービスのゼロで終わる別名
|
||||
(エイリアス)
|
||||
リスト。
|
||||
サービスの別名 (エイリアス) の 0 で終るリスト。
|
||||
.It Fa s_port
|
||||
サービスが常駐するポート番号。ポート番号は
|
||||
ネットワークバイト順で返されます。
|
||||
サービスが存在するポート番号。
|
||||
ポート番号はネットワークバイトオーダで返されます。
|
||||
.It Fa s_proto
|
||||
サービスとのコンタクト中に使用するプロトコル名。
|
||||
.El
|
||||
.Pp
|
||||
.Fn getservent
|
||||
関数は、必要ならばファイルをオープンして次の行を読み込みます。
|
||||
関数は、ファイルの次の行を読み込みます。
|
||||
その際、必要ならばファイルをオープンします。
|
||||
.Pp
|
||||
.Fn setservent
|
||||
関数はファイルをオープンしリワインドします。
|
||||
.Fa stayopen
|
||||
フラグがゼロでなければ、
|
||||
フラグが 0 でなければ、
|
||||
.Fn getservbyname
|
||||
または
|
||||
.Fn getservbyport
|
||||
の各呼び出し後に、
|
||||
ネットデータベースはクローズされません。
|
||||
の各呼び出しの後でも、ネットデータベースはクローズされません。
|
||||
.Pp
|
||||
.Fn endservent
|
||||
関数はファイルをクローズします。
|
||||
.Pp
|
||||
適合するプロトコル名またはポート番号が見付かるか、さもなければ
|
||||
.Dv EOF
|
||||
に
|
||||
出会うまで、
|
||||
.Fn getservbyname
|
||||
および
|
||||
.Fn getservbyport
|
||||
関数は最初から順次
|
||||
ファイルを検索します。プロトコル名が供給されていても(
|
||||
関数は、適合するプロトコル名またはポート番号
|
||||
(これはネットワークバイトオーダで指定されなければなりません)
|
||||
が見付かるか、さもなければ
|
||||
.Dv EOF
|
||||
に達するまで、ファイルを最初から順次検索します。
|
||||
プロトコル名が与えられていても (
|
||||
.Dv NULL
|
||||
でなくても)
|
||||
、検索は適合するプロトコルが見付かるまで続けられます。
|
||||
.ne 1i
|
||||
でなくても)、検索は適合するプロトコルが見付かるまで続けられます。
|
||||
.Sh 関連ファイル
|
||||
.Bl -tag -width /etc/services -compact
|
||||
.It Pa /etc/services
|
||||
|
@ -131,24 +126,20 @@ Null
|
|||
(0)
|
||||
が返ります。
|
||||
.Sh 関連項目
|
||||
.Xr getprotoent 3
|
||||
、
|
||||
.Xr getprotoent 3 ,
|
||||
.Xr services 5
|
||||
.Sh 歴史
|
||||
.Fn getservent
|
||||
、
|
||||
.Fn getservbyport
|
||||
、
|
||||
.Fn getservbyname
|
||||
、
|
||||
.Fn getservent ,
|
||||
.Fn getservbyport ,
|
||||
.Fn getservbyname ,
|
||||
.Fn setservent
|
||||
および
|
||||
.Fn endservent
|
||||
関数は、
|
||||
.Bx 4.2
|
||||
で最初に取り入れられました。
|
||||
で登場しました。
|
||||
.Sh バグ
|
||||
これらの関数は静的データストレージを使用します。後で使用する必要があれば、
|
||||
以後の呼び出しで上書きする前にデータをコピーして保存する必要があります。
|
||||
ポート番号がすべて
|
||||
32 ビットに適合すると考えるのは、たぶん素朴過ぎます。
|
||||
これらの関数は静的データ記憶域を使用します。
|
||||
後でこのデータを使用する必要があれば、以後のこれらの関数呼び出しで
|
||||
データが上書きされる前に、コピーして保存する必要があります。
|
||||
ポート番号がすべて 32 ビットに適合すると期待するのは、たぶん素朴過ぎます。
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" Copyright (c) 1983, 1990, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
|
@ -11,8 +11,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.
|
||||
|
@ -29,8 +29,8 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" From: @(#)inet.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %Id: inet.3,v 1.6 1997/03/19 19:41:20 bde Exp %
|
||||
.\" 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$
|
||||
.Dd June 17, 1996
|
||||
|
@ -41,10 +41,14 @@
|
|||
.Nm inet_addr ,
|
||||
.Nm inet_network ,
|
||||
.Nm inet_ntoa ,
|
||||
.Nm inet_ntop ,
|
||||
.Nm inet_pton ,
|
||||
.Nm inet_makeaddr ,
|
||||
.Nm inet_lnaof ,
|
||||
.Nm inet_netof
|
||||
.Nd インターネットアドレス操作関数
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <sys/socket.h>
|
||||
|
@ -58,6 +62,10 @@
|
|||
.Fn inet_network "const char *cp"
|
||||
.Ft char *
|
||||
.Fn inet_ntoa "struct in_addr in"
|
||||
.Ft const char *
|
||||
.Fn inet_ntop "int af" "const void *src" "char *dst" "size_t size"
|
||||
.Ft int
|
||||
.Fn inet_pton "int af" "const char *src" "void *dst"
|
||||
.Ft struct in_addr
|
||||
.Fn inet_makeaddr "unsigned long net" "unsigned long lna"
|
||||
.Ft unsigned long
|
||||
|
@ -69,44 +77,77 @@
|
|||
.Fn inet_addr
|
||||
および
|
||||
.Fn inet_network
|
||||
ルーチンはインターネット標準の
|
||||
.Ql \&.
|
||||
表記法で示される数値を表現するキャラクタ・ストリングを解釈します。
|
||||
ルーチンは、インターネット標準の
|
||||
.Ql .\&
|
||||
表記法で示される数値を表現している文字列を解釈します。
|
||||
.Pp
|
||||
.Fn inet_pton
|
||||
関数は、表示形式のアドレス (つまり文字列で保持されている印字可能な形式) から
|
||||
ネットワーク形式 (通常
|
||||
.Ft struct in_addr
|
||||
もしくは他の内部的なバイナリ表現形式で、ネットワークバイトオーダ) への
|
||||
変換を行います。
|
||||
この関数は、指定されたアドレスファミリにおいて、アドレスが
|
||||
有効なものであれば 1 を返し、パースできなければ 0 を返します。
|
||||
またシステムエラーが発生した時 (この場合は
|
||||
.Va errno
|
||||
が設定されます) には、-1 を返します。
|
||||
この関数は現在
|
||||
.Dv AF_INET
|
||||
と
|
||||
.Dv AF_INET6
|
||||
に対して有効です。
|
||||
.Pp
|
||||
.Fn inet_aton
|
||||
ルーチンは指定キャラクタ・ストリングを
|
||||
インターネット・アドレスと解釈し、アドレスを供給された構造体の中に
|
||||
置きます。
|
||||
ストリングが正常に解釈されると同ルーチンは 1 を返し、ストリングが
|
||||
無効のとき 0 を返します。
|
||||
ルーチンは、指定された文字列をインターネットアドレスとして解釈し、
|
||||
与えられた構造体の中にアドレスを設定します。
|
||||
文字列が正常に解釈されると同ルーチンは 1 を返し、
|
||||
文字列が無効のとき 0 を返します。
|
||||
.Fn inet_addr
|
||||
と
|
||||
.Fn inet_network
|
||||
関数はそれぞれ、
|
||||
インターネット・アドレスとインターネット・ネットワーク番号として使うのに
|
||||
インターネットアドレスとインターネットネットワーク番号として使うのに
|
||||
適した数値を返します。
|
||||
.Pp
|
||||
.Fn inet_ntop
|
||||
関数は、ネットワーク形式 (通常
|
||||
.Ft struct in_addr
|
||||
もしくは他の内部的なバイナリ形式で、ネットワークバイトオーダ) から
|
||||
表示形式 (外部に表示するのに適した形式) への変換を行います。
|
||||
この関数は、システムエラーが発生した時 (この場合は
|
||||
.Va errno
|
||||
が設定されます) にはヌルを返し、それ以外の時は目的の文字列への
|
||||
ポインタを返します。
|
||||
この関数は現在
|
||||
.Dv AF_INET
|
||||
and
|
||||
.Dv AF_INET6
|
||||
に対して有効です。
|
||||
.Pp
|
||||
.Fn inet_ntoa
|
||||
ルーチンはインターネット・アドレスを取り込み、
|
||||
.Ql \&.
|
||||
ルーチンは、インターネットアドレスを受け取り
|
||||
.Ql .\&
|
||||
表記法のアドレスを示す
|
||||
.Tn ASCII
|
||||
ストリングを返します。
|
||||
文字列を返します。
|
||||
.Fn inet_makeaddr
|
||||
ルーチンはインターネット・ネットワーク番号と
|
||||
ローカル・ネットワーク・アドレスを取り込み、
|
||||
それを基にインターネット・アドレスを生成します。
|
||||
ルーチンはインターネットネットワーク番号と
|
||||
ローカルネットワークアドレスを受け取り、
|
||||
それを基にしてインターネットアドレスを生成します。
|
||||
.Fn inet_netof
|
||||
と
|
||||
.Fn inet_lnaof
|
||||
ルーチンはインターネット・ホスト・アドレスを分割して、
|
||||
それぞれネットワーク番号とローカル・ネットワーク・アドレス部として返します。
|
||||
ルーチンはインターネットホストアドレスを分割して、
|
||||
それぞれネットワーク番号とローカルネットワークアドレス部として返します。
|
||||
.Pp
|
||||
すべてのインターネット・アドレスはネットワーク順序 ( 左から右への
|
||||
すべてのインターネットアドレスはネットワークオーダ ( 左から右への
|
||||
バイト順 ) で返されます。
|
||||
ネットワーク番号とローカル・アドレス部はすべてマシン形式の整数値で
|
||||
ネットワーク番号とローカルアドレス部はすべてマシン形式の整数値で
|
||||
返されます。
|
||||
.Pp
|
||||
.Sh インターネット・アドレス
|
||||
.Ql \&.
|
||||
.Sh インターネットアドレス
|
||||
.Ql .\&
|
||||
表記法で指定される値は次のどれか一つの形式を取ります。
|
||||
.Bd -literal -offset indent
|
||||
a.b.c.d
|
||||
|
@ -116,53 +157,54 @@ a
|
|||
.Ed
|
||||
.Pp
|
||||
4 個の部分アドレスが指定されると、各部分は 1 バイトのデータと解釈されて、
|
||||
左から右の順でインターネット・アドレスの 4 バイトに割り当てられます。
|
||||
インターネット・アドレスが
|
||||
左から右の順でインターネットアドレスの 4 バイトに割り当てられます。
|
||||
インターネットアドレスが
|
||||
.Tn VAX
|
||||
上で32 ビットの整数量であると見なされるとき、上記に該当するバイトは、
|
||||
.Dq Li d.c.b.a .
|
||||
と表示されます。すなわち、
|
||||
上で 32 ビットの整数値であると見なされるとき、上記に該当するバイトは、
|
||||
.Dq Li d.c.b.a
|
||||
と表示されることに注意して下さい。
|
||||
すなわち、
|
||||
.Tn VAX
|
||||
のバイト順序は右から左順になります。
|
||||
のバイトオーダは右から左の順になります。
|
||||
.Pp
|
||||
3 個の部分アドレスが指定されると、最後の部分が 16 ビット量と解釈されて、
|
||||
ネットワーク・アドレスの右端の 2 バイトになります。これは、 3 つの部分
|
||||
アドレス形式でも Class B ネットワーク・アドレスを
|
||||
3 個の部分アドレスが指定されると、最後の部分が 16 ビット値と解釈されて、
|
||||
ネットワークアドレスの右端の 2 バイトになります。
|
||||
これにより 3 つの部分アドレス形式で Class B ネットワークアドレスを
|
||||
.Dq Li 128.net.host
|
||||
として指定可能にする便宜操作です。
|
||||
と指定でき、便利です。
|
||||
.Pp
|
||||
2 個の部分アドレスが供給されると、最後の部分アドレスが 24 ビット量として
|
||||
解釈されて、ネットワーク・アドレスの右端の 3 バイトになります。
|
||||
これは 2 個の部分アドレス形式でも Class A ネットワーク・アドレスを
|
||||
.Dq Li net.host .
|
||||
として指定可能にする便宜操作です。
|
||||
2 個の部分アドレスが与えられると、最後の部分アドレスが 24 ビット値として
|
||||
解釈されて、ネットワークアドレスの右端の 3 バイトになります。
|
||||
これにより 2 個の部分アドレス形式で Class A ネットワークアドレスを
|
||||
.Dq Li net.host
|
||||
と指定でき、便利です。
|
||||
.Pp
|
||||
1 個の部分アドレスだけ指定されると、値はバイトの再調整なしに
|
||||
直接ネットワーク・アドレスに保存されます。
|
||||
直接ネットワークアドレスに保存されます。
|
||||
.Pp
|
||||
.Ql \&.
|
||||
.Ql .\&
|
||||
表記法で
|
||||
.Dq 部分
|
||||
として供給される数値はすべて、 C 言語で
|
||||
指定される 10 進数、 8 進数、 16 進数のいづれかの形式を取ることができます
|
||||
( すなわち、先行の 0x または 0X は 16 進数、
|
||||
その他は先行する 0 が 8 進数、または数値が 10 進数と解釈されます ) 。
|
||||
として供給される数値はすべて、C 言語で指定される 10 進数、8 進数、16 進数の
|
||||
いずれかの形式を取ることができます
|
||||
(すなわち、先行の 0x または 0X は 16 進数を意味し、
|
||||
先行する 0 は 8 進数を意味し、数値は 10 進数と解釈されます) 。
|
||||
.Pp
|
||||
.Fn inet_aton
|
||||
と
|
||||
.Fn inet_ntoa
|
||||
関数は
|
||||
関数は幾分避けるべき関数で、むしろ
|
||||
.Xr addr2ascii 3
|
||||
ファミリに妥協した完全に確立されていない関数です。
|
||||
しかし、これらの関数はまだ広く使用されていないため、
|
||||
当面は移植性のあるプログラムはこれらの存在に依存せずに
|
||||
ファミリが使われます。
|
||||
しかし、これらの関数はまだ広く実装されていないため、
|
||||
当面、移植性のあるプログラムはこれらの関数に依存できず、
|
||||
.Xr inet 3
|
||||
関数の使用を継続します。
|
||||
関数が使われ続けるでしょう。
|
||||
.Sh 診断
|
||||
.Fn inet_addr
|
||||
と
|
||||
.Fn inet_network
|
||||
は形式違反の要求に
|
||||
は形式違反の要求に対し
|
||||
.Dv INADDR_NONE
|
||||
定数を返します。
|
||||
.Sh 関連項目
|
||||
|
@ -171,23 +213,43 @@ a
|
|||
.Xr getnetent 3 ,
|
||||
.Xr hosts 5 ,
|
||||
.Xr networks 5
|
||||
.Rs
|
||||
.%R RFC
|
||||
.%N 2373
|
||||
.%D July 1998
|
||||
.%T "IP Version 6 Addressing Architecture"
|
||||
.Re
|
||||
.Sh 規格
|
||||
.Fn inet_ntop
|
||||
と
|
||||
.Fn inet_pton
|
||||
関数は、
|
||||
.St -xns5.2d2.0
|
||||
に適合しています。
|
||||
.Fn inet_pton
|
||||
関数は、1 個、2 個もしくは 3 個のドット形式のアドレスには
|
||||
対応していないことに注意してください。
|
||||
アドレスは 4 個に分けて指定しなければなりません。
|
||||
これは
|
||||
.Fn inet_aton
|
||||
関数が受け取ることのできる入力セットよりもせまいものです。
|
||||
.Sh 歴史
|
||||
ここで扱う関数は
|
||||
これらの関数は
|
||||
.Bx 4.2
|
||||
で取り入れられました。
|
||||
で登場しました。
|
||||
.Pp
|
||||
.Sh バグ
|
||||
.Dv INADDR_NONE
|
||||
(0xffffffff) 値は有効な同報通信アドレスですが、
|
||||
(0xffffffff) 値は有効なブロードキャストアドレスですが、
|
||||
.Fn inet_addr
|
||||
はエラー表示なしにこの値を返すことができません。
|
||||
はこの値を返す時に失敗を示してしまいます。
|
||||
新しい
|
||||
.Fn inet_aton
|
||||
関数はこの問題を解決しました。
|
||||
ホスト・バイト順序対ネットワーク・バイト順序の問題は混乱しがちです。
|
||||
関数では、この問題は解決されています。
|
||||
ホストバイトオーダ対ネットワークバイトオーダの問題は混乱しがちです。
|
||||
.Fn inet_ntoa
|
||||
が返すストリングはスタチック・メモリ領域に常駐します。
|
||||
が返す文字列は静的メモリ領域に収められます。
|
||||
.Pp
|
||||
Inet_addr は
|
||||
inet_addr は
|
||||
.Fa struct in_addr
|
||||
を返す必要があります。
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" Copyright (c) 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
|
||||
.\" Donn Seeley at BSDI.
|
||||
|
@ -14,8 +14,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.
|
||||
|
@ -32,8 +32,8 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" From: @(#)linkaddr.3 8.1 (Berkeley) 7/28/93
|
||||
.\" %Id: linkaddr.3,v 1.7 1997/02/22 15:00:24 peter Exp %
|
||||
.\" 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$
|
||||
.Dd June 17, 1996
|
||||
|
@ -42,7 +42,9 @@
|
|||
.Sh 名称
|
||||
.Nm link_addr ,
|
||||
.Nm link_ntoa
|
||||
.Nd リンクレベルアクセス用基本アドレス定義ルーチン
|
||||
.Nd リンクレベルアクセス用基本アドレス指定ルーチン
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <sys/socket.h>
|
||||
|
@ -53,17 +55,17 @@
|
|||
.Fn link_ntoa "const struct sockaddr_dl *sdl"
|
||||
.Sh 解説
|
||||
.Fn link_addr
|
||||
ルーチンは、リンクレベルアドレスを表す文字列を変換し、
|
||||
ルーチンは、リンクレベルアドレスを表す文字列を解釈し、
|
||||
システムコールで使用するのに適したバイナリ情報を返します。
|
||||
.Fn link_ntoa
|
||||
ルーチンは、リンクレベルアドレスを引数に取り、リンクレベルアドレス自身、
|
||||
インタフェース名、存在する場合はその番号などを含んだ現在の情報を示す
|
||||
存在する場合はそのインタフェース名や番号などを含んだ、現在の情報を示す
|
||||
.Tn ASCII
|
||||
文字列を返します。
|
||||
この機能は、まだ試用段階であり、変更される可能性があります。
|
||||
この機能はまだ試用段階であり、変更される可能性があります。
|
||||
.Pp
|
||||
.Fn link_addr
|
||||
のために、文字列
|
||||
に対して、文字列
|
||||
.Fa addr
|
||||
には、
|
||||
.Xr ifconfig 8
|
||||
|
@ -73,41 +75,39 @@
|
|||
その後にコロン、そしてピリオドで区切られた 16 進数の組の形の
|
||||
インタフェースアドレスが続きます。
|
||||
それぞれの組はアドレスの 1 バイトを示しており、
|
||||
アドレスバイトは左から右へ、
|
||||
低位のバイトから高位のバイトで占められます。
|
||||
アドレスバイトは左から右へ、低位のバイトから高位のバイトへと占められます。
|
||||
.Pp
|
||||
.\" A regular expression may make this format clearer:
|
||||
.\" 正規表現を用いると、この形式がもっとわかりやすくなるでしょう。
|
||||
.\" .Bd -literal -offset indent
|
||||
.\" ([a-z]+[0-9]+:)?[0-9a-f]+(\e.[0-9a-f]+)*
|
||||
.\" .Ed
|
||||
.\" .Pp
|
||||
このように、
|
||||
つまり
|
||||
.Li le0:8.0.9.13.d.30
|
||||
は初期の Lance イーサネットインタフェース上に
|
||||
変換されるイーサネットアドレスを表します。
|
||||
は 1 つ目の Lance イーサネットインタフェースへ転送される
|
||||
イーサネットアドレスを表します。
|
||||
.Pp
|
||||
これらの関数を直接使うのは避けられる傾向があり、むしろ
|
||||
.Xr addr2ascii 3
|
||||
インタフェースが使われます。しかし、このインタフェースは、まだ広くは
|
||||
実装されていないので、
|
||||
可搬性のあるプログラムでこのインタフェースに依存するわけにはいきません。
|
||||
インタフェースが使われます。
|
||||
しかし、このインタフェースはまだ広くは実装されていないので、
|
||||
移植性のあるプログラムでは、このインタフェースに依存するわけにはいきません。
|
||||
.Sh 戻り値
|
||||
.Fn link_ntoa
|
||||
は、常にヌルで終了する文字列を返します。
|
||||
.Fn link_addr
|
||||
関数は戻り値を返しません。(
|
||||
関数は戻り値を返しません (
|
||||
.Sx バグ
|
||||
参照のこと。)
|
||||
参照のこと)。
|
||||
.Sh 関連項目
|
||||
.Xr addr2ascii 3
|
||||
.Sh 歴史
|
||||
関数
|
||||
.Fn link_addr
|
||||
および
|
||||
.Fn link_ntoa
|
||||
は
|
||||
関数は
|
||||
.Bx 4.3-Reno
|
||||
から登場しています。
|
||||
で登場しました。
|
||||
.Sh バグ
|
||||
.Fn link_ntoa
|
||||
の戻り値は静的なメモリ領域にあります。
|
||||
|
@ -115,13 +115,13 @@
|
|||
関数
|
||||
.Fn link_addr
|
||||
は、不適切な形式の入力を診断する機能が必要であり、
|
||||
これを認証する明快な方法が必要となります。
|
||||
これを認識するあいまいでない方法が必要となります。
|
||||
.Pp
|
||||
リンクソケットアドレスの
|
||||
.Va sdl_len
|
||||
フィールドが 0 の場合、
|
||||
.Fn link_ntoa
|
||||
は、インタフェースアドレスバイトの前にコロンを挿入しません。
|
||||
この変換されたアドレスが最初のコロンを挿入せずに
|
||||
変換されたアドレスが、最初のコロンが挿入されずに
|
||||
.Fn link_addr
|
||||
に渡される場合、変換後のアドレスは正しく解釈されません。
|
||||
に渡された場合、この関数はアドレスを正しく解釈しないでしょう。
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)memccpy.3 8.1 (Berkeley) 6/9/93
|
||||
.\" %FreeBSD: src/lib/libc/string/memccpy.3,v 1.4.2.1 2000/04/22 17:06:38 phantom Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 9, 1993
|
||||
|
@ -37,6 +38,8 @@
|
|||
.Os
|
||||
.Sh 名称
|
||||
.Nm memccpy
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Nd 文字が見つかるまでバイト列をコピーする
|
||||
.Sh 書式
|
||||
.Fd #include <string.h>
|
||||
|
@ -51,7 +54,7 @@
|
|||
に複数バイトをコピーします。
|
||||
文字
|
||||
.Fa c
|
||||
(unsigned char に変換されたものとして )
|
||||
(unsigned char に変換されたものとして)
|
||||
がバイト列
|
||||
.Fa src
|
||||
中に見つかるとコピーは中断し、バイト列
|
||||
|
@ -71,4 +74,4 @@
|
|||
.Fn memccpy
|
||||
関数は、
|
||||
.Bx 4.4
|
||||
で最初に現れました。
|
||||
で初めて登場しました。
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)memchr.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/string/memchr.3,v 1.3.2.3 2001/03/06 16:46:04 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 4, 1993
|
||||
|
@ -42,6 +43,8 @@
|
|||
.Sh 名称
|
||||
.Nm memchr
|
||||
.Nd バイト列中のバイトの位置を示す
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <string.h>
|
||||
.Ft void *
|
||||
|
@ -52,18 +55,16 @@
|
|||
バイト列
|
||||
.Fa b
|
||||
中で
|
||||
(unsigned char に変換された )
|
||||
(unsigned char に変換された)
|
||||
.Fa c
|
||||
が最初に見つかった位置を示します。
|
||||
.Sh 戻り値
|
||||
.Fn memchr
|
||||
関数は、該当するバイトのポインタを返します。
|
||||
該当するバイトが
|
||||
関数は、該当するバイトのポインタ、
|
||||
または該当するバイトが
|
||||
.Fa len
|
||||
個のバイト中に存在しない時は NULL を返します。
|
||||
.Sh 関連項目
|
||||
.Xr index 3 ,
|
||||
.Xr rindex 3 ,
|
||||
.Xr strchr 3 ,
|
||||
.Xr strcspn 3 ,
|
||||
.Xr strpbrk 3 ,
|
||||
|
@ -75,5 +76,5 @@
|
|||
.Sh 規格
|
||||
.Fn memchr
|
||||
関数は、
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)memcmp.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %Id: memcmp.3,v 1.4 1997/02/22 15:03:23 peter Exp %
|
||||
.\" %FreeBSD: src/lib/libc/string/memcmp.3,v 1.5.2.2 2001/03/06 16:46:04 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 4, 1993
|
||||
|
@ -42,6 +42,8 @@
|
|||
.Os
|
||||
.Sh 名称
|
||||
.Nm memcmp
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Nd バイト列を比較する
|
||||
.Sh 書式
|
||||
.Fd #include <string.h>
|
||||
|
@ -59,15 +61,15 @@
|
|||
の長さのバイト列であるとみなされます。
|
||||
.Sh 戻り値
|
||||
.Fn memcmp
|
||||
関数は、2 つのバイト列が一致する場合、ゼロを返します。
|
||||
関数は、2 つのバイト列が一致する場合、0 を返します。
|
||||
そうでない時は、最初に一致しなかった 2 つのバイト間の差
|
||||
(unsigned char の値として扱われます。たとえば
|
||||
.Sq Li \e\200
|
||||
は
|
||||
.Sq Li \&\e0
|
||||
よりも大きくなります。 )
|
||||
よりも大きくなります。)
|
||||
が返されます。
|
||||
長さがゼロのバイト列は常に一致します。
|
||||
長さが 0 のバイト列は常に一致します。
|
||||
.Sh 関連項目
|
||||
.Xr bcmp 3 ,
|
||||
.Xr strcasecmp 3 ,
|
||||
|
@ -77,5 +79,5 @@
|
|||
.Sh 規格
|
||||
.Fn memcmp
|
||||
関数は、
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)memcpy.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/string/memcpy.3,v 1.3.2.2 2001/03/06 16:46:04 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 4, 1993
|
||||
|
@ -42,6 +43,8 @@
|
|||
.Sh 名称
|
||||
.Nm memcpy
|
||||
.Nd バイト列のコピー
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <string.h>
|
||||
.Ft void *
|
||||
|
@ -71,8 +74,8 @@
|
|||
.Sh 規格
|
||||
.Fn memcpy
|
||||
関数は、
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
.Pp
|
||||
.Sh バグ
|
||||
この実装では、
|
||||
|
@ -85,4 +88,3 @@
|
|||
もっと簡単な解決策は、
|
||||
.Fn memcpy
|
||||
を使用しないことです。
|
||||
.Pp
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)memmove.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/string/memmove.3,v 1.3.2.2 2001/03/06 16:46:04 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 4, 1993
|
||||
|
@ -41,23 +42,25 @@
|
|||
.Os
|
||||
.Sh 名称
|
||||
.Nm memmove
|
||||
.Nd バイトストリングをコピーします。
|
||||
.Nd バイト文字列をコピーします。
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <string.h>
|
||||
.Ft void *
|
||||
.Fn memmove "void *dst" "const void *src" "size_t len"
|
||||
.Sh 解説
|
||||
.Fn memmove
|
||||
関数は、ストリング
|
||||
関数は、文字列
|
||||
.Fa src
|
||||
からストリング
|
||||
から文字列
|
||||
.Fa dst
|
||||
に
|
||||
.Fa len
|
||||
バイトを
|
||||
コピーします。
|
||||
2 つのストリングがオーバーラップすることがありますが、コピー
|
||||
は問題を起こすような方法では行なわれません。
|
||||
2 つの文字列がオーバーラップすることがありますが、
|
||||
コピーは常に破壊されない方法で行われます。
|
||||
.Pp
|
||||
.Sh 戻り値
|
||||
.Fn memmove
|
||||
|
@ -74,6 +77,5 @@
|
|||
.Sh 規格
|
||||
.Fn memmove
|
||||
関数は、
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.\"kuma 1999-11-10
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)memory.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %Id: memory.3,v 1.4 1997/02/22 15:03:13 peter Exp %
|
||||
.\" %FreeBSD: src/lib/libc/stdlib/memory.3,v 1.5.2.2 2001/03/06 16:46:02 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 4, 1993
|
||||
|
@ -43,6 +43,8 @@
|
|||
.Nm calloc ,
|
||||
.Nm alloca
|
||||
.Nd 一般的なメモリ割り当て操作
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdlib.h>
|
||||
.Ft void *
|
||||
|
@ -70,7 +72,5 @@
|
|||
この関数は、
|
||||
.Fn alloca
|
||||
を除き、
|
||||
.St -ansiC
|
||||
に
|
||||
準拠しています。
|
||||
.\"kuma 1999-11-10
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)memset.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/string/memset.3,v 1.3.2.3 2001/03/06 16:46:04 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 4, 1993
|
||||
|
@ -41,7 +42,8 @@
|
|||
.Os
|
||||
.Sh 名称
|
||||
.Nm memset
|
||||
.Nd バイトストリングにバイトを書き込む
|
||||
.Nd バイト文字列にバイトを書き込む
|
||||
.Sh ライブラリ
|
||||
.Sh 書式
|
||||
.Fd #include <string.h>
|
||||
.Ft void *
|
||||
|
@ -50,10 +52,9 @@
|
|||
.Fn memset
|
||||
関数は、値
|
||||
.Fa c
|
||||
(符号なしキャラクタに変換) の
|
||||
(unsigned char に変換) の
|
||||
.Fa len
|
||||
バイトを
|
||||
ストリング
|
||||
バイトを文字列
|
||||
.Fa b
|
||||
に書き込みます。
|
||||
.Sh 戻り値
|
||||
|
@ -66,6 +67,5 @@
|
|||
.Sh 規格
|
||||
.Fn memset
|
||||
関数は、
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.\"kuma 1999-11-10
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
|
|
|
@ -34,9 +34,9 @@
|
|||
.\" 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$
|
||||
.\"
|
||||
.Dd June 4, 1993
|
||||
.Dt PRINTF 3
|
||||
.Os
|
||||
|
@ -51,7 +51,9 @@
|
|||
.Nm vsprintf ,
|
||||
.Nm vsnprintf ,
|
||||
.Nm vasprintf
|
||||
.Nd フォーマット済み出力変換
|
||||
.Nd 書式に変換して出力
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <stdio.h>
|
||||
.Ft int
|
||||
|
@ -79,36 +81,34 @@
|
|||
.Fn printf
|
||||
ファミリの関数は、以下で説明する
|
||||
.Fa format
|
||||
に従って出力を実行します。
|
||||
に従って出力を行います。
|
||||
.Fn printf
|
||||
と
|
||||
.Fn vprintf
|
||||
は、
|
||||
は、標準出力
|
||||
.Em stdout
|
||||
に出力を実行します。
|
||||
に出力を行います。
|
||||
.Fn fprintf
|
||||
と
|
||||
.Fn vfprintf
|
||||
は、指定された出力ストリームに出力を実行します。
|
||||
は、指定された出力ストリームに出力を行います。
|
||||
.Fn sprintf ,
|
||||
.Fn snprintf ,
|
||||
.Fn vsprintf ,
|
||||
.Fn vsnprintf
|
||||
は、キャラクタ文字列
|
||||
.Fa str
|
||||
に書き込みを行ないます。
|
||||
に出力を行います。
|
||||
.Fn asprintf
|
||||
と
|
||||
.Fn vasprintf
|
||||
は、
|
||||
.Xr malloc 3
|
||||
や
|
||||
.Xr realloc 3
|
||||
で新しい文字列をダイナミックに割り振ります。
|
||||
で新しい文字列を動的に割り当てます。
|
||||
.Pp
|
||||
この関数は、
|
||||
これらの関数は、
|
||||
.Fa format
|
||||
文字列の制御に従って出力を実行します。
|
||||
文字列による制御に従って出力を行います。
|
||||
この文字列は、その後の引数
|
||||
(または
|
||||
.Xr stdarg 3
|
||||
|
@ -123,31 +123,32 @@
|
|||
.Fn asprintf
|
||||
と
|
||||
.Fn vasprintf
|
||||
は、文字列を収容する十分な大きさのバッファを指すポインタを
|
||||
.Fa ret
|
||||
引数で戻します。記憶域が不要になった場合は、このポインタを
|
||||
は、整形された文字列を格納するのに十分な大きさのバッファを指すポインタを
|
||||
.Fa *ret
|
||||
に設定します。
|
||||
割り当てられた領域が不要になった場合は、このポインタを
|
||||
.Xr free 3
|
||||
に渡して、割り振られた記憶域を解放してください。
|
||||
十分なスペースを割り振れない場合、
|
||||
に渡して解放してください。
|
||||
十分な領域を割り当てられない場合、
|
||||
.Fn asprintf
|
||||
と
|
||||
.Fn vasprintf
|
||||
は -1 を戻し、
|
||||
.Fa ret
|
||||
をヌルポインタに設定します。
|
||||
を NULL ポインタに設定します。
|
||||
.Pp
|
||||
.Fn snprintf
|
||||
と
|
||||
.Fn vsnprintf
|
||||
は、最大で
|
||||
.Fa size Ns \-1
|
||||
の文字を出力文字列に書き込みます
|
||||
(size 番目の文字は最後の
|
||||
文字だけ出力文字列に書き込みます
|
||||
(size 番目の文字は終端の
|
||||
.Ql \e0
|
||||
になります)。
|
||||
戻り値が
|
||||
.Fa size
|
||||
引数以上である場合は、文字列が短すぎたため、
|
||||
引数以上である場合は、文字列を格納するには短すぎたため、
|
||||
出力された文字の一部が破棄されたことになります。
|
||||
.Pp
|
||||
.Fn sprintf
|
||||
|
@ -155,17 +156,17 @@
|
|||
.Fn vsprintf
|
||||
は、
|
||||
.Fa size
|
||||
が無限であることを仮定します。
|
||||
が無限であると仮定します。
|
||||
.Pp
|
||||
フォーマット文字列は、0 以上の命令から構成されています。
|
||||
整形文字列は、0 以上の命令から構成されています。
|
||||
この命令には、出力ストリームに変更されずにコピーされる
|
||||
通常文字
|
||||
.Cm ( %
|
||||
以外)、およびゼロ以上の後続引数を取り出す変換指定があります。
|
||||
以外)、および 0 以上の後続の引数を取り出す変換指定があります。
|
||||
それぞれの変換指定は、文字
|
||||
.Cm %
|
||||
で導入されます。引数は、
|
||||
タイププロモーション後に変換指示子に適切に対応する必要があります。
|
||||
から始まります。引数は、
|
||||
(型拡張の後に) 変換指示子に適切に対応する必要があります。
|
||||
.Cm %
|
||||
の後には、以下が順番に現れます。
|
||||
.Bl -bullet
|
||||
|
@ -177,14 +178,14 @@
|
|||
このフィールドを指定しないと、最後にアクセスされた
|
||||
引数に続く引数が使用されます。引数には
|
||||
.Cm 1 から始まる番号が付きます。
|
||||
フォーマット文字列で、
|
||||
書式指定文字列で、
|
||||
アクセスできない引数がアクセスできる引数に点在する場合、
|
||||
結果は不定になります。
|
||||
.It
|
||||
0 個以上の以下のフラグ
|
||||
.Bl -hyphen
|
||||
.It
|
||||
値を「代替フォーム」に変換することを指定する
|
||||
値を ``代替形式'' に変換することを指定する
|
||||
.Cm #
|
||||
文字。
|
||||
.Cm c ,
|
||||
|
@ -228,7 +229,7 @@
|
|||
文字。
|
||||
.Cm n
|
||||
変換を除くすべての変換では、
|
||||
変換値の左にブランクではなく 0 が付きます。数値変換
|
||||
変換値の左に空白ではなく 0 が付きます。数値変換
|
||||
.Pf ( Cm d ,
|
||||
.Cm i ,
|
||||
.Cm o ,
|
||||
|
@ -243,10 +244,10 @@
|
|||
.It
|
||||
負のフィールド幅を示す
|
||||
.Sq Cm \-
|
||||
フラグ。変換値はフィールド境界の左で揃えられます。
|
||||
フラグは変換された値がフィールド境界の左で揃えられる事を示します。
|
||||
.Cm n
|
||||
変換以外では、変換値の左にブランクか 0 が付くのではなく、
|
||||
変換値の右にブランクが付きます。
|
||||
変換以外では、変換値の左に空白か 0 が付くのではなく、
|
||||
変換値の右に空白が付きます。
|
||||
.Sq Cm \-
|
||||
と
|
||||
.Sq Cm \&0
|
||||
|
@ -254,7 +255,7 @@
|
|||
.Sq Cm \&0
|
||||
が無効になります。
|
||||
.It
|
||||
スペース。符号付き変換
|
||||
空白。符号付き変換
|
||||
.Pf ( Cm d ,
|
||||
.Cm e ,
|
||||
.Cm E ,
|
||||
|
@ -263,23 +264,23 @@
|
|||
.Cm G ,
|
||||
および
|
||||
.Cm i )
|
||||
で作成される正の数値の前にブランクが残ります。
|
||||
で作成される正の数値の前に空白が残ります。
|
||||
.It
|
||||
.Sq Cm +
|
||||
文字。符号付き変換で作成される数値の前に常に符号が付きます。
|
||||
.Sq Cm +
|
||||
とスペースを両方とも指定した場合はスペースが無効になります。
|
||||
と空白を両方とも指定した場合は空白が無効になります。
|
||||
.El
|
||||
.It
|
||||
任意の 10 進数文字列。最低フィールド幅を指定します。
|
||||
変換値の文字数がフィールドの幅より少ない場合は、左にスペースが付いて
|
||||
(左揃えフラグを指定した場合は右にスペースが付いて)
|
||||
変換値の文字数がフィールドの幅より少ない場合は、左に空白が付いて
|
||||
(左揃えフラグを指定した場合は右に空白が付いて)
|
||||
フィールドの幅に合わせられます。
|
||||
.It
|
||||
ピリオド
|
||||
.Sq Cm \&.
|
||||
.Sq Cm .\&
|
||||
の次に任意の数字文字列が続く形式の精度。
|
||||
数字文字列を省略した場合、精度はゼロになります。
|
||||
数字文字列を省略した場合、精度は 0 になります。
|
||||
.Cm d ,
|
||||
.Cm i ,
|
||||
.Cm o ,
|
||||
|
@ -372,14 +373,8 @@
|
|||
変換が
|
||||
.Em long double
|
||||
引数に対応することを指定します。
|
||||
.Em long double
|
||||
の値が、
|
||||
.Tn VAX
|
||||
コンパイラと
|
||||
.Tn Tahoe
|
||||
コンパイラではサポートされていないことに注意してください。
|
||||
.It
|
||||
適用する変換のタイプを指定する文字。
|
||||
適用する変換の型を指定する文字。
|
||||
.El
|
||||
.Pp
|
||||
フィールド幅か精度、またはその両方は、アスタリスク
|
||||
|
@ -392,7 +387,7 @@
|
|||
負のフィールド幅は、
|
||||
正のフィールド幅が続く左揃えフラグとして扱われます。
|
||||
負の精度は、欠落しているものとして扱われます。
|
||||
1 つのフォーマット命令に位置引数 (nn$)
|
||||
1 つの書式命令に位置引数 (nn$)
|
||||
と位置以外の引数が混在している場合、
|
||||
結果は未定義になります。
|
||||
.Pp
|
||||
|
@ -428,7 +423,7 @@
|
|||
.It Cm DOU
|
||||
.Em long int
|
||||
引数が、符号付き 10 進、符号なし 8 進、符号なし 10 進に、
|
||||
それぞれのフォーマットが
|
||||
それぞれの形式が
|
||||
.Cm ld ,
|
||||
.Cm lo ,
|
||||
.Cm lu
|
||||
|
@ -443,7 +438,7 @@
|
|||
のスタイルに変換されます。
|
||||
小数点以上は 1 桁で、小数点以下の桁数は精度と等しくなります。
|
||||
精度が指定されていない場合は 6 が仮定されます。
|
||||
精度がゼロである場合、小数点は出力されません。
|
||||
精度が 0 である場合、小数点は出力されません。
|
||||
.Cm E
|
||||
変換では、文字
|
||||
.Cm E
|
||||
|
@ -462,7 +457,7 @@
|
|||
精度が指定されていない場合は 6 が仮定されます。
|
||||
精度が 0 である場合、小数点は出力されません。
|
||||
小数点が出力される場合は、小数点以上に最低 1 桁が出力されます。
|
||||
.It Cm g
|
||||
.It Cm gG
|
||||
.Em double
|
||||
引数が、スタイル
|
||||
.Cm f
|
||||
|
@ -473,11 +468,11 @@
|
|||
.Cm E )
|
||||
で変換されます。精度は有効桁数を指定します。
|
||||
精度が指定されていない場合は 6 が仮定されます。
|
||||
精度がゼロである場合は 1 として扱われます。
|
||||
精度が 0 である場合は 1 として扱われます。
|
||||
変換後の指数が -4 より小さいか精度以上である場合は、スタイル
|
||||
.Cm e
|
||||
が使用されます。
|
||||
後続のゼロは、結果の小数部から削除されます。
|
||||
後続の 0 は、結果の小数部から削除されます。
|
||||
小数点は、小数点以下に最低でも 1 桁ある場合に出力されます。
|
||||
.It Cm c
|
||||
.Em int
|
||||
|
@ -488,13 +483,13 @@
|
|||
.Dq Em char *
|
||||
引数が、文字型の配列を指すポインタ
|
||||
(文字列へのポインタ) とみなされます。
|
||||
配列の文字は、最後のナル文字まで出力されます
|
||||
(ナル文字は出力されません)。
|
||||
配列の文字は、最後のヌル文字まで出力されます
|
||||
(ヌル文字は出力されません)。
|
||||
精度が指定されている場合、指定された数以上は出力されないので、
|
||||
ナル文字は必要ありません。
|
||||
ヌル文字は必要ありません。
|
||||
精度が指定されていない場合、
|
||||
または精度が配列のサイズ以上である場合、
|
||||
配列の最後にはナル文字が必要です。
|
||||
配列の最後にはヌル文字が必要です。
|
||||
.It Cm p
|
||||
.Dq Em void *
|
||||
ポインタ引数が、16 進で
|
||||
|
@ -510,7 +505,7 @@
|
|||
引数は変換されません。
|
||||
.It Cm %
|
||||
.Ql %
|
||||
が出力されます。引数は変換されません。
|
||||
が出力されます。変換される引数はありません。
|
||||
完全な変換指定は
|
||||
.Ql %%
|
||||
です。
|
||||
|
@ -520,7 +515,6 @@
|
|||
フィールドは切り捨てられません。変換結果がフィールド幅より大きい場合、
|
||||
フィールドは変換結果を収容できるようになるまで拡張されます。
|
||||
.Sh 例
|
||||
.br
|
||||
.Em weekday
|
||||
と
|
||||
.Em month
|
||||
|
@ -568,27 +562,30 @@ char *newfmt(const char *fmt, ...)
|
|||
および
|
||||
.Fn vsprintf
|
||||
関数は、
|
||||
.St -ansiC
|
||||
に準拠しています。
|
||||
.St -isoC
|
||||
に適合しています。
|
||||
.Sh 歴史
|
||||
.Fn asprintf
|
||||
関数と
|
||||
.Fn vasprintf
|
||||
関数は、GNU C ライブラリに追加されました。これは、
|
||||
.Fx 2.2
|
||||
で Peter Wemm <peter@FreeBSD.org> によって実現されましたが、
|
||||
で
|
||||
.An Peter Wemm Aq peter@FreeBSD.org
|
||||
によって実装されましたが、
|
||||
.Ox 2.3
|
||||
では後に Todd C. Miller <Todd.Miller@courtesan.com>
|
||||
では後に
|
||||
.An Todd C. Miller Aq Todd.Miller@courtesan.com
|
||||
のシステムで置き換えられました。
|
||||
.Sh バグ
|
||||
変換フォーマット
|
||||
変換形式
|
||||
.Cm \&%D ,
|
||||
.Cm \&%O ,
|
||||
および
|
||||
.Cm \&%U
|
||||
は標準的ではなく、下位互換性を保つために提供されています。
|
||||
.Cm %p
|
||||
フォーマットに (
|
||||
形式に (
|
||||
.Sq Cm 0
|
||||
フラグか精度を指定することで) 0 をパディングすること、
|
||||
.Cm %n
|
||||
|
@ -605,7 +602,7 @@ char *newfmt(const char *fmt, ...)
|
|||
と
|
||||
.Fn vsprintf
|
||||
では無限に長い文字列が仮定されるので、
|
||||
呼び出し側では実際のスペースを
|
||||
呼び出し側では実際の空間を
|
||||
オーバフローしないように注意する必要があります。
|
||||
オーバフローしないことを保証することは困難です。
|
||||
安全のため、代わりに
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" Copyright (c) 1983, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
|
@ -11,8 +11,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.
|
||||
|
@ -29,19 +29,24 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" From: @(#)rcmd.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %Id: rcmd.3,v 1.7 1997/02/22 15:00:28 peter Exp %
|
||||
.\" From: @(#)rcmd.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/net/rcmd.3,v 1.12.2.5 2000/12/08 13:49:28 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd February 15, 1996
|
||||
.Dd March 3, 2000
|
||||
.Dt RCMD 3
|
||||
.Os BSD 4.2
|
||||
.Sh 名称
|
||||
.Nm rcmd ,
|
||||
.Nm rresvport ,
|
||||
.Nm iruserok ,
|
||||
.Nm ruserok
|
||||
.Nd リモートコマンドにストリームを戻すルーチン
|
||||
.Nm ruserok ,
|
||||
.Nm rcmd_af ,
|
||||
.Nm rresvport_af ,
|
||||
.Nm iruserok_sa
|
||||
.Nd リモートコマンドにストリームを返すルーチン
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <unistd.h>
|
||||
.Ft int
|
||||
|
@ -52,18 +57,24 @@
|
|||
.Fn iruserok "u_long raddr" "int superuser" "const char *ruser" "const char *luser"
|
||||
.Ft int
|
||||
.Fn ruserok "const char *rhost" "int superuser" "const char *ruser" "const char *luser"
|
||||
.Ft int
|
||||
.Fn rcmd_af "char **ahost" "int inport" "const char *locuser" "const char *remuser" "const char *cmd" "int *fd2p" "int
|
||||
af"
|
||||
.Ft int
|
||||
.Fn rresvport_af "int *port" "int af"
|
||||
.Ft int
|
||||
.Fn iruserok_sa "const void *addr" "int addrlen" "int superuser" "const char *ruser" "const char *luser"
|
||||
.Sh 解説
|
||||
.Fn rcmd
|
||||
関数はスーパユーザが使用するもので、予約されたポート番号に従って認証
|
||||
スキームを使用してコマンドをリモートマシンで実行します。
|
||||
関数はスーパユーザが使用するもので、予約されたポート番号に基づいた
|
||||
認証スキームを使用してコマンドをリモートマシンで実行します。
|
||||
.Fn rresvport
|
||||
関数は、権利があるポートスペースのアドレスとともにソケットの記述子を戻
|
||||
します。
|
||||
関数は、権限があるポート空間のアドレスとともにソケットの記述子を返します。
|
||||
.Fn ruserok
|
||||
関数はサーバが使用するもので、
|
||||
.Fn rcmd
|
||||
を使用してサービスを要求するクライアントを認証します。3つすべての関数
|
||||
は同じファイルに存在し、
|
||||
を使用してサービスを要求するクライアントを認証します。
|
||||
3 つのすべての関数は同じファイルに存在し、
|
||||
.Xr rshd 8
|
||||
サーバによって使用されます。
|
||||
.Pp
|
||||
|
@ -72,102 +83,158 @@
|
|||
.Xr gethostbyname 3
|
||||
を使用してホスト
|
||||
.Fa *ahost
|
||||
を調べ、ホストが存在しない場合は \-1 を戻します。ホストが存在する場合
|
||||
は、ホストの標準名に
|
||||
を調べ、ホストが存在しない場合は -1 を返します。
|
||||
ホストが存在する場合は、ホストの標準名に
|
||||
.Fa *ahost
|
||||
を設定し、既知のインターネットポート
|
||||
を設定し、よく知られているインターネットポート
|
||||
.Fa inport
|
||||
に常駐するサーバとの接続を確立します。
|
||||
に存在するサーバとの接続を確立します。
|
||||
.Pp
|
||||
接続が確立されると、タイプ
|
||||
.Dv SOCK_STREAM
|
||||
のインターネットドメインのソケットが呼び出し側に戻され、
|
||||
のインターネットドメインのソケットが呼び出し側に返され、また
|
||||
.Em stdin
|
||||
と
|
||||
.Em stdout
|
||||
としてリモートコマンドに指定されます。
|
||||
としてリモートコマンドに渡されます。
|
||||
.Fa fd2p
|
||||
が 0以外である場合は、制御プロセスの任意のチャンネルが設定され、その記
|
||||
述子が
|
||||
が 0 以外である場合は、制御プロセスへ追加のチャンネルが設定され、
|
||||
その記述子が
|
||||
.Fa *fd2p
|
||||
に配置されます。制御プロセスは、このチャンネルでコマンド(ユニット 2)
|
||||
から診断出力を戻し、
|
||||
に収められます。
|
||||
制御プロセスは、このチャンネルでコマンド (ユニット 2) からの診断出力を返し、
|
||||
また
|
||||
.Tn UNIX
|
||||
シグナル番号としてこのチャンネルのバイトを受け取り、コマンドのプロセスグルー
|
||||
プに転送します。
|
||||
シグナル番号としてこのチャンネルのバイトを受け取って、
|
||||
コマンドのプロセスグループに転送します。
|
||||
.Fa fd2p
|
||||
が
|
||||
0である場合は、
|
||||
が 0 である場合は、
|
||||
.Em stderr
|
||||
(リモートコマンドのユニット 2)が
|
||||
(リモートコマンドのユニット 2) が
|
||||
.Em stdout
|
||||
と同じように作成されます。任意のシグナルをリモートプロセスに送信する準備は
|
||||
されませんが、バンド外のデータを使用することで注目を得ることはできます。
|
||||
と同じように作成されます。
|
||||
任意のシグナルをリモートプロセスに送信する準備はされませんが、
|
||||
バンド外のデータを使用することでリモートプロセスの注目を得ることはできます。
|
||||
.Pp
|
||||
プロトコルの詳細については、
|
||||
.Xr rshd 8
|
||||
を参照してください。
|
||||
.Pp
|
||||
.Fn rresvport
|
||||
関数は、権利があるアドレスが結び付いたソケットを
|
||||
入手します。このソケットは、
|
||||
関数は、特権インターネットポートを持つアドレスに結び付いたソケットを
|
||||
入手するのに使います。
|
||||
このソケットは、
|
||||
.Fn rcmd
|
||||
やその他の関数での使用に適しています。権利があるインターネットポートは、
|
||||
0から 1023の範囲にあるものです。この種のアドレスをソケットに結合でき
|
||||
るのはスーパユーザのみです。
|
||||
やその他いくつかの関数での使用に適しています。
|
||||
特権インターネットポートは、 0 から 1023 の範囲にあるものです。
|
||||
この種のアドレスをソケットに結合できるのはスーパユーザのみです。
|
||||
.Pp
|
||||
.Fn iruserok
|
||||
関数と
|
||||
.Fn ruserok
|
||||
関数は、
|
||||
.Xr gethostbyname 3
|
||||
ルーチンが戻すリモートホストの IP アドレスか名前、2つのユーザ名、
|
||||
ローカルユーザの名前が スーパユーザの名前であるかどうかを示すフラグを
|
||||
使用します。ユーザがスーパユーザ
|
||||
ルーチンが返すリモートホストの IP アドレスか名前、2 つのユーザ名、
|
||||
そしてローカルユーザの名前がスーパユーザの名前であるかどうかを示すフラグを
|
||||
引数にとります。
|
||||
ユーザがスーパユーザ
|
||||
.Em でない
|
||||
場合は、
|
||||
.Pa /etc/hosts.equiv
|
||||
ファイルをチェックします。この検索が実行されない場合、またはこの検索で
|
||||
問題が発生した場合は、ローカルユーザのホームディレクトリの
|
||||
ファイルをチェックします。
|
||||
この検索が実行されなかった場合、またはこの検索が成功しなかった場合は、
|
||||
ローカルユーザのホームディレクトリの
|
||||
.Pa .rhosts
|
||||
をチェックし、サービスの要求が許可されているかどうかを確認します。
|
||||
をチェックし、サービスへの要求が許可されているかどうかを確認します。
|
||||
.Pp
|
||||
このファイルが存在しない場合や通常のファイルでない場合、またはユーザや
|
||||
スーパユーザ以外がこのファイルを所有する場合、あるいは所有者以外がこの
|
||||
スーパユーザ以外がこのファイルの所有者である場合、あるいは所有者以外がこの
|
||||
ファイルに書き込める場合、チェックは自動的にエラーとなります。
|
||||
マシン名が
|
||||
.Dq Pa hosts.equiv
|
||||
ファイルにリストされている場合、またはホストと
|
||||
リモートユーザ名が
|
||||
ファイルにリストされている場合、またはホストとリモートユーザ名が
|
||||
.Dq Pa .rhosts
|
||||
ファイルに存在する場合は 0が戻されます。その
|
||||
他の場合、
|
||||
ファイルに存在する場合は 0 が返されます。
|
||||
その他の場合、
|
||||
.Fn iruserok
|
||||
と
|
||||
.Fn ruserok
|
||||
は \-1 を戻します。
|
||||
は -1 を返します。
|
||||
.Xr gethostname 3
|
||||
で入手したローカルドメインがリモートドメインと同じである場合は、マシン
|
||||
名のみを指定する必要があります。
|
||||
で入手したローカルドメインがリモートドメインと同じである場合は、
|
||||
マシン名のみを指定する必要があります。
|
||||
.Pp
|
||||
.Fn iruserok
|
||||
関数は、セキュリティの理由で高く評価されます。
|
||||
関数は、セキュリティ上の理由で強く推奨されます。
|
||||
.Fn ruserok
|
||||
関数は DNS 全体を信用する必要があり、侵害される可能性がありますが、
|
||||
.Fn iruserok
|
||||
は最大でもローカル DNS を信頼する必要しかありません。
|
||||
.Sh 診断
|
||||
.Fn rcmd
|
||||
関数は、問題がなければ有効なソケット記述子を戻します。エラーが
|
||||
発生した場合は \-1 を戻し、診断メッセージを標準エラーに出力します。
|
||||
はせいぜいローカル DNS を信頼する必要しかありません。
|
||||
.Pp
|
||||
.Dq Li _af
|
||||
や
|
||||
.Dq Li _sa
|
||||
といった接尾辞のついた関数、たとえば
|
||||
.Fn rcmd_af ,
|
||||
.Fn rresvport_af
|
||||
や
|
||||
.Fn iruserok_sa
|
||||
などは、IPv6 と IPv4 ポートを扱えることを除いて、
|
||||
対応する接尾辞のない関数と同じ動作をします。
|
||||
.Pp
|
||||
.Dq Li _af
|
||||
接尾辞は、アドレスファミリ (下記参照) を指定するために使われる
|
||||
.Fa af
|
||||
引数が加わっていることを意味しています。
|
||||
.Fa af
|
||||
引数の拡張は、バイナリアドレス引数を持たない関数に対して実装されています。
|
||||
バイナリアドレスの代わりに
|
||||
.Fa af
|
||||
引数はどのアドレスファミリが必要かを指定します。
|
||||
.Pp
|
||||
.Dq Li _sa
|
||||
接尾辞は、関数が汎用ソケットアドレスと長さを
|
||||
引数に持っていることを意味しています。
|
||||
ソケットアドレスはプロトコルに依存しないデータ構造なので、
|
||||
必要に応じて IPv4 と IPv6 のソケットアドレスを渡すことができます。
|
||||
.Fa sa
|
||||
引数の拡張は、プロトコルに依存したバイナリアドレス引数を渡す関数に対して
|
||||
実装されています。
|
||||
引数は、汎用的な方法でいくつものアドレスファミリをサポートするように、
|
||||
更に汎用的なアドレス構造に置き換えられる必要があります。
|
||||
.Pp
|
||||
.Dq Li _af
|
||||
接尾辞も
|
||||
.Dq Li _sa
|
||||
接尾辞もついていない関数は、IPv6 と IPv4 の両方とも扱える
|
||||
.Fn ruserok
|
||||
関数を除いて、IPv4 のみで動作します。
|
||||
アドレスファミリを切替えるには、
|
||||
.Fa af
|
||||
引数に
|
||||
.Dv AF_INET
|
||||
もしくは
|
||||
.Dv AF_INET6
|
||||
を設定しなければなりません。
|
||||
.Fn rcmd_af
|
||||
に対しては、
|
||||
.Dv PF_UNSPEC
|
||||
も許されます。
|
||||
.Sh 診断
|
||||
成功した場合、
|
||||
.Fn rcmd
|
||||
関数は有効なソケット記述子を返します。
|
||||
エラーが発生した場合は -1 を返し、診断メッセージを標準エラーに出力します。
|
||||
.Pp
|
||||
成功した場合、
|
||||
.Fn rresvport
|
||||
関数は、問題がなければ有効で結合したソケット記述子を戻します。エラーが
|
||||
発生した場合は \-1 を戻し、エラーの原因に従ってグローバル変数
|
||||
関数は有効で結合したソケット記述子を返します。
|
||||
エラーが発生した場合は -1 を返し、エラーの原因に従ってグローバル変数
|
||||
.Va errno
|
||||
を設定します。「すべてのネットワークポートが使用されている」ことを示す
|
||||
場合は、エラーコード
|
||||
.Dv EAGAIN
|
||||
が設定されます。
|
||||
「すべてのネットワークポートが使用されている」ことを示す場合は、
|
||||
エラーコード
|
||||
.Er EAGAIN
|
||||
がオーバロードされます。
|
||||
.Sh 関連項目
|
||||
.Xr rlogin 1 ,
|
||||
|
@ -177,7 +244,31 @@
|
|||
.Xr rexecd 8 ,
|
||||
.Xr rlogind 8 ,
|
||||
.Xr rshd 8
|
||||
.Pp
|
||||
.Rs
|
||||
.%A W. Stevens
|
||||
.%A M. Thomas
|
||||
.%T "Advanced Socket API for IPv6"
|
||||
.%O RFC2292
|
||||
.Re
|
||||
.Rs
|
||||
.%A W. Stevens
|
||||
.%A M. Thomas
|
||||
.%A E. Nordmark
|
||||
.%T "Advanced Socket API for IPv6"
|
||||
.%O draft-ietf-ipngwg-rfc2292bis-01.txt
|
||||
.Re
|
||||
.Sh 歴史
|
||||
この関数は、
|
||||
これらのほとんどの関数は、
|
||||
.Bx 4.2
|
||||
に追加されました。
|
||||
で登場しました。
|
||||
.Fn rresvport_af
|
||||
は RFC2292 で登場し、 Hydrangea IPv6 プロトコルスタックキットのために
|
||||
WIDE プロジェクトによって実装されました。
|
||||
.Fn rcmd_af
|
||||
は draft-ietf-ipngwg-rfc2292bis-01.txt で登場し、
|
||||
WIDE/KAME IPv6 プロトコルスタックキットで実装されました。
|
||||
.Fn iruserok_sa
|
||||
は IETF の ipngwg メーリングリストの議論で登場し、
|
||||
.Fx 4.0
|
||||
で実装されました。
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" Copyright (c) 1985, 1991, 1993
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\" The Regents of the University of California. All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
.\" modification, are permitted provided that the following conditions
|
||||
|
@ -11,8 +11,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.
|
||||
|
@ -29,7 +29,8 @@
|
|||
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
.\" SUCH DAMAGE.
|
||||
.\"
|
||||
.\" @(#)resolver.3 8.1 (Berkeley) 6/4/93
|
||||
.\" @(#)resolver.3 8.1 (Berkeley) 6/4/93
|
||||
.\" %FreeBSD: src/lib/libc/net/resolver.3,v 1.11.2.3 2001/03/06 16:45:59 ru Exp %
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.Dd June 4, 1993
|
||||
|
@ -44,6 +45,8 @@
|
|||
.Nm dn_comp ,
|
||||
.Nm dn_expand
|
||||
.Nd リゾルバルーチン
|
||||
.Sh ライブラリ
|
||||
.Lb libc
|
||||
.Sh 書式
|
||||
.Fd #include <sys/types.h>
|
||||
.Fd #include <netinet/in.h>
|
||||
|
@ -102,87 +105,95 @@
|
|||
.Fa "int length"
|
||||
.Fc
|
||||
.Sh 解説
|
||||
このルーチンは、インターネットドメインネームサーバを使用し、クエリと
|
||||
応答メッセージの作成、送信、解釈を行ないます。
|
||||
これらのルーチンは、インターネットドメインネームサーバを使用し、
|
||||
クエリと応答メッセージの作成、送信、解釈を行います。
|
||||
.Pp
|
||||
リゾルバルーチンが使用するグローバル設定と状態の情報は、構造体
|
||||
リゾルバルーチンが使用するグローバルな設定と状態の情報は、構造体
|
||||
.Em _res
|
||||
に保存されます。ほとんどの値は、適切なデフォルトになっているので無視で
|
||||
きます。
|
||||
に保存されます。
|
||||
ほとんどの値は、適切なデフォルト値になっているので無視できます。
|
||||
.Em _res.options
|
||||
に保存されているオプションは、
|
||||
に保存されるオプションは、
|
||||
.Pa resolv.h
|
||||
で以下のように定義されています。オプションは、有効なオプションのビット
|
||||
ワイズ論理和を含む、単純なビットマスクとして保存されています。
|
||||
で以下のように定義されています。
|
||||
オプションは、有効なオプションのビット論理和をとった、
|
||||
単純なビットマスクとして保存されています。
|
||||
.Bl -tag -width RES_DEFNAMES
|
||||
.It Dv RES_INIT
|
||||
初期ネームサーバアドレスとデフォルトドメイン名が初期化されている場合は
|
||||
真です(
|
||||
真です (
|
||||
.Fn res_init
|
||||
が呼び出された場合など)。
|
||||
.It Dv RES_DEBUG
|
||||
デバッグメッセージを出力します。
|
||||
.It Dv RES_AAONLY
|
||||
信頼できる応答のみを受け入れます。このオプションを使用した場合は、信頼
|
||||
できる応答かエラーが見つかるまで
|
||||
信頼できる応答のみを受け入れます。
|
||||
このオプションを使用した場合、信頼できる応答かエラーが見つかるまで
|
||||
.Fn res_send
|
||||
を続ける必要があります。現在のところ、これは実現されていません。
|
||||
.It Dv RES_USEVC UDP
|
||||
データグラムの代わりに
|
||||
を続ける必要があります。
|
||||
現在のところ、これは実装されていません。
|
||||
.It Dv RES_USEVC
|
||||
UDP データグラムの代わりに
|
||||
.Tn TCP
|
||||
接続をクエリに使用します。
|
||||
.It DV RES_STAYOPEN
|
||||
.Dv RES_USEVC
|
||||
とともに使用し、クエリ間で
|
||||
.Tn TCP
|
||||
接続を開いたままに保ちます。多くのクエリを定期的に行なうプログラムのみ
|
||||
で便利です。
|
||||
接続を開いたままに保ちます。
|
||||
多くのクエリを定期的に行うプログラムのみで便利です。
|
||||
通常の使用には
|
||||
.Tn UDP
|
||||
は通常モードである必要があります。
|
||||
を使うべきです。
|
||||
.It Dv RES_IGNTC
|
||||
現在は使用されません(TCPで再試行しないなど、トランケーションエラーを無
|
||||
視)。
|
||||
現在は使用されません (TCP で再試行しないなど、トランケーションエラーを無視)。
|
||||
.It Dv RES_RECURSE
|
||||
クエリの反復要求ビットを設定します。これがデフォルトです。(
|
||||
クエリの反復要求ビットを設定します。
|
||||
これがデフォルトです (
|
||||
.Fn res_send
|
||||
は反復クエリを行なわず、ネームサーバが反復を処理することを期待します。)
|
||||
は反復クエリを行なわず、ネームサーバが反復を処理することを期待します)。
|
||||
.It Dv RES_DEFNAMES
|
||||
設定すると、
|
||||
.Fn res_search
|
||||
がシングルコンポーネント名(ドットを含まない名前)にデフォルトのドメイン
|
||||
名を追加するようになります。このオプションはデフォルトで有効になってい
|
||||
ます。
|
||||
がシングルコンポーネント名 (ドットを含まない名前) に
|
||||
デフォルトのドメイン名を追加するようになります。
|
||||
このオプションはデフォルトで有効になっています。
|
||||
.It Dv RES_DNSRCH
|
||||
このオプションを設定すると、
|
||||
.Fn res_search
|
||||
が、現在のドメインと親ドメインでホスト名を検索するようになります。
|
||||
.Xr hostname 7
|
||||
を参照してください。これは、標準ホスト検索ルーチン
|
||||
を参照してください。
|
||||
これは、標準ホスト検索ルーチン
|
||||
.Xr gethostbyname 3
|
||||
によって使用されます。このオプションはデフォルトで有効になっています。
|
||||
によって使用されます。
|
||||
このオプションはデフォルトで有効になっています。
|
||||
.It Dv NOALIASES
|
||||
このオプションは、
|
||||
.Dq Ev HOSTALIASES
|
||||
環境変数が制御するユーザレベルエイリアシング機能を無効にします。ネット
|
||||
ワークデーモンでは、このオプションを設定する必要があります。
|
||||
環境変数によって制御されるユーザレベルのエイリアシング機能を無効にします。
|
||||
ネットワークデーモンでは、このオプションを設定する必要があります。
|
||||
.El
|
||||
.Pp
|
||||
.Fn res_init
|
||||
ルーチンは、設定ファイルを読み込み(設定ファイルが存在する場合。
|
||||
.Xr Resolver 5
|
||||
参照)、デフォルトドメイン名、検索リスト、ローカルネームサーバのインター
|
||||
ネットアドレスを入手します。サーバが設定されていない場合は、リゾルバを
|
||||
実行しているホストが試されます。現在のドメイン名は、設定ファイルで指定
|
||||
されていない場合、ホスト名で定義されますが、環境変数
|
||||
ルーチンは、設定ファイルを読み込み (設定ファイルが存在する場合。
|
||||
.Xr resolver 5
|
||||
参照)、デフォルトドメイン名、検索リスト、ローカルネームサーバの
|
||||
インターネットアドレスを入手します。
|
||||
サーバが設定されていない場合は、リゾルバを実行しているホストが試されます。
|
||||
現在のドメイン名は、設定ファイルで指定されていない場合、
|
||||
ホスト名で定義されますが、環境変数
|
||||
.Ev LOCALDOMAIN
|
||||
で上書きされることがあります。検索リストをプロセスごとに上書きする場合
|
||||
は、ブランクで区切られた複数のトークンをこの環境変数に含めます。これは、
|
||||
設定ファイルの
|
||||
で上書きすることもできます。
|
||||
検索リストをプロセスごとに上書きする場合は、
|
||||
ブランクで区切られた複数のトークンをこの環境変数に含めます。
|
||||
これは、設定ファイルの
|
||||
.Em search
|
||||
コマンドに似ています。別の環境変数
|
||||
コマンドに似ています。
|
||||
別の環境変数
|
||||
.Dq Ev RES_OPTIONS
|
||||
を設定すれば、特定の内部リゾルバオプションを上書きできます。内部リゾル
|
||||
バオプションは、上書きされなければ、
|
||||
を設定すれば、特定の内部リゾルバオプションを上書きできます。
|
||||
内部リゾルバオプションは、上書きされなければ、
|
||||
.Em _res
|
||||
構造体のフィールドを変更することで設定されるか、設定ファイルの
|
||||
.Em options
|
||||
|
@ -190,20 +201,21 @@
|
|||
.Dq Ev RES_OPTIONS
|
||||
環境変数のシンタックスについては、
|
||||
.Xr resolver 5
|
||||
を参照してください。通常の場合、初期化は以下のルーチンを初めて呼び出し
|
||||
たときに実行されます。
|
||||
を参照してください。
|
||||
通常の場合、初期化は以下のルーチンを初めて呼び出したときに実行されます。
|
||||
.Pp
|
||||
.Fn res_query
|
||||
関数は、サーバクエリメカニズムのインタフェースを提供するもので、クエリ
|
||||
の作成、作成されたクエリのローカルサーバへの送信、リスポンスの待機、応
|
||||
答の予備チェックを行ないます。クエリは、指定された完全に適格なドメイン
|
||||
名
|
||||
関数は、サーバクエリメカニズムのインタフェースを提供するもので、
|
||||
クエリの作成、作成されたクエリのローカルサーバへの送信、レスポンスの待機、
|
||||
応答の予備チェックを行います。
|
||||
クエリは、指定された完全に適格なドメイン名
|
||||
.Fa dname
|
||||
で、指定された
|
||||
に対する、指定された
|
||||
.Fa type
|
||||
と
|
||||
.Fa class
|
||||
の情報を要求します。応答メッセージは、
|
||||
の情報を要求します。
|
||||
応答メッセージは
|
||||
.Fa answer
|
||||
バッファに残され、呼び出し側が指定する
|
||||
.Fa anslen
|
||||
|
@ -212,12 +224,12 @@
|
|||
.Fn res_search
|
||||
ルーチンは、
|
||||
.Fn res_query
|
||||
と同じようにクエリの作成とリスポンスの待機を行ないますが、
|
||||
と同じようにクエリの作成とレスポンスの待機を行いますが、それに加えて
|
||||
.Dv RES_DEFNAMES
|
||||
と
|
||||
.Dv RES_DNSRCH
|
||||
オプションが制御するデフォルトと検索規則も実現します。最初の問題がない
|
||||
応答が戻されます。
|
||||
オプションによって制御されるデフォルトと検索規則も実装しています。
|
||||
このルーチンは最初に成功した応答を返します。
|
||||
.Pp
|
||||
残りのルーチンは、
|
||||
.Fn res_query
|
||||
|
@ -225,50 +237,55 @@
|
|||
.Fn res_mkquery
|
||||
関数は、標準クエリメッセージを作成して
|
||||
.Fa buf
|
||||
に配置し、クエリのサイズを戻します。クエリが
|
||||
に配置し、クエリのサイズを返します。
|
||||
クエリが
|
||||
.Fa buflen
|
||||
より長い場合は \-1 を戻します。クエリタイプ
|
||||
より長い場合は -1 を返します。
|
||||
クエリタイプ
|
||||
.Fa op
|
||||
は、通常の場合
|
||||
.Dv QUERY
|
||||
ですが、
|
||||
.Aq Pa arpa/nameser.h
|
||||
で定義されているクエリタイプにできます。クエリのドメイン名は
|
||||
で定義されているどのクエリタイプにもできます。
|
||||
クエリのドメイン名は
|
||||
.Fa dname
|
||||
で指定します。
|
||||
.Fa Newrr
|
||||
.Fa newrr
|
||||
は現在使用されていませんが、更新メッセージを作成するためのものです。
|
||||
.Pp
|
||||
.Fn res_send
|
||||
ルーチンは、事前フォーマット済みクエリを送信し、応答を戻します。
|
||||
ルーチンは、事前フォーマット済みクエリを送信し、応答を返します。
|
||||
.Dv RES_INIT
|
||||
が設定されていない場合は
|
||||
.Fn res_init
|
||||
を呼び出します。ローカルネームサーバへのクエリの送信、およびタイムアウ
|
||||
トと再試行の処理も行ないます。応答メッセージの長さを戻しますが、エラー
|
||||
がある場合は \-1 を戻します。
|
||||
を呼び出します。
|
||||
ローカルネームサーバへのクエリの送信、およびタイムアウトと
|
||||
再試行の処理も行います。
|
||||
応答メッセージの長さを返しますが、エラーがあった場合は -1 を返します。
|
||||
.Pp
|
||||
.Fn dn_comp
|
||||
関数は、ドメイン名
|
||||
.Fa exp_dn
|
||||
を圧縮し、
|
||||
.Fa comp_dn
|
||||
に保存します。圧縮された名前のサイズを戻しますが、エラーがある場合は
|
||||
\-1 を戻します。
|
||||
に保存します。
|
||||
圧縮された名前のサイズを返しますが、エラーがあった場合は -1 を返します。
|
||||
.Fa comp_dn
|
||||
が指す配列のサイズは
|
||||
.Fa length
|
||||
で指定します。圧縮では、現在のメッセージで以前に圧縮された名前を指すポ
|
||||
インタ
|
||||
で指定します。
|
||||
圧縮の際、現在のメッセージでそれまでに圧縮された名前を指すポインタ
|
||||
.Fa dnptrs
|
||||
の配列を使用します。最初のポインタはメッセージの最初を指し、リストは
|
||||
の配列を使用します。
|
||||
最初のポインタはメッセージの最初を指し、リストは
|
||||
.Dv NULL
|
||||
で終わります。配列の制限は
|
||||
.Fa lastdnptr
|
||||
で指定します。
|
||||
.Fn dn_comp
|
||||
の副作用は、名前が圧縮されたときにメッセージに挿入されるラベルのポイン
|
||||
タのリストが更新されることです。
|
||||
の副作用は、名前が圧縮されたときにメッセージに挿入されるラベルのポインタの
|
||||
リストが更新されることです。
|
||||
.Em dnptr
|
||||
が
|
||||
.Dv NULL
|
||||
|
@ -281,21 +298,23 @@
|
|||
.Fn dn_expand
|
||||
エントリは、圧縮されたドメイン名
|
||||
.Fa comp_dn
|
||||
を完全ドメイン名に展開します。圧縮された名前は、クエリか応答メッセージに
|
||||
含まれます。
|
||||
を完全ドメイン名に展開します。
|
||||
圧縮された名前は、クエリもしくは応答メッセージに含まれます。
|
||||
.Fa msg
|
||||
は、メッセージの最初を指すポインタです。展開された名前は、
|
||||
は、メッセージの最初を指すポインタです。
|
||||
展開された名前は、
|
||||
.Fa exp_dn
|
||||
が示すバッファに配置されます。バッファのサイズは
|
||||
が示すサイズ
|
||||
.Fa length
|
||||
です。圧縮された名前のサイズが戻されますが、エラーがある場合は \-1 が
|
||||
戻されます。
|
||||
のバッファに配置されます。
|
||||
圧縮された名前のサイズが返されますが、
|
||||
エラーがあった場合は -1 が返されます。
|
||||
.Sh 関連ファイル
|
||||
.Bl -tag -width Pa
|
||||
/etc/resolv.conf
|
||||
.Bl -tag -width /etc/resolv.conf
|
||||
.It Pa /etc/resolv.conf
|
||||
設定ファイル。
|
||||
.Xr resolver 5
|
||||
を参照してください。
|
||||
を参照のこと。
|
||||
.El
|
||||
.Sh 関連項目
|
||||
.Xr gethostbyname 3 ,
|
||||
|
|
Loading…
Reference in a new issue