12 Aug 2015
gfs_pio_sendfile 3 Gfarm
gfs_pio_sendfile ローカルファイルを送信する

    #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