EN JA
RMDIR(2)
RMDIR(2) FreeBSD System Calls Manual RMDIR(2)

名称

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

ライブラリ

Standard C Library (libc, -lc)

書式

#include < unistd.h>

int
rmdir( const char *path);

解説

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

戻り値

The rmdir() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

次の場合を除いて、指定されたファイルは、削除されます:
[ ENOTDIR]
パスの構成要素がディレクトリではありません。
[ ENAMETOOLONG]
パス名の構成要素が 255 文字を越えているか、またはパス名全体が 1023 文字を越えています。
[ ENOENT]
指定されたディレクトリが存在しません。
[ ELOOP]
パス名の変換で、あまりに多くのシンボリックリンクに遭遇しました。
[ ENOTEMPTY]
指定されたディレクトリが‘ .’と‘ ..’以外のファイルを含んでいます。
[ EACCES]
パス接頭辞の構成要素に対して検索パーミッションが拒否されています。
[ EACCES]
削除するリンクを含んでいるディレクトリの書み込みがパーミッションが拒否されています。
[ EPERM]
削除されるディレクトリには、不変、削除不可、または追加専用フラグの設定があります、詳細については、 chflags(2) マニュアルページを参照してください。
[ EPERM]
削除されるディレクトリの親のディレクトリには、不変、または追加専用フラグの設定があります。
[ EPERM]
削除されるディレクトリを含んでいるディレクトリが、スティッキとマークされ、含んでいるディレクトリも削除されるディレクトリのいずれも、実効ユーザ ID によって所有されません。
[ EINVAL]
パスの最後の構成要素が、‘ .’または‘ ..’です。
[ EBUSY]
削除されるディレクトリが、マウントされたファイルシステムのためのマウントポイントです。
[ EIO]
ディレクトリエントリを削除している間か、inode の割り付けを解放する間に I/O エラーが生じました。
[ EROFS]
削除されるディレクトリエントリは、読み込み専用のファイルシステムに存在しています。
[ EFAULT]
path 引数が、プロセスの割り付けられたアドレス空間の外側を指しています。

関連項目

mkdir(2), unlink(2)

歴史

rmdir() システムコールは、 4.2BSD で登場しました。
December 9, 2006 FreeBSD