MyWebUniversity.com Home Page
 



Darwin Mac OS X man pages main menu
curlversioninfo(3)            libcurl Manual            curlversioninfo(3)



NAME
       curlversioninfo - returns run-time libcurl version info

SYNOPSIS
       ##include <>

       curlversioninfodata **curlversioninfo( 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. CURLVERSIONOW
       will be the most recent one for the library you have installed:

               data = curlversioninfo(CURLVERSIONOW);

       Applications should use this information to judge if things are  possi-
       ble  to do or not, instead of using compile-time checks, as dynamic/DL
       libraries can be changed independent of applications.

       The curlversioninfodata struct looks like this

       typedef struct {
         CURLversion age;          /* see description below */

         /* when 'age' is 0 or higher, the members below also exist: */
         const char *version;      /* human readable string */
         unsigned int versionnum; /* numeric representation */
         const char *host;         /* human readable string */
         int features;             /* bitmask, see below */
         char *sslversion;        /* human readable string */
         long sslversionnum;     /* number */
         const char *libzversion; /* human readable string */
         const char **protocols;   /* list of protocols */

         /* when 'age' is 1 or higher, the members below also exist: */
         const char *ares;         /* human readable string */
         int aresnum;             /* number */

         /* when 'age' is 2 or higher, the member below also exists: */
         const char *libidn;       /* human readable string */

       } curlversioninfodata;

       age describes what age of this struct this is. The  number  depends  on
       how  new  libcurl  you're  using.  You  are however guaranteed to get a
       struct that you have a matching struct for in the header, as  you  tell
       libcurl your "age" with the input argument.

       version is just an ascii string for the libcurl version.

       versionnum is a 24 bit number created like this: <8 bits major number>
        <8 bits minor number>  <8  bits  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 currently defined
       bits are:

              CURLVERSIONIPV6
                     supports IPv6

              CURLVERSIONKERBEROS4
                     supports kerberos4 (when using FTP)

              CURLVERSIONSL
                     supports SL (HTPS/FTPS)

              CURLVERSIONLIBZ
                     supports HTP deflate using libz

              CURLVERSIONTLM
                     supports HTP NTLM (added in 7.10.6)

              CURLVERSIONGSNEGOTIATE
                     supports HTP GS-Negotiate (added in 7.10.6)

              CURLVERSIONDEBUG
                     libcurl was built with extra debug capabilities built-in.
                     This is mainly of interest for libcurl hackers. (added in
                     7.10.6)

              CURLVERSIONASYNCHDNS
                     libcurl was built  with  support  for  asynchronous  name
                     lookups,  which  allows more exact timeouts (even on Win-
                     dows) and less blocking when using the  multi  interface.
                     (added in 7.10.7)

              CURLVERSIONSPNEGO
                     libcurl  was built with support for SPNEGO authentication
                     (Simple  and  Protected  GS-API  Negotiation  Mechanism,
                     defined in RFC 2478.) (added in 7.10.8)

              CURLVERSIONLARGEFILE
                     libcurl was built with support for large files.

              CURLVERSIONIDN
                     libcurl  was  built  with  support for IDNA, domain names
                     with international letters.
       sslversion is an ascii string for the OpenSL version used. If libcurl
       has no SL support, this is NUL.

       sslversionnum  is  the  numerical OpenSL version value as defined by
       the OpenSL project. If libcurl has no SL support, this is 0.

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

       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 ter-
       minated by a NUL entry.

RETURN VALUE
       A pointer to a curlversioninfodata struct.

SEE ALSO
       curlversion(3)




libcurl 7.12                      11 May 2004             curlversioninfo(3)
Darwin Mac OS X man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™