Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編


txidl(IDLコンパイラ)

〈このページの構成〉

形式

txidl  filenameargument〕…

機能

TxRPC用インタフェース定義言語コンパイラを起動します。

argumentに指定する引数

●-cptype process_type

クライアントのプロセスタイプを指定します。process_typeには,次に示すどれかを指定します。

  • ndce

    このプロセスはTP1/Server Baseのライブラリを使います。

  • nbet

    このプロセスはDCEのライブラリだけを使います。

何も指定しなかった場合は,ndceとして扱います。間違ったプロセスタイプを指定してコンパイルしたプログラムは動作しません(例えば,nbetを指定してコンパイルしたスタブにTP1/Server Baseライブラリを組み込んでも動作しません)。

●-sptype process_type

サーバのプロセスタイプを指定します。process_typeは,-cptypeと同じです。

何も指定しなかった場合は,ndceとして扱います。間違ったプロセスタイプを指定してコンパイルしたプログラムは動作しません(例えば,nbetを指定してコンパイルしたスタブにTP1/Server Baseライブラリを組み込んでも動作しません)。

●-client file_type

どのクライアントファイルを生成するかを決めます。この引数を指定しない場合,またはfile_typeを指定しない場合は,コンパイラはすべてのクライアントファイルを生成します。file_typeには,次に示す値を指定します。

  • none

    ファイルを生成しません。

  • stub

    スタブファイルだけを生成します。

  • all

    スタブおよびクライアント生成ファイルを生成します。

●-server file_type

どのサーバファイルを生成するかを決定します。この引数を指定しない場合,またはfile_typeを指定しない場合は,コンパイラはすべてのサーバファイルを生成します。file_typeは,-clientと同じです。

●-cstub filename

クライアントスタブのパス名を指定します。

ファイル名を指定するときは,ファイル拡張子は指定しないでください。C言語のソースファイルには".c"をtxidlコンパイラが付けます。-cstubオプションを使わない場合は,_cstub.cをtxidlコンパイラが付けます。

クライアントのプロセスタイプがgateway,サーバのプロセスタイプがdceの場合,2種類のスタブファイルが生成されます。この場合,OpenTP1のスタブファイル名は,filenameの先頭に大文字の"B"を付けた名称になります。

●-sstub filename

サーバスタブのパス名を指定します。ファイル名を指定するときは,ファイル拡張子は指定できません。C言語のソースファイルには".c"をtxidlコンパイラが付けます。-sstubオプションを使わないと,_sstub.cをtxidlコンパイラが付けます。

●-header header_file

生成されるヘッダファイルのパス名を指定します。

ファイル名を指定するときは,ファイル拡張子は指定しないでください。省略時仮定値として,IDLファイルのベース名に".h"をtxidlコンパイラが付けます。

●-cconf conffile

クライアントプログラムのユーザサービス定義ファイル,または環境設定ファイルのパス名を指定します。-cconfオプションを使わないと,IDLファイルのベース名の先頭に"C"を付けた名称のファイルが生成されます。このオプションは,プロセスタイプの組み合わせがIDL-only TxRPCのときだけ有効です。それ以外で指定した場合は,エラーにはならないで,無視されます。

●-sconf conffile

サーバプログラムのユーザサービス定義ファイルのパス名を指定します。-sconfオプションを使わないと,IDLファイルのベース名の先頭に"S"を付けた名称のファイルが生成されます。このオプションは,プロセスタイプの組み合わせがIDL-only TxRPCのときだけ有効です。それ以外で指定した場合は,エラーにはならないで,無視されます。

●-out directory

指定したディレクトリに出力ファイルを生成します。省略時仮定値では,コンパイラはカレントディレクトリに出力ファイルを生成します。

ほかのオプションでパス名が指定されている場合は,指定した順番に関係なく,そちらが優先されます。

●-Idirectory

インポートするインタフェース定義ファイルを含むディレクトリ名を指定します。コマンド行に追加の-Idirectory引数を指定して,複数のディレクトリを指定できます。コンパイラは,この引数に指定した順番にディレクトリを検索します。

一つのファイルが複数のディレクトリ内にある場合,コンパイラは最初に現れるファイルをインポートします。

この引数を省略した場合,次に示す順番でディレクトリを検索します。

  1. カレントディレクトリを検索

  2. 指定されたすべてのディレクトリを検索

  3. システムIDLディレクトリ($DCDIR/include)を検索

●-no_def_idir

コンパイラがカレントディレクトリだけでインポートファイルを検索します。

-Idirectoryと一緒にこのオプションを指定すると,コンパイラはユーザが指定したディレクトリだけを検索して,カレントディレクトリやシステムディレクトリを検索しません。

●-noconf

OpenTP1のユーザサービス定義や環境設定ファイルのテンプレートを生成しません。プロセスタイプの組み合わせがIDL-only TxRPCのときだけ有効です。

●-noserver

サーバプログラムのテンプレートを生成しません。プロセスタイプの組み合わせがIDL-only TxRPCのときだけ有効です。

●-syntax_only

IDLファイルの構文だけをチェックして,ファイルは出力しないことを指定します。

説明

メッセージ

txidlコンパイラが出力するメッセージには,次の3種類があります。次に示す該当するマニュアルを参照してください。

  1. txidlコンパイラ自身が出力するメッセージ

    マニュアル「OpenTP1 メッセージ」を参照してください。

  2. txidlコンパイラが起動するDCE idlが出力するメッセージ

    DCEの該当するマニュアルを参照してください。

  3. DCE idlが起動するcppまたはccが出力するメッセージ

    各コマンドに該当するマニュアルを参照してください。

関連するファイル

IDL-only TxRPCに関連するファイルを次に示します。

$DCDIR/bin/txidl:IDLコンパイラ

$DCDIR/include/dctrpb.idl:システム用IDLファイル

$DCDIR/include/dctrp.h:ヘッダファイル

注意事項