BSFILE_EXT構造体は、複数の出力ファイルを指定するための構造体です。
複数の出力ファイルを指定した場合、リカバリー処理として出力ファイルがファイルシステムの許容量を超えたときに次の出力ファイルへ切り替えて出力します。このため、複数の出力ファイルを指定する場合は、異なるファイルシステムに配置してください。リカバリー処理は、以下のファイルを処理する場合に指定できます。
システム標準のファイル(テキストファイル、バイナリファイル)
富士通COBOLレコード順ファイルの高速アクセスライブラリ(libbscblfast64.so)を使用した富士通COBOLファイル
富士通COBOL物理順ファイルの高速アクセスライブラリ(libbscblpsfast64.so)を使用した富士通COBOLファイル
BSFILE_EXT構造体の領域を確保する際の領域の大きさは、BS_OUTTABSIZE(n)を使って求められます。BS_OUTTABSIZE(n)は、n個の出力ファイルの情報をもつBSFILE_EXT構造体の大きさを求めるマクロです。
typedef struct { unsigned long entry_no; union { BSPTR_BSFILE_BASE ufs; BSPTR_BSFILE_BASE text; BSPTR_BSFILE_BASE cob; BSPTR_BSFILE_BASE cobr; BSPTR_BSFILE_INDEX cobi; BSPTR_BSFILE_INDEX cisam; BSPTR_BSFILE_INDEX rdm; BSPTR_BSFILE_BASE dosfs; BSPTR_BSFILE_BASE ntfs; BSPTR_BSFILE_BTRV btrieve; BSPTR_BSFILE_BASE sfs; BSPTR_BSFILE_BASE mtfs; BSPTR_BSFILE_BASE mtfr; BSPTR_BSFILE_BASE mtfi; } outfile_opt[1]; } BSFILE_EXT;
BSFILE_EXT構造体のメンバー
以下では、BSFILE_EXT構造体のメンバーについて説明します。
entry_no
出力ファイルパス名の数を指定します。
0を指定すると出力ファイルの指定を省略したものとみなします。
ファイル拡張情報を設定するメンバー
以下のメンバーは、共用体で定義されています。
outfile_opt[n].ufs
システムの標準ファイルシステムのバイナリファイルの場合にBSFILE_BASE構造体のアドレスを指定します。
entry_noで指定した個数分指定します。
outfile_opt[n].text
システムの標準ファイルシステムのテキストファイルの場合にBSFILE_BASE構造体のアドレスを指定します。
entry_noで指定した個数分指定します。
outfile_opt[n].cob
富士通COBOLファイルシステムのレコード順ファイルおよび物理順ファイルの場合にBSFILE_BASE構造体のアドレスを指定します。
entry_noで指定した個数分指定します。
outfile_opt[n].cobr
現在サポートしていないメンバーです。
outfile_opt[n].cobi
現在サポートしていないメンバーです。
outfile_opt[n].cisam
現在サポートしていないメンバーです。
outfile_opt[n].rdm
現在サポートしていないメンバーです。
outfile_opt[n].dosfs
現在サポートしていないメンバーです。
outfile_opt[n].ntfs
現在サポートしていないメンバーです。
outfile_opt[n].btrieve
現在サポートしていないメンバーです。
outfile_opt[n].sfs
現在サポートしていないメンバーです。
outfile_opt[n].mtfs
現在サポートしていないメンバーです。
outfile_opt[n].mtfr
現在サポートしていないメンバーです。
outfile_opt[n].mtfi
現在サポートしていないメンバーです。