OSDN Git Service

(split) DP: release pages (catch up to 3.50).
[linuxjm/LDP_man-pages.git] / release / man3 / rcmd.3
index d6784f0..4e6022e 100644 (file)
@@ -3,6 +3,7 @@
 .\" Copyright (c) 1983, 1991, 1993
 .\"    The Regents of the University of California.  All rights reserved.
 .\"
+.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions
 .\" are met:
@@ -30,6 +31,7 @@
 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
+.\" %%%LICENSE_END
 .\"
 .\"     @(#)rcmd.3     8.1 (Berkeley) 6/4/93
 .\"
 .\"
 .\" 2007-12-08, mtk, Converted from mdoc to man macros
 .\"
+.\"*******************************************************************
 .\"
-.\" Japanese Version Copyright (c) 1999 NAKANO Takeo all rights reserved.
-.\" Translated Mon Mar 1 1999 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.\"WORD:       standard name           (¥Û¥¹¥È¤Î) É¸½à̾
-.\"WORD:       regular file            Ä̾ï¥Õ¥¡¥¤¥ë
-.\"
-.TH RCMD 3 2007-12-28 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-rcmd, rresvport, iruserok, ruserok \- ¥ê¥â¡¼¥È¥³¥Þ¥ó¥É¤Ë¥¹¥È¥ê¡¼¥à¤òÊÖ¤¹´Ø¿ô·²
-.SH ½ñ¼°
+.\"*******************************************************************
+.TH RCMD 3 2012\-04\-23 Linux "Linux Programmer's Manual"
+.SH 名前
+rcmd, rresvport, iruserok, ruserok, rcmd_af, rresvport_af, iruserok_af,
+ruserok_af \- リモートコマンドにストリームを返す関数群
+.SH 書式
 .nf
-.B #include <netdb.h> \ \ \fP/* Or <unistd.h> on some systems */
+\fB#include <netdb.h> \ \ \fP/* Or <unistd.h> on some systems */
+.sp
+\fBint rcmd(char **\fP\fIahost\fP\fB, int \fP\fIinport\fP\fB, const char *\fP\fIlocuser\fP\fB, \fP
+\fB         const char *\fP\fIremuser\fP\fB, const char *\fP\fIcmd\fP\fB, int *\fP\fIfd2p\fP\fB);\fP
+.sp
+\fBint rresvport(int *\fP\fIport\fP\fB);\fP
 .sp
-.BI "int rcmd(char **" ahost ", int " inport ", const char *" locuser ", "
-.BI "         const char *" remuser ", const char *" cmd ", int *" fd2p );
+\fBint iruserok(uint32_t \fP\fIraddr\fP\fB, int \fP\fIsuperuser\fP\fB, \fP
+\fB             const char *\fP\fIruser\fP\fB, const char *\fP\fIluser\fP\fB);\fP
 .sp
-.BI "int rresvport(int *" port );
+\fBint ruserok(const char *\fP\fIrhost\fP\fB, int \fP\fIsuperuser\fP\fB, \fP
+\fB            const char *\fP\fIruser\fP\fB, const char *\fP\fIluser\fP\fB);\fP
 .sp
-.BI "int iruserok(uint32_t " raddr ", int " superuser ", "
-.BI "             const char *" ruser ", const char *" luser );
+\fBint rcmd_af(char **\fP\fIahost\fP\fB, int \fP\fIinport\fP\fB, const char *\fP\fIlocuser\fP\fB, \fP
+\fB            const char *\fP\fIremuser\fP\fB, const char *\fP\fIcmd\fP\fB, int *\fP\fIfd2p\fP\fB,\fP
+\fB            sa_family_t \fP\fIaf\fP\fB);\fP
 .sp
-.BI "int ruserok(const char *" rhost ", int " superuser ", "
-.BI "            const char *" ruser ", const char *" luser );
+\fBint rresvport_af(int *\fP\fIport\fP\fB, sa_family_t \fP\fIaf\fP\fB);\fP
+.sp
+\fBint iruserok_af(uint32_t \fP\fIraddr\fP\fB, int \fP\fIsuperuser\fP\fB, \fP
+\fB                const char *\fP\fIruser\fP\fB, const char *\fP\fIluser\fP\fB, sa_family_t \fP\fIaf\fP\fB);\fP
+.sp
+\fBint ruserok_af(const char *\fP\fIrhost\fP\fB, int \fP\fIsuperuser\fP\fB, \fP
+\fB               const char *\fP\fIruser\fP\fB, const char *\fP\fIluser\fP\fB, sa_family_t \fP\fIaf\fP\fB);\fP
 .fi
 .sp
 .in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
-.RB ( feature_test_macros (7)
-»²¾È):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
 .in
 .sp
-.BR rcmd (),
-.BR rresvport (),
-.BR ruserok ():
+\fBrcmd\fP(), \fBrcmd_af\fP(), \fBrresvport\fP(), \fBrresvport_af\fP(),
+\fBiruserok\fP(), \fBiruserok_af\fP(), \fBruserok\fP(), \fBruserok_af\fP():
 _BSD_SOURCE
-.SH ÀâÌÀ
-.BR rcmd ()
-´Ø¿ô¤Ï¡¢¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤¬¥ê¥â¡¼¥È¥Þ¥·¥ó¤Ç¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë
-ÍѤ¤¤é¤ì¤ë¡£¤³¤Î¤È¤­Æø¢¥Ý¡¼¥ÈÈÖ¹æ¤ò¤â¤È¤Ë¤·¤¿Ç§¾Ú¥¹¥­¡¼¥à¤¬
-ÍѤ¤¤é¤ì¤ë¡£
-.BR rresvport ()
-´Ø¿ô¤Ï¡¢Æø¢¥Ý¡¼¥È¶õ´Ö¤Î¥¢¥É¥ì¥¹¤ò»ý¤Ä¥½¥±¥Ã¥È¤Î
-¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤òÊÖ¤¹¡£
-.BR iruserok ()
-´Ø¿ô¤È
-.BR ruserok ()
-´Ø¿ô¤Ï¡¢
-.BR rcmd ()
-¤Ç¥µ¡¼¥Ó¥¹Í×µá¤ò¹Ô¤Ã¤¿¥¯¥é¥¤¥¢¥ó¥È¤Îǧ¾Ú¤ò¹Ô¤¦¤¿¤á¤Ë
-¥µ¡¼¥Ð¡¼¤¬ÍѤ¤¤ë´Ø¿ô¤Ç¤¢¤ë¡£
-°Ê¾å¤Î 4 ¤Ä¤Î´Ø¿ô¤Ï¡¢¤¹¤Ù¤ÆƱ¤¸¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤µ¤ì¤Æ¤ª¤ê¡¢
-.BR rshd (8)
-¥µ¡¼¥Ð¡¼¤Ë¤è¤Ã¤Æ (¾¤Î´Ø¿ô¤È¤È¤â¤Ë) ÍøÍѤµ¤ì¤ë¡£
+.SH 説明
+\fBrcmd\fP() 関数は、スーパーユーザーがリモートマシンでコマンドを実行する
+ために 用いられる。このとき特権ポート番号をもとにした認証スキームが 用
+いられる。 \fBrresvport\fP() 関数は、特権ポート空間のアドレスを持つソケッ
+トの ディスクリプターを返す。 \fBiruserok\fP() 関数と \fBruserok\fP() 関数は、
+\fBrcmd\fP() でサービス要求を行ったクライアントの認証を行うために サーバー
+が用いる関数である。 以上の 4 つの関数は、 \fBrshd\fP(8) サーバーによって
+(他の関数とともに) 利用される。
+.SS rcmd()
 .PP
-.BR rcmd ()
-´Ø¿ô¤Ï
-.BR gethostbyname (3)
-¤òÍѤ¤¤Æ
-.I *ahost
-¤Î»²¾È¤ò¹Ô¤¦¡£¥Û¥¹¥È¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï \-1 ¤òÊÖ¤¹¡£
-¸«¤Ä¤«¤Ã¤¿¾ì¹ç¤Ï
-.I *ahost
-¤Ë¥Û¥¹¥È¤Îɸ½à̾ (standard name) ¤ò¥»¥Ã¥È¤·¤Æ¡¢
-ͽÌ󤵤ì¤Æ¤¤¤ë¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥Ý¡¼¥È
-.I inport
-·Ðͳ¤Ç¥µ¡¼¥Ð¡¼¤Ø¤ÎÀܳ¤ò³ÎΩ¤¹¤ë¡£
+\fBrcmd\fP()  関数は \fBgethostbyname\fP(3)  を用いて \fI*ahost\fP の参照を行う。ホストが存在しない場合は \-1
+を返す。 見つかった場合は \fI*ahost\fP にホストの標準名 (standard name) をセットして、 予約されているインターネットポート
+\fIinport\fP 経由でサーバーへの接続を確立する。
 .PP
-Àܳ¤ËÀ®¸ù¤·¤¿¤é¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥É¥á¥¤¥ó¤Ë¸ºß¤¹¤ë¥¿¥¤¥×
-.B SOCK_STREAM
-¤Î¥½¥±¥Ã¥È¤¬¸Æ¤Ó½Ð¤·¤â¤È¤ËÊÖ¤µ¤ì¤ë¡£
-¤³¤Î¥½¥±¥Ã¥È¤ÎÁê¼ê¦¤Ï¥ê¥â¡¼¥È¥³¥Þ¥ó¥É¤Î
-.I stdin
-¤ª¤è¤Ó
-.I stdout
-¤ËÀܳ¤µ¤ì¤ë¡£
-.I fd2p
-¤¬¥¼¥í¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢À©¸æ¥×¥í¥»¥¹¤Ø¤ÎÀܳ¤¬¤â¤¦°ì¤ÄÍÑ°Õ¤µ¤ì¡¢
-¤½¤Î¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤¬
-.I *fd2p
-¤Ë¥»¥Ã¥È¤µ¤ì¤ë¡£
-À©¸æ¥×¥í¥»¥¹¤Ï¥ê¥â¡¼¥È¥³¥Þ¥ó¥É¤«¤é¤Îɸ½à¥¨¥é¡¼½ÐÎÏ (unit 2) ¤ò
-¤³¤Î¥Á¥ã¥ó¥Í¥ë¤ËÊÖ¤¹¡£
-¤Þ¤¿À©¸æ¥×¥í¥»¥¹¤Ï¤³¤ÎÀܳ¤«¤é¼õ¤±¼è¤Ã¤¿¥Ð¥¤¥È¥Ç¡¼¥¿¤ò
-Unix ¥·¥°¥Ê¥ë¤ÎÈÖ¹æ¤È¤·¤Æ°·¤¤¡¢¥ê¥â¡¼¥È¥³¥Þ¥ó¥É¤Î¥×¥í¥»¥¹
-¥°¥ë¡¼¥×¤Ø¤È¥·¥°¥Ê¥ë¤òÁ÷¤ë¡£
-.I fd2p
-¤¬¥¼¥í¤Î¾ì¹ç¤Ï¡¢
-.I stderr
-(¥ê¥â¡¼¥È¥³¥Þ¥ó¥É¤Î unit 2) ¤Ï
-.I stdout
-¤È°ì½ï¤Ë¤Þ¤È¤á¤é¤ì¤ë¡£¤Þ¤¿¤³¤Î¾ì¹ç¤Ï¥ê¥â¡¼¥È¥×¥í¥»¥¹¤Ø
-Ǥ°Õ¤Î¥·¥°¥Ê¥ë¤òÁ÷¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¯¤Ê¤ë¡£
-¤¿¤À¤·ÂÓ°è³° (out-of-band) ¥Ç¡¼¥¿¤òÍѤ¤¤ì¤Ð¡¢
-¥ê¥â¡¼¥È¥×¥í¥»¥¹¤ÎÃí°Õ¤ò°ú¤¯¤³¤È¤Ï¤Ç¤­¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
+接続に成功したら、インターネットドメインに存在するタイプ \fBSOCK_STREAM\fP のソケットが呼び出しもとに返される。
+このソケットの相手側はリモートコマンドの \fIstdin\fP および \fIstdout\fP に接続される。 \fIfd2p\fP
+がゼロでない場合は、制御プロセスへの接続がもう一つ用意され、 そのディスクリプターが \fI*fd2p\fP にセットされる。
+制御プロセスはリモートコマンドからの標準エラー出力 (unit 2) を このチャンネルに返す。 また制御プロセスはこの接続から受け取ったバイトデータを
+UNIX シグナルの番号として扱い、リモートコマンドのプロセス グループへとシグナルを送る。 \fIfd2p\fP がゼロの場合は、 \fIstderr\fP
+(リモートコマンドの unit 2) は \fIstdout\fP と一緒にまとめられる。またこの場合はリモートプロセスへ
+任意のシグナルを送ることはできなくなる。 ただし帯域外 (out\-of\-band) データを用いれば、
+リモートプロセスの注意を引くことはできるかもしれない。
 .PP
-¥×¥í¥È¥³¥ë¤Î¾ÜºÙ¤Ï
-.BR rshd (8)
-¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¡£
+プロトコルの詳細は \fBrshd\fP(8)  に記述されている。
+.SS rresvport()
 .PP
-.BR rresvport ()
-´Ø¿ô¤ÏÆø¢¥¢¥É¥ì¥¹¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿¥½¥±¥Ã¥È¤ò¼èÆÀ¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£
-¤³¤Î¥½¥±¥Ã¥È¤Ï
-.BR rcmd ()
-¤Ê¤É¤Î´Ø¿ô¤Ç¤ÎÍøÍѤËŬ¤·¤Æ¤¤¤ë¡£¥¤¥ó¥¿¡¼¥Í¥Ã¥È¥Ý¡¼¥È¤ÎÆø¢¥Ý¡¼¥È¤Ï¡¢
-0 ¤«¤é 1023 ¤ÎÈϰϤǤ¢¤ë¡£¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤À¤±¤¬¤³¤ì¤é¤Î¥¢¥É¥ì¥¹¤ò
-¥½¥±¥Ã¥È¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+.\"
+\fBrresvport\fP() 関数は特権ポートにバインドされたソケットを取得するために
+用いられる。 このソケットは \fBrcmd\fP() などの関数での利用に適している。
+インターネットポートの特権ポートは、 0 から 1023 の範囲である。特権プロ
+セス (\fBCAP_NET_BIND_SERVICE\fP) だけが特権ポートをバインドすることができ
+る。 glibc の実装では、この関数は特権ポートの検索範囲を 512 から 1023
+までの範囲に制限している。 \fIport\fP 引き数は入出力両用で使用される。呼び
+出し時にこの引き数で渡された値は特権ポートを巡回検索する際の開始ポイン
+トとして使用され、(成功で) 返る際にはこの引き数にバインドされたポート
+番号が格納される。
+.SS "iruserok() と ruserok()"
 .PP
-.BR iruserok ()
-¤È
-.BR ruserok ()
-´Ø¿ô¤Ï¡¢¤Þ¤º°Ê²¼¤Î°ú¿ô¤ò¼è¤ë: ¥ê¥â¡¼¥È¥Û¥¹¥È (
-.BR iruserok ()
-¤Ï IP ¥¢¥É¥ì¥¹¤Ç¡¢
-.BR ruserok ()
-¤Ï¥Û¥¹¥È̾¤Ç»ØÄê)¡¢ 2 ¤Ä¤Î¥æ¡¼¥¶¡¼Ì¾¡¢¥í¡¼¥«¥ë¥æ¡¼¥¶¡¼¤Î̾Á°¤¬
-¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤Î¤â¤Î¤Ç¤¢¤ë¤«¤É¤¦¤«¤ò¼¨¤¹¥Õ¥é¥°¡¢¤Ç¤¢¤ë¡£
-¤â¤·¥æ¡¼¥¶¡¼¤¬\fB¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤Ç¤Ï¤Ê¤¤\fP¾ì¹ç¤Ï¡¢¤³¤ì¤é¤Î´Ø¿ô¤Ï
-.I /etc/hosts.equiv
-¥Õ¥¡¥¤¥ë¤ò¥Á¥§¥Ã¥¯¤¹¤ë¡£¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¤ê¡¢
-ÆâÍƤΥÁ¥§¥Ã¥¯¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¡¢
-¥í¡¼¥«¥ë¥æ¡¼¥¶¡¼¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë
-.I .rhosts
-¥Õ¥¡¥¤¥ë¤ò¥Á¥§¥Ã¥¯¤·¤Æ¡¢¥µ¡¼¥Ó¥¹Í׵᤬µö²Ä¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«Ä´¤Ù¤ë¡£
+\fBiruserok\fP()  と \fBruserok\fP()  関数は、まず以下の引数を取る: リモートホスト (\fBiruserok\fP()  は IP
+アドレスで、 \fBruserok\fP()  はホスト名で指定)、 2 つのユーザー名、ローカルユーザーの名前が
+スーパーユーザーのものであるかどうかを示すフラグ、である。 もしユーザーが\fBスーパーユーザーではない\fP場合は、これらの関数は
+\fI/etc/hosts.equiv\fP ファイルをチェックする。ファイルが見つからなかったり、 内容のチェックに失敗した場合には、
+ローカルユーザーのホームディレクトリにある \fI.rhosts\fP ファイルをチェックして、サービス要求が許可されているかどうか調べる。
 .PP
-¤³¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¤ê¡¢
-Ä̾ï¥Õ¥¡¥¤¥ë (regular file) ¤Ç¤Ï¤Ê¤«¤Ã¤¿¤ê¡¢
-»ØÄê¥æ¡¼¥¶¡¼¤Þ¤¿¤Ï¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼°Ê³°¤Î½êÍ­¤À¤Ã¤¿¤ê¡¢
-½êÍ­¼Ô°Ê³°¤«¤é½ñ¤­¹þ¤ß²Äǽ¤À¤Ã¤¿¤ê¤·¤¿¾ì¹ç¤Ë¤Ï¡¢
-¤³¤Î¥Á¥§¥Ã¥¯¤Ï¼«Æ°Åª¤Ë¼ºÇÔ¤¹¤ë¡£
-¥Þ¥·¥ó¤Î̾Á°¤¬
-.I hosts.equiv
-¤Ë¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤¿¤ê¡¢
-¥Û¥¹¥È¤È¥ê¥â¡¼¥È¥æ¡¼¥¶¡¼¤Î̾Á°¤¬
-.I .rhosts
-¥Õ¥¡¥¤¥ë¤Ë½ñ¤«¤ì¤Æ¤¤¤¿¾ì¹ç¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¤ë¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¤Ë¤Ï¡¢
-.BR iruserok ()
-¤È
-.BR ruserok ()
-¤Ï \-1 ¤òÊÖ¤¹¡£
-.RB ( gethostname (2)
-¤Ë¤è¤Ã¤Æ¼èÆÀ¤µ¤ì¤ë) ¥í¡¼¥«¥ë¥É¥á¥¤¥ó¤¬¥ê¥â¡¼¥È¤Î¥É¥á¥¤¥ó¤ÈƱ¤¸¾ì¹ç¤Ï¡¢
-¥Þ¥·¥ó¤Î̾Á°¤À¤±¤ò»ØÄꤹ¤ì¤Ð¤è¤¤¡£
+このファイルが存在しなかったり、 通常ファイル (regular file) ではなかったり、 指定ユーザーまたはスーパーユーザー以外の所有だったり、
+所有者以外から書き込み可能だったりした場合には、 このチェックは自動的に失敗する。 マシンの名前が \fIhosts.equiv\fP にリストされていたり、
+ホストとリモートユーザーの名前が \fI.rhosts\fP ファイルに書かれていた場合には 0 が返される。 それ以外の場合には、
+\fBiruserok\fP()  と \fBruserok\fP()  は \-1 を返す。 (\fBgethostname\fP(2)  によって取得される)
+ローカルドメインがリモートのドメインと同じ場合は、 マシンの名前だけを指定すればよい。
 .PP
-¥ê¥â¡¼¥È¥Û¥¹¥È¤Î IP ¥¢¥É¥ì¥¹¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
-.BR ruserok ()
-¤è¤ê¤â
-.BR iruserok () ¤òÍѤ¤¤ëÊý¤¬Îɤ¤¤À¤í¤¦¡£
-.BR ruserok ()
-¤Ï¥ê¥â¡¼¥È¥Û¥¹¥È¤Î½ê°¤¹¤ë¥É¥á¥¤¥ó¤Î DNS ¥µ¡¼¥Ð¡¼¤¬¿®Íê¤Ç¤­¤Ê¤¯¤Æ¤â
-»ÈÍѤǤ­¤ë¤«¤é¤Ç¤¢¤ë¡£
-.SH ÊÖ¤êÃÍ
-.BR rcmd ()
-´Ø¿ô¤ÏÀ®¸ù¤¹¤ë¤ÈÍ­¸ú¤Ê¥½¥±¥Ã¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤òÊÖ¤¹¡£
-¼ºÇÔ¤¹¤ë¤È \-1 ¤òÊÖ¤·¡¢É¸½à¥¨¥é¡¼½ÐÎϤ˿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤ò
-ɽ¼¨¤¹¤ë¡£
+リモートホストの IP アドレスがわかっている場合は、 \fBruserok\fP()  よりも \fBiruserok\fP()\fBを用いる方が良いだろう。\fP
+\fBruserok\fP()  はリモートホストの所属するドメインの DNS サーバーが信頼できなくても 使用できるからである。
+.SS "*_af() 版"
+上記で述べた関数は全て IPv4 (\fBAF_INET\fP) ソケットで動作する。
+"_af" 版では追加の引き数があり、この引き数でソケットアドレス
+ファミリーを指定できる。これらの関数では、 \fIaf\fP 引き数には
+\fBAF_INET\fP か \fBAF_INET6\fP が指定できる。
+\fBrcmd_af\fP() では追加で \fBAF_UNSPEC\fP も指定できる。
+.SH 返り値
+\fBrcmd\fP()  関数は成功すると有効なソケットディスクリプターを返す。 失敗すると \-1 を返し、標準エラー出力に診断メッセージを 表示する。
 .PP
-.BR rresvport ()
-´Ø¿ô¤Ï¡¢À®¸ù¤¹¤ë¤È¥Ð¥¤¥ó¥É¤µ¤ì¤¿Í­¸ú¤Ê¥½¥±¥Ã¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤òÊÖ¤¹¡£
-¼ºÇÔ¤¹¤ë¤È \-1 ¤òÊÖ¤·¡¢¥°¥í¡¼¥Ð¥ëÊÑ¿ô
-.I errno
-¤ò¥¨¥é¡¼¤Î¸¶°ø¤ËÂбþ¤¹¤ëÃͤ˥»¥Ã¥È¤¹¤ë¡£
-¥¨¥é¡¼¥³¡¼¥É
-.B EAGAIN
-¤Ï¡¢¤³¤Î´Ø¿ô¤Ë¤ª¤¤¤Æ¤Ï¡Ö¤¹¤Ù¤Æ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥Ý¡¼¥È¤¬»ÈÍÑÃæ¡×
-¤È¤¤¤¦°ÕÌ£¤òɽ¤¹¡£
-.SH ½àµò
-POSIX.1-2001 ¤Ë¤Ï¤Ê¤¤¡£
-BSD ·Ï¡¢Solaris ¤ä¾¤Î¿¤¯¤Î¥·¥¹¥Æ¥à¤Ë¸ºß¤¹¤ë¡£
-¤³¤ì¤é¤Î´Ø¿ô¤Ï 4.2BSD ¤ÇÅо줷¤¿¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR rlogin (1),
-.BR rsh (1),
-.BR intro (2),
-.BR rexec (3),
-.BR rexecd (8),
-.BR rlogind (8),
-.BR rshd (8)
+\fBrresvport\fP()  関数は、成功するとバインドされた有効なソケットディスクリプターを返す。 失敗すると \-1 を返し、グローバル変数
+\fIerrno\fP をエラーの原因に対応する値にセットする。 エラーコード \fBEAGAIN\fP
+は、この関数においては「すべてのネットワークポートが使用中」 という意味を表す。
+
+\fBruserok\fP() と \fBiruserok\fP() の返り値については、上述の説明を参照。
+.SH バージョン
+関数 \fBiruserok_af\fP(), \fBrcmd_af\fP(), \fBrresvport_af\fP(),
+\fBruserok_af\fP() は glibc バージョン 2.2 以降で提供されている。
+.SH 準拠
+POSIX.1\-2001 にはない。 BSD 系、Solaris や他の多くのシステムに存在する。
+これらの関数は 4.2BSD で登場した。 "_af" が付くバージョンはより最近に
+追加されたもので、あまり多くのシステムには存在しない。
+.SH バグ
+.\" Bug filed 25 Nov 2007:
+.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=5399
+\fBiruserok\fP() と \fBiruserok_af\fP() は glibc バージョン 2.12 以降のヘッダ
+でのみ宣言されている。
+.SH 関連項目
+\fBrlogin\fP(1), \fBrsh\fP(1), \fBintro\fP(2), \fBrexec\fP(3), \fBrexecd\fP(8),
+\fBrlogind\fP(8), \fBrshd\fP(8)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。