dc_dam_put

名称

物理ファイルへブロックの出力

形式

ANSI C ,C++の形式

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

K&R版 C の形式

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

機能

OpenTP1ファイルシステム上に作成した物理ファイルにブロック単位でデータを順に出力します。データ長がブロック長よりも小さい場合は,データの後ろをヌル文字で埋めます。大きい場合は,エラーリターンします。

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

UAPで値を設定する引数

●fno

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

●datadr

出力するデータのアドレスを設定します。

●datalen

出力するデータの長さを設定します。設定できる範囲は504~2147483647です。

●flags

DCNOFLAGSを設定します。

リターン値

リターン値リターン値(数値)意味
正の整数正の整数は,出力するデータの長さ(datalenで指定した値)を示します。
DCDAMER_BADF-1603fnoに設定したファイル記述子は,正常にオープンして得られた記述子でありません。
DAMファイルをオープンしていません。
DCDAMER_BUFER-1604データ長にブロック長より大きい値を設定しています。
出力するデータ長に設定した値は,設定できる範囲を超えています。
DCDAMER_SEQER-1605DAMファイルにアクセスする関数を呼び出す順序が間違っています。
DCDAMER_PARAM_FLAGS-1611flagsに設定した値が間違っています。
DCDAMER_IOER-1620出力エラーが起こりました。
DCDAMER_ACCESS-1628アクセスしようとしたDAMファイルは,セキュリティ機能で保護されています。dc_dam_put関数を呼び出したUAPには,アクセス権限がありません。
DCDAMER_EOF-1637ファイルの終わりに達しました。
DCDAMER_NO_ACL-1646アクセスしようとしたDAMファイルは,セキュリティ機能で保護されています。該当するファイルに対するACLがありません。