Linux |
CentOS 4.8 |
|
getsockname(2) |
getsockname − Obtenir le nom d’une socket. |
#include <sys/socket.h> int getsockname(int s, struct sockaddr *name, socklen_t *namelen) |
Getsockname renvoie le nom name de la socket indiquée. Le paramètre namelen doit être initialisé pour indiquer la taille de la zone mémoire pointée par name. En retour, il contiendra la taille effective (en octets) du nom renvoyé. |
getsockname 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. |
ENOBUFS |
Pas assez de mémoire pour le noyau |
|
EFAULT |
name pointe en dehors de l’espace d’adressage accessible. |
SVr4, BSD 4.4 (la fonction getsockname est apparue dans BSD 4.2). SVr4 documente des conditions d’erreur ENOMEM et ENOSR supplémentaires. |
Le troisième argument de getsockname 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). |
bind(2), socket(2) |
Christophe Blaess, 1997. |
getsockname(2) |