BINDRESVPORT(3)

NOM
bindresvport - Affecter une socket à un port IP privilégié

SYNOPSIS
#include <sys/types.h>
#include <netinet/in.h>

int bindresvport(int sockfd, struct sockaddr_in *sin);

DESCRIPTION

bindresvport() est utilisée pour affecter un descripteur de socket à un port IP privilégié anonyme, c'est-à-dire un numéro de port arbitrairement sélectionné dans l'intervalle [512, 1023]. Si le bind(2) réalisé par bindresvport() réussi et si sin est non NULL, alors sin->sin_port renvoie le numéro de port alloué. sin peut être NULL, dans ce cas sin->sin_family est simplement considéré comme AF_INET. Cependant, dans ce cas, bindresvport() ne peut renvoyer le port actuellement alloué (cette information peut être obtenu ultérieurement avec getsockname(2)).

VALEUR RENVOYÉE
bindresvport() renvoie 0 en cas de succès. En cas d'erreur, -1 est renvoyé et errno est définie.

ERREURS
bindresvport() peut échouer pour les mêmes raisons que bind(2). De plus, les erreurs suivantes peuvent se produire :

EACCES
    L'appelant n'a pas les privilèges suffisants (la capacité CAP_NET_BIND_SERVICE est nécessaire).

EADDRINUSE
    Tous les ports privilégiés sont utilisés.

EAFNOSUPPORT (EPFNOSUPPORT dans la glibc 2.7 et les versions précédentes)
    sin est non NULL et sin->sin_family n'est pas AF_INET.

CONFORMITÉ
Absent de POSIX.1-2001. Présent sur les systèmes BSD, Solaris et beaucoup d'autres.

NOTES
Contrairement à d'autres implémentations de bindresvport(), l'implémentation de la glibc ignore toutes les valeurs que l'appelant passe à sin->sin_port.

VOIR AUSSI
bind(2), getsockname(2)

COLOPHON
Cette page fait partie de la publication 3.40 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <URL:http://po4a.alioth.debian.org/> par l'équipe 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). Florentin Duneau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <perkamon-fr@traduc.org>.

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