Provided by: manpages-de-dev_0.5-4.1ubuntu1_all bug

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).