Provided by: manpages-de-dev_4.15.0-9_all bug

BEZEICHNUNG

       getpeername - holt den Namen einer verbundenen Gegenstelle

ÜBERSICHT

       #include <sys/socket.h>

       int getpeername(int sockfd, struct sockaddr *restrict Adr,
                       socklen_t *restrict 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
       gesetzt, um den Fehler anzuzeigen.

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.13  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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-german@lists.debian.org⟩.