CURLINFO_SSL_ENGINES(3)

πŸ¦‹ CURLINFO_SSL_ENGINES(3) πŸ¦‹

okay bestie, this is the Library Functions Manual page for CURLINFO_SSL_ENGINES(3), and it is literally giving OpenSSL engine-list realness. 🫢


🌸 NAME 🌸

CURLINFO_SSL_ENGINES β€” an slist of OpenSSL crypto-engines. periodt. πŸ’…


✨ SYNOPSIS ✨

       #include <curl/curl.h>

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

πŸŽ€ DESCRIPTION πŸŽ€

okay so you pass the address of a struct curl_slist * to receive a linked-list of OpenSSL crypto-engines supported. no cap, that's the whole vibe. 🧚

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. like, do not forget this part, bestie. 😭


🌈 PROTOCOLS 🌈

this functionality affects all TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. πŸ’–

this option works only with the following TLS backends: OpenSSL.


πŸ¦‹ EXAMPLE πŸ¦‹

       int main(void)
       {
         CURL *curl = curl_easy_init();
         if(curl) {
           CURLcode result;
           struct curl_slist *engines;
           result = curl_easy_getinfo(curl, CURLINFO_SSL_ENGINES, &engines);
           if((result == 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 curl 7.12.3. iconic behavior. πŸ‘‘


πŸ’œ RETURN VALUE πŸ’œ

curl_easy_getinfo(3) returns a CURLcode indicating success or error. 🫑

CURLE_OK (0) means everything was OK, non-zero means an error occurred, see libcurl-errors(3).


πŸ”₯ SEE ALSO πŸ”₯


that's the whole page, bestie β€” brought to you by libcurl, dated 2026-10-12, and this cutie is CURLINFO_SSL_ENGINES(3). slay, go free your slist. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from