mirror of
https://github.com/curl/curl.git
synced 2024-12-27 06:59:43 +08:00
e3fe020089
Remove the PROTOCOLS section from the source files completely and instead generate them based on the header data in the curldown files. It also generates TLS backend information for options marked for TLS as protocol. Closes #13175
1.5 KiB
1.5 KiB
c | SPDX-License-Identifier | Title | Section | Source | See-also | Protocol | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. | curl | CURLOPT_READDATA | 3 | libcurl |
|
|
NAME
CURLOPT_READDATA - pointer passed to the read callback
SYNOPSIS
#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_READDATA, void *pointer);
DESCRIPTION
Data pointer to pass to the file read function. If you use the CURLOPT_READFUNCTION(3) option, this is the pointer you get as input in the fourth argument to the callback.
If you do not specify a read callback but instead rely on the default internal read function, this data must be a valid readable FILE * (cast to 'void *').
If you are using libcurl as a DLL on Windows, you must use the CURLOPT_READFUNCTION(3) callback if you set this option, otherwise you might experience crashes.
DEFAULT
By default, this is a FILE * to stdin.
EXAMPLE
struct MyData {
void *custom;
};
int main(void)
{
CURL *curl = curl_easy_init();
struct MyData this;
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
/* pass pointer that gets passed in to the
CURLOPT_READFUNCTION callback */
curl_easy_setopt(curl, CURLOPT_READDATA, &this);
curl_easy_perform(curl);
}
}
AVAILABILITY
This option was once known by the older name CURLOPT_INFILE, the name CURLOPT_READDATA(3) was introduced in 7.9.7.
RETURN VALUE
This returns CURLE_OK.