curl / libcurl / API / curl_easy_setopt / CURLOPT_SSH_KEYDATA

CURLOPT_SSH_KEYDATA explained

Name

CURLOPT_SSH_KEYDATA - pointer passed to the SSH key callback

Synopsis

 #include <curl/curl.h>   CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KEYDATA, void *pointer); 

Description

Pass a void * as parameter. This pointer is passed along verbatim to the callback set with CURLOPT_SSH_KEYFUNCTION.

Default

NULL

Protocols

This functionality affects scp and sftp

Example

 struct mine {   void *custom; }; static int keycb(CURL *easy,   const struct curl_khkey *knownkey,   const struct curl_khkey *foundkey,   enum curl_khmatch match,   void *clientp) {   /* 'clientp' points to the callback_data struct */   /* investigate the situation and return the correct value */   return CURLKHSTAT_FINE_ADD_TO_FILE; }   int main(void) {   CURL *curl = curl_easy_init();   if(curl) {   struct mine callback_data;   curl_easy_setopt(curl, CURLOPT_URL, "sftp://example.com/thisfile.txt");   curl_easy_setopt(curl, CURLOPT_SSH_KEYFUNCTION, keycb);   curl_easy_setopt(curl, CURLOPT_SSH_KEYDATA, &callback_data);   curl_easy_setopt(curl, CURLOPT_SSH_KNOWNHOSTS, "/home/user/known_hosts");     curl_easy_perform(curl);   } } 

Availability

Added in curl 7.19.6

Return value

curl_easy_setopt returns a CURLcode indicating success or error.

CURLE_OK (0) means everything was OK, non-zero means an error occurred, see libcurl-errors.

See also

CURLOPT_SSH_KEYDATA(3), CURLOPT_SSH_KNOWNHOSTS(3)

This HTML page was made with roffit.