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

FreeBSD Manual Pages

  
 
  

home | help
CURLOPT_INTERFACE(3)	   curl_easy_setopt options	  CURLOPT_INTERFACE(3)

NAME
       CURLOPT_INTERFACE - source interface for	outgoing traffic

SYNOPSIS
       #include	<curl/curl.h>

       CURLcode	curl_easy_setopt(CURL *handle, CURLOPT_INTERFACE, char *inter-
       face);

DESCRIPTION
       Pass a char * as	parameter. This	sets the interface name	to use as out-
       going  network  interface. The name can be an interface name, an	IP ad-
       dress, or a host	name.

       If the parameter	starts with "if!" then it is treated as	only as	inter-
       face name and no	attempt	will ever be named to do treat it as an	IP ad-
       dress or	to do name resolution on it.  If  the  parameter  starts  with
       "host!" it is treated as	either an IP address or	a hostname.  Hostnames
       are resolved synchronously.  Using the if! format is highly recommended
       when  using  the	 multi interfaces to avoid allowing the	code to	block.
       If "if!"	is specified but the parameter does not	match an existing  in-
       terface,	 CURLE_INTERFACE_FAILED	 is returned from the libcurl function
       used to perform the transfer.

       The application does not	have to	keep the string	around	after  setting
       this option.

DEFAULT
       NULL, use whatever the TCP stack	finds suitable

PROTOCOLS
       All

EXAMPLE
       CURL *curl = curl_easy_init();
       if(curl)	{
	 curl_easy_setopt(curl,	CURLOPT_URL, "http://example.com/foo.bin");

	 curl_easy_setopt(curl,	CURLOPT_INTERFACE, "eth0");

	 ret = curl_easy_perform(curl);

	 curl_easy_cleanup(curl);
       }

AVAILABILITY
       The "if!" and "host!" syntax was	added in 7.24.0.

RETURN VALUE
       Returns	CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was	insuf-
       ficient heap space.

SEE ALSO
       CURLOPT_SOCKOPTFUNCTION(3), CURLOPT_TCP_NODELAY(3),

libcurl	7.54.1			 May 05, 2017		  CURLOPT_INTERFACE(3)

NAME | SYNOPSIS | DESCRIPTION | DEFAULT | PROTOCOLS | EXAMPLE | AVAILABILITY | RETURN VALUE | SEE ALSO

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

home | help