OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / draft / man3 / rpc.3
index 53d6648..51ef066 100644 (file)
@@ -1,9 +1,19 @@
 .\" This page was taken from the 4.4BSD-Lite CDROM (BSD license)
 .\"
+.\" %%%LICENSE_START(BSD_ONELINE_CDROM)
+.\" This page was taken from the 4.4BSD-Lite CDROM (BSD license)
+.\" %%%LICENSE_END
+.\"
 .\" @(#)rpc.3n 2.4 88/08/08 4.0 RPCSRC; from 1.19 88/06/24 SMI
 .\"
 .\" 2007-12-30, mtk, Convert function prototypes to modern C syntax
 .\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
 .\" Japanese Version Copyright (c) 1999 HANATAKA Shinya
 .\"         all rights reserved.
 .\" Translated Tue Jan  4 20:48:23 JST 2000
 .\" Updated & Modified Sun Oct 21 01:07:09 JST 2001
 .\"         by Yuichi SATO <ysato@h4.dion.ne.jp>
 .\"
-.TH RPC 3 2008-07-17 "" "Linux Programmer's Manual"
-.\"O .SH NAME
-.SH Ì¾Á°
-.\"O rpc \- library routines for remote procedure calls
-rpc \- ±ó³Ö¼ê³¤­¸Æ¤Ó½Ð¤·(RPC)¤Î¤¿¤á¤Î¥é¥¤¥Ö¥é¥ê¡¦¥ë¡¼¥Æ¥£¥ó
-.\"O .SH SYNOPSIS AND DESCRIPTION
-.SH ½ñ¼°¤ÈÀâÌÀ
-.\"O These routines allow C programs to make procedure
-.\"O calls on other machines across the network.
-.\"O First, the client calls a procedure to send a data packet to the server.
-.\"O Upon receipt of the packet, the server calls a dispatch routine
-.\"O to perform the requested service, and then sends back a reply.
-.\"O Finally, the procedure call returns to the client.
-¤³¤ì¤é¤Î¥ë¡¼¥Æ¥£¥ó¤Ï C ¥×¥í¥°¥é¥à¤Ç¥Í¥Ã¥È¥ï¡¼¥¯¤òÄ̤·¤Æ
-¾¤Î¥Þ¥·¥ó¤Ë¥¢¥¯¥»¥¹¤¹¤ë¥×¥í¥·¥¸¥ã¤òºîÀ®¤¹¤ë¤³¤È¤ò²Äǽ¤Ë¤¹¤ë¡£
-ºÇ½é¤Ë¥¯¥é¥¤¥¢¥ó¥È¤Ï¥Ç¡¼¥¿¥Ñ¥±¥Ã¥È¤ò¥µ¡¼¥Ð¤ËÁ÷¤ë¤¿¤á¤Ë
-¥×¥í¥·¥¸¥ã¤ò¸Æ¤Ó½Ð¤¹¡£
-¥µ¡¼¥Ð¤Ï¥Ñ¥±¥Ã¥È¤ò¼õ¤±¼è¤ë¤È¡¢ÇÛʬ¥ë¡¼¥Á¥ó¤ò¸Æ¤Ó½Ð¤·¤Æ
-Í׵ᤵ¤ì¤¿¥µ¡¼¥Ó¥¹¤Ë¼Â¹Ô¤·¡¢ÊÖÅú¤òÁ÷¤êÊÖ¤¹¡£
-ºÇ¸å¤Ë¥×¥í¥·¥¸¥ã¡¦¥³¡¼¥ë¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Ø¤ÈÌá¤ë¡£
+.TH RPC 3 2013\-09\-26 "" "Linux Programmer's Manual"
+.SH 名前
+rpc \- 遠隔手続き呼び出し(RPC)のためのライブラリルーティン
+.SH 書式と説明
 .\" .LP
-.\"O .\" We don't have an rpc_secure.3 page at the moment -- MTK, 19 Sep 05
-.\"O .\" Routines that are used for Secure RPC (DES authentication) are described in
-.\"O .\" .BR rpc_secure (3).
-.\"O .\" Secure RPC can be used only if DES encryption is available.
-.\" º£¸½ºß¤Ï rpc_secure.3 ¤ÏÆþ¤Ã¤Æ¤¤¤Ê¤¤ -- MTK, 19 Sep 05
-.\" (DES Ç§¾Ú¤Ë¤è¤ë) Secure RPC ¤Ç»ÈÍѤµ¤ì¤ë¥ë¡¼¥Æ¥£¥ó¤Ë¤Ä¤¤¤Æ¤ÎÀâÌÀ¤Ï
-.\" .BR rpc_secure (3)
-.\" ¤Ë¸ºß¤¹¤ë¡£ Secure RPC ¤Ï DES Ç§¾Ú¤¬ÍøÍѲÄǽ¤Ê¾ì¹ç¤Ë¤Î¤ß»ÈÍѤǤ­¤ë¡£
-.LP
-.\"O To take use of these routines, include the header file
-.\"O .IR "<rpc/rpc.h>" .
-¤³¤ì¤é¤Î¥ë¡¼¥Æ¥£¥ó¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë
-.I "<rpc/rpc.h>"
-¤ò¥¤¥ó¥¯¥ë¡¼¥É¤¹¤ë¤³¤È¡£
+.\" We don't have an rpc_secure.3 page at the moment -- MTK, 19 Sep 05
+.\" Routines that are used for Secure RPC (DES authentication) are described in
+.\" .BR rpc_secure (3).
+.\" Secure RPC can be used only if DES encryption is available.
+これらのルーティンは C プログラムでネットワークを通して 他のマシンにアクセスするプロシージャーを作成することを可能にする。
+最初にクライアントはデータパケットをサーバに送るために プロシージャーを呼び出す。 サーバはパケットを受け取ると、配分ルーチンを呼び出して
+要求されたサービスに実行し、返答を送り返す。 最後にプロシージャーコールはクライアントへと戻る。
+.LP
+これらのルーティンを使用するには、ヘッダーファイル \fI<rpc/rpc.h>\fP をインクルードすること。
 
-.\"O The prototypes below make use of the following types:
-²¼µ­¤Î¥×¥í¥È¥¿¥¤¥×¤Ç¤Ï¼¡¤Î·¿¤ò»ÈÍѤ·¤Æ¤¤¤ë¡£
+下記のプロトタイプでは次の型を使用している。
 .in +4n
 .nf
 
-typedef int \fIbool_t\fP;
+\fBtypedef int \fP\fIbool_t\fP\fB;\fP
 
-typedef bool_t (*\fIxdrproc_t\fP) (XDR *, void *,...);
+\fBtypedef bool_t (*\fP\fIxdrproc_t\fP\fB) (XDR *, void *, ...);\fP
 
-typedef bool_t (*\fIresultproc_t\fP) (caddr_t resp,
-                                struct sockaddr_in *raddr);
+\fBtypedef bool_t (*\fP\fIresultproc_t\fP\fB) (caddr_t \fP\fIresp\fP\fB,\fP
+\fB                                struct sockaddr_in *\fP\fIraddr\fP\fB);\fP
 .fi
 .in
 .LP
-.\"O See the header files for the declarations of the
-.\"O .IR AUTH ,
-.\"O .IR CLIENT ,
-.\"O .IR SVCXPRT ,
-.\"O and
-.\"O .IR XDR
-.\"O types.
-·¿
-.IR AUTH ,
-.IR CLIENT ,
-.IR SVCXPRT ,
-.IR XDR
-¤ÎÀë¸À¤Ë¤Ä¤¤¤Æ¤Ï¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò»²¾È¡£
-.LP
-.nf
-.BI "void auth_destroy(AUTH *" auth );
-.fi
-.IP
-.\"O A macro that destroys the authentication information associated with
-.\"O .IR auth .
-.\"O Destruction usually involves deallocation of private data structures.
-.\"O The use of
-.\"O .I auth
-.\"O is undefined after calling
-.\"O .BR auth_destroy ().
-¤³¤Î¥Þ¥¯¥í¤Ï
-.I auth
-¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Ç§¾Ú¾ðÊó¤òÇ˲õ¤¹¤ë¡£Ç˲õ¤ÏÄ̾ï¤Ï»äŪ¤Ê¥Ç¡¼¥¿¹½Â¤¤Î
-ÇË´þ¤ò´Þ¤ó¤Ç¤¤¤ë¡£
-.BR auth_destroy ()
-¤ò¸Æ¤Ó½Ð¤·¤¿¸å¤Ë
-.I auth
-¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
-.LP
-.nf
-.BI "AUTH *authnone_create(void);"
-.fi
-.IP
-.\"O Create and returns an RPC
-.\"O authentication handle that passes nonusable authentication
-.\"O information with each remote procedure call.
-.\"O This is the default authentication used by RPC.
-³Æ¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¡¦¥³¡¼¥ë¤Ç»ÈÍѤǤ­¤Ê¤¤²¾¤Îǧ¾Ú¾ðÊó¤È¤·¤ÆÅϤµ¤ì¤ë
-RPC Ç§¾Ú¥Ï¥ó¥É¥ë¤òºîÀ®¤·¤ÆÊÖ¤¹¡£
-¤³¤ì¤Ï RPC ¤Ç»ÈÍѤµ¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Îǧ¾Ú¤Ç¤¢¤ë¡£
-.LP
-.nf
-.BI "AUTH *authunix_create(char *" host ", int " uid ", int " gid ,
-.BI "                      int " len ", int *" aup_gids );
-.fi
-.IP
-.\"O Create and return an RPC authentication handle that contains
-.\"O authentication information.
-.\"O The parameter
-.\"O .I host
-.\"O is the name of the machine on which the information was created;
-.\"O .I uid
-.\"O is the user's user ID;
-.\"O .I gid
-.\"O is the user's current group ID;
-.\"O .I len
-.\"O and
-.\"O .I aup_gids
-.\"O refer to a counted array of groups to which the user belongs.
-.\"O It is easy to impersonate a user.
-ǧ¾Ú¾ðÊó¤ò´Þ¤ó¤À RPC Ç§¾Ú¥Ï¥ó¥É¥ë¤òºîÀ®¤·¤ÆÊÖ¤¹¡£
-.I host
-¥Ñ¥é¥á¡¼¥¿¡¼¤Ï¾ðÊ󤬺îÀ®¤µ¤ì¤¿¥Þ¥·¥ó¤Î̾Á°¤Ç¤¢¤ë¡£
-.I uid
-¤Ï¤½¤Î¥æ¡¼¥¶¤Î¥æ¡¼¥¶
+型 \fIAUTH\fP, \fICLIENT\fP, \fISVCXPRT\fP, \fIXDR\fP の宣言についてはヘッダーファイルを参照。
+.LP
+.nf
+\fBvoid auth_destroy(AUTH *\fP\fIauth\fP\fB);\fP
+.fi
+.IP
+このマクロは \fIauth\fP に関連付けられた認証情報を破壊する。破壊は通常は私的なデータ構造の 破棄を含んでいる。 \fBauth_destroy\fP()
+を呼び出した後に \fIauth\fP を使用することは未定義である。
+.LP
+.nf
+\fBAUTH *authnone_create(void);\fP
+.fi
+.IP
+各リモートプロシージャーコールで使用できない仮の認証情報として渡される RPC 認証ハンドルを作成して返す。 これは RPC
+で使用されるデフォルトの認証である。
+.LP
+.nf
+\fBAUTH *authunix_create(char *\fP\fIhost\fP\fB, int \fP\fIuid\fP\fB, int \fP\fIgid\fP\fB,\fP
+\fB                      int \fP\fIlen\fP\fB, int *\fP\fIaup_gids\fP\fB);\fP
+.fi
+.IP
+認証情報を含んだ RPC 認証ハンドルを作成して返す。 \fIhost\fP パラメーターは情報が作成されたマシンの名前である。 \fIuid\fP
+はそのユーザーのユーザー
 .SM ID
-¡¢
-.I gid
-¤Ï¤½¤Î¥æ¡¼¥¶¤Î¸½ºß¤Î¥°¥ë¡¼¥×
+、 \fIgid\fP はそのユーザーの現在のグループ
 .SM ID
-¤Ç¤¢¤ë¡£
-.I len
-¤È
-.I aup_gids
-¤Ï¤½¤Î¥æ¡¼¥¶¤¬½ê°¤¹¤ë¥°¥ë¡¼¥×¤ÎÇÛÎó¤ò»²¾È¤·¤Æ¤¤¤ë¡£
-¾¤Î¥æ¡¼¥¶¤Ë¤Ê¤ê¤¹¤Þ¤¹¤³¤È¤Ï´Êñ¤Ç¤¢¤ë¡£
-.LP
-.nf
-.BI "AUTH *authunix_create_default(void);"
-.fi
-.IP
-.\"O Calls
-.\"O .BR authunix_create ()
-.\"O with the appropriate parameters.
-ŬÀڤʥѥé¥á¡¼¥¿¡¼¤Ç
-.BR authunix_create ()
-¤ò¸Æ¤Ó½Ð¤¹¡£
-.LP
-.nf
-.BI "int callrpc(char *" host ", unsigned long " prognum ,
-.BI "            unsigned long " versnum ", unsigned long " procnum ,
-.BI "            xdrproc_t " inproc ", char *" in ,
-.BI "            xdrproc_t " outproc ", char *" out );
-.fi
-.IP
-.\"O Call the remote procedure associated with
-.\"O .IR prognum ,
-.\"O .IR versnum ,
-.\"O and
-.\"O .I procnum
-.\"O on the machine,
-.\"O .IR host .
-.\"O The parameter
-.\"O .I in
-.\"O is the address of the procedure's argument(s), and
-.\"O .I out
-.\"O is the address of where to place the result(s);
-.\"O .I inproc
-.\"O is used to encode the procedure's parameters, and
-.\"O .I outproc
-.\"O is used to decode the procedure's results.
-.\"O This routine returns zero if it succeeds, or the value of
-.\"O .B "enum clnt_stat"
-.\"O cast to an integer if it fails.
-.\"O The routine
-.\"O .BR clnt_perrno ()
-.\"O is handy for translating failure statuses into messages.
-¥Þ¥·¥ó
-.I host
-¾å¤Ç
-.IR prognum ,
-.IR versnum ,
-.I procnum
-¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¤ò¸Æ¤Ó½Ð¤¹¡£
-¥Ñ¥é¥á¡¼¥¿¡¼
-.I in
-¤Ï¥×¥í¥·¥¸¥ã¤Î°ú¤­¿ô¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ê
-.I out
-¤Ï·ë²Ì¤ò³ÊǼ¤¹¤ë¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
-.I inproc
-¤Ï¥×¥í¥·¥¸¥ã¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¡¢
-.I outproc
-¤Ï·ë²Ì¤ò¥Ç¥³¡¼¥É¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï
-.B "enum clnt_stat"
-¤òÀ°¿ô¤Ë¥­¥ã¥¹¥È¤·¤¿ÃͤòÊÖ¤¹¡£
-.BR clnt_perrno ()
-¥ë¡¼¥Æ¥£¥ó¤¬¼ºÇԤξõÂÖ¤ò¥á¥Ã¥»¡¼¥¸¤ËÊÑ´¹¤¹¤ë¤Î¤Ë»ÈÍѤǤ­¤ë¡£
-.IP
-.\"O Warning: calling remote procedures with this routine
-.\"O uses UDP/IP as a transport; see
-.\"O .BR clntudp_create ()
-.\"O for restrictions.
-.\"O You do not have control of timeouts or authentication using this routine.
-·Ù¹ð: ¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ç¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¤ò¸Æ¤Ó½Ð¤¹¤ÈÄÌ¿®¤Ë¤Ï
-UDP/IP ¤¬»ÈÍѤµ¤ì¤ë¡£¤³¤ÎºÝ¤ÎÀ©¸Â¤Ë¤Ä¤¤¤Æ¤Ï
-.BR clntudp_create ()
-¤ò»²¾È¤¹¤ë¤³¤È¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ò»ÈÍѤ·¤Æǧ¾Ú¤ä»þ´ÖÀÚ¤ì¤ÎÀ©¸æ¤ò
-¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£
-.LP
-.nf
-.BI "enum clnt_stat clnt_broadcast(unsigned long " prognum ,
-.BI "                     unsigned long " versnum ", unsigned long " procnum ,
-.BI "                     xdrproc_t " inproc ", char *" in ,
-.BI "                     xdrproc_t " outproc ", char *" out ,
-.BI "                     resultproc_t " eachresult );
-.fi
-.IP
-.\"O Like
-.\"O .BR callrpc (),
-.\"O except the call message is broadcast to all locally
-.\"O connected broadcast nets.
-.\"O Each time it receives a response, this routine calls
-.\"O .BR eachresult (),
-.\"O whose form is:
-.BR callrpc ()
-¤ÈƱÍͤǤ¢¤ë¤¬¡¢¥á¥Ã¥»¡¼¥¸¤¬¥í¡¼¥«¥ë¤Î¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¡¦¥Í¥Ã¥È¥ï¡¼¥¯
-Á´ÂÎ¤Ø¤È¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤µ¤ì¤ëÅÀ¤¬°Û¤Ã¤Æ¤¤¤ë¡£²óÅú¤ò¼õ¤±¼è¤ëÅÙ¤Ë
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï°Ê²¼¤Î·Á¼°¤Î
-.BR eachresult ()
-¤ò¸Æ¤Ó½Ð¤¹¡£
+である。 \fIlen\fP と
+\fIaup_gids\fP はそのユーザーが所属するグループの配列を参照している。 他のユーザーになりすますことは簡単である。
+.LP
+.nf
+\fBAUTH *authunix_create_default(void);\fP
+.fi
+.IP
+適切なパラメーターで \fBauthunix_create\fP()  を呼び出す。
+.LP
+.nf
+\fBint callrpc(char *\fP\fIhost\fP\fB, unsigned long \fP\fIprognum\fP\fB,\fP
+\fB            unsigned long \fP\fIversnum\fP\fB, unsigned long \fP\fIprocnum\fP\fB,\fP
+\fB            xdrproc_t \fP\fIinproc\fP\fB, char *\fP\fIin\fP\fB,\fP
+\fB            xdrproc_t \fP\fIoutproc\fP\fB, char *\fP\fIout\fP\fB);\fP
+.fi
+.IP
+マシン \fIhost\fP 上で \fIprognum\fP, \fIversnum\fP, \fIprocnum\fP に関連付けられたリモートプロシージャーを呼び出す。
+パラメーター \fIin\fP はプロシージャーの引き数のアドレスであり \fIout\fP は結果を格納するアドレスである。 \fIinproc\fP
+はプロシージャーのパラメーターをエンコードするのに使用され、 \fIoutproc\fP は結果をデコードするのに使用される。
+このルーティンは成功した場合にはゼロを返す。失敗した場合には \fBenum clnt_stat\fP を整数にキャストした値を返す。
+\fBclnt_perrno\fP()  ルーティンが失敗の状態をメッセージに変換するのに使用できる。
+.IP
+警告: このルーティンでリモートプロシージャーを呼び出すと通信には UDP/IP が使用される。この際の制限については
+\fBclntudp_create\fP()  を参照すること。このルーティンを使用して認証や時間切れの制御を することはできない。
+.LP
+.nf
+\fBenum clnt_stat clnt_broadcast(unsigned long \fP\fIprognum\fP\fB,\fP
+\fB                     unsigned long \fP\fIversnum\fP\fB, unsigned long \fP\fIprocnum\fP\fB,\fP
+\fB                     xdrproc_t \fP\fIinproc\fP\fB, char *\fP\fIin\fP\fB,\fP
+\fB                     xdrproc_t \fP\fIoutproc\fP\fB, char *\fP\fIout\fP\fB,\fP
+\fB                     resultproc_t \fP\fIeachresult\fP\fB);\fP
+.fi
+.IP
+\fBcallrpc\fP()  と同様であるが、メッセージがローカルのブロードキャストネットワーク
+全体へとブロードキャストされる点が異っている。回答を受け取る度に このルーティンは以下の形式の \fBeachresult\fP()  を呼び出す。
 .IP
 .in +4n
 .nf
-.BI "eachresult(char *" out ", struct sockaddr_in *" addr );
+\fBeachresult(char *\fP\fIout\fP\fB, struct sockaddr_in *\fP\fIaddr\fP\fB);\fP
 .fi
 .in
 .IP
-.\"O where
-.\"O .I out
-.\"O is the same as
-.\"O .I out
-.\"O passed to
-.\"O .BR clnt_broadcast (),
-.\"O except that the remote procedure's output is decoded there;
-.\"O .I addr
-.\"O points to the address of the machine that sent the results.
-.\"O If
-.\"O .BR eachresult ()
-.\"O returns zero,
-.\"O .BR clnt_broadcast ()
-.\"O waits for more replies; otherwise it returns with appropriate status.
-¤³¤³¤Ç
-.I out
-¤Ï
-.BR clnt_broadcast ()
-¤ËÅϤµ¤ì¤ë
-.I out
-¤ÈƱ¤¸¤Ç¤¢¤ë¤¬¡¢¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¤«¤é¤Î½ÐÎϤ¬¥Ç¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë
-ÅÀ¤Î¤ß¤¬°Û¤Ã¤Æ¤¤¤ë¡£
-.I addr
-¤Ï·ë²Ì¤òÁ÷¤Ã¤ÆÍ褿¥Þ¥·¥ó¤Î¥¢¥É¥ì¥¹¤ò»Ø¤·¤Æ¤¤¤ë¡£
-.BR eachresult ()
-¤¬¥¼¥í¤òÊÖ¤·¤¿¾ì¹ç¡¢
-.BR clnt_broadcast ()
-¤Ï¤µ¤é¤Ê¤ë²óÅú¤òÂԤġ£¤½¤¦¤Ç¤Ê¤±¤ì¤ÐŬÀڤʾõÂ֤ǽªÎ»¤¹¤ë¡£
-.IP
-.\"O Warning: broadcast sockets are limited in size to the
-.\"O maximum transfer unit of the data link.
-.\"O For ethernet, this value is 1500 bytes.
-·Ù¹ð: ¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¡¦¥½¥±¥Ã¥È¤Ï¥Ç¡¼¥¿¥ê¥ó¥¯ÁؤκÇÂçžÁ÷ñ°Ì¤Ë
-À©¸Â¤µ¤ì¤Æ¤¤¤ë¡£¥¤¡¼¥µ¥Í¥Ã¥È¤Î¾ì¹ç¡¢ºÇÂçÃͤϠ1500 ¥Ð¥¤¥È¤Ç¤¢¤ë¡£
-.LP
-.nf
-.BI "enum clnt_stat clnt_call(CLIENT *" clnt ", unsigned long " procnum ,
-.BI "                    xdrproc_t " inproc ", char *" in ,
-.BI "                    xdrproc_t " outproc ", char *" out ,
-.BI "                    struct timeval " tout );
-.fi
-.IP
-.\"O A macro that calls the remote procedure
-.\"O .I procnum
-.\"O associated with the client handle,
-.\"O .IR clnt ,
-.\"O which is obtained with an RPC client creation routine such as
-.\"O .BR clnt_create ().
-¤³¤Î¥Þ¥¯¥í¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥Ï¥ó¥É¥ë
-.I clnt
-¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿
-.I procnum
-¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¤ò¸Æ¤Ó½Ð¤¹¡£
-¥¯¥é¥¤¥¢¥ó¥È¡¦¥Ï¥ó¥É¥ë¤Ï
-.BR clnt_create ()
-¤Î¤è¤¦¤Ê
+ここで \fIout\fP は \fBclnt_broadcast\fP()  に渡される \fIout\fP
+と同じであるが、リモートプロシージャーからの出力がデコードされている 点のみが異っている。 \fIaddr\fP
+は結果を送って来たマシンのアドレスを指している。 \fBeachresult\fP()  がゼロを返した場合、 \fBclnt_broadcast\fP()
+はさらなる回答を待つ。そうでなければ適切な状態で終了する。
+.IP
+警告: ブロードキャストソケットはデータリンク層の最大転送単位に 制限されている。イーサネットの場合、最大値は 1500 バイトである。
+.LP
+.nf
+\fBenum clnt_stat clnt_call(CLIENT *\fP\fIclnt\fP\fB, unsigned long \fP\fIprocnum\fP\fB,\fP
+\fB                    xdrproc_t \fP\fIinproc\fP\fB, char *\fP\fIin\fP\fB,\fP
+\fB                    xdrproc_t \fP\fIoutproc\fP\fB, char *\fP\fIout\fP\fB,\fP
+\fB                    struct timeval \fP\fItout\fP\fB);\fP
+.fi
+.IP
+このマクロはクライアントハンドル \fIclnt\fP に関連付けられた \fIprocnum\fP リモートプロシージャーを呼び出す。 クライアントハンドルは
+\fBclnt_create\fP()  のような
 .SM RPC
-¥¯¥é¥¤¥¢¥ó¥ÈºîÀ®¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤ë¡£
-.\"O The parameter
-.\"O .I in
-.\"O is the address of the procedure's argument(s), and
-.\"O .I out
-.\"O is the address of where to place the result(s);
-.\"O .I inproc
-.\"O is used to encode the procedure's parameters, and
-.\"O .I outproc
-.\"O is used to decode the procedure's results;
-.\"O .I tout
-.\"O is the time allowed for results to come back.
-¥Ñ¥¿¥á¡¼¥¿
-.I in
-¤Ï¥×¥í¥·¥¸¥ã¤Î°ú¤­¿ô¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
-.I out
-¤Ï¥×¥í¥·¥¸¥ã¤ÎÊÖ¤êÃͤò³ÊǼ¤¹¤ë¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
-.I inproc
-¤Ï¥×¥í¥·¥¸¥ã¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤ë¡£
-.I outproc
-¤Ï¥×¥í¥·¥¸¥ã¤ÎÊÖ¤êÃͤò¥Ç¥³¡¼¥É¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤ë¡£
-.I tout
-¤Ï·ë²Ì¤¬ÊÖ¤µ¤ì¤ë¤Î¤òÂԤĻþ´Ö¤Ç¤¢¤ë¡£
-.LP
-.nf
-.BI "clnt_destroy(CLIENT *" clnt );
-.fi
-.IP
-.\"O A macro that destroys the client's RPC handle.
-.\"O Destruction usually involves deallocation
-.\"O of private data structures, including
-.\"O .I clnt
-.\"O itself.
-.\"O Use of
-.\"O .I clnt
-.\"O is undefined after calling
-.\"O .BR clnt_destroy ().
-.\"O If the RPC library opened the associated socket, it will close it also.
-.\"O Otherwise, the socket remains open.
-¤³¤Î¥Þ¥¯¥í¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î RPC ¥Ï¥ó¥É¥ë¤òÇ˲õ¤¹¤ë¡£Ç˲õ¤Ë¤ÏÄ̾ï¤Ï
-.I clnt
-¼«¿È¤â´Þ¤á¤Æ»äŪ¤Ê¥Ç¡¼¥¿¹½Â¤ÂΤÎÇË´þ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
-.BR clnt_destroy ()
-¤Î¸Æ¤Ó½Ð¤·¤Î¸å¤Ë
-.I clnt
-¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
-RPC ¥é¥¤¥Ö¥é¥ê¤¬´ØÏ¢¤¹¤ë¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤·¤¿¾ì¹ç¤Ë¤Ï¡¢
-¤½¤ì¤âÊĤ¸¤é¤ì¤ë¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ë¤Ï¥½¥±¥Ã¥È¤Ï¥ª¡¼¥×¥ó¤µ¤ì¤¿¤Þ¤Þ¤Ç¤¢¤ë¡£
-.LP
-.nf
-.BI "CLIENT *clnt_create(char *" host ", unsigned long " prog ,
-.BI "                    unsigned long " vers ", char *" proto );
-.fi
-.IP
-.\"O Generic client creation routine.
-.\"O .I host
-.\"O identifies the name of the remote host where the server is located.
-.\"O .I proto
-.\"O indicates which kind of transport protocol to use.
-.\"O The currently supported values for this field are \(lqudp\(rq
-.\"O and \(lqtcp\(rq.
-.\"O Default timeouts are set, but can be modified using
-.\"O .BR clnt_control ().
-°ìÈÌŪ¤Ê¥¯¥é¥¤¥¢¥ó¥È¤ÎºîÀ®¥ë¡¼¥Æ¥£¥ó¤Ç¤¢¤ë¡£
-.I host
-¤Ï¥µ¡¼¥Ð¤Î¤¢¤ë¥ê¥â¡¼¥È¥Û¥¹¥È¤Î̾Á°¤ò»ØÄꤹ¤ë¡£
-.I proto
-¤É¤Î¤è¤¦¤ÊÄÌ¿®¥×¥í¥È¥³¥ë¤ò»ÈÍѤ¹¤ë¤«¤ò»ØÄꤹ¤ë¡£¸½ºß¤³¤³¤Ë
-»ÈÍѤǤ­¤ëÃͤϠ\(lqudp\(rq ¤È \(lqtcp\(rq ¤Ç¤¢¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Î»þ´ÖÀڤ줬ÀßÄꤵ¤ì¤ë¤¬¡¢
-.BR clnt_control ()
-¤ò»ÈÍѤ·¤ÆÊѹ¹²Äǽ¤Ç¤¢¤ë¡£
-.IP
-.\"O Warning: Using UDP has its shortcomings.
-.\"O Since UDP-based RPC messages can only hold up to 8 Kbytes of encoded data,
-.\"O this transport cannot be used for procedures that take
-.\"O large arguments or return huge results.
-·Ù¹ð:
-UDP ¤ò»ÈÍѤ·¤¿¾ì¹ç¤Ë¤Ï·çÅÀ¤¬¤¢¤ë¡£
-UDP ¤Ë´ð¤Å¤¤¤¿ RPC ¥á¥Ã¥»¡¼¥¸¤Ï
-ºÇÂç¤Ç¤â 8 KByte ¤Î¥¨¥ó¥³¡¼¥É¥Ç¡¼¥¿¤·¤«ÊÝ»ý¤¹¤ë
-¤³¤È¤¬¤Ç¤­¤Ê¤¤¤¿¤á¡¢Â礭¤Ê°ú¤­¿ô¤äµðÂç¤Ê·ë²Ì¤ò¼è¤ë¥×¥í¥·¥¸¥ã¤Ë
-¤Ï»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£
-.LP
-.nf
-.BI "bool_t clnt_control(CLIENT *" cl ", int " req ", char *" info );
-.fi
-.IP
-.\"O A macro used to change or retrieve various information
-.\"O about a client object.
-.\"O .I req
-.\"O indicates the type of operation, and
-.\"O .I info
-.\"O is a pointer to the information.
-.\"O For both UDP and TCP, the supported values of
-.\"O .I req
-.\"O and their argument types and what they do are:
-¤³¤Î¥Þ¥¯¥í¤Ï³Æ¼ï¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ä¤¤¤Æ¾ðÊó¤òÊѹ¹¤·¤¿¤ê¡¢¼èÆÀ¤·¤¿¤ê
-¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë¡£
-.I req
-¤ÏÁàºî¤Î¼ïÎà¤ò»ØÄꤹ¤ë¡£
-.I info
-¤Ï¾ðÊó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£
-UDP ¤È TCP ¤É¤Á¤é¤Î¾ì¹ç¤â»ÈÍѲÄǽ¤Ê
-.I req
-¤ÎÃͤȡ¢¤½¤Î°ú¤­¿ô¤Î·¿¡¢¤ª¤è¤Ó¤½¤ÎÆâÍƤϰʲ¼¤ÎÄ̤ê¤Ç¤¢¤ë:
+クライアント作成ルーティンによって得られる。 パタメータ \fIin\fP
+はプロシージャーの引き数のアドレスである。 \fIout\fP はプロシージャーの返り値を格納するアドレスである。 \fIinproc\fP
+はプロシージャーのパラメーターをエンコードするのに使用される。 \fIoutproc\fP はプロシージャーの返り値をデコードするのに使用される。
+\fItout\fP は結果が返されるのを待つ時間である。
+.LP
+.nf
+\fBclnt_destroy(CLIENT *\fP\fIclnt\fP\fB);\fP
+.fi
+.IP
+このマクロはクライアントの RPC ハンドルを破壊する。破壊には通常は \fIclnt\fP 自身も含めて私的なデータ構造体の破棄が含まれている。
+\fBclnt_destroy\fP()  の呼び出しの後に \fIclnt\fP を使用することは未定義である。 RPC
+ライブラリが関連するソケットをオープンした場合には、 それも閉じられる。それ以外の場合にはソケットはオープンされたままである。
+.LP
+.nf
+\fBCLIENT *clnt_create(char *\fP\fIhost\fP\fB, unsigned long \fP\fIprog\fP\fB,\fP
+\fB                    unsigned long \fP\fIvers\fP\fB, char *\fP\fIproto\fP\fB);\fP
+.fi
+.IP
+一般的なクライアントの作成ルーティンである。 \fIhost\fP はサーバのあるリモートホストの名前を指定する。 \fIproto\fP
+どのような通信プロトコルを使用するかを指定する。現在ここに 使用できる値は \(lqudp\(rq と \(lqtcp\(rq である。
+デフォルトの時間切れが設定されるが、 \fBclnt_control\fP()  を使用して変更可能である。
+.IP
+警告: UDP を使用した場合には欠点がある。 UDP に基づいた RPC メッセージは 最大でも 8 KByte のエンコードデータしか保持する
+ことができないため、大きな引き数や巨大な結果を取るプロシージャーに は使用することができない。
+.LP
+.nf
+\fBbool_t clnt_control(CLIENT *\fP\fIcl\fP\fB, int \fP\fIreq\fP\fB, char *\fP\fIinfo\fP\fB);\fP
+.fi
+.IP
+このマクロは各種クライアントについて情報を変更したり、取得したり するのに使用する。 \fIreq\fP は操作の種類を指定する。 \fIinfo\fP
+は情報へのポインターである。 UDP と TCP どちらの場合も使用可能な \fIreq\fP の値と、その引き数の型、およびその内容は以下の通りである:
 .IP
 .in +4n
 .nf
-.ta +2.0i +2.0i +2.0i
-.\"O \fBCLSET_TIMEOUT\fP  \fIstruct timeval\fP // set total timeout
-.\"O \fBCLGET_TIMEOUT\fP  \fIstruct timeval\fP // get total timeout
-\fBCLSET_TIMEOUT\fP  \fIstruct timeval\fP // »þ´ÖÀÚ¤ì¤òÀßÄꤹ¤ë
-\fBCLGET_TIMEOUT\fP  \fIstruct timeval\fP // »þ´ÖÀÚ¤ì¤ò¼èÆÀ¤¹¤ë
+\fBCLSET_TIMEOUT\fP  \fIstruct timeval\fP // 時間切れを設定する
+\fBCLGET_TIMEOUT\fP  \fIstruct timeval\fP // 時間切れを取得する
 .fi
 .in
 .IP
-.\"O Note: if you set the timeout using
-.\"O .BR clnt_control (),
-.\"O the timeout parameter passed to
-.\"O .BR clnt_call ()
-.\"O will be ignored in all future calls.
-Ãí°Õ:
-.BR clnt_control ()
-¤ò»ÈÍѤ·¤Æ»þ´ÖÀÚ¤ì¤òÀßÄꤷ¤¿¾ì¹ç¤Ë¤Ï¤½¤ì°Ê¸å¤Ï
-.BR clnt_call ()
-¤ËÅϤµ¤ì¤ë»þ´ÖÀÚ¤ì¥Ñ¥é¥á¡¼¥¿¡¼¤ÏÁ´¤Æ̵»ë¤µ¤ì¤ë¡£
+注意: \fBclnt_control\fP()  を使用して時間切れを設定した場合にはそれ以後は \fBclnt_call\fP()
+に渡される時間切れパラメーターは全て無視される。
 .IP
 .in +4n
 .nf
-.\"O \fBCLGET_SERVER_ADDR\fP  \fIstruct sockaddr_in \fP // get server's address
-\fBCLGET_SERVER_ADDR\fP  \fIstruct sockaddr_in \fP // ¥µ¡¼¥Ð¥¢¥É¥ì¥¹¤ò¼èÆÀ¤¹¤ë
+\fBCLGET_SERVER_ADDR\fP  \fIstruct sockaddr_in \fP // サーバアドレスを取得する
 .fi
 .in
 .IP
-.\"O The following operations are valid for UDP only:
-°Ê²¼¤ÎÁàºî¤Ï UDP ¤Î¾ì¹ç¤Ë¤Î¤ßÍ­¸ú¤Ç¤¢¤ë:
+以下の操作は UDP の場合にのみ有効である:
 .IP
 .in +4n
 .nf
-.\"O \fBCLSET_RETRY_TIMEOUT\fP  \fIstruct timeval\fP // set the retry timeout
-.\"O \fBCLGET_RETRY_TIMEOUT\fP  \fIstruct timeval\fP // get the retry timeout
-\fBCLSET_RETRY_TIMEOUT\fP  \fIstruct timeval\fP // ºÆÁ÷´Ö³Ö¤òÀßÄꤹ¤ë
-\fBCLGET_RETRY_TIMEOUT\fP  \fIstruct timeval\fP // ºÆÁ÷´Ö³Ö¤ò¼èÆÀ¤¹¤ë
+\fBCLSET_RETRY_TIMEOUT\fP  \fIstruct timeval\fP // 再送間隔を設定する
+\fBCLGET_RETRY_TIMEOUT\fP  \fIstruct timeval\fP // 再送間隔を取得する
 .fi
 .in
 .IP
-.\"O The retry timeout is the time that "UDP RPC"
-.\"O waits for the server to reply before
-.\"O retransmitting the request.
-ºÆÁ÷´Ö³Ö¤Ï¼¡¤ËÍ×µá¤òºÆÁ÷¤¹¤ëÁ°¤Ë
-"UDP RPC" ¤¬¥µ¡¼¥Ð¤Î²óÅú¤òÂԤĻþ´Ö¤Ç¤¢¤ë¡£
-.LP
-.nf
-.BI "clnt_freeres(CLIENT * " clnt ", xdrproc_t " outproc ", char *" out );
-.fi
-.IP
-.\"O A macro that frees any data allocated by the RPC/XDR
-.\"O system when it decoded the results of an RPC call.
-.\"O The parameter
-.\"O .I out
-.\"O is the address of the results, and
-.\"O .I outproc
-.\"O is the XDR routine describing the results.
-.\"O This routine returns one if the results were successfully freed,
-.\"O and zero otherwise.
-¤³¤Î¥Þ¥¯¥í¤Ï RPC ¸Æ¤Ó½Ð¤·¤Î·ë²Ì¤Î¥Ç¥³¡¼¥É¤ÎºÝ¤Ë
-RPC/XDR ¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ³äÅö¤Æ¤é¤ì¤¿¥Ç¡¼¥¿¤ò²òÊü¤¹¤ë¡£
-¥Ñ¥é¥á¡¼¥¿¡¼
-.I out
-¤Ï·ë²Ì¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
-.I outproc
-¤Ï·ë²Ì¤òµ­½Ò¤·¤Æ¤¤¤ë XDR ¥ë¡¼¥Æ¥£¥ó¤Ç¤¢¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï·ë²Ì¤Î²òÊü¤ËÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
-¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£
-.LP
-.nf
-.BI "void clnt_geterr(CLIENT *" clnt ", struct rpc_err *" errp );
-.fi
-.IP
-.\"O A macro that copies the error structure out of the client
-.\"O handle to the structure at address
-.\"O .IR errp .
-¤³¤Î¥Þ¥¯¥í¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥Ï¥ó¥É¥ë¤Î¥¨¥é¡¼¹½Â¤ÂΤò
-.I errp
-¥¢¥É¥ì¥¹¤Ç»ØÄꤵ¤ì¤¿¹½Â¤ÂΤإ³¥Ô¡¼¤¹¤ë¡£
-.LP
-.nf
-.BI "void clnt_pcreateerror(char *" s );
-.fi
-.IP
-.\"O Print a message to standard error indicating why a client RPC
-.\"O handle could not be created.
-.\"O The message is prepended with string
-.\"O .I s
-.\"O and a colon.
-.\"O Used when a
-.\"O .BR clnt_create (),
-.\"O .BR clntraw_create (),
-.\"O .BR clnttcp_create (),
-.\"O or
-.\"O .BR clntudp_create ()
-.\"O call fails.
-ɸ½à¥¨¥é¡¼½ÐÎϤˡ¢¤Ê¤¼¥¯¥é¥¤¥¢¥ó¥È RPC ¥Ï¥ó¥É¥ë¤ÎºîÀ®¤¬
-¤Ç¤­¤Ê¤«¤Ã¤¿¤«¤Ë¤Ä¤¤¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£
-¥á¥Ã¥»¡¼¥¸¤ÎÁ°¤Ëʸ»úÎó
-.I s
-¤È¥³¥í¥ó(:)¤¬É½¼¨¤µ¤ì¤ë¡£
-.BR clnt_create (),
-.BR clntraw_create (),
-.BR clnttcp_create (),
-.BR clntudp_create ()
-¤Î¸Æ¤Ó½Ð¤·¤¬¼ºÇÔ¤·¤¿»þ¤Ë»ÈÍѤ¹¤ë¤³¤È¡£
-.LP
-.nf
-.BI "void clnt_perrno(enum clnt_stat " stat );
-.fi
-.IP
-.\"O Print a message to standard error corresponding
-.\"O to the condition indicated by
-.\"O .IR stat .
-.\"O Used after
-.\"O .BR callrpc ().
-ɸ½à¥¨¥é¡¼½ÐÎϤË
-.I stat
-¤Ë¤è¤Ã¤Æ»Ø¼¨¤µ¤ì¤ë¥¨¥é¡¼¾õÂÖ¤ËÂбþ¤¹¤ë¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£
-.BR callrpc ()
-¤Î¸å¤Ë»ÈÍѤ¹¤ë¤³¤È¡£
-.LP
-.nf
-.BI "clnt_perror(CLIENT *" clnt ", char *" s );
-.fi
-.IP
-.\"O Print a message to standard error indicating why an RPC call failed;
-.\"O .I clnt
-.\"O is the handle used to do the call.
-.\"O The message is prepended with string
-.\"O .I s
-.\"O and a colon.
-.\"O Used after
-.\"O .BR clnt_call ().
-ɸ½à¥¨¥é¡¼½ÐÎϤˡ¢¤Ê¤¼ RPC ¸Æ¤Ó½Ð¤·¤¬¼ºÇÔ¤·¤¿¤«¤Ë¤Ä¤¤¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£
-.I clnt
-¤Ï¥³¡¼¥ë¤Ë»ÈÍѤ·¤¿¥Ï¥ó¥É¥ë¤Ç¤¢¤ë¡£
-¥á¥Ã¥»¡¼¥¸¤ÎÁ°¤Ëʸ»úÎó
-.I s
-¤È¥³¥í¥ó(:)¤¬É½¼¨¤µ¤ì¤ë¡£
-.BR clnt_call ()
-¤¬¼ºÇÔ¤·¤¿¸å¤Ë»ÈÍѤ¹¤ë¤³¤È¡£
-.LP
-.nf
-.BI "char *clnt_spcreateerror(char *" s );
-.fi
-.IP
-.\"O Like
-.\"O .BR clnt_pcreateerror (),
-.\"O except that it returns a string instead of printing to the standard error.
-.BR clnt_pcreateerror ()
-¤ÈƱÍͤǤ¢¤ë¤¬¡¢É¸½à¥¨¥é¡¼½ÐÎϤØɽ¼¨¤¹¤ë¤«¤ï¤ê¤Ëʸ»úÎó¤òÊÖ¤¹ÅÀ¤¬°Û¤Ã¤Æ¤¤¤ë¡£
-.IP
-.\"O Bugs: returns pointer to static data that is overwritten on each call.
-¥Ð¥°: ÀÅŪ¤ÊÎΰè¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¤¿¤á¡¢¸Æ¤Ó½Ð¤·¤´¤È¤Ë¾å½ñ¤­¤µ¤ì¤ë¡£
-.LP
-.nf
-.BI "char *clnt_sperrno(enum clnt_stat " stat );
-.fi
-.IP
-.\"O Take the same arguments as
-.\"O .BR clnt_perrno (),
-.\"O but instead of sending a message to the standard error indicating why an RPC
-.\"O call failed, return a pointer to a string which contains the message.
-.\"O The string ends with a NEWLINE.
-.BR clnt_perrno ()
-¤ÈƱ¤¸°ú¤­¿ô¤ò¼è¤ë¤¬¡¢¤Ê¤¼
-RPC ¸Æ¤Ó½Ð¤·¤¬¼ºÇÔ¤·¤¿¤«¤Ë¤Ä¤¤¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤òɸ½à¥¨¥é¡¼½ÐÎϤËɽ¼¨¤¹¤ë
-¤«¤ï¤ê¤Ë¡¢¥á¥Ã¥»¡¼¥¸¤ò³ÊǼ¤·¤Æ¤¤¤ëʸ»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¡£
-ʸ»úÎó¤Ï NEWLINE(²þ¹Ô) ¤Ç½ª¤Ã¤Æ¤¤¤ë¡£
-.IP
-.\"O .BR clnt_sperrno ()
-.\"O is used instead of
-.\"O .BR clnt_perrno ()
-.\"O if the program does not have a standard error (as a program
-.\"O running as a server quite likely does not), or if the programmer
-.\"O does not want the message to be output with
-.\"O .BR printf (3),
-.\"O or if a message format different than that supported by
-.\"O .BR clnt_perrno ()
-.\"O is to be used.
-.\"O Note: unlike
-.\"O .BR clnt_sperror ()
-.\"O and
-.\"O .BR clnt_spcreaterror (),
-.\"O .BR clnt_sperrno ()
-.\"O returns pointer to static data, but the
-.\"O result will not get overwritten on each call.
-.BR clnt_sperrno ()
-¤Ï¥×¥í¥°¥é¥à¤¬É¸½à¥¨¥é¡¼½ÐÎϤò»ý¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç(¥×¥í¥°¥é¥à¤¬¥µ¡¼¥Ð¤È¤·
-¤ÆÁö¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¤è¤¯¤¢¤ê¤¨¤ë)¤ä¡¢¥×¥í¥°¥é¥Þ¡¼¤¬¥á¥Ã¥»¡¼¥¸¤ò
-.BR printf (3)
-¤Ç½ÐÎϤ¹¤ë¤³¤È¤ò˾¤Þ¤Ê¤¤¾ì¹ç¤ä¡¢¥á¥Ã¥»¡¼¥¸¤Î·Á¼°¤¬
-.BR clnt_perrno ()
-¤¬¥µ¥Ý¡¼¥È¤¹¤ë¤â¤Î¤È¤Ï°Û¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ê¤É¤Ë
-.BR clnt_perrno ()
-¤Î¤«¤ï¤ê¤Ë»ÈÍѤµ¤ì¤ë¡£
-Ãí°Õ:
-.BR clnt_sperror ()
-¤ä
-.BR clnt_spcreaterror ()
-¤È¤Ï°ã¤Ã¤Æ
-.BR clnt_sperrno ()
-¤ÏÀÅŪ¥Ç¡¼¥¿¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¡£¤·¤«¤·¸Æ¤Ó½Ð¤·¤´¤È¤Ë¾å½ñ¤­¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£
-.LP
-.nf
-.BI "char *clnt_sperror(CLIENT *" rpch ", char *" s );
-.fi
-.IP
-.\"O Like
-.\"O .BR clnt_perror (),
-.\"O except that (like
-.\"O .BR clnt_sperrno ())
-.\"O it returns a string instead of printing to standard error.
-.BR clnt_perror ()
-¤ÈƱÍͤǤ¢¤ë¤¬¡¢É¸½à¥¨¥é¡¼½ÐÎϤËɽ¼¨¤¹¤ëÂå¤ê¤Ë
-.RB ( clnt_sperrno ()
-¤Î¤è¤¦¤Ë) Ê¸»úÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹ÅÀ¤¬°Û¤Ã¤Æ¤¤¤ë¡£
-.IP
-.\"O Bugs: returns pointer to static data that is overwritten on each call.
-¥Ð¥°: ¸Æ¤Ó½Ð¤·¤´¤È¤Ë¾å½ñ¤­¤µ¤ì¤ëÀÅŪ¥Ç¡¼¥¿¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¡£
-.LP
-.nf
-.BI "CLIENT *clntraw_create(unsigned long " prognum \
-", unsigned long " versnum );
-.fi
-.IP
-.\"O This routine creates a toy RPC client for the remote program
-.\"O .IR prognum ,
-.\"O version
-.\"O .IR versnum .
-.\"O The transport used to pass messages to the service is
-.\"O actually a buffer within the process's address space, so the
-.\"O corresponding RPC server should live in the same address space; see
-.\"O .BR svcraw_create ().
-.\"O This allows simulation of RPC and acquisition of RPC
-.\"O overheads, such as round trip times, without any kernel interference.
-.\"O This routine returns NULL if it fails.
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à
-.IR prognum ¡¢
-¥Ð¡¼¥¸¥ç¥ó
-.I versnum
-¤Î¤¿¤á¤Îµ¼»÷ RPC ¥¯¥é¥¤¥¢¥ó¥È¤òºîÀ®¤¹¤ë¡£¥á¥Ã¥»¡¼¥¸¤ò¥µ¡¼¥Ó¥¹¤ËÅϤ¹¤¿¤á¤Ë»ÈÍѤ¹¤ë
-ÄÌ¿®¤Ï¼ÂºÝ¤Ë¤Ï¤½¤Î¥×¥í¥»¥¹¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë¤¢¤ë¥Ð¥Ã¥Õ¥¡¡¼¤Ç¤¢¤ë¡£
-¤½¤ì¤Ç¡¢Âбþ¤¹¤ë RPC ¥µ¡¼¥Ð¤¬Æ±¤¸¥¢¥É¥ì¥¹¶õ´Ö¤ÎÃæ¤Ë¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-.BR svcraw_create ()
-¤ò»²¾È¤¹¤ë¤³¤È¡£
-¤³¤ì¤Ë¤è¤ê RPC ¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ä¡¢¥«¡¼¥Í¥ë¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë±Æ¶Á¤µ¤ì¤º¤Ë
-±þÅú»þ´Ö¤Ê¤É¤Î RPC ¥ª¡¼¥Ð¥Ø¥Ã¥É¤Î³ÍÆÀ¤¬¤Ç¤­¤ë¡£
-¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï NULL ¤òÊÖ¤¹¡£
-.LP
-.nf
-.BI "CLIENT *clnttcp_create(struct sockaddr_in *" addr ,
-.BI "                unsigned long " prognum ", unsigned long " versnum ,
-.BI "                int *" sockp ", unsigned int " sendsz \
-", unsigned int " recvsz );
-.fi
-.IP
-.\"O This routine creates an RPC client for the remote program
-.\"O .IR prognum ,
-.\"O version
-.\"O .IR versnum ;
-.\"O the client uses TCP/IP as a transport.
-.\"O The remote program is located at Internet
-.\"O address
-.\"O .IR *addr .
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à
-.IR prognum ¡¢
-¥Ð¡¼¥¸¥ç¥ó
-.I versnum
-¤Î¤¿¤á¤Î RPC ¥¯¥é¥¤¥¢¥ó¥È¤òºîÀ®¤¹¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤ÏÄÌ¿®¤Ë
-TCP/IP ¤ò»ÈÍѤ¹¤ë¡£¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È¡¦¥¢¥É¥ì¥¹¤Î
-.I *addr
-¤Ë¤¢¤ë¡£
-.\"O If
+再送間隔は次に要求を再送する前に "UDP RPC" がサーバの回答を待つ時間である。
+.LP
+.nf
+\fBclnt_freeres(CLIENT * \fP\fIclnt\fP\fB, xdrproc_t \fP\fIoutproc\fP\fB, char *\fP\fIout\fP\fB);\fP
+.fi
+.IP
+このマクロは RPC 呼び出しの結果のデコードの際に RPC/XDR システムによって割当てられたデータを解放する。 パラメーター \fIout\fP
+は結果のアドレスである。 \fIoutproc\fP は結果を記述している XDR ルーティンである。 このルーティンは結果の解放に成功した場合には 1
+を返す。 失敗した場合にはゼロを返す。
+.LP
+.nf
+\fBvoid clnt_geterr(CLIENT *\fP\fIclnt\fP\fB, struct rpc_err *\fP\fIerrp\fP\fB);\fP
+.fi
+.IP
+このマクロはクライアントハンドルのエラー構造体を \fIerrp\fP アドレスで指定された構造体へコピーする。
+.LP
+.nf
+\fBvoid clnt_pcreateerror(char *\fP\fIs\fP\fB);\fP
+.fi
+.IP
+標準エラー出力に、なぜクライアント RPC ハンドルの作成が できなかったかについてのメッセージを表示する。 メッセージの前に文字列 \fIs\fP
+とコロン(:)が表示される。 \fBclnt_create\fP(), \fBclntraw_create\fP(), \fBclnttcp_create\fP(),
+\fBclntudp_create\fP()  の呼び出しが失敗した時に使用すること。
+.LP
+.nf
+\fBvoid clnt_perrno(enum clnt_stat \fP\fIstat\fP\fB);\fP
+.fi
+.IP
+標準エラー出力に \fIstat\fP によって指示されるエラー状態に対応するメッセージを表示する。 \fBcallrpc\fP()  の後に使用すること。
+.LP
+.nf
+\fBclnt_perror(CLIENT *\fP\fIclnt\fP\fB, char *\fP\fIs\fP\fB);\fP
+.fi
+.IP
+標準エラー出力に、なぜ RPC 呼び出しが失敗したかについてのメッセージを表示する。 \fIclnt\fP はコールに使用したハンドルである。
+メッセージの前に文字列 \fIs\fP とコロン(:)が表示される。 \fBclnt_call\fP()  が失敗した後に使用すること。
+.LP
+.nf
+\fBchar *clnt_spcreateerror(char *\fP\fIs\fP\fB);\fP
+.fi
+.IP
+\fBclnt_pcreateerror\fP()  と同様であるが、標準エラー出力へ表示するかわりに文字列を返す点が異っている。
+.IP
+バグ: 静的な領域へのポインターを返すため、呼び出しごとに上書きされる。
+.LP
+.nf
+\fBchar *clnt_sperrno(enum clnt_stat \fP\fIstat\fP\fB);\fP
+.fi
+.IP
+\fBclnt_perrno\fP()  と同じ引き数を取るが、なぜ RPC 呼び出しが失敗したかについてのメッセージを標準エラー出力に表示する
+かわりに、メッセージを格納している文字列へのポインターを返す。 文字列は NEWLINE(改行) で終っている。
+.IP
+\fBclnt_sperrno\fP()  はプログラムが標準エラー出力を持っていない場合(プログラムがサーバとし
+て走っている場合にはよくありえる)や、プログラマーがメッセージを \fBprintf\fP(3)  で出力することを望まない場合や、メッセージの形式が
+\fBclnt_perrno\fP()  がサポートするものとは異っている場合などに \fBclnt_perrno\fP()  のかわりに使用される。 注意:
+\fBclnt_sperror\fP()  や \fBclnt_spcreaterror\fP()  とは違って \fBclnt_sperrno\fP()
+は静的データへのポインターを返す。しかし呼び出しごとに上書きされることはない。
+.LP
+.nf
+\fBchar *clnt_sperror(CLIENT *\fP\fIrpch\fP\fB, char *\fP\fIs\fP\fB);\fP
+.fi
+.IP
+\fBclnt_perror\fP()  と同様であるが、標準エラー出力に表示する代りに (\fBclnt_sperrno\fP()  のように)
+文字列へのポインターを返す点が異っている。
+.IP
+バグ: 静的な領域へのポインターを返すため、呼び出しごとに上書きされる。
+.LP
+.nf
+\fBCLIENT *clntraw_create(unsigned long \fP\fIprognum\fP\fB, unsigned long \fP\fIversnum\fP\fB);\fP
+.fi
+.IP
+このルーティンはリモートプログラム \fIprognum\fP、 バージョン \fIversnum\fP のための擬似 RPC
+クライアントを作成する。メッセージをサービスに渡すために使用する 通信は実際にはそのプロセスのアドレス空間にあるバッファーである。 それで、対応する
+RPC サーバが同じアドレス空間の中にいなければならない。 \fBsvcraw_create\fP()  を参照すること。 これにより RPC
+のシミュレーションや、カーネルインターフェースに影響されずに 応答時間などの RPC オーバヘッドの獲得ができる。 失敗した場合にはこのルーティンは
+NULL を返す。
+.LP
+.nf
+\fBCLIENT *clnttcp_create(struct sockaddr_in *\fP\fIaddr\fP\fB,\fP
+\fB                unsigned long \fP\fIprognum\fP\fB, unsigned long \fP\fIversnum\fP\fB,\fP
+\fB                int *\fP\fIsockp\fP\fB, unsigned int \fP\fIsendsz\fP\fB, unsigned int \fP\fIrecvsz\fP\fB);\fP
+.fi
+.IP
 .\"The following inline font conversion is necessary for the hyphen indicator
-.\"O \fIaddr\->sin_port\fR
-.\"O is zero, then it is set to the actual port that the remote
-.\"O program is listening on (the remote
-.\"O .B portmap
-.\"O service is consulted for this information).
-.\"O The parameter
-.\"O .I sockp
-.\"O is a socket; if it is
-.\"O .BR RPC_ANYSOCK ,
-.\"O then this routine opens a new one and sets
-.\"O .IR sockp .
-\fIaddr\->sin_port\fR ¤¬¥¼¥í¤Ê¤é¤Ð¡¢¼ÂºÝ¤Ë¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤¬
-listen ¤·¤Æ¤¤¤ë¥Ý¡¼¥È¤¬ÀßÄꤵ¤ì¤ë¡£(¤³¤Î¾ðÊó¤Î¤¿¤á¤Ë¥ê¥â¡¼¥È¤Î
-.B portmap
-¥µ¡¼¥Ó¥¹¤¬ÍøÍѤµ¤ì¤ë¡£) ¥Ñ¥é¥á¡¼¥¿¡¼
-.I sockp
-¤Ï¥½¥±¥Ã¥È¤Ç¤¢¤ë¡£¤â¤·¤³¤ì¤¬
-.B RPC_ANYSOCK
-¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ë¡¼¥Æ¥£¥ó¤¬¿·¤·¤¤¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤·¤Æ
-.I sockp
-¤ËÀßÄꤹ¤ë¡£
-.\"O Since TCP-based RPC uses buffered I/O,
-.\"O the user may specify the size of the send and receive buffers
-.\"O with the parameters
-.\"O .I sendsz
-.\"O and
-.\"O .IR recvsz ;
-.\"O values of zero choose suitable defaults.
-.\"O This routine returns NULL if it fails.
-TCP ¤Ë´ð¤Å¤¤¤¿ RPC ¤Ï¥Ð¥Ã¥Õ¥¡¤µ¤ì¤¿ I/O
-¤ò»ÈÍѤ¹¤ë¤¿¤á¡¢¥æ¡¼¥¶¤Ï¥Ñ¥é¥á¡¼¥¿¡¼
-.I sendsz
-¤È
-.I recvsz
-¤ò»ÈÍѤ·¤ÆÁ÷¿®¥Ð¥Ã¥Õ¥¡¤È¼õ¿®¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-¥¼¥í¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤ÏŬÀڤʥǥե©¥ë¥È¤¬ÁªÂò¤µ¤ì¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¼ºÇÔ¤·¤¿¾ì¹ç¤Ï NULL ¤òÊÖ¤¹¡£
-.LP
-.nf
-.BI "CLIENT *clntudp_create(struct sockaddr_in *" addr ,
-.BI "                unsigned long " prognum ", unsigned long " versnum ,
-.BI "                struct timeval " wait ", int *" sockp );
-.fi
-.IP
-.\"O This routine creates an RPC client for the remote program
-.\"O .IR prognum ,
-.\"O version
-.\"O .IR versnum ;
-.\"O the client uses use UDP/IP as a transport.
-.\"O The remote program is located at Internet address
-.\"O .IR addr .
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à
-.IR prognum ¡¢
-¥Ð¡¼¥¸¥ç¥ó
-.I versnum
-¤Î¤¿¤á¤Î RPC ¥¯¥é¥¤¥¢¥ó¥È¤òºîÀ®¤¹¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤ÏÄÌ¿®¤Ë
-UDP/IP ¤ò»ÈÍѤ¹¤ë¡£¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È¡¦¥¢¥É¥ì¥¹¤Î
-.I *addr
-¤Ë¤¢¤ë¡£
-.\"O If
-.\"O \fIaddr\->sin_port\fR
-.\"O is zero, then it is set to actual port that the remote
-.\"O program is listening on (the remote
-.\"O .B portmap
-.\"O service is consulted for this information).
-.\"O The parameter
-.\"O .I sockp
-.\"O is a socket; if it is
-.\"O .BR RPC_ANYSOCK ,
-.\"O then this routine opens a new one and sets
-.\"O .IR sockp .
-\fIaddr\->sin_port\fR ¤¬¥¼¥í¤Ê¤é¤Ð¡¢¼ÂºÝ¤Ë¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤¬
-listen ¤·¤Æ¤¤¤ë¥Ý¡¼¥È¤¬ÀßÄꤵ¤ì¤ë¡£(¤³¤Î¾ðÊó¤Î¤¿¤á¤Ë¥ê¥â¡¼¥È¤Î
-.B portmap
-¥µ¡¼¥Ó¥¹¤¬ÍøÍѤµ¤ì¤ë¡£) ¥Ñ¥é¥á¡¼¥¿¡¼
-.I sockp
-¤Ï¥½¥±¥Ã¥È¤Ç¤¢¤ë¡£¤â¤·¤³¤ì¤¬
-.B RPC_ANYSOCK
-¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ë¡¼¥Æ¥£¥ó¤¬¿·¤·¤¤¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤·¤Æ
-.I sockp
-¤ËÀßÄꤹ¤ë¡£
-.\"O The UDP transport resends the call message in intervals of
-.\"O .B wait
-.\"O time until a response is received or until the call times out.
-.\"O The total time for the call to time out is specified by
-.\"O .BR clnt_call ().
-UDP ÄÌ¿®¤Ï²óÅú¤¬¤¢¤ë¤«¡¢»þ´ÖÀڤ줬µ¯¤³¤ë¤Þ¤Ç
-.B wait
-´Ö³Ö¤Ç¸Æ¤Ó½Ð¤·¥á¥Ã¥»¡¼¥¸¤òºÆÁ÷¤¹¤ë¡£»þ´ÖÀڤ줬µ¯¤³¤ë¤Þ¤Ç¤Î¹ç·×»þ´Ö¤Ï
-.BR clnt_call ()
-¤Ç»ØÄꤹ¤ë¡£
-.IP
-.\"O Warning: since UDP-based RPC messages can only hold up to 8 Kbytes
-.\"O of encoded data, this transport cannot be used for procedures
-.\"O that take large arguments or return huge results.
-·Ù¹ð: UDP ¤Ë´ð¤Å¤¤¤¿
-RPC ¥á¥Ã¥»¡¼¥¸¤ÏºÇÂç¤Ç¤â 8 Kbyte ¤Þ¤Ç¤Î¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Ç¡¼¥¿¤·¤«
-ÊÝ»ý¤Ç¤­¤Ê¤¤¤¿¤á¡¢¤³¤ÎÄÌ¿®¤ÏÂ礭¤Ê°ú¤­¿ô¤äµðÂç¤Ê·ë²Ì¤ò¼è¤ë
-¥×¥í¥·¥¸¥ã¤Ë¤Ï»ÈÍѤǤ­¤Ê¤¤¡£
-.LP
-.nf
-.BI "CLIENT *clntudp_bufcreate(struct sockaddr_in *" addr ,
-.BI "            unsigned long " prognum ", unsigned long " versnum ,
-.BI "            struct timeval " wait ", int *" sockp ,
-.BI "            unsigned int " sendsize ", unsigned int "recosize );
-.fi
-.IP
-.\"O This routine creates an RPC client for the remote program
-.\"O .IR prognum ,
-.\"O on
-.\"O .IR versnum ;
-.\"O the client uses use UDP/IP as a transport.
-.\"O The remote program is located at Internet address
-.\"O .IR addr .
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à
-.IR prognum ¡¢
-¥Ð¡¼¥¸¥ç¥ó
-.I versnum
-¤Î¤¿¤á¤Î RPC ¥¯¥é¥¤¥¢¥ó¥È¤òºîÀ®¤¹¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤ÏÄÌ¿®¤Ë
-UDP/IP ¤ò»ÈÍѤ¹¤ë¡£¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È¡¦¥¢¥É¥ì¥¹¤Î
-.I *addr
-¤Ë¤¢¤ë¡£
-.\"O If
-.\"O \fIaddr\->sin_port\fR
-.\"O is zero, then it is set to actual port that the remote
-.\"O program is listening on (the remote
-.\"O .B portmap
-.\"O service is consulted for this information).
-.\"O The parameter
-.\"O .I sockp
-.\"O is a socket; if it is
-.\"O .BR RPC_ANYSOCK ,
-.\"O then this routine opens a new one and sets
-.\"O .I sockp .
-\fIaddr\->sin_port\fR ¤¬¥¼¥í¤Ê¤é¤Ð¡¢¼ÂºÝ¤Ë¥ê¥â¡¼¥È¡¦¥×¥í¥°¥é¥à¤¬
-listen ¤·¤Æ¤¤¤ë¥Ý¡¼¥È¤¬ÀßÄꤵ¤ì¤ë¡£(¤³¤Î¾ðÊó¤Î¤¿¤á¤Ë¥ê¥â¡¼¥È¤Î
-.B portmap
-¥µ¡¼¥Ó¥¹¤¬ÍøÍѤµ¤ì¤ë¡£) ¥Ñ¥é¥á¡¼¥¿¡¼
-.I sockp
-¤Ï¥½¥±¥Ã¥È¤Ç¤¢¤ë¡£¤â¤·¤³¤ì¤¬
-.B RPC_ANYSOCK
-¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ë¡¼¥Æ¥£¥ó¤¬¿·¤·¤¤¥½¥±¥Ã¥È¤ò¥ª¡¼¥×¥ó¤·¤Æ
-.I sockp
-¤ËÀßÄꤹ¤ë¡£
-.\"O The UDP transport resends the call message in intervals of
-.\"O .I wait
-.\"O time until a response is received or until the call times out.
-.\"O The total time for the call to time out is specified by
-.\"O .BR clnt_call ().
-UDP ÄÌ¿®¤Ï²óÅú¤¬¤¢¤ë¤«¡¢»þ´ÖÀڤ줬µ¯¤³¤ë¤Þ¤Ç
-.B wait
-´Ö³Ö¤Ç¸Æ¤Ó½Ð¤·¥á¥Ã¥»¡¼¥¸¤òºÆÁ÷¤¹¤ë¡£»þ´ÖÀڤ줬µ¯¤³¤ë¤Þ¤Ç¤Î¹ç·×»þ´Ö¤Ï
-.BR clnt_call ()
-¤Ç»ØÄꤹ¤ë¡£
-.IP
-.\"O This allows the user to specify the maximum packet
-.\"O size for sending and receiving UDP-based RPC messages.
-¤³¤ì¤ò»ÈÍѤ¹¤ë¤È UDP ¤Ë´ð¤Å¤¤¤¿ RPC ¥á¥Ã¥»¡¼¥¸¤Ë¤ª¤¤¤ÆÁ÷¿®¥Ñ¥±¥Ã¥È¤ä
-¼õ¿®¥Ñ¥±¥Ã¥È¤ÎºÇÂ祵¥¤¥º¤ò»ØÄꤹ¤ë¤³¤È¤¬²Äǽ¤Ë¤Ê¤ë¡£
-.LP
-.nf
-.BI "void get_myaddress(struct sockaddr_in *" addr );
-.fi
-.IP
-.\"O Stuff the machine's IP address into
-.\"O .IR *addr ,
-.\"O without consulting the library routines that deal with
-.\"O .IR /etc/hosts .
-.\"O The port number is always set to
-.\"O .BR htons(PMAPPORT) .
-¤³¤Î¥Þ¥·¥ó¤Î IP ¥¢¥É¥ì¥¹¤ò
-.I *addr
-¤Ë³ÊǼ¤¹¤ë¡£
-.I /etc/hosts
-¤ò°·¤¦¥é¥¤¥Ö¥é¥ê¡¦¥ë¡¼¥Æ¥£¥ó¤Ï»ÈÍѤ·¤Ê¤¤¡£¥Ý¡¼¥ÈÈÖ¹æ¤Ï¾ï¤Ë
-.B htons(PMAPPORT)
-¤ËÀßÄꤵ¤ì¤ë¡£
-.LP
-.nf
-.BI "struct pmaplist *pmap_getmaps(struct sockaddr_in *" addr );
-.fi
-.IP
-.\"O A user interface to the
-.\"O .B portmap
-.\"O service, which returns a list of the current RPC
-.\"O program-to-port mappings on the host located at IP address
-.\"O .IR *addr .
-.\"O This routine can return NULL.
-.\"O The command
-.\"O .IR "rpcinfo\ \-p"
-.\"O uses this routine.
-.B portmap
-¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤Î¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¢¤ê¡¢
-IP ¥¢¥É¥ì¥¹
-.I *addr
-¤Ë¤¢¤ë¥Û¥¹¥È¤Î¸½ºß¤Î RPC ¥×¥í¥°¥é¥à¤«¤é¥Ý¡¼¥ÈÈÖ¹æ¤Ø¤Î¥Þ¥Ã¥Ô¥ó¥°¤Î°ìÍ÷¤òÊÖ¤¹¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤¬ NULL ¤òÊÖ¤¹¾ì¹ç¤â¤¢¤ë¡£
-.RB ` "rpcinfo \-p" '
-¥³¥Þ¥ó¥É¤Ï¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ò»ÈÍѤ·¤Æ¤¤¤ë¡£
-.LP
-.nf
-.BI "unsigned short pmap_getport(struct sockaddr_in *" addr ,
-.BI "                    unsigned long " prognum ", unsigned long " versnum ,
-.BI "                    unsigned int " protocol );
-.fi
-.IP
-.\"O A user interface to the
-.\"O .B portmap
-.\"O service, which returns the port number
-.\"O on which waits a service that supports program number
-.\"O .IR prognum ,
-.\"O version
-.\"O .IR versnum ,
-.\"O and speaks the transport protocol associated with
-.\"O .IR protocol .
-.B portmap
-¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤Î¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¡¢
-¥×¥í¥°¥é¥àÈÖ¹æ
-.IR prognum ¡¢
-¥Ð¡¼¥¸¥ç¥ó
-.IR versnum ¡¢
-´ØÏ¢ÉÕ¤±¤é¤ì¤¿ÄÌ¿®¥×¥í¥È¥³¥ë
-.I protocol
-¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥µ¡¼¥Ó¥¹¤¬ÂԤäƤ¤¤ë¥Ý¡¼¥ÈÈÖ¹æ¤òÊÖ¤¹¡£
-.\"O The value of
-.\"O .I protocol
-.\"O is most likely
-.\"O .B IPPROTO_UDP
-.\"O or
-.\"O .BR IPPROTO_TCP .
-.\"O A return value of zero means that the mapping does not exist
-.\"O or that the RPC system failed to contact the remote
-.\"O .B portmap
-.\"O service.
-.\"O In the latter case, the global variable
-.\"O .I rpc_createerr
-.\"O contains the RPC status.
-.I protocol
-¤ÎÃͤϤۤȤó¤É¤Î¾ì¹ç IPPROTO_UDP ¤« IPPROTO_TCP ¤Ç¤¢¤ë¡£
-ÊÖ¤êÃÍ¥¼¥í¤Ï¥Þ¥Ã¥Ô¥ó¥°¤¬Â¸ºß¤·¤Ê¤¤¤«¡¢
-RPC ¥·¥¹¥Æ¥à¤¬¥ê¥â¡¼¥È¤Î
-.B portmap
-¥µ¡¼¥Ó¥¹¤Î»²¾È¤Ë¼ºÇÔ¤·¤¿¤³¤È¤ò°ÕÌ£¤¹¤ë¡£¸å¼Ô¤Î¾ì¹ç¤ÏÂç°èÊÑ¿ô
-.I rpc_createerr
-¤¬ RPC ¾õÂÖ¤òÊÝ»ý¤·¤Æ¤¤¤ë¡£
-.LP
-.nf
-.BI "enum clnt_stat pmap_rmtcall(struct sockaddr_in *" addr ,
-.BI "                    unsigned long " prognum ", unsigned long " versnum ,
-.BI "                    unsigned long " procnum ,
-.BI "                    xdrproc_t " inproc ", char *" in ,
-.BI "                    xdrproc_t " outproc ", char *" out ,
-.BI "                    struct timeval " tout ", unsigned long *" portp );
-.fi
-.IP
-.\"O A user interface to the
-.\"O .B portmap
-.\"O service, which instructs
-.\"O .B portmap
-.\"O on the host at IP address
-.\"O .I *addr
-.\"O to make an RPC call on your behalf to a procedure on that host.
-.B portmap
-¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤Î¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¡¢
-IP ¥¢¥É¥ì¥¹
-.I *addr
-¤Î¥Û¥¹¥È¤Î
-.B portmap
-¤ò»²¾È¤·¤Æ¡¢
-RPC ¸Æ¤Ó½Ð¤·¤òÀ¸À®¤·¡¢¤½¤Î¥Û¥¹¥È¾å¤Î¥×¥í¥·¥¸¥ã¤ò¸Æ¤Ó½Ð¤¹¡£
-.\"O The parameter
-.\"O .I *portp
-.\"O will be modified to the program's port number if the procedure succeeds.
-.\"O The definitions of other parameters are discussed
-.\"O in
-.\"O .BR callrpc ()
-.\"O and
-.\"O .BR clnt_call ().
-.\"O This procedure should be used for a \(lqping\(rq and nothing else.
-.\"O See also
-.\"O .BR clnt_broadcast ().
-¥Ñ¥é¥á¡¼¥¿¡¼
-.I *portp
-¤Ï¥×¥í¥·¥¸¥ã¤¬À®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï¥×¥í¥°¥é¥à¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Ë½¤Àµ¤µ¤ì¤ë¡£
-¾¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ÎÄêµÁ¤Ë¤Ä¤¤¤Æ¤Ï
-.BR callrpc ()
-¤ä
-.BR clnt_call ()
-¤ÇÀâÌÀ¤·¤Æ¤¢¤ë¡£
-¤³¤Î¥×¥í¥·¥¸¥ã¤Ï \(lqping\(rq ¤Î¤ß¤Ë»ÈÍѤ¹¤Ù¤­¤Ç¤¢¤ë¡£
-.BR clnt_broadcast ()
-¤â»²¾È¤¹¤ë¤³¤È¡£
-.LP
-.nf
-.BI "bool_t pmap_set(unsigned long " prognum ", unsigned long " versnum ,
-.BI "                unsigned int " protocol ", unsigned short " port );
-.fi
-.IP
-.\"O A user interface to the
-.\"O .B portmap
-.\"O service, which establishes a mapping between the triple
-.\"O .RI [ prognum , versnum , protocol\fR]
-.\"O and
-.\"O .I port
-.\"O on the machine's
-.\"O .B portmap
-.\"O service.
-.\"O The value of
-.\"O .I protocol
-.\"O is most likely
-.\"O .B IPPROTO_UDP
-.\"O or
-.\"O .BR IPPROTO_TCP .
-.\"O This routine returns one if it succeeds, zero otherwise.
-.\"O Automatically done by
-.\"O .BR svc_register ().
-.B portmap
-¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤Î¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¡¢
-.RI [ prognum , versnum , protocol\fR]
-¤ÎÁȤ߹ç¤ï¤»¤È
-.I port
-¤È¤Î´Ö¤Î¥Þ¥Ã¥Ô¥ó¥°¤ò¡¢¤½¤Î¥Þ¥·¥ó¾å¤Î
-.B portmap
-¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤¹¤ë¡£
-.I protocol
-¤Ï¤Û¤È¤ó¤É¤Î¾ì¹ç
-.B IPPROTO_UDP
-¤«
-.B IPPROTO_TCP
-¤Î¤É¤Á¤é¤«¤Ç¤¢¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£
-.BR svc_register ()
-¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤Ë¼Â¹Ô¤µ¤ì¤ë¡£
-.LP
-.nf
-.BI "bool_t pmap_unset(unsigned long " prognum ", unsigned long " versnum );
-.fi
-.IP
-.\"O A user interface to the
-.\"O .B portmap
-.\"O service, which destroys all mapping between the triple
-.\"O .RI [ prognum , versnum , *\fR]
-.\"O and
-.\"O .B ports
-.\"O on the machine's
-.\"O .B portmap
-.\"O service.
-.\"O This routine returns one if it succeeds, zero otherwise.
-.B portmap
-¥µ¡¼¥Ó¥¹¤Î¤¿¤á¤Î¥æ¡¼¥¶¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¡¢
-.RI [ prognum , versnum , *\fR]
-¤ÎÁȤ߹ç¤ï¤»¤È
-.B ports
-¤Î´Ö¤Î¥Þ¥Ã¥Ô¥ó¥°¤ò¤½¤Î¥Þ¥·¥ó¾å¤Î
-.B portmap
-¥µ¡¼¥Ó¥¹¤«¤éºï½ü¤¹¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
-¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£
-.LP
-.nf
-.BI "int registerrpc(unsigned long " prognum ", unsigned long " versnum ,
-.BI "                unsigned long " procnum ", char *(*" procname ")(char *),"
-.BI "                xdrproc_t " inproc ", xdrproc_t " outproc );
-.fi
-.IP
-.\"O Register procedure
-.\"O .I procname
-.\"O with the RPC service package.
-.\"O If a request arrives for program
-.\"O .IR prognum ,
-.\"O version
-.\"O .IR versnum ,
-.\"O and procedure
-.\"O .IR procnum ,
-.\"O .I procname
-.\"O is called with a pointer to its parameter(s);
-.\"O .I progname
-.\"O should return a pointer to its static result(s);
-.\"O .I inproc
-.\"O is used to decode the parameters while
-.\"O .I outproc
-.\"O is used to encode the results.
-.\"O This routine returns zero if the registration succeeded, \-1 otherwise.
-RPC ¥µ¡¼¥Ó¥¹¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ·¤Æ
-.I procname
-¥×¥í¥·¥¸¥ã¤òÅÐÏ¿¤¹¤ë¡£¥×¥í¥°¥é¥à
-.IR prognum ¡¢
-¥Ð¡¼¥¸¥ç¥ó
-.IR versnum ¡¢
-¥×¥í¥·¥¸¥ã
-.I procnum
-¤Ø¤ÎÍ׵᤬ÆϤ¤¤¿¾ì¹ç¡¢
-.I procname
-¤¬¥Ñ¥é¥á¡¼¥¿¡¼¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤ò»ý¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
-.I progname
-¤ÏÀÅŪ¤Ê·ë²Ì¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹É¬Íפ¬¤¢¤ë¡£
-.I inproc
-¤Ï¥Ñ¥é¥á¡¼¥¿¡¼¤ò¥Ç¥³¡¼¥É¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¡£
-.I outproc
-¤Ï·ë²Ì¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÅÐÏ¿¤ËÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£
-¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï \-1 ¤òÊÖ¤¹¡£
-.IP
-.\"O Warning: remote procedures registered in this form
-.\"O are accessed using the UDP/IP transport; see
-.\"O .BR svcudp_create ()
-.\"O for restrictions.
-·Ù¹ð: ¤³¤Î·Á¼°¤ÇÅÐÏ¿¤µ¤ì¤¿¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¤Ï
-UDP/IP ÄÌ¿®¤ò»ÈÍѤ¹¤ë¡£À©¸Â¤Ë´Ø¤·¤Æ¤Ï
-.BR svcudp_create ()
-¤ò»²¾È¤¹¤ë¤³¤È¡£
-.LP
-.nf
-.BI "struct rpc_createerr " rpc_createerr ;
-.fi
-.IP
-.\"O A global variable whose value is set by any RPC client creation routine
-.\"O that does not succeed.
-.\"O Use the routine
-.\"O .BR clnt_pcreateerror ()
-.\"O to print the reason why.
-À®¸ù¤·¤Ê¤«¤Ã¤¿ RPC ¥¯¥é¥¤¥¢¥ó¥ÈÀ¸À®¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤ëÂç°èÊÑ¿ô¡£
-.BR clnt_pcreateerror ()
-¥ë¡¼¥Æ¥£¥ó¤¬Íýͳ¤òɽ¼¨¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£
-.LP
-.nf
-.BI "void svc_destroy(SVCXPRT *" xprt );
-.fi
-.IP
-.\"O A macro that destroys the RPC service transport handle,
-.\"O .IR xprt .
-.\"O Destruction usually involves deallocation
-.\"O of private data structures, including
-.\"O .I xprt
-.\"O itself.
-.\"O Use of
-.\"O .I xprt
-.\"O is undefined after calling this routine.
-¤³¤Î¥Þ¥¯¥í¤ÏÄÌ¿®¥Ï¥ó¥É¥ë
-.I xprt
-¤Î RPC ¥µ¡¼¥Ó¥¹¤òÇ˲õ¤¹¤ë¡£Ç˲õ¤Ë¤ÏÄ̾
-.I xprt
-¤ò´Þ¤á¤Æ¡¢»äŪ¤Ê¥Ç¡¼¥¿¹½Â¤ÂΤÎÇË´þ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ò¸Æ¤Ó½Ð¤·¤¿¸å¤Ë
-.I xprt
-¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï̤ÄêµÁ¤Ç¤¢¤ë¡£
-.LP
-.nf
-.BI "fd_set " svc_fdset ;
-.fi
-.IP
-.\"O A global variable reflecting the RPC service side's
-.\"O read file descriptor bit mask; it is suitable as a parameter to the
-.\"O .BR select (2)
-.\"O system call.
-.\"O This is only of interest if a service implementor does not call
-.\"O .BR svc_run (),
-.\"O but rather does his own asynchronous event processing.
-.\"O This variable is read-only (do not pass its address to
-.\"O .BR select (2)!),
-.\"O yet it may change after calls to
-.\"O .BR svc_getreqset ()
-.\"O or any creation routines.
-RPC ¥µ¡¼¥Ó¥¹Â¦¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤Î¥Ó¥Ã¥È¥Þ¥¹¥¯¤òÈ¿±Ç¤·¤¿Âç°èÊÑ¿ô¡£
-.BR select (2)
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤Î¤¿¤á¤ËÍøÍѤǤ­¤ë¡£¤³¤ì¤Ï
-¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¼Ô¤¬
-.BR svc_run ()
-¤ò¸Æ¤Ó½Ð¤µ¤Ê¤º¤Ë¡¢Æȼ«¤ÎÈóƱ´ü¥¤¥Ù¥ó¥È½èÍý¤òÍѤ¤¤ë¾ì¹ç¤Ë¤Î¤ß°ÕÌ£¤¬¤¢¤ë¡£
-¤³¤ÎÊÑ¿ô¤ÏÆɤ߹þ¤ßÀìÍѤǠ(¤½¤Î¤Þ¤Þ
-.BR select (2)
-¤ØÅϤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤!)¡¢
-.BR svc_getreqset ()
-¸Æ¤Ó½Ð¤·¤äÀ¸À®¥ë¡¼¥Æ¥£¥ó¤Î¸å¤ËÊѹ¹¤µ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
-.LP
-.nf
-.BI "int " svc_fds ;
-.fi
-.IP
-.\"O Similar to
-.\"O .BR svc_fdset ,
-.\"O but limited to 32 descriptors.
-.\"O This interface is obsoleted by
-.\"O .BR svc_fdset .
-.B svc_fdset
-¤Ë»÷¤Æ¤¤¤ë¤¬¡¢32 ¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤ë¡£
-¤³¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï
-.B svc_fdset
-¤Ë¤è¤Ã¤ÆÃÖ¤­´¹¤¨¤é¤ì¤¿¡£
-.LP
-.nf
-.BI "svc_freeargs(SVCXPRT *" xprt ", xdrproc_t " inproc ", char *" in );
-.fi
-.IP
-.\"O A macro that frees any data allocated by the RPC/XDR
-.\"O system when it decoded the arguments to a service procedure using
-.\"O .BR svc_getargs ().
-.\"O This routine returns 1 if the results were successfully
-.\"O freed,
-.\"O and zero otherwise.
-¤³¤Î¥Þ¥¯¥í¤Ï¥µ¡¼¥Ó¥¹¡¦¥×¥í¥·¥¸¥ã¤¬
-.BR svc_getargs ()
-¤ò»ÈÍѤ·¤Æ°ú¤­¿ô¤ò¥Ç¥³¡¼¥É¤·¤¿»þ¤Ë
-RPC/XDR ¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ³ä¤êÅö¤Æ¤é¤ì¤¿¥Ç¡¼¥¿¤ò²òÊü¤¹¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï²òÊü¤ËÀ®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 1 ¤òÊÖ¤¹¡£
-¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï¥¼¥í¤òÊÖ¤¹¡£
-.LP
-.nf
-.BI "svc_getargs(SVCXPRT *" xprt ", xdrproc_t " inproc ", char *" in );
-.fi
-.IP
-.\"O A macro that decodes the arguments of an RPC request
-.\"O associated with the RPC service transport handle,
-.\"O .IR xprt .
-.\"O The parameter
-.\"O .I in
-.\"O is the address where the arguments will be placed;
-.\"O .I inproc
-.\"O is the XDR routine used to decode the arguments.
-.\"O This routine returns one if decoding succeeds, and zero otherwise.
-¤³¤Î¥Þ¥¯¥í¤Ï RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¥Ï¥ó¥É¥ë
-.I xprt
-¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ RPC Í×µá¤Î°ú¤­¿ô¤ò¥Ç¥³¡¼¥É¤¹¤ë¡£¥Ñ¥é¥á¡¼¥¿¡¼
-.I in
-¤Ï°ú¤­¿ô¤Î³ÊǼ¤µ¤ì¤¿¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
-.I inproc
-¤Ï°ú¤­¿ô¤ò¥Ç¥³¡¼¥É¤¹¤ë¤¿¤á¤Î XDR ¥ë¡¼¥Æ¥£¥ó¤Ç¤¢¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¥Ç¥³¡¼¥É¤ËÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
-¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
-.LP
-.nf
-.BI "struct sockaddr_in *svc_getcaller(SVCXPRT *" xprt );
-.fi
-.IP
-.\"O The approved way of getting the network address of the caller
-.\"O of a procedure associated with the RPC service transport handle,
-.\"O .IR xprt .
-RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¥Ï¥ó¥É¥ë
-.I xprt
-¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥×¥í¥·¥¸¥ã¤Î¸Æ¤Ó½Ð¤·¸µ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¡¦¥¢¥É¥ì¥¹¤ò
-¼èÆÀ¤¹¤ë¤¿¤á¤Îɸ½àŪ¤Ê¼êÃÊ¡£
-.LP
-.nf
-.BI "void svc_getreqset(fd_set *" rdfds );
-.fi
-.IP
-.\"O This routine is only of interest if a service implementor does not call
-.\"O .BR svc_run (),
-.\"O but instead implements custom asynchronous event processing.
-.\"O It is called when the
-.\"O .BR select (2)
-.\"O system call has determined that an RPC request has arrived on some
-.\"O RPC socket(s);
-.\"O .I rdfds
-.\"O is the resultant read file descriptor bit mask.
-.\"O The routine returns when all sockets associated with the value of
-.\"O .I rdfds
-.\"O have been serviced.
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¼Ô¤¬
-.BR svc_run ()
-¤ò¸Æ¤Ó½Ð¤µ¤º¡¢Æȼ«¤ÎÈóƱ´ü¥¤¥Ù¥ó¥È½èÍý¤ò¼ÂÁõ¤¹¤ë¾ì¹ç¤Ë¤Î¤ß°ÕÌ£¤¬¤¢¤ë¡£
-¤³¤ì¤Ï
-.BR select (2)
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬ RPC ¥½¥±¥Ã¥È¤Ë
-RPC Í׵᤬ÅþÃ夷¤¿¤ÈÊÖ¤·¤¿¾ì¹ç¤Ë¤Î¤ß¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
-.I rdfds
-¤Ï·ë²Ì¤ÎÆɤ߹þ¤ß¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤Î¥Ó¥Ã¥È¥Þ¥¹¥¯¤Ç¤¢¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
-.I rdfds
-¤ÎÃͤ˴ØÏ¢ÉÕ¤±¤é¤ì¤¿Á´¤Æ¤Î¥½¥±¥Ã¥È¤Î¥µ¡¼¥Ó¥¹¤¬¹Ô¤Ê¤ï¤ì¤¿»þ¤Ë
-Ê֤äƤ¯¤ë¡£
-.LP
-.nf
-.BI "void svc_getreq(int " rdfds );
-.fi
-.IP
-.\"O Similar to
-.\"O .BR svc_getreqset (),
-.\"O but limited to 32 descriptors.
-.\"O This interface is obsoleted by
-.\"O .BR svc_getreqset ().
-.BR svc_getreqset ()
-¤Ë»÷¤Æ¤¤¤ë¤¬¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤Î¿ô¤¬ 32 ¤ËÀ©¸Â¤µ¤ì¤Æ¤¤¤ë¡£
-¤³¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï
-.BR svc_getreqset ()
-¤Ë¤è¤Ã¤ÆÃÖ¤­´¹¤¨¤é¤ì¤¿¡£
-.LP
-.nf
-.BI "bool_t svc_register(SVCXPRT *" xprt ", unsigned long " prognum ,
-.BI "                    unsigned long " versnum ,
-.BI "                    void (*" dispatch ")(svc_req *, SVCXPRT *),"
-.BI "                    unsigned long " protocol );
-.fi
-.IP
-.\"O Associates
-.\"O .I prognum
-.\"O and
-.\"O .I versnum
-.\"O with the service dispatch procedure,
-.\"O .IR dispatch .
-.I prognum
-¤È
-.I versnum
-¤ò¥µ¡¼¥Ó¥¹ÇÛʬ¥×¥í¥·¥¸¥ã
-.I dispatch
-¤Ç´ØÏ¢ÉÕ¤±¤ë¡£
-.\"O If
-.\"O .I protocol
-.\"O is zero, the service is not registered with the
-.\"O .B portmap
-.\"O service.
-.\"O If
-.\"O .I protocol
-.\"O is nonzero, then a mapping of the triple
-.\"O .RI [ prognum , versnum , protocol\fR]
-.\"O to
-.\"O \fIxprt\->xp_port\fR
-.\"O is established with the local
-.\"O .B portmap
-.\"O service (generally
-.\"O .I protocol
-.\"O is zero,
-.\"O .B IPPROTO_UDP
-.\"O or
-.\"O .BR IPPROTO_TCP ).
-.I protocol
-¤¬¥¼¥í¤Î¾ì¹ç¡¢¥µ¡¼¥Ó¥¹¤Ï
-.B portmap
-¥µ¡¼¥Ó¥¹¤Ë¤ÏÅÐÏ¿¤µ¤ì¤Ê¤¤¡£
-.I protocol
-¤¬¥¼¥í°Ê³°¤Î¾ì¹ç¡¢
-.RI [ prognum , versnum , protocol\fR]
-¤ÎÁȤ߹ç¤ï¤»¤È \fIxprt\->xp_port\fR ¤È¤Î¥Þ¥Ã¥Ô¥ó¥°¤¬¥í¡¼¥«¥ë¤Î
-.B portmap
-¥µ¡¼¥Ó¥¹¤ËÅÐÏ¿¤µ¤ì¤ë¡£(°ìÈÌŪ¤Ë
-.I protocol
-¤Ï¥¼¥í¡¢
-.BR IPPROTO_UDP ¡¢
-.B IPPROTO_TCP
-¤Î¤É¤ì¤«¤Ç¤¢¤ë¡£)
-.\"O The procedure
-.\"O .I dispatch
-.\"O has the following form:
-¥×¥í¥·¥¸¥ã
-.I dispatch
-¤Ï°Ê²¼¤Î·Á¼°¤Ç¤¢¤ë:
+このルーティンはリモートプログラム \fIprognum\fP、 バージョン \fIversnum\fP のための RPC
+クライアントを作成する。クライアントは通信に TCP/IP を使用する。リモートプログラムはインターネットアドレスの \fI*addr\fP にある。
+\fIaddr\->sin_port\fP がゼロならば、実際にリモートプログラムが listen
+しているポートが設定される。(この情報のためにリモートの \fBportmap\fP サービスが利用される。) パラメーター \fIsockp\fP
+はソケットである。もしこれが \fBRPC_ANYSOCK\fP に設定されている場合は、このルーティンが新しいソケットをオープンして \fIsockp\fP
+に設定する。 TCP に基づいた RPC はバッファーされた I/O を使用するため、ユーザーはパラメーター \fIsendsz\fP と \fIrecvsz\fP
+を使用して送信バッファーと受信バッファーのサイズを指定することができる。 ゼロを指定した場合には適切なデフォルトが選択される。
+このルーティンは失敗した場合は NULL を返す。
+.LP
+.nf
+\fBCLIENT *clntudp_create(struct sockaddr_in *\fP\fIaddr\fP\fB,\fP
+\fB                unsigned long \fP\fIprognum\fP\fB, unsigned long \fP\fIversnum\fP\fB,\fP
+\fB                struct timeval \fP\fIwait\fP\fB, int *\fP\fIsockp\fP\fB);\fP
+.fi
+.IP
+このルーティンはリモートプログラム \fIprognum\fP、 バージョン \fIversnum\fP のための RPC
+クライアントを作成する。クライアントは通信に UDP/IP を使用する。リモートプログラムはインターネットアドレスの \fI*addr\fP にある。
+\fIaddr\->sin_port\fP がゼロならば、実際にリモートプログラムが listen
+しているポートが設定される。(この情報のためにリモートの \fBportmap\fP サービスが利用される。) パラメーター \fIsockp\fP
+はソケットである。もしこれが \fBRPC_ANYSOCK\fP に設定されている場合は、このルーティンが新しいソケットをオープンして \fIsockp\fP
+に設定する。 UDP 通信は回答があるか、時間切れが起こるまで \fBwait\fP 間隔で呼び出しメッセージを再送する。時間切れが起こるまでの合計時間は
+\fBclnt_call\fP()  で指定する。
+.IP
+警告: UDP に基づいた RPC メッセージは最大でも 8 Kbyte までのエンコードされたデータしか
+保持できないため、この通信は大きな引き数や巨大な結果を取る プロシージャーには使用できない。
+.LP
+.nf
+\fBCLIENT *clntudp_bufcreate(struct sockaddr_in *\fP\fIaddr\fP\fB,\fP
+\fB            unsigned long \fP\fIprognum\fP\fB, unsigned long \fP\fIversnum\fP\fB,\fP
+\fB            struct timeval \fP\fIwait\fP\fB, int *\fP\fIsockp\fP\fB,\fP
+\fB            unsigned int \fP\fIsendsize\fP\fB, unsigned int \fP\fIrecosize\fP\fB);\fP
+.fi
+.IP
+このルーティンはリモートプログラム \fIprognum\fP、 バージョン \fIversnum\fP のための RPC
+クライアントを作成する。クライアントは通信に UDP/IP を使用する。リモートプログラムはインターネットアドレスの \fI*addr\fP にある。
+\fIaddr\->sin_port\fP がゼロならば、実際にリモートプログラムが listen
+しているポートが設定される。(この情報のためにリモートの \fBportmap\fP サービスが利用される。) パラメーター \fIsockp\fP
+はソケットである。もしこれが \fBRPC_ANYSOCK\fP に設定されている場合は、このルーティンが新しいソケットをオープンして \fIsockp\fP
+に設定する。 UDP 通信は回答があるか、時間切れが起こるまで \fBwait\fP 間隔で呼び出しメッセージを再送する。時間切れが起こるまでの合計時間は
+\fBclnt_call\fP()  で指定する。
+.IP
+これを使用すると UDP に基づいた RPC メッセージにおいて送信パケットや 受信パケットの最大サイズを指定することが可能になる。
+.LP
+.nf
+\fBvoid get_myaddress(struct sockaddr_in *\fP\fIaddr\fP\fB);\fP
+.fi
+.IP
+このマシンの IP アドレスを \fI*addr\fP に格納する。 \fI/etc/hosts\fP を扱うライブラリルーティンは使用しない。ポート番号は常に
+\fBhtons(PMAPPORT)\fP に設定される。
+.LP
+.nf
+\fBstruct pmaplist *pmap_getmaps(struct sockaddr_in *\fP\fIaddr\fP\fB);\fP
+.fi
+.IP
+\fBportmap\fP サービスのためのユーザーインターフェースであり、 IP アドレス \fI*addr\fP にあるホストの現在の RPC
+プログラムからポート番号へのマッピングの一覧を返す。 このルーティンが NULL を返す場合もある。 `\fBrpcinfo \-p\fP'
+コマンドはこのルーティンを使用している。
+.LP
+.nf
+\fBunsigned short pmap_getport(struct sockaddr_in *\fP\fIaddr\fP\fB,\fP
+\fB                    unsigned long \fP\fIprognum\fP\fB, unsigned long \fP\fIversnum\fP\fB,\fP
+\fB                    unsigned int \fP\fIprotocol\fP\fB);\fP
+.fi
+.IP
+\fBportmap\fP サービスのためのユーザーインターフェースで、 プログラム番号 \fIprognum\fP、 バージョン \fIversnum\fP、
+関連付けられた通信プロトコル \fIprotocol\fP をサポートするサービスが待っているポート番号を返す。 \fIprotocol\fP の値はほとんどの場合
+IPPROTO_UDP か IPPROTO_TCP である。 返り値ゼロはマッピングが存在しないか、 RPC システムがリモートの \fBportmap\fP
+サービスの参照に失敗したことを意味する。後者の場合は大域変数 \fIrpc_createerr\fP が RPC 状態を保持している。
+.LP
+.nf
+\fBenum clnt_stat pmap_rmtcall(struct sockaddr_in *\fP\fIaddr\fP\fB,\fP
+\fB                    unsigned long \fP\fIprognum\fP\fB, unsigned long \fP\fIversnum\fP\fB,\fP
+\fB                    unsigned long \fP\fIprocnum\fP\fB,\fP
+\fB                    xdrproc_t \fP\fIinproc\fP\fB, char *\fP\fIin\fP\fB,\fP
+\fB                    xdrproc_t \fP\fIoutproc\fP\fB, char *\fP\fIout\fP\fB,\fP
+\fB                    struct timeval \fP\fItout\fP\fB, unsigned long *\fP\fIportp\fP\fB);\fP
+.fi
+.IP
+\fBportmap\fP サービスのためのユーザーインターフェースで、 IP アドレス \fI*addr\fP のホストの \fBportmap\fP を参照して、
+RPC 呼び出しを生成し、そのホスト上のプロシージャーを呼び出す。 パラメーター \fI*portp\fP
+はプロシージャーが成功した場合にはプログラムのポート番号に修正される。 他のパラメーターの定義については \fBcallrpc\fP()  や
+\fBclnt_call\fP()  で説明してある。 このプロシージャーは \(lqping\(rq のみに使用すべきである。
+\fBclnt_broadcast\fP()  も参照すること。
+.LP
+.nf
+\fBbool_t pmap_set(unsigned long \fP\fIprognum\fP\fB, unsigned long \fP\fIversnum\fP\fB,\fP
+\fB                unsigned int \fP\fIprotocol\fP\fB, unsigned short \fP\fIport\fP\fB);\fP
+.fi
+.IP
+\fBportmap\fP サービスのためのユーザーインターフェースで、 [\fIprognum\fP,\fIversnum\fP,\fIprotocol\fP]
+の組み合わせと \fIport\fP との間のマッピングを、そのマシン上の \fBportmap\fP サービスに登録する。 \fIprotocol\fP
+はほとんどの場合 \fBIPPROTO_UDP\fP か \fBIPPROTO_TCP\fP のどちらかである。 このルーティンは成功した場合には 1
+を返す。失敗した場合にはゼロを返す。 \fBsvc_register\fP()  によって自動的に実行される。
+.LP
+.nf
+\fBbool_t pmap_unset(unsigned long \fP\fIprognum\fP\fB, unsigned long \fP\fIversnum\fP\fB);\fP
+.fi
+.IP
+\fBportmap\fP サービスのためのユーザーインターフェースで、 [\fIprognum\fP,\fIversnum\fP,\fI*\fP] の組み合わせと
+\fBports\fP の間のマッピングをそのマシン上の \fBportmap\fP サービスから削除する。このルーティンは成功した場合は 1 を返す。
+失敗した場合には 0 を返す。
+.LP
+.nf
+\fBint registerrpc(unsigned long \fP\fIprognum\fP\fB, unsigned long \fP\fIversnum\fP\fB,\fP
+\fB                unsigned long \fP\fIprocnum\fP\fB, char *(*\fP\fIprocname\fP\fB)(char *),\fP
+\fB                xdrproc_t \fP\fIinproc\fP\fB, xdrproc_t \fP\fIoutproc\fP\fB);\fP
+.fi
+.IP
+RPC サービスパッケージを使用して \fIprocname\fP プロシージャーを登録する。プログラム \fIprognum\fP、 バージョン
+\fIversnum\fP、 プロシージャー \fIprocnum\fP への要求が届いた場合、 \fIprocname\fP
+がパラメーターへのポインターを持って呼び出される。 \fIprogname\fP は静的な結果へのポインターを返す必要がある。 \fIinproc\fP
+はパラメーターをデコードするために使用される。 \fIoutproc\fP は結果をエンコードするために使用される。
+このルーティンは登録に成功した場合にはゼロを返す。 失敗した場合には \-1 を返す。
+.IP
+警告: この形式で登録されたリモートプロシージャーは UDP/IP 通信を使用する。制限に関しては \fBsvcudp_create\fP()
+を参照すること。
+.LP
+.nf
+\fBstruct rpc_createerr \fP\fIrpc_createerr\fP\fB;\fP
+.fi
+.IP
+成功しなかった RPC クライアント生成ルーティンによって設定される大域変数。 \fBclnt_pcreateerror\fP()
+ルーティンが理由を表示するために使用する。
+.LP
+.nf
+\fBvoid svc_destroy(SVCXPRT *\fP\fIxprt\fP\fB);\fP
+.fi
+.IP
+このマクロは通信ハンドル \fIxprt\fP の RPC サービスを破壊する。破壊には通常、 \fIxprt\fP
+を含めて、私的なデータ構造体の破棄が含まれている。 このルーティンを呼び出した後に \fIxprt\fP を使用することは未定義である。
+.LP
+.nf
+\fBfd_set \fP\fIsvc_fdset\fP\fB;\fP
+.fi
+.IP
+RPC サービス側のファイルディスクリプターのビットマスクを反映した大域変数。 \fBselect\fP(2)
+システムコールのパラメーターのために利用できる。これは、サービスの実装者が \fBsvc_run\fP()
+を呼び出さずに、独自の非同期イベント処理を用いる場合にのみ意味がある。 この変数は読み込み専用で (そのまま \fBselect\fP(2)
+へ渡してはならない!)、 \fBsvc_getreqset\fP()  呼び出しや生成ルーティンの後に変更されているかもしれない。
+.LP
+.nf
+\fBint \fP\fIsvc_fds\fP\fB;\fP
+.fi
+.IP
+\fBsvc_fdset\fP に似ているが、32 ディスクリプターに制限されている。 このインターフェースは \fBsvc_fdset\fP
+によって置き換えられた。
+.LP
+.nf
+\fBsvc_freeargs(SVCXPRT *\fP\fIxprt\fP\fB, xdrproc_t \fP\fIinproc\fP\fB, char *\fP\fIin\fP\fB);\fP
+.fi
+.IP
+このマクロはサービスプロシージャーが \fBsvc_getargs\fP()  を使用して引き数をデコードした時に RPC/XDR
+システムによって割り当てられたデータを解放する。 このルーティンは解放に成功した場合には 1 を返す。 失敗した場合にはゼロを返す。
+.LP
+.nf
+\fBsvc_getargs(SVCXPRT *\fP\fIxprt\fP\fB, xdrproc_t \fP\fIinproc\fP\fB, char *\fP\fIin\fP\fB);\fP
+.fi
+.IP
+このマクロは RPC サービス通信ハンドル \fIxprt\fP に関連付けられた RPC 要求の引き数をデコードする。パラメーター \fIin\fP
+は引き数の格納されたアドレスである。 \fIinproc\fP は引き数をデコードするための XDR ルーティンである。
+このルーティンはデコードに成功した場合は 1 を返す。 失敗した場合はゼロを返す。
+.LP
+.nf
+\fBstruct sockaddr_in *svc_getcaller(SVCXPRT *\fP\fIxprt\fP\fB);\fP
+.fi
+.IP
+RPC サービス通信ハンドル \fIxprt\fP に関連付けられたプロシージャーの呼び出し元のネットワークアドレスを 取得するための標準的な手段。
+.LP
+.nf
+\fBvoid svc_getreqset(fd_set *\fP\fIrdfds\fP\fB);\fP
+.fi
+.IP
+このルーティンはサービスの実装者が \fBsvc_run\fP()  を呼び出さず、独自の非同期イベント処理を実装する場合にのみ意味がある。 これは
+\fBselect\fP(2)  システムコールが RPC ソケットに RPC 要求が到着したと返した場合にのみ呼び出される。 \fIrdfds\fP
+は結果の読み込みファイルディスクリプターのビットマスクである。 このルーティンは \fIrdfds\fP
+の値に関連付けられた全てのソケットのサービスが行なわれた時に 返ってくる。
+.LP
+.nf
+\fBvoid svc_getreq(int \fP\fIrdfds\fP\fB);\fP
+.fi
+.IP
+\fBsvc_getreqset\fP()  に似ているがディスクリプターの数が 32 に制限されている。 このインターフェースは
+\fBsvc_getreqset\fP()  によって置き換えられた。
+.LP
+.nf
+\fBbool_t svc_register(SVCXPRT *\fP\fIxprt\fP\fB, unsigned long \fP\fIprognum\fP\fB,\fP
+\fB                    unsigned long \fP\fIversnum\fP\fB,\fP
+\fB                    void (*\fP\fIdispatch\fP\fB)(svc_req *, SVCXPRT *),\fP
+\fB                    unsigned long \fP\fIprotocol\fP\fB);\fP
+.fi
+.IP
+\fIprognum\fP と \fIversnum\fP をサービス配分プロシージャー \fIdispatch\fP で関連付ける。 \fIprotocol\fP
+がゼロの場合、サービスは \fBportmap\fP サービスには登録されない。 \fIprotocol\fP がゼロ以外の場合、
+[\fIprognum\fP,\fIversnum\fP,\fIprotocol\fP] の組み合わせと \fIxprt\->xp_port\fP
+とのマッピングがローカルの \fBportmap\fP サービスに登録される。(一般的に \fIprotocol\fP はゼロ、 \fBIPPROTO_UDP\fP、
+\fBIPPROTO_TCP\fP のどれかである。)  プロシージャー \fIdispatch\fP は以下の形式である:
 .in +4n
 .nf
 
@@ -1336,436 +478,206 @@ dispatch(struct svc_req *request, SVCXPRT *xprt);
 .fi
 .in
 .IP
-.\"O The
-.\"O .BR svc_register ()
-.\"O routine returns one if it succeeds, and zero otherwise.
-.BR svc_register ()
-¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
+\fBsvc_register\fP()  ルーティンは成功した場合は 1 を返す。失敗した場合はゼロを返す。
 .LP
 .nf
-.B "void svc_run(void);"
+\fBvoid svc_run(void);\fP
 .fi
 .IP
-.\"O This routine never returns.
-.\"O It waits for RPC requests to arrive, and calls the appropriate service
-.\"O procedure using
-.\"O .BR svc_getreq ()
-.\"O when one arrives.
-.\"O This procedure is usually waiting for a
-.\"O .BR select (2)
-.\"O system call to return.
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÌá¤Ã¤Æ¤³¤Ê¤¤¡£¤³¤ì¤Ï
+このルーティンは戻ってこない。これは
 .SM RPC
-Í×µá¤ÎÅþÃå¤òÂÔ¤Á¡¢¤É¤ì¤«¤¬ÆϤ¤¤¿¾ì¹ç¤Ë
-.BR svc_getreq ()
-¤ò»ÈÍѤ·¤ÆŬÀڤʥµ¡¼¥Ó¥¹¡¦¥×¥í¥·¥¸¥ã¤ò¸Æ¤Ó½Ð¤¹¡£
-¤³¤Î¥×¥í¥·¥¸¥ã¤ÏÄ̾ï¤Ï
-.BR select (2)
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤«¤éÊÖ¤ë¤Î¤òÂԤäƤ¤¤ë¡£
+要求の到着を待ち、どれかが届いた場合に \fBsvc_getreq\fP()
+を使用して適切なサービスプロシージャーを呼び出す。 このプロシージャーは通常は \fBselect\fP(2)  システムコールから返るのを待っている。
 .LP
 .nf
-.BI "bool_t svc_sendreply(SVCXPRT *" xprt ", xdrproc_t " outproc \
-", char *" out );
+\fBbool_t svc_sendreply(SVCXPRT *\fP\fIxprt\fP\fB, xdrproc_t \fP\fIoutproc\fP\fB, char *\fP\fIout\fP\fB);\fP
 .fi
 .IP
-.\"O Called by an RPC service's dispatch routine to send the results of a
-.\"O remote procedure call.
-.\"O The parameter
-.\"O .I xprt
-.\"O is the request's associated transport handle;
-.\"O .I outproc
-.\"O is the XDR routine which is used to encode the results; and
-.\"O .I out
-.\"O is the address of the results.
-.\"O This routine returns one if it succeeds, zero otherwise.
-RPC ¥µ¡¼¥Ó¥¹ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤Æ¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¡¦¥³¡¼¥ë¤Î·ë²Ì¤ò
-ÊÖ¤¹¤¿¤á¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
-¥Ñ¥é¥á¡¼¥¿¡¼
-.I xprt
-¤Ï¤½¤ÎÍ×µá¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ÄÌ¿®¥Ï¥ó¥É¥ë¤Ç¤¢¤ë¡£
-.I outproc
-¤Ï·ë²Ì¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë XDR ¥ë¡¼¥Æ¥£¥ó¤Ç¤¢¤ë¡£
-.I out
-¤Ï·ë²Ì¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÀ®¸ù¤·¤¿¾ì¹ç¤Ï 1 ¤òÊÖ¤¹¡£
-¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¥¼¥í¤òÊÖ¤¹¡£
+RPC サービス配分ルーティンによってリモートプロシージャーコールの結果を 返すために呼び出される。 パラメーター \fIxprt\fP
+はその要求に関連付けられた通信ハンドルである。 \fIoutproc\fP は結果をエンコードするために使用する XDR ルーティンである。 \fIout\fP
+は結果のアドレスである。このルーティンは成功した場合は 1 を返す。 失敗した場合はゼロを返す。
 .LP
 .nf
-.BI "void svc_unregister(unsigned long " prognum ", unsigned long " versnum );
+\fBvoid svc_unregister(unsigned long \fP\fIprognum\fP\fB, unsigned long \fP\fIversnum\fP\fB);\fP
 .fi
 .IP
-.\"O Remove all mapping of the double
-.\"O .RI [ prognum , versnum ]
-.\"O to dispatch routines, and of the triple
-.\"O .RI [ prognum , versnum , *\fR]
-.\"O to port number.
-ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤«¤é
-.RI [ prognum , versnum ]
-¤ª¤è¤Ó
-.RI [ prognum , versnum , *\fR]
-¤ÎÁȤ߹ç¤ï¤»¤«¤é¥Ý¡¼¥ÈÈÖ¹æ¤Ø¤Î¥Þ¥Ã¥Ô¥ó¥°¤òÁ´¤Æºï½ü¤¹¤ë¡£
+配分ルーティンから [\fIprognum\fP,\fIversnum\fP] および [\fIprognum\fP,\fIversnum\fP,\fI*\fP]
+の組み合わせからポート番号へのマッピングを全て削除する。
 .LP
 .nf
-.BI "void svcerr_auth(SVCXPRT *" xprt ", enum auth_stat " why );
+\fBvoid svcerr_auth(SVCXPRT *\fP\fIxprt\fP\fB, enum auth_stat \fP\fIwhy\fP\fB);\fP
 .fi
 .IP
-.\"O Called by a service dispatch routine that refuses to perform
-.\"O a remote procedure call due to an authentication error.
-ǧ¾Ú¥¨¥é¡¼¤Ë¤è¤ê¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¡¦¥³¡¼¥ë¤Î¼Â¹Ô¤òµñÈݤµ¤ì¤¿
-¾ì¹ç¤Ë¥µ¡¼¥Ó¥¹ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
+認証エラーによりリモートプロシージャーコールの実行を拒否された 場合にサービス配分ルーティンによって呼び出される。
 .LP
 .nf
-.BI "void svcerr_decode(SVCXPRT *" xprt );
+\fBvoid svcerr_decode(SVCXPRT *\fP\fIxprt\fP\fB);\fP
 .fi
 .IP
-.\"O Called by a service dispatch routine that cannot successfully
-.\"O decode its parameters.
-.\"O See also
-.\"O .BR svc_getargs ().
-¥Ñ¥é¥á¡¼¥¿¤Î¥Ç¥³¡¼¥É¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë
-¥µ¡¼¥Ó¥¹ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
-.BR svc_getargs ()
-¤â»²¾È¤¹¤ë¤³¤È¡£
+パラメーターのデコードに失敗した場合に サービス配分ルーティンによって呼び出される。 \fBsvc_getargs\fP()  も参照すること。
 .LP
 .nf
-.BI "void svcerr_noproc(SVCXPRT *" xprt );
+\fBvoid svcerr_noproc(SVCXPRT *\fP\fIxprt\fP\fB);\fP
 .fi
 .IP
-.\"O Called by a service dispatch routine that does not implement
-.\"O the procedure number that the caller requests.
-Í×µá¤Î¤¢¤Ã¤¿¥×¥í¥·¥¸¥ãÈֹ椬¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë
-¥µ¡¼¥Ó¥¹ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤è¤ê¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
+要求のあったプロシージャー番号が実装されていない場合に サービス配分ルーティンより呼び出される。
 .LP
 .nf
-.BI "void svcerr_noprog(SVCXPRT *" xprt );
+\fBvoid svcerr_noprog(SVCXPRT *\fP\fIxprt\fP\fB);\fP
 .fi
 .IP
-.\"O Called when the desired program is not registered with the RPC package.
-.\"O Service implementors usually do not need this routine.
-RPC ¥Ñ¥Ã¥±¡¼¥¸¤ËÍ׵ᤵ¤ì¤¿¥×¥í¥°¥é¥à¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
-¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¤Ë¤ÏÄ̾¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏɬÍפʤ¤¡£
+RPC パッケージに要求されたプログラムが登録されていない場合に呼び出される。 サービスの実装には通常、このルーティンは必要ない。
 .LP
 .nf
-.BI "void svcerr_progvers(SVCXPRT *" xprt );
+\fBvoid svcerr_progvers(SVCXPRT *\fP\fIxprt\fP\fB);\fP
 .fi
 .IP
-.\"O Called when the desired version of a program is not registered
-.\"O with the RPC package.
-.\"O Service implementors usually do not need this routine.
-RPC ¥Ñ¥Ã¥±¡¼¥¸¤ËÍ׵ᤵ¤ì¤¿¥Ð¡¼¥¸¥ç¥ó¤Î¥×¥í¥°¥é¥à¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë
-¸Æ¤Ó½Ð¤µ¤ì¤ë¡£¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¤Ë¤ÏÄ̾¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏɬÍפʤ¤¡£
-.LP
-.nf
-.BI "void svcerr_systemerr(SVCXPRT *" xprt );
-.fi
-.IP
-.\"O Called by a service dispatch routine when it detects a system
-.\"O error not covered by any particular protocol.
-.\"O For example, if a service can no longer allocate storage,
-.\"O it may call this routine.
-ÆÃÄê¤Î¥×¥í¥È¥³¥ë¤Ë¤è¤Ã¤Æ¥«¥Ð¡¼¤µ¤ì¤Æ¤¤¤Ê¥·¥¹¥Æ¥à¡¦¥¨¥é¡¼¤¬
-¸¡½Ð¤µ¤ì¤¿¾ì¹ç¤Ë¥µ¡¼¥Ó¥¹ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
-Î㤨¤Ð¡¢¥µ¡¼¥Ó¥¹¤¬¤½¤ì°Ê¾å¡¢µ­²±ÁõÃÖ¤ò³ä¤êÅö¤Æ¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë¤Ï
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤¬¸Æ¤Ó½Ð¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
-.LP
-.nf
-.BI "void svcerr_weakauth(SVCXPRT *" xprt );
-.fi
-.IP
-.\"O Called by a service dispatch routine that refuses to perform
-.\"O a remote procedure call due to insufficient authentication parameters.
-.\"O The routine calls
-.\"O .BR "svcerr_auth(xprt, AUTH_TOOWEAK)" .
-ǧ¾Ú¥Ñ¥é¥á¡¼¥¿¤¬Â­¤ê¤Ê¤¤¤¿¤á¤Ë¥ê¥â¡¼¥È¡¦¥×¥í¥·¥¸¥ã¡¦¥³¡¼¥ë¤Î¼Â¹Ô¤ò
-µñÈݤµ¤ì¤¿¾ì¹ç¤Ë¥µ¡¼¥Ó¥¹ÇÛʬ¥ë¡¼¥Æ¥£¥ó¤Ë¤è¤Ã¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
-.B "svcerr_auth(xprt, AUTH_TOOWEAK)"
-¤ò¸Æ¤Ó½Ð¤¹¡£
-.LP
-.nf
-.BI "SVCXPRT *svcfd_create(int " fd ", unsigned int " sendsize ,
-.BI "                      unsigned int " recvsize );
-.fi
-.IP
-.\"O Create a service on top of any open descriptor.
-.\"O Typically, this descriptor is a connected socket for a stream protocol such
-.\"O as TCP.
-.\"O .I sendsize
-.\"O and
-.\"O .I recvsize
-.\"O indicate sizes for the send and receive buffers.
-.\"O If they are zero, a reasonable default is chosen.
-Ǥ°Õ¤Î¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¾å¤Ë¥µ¡¼¥Ó¥¹¤òºîÀ®¤¹¤ë¡£
-ŵ·¿Åª¤Ë¡¢¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤Ï
-TCP ¤Î¤è¤¦¤Ê¥¹¥È¥ê¡¼¥à¡¦¥×¥í¥È¥³¥ë¤ÇÀܳ¤µ¤ì¤¿¥½¥±¥Ã¥È¤Ç¤¢¤ë¡£
-.I sendsize
-¤È
-.I recvsize
-¤Ë¤ÏÁ÷¿®¥Ð¥Ã¥Õ¥¡¤È¼õ¿®¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤ò»ØÄꤹ¤ë¡£¤â¤·¥¼¥í¤¬»ØÄꤵ¤ì¤¿
-¾ì¹ç¤ÏŬÀڤʥǥե©¥ë¥È¤¬ÁªÂò¤µ¤ì¤ë¡£
-.LP
-.nf
-.BI "SVCXPRT *svcraw_create(void);"
-.fi
-.IP
-.\"O This routine creates a toy RPC
-.\"O service transport, to which it returns a pointer.
-.\"O The transport is really a buffer within the process's address space,
-.\"O so the corresponding RPC client should live in the same address space; see
-.\"O .BR clntraw_create ().
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ïµ¼»÷ RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¤òÀ¸À®¤·¤Æ¡¢¤½¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¡£
-ÄÌ¿®¤Ï¼ÂºÝ¤Ë¤Ï¤½¤Î¥×¥í¥»¥¹¤Î¥¢¥É¥ì¥¹¶õ´Ö¤Ë¤¢¤ë¥Ð¥Ã¥Õ¥¡¤Ê¤Î¤Ç
-Âбþ¤¹¤ë RPC ¥¯¥é¥¤¥¢¥ó¥È¤ÏƱ¤¸¥¢¥É¥ì¥¹¶õ´Ö¤Ë¤¤¤ëɬÍפ¬¤¢¤ë¡£
-.BR clntraw_create ()
-¤ò»²¾È¤¹¤ë¤³¤È¡£
-.\"O This routine allows simulation of RPC and acquisition of RPC
-.\"O overheads (such as round trip times), without any kernel interference.
-.\"O This routine returns NULL if it fails.
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ç
-RPC ¤Î¥·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ä¡¢¥«¡¼¥Í¥ë¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë±Æ¶Á¤µ¤ì¤º¤Ë±þÅú»þ´Ö¤Ê¤É¤Î
-RPC ¥ª¡¼¥Ð¥Ø¥Ã¥É¤ò¼èÆÀ¤¬¤Ç¤­¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¼ºÇÔ¤·¤¿¾ì¹ç¤Ï NULL ¤òÊÖ¤¹¡£
-.LP
-.nf
-.BI "SVCXPRT *svctcp_create(int " sock ", unsigned int " send_buf_size ,
-.BI "                       unsigned int " recv_buf_size );
-.fi
-.IP
-.\"O This routine creates a TCP/IP-based RPC
-.\"O service transport, to which it returns a pointer.
-.\"O The transport is associated with the socket
-.\"O .IR sock ,
-.\"O which may be
-.\"O .BR RPC_ANYSOCK ,
-.\"O in which case a new socket is created.
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï TCP/IP ¤Ë´ð¤Å¤¯
-RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¤òºîÀ®¤·¡¢¤½¤ì¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¡£
-ÄÌ¿®¤Ï¥½¥±¥Ã¥È
-.I sock
-¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤ë¡£
-.I sock
-¤Ï
-.B RPC_ANYSOCK
-¤Ç¤âÎɤ¤¡£¤³¤Î¾ì¹ç¤Ï¿·¤·¤¤¥½¥±¥Ã¥È¤¬ºîÀ®¤µ¤ì¤ë¡£
-.\"O If the socket is not bound to a local TCP
-.\"O port, then this routine binds it to an arbitrary port.
-.\"O Upon completion,
-.\"O \fIxprt\->xp_sock\fR
-.\"O is the transport's socket descriptor, and
-.\"O \fIxprt\->xp_port\fR
-.\"O is the transport's port number.
-¤â¤·¥½¥±¥Ã¥È¤¬¥í¡¼¥«¥ë¤Ê TCP ¥Ý¡¼¥È¤Ë bind ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤¬Å¬Åö¤Ê¥Ý¡¼¥È¤Ë bind ¤¹¤ë¡£
-Êä´°¤µ¤ì¤¿¾ì¹ç¡¢\fIxprt\->xp_sock\fR ¤Ë¤ÏÄÌ¿®¤Î¥½¥±¥Ã¥È¡¦
-¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤¬¡¢\fIxprt\->xp_port\fR ¤Ë¤ÏÄÌ¿®¤Î¥Ý¡¼¥ÈÈֹ椬
-ÀßÄꤵ¤ì¤ë¡£
-.\"O This routine returns NULL if it fails.
-.\"O Since TCP-based RPC uses buffered I/O,
-.\"O users may specify the size of buffers; values of zero
-.\"O choose suitable defaults.
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¼ºÇÔ¤·¤¿¾ì¹ç¤Ï NULL ¤òÊÖ¤¹¡£
-TCP ¤Ë´ð¤Å¤¤¤¿ RPC ¤Ï¥Ð¥Ã¥Õ¥¡¤µ¤ì¤¿ I/O ¤ò»ÈÍѤ¹¤ë¤¿¤á¡¢
-¥æ¡¼¥¶¤Ï¥Ð¥Ã¥Õ¥¡¤ÎÂ礭¤µ¤ò»ØÄê¤Ç¤­¤ë¡£
-¥¼¥í¤ò»ØÄꤷ¤¿¾ì¹ç¤ÏŬÀڤʥǥե©¥ë¥È¤¬ÁªÂò¤µ¤ì¤ë¡£
-.LP
-.nf
-.BI "SVCXPRT *svcudp_bufcreate(int " sock ", unsigned int " sendsize ,
-.BI "                          unsigned int " recosize );
-.fi
-.IP
-.\"O This routine creates a UDP/IP-based RPC
-.\"O service transport, to which it returns a pointer.
-.\"O The transport is associated with the socket
-.\"O .IR sock ,
-.\"O which may be
-.\"O .BR RPC_ANYSOCK ,
-.\"O in which case a new socket is created.
-.\"O If the socket is not bound to a local UDP
-.\"O port, then this routine binds it to an arbitrary port.
-.\"O Upon completion,
-.\"O \fIxprt\->xp_sock\fR
-.\"O is the transport's socket descriptor, and
-.\"O \fIxprt\->xp_port\fR
-.\"O is the transport's port number.
-.\"O This routine returns NULL if it fails.
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï UDP/IP ¤Ë´ð¤Å¤¤¤¿ RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¤òºîÀ®¤·¡¢
-¤½¤Î¥Ý¥¤¥ó¥¿¡¼¤òÊÖ¤¹¡£ÄÌ¿®¤Ï¥½¥±¥Ã¥È
-.I sock
-¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤ë¡£
-.I sock
-¤Ï
-.B RPC_ANYSOCK
-¤Ç¤âÎɤ¤¡£¤³¤Î¾ì¹ç¤Ï¿·¤·¤¤¥½¥±¥Ã¥È¤¬ºîÀ®¤µ¤ì¤ë¡£
-¥½¥±¥Ã¥È¤¬¥í¡¼¥«¥ë¤Î UDP ¥Ý¡¼¥È¤Ë bind ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë¤Ï
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏŬÅö¤Ê¥Ý¡¼¥È¤Ë bind ¤¹¤ë¡£
-Êä´°¤µ¤ì¤¿¾ì¹ç¡¢\fIxprt\->xp_sock\fR ¤ËÄÌ¿®¤Î¥½¥±¥Ã¥È¤Î
-¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤¬¡¢\fIxprt\->xp_port\fR ¤ËÄÌ¿®¤Î¥Ý¡¼¥ÈÈֹ椬
-ÀßÄꤵ¤ì¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï NULL ¤òÊÖ¤¹¡£
-.IP
-.\"O This allows the user to specify the maximum packet size for sending and
-.\"O receiving UDP-based RPC messages.
-¤³¤ì¤Ë¤è¤ê¥æ¡¼¥¶¤Ï UDP ¤Ë´ð¤Å¤¤¤¿ RPC ¥á¥Ã¥»¡¼¥¸¤Ç
-»ÈÍѤǤ­¤ëÁ÷¿®¥Ñ¥±¥Ã¥È¤ª¤è¤Ó¼õ¿®¥Ñ¥±¥Ã¥È¤ÎºÇÂ祵¥¤¥º¤ò»ØÄê¤Ç¤­¤ë¡£
-.LP
-.nf
-.BI "SVCXPRT *svcudp_create(int " sock );
-.fi
-.IP
-.\"O This call is equivalent to
-.\"O \fIsvcudp_bufcreate(sock,SZ,SZ)\fP
-.\"O for some default size \fISZ\fP.
-Á÷¿®¥Ñ¥±¥Ã¥È¤È¼õ¿®¥Ñ¥±¥Ã¥È¤Î¥µ¥¤¥º¤òƱ¤¸¥Ç¥Õ¥©¥ë¥È¤ÎÃÍ \fISZ\fP ¤Ë»ØÄꤷ¤¿
-\fIsvcudp_bufcreate(sock,SZ,SZ)\fP ¤ÈÅù²Á¤Ç¤¢¤ë¡£
-.LP
-.nf
-.BI "bool_t xdr_accepted_reply(XDR *" xdrs ", struct accepted_reply *" ar );
-.fi
-.IP
-.\"O Used for encoding RPC reply messages.
-.\"O This routine is useful for users who wish to generate
-.\"O RPC-style messages without using the RPC package.
-RPC ±þÅú¥á¥Ã¥»¡¼¥¸¤ò¥¨¥ó¥³¡¼¥É¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
-RPC ¥Ñ¥Ã¥±¡¼¥¸¤òÍѤ¤¤º¤Ë
-RPC-·Á¼°¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
-.LP
-.nf
-.BI "bool_t xdr_authunix_parms(XDR *" xdrs ", struct authunix_parms *" aupp );
-.fi
-.IP
-.\"O Used for describing UNIX credentials.
-.\"O This routine is useful for users
-.\"O who wish to generate these credentials without using the RPC
-.\"O authentication package.
-UNIX ·Á¼°¤Î¾ÚÌÀ½ñ¤òµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
-RPC Ç§¾Ú¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ»¤º¤Ë¤³¤ì¤é¤Î¾ÚÌÀ½ñ¤òºîÀ®¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
-.LP
-.nf
-.BI "void xdr_callhdr(XDR *" xdrs ", struct rpc_msg *" chdr );
-.fi
+RPC パッケージに要求されたバージョンのプログラムが登録されていない場合に 呼び出される。サービスの実装には通常、このルーティンは必要ない。
+.LP
+.nf
+\fBvoid svcerr_systemerr(SVCXPRT *\fP\fIxprt\fP\fB);\fP
+.fi
 .IP
-.\"O Used for describing RPC call header messages.
-.\"O This routine is useful for users who wish to generate
-.\"O RPC-style messages without using the RPC package.
-RPC ¸Æ¤Ó½Ð¤·¤Î¥Ø¥Ã¥À¡¼¡¦¥á¥Ã¥»¡¼¥¸¤òµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï RPC ¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ»¤º¤Ë
-RPC-·Á¼°¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
+特定のプロトコルによってカバーされていなシステムエラーが 検出された場合にサービス配分ルーティンによって呼び出される。
+例えば、サービスがそれ以上、記憶装置を割り当てることができない場合には このルーティンが呼び出されるかもしれない。
 .LP
 .nf
-.BI "bool_t xdr_callmsg(XDR *" xdrs ", struct rpc_msg *" cmsg );
+\fBvoid svcerr_weakauth(SVCXPRT *\fP\fIxprt\fP\fB);\fP
 .fi
 .IP
-.\"O Used for describing RPC call messages.
-.\"O This routine is useful for users who wish to generate RPC-style
-.\"O messages without using the RPC package.
-RPC ¸Æ¤Ó½Ð¤·¥á¥Ã¥»¡¼¥¸¤òµ­½Ò¤¹¤ë¤Î¤Ë»ÈÍѤ¹¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï RPC ¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ»¤º¤Ë
-RPC-·Á¼°¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
+認証パラメーターが足りないためにリモートプロシージャーコールの実行を 拒否された場合にサービス配分ルーティンによって呼び出される。 このルーティンは
+\fBsvcerr_auth(xprt, AUTH_TOOWEAK)\fP を呼び出す。
 .LP
 .nf
-.BI "bool_t xdr_opaque_auth(XDR *" xdrs ", struct opaque_auth *" ap );
+\fBSVCXPRT *svcfd_create(int \fP\fIfd\fP\fB, unsigned int \fP\fIsendsize\fP\fB,\fP
+\fB                      unsigned int \fP\fIrecvsize\fP\fB);\fP
 .fi
 .IP
-.\"O Used for describing RPC authentication information messages.
-.\"O This routine is useful for users who wish to generate
-.\"O RPC-style messages without using the RPC package.
-PRC Ç§¾Ú¾ðÊó¥á¥Ã¥»¡¼¥¸¤òµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï RPC ¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ»¤º¤Ë
-RPC-·Á¼°¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤è¤¦¤È¤¹¤ë¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
+任意のオープンされたディスクリプター上にサービスを作成する。 典型的に、ディスクリプターは TCP
+のようなストリームプロトコルで接続されたソケットである。 \fIsendsize\fP と \fIrecvsize\fP
+には送信バッファーと受信バッファーの大きさを指定する。もしゼロが指定された 場合は適切なデフォルトが選択される。
 .LP
 .nf
-.BI "bool_t xdr_pmap(XDR *" xdrs ", struct pmap *" regs );
+\fBSVCXPRT *svcraw_create(void);\fP
 .fi
 .IP
-.\"O Used for describing parameters to various
-.\"O .B portmap
-.\"O procedures, externally.
-.\"O This routine is useful for users who wish to generate
-.\"O these parameters without using the
-.\"O .B pmap
-.\"O interface.
-³Æ¼ï¤Î
-.B portmap
-¥×¥í¥·¥¸¥ã¤Ø¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò³°ÉôŪ¤Ëµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
-.B pmap
-¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»ÈÍѤ»¤º¤Ë¡¢¤³¤ì¤é¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò
-ºîÀ®¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
+このルーティンは擬似 RPC サービス通信を生成して、そのポインターを返す。 通信は実際にはそのプロセスのアドレス空間にあるバッファーなので 対応する
+RPC クライアントは同じアドレス空間にいる必要がある。 \fBclntraw_create\fP()  を参照すること。 このルーティンで RPC
+のシミュレーションや、カーネルインターフェースに影響されずに応答時間などの RPC オーバヘッドを取得ができる。このルーティンは失敗した場合は NULL
+を返す。
 .LP
 .nf
-.BI "bool_t xdr_pmaplist(XDR *" xdrs ", struct pmaplist **" rp );
+\fBSVCXPRT *svctcp_create(int \fP\fIsock\fP\fB, unsigned int \fP\fIsend_buf_size\fP\fB,\fP
+\fB                       unsigned int \fP\fIrecv_buf_size\fP\fB);\fP
 .fi
 .IP
-.\"O Used for describing a list of port mappings, externally.
-.\"O This routine is useful for users who wish to generate
-.\"O these parameters without using the
-.\"O .B pmap
-.\"O interface.
-¥Ý¡¼¥È¤Î¥Þ¥Ã¥Ô¥ó¥°¤Î¥ê¥¹¥È¤ò³°ÉôŪ¤Ëµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
-.B pmap
-¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»ÈÍѤ»¤º¤Ë¡¢¤³¤ì¤é¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò
-ºîÀ®¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
+このルーティンは TCP/IP に基づく RPC サービス通信を作成し、それへのポインターを返す。 通信はソケット \fIsock\fP に結びつけられる。
+\fIsock\fP は \fBRPC_ANYSOCK\fP でも良い。この場合は新しいソケットが作成される。 もしソケットがローカルな TCP ポートに bind
+されていない場合は、 このルーティンが適当なポートに bind する。 補完された場合、\fIxprt\->xp_sock\fP には通信のソケット
+ディスクリプターが、\fIxprt\->xp_port\fP には通信のポート番号が 設定される。 このルーティンは失敗した場合は NULL を返す。
+TCP に基づいた RPC はバッファーされた I/O を使用するため、 ユーザーはバッファーの大きさを指定できる。
+ゼロを指定した場合は適切なデフォルトが選択される。
 .LP
 .nf
-.BI "bool_t xdr_rejected_reply(XDR *" xdrs ", struct rejected_reply *" rr );
+\fBSVCXPRT *svcudp_bufcreate(int \fP\fIsock\fP\fB, unsigned int \fP\fIsendsize\fP\fB,\fP
+\fB                          unsigned int \fP\fIrecosize\fP\fB);\fP
 .fi
 .IP
-.\"O Used for describing RPC reply messages.
-.\"O This routine is useful for users who wish to generate
-.\"O RPC-style messages without using the RPC package.
-RPC ±þÅú¥á¥Ã¥»¡¼¥¸¤òµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï
-RPC ¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ»¤º¤Ë¡¢
-RPC-·Á¼°¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
+このルーティンは UDP/IP に基づいた RPC サービス通信を作成し、 そのポインターを返す。通信はソケット \fIsock\fP に関連付けられる。
+\fIsock\fP は \fBRPC_ANYSOCK\fP でも良い。この場合は新しいソケットが作成される。 ソケットがローカルの UDP ポートに bind
+されていない場合には このルーティンは適当なポートに bind する。 補完された場合、\fIxprt\->xp_sock\fP に通信のソケットの
+ディスクリプターが、\fIxprt\->xp_port\fP に通信のポート番号が 設定される。このルーティンは失敗した場合には NULL を返す。
+.IP
+これを使用すると UDP に基づいた RPC メッセージにおいて送信パケットや 受信パケットの最大サイズを指定することが可能になる。
 .LP
 .nf
-.BI "bool_t xdr_replymsg(XDR *" xdrs ", struct rpc_msg *" rmsg );
+\fBSVCXPRT *svcudp_create(int \fP\fIsock\fP\fB);\fP
 .fi
 .IP
-.\"O Used for describing RPC reply messages.
-.\"O This routine is useful for users who wish to generate
-.\"O RPC style messages without using the RPC package.
-RPC ±þÅú¥á¥Ã¥»¡¼¥¸¤òµ­½Ò¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤Ï RPC ¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ»¤º¤Ë¡¢
-RPC ·Á¼°¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤¿¤¤¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£
+送信パケットと受信パケットのサイズを同じデフォルトの値 \fISZ\fP に指定した \fIsvcudp_bufcreate(sock,SZ,SZ)\fP
+と等価である。
 .LP
 .nf
-.BI "void xprt_register(SVCXPRT *" xprt );
+\fBbool_t xdr_accepted_reply(XDR *\fP\fIxdrs\fP\fB, struct accepted_reply *\fP\fIar\fP\fB);\fP
 .fi
 .IP
-.\"O After RPC service transport handles are created,
-.\"O they should register themselves with the RPC service package.
-.\"O This routine modifies the global variable
-.\"O .IR svc_fds .
-.\"O Service implementors usually do not need this routine.
-RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¥Ï¥ó¥É¥ë¤òÀ¸À®¤·¤¿¸å¤Ë¡¢¤½¤ì¤é¼«¿È¤ò
-RPC ¥µ¡¼¥Ó¥¹¡¦¥Ñ¥Ã¥±¡¼¥¸¤ËÅÐÏ¿¤¹¤ëɬÍפ¬¤¢¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÂç°èÊÑ¿ô
-.I svc_fds
-¤ò½¤Àµ¤¹¤ë¡£¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¼Ô¤ÏÄ̾¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏɬÍפʤ¤¡£
+RPC 応答メッセージをエンコードするのに使用する。このルーティンは RPC パッケージを用いずに
+RPC\-形式のメッセージを作成しようとする場合に便利である。
 .LP
 .nf
-.BI "void xprt_unregister(SVCXPRT *" xprt );
+\fBbool_t xdr_authunix_parms(XDR *\fP\fIxdrs\fP\fB, struct authunix_parms *\fP\fIaupp\fP\fB);\fP
 .fi
 .IP
-.\"O Before an RPC service transport handle is destroyed,
-.\"O it should unregister itself with the RPC service package.
-.\"O This routine modifies the global variable
-.\"O .IR svc_fds .
-.\"O Service implementors usually do not need this routine.
-RPC ¥µ¡¼¥Ó¥¹ÄÌ¿®¥Ï¥ó¥É¥ë¤òÇ˲õ¤¹¤ëÁ°¤Ë¡¢¤½¤ì¤ò
-RPC ÄÌ¿®¥Ñ¥Ã¥±¡¼¥¸¤«¤éÅÐÏ¿²ò½ü¤¹¤ëɬÍפ¬¤¢¤ë¡£
-¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏÂç°èÊÑ¿ô
-.I svc_fds
-¤ò½¤Àµ¤¹¤ë¡£¥µ¡¼¥Ó¥¹¤Î¼ÂÁõ¼Ô¤ÏÄ̾¤³¤Î¥ë¡¼¥Æ¥£¥ó¤ÏɬÍפʤ¤¡£
-.\"O .SH "SEE ALSO"
-.SH ´ØÏ¢¹àÌÜ
-.\"O .\" We don't have an rpc_secure.3 page in the set at the moment -- MTK, 19 Sep 05
-.\"O .\" .BR rpc_secure (3),
-.\" º£¸½ºß¤Ï¡¢¤³¤ÎÇÛÉÛʪ (LDP_man-pages) ¤Ë¤Ï rpc_secure.3 ¤ÏÆþ¤Ã¤Æ¤¤¤Ê¤¤
-.\" -- MTK, 19 Sep 05
+UNIX 形式の証明書を記述するために使用する。このルーティンは RPC 認証パッケージを使用せずにこれらの証明書を作成しようとする場合に便利である。
+.LP
+.nf
+\fBvoid xdr_callhdr(XDR *\fP\fIxdrs\fP\fB, struct rpc_msg *\fP\fIchdr\fP\fB);\fP
+.fi
+.IP
+RPC 呼び出しのヘッダーメッセージを記述するために使用する。 このルーティンは RPC パッケージを使用せずに
+RPC\-形式のメッセージを作成しようとする場合に便利である。
+.LP
+.nf
+\fBbool_t xdr_callmsg(XDR *\fP\fIxdrs\fP\fB, struct rpc_msg *\fP\fIcmsg\fP\fB);\fP
+.fi
+.IP
+RPC 呼び出しメッセージを記述するのに使用する。 このルーティンは RPC パッケージを使用せずに
+RPC\-形式のメッセージを作成しようとする場合に便利である。
+.LP
+.nf
+\fBbool_t xdr_opaque_auth(XDR *\fP\fIxdrs\fP\fB, struct opaque_auth *\fP\fIap\fP\fB);\fP
+.fi
+.IP
+PRC 認証情報メッセージを記述するために使用する。 このルーティンは RPC パッケージを使用せずに
+RPC\-形式のメッセージを作成しようとする場合に便利である。
+.LP
+.nf
+\fBbool_t xdr_pmap(XDR *\fP\fIxdrs\fP\fB, struct pmap *\fP\fIregs\fP\fB);\fP
+.fi
+.IP
+各種の \fBportmap\fP プロシージャーへのパラメーターを外部的に記述するために使用する。 このルーティンは \fBpmap\fP
+インターフェースを使用せずに、これらのパラメーターを 作成したい場合に便利である。
+.LP
+.nf
+\fBbool_t xdr_pmaplist(XDR *\fP\fIxdrs\fP\fB, struct pmaplist **\fP\fIrp\fP\fB);\fP
+.fi
+.IP
+ポートのマッピングのリストを外部的に記述するために使用する。 このルーティンは \fBpmap\fP インターフェースを使用せずに、これらのパラメーターを
+作成したい場合に便利である。
+.LP
+.nf
+\fBbool_t xdr_rejected_reply(XDR *\fP\fIxdrs\fP\fB, struct rejected_reply *\fP\fIrr\fP\fB);\fP
+.fi
+.IP
+RPC 応答メッセージを記述するために使用する。このルーティンは RPC パッケージを使用せずに、
+RPC\-形式のメッセージを作成したい場合に便利である。
+.LP
+.nf
+\fBbool_t xdr_replymsg(XDR *\fP\fIxdrs\fP\fB, struct rpc_msg *\fP\fIrmsg\fP\fB);\fP
+.fi
+.IP
+RPC 応答メッセージを記述するために使用する。 このルーティンは RPC パッケージを使用せずに、 RPC
+形式のメッセージを作成したい場合に便利である。
+.LP
+.nf
+\fBvoid xprt_register(SVCXPRT *\fP\fIxprt\fP\fB);\fP
+.fi
+.IP
+RPC サービス通信ハンドルを生成した後に、それら自身を RPC サービスパッケージに登録する必要がある。 このルーティンは大域変数
+\fIsvc_fds\fP を修正する。サービスの実装者は通常、このルーティンは必要ない。
+.LP
+.nf
+\fBvoid xprt_unregister(SVCXPRT *\fP\fIxprt\fP\fB);\fP
+.fi
+.IP
+RPC サービス通信ハンドルを破壊する前に、それを RPC 通信パッケージから登録解除する必要がある。 このルーティンは大域変数 \fIsvc_fds\fP
+を修正する。サービスの実装者は通常、このルーティンは必要ない。
+.SH 関連項目
+.\" We don't have an rpc_secure.3 page in the set at the moment -- MTK, 19 Sep 05
 .\" .BR rpc_secure (3),
-.BR xdr (3)
-.br
-.\"O The following manuals:
-°Ê²¼¤Î¥Þ¥Ë¥å¥¢¥ë:
+\fBxdr\fP(3)
+
+以下のマニュアル:
 .RS
 Remote Procedure Calls: Protocol Specification
 .br
@@ -1774,6 +686,10 @@ Remote Procedure Call Programming Guide
 rpcgen Programming Guide
 .br
 .RE
-.IR "RPC: Remote Procedure Call Protocol Specification" ,
-RFC\ 1050, Sun Microsystems, Inc.,
-USC-ISI.
+
+\fIRPC: Remote Procedure Call Protocol Specification\fP, RFC\ 1050, Sun
+Microsystems, Inc., USC\-ISI.
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。