Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ bind(3N) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

unlink(2)

socket(3N)

bind(3N)                                                           bind(3N)

NAME
     bind - bind a name to a socket

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

     int bind(int s, const 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.

DIAGNOSTICS
     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.

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







Page 1                       Reliant UNIX 5.44                Printed 11/98

bind(3N)                                                           bind(3N)

     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), socket(3N).































Page 2                       Reliant UNIX 5.44                Printed 11/98

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