rmdir — удаление каталога.
int rmdir (path)
char *path;
Системный вызов rmdir удаляет каталог с маршрутным именем, на которое указывает аргумент path. Каталог не должен содержать элементов, отличных от «.» и «..».
Указанный каталог будет удален, если не выполнено ни одно из следующих условий:
- [EINVAL]
- Текущий каталог не может быть удален.
- [EINVAL]
- Элемент каталога «.» не может быть удален.
- [EEXIST]
- Каталог содержит элементы, отличные от «.» и «..».
- [ENOTDIR]
- Компонент маршрута не является каталогом.
- [ENOENT]
- Указанный каталог не существует.
- [EACCES]
- Нет права на поиск для компонента маршрута.
- [EACCES]
- Нет права на запись в каталог, содержащий каталог, который должен быть удален.
- [EBUSY]
- Каталог, который должен быть удален, является точкой подключения для смонтированной файловой системы.
- [EROFS]
- Элемент каталога, который должен быть удален, является частью файловой системы, доступной только на чтение.
- [EFAULT]
- Аргумент path указывает за пределы отведенного процессу адресного пространства.
- [EIO]
- Во время доступа к файловой системе произошла ошибка ввода/вывода.
- [ENOLINK]
- Маршрутное имя path указывает на удаленный компьютер, связи с которым в данный момент нет.
- [EMULTIHOP]
- Компоненты path требуют многократного обращения к удаленным компьютерам.
При успешном завершении результат равен 0; в случае ошибки возвращается -1, а переменной errno
присваивается код ошибки.