getpeername(2) pobranie nazwy drugiej strony połączonego gniazda

SKŁADNIA

#include <sys/socket.h>

int getpeername(int s, struct sockaddr *name, socklen_t *namelen);

OPIS

Uwaga! To tłumaczenie może być nieaktualne!

getpeername zwraca nazwę drugiej strony równorzędnego połączenia odbywającego się poprzez gniazdo s. Parametr namelen powinien być zainicjalizowany tak, aby podawać rozmiar obszaru wskazywanego przez name. Po zakończeniu, będzie on zawierać rzeczywisty rozmiar zwróconej nazwy (w bajtach). Nazwa jest obcinana, jeśli zadany bufor jest zbyt mały.

WARTOŚĆ ZWRACANA

Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest -1 i odpowiednio ustawiane errno.

BŁĘDY

EBADF
Argument s nie jest prawidłowym deskryptorem.
ENOTSOCK
Argument s jest plikiem, a nie gniazdem.
ENOTCONN
Gniazdo nie jest podłączone.
ENOBUFS
Brakło zasobów w systemie do wykonania tej operacji.
EFAULT
Parametr name wskazuje na obszar pamięci nie będący dozwoloną przestrzenią adresową procesu.

ZGODNE Z

SVr4, 4.4BSD (funkcja getpeername pojawiła się pierwotnie w 4.2BSD).

UWAGA

Trzeci argument getpeername 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. Szkic standardu nie sostał jeszcze przyjęty, ale glibc2 już jest z nim zgodne i zawiera również socklen_t. Zobacz także accept(2).

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 getpeername

Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.