dwww Home | Manual pages | Find package

CURLOPT_READDATA(3)         Library Functions Manual        CURLOPT_READDATA(3)

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 CUR-
       LOPT_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  CUR-
       LOPT_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)

libcurl                            2026-07-12               CURLOPT_READDATA(3)

Generated by dwww version 1.16 on Sat Oct 3 05:43:22 CEST 2026.