Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rpcgen(1) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cpp(1)

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.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026