BSRTFILE構造体は、入力ファイル、出力ファイル、メッセージファイル、および一時ファイルの情報を指定するための構造体です。
BSRTFILE構造体で指定するすべてのファイル情報を省略する場合は、bsrtopen関数のfileパラメタにNULLを指定します。ファイル情報を指定する場合は、領域を確保した上で指定します。
typedef struct { BSPTR_BSFILE inpfile_tbl; BSPTR_UCHAR outfile_addr; BSPTR_BSFILE tmpfile_tbl; BSPTR_UCHAR msgfile_addr; BSPTR_BSFSYS inpfsys_tbl; unsigned char outfsys; unsigned char recovery; unsigned char reserve[2]; /* reserved */ BSPTR_BSIDX idx_addr; BSPTR_BSFILE_EXT outfile_tbl; BSPTR_VOID reserve2; /* reserved */ } BSRTFILE;
BSRTFILE構造体のメンバー
以下では、BSRTFILE構造体のメンバーについて説明します。
inpfile_tbl
入力ファイルを指定する場合、入力ファイルパス名を指定したBSFILE構造体のアドレスを指定します。
標準入力から入力させる場合、またはユーザアプリケーションからレコードを渡す場合(bsrtput関数、またはbsrtmrge関数を使用する場合)は、NULLを指定します。
outfile_addr
出力ファイルを指定する場合、出力ファイルパス名のアドレスを指定します。
出力ファイルパス名は'\0'で終わる文字列です。出力ファイルを複数指定する場合は、BSRTFILE構造体のoutfile_tblに指定します。標準出力に出力させる場合、ユーザアプリケーションにレコードを渡す場合(bsrtget関数、またはbsrtmrge関数を使用する場合)、または出力ファイルを複数指定する場合は、NULLを指定します。
tmpfile_tbl
一時ファイルを指定する場合、一時ファイルパス名を指定したBSFILE構造体のアドレスを指定します。
一時ファイルの指定を省略する場合は、NULLを指定します。一時ファイルパス名を省略すると、PowerSORTは優先順位に従って一時ファイルを作成するディレクトリを決定します。優先順位については、一時ファイルを作成するディレクトリの優先順位を参照してください。
msgfile_addr
メッセージファイルを指定する場合、メッセージファイルパス名のアドレスを指定します。
メッセージファイルパス名は'\0'で終わる文字列です。メッセージファイルの指定を省略する場合は、NULLを指定します。メッセージファイルの指定を省略した場合、スタートアップファイルのBSORT_MSGFILEの指定があれば、そのファイルにメッセージを出力します。
inpfsys_tbl
BSFSYS構造体のアドレスを指定します。
入力ファイルを指定しない場合、またはシステムの標準ファイルシステムだけを使用する場合は、指定を省略できます。
outfsys
出力ファイルのファイルシステムを指定します。
ファイルシステムの詳細は、6.5.8 BSFSYS構造体を参照してください。出力ファイルを指定しない場合、またはシステムの標準ファイルシステムを使用する場合は、指定を省略できます。
recovery
出力ファイルがファイルシステムの許容量を超えた場合のリカバリー処理を指定します。
リカバリー処理は、出力ファイルがファイルシステムの許容量を超えた場合に次の出力ファイルへ切り替えて出力します。このため、リカバリー処理を指定する場合は、出力ファイルを複数指定する必要があります。リカバリー処理の指定がなく、出力ファイルがファイルシステムの許容量を超えた場合は、次の出力ファイルへ切り替えることなくエラー終了します。
リカバリー処理は、以下のファイルを処理する場合に指定できます。
システム標準のファイル(テキストファイル、バイナリファイル)
富士通COBOLレコード順ファイルの高速アクセスライブラリ(libbscblfast64.so)を使用した富士通COBOLファイル
富士通COBOL物理順ファイルの高速アクセスライブラリ(libbscblpsfast64.so)を使用した富士通COBOLファイル
リカバリー処理を指定する場合は、以下を指定します。
定義値 | 意味 |
---|---|
BSRC_FILE | リカバリー処理を行います。 |
idx_addr
BSIDX構造体のアドレスを指定します。
出力ファイルが富士通COBOLファイルシステムの索引ファイルのときに有効です。富士通COBOLファイルシステムの索引ファイルの場合は省略できません。BSIDX構造体の詳細は、6.5.9 BSIDX構造体を参照してください。
outfile_tbl
BSFILE_EXT構造体のアドレスを指定します。
リカバリー処理を行う場合に出力ファイル情報を指定します。