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

FreeBSD Manual Pages

  
 
  

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

NAME
       CURLOPT_SOCKOPTDATA - pointer to	pass to	sockopt	callback

SYNOPSIS
       #include	<curl/curl.h>

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

DESCRIPTION
       Pass a pointer that is untouched	by libcurl and passed as the first ar-
       gument in the sockopt callback set with CURLOPT_SOCKOPTFUNCTION(3).

DEFAULT
       NULL

PROTOCOLS
       This functionality affects all supported	protocols

EXAMPLE
       static int sockopt_callback(void	*clientp, curl_socket_t	curlfd,
				   curlsocktype	purpose)
       {
	 int val = *(int *)clientp;
	 setsockopt((int)curlfd, SOL_SOCKET, SO_RCVBUF,
		    (const char	*)&val,	sizeof(val));
	 return	CURL_SOCKOPT_OK;
       }

       int main(void)
       {
	 CURL *curl = curl_easy_init();
	 if(curl) {
	   CURLcode res;
	   int recvbuffersize =	256 * 1024;

	   curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");

	   /* call this	function to set	options	for the	socket */
	   curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION, sockopt_callback);
	   curl_easy_setopt(curl, CURLOPT_SOCKOPTDATA, &recvbuffersize);

	   res = curl_easy_perform(curl);

	   curl_easy_cleanup(curl);
	 }
       }

AVAILABILITY
       Added in	curl 7.16.0

RETURN VALUE
       Returns	CURLE_OK  if the option	is supported, and CURLE_UNKNOWN_OPTION
       if not.

SEE ALSO
       CURLOPT_OPENSOCKETFUNCTION(3), CURLOPT_SOCKOPTFUNCTION(3)

libcurl				  2025-06-03		CURLOPT_SOCKOPTDATA(3)

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

home | help