Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       getpeername - Obtenir le nom d'un correspondant connecté sur une socket

SYNOPSIS

       #include <sys/socket.h>

       int getpeername(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

DESCRIPTION

       La  fonction  getpeername()  renvoie  l'adresse  du  correspondant  connecté sur la socket
       sockfd, dans le tampon pointé par addr. Le paramètre addrlen  doit  être  initialisé  pour
       indiquer  la  taille  de  la  zone  pointée par addr. En retour, il contiendra la longueur
       effective (en octets) du nom retourné. Le nom est tronqué si le tampon est trop petit.

       L'adresse renvoyée est tronquée si le tampon fourni est trop petit ; dans ce cas,  addrlen
       renverra une valeur supérieure à celle fournie lors de l'appel.

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.

ERREURS

       EBADF  sockfd n'est pas un descripteur valable.

       EFAULT Le paramètre addr pointe en dehors de l'espace d'adressage accessible.

       EINVAL addrlen n'est pas valable (négatif, par exemple).

       ENOBUFS
              Les ressources système disponibles sont insuffisantes.

       ENOTCONN
              La socket n'est pas connectée.

       ENOTSOCK
              Le paramètre sockfd est un fichier, pas une socket.

CONFORMITÉ

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

NOTES

       Le troisième argument de getpeername() est en fait un « int * » (et c'est ce  qu'utilisent
       BSD 4.x,  libc4  et  libc5). Une certaine confusion POSIX a donné le « socklen_t » actuel,
       également utilisé par la glibc. Pour plus de détails consultez accept(2).

       Pour les sockets flux, une fois que connect(2) a été réalisé, chaque socket  peut  appeler
       getpeername()  pour  obtenir  l'adresse  de la socket correspondante. D'un autre côté, les
       sockets datagramme sont sans connexion.  Appeler  connect(2)  sur  une  socket  datagramme
       définit  simplement  l'adresse  correspondante  pour les datagrammes sortants envoyés avec
       write(2) ou recv(2). L'appelant de connect(2) peut  utiliser  getpeername()  pour  obtenir
       l'adresse  correspondante  qui  est  définie plus tôt pour la socket. Cependant, la socket
       correspondante ne connaît pas ces renseignements et appeler getpeername()  sur  la  socket
       correspondante  ne  renverra  aucun  renseignement  utile (sauf si un appel connect(2) est
       aussi exécuté sur la correspondante). Remarquez aussi que le destinataire d'un  datagramme
       peut obtenir l'adresse de l'expéditeur en utilisant recvfrom(2).

VOIR AUSSI

       accept(2), bind(2), getsockname(2), ip(7), socket(7), unix(7)

COLOPHON

       Cette  page  fait partie de la publication 3.65 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/.

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     à
       <debian-l10n-french@lists.debian.org>  ou  par  un  rapport  de  bogue   sur   le   paquet
       manpages-fr.

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