DragonFly On-Line Manual Pages
socket_connect6(3) DragonFly Library Functions Manual socket_connect6(3)
NAME
socket_connect6 - attempt to make a TCP connection
SYNTAX
#include <socket.h>
int socket_connect6(int s, const char ip[16],
uint16 port,uint32 scope_id);
DESCRIPTION
socket_connect6 attempts to make a connection from TCP socket s to TCP
port port on IP address ip.
The meaning of scope_id is dependent on the implementation and IPv6 IP.
On link-local IPv6 addresses it specifies the outgoing interface index.
The name (e.g. "eth0") for a given interface index can be queried with
getifname. scope_id should normally be set to 0.
socket_connect6 may return
o 0, to indicate that the connection succeeded (and succeeded
immediately, if the socket is non-blocking)
o -1, setting errno to error_inprogress or error_wouldblock, to
indicate that the socket is non-blocking
o -1, setting errno to something else, to indicate that the
connection failed (and failed immediately, if the socket is non-
blocking).
When a background connection succeeds or fails, s becomes writable; you
can use socket_connected to see whether the connection succeeded. If
the connection failed, socket_connected returns 0, setting errno
appropriately.
Once a TCP socket is connected, you can use the read and write system
calls to transmit data.
You can call socket_connect6 without calling socket_bind6. This has
the effect as first calling socket_bind6 with IP address :: and port 0.
EXAMPLE
#include <socket.h>
int s;
char ip[16];
uint16 p;
s = socket_tcp6();
socket_bind6(s,ip,p);
socket_connect6(s,ip,p,0);
SEE ALSO
socket_connect4(3), socket_getifname(3)
socket_connect6(3)