.\" Copyright (C) 2007, Michael Kerrisk <mtk.manpages@gmail.com>
.\" and Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk
.\"     <mtk.manpages@gmail.com>
.\"
.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\" %%%LICENSE_END
.\"
.\" 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.
.\"
.\"*******************************************************************
.\" This file is distributed under the same license as original manpage
.\" Copyright of the original manpage:
.\" Copyright © i2007 Michael Kerrisk, 2008 Linux Foundation 
.\" Copyright © of Polish translation:
.\" Andrzej Krzysztofowicz (PTM) <ankry@mif.pg.gda.pl>, 2001.
.\" Robert Luberda <robert@debian.org>, 2013.
.\" Michał Kułach <michal.kulach@gmail.com>, 2014, 2016.
.TH BINDRESVPORT 3 2015\-03\-02 "" "Podręcznik programisty Linuksa"
.SH NAZWA
bindresvport \- połączenie gniazda z uprzywilejowanym portem IP
.SH SKŁADNIA
.nf
\fB#include <sys/types.h>\fP
\fB#include <netinet/in.h>\fP
.LP
\fBint bindresvport(int \fP\fIsockfd\fP\fB, struct sockaddr_in *\fP\fIsin\fP\fB);\fP
.fi
.SH OPIS
.LP
.\" 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.

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.

\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 na przyczynę błędu.
.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 był uprzywilejowany (a dokładniej: nie miał
ustawionego atrybutu \fBCAP_NET_BIND_SERVICE\fP).
.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 lb
l l lw23.
Interfejs	Atrybut	Wartość
T{
\fBbindresvport\fP()
T}	Bezpieczeństwo wątkowe	T{
.\" commit f6da27e53695ad1cc0e2a9490358decbbfdff5e5
glibc >= 2.17: MT\-Safe
.br
glibc < 2.17: MT\-Unsafe
T}
.TE
.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 "ZGODNE Z"
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)
.SH "O STRONIE"
Angielska wersja tej strony pochodzi z wydania 4.07 projektu Linux
\fIman\-pages\fP. 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/.
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika man są:
Andrzej Krzysztofowicz (PTM) <ankry@mif.pg.gda.pl>,
Robert Luberda <robert@debian.org>
i
Michał Kułach <michal.kulach@gmail.com>.
.PP
Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na stronie http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją \fB 4.07 \fPoryginału.
