GFS_PIO_SENDFILE(3)

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

SYNOPSIS

#include <gfarm/gfarm.h>

gfarm_error_t gfs_pio_sendfile(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 の場合は、ファイル末尾までの転送を意味します。 sentp が NULL 以外であれば、 転送されたバイト数を 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)