# gfs_chmod

## Name

gfs_chmod -- モード変更

## Synopsis

    #include <gfarm/gfarm.h>

```char *gfs_chmod``(char * `gfarm_url`, mode_t `mode`);`

## DESCRIPTION

引数 `gfarm_url` に指定した名前のファイル・ディレクトリのモードを、 `mode` に変更します。この `mode` の値の意味は `chmod(2)` と同様ですが、下位9ビットのみ有効です。

複数のフラグメントからなるファイルの実行属性の変更には制約が あります。実行属性がある場合には実行属性をすべて落すことはできません。 少なくとも一つの実行ビットは残しておく必要があります。 逆に、実行属性が全くない場合に実行属性を立てることはできません。

## RETURN VALUES

`NULL`

  正常終了を示します。

`GFARM_ERR_NO_MEMORY`

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

`GFARM_ERR_AUTHENTICATION`

  gfmd(8) あるいは gfsd(8) に対するユーザー認証が失敗しました。

`GFARM_ERR_PERMISSION_DENIED`

  指定したパス名の親ディレクトリへのアクセスする権限がありません。

`GFARM_ERR_OPERATION_NOT_PERMITTED`

  プロセスを実行しているユーザーが、ファイルの所有者でも、システム管理者 でもありません。または、複数のフラグメントをもつファイルの実行ビットを 少なくとも一つはある状態から全くない状態に、あるいはその逆に変更しようと しました。

`GFARM_ERR_NO_SUCH_OBJECT`

  指定されたパス名が存在しません。

`GFARM_ERR_NOT_A_DIRECTORY`

  指定したパス名の親ディレクトリが、実際にはディレクトリでなかったことを 示します。

その他

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