bindresvport(3) Library Functions Manual bindresvport(3) NAZWA bindresvport - polaczenie gniazda z uprzywilejowanym portem IP BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include #include int bindresvport(int sockfd, struct sockaddr_in *sin); OPIS bindresvport() sluzy do laczenia gniazda opisanego deskryptorem pliku sockfd z uprzywilejowanym anonimowym portem IP, to znaczy z przypadkowo wybranym portem o zakresu od 512 do 1023. Jesli powiedzie sie bind(2) uruchomiony przez bindresvport() i sin jest rozne od NULL, to sin->sin_port bedzie zawierac numer przydzielonego portu. sin moze miec wartosc NULL i w tym przypadku sin->sin_family jest przyjmowane jako AF_INET. Jednakze oznacza to rowniez, ze bindresvport() nie ma zadnej mozliwosci, by zwrocic numer przydzielonego portu. (Te informacje mozna pozniej uzyskac za pomoca getsockname(2)). WARTOSC ZWRACANA bindresvport() returns 0 on success; otherwise -1 is returned and errno is set to indicate the error. BLEDY bindresvport() moze sie nie powiesc z tych samych powodow co bind(2). Ponadto moga wystapic nastepujace bledy: EACCES Proces wywolujacy nie mial uprawnien (pod Linuksem: proces wywolujacy nie mial zdolnosci CAP_NET_BIND_SERVICE w przestrzeni nazw uzytkownika pokrywajacej jego sieciowa przestrzen nazw). EADDRINUSE Wszystkie uprzywilejowane porty sa juz uzywane. EAFNOSUPPORT (EPFNOSUPPORT w glibc 2.7 i wczesniejszych) sin jest rozny od NULL i sin->sin_family jest rozne od AF_INET. ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +---------------+--------------------------+---------------------------+ |Interfejs | Atrybut | Wartosc | +---------------+--------------------------+---------------------------+ |bindresvport() | Bezpieczenstwo watkowe | . glibc >= 2.17: MT-Safe; | | | | glibc < 2.17: MT-Unsafe | +---------------+--------------------------+---------------------------+ Funkcja bindresvport() uzywa statycznej zmiennej ktore nie byla zabezpieczona przez blokade przed glibc 2.17, co nadawalo funkcji ceche MT-Unsafe. WERSJE Present on the BSDs, Solaris, and many other systems. UWAGI W przeciwienstwie do niektorych implementacji bindresvport(), implementacja glibc ignoruje wartosc przekazana w sin->sin_port podczas wywolania tej funkcji. STANDARDY BSD. ZOBACZ TAKZE bind(2), getsockname(2) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Andrzej Krzysztofowicz , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 31 pazdziernika 2023 r. bindresvport(3)