Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ bind(3) — Atari System V 1.1-06

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

unlink(2)





   bind(3N)                                                           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 family.

         EINVAL              The socket is already bound to an address.

         EACCES              The requested address is protected and the
                             current user has inadequate permission to access
                             it.



   8/91                                                                 Page 1









   bind(3N)                                                           bind(3N)


         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 component of
                             the path prefix of the pathname 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)

























   Page 2                                                                 8/91





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