Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
socket_connect6(3)	    Library Functions Manual	      socket_connect6(3)

NAME
     socket_connect6 - attempt to make a TCP connection

SYNTAX
     #include <libowfat/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

     *	    0,	to indicate that the connection succeeded (and succeeded immedi-
	    ately, if the socket is non-blocking)

     *	    -1, setting errno to error_inprogress or error_wouldblock, to  indi-
	    cate that the socket is non-blocking

     *	    -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 con-
     nection 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 <libowfat/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_fastopen_connect6(3), socket_getifname(3)

							      socket_connect6(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=libowfat_socket_connect6&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help