Loading

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);

       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 (EPFNOSUPPORTdans la glibc2.7et 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.23 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

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
       francophone de traduction de Debian.

       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