| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- .\" generated by cd2nroff 0.1 from CURLOPT_PROGRESSDATA.md
- .TH CURLOPT_PROGRESSDATA 3 "2025-01-17" libcurl
- .SH NAME
- CURLOPT_PROGRESSDATA \- pointer passed to the progress callback
- .SH SYNOPSIS
- .nf
- #include <curl/curl.h>
- CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROGRESSDATA, void *pointer);
- .fi
- .SH DESCRIPTION
- Pass a \fIpointer\fP that is untouched by libcurl and passed as the first
- argument in the progress callback set with \fICURLOPT_PROGRESSFUNCTION(3)\fP.
- .SH DEFAULT
- NULL
- .SH PROTOCOLS
- This functionality affects all supported protocols
- .SH EXAMPLE
- .nf
- struct progress {
- char *private;
- size_t size;
- };
- static size_t progress_callback(void *clientp,
- double dltotal,
- double dlnow,
- double ultotal,
- double ulnow)
- {
- struct progress *memory = clientp;
- printf("private: %p\\n", memory->private);
- /* use the values */
- return 0; /* all is good */
- }
- int main(void)
- {
- CURL *curl = curl_easy_init();
- if(curl) {
- struct progress data;
- /* pass struct to callback */
- curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, &data);
- curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, progress_callback);
- curl_easy_perform(curl);
- }
- }
- .fi
- .SH AVAILABILITY
- Added in curl 7.1
- .SH RETURN VALUE
- Returns CURLE_OK
- .SH SEE ALSO
- .BR CURLOPT_PROGRESSFUNCTION (3),
- .BR CURLOPT_XFERINFOFUNCTION (3)
|