rpcgen で次のフラグを指定して、クライアント側とサーバー側のテンプレートを生成することができます。
表 3-3 rpcgen テンプレート選択フラグ
フラグ |
機能 |
---|---|
すべてのテンプレートを生成 |
|
クライアント側のテンプレートを生成 |
|
サーバー側のテンプレートを生成 |
|
makefile のテンプレートを生成 |
生成されたテンプレートファイルを参考にしてプログラムを書くか、テンプレートに抜けている部分を直接書き込んで使用します。rpcgen は、スタブプログラムのほかにこれらのテンプレートファイルを生成します。
ソースプログラム add.x から C 形式モードでサーバー側テンプレートを生成するときは、次のコマンドを実行します。
rpcgen -N -Ss -o add_server_template.c add.x |
生成されたテンプレートファイルは add_server_template.c という名前になります。同じソースプログラム add.x から C 形式モードでクライアント側テンプレートを生成するときは、次のコマンド行を実行します。
rpcgen -N -Sc -o add_client_template.c add.x |
生成されたテンプレートファイルは add_client_template.c という名前になります。同じソースプログラム add.x から makefile テンプレートを生成するときは、次のコマンド行を実行します。
rpcgen -N -Sm -o mkfile_template add.x |
生成されたテンプレートファイルは mkfile_template という名前になります。このファイルを使用して、サーバー側とクライアント側のプログラムをコンパイルできます。次のように、-a フラグを指定した場合は、3 つのテンプレートファイルがすべて生成されます。
rpcgen -N -a add.x |
クライアント側テンプレートは add_client.c、サーバー側テンプレートは add_server.c、makefile テンプレートは makefile.a という名前になります。このうち 1 つでも同名のファイルが存在していれば、rpcgen はエラーメッセージを表示して終了します。
テンプレートファイルを生成する際には、次に rpcgen が実行された時に上書きされないように新しい名前を付けてください。