1*aca3beaaSApple OSS Distributions.\" $NetBSD: bind.2,v 1.8 1995/10/12 15:40:46 jtc Exp $ 2*aca3beaaSApple OSS Distributions.\" 3*aca3beaaSApple OSS Distributions.\" Copyright (c) 1983, 1993 4*aca3beaaSApple OSS Distributions.\" The Regents of the University of California. All rights reserved. 5*aca3beaaSApple OSS Distributions.\" 6*aca3beaaSApple OSS Distributions.\" Redistribution and use in source and binary forms, with or without 7*aca3beaaSApple OSS Distributions.\" modification, are permitted provided that the following conditions 8*aca3beaaSApple OSS Distributions.\" are met: 9*aca3beaaSApple OSS Distributions.\" 1. Redistributions of source code must retain the above copyright 10*aca3beaaSApple OSS Distributions.\" notice, this list of conditions and the following disclaimer. 11*aca3beaaSApple OSS Distributions.\" 2. Redistributions in binary form must reproduce the above copyright 12*aca3beaaSApple OSS Distributions.\" notice, this list of conditions and the following disclaimer in the 13*aca3beaaSApple OSS Distributions.\" documentation and/or other materials provided with the distribution. 14*aca3beaaSApple OSS Distributions.\" 3. All advertising materials mentioning features or use of this software 15*aca3beaaSApple OSS Distributions.\" must display the following acknowledgement: 16*aca3beaaSApple OSS Distributions.\" This product includes software developed by the University of 17*aca3beaaSApple OSS Distributions.\" California, Berkeley and its contributors. 18*aca3beaaSApple OSS Distributions.\" 4. Neither the name of the University nor the names of its contributors 19*aca3beaaSApple OSS Distributions.\" may be used to endorse or promote products derived from this software 20*aca3beaaSApple OSS Distributions.\" without specific prior written permission. 21*aca3beaaSApple OSS Distributions.\" 22*aca3beaaSApple OSS Distributions.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 23*aca3beaaSApple OSS Distributions.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24*aca3beaaSApple OSS Distributions.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25*aca3beaaSApple OSS Distributions.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 26*aca3beaaSApple OSS Distributions.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27*aca3beaaSApple OSS Distributions.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28*aca3beaaSApple OSS Distributions.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29*aca3beaaSApple OSS Distributions.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30*aca3beaaSApple OSS Distributions.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31*aca3beaaSApple OSS Distributions.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32*aca3beaaSApple OSS Distributions.\" SUCH DAMAGE. 33*aca3beaaSApple OSS Distributions.\" 34*aca3beaaSApple OSS Distributions.\" @(#)bind.2 8.1 (Berkeley) 6/4/93 35*aca3beaaSApple OSS Distributions.\" 36*aca3beaaSApple OSS Distributions.Dd March 18, 2015 37*aca3beaaSApple OSS Distributions.Dt BIND 2 38*aca3beaaSApple OSS Distributions.Os BSD 4.2 39*aca3beaaSApple OSS Distributions.Sh NAME 40*aca3beaaSApple OSS Distributions.Nm bind 41*aca3beaaSApple OSS Distributions.Nd bind a name to a socket 42*aca3beaaSApple OSS Distributions.Sh SYNOPSIS 43*aca3beaaSApple OSS Distributions.Fd #include <sys/socket.h> 44*aca3beaaSApple OSS Distributions.Ft int 45*aca3beaaSApple OSS Distributions.Fo bind 46*aca3beaaSApple OSS Distributions.Fa "int socket" 47*aca3beaaSApple OSS Distributions.Fa "const struct sockaddr *address" 48*aca3beaaSApple OSS Distributions.Fa "socklen_t address_len" 49*aca3beaaSApple OSS Distributions.Fc 50*aca3beaaSApple OSS Distributions.Sh DESCRIPTION 51*aca3beaaSApple OSS Distributions.Fn bind 52*aca3beaaSApple OSS Distributionsassigns a name to an unnamed socket. 53*aca3beaaSApple OSS DistributionsWhen a socket is created 54*aca3beaaSApple OSS Distributionswith 55*aca3beaaSApple OSS Distributions.Xr socket 2 56*aca3beaaSApple OSS Distributionsit exists in a name space (address family) 57*aca3beaaSApple OSS Distributionsbut has no name assigned. 58*aca3beaaSApple OSS Distributions.Fn bind 59*aca3beaaSApple OSS Distributionsrequests that 60*aca3beaaSApple OSS Distributions.Fa address 61*aca3beaaSApple OSS Distributionsbe assigned to the socket. 62*aca3beaaSApple OSS Distributions.Sh NOTES 63*aca3beaaSApple OSS DistributionsBinding a name in the UNIX domain creates a socket in the file 64*aca3beaaSApple OSS Distributionssystem that must be deleted by the caller when it is no longer 65*aca3beaaSApple OSS Distributionsneeded (using 66*aca3beaaSApple OSS Distributions.Xr unlink 2 ) . 67*aca3beaaSApple OSS Distributions.Pp 68*aca3beaaSApple OSS DistributionsThe rules used in name binding vary between communication domains. 69*aca3beaaSApple OSS DistributionsConsult the manual entries in section 4 for detailed information. 70*aca3beaaSApple OSS Distributions.Sh RETURN VALUES 71*aca3beaaSApple OSS DistributionsUpon successful completion, a value of 0 is returned. 72*aca3beaaSApple OSS DistributionsOtherwise, a value of -1 is returned and the global integer variable 73*aca3beaaSApple OSS Distributions.Va errno 74*aca3beaaSApple OSS Distributionsis set to indicate the error. 75*aca3beaaSApple OSS Distributions.Sh ERRORS 76*aca3beaaSApple OSS DistributionsThe 77*aca3beaaSApple OSS Distributions.Fn bind 78*aca3beaaSApple OSS Distributionssystem call will fail if: 79*aca3beaaSApple OSS Distributions.Bl -tag -width Er 80*aca3beaaSApple OSS Distributions.\" ========== 81*aca3beaaSApple OSS Distributions.It Bq Er EACCES 82*aca3beaaSApple OSS DistributionsThe requested address is protected, and the current user 83*aca3beaaSApple OSS Distributionshas inadequate permission to access it. 84*aca3beaaSApple OSS Distributions.\" ========== 85*aca3beaaSApple OSS Distributions.It Bq Er EADDRINUSE 86*aca3beaaSApple OSS DistributionsThe specified address is already in use. 87*aca3beaaSApple OSS Distributions.\" ========== 88*aca3beaaSApple OSS Distributions.It Bq Er EADDRNOTAVAIL 89*aca3beaaSApple OSS DistributionsThe specified address is not available from the local machine. 90*aca3beaaSApple OSS Distributions.\" ========== 91*aca3beaaSApple OSS Distributions.It Bq Er EAFNOSUPPORT 92*aca3beaaSApple OSS Distributions.Fa address 93*aca3beaaSApple OSS Distributionsis not valid for the address family of 94*aca3beaaSApple OSS Distributions.Fa socket . 95*aca3beaaSApple OSS Distributions.\" ========== 96*aca3beaaSApple OSS Distributions.It Bq Er EBADF 97*aca3beaaSApple OSS Distributions.Fa socket 98*aca3beaaSApple OSS Distributionsis not a valid file descriptor. 99*aca3beaaSApple OSS Distributions.\" ========== 100*aca3beaaSApple OSS Distributions.It Bq Er EDESTADDRREQ 101*aca3beaaSApple OSS Distributions.Fa socket 102*aca3beaaSApple OSS Distributionsis a null pointer. 103*aca3beaaSApple OSS Distributions.\" ========== 104*aca3beaaSApple OSS Distributions.It Bq Er EFAULT 105*aca3beaaSApple OSS DistributionsThe 106*aca3beaaSApple OSS Distributions.Fa address 107*aca3beaaSApple OSS Distributionsparameter is not in a valid part of the user 108*aca3beaaSApple OSS Distributionsaddress space. 109*aca3beaaSApple OSS Distributions.\" ========== 110*aca3beaaSApple OSS Distributions.It Bq Er EINVAL 111*aca3beaaSApple OSS Distributions.Fa socket 112*aca3beaaSApple OSS Distributionsis already bound to an address 113*aca3beaaSApple OSS Distributionsand the protocol does not support binding to a new address. 114*aca3beaaSApple OSS DistributionsAlternatively, 115*aca3beaaSApple OSS Distributions.Fa socket 116*aca3beaaSApple OSS Distributionsmay have been shut down. 117*aca3beaaSApple OSS Distributions.\" ========== 118*aca3beaaSApple OSS Distributions.It Bq Er ENOTSOCK 119*aca3beaaSApple OSS Distributions.Fa socket 120*aca3beaaSApple OSS Distributionsdoes not refer to a socket. 121*aca3beaaSApple OSS Distributions.\" ========== 122*aca3beaaSApple OSS Distributions.It Bq Er EOPNOTSUPP 123*aca3beaaSApple OSS Distributions.Fa socket 124*aca3beaaSApple OSS Distributionsis not of a type that can be bound to an address. 125*aca3beaaSApple OSS Distributions.El 126*aca3beaaSApple OSS Distributions.Pp 127*aca3beaaSApple OSS DistributionsThe following errors are specific to binding names in the UNIX domain. 128*aca3beaaSApple OSS Distributions.Bl -tag -width Er 129*aca3beaaSApple OSS Distributions.\" ========== 130*aca3beaaSApple OSS Distributions.It Bq Er EACCES 131*aca3beaaSApple OSS DistributionsA component of the path prefix does not allow searching 132*aca3beaaSApple OSS Distributionsor the node's parent directory denies write permission. 133*aca3beaaSApple OSS Distributions.\" ========== 134*aca3beaaSApple OSS Distributions.It Bq Er EEXIST 135*aca3beaaSApple OSS DistributionsA file already exists at the pathname. 136*aca3beaaSApple OSS Distributions.Xr unlink 2 137*aca3beaaSApple OSS Distributionsit first. 138*aca3beaaSApple OSS Distributions.\" ========== 139*aca3beaaSApple OSS Distributions.It Bq Er EIO 140*aca3beaaSApple OSS DistributionsAn I/O error occurred while making the directory entry 141*aca3beaaSApple OSS Distributionsor allocating the inode. 142*aca3beaaSApple OSS Distributions.\" ========== 143*aca3beaaSApple OSS Distributions.It Bq Er EISDIR 144*aca3beaaSApple OSS DistributionsAn empty pathname was specified. 145*aca3beaaSApple OSS Distributions.\" ========== 146*aca3beaaSApple OSS Distributions.It Bq Er ELOOP 147*aca3beaaSApple OSS DistributionsToo many symbolic links were encountered in translating the pathname. 148*aca3beaaSApple OSS DistributionsThis is taken to be indicative of a looping symbolic link. 149*aca3beaaSApple OSS Distributions.\" ========== 150*aca3beaaSApple OSS Distributions.It Bq Er ENAMETOOLONG 151*aca3beaaSApple OSS DistributionsA component of a pathname exceeded 152*aca3beaaSApple OSS Distributions.Dv {NAME_MAX} 153*aca3beaaSApple OSS Distributionscharacters, or an entire path name exceeded 154*aca3beaaSApple OSS Distributions.Dv {PATH_MAX} 155*aca3beaaSApple OSS Distributionscharacters. 156*aca3beaaSApple OSS Distributions.\" ========== 157*aca3beaaSApple OSS Distributions.It Bq Er ENOENT 158*aca3beaaSApple OSS DistributionsA component of the path name does not refer to an existing file. 159*aca3beaaSApple OSS Distributions.\" ========== 160*aca3beaaSApple OSS Distributions.It Bq Er ENOTDIR 161*aca3beaaSApple OSS DistributionsA component of the path prefix is not a directory. 162*aca3beaaSApple OSS Distributions.\" ========== 163*aca3beaaSApple OSS Distributions.It Bq Er EROFS 164*aca3beaaSApple OSS DistributionsThe name would reside on a read-only file system. 165*aca3beaaSApple OSS Distributions.El 166*aca3beaaSApple OSS Distributions.Sh LEGACY SYNOPSIS 167*aca3beaaSApple OSS Distributions.Fd #include <sys/types.h> 168*aca3beaaSApple OSS Distributions.Fd #include <sys/socket.h> 169*aca3beaaSApple OSS Distributions.Pp 170*aca3beaaSApple OSS DistributionsThe include file 171*aca3beaaSApple OSS Distributions.In sys/types.h 172*aca3beaaSApple OSS Distributionsis necessary. 173*aca3beaaSApple OSS Distributions.Sh SEE ALSO 174*aca3beaaSApple OSS Distributions.Xr connect 2 , 175*aca3beaaSApple OSS Distributions.Xr connectx 2 , 176*aca3beaaSApple OSS Distributions.Xr getsockname 2 , 177*aca3beaaSApple OSS Distributions.Xr listen 2 , 178*aca3beaaSApple OSS Distributions.Xr socket 2 , 179*aca3beaaSApple OSS Distributions.Xr compat 5 180*aca3beaaSApple OSS Distributions.Sh HISTORY 181*aca3beaaSApple OSS DistributionsThe 182*aca3beaaSApple OSS Distributions.Fn bind 183*aca3beaaSApple OSS Distributionsfunction call appeared in 184*aca3beaaSApple OSS Distributions.Bx 4.2 . 185