12 Aug 2015
gfs_pio_recvfile 3 Gfarm
gfs_pio_recvfile receive a Gfarm file to local machine

    #include <gfarm/gfarm.h>

`gfarm_error_t gfs_pio_recvfile` 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

Receives len bytes of data from the position specified by the offset r_off in a Gfarm file r_gf, to the position specified by the offset w_off of a local file which is pointed by a file descriptor w_fd. If len is -1, this function transfers until the end of the file. The transfered bytes will be stored to the memory pointed by recvp when recvp is not `NULL`. If len is a positive value, and the value pointed by recvp is less than len, that means the transfer reached EOF.

## RETURN VALUES

`GFARM_ERR_NO_ERROR`

  The function terminated successfully.

`GFARM_ERR_OPERATION_NOT_PERMITTED`

  gf does not specify a regular file.

`GFARM_ERR_BAD_FILE_DESCRIPTOR`

  The file descripter specified by gf is not a valid or is not open for reading.

`GFARM_ERR_NO_FILE_SYSTEM_NODE`

  There is no available file system node.

`GFARM_ERR_NO_MEMORY`

  Insufficient memory was available.

Others

  An error except the above occurred. The reason is shown by gfarm_error_string 3.

## SEE ALSO

gfs_pio_create 3, gfs_pio_open 3, gfs_pio_read 3, gfs_pio_sendfile 3