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.

       libcurl does not	support	using network interface	names for this	option
       on Windows.

       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.72.0			 June 18, 2018		  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.2-RELEASE+and+Ports>

home | help