'\" t
.\"     Title: nn_bind
.\"    Author: [see the "AUTHOR(S)" section]
.\" Generator: Asciidoctor 2.0.23
.\"      Date: 2021-02-08
.\"    Manual: NNG Reference Manual
.\"    Source: \ \&
.\"  Language: English
.\"
.TH "NN_BIND" "3compat" "2021-02-08" "\ \&" "NNG Reference Manual"
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.ss \n[.ss] 0
.nh
.ad l
.de URL
\fI\\$2\fP <\\$1>\\$3
..
.als MTO URL
.if \n[.g] \{\
.  mso www.tmac
.  am URL
.    ad l
.  .
.  am MTO
.    ad l
.  .
.  LINKSTYLE blue R < >
.\}
.SH "NAME"
nn_bind \- accept connections from remote peers (compatible API)
.SH "SYNOPSIS"
.sp
.if n .RS 4
.nf
.fam C
#include <nanomsg/nn.h>

int nn_bind(int sock, const char *url)
.fam
.fi
.if n .RE
.SH "DESCRIPTION"
.sp
The \f(CRnn_bind()\fP function arranges for the socket \fIsock\fP to
accept connections at the address specified by \fIurl\fP.
An identifier for this socket\(cqs association with the \fIurl\fP is
returned to the caller on success.
This identfier can be used with
\f(CRnn_shutdown()\fP to
remove the association later.
.if n .sp
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
.B Note
.ps -1
.br
.sp
This function is provided for API
compatibility with legacy \fIlibnanomsg\fP.
Consider using the relevant modern API instead.
.sp .5v
.RE
.if n .sp
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
.B Note
.ps -1
.br
.sp
The bind operation is performed asynchronously, and may not have
completed before this function returns control to the caller.
.sp .5v
.RE
.if n .sp
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
.B Important
.ps -1
.br
.sp
Only transports supported by legacy \fIlibnanomsg\fP may be
used with this function.
In particular, only the schemes \f(CRtcp://\fP, \f(CRipc://\fP, \f(CRinproc://\fP, and \f(CRws://\fP are
supported with this function.
(Use the modern API to use other schemes.)
.sp .5v
.RE
.SH "RETURN VALUES"
.sp
This function returns a positive identifier on success, and \-1 on error.
.SH "ERRORS"
.sp
\f(CREADDRINUSE\fP
.RS 4
The address specified by \fIurl\fP is already in use.
.RE
.sp
\f(CREADDRNOTAVAIL\fP
.RS 4
The address specified by \fIurl\fP is not available.
.RE
.sp
\f(CREBADF\fP
.RS 4
The socket \fIsock\fP is not open.
.RE
.sp
\f(CREINVAL\fP
.RS 4
An invalid \fIurl\fP was supplied.
.RE
.SH "SEE ALSO"
.sp
nn_connect(3compat),
nn_errno(3compat),
nn_shutdown(3compat),
nn_socket(3compat),
nn_compat(3compat),
nng(7)