Scroll to navigation

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

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

Argument s nie jest prawidłowym deskryptorem.
Argument s jest plikiem, a nie gniazdem.
Dostępna ilość zasobów systemowych jest niewystarczająca dla wykonania operacji.
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)

1993-07-24 BSD