Definition: |
include builtins\libcurl.e
sequence res = curl_version_info() |
Description: |
Obtain extended version information.
Returns {} if curl_version_info is not supported (eg 7.9.8 from 2002), otherwise a sequence which can be examined using the LIBCURL_VERSION_XXX constants (elements above LIBCURL_VERSION_PROTOCOLS[=8] may be missing). The following constants are provided: global constant CURLVERSION_FIRST = 0, CURLVERSION_SECOND = 1, CURLVERSION_THIRD = 2, CURLVERSION_FOURTH = 3, CURLVERSION_FIFTH = 4, CURLVERSION_NOW = CURLVERSION_FIFTH global constant LIBCURL_VERSION_AGE = 1, LIBCURL_VERSION_STRING = 2, LIBCURL_VERSION_NUM = 3, LIBCURL_VERSION_HOST = 4, LIBCURL_VERSION_FEATURES = 5, LIBCURL_VERSION_SSL_VERSION = 6, LIBCURL_VERSION_LIBZ_VERSION = 7, LIBCURL_VERSION_PROTOCOLS = 8, -- if LIBCURL_VERSION_AGE>=CURLVERSION_SECOND LIBCURL_VERSION_ARES = 9, LIBCURL_VERSION_ARES_NUM = 10, -- if LIBCURL_VERSION_AGE>=CURLVERSION_THIRD LIBCURL_VERSION_LIBIDN = 11, -- if LIBCURL_VERSION_AGE>=CURLVERSION_FOURTH LIBCURL_VERSION_ICONV_VER_NUM = 12, LIBCURL_VERSION_LIBSSH_VERSION = 13, -- if LIBCURL_VERSION_AGE>=CURLVERSION_FIFTH LIBCURL_VERSION_BROTLI_VER_NUM = 14, LIBCURL_VERSION_BROTLI_VERSION = 15 res[LIBCURL_VERSION_AGE] will be CURLVERSION_FIRST..CURLVERSION_FIFTH (0..4), though personally I would recommend ignoring that field and testing length(res) against the LIBCURL_VERSION_XXX constants instead. res[LIBCURL_VERSION_FEATURES] can contain the following (literal) strings: {"IPV6", See https://curl.haxx.se/libcurl/c/curl_version_info.html for their precise meanings, if you need to. res[LIBCURL_VERSION_PROTOCOLS] can contain the following (literal) strings: {"dict", The protocol names are the same as would be used in URLs. libraries built with SSH support will have a non-"NULL" string returned in res[LIBCURL_VERSION_LIBSSH_VERSION], but tend to be three times bigger. |
Example: |
include libcurl.e ?curl_version() object res = curl_version_info() pp(res,{pp_Nest,1,pp_StrFmt,-2}) -- Output (eg): -- {4, -- "7.57.0", -- {7,57,0}, -- "i386-pc-win32", -- {"IPV6", "SSL", "LIBZ", "NTLM", "ASYNCHDNS", "SPNEGO", "LARGEFILE", "SSPI", -- "KERBEROS5"}, -- "WinSSL", -- "1.2.11", -- {"dict", "file", "ftp", "ftps", "gopher", "http", "https", "imap", "imaps", -- "ldap", "pop3", "pop3s", "rtsp", "smb", "smbs", "smtp", "smtps", "telnet", -- "tftp"}, -- "NULL", -- 0, -- "NULL", -- 0, -- "NULL", -- 0, -- "NULL"} |
See Also: | curl_version, pp |