*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> bind (2)              
Title
Content
Arch
Section
 

bind(2)

Contents


NAME    [Toc]    [Back]

       bind - Bind a name to a socket

SYNOPSIS    [Toc]    [Back]

       #include <sys/socket.h>

       int bind(
               int socket,
               const struct sockaddr *address,
               socklen_t address_len );

       [XNS4.0]  The  definition  of  the  accept()  function  in
       XNS4.0 uses a a size_t data type instead of socklen_t data
       type as specified in XNS5.0 (the previous definition).

       [Tru64 UNIX]  The following definition of the bind() function
 does not conform to current  standards  and  is  supported
 only for backward compatibility (see standards(5)):
       int bind(
               int socket,
               struct sockaddr *address,
               int address_len );

STANDARDS    [Toc]    [Back]

       Interfaces documented on this reference  page  conform  to
       industry standards as follows:

       bind(): XNS4.0, XNS5.0

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

PARAMETERS    [Toc]    [Back]

       Specifies the socket descriptor of the socket to be bound.
       Points  to  a  sockaddr  structure, the format of which is
       determined by the domain and by the behavior requested for
       the  socket.  The  sockaddr  structure is an overlay for a
       sockaddr_in, sockaddr_un, sockaddr_in6, or  sockaddr_storage
 structure, depending on which of the supported address
       families is active.

              [Tru64 UNIX]  If  the  compile-time  option  _SOCKADDR_LEN
  is defined before the sys/socket.h header
              file is  included,  the  sockaddr  structure  takes
              4.4BSD  behavior,  with  a field for specifying the
              length  of  the  socket  address.  Otherwise,   the
              default 4.3BSD sockaddr structure is used, with the
              length of the socket address assumed to be 14 bytes
              or less.

              If  _SOCKADDR_LEN  is  defined, the 4.3BSD sockaddr
              structure  is  defined  with  the  name  osockaddr.
              Specifies  the  length  of  the  sockaddr structure
              pointed to by the address parameter.








DESCRIPTION    [Toc]    [Back]

       The bind() function  assigns  an  address  to  an  unnamed
       socket.  Sockets  created  with  the socket() function are
       unnamed; they are identified only by their address family.

       A  bind  that  references  a  UNIX domain socket (AF_UNIX)
       causes a socket file to be created in the  filesystem.  By
       default,  the  sockets are created, like regular files and
       directories, with the following mode set:

       0777 &~ umask

       If the insecure_bind kernel tuning parameter is set  to  a
       value  other  than zero (0), umask is ignored and new UNIX
       domain sockets are created with mode 0777 only. The  insecure_bind
  parameter can be set by using either the dxkerneltuner
 utility or  the  /sbin/sysconfigdb  utility.  See
       System  Configuration  and  Tuning for more information on
       tuning parameters.

       An application program can retrieve  the  assigned  socket
       name with the getsockname() function.

       The socket in use may require that the process have appropriate
 privileges to use the bind() function.

                             Security Note

       [Tru64 UNIX]   If you have enhanced security installed  on
       your system, the bind() function operates as follows:

       A  bind  that  references  a  UNIX  domain socket causes a
       socket file to be created in the  filesystem.  The  access
       checks  that  are  made are identical to those made by the
       open() function when creating a new file.

RETURN VALUES    [Toc]    [Back]

       Upon successful completion, the bind() function returns  a
       value  of  0 (zero). If the bind() function fails, a value
       of -1 is returned and errno is set to indicate the  error.

ERRORS    [Toc]    [Back]

       If  the  bind() function fails, errno may be set to one of
       the following values: The requested address  is  protected
       and  the  current  user does not have permission to access
       it.

              For an AF_UNIX socket, a component of the path prefix
  is  protected and you cannot search it, or the
              requested name requires writing in a directory with
              a mode that denies write permission.  The specified
              address is already in use.  The  specified  address
              is not available from the local machine.  The specified
 address is invalid for the address family  of
              the  specified socket.  The socket parameter is not
              valid.  For an AF_UNIX socket, the address argument
              is a null pointer.  The address parameter is not in
              a readable part of the  user  address  space.   The
              socket  is already bound to an address and the protocol
 does not support binding to  a  new  address;
              the socket has been shut down; or the length or the
              address_len argument is  invalid  for  the  address
              family.   For  an  AF_UNIX  socket,  an  I/O  error
              occurred.  The socket is  already  connected.   The
              address argument is a null pointer.  For an AF_UNIX
              socket, too many symbolic links were encountered in
              translating  the  pathname in address.  A component
              of the pathname exceeded NAME_MAX characters, or an
              entire   pathname   exceeded  PATH_MAX  characters.
              Insufficient resources were available in the system
              to  complete  the  call.   For an AF_UNIX socket, a
              component of the pathname does not name an existing
              file  or  the  pathname  is  an  empty string.  The
              available STREAMS resources were  insufficient  for
              the  operation to complete.  For an AF_UNIX socket,
              a component of the path prefix of the  pathname  in
              address  is  not a directory.  The socket parameter
              refers to a file, not a socket.  The socket type of
              the specified socket does not support binding to an
              address.  For an AF_UNIX  socket,  the  name  would
              reside on a read-only filesystem.

SEE ALSO    [Toc]    [Back]

      
      
       Functions:    connect(2),    getsockname(2),    listen(2),
       socket(2).

       Standards: standards(5).

       Network Programmer's Guide

       System Configuration and Tuning



                                                          bind(2)
[ Back ]
 Similar pages
Name OS Title
bind HP-UX bind an address to a socket
cap_bind IRIX bind a privileged name to a socket
bindresvport Linux bind a socket to a privileged IP port
bindresvport_sa FreeBSD bind a socket to a privileged IP port
bindresvport NetBSD bind a socket to a privileged IP port
bindresvport_sa OpenBSD bind a socket to a privileged IP port
bindresvport OpenBSD bind a socket to a privileged IP port
bindresvport FreeBSD bind a socket to a privileged IP port
bindresvport Tru64 Bind a socket to a privileged IP port
bindresvport_sa NetBSD bind a socket to a privileged IP port
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service