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

FreeBSD Manual Pages

  
 
  

home | help
CURLOPT_HEADERDATA(3)	   Library Functions Manual	 CURLOPT_HEADERDATA(3)

NAME
       CURLOPT_HEADERDATA - pointer to pass to header callback

SYNOPSIS
       #include	<curl/curl.h>

       CURLcode	curl_easy_setopt(CURL *handle, CURLOPT_HEADERDATA, void	*pointer);

DESCRIPTION
       Pass a pointer to be used to write the header part of the received data
       to.

       If   CURLOPT_WRITEFUNCTION(3)  or  CURLOPT_HEADERFUNCTION(3)  is	 used,
       pointer is passed in to the respective callback.

       If neither of those options are set, pointer must be a valid FILE * and
       it is used by a plain fwrite() to write headers to.

       If you are using	libcurl	 as  a	Windows	 DLL,  you  MUST  use  a  CUR-
       LOPT_WRITEFUNCTION(3)  or CURLOPT_HEADERFUNCTION(3) if you set this op-
       tion or you might experience crashes.

DEFAULT
       NULL

PROTOCOLS
       This functionality affects all supported	protocols

EXAMPLE
       struct my_info {
	 int shoesize;
	 char *secret;
       };

       static size_t header_callback(char *buffer, size_t size,
				     size_t nitems, void *userdata)
       {
	 struct	my_info	*i = userdata;
	 printf("shoe size: %d\n", i->shoesize);
	 /* now	this callback can access the my_info struct */

	 return	nitems * size;
       }

       int main(void)
       {
	 CURL *curl = curl_easy_init();
	 if(curl) {
	   struct my_info my = { 10, "the cookies are in the cupboard" };
	   curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");

	   curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, header_callback);

	   /* pass in custom data to the callback */
	   curl_easy_setopt(curl, CURLOPT_HEADERDATA, &my);

	   curl_easy_perform(curl);
	 }
       }

AVAILABILITY
       Added in	curl 7.10

RETURN VALUE
       curl_easy_setopt(3) returns a CURLcode indicating success or error.

       CURLE_OK	(0) means everything was OK, non-zero means an error occurred,
       see libcurl-errors(3).

SEE ALSO
       CURLOPT_HEADERFUNCTION(3),		     CURLOPT_WRITEFUNCTION(3),
       curl_easy_header(3)

libcurl				  2025-06-03		 CURLOPT_HEADERDATA(3)

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

home | help