.\" -*- 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 "5 lutego 2023 r." "Linux man\-pages 6.03" 
.SH NAZWA
bindresvport \- połączenie gniazda 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
.PP
\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 o zakresu od 512 do 1023.
.PP
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.
.PP
\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()  returns 0 on success; otherwise \-1 is returned and
\fIerrno\fP is set to indicate the error.
.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ł zdolności \fBCAP_NET_BIND_SERVICE\fP 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).
.ad l
.nh
.TS
allbox;
lb lb lbx
l l l.
Interfejs	Atrybut	Wartość
T{
\fBbindresvport\fP()
T}	Bezpieczeństwo wątkowe	T{
.\" commit f6da27e53695ad1cc0e2a9490358decbbfdff5e5
glibc\ >=\ 2.17: MT\-Safe;
glibc\ <\ 2.17: MT\-Unsafe
T}
.TE
.hy
.ad
.sp 1
.PP
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\-Unsafe.
.SH STANDARDY
Nie występuje w POSIX.1. 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 "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 .
