RPCGEN(1) — NEWS-OS Programmer’s Manual
名称
rpcgen − RPC プロトコルコンパイラ
形式
rpcgen infile
rpcgen −c|−h|−l|−m [ −o outfile ] [ infile ]
rpcgen −s transport [ −o outfile ] [ infile ]
解説
rpcgen は、 RPC プロトコルをインプリメントするための C のコードを生成するツールです。 rpcgen に入力する言語は、 RPC 言語 (Remote Procedure Call Language) として知られる C に似た言語です。 RPC 言語のシンタックスについては、マニュアルの ‘rpcgen’ Programming Guide をご参照ください。 rpcgen は、通常 第一形式で使われ、1 つのインプットファイルから 4 つの アウトプットファイルを作成しすます。 infile を prote.x とすると、 rpcgen は proto.h にヘッダファイルを、 proto_xdr.c に XDR ルーチンを、 proto_svc.c のサーバと proto_clnt.c のクライエントを作成します。 第一形式以外の形式は、すべてのアウトプットファイルでなく、 特定のファイルを作成したいときに使われます。 使用方法は、以下の 使用法 のセクションをご覧下さい。 C プリプロセッサ cpp(1) は稼働する際、 rpcgen に実際解釈される前の インプットファイルを 全部用いるので、 すべての cpp 制御文が rpcgen インプットファイル内で使用できます。 それぞれのアウトプットファイルのタイプに、 rpcgen は、 rpcgen プログラマが使う特殊な cpp シンボルを定義します。
RPC_HDR
ヘッダファイルにコンパイルするときに定義されます。
RPC_XDR
XDR ルーチンにコンパイルするときに定義されます。
RPC_SVC
サーバをコンパイルするときに定義されます。
RPC_CLNT
クライエントをコンパイルするときに定義されます。 さらに rpcgen は、それ自身のプリプロセスはほとんどしません。 % で始まる行は、 rpcgen に解釈されず、 そのまま直接アウトプットファイルに書き込まれます。 データタイプを未定義のままにしておくことにより、 いくつかの XDR ルーチンをカスタム化することができます。 rpcgen は未定義のデータタイプに対し、 頭に xdr_ の付くルーチンがあるものと仮定します。
オプション
−c XDR ルーチンをコンパイルする。
−h C データ定義 (ヘッダファイル) をコンパイルする。
−l クライエントをコンパイルする。
−m サーバをコンパイルする。 ただし “main” ルーチンを作成しない。 このオプションはコールバックルーチン、 または初期化するために独自の “main” ルーチンを 書かなければいけないときに役立ちます。
−o outfile
出力ファイル名の指定。 指定が省略された場合には標準出力が使用される (−c、−h、 −l、−s モードのみ)。
−s transport
与えられたトランスポートを使用して、サーバをコンパイルする。 サポートされるトランスポートは udp と tcp です。 このオプションは、 サーバが複数のトランスポートをサービスできるようにコンパイルするため、 1 回以上呼び出されます。
関連事項
cpp(1) NEWS-OS Reference Manual の中の ‘rpcgen’ Programming Guide
バグ
ネスティングはサポートされていません。 ストラクチャは、トップレベルで定義でき、その名前を使って 同等のエフェクトが他のストラクチャ内で使用できます。 プログラム定義を使用するときに、 名前の衝突が起きることがあります。 これは外見上のスコープ(範囲)と実際とが一致しないときに発生します。 その多くは、program、version、procedure、type に特異な名前を 使用することで避けることができます。
NEWS-OSRelease 4.2.1R