Scroll to navigation

GETPEERNAZWA(2) Podręcznik programisty Linuksa GETPEERNAZWA(2)

NAZWA

getpeername - pobranie nazwy drugiej strony połączonego gniazda

SKŁADNIA

#include <sys/socket.h>

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

OPIS

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

Argument s nie jest prawidłowym deskryptorem.
Argument s jest plikiem, a nie gniazdem.
Gniazdo nie jest podłączone.
Brakło zasobów w systemie do wykonania tej operacji.
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).

ZOBACZ TAKŻE

accept(2), bind(2), getsockname(2)

1993-07-30 BSD