ONC+ 開発ガイド

ANSI C に準拠したコードの生成

rpcgen では、ANSI C に準拠したコードも出力できます。それには -C フラグを指定します。ほとんどの場合、C 形式モードでのコンパイル にあるように -N も同時に指定します。

add.x のサーバー側テンプレート例を生成するには、コマンド行で rpcgen -N -C -Ss -o add_server_template.c add.x を実行します。

ここで、C++ 3.0 で記述されたサーバー上ではリモートプロシージャ名が接尾辞 _svc で終わっていなければならないことに特に注意してください。次の例では、add.x に対して、コンパイルフラグ -C を指定してクライアント側の add_1 とサーバー側の add_1_svc が生成されています。


例 3–22 ANSI C に準拠した rpcgen サーバー側テンプレート

/*
 * このファイルはテンプレートです。これを基にしてユーザー独自の関数を
 * 作成してください。
 */
#include <c_varieties.h>
#include "add.h"
 
int *
add_1_svc(int arg1, int arg2,
					struct svc_req *rqstp)
{
	static int result;
	/*
	 * ここにサーバープログラムのコードを挿入
	 */
	return(&result);
}

この出力ファイルは、構文も構造も ANSI C に準拠しています。-C フラグを指定して生成したヘッダーファイルは、ANSI C でも C++ でも使用できます。