bind man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

bind(2)								       bind(2)

       bind - Bind a name to a socket

       #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 compat‐
       ibility (see standards(5)): int bind(
	       int socket,
	       struct sockaddr *address,
	       int address_len );

       Interfaces  documented on this reference page conform to industry stan‐
       dards as follows:

       bind(): XNS4.0, XNS5.0

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

       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_stor‐
       age  structure, depending on which of the supported address families is

	      [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 spec‐
	      ifying  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.

       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  cre‐
       ated, 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 parame‐

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

       The  socket in use may require that the process have appropriate privi‐
       leges 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  identi‐
       cal to those made by the open() function when creating a new file.

       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.

       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 pro‐
	      tected 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 path‐
	      name 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 path‐
	      name 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.

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

       Standards: standards(5).

       Network Programmer's Guide

       System Configuration and Tuning


List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net