getpeername(2) System Calls Manual getpeername(2) BEZEICHNUNG getpeername - holt den Namen einer verbundenen Gegenstelle BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include 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 Grosse des freien Speicherplatzes an der Adresse Adr enthalten. Nach dem Aufruf enthalt adresslaenge die Grosse des zuruckgegebenen Namens (in Byte). Der Name wird abgeschnitten, wenn der zur Verfugung gestellte Puffer zu klein ist. Die zuruckgegebene Adresse wird gekurzt, falls der bereitgestellte Puffer zu klein ist. In diesem Fall gibt adresslaenge einen Wert zuruck, der grosser als der ubergebene Wert ist. RUCKGABEWERT Bei Erfolg wird Null zuruckgegeben. Bei einem Fehler wird -1 zuruckgegeben und errno gesetzt, um den Fehler anzuzeigen. FEHLER EBADF Das Argument sockdd ist kein zulassiger Dateideskriptor. EFAULT Das Argument Adr zeigt aus dem vom Prozess adressierbaren Adressraum heraus. EINVAL adresslaenge ist nicht zulassig (ist z. B. negativ). ENOBUFS Es waren im System zu wenig Ressourcen fur die Ausfuhrung dieses Vorgangs verfugbar. ENOTCONN Der Socket ist nicht verbunden. ENOTSOCK Der Dateideskriptor sockdd zeigt nicht auf ein Socket. STANDARDS POSIX.1-2008. GESCHICHTE POSIX.1-2001, SVr4, 4.4BSD (erschien zuerst in 4.2BSD). ANMERKUNGEN Bei Datenstrom-Sockets kann, sobald connect(2) aufgerufen wurde, jeder der Sockets getpeername() ausfuhren, 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 fur ausgehende Datagramme, die mit write(2) oder recv(2) gesendet wurden. Der Aufruf von connect(2) kann getpeername() nutzen, um die zuvor fur 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 Empfanger eines Datagramms die Absenderadresse mittels recvfrom(2) ermitteln kann. SIEHE AUCH accept(2), bind(2), getsockname(2), ip(7), socket(7), unix(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Dennis Stampfer , Dr. Tobias Quathamer und Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 getpeername(2)