1 .\" This page was taken from the 4.4BSD-Lite CDROM (BSD license)
3 .\" @(#)rpc.3n 2.4 88/08/08 4.0 RPCSRC; from 1.19 88/06/24 SMI
5 .\" 2007-12-30, mtk, Convert function prototypes to modern C syntax
7 .\" Japanese Version Copyright (c) 1999 HANATAKA Shinya
8 .\" all rights reserved.
9 .\" Translated Tue Jan 4 20:48:23 JST 2000
10 .\" by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
11 .\" Updated & Modified Sun Oct 21 01:07:09 JST 2001
12 .\" by Yuichi SATO <ysato@h4.dion.ne.jp>
14 .TH RPC 3 2008-07-17 "" "Linux Programmer's Manual"
17 .\"O rpc \- library routines for remote procedure calls
18 rpc \- 遠隔手続き呼び出し(RPC)のためのライブラリ・ルーティン
19 .\"O .SH SYNOPSIS AND DESCRIPTION
21 .\"O These routines allow C programs to make procedure
22 .\"O calls on other machines across the network.
23 .\"O First, the client calls a procedure to send a data packet to the server.
24 .\"O Upon receipt of the packet, the server calls a dispatch routine
25 .\"O to perform the requested service, and then sends back a reply.
26 .\"O Finally, the procedure call returns to the client.
27 これらのルーティンは C プログラムでネットワークを通して
28 他のマシンにアクセスするプロシジャを作成することを可能にする。
29 最初にクライアントはデータパケットをサーバに送るために
31 サーバはパケットを受け取ると、配分ルーチンを呼び出して
32 要求されたサービスに実行し、返答を送り返す。
33 最後にプロシジャ・コールはクライアントへと戻る。
35 .\"O .\" We don't have an rpc_secure.3 page at the moment -- MTK, 19 Sep 05
36 .\"O .\" Routines that are used for Secure RPC (DES authentication) are described in
37 .\"O .\" .BR rpc_secure (3).
38 .\"O .\" Secure RPC can be used only if DES encryption is available.
39 .\" 今現在は rpc_secure.3 は入っていない -- MTK, 19 Sep 05
40 .\" (DES 認証による) Secure RPC で使用されるルーティンについての説明は
41 .\" .BR rpc_secure (3)
42 .\" に存在する。 Secure RPC は DES 認証が利用可能な場合にのみ使用できる。
44 .\"O To take use of these routines, include the header file
45 .\"O .IR "<rpc/rpc.h>" .
46 これらのルーティンを使用するには、ヘッダファイル
50 .\"O The prototypes below make use of the following types:
51 下記のプロトタイプでは次の型を使用している。
55 typedef int \fIbool_t\fP;
57 typedef bool_t (*\fIxdrproc_t\fP) (XDR *, void *,...);
59 typedef bool_t (*\fIresultproc_t\fP) (caddr_t resp,
60 struct sockaddr_in *raddr);
64 .\"O See the header files for the declarations of the
79 .BI "void auth_destroy(AUTH *" auth );
82 .\"O A macro that destroys the authentication information associated with
84 .\"O Destruction usually involves deallocation of private data structures.
87 .\"O is undefined after calling
88 .\"O .BR auth_destroy ().
91 に関連付けられた認証情報を破壊する。破壊は通常は私的なデータ構造の
99 .BI "AUTH *authnone_create(void);"
102 .\"O Create and returns an RPC
103 .\"O authentication handle that passes nonusable authentication
104 .\"O information with each remote procedure call.
105 .\"O This is the default authentication used by RPC.
106 各リモート・プロシジャ・コールで使用できない仮の認証情報として渡される
108 これは RPC で使用されるデフォルトの認証である。
111 .BI "AUTH *authunix_create(char *" host ", int " uid ", int " gid ,
112 .BI " int " len ", int *" aup_gids );
115 .\"O Create and return an RPC authentication handle that contains
116 .\"O authentication information.
119 .\"O is the name of the machine on which the information was created;
121 .\"O is the user's user ID;
123 .\"O is the user's current group ID;
127 .\"O refer to a counted array of groups to which the user belongs.
128 .\"O It is easy to impersonate a user.
129 認証情報を含んだ RPC 認証ハンドルを作成して返す。
131 パラメーターは情報が作成されたマシンの名前である。
143 はそのユーザが所属するグループの配列を参照している。
147 .BI "AUTH *authunix_create_default(void);"
151 .\"O .BR authunix_create ()
152 .\"O with the appropriate parameters.
154 .BR authunix_create ()
158 .BI "int callrpc(char *" host ", unsigned long " prognum ,
159 .BI " unsigned long " versnum ", unsigned long " procnum ,
160 .BI " xdrproc_t " inproc ", char *" in ,
161 .BI " xdrproc_t " outproc ", char *" out );
164 .\"O Call the remote procedure associated with
173 .\"O is the address of the procedure's argument(s), and
175 .\"O is the address of where to place the result(s);
177 .\"O is used to encode the procedure's parameters, and
179 .\"O is used to decode the procedure's results.
180 .\"O This routine returns zero if it succeeds, or the value of
181 .\"O .B "enum clnt_stat"
182 .\"O cast to an integer if it fails.
184 .\"O .BR clnt_perrno ()
185 .\"O is handy for translating failure statuses into messages.
192 に関連付けられたリモート・プロシジャを呼び出す。
199 はプロシジャのパラメーターをエンコードするのに使用され、
202 このルーティンは成功した場合にはゼロを返す。失敗した場合には
206 ルーティンが失敗の状態をメッセージに変換するのに使用できる。
208 .\"O Warning: calling remote procedures with this routine
209 .\"O uses UDP/IP as a transport; see
210 .\"O .BR clntudp_create ()
211 .\"O for restrictions.
212 .\"O You do not have control of timeouts or authentication using this routine.
213 警告: このルーティンでリモート・プロシジャを呼び出すと通信には
214 UDP/IP が使用される。この際の制限については
215 .BR clntudp_create ()
216 を参照すること。このルーティンを使用して認証や時間切れの制御を
220 .BI "enum clnt_stat clnt_broadcast(unsigned long " prognum ,
221 .BI " unsigned long " versnum ", unsigned long " procnum ,
222 .BI " xdrproc_t " inproc ", char *" in ,
223 .BI " xdrproc_t " outproc ", char *" out ,
224 .BI " resultproc_t " eachresult );
229 .\"O except the call message is broadcast to all locally
230 .\"O connected broadcast nets.
231 .\"O Each time it receives a response, this routine calls
232 .\"O .BR eachresult (),
235 と同様であるが、メッセージがローカルのブロードキャスト・ネットワーク
236 全体へとブロードキャストされる点が異っている。回答を受け取る度に
243 .BI "eachresult(char *" out ", struct sockaddr_in *" addr );
252 .\"O .BR clnt_broadcast (),
253 .\"O except that the remote procedure's output is decoded there;
255 .\"O points to the address of the machine that sent the results.
257 .\"O .BR eachresult ()
259 .\"O .BR clnt_broadcast ()
260 .\"O waits for more replies; otherwise it returns with appropriate status.
264 .BR clnt_broadcast ()
267 と同じであるが、リモート・プロシジャからの出力がデコードされている
270 は結果を送って来たマシンのアドレスを指している。
273 .BR clnt_broadcast ()
274 はさらなる回答を待つ。そうでなければ適切な状態で終了する。
276 .\"O Warning: broadcast sockets are limited in size to the
277 .\"O maximum transfer unit of the data link.
278 .\"O For ethernet, this value is 1500 bytes.
279 警告: ブロードキャスト・ソケットはデータリンク層の最大転送単位に
280 制限されている。イーサネットの場合、最大値は 1500 バイトである。
283 .BI "enum clnt_stat clnt_call(CLIENT *" clnt ", unsigned long " procnum ,
284 .BI " xdrproc_t " inproc ", char *" in ,
285 .BI " xdrproc_t " outproc ", char *" out ,
286 .BI " struct timeval " tout );
289 .\"O A macro that calls the remote procedure
291 .\"O associated with the client handle,
293 .\"O which is obtained with an RPC client creation routine such as
294 .\"O .BR clnt_create ().
304 クライアント作成ルーティンによって得られる。
307 .\"O is the address of the procedure's argument(s), and
309 .\"O is the address of where to place the result(s);
311 .\"O is used to encode the procedure's parameters, and
313 .\"O is used to decode the procedure's results;
315 .\"O is the time allowed for results to come back.
320 はプロシジャの返り値を格納するアドレスである。
322 はプロシジャのパラメーターをエンコードするのに使用される。
324 はプロシジャの返り値をデコードするのに使用される。
329 .BI "clnt_destroy(CLIENT *" clnt );
332 .\"O A macro that destroys the client's RPC handle.
333 .\"O Destruction usually involves deallocation
334 .\"O of private data structures, including
339 .\"O is undefined after calling
340 .\"O .BR clnt_destroy ().
341 .\"O If the RPC library opened the associated socket, it will close it also.
342 .\"O Otherwise, the socket remains open.
343 このマクロはクライアントの RPC ハンドルを破壊する。破壊には通常は
345 自身も含めて私的なデータ構造体の破棄が含まれている。
350 RPC ライブラリが関連するソケットをオープンした場合には、
351 それも閉じられる。それ以外の場合にはソケットはオープンされたままである。
354 .BI "CLIENT *clnt_create(char *" host ", unsigned long " prog ,
355 .BI " unsigned long " vers ", char *" proto );
358 .\"O Generic client creation routine.
360 .\"O identifies the name of the remote host where the server is located.
362 .\"O indicates which kind of transport protocol to use.
363 .\"O The currently supported values for this field are \(lqudp\(rq
364 .\"O and \(lqtcp\(rq.
365 .\"O Default timeouts are set, but can be modified using
366 .\"O .BR clnt_control ().
367 一般的なクライアントの作成ルーティンである。
369 はサーバのあるリモートホストの名前を指定する。
371 どのような通信プロトコルを使用するかを指定する。現在ここに
372 使用できる値は \(lqudp\(rq と \(lqtcp\(rq である。
377 .\"O Warning: Using UDP has its shortcomings.
378 .\"O Since UDP-based RPC messages can only hold up to 8 Kbytes of encoded data,
379 .\"O this transport cannot be used for procedures that take
380 .\"O large arguments or return huge results.
384 最大でも 8 KByte のエンコードデータしか保持する
385 ことができないため、大きな引き数や巨大な結果を取るプロシジャに
389 .BI "bool_t clnt_control(CLIENT *" cl ", int " req ", char *" info );
392 .\"O A macro used to change or retrieve various information
393 .\"O about a client object.
395 .\"O indicates the type of operation, and
397 .\"O is a pointer to the information.
398 .\"O For both UDP and TCP, the supported values of
400 .\"O and their argument types and what they do are:
401 このマクロは各種クライアントについて情報を変更したり、取得したり
407 UDP と TCP どちらの場合も使用可能な
409 の値と、その引き数の型、およびその内容は以下の通りである:
413 .ta +2.0i +2.0i +2.0i
414 .\"O \fBCLSET_TIMEOUT\fP \fIstruct timeval\fP // set total timeout
415 .\"O \fBCLGET_TIMEOUT\fP \fIstruct timeval\fP // get total timeout
416 \fBCLSET_TIMEOUT\fP \fIstruct timeval\fP // 時間切れを設定する
417 \fBCLGET_TIMEOUT\fP \fIstruct timeval\fP // 時間切れを取得する
421 .\"O Note: if you set the timeout using
422 .\"O .BR clnt_control (),
423 .\"O the timeout parameter passed to
424 .\"O .BR clnt_call ()
425 .\"O will be ignored in all future calls.
428 を使用して時間切れを設定した場合にはそれ以後は
430 に渡される時間切れパラメーターは全て無視される。
434 .\"O \fBCLGET_SERVER_ADDR\fP \fIstruct sockaddr_in \fP // get server's address
435 \fBCLGET_SERVER_ADDR\fP \fIstruct sockaddr_in \fP // サーバアドレスを取得する
439 .\"O The following operations are valid for UDP only:
440 以下の操作は UDP の場合にのみ有効である:
444 .\"O \fBCLSET_RETRY_TIMEOUT\fP \fIstruct timeval\fP // set the retry timeout
445 .\"O \fBCLGET_RETRY_TIMEOUT\fP \fIstruct timeval\fP // get the retry timeout
446 \fBCLSET_RETRY_TIMEOUT\fP \fIstruct timeval\fP // 再送間隔を設定する
447 \fBCLGET_RETRY_TIMEOUT\fP \fIstruct timeval\fP // 再送間隔を取得する
451 .\"O The retry timeout is the time that "UDP RPC"
452 .\"O waits for the server to reply before
453 .\"O retransmitting the request.
455 "UDP RPC" がサーバの回答を待つ時間である。
458 .BI "clnt_freeres(CLIENT * " clnt ", xdrproc_t " outproc ", char *" out );
461 .\"O A macro that frees any data allocated by the RPC/XDR
462 .\"O system when it decoded the results of an RPC call.
465 .\"O is the address of the results, and
467 .\"O is the XDR routine describing the results.
468 .\"O This routine returns one if the results were successfully freed,
469 .\"O and zero otherwise.
470 このマクロは RPC 呼び出しの結果のデコードの際に
471 RPC/XDR システムによって割当てられたデータを解放する。
476 は結果を記述している XDR ルーティンである。
477 このルーティンは結果の解放に成功した場合には 1 を返す。
481 .BI "void clnt_geterr(CLIENT *" clnt ", struct rpc_err *" errp );
484 .\"O A macro that copies the error structure out of the client
485 .\"O handle to the structure at address
487 このマクロはクライアント・ハンドルのエラー構造体を
492 .BI "void clnt_pcreateerror(char *" s );
495 .\"O Print a message to standard error indicating why a client RPC
496 .\"O handle could not be created.
497 .\"O The message is prepended with string
501 .\"O .BR clnt_create (),
502 .\"O .BR clntraw_create (),
503 .\"O .BR clnttcp_create (),
505 .\"O .BR clntudp_create ()
507 標準エラー出力に、なぜクライアント RPC ハンドルの作成が
508 できなかったかについてのメッセージを表示する。
513 .BR clntraw_create (),
514 .BR clnttcp_create (),
515 .BR clntudp_create ()
519 .BI "void clnt_perrno(enum clnt_stat " stat );
522 .\"O Print a message to standard error corresponding
523 .\"O to the condition indicated by
529 によって指示されるエラー状態に対応するメッセージを表示する。
534 .BI "clnt_perror(CLIENT *" clnt ", char *" s );
537 .\"O Print a message to standard error indicating why an RPC call failed;
539 .\"O is the handle used to do the call.
540 .\"O The message is prepended with string
544 .\"O .BR clnt_call ().
545 標準エラー出力に、なぜ RPC 呼び出しが失敗したかについてのメッセージを表示する。
555 .BI "char *clnt_spcreateerror(char *" s );
559 .\"O .BR clnt_pcreateerror (),
560 .\"O except that it returns a string instead of printing to the standard error.
561 .BR clnt_pcreateerror ()
562 と同様であるが、標準エラー出力へ表示するかわりに文字列を返す点が異っている。
564 .\"O Bugs: returns pointer to static data that is overwritten on each call.
565 バグ: 静的な領域へのポインターを返すため、呼び出しごとに上書きされる。
568 .BI "char *clnt_sperrno(enum clnt_stat " stat );
571 .\"O Take the same arguments as
572 .\"O .BR clnt_perrno (),
573 .\"O but instead of sending a message to the standard error indicating why an RPC
574 .\"O call failed, return a pointer to a string which contains the message.
575 .\"O The string ends with a NEWLINE.
578 RPC 呼び出しが失敗したかについてのメッセージを標準エラー出力に表示する
579 かわりに、メッセージを格納している文字列へのポインターを返す。
580 文字列は NEWLINE(改行) で終っている。
582 .\"O .BR clnt_sperrno ()
583 .\"O is used instead of
584 .\"O .BR clnt_perrno ()
585 .\"O if the program does not have a standard error (as a program
586 .\"O running as a server quite likely does not), or if the programmer
587 .\"O does not want the message to be output with
589 .\"O or if a message format different than that supported by
590 .\"O .BR clnt_perrno ()
593 .\"O .BR clnt_sperror ()
595 .\"O .BR clnt_spcreaterror (),
596 .\"O .BR clnt_sperrno ()
597 .\"O returns pointer to static data, but the
598 .\"O result will not get overwritten on each call.
600 はプログラムが標準エラー出力を持っていない場合(プログラムがサーバとし
601 て走っている場合にはよくありえる)や、プログラマーがメッセージを
603 で出力することを望まない場合や、メッセージの形式が
605 がサポートするものとは異っている場合などに
611 .BR clnt_spcreaterror ()
614 は静的データへのポインターを返す。しかし呼び出しごとに上書きされることはない。
617 .BI "char *clnt_sperror(CLIENT *" rpch ", char *" s );
621 .\"O .BR clnt_perror (),
622 .\"O except that (like
623 .\"O .BR clnt_sperrno ())
624 .\"O it returns a string instead of printing to standard error.
626 と同様であるが、標準エラー出力に表示する代りに
627 .RB ( clnt_sperrno ()
628 のように) 文字列へのポインターを返す点が異っている。
630 .\"O Bugs: returns pointer to static data that is overwritten on each call.
631 バグ: 呼び出しごとに上書きされる静的データへのポインターを返す。
634 .BI "CLIENT *clntraw_create(unsigned long " prognum \
635 ", unsigned long " versnum );
638 .\"O This routine creates a toy RPC client for the remote program
642 .\"O The transport used to pass messages to the service is
643 .\"O actually a buffer within the process's address space, so the
644 .\"O corresponding RPC server should live in the same address space; see
645 .\"O .BR svcraw_create ().
646 .\"O This allows simulation of RPC and acquisition of RPC
647 .\"O overheads, such as round trip times, without any kernel interference.
648 .\"O This routine returns NULL if it fails.
653 のための擬似 RPC クライアントを作成する。メッセージをサービスに渡すために使用する
654 通信は実際にはそのプロセスのアドレス空間にあるバッファーである。
655 それで、対応する RPC サーバが同じアドレス空間の中にいなければならない。
658 これにより RPC のシミュレーションや、カーネル・インターフェースに影響されずに
659 応答時間などの RPC オーバヘッドの獲得ができる。
660 失敗した場合にはこのルーティンは NULL を返す。
663 .BI "CLIENT *clnttcp_create(struct sockaddr_in *" addr ,
664 .BI " unsigned long " prognum ", unsigned long " versnum ,
665 .BI " int *" sockp ", unsigned int " sendsz \
666 ", unsigned int " recvsz );
669 .\"O This routine creates an RPC client for the remote program
673 .\"O the client uses TCP/IP as a transport.
674 .\"O The remote program is located at Internet
681 のための RPC クライアントを作成する。クライアントは通信に
682 TCP/IP を使用する。リモート・プログラムはインターネット・アドレスの
686 .\"The following inline font conversion is necessary for the hyphen indicator
687 .\"O \fIaddr\->sin_port\fR
688 .\"O is zero, then it is set to the actual port that the remote
689 .\"O program is listening on (the remote
691 .\"O service is consulted for this information).
694 .\"O is a socket; if it is
695 .\"O .BR RPC_ANYSOCK ,
696 .\"O then this routine opens a new one and sets
698 \fIaddr\->sin_port\fR がゼロならば、実際にリモート・プログラムが
699 listen しているポートが設定される。(この情報のためにリモートの
705 に設定されている場合は、このルーティンが新しいソケットをオープンして
708 .\"O Since TCP-based RPC uses buffered I/O,
709 .\"O the user may specify the size of the send and receive buffers
710 .\"O with the parameters
714 .\"O values of zero choose suitable defaults.
715 .\"O This routine returns NULL if it fails.
716 TCP に基づいた RPC はバッファされた I/O
721 を使用して送信バッファと受信バッファのサイズを指定することができる。
722 ゼロを指定した場合には適切なデフォルトが選択される。
723 このルーティンは失敗した場合は NULL を返す。
726 .BI "CLIENT *clntudp_create(struct sockaddr_in *" addr ,
727 .BI " unsigned long " prognum ", unsigned long " versnum ,
728 .BI " struct timeval " wait ", int *" sockp );
731 .\"O This routine creates an RPC client for the remote program
735 .\"O the client uses use UDP/IP as a transport.
736 .\"O The remote program is located at Internet address
742 のための RPC クライアントを作成する。クライアントは通信に
743 UDP/IP を使用する。リモート・プログラムはインターネット・アドレスの
747 .\"O \fIaddr\->sin_port\fR
748 .\"O is zero, then it is set to actual port that the remote
749 .\"O program is listening on (the remote
751 .\"O service is consulted for this information).
754 .\"O is a socket; if it is
755 .\"O .BR RPC_ANYSOCK ,
756 .\"O then this routine opens a new one and sets
758 \fIaddr\->sin_port\fR がゼロならば、実際にリモート・プログラムが
759 listen しているポートが設定される。(この情報のためにリモートの
765 に設定されている場合は、このルーティンが新しいソケットをオープンして
768 .\"O The UDP transport resends the call message in intervals of
770 .\"O time until a response is received or until the call times out.
771 .\"O The total time for the call to time out is specified by
772 .\"O .BR clnt_call ().
773 UDP 通信は回答があるか、時間切れが起こるまで
775 間隔で呼び出しメッセージを再送する。時間切れが起こるまでの合計時間は
779 .\"O Warning: since UDP-based RPC messages can only hold up to 8 Kbytes
780 .\"O of encoded data, this transport cannot be used for procedures
781 .\"O that take large arguments or return huge results.
783 RPC メッセージは最大でも 8 Kbyte までのエンコードされたデータしか
784 保持できないため、この通信は大きな引き数や巨大な結果を取る
788 .BI "CLIENT *clntudp_bufcreate(struct sockaddr_in *" addr ,
789 .BI " unsigned long " prognum ", unsigned long " versnum ,
790 .BI " struct timeval " wait ", int *" sockp ,
791 .BI " unsigned int " sendsize ", unsigned int "recosize );
794 .\"O This routine creates an RPC client for the remote program
798 .\"O the client uses use UDP/IP as a transport.
799 .\"O The remote program is located at Internet address
805 のための RPC クライアントを作成する。クライアントは通信に
806 UDP/IP を使用する。リモート・プログラムはインターネット・アドレスの
810 .\"O \fIaddr\->sin_port\fR
811 .\"O is zero, then it is set to actual port that the remote
812 .\"O program is listening on (the remote
814 .\"O service is consulted for this information).
817 .\"O is a socket; if it is
818 .\"O .BR RPC_ANYSOCK ,
819 .\"O then this routine opens a new one and sets
821 \fIaddr\->sin_port\fR がゼロならば、実際にリモート・プログラムが
822 listen しているポートが設定される。(この情報のためにリモートの
828 に設定されている場合は、このルーティンが新しいソケットをオープンして
831 .\"O The UDP transport resends the call message in intervals of
833 .\"O time until a response is received or until the call times out.
834 .\"O The total time for the call to time out is specified by
835 .\"O .BR clnt_call ().
836 UDP 通信は回答があるか、時間切れが起こるまで
838 間隔で呼び出しメッセージを再送する。時間切れが起こるまでの合計時間は
842 .\"O This allows the user to specify the maximum packet
843 .\"O size for sending and receiving UDP-based RPC messages.
844 これを使用すると UDP に基づいた RPC メッセージにおいて送信パケットや
845 受信パケットの最大サイズを指定することが可能になる。
848 .BI "void get_myaddress(struct sockaddr_in *" addr );
851 .\"O Stuff the machine's IP address into
853 .\"O without consulting the library routines that deal with
854 .\"O .IR /etc/hosts .
855 .\"O The port number is always set to
856 .\"O .BR htons(PMAPPORT) .
861 を扱うライブラリ・ルーティンは使用しない。ポート番号は常に
866 .BI "struct pmaplist *pmap_getmaps(struct sockaddr_in *" addr );
869 .\"O A user interface to the
871 .\"O service, which returns a list of the current RPC
872 .\"O program-to-port mappings on the host located at IP address
874 .\"O This routine can return NULL.
876 .\"O .IR "rpcinfo\ \-p"
877 .\"O uses this routine.
879 サービスのためのユーザインターフェースであり、
882 にあるホストの現在の RPC プログラムからポート番号へのマッピングの一覧を返す。
883 このルーティンが NULL を返す場合もある。
884 .RB ` "rpcinfo \-p" '
888 .BI "unsigned short pmap_getport(struct sockaddr_in *" addr ,
889 .BI " unsigned long " prognum ", unsigned long " versnum ,
890 .BI " unsigned int " protocol );
893 .\"O A user interface to the
895 .\"O service, which returns the port number
896 .\"O on which waits a service that supports program number
900 .\"O and speaks the transport protocol associated with
903 サービスのためのユーザ・インターフェースで、
910 をサポートするサービスが待っているポート番号を返す。
916 .\"O .BR IPPROTO_TCP .
917 .\"O A return value of zero means that the mapping does not exist
918 .\"O or that the RPC system failed to contact the remote
921 .\"O In the latter case, the global variable
922 .\"O .I rpc_createerr
923 .\"O contains the RPC status.
925 の値はほとんどの場合 IPPROTO_UDP か IPPROTO_TCP である。
929 サービスの参照に失敗したことを意味する。後者の場合は大域変数
934 .BI "enum clnt_stat pmap_rmtcall(struct sockaddr_in *" addr ,
935 .BI " unsigned long " prognum ", unsigned long " versnum ,
936 .BI " unsigned long " procnum ,
937 .BI " xdrproc_t " inproc ", char *" in ,
938 .BI " xdrproc_t " outproc ", char *" out ,
939 .BI " struct timeval " tout ", unsigned long *" portp );
942 .\"O A user interface to the
944 .\"O service, which instructs
946 .\"O on the host at IP address
948 .\"O to make an RPC call on your behalf to a procedure on that host.
950 サービスのためのユーザ・インターフェースで、
956 RPC 呼び出しを生成し、そのホスト上のプロシジャを呼び出す。
959 .\"O will be modified to the program's port number if the procedure succeeds.
960 .\"O The definitions of other parameters are discussed
964 .\"O .BR clnt_call ().
965 .\"O This procedure should be used for a \(lqping\(rq and nothing else.
967 .\"O .BR clnt_broadcast ().
970 はプロシジャが成功した場合にはプログラムのポート番号に修正される。
976 このプロシジャは \(lqping\(rq のみに使用すべきである。
977 .BR clnt_broadcast ()
981 .BI "bool_t pmap_set(unsigned long " prognum ", unsigned long " versnum ,
982 .BI " unsigned int " protocol ", unsigned short " port );
985 .\"O A user interface to the
987 .\"O service, which establishes a mapping between the triple
988 .\"O .RI [ prognum , versnum , protocol\fR]
991 .\"O on the machine's
999 .\"O .BR IPPROTO_TCP .
1000 .\"O This routine returns one if it succeeds, zero otherwise.
1001 .\"O Automatically done by
1002 .\"O .BR svc_register ().
1004 サービスのためのユーザ・インターフェースで、
1005 .RI [ prognum , versnum , protocol\fR]
1017 このルーティンは成功した場合には 1 を返す。失敗した場合にはゼロを返す。
1022 .BI "bool_t pmap_unset(unsigned long " prognum ", unsigned long " versnum );
1025 .\"O A user interface to the
1027 .\"O service, which destroys all mapping between the triple
1028 .\"O .RI [ prognum , versnum , *\fR]
1031 .\"O on the machine's
1034 .\"O This routine returns one if it succeeds, zero otherwise.
1036 サービスのためのユーザ・インターフェースで、
1037 .RI [ prognum , versnum , *\fR]
1042 サービスから削除する。このルーティンは成功した場合は 1 を返す。
1046 .BI "int registerrpc(unsigned long " prognum ", unsigned long " versnum ,
1047 .BI " unsigned long " procnum ", char *(*" procname ")(char *),"
1048 .BI " xdrproc_t " inproc ", xdrproc_t " outproc );
1051 .\"O Register procedure
1053 .\"O with the RPC service package.
1054 .\"O If a request arrives for program
1061 .\"O is called with a pointer to its parameter(s);
1063 .\"O should return a pointer to its static result(s);
1065 .\"O is used to decode the parameters while
1067 .\"O is used to encode the results.
1068 .\"O This routine returns zero if the registration succeeded, \-1 otherwise.
1079 がパラメーターへのポインターを持って呼び出される。
1081 は静的な結果へのポインターを返す必要がある。
1083 はパラメーターをデコードするために使用される。
1085 は結果をエンコードするために使用される。
1086 このルーティンは登録に成功した場合にはゼロを返す。
1089 .\"O Warning: remote procedures registered in this form
1090 .\"O are accessed using the UDP/IP transport; see
1091 .\"O .BR svcudp_create ()
1092 .\"O for restrictions.
1093 警告: この形式で登録されたリモート・プロシジャは
1094 UDP/IP 通信を使用する。制限に関しては
1095 .BR svcudp_create ()
1099 .BI "struct rpc_createerr " rpc_createerr ;
1102 .\"O A global variable whose value is set by any RPC client creation routine
1103 .\"O that does not succeed.
1104 .\"O Use the routine
1105 .\"O .BR clnt_pcreateerror ()
1106 .\"O to print the reason why.
1107 成功しなかった RPC クライアント生成ルーティンによって設定される大域変数。
1108 .BR clnt_pcreateerror ()
1109 ルーティンが理由を表示するために使用する。
1112 .BI "void svc_destroy(SVCXPRT *" xprt );
1115 .\"O A macro that destroys the RPC service transport handle,
1117 .\"O Destruction usually involves deallocation
1118 .\"O of private data structures, including
1123 .\"O is undefined after calling this routine.
1126 の RPC サービスを破壊する。破壊には通常、
1128 を含めて、私的なデータ構造体の破棄が含まれている。
1134 .BI "fd_set " svc_fdset ;
1137 .\"O A global variable reflecting the RPC service side's
1138 .\"O read file descriptor bit mask; it is suitable as a parameter to the
1141 .\"O This is only of interest if a service implementor does not call
1142 .\"O .BR svc_run (),
1143 .\"O but rather does his own asynchronous event processing.
1144 .\"O This variable is read-only (do not pass its address to
1145 .\"O .BR select (2)!),
1146 .\"O yet it may change after calls to
1147 .\"O .BR svc_getreqset ()
1148 .\"O or any creation routines.
1149 RPC サービス側のファイル・ディスクリプターのビットマスクを反映した大域変数。
1151 システムコールのパラメーターのために利用できる。これは
1154 を呼び出さなずに、独自の非同期イベント処理を用いる場合にのみ意味がある。
1158 .BR svc_getreqset ()
1159 呼び出しや生成ルーティンの後に変更されているかもしれない。
1162 .BI "int " svc_fds ;
1166 .\"O .BR svc_fdset ,
1167 .\"O but limited to 32 descriptors.
1168 .\"O This interface is obsoleted by
1169 .\"O .BR svc_fdset .
1171 に似ているが、32 ディスクリプターに制限されている。
1177 .BI "svc_freeargs(SVCXPRT *" xprt ", xdrproc_t " inproc ", char *" in );
1180 .\"O A macro that frees any data allocated by the RPC/XDR
1181 .\"O system when it decoded the arguments to a service procedure using
1182 .\"O .BR svc_getargs ().
1183 .\"O This routine returns 1 if the results were successfully
1185 .\"O and zero otherwise.
1189 RPC/XDR システムによって割り当てられたデータを解放する。
1190 このルーティンは解放に成功した場合には 1 を返す。
1194 .BI "svc_getargs(SVCXPRT *" xprt ", xdrproc_t " inproc ", char *" in );
1197 .\"O A macro that decodes the arguments of an RPC request
1198 .\"O associated with the RPC service transport handle,
1202 .\"O is the address where the arguments will be placed;
1204 .\"O is the XDR routine used to decode the arguments.
1205 .\"O This routine returns one if decoding succeeds, and zero otherwise.
1206 このマクロは RPC サービス通信ハンドル
1208 に関連付けられた RPC 要求の引き数をデコードする。パラメーター
1212 は引き数をデコードするための XDR ルーティンである。
1213 このルーティンはデコードに成功した場合は 1 を返す。
1217 .BI "struct sockaddr_in *svc_getcaller(SVCXPRT *" xprt );
1220 .\"O The approved way of getting the network address of the caller
1221 .\"O of a procedure associated with the RPC service transport handle,
1225 に関連付けられたプロシジャの呼び出し元のネットワーク・アドレスを
1229 .BI "void svc_getreqset(fd_set *" rdfds );
1232 .\"O This routine is only of interest if a service implementor does not call
1233 .\"O .BR svc_run (),
1234 .\"O but instead implements custom asynchronous event processing.
1235 .\"O It is called when the
1237 .\"O system call has determined that an RPC request has arrived on some
1240 .\"O is the resultant read file descriptor bit mask.
1241 .\"O The routine returns when all sockets associated with the value of
1243 .\"O have been serviced.
1246 を呼び出さず、独自の非同期イベント処理を実装する場合にのみ意味がある。
1250 RPC 要求が到着したと返した場合にのみ呼び出される。
1252 は結果の読み込みファイル・ディスクリプターのビットマスクである。
1255 の値に関連付けられた全てのソケットのサービスが行なわれた時に
1259 .BI "void svc_getreq(int " rdfds );
1263 .\"O .BR svc_getreqset (),
1264 .\"O but limited to 32 descriptors.
1265 .\"O This interface is obsoleted by
1266 .\"O .BR svc_getreqset ().
1267 .BR svc_getreqset ()
1268 に似ているがディスクリプターの数が 32 に制限されている。
1270 .BR svc_getreqset ()
1274 .BI "bool_t svc_register(SVCXPRT *" xprt ", unsigned long " prognum ,
1275 .BI " unsigned long " versnum ,
1276 .BI " void (*" dispatch ")(svc_req *, SVCXPRT *),"
1277 .BI " unsigned long " protocol );
1284 .\"O with the service dispatch procedure,
1294 .\"O is zero, the service is not registered with the
1299 .\"O is nonzero, then a mapping of the triple
1300 .\"O .RI [ prognum , versnum , protocol\fR]
1302 .\"O \fIxprt\->xp_port\fR
1303 .\"O is established with the local
1305 .\"O service (generally
1310 .\"O .BR IPPROTO_TCP ).
1317 .RI [ prognum , versnum , protocol\fR]
1318 の組み合わせと \fIxprt\->xp_port\fR とのマッピングがローカルの
1328 .\"O has the following form:
1335 dispatch(struct svc_req *request, SVCXPRT *xprt);
1340 .\"O .BR svc_register ()
1341 .\"O routine returns one if it succeeds, and zero otherwise.
1343 ルーティンは成功した場合は 1 を返す。失敗した場合はゼロを返す。
1346 .B "void svc_run(void);"
1349 .\"O This routine never returns.
1350 .\"O It waits for RPC requests to arrive, and calls the appropriate service
1351 .\"O procedure using
1352 .\"O .BR svc_getreq ()
1353 .\"O when one arrives.
1354 .\"O This procedure is usually waiting for a
1356 .\"O system call to return.
1361 を使用して適切なサービス・プロシジャを呼び出す。
1367 .BI "bool_t svc_sendreply(SVCXPRT *" xprt ", xdrproc_t " outproc \
1371 .\"O Called by an RPC service's dispatch routine to send the results of a
1372 .\"O remote procedure call.
1375 .\"O is the request's associated transport handle;
1377 .\"O is the XDR routine which is used to encode the results; and
1379 .\"O is the address of the results.
1380 .\"O This routine returns one if it succeeds, zero otherwise.
1381 RPC サービス配分ルーティンによってリモート・プロシジャ・コールの結果を
1385 はその要求に関連付けられた通信ハンドルである。
1387 は結果をエンコードするために使用する XDR ルーティンである。
1389 は結果のアドレスである。このルーティンは成功した場合は 1 を返す。
1393 .BI "void svc_unregister(unsigned long " prognum ", unsigned long " versnum );
1396 .\"O Remove all mapping of the double
1397 .\"O .RI [ prognum , versnum ]
1398 .\"O to dispatch routines, and of the triple
1399 .\"O .RI [ prognum , versnum , *\fR]
1400 .\"O to port number.
1402 .RI [ prognum , versnum ]
1404 .RI [ prognum , versnum , *\fR]
1405 の組み合わせからポート番号へのマッピングを全て削除する。
1408 .BI "void svcerr_auth(SVCXPRT *" xprt ", enum auth_stat " why );
1411 .\"O Called by a service dispatch routine that refuses to perform
1412 .\"O a remote procedure call due to an authentication error.
1413 認証エラーによりリモート・プロシジャ・コールの実行を拒否された
1414 場合にサービス配分ルーティンによって呼び出される。
1417 .BI "void svcerr_decode(SVCXPRT *" xprt );
1420 .\"O Called by a service dispatch routine that cannot successfully
1421 .\"O decode its parameters.
1423 .\"O .BR svc_getargs ().
1425 サービス配分ルーティンによって呼び出される。
1430 .BI "void svcerr_noproc(SVCXPRT *" xprt );
1433 .\"O Called by a service dispatch routine that does not implement
1434 .\"O the procedure number that the caller requests.
1435 要求のあったプロシジャ番号が実装されていない場合に
1436 サービス配分ルーティンより呼び出される。
1439 .BI "void svcerr_noprog(SVCXPRT *" xprt );
1442 .\"O Called when the desired program is not registered with the RPC package.
1443 .\"O Service implementors usually do not need this routine.
1444 RPC パッケージに要求されたプログラムが登録されていない場合に呼び出される。
1445 サービスの実装には通常、このルーティンは必要ない。
1448 .BI "void svcerr_progvers(SVCXPRT *" xprt );
1451 .\"O Called when the desired version of a program is not registered
1452 .\"O with the RPC package.
1453 .\"O Service implementors usually do not need this routine.
1454 RPC パッケージに要求されたバージョンのプログラムが登録されていない場合に
1455 呼び出される。サービスの実装には通常、このルーティンは必要ない。
1458 .BI "void svcerr_systemerr(SVCXPRT *" xprt );
1461 .\"O Called by a service dispatch routine when it detects a system
1462 .\"O error not covered by any particular protocol.
1463 .\"O For example, if a service can no longer allocate storage,
1464 .\"O it may call this routine.
1465 特定のプロトコルによってカバーされていなシステム・エラーが
1466 検出された場合にサービス配分ルーティンによって呼び出される。
1467 例えば、サービスがそれ以上、記憶装置を割り当てることができない場合には
1468 このルーティンが呼び出されるかもしれない。
1471 .BI "void svcerr_weakauth(SVCXPRT *" xprt );
1474 .\"O Called by a service dispatch routine that refuses to perform
1475 .\"O a remote procedure call due to insufficient authentication parameters.
1476 .\"O The routine calls
1477 .\"O .BR "svcerr_auth(xprt, AUTH_TOOWEAK)" .
1478 認証パラメータが足りないためにリモート・プロシジャ・コールの実行を
1479 拒否された場合にサービス配分ルーティンによって呼び出される。
1481 .B "svcerr_auth(xprt, AUTH_TOOWEAK)"
1485 .BI "SVCXPRT *svcfd_create(int " fd ", unsigned int " sendsize ,
1486 .BI " unsigned int " recvsize );
1489 .\"O Create a service on top of any open descriptor.
1490 .\"O Typically, this descriptor is a connected socket for a stream protocol such
1495 .\"O indicate sizes for the send and receive buffers.
1496 .\"O If they are zero, a reasonable default is chosen.
1497 任意のオープンされたディスクリプター上にサービスを作成する。
1499 TCP のようなストリーム・プロトコルで接続されたソケットである。
1503 には送信バッファと受信バッファの大きさを指定する。もしゼロが指定された
1507 .BI "SVCXPRT *svcraw_create(void);"
1510 .\"O This routine creates a toy RPC
1511 .\"O service transport, to which it returns a pointer.
1512 .\"O The transport is really a buffer within the process's address space,
1513 .\"O so the corresponding RPC client should live in the same address space; see
1514 .\"O .BR clntraw_create ().
1515 このルーティンは擬似 RPC サービス通信を生成して、そのポインターを返す。
1516 通信は実際にはそのプロセスのアドレス空間にあるバッファなので
1517 対応する RPC クライアントは同じアドレス空間にいる必要がある。
1518 .BR clntraw_create ()
1520 .\"O This routine allows simulation of RPC and acquisition of RPC
1521 .\"O overheads (such as round trip times), without any kernel interference.
1522 .\"O This routine returns NULL if it fails.
1524 RPC のシミュレーションや、カーネル・インターフェースに影響されずに応答時間などの
1525 RPC オーバヘッドを取得ができる。このルーティンは失敗した場合は NULL を返す。
1528 .BI "SVCXPRT *svctcp_create(int " sock ", unsigned int " send_buf_size ,
1529 .BI " unsigned int " recv_buf_size );
1532 .\"O This routine creates a TCP/IP-based RPC
1533 .\"O service transport, to which it returns a pointer.
1534 .\"O The transport is associated with the socket
1537 .\"O .BR RPC_ANYSOCK ,
1538 .\"O in which case a new socket is created.
1539 このルーティンは TCP/IP に基づく
1540 RPC サービス通信を作成し、それへのポインターを返す。
1547 でも良い。この場合は新しいソケットが作成される。
1548 .\"O If the socket is not bound to a local TCP
1549 .\"O port, then this routine binds it to an arbitrary port.
1550 .\"O Upon completion,
1551 .\"O \fIxprt\->xp_sock\fR
1552 .\"O is the transport's socket descriptor, and
1553 .\"O \fIxprt\->xp_port\fR
1554 .\"O is the transport's port number.
1555 もしソケットがローカルな TCP ポートに bind されていない場合は、
1556 このルーティンが適当なポートに bind する。
1557 補完された場合、\fIxprt\->xp_sock\fR には通信のソケット・
1558 ディスクリプターが、\fIxprt\->xp_port\fR には通信のポート番号が
1560 .\"O This routine returns NULL if it fails.
1561 .\"O Since TCP-based RPC uses buffered I/O,
1562 .\"O users may specify the size of buffers; values of zero
1563 .\"O choose suitable defaults.
1564 このルーティンは失敗した場合は NULL を返す。
1565 TCP に基づいた RPC はバッファされた I/O を使用するため、
1567 ゼロを指定した場合は適切なデフォルトが選択される。
1570 .BI "SVCXPRT *svcudp_bufcreate(int " sock ", unsigned int " sendsize ,
1571 .BI " unsigned int " recosize );
1574 .\"O This routine creates a UDP/IP-based RPC
1575 .\"O service transport, to which it returns a pointer.
1576 .\"O The transport is associated with the socket
1579 .\"O .BR RPC_ANYSOCK ,
1580 .\"O in which case a new socket is created.
1581 .\"O If the socket is not bound to a local UDP
1582 .\"O port, then this routine binds it to an arbitrary port.
1583 .\"O Upon completion,
1584 .\"O \fIxprt\->xp_sock\fR
1585 .\"O is the transport's socket descriptor, and
1586 .\"O \fIxprt\->xp_port\fR
1587 .\"O is the transport's port number.
1588 .\"O This routine returns NULL if it fails.
1589 このルーティンは UDP/IP に基づいた RPC サービス通信を作成し、
1596 でも良い。この場合は新しいソケットが作成される。
1597 ソケットがローカルの UDP ポートに bind されていない場合には
1598 このルーティンは適当なポートに bind する。
1599 補完された場合、\fIxprt\->xp_sock\fR に通信のソケットの
1600 ディスクリプターが、\fIxprt\->xp_port\fR に通信のポート番号が
1601 設定される。このルーティンは失敗した場合には NULL を返す。
1603 .\"O This allows the user to specify the maximum packet size for sending and
1604 .\"O receiving UDP-based RPC messages.
1605 これによりユーザは UDP に基づいた RPC メッセージで
1606 使用できる送信パケットおよび受信パケットの最大サイズを指定できる。
1609 .BI "SVCXPRT *svcudp_create(int " sock );
1612 .\"O This call is equivalent to
1613 .\"O \fIsvcudp_bufcreate(sock,SZ,SZ)\fP
1614 .\"O for some default size \fISZ\fP.
1615 送信パケットと受信パケットのサイズを同じデフォルトの値 \fISZ\fP に指定した
1616 \fIsvcudp_bufcreate(sock,SZ,SZ)\fP と等価である。
1619 .BI "bool_t xdr_accepted_reply(XDR *" xdrs ", struct accepted_reply *" ar );
1622 .\"O Used for encoding RPC reply messages.
1623 .\"O This routine is useful for users who wish to generate
1624 .\"O RPC-style messages without using the RPC package.
1625 RPC 応答メッセージをエンコードするのに使用する。このルーティンは
1627 RPC-形式のメッセージを作成しようとする場合に便利である。
1630 .BI "bool_t xdr_authunix_parms(XDR *" xdrs ", struct authunix_parms *" aupp );
1633 .\"O Used for describing UNIX credentials.
1634 .\"O This routine is useful for users
1635 .\"O who wish to generate these credentials without using the RPC
1636 .\"O authentication package.
1637 UNIX 形式の証明書を記述するために使用する。このルーティンは
1638 RPC 認証パッケージを使用せずにこれらの証明書を作成しようとする場合に便利である。
1641 .BI "void xdr_callhdr(XDR *" xdrs ", struct rpc_msg *" chdr );
1644 .\"O Used for describing RPC call header messages.
1645 .\"O This routine is useful for users who wish to generate
1646 .\"O RPC-style messages without using the RPC package.
1647 RPC 呼び出しのヘッダー・メッセージを記述するために使用する。
1648 このルーティンは RPC パッケージを使用せずに
1649 RPC-形式のメッセージを作成しようとする場合に便利である。
1652 .BI "bool_t xdr_callmsg(XDR *" xdrs ", struct rpc_msg *" cmsg );
1655 .\"O Used for describing RPC call messages.
1656 .\"O This routine is useful for users who wish to generate RPC-style
1657 .\"O messages without using the RPC package.
1658 RPC 呼び出しメッセージを記述するのに使用する。
1659 このルーティンは RPC パッケージを使用せずに
1660 RPC-形式のメッセージを作成しようとする場合に便利である。
1663 .BI "bool_t xdr_opaque_auth(XDR *" xdrs ", struct opaque_auth *" ap );
1666 .\"O Used for describing RPC authentication information messages.
1667 .\"O This routine is useful for users who wish to generate
1668 .\"O RPC-style messages without using the RPC package.
1669 PRC 認証情報メッセージを記述するために使用する。
1670 このルーティンは RPC パッケージを使用せずに
1671 RPC-形式のメッセージを作成しようとする場合に便利である。
1674 .BI "bool_t xdr_pmap(XDR *" xdrs ", struct pmap *" regs );
1677 .\"O Used for describing parameters to various
1679 .\"O procedures, externally.
1680 .\"O This routine is useful for users who wish to generate
1681 .\"O these parameters without using the
1686 プロシジャへのパラメーターを外部的に記述するために使用する。
1689 インターフェースを使用せずに、これらのパラメーターを
1693 .BI "bool_t xdr_pmaplist(XDR *" xdrs ", struct pmaplist **" rp );
1696 .\"O Used for describing a list of port mappings, externally.
1697 .\"O This routine is useful for users who wish to generate
1698 .\"O these parameters without using the
1701 ポートのマッピングのリストを外部的に記述するために使用する。
1704 インターフェースを使用せずに、これらのパラメーターを
1708 .BI "bool_t xdr_rejected_reply(XDR *" xdrs ", struct rejected_reply *" rr );
1711 .\"O Used for describing RPC reply messages.
1712 .\"O This routine is useful for users who wish to generate
1713 .\"O RPC-style messages without using the RPC package.
1714 RPC 応答メッセージを記述するために使用する。このルーティンは
1716 RPC-形式のメッセージを作成したい場合に便利である。
1719 .BI "bool_t xdr_replymsg(XDR *" xdrs ", struct rpc_msg *" rmsg );
1722 .\"O Used for describing RPC reply messages.
1723 .\"O This routine is useful for users who wish to generate
1724 .\"O RPC style messages without using the RPC package.
1725 RPC 応答メッセージを記述するために使用する。
1726 このルーティンは RPC パッケージを使用せずに、
1727 RPC 形式のメッセージを作成したい場合に便利である。
1730 .BI "void xprt_register(SVCXPRT *" xprt );
1733 .\"O After RPC service transport handles are created,
1734 .\"O they should register themselves with the RPC service package.
1735 .\"O This routine modifies the global variable
1737 .\"O Service implementors usually do not need this routine.
1738 RPC サービス通信ハンドルを生成した後に、それら自身を
1739 RPC サービス・パッケージに登録する必要がある。
1742 を修正する。サービスの実装者は通常、このルーティンは必要ない。
1745 .BI "void xprt_unregister(SVCXPRT *" xprt );
1748 .\"O Before an RPC service transport handle is destroyed,
1749 .\"O it should unregister itself with the RPC service package.
1750 .\"O This routine modifies the global variable
1752 .\"O Service implementors usually do not need this routine.
1753 RPC サービス通信ハンドルを破壊する前に、それを
1754 RPC 通信パッケージから登録解除する必要がある。
1757 を修正する。サービスの実装者は通常、このルーティンは必要ない。
1760 .\"O .\" We don't have an rpc_secure.3 page in the set at the moment -- MTK, 19 Sep 05
1761 .\"O .\" .BR rpc_secure (3),
1762 .\" 今現在は、この配布物 (LDP_man-pages) には rpc_secure.3 は入っていない
1763 .\" -- MTK, 19 Sep 05
1764 .\" .BR rpc_secure (3),
1767 .\"O The following manuals:
1770 Remote Procedure Calls: Protocol Specification
1772 Remote Procedure Call Programming Guide
1774 rpcgen Programming Guide
1777 .IR "RPC: Remote Procedure Call Protocol Specification" ,
1778 RFC\ 1050, Sun Microsystems, Inc.,