1CURLOPT_XFERINFODATA(3)    curl_easy_setopt options    CURLOPT_XFERINFODATA(3)
2
3
4

NAME

6       CURLOPT_XFERINFODATA - custom pointer passed to the progress callback
7

SYNOPSIS

9       #include <curl/curl.h>
10
11       CURLcode   curl_easy_setopt(CURL  *handle,  CURLOPT_XFERINFODATA,  void
12       *pointer);
13

DESCRIPTION

15       Pass a pointer that will be untouched by  libcurl  and  passed  as  the
16       first  argument in the progress callback set with CURLOPT_XFERINFOFUNC‐
17       TION(3).
18
19       This is an alias for CURLOPT_PROGRESSDATA(3).
20

DEFAULT

22       The default value of this parameter is NULL.
23

PROTOCOLS

25       All
26

EXAMPLE

28        struct progress {
29          char *private;
30          size_t size;
31        };
32
33        static size_t progress_callback(void *clientp,
34                                        curl_off_t dltotal,
35                                        curl_off_t dlnow,
36                                        curl_off_t ultotal,
37                                        curl_off_t ulnow)
38        {
39          struct memory *progress = (struct progress *)userp;
40
41          /* use the values */
42
43          return 0; /* all is good */
44        }
45
46        struct progress data;
47
48        /* pass struct to callback  */
49        curl_easy_setopt(curl_handle, CURLOPT_XFERINFODATA, &data);
50
51        curl_easy_setopt(curl_handle, CURLOPT_XFERINFOFUNCTION, progress_callback);
52

AVAILABILITY

54       Added in 7.32.0
55

RETURN VALUE

57       Returns CURLE_OK
58

SEE ALSO

60       CURLOPT_XFERINFOFUNCTION(3), CURLOPT_VERBOSE(3),
61
62
63
64libcurl 7.79.1                September 01, 2021       CURLOPT_XFERINFODATA(3)
Impressum