getsockname

Autres langues

Langue: pl

Autres versions - même langue

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

Autres sections - même nom

Section: 2 (Appels système)

NAZWA

getsockname - pobranie nazwy gniazda

SKŁADNIA

 #include <sys/socket.h>
 
 int getsockname(int s, struct sockaddr *name, socklen_t *namelen)
 

OPIS

getsockname zwraca bieżącą nazwę name dla zadanego gniazda. Parametr namelen powinien być zainicjalizowany tak, aby podawał rozmiar obszaru wskazywanego przez name. Po zakończeniu, zawiera on rzeczywisty rozmiar zwróconej nazwy (w bajtach).

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.
ENOBUFS
Dostępna ilość zasobów systemowych jest niewystarczająca dla wykonania operacji.
EFAULT
Parametr name wskazuje poza dostępną przestrzeń adresową procesu.

ZGODNE Z

SVr4, 4.4BSD (funkcja getsockname pojawiła się w 4.2BSD). SVr4 dokumentuje dodatkowe kody błędów: ENOMEM i ENOSR.

UWAGA

Trzeci argument getsockname 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

bind(2), socket(2)