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 引数が、プロセスの割り付けられたアドレス空間の外側を指しています。
歴史
rmdir() システムコールは、
4.2BSD で登場しました。