Scroll to navigation

BINDRESVPORT(3) Manuel du programmeur Linux 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.44 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). Florentin Duneau 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> ».
3 décembre 2008