@ -7,7 +7,7 @@
* | ( __ | | _ | | _ < | | ___
* | ( __ | | _ | | _ < | | ___
* \ ___ | \ ___ / | _ | \ _ \ _____ |
* \ ___ | \ ___ / | _ | \ _ \ _____ |
*
*
* Copyright ( C ) 1998 - 2013 , Daniel Stenberg , < daniel @ haxx . se > , et al .
* Copyright ( C ) 1998 - 2014 , Daniel Stenberg , < daniel @ haxx . se > , et al .
*
*
* This software is licensed as described in the file COPYING , which
* This software is licensed as described in the file COPYING , which
* you should have received as part of this distribution . The terms
* you should have received as part of this distribution . The terms
@ -423,7 +423,9 @@ typedef enum {
CURLE_FTP_WEIRD_PASV_REPLY , /* 13 */
CURLE_FTP_WEIRD_PASV_REPLY , /* 13 */
CURLE_FTP_WEIRD_227_FORMAT , /* 14 */
CURLE_FTP_WEIRD_227_FORMAT , /* 14 */
CURLE_FTP_CANT_GET_HOST , /* 15 */
CURLE_FTP_CANT_GET_HOST , /* 15 */
CURLE_OBSOLETE16 , /* 16 - NOT USED */
CURLE_HTTP2 , /* 16 - A problem in the http2 framing layer.
[ was obsoleted in August 2007 for 7.17 .0 ,
reused in July 2014 for 7.38 .0 ] */
CURLE_FTP_COULDNT_SET_TYPE , /* 17 */
CURLE_FTP_COULDNT_SET_TYPE , /* 17 */
CURLE_PARTIAL_FILE , /* 18 */
CURLE_PARTIAL_FILE , /* 18 */
CURLE_FTP_COULDNT_RETR_FILE , /* 19 */
CURLE_FTP_COULDNT_RETR_FILE , /* 19 */
@ -525,7 +527,10 @@ typedef enum {
# ifndef CURL_NO_OLDIES / * define this to test if your app builds with all
# ifndef CURL_NO_OLDIES / * define this to test if your app builds with all
the obsolete stuff removed ! */
the obsolete stuff removed ! */
/* Previously obsoletes error codes re-used in 7.24.0 */
/* Previously obsolete error code re-used in 7.38.0 */
# define CURLE_OBSOLETE16 CURLE_HTTP2
/* Previously obsolete error codes re-used in 7.24.0 */
# define CURLE_OBSOLETE10 CURLE_FTP_ACCEPT_FAILED
# define CURLE_OBSOLETE10 CURLE_FTP_ACCEPT_FAILED
# define CURLE_OBSOLETE12 CURLE_FTP_ACCEPT_TIMEOUT
# define CURLE_OBSOLETE12 CURLE_FTP_ACCEPT_TIMEOUT
@ -579,6 +584,16 @@ typedef enum {
make programs break */
make programs break */
# define CURLE_ALREADY_COMPLETE 99999
# define CURLE_ALREADY_COMPLETE 99999
/* Provide defines for really old option names */
# define CURLOPT_FILE CURLOPT_WRITEDATA /* name changed in 7.9.7 */
# define CURLOPT_INFILE CURLOPT_READDATA /* name changed in 7.9.7 */
# define CURLOPT_WRITEHEADER CURLOPT_HEADERDATA
/* Since long deprecated options with no code in the lib that does anything
with them . */
# define CURLOPT_WRITEINFO CURLOPT_OBSOLETE40
# define CURLOPT_CLOSEPOLICY CURLOPT_OBSOLETE72
# endif /*!CURL_NO_OLDIES*/
# endif /*!CURL_NO_OLDIES*/
/* This prototype applies to all conversion callbacks */
/* This prototype applies to all conversion callbacks */
@ -609,7 +624,8 @@ typedef enum {
* CURLAUTH_NONE - No HTTP authentication
* CURLAUTH_NONE - No HTTP authentication
* CURLAUTH_BASIC - HTTP Basic authentication ( default )
* CURLAUTH_BASIC - HTTP Basic authentication ( default )
* CURLAUTH_DIGEST - HTTP Digest authentication
* CURLAUTH_DIGEST - HTTP Digest authentication
* CURLAUTH_GSSNEGOTIATE - HTTP GSS - Negotiate authentication
* CURLAUTH_NEGOTIATE - HTTP Negotiate ( SPNEGO ) authentication
* CURLAUTH_GSSNEGOTIATE - Alias for CURLAUTH_NEGOTIATE ( deprecated )
* CURLAUTH_NTLM - HTTP NTLM authentication
* CURLAUTH_NTLM - HTTP NTLM authentication
* CURLAUTH_DIGEST_IE - HTTP Digest authentication with IE flavour
* CURLAUTH_DIGEST_IE - HTTP Digest authentication with IE flavour
* CURLAUTH_NTLM_WB - HTTP NTLM authentication delegated to winbind helper
* CURLAUTH_NTLM_WB - HTTP NTLM authentication delegated to winbind helper
@ -622,7 +638,9 @@ typedef enum {
# define CURLAUTH_NONE ((unsigned long)0)
# define CURLAUTH_NONE ((unsigned long)0)
# define CURLAUTH_BASIC (((unsigned long)1)<<0)
# define CURLAUTH_BASIC (((unsigned long)1)<<0)
# define CURLAUTH_DIGEST (((unsigned long)1)<<1)
# define CURLAUTH_DIGEST (((unsigned long)1)<<1)
# define CURLAUTH_GSSNEGOTIATE (((unsigned long)1)<<2)
# define CURLAUTH_NEGOTIATE (((unsigned long)1)<<2)
/* Deprecated since the advent of CURLAUTH_NEGOTIATE */
# define CURLAUTH_GSSNEGOTIATE CURLAUTH_NEGOTIATE
# define CURLAUTH_NTLM (((unsigned long)1)<<3)
# define CURLAUTH_NTLM (((unsigned long)1)<<3)
# define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4)
# define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4)
# define CURLAUTH_NTLM_WB (((unsigned long)1)<<5)
# define CURLAUTH_NTLM_WB (((unsigned long)1)<<5)
@ -754,6 +772,10 @@ typedef enum {
CURLFTPMETHOD_LAST /* not an option, never use */
CURLFTPMETHOD_LAST /* not an option, never use */
} curl_ftpmethod ;
} curl_ftpmethod ;
/* bitmask defines for CURLOPT_HEADEROPT */
# define CURLHEADER_UNIFIED 0
# define CURLHEADER_SEPARATE (1<<0)
/* CURLPROTO_ defines are for the CURLOPT_*PROTOCOLS options */
/* CURLPROTO_ defines are for the CURLOPT_*PROTOCOLS options */
# define CURLPROTO_HTTP (1<<0)
# define CURLPROTO_HTTP (1<<0)
# define CURLPROTO_HTTPS (1<<1)
# define CURLPROTO_HTTPS (1<<1)
@ -816,7 +838,7 @@ typedef enum {
typedef enum {
typedef enum {
/* This is the FILE * or void * the regular output should be written to. */
/* This is the FILE * or void * the regular output should be written to. */
CINIT ( FILE , OBJECTPOINT , 1 ) ,
CINIT ( WRITEDATA , OBJECTPOINT , 1 ) ,
/* The full URL to get/put */
/* The full URL to get/put */
CINIT ( URL , OBJECTPOINT , 2 ) ,
CINIT ( URL , OBJECTPOINT , 2 ) ,
@ -839,7 +861,7 @@ typedef enum {
/* not used */
/* not used */
/* Specified file stream to upload from (use as input): */
/* Specified file stream to upload from (use as input): */
CINIT ( INFILE , OBJECTPOINT , 9 ) ,
CINIT ( READDATA , OBJECTPOINT , 9 ) ,
/* Buffer to receive error messages in, must be at least CURL_ERROR_SIZE
/* Buffer to receive error messages in, must be at least CURL_ERROR_SIZE
* bytes big . If this is not used , error messages go to stderr instead : */
* bytes big . If this is not used , error messages go to stderr instead : */
@ -903,7 +925,8 @@ typedef enum {
/* Set cookie in request: */
/* Set cookie in request: */
CINIT ( COOKIE , OBJECTPOINT , 22 ) ,
CINIT ( COOKIE , OBJECTPOINT , 22 ) ,
/* This points to a linked list of headers, struct curl_slist kind */
/* This points to a linked list of headers, struct curl_slist kind. This
list is also used for RTSP ( in spite of its name ) */
CINIT ( HTTPHEADER , OBJECTPOINT , 23 ) ,
CINIT ( HTTPHEADER , OBJECTPOINT , 23 ) ,
/* This points to a linked list of post entries, struct curl_httppost */
/* This points to a linked list of post entries, struct curl_httppost */
@ -923,7 +946,7 @@ typedef enum {
/* send FILE * or void * to store headers to, if you use a callback it
/* send FILE * or void * to store headers to, if you use a callback it
is simply passed to the callback unmodified */
is simply passed to the callback unmodified */
CINIT ( WRITE HEADER, OBJECTPOINT , 29 ) ,
CINIT ( HEADERDATA , OBJECTPOINT , 29 ) ,
/* point to a file to read the initial cookies from, also enables
/* point to a file to read the initial cookies from, also enables
" cookie awareness " */
" cookie awareness " */
@ -956,7 +979,7 @@ typedef enum {
/* send linked-list of post-transfer QUOTE commands */
/* send linked-list of post-transfer QUOTE commands */
CINIT ( POSTQUOTE , OBJECTPOINT , 39 ) ,
CINIT ( POSTQUOTE , OBJECTPOINT , 39 ) ,
CINIT ( WRITEINFO , OBJECTPOINT , 40 ) , /* DEPRECATED , do not use! */
CINIT ( OBSOLETE40 , OBJECTPOINT , 40 ) , /* OBSOLETE , do not use! */
CINIT ( VERBOSE , LONG , 41 ) , /* talk a lot */
CINIT ( VERBOSE , LONG , 41 ) , /* talk a lot */
CINIT ( HEADER , LONG , 42 ) , /* throw the header out too */
CINIT ( HEADER , LONG , 42 ) , /* throw the header out too */
@ -1035,7 +1058,7 @@ typedef enum {
/* Max amount of cached alive connections */
/* Max amount of cached alive connections */
CINIT ( MAXCONNECTS , LONG , 71 ) ,
CINIT ( MAXCONNECTS , LONG , 71 ) ,
CINIT ( CLOSEPOLICY , LONG , 72 ) , /* DEPRECATED , do not use! */
CINIT ( OBSOLETE72 , LONG , 72 ) , /* OBSOLETE , do not use! */
/* 73 = OBSOLETE */
/* 73 = OBSOLETE */
@ -1571,6 +1594,23 @@ typedef enum {
/* Set authentication options directly */
/* Set authentication options directly */
CINIT ( LOGIN_OPTIONS , OBJECTPOINT , 224 ) ,
CINIT ( LOGIN_OPTIONS , OBJECTPOINT , 224 ) ,
/* Enable/disable TLS NPN extension (http2 over ssl might fail without) */
CINIT ( SSL_ENABLE_NPN , LONG , 225 ) ,
/* Enable/disable TLS ALPN extension (http2 over ssl might fail without) */
CINIT ( SSL_ENABLE_ALPN , LONG , 226 ) ,
/* Time to wait for a response to a HTTP request containing an
* Expect : 100 - continue header before sending the data anyway . */
CINIT ( EXPECT_100_TIMEOUT_MS , LONG , 227 ) ,
/* This points to a linked list of headers used for proxy requests only,
struct curl_slist kind */
CINIT ( PROXYHEADER , OBJECTPOINT , 228 ) ,
/* Pass in a bitmask of "header options" */
CINIT ( HEADEROPT , LONG , 229 ) ,
CURLOPT_LASTENTRY /* the last unused */
CURLOPT_LASTENTRY /* the last unused */
} CURLoption ;
} CURLoption ;
@ -1611,9 +1651,6 @@ typedef enum {
# define CURL_IPRESOLVE_V6 2 /* resolve to ipv6 addresses */
# define CURL_IPRESOLVE_V6 2 /* resolve to ipv6 addresses */
/* three convenient "aliases" that follow the name scheme better */
/* three convenient "aliases" that follow the name scheme better */
# define CURLOPT_WRITEDATA CURLOPT_FILE
# define CURLOPT_READDATA CURLOPT_INFILE
# define CURLOPT_HEADERDATA CURLOPT_WRITEHEADER
# define CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER
# define CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER
/* These enums are for use with the CURLOPT_HTTP_VERSION option. */
/* These enums are for use with the CURLOPT_HTTP_VERSION option. */
@ -1996,7 +2033,8 @@ typedef enum {
CURLSSLBACKEND_POLARSSL = 6 ,
CURLSSLBACKEND_POLARSSL = 6 ,
CURLSSLBACKEND_CYASSL = 7 ,
CURLSSLBACKEND_CYASSL = 7 ,
CURLSSLBACKEND_SCHANNEL = 8 ,
CURLSSLBACKEND_SCHANNEL = 8 ,
CURLSSLBACKEND_DARWINSSL = 9
CURLSSLBACKEND_DARWINSSL = 9 ,
CURLSSLBACKEND_AXTLS = 10
} curl_sslbackend ;
} curl_sslbackend ;
/* Information about the SSL library used and the respective internal SSL
/* Information about the SSL library used and the respective internal SSL
@ -2202,10 +2240,11 @@ typedef struct {
# define CURL_VERSION_SSL (1<<2) /* SSL options are present */
# define CURL_VERSION_SSL (1<<2) /* SSL options are present */
# define CURL_VERSION_LIBZ (1<<3) /* libz features are present */
# define CURL_VERSION_LIBZ (1<<3) /* libz features are present */
# define CURL_VERSION_NTLM (1<<4) /* NTLM auth is supported */
# define CURL_VERSION_NTLM (1<<4) /* NTLM auth is supported */
# define CURL_VERSION_GSSNEGOTIATE (1<<5) /* Negotiate auth support */
# define CURL_VERSION_GSSNEGOTIATE (1<<5) / * Negotiate auth support
( deprecated ) */
# define CURL_VERSION_DEBUG (1<<6) /* built with debug capabilities */
# define CURL_VERSION_DEBUG (1<<6) /* built with debug capabilities */
# define CURL_VERSION_ASYNCHDNS (1<<7) /* asynchronous dns resolves */
# define CURL_VERSION_ASYNCHDNS (1<<7) /* asynchronous dns resolves */
# define CURL_VERSION_SPNEGO (1<<8) /* SPNEGO auth */
# define CURL_VERSION_SPNEGO (1<<8) /* SPNEGO auth is supported */
# define CURL_VERSION_LARGEFILE (1<<9) /* supports files bigger than 2GB */
# define CURL_VERSION_LARGEFILE (1<<9) /* supports files bigger than 2GB */
# define CURL_VERSION_IDN (1<<10) /* International Domain Names support */
# define CURL_VERSION_IDN (1<<10) /* International Domain Names support */
# define CURL_VERSION_SSPI (1<<11) /* SSPI is supported */
# define CURL_VERSION_SSPI (1<<11) /* SSPI is supported */
@ -2214,6 +2253,7 @@ typedef struct {
# define CURL_VERSION_TLSAUTH_SRP (1<<14) /* TLS-SRP auth is supported */
# define CURL_VERSION_TLSAUTH_SRP (1<<14) /* TLS-SRP auth is supported */
# define CURL_VERSION_NTLM_WB (1<<15) /* NTLM delegating to winbind helper */
# define CURL_VERSION_NTLM_WB (1<<15) /* NTLM delegating to winbind helper */
# define CURL_VERSION_HTTP2 (1<<16) /* HTTP2 support built-in */
# define CURL_VERSION_HTTP2 (1<<16) /* HTTP2 support built-in */
# define CURL_VERSION_GSSAPI (1<<17) /* GSS-API is supported */
/*
/*
* NAME curl_version_info ( )
* NAME curl_version_info ( )