Provided by: manpages-pl-dev_4.13-4_all 

NAZWA
bindresvport - połączenie gniazda z uprzywilejowanym portem IP
SKŁADNIA
#include <sys/types.h>
#include <netinet/in.h>
int bindresvport(int sockfd, struct sockaddr_in *sin);
OPIS
bindresvport() służy do łączenia gniazda opisanego deskryptorem pliku sockfd z uprzywilejowanym
anonimowym portem IP, to znaczy z przypadkowo wybranym portem o zakresu od 512 do 1023.
Jeśli powiedzie się bind(2) uruchomiony przez bindresvport() i sin jest różne od NULL, to sin->sin_port
będzie zawierać numer przydzielonego portu.
sin może mieć wartość NULL i w tym przypadku sin->sin_family jest przyjmowane jako AF_INET. Jednakże
oznacza to również, że bindresvport() nie ma żadnej możliwości, by zwrócić numer przydzielonego portu.
(Tę informację można później uzyskać za pomocą getsockname(2)).
WARTOŚĆ ZWRACANA
bindresvport() zwraca 0, gdy zakończy się pomyślnie, a w przeciwnym przypadku zwraca -1 i ustawia errno,
wskazując na przyczynę błędu.
BŁĘDY
bindresvport() może się nie powieść z tych samych powodów co bind(2). Ponadto mogą wystąpić następujące
błędy:
EACCES Proces wywołujący nie miał uprawnień (pod Linuksem: proces wywołujący nie miał zdolności
CAP_NET_BIND_SERVICE w przestrzeni nazw użytkownika pokrywającej jego sieciową przestrzeń nazw).
EADDRINUSE
Wszystkie uprzywilejowane porty są już używane.
EAFNOSUPPORT (EPFNOSUPPORT w glibc 2.7 i wcześniejszych)
sin jest różny od NULL i sin->sin_family jest różne od AF_INET.
ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
┌────────────────┬────────────────────────┬─────────────────────────┐
│ Interfejs │ Atrybut │ Wartość │
├────────────────┼────────────────────────┼─────────────────────────┤
│ bindresvport() │ Bezpieczeństwo wątkowe │ glibc >= 2.17: MT-Safe │
│ │ │ glibc < 2.17: MT-Unsafe │
└────────────────┴────────────────────────┴─────────────────────────┘
Funkcja bindresvport() używa statycznej zmiennej które nie była zabezpieczona przez blokadę przed glibc
2.17, co nadawało funkcji cechę MT-Unsafe.
ZGODNE Z
Nie występuje w POSIX.1. Obecna w systemach BSD, Solaris i wielu innych.
UWAGI
W przeciwieństwie do niektórych implementacji bindresvport(), implementacja glibc ignoruje wartość
przekazaną w sin->sin_port podczas wywołania tej funkcji.
ZOBACZ TAKŻE
bind(2), getsockname(2)
O STRONIE
Angielska wersja tej strony pochodzi z wydania 5.10 projektu Linux man-pages. Opis projektu, informacje
dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem
https://www.kernel.org/doc/man-pages/.
T◈UMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Andrzej Krzysztofowicz
<ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ
ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-
list@lists.sourceforge.net.
15 września 2017 r. BINDRESVPORT(3)