DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

CURLOPT_INTERFACE(3)




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 *interface);


DESCRIPTION

     Pass a char * as parameter. This sets the interface name  to
     use as outgoing network interface. The name can be an inter-
     face name, an IP address, or a host name.

     If the parameter starts with "if!" then  it  is  treated  as
     only  as interface name and no attempt will ever be named to
     do treat it as an IP address 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  syn-
     chronously.  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  interface,  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

libcurl 7.58.0      Last change: May 05, 2017                   1

CURLOPT_INTERFACE(3)curl_easy_setopt options CURLOPT_INTERFACE(3)

     was insufficient heap space.


SEE ALSO

     CURLOPT_SOCKOPTFUNCTION(3), CURLOPT_TCP_NODELAY(3),

libcurl 7.58.0      Last change: May 05, 2017                   2


Man(1) output converted with man2html