gfs_pio_sendfile

## 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 の場合は、ファイル末尾までの転送を意味します。 `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)