Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

unlink(2)



bind(3N)                NETWORK FUNCTIONS                bind(3N)



NAME
     bind - bind a name to a socket

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

     bind(s, name, namelen)
     int s;
     struct sockaddr *name;
     int namelen;

DESCRIPTION
     bind() assigns a name to an unnamed socket.  When  a  socket
     is  created  with  socket(3N),  it  exists  in  a name space
     (address family) but has no name assigned.  bind()  requests
     that the name pointed to by name be assigned to the socket.

NOTES
     Binding a name in the UNIX domain creates a  socket  in  the
     file system that must be deleted by the caller when it is no
     longer needed (using unlink(2)).

     The rules used in name binding  vary  between  communication
     domains.

RETURN VALUE
     If the bind is successful, a 0 value is returned.  A  return
     value  of  -1 indicates an error, which is further specified
     in the global errno.

ERRORS
     The bind() call will fail if:

     EBADF               s is not a valid descriptor.

     ENOTSOCK            s is a descriptor  for  a  file,  not  a
                         socket.

     EADDRNOTAVAIL       The specified address is  not  available
                         on the local machine.

     EADDRINUSE          The specified address is already in use.

     EINVAL              namelen is  not  the  size  of  a  valid
                         address  for  the specified address fam-
                         ily.

     EINVAL              The  socket  is  already  bound  to   an
                         address.

     EACCES              The requested address is  protected  and



                          Last change:                          1





bind(3N)                NETWORK FUNCTIONS                bind(3N)



                         the  current user has inadequate permis-
                         sion to access it.

     ENOSR               There    were    insufficient    STREAMS
                         resources for the operation to complete.

     The following errors are specific to binding  names  in  the
     UNIX domain:

     ENOTDIR             A component of the path  prefix  of  the
                         pathname in name is not a directory.

     ENOENT              A component of the path  prefix  of  the
                         pathname in name does not exist.

     EACCES              Search permission is denied for  a  com-
                         ponent  of  the path prefix of the path-
                         name in name.

     ELOOP               Too many symbolic links were encountered
                         in translating the pathname in name.

     EIO                 An I/O error occurred while  making  the
                         directory entry or allocating the inode.

     EROFS               The inode would reside  on  a  read-only
                         file system.

     EISDIR              A null pathname was specified.

SEE ALSO
     unlink(2)























                          Last change:                          2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026