From 5ddad099b42b505a9449738db124ed6b1389afc1 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 15 May 2017 11:45:19 +0200 Subject: docs/libcurl/opts: added more examples in man pages --- docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3 | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3') diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3 b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3 index 00dd3166e..975c7eb96 100644 --- a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3 +++ b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. +.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -35,7 +35,29 @@ The default value of this parameter is NULL. .SH PROTOCOLS All .SH EXAMPLE -TODO +.nf +static int sockopt_callback(void *clientp, curl_socket_t curlfd, + curlsocktype purpose) +{ + int val = *(int *)clientp; + setsockopt(curldfd, SOL_SOCKET, SO_RCVBUF, (const char *)&val, sizeof(val)); + return CURL_SOCKOPT_OK; +} + +curl = curl_easy_init(); +if(curl) { + int recvbuffersize = 256 * 1024; + + curl_easy_setopt(curl, CURLOPT_URL, "http://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); +.fi .SH AVAILABILITY Added in 7.16.0 .SH RETURN VALUE -- cgit v1.2.3