ページのトップに戻る
PowerSORT V6.0  ユーザーズガイド

7.5.6 BSRTFILE構造体

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[6];    /* reserved */
    BSPTR_BSIDX         idx_addr;
    BSPTR_BSFILE_EXT    outfile_tbl;
    BSPTR_VOID          reserve2;      /* reserved */
} BSRTFILE;

BSRTFILE構造体のメンバー

以下では、BSRTFILE構造体のメンバーについて説明します。

BSPTR_BSFILE    inpfile_tbl

入力ファイルを指定する場合、入力ファイルパス名を指定したBSFILE構造体のアドレスを指定します。
標準入力から入力させる場合、またはユーザアプリケーションからレコードを渡す場合(bsrtput関数、またはbsrtmrge関数を使用する場合)は、NULLを指定します。

BSPTR_UCHAR    outfile_addr

出力ファイルを指定する場合、出力ファイルパス名のアドレスを指定します。
出力ファイルパス名は'¥0'で終わる文字列です。出力ファイルを複数指定する場合は、BSRTFILE構造体のoutfile_tblに指定します。標準出力に出力させる場合、ユーザアプリケーションにレコードを渡す場合(bsrtget関数、またはbsrtmrge関数を使用する場合)、または出力ファイルを複数指定する場合は、NULLを指定します。

BSPTR_BSFILE    tmpfile_tbl

一時ファイルを指定する場合、一時ファイルパス名を指定したBSFILE構造体のアドレスを指定します。
一時ファイルの指定を省略する場合は、NULLを指定します。一時ファイルの指定を省略すると、以下の優先順位に従って一時ファイルを作成するフォルダを決定します。指定されたフォルダが存在しない場合はエラーとなります。

  1. 環境変数BSORT_TMPDIRで指定されたフォルダ

  2. 環境変数TEMPで指定されたフォルダ

  3. 環境変数TMPで指定されたフォルダ

  4. Windowsシステムのフォルダ

BSPTR_UCHAR    msgfile_addr

メッセージファイルを指定する場合、メッセージファイルパス名のアドレスを指定します。
メッセージファイルパス名は'¥0'で終わる文字列です。メッセージファイルの指定を省略する場合は、NULLを指定します。メッセージファイルの指定を省略した場合、環境変数BSORT_MSGFILEの指定があれば、そのファイルにメッセージを出力します。

BSPTR_BSFSYS    inpfsys_tbl

BSFSYS構造体のアドレスを指定します。
入力ファイルを指定しない場合、またはシステムの標準ファイルシステムだけを使用する場合は、指定を省略できます。

unsigned char    outfsys

出力ファイルのファイルシステムを指定します。
ファイルシステムについては7.5.8 BSFSYS構造体を参照してください。出力ファイルを指定しない場合、またはシステムの標準ファイルシステムを使用する場合は、指定を省略できます。

unsigned char    recovery

出力ファイルがファイルシステムの許容量を超えた場合のリカバリー処理を指定します。
リカバリー処理は、出力ファイルがファイルシステムの許容量を超えた場合、複数のファイルに分割して出力します。このため、リカバリー処理を指定する場合は、出力ファイルを複数指定する必要があります。リカバリー処理の指定がなく、出力ファイルがファイルシステムの許容量を超えた場合は、別の出力ファイルをオープンすることなくエラー終了します。
リカバリー処理は、以下のファイルを処理する場合に指定できます。

リカバリー処理を指定する場合は、以下を指定します。

定義値

意味

BSRC_FILE

リカバリー処理を行います。

BSPTR_BSIDX    idx_addr

BSIDX構造体のアドレスを指定します。
出力ファイルが富士通COBOLファイルシステムの索引ファイルのときに有効です。富士通COBOLファイルシステムの索引ファイルの場合は省略できません。BSIDX構造体については、7.5.9 BSIDX構造体を参照してください。

BSPTR_BSFILE_EXT    outfile_tbl

BSFILE_EXT構造体のアドレスを指定します。
リカバリー処理を行う場合の出力ファイルの情報を指定します。