Manpages - CURLOPT_PROGRESSDATA.3

Table of Contents

NAME

CURLOPT_PROGRESSDATA - pointer passed to the progress callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROGRESSDATA, void *pointer);

DESCRIPTION

Pass a pointer that will be untouched by libcurl and passed as the first argument in the progress callback set with CURLOPT_PROGRESSFUNCTION(3).

DEFAULT

The default value of this parameter is NULL.

PROTOCOLS

All

EXAMPLE

   struct progress {
     char *private;
     size_t size;
   };

   static size_t progress_callback(void *clientp,
                                   double dltotal,
                                   double dlnow,
                                   double ultotal,
                                   double ulnow)
   {
     struct memory *progress = (struct progress *)userp;

     /* use the values */

     return 0; /* all is good */
   }

   struct progress data;

   /* pass struct to callback  */
   curl_easy_setopt(curl_handle, CURLOPT_PROGRESSDATA, &data);

   curl_easy_setopt(curl_handle, CURLOPT_PROGRESSFUNCTION, progress_callback);

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

*CURLOPT_PROGRESSFUNCTION*(3), *CURLOPT_XFERINFOFUNCTION*(3),

Author: dt

Created: 2022-02-20 Sun 15:05