Sous-routine rmdir
Objectif
Supprime un répertoire.
Bibliothèque
Bibliothèque C standard (libc.a)
Syntaxe
#include <unistd.h> const char *Path;
Descriptif
La sous-routine Rmdir supprime le répertoire spécifié par le paramètre Chemin . Si Network File System (NFS) est installé sur votre système, ce chemin peut se croiser dans un autre noeud.
Pour que le sous-programme Rmdir s'exécute correctement, le processus appelant doit disposer d'un accès en écriture au répertoire parent du paramètre Chemin .
En outre, si le répertoire parent de Path possède l' attribut de bit de rappel (décrit dans le fichier sys/mode.h ), le processus appelant doit comporter l'un des éléments suivants:
- ID utilisateur effectif égal au répertoire à supprimer
- ID utilisateur effectif égal à l'ID propriétaire du répertoire parent de Chemin
- Droits utilisateur root .
Paramètres
| Article | Descriptif |
|---|---|
| PATH | Indique le nom du chemin d'accès au répertoire. Le répertoire que vous indiquez doit être:
|
Valeurs renvoyées
Une fois l'exécution terminée, la sous-routine Rmdir renvoie une valeur de 0. Sinon, la valeur -1 est renvoyée, le répertoire spécifié n'est pas modifié et la variable globale errno est définie pour indiquer l'erreur.
Codes d'erreur
La sous-routine Rmdir échoue et le répertoire n'est pas supprimé si les erreurs suivantes se produisent:
| Article | Descriptif |
|---|---|
| EACCES | Il n'existe pas de droit de recherche sur un composant du préfixe de chemin, ou il n'y a pas de droit d'accès en écriture sur le répertoire parent du répertoire à supprimer. |
| EBUSY | Le répertoire est utilisé comme point de montage. |
| EEXISTE ou ENOTEMPTY | Le répertoire nommé par le paramètre Chemin n'est pas vide. |
| ENAMETOOLONG | La longueur du paramètre Chemin dépasse CHEMIN_MAX; ou un composant de nom de chemin plus long que NOM_MAX et POSIX_NON_MA_DONNÉES est en vigueur. |
| ENOENT | Le répertoire nommé par le paramètre Chemin n'existe pas ou le paramètre Chemin pointe vers une chaîne vide. |
| ENOTDIR | Un composant spécifié par le paramètre Chemin n'est pas un répertoire. |
| EINVAL | Le répertoire nommé par le paramètre Chemin n'est pas bien formé. |
| EROFS | Le répertoire nommé par le paramètre Chemin réside sur un système de fichiers en lecture seule. |
Le sous-programme Rmdir peut être rejeté pour d'autres raisons.
Si NFS est installé sur le système, la sous-routine rmdir échoue si les conditions suivantes sont réunies:
| Article | Descriptif |
|---|---|
| ETIMEDOUT | La connexion a expiré. |