NAME

     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  programs
     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  compile-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
     this  libcurl  was  built  for. As discovered by a configure
     script or set by the build environment.

     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  ver­
     sion). If libcurl has no libz support, this is NULL.

     protocols  is a pointer to an array of char * pointers, con­
     taining 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