curl/docs/libcurl/opts/CURLINFO_SSL_ENGINES.md
Daniel Stenberg e3fe020089
docs/libcurl: generate PROTOCOLS from meta-data
Remove the PROTOCOLS section from the source files completely and
instead generate them based on the header data in the curldown files.

It also generates TLS backend information for options marked for TLS as
protocol.

Closes #13175
2024-03-23 18:13:03 +01:00

1.4 KiB

c SPDX-License-Identifier Title Section Source See-also Protocol TLS-backend
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. curl CURLINFO_SSL_ENGINES 3 libcurl
CURLOPT_SSLENGINE (3)
curl_easy_getinfo (3)
curl_easy_setopt (3)
TLS
OpenSSL

NAME

CURLINFO_SSL_ENGINES - get an slist of OpenSSL crypto-engines

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_ENGINES,
                           struct curl_slist **engine_list);

DESCRIPTION

Pass the address of a 'struct curl_slist *' to receive a linked-list of OpenSSL crypto-engines supported. Note that engines are normally implemented in separate dynamic libraries. Hence not all the returned engines may be available at runtime. NOTE: you must call curl_slist_free_all(3) on the list pointer once you are done with it, as libcurl does not free this data for you.

EXAMPLE

int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode res;
    struct curl_slist *engines;
    res = curl_easy_getinfo(curl, CURLINFO_SSL_ENGINES, &engines);
    if((res == CURLE_OK) && engines) {
      /* we have a list, free it when done using it */
      curl_slist_free_all(engines);
    }

    curl_easy_cleanup(curl);
  }
}

AVAILABILITY

Added in 7.12.3. Available in OpenSSL builds with "engine" support.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.