getsockname(2) Obtenir le nom d'une socket

SYNOPSIS

#include <sys/socket.h>


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

DESCRIPTION

getsockname() renvoie, dans le tampon pointé par addr, l'adresse à laquelle la socket sockfd est liée. Le paramètre addrlen doit être initialisé pour indiquer la taille de la zone mémoire pointée par addr. En retour, il contiendra la taille effective (en octets) de l'adresse de la socket.

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.
ENOTSOCK
Le paramètre sockfd est un fichier, pas une socket.

CONFORMITÉ

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

NOTES

Le troisième argument de getsockname() 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. Consultez aussi accept(2).

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 à <[email protected]> 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> ».