#include <sys.socket.h>
#include <netinet.in.h> /* nur bei AF_INET und AF_INET6 */
#include <iso.h> /* nur bei AF_ISO */
Kernighan-Ritchie-C:
int getsockname(s, name, namelen);
int s;
int *namelen;
struct sockaddr_in *name; /* nur bei AF_INET */
struct sockaddr_in6 *name; /* nur bei AF_INET6 */
struct sockaddr_iso *name; /* nur bei AF_ISO */
ANSI-C:
int getsockname(int s, struct sockaddr* name, int* namelen);
Beschreibung
Die Funktion getsockname() liefert im Parameter name den aktuellen Namen für den Socket s.
name zeigt auf einen Speicherbereich. *name enthält nach erfolgreicher Ausführung von getsockname() den Namen (die Adresse) des Sockets s. Die Integer-Variable auf die der Parameter namelen zeigt, muss vor Aufruf von getsockname() mit der Adresslänge (in Bytes) versorgt werden. Bei Rückkehr der Funktion enthält *namelen die aktuelle Größe (in Bytes) des zurückgelieferten Namens.
Returnwert
0:
bei Erfolg
-1:
bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen
Fehleranzeige durch errno
EBADF
Der Parameter s ist kein gültiger Deskriptor.
EFAULT
Die Länge des Bereichs für die Aufnahme der Adresse ist zu klein.
EOPNOTSUPP
Der Socket s ist nicht vom Typ SOCK_STREAM. Die Operation wird für den Socket-Typ von s nicht unterstützt.
Siehe auch
bind(), getpeername(), socket()