スポンサーリンク

RMDIR(2) FreeBSD システムコールマニュアル RMDIR(2)

名称

rmdir − ディレクトリファイルを削除する

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

#include <unistd.h>

int

rmdir(const char *path);

解説

rmdir() システムコールは、名前が path で指定されるディレクトリファイルを 削除します。ディレクトリには ‘.’ と ‘..’ 以外のエントリがあってはなりませ ん。

戻り値

関数 rmdir() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno が設定されてエラーを示します。

エラー

次の場合を除いて、指定されたファイルが削除されます:

       [ENOTDIR]

パスの構成要素中にディレクトリ以外のものが含まれていま す。

[ENAMETOOLONG]
パス名の構成要素が 255 文字を越えているか、またはパス 名全体が 1023 文字を越えています。

[ENOENT]
指定されたディレクトリが存在しません。

[ELOOP]
パス名を変換するときに検出されたシンボリックリンクが多 すぎます。

[ENOTEMPTY]
指定されたディレクトリには ‘.’ と ‘..’ 以外のファイル が含まれています。

[EACCES]
指定されたパスには、検索が許可されていないディレクトリ が含まれています。

[EACCES]
削除するリンクが入っているディレクトリの書込みが許可さ れていません。

[EPERM]
削除するディレクトリが入っているディレクトリはスティッ キビットが設定されており、削除したいディレクトリを含ん でいるディレクトリまたは削除するディレクトリのどちらか あるいは両方の所有者が実効ユーザ ID とは異なっていま す。

[EBUSY]
削除しようとしているディレクトリは、ファイルシステムが マウントされているマウントポイントです。

[EIO]
ディレクトリエントリを削除している間、または inode の 割り当てを解除している間に入出力エラーが発生しました。

[EROFS]
削除するディレクトリエントリは読取り専用ファイルシステ ム上にあります。

[EFAULT]
path
引数が、プロセスに割り当てられたアドレス空間の範 囲外を指しています。

関連項目

mkdir(2), unlink(2)

歴史

rmdir() システムコールは 4.2BSD で登場しました。

FreeBSD 10.0 June 4, 1993 FreeBSD 10.0

スポンサーリンク