gfs_pio_recvfile

## Name

gfs_pio_recvfile — ファイルをローカルマシンに取り込む

## Synopsis

    #include <gfarm/gfarm.h>

`gfarm_error_t gfs_pio_recvfile(` | r_gf, |
| r_off, |
| w_fd, |
| w_off, |
| len, |
| recvp`)`; |

`GFS_File r_gf`;
`gfarm_off_t r_off`;
`int w_fd`;
`gfarm_off_t w_off`;
`gfarm_off_t len`;
`gfarm_off_t * recvp`;

## DESCRIPTION

Gfarm ファイル `r_gf` の オフセット `r_off` から、 ファイルディスクリプタ `w_fd` で指定したローカルファイルの オフセット `w_off` へ、 `len` バイトだけ、ファイルの内容を転送します。 len が -1 の場合は、ファイル末尾までの転送を意味します。 `recvp` が `NULL` 以外であれば、 転送されたバイト数を `recvp` の指す先に返します。 `len` が正の値で、 `recvp` の指す先に返った値が `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_read(3), gfs_pio_sendfile(3)