Provided by:
manpages-de-dev_0.5-4.1ubuntu1_all 
BEZEICHNUNG
bind - verbindet einen Namen mit einem Socket.
ÜBERSICHT
#include <sys/types.h>
#include <sys/socket.h>
int bind(int sockfd, struct sockaddr *my_addr, int addrlen);
BESCHREIBUNG
bind weist dem Socket sockfd die lokale Adresse my_addr zu. my_addr
ist addrlen Bytes lang. Traditionsgemäß wird dies "einem Socket einen
Namen zuweisen" genannt (wenn ein Socket mit socket(2) erzeugt wird,
existiert er in einer Adressfamilie (Namespace), hat aber keinen
eigenen Namen.
BEMERKUNGEN
Einen Namen in einer UNIX-Domäne zu binden, erzeugt einen Socket im
Dateisystem, welches vom Erzeuger gelöscht werden muss, wenn dieser
nicht mehr gebraucht wird (hierzu wird unlink(2) benutzt).
Die Regeln, um zwischen verschiedenen Domänen zu Kommunizieren,
variieren. Hier sei auf die Handbuchseite in Abschnitt 4 verwiesen.
RÜCKGABEWERTE
Bei erfolgreicher Ausführung wird null zurückgeliefert, bei einem
Fehler -1 und errno entsprecht gesetzt.
FEHLER
EBADF sockfd ist kein gültiger Deskriptor.
EINVAL Der Socket ist bereits an eine Adresse gebunden. Dies kann sich
in Zukunft ändern. Siehe linux/unix/sock.c für Details.
EACCES Die Adresse ist geschützt und der Benutzer ist nicht der Super-
User.
Die folgenden Fehlermeldungen sind spezifisch für UNIX-Domänensockets
(AF_UNIX):
EINVAL Die addr_len war falsch oder der Socket gehörte nicht zur
AF_UNIX Familie.
EROFS Die Socket "Inode" sollte auf einem schreibgeschützten
Dateisystem residieren.
EFAULT my_addr weist auf eine Adresse außerhalb des erreichbaren
Adressraumes zu.
ENAMETOOLONG
my_addr ist zu lang.
ENOENT Die Datei existiert nicht.
ENOMEM Nicht genug Kernelspeicher vorhanden.
ENOTDIR Eine Komponente des Pfad-Präfixes ist kein Verzeichnis.
EACCES Keine berechtigung um eine Komponente des Pfad-prefixes zu
durchsuchen.
ELOOP my_addr enthält eine Kreis-Referenz (zum Beispiel durch einen
symbolischen Link)
GESCHICHTE
Der bind Funktionruf erschien zuerst in BSD 4.2.
SIEHE AUCH
accept(2), connect(2), listen(2), socket(2), getsockname(2).