[ioquake3] 18/21: New upstream version 1.36+u20170803+dfsg1

Simon McVittie smcv at debian.org
Fri Aug 4 20:39:14 UTC 2017


This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to branch debian/master
in repository ioquake3.

commit 0e31de69643b6ff41d12c30cc0381a2f4c702f53
Merge: d199f3d 2955f8d
Author: Simon McVittie <smcv at debian.org>
Date:   Fri Aug 4 18:34:04 2017 +0100

    New upstream version 1.36+u20170803+dfsg1

 code/curl-7.54.0/include/README               |   55 -
 code/curl-7.54.0/include/curl/curl.h          | 2552 -------------------------
 code/curl-7.54.0/include/curl/curlbuild.h     |  586 ------
 code/curl-7.54.0/include/curl/curlrules.h     |  239 ---
 code/curl-7.54.0/include/curl/curlver.h       |   77 -
 code/curl-7.54.0/include/curl/easy.h          |  102 -
 code/curl-7.54.0/include/curl/mprintf.h       |   50 -
 code/curl-7.54.0/include/curl/multi.h         |  439 -----
 code/curl-7.54.0/include/curl/stdcheaders.h   |   33 -
 code/curl-7.54.0/include/curl/system.h        |  484 -----
 code/curl-7.54.0/include/curl/typecheck-gcc.h |  624 ------
 11 files changed, 5241 deletions(-)

diff --cc code/curl-7.54.0/include/README
index 6eb73b2,6eb73b2..0000000
deleted file mode 100644,100644
--- a/code/curl-7.54.0/include/README
+++ /dev/null
@@@ -1,55 -1,55 +1,0 @@@
--                                  _   _ ____  _
--                              ___| | | |  _ \| |
--                             / __| | | | |_) | |
--                            | (__| |_| |  _ <| |___
--                             \___|\___/|_| \_\_____|
--
--Include files for libcurl, external users.
--
--They're all placed in the curl subdirectory here for better fit in any kind
--of environment. You must include files from here using...
--
--        #include <curl/curl.h>
--
--... style and point the compiler's include path to the directory holding the
--curl subdirectory. It makes it more likely to survive future modifications.
--
--NOTE FOR LIBCURL HACKERS
--
--The following notes apply to libcurl version 7.19.0 and later.
--
--* The distributed curl/curlbuild.h file is only intended to be used on systems
--  which can not run the also distributed configure script.
--
--* The distributed curlbuild.h file is generated as a copy of curlbuild.h.dist
--  when the libcurl source code distribution archive file is originally created.
--
--* If you check out from git on a non-configure platform, you must run the
--  appropriate buildconf* script to set up curlbuild.h and other local files
--  before being able of compiling the library.
--
--* On systems capable of running the configure script, the configure process
--  will overwrite the distributed include/curl/curlbuild.h file with one that
--  is suitable and specific to the library being configured and built, which
--  is generated from the include/curl/curlbuild.h.in template file.
--
--* If you intend to distribute an already compiled libcurl library you _MUST_
--  also distribute along with it the generated curl/curlbuild.h which has been
--  used to compile it. Otherwise the library will be of no use for the users of
--  the library that you have built. It is _your_ responsibility to provide this
--  file. No one at the curl project can know how you have built the library.
--
--* File curl/curlbuild.h includes platform and configuration dependent info,
--  and must not be modified by anyone. Configure script generates it for you.
--
--* We cannot assume anything else but very basic compiler features being
--  present. While libcurl requires an ANSI C compiler to build, some of the
--  earlier ANSI compilers clearly can't deal with some preprocessor operators.
--
--* Newlines must remain unix-style for older compilers' sake.
--
--* Comments must be written in the old-style /* unnested C-fashion */
--
--To figure out how to do good and portable checks for features, operating
--systems or specific hardwarare, a very good resource is Bjorn Reese's
--collection at http://predef.sf.net/
diff --cc code/curl-7.54.0/include/curl/curl.h
index 1030712,1030712..0000000
deleted file mode 100644,100644
--- a/code/curl-7.54.0/include/curl/curl.h
+++ /dev/null
@@@ -1,2552 -1,2552 +1,0 @@@
--#ifndef __CURL_CURL_H
--#define __CURL_CURL_H
--/***************************************************************************
-- *                                  _   _ ____  _
-- *  Project                     ___| | | |  _ \| |
-- *                             / __| | | | |_) | |
-- *                            | (__| |_| |  _ <| |___
-- *                             \___|\___/|_| \_\_____|
-- *
-- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel at 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 https://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.
-- *
-- ***************************************************************************/
--
--/*
-- * If you have libcurl problems, all docs and details are found here:
-- *   https://curl.haxx.se/libcurl/
-- *
-- * curl-library mailing list subscription and unsubscription web interface:
-- *   https://cool.haxx.se/mailman/listinfo/curl-library/
-- */
--
--#ifdef CURL_NO_OLDIES
--#define CURL_STRICTER
--#endif
--
--#include "curlver.h"         /* libcurl version defines   */
--#include "system.h"          /* determine things run-time */
--#include "curlbuild.h"       /* libcurl build definitions */
--#include "curlrules.h"       /* libcurl rules enforcement */
--
--/*
-- * Define WIN32 when build target is Win32 API
-- */
--
--#if (defined(_WIN32) || defined(__WIN32__)) && \
--     !defined(WIN32) && !defined(__SYMBIAN32__)
--#define WIN32
--#endif
--
--#include <stdio.h>
--#include <limits.h>
--
--#if defined(__FreeBSD__) && (__FreeBSD__ >= 2)
--/* Needed for __FreeBSD_version symbol definition */
--#include <osreldate.h>
--#endif
--
--/* The include stuff here below is mainly for time_t! */
--#include <sys/types.h>
--#include <time.h>
--
--#if defined(WIN32) && !defined(_WIN32_WCE) && !defined(__CYGWIN__)
--#if !(defined(_WINSOCKAPI_) || defined(_WINSOCK_H) || \
--      defined(__LWIP_OPT_H__) || defined(LWIP_HDR_OPT_H))
--/* The check above prevents the winsock2 inclusion if winsock.h already was
--   included, since they can't co-exist without problems */
--#include <winsock2.h>
--#include <ws2tcpip.h>
--#endif
--#endif
--
--/* HP-UX systems version 9, 10 and 11 lack sys/select.h and so does oldish
--   libc5-based Linux systems. Only include it on systems that are known to
--   require it! */
--#if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \
--    defined(__minix) || defined(__SYMBIAN32__) || defined(__INTEGRITY) || \
--    defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \
--   (defined(__FreeBSD_version) && (__FreeBSD_version < 800000))
--#include <sys/select.h>
--#endif
--
--#if !defined(WIN32) && !defined(_WIN32_WCE)
--#include <sys/socket.h>
--#endif
--
--#if !defined(WIN32) && !defined(__WATCOMC__) && !defined(__VXWORKS__)
--#include <sys/time.h>
--#endif
--
--#ifdef __BEOS__
--#include <support/SupportDefs.h>
--#endif
--
--#ifdef  __cplusplus
--extern "C" {
--#endif
--
--#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER)
--typedef struct Curl_easy CURL;
--typedef struct Curl_share CURLSH;
--#else
--typedef void CURL;
--typedef void CURLSH;
--#endif
--
--/*
-- * libcurl external API function linkage decorations.
-- */
--
--#ifdef CURL_STATICLIB
--#  define CURL_EXTERN
--#elif defined(WIN32) || defined(_WIN32) || defined(__SYMBIAN32__)
--#  if defined(BUILDING_LIBCURL)
--#    define CURL_EXTERN  __declspec(dllexport)
--#  else
--#    define CURL_EXTERN  __declspec(dllimport)
--#  endif
--#elif defined(BUILDING_LIBCURL) && defined(CURL_HIDDEN_SYMBOLS)
--#  define CURL_EXTERN CURL_EXTERN_SYMBOL
--#else
--#  define CURL_EXTERN
--#endif
--
--#ifndef curl_socket_typedef
--/* socket typedef */
--#if defined(WIN32) && !defined(__LWIP_OPT_H__) && !defined(LWIP_HDR_OPT_H)
--typedef SOCKET curl_socket_t;
--#define CURL_SOCKET_BAD INVALID_SOCKET
--#else
--typedef int curl_socket_t;
--#define CURL_SOCKET_BAD -1
--#endif
--#define curl_socket_typedef
--#endif /* curl_socket_typedef */
--
--struct curl_httppost {
--  struct curl_httppost *next;       /* next entry in the list */
--  char *name;                       /* pointer to allocated name */
--  long namelength;                  /* length of name length */
--  char *contents;                   /* pointer to allocated data contents */
--  long contentslength;              /* length of contents field, see also
--                                       CURL_HTTPPOST_LARGE */
--  char *buffer;                     /* pointer to allocated buffer contents */
--  long bufferlength;                /* length of buffer field */
--  char *contenttype;                /* Content-Type */
--  struct curl_slist *contentheader; /* list of extra headers for this form */
--  struct curl_httppost *more;       /* if one field name has more than one
--                                       file, this link should link to following
--                                       files */
--  long flags;                       /* as defined below */
--
--/* specified content is a file name */
--#define CURL_HTTPPOST_FILENAME (1<<0)
--/* specified content is a file name */
--#define CURL_HTTPPOST_READFILE (1<<1)
--/* name is only stored pointer do not free in formfree */
--#define CURL_HTTPPOST_PTRNAME (1<<2)
--/* contents is only stored pointer do not free in formfree */
--#define CURL_HTTPPOST_PTRCONTENTS (1<<3)
--/* upload file from buffer */
--#define CURL_HTTPPOST_BUFFER (1<<4)
--/* upload file from pointer contents */
--#define CURL_HTTPPOST_PTRBUFFER (1<<5)
--/* upload file contents by using the regular read callback to get the data and
--   pass the given pointer as custom pointer */
--#define CURL_HTTPPOST_CALLBACK (1<<6)
--/* use size in 'contentlen', added in 7.46.0 */
--#define CURL_HTTPPOST_LARGE (1<<7)
--
--  char *showfilename;               /* The file name to show. If not set, the
--                                       actual file name will be used (if this
--                                       is a file part) */
--  void *userp;                      /* custom pointer used for
--                                       HTTPPOST_CALLBACK posts */
--  curl_off_t contentlen;            /* alternative length of contents
--                                       field. Used if CURL_HTTPPOST_LARGE is
--                                       set. Added in 7.46.0 */
--};
--
--/* This is the CURLOPT_PROGRESSFUNCTION callback proto. It is now considered
--   deprecated but was the only choice up until 7.31.0 */
--typedef int (*curl_progress_callback)(void *clientp,
--                                      double dltotal,
--                                      double dlnow,
--                                      double ultotal,
--                                      double ulnow);
--
--/* This is the CURLOPT_XFERINFOFUNCTION callback proto. It was introduced in
--   7.32.0, it avoids floating point and provides more detailed information. */
--typedef int (*curl_xferinfo_callback)(void *clientp,
--                                      curl_off_t dltotal,
--                                      curl_off_t dlnow,
--                                      curl_off_t ultotal,
--                                      curl_off_t ulnow);
--
--#ifndef CURL_MAX_READ_SIZE
--  /* The maximum receive buffer size configurable via CURLOPT_BUFFERSIZE. */
--#define CURL_MAX_READ_SIZE 524288
--#endif
--
--#ifndef CURL_MAX_WRITE_SIZE
--  /* Tests have proven that 20K is a very bad buffer size for uploads on
--     Windows, while 16K for some odd reason performed a lot better.
--     We do the ifndef check to allow this value to easier be changed at build
--     time for those who feel adventurous. The practical minimum is about
--     400 bytes since libcurl uses a buffer of this size as a scratch area
--     (unrelated to network send operations). */
--#define CURL_MAX_WRITE_SIZE 16384
--#endif
--
--#ifndef CURL_MAX_HTTP_HEADER
--/* The only reason to have a max limit for this is to avoid the risk of a bad
--   server feeding libcurl with a never-ending header that will cause reallocs
--   infinitely */
--#define CURL_MAX_HTTP_HEADER (100*1024)
--#endif
--
--/* This is a magic return code for the write callback that, when returned,
--   will signal libcurl to pause receiving on the current transfer. */
--#define CURL_WRITEFUNC_PAUSE 0x10000001
--
--typedef size_t (*curl_write_callback)(char *buffer,
--                                      size_t size,
--                                      size_t nitems,
--                                      void *outstream);
--
--
--
--/* enumeration of file types */
--typedef enum {
--  CURLFILETYPE_FILE = 0,
--  CURLFILETYPE_DIRECTORY,
--  CURLFILETYPE_SYMLINK,
--  CURLFILETYPE_DEVICE_BLOCK,
--  CURLFILETYPE_DEVICE_CHAR,
--  CURLFILETYPE_NAMEDPIPE,
--  CURLFILETYPE_SOCKET,
--  CURLFILETYPE_DOOR, /* is possible only on Sun Solaris now */
--
--  CURLFILETYPE_UNKNOWN /* should never occur */
--} curlfiletype;
--
--#define CURLFINFOFLAG_KNOWN_FILENAME    (1<<0)
--#define CURLFINFOFLAG_KNOWN_FILETYPE    (1<<1)
--#define CURLFINFOFLAG_KNOWN_TIME        (1<<2)
--#define CURLFINFOFLAG_KNOWN_PERM        (1<<3)
--#define CURLFINFOFLAG_KNOWN_UID         (1<<4)
--#define CURLFINFOFLAG_KNOWN_GID         (1<<5)
--#define CURLFINFOFLAG_KNOWN_SIZE        (1<<6)
--#define CURLFINFOFLAG_KNOWN_HLINKCOUNT  (1<<7)
--
--/* Content of this structure depends on information which is known and is
--   achievable (e.g. by FTP LIST parsing). Please see the url_easy_setopt(3) man
--   page for callbacks returning this structure -- some fields are mandatory,
--   some others are optional. The FLAG field has special meaning. */
--struct curl_fileinfo {
--  char *filename;
--  curlfiletype filetype;
--  time_t time;
--  unsigned int perm;
--  int uid;
--  int gid;
--  curl_off_t size;
--  long int hardlinks;
--
--  struct {
--    /* If some of these fields is not NULL, it is a pointer to b_data. */
--    char *time;
--    char *perm;
--    char *user;
--    char *group;
--    char *target; /* pointer to the target filename of a symlink */
--  } strings;
--
--  unsigned int flags;
--
--  /* used internally */
--  char *b_data;
--  size_t b_size;
--  size_t b_used;
--};
--
--/* return codes for CURLOPT_CHUNK_BGN_FUNCTION */
--#define CURL_CHUNK_BGN_FUNC_OK      0
--#define CURL_CHUNK_BGN_FUNC_FAIL    1 /* tell the lib to end the task */
--#define CURL_CHUNK_BGN_FUNC_SKIP    2 /* skip this chunk over */
--
--/* if splitting of data transfer is enabled, this callback is called before
--   download of an individual chunk started. Note that parameter "remains" works
--   only for FTP wildcard downloading (for now), otherwise is not used */
--typedef long (*curl_chunk_bgn_callback)(const void *transfer_info,
--                                        void *ptr,
--                                        int remains);
--
--/* return codes for CURLOPT_CHUNK_END_FUNCTION */
--#define CURL_CHUNK_END_FUNC_OK      0
--#define CURL_CHUNK_END_FUNC_FAIL    1 /* tell the lib to end the task */
--
--/* If splitting of data transfer is enabled this callback is called after
--   download of an individual chunk finished.
--   Note! After this callback was set then it have to be called FOR ALL chunks.
--   Even if downloading of this chunk was skipped in CHUNK_BGN_FUNC.
--   This is the reason why we don't need "transfer_info" parameter in this
--   callback and we are not interested in "remains" parameter too. */
--typedef long (*curl_chunk_end_callback)(void *ptr);
--
--/* return codes for FNMATCHFUNCTION */
--#define CURL_FNMATCHFUNC_MATCH    0 /* string corresponds to the pattern */
--#define CURL_FNMATCHFUNC_NOMATCH  1 /* pattern doesn't match the string */
--#define CURL_FNMATCHFUNC_FAIL     2 /* an error occurred */
--
--/* callback type for wildcard downloading pattern matching. If the
--   string matches the pattern, return CURL_FNMATCHFUNC_MATCH value, etc. */
--typedef int (*curl_fnmatch_callback)(void *ptr,
--                                     const char *pattern,
--                                     const char *string);
--
--/* These are the return codes for the seek callbacks */
--#define CURL_SEEKFUNC_OK       0
--#define CURL_SEEKFUNC_FAIL     1 /* fail the entire transfer */
--#define CURL_SEEKFUNC_CANTSEEK 2 /* tell libcurl seeking can't be done, so
--                                    libcurl might try other means instead */
--typedef int (*curl_seek_callback)(void *instream,
--                                  curl_off_t offset,
--                                  int origin); /* 'whence' */
--
--/* This is a return code for the read callback that, when returned, will
--   signal libcurl to immediately abort the current transfer. */
--#define CURL_READFUNC_ABORT 0x10000000
--/* This is a return code for the read callback that, when returned, will
--   signal libcurl to pause sending data on the current transfer. */
--#define CURL_READFUNC_PAUSE 0x10000001
--
--typedef size_t (*curl_read_callback)(char *buffer,
--                                      size_t size,
--                                      size_t nitems,
--                                      void *instream);
--
--typedef enum  {
--  CURLSOCKTYPE_IPCXN,  /* socket created for a specific IP connection */
--  CURLSOCKTYPE_ACCEPT, /* socket created by accept() call */
--  CURLSOCKTYPE_LAST    /* never use */
--} curlsocktype;
--
--/* The return code from the sockopt_callback can signal information back
--   to libcurl: */
--#define CURL_SOCKOPT_OK 0
--#define CURL_SOCKOPT_ERROR 1 /* causes libcurl to abort and return
--                                CURLE_ABORTED_BY_CALLBACK */
--#define CURL_SOCKOPT_ALREADY_CONNECTED 2
--
--typedef int (*curl_sockopt_callback)(void *clientp,
--                                     curl_socket_t curlfd,
--                                     curlsocktype purpose);
--
--struct curl_sockaddr {
--  int family;
--  int socktype;
--  int protocol;
--  unsigned int addrlen; /* addrlen was a socklen_t type before 7.18.0 but it
--                           turned really ugly and painful on the systems that
--                           lack this type */
--  struct sockaddr addr;
--};
--
--typedef curl_socket_t
--(*curl_opensocket_callback)(void *clientp,
--                            curlsocktype purpose,
--                            struct curl_sockaddr *address);
--
--typedef int
--(*curl_closesocket_callback)(void *clientp, curl_socket_t item);
--
--typedef enum {
--  CURLIOE_OK,            /* I/O operation successful */
--  CURLIOE_UNKNOWNCMD,    /* command was unknown to callback */
--  CURLIOE_FAILRESTART,   /* failed to restart the read */
--  CURLIOE_LAST           /* never use */
--} curlioerr;
--
--typedef enum  {
--  CURLIOCMD_NOP,         /* no operation */
--  CURLIOCMD_RESTARTREAD, /* restart the read stream from start */
--  CURLIOCMD_LAST         /* never use */
--} curliocmd;
--
--typedef curlioerr (*curl_ioctl_callback)(CURL *handle,
--                                         int cmd,
--                                         void *clientp);
--
--#ifndef CURL_DID_MEMORY_FUNC_TYPEDEFS
--/*
-- * The following typedef's are signatures of malloc, free, realloc, strdup and
-- * calloc respectively.  Function pointers of these types can be passed to the
-- * curl_global_init_mem() function to set user defined memory management
-- * callback routines.
-- */
--typedef void *(*curl_malloc_callback)(size_t size);
--typedef void (*curl_free_callback)(void *ptr);
--typedef void *(*curl_realloc_callback)(void *ptr, size_t size);
--typedef char *(*curl_strdup_callback)(const char *str);
--typedef void *(*curl_calloc_callback)(size_t nmemb, size_t size);
--
--#define CURL_DID_MEMORY_FUNC_TYPEDEFS
--#endif
--
--/* the kind of data that is passed to information_callback*/
--typedef enum {
--  CURLINFO_TEXT = 0,
--  CURLINFO_HEADER_IN,    /* 1 */
--  CURLINFO_HEADER_OUT,   /* 2 */
--  CURLINFO_DATA_IN,      /* 3 */
--  CURLINFO_DATA_OUT,     /* 4 */
--  CURLINFO_SSL_DATA_IN,  /* 5 */
--  CURLINFO_SSL_DATA_OUT, /* 6 */
--  CURLINFO_END
--} curl_infotype;
--
--typedef int (*curl_debug_callback)
--       (CURL *handle,      /* the handle/transfer this concerns */
--        curl_infotype type, /* what kind of data */
--        char *data,        /* points to the data */
--        size_t size,       /* size of the data pointed to */
--        void *userptr);    /* whatever the user please */
--
--/* All possible error codes from all sorts of curl functions. Future versions
--   may return other values, stay prepared.
--
--   Always add new return codes last. Never *EVER* remove any. The return
--   codes must remain the same!
-- */
--
--typedef enum {
--  CURLE_OK = 0,
--  CURLE_UNSUPPORTED_PROTOCOL,    /* 1 */
--  CURLE_FAILED_INIT,             /* 2 */
--  CURLE_URL_MALFORMAT,           /* 3 */
--  CURLE_NOT_BUILT_IN,            /* 4 - [was obsoleted in August 2007 for
--                                    7.17.0, reused in April 2011 for 7.21.5] */
--  CURLE_COULDNT_RESOLVE_PROXY,   /* 5 */
--  CURLE_COULDNT_RESOLVE_HOST,    /* 6 */
--  CURLE_COULDNT_CONNECT,         /* 7 */
--  CURLE_WEIRD_SERVER_REPLY,      /* 8 */
--  CURLE_REMOTE_ACCESS_DENIED,    /* 9 a service was denied by the server
--                                    due to lack of access - when login fails
--                                    this is not returned. */
--  CURLE_FTP_ACCEPT_FAILED,       /* 10 - [was obsoleted in April 2006 for
--                                    7.15.4, reused in Dec 2011 for 7.24.0]*/
--  CURLE_FTP_WEIRD_PASS_REPLY,    /* 11 */
--  CURLE_FTP_ACCEPT_TIMEOUT,      /* 12 - timeout occurred accepting server
--                                    [was obsoleted in August 2007 for 7.17.0,
--                                    reused in Dec 2011 for 7.24.0]*/
--  CURLE_FTP_WEIRD_PASV_REPLY,    /* 13 */
--  CURLE_FTP_WEIRD_227_FORMAT,    /* 14 */
--  CURLE_FTP_CANT_GET_HOST,       /* 15 */
--  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_PARTIAL_FILE,            /* 18 */
--  CURLE_FTP_COULDNT_RETR_FILE,   /* 19 */
--  CURLE_OBSOLETE20,              /* 20 - NOT USED */
--  CURLE_QUOTE_ERROR,             /* 21 - quote command failure */
--  CURLE_HTTP_RETURNED_ERROR,     /* 22 */
--  CURLE_WRITE_ERROR,             /* 23 */
--  CURLE_OBSOLETE24,              /* 24 - NOT USED */
--  CURLE_UPLOAD_FAILED,           /* 25 - failed upload "command" */
--  CURLE_READ_ERROR,              /* 26 - couldn't open/read from file */
--  CURLE_OUT_OF_MEMORY,           /* 27 */
--  /* Note: CURLE_OUT_OF_MEMORY may sometimes indicate a conversion error
--           instead of a memory allocation error if CURL_DOES_CONVERSIONS
--           is defined
--  */
--  CURLE_OPERATION_TIMEDOUT,      /* 28 - the timeout time was reached */
--  CURLE_OBSOLETE29,              /* 29 - NOT USED */
--  CURLE_FTP_PORT_FAILED,         /* 30 - FTP PORT operation failed */
--  CURLE_FTP_COULDNT_USE_REST,    /* 31 - the REST command failed */
--  CURLE_OBSOLETE32,              /* 32 - NOT USED */
--  CURLE_RANGE_ERROR,             /* 33 - RANGE "command" didn't work */
--  CURLE_HTTP_POST_ERROR,         /* 34 */
--  CURLE_SSL_CONNECT_ERROR,       /* 35 - wrong when connecting with SSL */
--  CURLE_BAD_DOWNLOAD_RESUME,     /* 36 - couldn't resume download */
--  CURLE_FILE_COULDNT_READ_FILE,  /* 37 */
--  CURLE_LDAP_CANNOT_BIND,        /* 38 */
--  CURLE_LDAP_SEARCH_FAILED,      /* 39 */
--  CURLE_OBSOLETE40,              /* 40 - NOT USED */
--  CURLE_FUNCTION_NOT_FOUND,      /* 41 - NOT USED starting with 7.53.0 */
--  CURLE_ABORTED_BY_CALLBACK,     /* 42 */
--  CURLE_BAD_FUNCTION_ARGUMENT,   /* 43 */
--  CURLE_OBSOLETE44,              /* 44 - NOT USED */
--  CURLE_INTERFACE_FAILED,        /* 45 - CURLOPT_INTERFACE failed */
--  CURLE_OBSOLETE46,              /* 46 - NOT USED */
--  CURLE_TOO_MANY_REDIRECTS,      /* 47 - catch endless re-direct loops */
--  CURLE_UNKNOWN_OPTION,          /* 48 - User specified an unknown option */
--  CURLE_TELNET_OPTION_SYNTAX,    /* 49 - Malformed telnet option */
--  CURLE_OBSOLETE50,              /* 50 - NOT USED */
--  CURLE_PEER_FAILED_VERIFICATION, /* 51 - peer's certificate or fingerprint
--                                     wasn't verified fine */
--  CURLE_GOT_NOTHING,             /* 52 - when this is a specific error */
--  CURLE_SSL_ENGINE_NOTFOUND,     /* 53 - SSL crypto engine not found */
--  CURLE_SSL_ENGINE_SETFAILED,    /* 54 - can not set SSL crypto engine as
--                                    default */
--  CURLE_SEND_ERROR,              /* 55 - failed sending network data */
--  CURLE_RECV_ERROR,              /* 56 - failure in receiving network data */
--  CURLE_OBSOLETE57,              /* 57 - NOT IN USE */
--  CURLE_SSL_CERTPROBLEM,         /* 58 - problem with the local certificate */
--  CURLE_SSL_CIPHER,              /* 59 - couldn't use specified cipher */
--  CURLE_SSL_CACERT,              /* 60 - problem with the CA cert (path?) */
--  CURLE_BAD_CONTENT_ENCODING,    /* 61 - Unrecognized/bad encoding */
--  CURLE_LDAP_INVALID_URL,        /* 62 - Invalid LDAP URL */
--  CURLE_FILESIZE_EXCEEDED,       /* 63 - Maximum file size exceeded */
--  CURLE_USE_SSL_FAILED,          /* 64 - Requested FTP SSL level failed */
--  CURLE_SEND_FAIL_REWIND,        /* 65 - Sending the data requires a rewind
--                                    that failed */
--  CURLE_SSL_ENGINE_INITFAILED,   /* 66 - failed to initialise ENGINE */
--  CURLE_LOGIN_DENIED,            /* 67 - user, password or similar was not
--                                    accepted and we failed to login */
--  CURLE_TFTP_NOTFOUND,           /* 68 - file not found on server */
--  CURLE_TFTP_PERM,               /* 69 - permission problem on server */
--  CURLE_REMOTE_DISK_FULL,        /* 70 - out of disk space on server */
--  CURLE_TFTP_ILLEGAL,            /* 71 - Illegal TFTP operation */
--  CURLE_TFTP_UNKNOWNID,          /* 72 - Unknown transfer ID */
--  CURLE_REMOTE_FILE_EXISTS,      /* 73 - File already exists */
--  CURLE_TFTP_NOSUCHUSER,         /* 74 - No such user */
--  CURLE_CONV_FAILED,             /* 75 - conversion failed */
--  CURLE_CONV_REQD,               /* 76 - caller must register conversion
--                                    callbacks using curl_easy_setopt options
--                                    CURLOPT_CONV_FROM_NETWORK_FUNCTION,
--                                    CURLOPT_CONV_TO_NETWORK_FUNCTION, and
--                                    CURLOPT_CONV_FROM_UTF8_FUNCTION */
--  CURLE_SSL_CACERT_BADFILE,      /* 77 - could not load CACERT file, missing
--                                    or wrong format */
--  CURLE_REMOTE_FILE_NOT_FOUND,   /* 78 - remote file not found */
--  CURLE_SSH,                     /* 79 - error from the SSH layer, somewhat
--                                    generic so the error message will be of
--                                    interest when this has happened */
--
--  CURLE_SSL_SHUTDOWN_FAILED,     /* 80 - Failed to shut down the SSL
--                                    connection */
--  CURLE_AGAIN,                   /* 81 - socket is not ready for send/recv,
--                                    wait till it's ready and try again (Added
--                                    in 7.18.2) */
--  CURLE_SSL_CRL_BADFILE,         /* 82 - could not load CRL file, missing or
--                                    wrong format (Added in 7.19.0) */
--  CURLE_SSL_ISSUER_ERROR,        /* 83 - Issuer check failed.  (Added in
--                                    7.19.0) */
--  CURLE_FTP_PRET_FAILED,         /* 84 - a PRET command failed */
--  CURLE_RTSP_CSEQ_ERROR,         /* 85 - mismatch of RTSP CSeq numbers */
--  CURLE_RTSP_SESSION_ERROR,      /* 86 - mismatch of RTSP Session Ids */
--  CURLE_FTP_BAD_FILE_LIST,       /* 87 - unable to parse FTP file list */
--  CURLE_CHUNK_FAILED,            /* 88 - chunk callback reported error */
--  CURLE_NO_CONNECTION_AVAILABLE, /* 89 - No connection available, the
--                                    session will be queued */
--  CURLE_SSL_PINNEDPUBKEYNOTMATCH, /* 90 - specified pinned public key did not
--                                     match */
--  CURLE_SSL_INVALIDCERTSTATUS,   /* 91 - invalid certificate status */
--  CURLE_HTTP2_STREAM,            /* 92 - stream error in HTTP/2 framing layer
--                                    */
--  CURL_LAST /* never use! */
--} CURLcode;
--
--#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
--                          the obsolete stuff removed! */
--
--/* 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_OBSOLETE12 CURLE_FTP_ACCEPT_TIMEOUT
--
--/*  compatibility with older names */
--#define CURLOPT_ENCODING CURLOPT_ACCEPT_ENCODING
--#define CURLE_FTP_WEIRD_SERVER_REPLY CURLE_WEIRD_SERVER_REPLY
--
--/* The following were added in 7.21.5, April 2011 */
--#define CURLE_UNKNOWN_TELNET_OPTION CURLE_UNKNOWN_OPTION
--
--/* The following were added in 7.17.1 */
--/* These are scheduled to disappear by 2009 */
--#define CURLE_SSL_PEER_CERTIFICATE CURLE_PEER_FAILED_VERIFICATION
--
--/* The following were added in 7.17.0 */
--/* These are scheduled to disappear by 2009 */
--#define CURLE_OBSOLETE CURLE_OBSOLETE50 /* no one should be using this! */
--#define CURLE_BAD_PASSWORD_ENTERED CURLE_OBSOLETE46
--#define CURLE_BAD_CALLING_ORDER CURLE_OBSOLETE44
--#define CURLE_FTP_USER_PASSWORD_INCORRECT CURLE_OBSOLETE10
--#define CURLE_FTP_CANT_RECONNECT CURLE_OBSOLETE16
--#define CURLE_FTP_COULDNT_GET_SIZE CURLE_OBSOLETE32
--#define CURLE_FTP_COULDNT_SET_ASCII CURLE_OBSOLETE29
--#define CURLE_FTP_WEIRD_USER_REPLY CURLE_OBSOLETE12
--#define CURLE_FTP_WRITE_ERROR CURLE_OBSOLETE20
--#define CURLE_LIBRARY_NOT_FOUND CURLE_OBSOLETE40
--#define CURLE_MALFORMAT_USER CURLE_OBSOLETE24
--#define CURLE_SHARE_IN_USE CURLE_OBSOLETE57
--#define CURLE_URL_MALFORMAT_USER CURLE_NOT_BUILT_IN
--
--#define CURLE_FTP_ACCESS_DENIED CURLE_REMOTE_ACCESS_DENIED
--#define CURLE_FTP_COULDNT_SET_BINARY CURLE_FTP_COULDNT_SET_TYPE
--#define CURLE_FTP_QUOTE_ERROR CURLE_QUOTE_ERROR
--#define CURLE_TFTP_DISKFULL CURLE_REMOTE_DISK_FULL
--#define CURLE_TFTP_EXISTS CURLE_REMOTE_FILE_EXISTS
--#define CURLE_HTTP_RANGE_ERROR CURLE_RANGE_ERROR
--#define CURLE_FTP_SSL_FAILED CURLE_USE_SSL_FAILED
--
--/* The following were added earlier */
--
--#define CURLE_OPERATION_TIMEOUTED CURLE_OPERATION_TIMEDOUT
--
--#define CURLE_HTTP_NOT_FOUND CURLE_HTTP_RETURNED_ERROR
--#define CURLE_HTTP_PORT_FAILED CURLE_INTERFACE_FAILED
--#define CURLE_FTP_COULDNT_STOR_FILE CURLE_UPLOAD_FAILED
--
--#define CURLE_FTP_PARTIAL_FILE CURLE_PARTIAL_FILE
--#define CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_BAD_DOWNLOAD_RESUME
--
--/* This was the error code 50 in 7.7.3 and a few earlier versions, this
--   is no longer used by libcurl but is instead #defined here only to not
--   make programs break */
--#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*/
--
--/* This prototype applies to all conversion callbacks */
--typedef CURLcode (*curl_conv_callback)(char *buffer, size_t length);
--
--typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl,    /* easy handle */
--                                          void *ssl_ctx, /* actually an
--                                                            OpenSSL SSL_CTX */
--                                          void *userptr);
--
--typedef enum {
--  CURLPROXY_HTTP = 0,   /* added in 7.10, new in 7.19.4 default is to use
--                           CONNECT HTTP/1.1 */
--  CURLPROXY_HTTP_1_0 = 1,   /* added in 7.19.4, force to use CONNECT
--                               HTTP/1.0  */
--  CURLPROXY_HTTPS = 2, /* added in 7.52.0 */
--  CURLPROXY_SOCKS4 = 4, /* support added in 7.15.2, enum existed already
--                           in 7.10 */
--  CURLPROXY_SOCKS5 = 5, /* added in 7.10 */
--  CURLPROXY_SOCKS4A = 6, /* added in 7.18.0 */
--  CURLPROXY_SOCKS5_HOSTNAME = 7 /* Use the SOCKS5 protocol but pass along the
--                                   host name rather than the IP address. added
--                                   in 7.18.0 */
--} curl_proxytype;  /* this enum was added in 7.10 */
--
--/*
-- * Bitmasks for CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH options:
-- *
-- * CURLAUTH_NONE         - No HTTP authentication
-- * CURLAUTH_BASIC        - HTTP Basic authentication (default)
-- * CURLAUTH_DIGEST       - HTTP Digest authentication
-- * CURLAUTH_NEGOTIATE    - HTTP Negotiate (SPNEGO) authentication
-- * CURLAUTH_GSSNEGOTIATE - Alias for CURLAUTH_NEGOTIATE (deprecated)
-- * CURLAUTH_NTLM         - HTTP NTLM authentication
-- * CURLAUTH_DIGEST_IE    - HTTP Digest authentication with IE flavour
-- * CURLAUTH_NTLM_WB      - HTTP NTLM authentication delegated to winbind helper
-- * CURLAUTH_ONLY         - Use together with a single other type to force no
-- *                         authentication or just that single type
-- * CURLAUTH_ANY          - All fine types set
-- * CURLAUTH_ANYSAFE      - All fine types except Basic
-- */
--
--#define CURLAUTH_NONE         ((unsigned long)0)
--#define CURLAUTH_BASIC        (((unsigned long)1)<<0)
--#define CURLAUTH_DIGEST       (((unsigned long)1)<<1)
--#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_DIGEST_IE    (((unsigned long)1)<<4)
--#define CURLAUTH_NTLM_WB      (((unsigned long)1)<<5)
--#define CURLAUTH_ONLY         (((unsigned long)1)<<31)
--#define CURLAUTH_ANY          (~CURLAUTH_DIGEST_IE)
--#define CURLAUTH_ANYSAFE      (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE))
--
--#define CURLSSH_AUTH_ANY       ~0     /* all types supported by the server */
--#define CURLSSH_AUTH_NONE      0      /* none allowed, silly but complete */
--#define CURLSSH_AUTH_PUBLICKEY (1<<0) /* public/private key files */
--#define CURLSSH_AUTH_PASSWORD  (1<<1) /* password */
--#define CURLSSH_AUTH_HOST      (1<<2) /* host key files */
--#define CURLSSH_AUTH_KEYBOARD  (1<<3) /* keyboard interactive */
--#define CURLSSH_AUTH_AGENT     (1<<4) /* agent (ssh-agent, pageant...) */
--#define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY
--
--#define CURLGSSAPI_DELEGATION_NONE        0      /* no delegation (default) */
--#define CURLGSSAPI_DELEGATION_POLICY_FLAG (1<<0) /* if permitted by policy */
--#define CURLGSSAPI_DELEGATION_FLAG        (1<<1) /* delegate always */
--
--#define CURL_ERROR_SIZE 256
--
--enum curl_khtype {
--  CURLKHTYPE_UNKNOWN,
--  CURLKHTYPE_RSA1,
--  CURLKHTYPE_RSA,
--  CURLKHTYPE_DSS
--};
--
--struct curl_khkey {
--  const char *key; /* points to a zero-terminated string encoded with base64
--                      if len is zero, otherwise to the "raw" data */
--  size_t len;
--  enum curl_khtype keytype;
--};
--
--/* this is the set of return values expected from the curl_sshkeycallback
--   callback */
--enum curl_khstat {
--  CURLKHSTAT_FINE_ADD_TO_FILE,
--  CURLKHSTAT_FINE,
--  CURLKHSTAT_REJECT, /* reject the connection, return an error */
--  CURLKHSTAT_DEFER,  /* do not accept it, but we can't answer right now so
--                        this causes a CURLE_DEFER error but otherwise the
--                        connection will be left intact etc */
--  CURLKHSTAT_LAST    /* not for use, only a marker for last-in-list */
--};
--
--/* this is the set of status codes pass in to the callback */
--enum curl_khmatch {
--  CURLKHMATCH_OK,       /* match */
--  CURLKHMATCH_MISMATCH, /* host found, key mismatch! */
--  CURLKHMATCH_MISSING,  /* no matching host/key found */
--  CURLKHMATCH_LAST      /* not for use, only a marker for last-in-list */
--};
--
--typedef int
--  (*curl_sshkeycallback) (CURL *easy,     /* easy handle */
--                          const struct curl_khkey *knownkey, /* known */
--                          const struct curl_khkey *foundkey, /* found */
--                          enum curl_khmatch, /* libcurl's view on the keys */
--                          void *clientp); /* custom pointer passed from app */
--
--/* parameter for the CURLOPT_USE_SSL option */
--typedef enum {
--  CURLUSESSL_NONE,    /* do not attempt to use SSL */
--  CURLUSESSL_TRY,     /* try using SSL, proceed anyway otherwise */
--  CURLUSESSL_CONTROL, /* SSL for the control connection or fail */
--  CURLUSESSL_ALL,     /* SSL for all communication or fail */
--  CURLUSESSL_LAST     /* not an option, never use */
--} curl_usessl;
--
--/* Definition of bits for the CURLOPT_SSL_OPTIONS argument: */
--
--/* - ALLOW_BEAST tells libcurl to allow the BEAST SSL vulnerability in the
--   name of improving interoperability with older servers. Some SSL libraries
--   have introduced work-arounds for this flaw but those work-arounds sometimes
--   make the SSL communication fail. To regain functionality with those broken
--   servers, a user can this way allow the vulnerability back. */
--#define CURLSSLOPT_ALLOW_BEAST (1<<0)
--
--/* - NO_REVOKE tells libcurl to disable certificate revocation checks for those
--   SSL backends where such behavior is present. */
--#define CURLSSLOPT_NO_REVOKE (1<<1)
--
--#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
--                          the obsolete stuff removed! */
--
--/* Backwards compatibility with older names */
--/* These are scheduled to disappear by 2009 */
--
--#define CURLFTPSSL_NONE CURLUSESSL_NONE
--#define CURLFTPSSL_TRY CURLUSESSL_TRY
--#define CURLFTPSSL_CONTROL CURLUSESSL_CONTROL
--#define CURLFTPSSL_ALL CURLUSESSL_ALL
--#define CURLFTPSSL_LAST CURLUSESSL_LAST
--#define curl_ftpssl curl_usessl
--#endif /*!CURL_NO_OLDIES*/
--
--/* parameter for the CURLOPT_FTP_SSL_CCC option */
--typedef enum {
--  CURLFTPSSL_CCC_NONE,    /* do not send CCC */
--  CURLFTPSSL_CCC_PASSIVE, /* Let the server initiate the shutdown */
--  CURLFTPSSL_CCC_ACTIVE,  /* Initiate the shutdown */
--  CURLFTPSSL_CCC_LAST     /* not an option, never use */
--} curl_ftpccc;
--
--/* parameter for the CURLOPT_FTPSSLAUTH option */
--typedef enum {
--  CURLFTPAUTH_DEFAULT, /* let libcurl decide */
--  CURLFTPAUTH_SSL,     /* use "AUTH SSL" */
--  CURLFTPAUTH_TLS,     /* use "AUTH TLS" */
--  CURLFTPAUTH_LAST /* not an option, never use */
--} curl_ftpauth;
--
--/* parameter for the CURLOPT_FTP_CREATE_MISSING_DIRS option */
--typedef enum {
--  CURLFTP_CREATE_DIR_NONE,  /* do NOT create missing dirs! */
--  CURLFTP_CREATE_DIR,       /* (FTP/SFTP) if CWD fails, try MKD and then CWD
--                               again if MKD succeeded, for SFTP this does
--                               similar magic */
--  CURLFTP_CREATE_DIR_RETRY, /* (FTP only) if CWD fails, try MKD and then CWD
--                               again even if MKD failed! */
--  CURLFTP_CREATE_DIR_LAST   /* not an option, never use */
--} curl_ftpcreatedir;
--
--/* parameter for the CURLOPT_FTP_FILEMETHOD option */
--typedef enum {
--  CURLFTPMETHOD_DEFAULT,   /* let libcurl pick */
--  CURLFTPMETHOD_MULTICWD,  /* single CWD operation for each path part */
--  CURLFTPMETHOD_NOCWD,     /* no CWD at all */
--  CURLFTPMETHOD_SINGLECWD, /* one CWD to full dir, then work on file */
--  CURLFTPMETHOD_LAST       /* not an option, never use */
--} curl_ftpmethod;
--
--/* bitmask defines for CURLOPT_HEADEROPT */
--#define CURLHEADER_UNIFIED  0
--#define CURLHEADER_SEPARATE (1<<0)
--
--/* CURLPROTO_ defines are for the CURLOPT_*PROTOCOLS options */
--#define CURLPROTO_HTTP   (1<<0)
--#define CURLPROTO_HTTPS  (1<<1)
--#define CURLPROTO_FTP    (1<<2)
--#define CURLPROTO_FTPS   (1<<3)
--#define CURLPROTO_SCP    (1<<4)
--#define CURLPROTO_SFTP   (1<<5)
--#define CURLPROTO_TELNET (1<<6)
--#define CURLPROTO_LDAP   (1<<7)
--#define CURLPROTO_LDAPS  (1<<8)
--#define CURLPROTO_DICT   (1<<9)
--#define CURLPROTO_FILE   (1<<10)
--#define CURLPROTO_TFTP   (1<<11)
--#define CURLPROTO_IMAP   (1<<12)
--#define CURLPROTO_IMAPS  (1<<13)
--#define CURLPROTO_POP3   (1<<14)
--#define CURLPROTO_POP3S  (1<<15)
--#define CURLPROTO_SMTP   (1<<16)
--#define CURLPROTO_SMTPS  (1<<17)
--#define CURLPROTO_RTSP   (1<<18)
--#define CURLPROTO_RTMP   (1<<19)
--#define CURLPROTO_RTMPT  (1<<20)
--#define CURLPROTO_RTMPE  (1<<21)
--#define CURLPROTO_RTMPTE (1<<22)
--#define CURLPROTO_RTMPS  (1<<23)
--#define CURLPROTO_RTMPTS (1<<24)
--#define CURLPROTO_GOPHER (1<<25)
--#define CURLPROTO_SMB    (1<<26)
--#define CURLPROTO_SMBS   (1<<27)
--#define CURLPROTO_ALL    (~0) /* enable everything */
--
--/* long may be 32 or 64 bits, but we should never depend on anything else
--   but 32 */
--#define CURLOPTTYPE_LONG          0
--#define CURLOPTTYPE_OBJECTPOINT   10000
--#define CURLOPTTYPE_STRINGPOINT   10000
--#define CURLOPTTYPE_FUNCTIONPOINT 20000
--#define CURLOPTTYPE_OFF_T         30000
--
--/* *STRINGPOINT is an alias for OBJECTPOINT to allow tools to extract the
--   string options from the header file */
--
--/* name is uppercase CURLOPT_<name>,
--   type is one of the defined CURLOPTTYPE_<type>
--   number is unique identifier */
--#ifdef CINIT
--#undef CINIT
--#endif
--
--#ifdef CURL_ISOCPP
--#define CINIT(na,t,nu) CURLOPT_ ## na = CURLOPTTYPE_ ## t + nu
--#else
--/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */
--#define LONG          CURLOPTTYPE_LONG
--#define OBJECTPOINT   CURLOPTTYPE_OBJECTPOINT
--#define STRINGPOINT   CURLOPTTYPE_OBJECTPOINT
--#define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT
--#define OFF_T         CURLOPTTYPE_OFF_T
--#define CINIT(name,type,number) CURLOPT_/**/name = type + number
--#endif
--
--/*
-- * This macro-mania below setups the CURLOPT_[what] enum, to be used with
-- * curl_easy_setopt(). The first argument in the CINIT() macro is the [what]
-- * word.
-- */
--
--typedef enum {
--  /* This is the FILE * or void * the regular output should be written to. */
--  CINIT(WRITEDATA, OBJECTPOINT, 1),
--
--  /* The full URL to get/put */
--  CINIT(URL, STRINGPOINT, 2),
--
--  /* Port number to connect to, if other than default. */
--  CINIT(PORT, LONG, 3),
--
--  /* Name of proxy to use. */
--  CINIT(PROXY, STRINGPOINT, 4),
--
--  /* "user:password;options" to use when fetching. */
--  CINIT(USERPWD, STRINGPOINT, 5),
--
--  /* "user:password" to use with proxy. */
--  CINIT(PROXYUSERPWD, STRINGPOINT, 6),
--
--  /* Range to get, specified as an ASCII string. */
--  CINIT(RANGE, STRINGPOINT, 7),
--
--  /* not used */
--
--  /* Specified file stream to upload from (use as input): */
--  CINIT(READDATA, OBJECTPOINT, 9),
--
--  /* 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: */
--  CINIT(ERRORBUFFER, OBJECTPOINT, 10),
--
--  /* Function that will be called to store the output (instead of fwrite). The
--   * parameters will use fwrite() syntax, make sure to follow them. */
--  CINIT(WRITEFUNCTION, FUNCTIONPOINT, 11),
--
--  /* Function that will be called to read the input (instead of fread). The
--   * parameters will use fread() syntax, make sure to follow them. */
--  CINIT(READFUNCTION, FUNCTIONPOINT, 12),
--
--  /* Time-out the read operation after this amount of seconds */
--  CINIT(TIMEOUT, LONG, 13),
--
--  /* If the CURLOPT_INFILE is used, this can be used to inform libcurl about
--   * how large the file being sent really is. That allows better error
--   * checking and better verifies that the upload was successful. -1 means
--   * unknown size.
--   *
--   * For large file support, there is also a _LARGE version of the key
--   * which takes an off_t type, allowing platforms with larger off_t
--   * sizes to handle larger files.  See below for INFILESIZE_LARGE.
--   */
--  CINIT(INFILESIZE, LONG, 14),
--
--  /* POST static input fields. */
--  CINIT(POSTFIELDS, OBJECTPOINT, 15),
--
--  /* Set the referrer page (needed by some CGIs) */
--  CINIT(REFERER, STRINGPOINT, 16),
--
--  /* Set the FTP PORT string (interface name, named or numerical IP address)
--     Use i.e '-' to use default address. */
--  CINIT(FTPPORT, STRINGPOINT, 17),
--
--  /* Set the User-Agent string (examined by some CGIs) */
--  CINIT(USERAGENT, STRINGPOINT, 18),
--
--  /* If the download receives less than "low speed limit" bytes/second
--   * during "low speed time" seconds, the operations is aborted.
--   * You could i.e if you have a pretty high speed connection, abort if
--   * it is less than 2000 bytes/sec during 20 seconds.
--   */
--
--  /* Set the "low speed limit" */
--  CINIT(LOW_SPEED_LIMIT, LONG, 19),
--
--  /* Set the "low speed time" */
--  CINIT(LOW_SPEED_TIME, LONG, 20),
--
--  /* Set the continuation offset.
--   *
--   * Note there is also a _LARGE version of this key which uses
--   * off_t types, allowing for large file offsets on platforms which
--   * use larger-than-32-bit off_t's.  Look below for RESUME_FROM_LARGE.
--   */
--  CINIT(RESUME_FROM, LONG, 21),
--
--  /* Set cookie in request: */
--  CINIT(COOKIE, STRINGPOINT, 22),
--
--  /* 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),
--
--  /* This points to a linked list of post entries, struct curl_httppost */
--  CINIT(HTTPPOST, OBJECTPOINT, 24),
--
--  /* name of the file keeping your private SSL-certificate */
--  CINIT(SSLCERT, STRINGPOINT, 25),
--
--  /* password for the SSL or SSH private key */
--  CINIT(KEYPASSWD, STRINGPOINT, 26),
--
--  /* send TYPE parameter? */
--  CINIT(CRLF, LONG, 27),
--
--  /* send linked-list of QUOTE commands */
--  CINIT(QUOTE, OBJECTPOINT, 28),
--
--  /* send FILE * or void * to store headers to, if you use a callback it
--     is simply passed to the callback unmodified */
--  CINIT(HEADERDATA, OBJECTPOINT, 29),
--
--  /* point to a file to read the initial cookies from, also enables
--     "cookie awareness" */
--  CINIT(COOKIEFILE, STRINGPOINT, 31),
--
--  /* What version to specifically try to use.
--     See CURL_SSLVERSION defines below. */
--  CINIT(SSLVERSION, LONG, 32),
--
--  /* What kind of HTTP time condition to use, see defines */
--  CINIT(TIMECONDITION, LONG, 33),
--
--  /* Time to use with the above condition. Specified in number of seconds
--     since 1 Jan 1970 */
--  CINIT(TIMEVALUE, LONG, 34),
--
--  /* 35 = OBSOLETE */
--
--  /* Custom request, for customizing the get command like
--     HTTP: DELETE, TRACE and others
--     FTP: to use a different list command
--     */
--  CINIT(CUSTOMREQUEST, STRINGPOINT, 36),
--
--  /* FILE handle to use instead of stderr */
--  CINIT(STDERR, OBJECTPOINT, 37),
--
--  /* 38 is not used */
--
--  /* send linked-list of post-transfer QUOTE commands */
--  CINIT(POSTQUOTE, OBJECTPOINT, 39),
--
--  CINIT(OBSOLETE40, OBJECTPOINT, 40), /* OBSOLETE, do not use! */
--
--  CINIT(VERBOSE, LONG, 41),      /* talk a lot */
--  CINIT(HEADER, LONG, 42),       /* throw the header out too */
--  CINIT(NOPROGRESS, LONG, 43),   /* shut off the progress meter */
--  CINIT(NOBODY, LONG, 44),       /* use HEAD to get http document */
--  CINIT(FAILONERROR, LONG, 45),  /* no output on http error codes >= 400 */
--  CINIT(UPLOAD, LONG, 46),       /* this is an upload */
--  CINIT(POST, LONG, 47),         /* HTTP POST method */
--  CINIT(DIRLISTONLY, LONG, 48),  /* bare names when listing directories */
--
--  CINIT(APPEND, LONG, 50),       /* Append instead of overwrite on upload! */
--
--  /* Specify whether to read the user+password from the .netrc or the URL.
--   * This must be one of the CURL_NETRC_* enums below. */
--  CINIT(NETRC, LONG, 51),
--
--  CINIT(FOLLOWLOCATION, LONG, 52),  /* use Location: Luke! */
--
--  CINIT(TRANSFERTEXT, LONG, 53), /* transfer data in text/ASCII format */
--  CINIT(PUT, LONG, 54),          /* HTTP PUT */
--
--  /* 55 = OBSOLETE */
--
--  /* DEPRECATED
--   * Function that will be called instead of the internal progress display
--   * function. This function should be defined as the curl_progress_callback
--   * prototype defines. */
--  CINIT(PROGRESSFUNCTION, FUNCTIONPOINT, 56),
--
--  /* Data passed to the CURLOPT_PROGRESSFUNCTION and CURLOPT_XFERINFOFUNCTION
--     callbacks */
--  CINIT(PROGRESSDATA, OBJECTPOINT, 57),
--#define CURLOPT_XFERINFODATA CURLOPT_PROGRESSDATA
--
--  /* We want the referrer field set automatically when following locations */
--  CINIT(AUTOREFERER, LONG, 58),
--
--  /* Port of the proxy, can be set in the proxy string as well with:
--     "[host]:[port]" */
--  CINIT(PROXYPORT, LONG, 59),
--
--  /* size of the POST input data, if strlen() is not good to use */
--  CINIT(POSTFIELDSIZE, LONG, 60),
--
--  /* tunnel non-http operations through a HTTP proxy */
--  CINIT(HTTPPROXYTUNNEL, LONG, 61),
--
--  /* Set the interface string to use as outgoing network interface */
--  CINIT(INTERFACE, STRINGPOINT, 62),
--
--  /* Set the krb4/5 security level, this also enables krb4/5 awareness.  This
--   * is a string, 'clear', 'safe', 'confidential' or 'private'.  If the string
--   * is set but doesn't match one of these, 'private' will be used.  */
--  CINIT(KRBLEVEL, STRINGPOINT, 63),
--
--  /* Set if we should verify the peer in ssl handshake, set 1 to verify. */
--  CINIT(SSL_VERIFYPEER, LONG, 64),
--
--  /* The CApath or CAfile used to validate the peer certificate
--     this option is used only if SSL_VERIFYPEER is true */
--  CINIT(CAINFO, STRINGPOINT, 65),
--
--  /* 66 = OBSOLETE */
--  /* 67 = OBSOLETE */
--
--  /* Maximum number of http redirects to follow */
--  CINIT(MAXREDIRS, LONG, 68),
--
--  /* Pass a long set to 1 to get the date of the requested document (if
--     possible)! Pass a zero to shut it off. */
--  CINIT(FILETIME, LONG, 69),
--
--  /* This points to a linked list of telnet options */
--  CINIT(TELNETOPTIONS, OBJECTPOINT, 70),
--
--  /* Max amount of cached alive connections */
--  CINIT(MAXCONNECTS, LONG, 71),
--
--  CINIT(OBSOLETE72, LONG, 72), /* OBSOLETE, do not use! */
--
--  /* 73 = OBSOLETE */
--
--  /* Set to explicitly use a new connection for the upcoming transfer.
--     Do not use this unless you're absolutely sure of this, as it makes the
--     operation slower and is less friendly for the network. */
--  CINIT(FRESH_CONNECT, LONG, 74),
--
--  /* Set to explicitly forbid the upcoming transfer's connection to be re-used
--     when done. Do not use this unless you're absolutely sure of this, as it
--     makes the operation slower and is less friendly for the network. */
--  CINIT(FORBID_REUSE, LONG, 75),
--
--  /* Set to a file name that contains random data for libcurl to use to
--     seed the random engine when doing SSL connects. */
--  CINIT(RANDOM_FILE, STRINGPOINT, 76),
--
--  /* Set to the Entropy Gathering Daemon socket pathname */
--  CINIT(EGDSOCKET, STRINGPOINT, 77),
--
--  /* Time-out connect operations after this amount of seconds, if connects are
--     OK within this time, then fine... This only aborts the connect phase. */
--  CINIT(CONNECTTIMEOUT, LONG, 78),
--
--  /* Function that will be called to store headers (instead of fwrite). The
--   * parameters will use fwrite() syntax, make sure to follow them. */
--  CINIT(HEADERFUNCTION, FUNCTIONPOINT, 79),
--
--  /* Set this to force the HTTP request to get back to GET. Only really usable
--     if POST, PUT or a custom request have been used first.
--   */
--  CINIT(HTTPGET, LONG, 80),
--
--  /* Set if we should verify the Common name from the peer certificate in ssl
--   * handshake, set 1 to check existence, 2 to ensure that it matches the
--   * provided hostname. */
--  CINIT(SSL_VERIFYHOST, LONG, 81),
--
--  /* Specify which file name to write all known cookies in after completed
--     operation. Set file name to "-" (dash) to make it go to stdout. */
--  CINIT(COOKIEJAR, STRINGPOINT, 82),
--
--  /* Specify which SSL ciphers to use */
--  CINIT(SSL_CIPHER_LIST, STRINGPOINT, 83),
--
--  /* Specify which HTTP version to use! This must be set to one of the
--     CURL_HTTP_VERSION* enums set below. */
--  CINIT(HTTP_VERSION, LONG, 84),
--
--  /* Specifically switch on or off the FTP engine's use of the EPSV command. By
--     default, that one will always be attempted before the more traditional
--     PASV command. */
--  CINIT(FTP_USE_EPSV, LONG, 85),
--
--  /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") */
--  CINIT(SSLCERTTYPE, STRINGPOINT, 86),
--
--  /* name of the file keeping your private SSL-key */
--  CINIT(SSLKEY, STRINGPOINT, 87),
--
--  /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") */
--  CINIT(SSLKEYTYPE, STRINGPOINT, 88),
--
--  /* crypto engine for the SSL-sub system */
--  CINIT(SSLENGINE, STRINGPOINT, 89),
--
--  /* set the crypto engine for the SSL-sub system as default
--     the param has no meaning...
--   */
--  CINIT(SSLENGINE_DEFAULT, LONG, 90),
--
--  /* Non-zero value means to use the global dns cache */
--  CINIT(DNS_USE_GLOBAL_CACHE, LONG, 91), /* DEPRECATED, do not use! */
--
--  /* DNS cache timeout */
--  CINIT(DNS_CACHE_TIMEOUT, LONG, 92),
--
--  /* send linked-list of pre-transfer QUOTE commands */
--  CINIT(PREQUOTE, OBJECTPOINT, 93),
--
--  /* set the debug function */
--  CINIT(DEBUGFUNCTION, FUNCTIONPOINT, 94),
--
--  /* set the data for the debug function */
--  CINIT(DEBUGDATA, OBJECTPOINT, 95),
--
--  /* mark this as start of a cookie session */
--  CINIT(COOKIESESSION, LONG, 96),
--
--  /* The CApath directory used to validate the peer certificate
--     this option is used only if SSL_VERIFYPEER is true */
--  CINIT(CAPATH, STRINGPOINT, 97),
--
--  /* Instruct libcurl to use a smaller receive buffer */
--  CINIT(BUFFERSIZE, LONG, 98),
--
--  /* Instruct libcurl to not use any signal/alarm handlers, even when using
--     timeouts. This option is useful for multi-threaded applications.
--     See libcurl-the-guide for more background information. */
--  CINIT(NOSIGNAL, LONG, 99),
--
--  /* Provide a CURLShare for mutexing non-ts data */
--  CINIT(SHARE, OBJECTPOINT, 100),
--
--  /* indicates type of proxy. accepted values are CURLPROXY_HTTP (default),
--     CURLPROXY_HTTPS, CURLPROXY_SOCKS4, CURLPROXY_SOCKS4A and
--     CURLPROXY_SOCKS5. */
--  CINIT(PROXYTYPE, LONG, 101),
--
--  /* Set the Accept-Encoding string. Use this to tell a server you would like
--     the response to be compressed. Before 7.21.6, this was known as
--     CURLOPT_ENCODING */
--  CINIT(ACCEPT_ENCODING, STRINGPOINT, 102),
--
--  /* Set pointer to private data */
--  CINIT(PRIVATE, OBJECTPOINT, 103),
--
--  /* Set aliases for HTTP 200 in the HTTP Response header */
--  CINIT(HTTP200ALIASES, OBJECTPOINT, 104),
--
--  /* Continue to send authentication (user+password) when following locations,
--     even when hostname changed. This can potentially send off the name
--     and password to whatever host the server decides. */
--  CINIT(UNRESTRICTED_AUTH, LONG, 105),
--
--  /* Specifically switch on or off the FTP engine's use of the EPRT command (
--     it also disables the LPRT attempt). By default, those ones will always be
--     attempted before the good old traditional PORT command. */
--  CINIT(FTP_USE_EPRT, LONG, 106),
--
--  /* Set this to a bitmask value to enable the particular authentications
--     methods you like. Use this in combination with CURLOPT_USERPWD.
--     Note that setting multiple bits may cause extra network round-trips. */
--  CINIT(HTTPAUTH, LONG, 107),
--
--  /* Set the ssl context callback function, currently only for OpenSSL ssl_ctx
--     in second argument. The function must be matching the
--     curl_ssl_ctx_callback proto. */
--  CINIT(SSL_CTX_FUNCTION, FUNCTIONPOINT, 108),
--
--  /* Set the userdata for the ssl context callback function's third
--     argument */
--  CINIT(SSL_CTX_DATA, OBJECTPOINT, 109),
--
--  /* FTP Option that causes missing dirs to be created on the remote server.
--     In 7.19.4 we introduced the convenience enums for this option using the
--     CURLFTP_CREATE_DIR prefix.
--  */
--  CINIT(FTP_CREATE_MISSING_DIRS, LONG, 110),
--
--  /* Set this to a bitmask value to enable the particular authentications
--     methods you like. Use this in combination with CURLOPT_PROXYUSERPWD.
--     Note that setting multiple bits may cause extra network round-trips. */
--  CINIT(PROXYAUTH, LONG, 111),
--
--  /* FTP option that changes the timeout, in seconds, associated with
--     getting a response.  This is different from transfer timeout time and
--     essentially places a demand on the FTP server to acknowledge commands
--     in a timely manner. */
--  CINIT(FTP_RESPONSE_TIMEOUT, LONG, 112),
--#define CURLOPT_SERVER_RESPONSE_TIMEOUT CURLOPT_FTP_RESPONSE_TIMEOUT
--
--  /* Set this option to one of the CURL_IPRESOLVE_* defines (see below) to
--     tell libcurl to resolve names to those IP versions only. This only has
--     affect on systems with support for more than one, i.e IPv4 _and_ IPv6. */
--  CINIT(IPRESOLVE, LONG, 113),
--
--  /* Set this option to limit the size of a file that will be downloaded from
--     an HTTP or FTP server.
--
--     Note there is also _LARGE version which adds large file support for
--     platforms which have larger off_t sizes.  See MAXFILESIZE_LARGE below. */
--  CINIT(MAXFILESIZE, LONG, 114),
--
--  /* See the comment for INFILESIZE above, but in short, specifies
--   * the size of the file being uploaded.  -1 means unknown.
--   */
--  CINIT(INFILESIZE_LARGE, OFF_T, 115),
--
--  /* Sets the continuation offset.  There is also a LONG version of this;
--   * look above for RESUME_FROM.
--   */
--  CINIT(RESUME_FROM_LARGE, OFF_T, 116),
--
--  /* Sets the maximum size of data that will be downloaded from
--   * an HTTP or FTP server.  See MAXFILESIZE above for the LONG version.
--   */
--  CINIT(MAXFILESIZE_LARGE, OFF_T, 117),
--
--  /* Set this option to the file name of your .netrc file you want libcurl
--     to parse (using the CURLOPT_NETRC option). If not set, libcurl will do
--     a poor attempt to find the user's home directory and check for a .netrc
--     file in there. */
--  CINIT(NETRC_FILE, STRINGPOINT, 118),
--
--  /* Enable SSL/TLS for FTP, pick one of:
--     CURLUSESSL_TRY     - try using SSL, proceed anyway otherwise
--     CURLUSESSL_CONTROL - SSL for the control connection or fail
--     CURLUSESSL_ALL     - SSL for all communication or fail
--  */
--  CINIT(USE_SSL, LONG, 119),
--
--  /* The _LARGE version of the standard POSTFIELDSIZE option */
--  CINIT(POSTFIELDSIZE_LARGE, OFF_T, 120),
--
--  /* Enable/disable the TCP Nagle algorithm */
--  CINIT(TCP_NODELAY, LONG, 121),
--
--  /* 122 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */
--  /* 123 OBSOLETE. Gone in 7.16.0 */
--  /* 124 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */
--  /* 125 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */
--  /* 126 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */
--  /* 127 OBSOLETE. Gone in 7.16.0 */
--  /* 128 OBSOLETE. Gone in 7.16.0 */
--
--  /* When FTP over SSL/TLS is selected (with CURLOPT_USE_SSL), this option
--     can be used to change libcurl's default action which is to first try
--     "AUTH SSL" and then "AUTH TLS" in this order, and proceed when a OK
--     response has been received.
--
--     Available parameters are:
--     CURLFTPAUTH_DEFAULT - let libcurl decide
--     CURLFTPAUTH_SSL     - try "AUTH SSL" first, then TLS
--     CURLFTPAUTH_TLS     - try "AUTH TLS" first, then SSL
--  */
--  CINIT(FTPSSLAUTH, LONG, 129),
--
--  CINIT(IOCTLFUNCTION, FUNCTIONPOINT, 130),
--  CINIT(IOCTLDATA, OBJECTPOINT, 131),
--
--  /* 132 OBSOLETE. Gone in 7.16.0 */
--  /* 133 OBSOLETE. Gone in 7.16.0 */
--
--  /* zero terminated string for pass on to the FTP server when asked for
--     "account" info */
--  CINIT(FTP_ACCOUNT, STRINGPOINT, 134),
--
--  /* feed cookie into cookie engine */
--  CINIT(COOKIELIST, STRINGPOINT, 135),
--
--  /* ignore Content-Length */
--  CINIT(IGNORE_CONTENT_LENGTH, LONG, 136),
--
--  /* Set to non-zero to skip the IP address received in a 227 PASV FTP server
--     response. Typically used for FTP-SSL purposes but is not restricted to
--     that. libcurl will then instead use the same IP address it used for the
--     control connection. */
--  CINIT(FTP_SKIP_PASV_IP, LONG, 137),
--
--  /* Select "file method" to use when doing FTP, see the curl_ftpmethod
--     above. */
--  CINIT(FTP_FILEMETHOD, LONG, 138),
--
--  /* Local port number to bind the socket to */
--  CINIT(LOCALPORT, LONG, 139),
--
--  /* Number of ports to try, including the first one set with LOCALPORT.
--     Thus, setting it to 1 will make no additional attempts but the first.
--  */
--  CINIT(LOCALPORTRANGE, LONG, 140),
--
--  /* no transfer, set up connection and let application use the socket by
--     extracting it with CURLINFO_LASTSOCKET */
--  CINIT(CONNECT_ONLY, LONG, 141),
--
--  /* Function that will be called to convert from the
--     network encoding (instead of using the iconv calls in libcurl) */
--  CINIT(CONV_FROM_NETWORK_FUNCTION, FUNCTIONPOINT, 142),
--
--  /* Function that will be called to convert to the
--     network encoding (instead of using the iconv calls in libcurl) */
--  CINIT(CONV_TO_NETWORK_FUNCTION, FUNCTIONPOINT, 143),
--
--  /* Function that will be called to convert from UTF8
--     (instead of using the iconv calls in libcurl)
--     Note that this is used only for SSL certificate processing */
--  CINIT(CONV_FROM_UTF8_FUNCTION, FUNCTIONPOINT, 144),
--
--  /* if the connection proceeds too quickly then need to slow it down */
--  /* limit-rate: maximum number of bytes per second to send or receive */
--  CINIT(MAX_SEND_SPEED_LARGE, OFF_T, 145),
--  CINIT(MAX_RECV_SPEED_LARGE, OFF_T, 146),
--
--  /* Pointer to command string to send if USER/PASS fails. */
--  CINIT(FTP_ALTERNATIVE_TO_USER, STRINGPOINT, 147),
--
--  /* callback function for setting socket options */
--  CINIT(SOCKOPTFUNCTION, FUNCTIONPOINT, 148),
--  CINIT(SOCKOPTDATA, OBJECTPOINT, 149),
--
--  /* set to 0 to disable session ID re-use for this transfer, default is
--     enabled (== 1) */
--  CINIT(SSL_SESSIONID_CACHE, LONG, 150),
--
--  /* allowed SSH authentication methods */
--  CINIT(SSH_AUTH_TYPES, LONG, 151),
--
--  /* Used by scp/sftp to do public/private key authentication */
--  CINIT(SSH_PUBLIC_KEYFILE, STRINGPOINT, 152),
--  CINIT(SSH_PRIVATE_KEYFILE, STRINGPOINT, 153),
--
--  /* Send CCC (Clear Command Channel) after authentication */
--  CINIT(FTP_SSL_CCC, LONG, 154),
--
--  /* Same as TIMEOUT and CONNECTTIMEOUT, but with ms resolution */
--  CINIT(TIMEOUT_MS, LONG, 155),
--  CINIT(CONNECTTIMEOUT_MS, LONG, 156),
--
--  /* set to zero to disable the libcurl's decoding and thus pass the raw body
--     data to the application even when it is encoded/compressed */
--  CINIT(HTTP_TRANSFER_DECODING, LONG, 157),
--  CINIT(HTTP_CONTENT_DECODING, LONG, 158),
--
--  /* Permission used when creating new files and directories on the remote
--     server for protocols that support it, SFTP/SCP/FILE */
--  CINIT(NEW_FILE_PERMS, LONG, 159),
--  CINIT(NEW_DIRECTORY_PERMS, LONG, 160),
--
--  /* Set the behaviour of POST when redirecting. Values must be set to one
--     of CURL_REDIR* defines below. This used to be called CURLOPT_POST301 */
--  CINIT(POSTREDIR, LONG, 161),
--
--  /* used by scp/sftp to verify the host's public key */
--  CINIT(SSH_HOST_PUBLIC_KEY_MD5, STRINGPOINT, 162),
--
--  /* Callback function for opening socket (instead of socket(2)). Optionally,
--     callback is able change the address or refuse to connect returning
--     CURL_SOCKET_BAD.  The callback should have type
--     curl_opensocket_callback */
--  CINIT(OPENSOCKETFUNCTION, FUNCTIONPOINT, 163),
--  CINIT(OPENSOCKETDATA, OBJECTPOINT, 164),
--
--  /* POST volatile input fields. */
--  CINIT(COPYPOSTFIELDS, OBJECTPOINT, 165),
--
--  /* set transfer mode (;type=<a|i>) when doing FTP via an HTTP proxy */
--  CINIT(PROXY_TRANSFER_MODE, LONG, 166),
--
--  /* Callback function for seeking in the input stream */
--  CINIT(SEEKFUNCTION, FUNCTIONPOINT, 167),
--  CINIT(SEEKDATA, OBJECTPOINT, 168),
--
--  /* CRL file */
--  CINIT(CRLFILE, STRINGPOINT, 169),
--
--  /* Issuer certificate */
--  CINIT(ISSUERCERT, STRINGPOINT, 170),
--
--  /* (IPv6) Address scope */
--  CINIT(ADDRESS_SCOPE, LONG, 171),
--
--  /* Collect certificate chain info and allow it to get retrievable with
--     CURLINFO_CERTINFO after the transfer is complete. */
--  CINIT(CERTINFO, LONG, 172),
--
--  /* "name" and "pwd" to use when fetching. */
--  CINIT(USERNAME, STRINGPOINT, 173),
--  CINIT(PASSWORD, STRINGPOINT, 174),
--
--    /* "name" and "pwd" to use with Proxy when fetching. */
--  CINIT(PROXYUSERNAME, STRINGPOINT, 175),
--  CINIT(PROXYPASSWORD, STRINGPOINT, 176),
--
--  /* Comma separated list of hostnames defining no-proxy zones. These should
--     match both hostnames directly, and hostnames within a domain. For
--     example, local.com will match local.com and www.local.com, but NOT
--     notlocal.com or www.notlocal.com. For compatibility with other
--     implementations of this, .local.com will be considered to be the same as
--     local.com. A single * is the only valid wildcard, and effectively
--     disables the use of proxy. */
--  CINIT(NOPROXY, STRINGPOINT, 177),
--
--  /* block size for TFTP transfers */
--  CINIT(TFTP_BLKSIZE, LONG, 178),
--
--  /* Socks Service */
--  CINIT(SOCKS5_GSSAPI_SERVICE, STRINGPOINT, 179), /* DEPRECATED, do not use! */
--
--  /* Socks Service */
--  CINIT(SOCKS5_GSSAPI_NEC, LONG, 180),
--
--  /* set the bitmask for the protocols that are allowed to be used for the
--     transfer, which thus helps the app which takes URLs from users or other
--     external inputs and want to restrict what protocol(s) to deal
--     with. Defaults to CURLPROTO_ALL. */
--  CINIT(PROTOCOLS, LONG, 181),
--
--  /* set the bitmask for the protocols that libcurl is allowed to follow to,
--     as a subset of the CURLOPT_PROTOCOLS ones. That means the protocol needs
--     to be set in both bitmasks to be allowed to get redirected to. Defaults
--     to all protocols except FILE and SCP. */
--  CINIT(REDIR_PROTOCOLS, LONG, 182),
--
--  /* set the SSH knownhost file name to use */
--  CINIT(SSH_KNOWNHOSTS, STRINGPOINT, 183),
--
--  /* set the SSH host key callback, must point to a curl_sshkeycallback
--     function */
--  CINIT(SSH_KEYFUNCTION, FUNCTIONPOINT, 184),
--
--  /* set the SSH host key callback custom pointer */
--  CINIT(SSH_KEYDATA, OBJECTPOINT, 185),
--
--  /* set the SMTP mail originator */
--  CINIT(MAIL_FROM, STRINGPOINT, 186),
--
--  /* set the list of SMTP mail receiver(s) */
--  CINIT(MAIL_RCPT, OBJECTPOINT, 187),
--
--  /* FTP: send PRET before PASV */
--  CINIT(FTP_USE_PRET, LONG, 188),
--
--  /* RTSP request method (OPTIONS, SETUP, PLAY, etc...) */
--  CINIT(RTSP_REQUEST, LONG, 189),
--
--  /* The RTSP session identifier */
--  CINIT(RTSP_SESSION_ID, STRINGPOINT, 190),
--
--  /* The RTSP stream URI */
--  CINIT(RTSP_STREAM_URI, STRINGPOINT, 191),
--
--  /* The Transport: header to use in RTSP requests */
--  CINIT(RTSP_TRANSPORT, STRINGPOINT, 192),
--
--  /* Manually initialize the client RTSP CSeq for this handle */
--  CINIT(RTSP_CLIENT_CSEQ, LONG, 193),
--
--  /* Manually initialize the server RTSP CSeq for this handle */
--  CINIT(RTSP_SERVER_CSEQ, LONG, 194),
--
--  /* The stream to pass to INTERLEAVEFUNCTION. */
--  CINIT(INTERLEAVEDATA, OBJECTPOINT, 195),
--
--  /* Let the application define a custom write method for RTP data */
--  CINIT(INTERLEAVEFUNCTION, FUNCTIONPOINT, 196),
--
--  /* Turn on wildcard matching */
--  CINIT(WILDCARDMATCH, LONG, 197),
--
--  /* Directory matching callback called before downloading of an
--     individual file (chunk) started */
--  CINIT(CHUNK_BGN_FUNCTION, FUNCTIONPOINT, 198),
--
--  /* Directory matching callback called after the file (chunk)
--     was downloaded, or skipped */
--  CINIT(CHUNK_END_FUNCTION, FUNCTIONPOINT, 199),
--
--  /* Change match (fnmatch-like) callback for wildcard matching */
--  CINIT(FNMATCH_FUNCTION, FUNCTIONPOINT, 200),
--
--  /* Let the application define custom chunk data pointer */
--  CINIT(CHUNK_DATA, OBJECTPOINT, 201),
--
--  /* FNMATCH_FUNCTION user pointer */
--  CINIT(FNMATCH_DATA, OBJECTPOINT, 202),
--
--  /* send linked-list of name:port:address sets */
--  CINIT(RESOLVE, OBJECTPOINT, 203),
--
--  /* Set a username for authenticated TLS */
--  CINIT(TLSAUTH_USERNAME, STRINGPOINT, 204),
--
--  /* Set a password for authenticated TLS */
--  CINIT(TLSAUTH_PASSWORD, STRINGPOINT, 205),
--
--  /* Set authentication type for authenticated TLS */
--  CINIT(TLSAUTH_TYPE, STRINGPOINT, 206),
--
--  /* Set to 1 to enable the "TE:" header in HTTP requests to ask for
--     compressed transfer-encoded responses. Set to 0 to disable the use of TE:
--     in outgoing requests. The current default is 0, but it might change in a
--     future libcurl release.
--
--     libcurl will ask for the compressed methods it knows of, and if that
--     isn't any, it will not ask for transfer-encoding at all even if this
--     option is set to 1.
--
--  */
--  CINIT(TRANSFER_ENCODING, LONG, 207),
--
--  /* Callback function for closing socket (instead of close(2)). The callback
--     should have type curl_closesocket_callback */
--  CINIT(CLOSESOCKETFUNCTION, FUNCTIONPOINT, 208),
--  CINIT(CLOSESOCKETDATA, OBJECTPOINT, 209),
--
--  /* allow GSSAPI credential delegation */
--  CINIT(GSSAPI_DELEGATION, LONG, 210),
--
--  /* Set the name servers to use for DNS resolution */
--  CINIT(DNS_SERVERS, STRINGPOINT, 211),
--
--  /* Time-out accept operations (currently for FTP only) after this amount
--     of milliseconds. */
--  CINIT(ACCEPTTIMEOUT_MS, LONG, 212),
--
--  /* Set TCP keepalive */
--  CINIT(TCP_KEEPALIVE, LONG, 213),
--
--  /* non-universal keepalive knobs (Linux, AIX, HP-UX, more) */
--  CINIT(TCP_KEEPIDLE, LONG, 214),
--  CINIT(TCP_KEEPINTVL, LONG, 215),
--
--  /* Enable/disable specific SSL features with a bitmask, see CURLSSLOPT_* */
--  CINIT(SSL_OPTIONS, LONG, 216),
--
--  /* Set the SMTP auth originator */
--  CINIT(MAIL_AUTH, STRINGPOINT, 217),
--
--  /* Enable/disable SASL initial response */
--  CINIT(SASL_IR, LONG, 218),
--
--  /* Function that will be called instead of the internal progress display
--   * function. This function should be defined as the curl_xferinfo_callback
--   * prototype defines. (Deprecates CURLOPT_PROGRESSFUNCTION) */
--  CINIT(XFERINFOFUNCTION, FUNCTIONPOINT, 219),
--
--  /* The XOAUTH2 bearer token */
--  CINIT(XOAUTH2_BEARER, STRINGPOINT, 220),
--
--  /* Set the interface string to use as outgoing network
--   * interface for DNS requests.
--   * Only supported by the c-ares DNS backend */
--  CINIT(DNS_INTERFACE, STRINGPOINT, 221),
--
--  /* Set the local IPv4 address to use for outgoing DNS requests.
--   * Only supported by the c-ares DNS backend */
--  CINIT(DNS_LOCAL_IP4, STRINGPOINT, 222),
--
--  /* Set the local IPv4 address to use for outgoing DNS requests.
--   * Only supported by the c-ares DNS backend */
--  CINIT(DNS_LOCAL_IP6, STRINGPOINT, 223),
--
--  /* Set authentication options directly */
--  CINIT(LOGIN_OPTIONS, STRINGPOINT, 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),
--
--  /* The public key in DER form used to validate the peer public key
--     this option is used only if SSL_VERIFYPEER is true */
--  CINIT(PINNEDPUBLICKEY, STRINGPOINT, 230),
--
--  /* Path to Unix domain socket */
--  CINIT(UNIX_SOCKET_PATH, STRINGPOINT, 231),
--
--  /* Set if we should verify the certificate status. */
--  CINIT(SSL_VERIFYSTATUS, LONG, 232),
--
--  /* Set if we should enable TLS false start. */
--  CINIT(SSL_FALSESTART, LONG, 233),
--
--  /* Do not squash dot-dot sequences */
--  CINIT(PATH_AS_IS, LONG, 234),
--
--  /* Proxy Service Name */
--  CINIT(PROXY_SERVICE_NAME, STRINGPOINT, 235),
--
--  /* Service Name */
--  CINIT(SERVICE_NAME, STRINGPOINT, 236),
--
--  /* Wait/don't wait for pipe/mutex to clarify */
--  CINIT(PIPEWAIT, LONG, 237),
--
--  /* Set the protocol used when curl is given a URL without a protocol */
--  CINIT(DEFAULT_PROTOCOL, STRINGPOINT, 238),
--
--  /* Set stream weight, 1 - 256 (default is 16) */
--  CINIT(STREAM_WEIGHT, LONG, 239),
--
--  /* Set stream dependency on another CURL handle */
--  CINIT(STREAM_DEPENDS, OBJECTPOINT, 240),
--
--  /* Set E-xclusive stream dependency on another CURL handle */
--  CINIT(STREAM_DEPENDS_E, OBJECTPOINT, 241),
--
--  /* Do not send any tftp option requests to the server */
--  CINIT(TFTP_NO_OPTIONS, LONG, 242),
--
--  /* Linked-list of host:port:connect-to-host:connect-to-port,
--     overrides the URL's host:port (only for the network layer) */
--  CINIT(CONNECT_TO, OBJECTPOINT, 243),
--
--  /* Set TCP Fast Open */
--  CINIT(TCP_FASTOPEN, LONG, 244),
--
--  /* Continue to send data if the server responds early with an
--   * HTTP status code >= 300 */
--  CINIT(KEEP_SENDING_ON_ERROR, LONG, 245),
--
--  /* The CApath or CAfile used to validate the proxy certificate
--     this option is used only if PROXY_SSL_VERIFYPEER is true */
--  CINIT(PROXY_CAINFO, STRINGPOINT, 246),
--
--  /* The CApath directory used to validate the proxy certificate
--     this option is used only if PROXY_SSL_VERIFYPEER is true */
--  CINIT(PROXY_CAPATH, STRINGPOINT, 247),
--
--  /* Set if we should verify the proxy in ssl handshake,
--     set 1 to verify. */
--  CINIT(PROXY_SSL_VERIFYPEER, LONG, 248),
--
--  /* Set if we should verify the Common name from the proxy certificate in ssl
--   * handshake, set 1 to check existence, 2 to ensure that it matches
--   * the provided hostname. */
--  CINIT(PROXY_SSL_VERIFYHOST, LONG, 249),
--
--  /* What version to specifically try to use for proxy.
--     See CURL_SSLVERSION defines below. */
--  CINIT(PROXY_SSLVERSION, LONG, 250),
--
--  /* Set a username for authenticated TLS for proxy */
--  CINIT(PROXY_TLSAUTH_USERNAME, STRINGPOINT, 251),
--
--  /* Set a password for authenticated TLS for proxy */
--  CINIT(PROXY_TLSAUTH_PASSWORD, STRINGPOINT, 252),
--
--  /* Set authentication type for authenticated TLS for proxy */
--  CINIT(PROXY_TLSAUTH_TYPE, STRINGPOINT, 253),
--
--  /* name of the file keeping your private SSL-certificate for proxy */
--  CINIT(PROXY_SSLCERT, STRINGPOINT, 254),
--
--  /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") for
--     proxy */
--  CINIT(PROXY_SSLCERTTYPE, STRINGPOINT, 255),
--
--  /* name of the file keeping your private SSL-key for proxy */
--  CINIT(PROXY_SSLKEY, STRINGPOINT, 256),
--
--  /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") for
--     proxy */
--  CINIT(PROXY_SSLKEYTYPE, STRINGPOINT, 257),
--
--  /* password for the SSL private key for proxy */
--  CINIT(PROXY_KEYPASSWD, STRINGPOINT, 258),
--
--  /* Specify which SSL ciphers to use for proxy */
--  CINIT(PROXY_SSL_CIPHER_LIST, STRINGPOINT, 259),
--
--  /* CRL file for proxy */
--  CINIT(PROXY_CRLFILE, STRINGPOINT, 260),
--
--  /* Enable/disable specific SSL features with a bitmask for proxy, see
--     CURLSSLOPT_* */
--  CINIT(PROXY_SSL_OPTIONS, LONG, 261),
--
--  /* Name of pre proxy to use. */
--  CINIT(PRE_PROXY, STRINGPOINT, 262),
--
--  /* The public key in DER form used to validate the proxy public key
--     this option is used only if PROXY_SSL_VERIFYPEER is true */
--  CINIT(PROXY_PINNEDPUBLICKEY, STRINGPOINT, 263),
--
--  /* Path to an abstract Unix domain socket */
--  CINIT(ABSTRACT_UNIX_SOCKET, STRINGPOINT, 264),
--
--  /* Suppress proxy CONNECT response headers from user callbacks */
--  CINIT(SUPPRESS_CONNECT_HEADERS, LONG, 265),
--
--  CURLOPT_LASTENTRY /* the last unused */
--} CURLoption;
--
--#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
--                          the obsolete stuff removed! */
--
--/* Backwards compatibility with older names */
--/* These are scheduled to disappear by 2011 */
--
--/* This was added in version 7.19.1 */
--#define CURLOPT_POST301 CURLOPT_POSTREDIR
--
--/* These are scheduled to disappear by 2009 */
--
--/* The following were added in 7.17.0 */
--#define CURLOPT_SSLKEYPASSWD CURLOPT_KEYPASSWD
--#define CURLOPT_FTPAPPEND CURLOPT_APPEND
--#define CURLOPT_FTPLISTONLY CURLOPT_DIRLISTONLY
--#define CURLOPT_FTP_SSL CURLOPT_USE_SSL
--
--/* The following were added earlier */
--
--#define CURLOPT_SSLCERTPASSWD CURLOPT_KEYPASSWD
--#define CURLOPT_KRB4LEVEL CURLOPT_KRBLEVEL
--
--#else
--/* This is set if CURL_NO_OLDIES is defined at compile-time */
--#undef CURLOPT_DNS_USE_GLOBAL_CACHE /* soon obsolete */
--#endif
--
--
--  /* Below here follows defines for the CURLOPT_IPRESOLVE option. If a host
--     name resolves addresses using more than one IP protocol version, this
--     option might be handy to force libcurl to use a specific IP version. */
--#define CURL_IPRESOLVE_WHATEVER 0 /* default, resolves addresses to all IP
--                                     versions that your system allows */
--#define CURL_IPRESOLVE_V4       1 /* resolve to IPv4 addresses */
--#define CURL_IPRESOLVE_V6       2 /* resolve to IPv6 addresses */
--
--  /* three convenient "aliases" that follow the name scheme better */
--#define CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER
--
--  /* These enums are for use with the CURLOPT_HTTP_VERSION option. */
--enum {
--  CURL_HTTP_VERSION_NONE, /* setting this means we don't care, and that we'd
--                             like the library to choose the best possible
--                             for us! */
--  CURL_HTTP_VERSION_1_0,  /* please use HTTP 1.0 in the request */
--  CURL_HTTP_VERSION_1_1,  /* please use HTTP 1.1 in the request */
--  CURL_HTTP_VERSION_2_0,  /* please use HTTP 2 in the request */
--  CURL_HTTP_VERSION_2TLS, /* use version 2 for HTTPS, version 1.1 for HTTP */
--  CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE,  /* please use HTTP 2 without HTTP/1.1
--                                           Upgrade */
--
--  CURL_HTTP_VERSION_LAST /* *ILLEGAL* http version */
--};
--
--/* Convenience definition simple because the name of the version is HTTP/2 and
--   not 2.0. The 2_0 version of the enum name was set while the version was
--   still planned to be 2.0 and we stick to it for compatibility. */
--#define CURL_HTTP_VERSION_2 CURL_HTTP_VERSION_2_0
--
--/*
-- * Public API enums for RTSP requests
-- */
--enum {
--    CURL_RTSPREQ_NONE, /* first in list */
--    CURL_RTSPREQ_OPTIONS,
--    CURL_RTSPREQ_DESCRIBE,
--    CURL_RTSPREQ_ANNOUNCE,
--    CURL_RTSPREQ_SETUP,
--    CURL_RTSPREQ_PLAY,
--    CURL_RTSPREQ_PAUSE,
--    CURL_RTSPREQ_TEARDOWN,
--    CURL_RTSPREQ_GET_PARAMETER,
--    CURL_RTSPREQ_SET_PARAMETER,
--    CURL_RTSPREQ_RECORD,
--    CURL_RTSPREQ_RECEIVE,
--    CURL_RTSPREQ_LAST /* last in list */
--};
--
--  /* These enums are for use with the CURLOPT_NETRC option. */
--enum CURL_NETRC_OPTION {
--  CURL_NETRC_IGNORED,     /* The .netrc will never be read.
--                           * This is the default. */
--  CURL_NETRC_OPTIONAL,    /* A user:password in the URL will be preferred
--                           * to one in the .netrc. */
--  CURL_NETRC_REQUIRED,    /* A user:password in the URL will be ignored.
--                           * Unless one is set programmatically, the .netrc
--                           * will be queried. */
--  CURL_NETRC_LAST
--};
--
--enum {
--  CURL_SSLVERSION_DEFAULT,
--  CURL_SSLVERSION_TLSv1, /* TLS 1.x */
--  CURL_SSLVERSION_SSLv2,
--  CURL_SSLVERSION_SSLv3,
--  CURL_SSLVERSION_TLSv1_0,
--  CURL_SSLVERSION_TLSv1_1,
--  CURL_SSLVERSION_TLSv1_2,
--  CURL_SSLVERSION_TLSv1_3,
--
--  CURL_SSLVERSION_LAST /* never use, keep last */
--};
--
--enum {
--  CURL_SSLVERSION_MAX_NONE =     0,
--  CURL_SSLVERSION_MAX_DEFAULT =  (CURL_SSLVERSION_TLSv1   << 16),
--  CURL_SSLVERSION_MAX_TLSv1_0 =  (CURL_SSLVERSION_TLSv1_0 << 16),
--  CURL_SSLVERSION_MAX_TLSv1_1 =  (CURL_SSLVERSION_TLSv1_1 << 16),
--  CURL_SSLVERSION_MAX_TLSv1_2 =  (CURL_SSLVERSION_TLSv1_2 << 16),
--  CURL_SSLVERSION_MAX_TLSv1_3 =  (CURL_SSLVERSION_TLSv1_3 << 16),
--
--  /* never use, keep last */
--  CURL_SSLVERSION_MAX_LAST =     (CURL_SSLVERSION_LAST    << 16)
--};
--
--enum CURL_TLSAUTH {
--  CURL_TLSAUTH_NONE,
--  CURL_TLSAUTH_SRP,
--  CURL_TLSAUTH_LAST /* never use, keep last */
--};
--
--/* symbols to use with CURLOPT_POSTREDIR.
--   CURL_REDIR_POST_301, CURL_REDIR_POST_302 and CURL_REDIR_POST_303
--   can be bitwise ORed so that CURL_REDIR_POST_301 | CURL_REDIR_POST_302
--   | CURL_REDIR_POST_303 == CURL_REDIR_POST_ALL */
--
--#define CURL_REDIR_GET_ALL  0
--#define CURL_REDIR_POST_301 1
--#define CURL_REDIR_POST_302 2
--#define CURL_REDIR_POST_303 4
--#define CURL_REDIR_POST_ALL \
--    (CURL_REDIR_POST_301|CURL_REDIR_POST_302|CURL_REDIR_POST_303)
--
--typedef enum {
--  CURL_TIMECOND_NONE,
--
--  CURL_TIMECOND_IFMODSINCE,
--  CURL_TIMECOND_IFUNMODSINCE,
--  CURL_TIMECOND_LASTMOD,
--
--  CURL_TIMECOND_LAST
--} curl_TimeCond;
--
--
--/* curl_strequal() and curl_strnequal() are subject for removal in a future
--   libcurl, see lib/README.curlx for details
--
--   !checksrc! disable SPACEBEFOREPAREN 2
--*/
--CURL_EXTERN int (curl_strequal)(const char *s1, const char *s2);
--CURL_EXTERN int (curl_strnequal)(const char *s1, const char *s2, size_t n);
--
--/* name is uppercase CURLFORM_<name> */
--#ifdef CFINIT
--#undef CFINIT
--#endif
--
--#ifdef CURL_ISOCPP
--#define CFINIT(name) CURLFORM_ ## name
--#else
--/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */
--#define CFINIT(name) CURLFORM_/**/name
--#endif
--
--typedef enum {
--  CFINIT(NOTHING),        /********* the first one is unused ************/
--
--  /*  */
--  CFINIT(COPYNAME),
--  CFINIT(PTRNAME),
--  CFINIT(NAMELENGTH),
--  CFINIT(COPYCONTENTS),
--  CFINIT(PTRCONTENTS),
--  CFINIT(CONTENTSLENGTH),
--  CFINIT(FILECONTENT),
--  CFINIT(ARRAY),
--  CFINIT(OBSOLETE),
--  CFINIT(FILE),
--
--  CFINIT(BUFFER),
--  CFINIT(BUFFERPTR),
--  CFINIT(BUFFERLENGTH),
--
--  CFINIT(CONTENTTYPE),
--  CFINIT(CONTENTHEADER),
--  CFINIT(FILENAME),
--  CFINIT(END),
--  CFINIT(OBSOLETE2),
--
--  CFINIT(STREAM),
--  CFINIT(CONTENTLEN), /* added in 7.46.0, provide a curl_off_t length */
--
--  CURLFORM_LASTENTRY /* the last unused */
--} CURLformoption;
--
--#undef CFINIT /* done */
--
--/* structure to be used as parameter for CURLFORM_ARRAY */
--struct curl_forms {
--  CURLformoption option;
--  const char     *value;
--};
--
--/* use this for multipart formpost building */
--/* Returns code for curl_formadd()
-- *
-- * Returns:
-- * CURL_FORMADD_OK             on success
-- * CURL_FORMADD_MEMORY         if the FormInfo allocation fails
-- * CURL_FORMADD_OPTION_TWICE   if one option is given twice for one Form
-- * CURL_FORMADD_NULL           if a null pointer was given for a char
-- * CURL_FORMADD_MEMORY         if the allocation of a FormInfo struct failed
-- * CURL_FORMADD_UNKNOWN_OPTION if an unknown option was used
-- * CURL_FORMADD_INCOMPLETE     if the some FormInfo is not complete (or error)
-- * CURL_FORMADD_MEMORY         if a curl_httppost struct cannot be allocated
-- * CURL_FORMADD_MEMORY         if some allocation for string copying failed.
-- * CURL_FORMADD_ILLEGAL_ARRAY  if an illegal option is used in an array
-- *
-- ***************************************************************************/
--typedef enum {
--  CURL_FORMADD_OK, /* first, no error */
--
--  CURL_FORMADD_MEMORY,
--  CURL_FORMADD_OPTION_TWICE,
--  CURL_FORMADD_NULL,
--  CURL_FORMADD_UNKNOWN_OPTION,
--  CURL_FORMADD_INCOMPLETE,
--  CURL_FORMADD_ILLEGAL_ARRAY,
--  CURL_FORMADD_DISABLED, /* libcurl was built with this disabled */
--
--  CURL_FORMADD_LAST /* last */
--} CURLFORMcode;
--
--/*
-- * NAME curl_formadd()
-- *
-- * DESCRIPTION
-- *
-- * Pretty advanced function for building multi-part formposts. Each invoke
-- * adds one part that together construct a full post. Then use
-- * CURLOPT_HTTPPOST to send it off to libcurl.
-- */
--CURL_EXTERN CURLFORMcode curl_formadd(struct curl_httppost **httppost,
--                                      struct curl_httppost **last_post,
--                                      ...);
--
--/*
-- * callback function for curl_formget()
-- * The void *arg pointer will be the one passed as second argument to
-- *   curl_formget().
-- * The character buffer passed to it must not be freed.
-- * Should return the buffer length passed to it as the argument "len" on
-- *   success.
-- */
--typedef size_t (*curl_formget_callback)(void *arg, const char *buf,
--                                        size_t len);
--
--/*
-- * NAME curl_formget()
-- *
-- * DESCRIPTION
-- *
-- * Serialize a curl_httppost struct built with curl_formadd().
-- * Accepts a void pointer as second argument which will be passed to
-- * the curl_formget_callback function.
-- * Returns 0 on success.
-- */
--CURL_EXTERN int curl_formget(struct curl_httppost *form, void *arg,
--                             curl_formget_callback append);
--/*
-- * NAME curl_formfree()
-- *
-- * DESCRIPTION
-- *
-- * Free a multipart formpost previously built with curl_formadd().
-- */
--CURL_EXTERN void curl_formfree(struct curl_httppost *form);
--
--/*
-- * NAME curl_getenv()
-- *
-- * DESCRIPTION
-- *
-- * Returns a malloc()'ed string that MUST be curl_free()ed after usage is
-- * complete. DEPRECATED - see lib/README.curlx
-- */
--CURL_EXTERN char *curl_getenv(const char *variable);
--
--/*
-- * NAME curl_version()
-- *
-- * DESCRIPTION
-- *
-- * Returns a static ascii string of the libcurl version.
-- */
--CURL_EXTERN char *curl_version(void);
--
--/*
-- * NAME curl_easy_escape()
-- *
-- * DESCRIPTION
-- *
-- * Escapes URL strings (converts all letters consider illegal in URLs to their
-- * %XX versions). This function returns a new allocated string or NULL if an
-- * error occurred.
-- */
--CURL_EXTERN char *curl_easy_escape(CURL *handle,
--                                   const char *string,
--                                   int length);
--
--/* the previous version: */
--CURL_EXTERN char *curl_escape(const char *string,
--                              int length);
--
--
--/*
-- * NAME curl_easy_unescape()
-- *
-- * DESCRIPTION
-- *
-- * Unescapes URL encoding in strings (converts all %XX codes to their 8bit
-- * versions). This function returns a new allocated string or NULL if an error
-- * occurred.
-- * Conversion Note: On non-ASCII platforms the ASCII %XX codes are
-- * converted into the host encoding.
-- */
--CURL_EXTERN char *curl_easy_unescape(CURL *handle,
--                                     const char *string,
--                                     int length,
--                                     int *outlength);
--
--/* the previous version */
--CURL_EXTERN char *curl_unescape(const char *string,
--                                int length);
--
--/*
-- * NAME curl_free()
-- *
-- * DESCRIPTION
-- *
-- * Provided for de-allocation in the same translation unit that did the
-- * allocation. Added in libcurl 7.10
-- */
--CURL_EXTERN void curl_free(void *p);
--
--/*
-- * NAME curl_global_init()
-- *
-- * DESCRIPTION
-- *
-- * curl_global_init() should be invoked exactly once for each application that
-- * uses libcurl and before any call of other libcurl functions.
-- *
-- * This function is not thread-safe!
-- */
--CURL_EXTERN CURLcode curl_global_init(long flags);
--
--/*
-- * NAME curl_global_init_mem()
-- *
-- * DESCRIPTION
-- *
-- * curl_global_init() or curl_global_init_mem() should be invoked exactly once
-- * for each application that uses libcurl.  This function can be used to
-- * initialize libcurl and set user defined memory management callback
-- * functions.  Users can implement memory management routines to check for
-- * memory leaks, check for mis-use of the curl library etc.  User registered
-- * callback routines with be invoked by this library instead of the system
-- * memory management routines like malloc, free etc.
-- */
--CURL_EXTERN CURLcode curl_global_init_mem(long flags,
--                                          curl_malloc_callback m,
--                                          curl_free_callback f,
--                                          curl_realloc_callback r,
--                                          curl_strdup_callback s,
--                                          curl_calloc_callback c);
--
--/*
-- * NAME curl_global_cleanup()
-- *
-- * DESCRIPTION
-- *
-- * curl_global_cleanup() should be invoked exactly once for each application
-- * that uses libcurl
-- */
--CURL_EXTERN void curl_global_cleanup(void);
--
--/* linked-list structure for the CURLOPT_QUOTE option (and other) */
--struct curl_slist {
--  char *data;
--  struct curl_slist *next;
--};
--
--/*
-- * NAME curl_slist_append()
-- *
-- * DESCRIPTION
-- *
-- * Appends a string to a linked list. If no list exists, it will be created
-- * first. Returns the new list, after appending.
-- */
--CURL_EXTERN struct curl_slist *curl_slist_append(struct curl_slist *,
--                                                 const char *);
--
--/*
-- * NAME curl_slist_free_all()
-- *
-- * DESCRIPTION
-- *
-- * free a previously built curl_slist.
-- */
--CURL_EXTERN void curl_slist_free_all(struct curl_slist *);
--
--/*
-- * NAME curl_getdate()
-- *
-- * DESCRIPTION
-- *
-- * Returns the time, in seconds since 1 Jan 1970 of the time string given in
-- * the first argument. The time argument in the second parameter is unused
-- * and should be set to NULL.
-- */
--CURL_EXTERN time_t curl_getdate(const char *p, const time_t *unused);
--
--/* info about the certificate chain, only for OpenSSL builds. Asked
--   for with CURLOPT_CERTINFO / CURLINFO_CERTINFO */
--struct curl_certinfo {
--  int num_of_certs;             /* number of certificates with information */
--  struct curl_slist **certinfo; /* for each index in this array, there's a
--                                   linked list with textual information in the
--                                   format "name: value" */
--};
--
--/* enum for the different supported SSL backends */
--typedef enum {
--  CURLSSLBACKEND_NONE = 0,
--  CURLSSLBACKEND_OPENSSL = 1,
--  CURLSSLBACKEND_GNUTLS = 2,
--  CURLSSLBACKEND_NSS = 3,
--  CURLSSLBACKEND_OBSOLETE4 = 4,  /* Was QSOSSL. */
--  CURLSSLBACKEND_GSKIT = 5,
--  CURLSSLBACKEND_POLARSSL = 6,
--  CURLSSLBACKEND_CYASSL = 7,
--  CURLSSLBACKEND_SCHANNEL = 8,
--  CURLSSLBACKEND_DARWINSSL = 9,
--  CURLSSLBACKEND_AXTLS = 10,
--  CURLSSLBACKEND_MBEDTLS = 11
--} curl_sslbackend;
--
--/* aliases for library clones and renames */
--#define CURLSSLBACKEND_LIBRESSL 1
--#define CURLSSLBACKEND_BORINGSSL 1
--#define CURLSSLBACKEND_WOLFSSL 6
--
--/* Information about the SSL library used and the respective internal SSL
--   handle, which can be used to obtain further information regarding the
--   connection. Asked for with CURLINFO_TLS_SSL_PTR or CURLINFO_TLS_SESSION. */
--struct curl_tlssessioninfo {
--  curl_sslbackend backend;
--  void *internals;
--};
--
--#define CURLINFO_STRING   0x100000
--#define CURLINFO_LONG     0x200000
--#define CURLINFO_DOUBLE   0x300000
--#define CURLINFO_SLIST    0x400000
--#define CURLINFO_SOCKET   0x500000
--#define CURLINFO_MASK     0x0fffff
--#define CURLINFO_TYPEMASK 0xf00000
--
--typedef enum {
--  CURLINFO_NONE, /* first, never use this */
--  CURLINFO_EFFECTIVE_URL    = CURLINFO_STRING + 1,
--  CURLINFO_RESPONSE_CODE    = CURLINFO_LONG   + 2,
--  CURLINFO_TOTAL_TIME       = CURLINFO_DOUBLE + 3,
--  CURLINFO_NAMELOOKUP_TIME  = CURLINFO_DOUBLE + 4,
--  CURLINFO_CONNECT_TIME     = CURLINFO_DOUBLE + 5,
--  CURLINFO_PRETRANSFER_TIME = CURLINFO_DOUBLE + 6,
--  CURLINFO_SIZE_UPLOAD      = CURLINFO_DOUBLE + 7,
--  CURLINFO_SIZE_DOWNLOAD    = CURLINFO_DOUBLE + 8,
--  CURLINFO_SPEED_DOWNLOAD   = CURLINFO_DOUBLE + 9,
--  CURLINFO_SPEED_UPLOAD     = CURLINFO_DOUBLE + 10,
--  CURLINFO_HEADER_SIZE      = CURLINFO_LONG   + 11,
--  CURLINFO_REQUEST_SIZE     = CURLINFO_LONG   + 12,
--  CURLINFO_SSL_VERIFYRESULT = CURLINFO_LONG   + 13,
--  CURLINFO_FILETIME         = CURLINFO_LONG   + 14,
--  CURLINFO_CONTENT_LENGTH_DOWNLOAD   = CURLINFO_DOUBLE + 15,
--  CURLINFO_CONTENT_LENGTH_UPLOAD     = CURLINFO_DOUBLE + 16,
--  CURLINFO_STARTTRANSFER_TIME = CURLINFO_DOUBLE + 17,
--  CURLINFO_CONTENT_TYPE     = CURLINFO_STRING + 18,
--  CURLINFO_REDIRECT_TIME    = CURLINFO_DOUBLE + 19,
--  CURLINFO_REDIRECT_COUNT   = CURLINFO_LONG   + 20,
--  CURLINFO_PRIVATE          = CURLINFO_STRING + 21,
--  CURLINFO_HTTP_CONNECTCODE = CURLINFO_LONG   + 22,
--  CURLINFO_HTTPAUTH_AVAIL   = CURLINFO_LONG   + 23,
--  CURLINFO_PROXYAUTH_AVAIL  = CURLINFO_LONG   + 24,
--  CURLINFO_OS_ERRNO         = CURLINFO_LONG   + 25,
--  CURLINFO_NUM_CONNECTS     = CURLINFO_LONG   + 26,
--  CURLINFO_SSL_ENGINES      = CURLINFO_SLIST  + 27,
--  CURLINFO_COOKIELIST       = CURLINFO_SLIST  + 28,
--  CURLINFO_LASTSOCKET       = CURLINFO_LONG   + 29,
--  CURLINFO_FTP_ENTRY_PATH   = CURLINFO_STRING + 30,
--  CURLINFO_REDIRECT_URL     = CURLINFO_STRING + 31,
--  CURLINFO_PRIMARY_IP       = CURLINFO_STRING + 32,
--  CURLINFO_APPCONNECT_TIME  = CURLINFO_DOUBLE + 33,
--  CURLINFO_CERTINFO         = CURLINFO_SLIST  + 34,
--  CURLINFO_CONDITION_UNMET  = CURLINFO_LONG   + 35,
--  CURLINFO_RTSP_SESSION_ID  = CURLINFO_STRING + 36,
--  CURLINFO_RTSP_CLIENT_CSEQ = CURLINFO_LONG   + 37,
--  CURLINFO_RTSP_SERVER_CSEQ = CURLINFO_LONG   + 38,
--  CURLINFO_RTSP_CSEQ_RECV   = CURLINFO_LONG   + 39,
--  CURLINFO_PRIMARY_PORT     = CURLINFO_LONG   + 40,
--  CURLINFO_LOCAL_IP         = CURLINFO_STRING + 41,
--  CURLINFO_LOCAL_PORT       = CURLINFO_LONG   + 42,
--  CURLINFO_TLS_SESSION      = CURLINFO_SLIST  + 43,
--  CURLINFO_ACTIVESOCKET     = CURLINFO_SOCKET + 44,
--  CURLINFO_TLS_SSL_PTR      = CURLINFO_SLIST  + 45,
--  CURLINFO_HTTP_VERSION     = CURLINFO_LONG   + 46,
--  CURLINFO_PROXY_SSL_VERIFYRESULT = CURLINFO_LONG + 47,
--  CURLINFO_PROTOCOL         = CURLINFO_LONG   + 48,
--  CURLINFO_SCHEME           = CURLINFO_STRING + 49,
--  /* Fill in new entries below here! */
--
--  CURLINFO_LASTONE          = 49
--} CURLINFO;
--
--/* CURLINFO_RESPONSE_CODE is the new name for the option previously known as
--   CURLINFO_HTTP_CODE */
--#define CURLINFO_HTTP_CODE CURLINFO_RESPONSE_CODE
--
--typedef enum {
--  CURLCLOSEPOLICY_NONE, /* first, never use this */
--
--  CURLCLOSEPOLICY_OLDEST,
--  CURLCLOSEPOLICY_LEAST_RECENTLY_USED,
--  CURLCLOSEPOLICY_LEAST_TRAFFIC,
--  CURLCLOSEPOLICY_SLOWEST,
--  CURLCLOSEPOLICY_CALLBACK,
--
--  CURLCLOSEPOLICY_LAST /* last, never use this */
--} curl_closepolicy;
--
--#define CURL_GLOBAL_SSL (1<<0)
--#define CURL_GLOBAL_WIN32 (1<<1)
--#define CURL_GLOBAL_ALL (CURL_GLOBAL_SSL|CURL_GLOBAL_WIN32)
--#define CURL_GLOBAL_NOTHING 0
--#define CURL_GLOBAL_DEFAULT CURL_GLOBAL_ALL
--#define CURL_GLOBAL_ACK_EINTR (1<<2)
--
--
--/*****************************************************************************
-- * Setup defines, protos etc for the sharing stuff.
-- */
--
--/* Different data locks for a single share */
--typedef enum {
--  CURL_LOCK_DATA_NONE = 0,
--  /*  CURL_LOCK_DATA_SHARE is used internally to say that
--   *  the locking is just made to change the internal state of the share
--   *  itself.
--   */
--  CURL_LOCK_DATA_SHARE,
--  CURL_LOCK_DATA_COOKIE,
--  CURL_LOCK_DATA_DNS,
--  CURL_LOCK_DATA_SSL_SESSION,
--  CURL_LOCK_DATA_CONNECT,
--  CURL_LOCK_DATA_LAST
--} curl_lock_data;
--
--/* Different lock access types */
--typedef enum {
--  CURL_LOCK_ACCESS_NONE = 0,   /* unspecified action */
--  CURL_LOCK_ACCESS_SHARED = 1, /* for read perhaps */
--  CURL_LOCK_ACCESS_SINGLE = 2, /* for write perhaps */
--  CURL_LOCK_ACCESS_LAST        /* never use */
--} curl_lock_access;
--
--typedef void (*curl_lock_function)(CURL *handle,
--                                   curl_lock_data data,
--                                   curl_lock_access locktype,
--                                   void *userptr);
--typedef void (*curl_unlock_function)(CURL *handle,
--                                     curl_lock_data data,
--                                     void *userptr);
--
--
--typedef enum {
--  CURLSHE_OK,  /* all is fine */
--  CURLSHE_BAD_OPTION, /* 1 */
--  CURLSHE_IN_USE,     /* 2 */
--  CURLSHE_INVALID,    /* 3 */
--  CURLSHE_NOMEM,      /* 4 out of memory */
--  CURLSHE_NOT_BUILT_IN, /* 5 feature not present in lib */
--  CURLSHE_LAST        /* never use */
--} CURLSHcode;
--
--typedef enum {
--  CURLSHOPT_NONE,  /* don't use */
--  CURLSHOPT_SHARE,   /* specify a data type to share */
--  CURLSHOPT_UNSHARE, /* specify which data type to stop sharing */
--  CURLSHOPT_LOCKFUNC,   /* pass in a 'curl_lock_function' pointer */
--  CURLSHOPT_UNLOCKFUNC, /* pass in a 'curl_unlock_function' pointer */
--  CURLSHOPT_USERDATA,   /* pass in a user data pointer used in the lock/unlock
--                           callback functions */
--  CURLSHOPT_LAST  /* never use */
--} CURLSHoption;
--
--CURL_EXTERN CURLSH *curl_share_init(void);
--CURL_EXTERN CURLSHcode curl_share_setopt(CURLSH *, CURLSHoption option, ...);
--CURL_EXTERN CURLSHcode curl_share_cleanup(CURLSH *);
--
--/****************************************************************************
-- * Structures for querying information about the curl library at runtime.
-- */
--
--typedef enum {
--  CURLVERSION_FIRST,
--  CURLVERSION_SECOND,
--  CURLVERSION_THIRD,
--  CURLVERSION_FOURTH,
--  CURLVERSION_LAST /* never actually use this */
--} CURLversion;
--
--/* The 'CURLVERSION_NOW' is the symbolic name meant to be used by
--   basically all programs ever that want to get version information. It is
--   meant to be a built-in version number for what kind of struct the caller
--   expects. If the struct ever changes, we redefine the NOW to another enum
--   from above. */
--#define CURLVERSION_NOW CURLVERSION_FOURTH
--
--typedef struct {
--  CURLversion age;          /* age of the returned struct */
--  const char *version;      /* LIBCURL_VERSION */
--  unsigned int version_num; /* LIBCURL_VERSION_NUM */
--  const char *host;         /* OS/host/cpu/machine when configured */
--  int features;             /* bitmask, see defines below */
--  const char *ssl_version;  /* human readable string */
--  long ssl_version_num;     /* not used anymore, always 0 */
--  const char *libz_version; /* human readable string */
--  /* protocols is terminated by an entry with a NULL protoname */
--  const char * const *protocols;
--
--  /* The fields below this were added in CURLVERSION_SECOND */
--  const char *ares;
--  int ares_num;
--
--  /* This field was added in CURLVERSION_THIRD */
--  const char *libidn;
--
--  /* These field were added in CURLVERSION_FOURTH */
--
--  /* Same as '_libiconv_version' if built with HAVE_ICONV */
--  int iconv_ver_num;
--
--  const char *libssh_version; /* human readable string */
--
--} curl_version_info_data;
--
--#define CURL_VERSION_IPV6         (1<<0)  /* IPv6-enabled */
--#define CURL_VERSION_KERBEROS4    (1<<1)  /* Kerberos V4 auth is supported
--                                             (deprecated) */
--#define CURL_VERSION_SSL          (1<<2)  /* SSL options 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_GSSNEGOTIATE (1<<5)  /* Negotiate auth is supported
--                                             (deprecated) */
--#define CURL_VERSION_DEBUG        (1<<6)  /* Built with debug capabilities */
--#define CURL_VERSION_ASYNCHDNS    (1<<7)  /* Asynchronous DNS resolves */
--#define CURL_VERSION_SPNEGO       (1<<8)  /* SPNEGO auth is supported */
--#define CURL_VERSION_LARGEFILE    (1<<9)  /* Supports files larger than 2GB */
--#define CURL_VERSION_IDN          (1<<10) /* Internationized Domain Names are
--                                             supported */
--#define CURL_VERSION_SSPI         (1<<11) /* Built against Windows SSPI */
--#define CURL_VERSION_CONV         (1<<12) /* Character conversions supported */
--#define CURL_VERSION_CURLDEBUG    (1<<13) /* Debug memory tracking supported */
--#define CURL_VERSION_TLSAUTH_SRP  (1<<14) /* TLS-SRP auth is supported */
--#define CURL_VERSION_NTLM_WB      (1<<15) /* NTLM delegation to winbind helper
--                                             is supported */
--#define CURL_VERSION_HTTP2        (1<<16) /* HTTP2 support built-in */
--#define CURL_VERSION_GSSAPI       (1<<17) /* Built against a GSS-API library */
--#define CURL_VERSION_KERBEROS5    (1<<18) /* Kerberos V5 auth is supported */
--#define CURL_VERSION_UNIX_SOCKETS (1<<19) /* Unix domain sockets support */
--#define CURL_VERSION_PSL          (1<<20) /* Mozilla's Public Suffix List, used
--                                             for cookie domain verification */
--#define CURL_VERSION_HTTPS_PROXY  (1<<21) /* HTTPS-proxy support built-in */
--
-- /*
-- * NAME curl_version_info()
-- *
-- * DESCRIPTION
-- *
-- * This function returns a pointer to a static copy of the version info
-- * struct. See above.
-- */
--CURL_EXTERN curl_version_info_data *curl_version_info(CURLversion);
--
--/*
-- * NAME curl_easy_strerror()
-- *
-- * DESCRIPTION
-- *
-- * The curl_easy_strerror function may be used to turn a CURLcode value
-- * into the equivalent human readable error string.  This is useful
-- * for printing meaningful error messages.
-- */
--CURL_EXTERN const char *curl_easy_strerror(CURLcode);
--
--/*
-- * NAME curl_share_strerror()
-- *
-- * DESCRIPTION
-- *
-- * The curl_share_strerror function may be used to turn a CURLSHcode value
-- * into the equivalent human readable error string.  This is useful
-- * for printing meaningful error messages.
-- */
--CURL_EXTERN const char *curl_share_strerror(CURLSHcode);
--
--/*
-- * NAME curl_easy_pause()
-- *
-- * DESCRIPTION
-- *
-- * The curl_easy_pause function pauses or unpauses transfers. Select the new
-- * state by setting the bitmask, use the convenience defines below.
-- *
-- */
--CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask);
--
--#define CURLPAUSE_RECV      (1<<0)
--#define CURLPAUSE_RECV_CONT (0)
--
--#define CURLPAUSE_SEND      (1<<2)
--#define CURLPAUSE_SEND_CONT (0)
--
--#define CURLPAUSE_ALL       (CURLPAUSE_RECV|CURLPAUSE_SEND)
--#define CURLPAUSE_CONT      (CURLPAUSE_RECV_CONT|CURLPAUSE_SEND_CONT)
--
--#ifdef  __cplusplus
--}
--#endif
--
--/* unfortunately, the easy.h and multi.h include files need options and info
--  stuff before they can be included! */
--#include "easy.h" /* nothing in curl is fun without the easy stuff */
--#include "multi.h"
--
--/* the typechecker doesn't work in C++ (yet) */
--#if defined(__GNUC__) && defined(__GNUC_MINOR__) && \
--    ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \
--    !defined(__cplusplus) && !defined(CURL_DISABLE_TYPECHECK)
--#include "typecheck-gcc.h"
--#else
--#if defined(__STDC__) && (__STDC__ >= 1)
--/* This preprocessor magic that replaces a call with the exact same call is
--   only done to make sure application authors pass exactly three arguments
--   to these functions. */
--#define curl_easy_setopt(handle,opt,param) curl_easy_setopt(handle,opt,param)
--#define curl_easy_getinfo(handle,info,arg) curl_easy_getinfo(handle,info,arg)
--#define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param)
--#define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param)
--#endif /* __STDC__ >= 1 */
--#endif /* gcc >= 4.3 && !__cplusplus */
--
--#endif /* __CURL_CURL_H */
diff --cc code/curl-7.54.0/include/curl/curlbuild.h
index f596c60,f596c60..0000000
deleted file mode 100644,100644
--- a/code/curl-7.54.0/include/curl/curlbuild.h
+++ /dev/null
@@@ -1,586 -1,586 +1,0 @@@
--#ifndef __CURL_CURLBUILD_H
--#define __CURL_CURLBUILD_H
--/***************************************************************************
-- *                                  _   _ ____  _
-- *  Project                     ___| | | |  _ \| |
-- *                             / __| | | | |_) | |
-- *                            | (__| |_| |  _ <| |___
-- *                             \___|\___/|_| \_\_____|
-- *
-- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel at 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 https://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.
-- *
-- ***************************************************************************/
--
--/* ================================================================ */
--/*               NOTES FOR CONFIGURE CAPABLE SYSTEMS                */
--/* ================================================================ */
--
--/*
-- * NOTE 1:
-- * -------
-- *
-- * See file include/curl/curlbuild.h.in, run configure, and forget
-- * that this file exists it is only used for non-configure systems.
-- * But you can keep reading if you want ;-)
-- *
-- */
--
--/* ================================================================ */
--/*                 NOTES FOR NON-CONFIGURE SYSTEMS                  */
--/* ================================================================ */
--
--/*
-- * NOTE 1:
-- * -------
-- *
-- * Nothing in this file is intended to be modified or adjusted by the
-- * curl library user nor by the curl library builder.
-- *
-- * If you think that something actually needs to be changed, adjusted
-- * or fixed in this file, then, report it on the libcurl development
-- * mailing list: https://cool.haxx.se/mailman/listinfo/curl-library/
-- *
-- * Try to keep one section per platform, compiler and architecture,
-- * otherwise, if an existing section is reused for a different one and
-- * later on the original is adjusted, probably the piggybacking one can
-- * be adversely changed.
-- *
-- * In order to differentiate between platforms/compilers/architectures
-- * use only compiler built in predefined preprocessor symbols.
-- *
-- * This header file shall only export symbols which are 'curl' or 'CURL'
-- * prefixed, otherwise public name space would be polluted.
-- *
-- * NOTE 2:
-- * -------
-- *
-- * For any given platform/compiler curl_off_t must be typedef'ed to a
-- * 64-bit wide signed integral data type. The width of this data type
-- * must remain constant and independent of any possible large file
-- * support settings.
-- *
-- * As an exception to the above, curl_off_t shall be typedef'ed to a
-- * 32-bit wide signed integral data type if there is no 64-bit type.
-- *
-- * As a general rule, curl_off_t shall not be mapped to off_t. This
-- * rule shall only be violated if off_t is the only 64-bit data type
-- * available and the size of off_t is independent of large file support
-- * settings. Keep your build on the safe side avoiding an off_t gating.
-- * If you have a 64-bit off_t then take for sure that another 64-bit
-- * data type exists, dig deeper and you will find it.
-- *
-- * NOTE 3:
-- * -------
-- *
-- * Right now you might be staring at file include/curl/curlbuild.h.dist or
-- * at file include/curl/curlbuild.h, this is due to the following reason:
-- * file include/curl/curlbuild.h.dist is renamed to include/curl/curlbuild.h
-- * when the libcurl source code distribution archive file is created.
-- *
-- * File include/curl/curlbuild.h.dist is not included in the distribution
-- * archive. File include/curl/curlbuild.h is not present in the git tree.
-- *
-- * The distributed include/curl/curlbuild.h file is only intended to be used
-- * on systems which can not run the also distributed configure script.
-- *
-- * On systems capable of running the configure script, the configure process
-- * will overwrite the distributed include/curl/curlbuild.h file with one that
-- * is suitable and specific to the library being configured and built, which
-- * is generated from the include/curl/curlbuild.h.in template file.
-- *
-- * If you check out from git on a non-configure platform, you must run the
-- * appropriate buildconf* script to set up curlbuild.h and other local files.
-- *
-- */
--
--/* ================================================================ */
--/*  DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE  */
--/* ================================================================ */
--
--#ifdef CURL_SIZEOF_LONG
--#  error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
--   Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
--#endif
--
--#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
--#  error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
--   Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined
--#endif
--
--#ifdef CURL_SIZEOF_CURL_SOCKLEN_T
--#  error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
--   Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined
--#endif
--
--#ifdef CURL_TYPEOF_CURL_OFF_T
--#  error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
--   Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
--#endif
--
--#ifdef CURL_FORMAT_CURL_OFF_T
--#  error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
--   Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined
--#endif
--
--#ifdef CURL_FORMAT_CURL_OFF_TU
--#  error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
--   Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined
--#endif
--
--#ifdef CURL_FORMAT_OFF_T
--#  error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
--   Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined
--#endif
--
--#ifdef CURL_SIZEOF_CURL_OFF_T
--#  error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
--   Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined
--#endif
--
--#ifdef CURL_SUFFIX_CURL_OFF_T
--#  error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
--   Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined
--#endif
--
--#ifdef CURL_SUFFIX_CURL_OFF_TU
--#  error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
--   Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined
--#endif
--
--/* ================================================================ */
--/*    EXTERNAL INTERFACE SETTINGS FOR NON-CONFIGURE SYSTEMS ONLY    */
--/* ================================================================ */
--
--#if defined(__DJGPP__) || defined(__GO32__)
--#  if defined(__DJGPP__) && (__DJGPP__ > 1)
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     long long
--#    define CURL_FORMAT_CURL_OFF_T     "lld"
--#    define CURL_FORMAT_CURL_OFF_TU    "llu"
--#    define CURL_FORMAT_OFF_T          "%lld"
--#    define CURL_SIZEOF_CURL_OFF_T     8
--#    define CURL_SUFFIX_CURL_OFF_T     LL
--#    define CURL_SUFFIX_CURL_OFF_TU    ULL
--#  else
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     long
--#    define CURL_FORMAT_CURL_OFF_T     "ld"
--#    define CURL_FORMAT_CURL_OFF_TU    "lu"
--#    define CURL_FORMAT_OFF_T          "%ld"
--#    define CURL_SIZEOF_CURL_OFF_T     4
--#    define CURL_SUFFIX_CURL_OFF_T     L
--#    define CURL_SUFFIX_CURL_OFF_TU    UL
--#  endif
--#  define CURL_TYPEOF_CURL_SOCKLEN_T int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__SALFORDC__)
--#  define CURL_SIZEOF_LONG           4
--#  define CURL_TYPEOF_CURL_OFF_T     long
--#  define CURL_FORMAT_CURL_OFF_T     "ld"
--#  define CURL_FORMAT_CURL_OFF_TU    "lu"
--#  define CURL_FORMAT_OFF_T          "%ld"
--#  define CURL_SIZEOF_CURL_OFF_T     4
--#  define CURL_SUFFIX_CURL_OFF_T     L
--#  define CURL_SUFFIX_CURL_OFF_TU    UL
--#  define CURL_TYPEOF_CURL_SOCKLEN_T int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__BORLANDC__)
--#  if (__BORLANDC__ < 0x520)
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     long
--#    define CURL_FORMAT_CURL_OFF_T     "ld"
--#    define CURL_FORMAT_CURL_OFF_TU    "lu"
--#    define CURL_FORMAT_OFF_T          "%ld"
--#    define CURL_SIZEOF_CURL_OFF_T     4
--#    define CURL_SUFFIX_CURL_OFF_T     L
--#    define CURL_SUFFIX_CURL_OFF_TU    UL
--#  else
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     __int64
--#    define CURL_FORMAT_CURL_OFF_T     "I64d"
--#    define CURL_FORMAT_CURL_OFF_TU    "I64u"
--#    define CURL_FORMAT_OFF_T          "%I64d"
--#    define CURL_SIZEOF_CURL_OFF_T     8
--#    define CURL_SUFFIX_CURL_OFF_T     i64
--#    define CURL_SUFFIX_CURL_OFF_TU    ui64
--#  endif
--#  define CURL_TYPEOF_CURL_SOCKLEN_T int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__TURBOC__)
--#  define CURL_SIZEOF_LONG           4
--#  define CURL_TYPEOF_CURL_OFF_T     long
--#  define CURL_FORMAT_CURL_OFF_T     "ld"
--#  define CURL_FORMAT_CURL_OFF_TU    "lu"
--#  define CURL_FORMAT_OFF_T          "%ld"
--#  define CURL_SIZEOF_CURL_OFF_T     4
--#  define CURL_SUFFIX_CURL_OFF_T     L
--#  define CURL_SUFFIX_CURL_OFF_TU    UL
--#  define CURL_TYPEOF_CURL_SOCKLEN_T int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__WATCOMC__)
--#  if defined(__386__)
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     __int64
--#    define CURL_FORMAT_CURL_OFF_T     "I64d"
--#    define CURL_FORMAT_CURL_OFF_TU    "I64u"
--#    define CURL_FORMAT_OFF_T          "%I64d"
--#    define CURL_SIZEOF_CURL_OFF_T     8
--#    define CURL_SUFFIX_CURL_OFF_T     i64
--#    define CURL_SUFFIX_CURL_OFF_TU    ui64
--#  else
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     long
--#    define CURL_FORMAT_CURL_OFF_T     "ld"
--#    define CURL_FORMAT_CURL_OFF_TU    "lu"
--#    define CURL_FORMAT_OFF_T          "%ld"
--#    define CURL_SIZEOF_CURL_OFF_T     4
--#    define CURL_SUFFIX_CURL_OFF_T     L
--#    define CURL_SUFFIX_CURL_OFF_TU    UL
--#  endif
--#  define CURL_TYPEOF_CURL_SOCKLEN_T int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__POCC__)
--#  if (__POCC__ < 280)
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     long
--#    define CURL_FORMAT_CURL_OFF_T     "ld"
--#    define CURL_FORMAT_CURL_OFF_TU    "lu"
--#    define CURL_FORMAT_OFF_T          "%ld"
--#    define CURL_SIZEOF_CURL_OFF_T     4
--#    define CURL_SUFFIX_CURL_OFF_T     L
--#    define CURL_SUFFIX_CURL_OFF_TU    UL
--#  elif defined(_MSC_VER)
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     __int64
--#    define CURL_FORMAT_CURL_OFF_T     "I64d"
--#    define CURL_FORMAT_CURL_OFF_TU    "I64u"
--#    define CURL_FORMAT_OFF_T          "%I64d"
--#    define CURL_SIZEOF_CURL_OFF_T     8
--#    define CURL_SUFFIX_CURL_OFF_T     i64
--#    define CURL_SUFFIX_CURL_OFF_TU    ui64
--#  else
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     long long
--#    define CURL_FORMAT_CURL_OFF_T     "lld"
--#    define CURL_FORMAT_CURL_OFF_TU    "llu"
--#    define CURL_FORMAT_OFF_T          "%lld"
--#    define CURL_SIZEOF_CURL_OFF_T     8
--#    define CURL_SUFFIX_CURL_OFF_T     LL
--#    define CURL_SUFFIX_CURL_OFF_TU    ULL
--#  endif
--#  define CURL_TYPEOF_CURL_SOCKLEN_T int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__LCC__)
--#  define CURL_SIZEOF_LONG           4
--#  define CURL_TYPEOF_CURL_OFF_T     long
--#  define CURL_FORMAT_CURL_OFF_T     "ld"
--#  define CURL_FORMAT_CURL_OFF_TU    "lu"
--#  define CURL_FORMAT_OFF_T          "%ld"
--#  define CURL_SIZEOF_CURL_OFF_T     4
--#  define CURL_SUFFIX_CURL_OFF_T     L
--#  define CURL_SUFFIX_CURL_OFF_TU    UL
--#  define CURL_TYPEOF_CURL_SOCKLEN_T int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__SYMBIAN32__)
--#  if defined(__EABI__)  /* Treat all ARM compilers equally */
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     long long
--#    define CURL_FORMAT_CURL_OFF_T     "lld"
--#    define CURL_FORMAT_CURL_OFF_TU    "llu"
--#    define CURL_FORMAT_OFF_T          "%lld"
--#    define CURL_SIZEOF_CURL_OFF_T     8
--#    define CURL_SUFFIX_CURL_OFF_T     LL
--#    define CURL_SUFFIX_CURL_OFF_TU    ULL
--#  elif defined(__CW32__)
--#    pragma longlong on
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     long long
--#    define CURL_FORMAT_CURL_OFF_T     "lld"
--#    define CURL_FORMAT_CURL_OFF_TU    "llu"
--#    define CURL_FORMAT_OFF_T          "%lld"
--#    define CURL_SIZEOF_CURL_OFF_T     8
--#    define CURL_SUFFIX_CURL_OFF_T     LL
--#    define CURL_SUFFIX_CURL_OFF_TU    ULL
--#  elif defined(__VC32__)
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     __int64
--#    define CURL_FORMAT_CURL_OFF_T     "lld"
--#    define CURL_FORMAT_CURL_OFF_TU    "llu"
--#    define CURL_FORMAT_OFF_T          "%lld"
--#    define CURL_SIZEOF_CURL_OFF_T     8
--#    define CURL_SUFFIX_CURL_OFF_T     LL
--#    define CURL_SUFFIX_CURL_OFF_TU    ULL
--#  endif
--#  define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__MWERKS__)
--#  define CURL_SIZEOF_LONG           4
--#  define CURL_TYPEOF_CURL_OFF_T     long long
--#  define CURL_FORMAT_CURL_OFF_T     "lld"
--#  define CURL_FORMAT_CURL_OFF_TU    "llu"
--#  define CURL_FORMAT_OFF_T          "%lld"
--#  define CURL_SIZEOF_CURL_OFF_T     8
--#  define CURL_SUFFIX_CURL_OFF_T     LL
--#  define CURL_SUFFIX_CURL_OFF_TU    ULL
--#  define CURL_TYPEOF_CURL_SOCKLEN_T int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(_WIN32_WCE)
--#  define CURL_SIZEOF_LONG           4
--#  define CURL_TYPEOF_CURL_OFF_T     __int64
--#  define CURL_FORMAT_CURL_OFF_T     "I64d"
--#  define CURL_FORMAT_CURL_OFF_TU    "I64u"
--#  define CURL_FORMAT_OFF_T          "%I64d"
--#  define CURL_SIZEOF_CURL_OFF_T     8
--#  define CURL_SUFFIX_CURL_OFF_T     i64
--#  define CURL_SUFFIX_CURL_OFF_TU    ui64
--#  define CURL_TYPEOF_CURL_SOCKLEN_T int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__MINGW32__)
--#  define CURL_SIZEOF_LONG           4
--#  define CURL_TYPEOF_CURL_OFF_T     long long
--#  define CURL_FORMAT_CURL_OFF_T     "I64d"
--#  define CURL_FORMAT_CURL_OFF_TU    "I64u"
--#  define CURL_FORMAT_OFF_T          "%I64d"
--#  define CURL_SIZEOF_CURL_OFF_T     8
--#  define CURL_SUFFIX_CURL_OFF_T     LL
--#  define CURL_SUFFIX_CURL_OFF_TU    ULL
--#  define CURL_TYPEOF_CURL_SOCKLEN_T int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__VMS)
--#  if defined(__VAX)
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     long
--#    define CURL_FORMAT_CURL_OFF_T     "ld"
--#    define CURL_FORMAT_CURL_OFF_TU    "lu"
--#    define CURL_FORMAT_OFF_T          "%ld"
--#    define CURL_SIZEOF_CURL_OFF_T     4
--#    define CURL_SUFFIX_CURL_OFF_T     L
--#    define CURL_SUFFIX_CURL_OFF_TU    UL
--#  else
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     long long
--#    define CURL_FORMAT_CURL_OFF_T     "lld"
--#    define CURL_FORMAT_CURL_OFF_TU    "llu"
--#    define CURL_FORMAT_OFF_T          "%lld"
--#    define CURL_SIZEOF_CURL_OFF_T     8
--#    define CURL_SUFFIX_CURL_OFF_T     LL
--#    define CURL_SUFFIX_CURL_OFF_TU    ULL
--#  endif
--#  define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__OS400__)
--#  if defined(__ILEC400__)
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     long long
--#    define CURL_FORMAT_CURL_OFF_T     "lld"
--#    define CURL_FORMAT_CURL_OFF_TU    "llu"
--#    define CURL_FORMAT_OFF_T          "%lld"
--#    define CURL_SIZEOF_CURL_OFF_T     8
--#    define CURL_SUFFIX_CURL_OFF_T     LL
--#    define CURL_SUFFIX_CURL_OFF_TU    ULL
--#    define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
--#    define CURL_SIZEOF_CURL_SOCKLEN_T 4
--#    define CURL_PULL_SYS_TYPES_H      1
--#    define CURL_PULL_SYS_SOCKET_H     1
--#  endif
--
--#elif defined(__MVS__)
--#  if defined(__IBMC__) || defined(__IBMCPP__)
--#    if defined(_ILP32)
--#      define CURL_SIZEOF_LONG           4
--#    elif defined(_LP64)
--#      define CURL_SIZEOF_LONG           8
--#    endif
--#    if defined(_LONG_LONG)
--#      define CURL_TYPEOF_CURL_OFF_T     long long
--#      define CURL_FORMAT_CURL_OFF_T     "lld"
--#      define CURL_FORMAT_CURL_OFF_TU    "llu"
--#      define CURL_FORMAT_OFF_T          "%lld"
--#      define CURL_SIZEOF_CURL_OFF_T     8
--#      define CURL_SUFFIX_CURL_OFF_T     LL
--#      define CURL_SUFFIX_CURL_OFF_TU    ULL
--#    elif defined(_LP64)
--#      define CURL_TYPEOF_CURL_OFF_T     long
--#      define CURL_FORMAT_CURL_OFF_T     "ld"
--#      define CURL_FORMAT_CURL_OFF_TU    "lu"
--#      define CURL_FORMAT_OFF_T          "%ld"
--#      define CURL_SIZEOF_CURL_OFF_T     8
--#      define CURL_SUFFIX_CURL_OFF_T     L
--#      define CURL_SUFFIX_CURL_OFF_TU    UL
--#    else
--#      define CURL_TYPEOF_CURL_OFF_T     long
--#      define CURL_FORMAT_CURL_OFF_T     "ld"
--#      define CURL_FORMAT_CURL_OFF_TU    "lu"
--#      define CURL_FORMAT_OFF_T          "%ld"
--#      define CURL_SIZEOF_CURL_OFF_T     4
--#      define CURL_SUFFIX_CURL_OFF_T     L
--#      define CURL_SUFFIX_CURL_OFF_TU    UL
--#    endif
--#    define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
--#    define CURL_SIZEOF_CURL_SOCKLEN_T 4
--#    define CURL_PULL_SYS_TYPES_H      1
--#    define CURL_PULL_SYS_SOCKET_H     1
--#  endif
--
--#elif defined(__370__)
--#  if defined(__IBMC__) || defined(__IBMCPP__)
--#    if defined(_ILP32)
--#      define CURL_SIZEOF_LONG           4
--#    elif defined(_LP64)
--#      define CURL_SIZEOF_LONG           8
--#    endif
--#    if defined(_LONG_LONG)
--#      define CURL_TYPEOF_CURL_OFF_T     long long
--#      define CURL_FORMAT_CURL_OFF_T     "lld"
--#      define CURL_FORMAT_CURL_OFF_TU    "llu"
--#      define CURL_FORMAT_OFF_T          "%lld"
--#      define CURL_SIZEOF_CURL_OFF_T     8
--#      define CURL_SUFFIX_CURL_OFF_T     LL
--#      define CURL_SUFFIX_CURL_OFF_TU    ULL
--#    elif defined(_LP64)
--#      define CURL_TYPEOF_CURL_OFF_T     long
--#      define CURL_FORMAT_CURL_OFF_T     "ld"
--#      define CURL_FORMAT_CURL_OFF_TU    "lu"
--#      define CURL_FORMAT_OFF_T          "%ld"
--#      define CURL_SIZEOF_CURL_OFF_T     8
--#      define CURL_SUFFIX_CURL_OFF_T     L
--#      define CURL_SUFFIX_CURL_OFF_TU    UL
--#    else
--#      define CURL_TYPEOF_CURL_OFF_T     long
--#      define CURL_FORMAT_CURL_OFF_T     "ld"
--#      define CURL_FORMAT_CURL_OFF_TU    "lu"
--#      define CURL_FORMAT_OFF_T          "%ld"
--#      define CURL_SIZEOF_CURL_OFF_T     4
--#      define CURL_SUFFIX_CURL_OFF_T     L
--#      define CURL_SUFFIX_CURL_OFF_TU    UL
--#    endif
--#    define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
--#    define CURL_SIZEOF_CURL_SOCKLEN_T 4
--#    define CURL_PULL_SYS_TYPES_H      1
--#    define CURL_PULL_SYS_SOCKET_H     1
--#  endif
--
--#elif defined(TPF)
--#  define CURL_SIZEOF_LONG           8
--#  define CURL_TYPEOF_CURL_OFF_T     long
--#  define CURL_FORMAT_CURL_OFF_T     "ld"
--#  define CURL_FORMAT_CURL_OFF_TU    "lu"
--#  define CURL_FORMAT_OFF_T          "%ld"
--#  define CURL_SIZEOF_CURL_OFF_T     8
--#  define CURL_SUFFIX_CURL_OFF_T     L
--#  define CURL_SUFFIX_CURL_OFF_TU    UL
--#  define CURL_TYPEOF_CURL_SOCKLEN_T int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--/* ===================================== */
--/*    KEEP MSVC THE PENULTIMATE ENTRY    */
--/* ===================================== */
--
--#elif defined(_MSC_VER)
--#  if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     __int64
--#    define CURL_FORMAT_CURL_OFF_T     "I64d"
--#    define CURL_FORMAT_CURL_OFF_TU    "I64u"
--#    define CURL_FORMAT_OFF_T          "%I64d"
--#    define CURL_SIZEOF_CURL_OFF_T     8
--#    define CURL_SUFFIX_CURL_OFF_T     i64
--#    define CURL_SUFFIX_CURL_OFF_TU    ui64
--#  else
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     long
--#    define CURL_FORMAT_CURL_OFF_T     "ld"
--#    define CURL_FORMAT_CURL_OFF_TU    "lu"
--#    define CURL_FORMAT_OFF_T          "%ld"
--#    define CURL_SIZEOF_CURL_OFF_T     4
--#    define CURL_SUFFIX_CURL_OFF_T     L
--#    define CURL_SUFFIX_CURL_OFF_TU    UL
--#  endif
--#  define CURL_TYPEOF_CURL_SOCKLEN_T int
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--
--/* ===================================== */
--/*    KEEP GENERIC GCC THE LAST ENTRY    */
--/* ===================================== */
--
--#elif defined(__GNUC__)
--#  if !defined(__LP64__) && (defined(__ILP32__) || \
--      defined(__i386__) || defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || \
--      defined(__sparc__) || defined(__mips__) || defined(__sh__))
--#    define CURL_SIZEOF_LONG           4
--#    define CURL_TYPEOF_CURL_OFF_T     long long
--#    define CURL_FORMAT_CURL_OFF_T     "lld"
--#    define CURL_FORMAT_CURL_OFF_TU    "llu"
--#    define CURL_FORMAT_OFF_T          "%lld"
--#    define CURL_SIZEOF_CURL_OFF_T     8
--#    define CURL_SUFFIX_CURL_OFF_T     LL
--#    define CURL_SUFFIX_CURL_OFF_TU    ULL
--#  elif defined(__LP64__) || \
--        defined(__x86_64__) || defined(__ppc64__) || defined(__powerpc64__) || defined(__sparc64__)
--#    define CURL_SIZEOF_LONG           8
--#    define CURL_TYPEOF_CURL_OFF_T     long
--#    define CURL_FORMAT_CURL_OFF_T     "ld"
--#    define CURL_FORMAT_CURL_OFF_TU    "lu"
--#    define CURL_FORMAT_OFF_T          "%ld"
--#    define CURL_SIZEOF_CURL_OFF_T     8
--#    define CURL_SUFFIX_CURL_OFF_T     L
--#    define CURL_SUFFIX_CURL_OFF_TU    UL
--#  endif
--#  define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
--#  define CURL_SIZEOF_CURL_SOCKLEN_T 4
--#  define CURL_PULL_SYS_TYPES_H      1
--#  define CURL_PULL_SYS_SOCKET_H     1
--
--#else
--#  error "Unknown non-configure build target!"
--   Error Compilation_aborted_Unknown_non_configure_build_target
--#endif
--
--/* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file  */
--/* sys/types.h is required here to properly make type definitions below. */
--#ifdef CURL_PULL_SYS_TYPES_H
--#  include <sys/types.h>
--#endif
--
--/* CURL_PULL_SYS_SOCKET_H is defined above when inclusion of header file  */
--/* sys/socket.h is required here to properly make type definitions below. */
--#ifdef CURL_PULL_SYS_SOCKET_H
--#  include <sys/socket.h>
--#endif
--
--/* Data type definition of curl_socklen_t. */
--
--#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
--  typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
--#endif
--
--/* Data type definition of curl_off_t. */
--
--#ifdef CURL_TYPEOF_CURL_OFF_T
--  typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
--#endif
--
--#endif /* __CURL_CURLBUILD_H */
diff --cc code/curl-7.54.0/include/curl/curlrules.h
index 0abd9f7,0abd9f7..0000000
deleted file mode 100644,100644
--- a/code/curl-7.54.0/include/curl/curlrules.h
+++ /dev/null
@@@ -1,239 -1,239 +1,0 @@@
--#ifndef __CURL_CURLRULES_H
--#define __CURL_CURLRULES_H
--/***************************************************************************
-- *                                  _   _ ____  _
-- *  Project                     ___| | | |  _ \| |
-- *                             / __| | | | |_) | |
-- *                            | (__| |_| |  _ <| |___
-- *                             \___|\___/|_| \_\_____|
-- *
-- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel at 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 https://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.
-- *
-- ***************************************************************************/
--
--/* ================================================================ */
--/*                    COMPILE TIME SANITY CHECKS                    */
--/* ================================================================ */
--
--/*
-- * NOTE 1:
-- * -------
-- *
-- * All checks done in this file are intentionally placed in a public
-- * header file which is pulled by curl/curl.h when an application is
-- * being built using an already built libcurl library. Additionally
-- * this file is also included and used when building the library.
-- *
-- * If compilation fails on this file it is certainly sure that the
-- * problem is elsewhere. It could be a problem in the curlbuild.h
-- * header file, or simply that you are using different compilation
-- * settings than those used to build the library.
-- *
-- * Nothing in this file is intended to be modified or adjusted by the
-- * curl library user nor by the curl library builder.
-- *
-- * Do not deactivate any check, these are done to make sure that the
-- * library is properly built and used.
-- *
-- * You can find further help on the libcurl development mailing list:
-- * https://cool.haxx.se/mailman/listinfo/curl-library/
-- *
-- * NOTE 2
-- * ------
-- *
-- * Some of the following compile time checks are based on the fact
-- * that the dimension of a constant array can not be a negative one.
-- * In this way if the compile time verification fails, the compilation
-- * will fail issuing an error. The error description wording is compiler
-- * dependent but it will be quite similar to one of the following:
-- *
-- *   "negative subscript or subscript is too large"
-- *   "array must have at least one element"
-- *   "-1 is an illegal array size"
-- *   "size of array is negative"
-- *
-- * If you are building an application which tries to use an already
-- * built libcurl library and you are getting this kind of errors on
-- * this file, it is a clear indication that there is a mismatch between
-- * how the library was built and how you are trying to use it for your
-- * application. Your already compiled or binary library provider is the
-- * only one who can give you the details you need to properly use it.
-- */
--
--/*
-- * Verify that some macros are actually defined.
-- */
--
--#ifndef CURL_SIZEOF_LONG
--#  error "CURL_SIZEOF_LONG definition is missing!"
--   Error Compilation_aborted_CURL_SIZEOF_LONG_is_missing
--#endif
--
--#ifndef CURL_TYPEOF_CURL_SOCKLEN_T
--#  error "CURL_TYPEOF_CURL_SOCKLEN_T definition is missing!"
--   Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_is_missing
--#endif
--
--#ifndef CURL_SIZEOF_CURL_SOCKLEN_T
--#  error "CURL_SIZEOF_CURL_SOCKLEN_T definition is missing!"
--   Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_is_missing
--#endif
--
--#ifndef CURL_TYPEOF_CURL_OFF_T
--#  error "CURL_TYPEOF_CURL_OFF_T definition is missing!"
--   Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_is_missing
--#endif
--
--#ifndef CURL_FORMAT_CURL_OFF_T
--#  error "CURL_FORMAT_CURL_OFF_T definition is missing!"
--   Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_is_missing
--#endif
--
--#ifndef CURL_FORMAT_CURL_OFF_TU
--#  error "CURL_FORMAT_CURL_OFF_TU definition is missing!"
--   Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_is_missing
--#endif
--
--#ifndef CURL_SIZEOF_CURL_OFF_T
--#  error "CURL_SIZEOF_CURL_OFF_T definition is missing!"
--   Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_is_missing
--#endif
--
--#ifndef CURL_SUFFIX_CURL_OFF_T
--#  error "CURL_SUFFIX_CURL_OFF_T definition is missing!"
--   Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_is_missing
--#endif
--
--#ifndef CURL_SUFFIX_CURL_OFF_TU
--#  error "CURL_SUFFIX_CURL_OFF_TU definition is missing!"
--   Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_is_missing
--#endif
--
--/*
-- * Macros private to this header file.
-- */
--
--#define CurlchkszEQ(t, s) sizeof(t) == s ? 1 : -1
--
--#define CurlchkszGE(t1, t2) sizeof(t1) >= sizeof(t2) ? 1 : -1
--
--/*
-- * Verify that the size previously defined and expected for long
-- * is the same as the one reported by sizeof() at compile time.
-- */
--
--typedef char
--  __curl_rule_01__
--    [CurlchkszEQ(long, CURL_SIZEOF_LONG)];
--
--/*
-- * Verify that the size previously defined and expected for
-- * curl_off_t is actually the the same as the one reported
-- * by sizeof() at compile time.
-- */
--
--typedef char
--  __curl_rule_02__
--    [CurlchkszEQ(curl_off_t, CURL_SIZEOF_CURL_OFF_T)];
--
--/*
-- * Verify at compile time that the size of curl_off_t as reported
-- * by sizeof() is greater or equal than the one reported for long
-- * for the current compilation.
-- */
--
--typedef char
--  __curl_rule_03__
--    [CurlchkszGE(curl_off_t, long)];
--
--/*
-- * Verify that the size previously defined and expected for
-- * curl_socklen_t is actually the the same as the one reported
-- * by sizeof() at compile time.
-- */
--
--typedef char
--  __curl_rule_04__
--    [CurlchkszEQ(curl_socklen_t, CURL_SIZEOF_CURL_SOCKLEN_T)];
--
--/*
-- * Verify at compile time that the size of curl_socklen_t as reported
-- * by sizeof() is greater or equal than the one reported for int for
-- * the current compilation.
-- */
--
--typedef char
--  __curl_rule_05__
--    [CurlchkszGE(curl_socklen_t, int)];
--
--/* ================================================================ */
--/*          EXTERNALLY AND INTERNALLY VISIBLE DEFINITIONS           */
--/* ================================================================ */
--
--/*
-- * CURL_ISOCPP and CURL_OFF_T_C definitions are done here in order to allow
-- * these to be visible and exported by the external libcurl interface API,
-- * while also making them visible to the library internals, simply including
-- * curl_setup.h, without actually needing to include curl.h internally.
-- * If some day this section would grow big enough, all this should be moved
-- * to its own header file.
-- */
--
--/*
-- * Figure out if we can use the ## preprocessor operator, which is supported
-- * by ISO/ANSI C and C++. Some compilers support it without setting __STDC__
-- * or  __cplusplus so we need to carefully check for them too.
-- */
--
--#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \
--  defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \
--  defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \
--  defined(__ILEC400__)
--  /* This compiler is believed to have an ISO compatible preprocessor */
--#define CURL_ISOCPP
--#else
--  /* This compiler is believed NOT to have an ISO compatible preprocessor */
--#undef CURL_ISOCPP
--#endif
--
--/*
-- * Macros for minimum-width signed and unsigned curl_off_t integer constants.
-- */
--
--#if defined(__BORLANDC__) && (__BORLANDC__ == 0x0551)
--#  define __CURL_OFF_T_C_HLPR2(x) x
--#  define __CURL_OFF_T_C_HLPR1(x) __CURL_OFF_T_C_HLPR2(x)
--#  define CURL_OFF_T_C(Val)  __CURL_OFF_T_C_HLPR1(Val) ## \
--                             __CURL_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_T)
--#  define CURL_OFF_TU_C(Val) __CURL_OFF_T_C_HLPR1(Val) ## \
--                             __CURL_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_TU)
--#else
--#  ifdef CURL_ISOCPP
--#    define __CURL_OFF_T_C_HLPR2(Val,Suffix) Val ## Suffix
--#  else
--#    define __CURL_OFF_T_C_HLPR2(Val,Suffix) Val/**/Suffix
--#  endif
--#  define __CURL_OFF_T_C_HLPR1(Val,Suffix) __CURL_OFF_T_C_HLPR2(Val,Suffix)
--#  define CURL_OFF_T_C(Val)  __CURL_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_T)
--#  define CURL_OFF_TU_C(Val) __CURL_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_TU)
--#endif
--
--/*
-- * Get rid of macros private to this header file.
-- */
--
--#undef CurlchkszEQ
--#undef CurlchkszGE
--
--#endif /* __CURL_CURLRULES_H */
diff --cc code/curl-7.54.0/include/curl/curlver.h
index 95a2cbb,95a2cbb..0000000
deleted file mode 100644,100644
--- a/code/curl-7.54.0/include/curl/curlver.h
+++ /dev/null
@@@ -1,77 -1,77 +1,0 @@@
--#ifndef __CURL_CURLVER_H
--#define __CURL_CURLVER_H
--/***************************************************************************
-- *                                  _   _ ____  _
-- *  Project                     ___| | | |  _ \| |
-- *                             / __| | | | |_) | |
-- *                            | (__| |_| |  _ <| |___
-- *                             \___|\___/|_| \_\_____|
-- *
-- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel at 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 https://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.
-- *
-- ***************************************************************************/
--
--/* This header file contains nothing but libcurl version info, generated by
--   a script at release-time. This was made its own header file in 7.11.2 */
--
--/* This is the global package copyright */
--#define LIBCURL_COPYRIGHT "1996 - 2017 Daniel Stenberg, <daniel at haxx.se>."
--
--/* This is the version number of the libcurl package from which this header
--   file origins: */
--#define LIBCURL_VERSION "7.54.0"
--
--/* The numeric version number is also available "in parts" by using these
--   defines: */
--#define LIBCURL_VERSION_MAJOR 7
--#define LIBCURL_VERSION_MINOR 54
--#define LIBCURL_VERSION_PATCH 0
--
--/* This is the numeric version of the libcurl version number, meant for easier
--   parsing and comparions by programs. The LIBCURL_VERSION_NUM define will
--   always follow this syntax:
--
--         0xXXYYZZ
--
--   Where XX, YY and ZZ are the main version, release and patch numbers in
--   hexadecimal (using 8 bits each). All three numbers are always represented
--   using two digits.  1.2 would appear as "0x010200" while version 9.11.7
--   appears as "0x090b07".
--
--   This 6-digit (24 bits) hexadecimal number does not show pre-release number,
--   and it is always a greater number in a more recent release. It makes
--   comparisons with greater than and less than work.
--
--   Note: This define is the full hex number and _does not_ use the
--   CURL_VERSION_BITS() macro since curl's own configure script greps for it
--   and needs it to contain the full number.
--*/
--#define LIBCURL_VERSION_NUM 0x073600
--
--/*
-- * This is the date and time when the full source package was created. The
-- * timestamp is not stored in git, as the timestamp is properly set in the
-- * tarballs by the maketgz script.
-- *
-- * The format of the date should follow this template:
-- *
-- * "Mon Feb 12 11:35:33 UTC 2007"
-- */
--#define LIBCURL_TIMESTAMP "Wed Apr 19 05:43:55 UTC 2017"
--
--#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|z)
--#define CURL_AT_LEAST_VERSION(x,y,z) \
--  (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z))
--
--#endif /* __CURL_CURLVER_H */
diff --cc code/curl-7.54.0/include/curl/easy.h
index 752c504,752c504..0000000
deleted file mode 100644,100644
--- a/code/curl-7.54.0/include/curl/easy.h
+++ /dev/null
@@@ -1,102 -1,102 +1,0 @@@
--#ifndef __CURL_EASY_H
--#define __CURL_EASY_H
--/***************************************************************************
-- *                                  _   _ ____  _
-- *  Project                     ___| | | |  _ \| |
-- *                             / __| | | | |_) | |
-- *                            | (__| |_| |  _ <| |___
-- *                             \___|\___/|_| \_\_____|
-- *
-- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel at 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 https://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.
-- *
-- ***************************************************************************/
--#ifdef  __cplusplus
--extern "C" {
--#endif
--
--CURL_EXTERN CURL *curl_easy_init(void);
--CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
--CURL_EXTERN CURLcode curl_easy_perform(CURL *curl);
--CURL_EXTERN void curl_easy_cleanup(CURL *curl);
--
--/*
-- * NAME curl_easy_getinfo()
-- *
-- * DESCRIPTION
-- *
-- * Request internal information from the curl session with this function.  The
-- * third argument MUST be a pointer to a long, a pointer to a char * or a
-- * pointer to a double (as the documentation describes elsewhere).  The data
-- * pointed to will be filled in accordingly and can be relied upon only if the
-- * function returns CURLE_OK.  This function is intended to get used *AFTER* a
-- * performed transfer, all results from this function are undefined until the
-- * transfer is completed.
-- */
--CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...);
--
--
--/*
-- * NAME curl_easy_duphandle()
-- *
-- * DESCRIPTION
-- *
-- * Creates a new curl session handle with the same options set for the handle
-- * passed in. Duplicating a handle could only be a matter of cloning data and
-- * options, internal state info and things like persistent connections cannot
-- * be transferred. It is useful in multithreaded applications when you can run
-- * curl_easy_duphandle() for each new thread to avoid a series of identical
-- * curl_easy_setopt() invokes in every thread.
-- */
--CURL_EXTERN CURL *curl_easy_duphandle(CURL *curl);
--
--/*
-- * NAME curl_easy_reset()
-- *
-- * DESCRIPTION
-- *
-- * Re-initializes a CURL handle to the default values. This puts back the
-- * handle to the same state as it was in when it was just created.
-- *
-- * It does keep: live connections, the Session ID cache, the DNS cache and the
-- * cookies.
-- */
--CURL_EXTERN void curl_easy_reset(CURL *curl);
--
--/*
-- * NAME curl_easy_recv()
-- *
-- * DESCRIPTION
-- *
-- * Receives data from the connected socket. Use after successful
-- * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
-- */
--CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen,
--                                    size_t *n);
--
--/*
-- * NAME curl_easy_send()
-- *
-- * DESCRIPTION
-- *
-- * Sends data over the connected socket. Use after successful
-- * curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
-- */
--CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer,
--                                    size_t buflen, size_t *n);
--
--#ifdef  __cplusplus
--}
--#endif
--
--#endif
diff --cc code/curl-7.54.0/include/curl/mprintf.h
index e20f546,e20f546..0000000
deleted file mode 100644,100644
--- a/code/curl-7.54.0/include/curl/mprintf.h
+++ /dev/null
@@@ -1,50 -1,50 +1,0 @@@
--#ifndef __CURL_MPRINTF_H
--#define __CURL_MPRINTF_H
--/***************************************************************************
-- *                                  _   _ ____  _
-- *  Project                     ___| | | |  _ \| |
-- *                             / __| | | | |_) | |
-- *                            | (__| |_| |  _ <| |___
-- *                             \___|\___/|_| \_\_____|
-- *
-- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel at 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 https://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.
-- *
-- ***************************************************************************/
--
--#include <stdarg.h>
--#include <stdio.h> /* needed for FILE */
--#include "curl.h"  /* for CURL_EXTERN */
--
--#ifdef  __cplusplus
--extern "C" {
--#endif
--
--CURL_EXTERN int curl_mprintf(const char *format, ...);
--CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...);
--CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...);
--CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength,
--                               const char *format, ...);
--CURL_EXTERN int curl_mvprintf(const char *format, va_list args);
--CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args);
--CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args);
--CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength,
--                                const char *format, va_list args);
--CURL_EXTERN char *curl_maprintf(const char *format, ...);
--CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args);
--
--#ifdef  __cplusplus
--}
--#endif
--
--#endif /* __CURL_MPRINTF_H */
diff --cc code/curl-7.54.0/include/curl/multi.h
index f93e511,f93e511..0000000
deleted file mode 100644,100644
--- a/code/curl-7.54.0/include/curl/multi.h
+++ /dev/null
@@@ -1,439 -1,439 +1,0 @@@
--#ifndef __CURL_MULTI_H
--#define __CURL_MULTI_H
--/***************************************************************************
-- *                                  _   _ ____  _
-- *  Project                     ___| | | |  _ \| |
-- *                             / __| | | | |_) | |
-- *                            | (__| |_| |  _ <| |___
-- *                             \___|\___/|_| \_\_____|
-- *
-- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel at 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 https://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.
-- *
-- ***************************************************************************/
--/*
--  This is an "external" header file. Don't give away any internals here!
--
--  GOALS
--
--  o Enable a "pull" interface. The application that uses libcurl decides where
--    and when to ask libcurl to get/send data.
--
--  o Enable multiple simultaneous transfers in the same thread without making it
--    complicated for the application.
--
--  o Enable the application to select() on its own file descriptors and curl's
--    file descriptors simultaneous easily.
--
--*/
--
--/*
-- * This header file should not really need to include "curl.h" since curl.h
-- * itself includes this file and we expect user applications to do #include
-- * <curl/curl.h> without the need for especially including multi.h.
-- *
-- * For some reason we added this include here at one point, and rather than to
-- * break existing (wrongly written) libcurl applications, we leave it as-is
-- * but with this warning attached.
-- */
--#include "curl.h"
--
--#ifdef  __cplusplus
--extern "C" {
--#endif
--
--#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER)
--typedef struct Curl_multi CURLM;
--#else
--typedef void CURLM;
--#endif
--
--typedef enum {
--  CURLM_CALL_MULTI_PERFORM = -1, /* please call curl_multi_perform() or
--                                    curl_multi_socket*() soon */
--  CURLM_OK,
--  CURLM_BAD_HANDLE,      /* the passed-in handle is not a valid CURLM handle */
--  CURLM_BAD_EASY_HANDLE, /* an easy handle was not good/valid */
--  CURLM_OUT_OF_MEMORY,   /* if you ever get this, you're in deep sh*t */
--  CURLM_INTERNAL_ERROR,  /* this is a libcurl bug */
--  CURLM_BAD_SOCKET,      /* the passed in socket argument did not match */
--  CURLM_UNKNOWN_OPTION,  /* curl_multi_setopt() with unsupported option */
--  CURLM_ADDED_ALREADY,   /* an easy handle already added to a multi handle was
--                            attempted to get added - again */
--  CURLM_LAST
--} CURLMcode;
--
--/* just to make code nicer when using curl_multi_socket() you can now check
--   for CURLM_CALL_MULTI_SOCKET too in the same style it works for
--   curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */
--#define CURLM_CALL_MULTI_SOCKET CURLM_CALL_MULTI_PERFORM
--
--/* bitmask bits for CURLMOPT_PIPELINING */
--#define CURLPIPE_NOTHING   0L
--#define CURLPIPE_HTTP1     1L
--#define CURLPIPE_MULTIPLEX 2L
--
--typedef enum {
--  CURLMSG_NONE, /* first, not used */
--  CURLMSG_DONE, /* This easy handle has completed. 'result' contains
--                   the CURLcode of the transfer */
--  CURLMSG_LAST /* last, not used */
--} CURLMSG;
--
--struct CURLMsg {
--  CURLMSG msg;       /* what this message means */
--  CURL *easy_handle; /* the handle it concerns */
--  union {
--    void *whatever;    /* message-specific data */
--    CURLcode result;   /* return code for transfer */
--  } data;
--};
--typedef struct CURLMsg CURLMsg;
--
--/* Based on poll(2) structure and values.
-- * We don't use pollfd and POLL* constants explicitly
-- * to cover platforms without poll(). */
--#define CURL_WAIT_POLLIN    0x0001
--#define CURL_WAIT_POLLPRI   0x0002
--#define CURL_WAIT_POLLOUT   0x0004
--
--struct curl_waitfd {
--  curl_socket_t fd;
--  short events;
--  short revents; /* not supported yet */
--};
--
--/*
-- * Name:    curl_multi_init()
-- *
-- * Desc:    inititalize multi-style curl usage
-- *
-- * Returns: a new CURLM handle to use in all 'curl_multi' functions.
-- */
--CURL_EXTERN CURLM *curl_multi_init(void);
--
--/*
-- * Name:    curl_multi_add_handle()
-- *
-- * Desc:    add a standard curl handle to the multi stack
-- *
-- * Returns: CURLMcode type, general multi error code.
-- */
--CURL_EXTERN CURLMcode curl_multi_add_handle(CURLM *multi_handle,
--                                            CURL *curl_handle);
--
-- /*
--  * Name:    curl_multi_remove_handle()
--  *
--  * Desc:    removes a curl handle from the multi stack again
--  *
--  * Returns: CURLMcode type, general multi error code.
--  */
--CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle,
--                                               CURL *curl_handle);
--
-- /*
--  * Name:    curl_multi_fdset()
--  *
--  * Desc:    Ask curl for its fd_set sets. The app can use these to select() or
--  *          poll() on. We want curl_multi_perform() called as soon as one of
--  *          them are ready.
--  *
--  * Returns: CURLMcode type, general multi error code.
--  */
--CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle,
--                                       fd_set *read_fd_set,
--                                       fd_set *write_fd_set,
--                                       fd_set *exc_fd_set,
--                                       int *max_fd);
--
--/*
-- * Name:     curl_multi_wait()
-- *
-- * Desc:     Poll on all fds within a CURLM set as well as any
-- *           additional fds passed to the function.
-- *
-- * Returns:  CURLMcode type, general multi error code.
-- */
--CURL_EXTERN CURLMcode curl_multi_wait(CURLM *multi_handle,
--                                      struct curl_waitfd extra_fds[],
--                                      unsigned int extra_nfds,
--                                      int timeout_ms,
--                                      int *ret);
--
-- /*
--  * Name:    curl_multi_perform()
--  *
--  * Desc:    When the app thinks there's data available for curl it calls this
--  *          function to read/write whatever there is right now. This returns
--  *          as soon as the reads and writes are done. This function does not
--  *          require that there actually is data available for reading or that
--  *          data can be written, it can be called just in case. It returns
--  *          the number of handles that still transfer data in the second
--  *          argument's integer-pointer.
--  *
--  * Returns: CURLMcode type, general multi error code. *NOTE* that this only
--  *          returns errors etc regarding the whole multi stack. There might
--  *          still have occurred problems on invidual transfers even when this
--  *          returns OK.
--  */
--CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle,
--                                         int *running_handles);
--
-- /*
--  * Name:    curl_multi_cleanup()
--  *
--  * Desc:    Cleans up and removes a whole multi stack. It does not free or
--  *          touch any individual easy handles in any way. We need to define
--  *          in what state those handles will be if this function is called
--  *          in the middle of a transfer.
--  *
--  * Returns: CURLMcode type, general multi error code.
--  */
--CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle);
--
--/*
-- * Name:    curl_multi_info_read()
-- *
-- * Desc:    Ask the multi handle if there's any messages/informationals from
-- *          the individual transfers. Messages include informationals such as
-- *          error code from the transfer or just the fact that a transfer is
-- *          completed. More details on these should be written down as well.
-- *
-- *          Repeated calls to this function will return a new struct each
-- *          time, until a special "end of msgs" struct is returned as a signal
-- *          that there is no more to get at this point.
-- *
-- *          The data the returned pointer points to will not survive calling
-- *          curl_multi_cleanup().
-- *
-- *          The 'CURLMsg' struct is meant to be very simple and only contain
-- *          very basic information. If more involved information is wanted,
-- *          we will provide the particular "transfer handle" in that struct
-- *          and that should/could/would be used in subsequent
-- *          curl_easy_getinfo() calls (or similar). The point being that we
-- *          must never expose complex structs to applications, as then we'll
-- *          undoubtably get backwards compatibility problems in the future.
-- *
-- * Returns: A pointer to a filled-in struct, or NULL if it failed or ran out
-- *          of structs. It also writes the number of messages left in the
-- *          queue (after this read) in the integer the second argument points
-- *          to.
-- */
--CURL_EXTERN CURLMsg *curl_multi_info_read(CURLM *multi_handle,
--                                          int *msgs_in_queue);
--
--/*
-- * Name:    curl_multi_strerror()
-- *
-- * Desc:    The curl_multi_strerror function may be used to turn a CURLMcode
-- *          value into the equivalent human readable error string.  This is
-- *          useful for printing meaningful error messages.
-- *
-- * Returns: A pointer to a zero-terminated error message.
-- */
--CURL_EXTERN const char *curl_multi_strerror(CURLMcode);
--
--/*
-- * Name:    curl_multi_socket() and
-- *          curl_multi_socket_all()
-- *
-- * Desc:    An alternative version of curl_multi_perform() that allows the
-- *          application to pass in one of the file descriptors that have been
-- *          detected to have "action" on them and let libcurl perform.
-- *          See man page for details.
-- */
--#define CURL_POLL_NONE   0
--#define CURL_POLL_IN     1
--#define CURL_POLL_OUT    2
--#define CURL_POLL_INOUT  3
--#define CURL_POLL_REMOVE 4
--
--#define CURL_SOCKET_TIMEOUT CURL_SOCKET_BAD
--
--#define CURL_CSELECT_IN   0x01
--#define CURL_CSELECT_OUT  0x02
--#define CURL_CSELECT_ERR  0x04
--
--typedef int (*curl_socket_callback)(CURL *easy,      /* easy handle */
--                                    curl_socket_t s, /* socket */
--                                    int what,        /* see above */
--                                    void *userp,     /* private callback
--                                                        pointer */
--                                    void *socketp);  /* private socket
--                                                        pointer */
--/*
-- * Name:    curl_multi_timer_callback
-- *
-- * Desc:    Called by libcurl whenever the library detects a change in the
-- *          maximum number of milliseconds the app is allowed to wait before
-- *          curl_multi_socket() or curl_multi_perform() must be called
-- *          (to allow libcurl's timed events to take place).
-- *
-- * Returns: The callback should return zero.
-- */
--typedef int (*curl_multi_timer_callback)(CURLM *multi,    /* multi handle */
--                                         long timeout_ms, /* see above */
--                                         void *userp);    /* private callback
--                                                             pointer */
--
--CURL_EXTERN CURLMcode curl_multi_socket(CURLM *multi_handle, curl_socket_t s,
--                                        int *running_handles);
--
--CURL_EXTERN CURLMcode curl_multi_socket_action(CURLM *multi_handle,
--                                               curl_socket_t s,
--                                               int ev_bitmask,
--                                               int *running_handles);
--
--CURL_EXTERN CURLMcode curl_multi_socket_all(CURLM *multi_handle,
--                                            int *running_handles);
--
--#ifndef CURL_ALLOW_OLD_MULTI_SOCKET
--/* This macro below was added in 7.16.3 to push users who recompile to use
--   the new curl_multi_socket_action() instead of the old curl_multi_socket()
--*/
--#define curl_multi_socket(x,y,z) curl_multi_socket_action(x,y,0,z)
--#endif
--
--/*
-- * Name:    curl_multi_timeout()
-- *
-- * Desc:    Returns the maximum number of milliseconds the app is allowed to
-- *          wait before curl_multi_socket() or curl_multi_perform() must be
-- *          called (to allow libcurl's timed events to take place).
-- *
-- * Returns: CURLM error code.
-- */
--CURL_EXTERN CURLMcode curl_multi_timeout(CURLM *multi_handle,
--                                         long *milliseconds);
--
--#undef CINIT /* re-using the same name as in curl.h */
--
--#ifdef CURL_ISOCPP
--#define CINIT(name,type,num) CURLMOPT_ ## name = CURLOPTTYPE_ ## type + num
--#else
--/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */
--#define LONG          CURLOPTTYPE_LONG
--#define OBJECTPOINT   CURLOPTTYPE_OBJECTPOINT
--#define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT
--#define OFF_T         CURLOPTTYPE_OFF_T
--#define CINIT(name,type,number) CURLMOPT_/**/name = type + number
--#endif
--
--typedef enum {
--  /* This is the socket callback function pointer */
--  CINIT(SOCKETFUNCTION, FUNCTIONPOINT, 1),
--
--  /* This is the argument passed to the socket callback */
--  CINIT(SOCKETDATA, OBJECTPOINT, 2),
--
--    /* set to 1 to enable pipelining for this multi handle */
--  CINIT(PIPELINING, LONG, 3),
--
--   /* This is the timer callback function pointer */
--  CINIT(TIMERFUNCTION, FUNCTIONPOINT, 4),
--
--  /* This is the argument passed to the timer callback */
--  CINIT(TIMERDATA, OBJECTPOINT, 5),
--
--  /* maximum number of entries in the connection cache */
--  CINIT(MAXCONNECTS, LONG, 6),
--
--  /* maximum number of (pipelining) connections to one host */
--  CINIT(MAX_HOST_CONNECTIONS, LONG, 7),
--
--  /* maximum number of requests in a pipeline */
--  CINIT(MAX_PIPELINE_LENGTH, LONG, 8),
--
--  /* a connection with a content-length longer than this
--     will not be considered for pipelining */
--  CINIT(CONTENT_LENGTH_PENALTY_SIZE, OFF_T, 9),
--
--  /* a connection with a chunk length longer than this
--     will not be considered for pipelining */
--  CINIT(CHUNK_LENGTH_PENALTY_SIZE, OFF_T, 10),
--
--  /* a list of site names(+port) that are blacklisted from
--     pipelining */
--  CINIT(PIPELINING_SITE_BL, OBJECTPOINT, 11),
--
--  /* a list of server types that are blacklisted from
--     pipelining */
--  CINIT(PIPELINING_SERVER_BL, OBJECTPOINT, 12),
--
--  /* maximum number of open connections in total */
--  CINIT(MAX_TOTAL_CONNECTIONS, LONG, 13),
--
--   /* This is the server push callback function pointer */
--  CINIT(PUSHFUNCTION, FUNCTIONPOINT, 14),
--
--  /* This is the argument passed to the server push callback */
--  CINIT(PUSHDATA, OBJECTPOINT, 15),
--
--  CURLMOPT_LASTENTRY /* the last unused */
--} CURLMoption;
--
--
--/*
-- * Name:    curl_multi_setopt()
-- *
-- * Desc:    Sets options for the multi handle.
-- *
-- * Returns: CURLM error code.
-- */
--CURL_EXTERN CURLMcode curl_multi_setopt(CURLM *multi_handle,
--                                        CURLMoption option, ...);
--
--
--/*
-- * Name:    curl_multi_assign()
-- *
-- * Desc:    This function sets an association in the multi handle between the
-- *          given socket and a private pointer of the application. This is
-- *          (only) useful for curl_multi_socket uses.
-- *
-- * Returns: CURLM error code.
-- */
--CURL_EXTERN CURLMcode curl_multi_assign(CURLM *multi_handle,
--                                        curl_socket_t sockfd, void *sockp);
--
--
--/*
-- * Name: curl_push_callback
-- *
-- * Desc: This callback gets called when a new stream is being pushed by the
-- *       server. It approves or denies the new stream.
-- *
-- * Returns: CURL_PUSH_OK or CURL_PUSH_DENY.
-- */
--#define CURL_PUSH_OK   0
--#define CURL_PUSH_DENY 1
--
--struct curl_pushheaders;  /* forward declaration only */
--
--CURL_EXTERN char *curl_pushheader_bynum(struct curl_pushheaders *h,
--                                        size_t num);
--CURL_EXTERN char *curl_pushheader_byname(struct curl_pushheaders *h,
--                                         const char *name);
--
--typedef int (*curl_push_callback)(CURL *parent,
--                                  CURL *easy,
--                                  size_t num_headers,
--                                  struct curl_pushheaders *headers,
--                                  void *userp);
--
--#ifdef __cplusplus
--} /* end of extern "C" */
--#endif
--
--#endif
diff --cc code/curl-7.54.0/include/curl/stdcheaders.h
index 027b6f4,027b6f4..0000000
deleted file mode 100644,100644
--- a/code/curl-7.54.0/include/curl/stdcheaders.h
+++ /dev/null
@@@ -1,33 -1,33 +1,0 @@@
--#ifndef __STDC_HEADERS_H
--#define __STDC_HEADERS_H
--/***************************************************************************
-- *                                  _   _ ____  _
-- *  Project                     ___| | | |  _ \| |
-- *                             / __| | | | |_) | |
-- *                            | (__| |_| |  _ <| |___
-- *                             \___|\___/|_| \_\_____|
-- *
-- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel at 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 https://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.
-- *
-- ***************************************************************************/
--
--#include <sys/types.h>
--
--size_t fread(void *, size_t, size_t, FILE *);
--size_t fwrite(const void *, size_t, size_t, FILE *);
--
--int strcasecmp(const char *, const char *);
--int strncasecmp(const char *, const char *, size_t);
--
--#endif /* __STDC_HEADERS_H */
diff --cc code/curl-7.54.0/include/curl/system.h
index ed3a55c,ed3a55c..0000000
deleted file mode 100644,100644
--- a/code/curl-7.54.0/include/curl/system.h
+++ /dev/null
@@@ -1,484 -1,484 +1,0 @@@
--#ifndef __CURL_SYSTEM_H
--#define __CURL_SYSTEM_H
--/***************************************************************************
-- *                                  _   _ ____  _
-- *  Project                     ___| | | |  _ \| |
-- *                             / __| | | | |_) | |
-- *                            | (__| |_| |  _ <| |___
-- *                             \___|\___/|_| \_\_____|
-- *
-- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel at 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 https://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.
-- *
-- ***************************************************************************/
--
--/*
-- * This header is supposed to eventually replace curlbuild.h. This little one
-- * is still learning.  During the experimental phase, this header files
-- * defines symbols using the prefixes CURLSYS_ or curlsys_. When we feel
-- * confident enough, we replace curlbuild.h with this file and rename all
-- * prefixes to CURL_ and curl_.
-- */
--
--/*
-- * Try to keep one section per platform, compiler and architecture, otherwise,
-- * if an existing section is reused for a different one and later on the
-- * original is adjusted, probably the piggybacking one can be adversely
-- * changed.
-- *
-- * In order to differentiate between platforms/compilers/architectures use
-- * only compiler built in predefined preprocessor symbols.
-- *
-- * curl_off_t
-- * ----------
-- *
-- * For any given platform/compiler curl_off_t must be typedef'ed to a 64-bit
-- * wide signed integral data type. The width of this data type must remain
-- * constant and independent of any possible large file support settings.
-- *
-- * As an exception to the above, curl_off_t shall be typedef'ed to a 32-bit
-- * wide signed integral data type if there is no 64-bit type.
-- *
-- * As a general rule, curl_off_t shall not be mapped to off_t. This rule shall
-- * only be violated if off_t is the only 64-bit data type available and the
-- * size of off_t is independent of large file support settings. Keep your
-- * build on the safe side avoiding an off_t gating.  If you have a 64-bit
-- * off_t then take for sure that another 64-bit data type exists, dig deeper
-- * and you will find it.
-- *
-- */
--
--#if defined(__DJGPP__) || defined(__GO32__)
--#  if defined(__DJGPP__) && (__DJGPP__ > 1)
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "lld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "llu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     8
--#    define CURLSYS_SUFFIX_CURL_OFF_T     LL
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    ULL
--#  else
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     4
--#    define CURLSYS_SUFFIX_CURL_OFF_T     L
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#  endif
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__SALFORDC__)
--#  define CURLSYS_SIZEOF_LONG           4
--#  define CURLSYS_TYPEOF_CURL_OFF_T     long
--#  define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#  define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#  define CURLSYS_SIZEOF_CURL_OFF_T     4
--#  define CURLSYS_SUFFIX_CURL_OFF_T     L
--#  define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__BORLANDC__)
--#  if (__BORLANDC__ < 0x520)
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     4
--#    define CURLSYS_SUFFIX_CURL_OFF_T     L
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#  else
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     __int64
--#    define CURLSYS_FORMAT_CURL_OFF_T     "I64d"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "I64u"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     8
--#    define CURLSYS_SUFFIX_CURL_OFF_T     i64
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    ui64
--#  endif
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__TURBOC__)
--#  define CURLSYS_SIZEOF_LONG           4
--#  define CURLSYS_TYPEOF_CURL_OFF_T     long
--#  define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#  define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#  define CURLSYS_SIZEOF_CURL_OFF_T     4
--#  define CURLSYS_SUFFIX_CURL_OFF_T     L
--#  define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__WATCOMC__)
--#  if defined(__386__)
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     __int64
--#    define CURLSYS_FORMAT_CURL_OFF_T     "I64d"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "I64u"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     8
--#    define CURLSYS_SUFFIX_CURL_OFF_T     i64
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    ui64
--#  else
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     4
--#    define CURLSYS_SUFFIX_CURL_OFF_T     L
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#  endif
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__POCC__)
--#  if (__POCC__ < 280)
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     4
--#    define CURLSYS_SUFFIX_CURL_OFF_T     L
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#  elif defined(_MSC_VER)
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     __int64
--#    define CURLSYS_FORMAT_CURL_OFF_T     "I64d"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "I64u"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     8
--#    define CURLSYS_SUFFIX_CURL_OFF_T     i64
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    ui64
--#  else
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "lld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "llu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     8
--#    define CURLSYS_SUFFIX_CURL_OFF_T     LL
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    ULL
--#  endif
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__LCC__)
--#  define CURLSYS_SIZEOF_LONG           4
--#  define CURLSYS_TYPEOF_CURL_OFF_T     long
--#  define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#  define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#  define CURLSYS_SIZEOF_CURL_OFF_T     4
--#  define CURLSYS_SUFFIX_CURL_OFF_T     L
--#  define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__SYMBIAN32__)
--#  if defined(__EABI__)  /* Treat all ARM compilers equally */
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "lld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "llu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     8
--#    define CURLSYS_SUFFIX_CURL_OFF_T     LL
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    ULL
--#  elif defined(__CW32__)
--#    pragma longlong on
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "lld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "llu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     8
--#    define CURLSYS_SUFFIX_CURL_OFF_T     LL
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    ULL
--#  elif defined(__VC32__)
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     __int64
--#    define CURLSYS_FORMAT_CURL_OFF_T     "lld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "llu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     8
--#    define CURLSYS_SUFFIX_CURL_OFF_T     LL
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    ULL
--#  endif
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T unsigned int
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__MWERKS__)
--#  define CURLSYS_SIZEOF_LONG           4
--#  define CURLSYS_TYPEOF_CURL_OFF_T     long long
--#  define CURLSYS_FORMAT_CURL_OFF_T     "lld"
--#  define CURLSYS_FORMAT_CURL_OFF_TU    "llu"
--#  define CURLSYS_SIZEOF_CURL_OFF_T     8
--#  define CURLSYS_SUFFIX_CURL_OFF_T     LL
--#  define CURLSYS_SUFFIX_CURL_OFF_TU    ULL
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(_WIN32_WCE)
--#  define CURLSYS_SIZEOF_LONG           4
--#  define CURLSYS_TYPEOF_CURL_OFF_T     __int64
--#  define CURLSYS_FORMAT_CURL_OFF_T     "I64d"
--#  define CURLSYS_FORMAT_CURL_OFF_TU    "I64u"
--#  define CURLSYS_SIZEOF_CURL_OFF_T     8
--#  define CURLSYS_SUFFIX_CURL_OFF_T     i64
--#  define CURLSYS_SUFFIX_CURL_OFF_TU    ui64
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__MINGW32__)
--#  define CURLSYS_SIZEOF_LONG           4
--#  define CURLSYS_TYPEOF_CURL_OFF_T     long long
--#  define CURLSYS_FORMAT_CURL_OFF_T     "I64d"
--#  define CURLSYS_FORMAT_CURL_OFF_TU    "I64u"
--#  define CURLSYS_SIZEOF_CURL_OFF_T     8
--#  define CURLSYS_SUFFIX_CURL_OFF_T     LL
--#  define CURLSYS_SUFFIX_CURL_OFF_TU    ULL
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T socklen_t
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--#  define CURLSYS_PULL_SYS_TYPES_H      1
--#  define CURLSYS_PULL_WS2TCPIP_H       1
--
--#elif defined(__VMS)
--#  if defined(__VAX)
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     4
--#    define CURLSYS_SUFFIX_CURL_OFF_T     L
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#  else
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "lld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "llu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     8
--#    define CURLSYS_SUFFIX_CURL_OFF_T     LL
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    ULL
--#  endif
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T unsigned int
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__OS400__)
--#  if defined(__ILEC400__)
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "lld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "llu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     8
--#    define CURLSYS_SUFFIX_CURL_OFF_T     LL
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    ULL
--#    define CURLSYS_TYPEOF_CURL_SOCKLEN_T socklen_t
--#    define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--#    define CURLSYS_PULL_SYS_TYPES_H      1
--#    define CURLSYS_PULL_SYS_SOCKET_H     1
--#  endif
--
--#elif defined(__MVS__)
--#  if defined(__IBMC__) || defined(__IBMCPP__)
--#    if defined(_ILP32)
--#      define CURLSYS_SIZEOF_LONG           4
--#    elif defined(_LP64)
--#      define CURLSYS_SIZEOF_LONG           8
--#    endif
--#    if defined(_LONG_LONG)
--#      define CURLSYS_TYPEOF_CURL_OFF_T     long long
--#      define CURLSYS_FORMAT_CURL_OFF_T     "lld"
--#      define CURLSYS_FORMAT_CURL_OFF_TU    "llu"
--#      define CURLSYS_SIZEOF_CURL_OFF_T     8
--#      define CURLSYS_SUFFIX_CURL_OFF_T     LL
--#      define CURLSYS_SUFFIX_CURL_OFF_TU    ULL
--#    elif defined(_LP64)
--#      define CURLSYS_TYPEOF_CURL_OFF_T     long
--#      define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#      define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#      define CURLSYS_SIZEOF_CURL_OFF_T     8
--#      define CURLSYS_SUFFIX_CURL_OFF_T     L
--#      define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#    else
--#      define CURLSYS_TYPEOF_CURL_OFF_T     long
--#      define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#      define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#      define CURLSYS_SIZEOF_CURL_OFF_T     4
--#      define CURLSYS_SUFFIX_CURL_OFF_T     L
--#      define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#    endif
--#    define CURLSYS_TYPEOF_CURL_SOCKLEN_T socklen_t
--#    define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--#    define CURLSYS_PULL_SYS_TYPES_H      1
--#    define CURLSYS_PULL_SYS_SOCKET_H     1
--#  endif
--
--#elif defined(__370__)
--#  if defined(__IBMC__) || defined(__IBMCPP__)
--#    if defined(_ILP32)
--#      define CURLSYS_SIZEOF_LONG           4
--#    elif defined(_LP64)
--#      define CURLSYS_SIZEOF_LONG           8
--#    endif
--#    if defined(_LONG_LONG)
--#      define CURLSYS_TYPEOF_CURL_OFF_T     long long
--#      define CURLSYS_FORMAT_CURL_OFF_T     "lld"
--#      define CURLSYS_FORMAT_CURL_OFF_TU    "llu"
--#      define CURLSYS_SIZEOF_CURL_OFF_T     8
--#      define CURLSYS_SUFFIX_CURL_OFF_T     LL
--#      define CURLSYS_SUFFIX_CURL_OFF_TU    ULL
--#    elif defined(_LP64)
--#      define CURLSYS_TYPEOF_CURL_OFF_T     long
--#      define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#      define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#      define CURLSYS_SIZEOF_CURL_OFF_T     8
--#      define CURLSYS_SUFFIX_CURL_OFF_T     L
--#      define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#    else
--#      define CURLSYS_TYPEOF_CURL_OFF_T     long
--#      define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#      define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#      define CURLSYS_SIZEOF_CURL_OFF_T     4
--#      define CURLSYS_SUFFIX_CURL_OFF_T     L
--#      define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#    endif
--#    define CURLSYS_TYPEOF_CURL_SOCKLEN_T socklen_t
--#    define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--#    define CURLSYS_PULL_SYS_TYPES_H      1
--#    define CURLSYS_PULL_SYS_SOCKET_H     1
--#  endif
--
--#elif defined(TPF)
--#  define CURLSYS_SIZEOF_LONG           8
--#  define CURLSYS_TYPEOF_CURL_OFF_T     long
--#  define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#  define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#  define CURLSYS_SIZEOF_CURL_OFF_T     8
--#  define CURLSYS_SUFFIX_CURL_OFF_T     L
--#  define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--
--#elif defined(__TINYC__) /* also known as tcc */
--
--#  define CURLSYS_SIZEOF_LONG           4
--#  define CURLSYS_TYPEOF_CURL_OFF_T     long long
--#  define CURLSYS_FORMAT_CURL_OFF_T     "lld"
--#  define CURLSYS_FORMAT_CURL_OFF_TU    "llu"
--#  define CURLSYS_SIZEOF_CURL_OFF_T     8
--#  define CURLSYS_SUFFIX_CURL_OFF_T     LL
--#  define CURLSYS_SUFFIX_CURL_OFF_TU    ULL
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T socklen_t
--#  define CURLSYS_PULL_SYS_TYPES_H      1
--#  define CURLSYS_PULL_SYS_SOCKET_H     1
--
--/* ===================================== */
--/*    KEEP MSVC THE PENULTIMATE ENTRY    */
--/* ===================================== */
--
--#elif defined(_MSC_VER)
--#  if (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     __int64
--#    define CURLSYS_FORMAT_CURL_OFF_T     "I64d"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "I64u"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     8
--#    define CURLSYS_SUFFIX_CURL_OFF_T     i64
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    ui64
--#  else
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     4
--#    define CURLSYS_SUFFIX_CURL_OFF_T     L
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#  endif
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--
--/* ===================================== */
--/*    KEEP GENERIC GCC THE LAST ENTRY    */
--/* ===================================== */
--
--#elif defined(__GNUC__)
--#  if !defined(__LP64__) && (defined(__ILP32__) || \
--      defined(__i386__) || defined(__ppc__) || defined(__arm__) || \
--      defined(__sparc__) || defined(__mips__) || defined(__sh__))
--#    define CURLSYS_SIZEOF_LONG           4
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "lld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "llu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     8
--#    define CURLSYS_SUFFIX_CURL_OFF_T     LL
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    ULL
--#  elif defined(__LP64__) || \
--        defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__)
--#    define CURLSYS_SIZEOF_LONG           8
--#    define CURLSYS_TYPEOF_CURL_OFF_T     long
--#    define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--#    define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--#    define CURLSYS_SIZEOF_CURL_OFF_T     8
--#    define CURLSYS_SUFFIX_CURL_OFF_T     L
--#    define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--#  endif
--#  define CURLSYS_TYPEOF_CURL_SOCKLEN_T socklen_t
--#  define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--#  define CURLSYS_PULL_SYS_TYPES_H      1
--#  define CURLSYS_PULL_SYS_SOCKET_H     1
--
--#else
--/* generic "safe guess" on old 32 bit style */
--# define CURLSYS_SIZEOF_LONG 4
--# define CURLSYS_SIZEOF_CURL_SOCKLEN_T 4
--# define CURLSYS_SIZEOF_CURL_OFF_T 4
--# define CURLSYS_TYPEOF_CURL_OFF_T     long
--# define CURLSYS_FORMAT_CURL_OFF_T     "ld"
--# define CURLSYS_FORMAT_CURL_OFF_TU    "lu"
--# define CURLSYS_SUFFIX_CURL_OFF_T     L
--# define CURLSYS_SUFFIX_CURL_OFF_TU    UL
--# define CURLSYS_TYPEOF_CURL_SOCKLEN_T int
--#endif
--
--/* CURLSYS_PULL_WS2TCPIP_H is defined above when inclusion of header file  */
--/* ws2tcpip.h is required here to properly make type definitions below. */
--#ifdef CURLSYS_PULL_WS2TCPIP_H
--#  ifndef WIN32_LEAN_AND_MEAN
--#    define WIN32_LEAN_AND_MEAN
--#  endif
--#  include <windows.h>
--#  include <winsock2.h>
--#  include <ws2tcpip.h>
--#endif
--
--/* CURLSYS_PULL_SYS_TYPES_H is defined above when inclusion of header file  */
--/* sys/types.h is required here to properly make type definitions below. */
--#ifdef CURLSYS_PULL_SYS_TYPES_H
--#  include <sys/types.h>
--#endif
--
--/* CURLSYS_PULL_SYS_SOCKET_H is defined above when inclusion of header file  */
--/* sys/socket.h is required here to properly make type definitions below. */
--#ifdef CURLSYS_PULL_SYS_SOCKET_H
--#  include <sys/socket.h>
--#endif
--
--/* Data type definition of curl_socklen_t. */
--#ifdef CURLSYS_TYPEOF_CURL_SOCKLEN_T
--  typedef CURLSYS_TYPEOF_CURL_SOCKLEN_T curlsys_socklen_t;
--#endif
--
--/* Data type definition of curl_off_t. */
--
--#ifdef CURLSYS_TYPEOF_CURL_OFF_T
--  typedef CURLSYS_TYPEOF_CURL_OFF_T curlsys_off_t;
--#endif
--
--#endif /* __CURL_SYSTEM_H */
--
diff --cc code/curl-7.54.0/include/curl/typecheck-gcc.h
index 3d68315,3d68315..0000000
deleted file mode 100644,100644
--- a/code/curl-7.54.0/include/curl/typecheck-gcc.h
+++ /dev/null
@@@ -1,624 -1,624 +1,0 @@@
--#ifndef __CURL_TYPECHECK_GCC_H
--#define __CURL_TYPECHECK_GCC_H
--/***************************************************************************
-- *                                  _   _ ____  _
-- *  Project                     ___| | | |  _ \| |
-- *                             / __| | | | |_) | |
-- *                            | (__| |_| |  _ <| |___
-- *                             \___|\___/|_| \_\_____|
-- *
-- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel at 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 https://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.
-- *
-- ***************************************************************************/
--
--/* wraps curl_easy_setopt() with typechecking */
--
--/* To add a new kind of warning, add an
-- *   if(_curl_is_sometype_option(_curl_opt))
-- *     if(!_curl_is_sometype(value))
-- *       _curl_easy_setopt_err_sometype();
-- * block and define _curl_is_sometype_option, _curl_is_sometype and
-- * _curl_easy_setopt_err_sometype below
-- *
-- * NOTE: We use two nested 'if' statements here instead of the && operator, in
-- *       order to work around gcc bug #32061.  It affects only gcc 4.3.x/4.4.x
-- *       when compiling with -Wlogical-op.
-- *
-- * To add an option that uses the same type as an existing option, you'll just
-- * need to extend the appropriate _curl_*_option macro
-- */
--#define curl_easy_setopt(handle, option, value)                               \
--__extension__ ({                                                              \
--  __typeof__(option) _curl_opt = option;                                     \
--  if(__builtin_constant_p(_curl_opt)) {                                       \
--    if(_curl_is_long_option(_curl_opt))                                       \
--      if(!_curl_is_long(value))                                               \
--        _curl_easy_setopt_err_long();                                         \
--    if(_curl_is_off_t_option(_curl_opt))                                      \
--      if(!_curl_is_off_t(value))                                              \
--        _curl_easy_setopt_err_curl_off_t();                                   \
--    if(_curl_is_string_option(_curl_opt))                                     \
--      if(!_curl_is_string(value))                                             \
--        _curl_easy_setopt_err_string();                                       \
--    if(_curl_is_write_cb_option(_curl_opt))                                   \
--      if(!_curl_is_write_cb(value))                                           \
--        _curl_easy_setopt_err_write_callback();                               \
--    if((_curl_opt) == CURLOPT_READFUNCTION)                                   \
--      if(!_curl_is_read_cb(value))                                            \
--        _curl_easy_setopt_err_read_cb();                                      \
--    if((_curl_opt) == CURLOPT_IOCTLFUNCTION)                                  \
--      if(!_curl_is_ioctl_cb(value))                                           \
--        _curl_easy_setopt_err_ioctl_cb();                                     \
--    if((_curl_opt) == CURLOPT_SOCKOPTFUNCTION)                                \
--      if(!_curl_is_sockopt_cb(value))                                         \
--        _curl_easy_setopt_err_sockopt_cb();                                   \
--    if((_curl_opt) == CURLOPT_OPENSOCKETFUNCTION)                             \
--      if(!_curl_is_opensocket_cb(value))                                      \
--        _curl_easy_setopt_err_opensocket_cb();                                \
--    if((_curl_opt) == CURLOPT_PROGRESSFUNCTION)                               \
--      if(!_curl_is_progress_cb(value))                                        \
--        _curl_easy_setopt_err_progress_cb();                                  \
--    if((_curl_opt) == CURLOPT_DEBUGFUNCTION)                                  \
--      if(!_curl_is_debug_cb(value))                                           \
--        _curl_easy_setopt_err_debug_cb();                                     \
--    if((_curl_opt) == CURLOPT_SSL_CTX_FUNCTION)                               \
--      if(!_curl_is_ssl_ctx_cb(value))                                         \
--        _curl_easy_setopt_err_ssl_ctx_cb();                                   \
--    if(_curl_is_conv_cb_option(_curl_opt))                                    \
--      if(!_curl_is_conv_cb(value))                                            \
--        _curl_easy_setopt_err_conv_cb();                                      \
--    if((_curl_opt) == CURLOPT_SEEKFUNCTION)                                   \
--      if(!_curl_is_seek_cb(value))                                            \
--        _curl_easy_setopt_err_seek_cb();                                      \
--    if(_curl_is_cb_data_option(_curl_opt))                                    \
--      if(!_curl_is_cb_data(value))                                            \
--        _curl_easy_setopt_err_cb_data();                                      \
--    if((_curl_opt) == CURLOPT_ERRORBUFFER)                                    \
--      if(!_curl_is_error_buffer(value))                                       \
--        _curl_easy_setopt_err_error_buffer();                                 \
--    if((_curl_opt) == CURLOPT_STDERR)                                         \
--      if(!_curl_is_FILE(value))                                               \
--        _curl_easy_setopt_err_FILE();                                         \
--    if(_curl_is_postfields_option(_curl_opt))                                 \
--      if(!_curl_is_postfields(value))                                         \
--        _curl_easy_setopt_err_postfields();                                   \
--    if((_curl_opt) == CURLOPT_HTTPPOST)                                       \
--      if(!_curl_is_arr((value), struct curl_httppost))                        \
--        _curl_easy_setopt_err_curl_httpost();                                 \
--    if(_curl_is_slist_option(_curl_opt))                                      \
--      if(!_curl_is_arr((value), struct curl_slist))                           \
--        _curl_easy_setopt_err_curl_slist();                                   \
--    if((_curl_opt) == CURLOPT_SHARE)                                          \
--      if(!_curl_is_ptr((value), CURLSH))                                      \
--        _curl_easy_setopt_err_CURLSH();                                       \
--  }                                                                           \
--  curl_easy_setopt(handle, _curl_opt, value);                                 \
--})
--
--/* wraps curl_easy_getinfo() with typechecking */
--/* FIXME: don't allow const pointers */
--#define curl_easy_getinfo(handle, info, arg)                                  \
--__extension__ ({                                                              \
--  __typeof__(info) _curl_info = info;                                        \
--  if(__builtin_constant_p(_curl_info)) {                                      \
--    if(_curl_is_string_info(_curl_info))                                      \
--      if(!_curl_is_arr((arg), char *))                                        \
--        _curl_easy_getinfo_err_string();                                      \
--    if(_curl_is_long_info(_curl_info))                                        \
--      if(!_curl_is_arr((arg), long))                                          \
--        _curl_easy_getinfo_err_long();                                        \
--    if(_curl_is_double_info(_curl_info))                                      \
--      if(!_curl_is_arr((arg), double))                                        \
--        _curl_easy_getinfo_err_double();                                      \
--    if(_curl_is_slist_info(_curl_info))                                       \
--      if(!_curl_is_arr((arg), struct curl_slist *))                           \
--        _curl_easy_getinfo_err_curl_slist();                                  \
--  }                                                                           \
--  curl_easy_getinfo(handle, _curl_info, arg);                                 \
--})
--
--/* TODO: typechecking for curl_share_setopt() and curl_multi_setopt(),
-- * for now just make sure that the functions are called with three
-- * arguments
-- */
--#define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param)
--#define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param)
--
--
--/* the actual warnings, triggered by calling the _curl_easy_setopt_err*
-- * functions */
--
--/* To define a new warning, use _CURL_WARNING(identifier, "message") */
--#define _CURL_WARNING(id, message)                                            \
--  static void __attribute__((__warning__(message)))                           \
--  __attribute__((__unused__)) __attribute__((__noinline__))                   \
--  id(void) { __asm__(""); }
--
--_CURL_WARNING(_curl_easy_setopt_err_long,
--  "curl_easy_setopt expects a long argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_curl_off_t,
--  "curl_easy_setopt expects a curl_off_t argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_string,
--              "curl_easy_setopt expects a "
--              "string ('char *' or char[]) argument for this option"
--  )
--_CURL_WARNING(_curl_easy_setopt_err_write_callback,
--  "curl_easy_setopt expects a curl_write_callback argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_read_cb,
--  "curl_easy_setopt expects a curl_read_callback argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_ioctl_cb,
--  "curl_easy_setopt expects a curl_ioctl_callback argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_sockopt_cb,
--  "curl_easy_setopt expects a curl_sockopt_callback argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_opensocket_cb,
--              "curl_easy_setopt expects a "
--              "curl_opensocket_callback argument for this option"
--  )
--_CURL_WARNING(_curl_easy_setopt_err_progress_cb,
--  "curl_easy_setopt expects a curl_progress_callback argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_debug_cb,
--  "curl_easy_setopt expects a curl_debug_callback argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_ssl_ctx_cb,
--  "curl_easy_setopt expects a curl_ssl_ctx_callback argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_conv_cb,
--  "curl_easy_setopt expects a curl_conv_callback argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_seek_cb,
--  "curl_easy_setopt expects a curl_seek_callback argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_cb_data,
--              "curl_easy_setopt expects a "
--              "private data pointer as argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_error_buffer,
--              "curl_easy_setopt expects a "
--              "char buffer of CURL_ERROR_SIZE as argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_FILE,
--  "curl_easy_setopt expects a 'FILE *' argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_postfields,
--  "curl_easy_setopt expects a 'void *' or 'char *' argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_curl_httpost,
--              "curl_easy_setopt expects a 'struct curl_httppost *' "
--              "argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_curl_slist,
--  "curl_easy_setopt expects a 'struct curl_slist *' argument for this option")
--_CURL_WARNING(_curl_easy_setopt_err_CURLSH,
--  "curl_easy_setopt expects a CURLSH* argument for this option")
--
--_CURL_WARNING(_curl_easy_getinfo_err_string,
--  "curl_easy_getinfo expects a pointer to 'char *' for this info")
--_CURL_WARNING(_curl_easy_getinfo_err_long,
--  "curl_easy_getinfo expects a pointer to long for this info")
--_CURL_WARNING(_curl_easy_getinfo_err_double,
--  "curl_easy_getinfo expects a pointer to double for this info")
--_CURL_WARNING(_curl_easy_getinfo_err_curl_slist,
--  "curl_easy_getinfo expects a pointer to 'struct curl_slist *' for this info")
--
--/* groups of curl_easy_setops options that take the same type of argument */
--
--/* To add a new option to one of the groups, just add
-- *   (option) == CURLOPT_SOMETHING
-- * to the or-expression. If the option takes a long or curl_off_t, you don't
-- * have to do anything
-- */
--
--/* evaluates to true if option takes a long argument */
--#define _curl_is_long_option(option)                                          \
--  (0 < (option) && (option) < CURLOPTTYPE_OBJECTPOINT)
--
--#define _curl_is_off_t_option(option)                                         \
--  ((option) > CURLOPTTYPE_OFF_T)
--
--/* evaluates to true if option takes a char* argument */
--#define _curl_is_string_option(option)                                        \
--  ((option) == CURLOPT_ABSTRACT_UNIX_SOCKET ||                                \
--   (option) == CURLOPT_ACCEPT_ENCODING ||                                     \
--   (option) == CURLOPT_CAINFO ||                                              \
--   (option) == CURLOPT_CAPATH ||                                              \
--   (option) == CURLOPT_COOKIE ||                                              \
--   (option) == CURLOPT_COOKIEFILE ||                                          \
--   (option) == CURLOPT_COOKIEJAR ||                                           \
--   (option) == CURLOPT_COOKIELIST ||                                          \
--   (option) == CURLOPT_CRLFILE ||                                             \
--   (option) == CURLOPT_CUSTOMREQUEST ||                                       \
--   (option) == CURLOPT_DEFAULT_PROTOCOL ||                                    \
--   (option) == CURLOPT_DNS_INTERFACE ||                                       \
--   (option) == CURLOPT_DNS_LOCAL_IP4 ||                                       \
--   (option) == CURLOPT_DNS_LOCAL_IP6 ||                                       \
--   (option) == CURLOPT_DNS_SERVERS ||                                         \
--   (option) == CURLOPT_EGDSOCKET ||                                           \
--   (option) == CURLOPT_FTPPORT ||                                             \
--   (option) == CURLOPT_FTP_ACCOUNT ||                                         \
--   (option) == CURLOPT_FTP_ALTERNATIVE_TO_USER ||                             \
--   (option) == CURLOPT_INTERFACE ||                                           \
--   (option) == CURLOPT_ISSUERCERT ||                                          \
--   (option) == CURLOPT_KEYPASSWD ||                                           \
--   (option) == CURLOPT_KRBLEVEL ||                                            \
--   (option) == CURLOPT_LOGIN_OPTIONS ||                                       \
--   (option) == CURLOPT_MAIL_AUTH ||                                           \
--   (option) == CURLOPT_MAIL_FROM ||                                           \
--   (option) == CURLOPT_NETRC_FILE ||                                          \
--   (option) == CURLOPT_NOPROXY ||                                             \
--   (option) == CURLOPT_PASSWORD ||                                            \
--   (option) == CURLOPT_PINNEDPUBLICKEY ||                                     \
--   (option) == CURLOPT_PROXY ||                                               \
--   (option) == CURLOPT_PROXYPASSWORD ||                                       \
--   (option) == CURLOPT_PROXYUSERNAME ||                                       \
--   (option) == CURLOPT_PROXYUSERPWD ||                                        \
--   (option) == CURLOPT_PROXY_SERVICE_NAME ||                                  \
--   (option) == CURLOPT_RANDOM_FILE ||                                         \
--   (option) == CURLOPT_RANGE ||                                               \
--   (option) == CURLOPT_REFERER ||                                             \
--   (option) == CURLOPT_RTSP_SESSION_ID ||                                     \
--   (option) == CURLOPT_RTSP_STREAM_URI ||                                     \
--   (option) == CURLOPT_RTSP_TRANSPORT ||                                      \
--   (option) == CURLOPT_SERVICE_NAME ||                                        \
--   (option) == CURLOPT_SOCKS5_GSSAPI_SERVICE ||                               \
--   (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 ||                             \
--   (option) == CURLOPT_SSH_KNOWNHOSTS ||                                      \
--   (option) == CURLOPT_SSH_PRIVATE_KEYFILE ||                                 \
--   (option) == CURLOPT_SSH_PUBLIC_KEYFILE ||                                  \
--   (option) == CURLOPT_SSLCERT ||                                             \
--   (option) == CURLOPT_SSLCERTTYPE ||                                         \
--   (option) == CURLOPT_SSLENGINE ||                                           \
--   (option) == CURLOPT_SSLKEY ||                                              \
--   (option) == CURLOPT_SSLKEYTYPE ||                                          \
--   (option) == CURLOPT_SSL_CIPHER_LIST ||                                     \
--   (option) == CURLOPT_TLSAUTH_PASSWORD ||                                    \
--   (option) == CURLOPT_TLSAUTH_TYPE ||                                        \
--   (option) == CURLOPT_TLSAUTH_USERNAME ||                                    \
--   (option) == CURLOPT_UNIX_SOCKET_PATH ||                                    \
--   (option) == CURLOPT_URL ||                                                 \
--   (option) == CURLOPT_USERAGENT ||                                           \
--   (option) == CURLOPT_USERNAME ||                                            \
--   (option) == CURLOPT_USERPWD ||                                             \
--   (option) == CURLOPT_XOAUTH2_BEARER ||                                      \
--   0)
--
--/* evaluates to true if option takes a curl_write_callback argument */
--#define _curl_is_write_cb_option(option)                                      \
--  ((option) == CURLOPT_HEADERFUNCTION ||                                      \
--   (option) == CURLOPT_WRITEFUNCTION)
--
--/* evaluates to true if option takes a curl_conv_callback argument */
--#define _curl_is_conv_cb_option(option)                                       \
--  ((option) == CURLOPT_CONV_TO_NETWORK_FUNCTION ||                            \
--   (option) == CURLOPT_CONV_FROM_NETWORK_FUNCTION ||                          \
--   (option) == CURLOPT_CONV_FROM_UTF8_FUNCTION)
--
--/* evaluates to true if option takes a data argument to pass to a callback */
--#define _curl_is_cb_data_option(option)                                       \
--  ((option) == CURLOPT_CHUNK_DATA ||                                          \
--   (option) == CURLOPT_CLOSESOCKETDATA ||                                     \
--   (option) == CURLOPT_DEBUGDATA ||                                           \
--   (option) == CURLOPT_FNMATCH_DATA ||                                        \
--   (option) == CURLOPT_HEADERDATA ||                                          \
--   (option) == CURLOPT_INTERLEAVEDATA ||                                      \
--   (option) == CURLOPT_IOCTLDATA ||                                           \
--   (option) == CURLOPT_OPENSOCKETDATA ||                                      \
--   (option) == CURLOPT_PRIVATE ||                                             \
--   (option) == CURLOPT_PROGRESSDATA ||                                        \
--   (option) == CURLOPT_READDATA ||                                            \
--   (option) == CURLOPT_SEEKDATA ||                                            \
--   (option) == CURLOPT_SOCKOPTDATA ||                                         \
--   (option) == CURLOPT_SSH_KEYDATA ||                                         \
--   (option) == CURLOPT_SSL_CTX_DATA ||                                        \
--   (option) == CURLOPT_WRITEDATA ||                                           \
--   0)
--
--/* evaluates to true if option takes a POST data argument (void* or char*) */
--#define _curl_is_postfields_option(option)                                    \
--  ((option) == CURLOPT_POSTFIELDS ||                                          \
--   (option) == CURLOPT_COPYPOSTFIELDS ||                                      \
--   0)
--
--/* evaluates to true if option takes a struct curl_slist * argument */
--#define _curl_is_slist_option(option)                                         \
--  ((option) == CURLOPT_HTTP200ALIASES ||                                      \
--   (option) == CURLOPT_HTTPHEADER ||                                          \
--   (option) == CURLOPT_MAIL_RCPT ||                                           \
--   (option) == CURLOPT_POSTQUOTE ||                                           \
--   (option) == CURLOPT_PREQUOTE ||                                            \
--   (option) == CURLOPT_PROXYHEADER ||                                         \
--   (option) == CURLOPT_QUOTE ||                                               \
--   (option) == CURLOPT_RESOLVE ||                                             \
--   (option) == CURLOPT_TELNETOPTIONS ||                                       \
--   0)
--
--/* groups of curl_easy_getinfo infos that take the same type of argument */
--
--/* evaluates to true if info expects a pointer to char * argument */
--#define _curl_is_string_info(info)                                            \
--  (CURLINFO_STRING < (info) && (info) < CURLINFO_LONG)
--
--/* evaluates to true if info expects a pointer to long argument */
--#define _curl_is_long_info(info)                                              \
--  (CURLINFO_LONG < (info) && (info) < CURLINFO_DOUBLE)
--
--/* evaluates to true if info expects a pointer to double argument */
--#define _curl_is_double_info(info)                                            \
--  (CURLINFO_DOUBLE < (info) && (info) < CURLINFO_SLIST)
--
--/* true if info expects a pointer to struct curl_slist * argument */
--#define _curl_is_slist_info(info)                                             \
--  (CURLINFO_SLIST < (info))
--
--
--/* typecheck helpers -- check whether given expression has requested type*/
--
--/* For pointers, you can use the _curl_is_ptr/_curl_is_arr macros,
-- * otherwise define a new macro. Search for __builtin_types_compatible_p
-- * in the GCC manual.
-- * NOTE: these macros MUST NOT EVALUATE their arguments! The argument is
-- * the actual expression passed to the curl_easy_setopt macro. This
-- * means that you can only apply the sizeof and __typeof__ operators, no
-- * == or whatsoever.
-- */
--
--/* XXX: should evaluate to true iff expr is a pointer */
--#define _curl_is_any_ptr(expr)                                                \
--  (sizeof(expr) == sizeof(void *))
--
--/* evaluates to true if expr is NULL */
--/* XXX: must not evaluate expr, so this check is not accurate */
--#define _curl_is_NULL(expr)                                                   \
--  (__builtin_types_compatible_p(__typeof__(expr), __typeof__(NULL)))
--
--/* evaluates to true if expr is type*, const type* or NULL */
--#define _curl_is_ptr(expr, type)                                              \
--  (_curl_is_NULL(expr) ||                                                     \
--   __builtin_types_compatible_p(__typeof__(expr), type *) ||                  \
--   __builtin_types_compatible_p(__typeof__(expr), const type *))
--
--/* evaluates to true if expr is one of type[], type*, NULL or const type* */
--#define _curl_is_arr(expr, type)                                              \
--  (_curl_is_ptr((expr), type) ||                                              \
--   __builtin_types_compatible_p(__typeof__(expr), type []))
--
--/* evaluates to true if expr is a string */
--#define _curl_is_string(expr)                                                 \
--  (_curl_is_arr((expr), char) ||                                              \
--   _curl_is_arr((expr), signed char) ||                                       \
--   _curl_is_arr((expr), unsigned char))
--
--/* evaluates to true if expr is a long (no matter the signedness)
-- * XXX: for now, int is also accepted (and therefore short and char, which
-- * are promoted to int when passed to a variadic function) */
--#define _curl_is_long(expr)                                                   \
--  (__builtin_types_compatible_p(__typeof__(expr), long) ||                    \
--   __builtin_types_compatible_p(__typeof__(expr), signed long) ||             \
--   __builtin_types_compatible_p(__typeof__(expr), unsigned long) ||           \
--   __builtin_types_compatible_p(__typeof__(expr), int) ||                     \
--   __builtin_types_compatible_p(__typeof__(expr), signed int) ||              \
--   __builtin_types_compatible_p(__typeof__(expr), unsigned int) ||            \
--   __builtin_types_compatible_p(__typeof__(expr), short) ||                   \
--   __builtin_types_compatible_p(__typeof__(expr), signed short) ||            \
--   __builtin_types_compatible_p(__typeof__(expr), unsigned short) ||          \
--   __builtin_types_compatible_p(__typeof__(expr), char) ||                    \
--   __builtin_types_compatible_p(__typeof__(expr), signed char) ||             \
--   __builtin_types_compatible_p(__typeof__(expr), unsigned char))
--
--/* evaluates to true if expr is of type curl_off_t */
--#define _curl_is_off_t(expr)                                                  \
--  (__builtin_types_compatible_p(__typeof__(expr), curl_off_t))
--
--/* evaluates to true if expr is abuffer suitable for CURLOPT_ERRORBUFFER */
--/* XXX: also check size of an char[] array? */
--#define _curl_is_error_buffer(expr)                                           \
--  (_curl_is_NULL(expr) ||                                                     \
--   __builtin_types_compatible_p(__typeof__(expr), char *) ||                  \
--   __builtin_types_compatible_p(__typeof__(expr), char[]))
--
--/* evaluates to true if expr is of type (const) void* or (const) FILE* */
--#if 0
--#define _curl_is_cb_data(expr)                                                \
--  (_curl_is_ptr((expr), void) ||                                              \
--   _curl_is_ptr((expr), FILE))
--#else /* be less strict */
--#define _curl_is_cb_data(expr)                                                \
--  _curl_is_any_ptr(expr)
--#endif
--
--/* evaluates to true if expr is of type FILE* */
--#define _curl_is_FILE(expr)                                                   \
--  (__builtin_types_compatible_p(__typeof__(expr), FILE *))
--
--/* evaluates to true if expr can be passed as POST data (void* or char*) */
--#define _curl_is_postfields(expr)                                             \
--  (_curl_is_ptr((expr), void) ||                                              \
--   _curl_is_arr((expr), char))
--
--/* FIXME: the whole callback checking is messy...
-- * The idea is to tolerate char vs. void and const vs. not const
-- * pointers in arguments at least
-- */
--/* helper: __builtin_types_compatible_p distinguishes between functions and
-- * function pointers, hide it */
--#define _curl_callback_compatible(func, type)                                 \
--  (__builtin_types_compatible_p(__typeof__(func), type) ||                    \
--   __builtin_types_compatible_p(__typeof__(func), type*))
--
--/* evaluates to true if expr is of type curl_read_callback or "similar" */
--#define _curl_is_read_cb(expr)                                          \
--  (_curl_is_NULL(expr) ||                                                     \
--   __builtin_types_compatible_p(__typeof__(expr), __typeof__(fread)) ||       \
--   __builtin_types_compatible_p(__typeof__(expr), curl_read_callback) ||      \
--   _curl_callback_compatible((expr), _curl_read_callback1) ||                 \
--   _curl_callback_compatible((expr), _curl_read_callback2) ||                 \
--   _curl_callback_compatible((expr), _curl_read_callback3) ||                 \
--   _curl_callback_compatible((expr), _curl_read_callback4) ||                 \
--   _curl_callback_compatible((expr), _curl_read_callback5) ||                 \
--   _curl_callback_compatible((expr), _curl_read_callback6))
--typedef size_t (_curl_read_callback1)(char *, size_t, size_t, void *);
--typedef size_t (_curl_read_callback2)(char *, size_t, size_t, const void *);
--typedef size_t (_curl_read_callback3)(char *, size_t, size_t, FILE *);
--typedef size_t (_curl_read_callback4)(void *, size_t, size_t, void *);
--typedef size_t (_curl_read_callback5)(void *, size_t, size_t, const void *);
--typedef size_t (_curl_read_callback6)(void *, size_t, size_t, FILE *);
--
--/* evaluates to true if expr is of type curl_write_callback or "similar" */
--#define _curl_is_write_cb(expr)                                               \
--  (_curl_is_read_cb(expr) ||                                            \
--   __builtin_types_compatible_p(__typeof__(expr), __typeof__(fwrite)) ||      \
--   __builtin_types_compatible_p(__typeof__(expr), curl_write_callback) ||     \
--   _curl_callback_compatible((expr), _curl_write_callback1) ||                \
--   _curl_callback_compatible((expr), _curl_write_callback2) ||                \
--   _curl_callback_compatible((expr), _curl_write_callback3) ||                \
--   _curl_callback_compatible((expr), _curl_write_callback4) ||                \
--   _curl_callback_compatible((expr), _curl_write_callback5) ||                \
--   _curl_callback_compatible((expr), _curl_write_callback6))
--typedef size_t (_curl_write_callback1)(const char *, size_t, size_t, void *);
--typedef size_t (_curl_write_callback2)(const char *, size_t, size_t,
--                                       const void *);
--typedef size_t (_curl_write_callback3)(const char *, size_t, size_t, FILE *);
--typedef size_t (_curl_write_callback4)(const void *, size_t, size_t, void *);
--typedef size_t (_curl_write_callback5)(const void *, size_t, size_t,
--                                       const void *);
--typedef size_t (_curl_write_callback6)(const void *, size_t, size_t, FILE *);
--
--/* evaluates to true if expr is of type curl_ioctl_callback or "similar" */
--#define _curl_is_ioctl_cb(expr)                                         \
--  (_curl_is_NULL(expr) ||                                                     \
--   __builtin_types_compatible_p(__typeof__(expr), curl_ioctl_callback) ||     \
--   _curl_callback_compatible((expr), _curl_ioctl_callback1) ||                \
--   _curl_callback_compatible((expr), _curl_ioctl_callback2) ||                \
--   _curl_callback_compatible((expr), _curl_ioctl_callback3) ||                \
--   _curl_callback_compatible((expr), _curl_ioctl_callback4))
--typedef curlioerr (_curl_ioctl_callback1)(CURL *, int, void *);
--typedef curlioerr (_curl_ioctl_callback2)(CURL *, int, const void *);
--typedef curlioerr (_curl_ioctl_callback3)(CURL *, curliocmd, void *);
--typedef curlioerr (_curl_ioctl_callback4)(CURL *, curliocmd, const void *);
--
--/* evaluates to true if expr is of type curl_sockopt_callback or "similar" */
--#define _curl_is_sockopt_cb(expr)                                       \
--  (_curl_is_NULL(expr) ||                                                     \
--   __builtin_types_compatible_p(__typeof__(expr), curl_sockopt_callback) ||   \
--   _curl_callback_compatible((expr), _curl_sockopt_callback1) ||              \
--   _curl_callback_compatible((expr), _curl_sockopt_callback2))
--typedef int (_curl_sockopt_callback1)(void *, curl_socket_t, curlsocktype);
--typedef int (_curl_sockopt_callback2)(const void *, curl_socket_t,
--                                      curlsocktype);
--
--/* evaluates to true if expr is of type curl_opensocket_callback or
--   "similar" */
--#define _curl_is_opensocket_cb(expr)                                    \
--  (_curl_is_NULL(expr) ||                                                     \
--   __builtin_types_compatible_p(__typeof__(expr), curl_opensocket_callback) ||\
--   _curl_callback_compatible((expr), _curl_opensocket_callback1) ||           \
--   _curl_callback_compatible((expr), _curl_opensocket_callback2) ||           \
--   _curl_callback_compatible((expr), _curl_opensocket_callback3) ||           \
--   _curl_callback_compatible((expr), _curl_opensocket_callback4))
--typedef curl_socket_t (_curl_opensocket_callback1)
--  (void *, curlsocktype, struct curl_sockaddr *);
--typedef curl_socket_t (_curl_opensocket_callback2)
--  (void *, curlsocktype, const struct curl_sockaddr *);
--typedef curl_socket_t (_curl_opensocket_callback3)
--  (const void *, curlsocktype, struct curl_sockaddr *);
--typedef curl_socket_t (_curl_opensocket_callback4)
--  (const void *, curlsocktype, const struct curl_sockaddr *);
--
--/* evaluates to true if expr is of type curl_progress_callback or "similar" */
--#define _curl_is_progress_cb(expr)                                      \
--  (_curl_is_NULL(expr) ||                                                     \
--   __builtin_types_compatible_p(__typeof__(expr), curl_progress_callback) ||  \
--   _curl_callback_compatible((expr), _curl_progress_callback1) ||             \
--   _curl_callback_compatible((expr), _curl_progress_callback2))
--typedef int (_curl_progress_callback1)(void *,
--    double, double, double, double);
--typedef int (_curl_progress_callback2)(const void *,
--    double, double, double, double);
--
--/* evaluates to true if expr is of type curl_debug_callback or "similar" */
--#define _curl_is_debug_cb(expr)                                         \
--  (_curl_is_NULL(expr) ||                                                     \
--   __builtin_types_compatible_p(__typeof__(expr), curl_debug_callback) ||     \
--   _curl_callback_compatible((expr), _curl_debug_callback1) ||                \
--   _curl_callback_compatible((expr), _curl_debug_callback2) ||                \
--   _curl_callback_compatible((expr), _curl_debug_callback3) ||                \
--   _curl_callback_compatible((expr), _curl_debug_callback4) ||                \
--   _curl_callback_compatible((expr), _curl_debug_callback5) ||                \
--   _curl_callback_compatible((expr), _curl_debug_callback6) ||                \
--   _curl_callback_compatible((expr), _curl_debug_callback7) ||                \
--   _curl_callback_compatible((expr), _curl_debug_callback8))
--typedef int (_curl_debug_callback1) (CURL *,
--    curl_infotype, char *, size_t, void *);
--typedef int (_curl_debug_callback2) (CURL *,
--    curl_infotype, char *, size_t, const void *);
--typedef int (_curl_debug_callback3) (CURL *,
--    curl_infotype, const char *, size_t, void *);
--typedef int (_curl_debug_callback4) (CURL *,
--    curl_infotype, const char *, size_t, const void *);
--typedef int (_curl_debug_callback5) (CURL *,
--    curl_infotype, unsigned char *, size_t, void *);
--typedef int (_curl_debug_callback6) (CURL *,
--    curl_infotype, unsigned char *, size_t, const void *);
--typedef int (_curl_debug_callback7) (CURL *,
--    curl_infotype, const unsigned char *, size_t, void *);
--typedef int (_curl_debug_callback8) (CURL *,
--    curl_infotype, const unsigned char *, size_t, const void *);
--
--/* evaluates to true if expr is of type curl_ssl_ctx_callback or "similar" */
--/* this is getting even messier... */
--#define _curl_is_ssl_ctx_cb(expr)                                       \
--  (_curl_is_NULL(expr) ||                                                     \
--   __builtin_types_compatible_p(__typeof__(expr), curl_ssl_ctx_callback) ||   \
--   _curl_callback_compatible((expr), _curl_ssl_ctx_callback1) ||              \
--   _curl_callback_compatible((expr), _curl_ssl_ctx_callback2) ||              \
--   _curl_callback_compatible((expr), _curl_ssl_ctx_callback3) ||              \
--   _curl_callback_compatible((expr), _curl_ssl_ctx_callback4) ||              \
--   _curl_callback_compatible((expr), _curl_ssl_ctx_callback5) ||              \
--   _curl_callback_compatible((expr), _curl_ssl_ctx_callback6) ||              \
--   _curl_callback_compatible((expr), _curl_ssl_ctx_callback7) ||              \
--   _curl_callback_compatible((expr), _curl_ssl_ctx_callback8))
--typedef CURLcode (_curl_ssl_ctx_callback1)(CURL *, void *, void *);
--typedef CURLcode (_curl_ssl_ctx_callback2)(CURL *, void *, const void *);
--typedef CURLcode (_curl_ssl_ctx_callback3)(CURL *, const void *, void *);
--typedef CURLcode (_curl_ssl_ctx_callback4)(CURL *, const void *, const void *);
--#ifdef HEADER_SSL_H
--/* hack: if we included OpenSSL's ssl.h, we know about SSL_CTX
-- * this will of course break if we're included before OpenSSL headers...
-- */
--typedef CURLcode (_curl_ssl_ctx_callback5)(CURL *, SSL_CTX, void *);
--typedef CURLcode (_curl_ssl_ctx_callback6)(CURL *, SSL_CTX, const void *);
--typedef CURLcode (_curl_ssl_ctx_callback7)(CURL *, const SSL_CTX, void *);
--typedef CURLcode (_curl_ssl_ctx_callback8)(CURL *, const SSL_CTX,
--                                           const void *);
--#else
--typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback5;
--typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback6;
--typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback7;
--typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback8;
--#endif
--
--/* evaluates to true if expr is of type curl_conv_callback or "similar" */
--#define _curl_is_conv_cb(expr)                                          \
--  (_curl_is_NULL(expr) ||                                                     \
--   __builtin_types_compatible_p(__typeof__(expr), curl_conv_callback) ||      \
--   _curl_callback_compatible((expr), _curl_conv_callback1) ||                 \
--   _curl_callback_compatible((expr), _curl_conv_callback2) ||                 \
--   _curl_callback_compatible((expr), _curl_conv_callback3) ||                 \
--   _curl_callback_compatible((expr), _curl_conv_callback4))
--typedef CURLcode (*_curl_conv_callback1)(char *, size_t length);
--typedef CURLcode (*_curl_conv_callback2)(const char *, size_t length);
--typedef CURLcode (*_curl_conv_callback3)(void *, size_t length);
--typedef CURLcode (*_curl_conv_callback4)(const void *, size_t length);
--
--/* evaluates to true if expr is of type curl_seek_callback or "similar" */
--#define _curl_is_seek_cb(expr)                                          \
--  (_curl_is_NULL(expr) ||                                                     \
--   __builtin_types_compatible_p(__typeof__(expr), curl_seek_callback) ||      \
--   _curl_callback_compatible((expr), _curl_seek_callback1) ||                 \
--   _curl_callback_compatible((expr), _curl_seek_callback2))
--typedef CURLcode (*_curl_seek_callback1)(void *, curl_off_t, int);
--typedef CURLcode (*_curl_seek_callback2)(const void *, curl_off_t, int);
--
--
--#endif /* __CURL_TYPECHECK_GCC_H */

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/ioquake3.git



More information about the Pkg-games-commits mailing list