Provided by: libcurl4-doc_8.11.0-1ubuntu2_all bug

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

       stdin

PROTOCOLS

       This functionality affects all supported protocols

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);
         }
       }

HISTORY

       This option was once known by the older name CURLOPT_INFILE, the name  CURLOPT_READDATA(3)
       was introduced in 7.9.7.

AVAILABILITY

       Added in curl 7.9.7

RETURN VALUE

       This returns CURLE_OK.

SEE ALSO

       CURLOPT_HEADERDATA(3),            CURLOPT_READFUNCTION(3),           CURLOPT_WRITEDATA(3),
       CURLOPT_WRITEFUNCTION(3)