.\" Copyright (C) 2007, Michael Kerrisk .\" and Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk .\" .\" .\" %%%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) , 2001. .\" Robert Luberda , 2013. .\" Michał Kułach , 2014. .TH BINDRESVPORT 3 2013\-06\-21 "" "Podręcznik programisty Linuksa" .SH NAZWA bindresvport \- połączenie gniazda z uprzywilejowanym portem IP .SH SKŁADNIA .nf \fB#include \fP \fB#include \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 deskryptora gniazda 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 .SS "Wielowątkowość (patrz pthreads(7))" Przed wersją 2.17 biblioteki glibc funkcja \fBbindresvport\fP() używała statycznej niechronionej zmiennej, tak więc nie była bezpieczna dla wątków. .\" commit f6da27e53695ad1cc0e2a9490358decbbfdff5e5 Od wersji 2.17 biblioteki glibc funkcja \fBbindresvport\fP() używa blokad, aby chronić dostęp do zmiennej globalnej, więc jest bezpieczna dla wątków. .SH "ZGODNE Z" Nie występuje w POSIX.1\-2001. 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 3.71 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 \%http://www.kernel.org/doc/man\-pages/. .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Andrzej Krzysztofowicz (PTM) , Robert Luberda i Michał Kułach . .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 3.71 \fPoryginału.