GETSOCKNAME(2)

BEZEICHNUNG
getsockname - holt den Namen eines Sockets

ÜBERSICHT
#include <sys/socket.h>

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

BESCHREIBUNG
Getsockname holt den Namen name eines Sockets. Der Parameter namelen wird übergeben, um sicherzustellen, dass genug Speicher an der Stelle ist, auf die name zeigt. Nach dem Aufruf enthält namelen die Größe von name in Bytes.

RÜCKGABEWERT
Bei Erfolg wird 0 zurückgegeben. Bei Fehlern wird -1 zurückgegeben und errno entsprechend gesetzt.

FEHLER

EBADF
    Der Parameter s ist kein gültiger Deskriptor.

ENOTSOCK
    Der Parameter s ist eine Datei, kein Socket.

ENOBUFS
    Das System hat nicht genug Ressourcen, um den Vorgang auszuführen.

EFAULT
    Der Parameter name befindet sich außerhalb des Programmspeichers.

KONFORM ZU
SVr4, 4.4BSD (der Funktionsaufruf getsockname war erstmals in 4.2BSD zu finden). SVr4 beinhaltet zusätzlich noch die Fehler ENOMEM und ENOSR.

ANMERKUNGEN
Das dritte Argument von getsockname ist in Wirklichkeit vom Typ 'int *' (dies ist auch in BSD 4.*, libc4 und libc5 der Fall). Einige Verwechslungen in POSIX haben das jetzige socklen_t ergeben. Dieser Standard wurde allerdings noch nicht völlig übernommen (glibc2 folgt diesem Standard jedoch schon und verfügt bereits über socklen_t). Lesen Sie dazu auch accept(2).

SIEHE AUCH
bind(2), socket(2).