Google


       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.











Man(1) output converted with man2html