# gfs_rename

## Name

gfs_rename -- ファイルを改名する

## Synopsis

    #include <gfarm/gfarm.h>

```char *gfs_rename``(char * `gfarm_url_from`, char * `gfarm_url_to`);`

## DESCRIPTION

ファイルまたはディレクトリ `gfarm_url_from` を `gfarm_url_to` に改名します。

`gfarm_url_to` が既存の場合は削除されます。このとき `gfarm_url_from` がファイルならば `gfarm_url_to` もファイル、 `gfarm_url_from` がディレクトリならば `gfarm_url_to` もディレクトリで、しかも空でなければなりません。

ディレクトリ `gfarm_url_from` をそのサブディレクトリに改名することはできません。

## RETURN VALUES

`NULL`

  正常終了を示します。

`GFARM_ERR_NO_MEMORY`

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

`GFARM_ERR_AUTHENTICATION`

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

`GFARM_ERR_PERMISSION_DENIED`

  親ディレクトリへ書き込みアクセスする権限がありません。

`GFARM_ERR_INVALID_ARGUMENT`

  ディレクトリ `gfarm_url_from` を、それ自身のサブディレクトリに変更しようとしました。

`GFARM_ERR_NO_SUCH_OBJECT`

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

`GFARM_ERR_IS_A_DIRECTORY`

  `gfarm_url_from` がファイルであるのに、 `gfarm_url_to` は既存のディレクトリです。

`GFARM_NOT_IS_A_DIRECTORY`

  `gfarm_url_from` がディレクトリであるのに、 `gfarm_url_to` は既存のファイルです。

その他

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