public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/zpaqfranz] rawhide: 65.1 bump
@ 2026-09-21 12:19
0 siblings, 0 replies; only message in thread
From: @ 2026-09-21 12:19 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/zpaqfranz
Branch : rawhide
Commit : c66bc0b558b24722988234782fa0c796bf9550a5
Author : Petr Písař <ppisar@redhat.com>
Date : 2026-09-21T14:17:42+02:00
Stats : +2669/-2643 in 5 file(s)
URL : https://src.fedoraproject.org/rpms/zpaqfranz/c/c66bc0b558b24722988234782fa0c796bf9550a5?branch=rawhide
Log:
65.1 bump
---
diff --git a/.gitignore b/.gitignore
index 4e82cad..a9771db 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,4 @@
/zpaqfranz-64.6.tar.gz
/zpaqfranz-64.7.tar.gz
/zpaqfranz-64.8.tar.gz
+/zpaqfranz-65.1.tar.gz
diff --git a/sources b/sources
index b4f289c..d8bca7c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (zpaqfranz-64.8.tar.gz) = 99084cf75e3c28167a56b0100a498f96fb68370cd168b96f27e7b944482870cb68f68436e97400420216de4e5ba46df7697f8b631ce412d69ae1ac96a6337ed6
+SHA512 (zpaqfranz-65.1.tar.gz) = eb4bc71e93d1c4748c5917d0b9490e9915cea5c193119c866568cb8156f2d9a59d25c2e2c3768b7a04f220895b7a3afbd00522c70865260d968943ec2cc7165c
diff --git a/zpaqfranz-64.6-Unbundle-curl.h-and-load-curl-DSO-by-a-bare-file-nam.patch b/zpaqfranz-64.6-Unbundle-curl.h-and-load-curl-DSO-by-a-bare-file-nam.patch
deleted file mode 100644
index c2188a1..0000000
--- a/zpaqfranz-64.6-Unbundle-curl.h-and-load-curl-DSO-by-a-bare-file-nam.patch
+++ /dev/null
@@ -1,2638 +0,0 @@
-From 0b787b62a8193af62e551ea68f08ad171dce5509 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
-Date: Mon, 9 Mar 2026 16:38:57 +0100
-Subject: [PATCH] Unbundle curl.h and load curl DSO by a bare file name
-
-Fedora packages run-time curl library under libcurl.so.4 file name.
----
- zpaqfranz.cpp | 2570 +------------------------------------------------
- 1 file changed, 7 insertions(+), 2563 deletions(-)
-
-diff --git a/zpaqfranz.cpp b/zpaqfranz.cpp
-index 372ac5d..1c27f11 100644
---- a/zpaqfranz.cpp
-+++ b/zpaqfranz.cpp
-@@ -1148,23 +1148,6 @@ furnished to do so, subject to the following conditions:
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-
--24 [MIT-like] curl command line tool and library https://curl.se/
-- /// LICENSE_START.24
-- /// LICENSE_END.24
--COPYRIGHT AND PERMISSION NOTICE
--Copyright (c) 1996 - 2025, Daniel Stenberg, daniel@haxx.se, and many contributors, see the THANKS file.
--All rights reserved.
--Permission to use, copy, modify, and distribute this software for any purpose with or without fee
--is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
--THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
--TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
--IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
--WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
--OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--Except as contained in this notice, the name of a copyright holder shall not be used in advertising or
--otherwise to promote the sale, use or other dealings in this Software without prior written
--authorization of the copyright holder.
--
-
- _____ _____ ______ ______ _______ _____ _ _ _____ _____
- / ____| __ \| ____| ____|__ __|_ _| \ | |/ ____|/ ____|
-@@ -1534,10 +1517,10 @@ If you define -DSFTP during compilation, the program will dynamically use the
- libcurl library, if it is available.
- On Windows systems, this refers to the libcurl-x64.dll/libcurl.dll.
- This DLL can be downloaded from the author's website simply by running zpaqfranz sftp.
--For *nix systems, it is typically named libcurl.so (or something similar) and must be
-+For *nix systems, it is typically named libcurl.so.4 (or something similar) and must be
- installed manually, for example, using pkg add libcurl (on FreeBSD) or equivalent commands.
- If it cannot be made to work, zpaqfranz will return an error.
--On *nix systems, the location of libcurl.so might not be known: there are many different systems,
-+On *nix systems, the location of libcurl.so.4 might not be known: there are many different systems,
- and it can be found almost anywhere.
- Therefore, you need to ensure it is in the current path
-
-@@ -1778,7 +1761,7 @@ g++ -O3 zpaqfranz.cpp -o zpaqfranz -pthread
-
- #ifdef ZPAQFULL ///NOSFTPSTART
- Debian with SFTP and libcurl
--This gets a DYNAMIC LOADING of curl library: you must have (somewhere) a libcurl.so!
-+This gets a DYNAMIC LOADING of curl library: you must have (somewhere) a libcurl.so.4!
- g++ -O3 -DSFTP -DHWSHA2 zpaqfranz.cpp -o zpaqfranz -pthread -s -ldl -Wall -Wpedantic
-
- Making DLL on Windows (highly experimental)
-@@ -2059,2546 +2042,7 @@ g++ -g -Wall -Wextra -Wpedantic -fsanitize=address,undefined -O3 zpaqfranz.cpp -
- /// LICENSE_START.24
-
- #ifdef SFTP
--/***************************************************************************
-- * _ _ ____ _
-- * Project ___| | | | _ \| |
-- * / __| | | | |_) | |
-- * | (__| |_| | _ <| |___
-- * \___|\___/|_| \_\_____|
-- *
-- * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
-- *
-- * This software is licensed as described in the file COPYING, which
-- * you should have received as part of this distribution. The terms
-- * are also available at https://curl.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.
-- *
-- * SPDX-License-Identifier: curl
-- *
-- ***************************************************************************/
--
--/*
-- * If you have libcurl problems, all docs and details are found here:
-- * https://curl.se/libcurl/
-- */
--
--/// This is a bit reworked header
--
--#if (defined(__GNUC__) && \
-- ((__GNUC__ > 12) || ((__GNUC__ == 12) && (__GNUC_MINOR__ >= 1))) || \
-- (defined(__clang__) && __clang_major__ >= 3) || \
-- defined(__IAR_SYSTEMS_ICC__)) && \
-- !defined(__INTEL_COMPILER) && \
-- !defined(CURL_DISABLE_DEPRECATION) && !defined(BUILDING_LIBCURL)
--#define CURL_DEPRECATED(version, message) \
-- __attribute__((deprecated("since " # version ". " message)))
--#if defined(__IAR_SYSTEMS_ICC__)
--#define CURL_IGNORE_DEPRECATION(statements) \
-- _Pragma("diag_suppress=Pe1444") \
-- statements \
-- _Pragma("diag_default=Pe1444")
--#else
--#define CURL_IGNORE_DEPRECATION(statements) \
-- _Pragma("GCC diagnostic push") \
-- _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
-- statements \
-- _Pragma("GCC diagnostic pop")
--#endif
--#else
--#define CURL_DEPRECATED(version, message)
--#define CURL_IGNORE_DEPRECATION(statements) statements
--#endif
--#ifndef CURLINC_SYSTEM_H
--#define CURLINC_SYSTEM_H
--#if defined(__DJGPP__) || defined(__GO32__)
--# if defined(__DJGPP__) && (__DJGPP__ > 1)
--# define CURL_TYPEOF_CURL_OFF_T long long
--# define CURL_FORMAT_CURL_OFF_T "lld"
--# define CURL_FORMAT_CURL_OFF_TU "llu"
--# define CURL_SUFFIX_CURL_OFF_T LL
--# define CURL_SUFFIX_CURL_OFF_TU ULL
--# else
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# define CURL_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# endif
--# define CURL_TYPEOF_CURL_SOCKLEN_T int
--#elif defined(__SALFORDC__)
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# define CURL_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# define CURL_TYPEOF_CURL_SOCKLEN_T int
--#elif defined(__BORLANDC__)
--# if (__BORLANDC__ < 0x520)
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# define CURL_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# else
--# define CURL_TYPEOF_CURL_OFF_T __int64
--# define CURL_FORMAT_CURL_OFF_T "I64d"
--# define CURL_FORMAT_CURL_OFF_TU "I64u"
--# define CURL_SUFFIX_CURL_OFF_T i64
--# define CURL_SUFFIX_CURL_OFF_TU ui64
--# endif
--# define CURL_TYPEOF_CURL_SOCKLEN_T int
--#elif defined(__TURBOC__)
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# define CURL_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# define CURL_TYPEOF_CURL_SOCKLEN_T int
--#elif defined(__POCC__)
--# if (__POCC__ < 280)
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# define CURL_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# elif defined(_MSC_VER)
--# define CURL_TYPEOF_CURL_OFF_T __int64
--# define CURL_FORMAT_CURL_OFF_T "I64d"
--# define CURL_FORMAT_CURL_OFF_TU "I64u"
--# define CURL_SUFFIX_CURL_OFF_T i64
--# define CURL_SUFFIX_CURL_OFF_TU ui64
--# else
--# define CURL_TYPEOF_CURL_OFF_T long long
--# define CURL_FORMAT_CURL_OFF_T "lld"
--# define CURL_FORMAT_CURL_OFF_TU "llu"
--# define CURL_SUFFIX_CURL_OFF_T LL
--# define CURL_SUFFIX_CURL_OFF_TU ULL
--# endif
--# define CURL_TYPEOF_CURL_SOCKLEN_T int
--#elif defined(__LCC__)
--# if defined(__MCST__)
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# define CURL_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
--# define CURL_PULL_SYS_TYPES_H 1
--# define CURL_PULL_SYS_SOCKET_H 1
--# else
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# define CURL_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# define CURL_TYPEOF_CURL_SOCKLEN_T int
--# endif
--#elif defined(macintosh)
--# include <ConditionalMacros.h>
--# if TYPE_LONGLONG
--# define CURL_TYPEOF_CURL_OFF_T long long
--# define CURL_FORMAT_CURL_OFF_T "lld"
--# define CURL_FORMAT_CURL_OFF_TU "llu"
--# define CURL_SUFFIX_CURL_OFF_T LL
--# define CURL_SUFFIX_CURL_OFF_TU ULL
--# else
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# define CURL_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# endif
--# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
--#elif defined(__TANDEM)
--# if ! defined(__LP64)
--# define CURL_TYPEOF_CURL_OFF_T long long
--# define CURL_FORMAT_CURL_OFF_T "lld"
--# define CURL_FORMAT_CURL_OFF_TU "llu"
--# define CURL_SUFFIX_CURL_OFF_T LL
--# define CURL_SUFFIX_CURL_OFF_TU ULL
--# define CURL_TYPEOF_CURL_SOCKLEN_T int
--# endif
--#elif defined(_WIN32_WCE)
--# define CURL_TYPEOF_CURL_OFF_T __int64
--# define CURL_FORMAT_CURL_OFF_T "I64d"
--# define CURL_FORMAT_CURL_OFF_TU "I64u"
--# define CURL_SUFFIX_CURL_OFF_T i64
--# define CURL_SUFFIX_CURL_OFF_TU ui64
--# define CURL_TYPEOF_CURL_SOCKLEN_T int
--#elif defined(__MINGW32__)
--# include <inttypes.h>
--# define CURL_TYPEOF_CURL_OFF_T long long
--# define CURL_FORMAT_CURL_OFF_T PRId64
--# define CURL_FORMAT_CURL_OFF_TU PRIu64
--# define CURL_SUFFIX_CURL_OFF_T LL
--# define CURL_SUFFIX_CURL_OFF_TU ULL
--# define CURL_TYPEOF_CURL_SOCKLEN_T int
--# define CURL_PULL_SYS_TYPES_H 1
--#elif defined(__VMS)
--# if defined(__VAX)
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# define CURL_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# else
--# define CURL_TYPEOF_CURL_OFF_T long long
--# define CURL_FORMAT_CURL_OFF_T "lld"
--# define CURL_FORMAT_CURL_OFF_TU "llu"
--# define CURL_SUFFIX_CURL_OFF_T LL
--# define CURL_SUFFIX_CURL_OFF_TU ULL
--# endif
--# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
--#elif defined(__OS400__)
--# define CURL_TYPEOF_CURL_OFF_T long long
--# define CURL_FORMAT_CURL_OFF_T "lld"
--# define CURL_FORMAT_CURL_OFF_TU "llu"
--# define CURL_SUFFIX_CURL_OFF_T LL
--# define CURL_SUFFIX_CURL_OFF_TU ULL
--# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
--# define CURL_PULL_SYS_TYPES_H 1
--# define CURL_PULL_SYS_SOCKET_H 1
--#elif defined(__MVS__)
--# 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_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_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_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# endif
--# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
--# define CURL_PULL_SYS_TYPES_H 1
--# define CURL_PULL_SYS_SOCKET_H 1
--#elif defined(__370__)
--# if defined(__IBMC__) || defined(__IBMCPP__)
--# if defined(_ILP32)
--# elif defined(_LP64)
--# 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_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_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_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# endif
--# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
--# define CURL_PULL_SYS_TYPES_H 1
--# define CURL_PULL_SYS_SOCKET_H 1
--# endif
--#elif defined(TPF)
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# define CURL_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# define CURL_TYPEOF_CURL_SOCKLEN_T int
--#elif defined(__TINYC__)
--# define CURL_TYPEOF_CURL_OFF_T long long
--# define CURL_FORMAT_CURL_OFF_T "lld"
--# define CURL_FORMAT_CURL_OFF_TU "llu"
--# define CURL_SUFFIX_CURL_OFF_T LL
--# define CURL_SUFFIX_CURL_OFF_TU ULL
--# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
--# define CURL_PULL_SYS_TYPES_H 1
--# define CURL_PULL_SYS_SOCKET_H 1
--#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
--# if !defined(__LP64) && (defined(__ILP32) || \
-- defined(__i386) || \
-- defined(__sparcv8) || \
-- defined(__sparcv8plus))
--# define CURL_TYPEOF_CURL_OFF_T long long
--# define CURL_FORMAT_CURL_OFF_T "lld"
--# define CURL_FORMAT_CURL_OFF_TU "llu"
--# define CURL_SUFFIX_CURL_OFF_T LL
--# define CURL_SUFFIX_CURL_OFF_TU ULL
--# elif defined(__LP64) || \
-- defined(__amd64) || defined(__sparcv9)
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# 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_PULL_SYS_TYPES_H 1
--# define CURL_PULL_SYS_SOCKET_H 1
--#elif defined(__xlc__)
--# if !defined(_LP64)
--# define CURL_TYPEOF_CURL_OFF_T long long
--# define CURL_FORMAT_CURL_OFF_T "lld"
--# define CURL_FORMAT_CURL_OFF_TU "llu"
--# define CURL_SUFFIX_CURL_OFF_T LL
--# define CURL_SUFFIX_CURL_OFF_TU ULL
--# else
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# 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_PULL_SYS_TYPES_H 1
--# define CURL_PULL_SYS_SOCKET_H 1
--#elif defined(__hpux)
--# if !defined(_LP64)
--# define CURL_TYPEOF_CURL_OFF_T long long
--# define CURL_FORMAT_CURL_OFF_T "lld"
--# define CURL_FORMAT_CURL_OFF_TU "llu"
--# define CURL_SUFFIX_CURL_OFF_T LL
--# define CURL_SUFFIX_CURL_OFF_TU ULL
--# else
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# 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_PULL_SYS_TYPES_H 1
--# define CURL_PULL_SYS_SOCKET_H 1
--#elif defined(_MSC_VER)
--# if (_MSC_VER >= 1800)
--# include <inttypes.h>
--# define CURL_TYPEOF_CURL_OFF_T __int64
--# define CURL_FORMAT_CURL_OFF_T PRId64
--# define CURL_FORMAT_CURL_OFF_TU PRIu64
--# define CURL_SUFFIX_CURL_OFF_T i64
--# define CURL_SUFFIX_CURL_OFF_TU ui64
--# elif (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
--# define CURL_TYPEOF_CURL_OFF_T __int64
--# define CURL_FORMAT_CURL_OFF_T "I64d"
--# define CURL_FORMAT_CURL_OFF_TU "I64u"
--# define CURL_SUFFIX_CURL_OFF_T i64
--# define CURL_SUFFIX_CURL_OFF_TU ui64
--# else
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# define CURL_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# endif
--# define CURL_TYPEOF_CURL_SOCKLEN_T int
--#elif defined(__GNUC__) && !defined(_SCO_DS)
--# if !defined(__LP64__) && \
-- (defined(__ILP32__) || defined(__i386__) || defined(__hppa__) || \
-- defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || \
-- defined(__sparc__) || defined(__mips__) || defined(__sh__) || \
-- defined(__XTENSA__) || \
-- (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 4) || \
-- (defined(__LONG_MAX__) && __LONG_MAX__ == 2147483647L))
--# define CURL_TYPEOF_CURL_OFF_T long long
--# define CURL_FORMAT_CURL_OFF_T "lld"
--# define CURL_FORMAT_CURL_OFF_TU "llu"
--# define CURL_SUFFIX_CURL_OFF_T LL
--# define CURL_SUFFIX_CURL_OFF_TU ULL
--# elif defined(__LP64__) || \
-- defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) || \
-- defined(__e2k__) || \
-- (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 8) || \
-- (defined(__LONG_MAX__) && __LONG_MAX__ == 9223372036854775807L)
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# 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_PULL_SYS_TYPES_H 1
--# define CURL_PULL_SYS_SOCKET_H 1
--#else
--# define CURL_TYPEOF_CURL_OFF_T long
--# define CURL_FORMAT_CURL_OFF_T "ld"
--# define CURL_FORMAT_CURL_OFF_TU "lu"
--# define CURL_SUFFIX_CURL_OFF_T L
--# define CURL_SUFFIX_CURL_OFF_TU UL
--# define CURL_TYPEOF_CURL_SOCKLEN_T int
--#endif
--#ifdef _AIX
--#define CURL_PULL_SYS_POLL_H
--#endif
--#ifdef CURL_PULL_SYS_TYPES_H
--# include <sys/types.h>
--#endif
--#ifdef CURL_PULL_SYS_SOCKET_H
--# include <sys/socket.h>
--#endif
--#ifdef CURL_PULL_SYS_POLL_H
--# include <sys/poll.h>
--#endif
--#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
-- typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
--#endif
--#ifdef CURL_TYPEOF_CURL_OFF_T
-- typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
--#endif
--#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \
-- defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \
-- defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \
-- defined(__ILEC400__)
--#define CURL_ISOCPP
--#else
--#undef CURL_ISOCPP
--#endif
--#if defined(__BORLANDC__) && (__BORLANDC__ == 0x0551)
--# define CURLINC_OFF_T_C_HLPR2(x) x
--# define CURLINC_OFF_T_C_HLPR1(x) CURLINC_OFF_T_C_HLPR2(x)
--# define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \
-- CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_T)
--# define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \
-- CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_TU)
--#else
--# ifdef CURL_ISOCPP
--# define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val ## Suffix
--# else
--# define CURLINC_OFF_T_C_HLPR2(Val,Suffix) ValSuffix
--# endif
--# define CURLINC_OFF_T_C_HLPR1(Val,Suffix) CURLINC_OFF_T_C_HLPR2(Val,Suffix)
--# define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_T)
--# define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_TU)
--#endif
--#endif
--#include <stdio.h>
--#include <limits.h>
--#if defined(__FreeBSD__) || defined(__MidnightBSD__)
--#include <sys/param.h>
--#endif
--#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))
--#include <winsock2.h>
--#include <ws2tcpip.h>
--#endif
--#endif
--#if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \
-- defined(__minix) || defined(__INTEGRITY) || \
-- defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \
-- defined(__CYGWIN__) || defined(AMIGA) || defined(__NuttX__) || \
-- (defined(__FreeBSD_version) && (__FreeBSD_version < 800000)) || \
-- (defined(__MidnightBSD_version) && (__MidnightBSD_version < 100000)) || \
-- defined(__sun__) || defined(__serenity__) || defined(__vxworks__)
--#include <sys/select.h>
--#endif
--#if !defined(_WIN32) && !defined(_WIN32_WCE)
--#include <sys/socket.h>
--#endif
--#if !defined(_WIN32)
--#include <sys/time.h>
--#endif
--#ifndef __has_declspec_attribute
--# define __has_declspec_attribute(x) 0
--#endif
--typedef void CURL;
--typedef void CURLSH;
--#ifdef CURL_STATICLIB
--# define CURL_EXTERN
--#elif defined(_WIN32) || \
-- (__has_declspec_attribute(dllexport) && \
-- __has_declspec_attribute(dllimport))
--# 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
--#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
--typedef enum {
-- CURLSSLBACKEND_NONE = 0,
-- CURLSSLBACKEND_OPENSSL = 1,
-- CURLSSLBACKEND_GNUTLS = 2,
-- CURLSSLBACKEND_NSS CURL_DEPRECATED(8.3.0, "") = 3,
-- CURLSSLBACKEND_OBSOLETE4 = 4,
-- CURLSSLBACKEND_GSKIT CURL_DEPRECATED(8.3.0, "") = 5,
-- CURLSSLBACKEND_POLARSSL CURL_DEPRECATED(7.69.0, "") = 6,
-- CURLSSLBACKEND_WOLFSSL = 7,
-- CURLSSLBACKEND_SCHANNEL = 8,
-- CURLSSLBACKEND_SECURETRANSPORT = 9,
-- CURLSSLBACKEND_AXTLS CURL_DEPRECATED(7.61.0, "") = 10,
-- CURLSSLBACKEND_MBEDTLS = 11,
-- CURLSSLBACKEND_MESALINK CURL_DEPRECATED(7.82.0, "") = 12,
-- CURLSSLBACKEND_BEARSSL = 13,
-- CURLSSLBACKEND_RUSTLS = 14
--} curl_sslbackend;
--struct curl_httppost {
-- struct curl_httppost *next;
-- char *name;
-- long namelength;
-- char *contents;
-- long contentslength;
-- char *buffer;
-- long bufferlength;
-- char *contenttype;
-- struct curl_slist *contentheader;
-- struct curl_httppost *more;
-- long flags;
-- char *showfilename;
-- void *userp;
-- curl_off_t contentlen;
--};
--typedef int (*curl_progress_callback)(void *clientp,
-- double dltotal,
-- double dlnow,
-- double ultotal,
-- double ulnow);
--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
--#define CURL_MAX_READ_SIZE (10*1024*1024)
--#endif
--#ifndef CURL_MAX_WRITE_SIZE
--#define CURL_MAX_WRITE_SIZE 16384
--#endif
--#ifndef CURL_MAX_HTTP_HEADER
--#define CURL_MAX_HTTP_HEADER (100*1024)
--#endif
--typedef size_t (*curl_write_callback)(char *buffer,
-- size_t size,
-- size_t nitems,
-- void *outstream);
--typedef int (*curl_resolver_start_callback)(void *resolver_state,
-- void *reserved, void *userdata);
--typedef enum {
-- CURLFILETYPE_FILE = 0,
-- CURLFILETYPE_DIRECTORY,
-- CURLFILETYPE_SYMLINK,
-- CURLFILETYPE_DEVICE_BLOCK,
-- CURLFILETYPE_DEVICE_CHAR,
-- CURLFILETYPE_NAMEDPIPE,
-- CURLFILETYPE_SOCKET,
-- CURLFILETYPE_DOOR,
-- CURLFILETYPE_UNKNOWN
--} curlfiletype;
--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 {
-- char *time;
-- char *perm;
-- char *user;
-- char *group;
-- char *target;
-- } strings;
-- unsigned int flags;
-- char *b_data;
-- size_t b_size;
-- size_t b_used;
--};
--typedef long (*curl_chunk_bgn_callback)(const void *transfer_info,
-- void *ptr,
-- int remains);
--typedef long (*curl_chunk_end_callback)(void *ptr);
--typedef int (*curl_fnmatch_callback)(void *ptr,
-- const char *pattern,
-- const char *string);
--typedef int (*curl_seek_callback)(void *instream,
-- curl_off_t offset,
-- int origin);
--typedef size_t (*curl_read_callback)(char *buffer,
-- size_t size,
-- size_t nitems,
-- void *instream);
--typedef int (*curl_trailer_callback)(struct curl_slist **list,
-- void *userdata);
--typedef enum {
-- CURLSOCKTYPE_IPCXN,
-- CURLSOCKTYPE_ACCEPT,
-- CURLSOCKTYPE_LAST
--} curlsocktype;
--#define CURL_SOCKOPT_OK 0
--#define CURL_SOCKOPT_ERROR 1
--#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;
-- 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,
-- CURLIOE_UNKNOWNCMD,
-- CURLIOE_FAILRESTART,
-- CURLIOE_LAST
--} curlioerr;
--typedef enum {
-- CURLIOCMD_NOP,
-- CURLIOCMD_RESTARTREAD,
-- CURLIOCMD_LAST
--} curliocmd;
--typedef curlioerr (*curl_ioctl_callback)(CURL *handle,
-- int cmd,
-- void *clientp);
--#ifndef CURL_DID_MEMORY_FUNC_TYPEDEFS
--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
--typedef enum {
-- CURLINFO_TEXT = 0,
-- CURLINFO_HEADER_IN,
-- CURLINFO_HEADER_OUT,
-- CURLINFO_DATA_IN,
-- CURLINFO_DATA_OUT,
-- CURLINFO_SSL_DATA_IN,
-- CURLINFO_SSL_DATA_OUT,
-- CURLINFO_END
--} curl_infotype;
--typedef int (*curl_debug_callback)
-- (CURL *handle,
-- curl_infotype type,
-- char *data,
-- size_t size,
-- void *userptr);
--typedef int (*curl_prereq_callback)(void *clientp,
-- char *conn_primary_ip,
-- char *conn_local_ip,
-- int conn_primary_port,
-- int conn_local_port);
--typedef enum {
-- CURLE_OK = 0,
-- CURLE_UNSUPPORTED_PROTOCOL,
-- CURLE_FAILED_INIT,
-- CURLE_URL_MALFORMAT,
-- CURLE_NOT_BUILT_IN,
-- CURLE_COULDNT_RESOLVE_PROXY,
-- CURLE_COULDNT_RESOLVE_HOST,
-- CURLE_COULDNT_CONNECT,
-- CURLE_WEIRD_SERVER_REPLY,
-- CURLE_REMOTE_ACCESS_DENIED,
-- CURLE_FTP_ACCEPT_FAILED,
-- CURLE_FTP_WEIRD_PASS_REPLY,
-- CURLE_FTP_ACCEPT_TIMEOUT,
-- CURLE_FTP_WEIRD_PASV_REPLY,
-- CURLE_FTP_WEIRD_227_FORMAT,
-- CURLE_FTP_CANT_GET_HOST,
-- CURLE_HTTP2,
-- CURLE_FTP_COULDNT_SET_TYPE,
-- CURLE_PARTIAL_FILE,
-- CURLE_FTP_COULDNT_RETR_FILE,
-- CURLE_OBSOLETE20,
-- CURLE_QUOTE_ERROR,
-- CURLE_HTTP_RETURNED_ERROR,
-- CURLE_WRITE_ERROR,
-- CURLE_OBSOLETE24,
-- CURLE_UPLOAD_FAILED,
-- CURLE_READ_ERROR,
-- CURLE_OUT_OF_MEMORY,
-- CURLE_OPERATION_TIMEDOUT,
-- CURLE_OBSOLETE29,
-- CURLE_FTP_PORT_FAILED,
-- CURLE_FTP_COULDNT_USE_REST,
-- CURLE_OBSOLETE32,
-- CURLE_RANGE_ERROR,
-- CURLE_OBSOLETE34,
-- CURLE_SSL_CONNECT_ERROR,
-- CURLE_BAD_DOWNLOAD_RESUME,
-- CURLE_FILE_COULDNT_READ_FILE,
-- CURLE_LDAP_CANNOT_BIND,
-- CURLE_LDAP_SEARCH_FAILED,
-- CURLE_OBSOLETE40,
-- CURLE_OBSOLETE41,
-- CURLE_ABORTED_BY_CALLBACK,
-- CURLE_BAD_FUNCTION_ARGUMENT,
-- CURLE_OBSOLETE44,
-- CURLE_INTERFACE_FAILED,
-- CURLE_OBSOLETE46,
-- CURLE_TOO_MANY_REDIRECTS,
-- CURLE_UNKNOWN_OPTION,
-- CURLE_SETOPT_OPTION_SYNTAX,
-- CURLE_OBSOLETE50,
-- CURLE_OBSOLETE51,
-- CURLE_GOT_NOTHING,
-- CURLE_SSL_ENGINE_NOTFOUND,
-- CURLE_SSL_ENGINE_SETFAILED,
-- CURLE_SEND_ERROR,
-- CURLE_RECV_ERROR,
-- CURLE_OBSOLETE57,
-- CURLE_SSL_CERTPROBLEM,
-- CURLE_SSL_CIPHER,
-- CURLE_PEER_FAILED_VERIFICATION,
-- CURLE_BAD_CONTENT_ENCODING,
-- CURLE_OBSOLETE62,
-- CURLE_FILESIZE_EXCEEDED,
-- CURLE_USE_SSL_FAILED,
-- CURLE_SEND_FAIL_REWIND,
-- CURLE_SSL_ENGINE_INITFAILED,
-- CURLE_LOGIN_DENIED,
-- CURLE_TFTP_NOTFOUND,
-- CURLE_TFTP_PERM,
-- CURLE_REMOTE_DISK_FULL,
-- CURLE_TFTP_ILLEGAL,
-- CURLE_TFTP_UNKNOWNID,
-- CURLE_REMOTE_FILE_EXISTS,
-- CURLE_TFTP_NOSUCHUSER,
-- CURLE_OBSOLETE75,
-- CURLE_OBSOLETE76,
-- CURLE_SSL_CACERT_BADFILE,
-- CURLE_REMOTE_FILE_NOT_FOUND,
-- CURLE_SSH,
-- CURLE_SSL_SHUTDOWN_FAILED,
-- CURLE_AGAIN,
-- CURLE_SSL_CRL_BADFILE,
-- CURLE_SSL_ISSUER_ERROR,
-- CURLE_FTP_PRET_FAILED,
-- CURLE_RTSP_CSEQ_ERROR,
-- CURLE_RTSP_SESSION_ERROR,
-- CURLE_FTP_BAD_FILE_LIST,
-- CURLE_CHUNK_FAILED,
-- CURLE_NO_CONNECTION_AVAILABLE,
-- CURLE_SSL_PINNEDPUBKEYNOTMATCH,
-- CURLE_SSL_INVALIDCERTSTATUS,
-- CURLE_HTTP2_STREAM,
-- CURLE_RECURSIVE_API_CALL,
-- CURLE_AUTH_ERROR,
-- CURLE_HTTP3,
-- CURLE_QUIC_CONNECT_ERROR,
-- CURLE_PROXY,
-- CURLE_SSL_CLIENTCERT,
-- CURLE_UNRECOVERABLE_POLL,
-- CURLE_TOO_LARGE,
-- CURLE_ECH_REQUIRED,
-- CURL_LAST
--} CURLcode;
--typedef enum {
-- CURLPX_OK,
-- CURLPX_BAD_ADDRESS_TYPE,
-- CURLPX_BAD_VERSION,
-- CURLPX_CLOSED,
-- CURLPX_GSSAPI,
-- CURLPX_GSSAPI_PERMSG,
-- CURLPX_GSSAPI_PROTECTION,
-- CURLPX_IDENTD,
-- CURLPX_IDENTD_DIFFER,
-- CURLPX_LONG_HOSTNAME,
-- CURLPX_LONG_PASSWD,
-- CURLPX_LONG_USER,
-- CURLPX_NO_AUTH,
-- CURLPX_RECV_ADDRESS,
-- CURLPX_RECV_AUTH,
-- CURLPX_RECV_CONNECT,
-- CURLPX_RECV_REQACK,
-- CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED,
-- CURLPX_REPLY_COMMAND_NOT_SUPPORTED,
-- CURLPX_REPLY_CONNECTION_REFUSED,
-- CURLPX_REPLY_GENERAL_SERVER_FAILURE,
-- CURLPX_REPLY_HOST_UNREACHABLE,
-- CURLPX_REPLY_NETWORK_UNREACHABLE,
-- CURLPX_REPLY_NOT_ALLOWED,
-- CURLPX_REPLY_TTL_EXPIRED,
-- CURLPX_REPLY_UNASSIGNED,
-- CURLPX_REQUEST_FAILED,
-- CURLPX_RESOLVE_HOST,
-- CURLPX_SEND_AUTH,
-- CURLPX_SEND_CONNECT,
-- CURLPX_SEND_REQUEST,
-- CURLPX_UNKNOWN_FAIL,
-- CURLPX_UNKNOWN_MODE,
-- CURLPX_USER_REJECTED,
-- CURLPX_LAST
--} CURLproxycode;
--typedef CURLcode (*curl_conv_callback)(char *buffer, size_t length);
--typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl,
-- void *ssl_ctx,
-- void *userptr);
--typedef enum {
-- CURLPROXY_HTTP = 0,
-- CURLPROXY_HTTP_1_0 = 1,
-- CURLPROXY_HTTPS = 2,
-- CURLPROXY_HTTPS2 = 3,
-- CURLPROXY_SOCKS4 = 4,
-- CURLPROXY_SOCKS5 = 5,
-- CURLPROXY_SOCKS4A = 6,
-- CURLPROXY_SOCKS5_HOSTNAME = 7
--} curl_proxytype;
--#define CURLSSH_AUTH_ANY ~0
--#define CURLSSH_AUTH_NONE 0
--#define CURLSSH_AUTH_PUBLICKEY (1<<0)
--#define CURLSSH_AUTH_PASSWORD (1<<1)
--#define CURLSSH_AUTH_HOST (1<<2)
--#define CURLSSH_AUTH_KEYBOARD (1<<3)
--#define CURLSSH_AUTH_AGENT (1<<4)
--#define CURLSSH_AUTH_GSSAPI (1<<5)
--#define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY
--#define CURL_ERROR_SIZE 256
--enum curl_khtype {
-- CURLKHTYPE_UNKNOWN,
-- CURLKHTYPE_RSA1,
-- CURLKHTYPE_RSA,
-- CURLKHTYPE_DSS,
-- CURLKHTYPE_ECDSA,
-- CURLKHTYPE_ED25519
--};
--struct curl_khkey {
-- const char *key;
-- size_t len;
-- enum curl_khtype keytype;
--};
--enum curl_khstat {
-- CURLKHSTAT_FINE_ADD_TO_FILE,
-- CURLKHSTAT_FINE,
-- CURLKHSTAT_REJECT,
-- CURLKHSTAT_DEFER,
-- CURLKHSTAT_FINE_REPLACE,
-- CURLKHSTAT_LAST
--};
--enum curl_khmatch {
-- CURLKHMATCH_OK,
-- CURLKHMATCH_MISMATCH,
-- CURLKHMATCH_MISSING,
-- CURLKHMATCH_LAST
--};
--typedef int
-- (*curl_sshkeycallback) (CURL *easy,
-- const struct curl_khkey *knownkey,
-- const struct curl_khkey *foundkey,
-- enum curl_khmatch,
-- void *clientp);
--typedef int
-- (*curl_sshhostkeycallback) (void *clientp,
-- int keytype,
-- const char *key,
-- size_t keylen);
--typedef enum {
-- CURLUSESSL_NONE,
-- CURLUSESSL_TRY,
-- CURLUSESSL_CONTROL,
-- CURLUSESSL_ALL,
-- CURLUSESSL_LAST
--} curl_usessl;
--typedef enum {
-- CURLFTPSSL_CCC_NONE,
-- CURLFTPSSL_CCC_PASSIVE,
-- CURLFTPSSL_CCC_ACTIVE,
-- CURLFTPSSL_CCC_LAST
--} curl_ftpccc;
--typedef enum {
-- CURLFTPAUTH_DEFAULT,
-- CURLFTPAUTH_SSL,
-- CURLFTPAUTH_TLS,
-- CURLFTPAUTH_LAST
--} curl_ftpauth;
--typedef enum {
-- CURLFTP_CREATE_DIR_NONE,
-- CURLFTP_CREATE_DIR,
-- CURLFTP_CREATE_DIR_RETRY,
-- CURLFTP_CREATE_DIR_LAST
--} curl_ftpcreatedir;
--typedef enum {
-- CURLFTPMETHOD_DEFAULT,
-- CURLFTPMETHOD_MULTICWD,
-- CURLFTPMETHOD_NOCWD,
-- CURLFTPMETHOD_SINGLECWD,
-- CURLFTPMETHOD_LAST
--} curl_ftpmethod;
--struct curl_hstsentry {
-- char *name;
-- size_t namelen;
-- unsigned int includeSubDomains:1;
-- char expire[18];
--};
--struct curl_index {
-- size_t index;
-- size_t total;
--};
--typedef enum {
-- CURLSTS_OK,
-- CURLSTS_DONE,
-- CURLSTS_FAIL
--} CURLSTScode;
--typedef CURLSTScode (*curl_hstsread_callback)(CURL *easy,
-- struct curl_hstsentry *e,
-- void *userp);
--typedef CURLSTScode (*curl_hstswrite_callback)(CURL *easy,
-- struct curl_hstsentry *e,
-- struct curl_index *i,
-- void *userp);
--#define CURLOPTTYPE_LONG 0
--#define CURLOPTTYPE_OBJECTPOINT 10000
--#define CURLOPTTYPE_FUNCTIONPOINT 20000
--#define CURLOPTTYPE_OFF_T 30000
--#define CURLOPTTYPE_BLOB 40000
--#define CURLOPT(na,t,nu) na = t + nu
--#define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
--#define CURLOPTTYPE_STRINGPOINT CURLOPTTYPE_OBJECTPOINT
--#define CURLOPTTYPE_SLISTPOINT CURLOPTTYPE_OBJECTPOINT
--#define CURLOPTTYPE_CBPOINT CURLOPTTYPE_OBJECTPOINT
--#define CURLOPTTYPE_VALUES CURLOPTTYPE_LONG
--typedef enum {
-- CURLOPT(CURLOPT_WRITEDATA, CURLOPTTYPE_CBPOINT, 1),
-- CURLOPT(CURLOPT_URL, CURLOPTTYPE_STRINGPOINT, 2),
-- CURLOPT(CURLOPT_PORT, CURLOPTTYPE_LONG, 3),
-- CURLOPT(CURLOPT_PROXY, CURLOPTTYPE_STRINGPOINT, 4),
-- CURLOPT(CURLOPT_USERPWD, CURLOPTTYPE_STRINGPOINT, 5),
-- CURLOPT(CURLOPT_PROXYUSERPWD, CURLOPTTYPE_STRINGPOINT, 6),
-- CURLOPT(CURLOPT_RANGE, CURLOPTTYPE_STRINGPOINT, 7),
-- CURLOPT(CURLOPT_READDATA, CURLOPTTYPE_CBPOINT, 9),
-- CURLOPT(CURLOPT_ERRORBUFFER, CURLOPTTYPE_OBJECTPOINT, 10),
-- CURLOPT(CURLOPT_WRITEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 11),
-- CURLOPT(CURLOPT_READFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 12),
-- CURLOPT(CURLOPT_TIMEOUT, CURLOPTTYPE_LONG, 13),
-- CURLOPT(CURLOPT_INFILESIZE, CURLOPTTYPE_LONG, 14),
-- CURLOPT(CURLOPT_POSTFIELDS, CURLOPTTYPE_OBJECTPOINT, 15),
-- CURLOPT(CURLOPT_REFERER, CURLOPTTYPE_STRINGPOINT, 16),
-- CURLOPT(CURLOPT_FTPPORT, CURLOPTTYPE_STRINGPOINT, 17),
-- CURLOPT(CURLOPT_USERAGENT, CURLOPTTYPE_STRINGPOINT, 18),
-- CURLOPT(CURLOPT_LOW_SPEED_LIMIT, CURLOPTTYPE_LONG, 19),
-- CURLOPT(CURLOPT_LOW_SPEED_TIME, CURLOPTTYPE_LONG, 20),
-- CURLOPT(CURLOPT_RESUME_FROM, CURLOPTTYPE_LONG, 21),
-- CURLOPT(CURLOPT_COOKIE, CURLOPTTYPE_STRINGPOINT, 22),
-- CURLOPT(CURLOPT_HTTPHEADER, CURLOPTTYPE_SLISTPOINT, 23),
-- CURLOPTDEPRECATED(CURLOPT_HTTPPOST, CURLOPTTYPE_OBJECTPOINT, 24,
-- 7.56.0, "Use CURLOPT_MIMEPOST"),
-- CURLOPT(CURLOPT_SSLCERT, CURLOPTTYPE_STRINGPOINT, 25),
-- CURLOPT(CURLOPT_KEYPASSWD, CURLOPTTYPE_STRINGPOINT, 26),
-- CURLOPT(CURLOPT_CRLF, CURLOPTTYPE_LONG, 27),
-- CURLOPT(CURLOPT_QUOTE, CURLOPTTYPE_SLISTPOINT, 28),
-- CURLOPT(CURLOPT_HEADERDATA, CURLOPTTYPE_CBPOINT, 29),
-- CURLOPT(CURLOPT_COOKIEFILE, CURLOPTTYPE_STRINGPOINT, 31),
-- CURLOPT(CURLOPT_SSLVERSION, CURLOPTTYPE_VALUES, 32),
-- CURLOPT(CURLOPT_TIMECONDITION, CURLOPTTYPE_VALUES, 33),
-- CURLOPT(CURLOPT_TIMEVALUE, CURLOPTTYPE_LONG, 34),
-- CURLOPT(CURLOPT_CUSTOMREQUEST, CURLOPTTYPE_STRINGPOINT, 36),
-- CURLOPT(CURLOPT_STDERR, CURLOPTTYPE_OBJECTPOINT, 37),
-- CURLOPT(CURLOPT_POSTQUOTE, CURLOPTTYPE_SLISTPOINT, 39),
-- CURLOPT(CURLOPT_VERBOSE, CURLOPTTYPE_LONG, 41),
-- CURLOPT(CURLOPT_HEADER, CURLOPTTYPE_LONG, 42),
-- CURLOPT(CURLOPT_NOPROGRESS, CURLOPTTYPE_LONG, 43),
-- CURLOPT(CURLOPT_NOBODY, CURLOPTTYPE_LONG, 44),
-- CURLOPT(CURLOPT_FAILONERROR, CURLOPTTYPE_LONG, 45),
-- CURLOPT(CURLOPT_UPLOAD, CURLOPTTYPE_LONG, 46),
-- CURLOPT(CURLOPT_POST, CURLOPTTYPE_LONG, 47),
-- CURLOPT(CURLOPT_DIRLISTONLY, CURLOPTTYPE_LONG, 48),
-- CURLOPT(CURLOPT_APPEND, CURLOPTTYPE_LONG, 50),
-- CURLOPT(CURLOPT_NETRC, CURLOPTTYPE_VALUES, 51),
-- CURLOPT(CURLOPT_FOLLOWLOCATION, CURLOPTTYPE_LONG, 52),
-- CURLOPT(CURLOPT_TRANSFERTEXT, CURLOPTTYPE_LONG, 53),
-- CURLOPTDEPRECATED(CURLOPT_PUT, CURLOPTTYPE_LONG, 54,
-- 7.12.1, "Use CURLOPT_UPLOAD"),
-- CURLOPTDEPRECATED(CURLOPT_PROGRESSFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 56,
-- 7.32.0, "Use CURLOPT_XFERINFOFUNCTION"),
-- CURLOPT(CURLOPT_XFERINFODATA, CURLOPTTYPE_CBPOINT, 57),
--#define CURLOPT_PROGRESSDATA CURLOPT_XFERINFODATA
-- CURLOPT(CURLOPT_AUTOREFERER, CURLOPTTYPE_LONG, 58),
-- CURLOPT(CURLOPT_PROXYPORT, CURLOPTTYPE_LONG, 59),
-- CURLOPT(CURLOPT_POSTFIELDSIZE, CURLOPTTYPE_LONG, 60),
-- CURLOPT(CURLOPT_HTTPPROXYTUNNEL, CURLOPTTYPE_LONG, 61),
-- CURLOPT(CURLOPT_INTERFACE, CURLOPTTYPE_STRINGPOINT, 62),
-- CURLOPT(CURLOPT_KRBLEVEL, CURLOPTTYPE_STRINGPOINT, 63),
-- CURLOPT(CURLOPT_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 64),
-- CURLOPT(CURLOPT_CAINFO, CURLOPTTYPE_STRINGPOINT, 65),
-- CURLOPT(CURLOPT_MAXREDIRS, CURLOPTTYPE_LONG, 68),
-- CURLOPT(CURLOPT_FILETIME, CURLOPTTYPE_LONG, 69),
-- CURLOPT(CURLOPT_TELNETOPTIONS, CURLOPTTYPE_SLISTPOINT, 70),
-- CURLOPT(CURLOPT_MAXCONNECTS, CURLOPTTYPE_LONG, 71),
-- CURLOPT(CURLOPT_FRESH_CONNECT, CURLOPTTYPE_LONG, 74),
-- CURLOPT(CURLOPT_FORBID_REUSE, CURLOPTTYPE_LONG, 75),
-- CURLOPTDEPRECATED(CURLOPT_RANDOM_FILE, CURLOPTTYPE_STRINGPOINT, 76,
-- 7.84.0, "Serves no purpose anymore"),
-- CURLOPTDEPRECATED(CURLOPT_EGDSOCKET, CURLOPTTYPE_STRINGPOINT, 77,
-- 7.84.0, "Serves no purpose anymore"),
-- CURLOPT(CURLOPT_CONNECTTIMEOUT, CURLOPTTYPE_LONG, 78),
-- CURLOPT(CURLOPT_HEADERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 79),
-- CURLOPT(CURLOPT_HTTPGET, CURLOPTTYPE_LONG, 80),
-- CURLOPT(CURLOPT_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 81),
-- CURLOPT(CURLOPT_COOKIEJAR, CURLOPTTYPE_STRINGPOINT, 82),
-- CURLOPT(CURLOPT_SSL_CIPHER_LIST, CURLOPTTYPE_STRINGPOINT, 83),
-- CURLOPT(CURLOPT_HTTP_VERSION, CURLOPTTYPE_VALUES, 84),
-- CURLOPT(CURLOPT_FTP_USE_EPSV, CURLOPTTYPE_LONG, 85),
-- CURLOPT(CURLOPT_SSLCERTTYPE, CURLOPTTYPE_STRINGPOINT, 86),
-- CURLOPT(CURLOPT_SSLKEY, CURLOPTTYPE_STRINGPOINT, 87),
-- CURLOPT(CURLOPT_SSLKEYTYPE, CURLOPTTYPE_STRINGPOINT, 88),
-- CURLOPT(CURLOPT_SSLENGINE, CURLOPTTYPE_STRINGPOINT, 89),
-- CURLOPT(CURLOPT_SSLENGINE_DEFAULT, CURLOPTTYPE_LONG, 90),
-- CURLOPTDEPRECATED(CURLOPT_DNS_USE_GLOBAL_CACHE, CURLOPTTYPE_LONG, 91,
-- 7.11.1, "Use CURLOPT_SHARE"),
-- CURLOPT(CURLOPT_DNS_CACHE_TIMEOUT, CURLOPTTYPE_LONG, 92),
-- CURLOPT(CURLOPT_PREQUOTE, CURLOPTTYPE_SLISTPOINT, 93),
-- CURLOPT(CURLOPT_DEBUGFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 94),
-- CURLOPT(CURLOPT_DEBUGDATA, CURLOPTTYPE_CBPOINT, 95),
-- CURLOPT(CURLOPT_COOKIESESSION, CURLOPTTYPE_LONG, 96),
-- CURLOPT(CURLOPT_CAPATH, CURLOPTTYPE_STRINGPOINT, 97),
-- CURLOPT(CURLOPT_BUFFERSIZE, CURLOPTTYPE_LONG, 98),
-- CURLOPT(CURLOPT_NOSIGNAL, CURLOPTTYPE_LONG, 99),
-- CURLOPT(CURLOPT_SHARE, CURLOPTTYPE_OBJECTPOINT, 100),
-- CURLOPT(CURLOPT_PROXYTYPE, CURLOPTTYPE_VALUES, 101),
-- CURLOPT(CURLOPT_ACCEPT_ENCODING, CURLOPTTYPE_STRINGPOINT, 102),
-- CURLOPT(CURLOPT_PRIVATE, CURLOPTTYPE_OBJECTPOINT, 103),
-- CURLOPT(CURLOPT_HTTP200ALIASES, CURLOPTTYPE_SLISTPOINT, 104),
-- CURLOPT(CURLOPT_UNRESTRICTED_AUTH, CURLOPTTYPE_LONG, 105),
-- CURLOPT(CURLOPT_FTP_USE_EPRT, CURLOPTTYPE_LONG, 106),
-- CURLOPT(CURLOPT_HTTPAUTH, CURLOPTTYPE_VALUES, 107),
-- CURLOPT(CURLOPT_SSL_CTX_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 108),
-- CURLOPT(CURLOPT_SSL_CTX_DATA, CURLOPTTYPE_CBPOINT, 109),
-- CURLOPT(CURLOPT_FTP_CREATE_MISSING_DIRS, CURLOPTTYPE_LONG, 110),
-- CURLOPT(CURLOPT_PROXYAUTH, CURLOPTTYPE_VALUES, 111),
-- CURLOPT(CURLOPT_SERVER_RESPONSE_TIMEOUT, CURLOPTTYPE_LONG, 112),
-- CURLOPT(CURLOPT_IPRESOLVE, CURLOPTTYPE_VALUES, 113),
-- CURLOPT(CURLOPT_MAXFILESIZE, CURLOPTTYPE_LONG, 114),
-- CURLOPT(CURLOPT_INFILESIZE_LARGE, CURLOPTTYPE_OFF_T, 115),
-- CURLOPT(CURLOPT_RESUME_FROM_LARGE, CURLOPTTYPE_OFF_T, 116),
-- CURLOPT(CURLOPT_MAXFILESIZE_LARGE, CURLOPTTYPE_OFF_T, 117),
-- CURLOPT(CURLOPT_NETRC_FILE, CURLOPTTYPE_STRINGPOINT, 118),
-- CURLOPT(CURLOPT_USE_SSL, CURLOPTTYPE_VALUES, 119),
-- CURLOPT(CURLOPT_POSTFIELDSIZE_LARGE, CURLOPTTYPE_OFF_T, 120),
-- CURLOPT(CURLOPT_TCP_NODELAY, CURLOPTTYPE_LONG, 121),
-- CURLOPT(CURLOPT_FTPSSLAUTH, CURLOPTTYPE_VALUES, 129),
-- CURLOPTDEPRECATED(CURLOPT_IOCTLFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 130,
-- 7.18.0, "Use CURLOPT_SEEKFUNCTION"),
-- CURLOPTDEPRECATED(CURLOPT_IOCTLDATA, CURLOPTTYPE_CBPOINT, 131,
-- 7.18.0, "Use CURLOPT_SEEKDATA"),
-- CURLOPT(CURLOPT_FTP_ACCOUNT, CURLOPTTYPE_STRINGPOINT, 134),
-- CURLOPT(CURLOPT_COOKIELIST, CURLOPTTYPE_STRINGPOINT, 135),
-- CURLOPT(CURLOPT_IGNORE_CONTENT_LENGTH, CURLOPTTYPE_LONG, 136),
-- CURLOPT(CURLOPT_FTP_SKIP_PASV_IP, CURLOPTTYPE_LONG, 137),
-- CURLOPT(CURLOPT_FTP_FILEMETHOD, CURLOPTTYPE_VALUES, 138),
-- CURLOPT(CURLOPT_LOCALPORT, CURLOPTTYPE_LONG, 139),
-- CURLOPT(CURLOPT_LOCALPORTRANGE, CURLOPTTYPE_LONG, 140),
-- CURLOPT(CURLOPT_CONNECT_ONLY, CURLOPTTYPE_LONG, 141),
-- CURLOPTDEPRECATED(CURLOPT_CONV_FROM_NETWORK_FUNCTION,
-- CURLOPTTYPE_FUNCTIONPOINT, 142,
-- 7.82.0, "Serves no purpose anymore"),
-- CURLOPTDEPRECATED(CURLOPT_CONV_TO_NETWORK_FUNCTION,
-- CURLOPTTYPE_FUNCTIONPOINT, 143,
-- 7.82.0, "Serves no purpose anymore"),
-- CURLOPTDEPRECATED(CURLOPT_CONV_FROM_UTF8_FUNCTION,
-- CURLOPTTYPE_FUNCTIONPOINT, 144,
-- 7.82.0, "Serves no purpose anymore"),
-- CURLOPT(CURLOPT_MAX_SEND_SPEED_LARGE, CURLOPTTYPE_OFF_T, 145),
-- CURLOPT(CURLOPT_MAX_RECV_SPEED_LARGE, CURLOPTTYPE_OFF_T, 146),
-- CURLOPT(CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPTTYPE_STRINGPOINT, 147),
-- CURLOPT(CURLOPT_SOCKOPTFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 148),
-- CURLOPT(CURLOPT_SOCKOPTDATA, CURLOPTTYPE_CBPOINT, 149),
-- CURLOPT(CURLOPT_SSL_SESSIONID_CACHE, CURLOPTTYPE_LONG, 150),
-- CURLOPT(CURLOPT_SSH_AUTH_TYPES, CURLOPTTYPE_VALUES, 151),
-- CURLOPT(CURLOPT_SSH_PUBLIC_KEYFILE, CURLOPTTYPE_STRINGPOINT, 152),
-- CURLOPT(CURLOPT_SSH_PRIVATE_KEYFILE, CURLOPTTYPE_STRINGPOINT, 153),
-- CURLOPT(CURLOPT_FTP_SSL_CCC, CURLOPTTYPE_LONG, 154),
-- CURLOPT(CURLOPT_TIMEOUT_MS, CURLOPTTYPE_LONG, 155),
-- CURLOPT(CURLOPT_CONNECTTIMEOUT_MS, CURLOPTTYPE_LONG, 156),
-- CURLOPT(CURLOPT_HTTP_TRANSFER_DECODING, CURLOPTTYPE_LONG, 157),
-- CURLOPT(CURLOPT_HTTP_CONTENT_DECODING, CURLOPTTYPE_LONG, 158),
-- CURLOPT(CURLOPT_NEW_FILE_PERMS, CURLOPTTYPE_LONG, 159),
-- CURLOPT(CURLOPT_NEW_DIRECTORY_PERMS, CURLOPTTYPE_LONG, 160),
-- CURLOPT(CURLOPT_POSTREDIR, CURLOPTTYPE_VALUES, 161),
-- CURLOPT(CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, CURLOPTTYPE_STRINGPOINT, 162),
-- CURLOPT(CURLOPT_OPENSOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 163),
-- CURLOPT(CURLOPT_OPENSOCKETDATA, CURLOPTTYPE_CBPOINT, 164),
-- CURLOPT(CURLOPT_COPYPOSTFIELDS, CURLOPTTYPE_OBJECTPOINT, 165),
-- CURLOPT(CURLOPT_PROXY_TRANSFER_MODE, CURLOPTTYPE_LONG, 166),
-- CURLOPT(CURLOPT_SEEKFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 167),
-- CURLOPT(CURLOPT_SEEKDATA, CURLOPTTYPE_CBPOINT, 168),
-- CURLOPT(CURLOPT_CRLFILE, CURLOPTTYPE_STRINGPOINT, 169),
-- CURLOPT(CURLOPT_ISSUERCERT, CURLOPTTYPE_STRINGPOINT, 170),
-- CURLOPT(CURLOPT_ADDRESS_SCOPE, CURLOPTTYPE_LONG, 171),
-- CURLOPT(CURLOPT_CERTINFO, CURLOPTTYPE_LONG, 172),
-- CURLOPT(CURLOPT_USERNAME, CURLOPTTYPE_STRINGPOINT, 173),
-- CURLOPT(CURLOPT_PASSWORD, CURLOPTTYPE_STRINGPOINT, 174),
-- CURLOPT(CURLOPT_PROXYUSERNAME, CURLOPTTYPE_STRINGPOINT, 175),
-- CURLOPT(CURLOPT_PROXYPASSWORD, CURLOPTTYPE_STRINGPOINT, 176),
-- CURLOPT(CURLOPT_NOPROXY, CURLOPTTYPE_STRINGPOINT, 177),
-- CURLOPT(CURLOPT_TFTP_BLKSIZE, CURLOPTTYPE_LONG, 178),
-- CURLOPTDEPRECATED(CURLOPT_SOCKS5_GSSAPI_SERVICE,
-- CURLOPTTYPE_STRINGPOINT, 179,
-- 7.49.0, "Use CURLOPT_PROXY_SERVICE_NAME"),
-- CURLOPT(CURLOPT_SOCKS5_GSSAPI_NEC, CURLOPTTYPE_LONG, 180),
-- CURLOPTDEPRECATED(CURLOPT_PROTOCOLS, CURLOPTTYPE_LONG, 181,
-- 7.85.0, "Use CURLOPT_PROTOCOLS_STR"),
-- CURLOPTDEPRECATED(CURLOPT_REDIR_PROTOCOLS, CURLOPTTYPE_LONG, 182,
-- 7.85.0, "Use CURLOPT_REDIR_PROTOCOLS_STR"),
-- CURLOPT(CURLOPT_SSH_KNOWNHOSTS, CURLOPTTYPE_STRINGPOINT, 183),
-- CURLOPT(CURLOPT_SSH_KEYFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 184),
-- CURLOPT(CURLOPT_SSH_KEYDATA, CURLOPTTYPE_CBPOINT, 185),
-- CURLOPT(CURLOPT_MAIL_FROM, CURLOPTTYPE_STRINGPOINT, 186),
-- CURLOPT(CURLOPT_MAIL_RCPT, CURLOPTTYPE_SLISTPOINT, 187),
-- CURLOPT(CURLOPT_FTP_USE_PRET, CURLOPTTYPE_LONG, 188),
-- CURLOPT(CURLOPT_RTSP_REQUEST, CURLOPTTYPE_VALUES, 189),
-- CURLOPT(CURLOPT_RTSP_SESSION_ID, CURLOPTTYPE_STRINGPOINT, 190),
-- CURLOPT(CURLOPT_RTSP_STREAM_URI, CURLOPTTYPE_STRINGPOINT, 191),
-- CURLOPT(CURLOPT_RTSP_TRANSPORT, CURLOPTTYPE_STRINGPOINT, 192),
-- CURLOPT(CURLOPT_RTSP_CLIENT_CSEQ, CURLOPTTYPE_LONG, 193),
-- CURLOPT(CURLOPT_RTSP_SERVER_CSEQ, CURLOPTTYPE_LONG, 194),
-- CURLOPT(CURLOPT_INTERLEAVEDATA, CURLOPTTYPE_CBPOINT, 195),
-- CURLOPT(CURLOPT_INTERLEAVEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 196),
-- CURLOPT(CURLOPT_WILDCARDMATCH, CURLOPTTYPE_LONG, 197),
-- CURLOPT(CURLOPT_CHUNK_BGN_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 198),
-- CURLOPT(CURLOPT_CHUNK_END_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 199),
-- CURLOPT(CURLOPT_FNMATCH_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 200),
-- CURLOPT(CURLOPT_CHUNK_DATA, CURLOPTTYPE_CBPOINT, 201),
-- CURLOPT(CURLOPT_FNMATCH_DATA, CURLOPTTYPE_CBPOINT, 202),
-- CURLOPT(CURLOPT_RESOLVE, CURLOPTTYPE_SLISTPOINT, 203),
-- CURLOPT(CURLOPT_TLSAUTH_USERNAME, CURLOPTTYPE_STRINGPOINT, 204),
-- CURLOPT(CURLOPT_TLSAUTH_PASSWORD, CURLOPTTYPE_STRINGPOINT, 205),
-- CURLOPT(CURLOPT_TLSAUTH_TYPE, CURLOPTTYPE_STRINGPOINT, 206),
-- CURLOPT(CURLOPT_TRANSFER_ENCODING, CURLOPTTYPE_LONG, 207),
-- CURLOPT(CURLOPT_CLOSESOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 208),
-- CURLOPT(CURLOPT_CLOSESOCKETDATA, CURLOPTTYPE_CBPOINT, 209),
-- CURLOPT(CURLOPT_GSSAPI_DELEGATION, CURLOPTTYPE_VALUES, 210),
-- CURLOPT(CURLOPT_DNS_SERVERS, CURLOPTTYPE_STRINGPOINT, 211),
-- CURLOPT(CURLOPT_ACCEPTTIMEOUT_MS, CURLOPTTYPE_LONG, 212),
-- CURLOPT(CURLOPT_TCP_KEEPALIVE, CURLOPTTYPE_LONG, 213),
-- CURLOPT(CURLOPT_TCP_KEEPIDLE, CURLOPTTYPE_LONG, 214),
-- CURLOPT(CURLOPT_TCP_KEEPINTVL, CURLOPTTYPE_LONG, 215),
-- CURLOPT(CURLOPT_SSL_OPTIONS, CURLOPTTYPE_VALUES, 216),
-- CURLOPT(CURLOPT_MAIL_AUTH, CURLOPTTYPE_STRINGPOINT, 217),
-- CURLOPT(CURLOPT_SASL_IR, CURLOPTTYPE_LONG, 218),
-- CURLOPT(CURLOPT_XFERINFOFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 219),
-- CURLOPT(CURLOPT_XOAUTH2_BEARER, CURLOPTTYPE_STRINGPOINT, 220),
-- CURLOPT(CURLOPT_DNS_INTERFACE, CURLOPTTYPE_STRINGPOINT, 221),
-- CURLOPT(CURLOPT_DNS_LOCAL_IP4, CURLOPTTYPE_STRINGPOINT, 222),
-- CURLOPT(CURLOPT_DNS_LOCAL_IP6, CURLOPTTYPE_STRINGPOINT, 223),
-- CURLOPT(CURLOPT_LOGIN_OPTIONS, CURLOPTTYPE_STRINGPOINT, 224),
-- CURLOPTDEPRECATED(CURLOPT_SSL_ENABLE_NPN, CURLOPTTYPE_LONG, 225,
-- 7.86.0, "Has no function"),
-- CURLOPT(CURLOPT_SSL_ENABLE_ALPN, CURLOPTTYPE_LONG, 226),
-- CURLOPT(CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOPTTYPE_LONG, 227),
-- CURLOPT(CURLOPT_PROXYHEADER, CURLOPTTYPE_SLISTPOINT, 228),
-- CURLOPT(CURLOPT_HEADEROPT, CURLOPTTYPE_VALUES, 229),
-- CURLOPT(CURLOPT_PINNEDPUBLICKEY, CURLOPTTYPE_STRINGPOINT, 230),
-- CURLOPT(CURLOPT_UNIX_SOCKET_PATH, CURLOPTTYPE_STRINGPOINT, 231),
-- CURLOPT(CURLOPT_SSL_VERIFYSTATUS, CURLOPTTYPE_LONG, 232),
-- CURLOPT(CURLOPT_SSL_FALSESTART, CURLOPTTYPE_LONG, 233),
-- CURLOPT(CURLOPT_PATH_AS_IS, CURLOPTTYPE_LONG, 234),
-- CURLOPT(CURLOPT_PROXY_SERVICE_NAME, CURLOPTTYPE_STRINGPOINT, 235),
-- CURLOPT(CURLOPT_SERVICE_NAME, CURLOPTTYPE_STRINGPOINT, 236),
-- CURLOPT(CURLOPT_PIPEWAIT, CURLOPTTYPE_LONG, 237),
-- CURLOPT(CURLOPT_DEFAULT_PROTOCOL, CURLOPTTYPE_STRINGPOINT, 238),
-- CURLOPT(CURLOPT_STREAM_WEIGHT, CURLOPTTYPE_LONG, 239),
-- CURLOPT(CURLOPT_STREAM_DEPENDS, CURLOPTTYPE_OBJECTPOINT, 240),
-- CURLOPT(CURLOPT_STREAM_DEPENDS_E, CURLOPTTYPE_OBJECTPOINT, 241),
-- CURLOPT(CURLOPT_TFTP_NO_OPTIONS, CURLOPTTYPE_LONG, 242),
-- CURLOPT(CURLOPT_CONNECT_TO, CURLOPTTYPE_SLISTPOINT, 243),
-- CURLOPT(CURLOPT_TCP_FASTOPEN, CURLOPTTYPE_LONG, 244),
-- CURLOPT(CURLOPT_KEEP_SENDING_ON_ERROR, CURLOPTTYPE_LONG, 245),
-- CURLOPT(CURLOPT_PROXY_CAINFO, CURLOPTTYPE_STRINGPOINT, 246),
-- CURLOPT(CURLOPT_PROXY_CAPATH, CURLOPTTYPE_STRINGPOINT, 247),
-- CURLOPT(CURLOPT_PROXY_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 248),
-- CURLOPT(CURLOPT_PROXY_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 249),
-- CURLOPT(CURLOPT_PROXY_SSLVERSION, CURLOPTTYPE_VALUES, 250),
-- CURLOPT(CURLOPT_PROXY_TLSAUTH_USERNAME, CURLOPTTYPE_STRINGPOINT, 251),
-- CURLOPT(CURLOPT_PROXY_TLSAUTH_PASSWORD, CURLOPTTYPE_STRINGPOINT, 252),
-- CURLOPT(CURLOPT_PROXY_TLSAUTH_TYPE, CURLOPTTYPE_STRINGPOINT, 253),
-- CURLOPT(CURLOPT_PROXY_SSLCERT, CURLOPTTYPE_STRINGPOINT, 254),
-- CURLOPT(CURLOPT_PROXY_SSLCERTTYPE, CURLOPTTYPE_STRINGPOINT, 255),
-- CURLOPT(CURLOPT_PROXY_SSLKEY, CURLOPTTYPE_STRINGPOINT, 256),
-- CURLOPT(CURLOPT_PROXY_SSLKEYTYPE, CURLOPTTYPE_STRINGPOINT, 257),
-- CURLOPT(CURLOPT_PROXY_KEYPASSWD, CURLOPTTYPE_STRINGPOINT, 258),
-- CURLOPT(CURLOPT_PROXY_SSL_CIPHER_LIST, CURLOPTTYPE_STRINGPOINT, 259),
-- CURLOPT(CURLOPT_PROXY_CRLFILE, CURLOPTTYPE_STRINGPOINT, 260),
-- CURLOPT(CURLOPT_PROXY_SSL_OPTIONS, CURLOPTTYPE_LONG, 261),
-- CURLOPT(CURLOPT_PRE_PROXY, CURLOPTTYPE_STRINGPOINT, 262),
-- CURLOPT(CURLOPT_PROXY_PINNEDPUBLICKEY, CURLOPTTYPE_STRINGPOINT, 263),
-- CURLOPT(CURLOPT_ABSTRACT_UNIX_SOCKET, CURLOPTTYPE_STRINGPOINT, 264),
-- CURLOPT(CURLOPT_SUPPRESS_CONNECT_HEADERS, CURLOPTTYPE_LONG, 265),
-- CURLOPT(CURLOPT_REQUEST_TARGET, CURLOPTTYPE_STRINGPOINT, 266),
-- CURLOPT(CURLOPT_SOCKS5_AUTH, CURLOPTTYPE_LONG, 267),
-- CURLOPT(CURLOPT_SSH_COMPRESSION, CURLOPTTYPE_LONG, 268),
-- CURLOPT(CURLOPT_MIMEPOST, CURLOPTTYPE_OBJECTPOINT, 269),
-- CURLOPT(CURLOPT_TIMEVALUE_LARGE, CURLOPTTYPE_OFF_T, 270),
-- CURLOPT(CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CURLOPTTYPE_LONG, 271),
-- CURLOPT(CURLOPT_RESOLVER_START_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 272),
-- CURLOPT(CURLOPT_RESOLVER_START_DATA, CURLOPTTYPE_CBPOINT, 273),
-- CURLOPT(CURLOPT_HAPROXYPROTOCOL, CURLOPTTYPE_LONG, 274),
-- CURLOPT(CURLOPT_DNS_SHUFFLE_ADDRESSES, CURLOPTTYPE_LONG, 275),
-- CURLOPT(CURLOPT_TLS13_CIPHERS, CURLOPTTYPE_STRINGPOINT, 276),
-- CURLOPT(CURLOPT_PROXY_TLS13_CIPHERS, CURLOPTTYPE_STRINGPOINT, 277),
-- CURLOPT(CURLOPT_DISALLOW_USERNAME_IN_URL, CURLOPTTYPE_LONG, 278),
-- CURLOPT(CURLOPT_DOH_URL, CURLOPTTYPE_STRINGPOINT, 279),
-- CURLOPT(CURLOPT_UPLOAD_BUFFERSIZE, CURLOPTTYPE_LONG, 280),
-- CURLOPT(CURLOPT_UPKEEP_INTERVAL_MS, CURLOPTTYPE_LONG, 281),
-- CURLOPT(CURLOPT_CURLU, CURLOPTTYPE_OBJECTPOINT, 282),
-- CURLOPT(CURLOPT_TRAILERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 283),
-- CURLOPT(CURLOPT_TRAILERDATA, CURLOPTTYPE_CBPOINT, 284),
-- CURLOPT(CURLOPT_HTTP09_ALLOWED, CURLOPTTYPE_LONG, 285),
-- CURLOPT(CURLOPT_ALTSVC_CTRL, CURLOPTTYPE_LONG, 286),
-- CURLOPT(CURLOPT_ALTSVC, CURLOPTTYPE_STRINGPOINT, 287),
-- CURLOPT(CURLOPT_MAXAGE_CONN, CURLOPTTYPE_LONG, 288),
-- CURLOPT(CURLOPT_SASL_AUTHZID, CURLOPTTYPE_STRINGPOINT, 289),
-- CURLOPT(CURLOPT_MAIL_RCPT_ALLOWFAILS, CURLOPTTYPE_LONG, 290),
-- CURLOPT(CURLOPT_SSLCERT_BLOB, CURLOPTTYPE_BLOB, 291),
-- CURLOPT(CURLOPT_SSLKEY_BLOB, CURLOPTTYPE_BLOB, 292),
-- CURLOPT(CURLOPT_PROXY_SSLCERT_BLOB, CURLOPTTYPE_BLOB, 293),
-- CURLOPT(CURLOPT_PROXY_SSLKEY_BLOB, CURLOPTTYPE_BLOB, 294),
-- CURLOPT(CURLOPT_ISSUERCERT_BLOB, CURLOPTTYPE_BLOB, 295),
-- CURLOPT(CURLOPT_PROXY_ISSUERCERT, CURLOPTTYPE_STRINGPOINT, 296),
-- CURLOPT(CURLOPT_PROXY_ISSUERCERT_BLOB, CURLOPTTYPE_BLOB, 297),
-- CURLOPT(CURLOPT_SSL_EC_CURVES, CURLOPTTYPE_STRINGPOINT, 298),
-- CURLOPT(CURLOPT_HSTS_CTRL, CURLOPTTYPE_LONG, 299),
-- CURLOPT(CURLOPT_HSTS, CURLOPTTYPE_STRINGPOINT, 300),
-- CURLOPT(CURLOPT_HSTSREADFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 301),
-- CURLOPT(CURLOPT_HSTSREADDATA, CURLOPTTYPE_CBPOINT, 302),
-- CURLOPT(CURLOPT_HSTSWRITEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 303),
-- CURLOPT(CURLOPT_HSTSWRITEDATA, CURLOPTTYPE_CBPOINT, 304),
-- CURLOPT(CURLOPT_AWS_SIGV4, CURLOPTTYPE_STRINGPOINT, 305),
-- CURLOPT(CURLOPT_DOH_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 306),
-- CURLOPT(CURLOPT_DOH_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 307),
-- CURLOPT(CURLOPT_DOH_SSL_VERIFYSTATUS, CURLOPTTYPE_LONG, 308),
-- CURLOPT(CURLOPT_CAINFO_BLOB, CURLOPTTYPE_BLOB, 309),
-- CURLOPT(CURLOPT_PROXY_CAINFO_BLOB, CURLOPTTYPE_BLOB, 310),
-- CURLOPT(CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256, CURLOPTTYPE_STRINGPOINT, 311),
-- CURLOPT(CURLOPT_PREREQFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 312),
-- CURLOPT(CURLOPT_PREREQDATA, CURLOPTTYPE_CBPOINT, 313),
-- CURLOPT(CURLOPT_MAXLIFETIME_CONN, CURLOPTTYPE_LONG, 314),
-- CURLOPT(CURLOPT_MIME_OPTIONS, CURLOPTTYPE_LONG, 315),
-- CURLOPT(CURLOPT_SSH_HOSTKEYFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 316),
-- CURLOPT(CURLOPT_SSH_HOSTKEYDATA, CURLOPTTYPE_CBPOINT, 317),
-- CURLOPT(CURLOPT_PROTOCOLS_STR, CURLOPTTYPE_STRINGPOINT, 318),
-- CURLOPT(CURLOPT_REDIR_PROTOCOLS_STR, CURLOPTTYPE_STRINGPOINT, 319),
-- CURLOPT(CURLOPT_WS_OPTIONS, CURLOPTTYPE_LONG, 320),
-- CURLOPT(CURLOPT_CA_CACHE_TIMEOUT, CURLOPTTYPE_LONG, 321),
-- CURLOPT(CURLOPT_QUICK_EXIT, CURLOPTTYPE_LONG, 322),
-- CURLOPT(CURLOPT_HAPROXY_CLIENT_IP, CURLOPTTYPE_STRINGPOINT, 323),
-- CURLOPT(CURLOPT_SERVER_RESPONSE_TIMEOUT_MS, CURLOPTTYPE_LONG, 324),
-- CURLOPT(CURLOPT_ECH, CURLOPTTYPE_STRINGPOINT, 325),
-- CURLOPT(CURLOPT_TCP_KEEPCNT, CURLOPTTYPE_LONG, 326),
-- CURLOPT_LASTENTRY
--} CURLoption;
--enum {
-- CURL_HTTP_VERSION_NONE,
-- CURL_HTTP_VERSION_1_0,
-- CURL_HTTP_VERSION_1_1,
-- CURL_HTTP_VERSION_2_0,
-- CURL_HTTP_VERSION_2TLS,
-- CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE,
-- CURL_HTTP_VERSION_3 = 30,
-- CURL_HTTP_VERSION_3ONLY = 31,
-- CURL_HTTP_VERSION_LAST
--};
--enum {
-- CURL_RTSPREQ_NONE,
-- 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
--};
--enum CURL_NETRC_OPTION {
-- CURL_NETRC_IGNORED,
-- CURL_NETRC_OPTIONAL,
-- CURL_NETRC_REQUIRED,
-- CURL_NETRC_LAST
--};
--enum CURL_TLSAUTH {
-- CURL_TLSAUTH_NONE,
-- CURL_TLSAUTH_SRP,
-- CURL_TLSAUTH_LAST
--};
--typedef enum {
-- CURL_TIMECOND_NONE,
-- CURL_TIMECOND_IFMODSINCE,
-- CURL_TIMECOND_IFUNMODSINCE,
-- CURL_TIMECOND_LASTMOD,
-- CURL_TIMECOND_LAST
--} curl_TimeCond;
--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);
--typedef struct curl_mime curl_mime;
--typedef struct curl_mimepart curl_mimepart;
--CURL_EXTERN curl_mime *curl_mime_init(CURL *easy);
--CURL_EXTERN void curl_mime_free(curl_mime *mime);
--CURL_EXTERN curl_mimepart *curl_mime_addpart(curl_mime *mime);
--CURL_EXTERN CURLcode curl_mime_name(curl_mimepart *part, const char *name);
--CURL_EXTERN CURLcode curl_mime_filename(curl_mimepart *part,
-- const char *filename);
--CURL_EXTERN CURLcode curl_mime_type(curl_mimepart *part, const char *mimetype);
--CURL_EXTERN CURLcode curl_mime_encoder(curl_mimepart *part,
-- const char *encoding);
--CURL_EXTERN CURLcode curl_mime_data(curl_mimepart *part,
-- const char *data, size_t datasize);
--CURL_EXTERN CURLcode curl_mime_filedata(curl_mimepart *part,
-- const char *filename);
--CURL_EXTERN CURLcode curl_mime_data_cb(curl_mimepart *part,
-- curl_off_t datasize,
-- curl_read_callback readfunc,
-- curl_seek_callback seekfunc,
-- curl_free_callback freefunc,
-- void *arg);
--CURL_EXTERN CURLcode curl_mime_subparts(curl_mimepart *part,
-- curl_mime *subparts);
--CURL_EXTERN CURLcode curl_mime_headers(curl_mimepart *part,
-- struct curl_slist *headers,
-- int take_ownership);
--typedef enum {
-- CURLFORM_NOTHING CURL_DEPRECATED(7.56.0, ""),
-- CURLFORM_COPYNAME CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"),
-- CURLFORM_PTRNAME CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"),
-- CURLFORM_NAMELENGTH CURL_DEPRECATED(7.56.0, ""),
-- CURLFORM_COPYCONTENTS CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
-- CURLFORM_PTRCONTENTS CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
-- CURLFORM_CONTENTSLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
-- CURLFORM_FILECONTENT CURL_DEPRECATED(7.56.0, "Use curl_mime_data_cb()"),
-- CURLFORM_ARRAY CURL_DEPRECATED(7.56.0, ""),
-- CURLFORM_OBSOLETE,
-- CURLFORM_FILE CURL_DEPRECATED(7.56.0, "Use curl_mime_filedata()"),
-- CURLFORM_BUFFER CURL_DEPRECATED(7.56.0, "Use curl_mime_filename()"),
-- CURLFORM_BUFFERPTR CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
-- CURLFORM_BUFFERLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
-- CURLFORM_CONTENTTYPE CURL_DEPRECATED(7.56.0, "Use curl_mime_type()"),
-- CURLFORM_CONTENTHEADER CURL_DEPRECATED(7.56.0, "Use curl_mime_headers()"),
-- CURLFORM_FILENAME CURL_DEPRECATED(7.56.0, "Use curl_mime_filename()"),
-- CURLFORM_END,
-- CURLFORM_OBSOLETE2,
-- CURLFORM_STREAM CURL_DEPRECATED(7.56.0, "Use curl_mime_data_cb()"),
-- CURLFORM_CONTENTLEN
-- CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
-- CURLFORM_LASTENTRY
--} CURLformoption;
--struct curl_forms {
-- CURLformoption option;
-- const char *value;
--};
--typedef enum {
-- CURL_FORMADD_OK CURL_DEPRECATED(7.56.0, ""),
-- CURL_FORMADD_MEMORY CURL_DEPRECATED(7.56.0, ""),
-- CURL_FORMADD_OPTION_TWICE CURL_DEPRECATED(7.56.0, ""),
-- CURL_FORMADD_NULL CURL_DEPRECATED(7.56.0, ""),
-- CURL_FORMADD_UNKNOWN_OPTION CURL_DEPRECATED(7.56.0, ""),
-- CURL_FORMADD_INCOMPLETE CURL_DEPRECATED(7.56.0, ""),
-- CURL_FORMADD_ILLEGAL_ARRAY CURL_DEPRECATED(7.56.0, ""),
-- CURL_FORMADD_DISABLED CURL_DEPRECATED(7.56.0, ""),
-- CURL_FORMADD_LAST
--} CURLFORMcode;
--CURL_EXTERN CURLFORMcode CURL_DEPRECATED(7.56.0, "Use curl_mime_init()")
--curl_formadd(struct curl_httppost **httppost,
-- struct curl_httppost **last_post,
-- ...);
--typedef size_t (*curl_formget_callback)(void *arg, const char *buf,
-- size_t len);
--CURL_EXTERN int CURL_DEPRECATED(7.56.0, "")
--curl_formget(struct curl_httppost *form, void *arg,
-- curl_formget_callback append);
--CURL_EXTERN void CURL_DEPRECATED(7.56.0, "Use curl_mime_free()")
--curl_formfree(struct curl_httppost *form);
--CURL_EXTERN char *curl_getenv(const char *variable);
--CURL_EXTERN char *curl_version(void);
--CURL_EXTERN char *curl_easy_escape(CURL *handle,
-- const char *string,
-- int length);
--CURL_EXTERN char *curl_escape(const char *string,
-- int length);
--CURL_EXTERN char *curl_easy_unescape(CURL *handle,
-- const char *string,
-- int length,
-- int *outlength);
--CURL_EXTERN char *curl_unescape(const char *string,
-- int length);
--CURL_EXTERN void curl_free(void *p);
--CURL_EXTERN CURLcode curl_global_init(long flags);
--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);
--CURL_EXTERN void curl_global_cleanup(void);
--CURL_EXTERN CURLcode curl_global_trace(const char *config);
--struct curl_slist {
-- char *data;
-- struct curl_slist *next;
--};
--struct curl_ssl_backend {
-- curl_sslbackend id;
-- const char *name;
--};
--typedef struct curl_ssl_backend curl_ssl_backend;
--typedef enum {
-- CURLSSLSET_OK = 0,
-- CURLSSLSET_UNKNOWN_BACKEND,
-- CURLSSLSET_TOO_LATE,
-- CURLSSLSET_NO_BACKENDS
--} CURLsslset;
--CURL_EXTERN CURLsslset curl_global_sslset(curl_sslbackend id, const char *name,
-- const curl_ssl_backend ***avail);
--CURL_EXTERN struct curl_slist *curl_slist_append(struct curl_slist *list,
-- const char *data);
--CURL_EXTERN void curl_slist_free_all(struct curl_slist *list);
--CURL_EXTERN time_t curl_getdate(const char *p, const time_t *unused);
--struct curl_certinfo {
-- int num_of_certs;
-- struct curl_slist **certinfo;
--};
--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_PTR 0x400000
--#define CURLINFO_SOCKET 0x500000
--#define CURLINFO_OFF_T 0x600000
--typedef enum {
-- CURLINFO_NONE,
-- 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 CURL_DEPRECATED(7.55.0, "Use CURLINFO_SIZE_UPLOAD_T")
-- = CURLINFO_DOUBLE + 7,
-- CURLINFO_SIZE_UPLOAD_T = CURLINFO_OFF_T + 7,
-- CURLINFO_SIZE_DOWNLOAD
-- CURL_DEPRECATED(7.55.0, "Use CURLINFO_SIZE_DOWNLOAD_T")
-- = CURLINFO_DOUBLE + 8,
-- CURLINFO_SIZE_DOWNLOAD_T = CURLINFO_OFF_T + 8,
-- CURLINFO_SPEED_DOWNLOAD
-- CURL_DEPRECATED(7.55.0, "Use CURLINFO_SPEED_DOWNLOAD_T")
-- = CURLINFO_DOUBLE + 9,
-- CURLINFO_SPEED_DOWNLOAD_T = CURLINFO_OFF_T + 9,
-- CURLINFO_SPEED_UPLOAD
-- CURL_DEPRECATED(7.55.0, "Use CURLINFO_SPEED_UPLOAD_T")
-- = CURLINFO_DOUBLE + 10,
-- CURLINFO_SPEED_UPLOAD_T = CURLINFO_OFF_T + 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_FILETIME_T = CURLINFO_OFF_T + 14,
-- CURLINFO_CONTENT_LENGTH_DOWNLOAD
-- CURL_DEPRECATED(7.55.0,
-- "Use CURLINFO_CONTENT_LENGTH_DOWNLOAD_T")
-- = CURLINFO_DOUBLE + 15,
-- CURLINFO_CONTENT_LENGTH_DOWNLOAD_T = CURLINFO_OFF_T + 15,
-- CURLINFO_CONTENT_LENGTH_UPLOAD
-- CURL_DEPRECATED(7.55.0,
-- "Use CURLINFO_CONTENT_LENGTH_UPLOAD_T")
-- = CURLINFO_DOUBLE + 16,
-- CURLINFO_CONTENT_LENGTH_UPLOAD_T = CURLINFO_OFF_T + 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 CURL_DEPRECATED(7.45.0, "Use CURLINFO_ACTIVESOCKET")
-- = 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_PTR + 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 CURL_DEPRECATED(7.48.0, "Use CURLINFO_TLS_SSL_PTR")
-- = CURLINFO_PTR + 43,
-- CURLINFO_ACTIVESOCKET = CURLINFO_SOCKET + 44,
-- CURLINFO_TLS_SSL_PTR = CURLINFO_PTR + 45,
-- CURLINFO_HTTP_VERSION = CURLINFO_LONG + 46,
-- CURLINFO_PROXY_SSL_VERIFYRESULT = CURLINFO_LONG + 47,
-- CURLINFO_PROTOCOL CURL_DEPRECATED(7.85.0, "Use CURLINFO_SCHEME")
-- = CURLINFO_LONG + 48,
-- CURLINFO_SCHEME = CURLINFO_STRING + 49,
-- CURLINFO_TOTAL_TIME_T = CURLINFO_OFF_T + 50,
-- CURLINFO_NAMELOOKUP_TIME_T = CURLINFO_OFF_T + 51,
-- CURLINFO_CONNECT_TIME_T = CURLINFO_OFF_T + 52,
-- CURLINFO_PRETRANSFER_TIME_T = CURLINFO_OFF_T + 53,
-- CURLINFO_STARTTRANSFER_TIME_T = CURLINFO_OFF_T + 54,
-- CURLINFO_REDIRECT_TIME_T = CURLINFO_OFF_T + 55,
-- CURLINFO_APPCONNECT_TIME_T = CURLINFO_OFF_T + 56,
-- CURLINFO_RETRY_AFTER = CURLINFO_OFF_T + 57,
-- CURLINFO_EFFECTIVE_METHOD = CURLINFO_STRING + 58,
-- CURLINFO_PROXY_ERROR = CURLINFO_LONG + 59,
-- CURLINFO_REFERER = CURLINFO_STRING + 60,
-- CURLINFO_CAINFO = CURLINFO_STRING + 61,
-- CURLINFO_CAPATH = CURLINFO_STRING + 62,
-- CURLINFO_XFER_ID = CURLINFO_OFF_T + 63,
-- CURLINFO_CONN_ID = CURLINFO_OFF_T + 64,
-- CURLINFO_QUEUE_TIME_T = CURLINFO_OFF_T + 65,
-- CURLINFO_USED_PROXY = CURLINFO_LONG + 66,
-- CURLINFO_POSTTRANSFER_TIME_T = CURLINFO_OFF_T + 67,
-- CURLINFO_EARLYDATA_SENT_T = CURLINFO_OFF_T + 68,
-- CURLINFO_LASTONE = 68
--} CURLINFO;
--typedef enum {
-- CURLCLOSEPOLICY_NONE,
-- CURLCLOSEPOLICY_OLDEST,
-- CURLCLOSEPOLICY_LEAST_RECENTLY_USED,
-- CURLCLOSEPOLICY_LEAST_TRAFFIC,
-- CURLCLOSEPOLICY_SLOWEST,
-- CURLCLOSEPOLICY_CALLBACK,
-- CURLCLOSEPOLICY_LAST
--} 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_DEFAULT CURL_GLOBAL_ALL
--typedef enum {
-- CURL_LOCK_DATA_NONE = 0,
-- CURL_LOCK_DATA_SHARE,
-- CURL_LOCK_DATA_COOKIE,
-- CURL_LOCK_DATA_DNS,
-- CURL_LOCK_DATA_SSL_SESSION,
-- CURL_LOCK_DATA_CONNECT,
-- CURL_LOCK_DATA_PSL,
-- CURL_LOCK_DATA_HSTS,
-- CURL_LOCK_DATA_LAST
--} curl_lock_data;
--typedef enum {
-- CURL_LOCK_ACCESS_NONE = 0,
-- CURL_LOCK_ACCESS_SHARED = 1,
-- CURL_LOCK_ACCESS_SINGLE = 2,
-- CURL_LOCK_ACCESS_LAST
--} 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,
-- CURLSHE_BAD_OPTION,
-- CURLSHE_IN_USE,
-- CURLSHE_INVALID,
-- CURLSHE_NOMEM,
-- CURLSHE_NOT_BUILT_IN,
-- CURLSHE_LAST
--} CURLSHcode;
--typedef enum {
-- CURLSHOPT_NONE,
-- CURLSHOPT_SHARE,
-- CURLSHOPT_UNSHARE,
-- CURLSHOPT_LOCKFUNC,
-- CURLSHOPT_UNLOCKFUNC,
-- CURLSHOPT_USERDATA,
-- CURLSHOPT_LAST
--} CURLSHoption;
--CURL_EXTERN CURLSH *curl_share_init(void);
--CURL_EXTERN CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option,
-- ...);
--CURL_EXTERN CURLSHcode curl_share_cleanup(CURLSH *share);
--typedef enum {
-- CURLVERSION_FIRST,
-- CURLVERSION_SECOND,
-- CURLVERSION_THIRD,
-- CURLVERSION_FOURTH,
-- CURLVERSION_FIFTH,
-- CURLVERSION_SIXTH,
-- CURLVERSION_SEVENTH,
-- CURLVERSION_EIGHTH,
-- CURLVERSION_NINTH,
-- CURLVERSION_TENTH,
-- CURLVERSION_ELEVENTH,
-- CURLVERSION_TWELFTH,
-- CURLVERSION_LAST
--} CURLversion;
--#define CURLVERSION_NOW CURLVERSION_TWELFTH
--struct curl_version_info_data {
-- CURLversion age;
-- const char *version;
-- unsigned int version_num;
-- const char *host;
-- int features;
-- const char *ssl_version;
-- long ssl_version_num;
-- const char *libz_version;
-- const char * const *protocols;
-- const char *ares;
-- int ares_num;
-- const char *libidn;
-- int iconv_ver_num;
-- const char *libssh_version;
-- unsigned int brotli_ver_num;
-- const char *brotli_version;
-- unsigned int nghttp2_ver_num;
-- const char *nghttp2_version;
-- const char *quic_version;
-- const char *cainfo;
-- const char *capath;
-- unsigned int zstd_ver_num;
-- const char *zstd_version;
-- const char *hyper_version;
-- const char *gsasl_version;
-- const char * const *feature_names;
-- const char *rtmp_version;
--};
--typedef struct curl_version_info_data curl_version_info_data;
--
--CURL_EXTERN curl_version_info_data *curl_version_info(CURLversion);
--CURL_EXTERN const char *curl_easy_strerror(CURLcode);
--CURL_EXTERN const char *curl_share_strerror(CURLSHcode);
--CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask);
--#ifndef CURLINC_EASY_H
--#define CURLINC_EASY_H
--struct curl_blob {
-- void *data;
-- size_t len;
-- unsigned int flags;
--};
--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);
--CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...);
--CURL_EXTERN CURL *curl_easy_duphandle(CURL *curl);
--CURL_EXTERN void curl_easy_reset(CURL *curl);
--CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen,
-- size_t *n);
--CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer,
-- size_t buflen, size_t *n);
--CURL_EXTERN CURLcode curl_easy_upkeep(CURL *curl);
--#endif
--#ifndef CURLINC_MULTI_H
--#define CURLINC_MULTI_H
--typedef void CURLM;
--typedef enum {
-- CURLM_CALL_MULTI_PERFORM = -1,
-- CURLM_OK,
-- CURLM_BAD_HANDLE,
-- CURLM_BAD_EASY_HANDLE,
-- CURLM_OUT_OF_MEMORY,
-- CURLM_INTERNAL_ERROR,
-- CURLM_BAD_SOCKET,
-- CURLM_UNKNOWN_OPTION,
-- CURLM_ADDED_ALREADY,
-- CURLM_RECURSIVE_API_CALL,
-- CURLM_WAKEUP_FAILURE,
-- CURLM_BAD_FUNCTION_ARGUMENT,
-- CURLM_ABORTED_BY_CALLBACK,
-- CURLM_UNRECOVERABLE_POLL,
-- CURLM_LAST
--} CURLMcode;
--typedef enum {
-- CURLMSG_NONE,
-- CURLMSG_DONE,
-- CURLMSG_LAST
--} CURLMSG;
--struct CURLMsg {
-- CURLMSG msg;
-- CURL *easy_handle;
-- union {
-- void *whatever;
-- CURLcode result;
-- } data;
--};
--typedef struct CURLMsg CURLMsg;
--struct curl_waitfd {
-- curl_socket_t fd;
-- short events;
-- short revents;
--};
--CURL_EXTERN CURLM *curl_multi_init(void);
--CURL_EXTERN CURLMcode curl_multi_add_handle(CURLM *multi_handle,
-- CURL *curl_handle);
--CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle,
-- CURL *curl_handle);
--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);
--CURL_EXTERN CURLMcode curl_multi_wait(CURLM *multi_handle,
-- struct curl_waitfd extra_fds[],
-- unsigned int extra_nfds,
-- int timeout_ms,
-- int *ret);
--CURL_EXTERN CURLMcode curl_multi_poll(CURLM *multi_handle,
-- struct curl_waitfd extra_fds[],
-- unsigned int extra_nfds,
-- int timeout_ms,
-- int *ret);
--CURL_EXTERN CURLMcode curl_multi_wakeup(CURLM *multi_handle);
--CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle,
-- int *running_handles);
--CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle);
--CURL_EXTERN CURLMsg *curl_multi_info_read(CURLM *multi_handle,
-- int *msgs_in_queue);
--CURL_EXTERN const char *curl_multi_strerror(CURLMcode);
--#define CURL_SOCKET_TIMEOUT CURL_SOCKET_BAD
--typedef int (*curl_socket_callback)(CURL *easy,
-- curl_socket_t s,
-- int what,
-- void *userp,
-- void *socketp);
--typedef int (*curl_multi_timer_callback)(CURLM *multi,
-- long timeout_ms,
-- void *userp);
--CURL_EXTERN CURLMcode CURL_DEPRECATED(7.19.5, "Use curl_multi_socket_action()")
--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_DEPRECATED(7.19.5, "Use curl_multi_socket_action()")
--curl_multi_socket_all(CURLM *multi_handle, int *running_handles);
--#ifndef CURL_ALLOW_OLD_MULTI_SOCKET
--#define curl_multi_socket(x,y,z) curl_multi_socket_action(x,y,0,z)
--#endif
--CURL_EXTERN CURLMcode curl_multi_timeout(CURLM *multi_handle,
-- long *milliseconds);
--typedef enum {
-- CURLOPT(CURLMOPT_SOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 1),
-- CURLOPT(CURLMOPT_SOCKETDATA, CURLOPTTYPE_OBJECTPOINT, 2),
-- CURLOPT(CURLMOPT_PIPELINING, CURLOPTTYPE_LONG, 3),
-- CURLOPT(CURLMOPT_TIMERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 4),
-- CURLOPT(CURLMOPT_TIMERDATA, CURLOPTTYPE_OBJECTPOINT, 5),
-- CURLOPT(CURLMOPT_MAXCONNECTS, CURLOPTTYPE_LONG, 6),
-- CURLOPT(CURLMOPT_MAX_HOST_CONNECTIONS, CURLOPTTYPE_LONG, 7),
-- CURLOPT(CURLMOPT_MAX_PIPELINE_LENGTH, CURLOPTTYPE_LONG, 8),
-- CURLOPT(CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLOPTTYPE_OFF_T, 9),
-- CURLOPT(CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLOPTTYPE_OFF_T, 10),
-- CURLOPT(CURLMOPT_PIPELINING_SITE_BL, CURLOPTTYPE_OBJECTPOINT, 11),
-- CURLOPT(CURLMOPT_PIPELINING_SERVER_BL, CURLOPTTYPE_OBJECTPOINT, 12),
-- CURLOPT(CURLMOPT_MAX_TOTAL_CONNECTIONS, CURLOPTTYPE_LONG, 13),
-- CURLOPT(CURLMOPT_PUSHFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 14),
-- CURLOPT(CURLMOPT_PUSHDATA, CURLOPTTYPE_OBJECTPOINT, 15),
-- CURLOPT(CURLMOPT_MAX_CONCURRENT_STREAMS, CURLOPTTYPE_LONG, 16),
-- CURLMOPT_LASTENTRY
--} CURLMoption;
--CURL_EXTERN CURLMcode curl_multi_setopt(CURLM *multi_handle,
-- CURLMoption option, ...);
--CURL_EXTERN CURLMcode curl_multi_assign(CURLM *multi_handle,
-- curl_socket_t sockfd, void *sockp);
--CURL_EXTERN CURL **curl_multi_get_handles(CURLM *multi_handle);
--struct curl_pushheaders;
--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);
--CURL_EXTERN CURLMcode curl_multi_waitfds(CURLM *multi,
-- struct curl_waitfd *ufds,
-- unsigned int size,
-- unsigned int *fd_count);
--#endif
--#ifndef CURLINC_URLAPI_H
--#define CURLINC_URLAPI_H
--typedef enum {
-- CURLUE_OK,
-- CURLUE_BAD_HANDLE,
-- CURLUE_BAD_PARTPOINTER,
-- CURLUE_MALFORMED_INPUT,
-- CURLUE_BAD_PORT_NUMBER,
-- CURLUE_UNSUPPORTED_SCHEME,
-- CURLUE_URLDECODE,
-- CURLUE_OUT_OF_MEMORY,
-- CURLUE_USER_NOT_ALLOWED,
-- CURLUE_UNKNOWN_PART,
-- CURLUE_NO_SCHEME,
-- CURLUE_NO_USER,
-- CURLUE_NO_PASSWORD,
-- CURLUE_NO_OPTIONS,
-- CURLUE_NO_HOST,
-- CURLUE_NO_PORT,
-- CURLUE_NO_QUERY,
-- CURLUE_NO_FRAGMENT,
-- CURLUE_NO_ZONEID,
-- CURLUE_BAD_FILE_URL,
-- CURLUE_BAD_FRAGMENT,
-- CURLUE_BAD_HOSTNAME,
-- CURLUE_BAD_IPV6,
-- CURLUE_BAD_LOGIN,
-- CURLUE_BAD_PASSWORD,
-- CURLUE_BAD_PATH,
-- CURLUE_BAD_QUERY,
-- CURLUE_BAD_SCHEME,
-- CURLUE_BAD_SLASHES,
-- CURLUE_BAD_USER,
-- CURLUE_LACKS_IDN,
-- CURLUE_TOO_LARGE,
-- CURLUE_LAST
--} CURLUcode;
--typedef enum {
-- CURLUPART_URL,
-- CURLUPART_SCHEME,
-- CURLUPART_USER,
-- CURLUPART_PASSWORD,
-- CURLUPART_OPTIONS,
-- CURLUPART_HOST,
-- CURLUPART_PORT,
-- CURLUPART_PATH,
-- CURLUPART_QUERY,
-- CURLUPART_FRAGMENT,
-- CURLUPART_ZONEID
--} CURLUPart;
--typedef struct Curl_URL CURLU;
--CURL_EXTERN CURLU *curl_url(void);
--CURL_EXTERN void curl_url_cleanup(CURLU *handle);
--CURL_EXTERN CURLU *curl_url_dup(const CURLU *in);
--CURL_EXTERN CURLUcode curl_url_get(const CURLU *handle, CURLUPart what,
-- char **part, unsigned int flags);
--CURL_EXTERN CURLUcode curl_url_set(CURLU *handle, CURLUPart what,
-- const char *part, unsigned int flags);
--CURL_EXTERN const char *curl_url_strerror(CURLUcode);
--#endif
--#ifndef CURLINC_OPTIONS_H
--#define CURLINC_OPTIONS_H
--typedef enum {
-- CURLOT_LONG,
-- CURLOT_VALUES,
-- CURLOT_OFF_T,
-- CURLOT_OBJECT,
-- CURLOT_STRING,
-- CURLOT_SLIST,
-- CURLOT_CBPTR,
-- CURLOT_BLOB,
-- CURLOT_FUNCTION
--} curl_easytype;
--struct curl_easyoption {
-- const char *name;
-- CURLoption id;
-- curl_easytype type;
-- unsigned int flags;
--};
--CURL_EXTERN const struct curl_easyoption *
--curl_easy_option_by_name(const char *name);
--CURL_EXTERN const struct curl_easyoption *
--curl_easy_option_by_id(CURLoption id);
--CURL_EXTERN const struct curl_easyoption *
--curl_easy_option_next(const struct curl_easyoption *prev);
--#endif
--#ifndef CURLINC_HEADER_H
--#define CURLINC_HEADER_H
--struct curl_header {
-- char *name;
-- char *value;
-- size_t amount;
-- size_t index;
-- unsigned int origin;
-- void *anchor;
--};
--typedef enum {
-- CURLHE_OK,
-- CURLHE_BADINDEX,
-- CURLHE_MISSING,
-- CURLHE_NOHEADERS,
-- CURLHE_NOREQUEST,
-- CURLHE_OUT_OF_MEMORY,
-- CURLHE_BAD_ARGUMENT,
-- CURLHE_NOT_BUILT_IN
--} CURLHcode;
--CURL_EXTERN CURLHcode curl_easy_header(CURL *easy,
-- const char *name,
-- size_t index,
-- unsigned int origin,
-- int request,
-- struct curl_header **hout);
--CURL_EXTERN struct curl_header *curl_easy_nextheader(CURL *easy,
-- unsigned int origin,
-- int request,
-- struct curl_header *prev);
--#endif
--#ifndef CURLINC_WEBSOCKETS_H
--#define CURLINC_WEBSOCKETS_H
--struct curl_ws_frame {
-- int age;
-- int flags;
-- curl_off_t offset;
-- curl_off_t bytesleft;
-- size_t len;
--};
--CURL_EXTERN CURLcode curl_ws_recv(CURL *curl, void *buffer, size_t buflen,
-- size_t *recv,
-- const struct curl_ws_frame **metap);
--CURL_EXTERN CURLcode curl_ws_send(CURL *curl, const void *buffer,
-- size_t buflen, size_t *sent,
-- curl_off_t fragsize,
-- unsigned int flags);
--CURL_EXTERN const struct curl_ws_frame *curl_ws_meta(CURL *curl);
--#endif
--#ifndef CURL_SKIP_INCLUDE_MPRINTF
--#ifndef CURLINC_MPRINTF_H
--#define CURLINC_MPRINTF_H
--#include <condition_variable>
--#ifndef CURL_TEMP_PRINTF
--#if (defined(__GNUC__) || defined(__clang__) || \
-- defined(__IAR_SYSTEMS_ICC__)) && \
-- defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
-- !defined(CURL_NO_FMT_CHECKS)
--#if defined(__MINGW32__) && !defined(__clang__)
--#if defined(__MINGW_PRINTF_FORMAT)
--#define CURL_TEMP_PRINTF(fmt, arg) \
-- __attribute__((format(__MINGW_PRINTF_FORMAT, fmt, arg)))
--#else
--#define CURL_TEMP_PRINTF(fmt, arg)
--#endif
--#else
--#define CURL_TEMP_PRINTF(fmt, arg) \
-- __attribute__((format(printf, fmt, arg)))
--#endif
--#else
--#define CURL_TEMP_PRINTF(fmt, arg)
--#endif
--#endif
--CURL_EXTERN int curl_mprintf(const char *format, ...)
-- CURL_TEMP_PRINTF(1, 2);
--CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...)
-- CURL_TEMP_PRINTF(2, 3);
--CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...)
-- CURL_TEMP_PRINTF(2, 3);
--CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength,
-- const char *format, ...)
-- CURL_TEMP_PRINTF(3, 4);
--CURL_EXTERN int curl_mvprintf(const char *format, va_list args)
-- CURL_TEMP_PRINTF(1, 0);
--CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args)
-- CURL_TEMP_PRINTF(2, 0);
--CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args)
-- CURL_TEMP_PRINTF(2, 0);
--CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength,
-- const char *format, va_list args)
-- CURL_TEMP_PRINTF(3, 0);
--CURL_EXTERN char *curl_maprintf(const char *format, ...)
-- CURL_TEMP_PRINTF(1, 2);
--CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args)
-- CURL_TEMP_PRINTF(1, 0);
--#undef CURL_TEMP_PRINTF
--#endif
--#endif
--#if defined(__GNUC__) && defined(__GNUC_MINOR__) && \
-- ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \
-- !defined(__cplusplus) && !defined(CURL_DISABLE_TYPECHECK)
--#ifndef CURLINC_TYPECHECK_GCC_H
--#define CURLINC_TYPECHECK_GCC_H
--#define curl_easy_setopt(handle, option, value) \
-- __extension__({ \
-- CURLoption _curl_opt = (option); \
-- if(__builtin_constant_p(_curl_opt)) { \
-- CURL_IGNORE_DEPRECATION( \
-- if(curlcheck_long_option(_curl_opt)) \
-- if(!curlcheck_long(value)) \
-- _curl_easy_setopt_err_long(); \
-- if(curlcheck_off_t_option(_curl_opt)) \
-- if(!curlcheck_off_t(value)) \
-- _curl_easy_setopt_err_curl_off_t(); \
-- if(curlcheck_string_option(_curl_opt)) \
-- if(!curlcheck_string(value)) \
-- _curl_easy_setopt_err_string(); \
-- if(curlcheck_write_cb_option(_curl_opt)) \
-- if(!curlcheck_write_cb(value)) \
-- _curl_easy_setopt_err_write_callback(); \
-- if((_curl_opt) == CURLOPT_RESOLVER_START_FUNCTION) \
-- if(!curlcheck_resolver_start_callback(value)) \
-- _curl_easy_setopt_err_resolver_start_callback(); \
-- if((_curl_opt) == CURLOPT_READFUNCTION) \
-- if(!curlcheck_read_cb(value)) \
-- _curl_easy_setopt_err_read_cb(); \
-- if((_curl_opt) == CURLOPT_IOCTLFUNCTION) \
-- if(!curlcheck_ioctl_cb(value)) \
-- _curl_easy_setopt_err_ioctl_cb(); \
-- if((_curl_opt) == CURLOPT_SOCKOPTFUNCTION) \
-- if(!curlcheck_sockopt_cb(value)) \
-- _curl_easy_setopt_err_sockopt_cb(); \
-- if((_curl_opt) == CURLOPT_OPENSOCKETFUNCTION) \
-- if(!curlcheck_opensocket_cb(value)) \
-- _curl_easy_setopt_err_opensocket_cb(); \
-- if((_curl_opt) == CURLOPT_PROGRESSFUNCTION) \
-- if(!curlcheck_progress_cb(value)) \
-- _curl_easy_setopt_err_progress_cb(); \
-- if((_curl_opt) == CURLOPT_DEBUGFUNCTION) \
-- if(!curlcheck_debug_cb(value)) \
-- _curl_easy_setopt_err_debug_cb(); \
-- if((_curl_opt) == CURLOPT_SSL_CTX_FUNCTION) \
-- if(!curlcheck_ssl_ctx_cb(value)) \
-- _curl_easy_setopt_err_ssl_ctx_cb(); \
-- if(curlcheck_conv_cb_option(_curl_opt)) \
-- if(!curlcheck_conv_cb(value)) \
-- _curl_easy_setopt_err_conv_cb(); \
-- if((_curl_opt) == CURLOPT_SEEKFUNCTION) \
-- if(!curlcheck_seek_cb(value)) \
-- _curl_easy_setopt_err_seek_cb(); \
-- if(curlcheck_cb_data_option(_curl_opt)) \
-- if(!curlcheck_cb_data(value)) \
-- _curl_easy_setopt_err_cb_data(); \
-- if((_curl_opt) == CURLOPT_ERRORBUFFER) \
-- if(!curlcheck_error_buffer(value)) \
-- _curl_easy_setopt_err_error_buffer(); \
-- if((_curl_opt) == CURLOPT_STDERR) \
-- if(!curlcheck_FILE(value)) \
-- _curl_easy_setopt_err_FILE(); \
-- if(curlcheck_postfields_option(_curl_opt)) \
-- if(!curlcheck_postfields(value)) \
-- _curl_easy_setopt_err_postfields(); \
-- if((_curl_opt) == CURLOPT_HTTPPOST) \
-- if(!curlcheck_arr((value), struct curl_httppost)) \
-- _curl_easy_setopt_err_curl_httpost(); \
-- if((_curl_opt) == CURLOPT_MIMEPOST) \
-- if(!curlcheck_ptr((value), curl_mime)) \
-- _curl_easy_setopt_err_curl_mimepost(); \
-- if(curlcheck_slist_option(_curl_opt)) \
-- if(!curlcheck_arr((value), struct curl_slist)) \
-- _curl_easy_setopt_err_curl_slist(); \
-- if((_curl_opt) == CURLOPT_SHARE) \
-- if(!curlcheck_ptr((value), CURLSH)) \
-- _curl_easy_setopt_err_CURLSH(); \
-- ) \
-- } \
-- curl_easy_setopt(handle, _curl_opt, value); \
-- })
--#define curl_easy_getinfo(handle, info, arg) \
-- __extension__({ \
-- CURLINFO _curl_info = (info); \
-- if(__builtin_constant_p(_curl_info)) { \
-- CURL_IGNORE_DEPRECATION( \
-- if(curlcheck_string_info(_curl_info)) \
-- if(!curlcheck_arr((arg), char *)) \
-- _curl_easy_getinfo_err_string(); \
-- if(curlcheck_long_info(_curl_info)) \
-- if(!curlcheck_arr((arg), long)) \
-- _curl_easy_getinfo_err_long(); \
-- if(curlcheck_double_info(_curl_info)) \
-- if(!curlcheck_arr((arg), double)) \
-- _curl_easy_getinfo_err_double(); \
-- if(curlcheck_slist_info(_curl_info)) \
-- if(!curlcheck_arr((arg), struct curl_slist *)) \
-- _curl_easy_getinfo_err_curl_slist(); \
-- if(curlcheck_tlssessioninfo_info(_curl_info)) \
-- if(!curlcheck_arr((arg), struct curl_tlssessioninfo *)) \
-- _curl_easy_getinfo_err_curl_tlssesssioninfo(); \
-- if(curlcheck_certinfo_info(_curl_info)) \
-- if(!curlcheck_arr((arg), struct curl_certinfo *)) \
-- _curl_easy_getinfo_err_curl_certinfo(); \
-- if(curlcheck_socket_info(_curl_info)) \
-- if(!curlcheck_arr((arg), curl_socket_t)) \
-- _curl_easy_getinfo_err_curl_socket(); \
-- if(curlcheck_off_t_info(_curl_info)) \
-- if(!curlcheck_arr((arg), curl_off_t)) \
-- _curl_easy_getinfo_err_curl_off_t(); \
-- ) \
-- } \
-- curl_easy_getinfo(handle, _curl_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)
--#define CURLWARNING(id, message) \
-- static void __attribute__((__warning__(message))) \
-- __attribute__((__unused__)) __attribute__((__noinline__)) \
-- id(void) { __asm__(""); }
--CURLWARNING(_curl_easy_setopt_err_long,
-- "curl_easy_setopt expects a long argument for this option")
--CURLWARNING(_curl_easy_setopt_err_curl_off_t,
-- "curl_easy_setopt expects a curl_off_t argument for this option")
--CURLWARNING(_curl_easy_setopt_err_string,
-- "curl_easy_setopt expects a "
-- "string ('char *' or char[]) argument for this option"
-- )
--CURLWARNING(_curl_easy_setopt_err_write_callback,
-- "curl_easy_setopt expects a curl_write_callback argument for this option")
--CURLWARNING(_curl_easy_setopt_err_resolver_start_callback,
-- "curl_easy_setopt expects a "
-- "curl_resolver_start_callback argument for this option"
-- )
--CURLWARNING(_curl_easy_setopt_err_read_cb,
-- "curl_easy_setopt expects a curl_read_callback argument for this option")
--CURLWARNING(_curl_easy_setopt_err_ioctl_cb,
-- "curl_easy_setopt expects a curl_ioctl_callback argument for this option")
--CURLWARNING(_curl_easy_setopt_err_sockopt_cb,
-- "curl_easy_setopt expects a curl_sockopt_callback argument for this option")
--CURLWARNING(_curl_easy_setopt_err_opensocket_cb,
-- "curl_easy_setopt expects a "
-- "curl_opensocket_callback argument for this option"
-- )
--CURLWARNING(_curl_easy_setopt_err_progress_cb,
-- "curl_easy_setopt expects a curl_progress_callback argument for this option")
--CURLWARNING(_curl_easy_setopt_err_debug_cb,
-- "curl_easy_setopt expects a curl_debug_callback argument for this option")
--CURLWARNING(_curl_easy_setopt_err_ssl_ctx_cb,
-- "curl_easy_setopt expects a curl_ssl_ctx_callback argument for this option")
--CURLWARNING(_curl_easy_setopt_err_conv_cb,
-- "curl_easy_setopt expects a curl_conv_callback argument for this option")
--CURLWARNING(_curl_easy_setopt_err_seek_cb,
-- "curl_easy_setopt expects a curl_seek_callback argument for this option")
--CURLWARNING(_curl_easy_setopt_err_cb_data,
-- "curl_easy_setopt expects a "
-- "private data pointer as argument for this option")
--CURLWARNING(_curl_easy_setopt_err_error_buffer,
-- "curl_easy_setopt expects a "
-- "char buffer of CURL_ERROR_SIZE as argument for this option")
--CURLWARNING(_curl_easy_setopt_err_FILE,
-- "curl_easy_setopt expects a 'FILE *' argument for this option")
--CURLWARNING(_curl_easy_setopt_err_postfields,
-- "curl_easy_setopt expects a 'void *' or 'char *' argument for this option")
--CURLWARNING(_curl_easy_setopt_err_curl_httpost,
-- "curl_easy_setopt expects a 'struct curl_httppost *' "
-- "argument for this option")
--CURLWARNING(_curl_easy_setopt_err_curl_mimepost,
-- "curl_easy_setopt expects a 'curl_mime *' "
-- "argument for this option")
--CURLWARNING(_curl_easy_setopt_err_curl_slist,
-- "curl_easy_setopt expects a 'struct curl_slist *' argument for this option")
--CURLWARNING(_curl_easy_setopt_err_CURLSH,
-- "curl_easy_setopt expects a CURLSH* argument for this option")
--CURLWARNING(_curl_easy_getinfo_err_string,
-- "curl_easy_getinfo expects a pointer to 'char *' for this info")
--CURLWARNING(_curl_easy_getinfo_err_long,
-- "curl_easy_getinfo expects a pointer to long for this info")
--CURLWARNING(_curl_easy_getinfo_err_double,
-- "curl_easy_getinfo expects a pointer to double for this info")
--CURLWARNING(_curl_easy_getinfo_err_curl_slist,
-- "curl_easy_getinfo expects a pointer to 'struct curl_slist *' for this info")
--CURLWARNING(_curl_easy_getinfo_err_curl_tlssesssioninfo,
-- "curl_easy_getinfo expects a pointer to "
-- "'struct curl_tlssessioninfo *' for this info")
--CURLWARNING(_curl_easy_getinfo_err_curl_certinfo,
-- "curl_easy_getinfo expects a pointer to "
-- "'struct curl_certinfo *' for this info")
--CURLWARNING(_curl_easy_getinfo_err_curl_socket,
-- "curl_easy_getinfo expects a pointer to curl_socket_t for this info")
--CURLWARNING(_curl_easy_getinfo_err_curl_off_t,
-- "curl_easy_getinfo expects a pointer to curl_off_t for this info")
--#define curlcheck_long_option(option) \
-- (0 < (option) && (option) < CURLOPTTYPE_OBJECTPOINT)
--#define curlcheck_off_t_option(option) \
-- (((option) > CURLOPTTYPE_OFF_T) && ((option) < CURLOPTTYPE_BLOB))
--#define curlcheck_string_option(option) \
-- ((option) == CURLOPT_ABSTRACT_UNIX_SOCKET || \
-- (option) == CURLOPT_ACCEPT_ENCODING || \
-- (option) == CURLOPT_ALTSVC || \
-- (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_DOH_URL || \
-- (option) == CURLOPT_ECH || \
-- (option) == CURLOPT_EGDSOCKET || \
-- (option) == CURLOPT_FTP_ACCOUNT || \
-- (option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \
-- (option) == CURLOPT_FTPPORT || \
-- (option) == CURLOPT_HSTS || \
-- (option) == CURLOPT_HAPROXY_CLIENT_IP || \
-- (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_PRE_PROXY || \
-- (option) == CURLOPT_PROTOCOLS_STR || \
-- (option) == CURLOPT_PROXY || \
-- (option) == CURLOPT_PROXY_CAINFO || \
-- (option) == CURLOPT_PROXY_CAPATH || \
-- (option) == CURLOPT_PROXY_CRLFILE || \
-- (option) == CURLOPT_PROXY_ISSUERCERT || \
-- (option) == CURLOPT_PROXY_KEYPASSWD || \
-- (option) == CURLOPT_PROXY_PINNEDPUBLICKEY || \
-- (option) == CURLOPT_PROXY_SERVICE_NAME || \
-- (option) == CURLOPT_PROXY_SSL_CIPHER_LIST || \
-- (option) == CURLOPT_PROXY_SSLCERT || \
-- (option) == CURLOPT_PROXY_SSLCERTTYPE || \
-- (option) == CURLOPT_PROXY_SSLKEY || \
-- (option) == CURLOPT_PROXY_SSLKEYTYPE || \
-- (option) == CURLOPT_PROXY_TLS13_CIPHERS || \
-- (option) == CURLOPT_PROXY_TLSAUTH_PASSWORD || \
-- (option) == CURLOPT_PROXY_TLSAUTH_TYPE || \
-- (option) == CURLOPT_PROXY_TLSAUTH_USERNAME || \
-- (option) == CURLOPT_PROXYPASSWORD || \
-- (option) == CURLOPT_PROXYUSERNAME || \
-- (option) == CURLOPT_PROXYUSERPWD || \
-- (option) == CURLOPT_RANDOM_FILE || \
-- (option) == CURLOPT_RANGE || \
-- (option) == CURLOPT_REDIR_PROTOCOLS_STR || \
-- (option) == CURLOPT_REFERER || \
-- (option) == CURLOPT_REQUEST_TARGET || \
-- (option) == CURLOPT_RTSP_SESSION_ID || \
-- (option) == CURLOPT_RTSP_STREAM_URI || \
-- (option) == CURLOPT_RTSP_TRANSPORT || \
-- (option) == CURLOPT_SASL_AUTHZID || \
-- (option) == CURLOPT_SERVICE_NAME || \
-- (option) == CURLOPT_SOCKS5_GSSAPI_SERVICE || \
-- (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 || \
-- (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 || \
-- (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_TLS13_CIPHERS || \
-- (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_AWS_SIGV4 || \
-- (option) == CURLOPT_USERPWD || \
-- (option) == CURLOPT_XOAUTH2_BEARER || \
-- (option) == CURLOPT_SSL_EC_CURVES || \
-- 0)
--#define curlcheck_write_cb_option(option) \
-- ((option) == CURLOPT_HEADERFUNCTION || \
-- (option) == CURLOPT_WRITEFUNCTION)
--#define curlcheck_conv_cb_option(option) \
-- ((option) == CURLOPT_CONV_TO_NETWORK_FUNCTION || \
-- (option) == CURLOPT_CONV_FROM_NETWORK_FUNCTION || \
-- (option) == CURLOPT_CONV_FROM_UTF8_FUNCTION)
--#define curlcheck_cb_data_option(option) \
-- ((option) == CURLOPT_CHUNK_DATA || \
-- (option) == CURLOPT_CLOSESOCKETDATA || \
-- (option) == CURLOPT_DEBUGDATA || \
-- (option) == CURLOPT_FNMATCH_DATA || \
-- (option) == CURLOPT_HEADERDATA || \
-- (option) == CURLOPT_HSTSREADDATA || \
-- (option) == CURLOPT_HSTSWRITEDATA || \
-- (option) == CURLOPT_INTERLEAVEDATA || \
-- (option) == CURLOPT_IOCTLDATA || \
-- (option) == CURLOPT_OPENSOCKETDATA || \
-- (option) == CURLOPT_PREREQDATA || \
-- (option) == CURLOPT_PROGRESSDATA || \
-- (option) == CURLOPT_READDATA || \
-- (option) == CURLOPT_SEEKDATA || \
-- (option) == CURLOPT_SOCKOPTDATA || \
-- (option) == CURLOPT_SSH_KEYDATA || \
-- (option) == CURLOPT_SSL_CTX_DATA || \
-- (option) == CURLOPT_WRITEDATA || \
-- (option) == CURLOPT_RESOLVER_START_DATA || \
-- (option) == CURLOPT_TRAILERDATA || \
-- (option) == CURLOPT_SSH_HOSTKEYDATA || \
-- 0)
--#define curlcheck_postfields_option(option) \
-- ((option) == CURLOPT_POSTFIELDS || \
-- (option) == CURLOPT_COPYPOSTFIELDS || \
-- 0)
--#define curlcheck_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 || \
-- (option) == CURLOPT_CONNECT_TO || \
-- 0)
--#define curlcheck_string_info(info) \
-- (CURLINFO_STRING < (info) && (info) < CURLINFO_LONG && \
-- (info) != CURLINFO_PRIVATE)
--#define curlcheck_long_info(info) \
-- (CURLINFO_LONG < (info) && (info) < CURLINFO_DOUBLE)
--#define curlcheck_double_info(info) \
-- (CURLINFO_DOUBLE < (info) && (info) < CURLINFO_SLIST)
--#define curlcheck_slist_info(info) \
-- (((info) == CURLINFO_SSL_ENGINES) || ((info) == CURLINFO_COOKIELIST))
--#define curlcheck_tlssessioninfo_info(info) \
-- (((info) == CURLINFO_TLS_SSL_PTR) || ((info) == CURLINFO_TLS_SESSION))
--#define curlcheck_certinfo_info(info) ((info) == CURLINFO_CERTINFO)
--#define curlcheck_socket_info(info) \
-- (CURLINFO_SOCKET < (info) && (info) < CURLINFO_OFF_T)
--#define curlcheck_off_t_info(info) \
-- (CURLINFO_OFF_T < (info))
--#define curlcheck_any_ptr(expr) \
-- (sizeof(expr) == sizeof(void *))
--#define curlcheck_NULL(expr) \
-- (__builtin_types_compatible_p(__typeof__(expr), __typeof__(NULL)))
--#define curlcheck_ptr(expr, type) \
-- (curlcheck_NULL(expr) || \
-- __builtin_types_compatible_p(__typeof__(expr), type *) || \
-- __builtin_types_compatible_p(__typeof__(expr), const type *))
--#define curlcheck_arr(expr, type) \
-- (curlcheck_ptr((expr), type) || \
-- __builtin_types_compatible_p(__typeof__(expr), type []))
--#define curlcheck_string(expr) \
-- (curlcheck_arr((expr), char) || \
-- curlcheck_arr((expr), signed char) || \
-- curlcheck_arr((expr), unsigned char))
--#define curlcheck_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))
--#define curlcheck_off_t(expr) \
-- (__builtin_types_compatible_p(__typeof__(expr), curl_off_t))
--#define curlcheck_error_buffer(expr) \
-- (curlcheck_NULL(expr) || \
-- __builtin_types_compatible_p(__typeof__(expr), char *) || \
-- __builtin_types_compatible_p(__typeof__(expr), char[]))
--#if 0
--#define curlcheck_cb_data(expr) \
-- (curlcheck_ptr((expr), void) || \
-- curlcheck_ptr((expr), FILE))
--#else
--#define curlcheck_cb_data(expr) \
-- curlcheck_any_ptr(expr)
--#endif
--#define curlcheck_FILE(expr) \
-- (curlcheck_NULL(expr) || \
-- (__builtin_types_compatible_p(__typeof__(expr), FILE *)))
--#define curlcheck_postfields(expr) \
-- (curlcheck_ptr((expr), void) || \
-- curlcheck_arr((expr), char) || \
-- curlcheck_arr((expr), unsigned char))
--#define curlcheck_cb_compatible(func, type) \
-- (__builtin_types_compatible_p(__typeof__(func), type) || \
-- __builtin_types_compatible_p(__typeof__(func) *, type))
--#define curlcheck_resolver_start_callback(expr) \
-- (curlcheck_NULL(expr) || \
-- curlcheck_cb_compatible((expr), curl_resolver_start_callback))
--#define curlcheck_read_cb(expr) \
-- (curlcheck_NULL(expr) || \
-- curlcheck_cb_compatible((expr), __typeof__(fread) *) || \
-- curlcheck_cb_compatible((expr), curl_read_callback) || \
-- curlcheck_cb_compatible((expr), _curl_read_callback1) || \
-- curlcheck_cb_compatible((expr), _curl_read_callback2) || \
-- curlcheck_cb_compatible((expr), _curl_read_callback3) || \
-- curlcheck_cb_compatible((expr), _curl_read_callback4) || \
-- curlcheck_cb_compatible((expr), _curl_read_callback5) || \
-- curlcheck_cb_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 *);
--#define curlcheck_write_cb(expr) \
-- (curlcheck_read_cb(expr) || \
-- curlcheck_cb_compatible((expr), __typeof__(fwrite) *) || \
-- curlcheck_cb_compatible((expr), curl_write_callback) || \
-- curlcheck_cb_compatible((expr), _curl_write_callback1) || \
-- curlcheck_cb_compatible((expr), _curl_write_callback2) || \
-- curlcheck_cb_compatible((expr), _curl_write_callback3) || \
-- curlcheck_cb_compatible((expr), _curl_write_callback4) || \
-- curlcheck_cb_compatible((expr), _curl_write_callback5) || \
-- curlcheck_cb_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 *);
--#define curlcheck_ioctl_cb(expr) \
-- (curlcheck_NULL(expr) || \
-- curlcheck_cb_compatible((expr), curl_ioctl_callback) || \
-- curlcheck_cb_compatible((expr), _curl_ioctl_callback1) || \
-- curlcheck_cb_compatible((expr), _curl_ioctl_callback2) || \
-- curlcheck_cb_compatible((expr), _curl_ioctl_callback3) || \
-- curlcheck_cb_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 *);
--#define curlcheck_sockopt_cb(expr) \
-- (curlcheck_NULL(expr) || \
-- curlcheck_cb_compatible((expr), curl_sockopt_callback) || \
-- curlcheck_cb_compatible((expr), _curl_sockopt_callback1) || \
-- curlcheck_cb_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);
--#define curlcheck_opensocket_cb(expr) \
-- (curlcheck_NULL(expr) || \
-- curlcheck_cb_compatible((expr), curl_opensocket_callback) || \
-- curlcheck_cb_compatible((expr), _curl_opensocket_callback1) || \
-- curlcheck_cb_compatible((expr), _curl_opensocket_callback2) || \
-- curlcheck_cb_compatible((expr), _curl_opensocket_callback3) || \
-- curlcheck_cb_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 *);
--#define curlcheck_progress_cb(expr) \
-- (curlcheck_NULL(expr) || \
-- curlcheck_cb_compatible((expr), curl_progress_callback) || \
-- curlcheck_cb_compatible((expr), _curl_progress_callback1) || \
-- curlcheck_cb_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);
--#define curlcheck_debug_cb(expr) \
-- (curlcheck_NULL(expr) || \
-- curlcheck_cb_compatible((expr), curl_debug_callback) || \
-- curlcheck_cb_compatible((expr), _curl_debug_callback1) || \
-- curlcheck_cb_compatible((expr), _curl_debug_callback2) || \
-- curlcheck_cb_compatible((expr), _curl_debug_callback3) || \
-- curlcheck_cb_compatible((expr), _curl_debug_callback4) || \
-- curlcheck_cb_compatible((expr), _curl_debug_callback5) || \
-- curlcheck_cb_compatible((expr), _curl_debug_callback6) || \
-- curlcheck_cb_compatible((expr), _curl_debug_callback7) || \
-- curlcheck_cb_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 *);
--#define curlcheck_ssl_ctx_cb(expr) \
-- (curlcheck_NULL(expr) || \
-- curlcheck_cb_compatible((expr), curl_ssl_ctx_callback) || \
-- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback1) || \
-- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback2) || \
-- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback3) || \
-- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback4) || \
-- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback5) || \
-- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback6) || \
-- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback7) || \
-- curlcheck_cb_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
--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
--#define curlcheck_conv_cb(expr) \
-- (curlcheck_NULL(expr) || \
-- curlcheck_cb_compatible((expr), curl_conv_callback) || \
-- curlcheck_cb_compatible((expr), _curl_conv_callback1) || \
-- curlcheck_cb_compatible((expr), _curl_conv_callback2) || \
-- curlcheck_cb_compatible((expr), _curl_conv_callback3) || \
-- curlcheck_cb_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);
--#define curlcheck_seek_cb(expr) \
-- (curlcheck_NULL(expr) || \
-- curlcheck_cb_compatible((expr), curl_seek_callback) || \
-- curlcheck_cb_compatible((expr), _curl_seek_callback1) || \
-- curlcheck_cb_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
--#else
--#if defined(__STDC__) && (__STDC__ >= 1)
--#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
--#endif
-+#include <curl/curl.h>
- #endif
-
-
-@@ -57759,7 +55203,7 @@ class zpaqfranzsftp2
- #ifndef _WIN32
- int kickstartlinux()
- {
-- myprintf("38151: You should get libcurl.so, for example\n");
-+ myprintf("38151: You should get libcurl.so.4, for example\n");
- #ifdef __APPLE__
- myprintf("38158: macOS :brew install curl\n");
- #else
-@@ -57775,7 +55219,7 @@ class zpaqfranzsftp2
- myprintf("38155: Alma Linux :dnf install curl\n");
- myprintf("38156: Alma Linux :sudo dnf install curl\n");
- myprintf("38157: Amazon Linux (v2+):dnf install curl\n");
-- myprintf("38158: Fedora :dnf install curl\n");
-+ myprintf("38158: Fedora :dnf install libcurl-full\n");
- myprintf("38159: Oracle Linux (v8+):dnf install curl\n");
- myprintf("38160: Rocky Linux :dnf install curl\n");
-
-@@ -58024,7 +55468,7 @@ class zpaqfranzsftp2
-
- if (!hModule)
- {
-- myprintf("46919$ Cannot load libcurl.so, sorry\n");
-+ myprintf("46919$ Cannot load libcurl.so.4, sorry\n");
- #ifdef _WIN32
- (void)kickstart();
- #endif
---
-2.53.0
-
diff --git a/zpaqfranz-65.1-Unbundle-curl.h-and-load-curl-DSO-by-a-bare-file-nam.patch b/zpaqfranz-65.1-Unbundle-curl.h-and-load-curl-DSO-by-a-bare-file-nam.patch
new file mode 100644
index 0000000..639ae57
--- /dev/null
+++ b/zpaqfranz-65.1-Unbundle-curl.h-and-load-curl-DSO-by-a-bare-file-nam.patch
@@ -0,0 +1,2638 @@
+From 89e6016fbf2590f5c6148507a4b51ca820a62093 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
+Date: Mon, 21 Sep 2026 13:18:13 +0200
+Subject: [PATCH] Unbundle curl.h and load curl DSO by a bare file name
+
+Fedora packages run-time curl library under libcurl.so.4 file name.
+---
+ zpaqfranz.cpp | 2570 +------------------------------------------------
+ 1 file changed, 7 insertions(+), 2563 deletions(-)
+
+diff --git a/zpaqfranz.cpp b/zpaqfranz.cpp
+index 95e7469..812611c 100644
+--- a/zpaqfranz.cpp
++++ b/zpaqfranz.cpp
+@@ -1152,23 +1152,6 @@ furnished to do so, subject to the following conditions:
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+
+-24 [MIT-like] curl command line tool and library https://curl.se/
+- /// LICENSE_START.24
+- /// LICENSE_END.24
+-COPYRIGHT AND PERMISSION NOTICE
+-Copyright (c) 1996 - 2025, Daniel Stenberg, daniel@haxx.se, and many contributors, see the THANKS file.
+-All rights reserved.
+-Permission to use, copy, modify, and distribute this software for any purpose with or without fee
+-is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
+-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+-TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+-OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+-Except as contained in this notice, the name of a copyright holder shall not be used in advertising or
+-otherwise to promote the sale, use or other dealings in this Software without prior written
+-authorization of the copyright holder.
+-
+
+ 25 [LGPL] https://github.com/libfuse/libfuse
+ /// LICENSE_START.25
+@@ -1642,10 +1625,10 @@ If you define -DSFTP during compilation, the program will dynamically use the
+ libcurl library, if it is available.
+ On Windows systems, this refers to the libcurl-x64.dll/libcurl.dll.
+ This DLL can be downloaded from the author's website simply by running zpaqfranz sftp.
+-For *nix systems, it is typically named libcurl.so (or something similar) and must be
++For *nix systems, it is typically named libcurl.so.4 (or something similar) and must be
+ installed manually, for example, using pkg add libcurl (on FreeBSD) or equivalent commands.
+ If it cannot be made to work, zpaqfranz will return an error.
+-On *nix systems, the location of libcurl.so might not be known: there are many different systems,
++On *nix systems, the location of libcurl.so.4 might not be known: there are many different systems,
+ and it can be found almost anywhere.
+ Therefore, you need to ensure it is in the current path
+
+@@ -1886,7 +1869,7 @@ g++ -O3 zpaqfranz.cpp -o zpaqfranz -pthread
+
+ #ifdef ZPAQFULL ///NOSFTPSTART
+ Debian with SFTP and libcurl
+-This gets a DYNAMIC LOADING of curl library: you must have (somewhere) a libcurl.so!
++This gets a DYNAMIC LOADING of curl library: you must have (somewhere) a libcurl.so.4!
+ g++ -O3 -DSFTP -DHWSHA2 zpaqfranz.cpp -o zpaqfranz -pthread -s -ldl -Wall -Wpedantic
+
+ Making DLL on Windows (highly experimental)
+@@ -2237,2546 +2220,7 @@ std::string g_mountbackend= "auto"; // -backend auto|core|jidac (see franzmount:
+ /// LICENSE_START.24
+
+ #ifdef SFTP
+-/***************************************************************************
+- * _ _ ____ _
+- * Project ___| | | | _ \| |
+- * / __| | | | |_) | |
+- * | (__| |_| | _ <| |___
+- * \___|\___/|_| \_\_____|
+- *
+- * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
+- *
+- * This software is licensed as described in the file COPYING, which
+- * you should have received as part of this distribution. The terms
+- * are also available at https://curl.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.
+- *
+- * SPDX-License-Identifier: curl
+- *
+- ***************************************************************************/
+-
+-/*
+- * If you have libcurl problems, all docs and details are found here:
+- * https://curl.se/libcurl/
+- */
+-
+-/// This is a bit reworked header
+-
+-#if (defined(__GNUC__) && \
+- ((__GNUC__ > 12) || ((__GNUC__ == 12) && (__GNUC_MINOR__ >= 1))) || \
+- (defined(__clang__) && __clang_major__ >= 3) || \
+- defined(__IAR_SYSTEMS_ICC__)) && \
+- !defined(__INTEL_COMPILER) && \
+- !defined(CURL_DISABLE_DEPRECATION) && !defined(BUILDING_LIBCURL)
+-#define CURL_DEPRECATED(version, message) \
+- __attribute__((deprecated("since " # version ". " message)))
+-#if defined(__IAR_SYSTEMS_ICC__)
+-#define CURL_IGNORE_DEPRECATION(statements) \
+- _Pragma("diag_suppress=Pe1444") \
+- statements \
+- _Pragma("diag_default=Pe1444")
+-#else
+-#define CURL_IGNORE_DEPRECATION(statements) \
+- _Pragma("GCC diagnostic push") \
+- _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
+- statements \
+- _Pragma("GCC diagnostic pop")
+-#endif
+-#else
+-#define CURL_DEPRECATED(version, message)
+-#define CURL_IGNORE_DEPRECATION(statements) statements
+-#endif
+-#ifndef CURLINC_SYSTEM_H
+-#define CURLINC_SYSTEM_H
+-#if defined(__DJGPP__) || defined(__GO32__)
+-# if defined(__DJGPP__) && (__DJGPP__ > 1)
+-# define CURL_TYPEOF_CURL_OFF_T long long
+-# define CURL_FORMAT_CURL_OFF_T "lld"
+-# define CURL_FORMAT_CURL_OFF_TU "llu"
+-# define CURL_SUFFIX_CURL_OFF_T LL
+-# define CURL_SUFFIX_CURL_OFF_TU ULL
+-# else
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# define CURL_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# endif
+-# define CURL_TYPEOF_CURL_SOCKLEN_T int
+-#elif defined(__SALFORDC__)
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# define CURL_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# define CURL_TYPEOF_CURL_SOCKLEN_T int
+-#elif defined(__BORLANDC__)
+-# if (__BORLANDC__ < 0x520)
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# define CURL_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# else
+-# define CURL_TYPEOF_CURL_OFF_T __int64
+-# define CURL_FORMAT_CURL_OFF_T "I64d"
+-# define CURL_FORMAT_CURL_OFF_TU "I64u"
+-# define CURL_SUFFIX_CURL_OFF_T i64
+-# define CURL_SUFFIX_CURL_OFF_TU ui64
+-# endif
+-# define CURL_TYPEOF_CURL_SOCKLEN_T int
+-#elif defined(__TURBOC__)
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# define CURL_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# define CURL_TYPEOF_CURL_SOCKLEN_T int
+-#elif defined(__POCC__)
+-# if (__POCC__ < 280)
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# define CURL_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# elif defined(_MSC_VER)
+-# define CURL_TYPEOF_CURL_OFF_T __int64
+-# define CURL_FORMAT_CURL_OFF_T "I64d"
+-# define CURL_FORMAT_CURL_OFF_TU "I64u"
+-# define CURL_SUFFIX_CURL_OFF_T i64
+-# define CURL_SUFFIX_CURL_OFF_TU ui64
+-# else
+-# define CURL_TYPEOF_CURL_OFF_T long long
+-# define CURL_FORMAT_CURL_OFF_T "lld"
+-# define CURL_FORMAT_CURL_OFF_TU "llu"
+-# define CURL_SUFFIX_CURL_OFF_T LL
+-# define CURL_SUFFIX_CURL_OFF_TU ULL
+-# endif
+-# define CURL_TYPEOF_CURL_SOCKLEN_T int
+-#elif defined(__LCC__)
+-# if defined(__MCST__)
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# define CURL_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+-# define CURL_PULL_SYS_TYPES_H 1
+-# define CURL_PULL_SYS_SOCKET_H 1
+-# else
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# define CURL_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# define CURL_TYPEOF_CURL_SOCKLEN_T int
+-# endif
+-#elif defined(macintosh)
+-# include <ConditionalMacros.h>
+-# if TYPE_LONGLONG
+-# define CURL_TYPEOF_CURL_OFF_T long long
+-# define CURL_FORMAT_CURL_OFF_T "lld"
+-# define CURL_FORMAT_CURL_OFF_TU "llu"
+-# define CURL_SUFFIX_CURL_OFF_T LL
+-# define CURL_SUFFIX_CURL_OFF_TU ULL
+-# else
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# define CURL_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# endif
+-# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
+-#elif defined(__TANDEM)
+-# if ! defined(__LP64)
+-# define CURL_TYPEOF_CURL_OFF_T long long
+-# define CURL_FORMAT_CURL_OFF_T "lld"
+-# define CURL_FORMAT_CURL_OFF_TU "llu"
+-# define CURL_SUFFIX_CURL_OFF_T LL
+-# define CURL_SUFFIX_CURL_OFF_TU ULL
+-# define CURL_TYPEOF_CURL_SOCKLEN_T int
+-# endif
+-#elif defined(_WIN32_WCE)
+-# define CURL_TYPEOF_CURL_OFF_T __int64
+-# define CURL_FORMAT_CURL_OFF_T "I64d"
+-# define CURL_FORMAT_CURL_OFF_TU "I64u"
+-# define CURL_SUFFIX_CURL_OFF_T i64
+-# define CURL_SUFFIX_CURL_OFF_TU ui64
+-# define CURL_TYPEOF_CURL_SOCKLEN_T int
+-#elif defined(__MINGW32__)
+-# include <inttypes.h>
+-# define CURL_TYPEOF_CURL_OFF_T long long
+-# define CURL_FORMAT_CURL_OFF_T PRId64
+-# define CURL_FORMAT_CURL_OFF_TU PRIu64
+-# define CURL_SUFFIX_CURL_OFF_T LL
+-# define CURL_SUFFIX_CURL_OFF_TU ULL
+-# define CURL_TYPEOF_CURL_SOCKLEN_T int
+-# define CURL_PULL_SYS_TYPES_H 1
+-#elif defined(__VMS)
+-# if defined(__VAX)
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# define CURL_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# else
+-# define CURL_TYPEOF_CURL_OFF_T long long
+-# define CURL_FORMAT_CURL_OFF_T "lld"
+-# define CURL_FORMAT_CURL_OFF_TU "llu"
+-# define CURL_SUFFIX_CURL_OFF_T LL
+-# define CURL_SUFFIX_CURL_OFF_TU ULL
+-# endif
+-# define CURL_TYPEOF_CURL_SOCKLEN_T unsigned int
+-#elif defined(__OS400__)
+-# define CURL_TYPEOF_CURL_OFF_T long long
+-# define CURL_FORMAT_CURL_OFF_T "lld"
+-# define CURL_FORMAT_CURL_OFF_TU "llu"
+-# define CURL_SUFFIX_CURL_OFF_T LL
+-# define CURL_SUFFIX_CURL_OFF_TU ULL
+-# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+-# define CURL_PULL_SYS_TYPES_H 1
+-# define CURL_PULL_SYS_SOCKET_H 1
+-#elif defined(__MVS__)
+-# 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_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_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_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# endif
+-# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+-# define CURL_PULL_SYS_TYPES_H 1
+-# define CURL_PULL_SYS_SOCKET_H 1
+-#elif defined(__370__)
+-# if defined(__IBMC__) || defined(__IBMCPP__)
+-# if defined(_ILP32)
+-# elif defined(_LP64)
+-# 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_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_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_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# endif
+-# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+-# define CURL_PULL_SYS_TYPES_H 1
+-# define CURL_PULL_SYS_SOCKET_H 1
+-# endif
+-#elif defined(TPF)
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# define CURL_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# define CURL_TYPEOF_CURL_SOCKLEN_T int
+-#elif defined(__TINYC__)
+-# define CURL_TYPEOF_CURL_OFF_T long long
+-# define CURL_FORMAT_CURL_OFF_T "lld"
+-# define CURL_FORMAT_CURL_OFF_TU "llu"
+-# define CURL_SUFFIX_CURL_OFF_T LL
+-# define CURL_SUFFIX_CURL_OFF_TU ULL
+-# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+-# define CURL_PULL_SYS_TYPES_H 1
+-# define CURL_PULL_SYS_SOCKET_H 1
+-#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+-# if !defined(__LP64) && (defined(__ILP32) || \
+- defined(__i386) || \
+- defined(__sparcv8) || \
+- defined(__sparcv8plus))
+-# define CURL_TYPEOF_CURL_OFF_T long long
+-# define CURL_FORMAT_CURL_OFF_T "lld"
+-# define CURL_FORMAT_CURL_OFF_TU "llu"
+-# define CURL_SUFFIX_CURL_OFF_T LL
+-# define CURL_SUFFIX_CURL_OFF_TU ULL
+-# elif defined(__LP64) || \
+- defined(__amd64) || defined(__sparcv9)
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# 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_PULL_SYS_TYPES_H 1
+-# define CURL_PULL_SYS_SOCKET_H 1
+-#elif defined(__xlc__)
+-# if !defined(_LP64)
+-# define CURL_TYPEOF_CURL_OFF_T long long
+-# define CURL_FORMAT_CURL_OFF_T "lld"
+-# define CURL_FORMAT_CURL_OFF_TU "llu"
+-# define CURL_SUFFIX_CURL_OFF_T LL
+-# define CURL_SUFFIX_CURL_OFF_TU ULL
+-# else
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# 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_PULL_SYS_TYPES_H 1
+-# define CURL_PULL_SYS_SOCKET_H 1
+-#elif defined(__hpux)
+-# if !defined(_LP64)
+-# define CURL_TYPEOF_CURL_OFF_T long long
+-# define CURL_FORMAT_CURL_OFF_T "lld"
+-# define CURL_FORMAT_CURL_OFF_TU "llu"
+-# define CURL_SUFFIX_CURL_OFF_T LL
+-# define CURL_SUFFIX_CURL_OFF_TU ULL
+-# else
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# 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_PULL_SYS_TYPES_H 1
+-# define CURL_PULL_SYS_SOCKET_H 1
+-#elif defined(_MSC_VER)
+-# if (_MSC_VER >= 1800)
+-# include <inttypes.h>
+-# define CURL_TYPEOF_CURL_OFF_T __int64
+-# define CURL_FORMAT_CURL_OFF_T PRId64
+-# define CURL_FORMAT_CURL_OFF_TU PRIu64
+-# define CURL_SUFFIX_CURL_OFF_T i64
+-# define CURL_SUFFIX_CURL_OFF_TU ui64
+-# elif (_MSC_VER >= 900) && (_INTEGRAL_MAX_BITS >= 64)
+-# define CURL_TYPEOF_CURL_OFF_T __int64
+-# define CURL_FORMAT_CURL_OFF_T "I64d"
+-# define CURL_FORMAT_CURL_OFF_TU "I64u"
+-# define CURL_SUFFIX_CURL_OFF_T i64
+-# define CURL_SUFFIX_CURL_OFF_TU ui64
+-# else
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# define CURL_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# endif
+-# define CURL_TYPEOF_CURL_SOCKLEN_T int
+-#elif defined(__GNUC__) && !defined(_SCO_DS)
+-# if !defined(__LP64__) && \
+- (defined(__ILP32__) || defined(__i386__) || defined(__hppa__) || \
+- defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || \
+- defined(__sparc__) || defined(__mips__) || defined(__sh__) || \
+- defined(__XTENSA__) || \
+- (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 4) || \
+- (defined(__LONG_MAX__) && __LONG_MAX__ == 2147483647L))
+-# define CURL_TYPEOF_CURL_OFF_T long long
+-# define CURL_FORMAT_CURL_OFF_T "lld"
+-# define CURL_FORMAT_CURL_OFF_TU "llu"
+-# define CURL_SUFFIX_CURL_OFF_T LL
+-# define CURL_SUFFIX_CURL_OFF_TU ULL
+-# elif defined(__LP64__) || \
+- defined(__x86_64__) || defined(__ppc64__) || defined(__sparc64__) || \
+- defined(__e2k__) || \
+- (defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 8) || \
+- (defined(__LONG_MAX__) && __LONG_MAX__ == 9223372036854775807L)
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# 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_PULL_SYS_TYPES_H 1
+-# define CURL_PULL_SYS_SOCKET_H 1
+-#else
+-# define CURL_TYPEOF_CURL_OFF_T long
+-# define CURL_FORMAT_CURL_OFF_T "ld"
+-# define CURL_FORMAT_CURL_OFF_TU "lu"
+-# define CURL_SUFFIX_CURL_OFF_T L
+-# define CURL_SUFFIX_CURL_OFF_TU UL
+-# define CURL_TYPEOF_CURL_SOCKLEN_T int
+-#endif
+-#ifdef _AIX
+-#define CURL_PULL_SYS_POLL_H
+-#endif
+-#ifdef CURL_PULL_SYS_TYPES_H
+-# include <sys/types.h>
+-#endif
+-#ifdef CURL_PULL_SYS_SOCKET_H
+-# include <sys/socket.h>
+-#endif
+-#ifdef CURL_PULL_SYS_POLL_H
+-# include <sys/poll.h>
+-#endif
+-#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
+- typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
+-#endif
+-#ifdef CURL_TYPEOF_CURL_OFF_T
+- typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;
+-#endif
+-#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \
+- defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \
+- defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \
+- defined(__ILEC400__)
+-#define CURL_ISOCPP
+-#else
+-#undef CURL_ISOCPP
+-#endif
+-#if defined(__BORLANDC__) && (__BORLANDC__ == 0x0551)
+-# define CURLINC_OFF_T_C_HLPR2(x) x
+-# define CURLINC_OFF_T_C_HLPR1(x) CURLINC_OFF_T_C_HLPR2(x)
+-# define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \
+- CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_T)
+-# define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val) ## \
+- CURLINC_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_TU)
+-#else
+-# ifdef CURL_ISOCPP
+-# define CURLINC_OFF_T_C_HLPR2(Val,Suffix) Val ## Suffix
+-# else
+-# define CURLINC_OFF_T_C_HLPR2(Val,Suffix) ValSuffix
+-# endif
+-# define CURLINC_OFF_T_C_HLPR1(Val,Suffix) CURLINC_OFF_T_C_HLPR2(Val,Suffix)
+-# define CURL_OFF_T_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_T)
+-# define CURL_OFF_TU_C(Val) CURLINC_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_TU)
+-#endif
+-#endif
+-#include <stdio.h>
+-#include <limits.h>
+-#if defined(__FreeBSD__) || defined(__MidnightBSD__)
+-#include <sys/param.h>
+-#endif
+-#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))
+-#include <winsock2.h>
+-#include <ws2tcpip.h>
+-#endif
+-#endif
+-#if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \
+- defined(__minix) || defined(__INTEGRITY) || \
+- defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \
+- defined(__CYGWIN__) || defined(AMIGA) || defined(__NuttX__) || \
+- (defined(__FreeBSD_version) && (__FreeBSD_version < 800000)) || \
+- (defined(__MidnightBSD_version) && (__MidnightBSD_version < 100000)) || \
+- defined(__sun__) || defined(__serenity__) || defined(__vxworks__)
+-#include <sys/select.h>
+-#endif
+-#if !defined(_WIN32) && !defined(_WIN32_WCE)
+-#include <sys/socket.h>
+-#endif
+-#if !defined(_WIN32)
+-#include <sys/time.h>
+-#endif
+-#ifndef __has_declspec_attribute
+-# define __has_declspec_attribute(x) 0
+-#endif
+-typedef void CURL;
+-typedef void CURLSH;
+-#ifdef CURL_STATICLIB
+-# define CURL_EXTERN
+-#elif defined(_WIN32) || \
+- (__has_declspec_attribute(dllexport) && \
+- __has_declspec_attribute(dllimport))
+-# 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
+-#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
+-typedef enum {
+- CURLSSLBACKEND_NONE = 0,
+- CURLSSLBACKEND_OPENSSL = 1,
+- CURLSSLBACKEND_GNUTLS = 2,
+- CURLSSLBACKEND_NSS CURL_DEPRECATED(8.3.0, "") = 3,
+- CURLSSLBACKEND_OBSOLETE4 = 4,
+- CURLSSLBACKEND_GSKIT CURL_DEPRECATED(8.3.0, "") = 5,
+- CURLSSLBACKEND_POLARSSL CURL_DEPRECATED(7.69.0, "") = 6,
+- CURLSSLBACKEND_WOLFSSL = 7,
+- CURLSSLBACKEND_SCHANNEL = 8,
+- CURLSSLBACKEND_SECURETRANSPORT = 9,
+- CURLSSLBACKEND_AXTLS CURL_DEPRECATED(7.61.0, "") = 10,
+- CURLSSLBACKEND_MBEDTLS = 11,
+- CURLSSLBACKEND_MESALINK CURL_DEPRECATED(7.82.0, "") = 12,
+- CURLSSLBACKEND_BEARSSL = 13,
+- CURLSSLBACKEND_RUSTLS = 14
+-} curl_sslbackend;
+-struct curl_httppost {
+- struct curl_httppost *next;
+- char *name;
+- long namelength;
+- char *contents;
+- long contentslength;
+- char *buffer;
+- long bufferlength;
+- char *contenttype;
+- struct curl_slist *contentheader;
+- struct curl_httppost *more;
+- long flags;
+- char *showfilename;
+- void *userp;
+- curl_off_t contentlen;
+-};
+-typedef int (*curl_progress_callback)(void *clientp,
+- double dltotal,
+- double dlnow,
+- double ultotal,
+- double ulnow);
+-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
+-#define CURL_MAX_READ_SIZE (10*1024*1024)
+-#endif
+-#ifndef CURL_MAX_WRITE_SIZE
+-#define CURL_MAX_WRITE_SIZE 16384
+-#endif
+-#ifndef CURL_MAX_HTTP_HEADER
+-#define CURL_MAX_HTTP_HEADER (100*1024)
+-#endif
+-typedef size_t (*curl_write_callback)(char *buffer,
+- size_t size,
+- size_t nitems,
+- void *outstream);
+-typedef int (*curl_resolver_start_callback)(void *resolver_state,
+- void *reserved, void *userdata);
+-typedef enum {
+- CURLFILETYPE_FILE = 0,
+- CURLFILETYPE_DIRECTORY,
+- CURLFILETYPE_SYMLINK,
+- CURLFILETYPE_DEVICE_BLOCK,
+- CURLFILETYPE_DEVICE_CHAR,
+- CURLFILETYPE_NAMEDPIPE,
+- CURLFILETYPE_SOCKET,
+- CURLFILETYPE_DOOR,
+- CURLFILETYPE_UNKNOWN
+-} curlfiletype;
+-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 {
+- char *time;
+- char *perm;
+- char *user;
+- char *group;
+- char *target;
+- } strings;
+- unsigned int flags;
+- char *b_data;
+- size_t b_size;
+- size_t b_used;
+-};
+-typedef long (*curl_chunk_bgn_callback)(const void *transfer_info,
+- void *ptr,
+- int remains);
+-typedef long (*curl_chunk_end_callback)(void *ptr);
+-typedef int (*curl_fnmatch_callback)(void *ptr,
+- const char *pattern,
+- const char *string);
+-typedef int (*curl_seek_callback)(void *instream,
+- curl_off_t offset,
+- int origin);
+-typedef size_t (*curl_read_callback)(char *buffer,
+- size_t size,
+- size_t nitems,
+- void *instream);
+-typedef int (*curl_trailer_callback)(struct curl_slist **list,
+- void *userdata);
+-typedef enum {
+- CURLSOCKTYPE_IPCXN,
+- CURLSOCKTYPE_ACCEPT,
+- CURLSOCKTYPE_LAST
+-} curlsocktype;
+-#define CURL_SOCKOPT_OK 0
+-#define CURL_SOCKOPT_ERROR 1
+-#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;
+- 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,
+- CURLIOE_UNKNOWNCMD,
+- CURLIOE_FAILRESTART,
+- CURLIOE_LAST
+-} curlioerr;
+-typedef enum {
+- CURLIOCMD_NOP,
+- CURLIOCMD_RESTARTREAD,
+- CURLIOCMD_LAST
+-} curliocmd;
+-typedef curlioerr (*curl_ioctl_callback)(CURL *handle,
+- int cmd,
+- void *clientp);
+-#ifndef CURL_DID_MEMORY_FUNC_TYPEDEFS
+-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
+-typedef enum {
+- CURLINFO_TEXT = 0,
+- CURLINFO_HEADER_IN,
+- CURLINFO_HEADER_OUT,
+- CURLINFO_DATA_IN,
+- CURLINFO_DATA_OUT,
+- CURLINFO_SSL_DATA_IN,
+- CURLINFO_SSL_DATA_OUT,
+- CURLINFO_END
+-} curl_infotype;
+-typedef int (*curl_debug_callback)
+- (CURL *handle,
+- curl_infotype type,
+- char *data,
+- size_t size,
+- void *userptr);
+-typedef int (*curl_prereq_callback)(void *clientp,
+- char *conn_primary_ip,
+- char *conn_local_ip,
+- int conn_primary_port,
+- int conn_local_port);
+-typedef enum {
+- CURLE_OK = 0,
+- CURLE_UNSUPPORTED_PROTOCOL,
+- CURLE_FAILED_INIT,
+- CURLE_URL_MALFORMAT,
+- CURLE_NOT_BUILT_IN,
+- CURLE_COULDNT_RESOLVE_PROXY,
+- CURLE_COULDNT_RESOLVE_HOST,
+- CURLE_COULDNT_CONNECT,
+- CURLE_WEIRD_SERVER_REPLY,
+- CURLE_REMOTE_ACCESS_DENIED,
+- CURLE_FTP_ACCEPT_FAILED,
+- CURLE_FTP_WEIRD_PASS_REPLY,
+- CURLE_FTP_ACCEPT_TIMEOUT,
+- CURLE_FTP_WEIRD_PASV_REPLY,
+- CURLE_FTP_WEIRD_227_FORMAT,
+- CURLE_FTP_CANT_GET_HOST,
+- CURLE_HTTP2,
+- CURLE_FTP_COULDNT_SET_TYPE,
+- CURLE_PARTIAL_FILE,
+- CURLE_FTP_COULDNT_RETR_FILE,
+- CURLE_OBSOLETE20,
+- CURLE_QUOTE_ERROR,
+- CURLE_HTTP_RETURNED_ERROR,
+- CURLE_WRITE_ERROR,
+- CURLE_OBSOLETE24,
+- CURLE_UPLOAD_FAILED,
+- CURLE_READ_ERROR,
+- CURLE_OUT_OF_MEMORY,
+- CURLE_OPERATION_TIMEDOUT,
+- CURLE_OBSOLETE29,
+- CURLE_FTP_PORT_FAILED,
+- CURLE_FTP_COULDNT_USE_REST,
+- CURLE_OBSOLETE32,
+- CURLE_RANGE_ERROR,
+- CURLE_OBSOLETE34,
+- CURLE_SSL_CONNECT_ERROR,
+- CURLE_BAD_DOWNLOAD_RESUME,
+- CURLE_FILE_COULDNT_READ_FILE,
+- CURLE_LDAP_CANNOT_BIND,
+- CURLE_LDAP_SEARCH_FAILED,
+- CURLE_OBSOLETE40,
+- CURLE_OBSOLETE41,
+- CURLE_ABORTED_BY_CALLBACK,
+- CURLE_BAD_FUNCTION_ARGUMENT,
+- CURLE_OBSOLETE44,
+- CURLE_INTERFACE_FAILED,
+- CURLE_OBSOLETE46,
+- CURLE_TOO_MANY_REDIRECTS,
+- CURLE_UNKNOWN_OPTION,
+- CURLE_SETOPT_OPTION_SYNTAX,
+- CURLE_OBSOLETE50,
+- CURLE_OBSOLETE51,
+- CURLE_GOT_NOTHING,
+- CURLE_SSL_ENGINE_NOTFOUND,
+- CURLE_SSL_ENGINE_SETFAILED,
+- CURLE_SEND_ERROR,
+- CURLE_RECV_ERROR,
+- CURLE_OBSOLETE57,
+- CURLE_SSL_CERTPROBLEM,
+- CURLE_SSL_CIPHER,
+- CURLE_PEER_FAILED_VERIFICATION,
+- CURLE_BAD_CONTENT_ENCODING,
+- CURLE_OBSOLETE62,
+- CURLE_FILESIZE_EXCEEDED,
+- CURLE_USE_SSL_FAILED,
+- CURLE_SEND_FAIL_REWIND,
+- CURLE_SSL_ENGINE_INITFAILED,
+- CURLE_LOGIN_DENIED,
+- CURLE_TFTP_NOTFOUND,
+- CURLE_TFTP_PERM,
+- CURLE_REMOTE_DISK_FULL,
+- CURLE_TFTP_ILLEGAL,
+- CURLE_TFTP_UNKNOWNID,
+- CURLE_REMOTE_FILE_EXISTS,
+- CURLE_TFTP_NOSUCHUSER,
+- CURLE_OBSOLETE75,
+- CURLE_OBSOLETE76,
+- CURLE_SSL_CACERT_BADFILE,
+- CURLE_REMOTE_FILE_NOT_FOUND,
+- CURLE_SSH,
+- CURLE_SSL_SHUTDOWN_FAILED,
+- CURLE_AGAIN,
+- CURLE_SSL_CRL_BADFILE,
+- CURLE_SSL_ISSUER_ERROR,
+- CURLE_FTP_PRET_FAILED,
+- CURLE_RTSP_CSEQ_ERROR,
+- CURLE_RTSP_SESSION_ERROR,
+- CURLE_FTP_BAD_FILE_LIST,
+- CURLE_CHUNK_FAILED,
+- CURLE_NO_CONNECTION_AVAILABLE,
+- CURLE_SSL_PINNEDPUBKEYNOTMATCH,
+- CURLE_SSL_INVALIDCERTSTATUS,
+- CURLE_HTTP2_STREAM,
+- CURLE_RECURSIVE_API_CALL,
+- CURLE_AUTH_ERROR,
+- CURLE_HTTP3,
+- CURLE_QUIC_CONNECT_ERROR,
+- CURLE_PROXY,
+- CURLE_SSL_CLIENTCERT,
+- CURLE_UNRECOVERABLE_POLL,
+- CURLE_TOO_LARGE,
+- CURLE_ECH_REQUIRED,
+- CURL_LAST
+-} CURLcode;
+-typedef enum {
+- CURLPX_OK,
+- CURLPX_BAD_ADDRESS_TYPE,
+- CURLPX_BAD_VERSION,
+- CURLPX_CLOSED,
+- CURLPX_GSSAPI,
+- CURLPX_GSSAPI_PERMSG,
+- CURLPX_GSSAPI_PROTECTION,
+- CURLPX_IDENTD,
+- CURLPX_IDENTD_DIFFER,
+- CURLPX_LONG_HOSTNAME,
+- CURLPX_LONG_PASSWD,
+- CURLPX_LONG_USER,
+- CURLPX_NO_AUTH,
+- CURLPX_RECV_ADDRESS,
+- CURLPX_RECV_AUTH,
+- CURLPX_RECV_CONNECT,
+- CURLPX_RECV_REQACK,
+- CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED,
+- CURLPX_REPLY_COMMAND_NOT_SUPPORTED,
+- CURLPX_REPLY_CONNECTION_REFUSED,
+- CURLPX_REPLY_GENERAL_SERVER_FAILURE,
+- CURLPX_REPLY_HOST_UNREACHABLE,
+- CURLPX_REPLY_NETWORK_UNREACHABLE,
+- CURLPX_REPLY_NOT_ALLOWED,
+- CURLPX_REPLY_TTL_EXPIRED,
+- CURLPX_REPLY_UNASSIGNED,
+- CURLPX_REQUEST_FAILED,
+- CURLPX_RESOLVE_HOST,
+- CURLPX_SEND_AUTH,
+- CURLPX_SEND_CONNECT,
+- CURLPX_SEND_REQUEST,
+- CURLPX_UNKNOWN_FAIL,
+- CURLPX_UNKNOWN_MODE,
+- CURLPX_USER_REJECTED,
+- CURLPX_LAST
+-} CURLproxycode;
+-typedef CURLcode (*curl_conv_callback)(char *buffer, size_t length);
+-typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl,
+- void *ssl_ctx,
+- void *userptr);
+-typedef enum {
+- CURLPROXY_HTTP = 0,
+- CURLPROXY_HTTP_1_0 = 1,
+- CURLPROXY_HTTPS = 2,
+- CURLPROXY_HTTPS2 = 3,
+- CURLPROXY_SOCKS4 = 4,
+- CURLPROXY_SOCKS5 = 5,
+- CURLPROXY_SOCKS4A = 6,
+- CURLPROXY_SOCKS5_HOSTNAME = 7
+-} curl_proxytype;
+-#define CURLSSH_AUTH_ANY ~0
+-#define CURLSSH_AUTH_NONE 0
+-#define CURLSSH_AUTH_PUBLICKEY (1<<0)
+-#define CURLSSH_AUTH_PASSWORD (1<<1)
+-#define CURLSSH_AUTH_HOST (1<<2)
+-#define CURLSSH_AUTH_KEYBOARD (1<<3)
+-#define CURLSSH_AUTH_AGENT (1<<4)
+-#define CURLSSH_AUTH_GSSAPI (1<<5)
+-#define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY
+-#define CURL_ERROR_SIZE 256
+-enum curl_khtype {
+- CURLKHTYPE_UNKNOWN,
+- CURLKHTYPE_RSA1,
+- CURLKHTYPE_RSA,
+- CURLKHTYPE_DSS,
+- CURLKHTYPE_ECDSA,
+- CURLKHTYPE_ED25519
+-};
+-struct curl_khkey {
+- const char *key;
+- size_t len;
+- enum curl_khtype keytype;
+-};
+-enum curl_khstat {
+- CURLKHSTAT_FINE_ADD_TO_FILE,
+- CURLKHSTAT_FINE,
+- CURLKHSTAT_REJECT,
+- CURLKHSTAT_DEFER,
+- CURLKHSTAT_FINE_REPLACE,
+- CURLKHSTAT_LAST
+-};
+-enum curl_khmatch {
+- CURLKHMATCH_OK,
+- CURLKHMATCH_MISMATCH,
+- CURLKHMATCH_MISSING,
+- CURLKHMATCH_LAST
+-};
+-typedef int
+- (*curl_sshkeycallback) (CURL *easy,
+- const struct curl_khkey *knownkey,
+- const struct curl_khkey *foundkey,
+- enum curl_khmatch,
+- void *clientp);
+-typedef int
+- (*curl_sshhostkeycallback) (void *clientp,
+- int keytype,
+- const char *key,
+- size_t keylen);
+-typedef enum {
+- CURLUSESSL_NONE,
+- CURLUSESSL_TRY,
+- CURLUSESSL_CONTROL,
+- CURLUSESSL_ALL,
+- CURLUSESSL_LAST
+-} curl_usessl;
+-typedef enum {
+- CURLFTPSSL_CCC_NONE,
+- CURLFTPSSL_CCC_PASSIVE,
+- CURLFTPSSL_CCC_ACTIVE,
+- CURLFTPSSL_CCC_LAST
+-} curl_ftpccc;
+-typedef enum {
+- CURLFTPAUTH_DEFAULT,
+- CURLFTPAUTH_SSL,
+- CURLFTPAUTH_TLS,
+- CURLFTPAUTH_LAST
+-} curl_ftpauth;
+-typedef enum {
+- CURLFTP_CREATE_DIR_NONE,
+- CURLFTP_CREATE_DIR,
+- CURLFTP_CREATE_DIR_RETRY,
+- CURLFTP_CREATE_DIR_LAST
+-} curl_ftpcreatedir;
+-typedef enum {
+- CURLFTPMETHOD_DEFAULT,
+- CURLFTPMETHOD_MULTICWD,
+- CURLFTPMETHOD_NOCWD,
+- CURLFTPMETHOD_SINGLECWD,
+- CURLFTPMETHOD_LAST
+-} curl_ftpmethod;
+-struct curl_hstsentry {
+- char *name;
+- size_t namelen;
+- unsigned int includeSubDomains:1;
+- char expire[18];
+-};
+-struct curl_index {
+- size_t index;
+- size_t total;
+-};
+-typedef enum {
+- CURLSTS_OK,
+- CURLSTS_DONE,
+- CURLSTS_FAIL
+-} CURLSTScode;
+-typedef CURLSTScode (*curl_hstsread_callback)(CURL *easy,
+- struct curl_hstsentry *e,
+- void *userp);
+-typedef CURLSTScode (*curl_hstswrite_callback)(CURL *easy,
+- struct curl_hstsentry *e,
+- struct curl_index *i,
+- void *userp);
+-#define CURLOPTTYPE_LONG 0
+-#define CURLOPTTYPE_OBJECTPOINT 10000
+-#define CURLOPTTYPE_FUNCTIONPOINT 20000
+-#define CURLOPTTYPE_OFF_T 30000
+-#define CURLOPTTYPE_BLOB 40000
+-#define CURLOPT(na,t,nu) na = t + nu
+-#define CURLOPTDEPRECATED(na,t,nu,v,m) na CURL_DEPRECATED(v,m) = t + nu
+-#define CURLOPTTYPE_STRINGPOINT CURLOPTTYPE_OBJECTPOINT
+-#define CURLOPTTYPE_SLISTPOINT CURLOPTTYPE_OBJECTPOINT
+-#define CURLOPTTYPE_CBPOINT CURLOPTTYPE_OBJECTPOINT
+-#define CURLOPTTYPE_VALUES CURLOPTTYPE_LONG
+-typedef enum {
+- CURLOPT(CURLOPT_WRITEDATA, CURLOPTTYPE_CBPOINT, 1),
+- CURLOPT(CURLOPT_URL, CURLOPTTYPE_STRINGPOINT, 2),
+- CURLOPT(CURLOPT_PORT, CURLOPTTYPE_LONG, 3),
+- CURLOPT(CURLOPT_PROXY, CURLOPTTYPE_STRINGPOINT, 4),
+- CURLOPT(CURLOPT_USERPWD, CURLOPTTYPE_STRINGPOINT, 5),
+- CURLOPT(CURLOPT_PROXYUSERPWD, CURLOPTTYPE_STRINGPOINT, 6),
+- CURLOPT(CURLOPT_RANGE, CURLOPTTYPE_STRINGPOINT, 7),
+- CURLOPT(CURLOPT_READDATA, CURLOPTTYPE_CBPOINT, 9),
+- CURLOPT(CURLOPT_ERRORBUFFER, CURLOPTTYPE_OBJECTPOINT, 10),
+- CURLOPT(CURLOPT_WRITEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 11),
+- CURLOPT(CURLOPT_READFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 12),
+- CURLOPT(CURLOPT_TIMEOUT, CURLOPTTYPE_LONG, 13),
+- CURLOPT(CURLOPT_INFILESIZE, CURLOPTTYPE_LONG, 14),
+- CURLOPT(CURLOPT_POSTFIELDS, CURLOPTTYPE_OBJECTPOINT, 15),
+- CURLOPT(CURLOPT_REFERER, CURLOPTTYPE_STRINGPOINT, 16),
+- CURLOPT(CURLOPT_FTPPORT, CURLOPTTYPE_STRINGPOINT, 17),
+- CURLOPT(CURLOPT_USERAGENT, CURLOPTTYPE_STRINGPOINT, 18),
+- CURLOPT(CURLOPT_LOW_SPEED_LIMIT, CURLOPTTYPE_LONG, 19),
+- CURLOPT(CURLOPT_LOW_SPEED_TIME, CURLOPTTYPE_LONG, 20),
+- CURLOPT(CURLOPT_RESUME_FROM, CURLOPTTYPE_LONG, 21),
+- CURLOPT(CURLOPT_COOKIE, CURLOPTTYPE_STRINGPOINT, 22),
+- CURLOPT(CURLOPT_HTTPHEADER, CURLOPTTYPE_SLISTPOINT, 23),
+- CURLOPTDEPRECATED(CURLOPT_HTTPPOST, CURLOPTTYPE_OBJECTPOINT, 24,
+- 7.56.0, "Use CURLOPT_MIMEPOST"),
+- CURLOPT(CURLOPT_SSLCERT, CURLOPTTYPE_STRINGPOINT, 25),
+- CURLOPT(CURLOPT_KEYPASSWD, CURLOPTTYPE_STRINGPOINT, 26),
+- CURLOPT(CURLOPT_CRLF, CURLOPTTYPE_LONG, 27),
+- CURLOPT(CURLOPT_QUOTE, CURLOPTTYPE_SLISTPOINT, 28),
+- CURLOPT(CURLOPT_HEADERDATA, CURLOPTTYPE_CBPOINT, 29),
+- CURLOPT(CURLOPT_COOKIEFILE, CURLOPTTYPE_STRINGPOINT, 31),
+- CURLOPT(CURLOPT_SSLVERSION, CURLOPTTYPE_VALUES, 32),
+- CURLOPT(CURLOPT_TIMECONDITION, CURLOPTTYPE_VALUES, 33),
+- CURLOPT(CURLOPT_TIMEVALUE, CURLOPTTYPE_LONG, 34),
+- CURLOPT(CURLOPT_CUSTOMREQUEST, CURLOPTTYPE_STRINGPOINT, 36),
+- CURLOPT(CURLOPT_STDERR, CURLOPTTYPE_OBJECTPOINT, 37),
+- CURLOPT(CURLOPT_POSTQUOTE, CURLOPTTYPE_SLISTPOINT, 39),
+- CURLOPT(CURLOPT_VERBOSE, CURLOPTTYPE_LONG, 41),
+- CURLOPT(CURLOPT_HEADER, CURLOPTTYPE_LONG, 42),
+- CURLOPT(CURLOPT_NOPROGRESS, CURLOPTTYPE_LONG, 43),
+- CURLOPT(CURLOPT_NOBODY, CURLOPTTYPE_LONG, 44),
+- CURLOPT(CURLOPT_FAILONERROR, CURLOPTTYPE_LONG, 45),
+- CURLOPT(CURLOPT_UPLOAD, CURLOPTTYPE_LONG, 46),
+- CURLOPT(CURLOPT_POST, CURLOPTTYPE_LONG, 47),
+- CURLOPT(CURLOPT_DIRLISTONLY, CURLOPTTYPE_LONG, 48),
+- CURLOPT(CURLOPT_APPEND, CURLOPTTYPE_LONG, 50),
+- CURLOPT(CURLOPT_NETRC, CURLOPTTYPE_VALUES, 51),
+- CURLOPT(CURLOPT_FOLLOWLOCATION, CURLOPTTYPE_LONG, 52),
+- CURLOPT(CURLOPT_TRANSFERTEXT, CURLOPTTYPE_LONG, 53),
+- CURLOPTDEPRECATED(CURLOPT_PUT, CURLOPTTYPE_LONG, 54,
+- 7.12.1, "Use CURLOPT_UPLOAD"),
+- CURLOPTDEPRECATED(CURLOPT_PROGRESSFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 56,
+- 7.32.0, "Use CURLOPT_XFERINFOFUNCTION"),
+- CURLOPT(CURLOPT_XFERINFODATA, CURLOPTTYPE_CBPOINT, 57),
+-#define CURLOPT_PROGRESSDATA CURLOPT_XFERINFODATA
+- CURLOPT(CURLOPT_AUTOREFERER, CURLOPTTYPE_LONG, 58),
+- CURLOPT(CURLOPT_PROXYPORT, CURLOPTTYPE_LONG, 59),
+- CURLOPT(CURLOPT_POSTFIELDSIZE, CURLOPTTYPE_LONG, 60),
+- CURLOPT(CURLOPT_HTTPPROXYTUNNEL, CURLOPTTYPE_LONG, 61),
+- CURLOPT(CURLOPT_INTERFACE, CURLOPTTYPE_STRINGPOINT, 62),
+- CURLOPT(CURLOPT_KRBLEVEL, CURLOPTTYPE_STRINGPOINT, 63),
+- CURLOPT(CURLOPT_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 64),
+- CURLOPT(CURLOPT_CAINFO, CURLOPTTYPE_STRINGPOINT, 65),
+- CURLOPT(CURLOPT_MAXREDIRS, CURLOPTTYPE_LONG, 68),
+- CURLOPT(CURLOPT_FILETIME, CURLOPTTYPE_LONG, 69),
+- CURLOPT(CURLOPT_TELNETOPTIONS, CURLOPTTYPE_SLISTPOINT, 70),
+- CURLOPT(CURLOPT_MAXCONNECTS, CURLOPTTYPE_LONG, 71),
+- CURLOPT(CURLOPT_FRESH_CONNECT, CURLOPTTYPE_LONG, 74),
+- CURLOPT(CURLOPT_FORBID_REUSE, CURLOPTTYPE_LONG, 75),
+- CURLOPTDEPRECATED(CURLOPT_RANDOM_FILE, CURLOPTTYPE_STRINGPOINT, 76,
+- 7.84.0, "Serves no purpose anymore"),
+- CURLOPTDEPRECATED(CURLOPT_EGDSOCKET, CURLOPTTYPE_STRINGPOINT, 77,
+- 7.84.0, "Serves no purpose anymore"),
+- CURLOPT(CURLOPT_CONNECTTIMEOUT, CURLOPTTYPE_LONG, 78),
+- CURLOPT(CURLOPT_HEADERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 79),
+- CURLOPT(CURLOPT_HTTPGET, CURLOPTTYPE_LONG, 80),
+- CURLOPT(CURLOPT_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 81),
+- CURLOPT(CURLOPT_COOKIEJAR, CURLOPTTYPE_STRINGPOINT, 82),
+- CURLOPT(CURLOPT_SSL_CIPHER_LIST, CURLOPTTYPE_STRINGPOINT, 83),
+- CURLOPT(CURLOPT_HTTP_VERSION, CURLOPTTYPE_VALUES, 84),
+- CURLOPT(CURLOPT_FTP_USE_EPSV, CURLOPTTYPE_LONG, 85),
+- CURLOPT(CURLOPT_SSLCERTTYPE, CURLOPTTYPE_STRINGPOINT, 86),
+- CURLOPT(CURLOPT_SSLKEY, CURLOPTTYPE_STRINGPOINT, 87),
+- CURLOPT(CURLOPT_SSLKEYTYPE, CURLOPTTYPE_STRINGPOINT, 88),
+- CURLOPT(CURLOPT_SSLENGINE, CURLOPTTYPE_STRINGPOINT, 89),
+- CURLOPT(CURLOPT_SSLENGINE_DEFAULT, CURLOPTTYPE_LONG, 90),
+- CURLOPTDEPRECATED(CURLOPT_DNS_USE_GLOBAL_CACHE, CURLOPTTYPE_LONG, 91,
+- 7.11.1, "Use CURLOPT_SHARE"),
+- CURLOPT(CURLOPT_DNS_CACHE_TIMEOUT, CURLOPTTYPE_LONG, 92),
+- CURLOPT(CURLOPT_PREQUOTE, CURLOPTTYPE_SLISTPOINT, 93),
+- CURLOPT(CURLOPT_DEBUGFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 94),
+- CURLOPT(CURLOPT_DEBUGDATA, CURLOPTTYPE_CBPOINT, 95),
+- CURLOPT(CURLOPT_COOKIESESSION, CURLOPTTYPE_LONG, 96),
+- CURLOPT(CURLOPT_CAPATH, CURLOPTTYPE_STRINGPOINT, 97),
+- CURLOPT(CURLOPT_BUFFERSIZE, CURLOPTTYPE_LONG, 98),
+- CURLOPT(CURLOPT_NOSIGNAL, CURLOPTTYPE_LONG, 99),
+- CURLOPT(CURLOPT_SHARE, CURLOPTTYPE_OBJECTPOINT, 100),
+- CURLOPT(CURLOPT_PROXYTYPE, CURLOPTTYPE_VALUES, 101),
+- CURLOPT(CURLOPT_ACCEPT_ENCODING, CURLOPTTYPE_STRINGPOINT, 102),
+- CURLOPT(CURLOPT_PRIVATE, CURLOPTTYPE_OBJECTPOINT, 103),
+- CURLOPT(CURLOPT_HTTP200ALIASES, CURLOPTTYPE_SLISTPOINT, 104),
+- CURLOPT(CURLOPT_UNRESTRICTED_AUTH, CURLOPTTYPE_LONG, 105),
+- CURLOPT(CURLOPT_FTP_USE_EPRT, CURLOPTTYPE_LONG, 106),
+- CURLOPT(CURLOPT_HTTPAUTH, CURLOPTTYPE_VALUES, 107),
+- CURLOPT(CURLOPT_SSL_CTX_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 108),
+- CURLOPT(CURLOPT_SSL_CTX_DATA, CURLOPTTYPE_CBPOINT, 109),
+- CURLOPT(CURLOPT_FTP_CREATE_MISSING_DIRS, CURLOPTTYPE_LONG, 110),
+- CURLOPT(CURLOPT_PROXYAUTH, CURLOPTTYPE_VALUES, 111),
+- CURLOPT(CURLOPT_SERVER_RESPONSE_TIMEOUT, CURLOPTTYPE_LONG, 112),
+- CURLOPT(CURLOPT_IPRESOLVE, CURLOPTTYPE_VALUES, 113),
+- CURLOPT(CURLOPT_MAXFILESIZE, CURLOPTTYPE_LONG, 114),
+- CURLOPT(CURLOPT_INFILESIZE_LARGE, CURLOPTTYPE_OFF_T, 115),
+- CURLOPT(CURLOPT_RESUME_FROM_LARGE, CURLOPTTYPE_OFF_T, 116),
+- CURLOPT(CURLOPT_MAXFILESIZE_LARGE, CURLOPTTYPE_OFF_T, 117),
+- CURLOPT(CURLOPT_NETRC_FILE, CURLOPTTYPE_STRINGPOINT, 118),
+- CURLOPT(CURLOPT_USE_SSL, CURLOPTTYPE_VALUES, 119),
+- CURLOPT(CURLOPT_POSTFIELDSIZE_LARGE, CURLOPTTYPE_OFF_T, 120),
+- CURLOPT(CURLOPT_TCP_NODELAY, CURLOPTTYPE_LONG, 121),
+- CURLOPT(CURLOPT_FTPSSLAUTH, CURLOPTTYPE_VALUES, 129),
+- CURLOPTDEPRECATED(CURLOPT_IOCTLFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 130,
+- 7.18.0, "Use CURLOPT_SEEKFUNCTION"),
+- CURLOPTDEPRECATED(CURLOPT_IOCTLDATA, CURLOPTTYPE_CBPOINT, 131,
+- 7.18.0, "Use CURLOPT_SEEKDATA"),
+- CURLOPT(CURLOPT_FTP_ACCOUNT, CURLOPTTYPE_STRINGPOINT, 134),
+- CURLOPT(CURLOPT_COOKIELIST, CURLOPTTYPE_STRINGPOINT, 135),
+- CURLOPT(CURLOPT_IGNORE_CONTENT_LENGTH, CURLOPTTYPE_LONG, 136),
+- CURLOPT(CURLOPT_FTP_SKIP_PASV_IP, CURLOPTTYPE_LONG, 137),
+- CURLOPT(CURLOPT_FTP_FILEMETHOD, CURLOPTTYPE_VALUES, 138),
+- CURLOPT(CURLOPT_LOCALPORT, CURLOPTTYPE_LONG, 139),
+- CURLOPT(CURLOPT_LOCALPORTRANGE, CURLOPTTYPE_LONG, 140),
+- CURLOPT(CURLOPT_CONNECT_ONLY, CURLOPTTYPE_LONG, 141),
+- CURLOPTDEPRECATED(CURLOPT_CONV_FROM_NETWORK_FUNCTION,
+- CURLOPTTYPE_FUNCTIONPOINT, 142,
+- 7.82.0, "Serves no purpose anymore"),
+- CURLOPTDEPRECATED(CURLOPT_CONV_TO_NETWORK_FUNCTION,
+- CURLOPTTYPE_FUNCTIONPOINT, 143,
+- 7.82.0, "Serves no purpose anymore"),
+- CURLOPTDEPRECATED(CURLOPT_CONV_FROM_UTF8_FUNCTION,
+- CURLOPTTYPE_FUNCTIONPOINT, 144,
+- 7.82.0, "Serves no purpose anymore"),
+- CURLOPT(CURLOPT_MAX_SEND_SPEED_LARGE, CURLOPTTYPE_OFF_T, 145),
+- CURLOPT(CURLOPT_MAX_RECV_SPEED_LARGE, CURLOPTTYPE_OFF_T, 146),
+- CURLOPT(CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPTTYPE_STRINGPOINT, 147),
+- CURLOPT(CURLOPT_SOCKOPTFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 148),
+- CURLOPT(CURLOPT_SOCKOPTDATA, CURLOPTTYPE_CBPOINT, 149),
+- CURLOPT(CURLOPT_SSL_SESSIONID_CACHE, CURLOPTTYPE_LONG, 150),
+- CURLOPT(CURLOPT_SSH_AUTH_TYPES, CURLOPTTYPE_VALUES, 151),
+- CURLOPT(CURLOPT_SSH_PUBLIC_KEYFILE, CURLOPTTYPE_STRINGPOINT, 152),
+- CURLOPT(CURLOPT_SSH_PRIVATE_KEYFILE, CURLOPTTYPE_STRINGPOINT, 153),
+- CURLOPT(CURLOPT_FTP_SSL_CCC, CURLOPTTYPE_LONG, 154),
+- CURLOPT(CURLOPT_TIMEOUT_MS, CURLOPTTYPE_LONG, 155),
+- CURLOPT(CURLOPT_CONNECTTIMEOUT_MS, CURLOPTTYPE_LONG, 156),
+- CURLOPT(CURLOPT_HTTP_TRANSFER_DECODING, CURLOPTTYPE_LONG, 157),
+- CURLOPT(CURLOPT_HTTP_CONTENT_DECODING, CURLOPTTYPE_LONG, 158),
+- CURLOPT(CURLOPT_NEW_FILE_PERMS, CURLOPTTYPE_LONG, 159),
+- CURLOPT(CURLOPT_NEW_DIRECTORY_PERMS, CURLOPTTYPE_LONG, 160),
+- CURLOPT(CURLOPT_POSTREDIR, CURLOPTTYPE_VALUES, 161),
+- CURLOPT(CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, CURLOPTTYPE_STRINGPOINT, 162),
+- CURLOPT(CURLOPT_OPENSOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 163),
+- CURLOPT(CURLOPT_OPENSOCKETDATA, CURLOPTTYPE_CBPOINT, 164),
+- CURLOPT(CURLOPT_COPYPOSTFIELDS, CURLOPTTYPE_OBJECTPOINT, 165),
+- CURLOPT(CURLOPT_PROXY_TRANSFER_MODE, CURLOPTTYPE_LONG, 166),
+- CURLOPT(CURLOPT_SEEKFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 167),
+- CURLOPT(CURLOPT_SEEKDATA, CURLOPTTYPE_CBPOINT, 168),
+- CURLOPT(CURLOPT_CRLFILE, CURLOPTTYPE_STRINGPOINT, 169),
+- CURLOPT(CURLOPT_ISSUERCERT, CURLOPTTYPE_STRINGPOINT, 170),
+- CURLOPT(CURLOPT_ADDRESS_SCOPE, CURLOPTTYPE_LONG, 171),
+- CURLOPT(CURLOPT_CERTINFO, CURLOPTTYPE_LONG, 172),
+- CURLOPT(CURLOPT_USERNAME, CURLOPTTYPE_STRINGPOINT, 173),
+- CURLOPT(CURLOPT_PASSWORD, CURLOPTTYPE_STRINGPOINT, 174),
+- CURLOPT(CURLOPT_PROXYUSERNAME, CURLOPTTYPE_STRINGPOINT, 175),
+- CURLOPT(CURLOPT_PROXYPASSWORD, CURLOPTTYPE_STRINGPOINT, 176),
+- CURLOPT(CURLOPT_NOPROXY, CURLOPTTYPE_STRINGPOINT, 177),
+- CURLOPT(CURLOPT_TFTP_BLKSIZE, CURLOPTTYPE_LONG, 178),
+- CURLOPTDEPRECATED(CURLOPT_SOCKS5_GSSAPI_SERVICE,
+- CURLOPTTYPE_STRINGPOINT, 179,
+- 7.49.0, "Use CURLOPT_PROXY_SERVICE_NAME"),
+- CURLOPT(CURLOPT_SOCKS5_GSSAPI_NEC, CURLOPTTYPE_LONG, 180),
+- CURLOPTDEPRECATED(CURLOPT_PROTOCOLS, CURLOPTTYPE_LONG, 181,
+- 7.85.0, "Use CURLOPT_PROTOCOLS_STR"),
+- CURLOPTDEPRECATED(CURLOPT_REDIR_PROTOCOLS, CURLOPTTYPE_LONG, 182,
+- 7.85.0, "Use CURLOPT_REDIR_PROTOCOLS_STR"),
+- CURLOPT(CURLOPT_SSH_KNOWNHOSTS, CURLOPTTYPE_STRINGPOINT, 183),
+- CURLOPT(CURLOPT_SSH_KEYFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 184),
+- CURLOPT(CURLOPT_SSH_KEYDATA, CURLOPTTYPE_CBPOINT, 185),
+- CURLOPT(CURLOPT_MAIL_FROM, CURLOPTTYPE_STRINGPOINT, 186),
+- CURLOPT(CURLOPT_MAIL_RCPT, CURLOPTTYPE_SLISTPOINT, 187),
+- CURLOPT(CURLOPT_FTP_USE_PRET, CURLOPTTYPE_LONG, 188),
+- CURLOPT(CURLOPT_RTSP_REQUEST, CURLOPTTYPE_VALUES, 189),
+- CURLOPT(CURLOPT_RTSP_SESSION_ID, CURLOPTTYPE_STRINGPOINT, 190),
+- CURLOPT(CURLOPT_RTSP_STREAM_URI, CURLOPTTYPE_STRINGPOINT, 191),
+- CURLOPT(CURLOPT_RTSP_TRANSPORT, CURLOPTTYPE_STRINGPOINT, 192),
+- CURLOPT(CURLOPT_RTSP_CLIENT_CSEQ, CURLOPTTYPE_LONG, 193),
+- CURLOPT(CURLOPT_RTSP_SERVER_CSEQ, CURLOPTTYPE_LONG, 194),
+- CURLOPT(CURLOPT_INTERLEAVEDATA, CURLOPTTYPE_CBPOINT, 195),
+- CURLOPT(CURLOPT_INTERLEAVEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 196),
+- CURLOPT(CURLOPT_WILDCARDMATCH, CURLOPTTYPE_LONG, 197),
+- CURLOPT(CURLOPT_CHUNK_BGN_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 198),
+- CURLOPT(CURLOPT_CHUNK_END_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 199),
+- CURLOPT(CURLOPT_FNMATCH_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 200),
+- CURLOPT(CURLOPT_CHUNK_DATA, CURLOPTTYPE_CBPOINT, 201),
+- CURLOPT(CURLOPT_FNMATCH_DATA, CURLOPTTYPE_CBPOINT, 202),
+- CURLOPT(CURLOPT_RESOLVE, CURLOPTTYPE_SLISTPOINT, 203),
+- CURLOPT(CURLOPT_TLSAUTH_USERNAME, CURLOPTTYPE_STRINGPOINT, 204),
+- CURLOPT(CURLOPT_TLSAUTH_PASSWORD, CURLOPTTYPE_STRINGPOINT, 205),
+- CURLOPT(CURLOPT_TLSAUTH_TYPE, CURLOPTTYPE_STRINGPOINT, 206),
+- CURLOPT(CURLOPT_TRANSFER_ENCODING, CURLOPTTYPE_LONG, 207),
+- CURLOPT(CURLOPT_CLOSESOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 208),
+- CURLOPT(CURLOPT_CLOSESOCKETDATA, CURLOPTTYPE_CBPOINT, 209),
+- CURLOPT(CURLOPT_GSSAPI_DELEGATION, CURLOPTTYPE_VALUES, 210),
+- CURLOPT(CURLOPT_DNS_SERVERS, CURLOPTTYPE_STRINGPOINT, 211),
+- CURLOPT(CURLOPT_ACCEPTTIMEOUT_MS, CURLOPTTYPE_LONG, 212),
+- CURLOPT(CURLOPT_TCP_KEEPALIVE, CURLOPTTYPE_LONG, 213),
+- CURLOPT(CURLOPT_TCP_KEEPIDLE, CURLOPTTYPE_LONG, 214),
+- CURLOPT(CURLOPT_TCP_KEEPINTVL, CURLOPTTYPE_LONG, 215),
+- CURLOPT(CURLOPT_SSL_OPTIONS, CURLOPTTYPE_VALUES, 216),
+- CURLOPT(CURLOPT_MAIL_AUTH, CURLOPTTYPE_STRINGPOINT, 217),
+- CURLOPT(CURLOPT_SASL_IR, CURLOPTTYPE_LONG, 218),
+- CURLOPT(CURLOPT_XFERINFOFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 219),
+- CURLOPT(CURLOPT_XOAUTH2_BEARER, CURLOPTTYPE_STRINGPOINT, 220),
+- CURLOPT(CURLOPT_DNS_INTERFACE, CURLOPTTYPE_STRINGPOINT, 221),
+- CURLOPT(CURLOPT_DNS_LOCAL_IP4, CURLOPTTYPE_STRINGPOINT, 222),
+- CURLOPT(CURLOPT_DNS_LOCAL_IP6, CURLOPTTYPE_STRINGPOINT, 223),
+- CURLOPT(CURLOPT_LOGIN_OPTIONS, CURLOPTTYPE_STRINGPOINT, 224),
+- CURLOPTDEPRECATED(CURLOPT_SSL_ENABLE_NPN, CURLOPTTYPE_LONG, 225,
+- 7.86.0, "Has no function"),
+- CURLOPT(CURLOPT_SSL_ENABLE_ALPN, CURLOPTTYPE_LONG, 226),
+- CURLOPT(CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOPTTYPE_LONG, 227),
+- CURLOPT(CURLOPT_PROXYHEADER, CURLOPTTYPE_SLISTPOINT, 228),
+- CURLOPT(CURLOPT_HEADEROPT, CURLOPTTYPE_VALUES, 229),
+- CURLOPT(CURLOPT_PINNEDPUBLICKEY, CURLOPTTYPE_STRINGPOINT, 230),
+- CURLOPT(CURLOPT_UNIX_SOCKET_PATH, CURLOPTTYPE_STRINGPOINT, 231),
+- CURLOPT(CURLOPT_SSL_VERIFYSTATUS, CURLOPTTYPE_LONG, 232),
+- CURLOPT(CURLOPT_SSL_FALSESTART, CURLOPTTYPE_LONG, 233),
+- CURLOPT(CURLOPT_PATH_AS_IS, CURLOPTTYPE_LONG, 234),
+- CURLOPT(CURLOPT_PROXY_SERVICE_NAME, CURLOPTTYPE_STRINGPOINT, 235),
+- CURLOPT(CURLOPT_SERVICE_NAME, CURLOPTTYPE_STRINGPOINT, 236),
+- CURLOPT(CURLOPT_PIPEWAIT, CURLOPTTYPE_LONG, 237),
+- CURLOPT(CURLOPT_DEFAULT_PROTOCOL, CURLOPTTYPE_STRINGPOINT, 238),
+- CURLOPT(CURLOPT_STREAM_WEIGHT, CURLOPTTYPE_LONG, 239),
+- CURLOPT(CURLOPT_STREAM_DEPENDS, CURLOPTTYPE_OBJECTPOINT, 240),
+- CURLOPT(CURLOPT_STREAM_DEPENDS_E, CURLOPTTYPE_OBJECTPOINT, 241),
+- CURLOPT(CURLOPT_TFTP_NO_OPTIONS, CURLOPTTYPE_LONG, 242),
+- CURLOPT(CURLOPT_CONNECT_TO, CURLOPTTYPE_SLISTPOINT, 243),
+- CURLOPT(CURLOPT_TCP_FASTOPEN, CURLOPTTYPE_LONG, 244),
+- CURLOPT(CURLOPT_KEEP_SENDING_ON_ERROR, CURLOPTTYPE_LONG, 245),
+- CURLOPT(CURLOPT_PROXY_CAINFO, CURLOPTTYPE_STRINGPOINT, 246),
+- CURLOPT(CURLOPT_PROXY_CAPATH, CURLOPTTYPE_STRINGPOINT, 247),
+- CURLOPT(CURLOPT_PROXY_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 248),
+- CURLOPT(CURLOPT_PROXY_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 249),
+- CURLOPT(CURLOPT_PROXY_SSLVERSION, CURLOPTTYPE_VALUES, 250),
+- CURLOPT(CURLOPT_PROXY_TLSAUTH_USERNAME, CURLOPTTYPE_STRINGPOINT, 251),
+- CURLOPT(CURLOPT_PROXY_TLSAUTH_PASSWORD, CURLOPTTYPE_STRINGPOINT, 252),
+- CURLOPT(CURLOPT_PROXY_TLSAUTH_TYPE, CURLOPTTYPE_STRINGPOINT, 253),
+- CURLOPT(CURLOPT_PROXY_SSLCERT, CURLOPTTYPE_STRINGPOINT, 254),
+- CURLOPT(CURLOPT_PROXY_SSLCERTTYPE, CURLOPTTYPE_STRINGPOINT, 255),
+- CURLOPT(CURLOPT_PROXY_SSLKEY, CURLOPTTYPE_STRINGPOINT, 256),
+- CURLOPT(CURLOPT_PROXY_SSLKEYTYPE, CURLOPTTYPE_STRINGPOINT, 257),
+- CURLOPT(CURLOPT_PROXY_KEYPASSWD, CURLOPTTYPE_STRINGPOINT, 258),
+- CURLOPT(CURLOPT_PROXY_SSL_CIPHER_LIST, CURLOPTTYPE_STRINGPOINT, 259),
+- CURLOPT(CURLOPT_PROXY_CRLFILE, CURLOPTTYPE_STRINGPOINT, 260),
+- CURLOPT(CURLOPT_PROXY_SSL_OPTIONS, CURLOPTTYPE_LONG, 261),
+- CURLOPT(CURLOPT_PRE_PROXY, CURLOPTTYPE_STRINGPOINT, 262),
+- CURLOPT(CURLOPT_PROXY_PINNEDPUBLICKEY, CURLOPTTYPE_STRINGPOINT, 263),
+- CURLOPT(CURLOPT_ABSTRACT_UNIX_SOCKET, CURLOPTTYPE_STRINGPOINT, 264),
+- CURLOPT(CURLOPT_SUPPRESS_CONNECT_HEADERS, CURLOPTTYPE_LONG, 265),
+- CURLOPT(CURLOPT_REQUEST_TARGET, CURLOPTTYPE_STRINGPOINT, 266),
+- CURLOPT(CURLOPT_SOCKS5_AUTH, CURLOPTTYPE_LONG, 267),
+- CURLOPT(CURLOPT_SSH_COMPRESSION, CURLOPTTYPE_LONG, 268),
+- CURLOPT(CURLOPT_MIMEPOST, CURLOPTTYPE_OBJECTPOINT, 269),
+- CURLOPT(CURLOPT_TIMEVALUE_LARGE, CURLOPTTYPE_OFF_T, 270),
+- CURLOPT(CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CURLOPTTYPE_LONG, 271),
+- CURLOPT(CURLOPT_RESOLVER_START_FUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 272),
+- CURLOPT(CURLOPT_RESOLVER_START_DATA, CURLOPTTYPE_CBPOINT, 273),
+- CURLOPT(CURLOPT_HAPROXYPROTOCOL, CURLOPTTYPE_LONG, 274),
+- CURLOPT(CURLOPT_DNS_SHUFFLE_ADDRESSES, CURLOPTTYPE_LONG, 275),
+- CURLOPT(CURLOPT_TLS13_CIPHERS, CURLOPTTYPE_STRINGPOINT, 276),
+- CURLOPT(CURLOPT_PROXY_TLS13_CIPHERS, CURLOPTTYPE_STRINGPOINT, 277),
+- CURLOPT(CURLOPT_DISALLOW_USERNAME_IN_URL, CURLOPTTYPE_LONG, 278),
+- CURLOPT(CURLOPT_DOH_URL, CURLOPTTYPE_STRINGPOINT, 279),
+- CURLOPT(CURLOPT_UPLOAD_BUFFERSIZE, CURLOPTTYPE_LONG, 280),
+- CURLOPT(CURLOPT_UPKEEP_INTERVAL_MS, CURLOPTTYPE_LONG, 281),
+- CURLOPT(CURLOPT_CURLU, CURLOPTTYPE_OBJECTPOINT, 282),
+- CURLOPT(CURLOPT_TRAILERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 283),
+- CURLOPT(CURLOPT_TRAILERDATA, CURLOPTTYPE_CBPOINT, 284),
+- CURLOPT(CURLOPT_HTTP09_ALLOWED, CURLOPTTYPE_LONG, 285),
+- CURLOPT(CURLOPT_ALTSVC_CTRL, CURLOPTTYPE_LONG, 286),
+- CURLOPT(CURLOPT_ALTSVC, CURLOPTTYPE_STRINGPOINT, 287),
+- CURLOPT(CURLOPT_MAXAGE_CONN, CURLOPTTYPE_LONG, 288),
+- CURLOPT(CURLOPT_SASL_AUTHZID, CURLOPTTYPE_STRINGPOINT, 289),
+- CURLOPT(CURLOPT_MAIL_RCPT_ALLOWFAILS, CURLOPTTYPE_LONG, 290),
+- CURLOPT(CURLOPT_SSLCERT_BLOB, CURLOPTTYPE_BLOB, 291),
+- CURLOPT(CURLOPT_SSLKEY_BLOB, CURLOPTTYPE_BLOB, 292),
+- CURLOPT(CURLOPT_PROXY_SSLCERT_BLOB, CURLOPTTYPE_BLOB, 293),
+- CURLOPT(CURLOPT_PROXY_SSLKEY_BLOB, CURLOPTTYPE_BLOB, 294),
+- CURLOPT(CURLOPT_ISSUERCERT_BLOB, CURLOPTTYPE_BLOB, 295),
+- CURLOPT(CURLOPT_PROXY_ISSUERCERT, CURLOPTTYPE_STRINGPOINT, 296),
+- CURLOPT(CURLOPT_PROXY_ISSUERCERT_BLOB, CURLOPTTYPE_BLOB, 297),
+- CURLOPT(CURLOPT_SSL_EC_CURVES, CURLOPTTYPE_STRINGPOINT, 298),
+- CURLOPT(CURLOPT_HSTS_CTRL, CURLOPTTYPE_LONG, 299),
+- CURLOPT(CURLOPT_HSTS, CURLOPTTYPE_STRINGPOINT, 300),
+- CURLOPT(CURLOPT_HSTSREADFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 301),
+- CURLOPT(CURLOPT_HSTSREADDATA, CURLOPTTYPE_CBPOINT, 302),
+- CURLOPT(CURLOPT_HSTSWRITEFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 303),
+- CURLOPT(CURLOPT_HSTSWRITEDATA, CURLOPTTYPE_CBPOINT, 304),
+- CURLOPT(CURLOPT_AWS_SIGV4, CURLOPTTYPE_STRINGPOINT, 305),
+- CURLOPT(CURLOPT_DOH_SSL_VERIFYPEER, CURLOPTTYPE_LONG, 306),
+- CURLOPT(CURLOPT_DOH_SSL_VERIFYHOST, CURLOPTTYPE_LONG, 307),
+- CURLOPT(CURLOPT_DOH_SSL_VERIFYSTATUS, CURLOPTTYPE_LONG, 308),
+- CURLOPT(CURLOPT_CAINFO_BLOB, CURLOPTTYPE_BLOB, 309),
+- CURLOPT(CURLOPT_PROXY_CAINFO_BLOB, CURLOPTTYPE_BLOB, 310),
+- CURLOPT(CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256, CURLOPTTYPE_STRINGPOINT, 311),
+- CURLOPT(CURLOPT_PREREQFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 312),
+- CURLOPT(CURLOPT_PREREQDATA, CURLOPTTYPE_CBPOINT, 313),
+- CURLOPT(CURLOPT_MAXLIFETIME_CONN, CURLOPTTYPE_LONG, 314),
+- CURLOPT(CURLOPT_MIME_OPTIONS, CURLOPTTYPE_LONG, 315),
+- CURLOPT(CURLOPT_SSH_HOSTKEYFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 316),
+- CURLOPT(CURLOPT_SSH_HOSTKEYDATA, CURLOPTTYPE_CBPOINT, 317),
+- CURLOPT(CURLOPT_PROTOCOLS_STR, CURLOPTTYPE_STRINGPOINT, 318),
+- CURLOPT(CURLOPT_REDIR_PROTOCOLS_STR, CURLOPTTYPE_STRINGPOINT, 319),
+- CURLOPT(CURLOPT_WS_OPTIONS, CURLOPTTYPE_LONG, 320),
+- CURLOPT(CURLOPT_CA_CACHE_TIMEOUT, CURLOPTTYPE_LONG, 321),
+- CURLOPT(CURLOPT_QUICK_EXIT, CURLOPTTYPE_LONG, 322),
+- CURLOPT(CURLOPT_HAPROXY_CLIENT_IP, CURLOPTTYPE_STRINGPOINT, 323),
+- CURLOPT(CURLOPT_SERVER_RESPONSE_TIMEOUT_MS, CURLOPTTYPE_LONG, 324),
+- CURLOPT(CURLOPT_ECH, CURLOPTTYPE_STRINGPOINT, 325),
+- CURLOPT(CURLOPT_TCP_KEEPCNT, CURLOPTTYPE_LONG, 326),
+- CURLOPT_LASTENTRY
+-} CURLoption;
+-enum {
+- CURL_HTTP_VERSION_NONE,
+- CURL_HTTP_VERSION_1_0,
+- CURL_HTTP_VERSION_1_1,
+- CURL_HTTP_VERSION_2_0,
+- CURL_HTTP_VERSION_2TLS,
+- CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE,
+- CURL_HTTP_VERSION_3 = 30,
+- CURL_HTTP_VERSION_3ONLY = 31,
+- CURL_HTTP_VERSION_LAST
+-};
+-enum {
+- CURL_RTSPREQ_NONE,
+- 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
+-};
+-enum CURL_NETRC_OPTION {
+- CURL_NETRC_IGNORED,
+- CURL_NETRC_OPTIONAL,
+- CURL_NETRC_REQUIRED,
+- CURL_NETRC_LAST
+-};
+-enum CURL_TLSAUTH {
+- CURL_TLSAUTH_NONE,
+- CURL_TLSAUTH_SRP,
+- CURL_TLSAUTH_LAST
+-};
+-typedef enum {
+- CURL_TIMECOND_NONE,
+- CURL_TIMECOND_IFMODSINCE,
+- CURL_TIMECOND_IFUNMODSINCE,
+- CURL_TIMECOND_LASTMOD,
+- CURL_TIMECOND_LAST
+-} curl_TimeCond;
+-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);
+-typedef struct curl_mime curl_mime;
+-typedef struct curl_mimepart curl_mimepart;
+-CURL_EXTERN curl_mime *curl_mime_init(CURL *easy);
+-CURL_EXTERN void curl_mime_free(curl_mime *mime);
+-CURL_EXTERN curl_mimepart *curl_mime_addpart(curl_mime *mime);
+-CURL_EXTERN CURLcode curl_mime_name(curl_mimepart *part, const char *name);
+-CURL_EXTERN CURLcode curl_mime_filename(curl_mimepart *part,
+- const char *filename);
+-CURL_EXTERN CURLcode curl_mime_type(curl_mimepart *part, const char *mimetype);
+-CURL_EXTERN CURLcode curl_mime_encoder(curl_mimepart *part,
+- const char *encoding);
+-CURL_EXTERN CURLcode curl_mime_data(curl_mimepart *part,
+- const char *data, size_t datasize);
+-CURL_EXTERN CURLcode curl_mime_filedata(curl_mimepart *part,
+- const char *filename);
+-CURL_EXTERN CURLcode curl_mime_data_cb(curl_mimepart *part,
+- curl_off_t datasize,
+- curl_read_callback readfunc,
+- curl_seek_callback seekfunc,
+- curl_free_callback freefunc,
+- void *arg);
+-CURL_EXTERN CURLcode curl_mime_subparts(curl_mimepart *part,
+- curl_mime *subparts);
+-CURL_EXTERN CURLcode curl_mime_headers(curl_mimepart *part,
+- struct curl_slist *headers,
+- int take_ownership);
+-typedef enum {
+- CURLFORM_NOTHING CURL_DEPRECATED(7.56.0, ""),
+- CURLFORM_COPYNAME CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"),
+- CURLFORM_PTRNAME CURL_DEPRECATED(7.56.0, "Use curl_mime_name()"),
+- CURLFORM_NAMELENGTH CURL_DEPRECATED(7.56.0, ""),
+- CURLFORM_COPYCONTENTS CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
+- CURLFORM_PTRCONTENTS CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
+- CURLFORM_CONTENTSLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
+- CURLFORM_FILECONTENT CURL_DEPRECATED(7.56.0, "Use curl_mime_data_cb()"),
+- CURLFORM_ARRAY CURL_DEPRECATED(7.56.0, ""),
+- CURLFORM_OBSOLETE,
+- CURLFORM_FILE CURL_DEPRECATED(7.56.0, "Use curl_mime_filedata()"),
+- CURLFORM_BUFFER CURL_DEPRECATED(7.56.0, "Use curl_mime_filename()"),
+- CURLFORM_BUFFERPTR CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
+- CURLFORM_BUFFERLENGTH CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
+- CURLFORM_CONTENTTYPE CURL_DEPRECATED(7.56.0, "Use curl_mime_type()"),
+- CURLFORM_CONTENTHEADER CURL_DEPRECATED(7.56.0, "Use curl_mime_headers()"),
+- CURLFORM_FILENAME CURL_DEPRECATED(7.56.0, "Use curl_mime_filename()"),
+- CURLFORM_END,
+- CURLFORM_OBSOLETE2,
+- CURLFORM_STREAM CURL_DEPRECATED(7.56.0, "Use curl_mime_data_cb()"),
+- CURLFORM_CONTENTLEN
+- CURL_DEPRECATED(7.56.0, "Use curl_mime_data()"),
+- CURLFORM_LASTENTRY
+-} CURLformoption;
+-struct curl_forms {
+- CURLformoption option;
+- const char *value;
+-};
+-typedef enum {
+- CURL_FORMADD_OK CURL_DEPRECATED(7.56.0, ""),
+- CURL_FORMADD_MEMORY CURL_DEPRECATED(7.56.0, ""),
+- CURL_FORMADD_OPTION_TWICE CURL_DEPRECATED(7.56.0, ""),
+- CURL_FORMADD_NULL CURL_DEPRECATED(7.56.0, ""),
+- CURL_FORMADD_UNKNOWN_OPTION CURL_DEPRECATED(7.56.0, ""),
+- CURL_FORMADD_INCOMPLETE CURL_DEPRECATED(7.56.0, ""),
+- CURL_FORMADD_ILLEGAL_ARRAY CURL_DEPRECATED(7.56.0, ""),
+- CURL_FORMADD_DISABLED CURL_DEPRECATED(7.56.0, ""),
+- CURL_FORMADD_LAST
+-} CURLFORMcode;
+-CURL_EXTERN CURLFORMcode CURL_DEPRECATED(7.56.0, "Use curl_mime_init()")
+-curl_formadd(struct curl_httppost **httppost,
+- struct curl_httppost **last_post,
+- ...);
+-typedef size_t (*curl_formget_callback)(void *arg, const char *buf,
+- size_t len);
+-CURL_EXTERN int CURL_DEPRECATED(7.56.0, "")
+-curl_formget(struct curl_httppost *form, void *arg,
+- curl_formget_callback append);
+-CURL_EXTERN void CURL_DEPRECATED(7.56.0, "Use curl_mime_free()")
+-curl_formfree(struct curl_httppost *form);
+-CURL_EXTERN char *curl_getenv(const char *variable);
+-CURL_EXTERN char *curl_version(void);
+-CURL_EXTERN char *curl_easy_escape(CURL *handle,
+- const char *string,
+- int length);
+-CURL_EXTERN char *curl_escape(const char *string,
+- int length);
+-CURL_EXTERN char *curl_easy_unescape(CURL *handle,
+- const char *string,
+- int length,
+- int *outlength);
+-CURL_EXTERN char *curl_unescape(const char *string,
+- int length);
+-CURL_EXTERN void curl_free(void *p);
+-CURL_EXTERN CURLcode curl_global_init(long flags);
+-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);
+-CURL_EXTERN void curl_global_cleanup(void);
+-CURL_EXTERN CURLcode curl_global_trace(const char *config);
+-struct curl_slist {
+- char *data;
+- struct curl_slist *next;
+-};
+-struct curl_ssl_backend {
+- curl_sslbackend id;
+- const char *name;
+-};
+-typedef struct curl_ssl_backend curl_ssl_backend;
+-typedef enum {
+- CURLSSLSET_OK = 0,
+- CURLSSLSET_UNKNOWN_BACKEND,
+- CURLSSLSET_TOO_LATE,
+- CURLSSLSET_NO_BACKENDS
+-} CURLsslset;
+-CURL_EXTERN CURLsslset curl_global_sslset(curl_sslbackend id, const char *name,
+- const curl_ssl_backend ***avail);
+-CURL_EXTERN struct curl_slist *curl_slist_append(struct curl_slist *list,
+- const char *data);
+-CURL_EXTERN void curl_slist_free_all(struct curl_slist *list);
+-CURL_EXTERN time_t curl_getdate(const char *p, const time_t *unused);
+-struct curl_certinfo {
+- int num_of_certs;
+- struct curl_slist **certinfo;
+-};
+-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_PTR 0x400000
+-#define CURLINFO_SOCKET 0x500000
+-#define CURLINFO_OFF_T 0x600000
+-typedef enum {
+- CURLINFO_NONE,
+- 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 CURL_DEPRECATED(7.55.0, "Use CURLINFO_SIZE_UPLOAD_T")
+- = CURLINFO_DOUBLE + 7,
+- CURLINFO_SIZE_UPLOAD_T = CURLINFO_OFF_T + 7,
+- CURLINFO_SIZE_DOWNLOAD
+- CURL_DEPRECATED(7.55.0, "Use CURLINFO_SIZE_DOWNLOAD_T")
+- = CURLINFO_DOUBLE + 8,
+- CURLINFO_SIZE_DOWNLOAD_T = CURLINFO_OFF_T + 8,
+- CURLINFO_SPEED_DOWNLOAD
+- CURL_DEPRECATED(7.55.0, "Use CURLINFO_SPEED_DOWNLOAD_T")
+- = CURLINFO_DOUBLE + 9,
+- CURLINFO_SPEED_DOWNLOAD_T = CURLINFO_OFF_T + 9,
+- CURLINFO_SPEED_UPLOAD
+- CURL_DEPRECATED(7.55.0, "Use CURLINFO_SPEED_UPLOAD_T")
+- = CURLINFO_DOUBLE + 10,
+- CURLINFO_SPEED_UPLOAD_T = CURLINFO_OFF_T + 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_FILETIME_T = CURLINFO_OFF_T + 14,
+- CURLINFO_CONTENT_LENGTH_DOWNLOAD
+- CURL_DEPRECATED(7.55.0,
+- "Use CURLINFO_CONTENT_LENGTH_DOWNLOAD_T")
+- = CURLINFO_DOUBLE + 15,
+- CURLINFO_CONTENT_LENGTH_DOWNLOAD_T = CURLINFO_OFF_T + 15,
+- CURLINFO_CONTENT_LENGTH_UPLOAD
+- CURL_DEPRECATED(7.55.0,
+- "Use CURLINFO_CONTENT_LENGTH_UPLOAD_T")
+- = CURLINFO_DOUBLE + 16,
+- CURLINFO_CONTENT_LENGTH_UPLOAD_T = CURLINFO_OFF_T + 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 CURL_DEPRECATED(7.45.0, "Use CURLINFO_ACTIVESOCKET")
+- = 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_PTR + 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 CURL_DEPRECATED(7.48.0, "Use CURLINFO_TLS_SSL_PTR")
+- = CURLINFO_PTR + 43,
+- CURLINFO_ACTIVESOCKET = CURLINFO_SOCKET + 44,
+- CURLINFO_TLS_SSL_PTR = CURLINFO_PTR + 45,
+- CURLINFO_HTTP_VERSION = CURLINFO_LONG + 46,
+- CURLINFO_PROXY_SSL_VERIFYRESULT = CURLINFO_LONG + 47,
+- CURLINFO_PROTOCOL CURL_DEPRECATED(7.85.0, "Use CURLINFO_SCHEME")
+- = CURLINFO_LONG + 48,
+- CURLINFO_SCHEME = CURLINFO_STRING + 49,
+- CURLINFO_TOTAL_TIME_T = CURLINFO_OFF_T + 50,
+- CURLINFO_NAMELOOKUP_TIME_T = CURLINFO_OFF_T + 51,
+- CURLINFO_CONNECT_TIME_T = CURLINFO_OFF_T + 52,
+- CURLINFO_PRETRANSFER_TIME_T = CURLINFO_OFF_T + 53,
+- CURLINFO_STARTTRANSFER_TIME_T = CURLINFO_OFF_T + 54,
+- CURLINFO_REDIRECT_TIME_T = CURLINFO_OFF_T + 55,
+- CURLINFO_APPCONNECT_TIME_T = CURLINFO_OFF_T + 56,
+- CURLINFO_RETRY_AFTER = CURLINFO_OFF_T + 57,
+- CURLINFO_EFFECTIVE_METHOD = CURLINFO_STRING + 58,
+- CURLINFO_PROXY_ERROR = CURLINFO_LONG + 59,
+- CURLINFO_REFERER = CURLINFO_STRING + 60,
+- CURLINFO_CAINFO = CURLINFO_STRING + 61,
+- CURLINFO_CAPATH = CURLINFO_STRING + 62,
+- CURLINFO_XFER_ID = CURLINFO_OFF_T + 63,
+- CURLINFO_CONN_ID = CURLINFO_OFF_T + 64,
+- CURLINFO_QUEUE_TIME_T = CURLINFO_OFF_T + 65,
+- CURLINFO_USED_PROXY = CURLINFO_LONG + 66,
+- CURLINFO_POSTTRANSFER_TIME_T = CURLINFO_OFF_T + 67,
+- CURLINFO_EARLYDATA_SENT_T = CURLINFO_OFF_T + 68,
+- CURLINFO_LASTONE = 68
+-} CURLINFO;
+-typedef enum {
+- CURLCLOSEPOLICY_NONE,
+- CURLCLOSEPOLICY_OLDEST,
+- CURLCLOSEPOLICY_LEAST_RECENTLY_USED,
+- CURLCLOSEPOLICY_LEAST_TRAFFIC,
+- CURLCLOSEPOLICY_SLOWEST,
+- CURLCLOSEPOLICY_CALLBACK,
+- CURLCLOSEPOLICY_LAST
+-} 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_DEFAULT CURL_GLOBAL_ALL
+-typedef enum {
+- CURL_LOCK_DATA_NONE = 0,
+- CURL_LOCK_DATA_SHARE,
+- CURL_LOCK_DATA_COOKIE,
+- CURL_LOCK_DATA_DNS,
+- CURL_LOCK_DATA_SSL_SESSION,
+- CURL_LOCK_DATA_CONNECT,
+- CURL_LOCK_DATA_PSL,
+- CURL_LOCK_DATA_HSTS,
+- CURL_LOCK_DATA_LAST
+-} curl_lock_data;
+-typedef enum {
+- CURL_LOCK_ACCESS_NONE = 0,
+- CURL_LOCK_ACCESS_SHARED = 1,
+- CURL_LOCK_ACCESS_SINGLE = 2,
+- CURL_LOCK_ACCESS_LAST
+-} 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,
+- CURLSHE_BAD_OPTION,
+- CURLSHE_IN_USE,
+- CURLSHE_INVALID,
+- CURLSHE_NOMEM,
+- CURLSHE_NOT_BUILT_IN,
+- CURLSHE_LAST
+-} CURLSHcode;
+-typedef enum {
+- CURLSHOPT_NONE,
+- CURLSHOPT_SHARE,
+- CURLSHOPT_UNSHARE,
+- CURLSHOPT_LOCKFUNC,
+- CURLSHOPT_UNLOCKFUNC,
+- CURLSHOPT_USERDATA,
+- CURLSHOPT_LAST
+-} CURLSHoption;
+-CURL_EXTERN CURLSH *curl_share_init(void);
+-CURL_EXTERN CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option,
+- ...);
+-CURL_EXTERN CURLSHcode curl_share_cleanup(CURLSH *share);
+-typedef enum {
+- CURLVERSION_FIRST,
+- CURLVERSION_SECOND,
+- CURLVERSION_THIRD,
+- CURLVERSION_FOURTH,
+- CURLVERSION_FIFTH,
+- CURLVERSION_SIXTH,
+- CURLVERSION_SEVENTH,
+- CURLVERSION_EIGHTH,
+- CURLVERSION_NINTH,
+- CURLVERSION_TENTH,
+- CURLVERSION_ELEVENTH,
+- CURLVERSION_TWELFTH,
+- CURLVERSION_LAST
+-} CURLversion;
+-#define CURLVERSION_NOW CURLVERSION_TWELFTH
+-struct curl_version_info_data {
+- CURLversion age;
+- const char *version;
+- unsigned int version_num;
+- const char *host;
+- int features;
+- const char *ssl_version;
+- long ssl_version_num;
+- const char *libz_version;
+- const char * const *protocols;
+- const char *ares;
+- int ares_num;
+- const char *libidn;
+- int iconv_ver_num;
+- const char *libssh_version;
+- unsigned int brotli_ver_num;
+- const char *brotli_version;
+- unsigned int nghttp2_ver_num;
+- const char *nghttp2_version;
+- const char *quic_version;
+- const char *cainfo;
+- const char *capath;
+- unsigned int zstd_ver_num;
+- const char *zstd_version;
+- const char *hyper_version;
+- const char *gsasl_version;
+- const char * const *feature_names;
+- const char *rtmp_version;
+-};
+-typedef struct curl_version_info_data curl_version_info_data;
+-
+-CURL_EXTERN curl_version_info_data *curl_version_info(CURLversion);
+-CURL_EXTERN const char *curl_easy_strerror(CURLcode);
+-CURL_EXTERN const char *curl_share_strerror(CURLSHcode);
+-CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask);
+-#ifndef CURLINC_EASY_H
+-#define CURLINC_EASY_H
+-struct curl_blob {
+- void *data;
+- size_t len;
+- unsigned int flags;
+-};
+-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);
+-CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...);
+-CURL_EXTERN CURL *curl_easy_duphandle(CURL *curl);
+-CURL_EXTERN void curl_easy_reset(CURL *curl);
+-CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen,
+- size_t *n);
+-CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer,
+- size_t buflen, size_t *n);
+-CURL_EXTERN CURLcode curl_easy_upkeep(CURL *curl);
+-#endif
+-#ifndef CURLINC_MULTI_H
+-#define CURLINC_MULTI_H
+-typedef void CURLM;
+-typedef enum {
+- CURLM_CALL_MULTI_PERFORM = -1,
+- CURLM_OK,
+- CURLM_BAD_HANDLE,
+- CURLM_BAD_EASY_HANDLE,
+- CURLM_OUT_OF_MEMORY,
+- CURLM_INTERNAL_ERROR,
+- CURLM_BAD_SOCKET,
+- CURLM_UNKNOWN_OPTION,
+- CURLM_ADDED_ALREADY,
+- CURLM_RECURSIVE_API_CALL,
+- CURLM_WAKEUP_FAILURE,
+- CURLM_BAD_FUNCTION_ARGUMENT,
+- CURLM_ABORTED_BY_CALLBACK,
+- CURLM_UNRECOVERABLE_POLL,
+- CURLM_LAST
+-} CURLMcode;
+-typedef enum {
+- CURLMSG_NONE,
+- CURLMSG_DONE,
+- CURLMSG_LAST
+-} CURLMSG;
+-struct CURLMsg {
+- CURLMSG msg;
+- CURL *easy_handle;
+- union {
+- void *whatever;
+- CURLcode result;
+- } data;
+-};
+-typedef struct CURLMsg CURLMsg;
+-struct curl_waitfd {
+- curl_socket_t fd;
+- short events;
+- short revents;
+-};
+-CURL_EXTERN CURLM *curl_multi_init(void);
+-CURL_EXTERN CURLMcode curl_multi_add_handle(CURLM *multi_handle,
+- CURL *curl_handle);
+-CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle,
+- CURL *curl_handle);
+-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);
+-CURL_EXTERN CURLMcode curl_multi_wait(CURLM *multi_handle,
+- struct curl_waitfd extra_fds[],
+- unsigned int extra_nfds,
+- int timeout_ms,
+- int *ret);
+-CURL_EXTERN CURLMcode curl_multi_poll(CURLM *multi_handle,
+- struct curl_waitfd extra_fds[],
+- unsigned int extra_nfds,
+- int timeout_ms,
+- int *ret);
+-CURL_EXTERN CURLMcode curl_multi_wakeup(CURLM *multi_handle);
+-CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle,
+- int *running_handles);
+-CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle);
+-CURL_EXTERN CURLMsg *curl_multi_info_read(CURLM *multi_handle,
+- int *msgs_in_queue);
+-CURL_EXTERN const char *curl_multi_strerror(CURLMcode);
+-#define CURL_SOCKET_TIMEOUT CURL_SOCKET_BAD
+-typedef int (*curl_socket_callback)(CURL *easy,
+- curl_socket_t s,
+- int what,
+- void *userp,
+- void *socketp);
+-typedef int (*curl_multi_timer_callback)(CURLM *multi,
+- long timeout_ms,
+- void *userp);
+-CURL_EXTERN CURLMcode CURL_DEPRECATED(7.19.5, "Use curl_multi_socket_action()")
+-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_DEPRECATED(7.19.5, "Use curl_multi_socket_action()")
+-curl_multi_socket_all(CURLM *multi_handle, int *running_handles);
+-#ifndef CURL_ALLOW_OLD_MULTI_SOCKET
+-#define curl_multi_socket(x,y,z) curl_multi_socket_action(x,y,0,z)
+-#endif
+-CURL_EXTERN CURLMcode curl_multi_timeout(CURLM *multi_handle,
+- long *milliseconds);
+-typedef enum {
+- CURLOPT(CURLMOPT_SOCKETFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 1),
+- CURLOPT(CURLMOPT_SOCKETDATA, CURLOPTTYPE_OBJECTPOINT, 2),
+- CURLOPT(CURLMOPT_PIPELINING, CURLOPTTYPE_LONG, 3),
+- CURLOPT(CURLMOPT_TIMERFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 4),
+- CURLOPT(CURLMOPT_TIMERDATA, CURLOPTTYPE_OBJECTPOINT, 5),
+- CURLOPT(CURLMOPT_MAXCONNECTS, CURLOPTTYPE_LONG, 6),
+- CURLOPT(CURLMOPT_MAX_HOST_CONNECTIONS, CURLOPTTYPE_LONG, 7),
+- CURLOPT(CURLMOPT_MAX_PIPELINE_LENGTH, CURLOPTTYPE_LONG, 8),
+- CURLOPT(CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLOPTTYPE_OFF_T, 9),
+- CURLOPT(CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLOPTTYPE_OFF_T, 10),
+- CURLOPT(CURLMOPT_PIPELINING_SITE_BL, CURLOPTTYPE_OBJECTPOINT, 11),
+- CURLOPT(CURLMOPT_PIPELINING_SERVER_BL, CURLOPTTYPE_OBJECTPOINT, 12),
+- CURLOPT(CURLMOPT_MAX_TOTAL_CONNECTIONS, CURLOPTTYPE_LONG, 13),
+- CURLOPT(CURLMOPT_PUSHFUNCTION, CURLOPTTYPE_FUNCTIONPOINT, 14),
+- CURLOPT(CURLMOPT_PUSHDATA, CURLOPTTYPE_OBJECTPOINT, 15),
+- CURLOPT(CURLMOPT_MAX_CONCURRENT_STREAMS, CURLOPTTYPE_LONG, 16),
+- CURLMOPT_LASTENTRY
+-} CURLMoption;
+-CURL_EXTERN CURLMcode curl_multi_setopt(CURLM *multi_handle,
+- CURLMoption option, ...);
+-CURL_EXTERN CURLMcode curl_multi_assign(CURLM *multi_handle,
+- curl_socket_t sockfd, void *sockp);
+-CURL_EXTERN CURL **curl_multi_get_handles(CURLM *multi_handle);
+-struct curl_pushheaders;
+-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);
+-CURL_EXTERN CURLMcode curl_multi_waitfds(CURLM *multi,
+- struct curl_waitfd *ufds,
+- unsigned int size,
+- unsigned int *fd_count);
+-#endif
+-#ifndef CURLINC_URLAPI_H
+-#define CURLINC_URLAPI_H
+-typedef enum {
+- CURLUE_OK,
+- CURLUE_BAD_HANDLE,
+- CURLUE_BAD_PARTPOINTER,
+- CURLUE_MALFORMED_INPUT,
+- CURLUE_BAD_PORT_NUMBER,
+- CURLUE_UNSUPPORTED_SCHEME,
+- CURLUE_URLDECODE,
+- CURLUE_OUT_OF_MEMORY,
+- CURLUE_USER_NOT_ALLOWED,
+- CURLUE_UNKNOWN_PART,
+- CURLUE_NO_SCHEME,
+- CURLUE_NO_USER,
+- CURLUE_NO_PASSWORD,
+- CURLUE_NO_OPTIONS,
+- CURLUE_NO_HOST,
+- CURLUE_NO_PORT,
+- CURLUE_NO_QUERY,
+- CURLUE_NO_FRAGMENT,
+- CURLUE_NO_ZONEID,
+- CURLUE_BAD_FILE_URL,
+- CURLUE_BAD_FRAGMENT,
+- CURLUE_BAD_HOSTNAME,
+- CURLUE_BAD_IPV6,
+- CURLUE_BAD_LOGIN,
+- CURLUE_BAD_PASSWORD,
+- CURLUE_BAD_PATH,
+- CURLUE_BAD_QUERY,
+- CURLUE_BAD_SCHEME,
+- CURLUE_BAD_SLASHES,
+- CURLUE_BAD_USER,
+- CURLUE_LACKS_IDN,
+- CURLUE_TOO_LARGE,
+- CURLUE_LAST
+-} CURLUcode;
+-typedef enum {
+- CURLUPART_URL,
+- CURLUPART_SCHEME,
+- CURLUPART_USER,
+- CURLUPART_PASSWORD,
+- CURLUPART_OPTIONS,
+- CURLUPART_HOST,
+- CURLUPART_PORT,
+- CURLUPART_PATH,
+- CURLUPART_QUERY,
+- CURLUPART_FRAGMENT,
+- CURLUPART_ZONEID
+-} CURLUPart;
+-typedef struct Curl_URL CURLU;
+-CURL_EXTERN CURLU *curl_url(void);
+-CURL_EXTERN void curl_url_cleanup(CURLU *handle);
+-CURL_EXTERN CURLU *curl_url_dup(const CURLU *in);
+-CURL_EXTERN CURLUcode curl_url_get(const CURLU *handle, CURLUPart what,
+- char **part, unsigned int flags);
+-CURL_EXTERN CURLUcode curl_url_set(CURLU *handle, CURLUPart what,
+- const char *part, unsigned int flags);
+-CURL_EXTERN const char *curl_url_strerror(CURLUcode);
+-#endif
+-#ifndef CURLINC_OPTIONS_H
+-#define CURLINC_OPTIONS_H
+-typedef enum {
+- CURLOT_LONG,
+- CURLOT_VALUES,
+- CURLOT_OFF_T,
+- CURLOT_OBJECT,
+- CURLOT_STRING,
+- CURLOT_SLIST,
+- CURLOT_CBPTR,
+- CURLOT_BLOB,
+- CURLOT_FUNCTION
+-} curl_easytype;
+-struct curl_easyoption {
+- const char *name;
+- CURLoption id;
+- curl_easytype type;
+- unsigned int flags;
+-};
+-CURL_EXTERN const struct curl_easyoption *
+-curl_easy_option_by_name(const char *name);
+-CURL_EXTERN const struct curl_easyoption *
+-curl_easy_option_by_id(CURLoption id);
+-CURL_EXTERN const struct curl_easyoption *
+-curl_easy_option_next(const struct curl_easyoption *prev);
+-#endif
+-#ifndef CURLINC_HEADER_H
+-#define CURLINC_HEADER_H
+-struct curl_header {
+- char *name;
+- char *value;
+- size_t amount;
+- size_t index;
+- unsigned int origin;
+- void *anchor;
+-};
+-typedef enum {
+- CURLHE_OK,
+- CURLHE_BADINDEX,
+- CURLHE_MISSING,
+- CURLHE_NOHEADERS,
+- CURLHE_NOREQUEST,
+- CURLHE_OUT_OF_MEMORY,
+- CURLHE_BAD_ARGUMENT,
+- CURLHE_NOT_BUILT_IN
+-} CURLHcode;
+-CURL_EXTERN CURLHcode curl_easy_header(CURL *easy,
+- const char *name,
+- size_t index,
+- unsigned int origin,
+- int request,
+- struct curl_header **hout);
+-CURL_EXTERN struct curl_header *curl_easy_nextheader(CURL *easy,
+- unsigned int origin,
+- int request,
+- struct curl_header *prev);
+-#endif
+-#ifndef CURLINC_WEBSOCKETS_H
+-#define CURLINC_WEBSOCKETS_H
+-struct curl_ws_frame {
+- int age;
+- int flags;
+- curl_off_t offset;
+- curl_off_t bytesleft;
+- size_t len;
+-};
+-CURL_EXTERN CURLcode curl_ws_recv(CURL *curl, void *buffer, size_t buflen,
+- size_t *recv,
+- const struct curl_ws_frame **metap);
+-CURL_EXTERN CURLcode curl_ws_send(CURL *curl, const void *buffer,
+- size_t buflen, size_t *sent,
+- curl_off_t fragsize,
+- unsigned int flags);
+-CURL_EXTERN const struct curl_ws_frame *curl_ws_meta(CURL *curl);
+-#endif
+-#ifndef CURL_SKIP_INCLUDE_MPRINTF
+-#ifndef CURLINC_MPRINTF_H
+-#define CURLINC_MPRINTF_H
+-#include <condition_variable>
+-#ifndef CURL_TEMP_PRINTF
+-#if (defined(__GNUC__) || defined(__clang__) || \
+- defined(__IAR_SYSTEMS_ICC__)) && \
+- defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
+- !defined(CURL_NO_FMT_CHECKS)
+-#if defined(__MINGW32__) && !defined(__clang__)
+-#if defined(__MINGW_PRINTF_FORMAT)
+-#define CURL_TEMP_PRINTF(fmt, arg) \
+- __attribute__((format(__MINGW_PRINTF_FORMAT, fmt, arg)))
+-#else
+-#define CURL_TEMP_PRINTF(fmt, arg)
+-#endif
+-#else
+-#define CURL_TEMP_PRINTF(fmt, arg) \
+- __attribute__((format(printf, fmt, arg)))
+-#endif
+-#else
+-#define CURL_TEMP_PRINTF(fmt, arg)
+-#endif
+-#endif
+-CURL_EXTERN int curl_mprintf(const char *format, ...)
+- CURL_TEMP_PRINTF(1, 2);
+-CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...)
+- CURL_TEMP_PRINTF(2, 3);
+-CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...)
+- CURL_TEMP_PRINTF(2, 3);
+-CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength,
+- const char *format, ...)
+- CURL_TEMP_PRINTF(3, 4);
+-CURL_EXTERN int curl_mvprintf(const char *format, va_list args)
+- CURL_TEMP_PRINTF(1, 0);
+-CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args)
+- CURL_TEMP_PRINTF(2, 0);
+-CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args)
+- CURL_TEMP_PRINTF(2, 0);
+-CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength,
+- const char *format, va_list args)
+- CURL_TEMP_PRINTF(3, 0);
+-CURL_EXTERN char *curl_maprintf(const char *format, ...)
+- CURL_TEMP_PRINTF(1, 2);
+-CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args)
+- CURL_TEMP_PRINTF(1, 0);
+-#undef CURL_TEMP_PRINTF
+-#endif
+-#endif
+-#if defined(__GNUC__) && defined(__GNUC_MINOR__) && \
+- ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \
+- !defined(__cplusplus) && !defined(CURL_DISABLE_TYPECHECK)
+-#ifndef CURLINC_TYPECHECK_GCC_H
+-#define CURLINC_TYPECHECK_GCC_H
+-#define curl_easy_setopt(handle, option, value) \
+- __extension__({ \
+- CURLoption _curl_opt = (option); \
+- if(__builtin_constant_p(_curl_opt)) { \
+- CURL_IGNORE_DEPRECATION( \
+- if(curlcheck_long_option(_curl_opt)) \
+- if(!curlcheck_long(value)) \
+- _curl_easy_setopt_err_long(); \
+- if(curlcheck_off_t_option(_curl_opt)) \
+- if(!curlcheck_off_t(value)) \
+- _curl_easy_setopt_err_curl_off_t(); \
+- if(curlcheck_string_option(_curl_opt)) \
+- if(!curlcheck_string(value)) \
+- _curl_easy_setopt_err_string(); \
+- if(curlcheck_write_cb_option(_curl_opt)) \
+- if(!curlcheck_write_cb(value)) \
+- _curl_easy_setopt_err_write_callback(); \
+- if((_curl_opt) == CURLOPT_RESOLVER_START_FUNCTION) \
+- if(!curlcheck_resolver_start_callback(value)) \
+- _curl_easy_setopt_err_resolver_start_callback(); \
+- if((_curl_opt) == CURLOPT_READFUNCTION) \
+- if(!curlcheck_read_cb(value)) \
+- _curl_easy_setopt_err_read_cb(); \
+- if((_curl_opt) == CURLOPT_IOCTLFUNCTION) \
+- if(!curlcheck_ioctl_cb(value)) \
+- _curl_easy_setopt_err_ioctl_cb(); \
+- if((_curl_opt) == CURLOPT_SOCKOPTFUNCTION) \
+- if(!curlcheck_sockopt_cb(value)) \
+- _curl_easy_setopt_err_sockopt_cb(); \
+- if((_curl_opt) == CURLOPT_OPENSOCKETFUNCTION) \
+- if(!curlcheck_opensocket_cb(value)) \
+- _curl_easy_setopt_err_opensocket_cb(); \
+- if((_curl_opt) == CURLOPT_PROGRESSFUNCTION) \
+- if(!curlcheck_progress_cb(value)) \
+- _curl_easy_setopt_err_progress_cb(); \
+- if((_curl_opt) == CURLOPT_DEBUGFUNCTION) \
+- if(!curlcheck_debug_cb(value)) \
+- _curl_easy_setopt_err_debug_cb(); \
+- if((_curl_opt) == CURLOPT_SSL_CTX_FUNCTION) \
+- if(!curlcheck_ssl_ctx_cb(value)) \
+- _curl_easy_setopt_err_ssl_ctx_cb(); \
+- if(curlcheck_conv_cb_option(_curl_opt)) \
+- if(!curlcheck_conv_cb(value)) \
+- _curl_easy_setopt_err_conv_cb(); \
+- if((_curl_opt) == CURLOPT_SEEKFUNCTION) \
+- if(!curlcheck_seek_cb(value)) \
+- _curl_easy_setopt_err_seek_cb(); \
+- if(curlcheck_cb_data_option(_curl_opt)) \
+- if(!curlcheck_cb_data(value)) \
+- _curl_easy_setopt_err_cb_data(); \
+- if((_curl_opt) == CURLOPT_ERRORBUFFER) \
+- if(!curlcheck_error_buffer(value)) \
+- _curl_easy_setopt_err_error_buffer(); \
+- if((_curl_opt) == CURLOPT_STDERR) \
+- if(!curlcheck_FILE(value)) \
+- _curl_easy_setopt_err_FILE(); \
+- if(curlcheck_postfields_option(_curl_opt)) \
+- if(!curlcheck_postfields(value)) \
+- _curl_easy_setopt_err_postfields(); \
+- if((_curl_opt) == CURLOPT_HTTPPOST) \
+- if(!curlcheck_arr((value), struct curl_httppost)) \
+- _curl_easy_setopt_err_curl_httpost(); \
+- if((_curl_opt) == CURLOPT_MIMEPOST) \
+- if(!curlcheck_ptr((value), curl_mime)) \
+- _curl_easy_setopt_err_curl_mimepost(); \
+- if(curlcheck_slist_option(_curl_opt)) \
+- if(!curlcheck_arr((value), struct curl_slist)) \
+- _curl_easy_setopt_err_curl_slist(); \
+- if((_curl_opt) == CURLOPT_SHARE) \
+- if(!curlcheck_ptr((value), CURLSH)) \
+- _curl_easy_setopt_err_CURLSH(); \
+- ) \
+- } \
+- curl_easy_setopt(handle, _curl_opt, value); \
+- })
+-#define curl_easy_getinfo(handle, info, arg) \
+- __extension__({ \
+- CURLINFO _curl_info = (info); \
+- if(__builtin_constant_p(_curl_info)) { \
+- CURL_IGNORE_DEPRECATION( \
+- if(curlcheck_string_info(_curl_info)) \
+- if(!curlcheck_arr((arg), char *)) \
+- _curl_easy_getinfo_err_string(); \
+- if(curlcheck_long_info(_curl_info)) \
+- if(!curlcheck_arr((arg), long)) \
+- _curl_easy_getinfo_err_long(); \
+- if(curlcheck_double_info(_curl_info)) \
+- if(!curlcheck_arr((arg), double)) \
+- _curl_easy_getinfo_err_double(); \
+- if(curlcheck_slist_info(_curl_info)) \
+- if(!curlcheck_arr((arg), struct curl_slist *)) \
+- _curl_easy_getinfo_err_curl_slist(); \
+- if(curlcheck_tlssessioninfo_info(_curl_info)) \
+- if(!curlcheck_arr((arg), struct curl_tlssessioninfo *)) \
+- _curl_easy_getinfo_err_curl_tlssesssioninfo(); \
+- if(curlcheck_certinfo_info(_curl_info)) \
+- if(!curlcheck_arr((arg), struct curl_certinfo *)) \
+- _curl_easy_getinfo_err_curl_certinfo(); \
+- if(curlcheck_socket_info(_curl_info)) \
+- if(!curlcheck_arr((arg), curl_socket_t)) \
+- _curl_easy_getinfo_err_curl_socket(); \
+- if(curlcheck_off_t_info(_curl_info)) \
+- if(!curlcheck_arr((arg), curl_off_t)) \
+- _curl_easy_getinfo_err_curl_off_t(); \
+- ) \
+- } \
+- curl_easy_getinfo(handle, _curl_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)
+-#define CURLWARNING(id, message) \
+- static void __attribute__((__warning__(message))) \
+- __attribute__((__unused__)) __attribute__((__noinline__)) \
+- id(void) { __asm__(""); }
+-CURLWARNING(_curl_easy_setopt_err_long,
+- "curl_easy_setopt expects a long argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_curl_off_t,
+- "curl_easy_setopt expects a curl_off_t argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_string,
+- "curl_easy_setopt expects a "
+- "string ('char *' or char[]) argument for this option"
+- )
+-CURLWARNING(_curl_easy_setopt_err_write_callback,
+- "curl_easy_setopt expects a curl_write_callback argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_resolver_start_callback,
+- "curl_easy_setopt expects a "
+- "curl_resolver_start_callback argument for this option"
+- )
+-CURLWARNING(_curl_easy_setopt_err_read_cb,
+- "curl_easy_setopt expects a curl_read_callback argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_ioctl_cb,
+- "curl_easy_setopt expects a curl_ioctl_callback argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_sockopt_cb,
+- "curl_easy_setopt expects a curl_sockopt_callback argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_opensocket_cb,
+- "curl_easy_setopt expects a "
+- "curl_opensocket_callback argument for this option"
+- )
+-CURLWARNING(_curl_easy_setopt_err_progress_cb,
+- "curl_easy_setopt expects a curl_progress_callback argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_debug_cb,
+- "curl_easy_setopt expects a curl_debug_callback argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_ssl_ctx_cb,
+- "curl_easy_setopt expects a curl_ssl_ctx_callback argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_conv_cb,
+- "curl_easy_setopt expects a curl_conv_callback argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_seek_cb,
+- "curl_easy_setopt expects a curl_seek_callback argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_cb_data,
+- "curl_easy_setopt expects a "
+- "private data pointer as argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_error_buffer,
+- "curl_easy_setopt expects a "
+- "char buffer of CURL_ERROR_SIZE as argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_FILE,
+- "curl_easy_setopt expects a 'FILE *' argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_postfields,
+- "curl_easy_setopt expects a 'void *' or 'char *' argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_curl_httpost,
+- "curl_easy_setopt expects a 'struct curl_httppost *' "
+- "argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_curl_mimepost,
+- "curl_easy_setopt expects a 'curl_mime *' "
+- "argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_curl_slist,
+- "curl_easy_setopt expects a 'struct curl_slist *' argument for this option")
+-CURLWARNING(_curl_easy_setopt_err_CURLSH,
+- "curl_easy_setopt expects a CURLSH* argument for this option")
+-CURLWARNING(_curl_easy_getinfo_err_string,
+- "curl_easy_getinfo expects a pointer to 'char *' for this info")
+-CURLWARNING(_curl_easy_getinfo_err_long,
+- "curl_easy_getinfo expects a pointer to long for this info")
+-CURLWARNING(_curl_easy_getinfo_err_double,
+- "curl_easy_getinfo expects a pointer to double for this info")
+-CURLWARNING(_curl_easy_getinfo_err_curl_slist,
+- "curl_easy_getinfo expects a pointer to 'struct curl_slist *' for this info")
+-CURLWARNING(_curl_easy_getinfo_err_curl_tlssesssioninfo,
+- "curl_easy_getinfo expects a pointer to "
+- "'struct curl_tlssessioninfo *' for this info")
+-CURLWARNING(_curl_easy_getinfo_err_curl_certinfo,
+- "curl_easy_getinfo expects a pointer to "
+- "'struct curl_certinfo *' for this info")
+-CURLWARNING(_curl_easy_getinfo_err_curl_socket,
+- "curl_easy_getinfo expects a pointer to curl_socket_t for this info")
+-CURLWARNING(_curl_easy_getinfo_err_curl_off_t,
+- "curl_easy_getinfo expects a pointer to curl_off_t for this info")
+-#define curlcheck_long_option(option) \
+- (0 < (option) && (option) < CURLOPTTYPE_OBJECTPOINT)
+-#define curlcheck_off_t_option(option) \
+- (((option) > CURLOPTTYPE_OFF_T) && ((option) < CURLOPTTYPE_BLOB))
+-#define curlcheck_string_option(option) \
+- ((option) == CURLOPT_ABSTRACT_UNIX_SOCKET || \
+- (option) == CURLOPT_ACCEPT_ENCODING || \
+- (option) == CURLOPT_ALTSVC || \
+- (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_DOH_URL || \
+- (option) == CURLOPT_ECH || \
+- (option) == CURLOPT_EGDSOCKET || \
+- (option) == CURLOPT_FTP_ACCOUNT || \
+- (option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \
+- (option) == CURLOPT_FTPPORT || \
+- (option) == CURLOPT_HSTS || \
+- (option) == CURLOPT_HAPROXY_CLIENT_IP || \
+- (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_PRE_PROXY || \
+- (option) == CURLOPT_PROTOCOLS_STR || \
+- (option) == CURLOPT_PROXY || \
+- (option) == CURLOPT_PROXY_CAINFO || \
+- (option) == CURLOPT_PROXY_CAPATH || \
+- (option) == CURLOPT_PROXY_CRLFILE || \
+- (option) == CURLOPT_PROXY_ISSUERCERT || \
+- (option) == CURLOPT_PROXY_KEYPASSWD || \
+- (option) == CURLOPT_PROXY_PINNEDPUBLICKEY || \
+- (option) == CURLOPT_PROXY_SERVICE_NAME || \
+- (option) == CURLOPT_PROXY_SSL_CIPHER_LIST || \
+- (option) == CURLOPT_PROXY_SSLCERT || \
+- (option) == CURLOPT_PROXY_SSLCERTTYPE || \
+- (option) == CURLOPT_PROXY_SSLKEY || \
+- (option) == CURLOPT_PROXY_SSLKEYTYPE || \
+- (option) == CURLOPT_PROXY_TLS13_CIPHERS || \
+- (option) == CURLOPT_PROXY_TLSAUTH_PASSWORD || \
+- (option) == CURLOPT_PROXY_TLSAUTH_TYPE || \
+- (option) == CURLOPT_PROXY_TLSAUTH_USERNAME || \
+- (option) == CURLOPT_PROXYPASSWORD || \
+- (option) == CURLOPT_PROXYUSERNAME || \
+- (option) == CURLOPT_PROXYUSERPWD || \
+- (option) == CURLOPT_RANDOM_FILE || \
+- (option) == CURLOPT_RANGE || \
+- (option) == CURLOPT_REDIR_PROTOCOLS_STR || \
+- (option) == CURLOPT_REFERER || \
+- (option) == CURLOPT_REQUEST_TARGET || \
+- (option) == CURLOPT_RTSP_SESSION_ID || \
+- (option) == CURLOPT_RTSP_STREAM_URI || \
+- (option) == CURLOPT_RTSP_TRANSPORT || \
+- (option) == CURLOPT_SASL_AUTHZID || \
+- (option) == CURLOPT_SERVICE_NAME || \
+- (option) == CURLOPT_SOCKS5_GSSAPI_SERVICE || \
+- (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 || \
+- (option) == CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 || \
+- (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_TLS13_CIPHERS || \
+- (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_AWS_SIGV4 || \
+- (option) == CURLOPT_USERPWD || \
+- (option) == CURLOPT_XOAUTH2_BEARER || \
+- (option) == CURLOPT_SSL_EC_CURVES || \
+- 0)
+-#define curlcheck_write_cb_option(option) \
+- ((option) == CURLOPT_HEADERFUNCTION || \
+- (option) == CURLOPT_WRITEFUNCTION)
+-#define curlcheck_conv_cb_option(option) \
+- ((option) == CURLOPT_CONV_TO_NETWORK_FUNCTION || \
+- (option) == CURLOPT_CONV_FROM_NETWORK_FUNCTION || \
+- (option) == CURLOPT_CONV_FROM_UTF8_FUNCTION)
+-#define curlcheck_cb_data_option(option) \
+- ((option) == CURLOPT_CHUNK_DATA || \
+- (option) == CURLOPT_CLOSESOCKETDATA || \
+- (option) == CURLOPT_DEBUGDATA || \
+- (option) == CURLOPT_FNMATCH_DATA || \
+- (option) == CURLOPT_HEADERDATA || \
+- (option) == CURLOPT_HSTSREADDATA || \
+- (option) == CURLOPT_HSTSWRITEDATA || \
+- (option) == CURLOPT_INTERLEAVEDATA || \
+- (option) == CURLOPT_IOCTLDATA || \
+- (option) == CURLOPT_OPENSOCKETDATA || \
+- (option) == CURLOPT_PREREQDATA || \
+- (option) == CURLOPT_PROGRESSDATA || \
+- (option) == CURLOPT_READDATA || \
+- (option) == CURLOPT_SEEKDATA || \
+- (option) == CURLOPT_SOCKOPTDATA || \
+- (option) == CURLOPT_SSH_KEYDATA || \
+- (option) == CURLOPT_SSL_CTX_DATA || \
+- (option) == CURLOPT_WRITEDATA || \
+- (option) == CURLOPT_RESOLVER_START_DATA || \
+- (option) == CURLOPT_TRAILERDATA || \
+- (option) == CURLOPT_SSH_HOSTKEYDATA || \
+- 0)
+-#define curlcheck_postfields_option(option) \
+- ((option) == CURLOPT_POSTFIELDS || \
+- (option) == CURLOPT_COPYPOSTFIELDS || \
+- 0)
+-#define curlcheck_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 || \
+- (option) == CURLOPT_CONNECT_TO || \
+- 0)
+-#define curlcheck_string_info(info) \
+- (CURLINFO_STRING < (info) && (info) < CURLINFO_LONG && \
+- (info) != CURLINFO_PRIVATE)
+-#define curlcheck_long_info(info) \
+- (CURLINFO_LONG < (info) && (info) < CURLINFO_DOUBLE)
+-#define curlcheck_double_info(info) \
+- (CURLINFO_DOUBLE < (info) && (info) < CURLINFO_SLIST)
+-#define curlcheck_slist_info(info) \
+- (((info) == CURLINFO_SSL_ENGINES) || ((info) == CURLINFO_COOKIELIST))
+-#define curlcheck_tlssessioninfo_info(info) \
+- (((info) == CURLINFO_TLS_SSL_PTR) || ((info) == CURLINFO_TLS_SESSION))
+-#define curlcheck_certinfo_info(info) ((info) == CURLINFO_CERTINFO)
+-#define curlcheck_socket_info(info) \
+- (CURLINFO_SOCKET < (info) && (info) < CURLINFO_OFF_T)
+-#define curlcheck_off_t_info(info) \
+- (CURLINFO_OFF_T < (info))
+-#define curlcheck_any_ptr(expr) \
+- (sizeof(expr) == sizeof(void *))
+-#define curlcheck_NULL(expr) \
+- (__builtin_types_compatible_p(__typeof__(expr), __typeof__(NULL)))
+-#define curlcheck_ptr(expr, type) \
+- (curlcheck_NULL(expr) || \
+- __builtin_types_compatible_p(__typeof__(expr), type *) || \
+- __builtin_types_compatible_p(__typeof__(expr), const type *))
+-#define curlcheck_arr(expr, type) \
+- (curlcheck_ptr((expr), type) || \
+- __builtin_types_compatible_p(__typeof__(expr), type []))
+-#define curlcheck_string(expr) \
+- (curlcheck_arr((expr), char) || \
+- curlcheck_arr((expr), signed char) || \
+- curlcheck_arr((expr), unsigned char))
+-#define curlcheck_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))
+-#define curlcheck_off_t(expr) \
+- (__builtin_types_compatible_p(__typeof__(expr), curl_off_t))
+-#define curlcheck_error_buffer(expr) \
+- (curlcheck_NULL(expr) || \
+- __builtin_types_compatible_p(__typeof__(expr), char *) || \
+- __builtin_types_compatible_p(__typeof__(expr), char[]))
+-#if 0
+-#define curlcheck_cb_data(expr) \
+- (curlcheck_ptr((expr), void) || \
+- curlcheck_ptr((expr), FILE))
+-#else
+-#define curlcheck_cb_data(expr) \
+- curlcheck_any_ptr(expr)
+-#endif
+-#define curlcheck_FILE(expr) \
+- (curlcheck_NULL(expr) || \
+- (__builtin_types_compatible_p(__typeof__(expr), FILE *)))
+-#define curlcheck_postfields(expr) \
+- (curlcheck_ptr((expr), void) || \
+- curlcheck_arr((expr), char) || \
+- curlcheck_arr((expr), unsigned char))
+-#define curlcheck_cb_compatible(func, type) \
+- (__builtin_types_compatible_p(__typeof__(func), type) || \
+- __builtin_types_compatible_p(__typeof__(func) *, type))
+-#define curlcheck_resolver_start_callback(expr) \
+- (curlcheck_NULL(expr) || \
+- curlcheck_cb_compatible((expr), curl_resolver_start_callback))
+-#define curlcheck_read_cb(expr) \
+- (curlcheck_NULL(expr) || \
+- curlcheck_cb_compatible((expr), __typeof__(fread) *) || \
+- curlcheck_cb_compatible((expr), curl_read_callback) || \
+- curlcheck_cb_compatible((expr), _curl_read_callback1) || \
+- curlcheck_cb_compatible((expr), _curl_read_callback2) || \
+- curlcheck_cb_compatible((expr), _curl_read_callback3) || \
+- curlcheck_cb_compatible((expr), _curl_read_callback4) || \
+- curlcheck_cb_compatible((expr), _curl_read_callback5) || \
+- curlcheck_cb_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 *);
+-#define curlcheck_write_cb(expr) \
+- (curlcheck_read_cb(expr) || \
+- curlcheck_cb_compatible((expr), __typeof__(fwrite) *) || \
+- curlcheck_cb_compatible((expr), curl_write_callback) || \
+- curlcheck_cb_compatible((expr), _curl_write_callback1) || \
+- curlcheck_cb_compatible((expr), _curl_write_callback2) || \
+- curlcheck_cb_compatible((expr), _curl_write_callback3) || \
+- curlcheck_cb_compatible((expr), _curl_write_callback4) || \
+- curlcheck_cb_compatible((expr), _curl_write_callback5) || \
+- curlcheck_cb_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 *);
+-#define curlcheck_ioctl_cb(expr) \
+- (curlcheck_NULL(expr) || \
+- curlcheck_cb_compatible((expr), curl_ioctl_callback) || \
+- curlcheck_cb_compatible((expr), _curl_ioctl_callback1) || \
+- curlcheck_cb_compatible((expr), _curl_ioctl_callback2) || \
+- curlcheck_cb_compatible((expr), _curl_ioctl_callback3) || \
+- curlcheck_cb_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 *);
+-#define curlcheck_sockopt_cb(expr) \
+- (curlcheck_NULL(expr) || \
+- curlcheck_cb_compatible((expr), curl_sockopt_callback) || \
+- curlcheck_cb_compatible((expr), _curl_sockopt_callback1) || \
+- curlcheck_cb_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);
+-#define curlcheck_opensocket_cb(expr) \
+- (curlcheck_NULL(expr) || \
+- curlcheck_cb_compatible((expr), curl_opensocket_callback) || \
+- curlcheck_cb_compatible((expr), _curl_opensocket_callback1) || \
+- curlcheck_cb_compatible((expr), _curl_opensocket_callback2) || \
+- curlcheck_cb_compatible((expr), _curl_opensocket_callback3) || \
+- curlcheck_cb_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 *);
+-#define curlcheck_progress_cb(expr) \
+- (curlcheck_NULL(expr) || \
+- curlcheck_cb_compatible((expr), curl_progress_callback) || \
+- curlcheck_cb_compatible((expr), _curl_progress_callback1) || \
+- curlcheck_cb_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);
+-#define curlcheck_debug_cb(expr) \
+- (curlcheck_NULL(expr) || \
+- curlcheck_cb_compatible((expr), curl_debug_callback) || \
+- curlcheck_cb_compatible((expr), _curl_debug_callback1) || \
+- curlcheck_cb_compatible((expr), _curl_debug_callback2) || \
+- curlcheck_cb_compatible((expr), _curl_debug_callback3) || \
+- curlcheck_cb_compatible((expr), _curl_debug_callback4) || \
+- curlcheck_cb_compatible((expr), _curl_debug_callback5) || \
+- curlcheck_cb_compatible((expr), _curl_debug_callback6) || \
+- curlcheck_cb_compatible((expr), _curl_debug_callback7) || \
+- curlcheck_cb_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 *);
+-#define curlcheck_ssl_ctx_cb(expr) \
+- (curlcheck_NULL(expr) || \
+- curlcheck_cb_compatible((expr), curl_ssl_ctx_callback) || \
+- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback1) || \
+- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback2) || \
+- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback3) || \
+- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback4) || \
+- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback5) || \
+- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback6) || \
+- curlcheck_cb_compatible((expr), _curl_ssl_ctx_callback7) || \
+- curlcheck_cb_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
+-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
+-#define curlcheck_conv_cb(expr) \
+- (curlcheck_NULL(expr) || \
+- curlcheck_cb_compatible((expr), curl_conv_callback) || \
+- curlcheck_cb_compatible((expr), _curl_conv_callback1) || \
+- curlcheck_cb_compatible((expr), _curl_conv_callback2) || \
+- curlcheck_cb_compatible((expr), _curl_conv_callback3) || \
+- curlcheck_cb_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);
+-#define curlcheck_seek_cb(expr) \
+- (curlcheck_NULL(expr) || \
+- curlcheck_cb_compatible((expr), curl_seek_callback) || \
+- curlcheck_cb_compatible((expr), _curl_seek_callback1) || \
+- curlcheck_cb_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
+-#else
+-#if defined(__STDC__) && (__STDC__ >= 1)
+-#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
+-#endif
++#include <curl/curl.h>
+ #endif
+
+
+@@ -58462,7 +55906,7 @@ class zpaqfranzsftp2
+ #ifndef _WIN32
+ int kickstartlinux()
+ {
+- myprintf("38151: You should get libcurl.so, for example\n");
++ myprintf("38151: You should get libcurl.so.4, for example\n");
+ #ifdef __APPLE__
+ myprintf("38158: macOS :brew install curl\n");
+ #else
+@@ -58478,7 +55922,7 @@ class zpaqfranzsftp2
+ myprintf("38155: Alma Linux :dnf install curl\n");
+ myprintf("38156: Alma Linux :sudo dnf install curl\n");
+ myprintf("38157: Amazon Linux (v2+):dnf install curl\n");
+- myprintf("38158: Fedora :dnf install curl\n");
++ myprintf("38158: Fedora :dnf install libcurl-full\n");
+ myprintf("38159: Oracle Linux (v8+):dnf install curl\n");
+ myprintf("38160: Rocky Linux :dnf install curl\n");
+
+@@ -58727,7 +56171,7 @@ class zpaqfranzsftp2
+
+ if (!hModule)
+ {
+- myprintf("46919$ Cannot load libcurl.so, sorry\n");
++ myprintf("46919$ Cannot load libcurl.so.4, sorry\n");
+ #ifdef _WIN32
+ (void)kickstart();
+ #endif
+--
+2.55.0
+
diff --git a/zpaqfranz.spec b/zpaqfranz.spec
index c2f1edb..754b365 100644
--- a/zpaqfranz.spec
+++ b/zpaqfranz.spec
@@ -7,6 +7,9 @@
%bcond_with jit
%endif
+# Add "mount" subcommand for mounting archives via FUSE
+%bcond_without fuse
+
# Prefer GCC compiler
%global toolchain gcc
%bcond_with toolchain_clang
@@ -14,8 +17,8 @@
Name: zpaqfranz
Epoch: 1
-Version: 64.8
-Release: 2%{?dist}
+Version: 65.1
+Release: 1%{?dist}
Summary: Advanced multiversioned archiver with hardware acceleration
# LICENSE: MIT text
# man/LICENSE: Unlicense text
@@ -57,6 +60,10 @@ Summary: Advanced multiversioned archiver with hardware acceleration
## Not used at build time and not in any binary package
# man/zpaqfranz.1: LicenseRef-Fedora-Public-Domain (built from man/zpaqfranz.pod)
# zpaqfranz.cpp parts from cURL: curl
+# zpaqfranz.cpp parts claimed to be from libfuse (LGPL-2.1-only AND GPL-2-only)
+# but there is no such code
+# zpaqfranz.cpp parts clamimed for be from WinFsp (GPL-3-only WITH an exception)
+# but there is no such code
# ZSFX/libzpaq.cpp: MIT AND Unlicense AND LicenseRef-Fedora-Public-Domain
# (a subset and an old version of zpaqfranz.cpp)
# ZSFX/LICENSE: MIT text
@@ -67,12 +74,15 @@ URL: https://github.com/fcorbelli/%{name}
Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
# Unbundle curl.h and fix loading curl libary, probably not suitable for
# the upstream.
-Patch0: zpaqfranz-64.6-Unbundle-curl.h-and-load-curl-DSO-by-a-bare-file-nam.patch
+Patch0: zpaqfranz-65.1-Unbundle-curl.h-and-load-curl-DSO-by-a-bare-file-nam.patch
BuildRequires: coreutils
BuildRequires: gcc-c++
BuildRequires: libcurl-devel
BuildRequires: libssh-devel
BuildRequires: perl-podlators
+%if %{with fuse}
+BuildRequires: pkgconfig(fuse3)
+%endif
# rpm-build for elfdeps tool
BuildRequires: rpm-build
BuildRequires: sed
@@ -85,6 +95,10 @@ Provides: bundled(libdivsufsort-lite) = 2.00
# Unknown version of lz4 is bundeld to libzpaq.cpp from
# <https://github.com/lz4/lz4>.
Provides: bundled(lz4)
+%if %{with fuse}
+# libfuse.so executes /usr/bin/fusermount3
+Recommends: fuse3
+%endif
# For cURL library with SFTP support. It's dlopened at run-time as an optional
# feature.
Recommends: libcurl-full
@@ -139,7 +153,15 @@ sed -n -e '/^Credits and copyrights and licenses/,/^ _____ _____/ p' \
-DBIG \
%endif
-DSFTP \
- zpaqfranz.cpp %{?__global_ldflags} -ldl -pthread -o zpaqfranz
+%if %{with fuse}
+ -DZPAQMOUNT \
+ $(pkg-config --cflags fuse3) \
+%endif
+ zpaqfranz.cpp %{?__global_ldflags} -ldl -pthread \
+%if %{with fuse}
+ $(pkg-config --libs fuse3) \
+%endif
+ -o zpaqfranz
pod2man --utf8 man/zpaqfranz.pod man/zpaqfranz.1
%check
@@ -160,6 +182,9 @@ install -m 0644 -D -t %{buildroot}%{_mandir}/man1 man/zpaqfranz.1
%{_mandir}/man1/zpaqfranz.1*
%changelog
+* Mon Sep 21 2026 Petr Pisar <ppisar@redhat.com> - 1:65.1-1
+- 65.1 bump
+
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:64.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-09-21 12:19 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-21 12:19 [rpms/zpaqfranz] rawhide: 65.1 bump
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox