Linux |
CentOS 4.8 |
|
errno(3) |
errno − Code de la dernière erreur. |
#include <errno.h> extern int errno; |
La variable entière errno est renseignée par les appels systèmes (et quelques fonctions de bibliothèque) pour expliquer les conditions d’erreurs. Sa valeur n’est significative que lorsque l’appel système a échoué (généralement en renvoyant −1), car même en cas de réussite une fonction de bibliothèque peut modifier errno. Parfois, si −1 est une valeur de retour légale, il faut positionner errno à 0 avant d’effectuer l’appel système, de manière à détecter une erreur éventuelle. C’est le cas par exemple de getpriority(2). errno est définie par le standard ISO C comme une lvalue modifiable, de type int, et n’a pas besoin d’être définie explicitement. errno peut être une macro. errno est locale à un thread ; lui affecter une valeur dans un thread ne modifie pas sa valeur dans les autres threads. Les codes d’erreurs valides sont tous non-nuls. errno n’est jamais mis à zéro par une fonction de la bibliothèque. Toutes les erreurs détaillées dans POSIX.1 doivent avoir des valeurs différents. POSIX.1 (édition 1996) définit les noms symboliques ci-dessous pour les codes d’erreurs. Parmi eux, EDOM et ERANGE sont également dans le standard C ISO. Amendement 1 au standard C ISO définit également le code d’erreur EILSEQ pour les erreurs de codage dans les caractères étendus, ou multi-octets. |
E2BIG |
liste d’arguments trop longue |
|||
EACCES |
Interdiction d’accès |
|||
EAGAIN |
Ressource indisponible temporairement |
|||
EBADF |
Mauvais descripteur de fichier. |
EBADMSG |
Mauvais message |
EBUSY |
Ressource en cours d’utilisation. |
ECANCELED |
Opération annulée. |
ECHILD |
Pas de processus fils. |
EDEADLK |
Blocage d’une ressource évité. |
EDOM |
Erreur de domaine. |
|||
EEXIST |
Fichier existant. |
|||
EFAULT |
Mauvais adresse. |
|||
EFBIG |
Fichier trop grand. |
EINPROGRESS |
Opération en cours. |
EINTR |
Appel système interrompu. |
|||
EINVAL |
Argument invalide. |
|||
EIO |
Erreur d’entrée/sortie. |
|||
EISDIR |
Est un répertoire. |
|||
EMFILE |
Trop de fichiers ouverts. |
|||
EMLINK |
Trop de liens symboliques. |
EMSGSIZE |
Longueur du buffer de message inappropriée. |
ENAMETOOLONG |
Nom de fichier trop long. |
ENFILE |
Trop de fichiers ouverts sur le système. |
|||
ENODEV |
Périphérique inexistant. |
|||
ENOENT |
Fichier ou répertoire inexistant. |
ENOEXEC |
Exécution impossible. |
ENOLCK |
Pas de verrou disponible. |
|||
ENOMEM |
Pas assez de mémoire. |
|||
ENOSPC |
Plus de place sur le périphérique. |
|||
ENOSYS |
Fonction non implémentée. |
ENOTDIR |
Pas un répertoire. |
ENOTEMPTY |
Répertoire non vide. |
ENOTSUP |
Opération non supportée. |
ENOTTY |
Opération de contrôle d’Entrée/Sortie invalide. |
||
ENXIO |
Périphérique ou adresse inexistant. |
||
EPERM |
Opération interdite. |
||
EPIPE |
Tube sans lecteur. |
||
ERANGE |
Résultat trop grand. |
||
EROFS |
Système de fichiers en lecture-seule. |
||
ESPIPE |
Recherche invalide. |
||
ESRCH |
Processus inexistant. |
ETIMEDOUT |
Délai maximal écoulé. |
EXDEV |
Lien inapproprié. |
perror(3) |
Christophe Blaess, 1997. |
errno(3) |