aboutsummaryrefslogtreecommitdiff
path: root/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2017-05-31 11:56:28 +0200
committerDaniel Stenberg <daniel@haxx.se>2017-05-31 11:56:53 +0200
commit4600362a5af3970bbaef545af1d7a6cf90201127 (patch)
tree7061ec58c114e0e6c504c8f0fa22042ce94d60ea /docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
parent69a6cc2e135fbecc5fd21a1bc8cf4d8dfe0dc030 (diff)
opts: more than 100 more examples for man pages...
Diffstat (limited to 'docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3')
-rw-r--r--docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.331
1 files changed, 29 insertions, 2 deletions
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, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, 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