## Name

gfs_pio_read — binary stream input

## Synopsis

    #include <gfarm/gfarm.h>

`gfarm_error_t gfs_pio_read(` | gf, |
| buffer, |
| size, |
| np`)`; |

`GFS_File gf`;
`void * buffer`;
`int size`;
`int * np`;

## DESCRIPTION

`gfs_pio_read()` attempts to read up to `size` bytes from the file referenced by `gf` into the buffer starting at `buffer`, and returns the number of bytes read to the address pointed by `np`. On end of file, the number of bytes read is zero.

## 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)