Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 in-
     ternal 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) {
	 CURLcode result;
	 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);

	 result = curl_easy_perform(curl);
	 curl_easy_cleanup(curl);
       }
     }

HISTORY
     This  option was once known by the older name CURLOPT_INFILE, the name CUR-
     LOPT_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),  CUR-
     LOPT_WRITEFUNCTION(3)

libcurl 			   2026-06-11		     CURLOPT_READDATA(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=CURLOPT_READDATA&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help