Arch manual pages

BIND(2) Linux - příručka programátora BIND(2)

JMÉNO

bind - přiřazení adresy (jména) soketu

SYNTAXE

#include <sys/types.h>
 
#include <sys/socket.h>
 
int bind(int sockfd, struct sockaddr *my_addr, int addrlen);

POPIS

bind přiřadí soketu sockfd, lokální adresu my_addr. my_addr je addrlen bajtů dlouhá. Tradičně je tato operace nazývána "přiřazení jména soketu" (když je soket vytvořen voláním socket(2), tak existuje v jmenném prostoru (rodině adres), ale není mu přiřazeno jméno.)

POZNÁMKY

Přiřazení jména v doméně UNIX vytvoří soket na souborovém systému, který musí být smazán, jestliže již nebude dále využíván (voláním unlink(2)).
 
Pravidla používaná při přiřazování jména soketu závisí na komunikační doméně (jmenném prostoru). Bližší informace naleznete v sekci 4 manuálových stránek.

NÁVRATOVÁ HODNOTA

Je-li volání úspěšné, je vrácena 0. Při chybě je vrácena -1 a proměnná errno je nastavena.

CHYBY

EBADF
sockfd není platným deskriptorem.
EINVAL
Soket už má přidělenu adresu.
EACCES
Adresa je chráněna a uživatel není super uživatelem.
ENOTSOCK
Argument je souborovým deskriptorem, není to soket.
Následující chyby jsou specifické pro UNIXovou doménu (AF_UNIX):
EINVAL
Adresa addr_len je špatná nebo soket nebyl ve formátu AF_UNIX .
EROFS
I-uzel soketu se má nacházet na souborovém systému určeném pouze pro čtení.
EFAULT
my_addr ukazuje mimo přístupný adresový prostor.
ENAMETOOLONG
my_addr je příliš dlouhá.
ENOENT
Soubor neexistuje.
ENOMEM
Nedostatek paměti v jádře.
ENOTDIR
Část cesty není adresář.
EACCES
Nemáte právo k přístupu do části cesty.
ELOOP
my_addr obsahuje kruhový odkaz (např. přes symbolický odkaz)

SPLŇUJE STANDARDY

SVr4, 4.4BSD (funkce bind se poprvé objevila v BSD 4.2). SVr4 dokumentuje další chyby: EADDRNOTAVAIL, EADDRINUSE, ENOSR, a chyby specifické pro UNIXovou doménu EIO, EISDIR a EROFS.

DALŠÍ INFORMACE

accept(2), connect(2), listen(2), socket(2), getsockname(2)

VAROVÁNÍ

Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/
28. března 1997 Linux 0.99.11