NAME¶
socket_bind6_reuse - set the local IP address and port of a socket
SYNTAX¶
#include <socket.h>
int
socket_bind6_reuse(int
s,char
ip[16],uint16
port,
uint32
scope_id);
DESCRIPTION¶
socket_bind6_reuse sets the local IP address and TCP/UDP port of a TCP/UDP
socket
s to
ip and
port respectively.
If the IP address is ::, the operating system chooses a local IP address. If
port is 0, the operating system chooses a port.
Normally socket_bind6_reuse returns 0. If anything goes wrong,
socket_bind6_reuse returns -1, setting errno appropriately.
The
scope_id should normally be zero, but for link-local addresses it
specifies the interface number on which to bind. The interface number for a
given network interface name can be found with
socket_getifidx.
Unlike socket_bind6 this function will also tell the operating system that the
address is to be reused soon, which turns off the normal pause before this IP
and port can be bound again.
EXAMPLE¶
#include <socket.h>
int
s;
char
ip[16];
uint16
p;
s = socket_tcp4();
socket_bind6_reuse(s,ip,p);
socket_connect4(s,ip,p);
SEE ALSO¶
socket_bind6(3)