table of contents
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¶
- 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¶
1993-07-30 | BSD |