Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       getsockopt, setsockopt - Lire et ecrire les options d'une socket

SYNOPSIS

       #include <sys/types.h>          /* Consultez NOTES */
       #include <sys/socket.h>

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

DESCRIPTION

       getsockopt()  et  setsockopt()  manipulent  les  options associees a la
       socket a laquelle fait reference le descripteur de fichier sockfd.  Ces
       options  peuvent  exister  aux  divers  niveaux  de  protocole, et sont
       toujours presentes au niveau socket le plus eleve.

       Quand on manipule une option d'une socket, il faut preciser  le  niveau
       ou  elle  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 numero de protocole approprie. Par exemple,
       pour une option interpretee par le  protocole  TCP,  level  prendra  le
       numero du protocole TCP. Consultez getprotoent(3).

       Les  parametres  optval  et  optlen  sont  utilises pour determiner les
       options pour setsockopt(). Pour getsockopt ils  identifient  un  tampon
       dans  lequel  la  valeur  de  l'option desiree doit etre renvoyee. Pour
       getsockopt, optlen est un parametre resultat, contenant initialement la
       taille  du  tampon pointe par optval, et rempli en retour pour indiquer
       la taille effective des  valeurs  renvoyees.  Si  aucune  option  n'est
       fournie ou renvoyee, optval peut etre NULL.

       optname  et  toute  autre  option  sont  passes  sans interpretation au
       protocole approprie, pour qu'il l'interprete lui-meme. Le fichier d'en-
       tete <sys/socket.h> contient les definitions 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 parametre de  type
       int  pour  optval.  Pour  setsockopt(), un parametre non nul valide une
       option booleenne, et zero l'invalide.

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

VALEUR RENVOY'EE

       S'il  reussit,  cet appel systeme renvoie 0. S'il echoue, il renvoie -1
       et remplit errno en consequence.

ERREURS

       EBADF     sockfd n'est pas un descripteur valable.

       EFAULT    optval pointe en dehors de l'espace  d'adressage  accessible.
                 Avec getsockopt(), ceci peut s'appliquer egalement a 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 decrite
                 dans ip(7)).

       ENOPROTOOPT
                 L'option est inconnue pour ce protocole.

       ENOTSOCK  Le parametre sockfd est un fichier, pas une socket.

CONFORMIT'E

       SVr4,  BSD 4.4  (ces  appels  systeme  sont  apparus   dans   BSD 4.2),
       POSIX.1-2001.

NOTES

       POSIX.1-2001  ne  requiert pas l'inclusion de <sys/types.h>, et cet en-
       tete n'est pas necessaire sous Linux. Cependant, il  doit  etre  inclus
       sous  certaines  implementations historiques (BSD), et les applications
       portables devraient probablement l'utiliser.

       Le parametre optlen de getsockopt() et setsockopt() est en fait un  int
       [*]  (et  c'est  ce qu'utilisent BSD 4.x, libc4 et libc5). Une certaine
       confusion POSIX a donne le  socklen_t  actuel,  egalement  utilise  par
       glibc. Pour plus de details consultez accept(2).

BOGUES

       Plusieurs  options  sur  les  sockets devraient etre gerees a un niveau
       plus bas par le systeme.

VOIR AUSSI

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

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.27 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       etre       trouvees      a      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

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

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

       Veuillez   signaler   toute   erreur   de   traduction  en  ecrivant  a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.

Linux                           3 decembre 2008                  GETSOCKOPT(2)