bindresvport(3) Library Functions Manual bindresvport(3) NOM bindresvport - Affecter un socket a un port IP privilegie BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include #include int bindresvport(int sockfd, struct sockaddr_in *sin); DESCRIPTION bindresvport() est utilisee pour affecter un socket auquel fait reference le descripteur de fichier sockfd a un port IP privilegie anonyme, c'est-a-dire un numero de port arbitrairement selectionne dans l'intervalle [512, 1023]. Si le bind(2) realise par bindresvport() reussi et si sin est non NULL, alors sin->sin_port renvoie le numero de port alloue. sin peut etre NULL, dans ce cas sin->sin_family est simplement considere comme AF_INET. Cependant, dans ce cas, bindresvport() ne peut renvoyer le port actuellement alloue (cette information peut etre obtenu ulterieurement avec getsockname(2)). VALEUR RENVOYEE bindresvport() renvoie 0 en cas de succes. En cas d'erreur, -1 est renvoye et errno est defini pour indiquer l'erreur. ERREURS bindresvport() peut echouer pour les memes raisons que bind(2). De plus, les erreurs suivantes peuvent se produire : EACCES Le processus appelant n'etait pas privilegie (sur Linux : le processus appelant n'a pas la capacite CAP_NET_BIND_SERVICE dans l'espace de noms utilisateur controlant son espace de noms reseau). EADDRINUSE Tous les ports privilegies sont utilises. EAFNOSUPPORT (EPFNOSUPPORT dans la glibc 2.7 et anterieure) sin est non NULL et sin->sin_family n'est pas AF_INET. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------+--------------------------+---------------------------+ |Interface | Attribut | Valeur | +---------------+--------------------------+---------------------------+ |bindresvport() | Securite des threads | . glibc >= 2.17 : | | | | MT-Safe; glibc < 2.17 : | | | | MT-Unsafe | +---------------+--------------------------+---------------------------+ Avant glibc 2.17, la fonction bindresvport() utilisait une variable statique non protegee par un verrou, et n'etait donc pas sure dans un contexte multithread. VERSIONS Present sur les systemes BSD, Solaris et beaucoup d'autres. NOTES Contrairement a d'autres implementations de bindresvport(), l'implementation de la glibc ignore toutes les valeurs que l'appelant passe a sin->sin_port. STANDARDS BSD. VOIR AUSSI bind(2), getsockname(2) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Cedric Boutillier , Frederic Hantrais et Jean-Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 bindresvport(3)