# gfs_pio_set_view_local

## Name

gfs_pio_set_view_local -- 並列プロセスに対応した fragment 単位のアクセスを行う

## Synopsis

    #include <gfarm/gfarm.h>

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

## DESCRIPTION

ファイルをフラグメント単位でアクセスすることを指定します。

アクセスするフラグメントは、Gfarm並列プロセスのノード番号に対応した ものになります。すなわち、関数 gfs_pio_set_local(3) の `node` 引数に指定したフラグメントです。

フラグメントの総数は、Gfarm並列プロセスのノードの総数、すなわち gfs_pio_set_local(3) の `nnode` 引数と同一になります。 もし、既存のファイルを開くときに、フラグメントの総数とノードの総数が 異なった場合には、この関数はエラーとなります。

引数 `flag` には、 `GFARM_FILE_SEQUENTIAL`、 `GFARM_FILE_REPLICATE`、 `GFARM_FILE_NOT_REPLICATE` の論理和が指定できます。 値の意味は gfs_pio_set_view_index(3) の解説を参照ください。

この関数を呼ばない状態では、Gfarmファイルは global view 状態となっており、全てのフラグメントが結合された単一ファイルに見えます。

## RETURN VALUES

`NULL`

  正常終了を示します。

`GFARM_ERR_NO_MEMORY`

  メモリ不足のため処理を中止しました。

`GFARM_ERR_OPERATION_NOT_PERMITTED`

  指定したパス名が、フラグメント化ファイルではありません。

`GFARM_ERR_FRAGMENT_NUMBER_DOES_NOT_MATCH`

  ノード数と、フラグメント総数が、適合しません。

その他

  上記以外のエラーが生じたことを示します。

## SEE ALSO

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