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	<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 im-
	      mediately, 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 con-
	      nection 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	appro-
       priately.

       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_fastopen_connect6(3),	socket_getifname(3)

							    socket_connect6(3)

NAME | SYNTAX | DESCRIPTION | EXAMPLE | SEE ALSO

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

home | help