Annotation of 43BSDReno/lib/libc/sys/bind.2, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1983 The Regents of the University of California.
                      2: .\" All rights reserved.
                      3: .\"
                      4: .\" Redistribution and use in source and binary forms are permitted provided
                      5: .\" that: (1) source distributions retain this entire copyright notice and
                      6: .\" comment, and (2) distributions including binaries display the following
                      7: .\" acknowledgement:  ``This product includes software developed by the
                      8: .\" University of California, Berkeley and its contributors'' in the
                      9: .\" documentation or other materials provided with the distribution and in
                     10: .\" all advertising materials mentioning features or use of this software.
                     11: .\" Neither the name of the University nor the names of its contributors may
                     12: .\" be used to endorse or promote products derived from this software without
                     13: .\" specific prior written permission.
                     14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
                     15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
                     16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     17: .\"
                     18: .\"    @(#)bind.2      6.8 (Berkeley) 6/23/90
                     19: .\"
                     20: .TH BIND 2 "June 23, 1990"
                     21: .UC 5
                     22: .SH NAME
                     23: bind \- bind a name to a socket
                     24: .SH SYNOPSIS
                     25: .nf
                     26: .ft B
                     27: #include <sys/types.h>
                     28: #include <sys/socket.h>
                     29: .PP
                     30: .ft B
                     31: bind(s, name, namelen)
                     32: int s;
                     33: struct sockaddr *name;
                     34: int namelen;
                     35: .fi
                     36: .SH DESCRIPTION
                     37: .I Bind
                     38: assigns a name to an unnamed socket.
                     39: When a socket is created 
                     40: with
                     41: .IR socket (2)
                     42: it exists in a name space (address family)
                     43: but has no name assigned.
                     44: .I Bind
                     45: requests that
                     46: .IR name 
                     47: be assigned to the socket.
                     48: .SH NOTES
                     49: Binding a name in the UNIX domain creates a socket in the file
                     50: system that must be deleted by the caller when it is no longer
                     51: needed (using
                     52: .IR unlink (2)).
                     53: .PP
                     54: The rules used in name binding vary between communication domains.
                     55: Consult the manual entries in section 4 for detailed information.
                     56: .SH "RETURN VALUE
                     57: If the bind is successful, a 0 value is returned.
                     58: A return value of \-1 indicates an error, which is
                     59: further specified in the global \fIerrno\fP.
                     60: .SH ERRORS
                     61: The \fIbind\fP call will fail if:
                     62: .TP 20
                     63: [EBADF]
                     64: \fIS\fP is not a valid descriptor.
                     65: .TP 20
                     66: [ENOTSOCK]
                     67: \fIS\fP is not a socket.
                     68: .TP 20
                     69: [EADDRNOTAVAIL]
                     70: The specified address is not available from the local machine.
                     71: .TP 20
                     72: [EADDRINUSE]
                     73: The specified address is already in use.
                     74: .TP 20
                     75: [EINVAL]
                     76: The socket is already bound to an address.
                     77: .TP 20
                     78: [EACCES]
                     79: The requested address is protected, and the current user
                     80: has inadequate permission to access it.
                     81: .TP 20
                     82: [EFAULT]
                     83: The \fIname\fP parameter is not in a valid part of the user
                     84: address space.
                     85: .PP
                     86: The following errors are specific to binding names in the UNIX domain.
                     87: .TP 15
                     88: [ENOTDIR]
                     89: A component of the path prefix is not a directory.
                     90: .TP 15
                     91: [EINVAL]
                     92: The pathname contains a character with the high-order bit set.
                     93: .TP 15
                     94: [ENAMETOOLONG]
                     95: A component of a pathname exceeded 255 characters,
                     96: or an entire path name exceeded 1023 characters.
                     97: .TP 15
                     98: [ENOENT]
                     99: A prefix component of the path name does not exist.
                    100: .TP 15
                    101: [ELOOP]
                    102: Too many symbolic links were encountered in translating the pathname.
                    103: .TP 15
                    104: [EIO]
                    105: An I/O error occurred while making the directory entry or allocating the inode.
                    106: .TP 15
                    107: [EROFS]
                    108: The name would reside on a read-only file system.
                    109: .TP 15
                    110: [EISDIR]
                    111: A null pathname was specified.
                    112: .SH SEE ALSO
                    113: connect(2), listen(2), socket(2), getsockname(2)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.