curl/docs/libcurl/opts/CURLSHOPT_UNSHARE.md
Daniel Stenberg b935fd4a07
docs: make each libcurl man specify protocol(s)
The mandatory header now has a mandatory list of protocols for which the
manpage is relevant.

Most man pages already has a "PROTOCOLS" section, but this introduces a
stricter way to specify the relevant protocols.

cd2nroff verifies that at least one protocol is mentioned (which can be
`*`).

This information is not used just yet, but A) the PROTOCOLS section can
now instead get generated and get a unified wording across all manpages
and B) this allows us to more reliably filter/search for protocol
specific manpages/options.

Closes #13166
2024-03-21 15:27:06 +01:00

1.8 KiB

c: Copyright (C) Daniel Stenberg, daniel@haxx.se, et al. SPDX-License-Identifier: curl Title: CURLSHOPT_UNSHARE Section: 3 Source: libcurl See-also: - CURLSHOPT_SHARE (3) - curl_share_cleanup (3) - curl_share_init (3) - curl_share_setopt (3) Protocol: - *

NAME

CURLSHOPT_UNSHARE - remove data to share

SYNOPSIS

#include <curl/curl.h>

CURLSHcode curl_share_setopt(CURLSH *share, CURLSHOPT_UNSHARE, long type);

DESCRIPTION

The type parameter specifies what specific data that should no longer be shared and kept in the share object that was created with curl_share_init(3). In other words, stop sharing that data in this shared object. The given type must be one of the values described below. You can set CURLSHOPT_UNSHARE(3) multiple times with different data arguments to remove multiple types from the shared object. Add data to share again with CURLSHOPT_SHARE(3).

Cookie data is no longer shared across the easy handles using this shared object.

CURL_LOCK_DATA_DNS

Cached DNS hosts are no longer shared across the easy handles using this shared object.

CURL_LOCK_DATA_SSL_SESSION

SSL session IDs are no longer shared across the easy handles using this shared object.

CURL_LOCK_DATA_CONNECT

The connection cache is no longer shared.

CURL_LOCK_DATA_PSL

The Public Suffix List is no longer shared.

PROTOCOLS

All

EXAMPLE

int main(void)
{
  CURLSHcode sh;
  CURLSH *share = curl_share_init();
  sh = curl_share_setopt(share, CURLSHOPT_UNSHARE, CURL_LOCK_DATA_COOKIE);
  if(sh)
    printf("Error: %s\n", curl_share_strerror(sh));
}

AVAILABILITY

Added in 7.10

RETURN VALUE

CURLSHE_OK (zero) means that the option was set properly, non-zero means an error occurred. See libcurl-errors(3) for the full list with descriptions.