Provided by: manpages-pl-dev_4.23.1-1_all bug

NAZWA

       bindresvport - łączy gniazdo 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 z 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 błąd.

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ł  przywileju
              CAP_NET_BIND_SERVICE  (ang.  capability) 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).
       ┌────────────────┬────────────────────────┬─────────────────────────────────────────────────────────────┐
       │ InterfejsAtrybutWartość                                                     │
       ├────────────────┼────────────────────────┼─────────────────────────────────────────────────────────────┤
       │ bindresvport() │ Bezpieczeństwo wątkowe │ glibc >= 2.17: MT-bezpieczne; glibc < 2.17:                 │
       │                │                        │ MT-niebezpieczne                                            │
       └────────────────┴────────────────────────┴─────────────────────────────────────────────────────────────┘

       Funkcja bindresvport() używa statycznej zmiennej które nie była zabezpieczona przez blokadę  przed  glibc
       2.17, co nadawało funkcji cechę MT-niebezpieczną.

WERSJE

       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.

STANDARDY

       BSD.

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.8                              2 maja 2024 r.                                  bindresvport(3)