Hitachi

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


dc_dam_iopen

〈このページの構成〉

名称

物理ファイルのオープン

形式

ANSI C ,C++の形式

#include <dcdami.h>
int  dc_dam_iopen(char *fname,int pnum,DCLONG flags)

K&R版 C の形式

#include <dcdami.h>
int  dc_dam_iopen(fname,pnum,flags)
char     *fname;
int      pnum;
DCLONG   flags;

機能

OpenTP1ファイルシステム上に作成した物理ファイルをオープンします。ただし,オンラインで使っている物理ファイルに対するオープンはできません。

UAPで値を設定する引数

●fname

オープンするファイルの物理ファイル名を(スペシャルファイル名+14バイト)以内のパス名で設定します。

●pnum

入出力の単位となる,一括処理ブロック数を設定します。

設定できる範囲は0〜2147483647です。0を指定した場合は,10になります。

●flags

作成出力要求再作成(オーバライト)出力要求かの種別を設定します。ここに設定した値で,ファイルのクローズ時に,残りの領域をヌル文字のブロックで埋めるかどうかが決まります。ここに設定した値は,dc_dam_put関数を呼び出したあとでdc_dam_iclose関数を呼び出して正常終了したときに有効になります。dc_dam_put関数を呼び出しても,dc_dam_iclose関数を呼び出さないでUAPの処理を終了した場合は,ヌル文字のブロックで埋めません。

DCDAM_INITIALIZE

作成出力要求を設定(ヌル文字のブロックで埋めます)

DCDAM_OVERWRITE

再作成出力要求を設定(ヌル文字のブロックで埋めません)

DCNOFLAGSを設定した場合は,DCDAM_OVERWRITEが仮定されます。

リターン値

リターン値

リターン値(数値)

意味

0または正の整数

0または正の整数は,ファイル記述子を示します。

DCDAMER_NOMEM

-1607

メモリが不足しました。

DCDAMER_OPENED

-1608

fnameに設定した物理ファイルはオープン済みです。

DCDAMER_PARAM_FLAGS

-1611

flagsに設定した値が間違っています。

DCDAMER_FILEER

-1614

fnameに設定した物理ファイル名が間違っています。

DCDAMER_PNUMER

-1615

一括処理ブロック数の値が間違っています。

DCDAMER_NODAM

-1616

fnameに設定した物理ファイルは,DAMファイルではありません。

DCDAMER_VERSION

-1618

OpenTP1ファイルシステムのバージョンが,作成時と割り当て時で一致していません。

DCDAMER_NOEXIST

-1619

fnameに設定した物理ファイルは存在しません。

DCDAMER_IOER

-1620

入出力エラーが起こりました。

DCDAMER_ACCESS

-1628

dc_dam_iopen関数を呼び出したUAPには,スペシャルファイルに対するアクセス権がありません。

DCDAMER_LFNMER

-1632

物理ファイル名がキャラクタ型スペシャルファイルではありません。または指定したスペシャルファイルに対応する装置がありません。

DCDAMER_LNOINT

-1633

fnameに設定した物理ファイルが,OpenTP1ファイルシステムとして初期化されていません。

DCDAMER_LFNOVF

-1635

プロセスでオープンできるファイル数の最大値を超えた値を設定しています。

DCDAMER_USED

-1636

fnameに設定した物理ファイルは,現在オンラインで使っています。または,ほかのプロセスで使っています。

DCDAMER_ACCESSF

-1638

物理ファイルに対するアクセス権がありません。

DCDAMER_CRUSH

-1639

物理ファイルの破壊を検出しました。