Provided by: manpages-fr-dev_4.23.1-1_all bug

NOM

       getsockopt, setsockopt - Lire et écrire les options d'un socket

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <sys/socket.h>

       int getsockopt(int sockfd, int level, int optname,
                      void optval[restrict *.optlen],
                      socklen_t *restrict optlen);
       int setsockopt(int sockfd, int level, int optname,
                      const void optval[.optlen],
                      socklen_t optlen);

DESCRIPTION

       getsockopt()  et  setsockopt()  manipulent les options associées au socket à laquelle fait
       référence le descripteur de fichier sockfd. Ces options peuvent exister aux divers niveaux
       de protocole, et sont toujours présentes au niveau socket le plus élevé.

       Quand  on manipule une option d'un socket, il faut préciser le niveau où il s'applique, et
       le nom de l'option. Au niveau de l'API des sockets, level prend la valeur SOL_SOCKET. Pour
       tous  les  autres  niveaux, il faut fournir le numéro de protocole approprié. Par exemple,
       pour une option interprétée par le protocole TCP, level prendra  le  numéro  du  protocole
       TCP. Consultez getprotoent(3).

       Les   paramètres  optval  et  optlen  sont  utilisés  pour  déterminer  les  options  pour
       setsockopt(). Pour getsockopt ils identifient un tampon dans lequel la valeur de  l'option
       désirée  doit  être renvoyée. Pour getsockopt, optlen est un paramètre résultat, contenant
       initialement la taille du tampon pointé par optval, et rempli en retour pour  indiquer  la
       taille effective des valeurs renvoyées. Si aucune option n'est fournie ou renvoyée, optval
       peut être NULL.

       optname et toute autre option sont passés sans interprétation au protocole approprié, pour
       qu'il  l'interprète lui‐même. Le fichier d'en‐tête <sys/socket.h> contient les définitions
       pour le niveau socket. Les options pour les autres niveaux  de  protocole  peuvent  varier
       tant  en  format  qu'en  nom,  consultez  les  pages  de  manuel de la section 7 pour plus
       d'informations.

       La plupart des options au niveau socket utilisent un paramètre de type  int  pour  optval.
       Pour setsockopt(), un paramètre non nul valide une option booléenne, et zéro l'invalide.

       Pour   une   description   des  options  disponibles  consultez  socket(7)  et  les  pages
       correspondant au protocole concerné.

VALEUR RENVOYÉE

       En cas de succès, 0 est renvoyé pour les options standards. En cas d'échec, -1 est renvoyé
       et errno est positionné pour indiquer l'erreur.

       Netfilter  permet au programmeur de définir des options personnalisées pour un socket avec
       des gestionnaires associés ; pour de telles options, le  code  de  retour  est  la  valeur
       renvoyée par le gestionnaire en cas de succès.

ERREURS

       EBADF  sockfd n'est pas un descripteur de fichier valable.

       EFAULT optval pointe en dehors de l'espace d'adressage accessible. Avec getsockopt(), ceci
              peut s'appliquer également à optlen.

       EINVAL optlen non valable pour setsockopt(). Dans certains cas cette erreur peut aussi  se
              produire  pour  une  valeur  non  valable  de  optval  (par  exemple, pour l'option
              IP_ADD_MEMBERSHIP décrite dans ip(7)).

       ENOPROTOOPT
              L'option est inconnue pour ce protocole.

       ENOTSOCK
              Le descripteur de fichier sockfd ne fait pas référence à un socket.

STANDARDS

       POSIX.1-2008.

HISTORIQUE

       POSIX.1-2001, SVr4, 4.4BSD (getpeername() est apparue dans 4.2BSD).

BOGUES

       Plusieurs options sur les sockets devraient être gérées  à  un  niveau  plus  bas  par  le
       système.

VOIR AUSSI

       ioctl(2),  socket(2),  getprotoent(3),  protocols(5), ip(7), packet(7), socket(7), tcp(7),
       udp(7), unix(7)

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier   <barbier@debian.org>,   David   Prévot  <david@tilapin.org>,  Cédric  Boutillier
       <cedric.boutillier@gmail.com>, Frédéric Hantrais  <fhantrais@gmail.com>  et  Jean-Philippe
       MENGUAL <jpmengual@debian.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.