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

FreeBSD Manual Pages

  
 
  

home | help
CURLMOPT_PUSHDATA(3)	   curl_multi_setopt options	  CURLMOPT_PUSHDATA(3)

NAME
       CURLMOPT_PUSHDATA - pointer to pass to push callback

SYNOPSIS
       #include	<curl/curl.h>

       CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PUSHDATA, void *pointer);

DESCRIPTION
       Set  pointer  to	 pass  as  the last argument to	the CURLMOPT_PUSHFUNC-
       TION(3) callback. The pointer will not be touched or  used  by  libcurl
       itself, only passed on to the callback function.

DEFAULT
       NULL

PROTOCOLS
       HTTP(S)

EXAMPLE
       /* only allow pushes for	file names starting with "push-" */
       int push_callback(CURL *parent,
			 CURL *easy,
			 size_t	num_headers,
			 struct	curl_pushheaders *headers,
			 void *userp)
       {
	 char *headp;
	 int *transfers	= (int *)userp;
	 FILE *out;
	 headp = curl_pushheader_byname(headers, ":path");
	 if(headp && !strncmp(headp, "/push-", 6)) {
	   fprintf(stderr, "The	PATH is	%s\n", headp);

	   /* save the push here */
	   out = fopen("pushed-stream",	"wb");

	   /* write to this file */
	   curl_easy_setopt(easy, CURLOPT_WRITEDATA, out);

	   (*transfers)++; /* one more */

	   return CURL_PUSH_OK;
	 }
	 return	CURL_PUSH_DENY;
       }

       curl_multi_setopt(multi,	CURLMOPT_PUSHFUNCTION, push_callback);
       curl_multi_setopt(multi,	CURLMOPT_PUSHDATA, &counter);

AVAILABILITY
       Added in	7.44.0

RETURN VALUE
       Returns	CURLM_OK  if the option	is supported, and CURLM_UNKNOWN_OPTION
       if not.

SEE ALSO
       CURLMOPT_PUSHFUNCTION(3), CURLMOPT_PIPELINING(3),  CURLOPT_PIPEWAIT(3),
       RFC7540

libcurl	7.54.1			 May 27, 2017		  CURLMOPT_PUSHDATA(3)

NAME | SYNOPSIS | DESCRIPTION | DEFAULT | PROTOCOLS | EXAMPLE | AVAILABILITY | RETURN VALUE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=CURLMOPT_PUSHDATA&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help