GETPEERNAME(2)

BEZEICHNUNG
getpeername - holt Informationen über eine Gegenstelle

ÜBERSICHT
#include <sys/socket.h>

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

BESCHREIBUNG
getpeername holt Informationen der Gegenstelle, die mit dem Socket s verbunden ist. Der Parameter namelen wird übergeben, um sicherzustellen, dass genug Speicher an der Stelle vorhanden ist, auf die name zeigt. Nach dem Aufruf enthält namelen die Größe von name in Bytes.

name wird abgeschnitten, falls namelen zu klein ist.

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

ENOTSOCK
    Der Parameter s ist eine Datei, kein Socket.

ENOTCONN
    Der Socket ist nicht verbunden.

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 getpeername war erstmals in 4.2BSD zu finden).

ANMERKUNGEN
Das dritte Argument von getpeername ist in Wirklichkeit vom Typ 'int *' (dies ist auch in BSD 4.*, libc4 und libc5 der Fall). Einige POSIX-Verwechslungen ergaben das jetzige socklen_t. 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
accept(2), bind(2), getsockname(2).