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の処理を終了した場合は,ヌル文字のブロックで埋めません。
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 | 物理ファイルの破壊を検出しました。 |