#include <sys.types.h>
#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 bind(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 bind(int s, struct sockaddr* name, int namelen);
Beschreibung
Die Funktion bind() ordnet einem mit der Funktion socket() erzeugten, zunächst namenlosen Socket einen Namen zu. Nachdem ein Socket mit der Funktion socket() erzeugt worden ist, existiert dieser Socket zwar innerhalb eines Namensbereichs (Adressfamilie), hat aber noch keinen Namen.
Der Parameter s bezeichnet den Socket, dem mit bind() ein Name zugeordnet werden soll.namelen spezifiziert die Länge der Datenstruktur, die den Namen beschreibt.
Returnwert
0:
bei Erfolg
-1:
bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen.
Fehleranzeige durch errno
EADDRINUSE
Der angegebene Name wird bereits benutzt.
EADDRNOTAVAIL
Der angegebene Name kann vom lokalen System nicht an den Socket gebunden werden.
EBADF
s ist kein gültiger Deskriptor.
EFAULT
Die Länge des Bereichs für die Aufnahme der Adresse ist zu klein.
EINVAL
Dem Socket ist bereits ein Name zugeordnet oder namelen hat nicht die Größe einer gültigen Adresse für die angegebene Adressfamilie.
ENETDOWN
Die Verbindung zum Netzwerk ist nicht mehr aktiv.
Siehe auch
connect(), getsockname(), listen(), socket()