Skip to content
Snippets Groups Projects
curl_version_info.3 2.55 KiB
Newer Older
  • Learn to ignore specific revisions
  • .\" You can view this file with:
    .\" nroff -man [file]
    .\" $Id$
    .\"
    .TH curl_version_info 3 "25 Sep 2002" "libcurl 7.10" "libcurl Manual"
    .SH NAME
    curl_version_info - returns run-time libcurl version info
    .SH SYNOPSIS
    .B #include <curl/curl.h>
    .sp
    .BI "curl_version_info_data *curl_version_info( );"
    .ad
    .SH DESCRIPTION
    Returns a pointer to a filled in struct with information about various
    run-time features in libcurl.
    
    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
    
    .nf
    typedef 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;
    .fi
    
    \fIversion\fP is just an ascii string for the libcurl version.
    
    \fIversion_num\fP 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.
    
    \fIhost\fP 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.
    
    \fIfeatures\fP can have none, one or more bits set, and the currently defined
    bits are:
    .TP 5.5
    .B CURL_VERSION_IPV6
    supports IPv6
    .TP
    .B CURL_VERSION_KERBEROS4
    supports kerberos4 (when using FTP)
    .TP
    .B CURL_VERSION_SSL
    supports SSL (HTTPS/FTPS)
    .TP
    .B CURL_VERSION_LIBZ
    supports HTTP deflate using libz
    .PP
    \fIssl_version\fP is an ascii string for the OpenSSL version used. If libcurl
    has no SSL support, this is NULL.
    
    \fIssl_version_num\fP is the numerical OpenSSL version value as defined by the
    OpenSSL project. If libcurl has no SSL support, this is 0.
    
    \fIlibz_version\fP is an ascii string (there is no numerical version). If
    libcurl has no libz support, this is NULL.
    
    \fIprotocols\fP 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.
    
    
    .SH RETURN VALUE
    A pointer to a curl_version_info_data struct.
    .SH "SEE ALSO"
    \fIcurl_version(3)\fP
    .SH BUGS
    No known bugs.