Provided by: manpages-de-dev_4.13-4_all bug

BEZEICHNUNG

       getpeername - holt den Namen einer verbundenen Gegenstelle

ÜBERSICHT

       #include <sys/socket.h>

       int getpeername(int sockfd, struct sockaddr *Adr, socklen_t *adresslaenge);

BESCHREIBUNG

       getpeername()  schreibt  die  Adresse  der  Gegenstelle,  die mit dem Socket sockfd verbunden ist, in den
       Puffer, auf den Adr zeigt. Der Parameter adresslaenge sollte die Größe des freien Speicherplatzes an  der
       Adresse  Adr  enthalten.  Nach  dem  Aufruf enthält adresslaenge die Größe des zurückgegebenen Namens (in
       Byte). Der Name wird abgeschnitten, wenn der zur Verfügung gestellte Puffer zu klein ist.

       Die zurückgegebene Adresse wird gekürzt, falls der bereitgestellte Puffer zu klein ist.  In  diesem  Fall
       gibt adresslaenge einen Wert zurück, der größer als der übergebene Wert ist.

RÜCKGABEWERT

       Bei  Erfolg  wird  Null  zurückgegeben.  Bei  einem  Fehler  wird -1 zurückgegeben und errno entsprechend
       gesetzt.

FEHLER

       EBADF  Das Argument sockdd ist kein zulässiger Dateideskriptor.

       EFAULT Das Argument Adr zeigt aus dem vom Prozess adressierbaren Adressraum heraus.

       EINVAL adresslaenge ist nicht zulässig (ist z. B. negativ).

       ENOBUFS
              Es waren im System zu wenig Ressourcen für die Ausführung dieses Vorgangs verfügbar.

       ENOTCONN
              Der Socket ist nicht verbunden.

       ENOTSOCK
              Der Dateideskriptor sockdd zeigt nicht auf ein Socket.

KONFORM ZU

       POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD (getpeername() erschien erstmals in 4.2BSD).

ANMERKUNGEN

       Für Hintergrundinformationen zum Typ socklen_t siehe accept(2).

       Bei Datenstrom-Sockets  kann,  sobald  connect(2)  aufgerufen  wurde,  jeder  der  Sockets  getpeername()
       ausführen,  um  die  Adresse  des  Peer-Sockets  zu  ermitteln.  Andererseits sind Datagramm-Sockets ohne
       Verbindung. Der Aufruf von connect(2) mit einem Datagramm-Socket  setzt  vielmehr  die  Peer-Adresse  für
       ausgehende  Datagramme,  die  mit  write(2)  oder recv(2) gesendet wurden. Der Aufruf von connect(2) kann
       getpeername() nutzen, um die zuvor für den Socket gesetzte Peer-Adresse  zu  ermitteln.  Der  Peer-Socket
       jedoch  beachtet  diese  Information  nicht  und der Aufruf von getpeername() dort wird keine verwertbare
       Information liefern, es sei denn, connect(2) wurde ebenfalls auf dem Peer aufgerufen. Beachten Sie  auch,
       dass der Empfänger eines Datagramms die Absenderadresse mittels recvfrom(2) ermitteln kann.

SIEHE AUCH

       accept(2), bind(2), getsockname(2), ip(7), socket(7), unix(7)

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  5.10  des Projekts Linux-man-pages. Eine Beschreibung des
       Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
       sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite  wurde  von  Dennis  Stampfer  <kontakt@dstampfer.de>,  Dr.
       Tobias Quathamer <toddy@debian.org> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

       Diese  Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte  eine  E-Mail  an  die
       Mailingliste der Übersetzer.

Linux                                          15. September 2017                                 GETPEERNAME(2)