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() is used to bind the socket referred to by the file descriptor sockfd to a privileged anonymous IP port, that is, a port number arbitrarily selected from the range 512 to 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 |
The calling process was not privileged (on Linux: the calling process did not have the CAP_NET_BIND_SERVICE capability in the user namespace governing its network namespace). |
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.
ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
The bindresvport() function uses a static variable that was not protected by a lock before glibc 2.17, rendering the function MT-Unsafe.
CONFORMITÉ
Not in POSIX.1. Present on the BSDs, Solaris, and many other systems.
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
COLOPHON
Cette page fait partie de la publication 5.07 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page, peuvent être trouvées à l’adresse https://www.kernel.org/doc/man-pages/.
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 [AT] laposte.net>, Thierry Vignaud <tvignaud [AT] mandriva.com>, François Micaux, Alain Portal <aportal [AT] univ-montp2.fr>, Jean-Philippe Guérard <fevrier [AT] tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon [AT] wanadoo.fr>, Julien Cristau <jcristau [AT] debian.org>, Thomas Huriaux <thomas.huriaux [AT] gmail.com>, Nicolas François <nicolas.francois [AT] centraliens.net>, Florentin Duneau <fduneau [AT] gmail.com>, Simon Paillard <simon.paillard [AT] resel.fr>, Denis Barbier <barbier [AT] debian.org>, David Prévot <david [AT] tilapin.org>, Cédric Boutillier <cedric.boutillier [AT] gmail.com> et Frédéric Hantrais <fhantrais [AT] gmail.com>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 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 [AT] lists.org>.