1. NOM

shutdown - Terminer une communication en full-duplex

2. SYNOPSIS

#include <sys/socket.h>

int shutdown(int sockfd, int how);

3. DESCRIPTION

La fonction shutdown() termine tout ou partie d'une connexion full-duplex sur la socket sockfd. Si how vaut SHUT_RD, la réception est désactivée. Si how vaut SHUT_WR, l'émission est désactivée. Si how vaut SHUT_RDWR, l'émission et la réception sont désactivées.

4. VALEUR RENVOYÉE

S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno en conséquence.

5. ERREURS

  • EBADF
        sockfd n'est pas un descripteur valable.
  • EINVAL
        Une valeur incorrecte a été indiquée dans how (mais consultez BOGUES).
  • ENOTCONN
        La socket indiquée n'est pas connectée.
  • ENOTSOCK
        sockfd est un fichier, pas une socket.

6. CONFORMITÉ

POSIX.1-2001, BSD 4.4. La fonction shutdown() est apparue dans BSD 4.2.

7. NOTES

Les constantes SHUT_RD, SHUT_WR, SHUT_RDWR ont pour valeur 0, 1, et 2 respectivement, et sont définies dans <sys/socket.h> depuis la glibc-2.1.91.

8. BOGUES

Tel qu'elles sont actuellement implémentées, les vérifications de validité pour how sont faites dans le code spécifique au domaine, et tous les domaines ne réalisent pas ces vérifications. La plupart, en particulier les sockets du domaine UNIX, ignorent simplement les valeurs incorrectes ; cela pourrait changer un jour.

9. VOIR AUSSI

connect(2), socket(2), socket(7)

10. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

11. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».