           curl_version_info - returns run-time libcurl version info

## SYNOPSIS

           #include <curl/curl.h>

           curl_version_info_data   *curl_version_info(   CURLversion
           type);

## DESCRIPTION

           Returns a pointer to a filled in struct  with  information
           about various run-time features in libcurl. type should be
           set to the version of this functionality by the  time  you
           write your program. This way, libcurl will always return a
           proper struct that your program  understands,  while  pro-
           grams  in  the  future  might  get  an  different  struct.
           CURLVERSION_NOW will  be  the  most  recent  one  for  the
           library you have installed:

                   data = curl_version_info(CURLVERSION_NOW);

           Applications  should  use  this  information  to  judge if
           things are possible to do or not, instead  of  using  com-
           pile-time  checks, as dynamic/DLL libraries can be changed
           independent of applications.

           The curl_version_info_data struct looks like this

           typedef struct {
             CURLversion age;          /* 0 - this kind of struct */
             const char *version;      /* human readable string */
             unsigned int version_num; /* numeric representation */
             const char *host;         /* human readable string */
             int features;             /* bitmask, see below */
             char *ssl_version;        /* human readable string */
             long ssl_version_num;     /* number */
             char *libz_version;       /* human readable string */
             const char *protocols[];  /* list of protocols */
           } curl_version_info_data;

           age describes what kind of struct this is. It is always  0
           now. In a future libcurl, if this struct changes, this age
           counter may be increased, and then the struct for number 1
           will  look different (except for this first struct field).

           version is just an ascii string for the libcurl version.

           version_num is a 6 digit hexadecimal number  created  like
           this:  <2 digits major number> | <2 digits minor number> |
           <2  digits  patch  number>.  Version  7.9.8  is  therefore
           returned as 0x070908.

           host is an ascii string showing what host information that

           features can have none, one or more bits set, and the cur-
           rently defined bits are:

            CURL_VERSION_IPV6
                 supports IPv6

            CURL_VERSION_KERBEROS4
                 supports kerberos4 (when using FTP)

            CURL_VERSION_SSL
                 supports SSL (HTTPS/FTPS)

            CURL_VERSION_LIBZ
                 supports HTTP deflate using libz

           ssl_version is an ascii string  for  the  OpenSSL  version
           used. If libcurl has no SSL support, this is NULL.

           ssl_version_num  is the numerical OpenSSL version value as
           defined by the OpenSSL project. If libcurl has no SSL sup-
           port, this is 0.

           libz_version  is  an  ascii  string (there is no numerical
           version). If libcurl has no libz support, this is NULL.

           protocols is a pointer to an array  of  char  *  pointers,
           containing  the  names  protocols  that  libcurl  supports
           (using lowercase letters). The protocol names are the same
           as  would  be  used  in URLs. The array is terminated by a
           NULL entry.

## RETURN VALUE

           A pointer to a curl_version_info_data struct.

## SEE ALSO

           curl_version(3)

## BUGS

           No known bugs.