Hitachi

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


dc_dam_dget

〈このページの構成〉

名称

物理ファイルからブロックの直接入力

形式

ANSI C ,C++の形式

#include <dcdami.h>
int  dc_dam_dget(int fno,char *datadr,int datalen,int blkno,
                 DCLONG flags)

K&R版 C の形式

#include <dcdami.h>
int  dc_dam_dget(fno,datadr,datalen,blkno,flags)
int    fno;
char   *datadr;
int    datalen;
int    blkno;
DCLONG flags;

機能

物理ファイルから,設定した相対ブロック番号に該当するブロックを入力します。dc_dam_dget関数は,再作成出力要求のdc_dam_iopen関数を呼び出したあとで使ってください。

ブロック長がバッファ長よりも小さい場合は,ブロックを入力してそのブロック長をリターン値として返します。ブロック長がバッファ長よりも大きい場合は,dc_dam_dget関数はエラーリターンします。

物理ファイルからブロックを直接入力するときは,dc_dam_iopen関数で返されたリターン値のファイル記述子を設定します。

UAPで値を設定する引数

●fno

ブロックを直接入力するファイルの,ファイル記述子を設定します。

●datadr

入力バッファのアドレスを設定します。

●datalen

入力バッファの長さを設定します。

●blkno

入力するブロックの,相対ブロック番号を設定します。

●flags

DCNOFLAGSを設定します。

リターン値

リターン値

リターン値(数値)

意味

正の整数

正の整数は,入力ブロック長を示します。

DCDAMER_BADF

-1603

fnoに設定したファイル記述子は,正常にオープンして得られた記述子ではありません。

DAMファイルをオープンしていません。

DCDAMER_BUFER

-1604

入力データ長に,ブロック長よりも小さい値を設定しています。

DCDAMER_SEQER

-1605

DAMファイルにアクセスする関数を呼び出す順序が間違っています。

DCDAMER_BNOER

-1606

相対ブロック番号が間違っています。

DCDAMER_PARAM_FLAGS

-1611

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

DCDAMER_IOER

-1620

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

DCDAMER_ACCESS

-1628

アクセスしようとしたDAMファイルは,セキュリティ機能で保護されています。dc_dam_dget関数を呼び出したUAPには,アクセス権限がありません。

DCDAMER_NO_ACL

-1646

アクセスしようとしたDAMファイルは,セキュリティ機能で保護されています。該当するファイルに対するACLがありません。