.\" -*- coding: UTF-8 -*- .\" 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. .\" .\"******************************************************************* .TH BINDRESVPORT 3 "15 września 2017 r." "" "Podręcznik programisty Linuksa" .SH NAZWA bindresvport \- połączenie gniazda z uprzywilejowanym portem IP .SH SKŁADNIA .nf \fB#include \fP \fB#include \fP .PP \fBint bindresvport(int \fP\fIsockfd\fP\fB, struct sockaddr_in *\fP\fIsin\fP\fB);\fP .fi .SH OPIS .PP .\" 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() 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 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). .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 5.04 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 są: Andrzej Krzysztofowicz , Robert Luberda i Michał Kułach . 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. Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres .MT manpages-pl-list@lists.sourceforge.net .ME .