From 4600362a5af3970bbaef545af1d7a6cf90201127 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 31 May 2017 11:56:28 +0200 Subject: opts: more than 100 more examples for man pages... --- docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3 | 31 +++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) (limited to 'docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3') diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3 index 51961972b..2b2b322fe 100644 --- a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3 +++ b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2016, 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 @@ -63,7 +63,34 @@ NULL (no callback) .SH PROTOCOLS All .SH EXAMPLE -TODO +.nf +static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp) +{ + GlobalInfo *g = (GlobalInfo*) cbp; + SockInfo *fdp = (SockInfo*) sockp; + + if(what == CURL_POLL_REMOVE) { + remsock(fdp); + } + else { + if(!fdp) { + addsock(s, e, what, g); + } + else { + setsock(fdp, s, e, what, g); + } + } + return 0; +} + +main() +{ + GlobalInfo setup; + /* ... use socket callback and custom pointer */ + curl_multi_setopt(multi, CURLMOPT_SOCKETFUNCTION, sock_cb); + curl_multi_setopt(multi, CURLMOPT_SOCKETDATA, &setup); +} +.fi .SH AVAILABILITY Added in 7.15.4 .SH RETURN VALUE -- cgit v1.2.3