# gfs_pio_set_view_local

## Name

gfs_pio_set_view_local -- change file view to the corresponding fragment

## Synopsis

    #include <gfarm/gfarm.h>

```char *gfs_pio_set_view_local``(GFS_File `gf`, int `flags`);`

## DESCRIPTION

`gfs_pio_set_view_local()` changes the process's view of the data in the file specified by `gf` to a file fragment in the local file view. The local file view model assumes each process has its own file fragment which is specified by the argument `node` of `gfs_pio_set_local(3)`.

The total number of file fragments is also specified by the argument `nnode` of `gfs_pio_set_local(3)`. If it is different from the total fragment number of the existent file, it is erroneous.

Before changing to the local file view, it is necessary to call `gfs_pio_set_local(3)` in advance.

Values of `flag` are constructed by a bitwise-inclusive-OR of `GFARM_FILE_SEQUENTIAL`, `GFARM_FILE_REPLICATE`, and `GFARM_FILE_NOT_REPLICATE`. For details, refer to `gfs_pio_set_view_index(3)`.

By default, Gfarm files are accessed as a whole file in global file view where each fragment can be seamlessly accessed.

## RETURN VALUES

`NULL`

  The function terminated successfully.

`GFARM_ERR_NO_MEMORY`

  Insufficient memory was available.

`GFARM_ERR_OPERATION_NOT_PERMITTED`

  The file is not a fragmented file.

`GFARM_ERR_FRAGMENT_NUMBER_DOES_NOT_MATCH`

  The total number of file fragments is different from the existence one.

Others

  An error except the above occurred. The reason is shown by its pointed strings.

## SEE ALSO

gfs_pio_create(3), gfs_pio_open(3), gfs_pio_set_local(3), gfs_pio_set_view_index(3)