getpeername

Autres langues

Langue: pl

Version: 1993-07-30 (fedora - 25/11/07)

Autres sections - même nom

Section: 2 (Appels système)

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

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).

ZOBACZ TAKŻE

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