Bash-Linux.com : Le SHELL pour les nuls

  Actuellement 50 lignes de commande et 1472 man disponibles
login as: root
root@213.186.33.18's password:
Last login: Thu Feb 9 5:08:19 2012 from 38.107.179.227
[root@bash-linux ~] # echo "Bienvenue sur Bash-Linux.com"_
 Manuel des commandes UNIX (man) Version anglaise

Indiquez la fonction :

Man Bind en anglais

BIND(2) Linux Programmer's Manual BIND(2)
 
NAME


bind - bind a name to a socket
 
SYNOPSIS


#include /* See NOTES */ #include int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
 
DESCRIPTION


When a socket is created with socket(2), it exists in a name space (address family) but has no address assigned to it. bind() assigns the address specified to by addr to the socket referred to by the file descriptor sockfd. addrlen specifies the size, in bytes, of the address structure pointed to by addr. Traditionally, this operation is called "assigning a name to a socket". It is normally necessary to assign a local address using bind() before a SOCK_STREAM socket may receive connections (see accept(2)). The rules used in name binding vary between address families. Consult the manual entries in Section 7 for detailed information. For AF_INET see ip(7), for AF_INET6 see ipv6(7), for AF_UNIX see unix(7), for AF_APPLETALK see ddp(7), for AF_PACKET see packet(7), for AF_X25 see x25(7) and for AF_NETLINK see netlink(7). The actual structure passed for the addr argument will depend on the address family. The sockaddr structure is defined as something like: struct sockaddr { sa_family_t sa_family; char sa_data[14]; } The only purpose of this structure is to cast the structure pointer passed in addr in order to avoid compiler warnings. See EXAMPLE below.
 
RETURN VALUE


On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
 
ERRORS


EACCES The address is protected, and the user is not the superuser.
 
EADDRINUSE


The given address is already in use. EBADF sockfd is not a valid descriptor. EINVAL The socket is already bound to an address.
 
ENOTSOCK


sockfd is a descriptor for a file, not a socket. The following errors are specific to Unix domain (AF_UNIX) sockets: EACCES Search permission is denied on a component of the path prefix. (See also path_resolution(7).)
 
EADDRNOTAVAIL


A nonexistent interface was requested or the requested address was not local. EFAULT addr points outside the user's accessible address space. EINVAL The addrlen is wrong, or the socket was not in the AF_UNIX fam- ily. ELOOP Too many symbolic links were encountered in resolving addr.
 
ENAMETOOLONG


addr is too long. ENOENT The file does not exist. ENOMEM Insufficient kernel memory was available.
 
ENOTDIR


A component of the path prefix is not a directory. EROFS The socket inode would reside on a read-only file system.
 
CONFORMING TO


SVr4, 4.4BSD, POSIX.1-2001 (bind() first appeared in 4.2BSD).
 
NOTES


POSIX.1-2001 does not require the inclusion of , and this header file is not required on Linux. However, some historical (BSD) implementations required this header file, and portable applications are probably wise to include it. The third argument of bind() is in reality an int (and this is what 4.x BSD and libc4 and libc5 have). Some POSIX confusion resulted in the present socklen_t, also used by glibc. See also accept(2).
 
BUGS


The transparent proxy options are not described.
 
EXAMPLE


An example of the use of bind() with Internet domain sockets can be found in getaddrinfo(3). The following example shows how to bind a stream socket in the Unix (AF_UNIX) domain, and accept connections: #include #include #include #include #include #define MY_SOCK_PATH "/somepath" #define LISTEN_BACKLOG 50 #define handle_error(msg) \ do { perror(msg); exit(EXIT_FAILURE); } while (0) int main(int argc, char *argv[]) { int sfd, cfd; struct sockaddr_un my_addr, peer_addr; socklen_t peer_addr_size; sfd = socket(AF_UNIX, SOCK_STREAM, 0); if (sfd == -1) handle_error("socket"); memset(&my_addr, 0, sizeof(struct sockaddr_un)); /* Clear structure */ my_addr.sun_family = AF_UNIX; strncpy(my_addr.sun_path, MY_SOCK_PATH, sizeof(my_addr.sun_path) - 1); if (bind(sfd, (struct sockaddr *) &my_addr, sizeof(struct sockaddr_un)) == -1) handle_error("bind"); if (listen(sfd, LISTEN_BACKLOG) == -1) handle_error("listen"); /* Now we can accept incoming connections one at a time using accept(2) */ peer_addr_size = sizeof(struct sockaddr_un); cfd = accept(sfd, (struct sockaddr *) &peer_addr, &peer_addr_size); if (cfd == -1) handle_error("accept"); /* Code to deal with incoming connection(s)... */ /* When no longer required, the socket pathname, MY_SOCK_PATH should be deleted using unlink(2) or remove(3) */ }
 
SEE ALSO


accept(2), connect(2), getsockname(2), listen(2), socket(2), getad- drinfo(3), ip(7), ipv6(7), path_resolution(7), socket(7), unix(7)
 
COLOPHON


This page is part of release 3.05 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2007-12-28 BIND(2)


 Dernières recherches
Man  en anglais Man bind en anglaisMan  en français Man bind en français
Man  en anglais Man nice en anglaisMan  en français Man nice en français
Man  en anglais Man nearbyint en anglaisMan  en français Man nearbyint en français
Man  en anglais Man munmap en anglaisMan  en français Man munmap en français
Man  en anglais Man cfmakeraw en anglaisMan  en français Man cfmakeraw en français
Man  en anglais Man pts en anglaisMan  en français Man pts en français
Man  en anglais Man tar en anglaisMan  en français Man tar en français
Man  en anglais Man tcp en anglaisMan  en français Man tcp en français
Man  en anglais Man cut en anglaisMan  en français Man cut en français
Man  en anglais Man cat en anglaisMan  en français Man cat en français
Man  en anglais Man man en anglaisMan  en français Man man en français
Man  en anglais Man arp en anglaisMan  en français Man arp en français
Man  en anglais Man env en anglaisMan  en français Man env en français
Man  en anglais Man awk en anglaisMan  en français Man awk en français
Man  en anglais Man pic en anglaisMan  en français Man pic en français

 Recherche

Dans ce moteur de recherche, vous pouvez taper directement votre besoin, en une phrase normale, humaine.
Exemple : vous cherchez comment remplacer un mot par un autre dans tous les fichiers d'un certain dossier. Vous pouvez écrire "Comment remplacer un mot par un autre dans tous les fichiers d'un dossier". Le moteur vous ramenera les résultats en fonction de leur pertinence.
Vous pouvez bien sûr ne chercher qu'un seul mot-clé, par exemple "find".
 Toutes les lignes de code
Par popularité
Par fonction
Recherche avancée
 Les logiciels SHELL/SSH
Putty
Astuces Bash
Faire du SHELL avec PHP!
 La doc officielle
Les man Linux en français
Les man Linux en anglais
 Proposer vos bash
Partagez vos lignes!
 Les requêtes
Déposer une requête
Voir/répondre à une requête
 Quelques sites interessants
Bons sites pour apprendre
 Rechercher