Provided by: manpages-pl-dev_0.6-2_all
NAZWA
bind - przywiązanie nazwy do gniazda
SKŁADNIA
#include <sys/types.h> #include <sys/socket.h> int bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen);
OPIS
Uwaga! To tłumaczenie może być nieaktualne! bind nadaje gniazdu, sockfd, lokalny adres my_addr. my_addr ma długość addrlen bajtów. Tradycyjnie nazywa się to "przyznaniem gniazdu nazwy". Gdy gniazdo jest utworzone za pomocą polecenia socket(2), istnieje ono w przestrzeni nazw (rodzina adresów), ale nie ma przyznanej żadnej nazwy. Normalnie, zanim gniazdo SOCKET_STREAM będzie mogło odbierać połączenia (zobacz accept(2)), niezbędne jest przypisanie mu lokalnego adresu za pomocą bind. Reguły dotyczące przywiązywania nazw są różne w różnych rodzinach adresów. Szczegółowe informacje znajdują się na stronach podręcznika man w sekcji 7. Dla AF_INET zobacz ip(7), dla AF_UNIX zobacz unix(7), dla AF_APPLETALK zobacz ddp(7), dla AF_PACKET zobacz packet(7), dla AF_X25 zobacz x25(7), a dla AF_NETLINK zobacz netlink(7).
WARTOŚĆ ZWRACANA
Po pomyślnym zakończeniu, zwracane jest zero. W przeciwnym wypadku zwracane jest -1 i odpowiednio ustawiane errno .
BŁĘDY
EBADF sockfd nie jest prawidłowym deskryptorem. EINVAL Gniazdo już jest przywiązane do adresu. Może to się zmienić w przyszłości: szczegóły można znaleźć w linux/unix/sock.c. EACCES Adres jest chroniony, a użytkownik nie jest superużytkownikiem. ENOTSOCK Argument jest deskryptorem pliku, a nie gniazda. Następujące błędy odnoszą się do gniazd domeny UNIX-owej (AF_UNIX): EINVAL Parametr addrlen jest nieprawidłowy, lub gniazdo nie należy do rodziny AF_UNIX. EROFS I-węzeł gniazda rezyduje na systemie plików przeznaczonym tylko do odczytu. EFAULT my_addr wskazuje poza dostępną dla użytkownika przestrzeń adresową. ENAMETOOLONG my_addr jest zbyt długie. ENOENT Plik nie istnieje. ENOMEM Brak pamięci kernela. ENOTDIR Element składowy ścieżki nie jest katalogiem. EACCES Brak praw do przeszukiwania dla składnika ścieżki. ELOOP Podczas rozwiązywania my_addr napotkano zbyt wiele dowiązań symbolicznych.
USTERKI
Nie opisano opcji przezroczystych proxy.
ZGODNE Z
SVr4, 4.4BSD (funkcja bind pojawiła się najpierw w BSD 4.2). SVr4 dokumentuje dodatkowe ogólne błędy, EADDRNOTAVAIL, EADDRINUSE i ENOSR oraz dodatkowe błędy domeny UNIX-owej, EIO i EISDIR.
UWAGA
Trzeci argument bind jest w rzeczywistości typu int (i tak jest w BSD 4.*, libc4 i libc5). Pewne zamieszanie w POSIX doprowadziło jego zmiany na obecny socklen_t. Zobacz także accept(2).
ZOBACZ TAKŻE
accept(2), connect(2), listen(2), socket(2), getsockname(2), ip(7), socket(7)
INFORMACJE O TŁUMACZENIU
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia: man --locale=C 2 bind Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.