.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright (C) 2007, Michael Kerrisk <mtk.manpages@gmail.com>
.\" and Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk
.\"     <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" 2007-05-31, mtk: Rewrite and substantial additional text.
.\" 2008-12-03, mtk: Rewrote some pieces and fixed some errors
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH bindresvport 3 "2 maja 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
bindresvport \- łączy gniazdo z uprzywilejowanym portem IP
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <sys/types.h>\fP
\fB#include <netinet/in.h>\fP
.P
\fBint bindresvport(int \fP\fIsockfd\fP\fB, struct sockaddr_in *\fP\fIsin\fP\fB);\fP
.fi
.SH OPIS
.\" glibc actually starts searching with a port # in the range 600 to 1023
\fBbindresvport\fP() służy do łączenia gniazda opisanego deskryptorem pliku
\fIsockfd\fP z uprzywilejowanym anonimowym portem IP, to znaczy z przypadkowo
wybranym portem z zakresu od 512 do 1023.
.P
Jeśli powiedzie się \fBbind\fP(2) uruchomiony przez \fBbindresvport\fP() i \fIsin\fP
jest różne od NULL, to \fIsin\->sin_port\fP będzie zawierać numer
przydzielonego portu.
.P
\fIsin\fP może mieć wartość NULL i w tym przypadku \fIsin\->sin_family\fP jest
przyjmowane jako \fBAF_INET\fP. Jednakże oznacza to również, że
\fBbindresvport\fP() nie ma żadnej możliwości, by zwrócić numer przydzielonego
portu (tę informację można później uzyskać za pomocą \fBgetsockname\fP(2)).
.SH "WARTOŚĆ ZWRACANA"
\fBbindresvport\fP() zwraca 0, gdy zakończy się pomyślnie, a w przeciwnym
przypadku zwraca \-1 i ustawia \fIerrno\fP, wskazując błąd.
.SH BŁĘDY
\fBbindresvport\fP() może się nie powieść z tych samych powodów co
\fBbind\fP(2). Ponadto mogą wystąpić następujące błędy:
.TP 
\fBEACCES\fP
Proces wywołujący nie miał uprawnień (pod Linuksem: proces wywołujący nie
miał przywileju \fBCAP_NET_BIND_SERVICE\fP (ang. capability) w przestrzeni nazw
użytkownika pokrywającej jego sieciową przestrzeń nazw).
.TP 
\fBEADDRINUSE\fP
Wszystkie uprzywilejowane porty są już używane.
.TP 
\fBEAFNOSUPPORT\fP (\fBEPFNOSUPPORT\fP w glibc 2.7 i wcześniejszych)
\fIsin\fP jest różny od NULL i \fIsin\->sin_family\fP jest różne od \fBAF_INET\fP.
.SH ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku
\fBattributes\fP(7).
.TS
allbox;
lb lb lbx
l l l.
Interfejs	Atrybut	Wartość
T{
.na
.nh
\fBbindresvport\fP()
T}	Bezpieczeństwo wątkowe	T{
.na
.nh
.\" commit f6da27e53695ad1cc0e2a9490358decbbfdff5e5
glibc\ >=\ 2.17: MT\-bezpieczne;
glibc\ <\ 2.17: MT\-niebezpieczne
T}
.TE
.P
Funkcja \fBbindresvport\fP() używa statycznej zmiennej które nie była
zabezpieczona przez blokadę przed glibc 2.17, co nadawało funkcji cechę
MT\-niebezpieczną.
.SH WERSJE
Obecna w systemach BSD, Solaris i wielu innych.
.SH UWAGI
W przeciwieństwie do niektórych implementacji \fBbindresvport\fP(),
implementacja glibc ignoruje wartość przekazaną w \fIsin\->sin_port\fP
podczas wywołania tej funkcji.
.SH STANDARDY
BSD.
.SH "ZOBACZ TAKŻE"
\fBbind\fP(2), \fBgetsockname\fP(2)
.PP
.SH 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>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
