Revert "Update to 7.40.1"
[platform/upstream/curl.git] / docs / libcurl / curl_version_info.3
index ed1327b..f85cd00 100644 (file)
@@ -1,8 +1,26 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
+.\" **************************************************************************
+.\" *                                  _   _ ____  _
+.\" *  Project                     ___| | | |  _ \| |
+.\" *                             / __| | | | |_) | |
+.\" *                            | (__| |_| |  _ <| |___
+.\" *                             \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at http://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
 .\"
-.TH curl_version_info 3 "19 Sep 2003" "libcurl 7.10.8" "libcurl Manual"
+.TH curl_version_info 3 "18 Feb 2014" "libcurl 7.33.0" "libcurl Manual"
 .SH NAME
 curl_version_info - returns run-time libcurl version info
 .SH SYNOPSIS
@@ -11,12 +29,13 @@ curl_version_info - returns run-time libcurl version info
 .BI "curl_version_info_data *curl_version_info( CURLversion "type ");"
 .ad
 .SH DESCRIPTION
-Returns a pointer to a filled in struct with information about various
-run-time features in libcurl. \fItype\fP 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:
+Returns a pointer to a filled in static struct with information about various
+features in the running version of libcurl. \fItype\fP 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 a different
+struct. \fBCURLVERSION_NOW\fP will be the most recent one for the library you
+have installed:
 
         data = curl_version_info(CURLVERSION_NOW);
 
@@ -28,28 +47,44 @@ The curl_version_info_data struct looks like this
 
 .nf
 typedef struct {
-  CURLversion age;          /* 0 - this kind of 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 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 */
+  long ssl_version_num;     /* not used, always zero */
+  const char *libz_version; /* 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 ares_num;             /* number */
+
+  /* when 'age' is 2 or higher, the member below also exists: */
+  const char *libidn;       /* human readable string */
+
+  /* when 'age' is 3 or higher (7.16.1 or later), the members below also
+     exist  */
+  int iconv_ver_num;       /* '_libiconv_version' if iconv support enabled */
+
+  const char *libssh_version; /* human readable string */
+
 } curl_version_info_data;
 .fi
 
-\fIage\fP 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).
+\fIage\fP describes what the age of this struct is. The number depends on how
+new the libcurl you're using is. 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.
 
 \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.
+\fIversion_num\fP 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.
 
 \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
@@ -57,45 +92,60 @@ environment.
 
 \fIfeatures\fP can have none, one or more bits set, and the currently defined
 bits are:
-.TP 5.5
-.B CURL_VERSION_IPV6
+.RS
+.IP CURL_VERSION_IPV6
 supports IPv6
-.TP
-.B CURL_VERSION_KERBEROS4
+.IP 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
-.TP
-.B CURL_VERSION_NTLM
+.IP CURL_VERSION_SSL
+supports SSL (HTTPS/FTPS) (Added in 7.10)
+.IP CURL_VERSION_LIBZ
+supports HTTP deflate using libz (Added in 7.10)
+.IP CURL_VERSION_NTLM
 supports HTTP NTLM (added in 7.10.6)
-.TP
-.B CURL_VERSION_GSSNEGOTIATE
+.IP CURL_VERSION_GSSNEGOTIATE
 supports HTTP GSS-Negotiate (added in 7.10.6)
-.TP
-.B CURL_VERSION_DEBUG
-libcurl was built with extra debug capabilities built-in. This is mainly of
-interest for libcurl hackers. (added in 7.10.6)
-.TP
-.B CURL_VERSION_ASYNCHDNS
+.IP CURL_VERSION_DEBUG
+libcurl was built with debug capabilities (added in 7.10.6)
+.IP CURL_VERSION_CURLDEBUG
+libcurl was built with memory tracking debug capabilities. This is mainly of
+interest for libcurl hackers. (added in 7.19.6)
+.IP CURL_VERSION_ASYNCHDNS
 libcurl was built with support for asynchronous name lookups, which allows
 more exact timeouts (even on Windows) and less blocking when using the multi
 interface. (added in 7.10.7)
-.TP
-.B CURL_VERSION_SPNEGO
+.IP CURL_VERSION_SPNEGO
 libcurl was built with support for SPNEGO authentication (Simple and Protected
 GSS-API Negotiation Mechanism, defined in RFC 2478.) (added in 7.10.8)
-.PP
-\fIssl_version\fP is an ascii string for the OpenSSL version used. If libcurl
+.IP CURL_VERSION_LARGEFILE
+libcurl was built with support for large files. (Added in 7.11.1)
+.IP CURL_VERSION_IDN
+libcurl was built with support for IDNA, domain names with international
+letters. (Added in 7.12.0)
+.IP CURL_VERSION_SSPI
+libcurl was built with support for SSPI. This is only available on Windows and
+makes libcurl use Windows-provided functions for NTLM authentication. It also
+allows libcurl to use the current user and the current user's password without
+the app having to pass them on. (Added in 7.13.2)
+.IP CURL_VERSION_CONV
+libcurl was built with support for character conversions, as provided by the
+CURLOPT_CONV_* callbacks. (Added in 7.15.4)
+.IP CURL_VERSION_TLSAUTH_SRP
+libcurl was built with support for TLS-SRP. (Added in 7.21.4)
+.IP CURL_VERSION_NTLM_WB
+libcurl was built with support for NTLM delegation to a winbind helper.
+(Added in 7.22.0)
+.IP CURL_VERSION_HTTP2
+libcurl was built with support for HTTP2.
+(Added in 7.33.0)
+.RE
+\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
+\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