Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/curl/docs/libcurl/curl_share_setopt.3 @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 .\" ************************************************************************** | |
| 2 .\" * _ _ ____ _ | |
| 3 .\" * Project ___| | | | _ \| | | |
| 4 .\" * / __| | | | |_) | | | |
| 5 .\" * | (__| |_| | _ <| |___ | |
| 6 .\" * \___|\___/|_| \_\_____| | |
| 7 .\" * | |
| 8 .\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. | |
| 9 .\" * | |
| 10 .\" * This software is licensed as described in the file COPYING, which | |
| 11 .\" * you should have received as part of this distribution. The terms | |
| 12 .\" * are also available at https://curl.haxx.se/docs/copyright.html. | |
| 13 .\" * | |
| 14 .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell | |
| 15 .\" * copies of the Software, and permit persons to whom the Software is | |
| 16 .\" * furnished to do so, under the terms of the COPYING file. | |
| 17 .\" * | |
| 18 .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | |
| 19 .\" * KIND, either express or implied. | |
| 20 .\" * | |
| 21 .\" ************************************************************************** | |
| 22 .TH curl_share_setopt 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl Manual" | |
| 23 .SH NAME | |
| 24 curl_share_setopt - Set options for a shared object | |
| 25 .SH SYNOPSIS | |
| 26 .B #include <curl/curl.h> | |
| 27 .sp | |
| 28 CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option, parameter); | |
| 29 .ad | |
| 30 .SH DESCRIPTION | |
| 31 Set the \fIoption\fP to \fIparameter\fP for the given \fIshare\fP. | |
| 32 .SH OPTIONS | |
| 33 .IP CURLSHOPT_LOCKFUNC | |
| 34 The \fIparameter\fP must be a pointer to a function matching the following | |
| 35 prototype: | |
| 36 | |
| 37 void lock_function(CURL *handle, curl_lock_data data, curl_lock_access access, | |
| 38 void *userptr); | |
| 39 | |
| 40 The \fIdata\fP argument tells what kind of data libcurl wants to lock. Make | |
| 41 sure that the callback uses a different lock for each kind of data. | |
| 42 | |
| 43 \fIaccess\fP defines what access type libcurl wants, shared or single. | |
| 44 | |
| 45 \fIuserptr\fP is the pointer you set with \fICURLSHOPT_USERDATA\fP. | |
| 46 .IP CURLSHOPT_UNLOCKFUNC | |
| 47 The \fIparameter\fP must be a pointer to a function matching the following | |
| 48 prototype: | |
| 49 | |
| 50 void unlock_function(CURL *handle, curl_lock_data data, void *userptr); | |
| 51 | |
| 52 \fIdata\fP defines what data libcurl wants to unlock, and you must make sure | |
| 53 that only one lock is given at any time for each kind of data. | |
| 54 | |
| 55 \fIuserptr\fP is the pointer you set with \fICURLSHOPT_USERDATA\fP. | |
| 56 .IP CURLSHOPT_SHARE | |
| 57 The \fIparameter\fP specifies a type of data that should be shared. This may | |
| 58 be set to one of the values described below. | |
| 59 .RS | |
| 60 .IP CURL_LOCK_DATA_COOKIE | |
| 61 Cookie data will be shared across the easy handles using this shared object. | |
| 62 .IP CURL_LOCK_DATA_DNS | |
| 63 Cached DNS hosts will be shared across the easy handles using this shared | |
| 64 object. Note that when you use the multi interface, all easy handles added to | |
| 65 the same multi handle will share DNS cache by default without using this | |
| 66 option. | |
| 67 .IP CURL_LOCK_DATA_SSL_SESSION | |
| 68 SSL session IDs will be shared across the easy handles using this shared | |
| 69 object. This will reduce the time spent in the SSL handshake when reconnecting | |
| 70 to the same server. Note SSL session IDs are reused within the same easy handle | |
| 71 by default. Note this symbol was added in 7.10.3 but was not implemented until | |
| 72 7.23.0. | |
| 73 .IP CURL_LOCK_DATA_CONNECT | |
| 74 Put the connection cache in the share object and make all easy handles using | |
| 75 this share object share the connection cache. Using this, you can for example | |
| 76 do multi-threaded libcurl use with one handle in each thread, and yet have a | |
| 77 shared pool of unused connections and this way get way better connection | |
| 78 re-use than if you use one separate pool in each thread. | |
| 79 | |
| 80 Connections that are used for HTTP/1.1 Pipelining or HTTP/2 multiplexing only | |
| 81 get additional transfers added to them if the existing connection is held by | |
| 82 the same multi or easy handle. libcurl does not support doing HTTP/2 streams | |
| 83 in different threads using a shared connection. | |
| 84 | |
| 85 Support for \fBCURL_LOCK_DATA_CONNECT\fP was added in 7.57.0, but the symbol | |
| 86 existed before this. | |
| 87 | |
| 88 Note that when you use the multi interface, all easy handles added to the same | |
| 89 multi handle will share connection cache by default without using this option. | |
| 90 .IP CURL_LOCK_DATA_PSL | |
| 91 The Public Suffix List stored in the share object is made available to all | |
| 92 easy handle bound to the later. Since the Public Suffix List is periodically | |
| 93 refreshed, this avoids updates in too many different contexts. | |
| 94 | |
| 95 \fBCURL_LOCK_DATA_PSL\fP exists since 7.61.0. | |
| 96 | |
| 97 Note that when you use the multi interface, all easy handles added to the same | |
| 98 multi handle will share PSL cache by default without using this option. | |
| 99 .RE | |
| 100 .IP CURLSHOPT_UNSHARE | |
| 101 This option does the opposite of \fICURLSHOPT_SHARE\fP. It specifies that | |
| 102 the specified \fIparameter\fP will no longer be shared. Valid values are | |
| 103 the same as those for \fICURLSHOPT_SHARE\fP. | |
| 104 .IP CURLSHOPT_USERDATA | |
| 105 The \fIparameter\fP allows you to specify a pointer to data that will be passed | |
| 106 to the lock_function and unlock_function each time it is called. | |
| 107 .SH RETURN VALUE | |
| 108 CURLSHE_OK (zero) means that the option was set properly, non-zero means an | |
| 109 error occurred as \fI<curl/curl.h>\fP defines. See the \fIlibcurl-errors.3\fP | |
| 110 man page for the full list with descriptions. | |
| 111 .SH "SEE ALSO" | |
| 112 .BR curl_share_cleanup "(3), " curl_share_init "(3)" |
