Name

gfs_pio_sendfile — ローカルファイルを送信する

Synopsis

#include <gfarm/gfarm.h>
gfarm_error_t gfs_pio_sendfile( w_gf,  
  w_off,  
  r_fd,  
  r_off,  
  len,  
  sentp);  
GFS_File w_gf;
gfarm_off_t w_off;
int r_fd;
gfarm_off_t r_off;
gfarm_off_t len;
gfarm_off_t * sentp;
 

DESCRIPTION

ファイルディスクリプタ r_fd で指定したローカルファイルの オフセット r_off から、 Gfarm ファイル w_gf の オフセット w_off へ、 len バイトだけ、ファイルの内容を転送します。 len が -1 の場合は、ファイル末尾までの転送を意味します。 sentpNULL 以外であれば、 転送されたバイト数を sentp の指す先に返します。 len が正の値で、 sentp の指す先に返った値が len 未満の場合は、 EOF に到達したことをを意味します。

RETURN VALUES

GFARM_ERR_NO_ERROR

正常終了を示します。

GFARM_ERR_OPERATION_NOT_PERMITTED

gf で指定されるファイルがレギュラーファイルではありません。

GFARM_ERR_BAD_FILE_DESCRIPTOR

gf で指定されるファイルディスクリプタが不正、 あるいは読込可能でオープンされていません。

GFARM_ERR_NO_FILE_SYSTEM_NODE

利用可能なファイルシステムノードがありません。

GFARM_ERR_NO_MEMORY

メモリ不足のため処理を中止しました。

その他

上記以外のエラーが生じたことを示します。 gfarm_error_string(3) によりエラーの原因を文字列に変換することができます。

SEE ALSO

gfs_pio_create(3), gfs_pio_open(3), gfs_pio_write(3), gfs_pio_recvfile(3)