Provided by: manpages-es_1.55-9_all bug

NOMBRE

       bind - enlaza un nombre a un conector (socket)

SINOPSIS

       #include <sys/types.h>
       #include <sys/socket.h>

       int bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen);

DESCRIPCIÓN

       bind  da  al conector sockfd la dirección local my_addr.  my_addr tiene
       una longitud de addrlen bytes.  Tradicionalmente, esto se  conoce  como
       “asignar  un  nombre  a  un  conector.”  Cuando un conector se crea con
       socket(2), existe en un espacio de  nombres  (familia  de  direcciones)
       pero carece de nombre.

       Normalmente,  es necesario asignar una dirección local usando bind a un
       conector SOCK_STREAM antes de que éste pueda  recibir  conexiones  (vea
       accept(2)).

       Las  reglas  usadas  en  el  enlace de nombres varían entre familias de
       direcciones. Consulte las entradas de  manual  de  la  Sección  7  para
       obtener  una  información  más  detallada. Para AF_INET vea ip(7), para
       AF_UNIX vea unix(7), para AF_APPLETALK vea ddp(7), para  AF_PACKET  vea
       packet(7), para AF_X25 vea x25(7) y para AF_NETLINK vea netlink(7).

VALOR DEVUELTO

       Se  devuelve  0  en caso de éxito. En caso de error, se devuelve -1 y a
       errno se le asigna un valor apropiado.

ERRORES

       EBADF  sockfd no es un descriptor válido.

       EINVAL El conector ya está enlazado a una dirección. Esto puede cambiar
              en el futuro: véase linux/unix/sock.c para más detalles.

       EACCES La  dirección está protegida y el usuario no es el superusuario.

       Los siguientes errores son específicos a  los  conectores  del  dominio
       UNIX (AF_UNIX):

       EINVAL La  dirección addr_len es incorrecta o el conector no pertenecia
              a la familia AF_UNIX.

       EROFS  El nodo-i del conector reside en un sistema de ficheros de ‘sólo
              lectura’.

       EFAULT my_addr señala fuera del espacio de direcciones accesible por el
              usuario.

       ENAMETOOLONG
              my_addr es demasiado larga.

       ENOENT El fichero no existe.

       ENOMEM No hay suficiente memoria disponible en el núcleo.

       ENOTDIR
              Un componente del camino no es un directorio.

       EACCES El  permiso  de  búsqueda  ha  sido  denegado  en  uno  de   los
              componentes del camino.

       ELOOP  Se  han  encontrado  demasiados  enlaces  simbólicos al resolver
              my_addr.

FALLOS

       No están descritas las opciones de proxy transparente.

CONFORME A

       SVr4, 4.4BSD (la función bind apareció por primera  vez  en  BSD  4.2).
       SVr4    documenta   condiciones   generales   de   error   adicionales:
       EADDRNOTAVAIL, EADDRINUSE y ENOSR, y condiciones de  error  específicas
       del dominio UNIX adicionales: EIO y EISDIR.

NOTA

       El  tercer argumento de bind es en realidad un entero (y esto es lo que
       tienen BSD 4.*, libc4 y libc5).  Cierta confusión  en  POSIX  dio  como
       resultado el actual socklen_t. Véase también accept(2).

VÉASE TAMBIÉN

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