Provided by: manpages-fr-dev_4.21.0-2_all bug

NOM

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

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

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 socket auquel fait référence le descripteur
       de fichier sockfd à 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éfini pour indiquer l'erreur.

ERREURS

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

       EACCES Le processus appelant n'était pas privilégié (sur Linux : le processus appelant n'a
              pas  la  capacité CAP_NET_BIND_SERVICE dans l'espace de noms utilisateur contrôlant
              son espace de noms réseau).

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

       EAFNOSUPPORT (EPFNOSUPPORT dans la glibc 2.7 et antérieure)
              sin est non NULL et sin->sin_family n'est pas AF_INET.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌───────────────┬──────────────────────┬──────────────────────────────────────────────────┐
       │InterfaceAttributValeur                                           │
       ├───────────────┼──────────────────────┼──────────────────────────────────────────────────┤
       │bindresvport() │ Sécurité des threads │ glibc >= 2.17 : MT-Safe; glibc < 2.17 :          │
       │               │                      │ MT-Unsafe                                        │
       └───────────────┴──────────────────────┴──────────────────────────────────────────────────┘

       Avant  glibc 2.17, la fonction bindresvport() utilisait une variable statique non protégée
       par un verrou, et n’était donc pas sûre dans un contexte multithread.

STANDARDS

       Absent de POSIX.1. 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)

TRADUCTION

       La  traduction  française  de  cette  page  de  manuel  a  été créée par Christophe Blaess
       <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <stephan.rafin@laposte.net>,  Thierry
       Vignaud  <tvignaud@mandriva.com>,  François Micaux, Alain Portal <aportal@univ-montp2.fr>,
       Jean-Philippe   Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)    <jean-
       luc.coulon@wanadoo.fr>,    Julien    Cristau    <jcristau@debian.org>,    Thomas   Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau  <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis
       Barbier  <barbier@debian.org>,  David  Prévot   <david@tilapin.org>,   Cédric   Boutillier
       <cedric.boutillier@gmail.com>,  Frédéric  Hantrais  <fhantrais@gmail.com>  et  Jean-Pierre
       Giraud <jean-pierregiraud@neuf.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.