Provided by: manpages-pl-dev_4.21.0-2_all 

NAZWA
bindresvport - połączenie gniazda z uprzywilejowanym portem IP
BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)
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() returns 0 on success; otherwise -1 is returned and errno is set to indicate the error.
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.
STANDARDY
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)
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.
Linux man-pages 6.03 5 lutego 2023 r. bindresvport(3)