Linux |
CentOS 4.8 |
|
getpeername(2) |
getpeername − Obtenir le nom d’un correspondant connecté. |
#include <sys/socket.h> int getpeername(int s, struct sockaddr *name, socklen_t *namelen); |
Getpeername retourne le nom du correspondant connecté sur une socket s. Le paramètre namelen doit être initialisé pour indiquer la taille de la zone pointée par name. En retour, il contiendra la longueur effective (en octets) du nom retourné. Le nom est tronqué si le buffer est trop petit. |
getpeername renvoie 0 s’il réussit, ou −1 s’il échoue, auquel cas errno contient le code d’erreur. |
EBADF |
L’argument s n’est pas un descripteur valide. |
ENOTSOCK |
L’argument s est un fichier, pas une socket. |
ENOTCONN |
La socket n’est pas connectée. |
ENOBUFS |
Pas assez de mémoire pour le noyau |
||
EFAULT |
name pointe en dehors de l’espace d’adressage accessible |
SVr4, 4.4BSD (La fonction getpeername est apparue dans BSD 4.2). |
Le troisième argument de getpeername est en fait un int (et c’est ce qu’utilisent BSD 4.*, libc4 et libc5). Une certaine confusion POSIX résulte du "socklen_t" actuel. Les propositions de standard n’ont pas encore été adoptées, mais glibc2 les suit déjà et utilise socklen_t. Pour plus de détails voir accept(2). |
accept(2), bind(2), getsockname(2) |
Christophe Blaess, 1997. |
getpeername(2) |