From a14c25aca9b733b92d43df4bcf5323e8fcfebe70 Mon Sep 17 00:00:00 2001 From: turupawn Date: Thu, 3 Oct 2019 12:59:32 -0600 Subject: [PATCH] Added current user subscription functions, and renamed GetUserModRating to GetCurrentUserModRating --- .../bin/visualc++/x64/modio.dll | Bin 1255424 -> 1263104 bytes .../mod.io-sdk-v0.11.3-DEV/include/Globals.h | 3 +- .../include/ModioUtility.h | 2 + .../mod.io-sdk-v0.11.3-DEV/include/Utility.h | 2 +- .../include/c++/ModIOInstance.h | 4 +- .../mod.io-sdk-v0.11.3-DEV/include/c/ModioC.h | 5 +- .../methods/callbacks/SubscriptionCallbacks.h | 10 +- .../include/dependencies/curl/.gitignore | 3 + .../include/dependencies/curl/Makefile.am | 39 + .../include/dependencies/curl/curl.h | 2882 +++++++++++++++++ .../include/dependencies/curl/curlver.h | 77 + .../include/dependencies/curl/easy.h | 112 + .../include/dependencies/curl/mprintf.h | 50 + .../include/dependencies/curl/multi.h | 455 +++ .../include/dependencies/curl/stdcheaders.h | 33 + .../include/dependencies/curl/system.h | 493 +++ .../include/dependencies/curl/typecheck-gcc.h | 699 ++++ .../include/dependencies/curl/urlapi.h | 123 + .../lib/visualc++/x64/modio.lib | Bin 133978 -> 135852 bytes Source/modio/Private/ModioFunctionLibrary.cpp | 27 +- Source/modio/Private/ModioSubsystem.cpp | 27 +- Source/modio/Public/ModioFunctionLibrary.h | 8 +- Source/modio/Public/ModioSubsystem.h | 13 +- build/build.bat | 13 +- modio.uplugin | 2 +- 25 files changed, 5060 insertions(+), 22 deletions(-) create mode 100644 Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/.gitignore create mode 100644 Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/Makefile.am create mode 100644 Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/curl.h create mode 100644 Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/curlver.h create mode 100644 Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/easy.h create mode 100644 Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/mprintf.h create mode 100644 Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/multi.h create mode 100644 Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/stdcheaders.h create mode 100644 Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/system.h create mode 100644 Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/typecheck-gcc.h create mode 100644 Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/urlapi.h diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/bin/visualc++/x64/modio.dll b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/bin/visualc++/x64/modio.dll index da0d8d88027ab7b8b8d6b24a27f02b3f56c672c4..177a85ad3d212eb48ce8c1592dd569438075f859 100644 GIT binary patch delta 456951 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 GURvV> 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�DPB7$XtO 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


t~oy@cLN1e3;KGrJ|?2wM6jx z7`$qg79o6^q8;KMhRq|Vl&cr0-8oGBQx(ecw!El@`B^sQ;W^0X*Ku|hb` zZKH^(r{^d|3g;Hz@{hK@)7n*qWHYD@Z@?fNG+>f#%{F`tgLERKbgIE4ENapuo&IEQ z|4TX+1f3QwrL#YXdp(78wlpI~nw~8z9cSD+tAljHrF4of_(D3-WO_x5`G#~Jz~!4S zou&1qbgty!kkP(7QamN* ze9vQT9orjWQa;OK_@~EkCaw#U0vg4?5YQiFH~&jOQ3P!gQ1w8*`8fnsrYW(q<78n0 zCAHulIob-EDWOtAUFLovp}k~8|4Tyt1Z`?R4t32WRPC0OP--11p~){HA&(OU5`w8F z?Q*UYL2R8mPAO7Cd-(ZJkWlKDWwKpH*SRRRfVC$3|-~e};ta1rjgA z_ZF5=<1i_qW;OYWf00qE6g4AjHKVa-OcJs-%ZO5ukuO0@30W&={mdlv?6j0nq@R?~ z(LA)Fo4X4nv_3?t*_%4V)-NJOifBxh6j9`iLLw?2B1L5DFGX~rp%l@L>QY4H*()R> zyHo!|M86QUNkm=C^8`ya#Jy#0;^pzq!Xm=ga@NRbliw3AOL!u%7eiMZyNDI6c7Q@mve4mS!Fmm&DqD8yvQPljf` z#kK#&=KeC2EJJ}ZG)#s2~> zw2nCrZ?*hx5DqFYv}Wa4YMA#Se%hLq(O9MO7uKw7mD^k8WMeB-2y0_k#}>5+%cRP~ zVy8c1u;)WO&>X5{Rp1S6SR2jlLwvRktB7lf_S~Hi=Fe@Jdq7Txtpy%*$2&RC=^i(5adI@y5u^@% zj0(Mqm)Ni31@|J#nR1`ew+s~ZUr2UfB+j#1XSWVj~SzYT#tcGkX zV6`<)%-e(2I+Q}J9^W7m1*3aH8DlajyOunbChPASCz;zpYkv{c2%clY5FXT&M8@`jugUv3spfiSq!Jf zf-}B&+o%XZ6nX8yUpO$Pu`a{kIItGpmC;iOtH!+W{5s8F=(Q!<2LoUw)s1&|WTP}Q z_6QZ#K6U-X2mZrK^D<5>(4McOg38%k&uUUfx0WOM7(`0+RcdOTHuLRHtdHj0T3)s| ztL~*G2=bH9T`S}yrhJo7Z9+~Ke1?^^>yAmqS#ynMVGO_M!qykb4uE5->EPzOc-7#^zKod`77?l7G~*BOd+WAu+x?@Z2jj@vUWUaZ09_)M61m zE1_vg{*Nnb>0AfXNOHLP(=8r&SxUJ)oVRylahi}7e488Vt-Z9|mWQ0xG-Xqkn_Ow) zQo^&P`DAyfXR+mcojYr!Ikt>H!`CBgnQfuF;c;klS3Crtvw9hCUV`~)#*g4bOR%8I zp5^IyUP45X(3GKX!=X2*r@&sK{@yCp-N>75bf!9dU5?)@!F)BJUAbjRRyFK4-nBF& zjkdOMNS*}31Y(3N1+DCex2R}UIXCuHsV#C9)LL5;Y}ayph6gL-&`(6B#l9u)`SZ8@ zfCqDJeigoe>8SFzO0>+y-7J?6zJ+oT)*fxEyP8W;H5Yfv<&3Y)<))spR&(j1=F%iT zmp$7=S-j11>0LM%F$7A}kN#23Wt1RjZ0$|C1j}6Po0;cw8dqvEx8}dUHx;F_%*4+u zlWRVOilS!n>IXHG92Y4tKgwi-k0^>}rwfnpg!~t56+HW!k!xC*Tv1dDYBSX&nK+f4 zKaulL$@#hPD@4vlk_$8=x4mp3?utorib(`Voh5gHL~cr1$sKp*JxhVyh%JJ

>^M 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

*$WGXQ0t5@mG950uRxF`6j6 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

Q523+;%|mv^$tZ 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 Px!~OXOP=)~R`fprd|pRs diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/Globals.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/Globals.h index 5238234..1fba195 100644 --- a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/Globals.h +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/Globals.h @@ -17,7 +17,7 @@ namespace modio extern bool RETRIEVE_MODS_FROM_OTHER_GAMES; extern std::string MODIO_URL; extern std::string MODIO_VERSION_PATH; - extern u32 MAX_CACHE_TIME; + extern u32 MAX_CACHE_TIME_SECONDS; extern u32 LAST_MOD_EVENT_POLL_ID; extern u32 LAST_MOD_EVENT_POLL_TIME; extern u32 MOD_EVENT_POLL_INTERVAL; @@ -31,6 +31,7 @@ namespace modio extern ModioUser current_user; extern std::vector downloaded_mods; extern std::map current_user_ratings; // maps[mod_id, rating_type] + extern std::set current_user_subscriptions; // set[mod_id] extern void (*event_listener_callback)(ModioResponse response, ModioModEvent* events_array, u32 events_array_size); extern void (*download_callback)(u32 response_code, u32 mod_id); extern void (*upload_callback)(u32 response_code, u32 mod_id); diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/ModioUtility.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/ModioUtility.h index 851ac24..3875e71 100644 --- a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/ModioUtility.h +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/ModioUtility.h @@ -26,10 +26,12 @@ namespace modio { void onUpdateCurrentUser(void *object, ModioResponse response, ModioUser user); void onUpdateCurrentUserRatings(void* object, ModioResponse response, ModioRating ratings[], u32 ratings_size); + void onUpdateCurrentUserSubscriptions(void* object, ModioResponse response, ModioMod mods[], u32 mods_size); void addModsToDownloadQueue(std::vector mod_ids); void pollEvents(); void updateAuthenticatedUser(std::string access_token); void updateUserRatings(); + void updateUserSubscriptions(); void addGameIdFilter(ModioFilterCreator &filter); // Error handling diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/Utility.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/Utility.h index 3624e76..283ad09 100644 --- a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/Utility.h +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/Utility.h @@ -76,7 +76,7 @@ void writeLogLine(const std::string &text, u32 debug_level); void clearLog(); // Time methods -u32 getCurrentTime(); +u32 getCurrentTimeSeconds(); double getCurrentTimeMillis(); // Json methods diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/c++/ModIOInstance.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/c++/ModIOInstance.h index b17f220..18375fc 100644 --- a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/c++/ModIOInstance.h +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/c++/ModIOInstance.h @@ -124,11 +124,13 @@ class MODIO_DLL Instance //Ratings Methods void addModRating(u32 mod_id, bool vote_up, const std::function &callback); - u32 getUserModRating(u32 mod_id); + u32 getCurrentUserModRating(u32 mod_id); //Subscription Methods void subscribeToMod(u32 mod_id, const std::function &callback); void unsubscribeFromMod(u32 mod_id, const std::function &callback); + bool isCurrentUserSubscribed(u32 mod_id); + const std::vector getCurrentUserSubscriptions(); //Me Methods void getAuthenticatedUser(const std::function &callback); diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/c/ModioC.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/c/ModioC.h index d99a5bc..dc8de96 100644 --- a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/c/ModioC.h +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/c/ModioC.h @@ -565,11 +565,14 @@ extern "C" //Ratings Methods void MODIO_DLL modioAddModRating(void* object, u32 mod_id, bool vote_up, void (*callback)(void* object, ModioResponse response)); - u32 MODIO_DLL modioGetUserModRating(u32 mod_id); + u32 MODIO_DLL modioGetCurrentUserModRating(u32 mod_id); //Subscription Methods void MODIO_DLL modioSubscribeToMod(void* object, u32 mod_id, void (*callback)(void* object, ModioResponse response, ModioMod mod)); void MODIO_DLL modioUnsubscribeFromMod(void* object, u32 mod_id, void (*callback)(void* object, ModioResponse response)); + bool MODIO_DLL modioIsCurrentUserSubscribed(u32 mod_id); + u32 MODIO_DLL modioGetCurrentUserSubscriptionsCount(); + void MODIO_DLL modioGetCurrentUserSubscriptions(u32 *mod_id_array); //Tags Methods void MODIO_DLL modioGetModTags(void* object, u32 mod_id, void (*callback)(void* object, ModioResponse response, ModioTag* tags_array, u32 tags_array_size)); diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/c/methods/callbacks/SubscriptionCallbacks.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/c/methods/callbacks/SubscriptionCallbacks.h index d07d8f1..ed44ed9 100644 --- a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/c/methods/callbacks/SubscriptionCallbacks.h +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/c/methods/callbacks/SubscriptionCallbacks.h @@ -12,11 +12,19 @@ struct SubscribeToModParams { void* object; + u32 mod_id; void (*callback)(void* object, ModioResponse response, ModioMod mod); }; +struct UnsubscribeFromModParams +{ + void* object; + u32 mod_id; + void (*callback)(void* object, ModioResponse response); +}; + extern std::map< u32, SubscribeToModParams* > subscribe_to_mod_callbacks; -extern std::map< u32, GenericRequestParams* > unsubscribe_from_mod_callbacks; +extern std::map< u32, UnsubscribeFromModParams* > unsubscribe_from_mod_callbacks; void modioOnSubscribeToMod(u32 call_number, u32 response_code, nlohmann::json response_json); void modioOnUnsubscribeFromMod(u32 call_number, u32 response_code, nlohmann::json response_json); diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/.gitignore b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/.gitignore new file mode 100644 index 0000000..555795f --- /dev/null +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/.gitignore @@ -0,0 +1,3 @@ +curlver.h.dist +stamp-h2 +stamp-h3 diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/Makefile.am b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/Makefile.am new file mode 100644 index 0000000..a31f61b --- /dev/null +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/Makefile.am @@ -0,0 +1,39 @@ +#*************************************************************************** +# _ _ ____ _ +# Project ___| | | | _ \| | +# / __| | | | |_) | | +# | (__| |_| | _ <| |___ +# \___|\___/|_| \_\_____| +# +# Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at https://curl.haxx.se/docs/copyright.html. +# +# You may opt to use, copy, modify, merge, publish, distribute and/or sell +# copies of the Software, and permit persons to whom the Software is +# furnished to do so, under the terms of the COPYING file. +# +# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +# KIND, either express or implied. +# +########################################################################### +pkginclude_HEADERS = \ + curl.h curlver.h easy.h mprintf.h stdcheaders.h multi.h \ + typecheck-gcc.h system.h urlapi.h + +pkgincludedir= $(includedir)/curl + +CHECKSRC = $(CS_$(V)) +CS_0 = @echo " RUN " $@; +CS_1 = +CS_ = $(CS_0) + +checksrc: + $(CHECKSRC)@PERL@ $(top_srcdir)/lib/checksrc.pl -D$(top_srcdir)/include/curl $(pkginclude_HEADERS) + +if CURLDEBUG +# for debug builds, we scan the sources on all regular make invokes +all-local: checksrc +endif diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/curl.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/curl.h new file mode 100644 index 0000000..ff0c774 --- /dev/null +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/curl.h @@ -0,0 +1,2882 @@ +#ifndef CURLINC_CURL_H +#define CURLINC_CURL_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +/* + * If you have libcurl problems, all docs and details are found here: + * https://curl.haxx.se/libcurl/ + * + * curl-library mailing list subscription and unsubscription web interface: + * https://cool.haxx.se/mailman/listinfo/curl-library/ + */ + +#ifdef CURL_NO_OLDIES +#define CURL_STRICTER +#endif + +#include "curlver.h" /* libcurl version defines */ +#include "system.h" /* determine things run-time */ + +/* + * Define WIN32 when build target is Win32 API + */ + +#if (defined(_WIN32) || defined(__WIN32__)) && \ + !defined(WIN32) && !defined(__SYMBIAN32__) +#define WIN32 +#endif + +#include +#include + +#if defined(__FreeBSD__) && (__FreeBSD__ >= 2) +/* Needed for __FreeBSD_version symbol definition */ +#include +#endif + +/* The include stuff here below is mainly for time_t! */ +#include +#include + +#if defined(WIN32) && !defined(_WIN32_WCE) && !defined(__CYGWIN__) +#if !(defined(_WINSOCKAPI_) || defined(_WINSOCK_H) || \ + defined(__LWIP_OPT_H__) || defined(LWIP_HDR_OPT_H)) +/* The check above prevents the winsock2 inclusion if winsock.h already was + included, since they can't co-exist without problems */ +#include +#include +#endif +#endif + +/* HP-UX systems version 9, 10 and 11 lack sys/select.h and so does oldish + libc5-based Linux systems. Only include it on systems that are known to + require it! */ +#if defined(_AIX) || defined(__NOVELL_LIBC__) || defined(__NetBSD__) || \ + defined(__minix) || defined(__SYMBIAN32__) || defined(__INTEGRITY) || \ + defined(ANDROID) || defined(__ANDROID__) || defined(__OpenBSD__) || \ + defined(__CYGWIN__) || \ + (defined(__FreeBSD_version) && (__FreeBSD_version < 800000)) +#include +#endif + +#if !defined(WIN32) && !defined(_WIN32_WCE) +#include +#endif + +#if !defined(WIN32) && !defined(__WATCOMC__) && !defined(__VXWORKS__) +#include +#endif + +#ifdef __BEOS__ +#include +#endif + +/* Compatibility for non-Clang compilers */ +#ifndef __has_declspec_attribute +# define __has_declspec_attribute(x) 0 +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER) +typedef struct Curl_easy CURL; +typedef struct Curl_share CURLSH; +#else +typedef void CURL; +typedef void CURLSH; +#endif + +/* + * libcurl external API function linkage decorations. + */ + +#ifdef CURL_STATICLIB +# define CURL_EXTERN +#elif defined(WIN32) || defined(__SYMBIAN32__) || \ + (__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 +/* socket typedef */ +#if defined(WIN32) && !defined(__LWIP_OPT_H__) && !defined(LWIP_HDR_OPT_H) +typedef SOCKET curl_socket_t; +#define CURL_SOCKET_BAD INVALID_SOCKET +#else +typedef int curl_socket_t; +#define CURL_SOCKET_BAD -1 +#endif +#define curl_socket_typedef +#endif /* curl_socket_typedef */ + +/* enum for the different supported SSL backends */ +typedef enum { + CURLSSLBACKEND_NONE = 0, + CURLSSLBACKEND_OPENSSL = 1, + CURLSSLBACKEND_GNUTLS = 2, + CURLSSLBACKEND_NSS = 3, + CURLSSLBACKEND_OBSOLETE4 = 4, /* Was QSOSSL. */ + CURLSSLBACKEND_GSKIT = 5, + CURLSSLBACKEND_POLARSSL = 6, + CURLSSLBACKEND_WOLFSSL = 7, + CURLSSLBACKEND_SCHANNEL = 8, + CURLSSLBACKEND_SECURETRANSPORT = 9, + CURLSSLBACKEND_AXTLS = 10, /* never used since 7.63.0 */ + CURLSSLBACKEND_MBEDTLS = 11, + CURLSSLBACKEND_MESALINK = 12 +} curl_sslbackend; + +/* aliases for library clones and renames */ +#define CURLSSLBACKEND_LIBRESSL CURLSSLBACKEND_OPENSSL +#define CURLSSLBACKEND_BORINGSSL CURLSSLBACKEND_OPENSSL + +/* deprecated names: */ +#define CURLSSLBACKEND_CYASSL CURLSSLBACKEND_WOLFSSL +#define CURLSSLBACKEND_DARWINSSL CURLSSLBACKEND_SECURETRANSPORT + +struct curl_httppost { + struct curl_httppost *next; /* next entry in the list */ + char *name; /* pointer to allocated name */ + long namelength; /* length of name length */ + char *contents; /* pointer to allocated data contents */ + long contentslength; /* length of contents field, see also + CURL_HTTPPOST_LARGE */ + char *buffer; /* pointer to allocated buffer contents */ + long bufferlength; /* length of buffer field */ + char *contenttype; /* Content-Type */ + struct curl_slist *contentheader; /* list of extra headers for this form */ + struct curl_httppost *more; /* if one field name has more than one + file, this link should link to following + files */ + long flags; /* as defined below */ + +/* specified content is a file name */ +#define CURL_HTTPPOST_FILENAME (1<<0) +/* specified content is a file name */ +#define CURL_HTTPPOST_READFILE (1<<1) +/* name is only stored pointer do not free in formfree */ +#define CURL_HTTPPOST_PTRNAME (1<<2) +/* contents is only stored pointer do not free in formfree */ +#define CURL_HTTPPOST_PTRCONTENTS (1<<3) +/* upload file from buffer */ +#define CURL_HTTPPOST_BUFFER (1<<4) +/* upload file from pointer contents */ +#define CURL_HTTPPOST_PTRBUFFER (1<<5) +/* upload file contents by using the regular read callback to get the data and + pass the given pointer as custom pointer */ +#define CURL_HTTPPOST_CALLBACK (1<<6) +/* use size in 'contentlen', added in 7.46.0 */ +#define CURL_HTTPPOST_LARGE (1<<7) + + char *showfilename; /* The file name to show. If not set, the + actual file name will be used (if this + is a file part) */ + void *userp; /* custom pointer used for + HTTPPOST_CALLBACK posts */ + curl_off_t contentlen; /* alternative length of contents + field. Used if CURL_HTTPPOST_LARGE is + set. Added in 7.46.0 */ +}; + +/* This is the CURLOPT_PROGRESSFUNCTION callback prototype. It is now + considered deprecated but was the only choice up until 7.31.0 */ +typedef int (*curl_progress_callback)(void *clientp, + double dltotal, + double dlnow, + double ultotal, + double ulnow); + +/* This is the CURLOPT_XFERINFOFUNCTION callback prototype. It was introduced + in 7.32.0, avoids the use of floating point numbers and provides more + detailed information. */ +typedef int (*curl_xferinfo_callback)(void *clientp, + curl_off_t dltotal, + curl_off_t dlnow, + curl_off_t ultotal, + curl_off_t ulnow); + +#ifndef CURL_MAX_READ_SIZE + /* The maximum receive buffer size configurable via CURLOPT_BUFFERSIZE. */ +#define CURL_MAX_READ_SIZE 524288 +#endif + +#ifndef CURL_MAX_WRITE_SIZE + /* Tests have proven that 20K is a very bad buffer size for uploads on + Windows, while 16K for some odd reason performed a lot better. + We do the ifndef check to allow this value to easier be changed at build + time for those who feel adventurous. The practical minimum is about + 400 bytes since libcurl uses a buffer of this size as a scratch area + (unrelated to network send operations). */ +#define CURL_MAX_WRITE_SIZE 16384 +#endif + +#ifndef CURL_MAX_HTTP_HEADER +/* The only reason to have a max limit for this is to avoid the risk of a bad + server feeding libcurl with a never-ending header that will cause reallocs + infinitely */ +#define CURL_MAX_HTTP_HEADER (100*1024) +#endif + +/* This is a magic return code for the write callback that, when returned, + will signal libcurl to pause receiving on the current transfer. */ +#define CURL_WRITEFUNC_PAUSE 0x10000001 + +typedef size_t (*curl_write_callback)(char *buffer, + size_t size, + size_t nitems, + void *outstream); + +/* This callback will be called when a new resolver request is made */ +typedef int (*curl_resolver_start_callback)(void *resolver_state, + void *reserved, void *userdata); + +/* enumeration of file types */ +typedef enum { + CURLFILETYPE_FILE = 0, + CURLFILETYPE_DIRECTORY, + CURLFILETYPE_SYMLINK, + CURLFILETYPE_DEVICE_BLOCK, + CURLFILETYPE_DEVICE_CHAR, + CURLFILETYPE_NAMEDPIPE, + CURLFILETYPE_SOCKET, + CURLFILETYPE_DOOR, /* is possible only on Sun Solaris now */ + + CURLFILETYPE_UNKNOWN /* should never occur */ +} curlfiletype; + +#define CURLFINFOFLAG_KNOWN_FILENAME (1<<0) +#define CURLFINFOFLAG_KNOWN_FILETYPE (1<<1) +#define CURLFINFOFLAG_KNOWN_TIME (1<<2) +#define CURLFINFOFLAG_KNOWN_PERM (1<<3) +#define CURLFINFOFLAG_KNOWN_UID (1<<4) +#define CURLFINFOFLAG_KNOWN_GID (1<<5) +#define CURLFINFOFLAG_KNOWN_SIZE (1<<6) +#define CURLFINFOFLAG_KNOWN_HLINKCOUNT (1<<7) + +/* Information about a single file, used when doing FTP wildcard matching */ +struct curl_fileinfo { + char *filename; + curlfiletype filetype; + time_t time; /* always zero! */ + unsigned int perm; + int uid; + int gid; + curl_off_t size; + long int hardlinks; + + struct { + /* If some of these fields is not NULL, it is a pointer to b_data. */ + char *time; + char *perm; + char *user; + char *group; + char *target; /* pointer to the target filename of a symlink */ + } strings; + + unsigned int flags; + + /* used internally */ + char *b_data; + size_t b_size; + size_t b_used; +}; + +/* return codes for CURLOPT_CHUNK_BGN_FUNCTION */ +#define CURL_CHUNK_BGN_FUNC_OK 0 +#define CURL_CHUNK_BGN_FUNC_FAIL 1 /* tell the lib to end the task */ +#define CURL_CHUNK_BGN_FUNC_SKIP 2 /* skip this chunk over */ + +/* if splitting of data transfer is enabled, this callback is called before + download of an individual chunk started. Note that parameter "remains" works + only for FTP wildcard downloading (for now), otherwise is not used */ +typedef long (*curl_chunk_bgn_callback)(const void *transfer_info, + void *ptr, + int remains); + +/* return codes for CURLOPT_CHUNK_END_FUNCTION */ +#define CURL_CHUNK_END_FUNC_OK 0 +#define CURL_CHUNK_END_FUNC_FAIL 1 /* tell the lib to end the task */ + +/* If splitting of data transfer is enabled this callback is called after + download of an individual chunk finished. + Note! After this callback was set then it have to be called FOR ALL chunks. + Even if downloading of this chunk was skipped in CHUNK_BGN_FUNC. + This is the reason why we don't need "transfer_info" parameter in this + callback and we are not interested in "remains" parameter too. */ +typedef long (*curl_chunk_end_callback)(void *ptr); + +/* return codes for FNMATCHFUNCTION */ +#define CURL_FNMATCHFUNC_MATCH 0 /* string corresponds to the pattern */ +#define CURL_FNMATCHFUNC_NOMATCH 1 /* pattern doesn't match the string */ +#define CURL_FNMATCHFUNC_FAIL 2 /* an error occurred */ + +/* callback type for wildcard downloading pattern matching. If the + string matches the pattern, return CURL_FNMATCHFUNC_MATCH value, etc. */ +typedef int (*curl_fnmatch_callback)(void *ptr, + const char *pattern, + const char *string); + +/* These are the return codes for the seek callbacks */ +#define CURL_SEEKFUNC_OK 0 +#define CURL_SEEKFUNC_FAIL 1 /* fail the entire transfer */ +#define CURL_SEEKFUNC_CANTSEEK 2 /* tell libcurl seeking can't be done, so + libcurl might try other means instead */ +typedef int (*curl_seek_callback)(void *instream, + curl_off_t offset, + int origin); /* 'whence' */ + +/* This is a return code for the read callback that, when returned, will + signal libcurl to immediately abort the current transfer. */ +#define CURL_READFUNC_ABORT 0x10000000 +/* This is a return code for the read callback that, when returned, will + signal libcurl to pause sending data on the current transfer. */ +#define CURL_READFUNC_PAUSE 0x10000001 + +/* Return code for when the trailing headers' callback has terminated + without any errors*/ +#define CURL_TRAILERFUNC_OK 0 +/* Return code for when was an error in the trailing header's list and we + want to abort the request */ +#define CURL_TRAILERFUNC_ABORT 1 + +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, /* socket created for a specific IP connection */ + CURLSOCKTYPE_ACCEPT, /* socket created by accept() call */ + CURLSOCKTYPE_LAST /* never use */ +} curlsocktype; + +/* The return code from the sockopt_callback can signal information back + to libcurl: */ +#define CURL_SOCKOPT_OK 0 +#define CURL_SOCKOPT_ERROR 1 /* causes libcurl to abort and return + CURLE_ABORTED_BY_CALLBACK */ +#define CURL_SOCKOPT_ALREADY_CONNECTED 2 + +typedef int (*curl_sockopt_callback)(void *clientp, + curl_socket_t curlfd, + curlsocktype purpose); + +struct curl_sockaddr { + int family; + int socktype; + int protocol; + unsigned int addrlen; /* addrlen was a socklen_t type before 7.18.0 but it + turned really ugly and painful on the systems that + lack this type */ + struct sockaddr addr; +}; + +typedef curl_socket_t +(*curl_opensocket_callback)(void *clientp, + curlsocktype purpose, + struct curl_sockaddr *address); + +typedef int +(*curl_closesocket_callback)(void *clientp, curl_socket_t item); + +typedef enum { + CURLIOE_OK, /* I/O operation successful */ + CURLIOE_UNKNOWNCMD, /* command was unknown to callback */ + CURLIOE_FAILRESTART, /* failed to restart the read */ + CURLIOE_LAST /* never use */ +} curlioerr; + +typedef enum { + CURLIOCMD_NOP, /* no operation */ + CURLIOCMD_RESTARTREAD, /* restart the read stream from start */ + CURLIOCMD_LAST /* never use */ +} curliocmd; + +typedef curlioerr (*curl_ioctl_callback)(CURL *handle, + int cmd, + void *clientp); + +#ifndef CURL_DID_MEMORY_FUNC_TYPEDEFS +/* + * The following typedef's are signatures of malloc, free, realloc, strdup and + * calloc respectively. Function pointers of these types can be passed to the + * curl_global_init_mem() function to set user defined memory management + * callback routines. + */ +typedef void *(*curl_malloc_callback)(size_t size); +typedef void (*curl_free_callback)(void *ptr); +typedef void *(*curl_realloc_callback)(void *ptr, size_t size); +typedef char *(*curl_strdup_callback)(const char *str); +typedef void *(*curl_calloc_callback)(size_t nmemb, size_t size); + +#define CURL_DID_MEMORY_FUNC_TYPEDEFS +#endif + +/* the kind of data that is passed to information_callback*/ +typedef enum { + CURLINFO_TEXT = 0, + CURLINFO_HEADER_IN, /* 1 */ + CURLINFO_HEADER_OUT, /* 2 */ + CURLINFO_DATA_IN, /* 3 */ + CURLINFO_DATA_OUT, /* 4 */ + CURLINFO_SSL_DATA_IN, /* 5 */ + CURLINFO_SSL_DATA_OUT, /* 6 */ + CURLINFO_END +} curl_infotype; + +typedef int (*curl_debug_callback) + (CURL *handle, /* the handle/transfer this concerns */ + curl_infotype type, /* what kind of data */ + char *data, /* points to the data */ + size_t size, /* size of the data pointed to */ + void *userptr); /* whatever the user please */ + +/* All possible error codes from all sorts of curl functions. Future versions + may return other values, stay prepared. + + Always add new return codes last. Never *EVER* remove any. The return + codes must remain the same! + */ + +typedef enum { + CURLE_OK = 0, + CURLE_UNSUPPORTED_PROTOCOL, /* 1 */ + CURLE_FAILED_INIT, /* 2 */ + CURLE_URL_MALFORMAT, /* 3 */ + CURLE_NOT_BUILT_IN, /* 4 - [was obsoleted in August 2007 for + 7.17.0, reused in April 2011 for 7.21.5] */ + CURLE_COULDNT_RESOLVE_PROXY, /* 5 */ + CURLE_COULDNT_RESOLVE_HOST, /* 6 */ + CURLE_COULDNT_CONNECT, /* 7 */ + CURLE_WEIRD_SERVER_REPLY, /* 8 */ + CURLE_REMOTE_ACCESS_DENIED, /* 9 a service was denied by the server + due to lack of access - when login fails + this is not returned. */ + CURLE_FTP_ACCEPT_FAILED, /* 10 - [was obsoleted in April 2006 for + 7.15.4, reused in Dec 2011 for 7.24.0]*/ + CURLE_FTP_WEIRD_PASS_REPLY, /* 11 */ + CURLE_FTP_ACCEPT_TIMEOUT, /* 12 - timeout occurred accepting server + [was obsoleted in August 2007 for 7.17.0, + reused in Dec 2011 for 7.24.0]*/ + CURLE_FTP_WEIRD_PASV_REPLY, /* 13 */ + CURLE_FTP_WEIRD_227_FORMAT, /* 14 */ + CURLE_FTP_CANT_GET_HOST, /* 15 */ + CURLE_HTTP2, /* 16 - A problem in the http2 framing layer. + [was obsoleted in August 2007 for 7.17.0, + reused in July 2014 for 7.38.0] */ + CURLE_FTP_COULDNT_SET_TYPE, /* 17 */ + CURLE_PARTIAL_FILE, /* 18 */ + CURLE_FTP_COULDNT_RETR_FILE, /* 19 */ + CURLE_OBSOLETE20, /* 20 - NOT USED */ + CURLE_QUOTE_ERROR, /* 21 - quote command failure */ + CURLE_HTTP_RETURNED_ERROR, /* 22 */ + CURLE_WRITE_ERROR, /* 23 */ + CURLE_OBSOLETE24, /* 24 - NOT USED */ + CURLE_UPLOAD_FAILED, /* 25 - failed upload "command" */ + CURLE_READ_ERROR, /* 26 - couldn't open/read from file */ + CURLE_OUT_OF_MEMORY, /* 27 */ + /* Note: CURLE_OUT_OF_MEMORY may sometimes indicate a conversion error + instead of a memory allocation error if CURL_DOES_CONVERSIONS + is defined + */ + CURLE_OPERATION_TIMEDOUT, /* 28 - the timeout time was reached */ + CURLE_OBSOLETE29, /* 29 - NOT USED */ + CURLE_FTP_PORT_FAILED, /* 30 - FTP PORT operation failed */ + CURLE_FTP_COULDNT_USE_REST, /* 31 - the REST command failed */ + CURLE_OBSOLETE32, /* 32 - NOT USED */ + CURLE_RANGE_ERROR, /* 33 - RANGE "command" didn't work */ + CURLE_HTTP_POST_ERROR, /* 34 */ + CURLE_SSL_CONNECT_ERROR, /* 35 - wrong when connecting with SSL */ + CURLE_BAD_DOWNLOAD_RESUME, /* 36 - couldn't resume download */ + CURLE_FILE_COULDNT_READ_FILE, /* 37 */ + CURLE_LDAP_CANNOT_BIND, /* 38 */ + CURLE_LDAP_SEARCH_FAILED, /* 39 */ + CURLE_OBSOLETE40, /* 40 - NOT USED */ + CURLE_FUNCTION_NOT_FOUND, /* 41 - NOT USED starting with 7.53.0 */ + CURLE_ABORTED_BY_CALLBACK, /* 42 */ + CURLE_BAD_FUNCTION_ARGUMENT, /* 43 */ + CURLE_OBSOLETE44, /* 44 - NOT USED */ + CURLE_INTERFACE_FAILED, /* 45 - CURLOPT_INTERFACE failed */ + CURLE_OBSOLETE46, /* 46 - NOT USED */ + CURLE_TOO_MANY_REDIRECTS, /* 47 - catch endless re-direct loops */ + CURLE_UNKNOWN_OPTION, /* 48 - User specified an unknown option */ + CURLE_TELNET_OPTION_SYNTAX, /* 49 - Malformed telnet option */ + CURLE_OBSOLETE50, /* 50 - NOT USED */ + CURLE_OBSOLETE51, /* 51 - NOT USED */ + CURLE_GOT_NOTHING, /* 52 - when this is a specific error */ + CURLE_SSL_ENGINE_NOTFOUND, /* 53 - SSL crypto engine not found */ + CURLE_SSL_ENGINE_SETFAILED, /* 54 - can not set SSL crypto engine as + default */ + CURLE_SEND_ERROR, /* 55 - failed sending network data */ + CURLE_RECV_ERROR, /* 56 - failure in receiving network data */ + CURLE_OBSOLETE57, /* 57 - NOT IN USE */ + CURLE_SSL_CERTPROBLEM, /* 58 - problem with the local certificate */ + CURLE_SSL_CIPHER, /* 59 - couldn't use specified cipher */ + CURLE_PEER_FAILED_VERIFICATION, /* 60 - peer's certificate or fingerprint + wasn't verified fine */ + CURLE_BAD_CONTENT_ENCODING, /* 61 - Unrecognized/bad encoding */ + CURLE_LDAP_INVALID_URL, /* 62 - Invalid LDAP URL */ + CURLE_FILESIZE_EXCEEDED, /* 63 - Maximum file size exceeded */ + CURLE_USE_SSL_FAILED, /* 64 - Requested FTP SSL level failed */ + CURLE_SEND_FAIL_REWIND, /* 65 - Sending the data requires a rewind + that failed */ + CURLE_SSL_ENGINE_INITFAILED, /* 66 - failed to initialise ENGINE */ + CURLE_LOGIN_DENIED, /* 67 - user, password or similar was not + accepted and we failed to login */ + CURLE_TFTP_NOTFOUND, /* 68 - file not found on server */ + CURLE_TFTP_PERM, /* 69 - permission problem on server */ + CURLE_REMOTE_DISK_FULL, /* 70 - out of disk space on server */ + CURLE_TFTP_ILLEGAL, /* 71 - Illegal TFTP operation */ + CURLE_TFTP_UNKNOWNID, /* 72 - Unknown transfer ID */ + CURLE_REMOTE_FILE_EXISTS, /* 73 - File already exists */ + CURLE_TFTP_NOSUCHUSER, /* 74 - No such user */ + CURLE_CONV_FAILED, /* 75 - conversion failed */ + CURLE_CONV_REQD, /* 76 - caller must register conversion + callbacks using curl_easy_setopt options + CURLOPT_CONV_FROM_NETWORK_FUNCTION, + CURLOPT_CONV_TO_NETWORK_FUNCTION, and + CURLOPT_CONV_FROM_UTF8_FUNCTION */ + CURLE_SSL_CACERT_BADFILE, /* 77 - could not load CACERT file, missing + or wrong format */ + CURLE_REMOTE_FILE_NOT_FOUND, /* 78 - remote file not found */ + CURLE_SSH, /* 79 - error from the SSH layer, somewhat + generic so the error message will be of + interest when this has happened */ + + CURLE_SSL_SHUTDOWN_FAILED, /* 80 - Failed to shut down the SSL + connection */ + CURLE_AGAIN, /* 81 - socket is not ready for send/recv, + wait till it's ready and try again (Added + in 7.18.2) */ + CURLE_SSL_CRL_BADFILE, /* 82 - could not load CRL file, missing or + wrong format (Added in 7.19.0) */ + CURLE_SSL_ISSUER_ERROR, /* 83 - Issuer check failed. (Added in + 7.19.0) */ + CURLE_FTP_PRET_FAILED, /* 84 - a PRET command failed */ + CURLE_RTSP_CSEQ_ERROR, /* 85 - mismatch of RTSP CSeq numbers */ + CURLE_RTSP_SESSION_ERROR, /* 86 - mismatch of RTSP Session Ids */ + CURLE_FTP_BAD_FILE_LIST, /* 87 - unable to parse FTP file list */ + CURLE_CHUNK_FAILED, /* 88 - chunk callback reported error */ + CURLE_NO_CONNECTION_AVAILABLE, /* 89 - No connection available, the + session will be queued */ + CURLE_SSL_PINNEDPUBKEYNOTMATCH, /* 90 - specified pinned public key did not + match */ + CURLE_SSL_INVALIDCERTSTATUS, /* 91 - invalid certificate status */ + CURLE_HTTP2_STREAM, /* 92 - stream error in HTTP/2 framing layer + */ + CURLE_RECURSIVE_API_CALL, /* 93 - an api function was called from + inside a callback */ + CURLE_AUTH_ERROR, /* 94 - an authentication function returned an + error */ + CURL_LAST /* never use! */ +} CURLcode; + +#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all + the obsolete stuff removed! */ + +/* Previously obsolete error code re-used in 7.38.0 */ +#define CURLE_OBSOLETE16 CURLE_HTTP2 + +/* Previously obsolete error codes re-used in 7.24.0 */ +#define CURLE_OBSOLETE10 CURLE_FTP_ACCEPT_FAILED +#define CURLE_OBSOLETE12 CURLE_FTP_ACCEPT_TIMEOUT + +/* compatibility with older names */ +#define CURLOPT_ENCODING CURLOPT_ACCEPT_ENCODING +#define CURLE_FTP_WEIRD_SERVER_REPLY CURLE_WEIRD_SERVER_REPLY + +/* The following were added in 7.62.0 */ +#define CURLE_SSL_CACERT CURLE_PEER_FAILED_VERIFICATION + +/* The following were added in 7.21.5, April 2011 */ +#define CURLE_UNKNOWN_TELNET_OPTION CURLE_UNKNOWN_OPTION + +/* The following were added in 7.17.1 */ +/* These are scheduled to disappear by 2009 */ +#define CURLE_SSL_PEER_CERTIFICATE CURLE_PEER_FAILED_VERIFICATION + +/* The following were added in 7.17.0 */ +/* These are scheduled to disappear by 2009 */ +#define CURLE_OBSOLETE CURLE_OBSOLETE50 /* no one should be using this! */ +#define CURLE_BAD_PASSWORD_ENTERED CURLE_OBSOLETE46 +#define CURLE_BAD_CALLING_ORDER CURLE_OBSOLETE44 +#define CURLE_FTP_USER_PASSWORD_INCORRECT CURLE_OBSOLETE10 +#define CURLE_FTP_CANT_RECONNECT CURLE_OBSOLETE16 +#define CURLE_FTP_COULDNT_GET_SIZE CURLE_OBSOLETE32 +#define CURLE_FTP_COULDNT_SET_ASCII CURLE_OBSOLETE29 +#define CURLE_FTP_WEIRD_USER_REPLY CURLE_OBSOLETE12 +#define CURLE_FTP_WRITE_ERROR CURLE_OBSOLETE20 +#define CURLE_LIBRARY_NOT_FOUND CURLE_OBSOLETE40 +#define CURLE_MALFORMAT_USER CURLE_OBSOLETE24 +#define CURLE_SHARE_IN_USE CURLE_OBSOLETE57 +#define CURLE_URL_MALFORMAT_USER CURLE_NOT_BUILT_IN + +#define CURLE_FTP_ACCESS_DENIED CURLE_REMOTE_ACCESS_DENIED +#define CURLE_FTP_COULDNT_SET_BINARY CURLE_FTP_COULDNT_SET_TYPE +#define CURLE_FTP_QUOTE_ERROR CURLE_QUOTE_ERROR +#define CURLE_TFTP_DISKFULL CURLE_REMOTE_DISK_FULL +#define CURLE_TFTP_EXISTS CURLE_REMOTE_FILE_EXISTS +#define CURLE_HTTP_RANGE_ERROR CURLE_RANGE_ERROR +#define CURLE_FTP_SSL_FAILED CURLE_USE_SSL_FAILED + +/* The following were added earlier */ + +#define CURLE_OPERATION_TIMEOUTED CURLE_OPERATION_TIMEDOUT + +#define CURLE_HTTP_NOT_FOUND CURLE_HTTP_RETURNED_ERROR +#define CURLE_HTTP_PORT_FAILED CURLE_INTERFACE_FAILED +#define CURLE_FTP_COULDNT_STOR_FILE CURLE_UPLOAD_FAILED + +#define CURLE_FTP_PARTIAL_FILE CURLE_PARTIAL_FILE +#define CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_BAD_DOWNLOAD_RESUME + +/* This was the error code 50 in 7.7.3 and a few earlier versions, this + is no longer used by libcurl but is instead #defined here only to not + make programs break */ +#define CURLE_ALREADY_COMPLETE 99999 + +/* Provide defines for really old option names */ +#define CURLOPT_FILE CURLOPT_WRITEDATA /* name changed in 7.9.7 */ +#define CURLOPT_INFILE CURLOPT_READDATA /* name changed in 7.9.7 */ +#define CURLOPT_WRITEHEADER CURLOPT_HEADERDATA + +/* Since long deprecated options with no code in the lib that does anything + with them. */ +#define CURLOPT_WRITEINFO CURLOPT_OBSOLETE40 +#define CURLOPT_CLOSEPOLICY CURLOPT_OBSOLETE72 + +#endif /*!CURL_NO_OLDIES*/ + +/* This prototype applies to all conversion callbacks */ +typedef CURLcode (*curl_conv_callback)(char *buffer, size_t length); + +typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl, /* easy handle */ + void *ssl_ctx, /* actually an OpenSSL + or WolfSSL SSL_CTX, + or an mbedTLS + mbedtls_ssl_config */ + void *userptr); + +typedef enum { + CURLPROXY_HTTP = 0, /* added in 7.10, new in 7.19.4 default is to use + CONNECT HTTP/1.1 */ + CURLPROXY_HTTP_1_0 = 1, /* added in 7.19.4, force to use CONNECT + HTTP/1.0 */ + CURLPROXY_HTTPS = 2, /* added in 7.52.0 */ + CURLPROXY_SOCKS4 = 4, /* support added in 7.15.2, enum existed already + in 7.10 */ + CURLPROXY_SOCKS5 = 5, /* added in 7.10 */ + CURLPROXY_SOCKS4A = 6, /* added in 7.18.0 */ + CURLPROXY_SOCKS5_HOSTNAME = 7 /* Use the SOCKS5 protocol but pass along the + host name rather than the IP address. added + in 7.18.0 */ +} curl_proxytype; /* this enum was added in 7.10 */ + +/* + * Bitmasks for CURLOPT_HTTPAUTH and CURLOPT_PROXYAUTH options: + * + * CURLAUTH_NONE - No HTTP authentication + * CURLAUTH_BASIC - HTTP Basic authentication (default) + * CURLAUTH_DIGEST - HTTP Digest authentication + * CURLAUTH_NEGOTIATE - HTTP Negotiate (SPNEGO) authentication + * CURLAUTH_GSSNEGOTIATE - Alias for CURLAUTH_NEGOTIATE (deprecated) + * CURLAUTH_NTLM - HTTP NTLM authentication + * CURLAUTH_DIGEST_IE - HTTP Digest authentication with IE flavour + * CURLAUTH_NTLM_WB - HTTP NTLM authentication delegated to winbind helper + * CURLAUTH_BEARER - HTTP Bearer token authentication + * CURLAUTH_ONLY - Use together with a single other type to force no + * authentication or just that single type + * CURLAUTH_ANY - All fine types set + * CURLAUTH_ANYSAFE - All fine types except Basic + */ + +#define CURLAUTH_NONE ((unsigned long)0) +#define CURLAUTH_BASIC (((unsigned long)1)<<0) +#define CURLAUTH_DIGEST (((unsigned long)1)<<1) +#define CURLAUTH_NEGOTIATE (((unsigned long)1)<<2) +/* Deprecated since the advent of CURLAUTH_NEGOTIATE */ +#define CURLAUTH_GSSNEGOTIATE CURLAUTH_NEGOTIATE +/* Used for CURLOPT_SOCKS5_AUTH to stay terminologically correct */ +#define CURLAUTH_GSSAPI CURLAUTH_NEGOTIATE +#define CURLAUTH_NTLM (((unsigned long)1)<<3) +#define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4) +#define CURLAUTH_NTLM_WB (((unsigned long)1)<<5) +#define CURLAUTH_BEARER (((unsigned long)1)<<6) +#define CURLAUTH_ONLY (((unsigned long)1)<<31) +#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE) +#define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE)) + +#define CURLSSH_AUTH_ANY ~0 /* all types supported by the server */ +#define CURLSSH_AUTH_NONE 0 /* none allowed, silly but complete */ +#define CURLSSH_AUTH_PUBLICKEY (1<<0) /* public/private key files */ +#define CURLSSH_AUTH_PASSWORD (1<<1) /* password */ +#define CURLSSH_AUTH_HOST (1<<2) /* host key files */ +#define CURLSSH_AUTH_KEYBOARD (1<<3) /* keyboard interactive */ +#define CURLSSH_AUTH_AGENT (1<<4) /* agent (ssh-agent, pageant...) */ +#define CURLSSH_AUTH_GSSAPI (1<<5) /* gssapi (kerberos, ...) */ +#define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY + +#define CURLGSSAPI_DELEGATION_NONE 0 /* no delegation (default) */ +#define CURLGSSAPI_DELEGATION_POLICY_FLAG (1<<0) /* if permitted by policy */ +#define CURLGSSAPI_DELEGATION_FLAG (1<<1) /* delegate always */ + +#define CURL_ERROR_SIZE 256 + +enum curl_khtype { + CURLKHTYPE_UNKNOWN, + CURLKHTYPE_RSA1, + CURLKHTYPE_RSA, + CURLKHTYPE_DSS, + CURLKHTYPE_ECDSA, + CURLKHTYPE_ED25519 +}; + +struct curl_khkey { + const char *key; /* points to a zero-terminated string encoded with base64 + if len is zero, otherwise to the "raw" data */ + size_t len; + enum curl_khtype keytype; +}; + +/* this is the set of return values expected from the curl_sshkeycallback + callback */ +enum curl_khstat { + CURLKHSTAT_FINE_ADD_TO_FILE, + CURLKHSTAT_FINE, + CURLKHSTAT_REJECT, /* reject the connection, return an error */ + CURLKHSTAT_DEFER, /* do not accept it, but we can't answer right now so + this causes a CURLE_DEFER error but otherwise the + connection will be left intact etc */ + CURLKHSTAT_LAST /* not for use, only a marker for last-in-list */ +}; + +/* this is the set of status codes pass in to the callback */ +enum curl_khmatch { + CURLKHMATCH_OK, /* match */ + CURLKHMATCH_MISMATCH, /* host found, key mismatch! */ + CURLKHMATCH_MISSING, /* no matching host/key found */ + CURLKHMATCH_LAST /* not for use, only a marker for last-in-list */ +}; + +typedef int + (*curl_sshkeycallback) (CURL *easy, /* easy handle */ + const struct curl_khkey *knownkey, /* known */ + const struct curl_khkey *foundkey, /* found */ + enum curl_khmatch, /* libcurl's view on the keys */ + void *clientp); /* custom pointer passed from app */ + +/* parameter for the CURLOPT_USE_SSL option */ +typedef enum { + CURLUSESSL_NONE, /* do not attempt to use SSL */ + CURLUSESSL_TRY, /* try using SSL, proceed anyway otherwise */ + CURLUSESSL_CONTROL, /* SSL for the control connection or fail */ + CURLUSESSL_ALL, /* SSL for all communication or fail */ + CURLUSESSL_LAST /* not an option, never use */ +} curl_usessl; + +/* Definition of bits for the CURLOPT_SSL_OPTIONS argument: */ + +/* - ALLOW_BEAST tells libcurl to allow the BEAST SSL vulnerability in the + name of improving interoperability with older servers. Some SSL libraries + have introduced work-arounds for this flaw but those work-arounds sometimes + make the SSL communication fail. To regain functionality with those broken + servers, a user can this way allow the vulnerability back. */ +#define CURLSSLOPT_ALLOW_BEAST (1<<0) + +/* - NO_REVOKE tells libcurl to disable certificate revocation checks for those + SSL backends where such behavior is present. */ +#define CURLSSLOPT_NO_REVOKE (1<<1) + +/* The default connection attempt delay in milliseconds for happy eyeballs. + CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 and happy-eyeballs-timeout-ms.d document + this value, keep them in sync. */ +#define CURL_HET_DEFAULT 200L + +/* The default connection upkeep interval in milliseconds. */ +#define CURL_UPKEEP_INTERVAL_DEFAULT 60000L + +#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all + the obsolete stuff removed! */ + +/* Backwards compatibility with older names */ +/* These are scheduled to disappear by 2009 */ + +#define CURLFTPSSL_NONE CURLUSESSL_NONE +#define CURLFTPSSL_TRY CURLUSESSL_TRY +#define CURLFTPSSL_CONTROL CURLUSESSL_CONTROL +#define CURLFTPSSL_ALL CURLUSESSL_ALL +#define CURLFTPSSL_LAST CURLUSESSL_LAST +#define curl_ftpssl curl_usessl +#endif /*!CURL_NO_OLDIES*/ + +/* parameter for the CURLOPT_FTP_SSL_CCC option */ +typedef enum { + CURLFTPSSL_CCC_NONE, /* do not send CCC */ + CURLFTPSSL_CCC_PASSIVE, /* Let the server initiate the shutdown */ + CURLFTPSSL_CCC_ACTIVE, /* Initiate the shutdown */ + CURLFTPSSL_CCC_LAST /* not an option, never use */ +} curl_ftpccc; + +/* parameter for the CURLOPT_FTPSSLAUTH option */ +typedef enum { + CURLFTPAUTH_DEFAULT, /* let libcurl decide */ + CURLFTPAUTH_SSL, /* use "AUTH SSL" */ + CURLFTPAUTH_TLS, /* use "AUTH TLS" */ + CURLFTPAUTH_LAST /* not an option, never use */ +} curl_ftpauth; + +/* parameter for the CURLOPT_FTP_CREATE_MISSING_DIRS option */ +typedef enum { + CURLFTP_CREATE_DIR_NONE, /* do NOT create missing dirs! */ + CURLFTP_CREATE_DIR, /* (FTP/SFTP) if CWD fails, try MKD and then CWD + again if MKD succeeded, for SFTP this does + similar magic */ + CURLFTP_CREATE_DIR_RETRY, /* (FTP only) if CWD fails, try MKD and then CWD + again even if MKD failed! */ + CURLFTP_CREATE_DIR_LAST /* not an option, never use */ +} curl_ftpcreatedir; + +/* parameter for the CURLOPT_FTP_FILEMETHOD option */ +typedef enum { + CURLFTPMETHOD_DEFAULT, /* let libcurl pick */ + CURLFTPMETHOD_MULTICWD, /* single CWD operation for each path part */ + CURLFTPMETHOD_NOCWD, /* no CWD at all */ + CURLFTPMETHOD_SINGLECWD, /* one CWD to full dir, then work on file */ + CURLFTPMETHOD_LAST /* not an option, never use */ +} curl_ftpmethod; + +/* bitmask defines for CURLOPT_HEADEROPT */ +#define CURLHEADER_UNIFIED 0 +#define CURLHEADER_SEPARATE (1<<0) + +/* CURLALTSVC_* are bits for the CURLOPT_ALTSVC_CTRL option */ +#define CURLALTSVC_IMMEDIATELY (1<<0) + +#define CURLALTSVC_READONLYFILE (1<<2) +#define CURLALTSVC_H1 (1<<3) +#define CURLALTSVC_H2 (1<<4) +#define CURLALTSVC_H3 (1<<5) + +/* CURLPROTO_ defines are for the CURLOPT_*PROTOCOLS options */ +#define CURLPROTO_HTTP (1<<0) +#define CURLPROTO_HTTPS (1<<1) +#define CURLPROTO_FTP (1<<2) +#define CURLPROTO_FTPS (1<<3) +#define CURLPROTO_SCP (1<<4) +#define CURLPROTO_SFTP (1<<5) +#define CURLPROTO_TELNET (1<<6) +#define CURLPROTO_LDAP (1<<7) +#define CURLPROTO_LDAPS (1<<8) +#define CURLPROTO_DICT (1<<9) +#define CURLPROTO_FILE (1<<10) +#define CURLPROTO_TFTP (1<<11) +#define CURLPROTO_IMAP (1<<12) +#define CURLPROTO_IMAPS (1<<13) +#define CURLPROTO_POP3 (1<<14) +#define CURLPROTO_POP3S (1<<15) +#define CURLPROTO_SMTP (1<<16) +#define CURLPROTO_SMTPS (1<<17) +#define CURLPROTO_RTSP (1<<18) +#define CURLPROTO_RTMP (1<<19) +#define CURLPROTO_RTMPT (1<<20) +#define CURLPROTO_RTMPE (1<<21) +#define CURLPROTO_RTMPTE (1<<22) +#define CURLPROTO_RTMPS (1<<23) +#define CURLPROTO_RTMPTS (1<<24) +#define CURLPROTO_GOPHER (1<<25) +#define CURLPROTO_SMB (1<<26) +#define CURLPROTO_SMBS (1<<27) +#define CURLPROTO_ALL (~0) /* enable everything */ + +/* long may be 32 or 64 bits, but we should never depend on anything else + but 32 */ +#define CURLOPTTYPE_LONG 0 +#define CURLOPTTYPE_OBJECTPOINT 10000 +#define CURLOPTTYPE_FUNCTIONPOINT 20000 +#define CURLOPTTYPE_OFF_T 30000 + +/* *STRINGPOINT is an alias for OBJECTPOINT to allow tools to extract the + string options from the header file */ + +/* name is uppercase CURLOPT_, + type is one of the defined CURLOPTTYPE_ + number is unique identifier */ +#ifdef CINIT +#undef CINIT +#endif + +#ifdef CURL_ISOCPP +#define CINIT(na,t,nu) CURLOPT_ ## na = CURLOPTTYPE_ ## t + nu +#else +/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */ +#define LONG CURLOPTTYPE_LONG +#define OBJECTPOINT CURLOPTTYPE_OBJECTPOINT +#define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT +#define OFF_T CURLOPTTYPE_OFF_T +#define CINIT(name,type,number) CURLOPT_/**/name = type + number +#endif + +/* handy aliases that make no run-time difference */ +#define CURLOPTTYPE_STRINGPOINT CURLOPTTYPE_OBJECTPOINT +#define CURLOPTTYPE_SLISTPOINT CURLOPTTYPE_OBJECTPOINT + +/* + * This macro-mania below setups the CURLOPT_[what] enum, to be used with + * curl_easy_setopt(). The first argument in the CINIT() macro is the [what] + * word. + */ + +typedef enum { + /* This is the FILE * or void * the regular output should be written to. */ + CINIT(WRITEDATA, OBJECTPOINT, 1), + + /* The full URL to get/put */ + CINIT(URL, STRINGPOINT, 2), + + /* Port number to connect to, if other than default. */ + CINIT(PORT, LONG, 3), + + /* Name of proxy to use. */ + CINIT(PROXY, STRINGPOINT, 4), + + /* "user:password;options" to use when fetching. */ + CINIT(USERPWD, STRINGPOINT, 5), + + /* "user:password" to use with proxy. */ + CINIT(PROXYUSERPWD, STRINGPOINT, 6), + + /* Range to get, specified as an ASCII string. */ + CINIT(RANGE, STRINGPOINT, 7), + + /* not used */ + + /* Specified file stream to upload from (use as input): */ + CINIT(READDATA, OBJECTPOINT, 9), + + /* Buffer to receive error messages in, must be at least CURL_ERROR_SIZE + * bytes big. */ + CINIT(ERRORBUFFER, OBJECTPOINT, 10), + + /* Function that will be called to store the output (instead of fwrite). The + * parameters will use fwrite() syntax, make sure to follow them. */ + CINIT(WRITEFUNCTION, FUNCTIONPOINT, 11), + + /* Function that will be called to read the input (instead of fread). The + * parameters will use fread() syntax, make sure to follow them. */ + CINIT(READFUNCTION, FUNCTIONPOINT, 12), + + /* Time-out the read operation after this amount of seconds */ + CINIT(TIMEOUT, LONG, 13), + + /* If the CURLOPT_INFILE is used, this can be used to inform libcurl about + * how large the file being sent really is. That allows better error + * checking and better verifies that the upload was successful. -1 means + * unknown size. + * + * For large file support, there is also a _LARGE version of the key + * which takes an off_t type, allowing platforms with larger off_t + * sizes to handle larger files. See below for INFILESIZE_LARGE. + */ + CINIT(INFILESIZE, LONG, 14), + + /* POST static input fields. */ + CINIT(POSTFIELDS, OBJECTPOINT, 15), + + /* Set the referrer page (needed by some CGIs) */ + CINIT(REFERER, STRINGPOINT, 16), + + /* Set the FTP PORT string (interface name, named or numerical IP address) + Use i.e '-' to use default address. */ + CINIT(FTPPORT, STRINGPOINT, 17), + + /* Set the User-Agent string (examined by some CGIs) */ + CINIT(USERAGENT, STRINGPOINT, 18), + + /* If the download receives less than "low speed limit" bytes/second + * during "low speed time" seconds, the operations is aborted. + * You could i.e if you have a pretty high speed connection, abort if + * it is less than 2000 bytes/sec during 20 seconds. + */ + + /* Set the "low speed limit" */ + CINIT(LOW_SPEED_LIMIT, LONG, 19), + + /* Set the "low speed time" */ + CINIT(LOW_SPEED_TIME, LONG, 20), + + /* Set the continuation offset. + * + * Note there is also a _LARGE version of this key which uses + * off_t types, allowing for large file offsets on platforms which + * use larger-than-32-bit off_t's. Look below for RESUME_FROM_LARGE. + */ + CINIT(RESUME_FROM, LONG, 21), + + /* Set cookie in request: */ + CINIT(COOKIE, STRINGPOINT, 22), + + /* This points to a linked list of headers, struct curl_slist kind. This + list is also used for RTSP (in spite of its name) */ + CINIT(HTTPHEADER, SLISTPOINT, 23), + + /* This points to a linked list of post entries, struct curl_httppost */ + CINIT(HTTPPOST, OBJECTPOINT, 24), + + /* name of the file keeping your private SSL-certificate */ + CINIT(SSLCERT, STRINGPOINT, 25), + + /* password for the SSL or SSH private key */ + CINIT(KEYPASSWD, STRINGPOINT, 26), + + /* send TYPE parameter? */ + CINIT(CRLF, LONG, 27), + + /* send linked-list of QUOTE commands */ + CINIT(QUOTE, SLISTPOINT, 28), + + /* send FILE * or void * to store headers to, if you use a callback it + is simply passed to the callback unmodified */ + CINIT(HEADERDATA, OBJECTPOINT, 29), + + /* point to a file to read the initial cookies from, also enables + "cookie awareness" */ + CINIT(COOKIEFILE, STRINGPOINT, 31), + + /* What version to specifically try to use. + See CURL_SSLVERSION defines below. */ + CINIT(SSLVERSION, LONG, 32), + + /* What kind of HTTP time condition to use, see defines */ + CINIT(TIMECONDITION, LONG, 33), + + /* Time to use with the above condition. Specified in number of seconds + since 1 Jan 1970 */ + CINIT(TIMEVALUE, LONG, 34), + + /* 35 = OBSOLETE */ + + /* Custom request, for customizing the get command like + HTTP: DELETE, TRACE and others + FTP: to use a different list command + */ + CINIT(CUSTOMREQUEST, STRINGPOINT, 36), + + /* FILE handle to use instead of stderr */ + CINIT(STDERR, OBJECTPOINT, 37), + + /* 38 is not used */ + + /* send linked-list of post-transfer QUOTE commands */ + CINIT(POSTQUOTE, SLISTPOINT, 39), + + CINIT(OBSOLETE40, OBJECTPOINT, 40), /* OBSOLETE, do not use! */ + + CINIT(VERBOSE, LONG, 41), /* talk a lot */ + CINIT(HEADER, LONG, 42), /* throw the header out too */ + CINIT(NOPROGRESS, LONG, 43), /* shut off the progress meter */ + CINIT(NOBODY, LONG, 44), /* use HEAD to get http document */ + CINIT(FAILONERROR, LONG, 45), /* no output on http error codes >= 400 */ + CINIT(UPLOAD, LONG, 46), /* this is an upload */ + CINIT(POST, LONG, 47), /* HTTP POST method */ + CINIT(DIRLISTONLY, LONG, 48), /* bare names when listing directories */ + + CINIT(APPEND, LONG, 50), /* Append instead of overwrite on upload! */ + + /* Specify whether to read the user+password from the .netrc or the URL. + * This must be one of the CURL_NETRC_* enums below. */ + CINIT(NETRC, LONG, 51), + + CINIT(FOLLOWLOCATION, LONG, 52), /* use Location: Luke! */ + + CINIT(TRANSFERTEXT, LONG, 53), /* transfer data in text/ASCII format */ + CINIT(PUT, LONG, 54), /* HTTP PUT */ + + /* 55 = OBSOLETE */ + + /* DEPRECATED + * Function that will be called instead of the internal progress display + * function. This function should be defined as the curl_progress_callback + * prototype defines. */ + CINIT(PROGRESSFUNCTION, FUNCTIONPOINT, 56), + + /* Data passed to the CURLOPT_PROGRESSFUNCTION and CURLOPT_XFERINFOFUNCTION + callbacks */ + CINIT(PROGRESSDATA, OBJECTPOINT, 57), +#define CURLOPT_XFERINFODATA CURLOPT_PROGRESSDATA + + /* We want the referrer field set automatically when following locations */ + CINIT(AUTOREFERER, LONG, 58), + + /* Port of the proxy, can be set in the proxy string as well with: + "[host]:[port]" */ + CINIT(PROXYPORT, LONG, 59), + + /* size of the POST input data, if strlen() is not good to use */ + CINIT(POSTFIELDSIZE, LONG, 60), + + /* tunnel non-http operations through a HTTP proxy */ + CINIT(HTTPPROXYTUNNEL, LONG, 61), + + /* Set the interface string to use as outgoing network interface */ + CINIT(INTERFACE, STRINGPOINT, 62), + + /* Set the krb4/5 security level, this also enables krb4/5 awareness. This + * is a string, 'clear', 'safe', 'confidential' or 'private'. If the string + * is set but doesn't match one of these, 'private' will be used. */ + CINIT(KRBLEVEL, STRINGPOINT, 63), + + /* Set if we should verify the peer in ssl handshake, set 1 to verify. */ + CINIT(SSL_VERIFYPEER, LONG, 64), + + /* The CApath or CAfile used to validate the peer certificate + this option is used only if SSL_VERIFYPEER is true */ + CINIT(CAINFO, STRINGPOINT, 65), + + /* 66 = OBSOLETE */ + /* 67 = OBSOLETE */ + + /* Maximum number of http redirects to follow */ + CINIT(MAXREDIRS, LONG, 68), + + /* Pass a long set to 1 to get the date of the requested document (if + possible)! Pass a zero to shut it off. */ + CINIT(FILETIME, LONG, 69), + + /* This points to a linked list of telnet options */ + CINIT(TELNETOPTIONS, SLISTPOINT, 70), + + /* Max amount of cached alive connections */ + CINIT(MAXCONNECTS, LONG, 71), + + CINIT(OBSOLETE72, LONG, 72), /* OBSOLETE, do not use! */ + + /* 73 = OBSOLETE */ + + /* Set to explicitly use a new connection for the upcoming transfer. + Do not use this unless you're absolutely sure of this, as it makes the + operation slower and is less friendly for the network. */ + CINIT(FRESH_CONNECT, LONG, 74), + + /* Set to explicitly forbid the upcoming transfer's connection to be re-used + when done. Do not use this unless you're absolutely sure of this, as it + makes the operation slower and is less friendly for the network. */ + CINIT(FORBID_REUSE, LONG, 75), + + /* Set to a file name that contains random data for libcurl to use to + seed the random engine when doing SSL connects. */ + CINIT(RANDOM_FILE, STRINGPOINT, 76), + + /* Set to the Entropy Gathering Daemon socket pathname */ + CINIT(EGDSOCKET, STRINGPOINT, 77), + + /* Time-out connect operations after this amount of seconds, if connects are + OK within this time, then fine... This only aborts the connect phase. */ + CINIT(CONNECTTIMEOUT, LONG, 78), + + /* Function that will be called to store headers (instead of fwrite). The + * parameters will use fwrite() syntax, make sure to follow them. */ + CINIT(HEADERFUNCTION, FUNCTIONPOINT, 79), + + /* Set this to force the HTTP request to get back to GET. Only really usable + if POST, PUT or a custom request have been used first. + */ + CINIT(HTTPGET, LONG, 80), + + /* Set if we should verify the Common name from the peer certificate in ssl + * handshake, set 1 to check existence, 2 to ensure that it matches the + * provided hostname. */ + CINIT(SSL_VERIFYHOST, LONG, 81), + + /* Specify which file name to write all known cookies in after completed + operation. Set file name to "-" (dash) to make it go to stdout. */ + CINIT(COOKIEJAR, STRINGPOINT, 82), + + /* Specify which SSL ciphers to use */ + CINIT(SSL_CIPHER_LIST, STRINGPOINT, 83), + + /* Specify which HTTP version to use! This must be set to one of the + CURL_HTTP_VERSION* enums set below. */ + CINIT(HTTP_VERSION, LONG, 84), + + /* Specifically switch on or off the FTP engine's use of the EPSV command. By + default, that one will always be attempted before the more traditional + PASV command. */ + CINIT(FTP_USE_EPSV, LONG, 85), + + /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") */ + CINIT(SSLCERTTYPE, STRINGPOINT, 86), + + /* name of the file keeping your private SSL-key */ + CINIT(SSLKEY, STRINGPOINT, 87), + + /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") */ + CINIT(SSLKEYTYPE, STRINGPOINT, 88), + + /* crypto engine for the SSL-sub system */ + CINIT(SSLENGINE, STRINGPOINT, 89), + + /* set the crypto engine for the SSL-sub system as default + the param has no meaning... + */ + CINIT(SSLENGINE_DEFAULT, LONG, 90), + + /* Non-zero value means to use the global dns cache */ + CINIT(DNS_USE_GLOBAL_CACHE, LONG, 91), /* DEPRECATED, do not use! */ + + /* DNS cache timeout */ + CINIT(DNS_CACHE_TIMEOUT, LONG, 92), + + /* send linked-list of pre-transfer QUOTE commands */ + CINIT(PREQUOTE, SLISTPOINT, 93), + + /* set the debug function */ + CINIT(DEBUGFUNCTION, FUNCTIONPOINT, 94), + + /* set the data for the debug function */ + CINIT(DEBUGDATA, OBJECTPOINT, 95), + + /* mark this as start of a cookie session */ + CINIT(COOKIESESSION, LONG, 96), + + /* The CApath directory used to validate the peer certificate + this option is used only if SSL_VERIFYPEER is true */ + CINIT(CAPATH, STRINGPOINT, 97), + + /* Instruct libcurl to use a smaller receive buffer */ + CINIT(BUFFERSIZE, LONG, 98), + + /* Instruct libcurl to not use any signal/alarm handlers, even when using + timeouts. This option is useful for multi-threaded applications. + See libcurl-the-guide for more background information. */ + CINIT(NOSIGNAL, LONG, 99), + + /* Provide a CURLShare for mutexing non-ts data */ + CINIT(SHARE, OBJECTPOINT, 100), + + /* indicates type of proxy. accepted values are CURLPROXY_HTTP (default), + CURLPROXY_HTTPS, CURLPROXY_SOCKS4, CURLPROXY_SOCKS4A and + CURLPROXY_SOCKS5. */ + CINIT(PROXYTYPE, LONG, 101), + + /* Set the Accept-Encoding string. Use this to tell a server you would like + the response to be compressed. Before 7.21.6, this was known as + CURLOPT_ENCODING */ + CINIT(ACCEPT_ENCODING, STRINGPOINT, 102), + + /* Set pointer to private data */ + CINIT(PRIVATE, OBJECTPOINT, 103), + + /* Set aliases for HTTP 200 in the HTTP Response header */ + CINIT(HTTP200ALIASES, SLISTPOINT, 104), + + /* Continue to send authentication (user+password) when following locations, + even when hostname changed. This can potentially send off the name + and password to whatever host the server decides. */ + CINIT(UNRESTRICTED_AUTH, LONG, 105), + + /* Specifically switch on or off the FTP engine's use of the EPRT command ( + it also disables the LPRT attempt). By default, those ones will always be + attempted before the good old traditional PORT command. */ + CINIT(FTP_USE_EPRT, LONG, 106), + + /* Set this to a bitmask value to enable the particular authentications + methods you like. Use this in combination with CURLOPT_USERPWD. + Note that setting multiple bits may cause extra network round-trips. */ + CINIT(HTTPAUTH, LONG, 107), + + /* Set the ssl context callback function, currently only for OpenSSL or + WolfSSL ssl_ctx, or mbedTLS mbedtls_ssl_config in the second argument. + The function must match the curl_ssl_ctx_callback prototype. */ + CINIT(SSL_CTX_FUNCTION, FUNCTIONPOINT, 108), + + /* Set the userdata for the ssl context callback function's third + argument */ + CINIT(SSL_CTX_DATA, OBJECTPOINT, 109), + + /* FTP Option that causes missing dirs to be created on the remote server. + In 7.19.4 we introduced the convenience enums for this option using the + CURLFTP_CREATE_DIR prefix. + */ + CINIT(FTP_CREATE_MISSING_DIRS, LONG, 110), + + /* Set this to a bitmask value to enable the particular authentications + methods you like. Use this in combination with CURLOPT_PROXYUSERPWD. + Note that setting multiple bits may cause extra network round-trips. */ + CINIT(PROXYAUTH, LONG, 111), + + /* FTP option that changes the timeout, in seconds, associated with + getting a response. This is different from transfer timeout time and + essentially places a demand on the FTP server to acknowledge commands + in a timely manner. */ + CINIT(FTP_RESPONSE_TIMEOUT, LONG, 112), +#define CURLOPT_SERVER_RESPONSE_TIMEOUT CURLOPT_FTP_RESPONSE_TIMEOUT + + /* Set this option to one of the CURL_IPRESOLVE_* defines (see below) to + tell libcurl to resolve names to those IP versions only. This only has + affect on systems with support for more than one, i.e IPv4 _and_ IPv6. */ + CINIT(IPRESOLVE, LONG, 113), + + /* Set this option to limit the size of a file that will be downloaded from + an HTTP or FTP server. + + Note there is also _LARGE version which adds large file support for + platforms which have larger off_t sizes. See MAXFILESIZE_LARGE below. */ + CINIT(MAXFILESIZE, LONG, 114), + + /* See the comment for INFILESIZE above, but in short, specifies + * the size of the file being uploaded. -1 means unknown. + */ + CINIT(INFILESIZE_LARGE, OFF_T, 115), + + /* Sets the continuation offset. There is also a LONG version of this; + * look above for RESUME_FROM. + */ + CINIT(RESUME_FROM_LARGE, OFF_T, 116), + + /* Sets the maximum size of data that will be downloaded from + * an HTTP or FTP server. See MAXFILESIZE above for the LONG version. + */ + CINIT(MAXFILESIZE_LARGE, OFF_T, 117), + + /* Set this option to the file name of your .netrc file you want libcurl + to parse (using the CURLOPT_NETRC option). If not set, libcurl will do + a poor attempt to find the user's home directory and check for a .netrc + file in there. */ + CINIT(NETRC_FILE, STRINGPOINT, 118), + + /* Enable SSL/TLS for FTP, pick one of: + CURLUSESSL_TRY - try using SSL, proceed anyway otherwise + CURLUSESSL_CONTROL - SSL for the control connection or fail + CURLUSESSL_ALL - SSL for all communication or fail + */ + CINIT(USE_SSL, LONG, 119), + + /* The _LARGE version of the standard POSTFIELDSIZE option */ + CINIT(POSTFIELDSIZE_LARGE, OFF_T, 120), + + /* Enable/disable the TCP Nagle algorithm */ + CINIT(TCP_NODELAY, LONG, 121), + + /* 122 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */ + /* 123 OBSOLETE. Gone in 7.16.0 */ + /* 124 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */ + /* 125 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */ + /* 126 OBSOLETE, used in 7.12.3. Gone in 7.13.0 */ + /* 127 OBSOLETE. Gone in 7.16.0 */ + /* 128 OBSOLETE. Gone in 7.16.0 */ + + /* When FTP over SSL/TLS is selected (with CURLOPT_USE_SSL), this option + can be used to change libcurl's default action which is to first try + "AUTH SSL" and then "AUTH TLS" in this order, and proceed when a OK + response has been received. + + Available parameters are: + CURLFTPAUTH_DEFAULT - let libcurl decide + CURLFTPAUTH_SSL - try "AUTH SSL" first, then TLS + CURLFTPAUTH_TLS - try "AUTH TLS" first, then SSL + */ + CINIT(FTPSSLAUTH, LONG, 129), + + CINIT(IOCTLFUNCTION, FUNCTIONPOINT, 130), + CINIT(IOCTLDATA, OBJECTPOINT, 131), + + /* 132 OBSOLETE. Gone in 7.16.0 */ + /* 133 OBSOLETE. Gone in 7.16.0 */ + + /* zero terminated string for pass on to the FTP server when asked for + "account" info */ + CINIT(FTP_ACCOUNT, STRINGPOINT, 134), + + /* feed cookie into cookie engine */ + CINIT(COOKIELIST, STRINGPOINT, 135), + + /* ignore Content-Length */ + CINIT(IGNORE_CONTENT_LENGTH, LONG, 136), + + /* Set to non-zero to skip the IP address received in a 227 PASV FTP server + response. Typically used for FTP-SSL purposes but is not restricted to + that. libcurl will then instead use the same IP address it used for the + control connection. */ + CINIT(FTP_SKIP_PASV_IP, LONG, 137), + + /* Select "file method" to use when doing FTP, see the curl_ftpmethod + above. */ + CINIT(FTP_FILEMETHOD, LONG, 138), + + /* Local port number to bind the socket to */ + CINIT(LOCALPORT, LONG, 139), + + /* Number of ports to try, including the first one set with LOCALPORT. + Thus, setting it to 1 will make no additional attempts but the first. + */ + CINIT(LOCALPORTRANGE, LONG, 140), + + /* no transfer, set up connection and let application use the socket by + extracting it with CURLINFO_LASTSOCKET */ + CINIT(CONNECT_ONLY, LONG, 141), + + /* Function that will be called to convert from the + network encoding (instead of using the iconv calls in libcurl) */ + CINIT(CONV_FROM_NETWORK_FUNCTION, FUNCTIONPOINT, 142), + + /* Function that will be called to convert to the + network encoding (instead of using the iconv calls in libcurl) */ + CINIT(CONV_TO_NETWORK_FUNCTION, FUNCTIONPOINT, 143), + + /* Function that will be called to convert from UTF8 + (instead of using the iconv calls in libcurl) + Note that this is used only for SSL certificate processing */ + CINIT(CONV_FROM_UTF8_FUNCTION, FUNCTIONPOINT, 144), + + /* if the connection proceeds too quickly then need to slow it down */ + /* limit-rate: maximum number of bytes per second to send or receive */ + CINIT(MAX_SEND_SPEED_LARGE, OFF_T, 145), + CINIT(MAX_RECV_SPEED_LARGE, OFF_T, 146), + + /* Pointer to command string to send if USER/PASS fails. */ + CINIT(FTP_ALTERNATIVE_TO_USER, STRINGPOINT, 147), + + /* callback function for setting socket options */ + CINIT(SOCKOPTFUNCTION, FUNCTIONPOINT, 148), + CINIT(SOCKOPTDATA, OBJECTPOINT, 149), + + /* set to 0 to disable session ID re-use for this transfer, default is + enabled (== 1) */ + CINIT(SSL_SESSIONID_CACHE, LONG, 150), + + /* allowed SSH authentication methods */ + CINIT(SSH_AUTH_TYPES, LONG, 151), + + /* Used by scp/sftp to do public/private key authentication */ + CINIT(SSH_PUBLIC_KEYFILE, STRINGPOINT, 152), + CINIT(SSH_PRIVATE_KEYFILE, STRINGPOINT, 153), + + /* Send CCC (Clear Command Channel) after authentication */ + CINIT(FTP_SSL_CCC, LONG, 154), + + /* Same as TIMEOUT and CONNECTTIMEOUT, but with ms resolution */ + CINIT(TIMEOUT_MS, LONG, 155), + CINIT(CONNECTTIMEOUT_MS, LONG, 156), + + /* set to zero to disable the libcurl's decoding and thus pass the raw body + data to the application even when it is encoded/compressed */ + CINIT(HTTP_TRANSFER_DECODING, LONG, 157), + CINIT(HTTP_CONTENT_DECODING, LONG, 158), + + /* Permission used when creating new files and directories on the remote + server for protocols that support it, SFTP/SCP/FILE */ + CINIT(NEW_FILE_PERMS, LONG, 159), + CINIT(NEW_DIRECTORY_PERMS, LONG, 160), + + /* Set the behaviour of POST when redirecting. Values must be set to one + of CURL_REDIR* defines below. This used to be called CURLOPT_POST301 */ + CINIT(POSTREDIR, LONG, 161), + + /* used by scp/sftp to verify the host's public key */ + CINIT(SSH_HOST_PUBLIC_KEY_MD5, STRINGPOINT, 162), + + /* Callback function for opening socket (instead of socket(2)). Optionally, + callback is able change the address or refuse to connect returning + CURL_SOCKET_BAD. The callback should have type + curl_opensocket_callback */ + CINIT(OPENSOCKETFUNCTION, FUNCTIONPOINT, 163), + CINIT(OPENSOCKETDATA, OBJECTPOINT, 164), + + /* POST volatile input fields. */ + CINIT(COPYPOSTFIELDS, OBJECTPOINT, 165), + + /* set transfer mode (;type=) when doing FTP via an HTTP proxy */ + CINIT(PROXY_TRANSFER_MODE, LONG, 166), + + /* Callback function for seeking in the input stream */ + CINIT(SEEKFUNCTION, FUNCTIONPOINT, 167), + CINIT(SEEKDATA, OBJECTPOINT, 168), + + /* CRL file */ + CINIT(CRLFILE, STRINGPOINT, 169), + + /* Issuer certificate */ + CINIT(ISSUERCERT, STRINGPOINT, 170), + + /* (IPv6) Address scope */ + CINIT(ADDRESS_SCOPE, LONG, 171), + + /* Collect certificate chain info and allow it to get retrievable with + CURLINFO_CERTINFO after the transfer is complete. */ + CINIT(CERTINFO, LONG, 172), + + /* "name" and "pwd" to use when fetching. */ + CINIT(USERNAME, STRINGPOINT, 173), + CINIT(PASSWORD, STRINGPOINT, 174), + + /* "name" and "pwd" to use with Proxy when fetching. */ + CINIT(PROXYUSERNAME, STRINGPOINT, 175), + CINIT(PROXYPASSWORD, STRINGPOINT, 176), + + /* Comma separated list of hostnames defining no-proxy zones. These should + match both hostnames directly, and hostnames within a domain. For + example, local.com will match local.com and www.local.com, but NOT + notlocal.com or www.notlocal.com. For compatibility with other + implementations of this, .local.com will be considered to be the same as + local.com. A single * is the only valid wildcard, and effectively + disables the use of proxy. */ + CINIT(NOPROXY, STRINGPOINT, 177), + + /* block size for TFTP transfers */ + CINIT(TFTP_BLKSIZE, LONG, 178), + + /* Socks Service */ + CINIT(SOCKS5_GSSAPI_SERVICE, STRINGPOINT, 179), /* DEPRECATED, do not use! */ + + /* Socks Service */ + CINIT(SOCKS5_GSSAPI_NEC, LONG, 180), + + /* set the bitmask for the protocols that are allowed to be used for the + transfer, which thus helps the app which takes URLs from users or other + external inputs and want to restrict what protocol(s) to deal + with. Defaults to CURLPROTO_ALL. */ + CINIT(PROTOCOLS, LONG, 181), + + /* set the bitmask for the protocols that libcurl is allowed to follow to, + as a subset of the CURLOPT_PROTOCOLS ones. That means the protocol needs + to be set in both bitmasks to be allowed to get redirected to. */ + CINIT(REDIR_PROTOCOLS, LONG, 182), + + /* set the SSH knownhost file name to use */ + CINIT(SSH_KNOWNHOSTS, STRINGPOINT, 183), + + /* set the SSH host key callback, must point to a curl_sshkeycallback + function */ + CINIT(SSH_KEYFUNCTION, FUNCTIONPOINT, 184), + + /* set the SSH host key callback custom pointer */ + CINIT(SSH_KEYDATA, OBJECTPOINT, 185), + + /* set the SMTP mail originator */ + CINIT(MAIL_FROM, STRINGPOINT, 186), + + /* set the list of SMTP mail receiver(s) */ + CINIT(MAIL_RCPT, SLISTPOINT, 187), + + /* FTP: send PRET before PASV */ + CINIT(FTP_USE_PRET, LONG, 188), + + /* RTSP request method (OPTIONS, SETUP, PLAY, etc...) */ + CINIT(RTSP_REQUEST, LONG, 189), + + /* The RTSP session identifier */ + CINIT(RTSP_SESSION_ID, STRINGPOINT, 190), + + /* The RTSP stream URI */ + CINIT(RTSP_STREAM_URI, STRINGPOINT, 191), + + /* The Transport: header to use in RTSP requests */ + CINIT(RTSP_TRANSPORT, STRINGPOINT, 192), + + /* Manually initialize the client RTSP CSeq for this handle */ + CINIT(RTSP_CLIENT_CSEQ, LONG, 193), + + /* Manually initialize the server RTSP CSeq for this handle */ + CINIT(RTSP_SERVER_CSEQ, LONG, 194), + + /* The stream to pass to INTERLEAVEFUNCTION. */ + CINIT(INTERLEAVEDATA, OBJECTPOINT, 195), + + /* Let the application define a custom write method for RTP data */ + CINIT(INTERLEAVEFUNCTION, FUNCTIONPOINT, 196), + + /* Turn on wildcard matching */ + CINIT(WILDCARDMATCH, LONG, 197), + + /* Directory matching callback called before downloading of an + individual file (chunk) started */ + CINIT(CHUNK_BGN_FUNCTION, FUNCTIONPOINT, 198), + + /* Directory matching callback called after the file (chunk) + was downloaded, or skipped */ + CINIT(CHUNK_END_FUNCTION, FUNCTIONPOINT, 199), + + /* Change match (fnmatch-like) callback for wildcard matching */ + CINIT(FNMATCH_FUNCTION, FUNCTIONPOINT, 200), + + /* Let the application define custom chunk data pointer */ + CINIT(CHUNK_DATA, OBJECTPOINT, 201), + + /* FNMATCH_FUNCTION user pointer */ + CINIT(FNMATCH_DATA, OBJECTPOINT, 202), + + /* send linked-list of name:port:address sets */ + CINIT(RESOLVE, SLISTPOINT, 203), + + /* Set a username for authenticated TLS */ + CINIT(TLSAUTH_USERNAME, STRINGPOINT, 204), + + /* Set a password for authenticated TLS */ + CINIT(TLSAUTH_PASSWORD, STRINGPOINT, 205), + + /* Set authentication type for authenticated TLS */ + CINIT(TLSAUTH_TYPE, STRINGPOINT, 206), + + /* Set to 1 to enable the "TE:" header in HTTP requests to ask for + compressed transfer-encoded responses. Set to 0 to disable the use of TE: + in outgoing requests. The current default is 0, but it might change in a + future libcurl release. + + libcurl will ask for the compressed methods it knows of, and if that + isn't any, it will not ask for transfer-encoding at all even if this + option is set to 1. + + */ + CINIT(TRANSFER_ENCODING, LONG, 207), + + /* Callback function for closing socket (instead of close(2)). The callback + should have type curl_closesocket_callback */ + CINIT(CLOSESOCKETFUNCTION, FUNCTIONPOINT, 208), + CINIT(CLOSESOCKETDATA, OBJECTPOINT, 209), + + /* allow GSSAPI credential delegation */ + CINIT(GSSAPI_DELEGATION, LONG, 210), + + /* Set the name servers to use for DNS resolution */ + CINIT(DNS_SERVERS, STRINGPOINT, 211), + + /* Time-out accept operations (currently for FTP only) after this amount + of milliseconds. */ + CINIT(ACCEPTTIMEOUT_MS, LONG, 212), + + /* Set TCP keepalive */ + CINIT(TCP_KEEPALIVE, LONG, 213), + + /* non-universal keepalive knobs (Linux, AIX, HP-UX, more) */ + CINIT(TCP_KEEPIDLE, LONG, 214), + CINIT(TCP_KEEPINTVL, LONG, 215), + + /* Enable/disable specific SSL features with a bitmask, see CURLSSLOPT_* */ + CINIT(SSL_OPTIONS, LONG, 216), + + /* Set the SMTP auth originator */ + CINIT(MAIL_AUTH, STRINGPOINT, 217), + + /* Enable/disable SASL initial response */ + CINIT(SASL_IR, LONG, 218), + + /* Function that will be called instead of the internal progress display + * function. This function should be defined as the curl_xferinfo_callback + * prototype defines. (Deprecates CURLOPT_PROGRESSFUNCTION) */ + CINIT(XFERINFOFUNCTION, FUNCTIONPOINT, 219), + + /* The XOAUTH2 bearer token */ + CINIT(XOAUTH2_BEARER, STRINGPOINT, 220), + + /* Set the interface string to use as outgoing network + * interface for DNS requests. + * Only supported by the c-ares DNS backend */ + CINIT(DNS_INTERFACE, STRINGPOINT, 221), + + /* Set the local IPv4 address to use for outgoing DNS requests. + * Only supported by the c-ares DNS backend */ + CINIT(DNS_LOCAL_IP4, STRINGPOINT, 222), + + /* Set the local IPv6 address to use for outgoing DNS requests. + * Only supported by the c-ares DNS backend */ + CINIT(DNS_LOCAL_IP6, STRINGPOINT, 223), + + /* Set authentication options directly */ + CINIT(LOGIN_OPTIONS, STRINGPOINT, 224), + + /* Enable/disable TLS NPN extension (http2 over ssl might fail without) */ + CINIT(SSL_ENABLE_NPN, LONG, 225), + + /* Enable/disable TLS ALPN extension (http2 over ssl might fail without) */ + CINIT(SSL_ENABLE_ALPN, LONG, 226), + + /* Time to wait for a response to a HTTP request containing an + * Expect: 100-continue header before sending the data anyway. */ + CINIT(EXPECT_100_TIMEOUT_MS, LONG, 227), + + /* This points to a linked list of headers used for proxy requests only, + struct curl_slist kind */ + CINIT(PROXYHEADER, SLISTPOINT, 228), + + /* Pass in a bitmask of "header options" */ + CINIT(HEADEROPT, LONG, 229), + + /* The public key in DER form used to validate the peer public key + this option is used only if SSL_VERIFYPEER is true */ + CINIT(PINNEDPUBLICKEY, STRINGPOINT, 230), + + /* Path to Unix domain socket */ + CINIT(UNIX_SOCKET_PATH, STRINGPOINT, 231), + + /* Set if we should verify the certificate status. */ + CINIT(SSL_VERIFYSTATUS, LONG, 232), + + /* Set if we should enable TLS false start. */ + CINIT(SSL_FALSESTART, LONG, 233), + + /* Do not squash dot-dot sequences */ + CINIT(PATH_AS_IS, LONG, 234), + + /* Proxy Service Name */ + CINIT(PROXY_SERVICE_NAME, STRINGPOINT, 235), + + /* Service Name */ + CINIT(SERVICE_NAME, STRINGPOINT, 236), + + /* Wait/don't wait for pipe/mutex to clarify */ + CINIT(PIPEWAIT, LONG, 237), + + /* Set the protocol used when curl is given a URL without a protocol */ + CINIT(DEFAULT_PROTOCOL, STRINGPOINT, 238), + + /* Set stream weight, 1 - 256 (default is 16) */ + CINIT(STREAM_WEIGHT, LONG, 239), + + /* Set stream dependency on another CURL handle */ + CINIT(STREAM_DEPENDS, OBJECTPOINT, 240), + + /* Set E-xclusive stream dependency on another CURL handle */ + CINIT(STREAM_DEPENDS_E, OBJECTPOINT, 241), + + /* Do not send any tftp option requests to the server */ + CINIT(TFTP_NO_OPTIONS, LONG, 242), + + /* Linked-list of host:port:connect-to-host:connect-to-port, + overrides the URL's host:port (only for the network layer) */ + CINIT(CONNECT_TO, SLISTPOINT, 243), + + /* Set TCP Fast Open */ + CINIT(TCP_FASTOPEN, LONG, 244), + + /* Continue to send data if the server responds early with an + * HTTP status code >= 300 */ + CINIT(KEEP_SENDING_ON_ERROR, LONG, 245), + + /* The CApath or CAfile used to validate the proxy certificate + this option is used only if PROXY_SSL_VERIFYPEER is true */ + CINIT(PROXY_CAINFO, STRINGPOINT, 246), + + /* The CApath directory used to validate the proxy certificate + this option is used only if PROXY_SSL_VERIFYPEER is true */ + CINIT(PROXY_CAPATH, STRINGPOINT, 247), + + /* Set if we should verify the proxy in ssl handshake, + set 1 to verify. */ + CINIT(PROXY_SSL_VERIFYPEER, LONG, 248), + + /* Set if we should verify the Common name from the proxy certificate in ssl + * handshake, set 1 to check existence, 2 to ensure that it matches + * the provided hostname. */ + CINIT(PROXY_SSL_VERIFYHOST, LONG, 249), + + /* What version to specifically try to use for proxy. + See CURL_SSLVERSION defines below. */ + CINIT(PROXY_SSLVERSION, LONG, 250), + + /* Set a username for authenticated TLS for proxy */ + CINIT(PROXY_TLSAUTH_USERNAME, STRINGPOINT, 251), + + /* Set a password for authenticated TLS for proxy */ + CINIT(PROXY_TLSAUTH_PASSWORD, STRINGPOINT, 252), + + /* Set authentication type for authenticated TLS for proxy */ + CINIT(PROXY_TLSAUTH_TYPE, STRINGPOINT, 253), + + /* name of the file keeping your private SSL-certificate for proxy */ + CINIT(PROXY_SSLCERT, STRINGPOINT, 254), + + /* type of the file keeping your SSL-certificate ("DER", "PEM", "ENG") for + proxy */ + CINIT(PROXY_SSLCERTTYPE, STRINGPOINT, 255), + + /* name of the file keeping your private SSL-key for proxy */ + CINIT(PROXY_SSLKEY, STRINGPOINT, 256), + + /* type of the file keeping your private SSL-key ("DER", "PEM", "ENG") for + proxy */ + CINIT(PROXY_SSLKEYTYPE, STRINGPOINT, 257), + + /* password for the SSL private key for proxy */ + CINIT(PROXY_KEYPASSWD, STRINGPOINT, 258), + + /* Specify which SSL ciphers to use for proxy */ + CINIT(PROXY_SSL_CIPHER_LIST, STRINGPOINT, 259), + + /* CRL file for proxy */ + CINIT(PROXY_CRLFILE, STRINGPOINT, 260), + + /* Enable/disable specific SSL features with a bitmask for proxy, see + CURLSSLOPT_* */ + CINIT(PROXY_SSL_OPTIONS, LONG, 261), + + /* Name of pre proxy to use. */ + CINIT(PRE_PROXY, STRINGPOINT, 262), + + /* The public key in DER form used to validate the proxy public key + this option is used only if PROXY_SSL_VERIFYPEER is true */ + CINIT(PROXY_PINNEDPUBLICKEY, STRINGPOINT, 263), + + /* Path to an abstract Unix domain socket */ + CINIT(ABSTRACT_UNIX_SOCKET, STRINGPOINT, 264), + + /* Suppress proxy CONNECT response headers from user callbacks */ + CINIT(SUPPRESS_CONNECT_HEADERS, LONG, 265), + + /* The request target, instead of extracted from the URL */ + CINIT(REQUEST_TARGET, STRINGPOINT, 266), + + /* bitmask of allowed auth methods for connections to SOCKS5 proxies */ + CINIT(SOCKS5_AUTH, LONG, 267), + + /* Enable/disable SSH compression */ + CINIT(SSH_COMPRESSION, LONG, 268), + + /* Post MIME data. */ + CINIT(MIMEPOST, OBJECTPOINT, 269), + + /* Time to use with the CURLOPT_TIMECONDITION. Specified in number of + seconds since 1 Jan 1970. */ + CINIT(TIMEVALUE_LARGE, OFF_T, 270), + + /* Head start in milliseconds to give happy eyeballs. */ + CINIT(HAPPY_EYEBALLS_TIMEOUT_MS, LONG, 271), + + /* Function that will be called before a resolver request is made */ + CINIT(RESOLVER_START_FUNCTION, FUNCTIONPOINT, 272), + + /* User data to pass to the resolver start callback. */ + CINIT(RESOLVER_START_DATA, OBJECTPOINT, 273), + + /* send HAProxy PROXY protocol header? */ + CINIT(HAPROXYPROTOCOL, LONG, 274), + + /* shuffle addresses before use when DNS returns multiple */ + CINIT(DNS_SHUFFLE_ADDRESSES, LONG, 275), + + /* Specify which TLS 1.3 ciphers suites to use */ + CINIT(TLS13_CIPHERS, STRINGPOINT, 276), + CINIT(PROXY_TLS13_CIPHERS, STRINGPOINT, 277), + + /* Disallow specifying username/login in URL. */ + CINIT(DISALLOW_USERNAME_IN_URL, LONG, 278), + + /* DNS-over-HTTPS URL */ + CINIT(DOH_URL, STRINGPOINT, 279), + + /* Preferred buffer size to use for uploads */ + CINIT(UPLOAD_BUFFERSIZE, LONG, 280), + + /* Time in ms between connection upkeep calls for long-lived connections. */ + CINIT(UPKEEP_INTERVAL_MS, LONG, 281), + + /* Specify URL using CURL URL API. */ + CINIT(CURLU, OBJECTPOINT, 282), + + /* add trailing data just after no more data is available */ + CINIT(TRAILERFUNCTION, FUNCTIONPOINT, 283), + + /* pointer to be passed to HTTP_TRAILER_FUNCTION */ + CINIT(TRAILERDATA, OBJECTPOINT, 284), + + /* set this to 1L to allow HTTP/0.9 responses or 0L to disallow */ + CINIT(HTTP09_ALLOWED, LONG, 285), + + /* alt-svc control bitmask */ + CINIT(ALTSVC_CTRL, LONG, 286), + + /* alt-svc cache file name to possibly read from/write to */ + CINIT(ALTSVC, STRINGPOINT, 287), + + /* maximum age of a connection to consider it for reuse (in seconds) */ + CINIT(MAXAGE_CONN, LONG, 288), + + /* SASL authorisation identity */ + CINIT(SASL_AUTHZID, STRINGPOINT, 289), + + CURLOPT_LASTENTRY /* the last unused */ +} CURLoption; + +#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all + the obsolete stuff removed! */ + +/* Backwards compatibility with older names */ +/* These are scheduled to disappear by 2011 */ + +/* This was added in version 7.19.1 */ +#define CURLOPT_POST301 CURLOPT_POSTREDIR + +/* These are scheduled to disappear by 2009 */ + +/* The following were added in 7.17.0 */ +#define CURLOPT_SSLKEYPASSWD CURLOPT_KEYPASSWD +#define CURLOPT_FTPAPPEND CURLOPT_APPEND +#define CURLOPT_FTPLISTONLY CURLOPT_DIRLISTONLY +#define CURLOPT_FTP_SSL CURLOPT_USE_SSL + +/* The following were added earlier */ + +#define CURLOPT_SSLCERTPASSWD CURLOPT_KEYPASSWD +#define CURLOPT_KRB4LEVEL CURLOPT_KRBLEVEL + +#else +/* This is set if CURL_NO_OLDIES is defined at compile-time */ +#undef CURLOPT_DNS_USE_GLOBAL_CACHE /* soon obsolete */ +#endif + + + /* Below here follows defines for the CURLOPT_IPRESOLVE option. If a host + name resolves addresses using more than one IP protocol version, this + option might be handy to force libcurl to use a specific IP version. */ +#define CURL_IPRESOLVE_WHATEVER 0 /* default, resolves addresses to all IP + versions that your system allows */ +#define CURL_IPRESOLVE_V4 1 /* resolve to IPv4 addresses */ +#define CURL_IPRESOLVE_V6 2 /* resolve to IPv6 addresses */ + + /* three convenient "aliases" that follow the name scheme better */ +#define CURLOPT_RTSPHEADER CURLOPT_HTTPHEADER + + /* These enums are for use with the CURLOPT_HTTP_VERSION option. */ +enum { + CURL_HTTP_VERSION_NONE, /* setting this means we don't care, and that we'd + like the library to choose the best possible + for us! */ + CURL_HTTP_VERSION_1_0, /* please use HTTP 1.0 in the request */ + CURL_HTTP_VERSION_1_1, /* please use HTTP 1.1 in the request */ + CURL_HTTP_VERSION_2_0, /* please use HTTP 2 in the request */ + CURL_HTTP_VERSION_2TLS, /* use version 2 for HTTPS, version 1.1 for HTTP */ + CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, /* please use HTTP 2 without HTTP/1.1 + Upgrade */ + CURL_HTTP_VERSION_3 = 30, /* Makes use of explicit HTTP/3 without fallback. + Use CURLOPT_ALTSVC to enable HTTP/3 upgrade */ + CURL_HTTP_VERSION_LAST /* *ILLEGAL* http version */ +}; + +/* Convenience definition simple because the name of the version is HTTP/2 and + not 2.0. The 2_0 version of the enum name was set while the version was + still planned to be 2.0 and we stick to it for compatibility. */ +#define CURL_HTTP_VERSION_2 CURL_HTTP_VERSION_2_0 + +/* + * Public API enums for RTSP requests + */ +enum { + CURL_RTSPREQ_NONE, /* first in list */ + CURL_RTSPREQ_OPTIONS, + CURL_RTSPREQ_DESCRIBE, + CURL_RTSPREQ_ANNOUNCE, + CURL_RTSPREQ_SETUP, + CURL_RTSPREQ_PLAY, + CURL_RTSPREQ_PAUSE, + CURL_RTSPREQ_TEARDOWN, + CURL_RTSPREQ_GET_PARAMETER, + CURL_RTSPREQ_SET_PARAMETER, + CURL_RTSPREQ_RECORD, + CURL_RTSPREQ_RECEIVE, + CURL_RTSPREQ_LAST /* last in list */ +}; + + /* These enums are for use with the CURLOPT_NETRC option. */ +enum CURL_NETRC_OPTION { + CURL_NETRC_IGNORED, /* The .netrc will never be read. + * This is the default. */ + CURL_NETRC_OPTIONAL, /* A user:password in the URL will be preferred + * to one in the .netrc. */ + CURL_NETRC_REQUIRED, /* A user:password in the URL will be ignored. + * Unless one is set programmatically, the .netrc + * will be queried. */ + CURL_NETRC_LAST +}; + +enum { + CURL_SSLVERSION_DEFAULT, + CURL_SSLVERSION_TLSv1, /* TLS 1.x */ + CURL_SSLVERSION_SSLv2, + CURL_SSLVERSION_SSLv3, + CURL_SSLVERSION_TLSv1_0, + CURL_SSLVERSION_TLSv1_1, + CURL_SSLVERSION_TLSv1_2, + CURL_SSLVERSION_TLSv1_3, + + CURL_SSLVERSION_LAST /* never use, keep last */ +}; + +enum { + CURL_SSLVERSION_MAX_NONE = 0, + CURL_SSLVERSION_MAX_DEFAULT = (CURL_SSLVERSION_TLSv1 << 16), + CURL_SSLVERSION_MAX_TLSv1_0 = (CURL_SSLVERSION_TLSv1_0 << 16), + CURL_SSLVERSION_MAX_TLSv1_1 = (CURL_SSLVERSION_TLSv1_1 << 16), + CURL_SSLVERSION_MAX_TLSv1_2 = (CURL_SSLVERSION_TLSv1_2 << 16), + CURL_SSLVERSION_MAX_TLSv1_3 = (CURL_SSLVERSION_TLSv1_3 << 16), + + /* never use, keep last */ + CURL_SSLVERSION_MAX_LAST = (CURL_SSLVERSION_LAST << 16) +}; + +enum CURL_TLSAUTH { + CURL_TLSAUTH_NONE, + CURL_TLSAUTH_SRP, + CURL_TLSAUTH_LAST /* never use, keep last */ +}; + +/* symbols to use with CURLOPT_POSTREDIR. + CURL_REDIR_POST_301, CURL_REDIR_POST_302 and CURL_REDIR_POST_303 + can be bitwise ORed so that CURL_REDIR_POST_301 | CURL_REDIR_POST_302 + | CURL_REDIR_POST_303 == CURL_REDIR_POST_ALL */ + +#define CURL_REDIR_GET_ALL 0 +#define CURL_REDIR_POST_301 1 +#define CURL_REDIR_POST_302 2 +#define CURL_REDIR_POST_303 4 +#define CURL_REDIR_POST_ALL \ + (CURL_REDIR_POST_301|CURL_REDIR_POST_302|CURL_REDIR_POST_303) + +typedef enum { + CURL_TIMECOND_NONE, + + CURL_TIMECOND_IFMODSINCE, + CURL_TIMECOND_IFUNMODSINCE, + CURL_TIMECOND_LASTMOD, + + CURL_TIMECOND_LAST +} curl_TimeCond; + +/* Special size_t value signaling a zero-terminated string. */ +#define CURL_ZERO_TERMINATED ((size_t) -1) + +/* curl_strequal() and curl_strnequal() are subject for removal in a future + release */ +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); + +/* Mime/form handling support. */ +typedef struct curl_mime_s curl_mime; /* Mime context. */ +typedef struct curl_mimepart_s curl_mimepart; /* Mime part context. */ + +/* + * NAME curl_mime_init() + * + * DESCRIPTION + * + * Create a mime context and return its handle. The easy parameter is the + * target handle. + */ +CURL_EXTERN curl_mime *curl_mime_init(CURL *easy); + +/* + * NAME curl_mime_free() + * + * DESCRIPTION + * + * release a mime handle and its substructures. + */ +CURL_EXTERN void curl_mime_free(curl_mime *mime); + +/* + * NAME curl_mime_addpart() + * + * DESCRIPTION + * + * Append a new empty part to the given mime context and return a handle to + * the created part. + */ +CURL_EXTERN curl_mimepart *curl_mime_addpart(curl_mime *mime); + +/* + * NAME curl_mime_name() + * + * DESCRIPTION + * + * Set mime/form part name. + */ +CURL_EXTERN CURLcode curl_mime_name(curl_mimepart *part, const char *name); + +/* + * NAME curl_mime_filename() + * + * DESCRIPTION + * + * Set mime part remote file name. + */ +CURL_EXTERN CURLcode curl_mime_filename(curl_mimepart *part, + const char *filename); + +/* + * NAME curl_mime_type() + * + * DESCRIPTION + * + * Set mime part type. + */ +CURL_EXTERN CURLcode curl_mime_type(curl_mimepart *part, const char *mimetype); + +/* + * NAME curl_mime_encoder() + * + * DESCRIPTION + * + * Set mime data transfer encoder. + */ +CURL_EXTERN CURLcode curl_mime_encoder(curl_mimepart *part, + const char *encoding); + +/* + * NAME curl_mime_data() + * + * DESCRIPTION + * + * Set mime part data source from memory data, + */ +CURL_EXTERN CURLcode curl_mime_data(curl_mimepart *part, + const char *data, size_t datasize); + +/* + * NAME curl_mime_filedata() + * + * DESCRIPTION + * + * Set mime part data source from named file. + */ +CURL_EXTERN CURLcode curl_mime_filedata(curl_mimepart *part, + const char *filename); + +/* + * NAME curl_mime_data_cb() + * + * DESCRIPTION + * + * Set mime part data source from callback function. + */ +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); + +/* + * NAME curl_mime_subparts() + * + * DESCRIPTION + * + * Set mime part data source from subparts. + */ +CURL_EXTERN CURLcode curl_mime_subparts(curl_mimepart *part, + curl_mime *subparts); +/* + * NAME curl_mime_headers() + * + * DESCRIPTION + * + * Set mime part headers. + */ +CURL_EXTERN CURLcode curl_mime_headers(curl_mimepart *part, + struct curl_slist *headers, + int take_ownership); + +/* Old form API. */ +/* name is uppercase CURLFORM_ */ +#ifdef CFINIT +#undef CFINIT +#endif + +#ifdef CURL_ISOCPP +#define CFINIT(name) CURLFORM_ ## name +#else +/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */ +#define CFINIT(name) CURLFORM_/**/name +#endif + +typedef enum { + CFINIT(NOTHING), /********* the first one is unused ************/ + + /* */ + CFINIT(COPYNAME), + CFINIT(PTRNAME), + CFINIT(NAMELENGTH), + CFINIT(COPYCONTENTS), + CFINIT(PTRCONTENTS), + CFINIT(CONTENTSLENGTH), + CFINIT(FILECONTENT), + CFINIT(ARRAY), + CFINIT(OBSOLETE), + CFINIT(FILE), + + CFINIT(BUFFER), + CFINIT(BUFFERPTR), + CFINIT(BUFFERLENGTH), + + CFINIT(CONTENTTYPE), + CFINIT(CONTENTHEADER), + CFINIT(FILENAME), + CFINIT(END), + CFINIT(OBSOLETE2), + + CFINIT(STREAM), + CFINIT(CONTENTLEN), /* added in 7.46.0, provide a curl_off_t length */ + + CURLFORM_LASTENTRY /* the last unused */ +} CURLformoption; + +#undef CFINIT /* done */ + +/* structure to be used as parameter for CURLFORM_ARRAY */ +struct curl_forms { + CURLformoption option; + const char *value; +}; + +/* use this for multipart formpost building */ +/* Returns code for curl_formadd() + * + * Returns: + * CURL_FORMADD_OK on success + * CURL_FORMADD_MEMORY if the FormInfo allocation fails + * CURL_FORMADD_OPTION_TWICE if one option is given twice for one Form + * CURL_FORMADD_NULL if a null pointer was given for a char + * CURL_FORMADD_MEMORY if the allocation of a FormInfo struct failed + * CURL_FORMADD_UNKNOWN_OPTION if an unknown option was used + * CURL_FORMADD_INCOMPLETE if the some FormInfo is not complete (or error) + * CURL_FORMADD_MEMORY if a curl_httppost struct cannot be allocated + * CURL_FORMADD_MEMORY if some allocation for string copying failed. + * CURL_FORMADD_ILLEGAL_ARRAY if an illegal option is used in an array + * + ***************************************************************************/ +typedef enum { + CURL_FORMADD_OK, /* first, no error */ + + CURL_FORMADD_MEMORY, + CURL_FORMADD_OPTION_TWICE, + CURL_FORMADD_NULL, + CURL_FORMADD_UNKNOWN_OPTION, + CURL_FORMADD_INCOMPLETE, + CURL_FORMADD_ILLEGAL_ARRAY, + CURL_FORMADD_DISABLED, /* libcurl was built with this disabled */ + + CURL_FORMADD_LAST /* last */ +} CURLFORMcode; + +/* + * NAME curl_formadd() + * + * DESCRIPTION + * + * Pretty advanced function for building multi-part formposts. Each invoke + * adds one part that together construct a full post. Then use + * CURLOPT_HTTPPOST to send it off to libcurl. + */ +CURL_EXTERN CURLFORMcode curl_formadd(struct curl_httppost **httppost, + struct curl_httppost **last_post, + ...); + +/* + * callback function for curl_formget() + * The void *arg pointer will be the one passed as second argument to + * curl_formget(). + * The character buffer passed to it must not be freed. + * Should return the buffer length passed to it as the argument "len" on + * success. + */ +typedef size_t (*curl_formget_callback)(void *arg, const char *buf, + size_t len); + +/* + * NAME curl_formget() + * + * DESCRIPTION + * + * Serialize a curl_httppost struct built with curl_formadd(). + * Accepts a void pointer as second argument which will be passed to + * the curl_formget_callback function. + * Returns 0 on success. + */ +CURL_EXTERN int curl_formget(struct curl_httppost *form, void *arg, + curl_formget_callback append); +/* + * NAME curl_formfree() + * + * DESCRIPTION + * + * Free a multipart formpost previously built with curl_formadd(). + */ +CURL_EXTERN void curl_formfree(struct curl_httppost *form); + +/* + * NAME curl_getenv() + * + * DESCRIPTION + * + * Returns a malloc()'ed string that MUST be curl_free()ed after usage is + * complete. DEPRECATED - see lib/README.curlx + */ +CURL_EXTERN char *curl_getenv(const char *variable); + +/* + * NAME curl_version() + * + * DESCRIPTION + * + * Returns a static ascii string of the libcurl version. + */ +CURL_EXTERN char *curl_version(void); + +/* + * NAME curl_easy_escape() + * + * DESCRIPTION + * + * Escapes URL strings (converts all letters consider illegal in URLs to their + * %XX versions). This function returns a new allocated string or NULL if an + * error occurred. + */ +CURL_EXTERN char *curl_easy_escape(CURL *handle, + const char *string, + int length); + +/* the previous version: */ +CURL_EXTERN char *curl_escape(const char *string, + int length); + + +/* + * NAME curl_easy_unescape() + * + * DESCRIPTION + * + * Unescapes URL encoding in strings (converts all %XX codes to their 8bit + * versions). This function returns a new allocated string or NULL if an error + * occurred. + * Conversion Note: On non-ASCII platforms the ASCII %XX codes are + * converted into the host encoding. + */ +CURL_EXTERN char *curl_easy_unescape(CURL *handle, + const char *string, + int length, + int *outlength); + +/* the previous version */ +CURL_EXTERN char *curl_unescape(const char *string, + int length); + +/* + * NAME curl_free() + * + * DESCRIPTION + * + * Provided for de-allocation in the same translation unit that did the + * allocation. Added in libcurl 7.10 + */ +CURL_EXTERN void curl_free(void *p); + +/* + * NAME curl_global_init() + * + * DESCRIPTION + * + * curl_global_init() should be invoked exactly once for each application that + * uses libcurl and before any call of other libcurl functions. + * + * This function is not thread-safe! + */ +CURL_EXTERN CURLcode curl_global_init(long flags); + +/* + * NAME curl_global_init_mem() + * + * DESCRIPTION + * + * curl_global_init() or curl_global_init_mem() should be invoked exactly once + * for each application that uses libcurl. This function can be used to + * initialize libcurl and set user defined memory management callback + * functions. Users can implement memory management routines to check for + * memory leaks, check for mis-use of the curl library etc. User registered + * callback routines with be invoked by this library instead of the system + * memory management routines like malloc, free etc. + */ +CURL_EXTERN CURLcode curl_global_init_mem(long flags, + curl_malloc_callback m, + curl_free_callback f, + curl_realloc_callback r, + curl_strdup_callback s, + curl_calloc_callback c); + +/* + * NAME curl_global_cleanup() + * + * DESCRIPTION + * + * curl_global_cleanup() should be invoked exactly once for each application + * that uses libcurl + */ +CURL_EXTERN void curl_global_cleanup(void); + +/* linked-list structure for the CURLOPT_QUOTE option (and other) */ +struct curl_slist { + char *data; + struct curl_slist *next; +}; + +/* + * NAME curl_global_sslset() + * + * DESCRIPTION + * + * When built with multiple SSL backends, curl_global_sslset() allows to + * choose one. This function can only be called once, and it must be called + * *before* curl_global_init(). + * + * The backend can be identified by the id (e.g. CURLSSLBACKEND_OPENSSL). The + * backend can also be specified via the name parameter (passing -1 as id). + * If both id and name are specified, the name will be ignored. If neither id + * nor name are specified, the function will fail with + * CURLSSLSET_UNKNOWN_BACKEND and set the "avail" pointer to the + * NULL-terminated list of available backends. + * + * Upon success, the function returns CURLSSLSET_OK. + * + * If the specified SSL backend is not available, the function returns + * CURLSSLSET_UNKNOWN_BACKEND and sets the "avail" pointer to a NULL-terminated + * list of available SSL backends. + * + * The SSL backend can be set only once. If it has already been set, a + * subsequent attempt to change it will result in a CURLSSLSET_TOO_LATE. + */ + +typedef struct { + curl_sslbackend id; + const char *name; +} curl_ssl_backend; + +typedef enum { + CURLSSLSET_OK = 0, + CURLSSLSET_UNKNOWN_BACKEND, + CURLSSLSET_TOO_LATE, + CURLSSLSET_NO_BACKENDS /* libcurl was built without any SSL support */ +} CURLsslset; + +CURL_EXTERN CURLsslset curl_global_sslset(curl_sslbackend id, const char *name, + const curl_ssl_backend ***avail); + +/* + * NAME curl_slist_append() + * + * DESCRIPTION + * + * Appends a string to a linked list. If no list exists, it will be created + * first. Returns the new list, after appending. + */ +CURL_EXTERN struct curl_slist *curl_slist_append(struct curl_slist *, + const char *); + +/* + * NAME curl_slist_free_all() + * + * DESCRIPTION + * + * free a previously built curl_slist. + */ +CURL_EXTERN void curl_slist_free_all(struct curl_slist *); + +/* + * NAME curl_getdate() + * + * DESCRIPTION + * + * Returns the time, in seconds since 1 Jan 1970 of the time string given in + * the first argument. The time argument in the second parameter is unused + * and should be set to NULL. + */ +CURL_EXTERN time_t curl_getdate(const char *p, const time_t *unused); + +/* info about the certificate chain, only for OpenSSL, GnuTLS, Schannel, NSS + and GSKit builds. Asked for with CURLOPT_CERTINFO / CURLINFO_CERTINFO */ +struct curl_certinfo { + int num_of_certs; /* number of certificates with information */ + struct curl_slist **certinfo; /* for each index in this array, there's a + linked list with textual information in the + format "name: value" */ +}; + +/* Information about the SSL library used and the respective internal SSL + handle, which can be used to obtain further information regarding the + connection. Asked for with CURLINFO_TLS_SSL_PTR or CURLINFO_TLS_SESSION. */ +struct curl_tlssessioninfo { + curl_sslbackend backend; + void *internals; +}; + +#define CURLINFO_STRING 0x100000 +#define CURLINFO_LONG 0x200000 +#define CURLINFO_DOUBLE 0x300000 +#define CURLINFO_SLIST 0x400000 +#define CURLINFO_PTR 0x400000 /* same as SLIST */ +#define CURLINFO_SOCKET 0x500000 +#define CURLINFO_OFF_T 0x600000 +#define CURLINFO_MASK 0x0fffff +#define CURLINFO_TYPEMASK 0xf00000 + +typedef enum { + CURLINFO_NONE, /* first, never use this */ + CURLINFO_EFFECTIVE_URL = CURLINFO_STRING + 1, + CURLINFO_RESPONSE_CODE = CURLINFO_LONG + 2, + CURLINFO_TOTAL_TIME = CURLINFO_DOUBLE + 3, + CURLINFO_NAMELOOKUP_TIME = CURLINFO_DOUBLE + 4, + CURLINFO_CONNECT_TIME = CURLINFO_DOUBLE + 5, + CURLINFO_PRETRANSFER_TIME = CURLINFO_DOUBLE + 6, + CURLINFO_SIZE_UPLOAD = CURLINFO_DOUBLE + 7, + CURLINFO_SIZE_UPLOAD_T = CURLINFO_OFF_T + 7, + CURLINFO_SIZE_DOWNLOAD = CURLINFO_DOUBLE + 8, + CURLINFO_SIZE_DOWNLOAD_T = CURLINFO_OFF_T + 8, + CURLINFO_SPEED_DOWNLOAD = CURLINFO_DOUBLE + 9, + CURLINFO_SPEED_DOWNLOAD_T = CURLINFO_OFF_T + 9, + CURLINFO_SPEED_UPLOAD = 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 = CURLINFO_DOUBLE + 15, + CURLINFO_CONTENT_LENGTH_DOWNLOAD_T = CURLINFO_OFF_T + 15, + CURLINFO_CONTENT_LENGTH_UPLOAD = 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 = 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 = 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 = CURLINFO_LONG + 48, + CURLINFO_SCHEME = CURLINFO_STRING + 49, + /* Fill in new entries below here! */ + + /* Preferably these would be defined conditionally based on the + sizeof curl_off_t being 64-bits */ + 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_LASTONE = 57 +} CURLINFO; + +/* CURLINFO_RESPONSE_CODE is the new name for the option previously known as + CURLINFO_HTTP_CODE */ +#define CURLINFO_HTTP_CODE CURLINFO_RESPONSE_CODE + +typedef enum { + CURLCLOSEPOLICY_NONE, /* first, never use this */ + + CURLCLOSEPOLICY_OLDEST, + CURLCLOSEPOLICY_LEAST_RECENTLY_USED, + CURLCLOSEPOLICY_LEAST_TRAFFIC, + CURLCLOSEPOLICY_SLOWEST, + CURLCLOSEPOLICY_CALLBACK, + + CURLCLOSEPOLICY_LAST /* last, never use this */ +} curl_closepolicy; + +#define CURL_GLOBAL_SSL (1<<0) /* no purpose since since 7.57.0 */ +#define CURL_GLOBAL_WIN32 (1<<1) +#define CURL_GLOBAL_ALL (CURL_GLOBAL_SSL|CURL_GLOBAL_WIN32) +#define CURL_GLOBAL_NOTHING 0 +#define CURL_GLOBAL_DEFAULT CURL_GLOBAL_ALL +#define CURL_GLOBAL_ACK_EINTR (1<<2) + + +/***************************************************************************** + * Setup defines, protos etc for the sharing stuff. + */ + +/* Different data locks for a single share */ +typedef enum { + CURL_LOCK_DATA_NONE = 0, + /* CURL_LOCK_DATA_SHARE is used internally to say that + * the locking is just made to change the internal state of the share + * itself. + */ + CURL_LOCK_DATA_SHARE, + CURL_LOCK_DATA_COOKIE, + CURL_LOCK_DATA_DNS, + CURL_LOCK_DATA_SSL_SESSION, + CURL_LOCK_DATA_CONNECT, + CURL_LOCK_DATA_PSL, + CURL_LOCK_DATA_LAST +} curl_lock_data; + +/* Different lock access types */ +typedef enum { + CURL_LOCK_ACCESS_NONE = 0, /* unspecified action */ + CURL_LOCK_ACCESS_SHARED = 1, /* for read perhaps */ + CURL_LOCK_ACCESS_SINGLE = 2, /* for write perhaps */ + CURL_LOCK_ACCESS_LAST /* never use */ +} curl_lock_access; + +typedef void (*curl_lock_function)(CURL *handle, + curl_lock_data data, + curl_lock_access locktype, + void *userptr); +typedef void (*curl_unlock_function)(CURL *handle, + curl_lock_data data, + void *userptr); + + +typedef enum { + CURLSHE_OK, /* all is fine */ + CURLSHE_BAD_OPTION, /* 1 */ + CURLSHE_IN_USE, /* 2 */ + CURLSHE_INVALID, /* 3 */ + CURLSHE_NOMEM, /* 4 out of memory */ + CURLSHE_NOT_BUILT_IN, /* 5 feature not present in lib */ + CURLSHE_LAST /* never use */ +} CURLSHcode; + +typedef enum { + CURLSHOPT_NONE, /* don't use */ + CURLSHOPT_SHARE, /* specify a data type to share */ + CURLSHOPT_UNSHARE, /* specify which data type to stop sharing */ + CURLSHOPT_LOCKFUNC, /* pass in a 'curl_lock_function' pointer */ + CURLSHOPT_UNLOCKFUNC, /* pass in a 'curl_unlock_function' pointer */ + CURLSHOPT_USERDATA, /* pass in a user data pointer used in the lock/unlock + callback functions */ + CURLSHOPT_LAST /* never use */ +} CURLSHoption; + +CURL_EXTERN CURLSH *curl_share_init(void); +CURL_EXTERN CURLSHcode curl_share_setopt(CURLSH *, CURLSHoption option, ...); +CURL_EXTERN CURLSHcode curl_share_cleanup(CURLSH *); + +/**************************************************************************** + * Structures for querying information about the curl library at runtime. + */ + +typedef enum { + CURLVERSION_FIRST, + CURLVERSION_SECOND, + CURLVERSION_THIRD, + CURLVERSION_FOURTH, + CURLVERSION_FIFTH, + CURLVERSION_SIXTH, + CURLVERSION_LAST /* never actually use this */ +} CURLversion; + +/* The 'CURLVERSION_NOW' is the symbolic name meant to be used by + basically all programs ever that want to get version information. It is + meant to be a built-in version number for what kind of struct the caller + expects. If the struct ever changes, we redefine the NOW to another enum + from above. */ +#define CURLVERSION_NOW CURLVERSION_SIXTH + +typedef struct { + CURLversion age; /* age of the returned struct */ + const char *version; /* LIBCURL_VERSION */ + unsigned int version_num; /* LIBCURL_VERSION_NUM */ + const char *host; /* OS/host/cpu/machine when configured */ + int features; /* bitmask, see defines below */ + const char *ssl_version; /* human readable string */ + long ssl_version_num; /* not used anymore, always 0 */ + const char *libz_version; /* human readable string */ + /* protocols is terminated by an entry with a NULL protoname */ + const char * const *protocols; + + /* The fields below this were added in CURLVERSION_SECOND */ + const char *ares; + int ares_num; + + /* This field was added in CURLVERSION_THIRD */ + const char *libidn; + + /* These field were added in CURLVERSION_FOURTH */ + + /* Same as '_libiconv_version' if built with HAVE_ICONV */ + int iconv_ver_num; + + const char *libssh_version; /* human readable string */ + + /* These fields were added in CURLVERSION_FIFTH */ + unsigned int brotli_ver_num; /* Numeric Brotli version + (MAJOR << 24) | (MINOR << 12) | PATCH */ + const char *brotli_version; /* human readable string. */ + + /* These fields were added in CURLVERSION_SIXTH */ + unsigned int nghttp2_ver_num; /* Numeric nghttp2 version + (MAJOR << 16) | (MINOR << 8) | PATCH */ + const char *nghttp2_version; /* human readable string. */ + const char *quic_version; /* human readable quic (+ HTTP/3) library + + version or NULL */ +} curl_version_info_data; + +#define CURL_VERSION_IPV6 (1<<0) /* IPv6-enabled */ +#define CURL_VERSION_KERBEROS4 (1<<1) /* Kerberos V4 auth is supported + (deprecated) */ +#define CURL_VERSION_SSL (1<<2) /* SSL options are present */ +#define CURL_VERSION_LIBZ (1<<3) /* libz features are present */ +#define CURL_VERSION_NTLM (1<<4) /* NTLM auth is supported */ +#define CURL_VERSION_GSSNEGOTIATE (1<<5) /* Negotiate auth is supported + (deprecated) */ +#define CURL_VERSION_DEBUG (1<<6) /* Built with debug capabilities */ +#define CURL_VERSION_ASYNCHDNS (1<<7) /* Asynchronous DNS resolves */ +#define CURL_VERSION_SPNEGO (1<<8) /* SPNEGO auth is supported */ +#define CURL_VERSION_LARGEFILE (1<<9) /* Supports files larger than 2GB */ +#define CURL_VERSION_IDN (1<<10) /* Internationized Domain Names are + supported */ +#define CURL_VERSION_SSPI (1<<11) /* Built against Windows SSPI */ +#define CURL_VERSION_CONV (1<<12) /* Character conversions supported */ +#define CURL_VERSION_CURLDEBUG (1<<13) /* Debug memory tracking supported */ +#define CURL_VERSION_TLSAUTH_SRP (1<<14) /* TLS-SRP auth is supported */ +#define CURL_VERSION_NTLM_WB (1<<15) /* NTLM delegation to winbind helper + is supported */ +#define CURL_VERSION_HTTP2 (1<<16) /* HTTP2 support built-in */ +#define CURL_VERSION_GSSAPI (1<<17) /* Built against a GSS-API library */ +#define CURL_VERSION_KERBEROS5 (1<<18) /* Kerberos V5 auth is supported */ +#define CURL_VERSION_UNIX_SOCKETS (1<<19) /* Unix domain sockets support */ +#define CURL_VERSION_PSL (1<<20) /* Mozilla's Public Suffix List, used + for cookie domain verification */ +#define CURL_VERSION_HTTPS_PROXY (1<<21) /* HTTPS-proxy support built-in */ +#define CURL_VERSION_MULTI_SSL (1<<22) /* Multiple SSL backends available */ +#define CURL_VERSION_BROTLI (1<<23) /* Brotli features are present. */ +#define CURL_VERSION_ALTSVC (1<<24) /* Alt-Svc handling built-in */ +#define CURL_VERSION_HTTP3 (1<<25) /* HTTP3 support built-in */ + + /* + * NAME curl_version_info() + * + * DESCRIPTION + * + * This function returns a pointer to a static copy of the version info + * struct. See above. + */ +CURL_EXTERN curl_version_info_data *curl_version_info(CURLversion); + +/* + * NAME curl_easy_strerror() + * + * DESCRIPTION + * + * The curl_easy_strerror function may be used to turn a CURLcode value + * into the equivalent human readable error string. This is useful + * for printing meaningful error messages. + */ +CURL_EXTERN const char *curl_easy_strerror(CURLcode); + +/* + * NAME curl_share_strerror() + * + * DESCRIPTION + * + * The curl_share_strerror function may be used to turn a CURLSHcode value + * into the equivalent human readable error string. This is useful + * for printing meaningful error messages. + */ +CURL_EXTERN const char *curl_share_strerror(CURLSHcode); + +/* + * NAME curl_easy_pause() + * + * DESCRIPTION + * + * The curl_easy_pause function pauses or unpauses transfers. Select the new + * state by setting the bitmask, use the convenience defines below. + * + */ +CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask); + +#define CURLPAUSE_RECV (1<<0) +#define CURLPAUSE_RECV_CONT (0) + +#define CURLPAUSE_SEND (1<<2) +#define CURLPAUSE_SEND_CONT (0) + +#define CURLPAUSE_ALL (CURLPAUSE_RECV|CURLPAUSE_SEND) +#define CURLPAUSE_CONT (CURLPAUSE_RECV_CONT|CURLPAUSE_SEND_CONT) + +#ifdef __cplusplus +} +#endif + +/* unfortunately, the easy.h and multi.h include files need options and info + stuff before they can be included! */ +#include "easy.h" /* nothing in curl is fun without the easy stuff */ +#include "multi.h" +#include "urlapi.h" + +/* the typechecker doesn't work in C++ (yet) */ +#if defined(__GNUC__) && defined(__GNUC_MINOR__) && \ + ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \ + !defined(__cplusplus) && !defined(CURL_DISABLE_TYPECHECK) +#include "typecheck-gcc.h" +#else +#if defined(__STDC__) && (__STDC__ >= 1) +/* This preprocessor magic that replaces a call with the exact same call is + only done to make sure application authors pass exactly three arguments + to these functions. */ +#define curl_easy_setopt(handle,opt,param) curl_easy_setopt(handle,opt,param) +#define curl_easy_getinfo(handle,info,arg) curl_easy_getinfo(handle,info,arg) +#define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param) +#define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param) +#endif /* __STDC__ >= 1 */ +#endif /* gcc >= 4.3 && !__cplusplus */ + +#endif /* CURLINC_CURL_H */ diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/curlver.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/curlver.h new file mode 100644 index 0000000..06702a8 --- /dev/null +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/curlver.h @@ -0,0 +1,77 @@ +#ifndef CURLINC_CURLVER_H +#define CURLINC_CURLVER_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +/* This header file contains nothing but libcurl version info, generated by + a script at release-time. This was made its own header file in 7.11.2 */ + +/* This is the global package copyright */ +#define LIBCURL_COPYRIGHT "1996 - 2019 Daniel Stenberg, ." + +/* This is the version number of the libcurl package from which this header + file origins: */ +#define LIBCURL_VERSION "7.66.1-DEV" + +/* The numeric version number is also available "in parts" by using these + defines: */ +#define LIBCURL_VERSION_MAJOR 7 +#define LIBCURL_VERSION_MINOR 66 +#define LIBCURL_VERSION_PATCH 1 + +/* This is the numeric version of the libcurl version number, meant for easier + parsing and comparions by programs. The LIBCURL_VERSION_NUM define will + always follow this syntax: + + 0xXXYYZZ + + Where XX, YY and ZZ are the main version, release and patch numbers in + hexadecimal (using 8 bits each). All three numbers are always represented + using two digits. 1.2 would appear as "0x010200" while version 9.11.7 + appears as "0x090b07". + + This 6-digit (24 bits) hexadecimal number does not show pre-release number, + and it is always a greater number in a more recent release. It makes + comparisons with greater than and less than work. + + Note: This define is the full hex number and _does not_ use the + CURL_VERSION_BITS() macro since curl's own configure script greps for it + and needs it to contain the full number. +*/ +#define LIBCURL_VERSION_NUM 0x074201 + +/* + * This is the date and time when the full source package was created. The + * timestamp is not stored in git, as the timestamp is properly set in the + * tarballs by the maketgz script. + * + * The format of the date follows this template: + * + * "2007-11-23" + */ +#define LIBCURL_TIMESTAMP "[unreleased]" + +#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|(z)) +#define CURL_AT_LEAST_VERSION(x,y,z) \ + (LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z)) + +#endif /* CURLINC_CURLVER_H */ diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/easy.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/easy.h new file mode 100644 index 0000000..592f5d3 --- /dev/null +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/easy.h @@ -0,0 +1,112 @@ +#ifndef CURLINC_EASY_H +#define CURLINC_EASY_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ +#ifdef __cplusplus +extern "C" { +#endif + +CURL_EXTERN CURL *curl_easy_init(void); +CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...); +CURL_EXTERN CURLcode curl_easy_perform(CURL *curl); +CURL_EXTERN void curl_easy_cleanup(CURL *curl); + +/* + * NAME curl_easy_getinfo() + * + * DESCRIPTION + * + * Request internal information from the curl session with this function. The + * third argument MUST be a pointer to a long, a pointer to a char * or a + * pointer to a double (as the documentation describes elsewhere). The data + * pointed to will be filled in accordingly and can be relied upon only if the + * function returns CURLE_OK. This function is intended to get used *AFTER* a + * performed transfer, all results from this function are undefined until the + * transfer is completed. + */ +CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...); + + +/* + * NAME curl_easy_duphandle() + * + * DESCRIPTION + * + * Creates a new curl session handle with the same options set for the handle + * passed in. Duplicating a handle could only be a matter of cloning data and + * options, internal state info and things like persistent connections cannot + * be transferred. It is useful in multithreaded applications when you can run + * curl_easy_duphandle() for each new thread to avoid a series of identical + * curl_easy_setopt() invokes in every thread. + */ +CURL_EXTERN CURL *curl_easy_duphandle(CURL *curl); + +/* + * NAME curl_easy_reset() + * + * DESCRIPTION + * + * Re-initializes a CURL handle to the default values. This puts back the + * handle to the same state as it was in when it was just created. + * + * It does keep: live connections, the Session ID cache, the DNS cache and the + * cookies. + */ +CURL_EXTERN void curl_easy_reset(CURL *curl); + +/* + * NAME curl_easy_recv() + * + * DESCRIPTION + * + * Receives data from the connected socket. Use after successful + * curl_easy_perform() with CURLOPT_CONNECT_ONLY option. + */ +CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen, + size_t *n); + +/* + * NAME curl_easy_send() + * + * DESCRIPTION + * + * Sends data over the connected socket. Use after successful + * curl_easy_perform() with CURLOPT_CONNECT_ONLY option. + */ +CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer, + size_t buflen, size_t *n); + + +/* + * NAME curl_easy_upkeep() + * + * DESCRIPTION + * + * Performs connection upkeep for the given session handle. + */ +CURL_EXTERN CURLcode curl_easy_upkeep(CURL *curl); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/mprintf.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/mprintf.h new file mode 100644 index 0000000..f615ed7 --- /dev/null +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/mprintf.h @@ -0,0 +1,50 @@ +#ifndef CURLINC_MPRINTF_H +#define CURLINC_MPRINTF_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +#include +#include /* needed for FILE */ +#include "curl.h" /* for CURL_EXTERN */ + +#ifdef __cplusplus +extern "C" { +#endif + +CURL_EXTERN int curl_mprintf(const char *format, ...); +CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...); +CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...); +CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength, + const char *format, ...); +CURL_EXTERN int curl_mvprintf(const char *format, va_list args); +CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args); +CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args); +CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength, + const char *format, va_list args); +CURL_EXTERN char *curl_maprintf(const char *format, ...); +CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args); + +#ifdef __cplusplus +} +#endif + +#endif /* CURLINC_MPRINTF_H */ diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/multi.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/multi.h new file mode 100644 index 0000000..02df0f3 --- /dev/null +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/multi.h @@ -0,0 +1,455 @@ +#ifndef CURLINC_MULTI_H +#define CURLINC_MULTI_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ +/* + This is an "external" header file. Don't give away any internals here! + + GOALS + + o Enable a "pull" interface. The application that uses libcurl decides where + and when to ask libcurl to get/send data. + + o Enable multiple simultaneous transfers in the same thread without making it + complicated for the application. + + o Enable the application to select() on its own file descriptors and curl's + file descriptors simultaneous easily. + +*/ + +/* + * This header file should not really need to include "curl.h" since curl.h + * itself includes this file and we expect user applications to do #include + * without the need for especially including multi.h. + * + * For some reason we added this include here at one point, and rather than to + * break existing (wrongly written) libcurl applications, we leave it as-is + * but with this warning attached. + */ +#include "curl.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(BUILDING_LIBCURL) || defined(CURL_STRICTER) +typedef struct Curl_multi CURLM; +#else +typedef void CURLM; +#endif + +typedef enum { + CURLM_CALL_MULTI_PERFORM = -1, /* please call curl_multi_perform() or + curl_multi_socket*() soon */ + CURLM_OK, + CURLM_BAD_HANDLE, /* the passed-in handle is not a valid CURLM handle */ + CURLM_BAD_EASY_HANDLE, /* an easy handle was not good/valid */ + CURLM_OUT_OF_MEMORY, /* if you ever get this, you're in deep sh*t */ + CURLM_INTERNAL_ERROR, /* this is a libcurl bug */ + CURLM_BAD_SOCKET, /* the passed in socket argument did not match */ + CURLM_UNKNOWN_OPTION, /* curl_multi_setopt() with unsupported option */ + CURLM_ADDED_ALREADY, /* an easy handle already added to a multi handle was + attempted to get added - again */ + CURLM_RECURSIVE_API_CALL, /* an api function was called from inside a + callback */ + CURLM_LAST +} CURLMcode; + +/* just to make code nicer when using curl_multi_socket() you can now check + for CURLM_CALL_MULTI_SOCKET too in the same style it works for + curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */ +#define CURLM_CALL_MULTI_SOCKET CURLM_CALL_MULTI_PERFORM + +/* bitmask bits for CURLMOPT_PIPELINING */ +#define CURLPIPE_NOTHING 0L +#define CURLPIPE_HTTP1 1L +#define CURLPIPE_MULTIPLEX 2L + +typedef enum { + CURLMSG_NONE, /* first, not used */ + CURLMSG_DONE, /* This easy handle has completed. 'result' contains + the CURLcode of the transfer */ + CURLMSG_LAST /* last, not used */ +} CURLMSG; + +struct CURLMsg { + CURLMSG msg; /* what this message means */ + CURL *easy_handle; /* the handle it concerns */ + union { + void *whatever; /* message-specific data */ + CURLcode result; /* return code for transfer */ + } data; +}; +typedef struct CURLMsg CURLMsg; + +/* Based on poll(2) structure and values. + * We don't use pollfd and POLL* constants explicitly + * to cover platforms without poll(). */ +#define CURL_WAIT_POLLIN 0x0001 +#define CURL_WAIT_POLLPRI 0x0002 +#define CURL_WAIT_POLLOUT 0x0004 + +struct curl_waitfd { + curl_socket_t fd; + short events; + short revents; /* not supported yet */ +}; + +/* + * Name: curl_multi_init() + * + * Desc: inititalize multi-style curl usage + * + * Returns: a new CURLM handle to use in all 'curl_multi' functions. + */ +CURL_EXTERN CURLM *curl_multi_init(void); + +/* + * Name: curl_multi_add_handle() + * + * Desc: add a standard curl handle to the multi stack + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_add_handle(CURLM *multi_handle, + CURL *curl_handle); + + /* + * Name: curl_multi_remove_handle() + * + * Desc: removes a curl handle from the multi stack again + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle, + CURL *curl_handle); + + /* + * Name: curl_multi_fdset() + * + * Desc: Ask curl for its fd_set sets. The app can use these to select() or + * poll() on. We want curl_multi_perform() called as soon as one of + * them are ready. + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle, + fd_set *read_fd_set, + fd_set *write_fd_set, + fd_set *exc_fd_set, + int *max_fd); + +/* + * Name: curl_multi_wait() + * + * Desc: Poll on all fds within a CURLM set as well as any + * additional fds passed to the function. + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_wait(CURLM *multi_handle, + struct curl_waitfd extra_fds[], + unsigned int extra_nfds, + int timeout_ms, + int *ret); + +/* + * Name: curl_multi_poll() + * + * Desc: Poll on all fds within a CURLM set as well as any + * additional fds passed to the function. + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_poll(CURLM *multi_handle, + struct curl_waitfd extra_fds[], + unsigned int extra_nfds, + int timeout_ms, + int *ret); + + /* + * Name: curl_multi_perform() + * + * Desc: When the app thinks there's data available for curl it calls this + * function to read/write whatever there is right now. This returns + * as soon as the reads and writes are done. This function does not + * require that there actually is data available for reading or that + * data can be written, it can be called just in case. It returns + * the number of handles that still transfer data in the second + * argument's integer-pointer. + * + * Returns: CURLMcode type, general multi error code. *NOTE* that this only + * returns errors etc regarding the whole multi stack. There might + * still have occurred problems on individual transfers even when + * this returns OK. + */ +CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle, + int *running_handles); + + /* + * Name: curl_multi_cleanup() + * + * Desc: Cleans up and removes a whole multi stack. It does not free or + * touch any individual easy handles in any way. We need to define + * in what state those handles will be if this function is called + * in the middle of a transfer. + * + * Returns: CURLMcode type, general multi error code. + */ +CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle); + +/* + * Name: curl_multi_info_read() + * + * Desc: Ask the multi handle if there's any messages/informationals from + * the individual transfers. Messages include informationals such as + * error code from the transfer or just the fact that a transfer is + * completed. More details on these should be written down as well. + * + * Repeated calls to this function will return a new struct each + * time, until a special "end of msgs" struct is returned as a signal + * that there is no more to get at this point. + * + * The data the returned pointer points to will not survive calling + * curl_multi_cleanup(). + * + * The 'CURLMsg' struct is meant to be very simple and only contain + * very basic information. If more involved information is wanted, + * we will provide the particular "transfer handle" in that struct + * and that should/could/would be used in subsequent + * curl_easy_getinfo() calls (or similar). The point being that we + * must never expose complex structs to applications, as then we'll + * undoubtably get backwards compatibility problems in the future. + * + * Returns: A pointer to a filled-in struct, or NULL if it failed or ran out + * of structs. It also writes the number of messages left in the + * queue (after this read) in the integer the second argument points + * to. + */ +CURL_EXTERN CURLMsg *curl_multi_info_read(CURLM *multi_handle, + int *msgs_in_queue); + +/* + * Name: curl_multi_strerror() + * + * Desc: The curl_multi_strerror function may be used to turn a CURLMcode + * value into the equivalent human readable error string. This is + * useful for printing meaningful error messages. + * + * Returns: A pointer to a zero-terminated error message. + */ +CURL_EXTERN const char *curl_multi_strerror(CURLMcode); + +/* + * Name: curl_multi_socket() and + * curl_multi_socket_all() + * + * Desc: An alternative version of curl_multi_perform() that allows the + * application to pass in one of the file descriptors that have been + * detected to have "action" on them and let libcurl perform. + * See man page for details. + */ +#define CURL_POLL_NONE 0 +#define CURL_POLL_IN 1 +#define CURL_POLL_OUT 2 +#define CURL_POLL_INOUT 3 +#define CURL_POLL_REMOVE 4 + +#define CURL_SOCKET_TIMEOUT CURL_SOCKET_BAD + +#define CURL_CSELECT_IN 0x01 +#define CURL_CSELECT_OUT 0x02 +#define CURL_CSELECT_ERR 0x04 + +typedef int (*curl_socket_callback)(CURL *easy, /* easy handle */ + curl_socket_t s, /* socket */ + int what, /* see above */ + void *userp, /* private callback + pointer */ + void *socketp); /* private socket + pointer */ +/* + * Name: curl_multi_timer_callback + * + * Desc: Called by libcurl whenever the library detects a change in the + * maximum number of milliseconds the app is allowed to wait before + * curl_multi_socket() or curl_multi_perform() must be called + * (to allow libcurl's timed events to take place). + * + * Returns: The callback should return zero. + */ +typedef int (*curl_multi_timer_callback)(CURLM *multi, /* multi handle */ + long timeout_ms, /* see above */ + void *userp); /* private callback + pointer */ + +CURL_EXTERN CURLMcode curl_multi_socket(CURLM *multi_handle, curl_socket_t s, + int *running_handles); + +CURL_EXTERN CURLMcode curl_multi_socket_action(CURLM *multi_handle, + curl_socket_t s, + int ev_bitmask, + int *running_handles); + +CURL_EXTERN CURLMcode curl_multi_socket_all(CURLM *multi_handle, + int *running_handles); + +#ifndef CURL_ALLOW_OLD_MULTI_SOCKET +/* This macro below was added in 7.16.3 to push users who recompile to use + the new curl_multi_socket_action() instead of the old curl_multi_socket() +*/ +#define curl_multi_socket(x,y,z) curl_multi_socket_action(x,y,0,z) +#endif + +/* + * Name: curl_multi_timeout() + * + * Desc: Returns the maximum number of milliseconds the app is allowed to + * wait before curl_multi_socket() or curl_multi_perform() must be + * called (to allow libcurl's timed events to take place). + * + * Returns: CURLM error code. + */ +CURL_EXTERN CURLMcode curl_multi_timeout(CURLM *multi_handle, + long *milliseconds); + +#undef CINIT /* re-using the same name as in curl.h */ + +#ifdef CURL_ISOCPP +#define CINIT(name,type,num) CURLMOPT_ ## name = CURLOPTTYPE_ ## type + num +#else +/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */ +#define LONG CURLOPTTYPE_LONG +#define OBJECTPOINT CURLOPTTYPE_OBJECTPOINT +#define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT +#define OFF_T CURLOPTTYPE_OFF_T +#define CINIT(name,type,number) CURLMOPT_/**/name = type + number +#endif + +typedef enum { + /* This is the socket callback function pointer */ + CINIT(SOCKETFUNCTION, FUNCTIONPOINT, 1), + + /* This is the argument passed to the socket callback */ + CINIT(SOCKETDATA, OBJECTPOINT, 2), + + /* set to 1 to enable pipelining for this multi handle */ + CINIT(PIPELINING, LONG, 3), + + /* This is the timer callback function pointer */ + CINIT(TIMERFUNCTION, FUNCTIONPOINT, 4), + + /* This is the argument passed to the timer callback */ + CINIT(TIMERDATA, OBJECTPOINT, 5), + + /* maximum number of entries in the connection cache */ + CINIT(MAXCONNECTS, LONG, 6), + + /* maximum number of (pipelining) connections to one host */ + CINIT(MAX_HOST_CONNECTIONS, LONG, 7), + + /* maximum number of requests in a pipeline */ + CINIT(MAX_PIPELINE_LENGTH, LONG, 8), + + /* a connection with a content-length longer than this + will not be considered for pipelining */ + CINIT(CONTENT_LENGTH_PENALTY_SIZE, OFF_T, 9), + + /* a connection with a chunk length longer than this + will not be considered for pipelining */ + CINIT(CHUNK_LENGTH_PENALTY_SIZE, OFF_T, 10), + + /* a list of site names(+port) that are blacklisted from + pipelining */ + CINIT(PIPELINING_SITE_BL, OBJECTPOINT, 11), + + /* a list of server types that are blacklisted from + pipelining */ + CINIT(PIPELINING_SERVER_BL, OBJECTPOINT, 12), + + /* maximum number of open connections in total */ + CINIT(MAX_TOTAL_CONNECTIONS, LONG, 13), + + /* This is the server push callback function pointer */ + CINIT(PUSHFUNCTION, FUNCTIONPOINT, 14), + + /* This is the argument passed to the server push callback */ + CINIT(PUSHDATA, OBJECTPOINT, 15), + + CURLMOPT_LASTENTRY /* the last unused */ +} CURLMoption; + + +/* + * Name: curl_multi_setopt() + * + * Desc: Sets options for the multi handle. + * + * Returns: CURLM error code. + */ +CURL_EXTERN CURLMcode curl_multi_setopt(CURLM *multi_handle, + CURLMoption option, ...); + + +/* + * Name: curl_multi_assign() + * + * Desc: This function sets an association in the multi handle between the + * given socket and a private pointer of the application. This is + * (only) useful for curl_multi_socket uses. + * + * Returns: CURLM error code. + */ +CURL_EXTERN CURLMcode curl_multi_assign(CURLM *multi_handle, + curl_socket_t sockfd, void *sockp); + + +/* + * Name: curl_push_callback + * + * Desc: This callback gets called when a new stream is being pushed by the + * server. It approves or denies the new stream. + * + * Returns: CURL_PUSH_OK or CURL_PUSH_DENY. + */ +#define CURL_PUSH_OK 0 +#define CURL_PUSH_DENY 1 + +struct curl_pushheaders; /* forward declaration only */ + +CURL_EXTERN char *curl_pushheader_bynum(struct curl_pushheaders *h, + size_t num); +CURL_EXTERN char *curl_pushheader_byname(struct curl_pushheaders *h, + const char *name); + +typedef int (*curl_push_callback)(CURL *parent, + CURL *easy, + size_t num_headers, + struct curl_pushheaders *headers, + void *userp); + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif + +#endif diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/stdcheaders.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/stdcheaders.h new file mode 100644 index 0000000..a6bdc1a --- /dev/null +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/stdcheaders.h @@ -0,0 +1,33 @@ +#ifndef CURLINC_STDCHEADERS_H +#define CURLINC_STDCHEADERS_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +#include + +size_t fread(void *, size_t, size_t, FILE *); +size_t fwrite(const void *, size_t, size_t, FILE *); + +int strcasecmp(const char *, const char *); +int strncasecmp(const char *, const char *, size_t); + +#endif /* CURLINC_STDCHEADERS_H */ diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/system.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/system.h new file mode 100644 index 0000000..cd37c2b --- /dev/null +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/system.h @@ -0,0 +1,493 @@ +#ifndef CURLINC_SYSTEM_H +#define CURLINC_SYSTEM_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +/* + * Try to keep one section per platform, compiler and architecture, otherwise, + * if an existing section is reused for a different one and later on the + * original is adjusted, probably the piggybacking one can be adversely + * changed. + * + * In order to differentiate between platforms/compilers/architectures use + * only compiler built in predefined preprocessor symbols. + * + * curl_off_t + * ---------- + * + * For any given platform/compiler curl_off_t must be typedef'ed to a 64-bit + * wide signed integral data type. The width of this data type must remain + * constant and independent of any possible large file support settings. + * + * As an exception to the above, curl_off_t shall be typedef'ed to a 32-bit + * wide signed integral data type if there is no 64-bit type. + * + * As a general rule, curl_off_t shall not be mapped to off_t. This rule shall + * only be violated if off_t is the only 64-bit data type available and the + * size of off_t is independent of large file support settings. Keep your + * build on the safe side avoiding an off_t gating. If you have a 64-bit + * off_t then take for sure that another 64-bit data type exists, dig deeper + * and you will find it. + * + */ + +#if defined(__DJGPP__) || defined(__GO32__) +# if defined(__DJGPP__) && (__DJGPP__ > 1) +# define 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(__WATCOMC__) +# if defined(__386__) +# 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(__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__) +# 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(__SYMBIAN32__) +# if defined(__EABI__) /* Treat all ARM compilers equally */ +# 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(__CW32__) +# pragma longlong on +# 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(__VC32__) +# define CURL_TYPEOF_CURL_OFF_T __int64 +# 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(__MWERKS__) +# 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 + +#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__) +# define CURL_TYPEOF_CURL_OFF_T long long +# define CURL_FORMAT_CURL_OFF_T "I64d" +# define CURL_FORMAT_CURL_OFF_TU "I64u" +# 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_WS2TCPIP_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__) +# if defined(__ILEC400__) +# 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 +# endif + +#elif defined(__MVS__) +# 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(__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__) /* also known as tcc */ + +# 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) /* Oracle Solaris Studio */ +# 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__) /* IBM xlc compiler */ +# 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 + +/* ===================================== */ +/* KEEP MSVC THE PENULTIMATE ENTRY */ +/* ===================================== */ + +#elif defined(_MSC_VER) +# if (_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 + +/* ===================================== */ +/* KEEP GENERIC GCC THE LAST ENTRY */ +/* ===================================== */ + +#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(__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 +/* generic "safe guess" on old 32 bit style */ +# 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 +/* AIX needs */ +#define CURL_PULL_SYS_POLL_H +#endif + + +/* CURL_PULL_WS2TCPIP_H is defined above when inclusion of header file */ +/* ws2tcpip.h is required here to properly make type definitions below. */ +#ifdef CURL_PULL_WS2TCPIP_H +# include +# include +# include +#endif + +/* CURL_PULL_SYS_TYPES_H is defined above when inclusion of header file */ +/* sys/types.h is required here to properly make type definitions below. */ +#ifdef CURL_PULL_SYS_TYPES_H +# include +#endif + +/* CURL_PULL_SYS_SOCKET_H is defined above when inclusion of header file */ +/* sys/socket.h is required here to properly make type definitions below. */ +#ifdef CURL_PULL_SYS_SOCKET_H +# include +#endif + +/* CURL_PULL_SYS_POLL_H is defined above when inclusion of header file */ +/* sys/poll.h is required here to properly make type definitions below. */ +#ifdef CURL_PULL_SYS_POLL_H +# include +#endif + +/* Data type definition of curl_socklen_t. */ +#ifdef CURL_TYPEOF_CURL_SOCKLEN_T + typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t; +#endif + +/* Data type definition of curl_off_t. */ + +#ifdef CURL_TYPEOF_CURL_OFF_T + typedef CURL_TYPEOF_CURL_OFF_T curl_off_t; +#endif + +/* + * CURL_ISOCPP and CURL_OFF_T_C definitions are done here in order to allow + * these to be visible and exported by the external libcurl interface API, + * while also making them visible to the library internals, simply including + * curl_setup.h, without actually needing to include curl.h internally. + * If some day this section would grow big enough, all this should be moved + * to its own header file. + */ + +/* + * Figure out if we can use the ## preprocessor operator, which is supported + * by ISO/ANSI C and C++. Some compilers support it without setting __STDC__ + * or __cplusplus so we need to carefully check for them too. + */ + +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \ + defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \ + defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \ + defined(__ILEC400__) + /* This compiler is believed to have an ISO compatible preprocessor */ +#define CURL_ISOCPP +#else + /* This compiler is believed NOT to have an ISO compatible preprocessor */ +#undef CURL_ISOCPP +#endif + +/* + * Macros for minimum-width signed and unsigned curl_off_t integer constants. + */ + +#if defined(__BORLANDC__) && (__BORLANDC__ == 0x0551) +# define 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) Val/**/Suffix +# 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 /* CURLINC_SYSTEM_H */ diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/typecheck-gcc.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/typecheck-gcc.h new file mode 100644 index 0000000..03c84fc --- /dev/null +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/typecheck-gcc.h @@ -0,0 +1,699 @@ +#ifndef CURLINC_TYPECHECK_GCC_H +#define CURLINC_TYPECHECK_GCC_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2019, Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +/* wraps curl_easy_setopt() with typechecking */ + +/* To add a new kind of warning, add an + * if(curlcheck_sometype_option(_curl_opt)) + * if(!curlcheck_sometype(value)) + * _curl_easy_setopt_err_sometype(); + * block and define curlcheck_sometype_option, curlcheck_sometype and + * _curl_easy_setopt_err_sometype below + * + * NOTE: We use two nested 'if' statements here instead of the && operator, in + * order to work around gcc bug #32061. It affects only gcc 4.3.x/4.4.x + * when compiling with -Wlogical-op. + * + * To add an option that uses the same type as an existing option, you'll just + * need to extend the appropriate _curl_*_option macro + */ +#define curl_easy_setopt(handle, option, value) \ + __extension__({ \ + __typeof__(option) _curl_opt = option; \ + if(__builtin_constant_p(_curl_opt)) { \ + if(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); \ + }) + +/* wraps curl_easy_getinfo() with typechecking */ +#define curl_easy_getinfo(handle, info, arg) \ + __extension__({ \ + __typeof__(info) _curl_info = info; \ + if(__builtin_constant_p(_curl_info)) { \ + 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); \ + }) + +/* + * For now, just make sure that the functions are called with three arguments + */ +#define curl_share_setopt(share,opt,param) curl_share_setopt(share,opt,param) +#define curl_multi_setopt(handle,opt,param) curl_multi_setopt(handle,opt,param) + + +/* the actual warnings, triggered by calling the _curl_easy_setopt_err* + * functions */ + +/* To define a new warning, use _CURL_WARNING(identifier, "message") */ +#define 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") + +/* groups of curl_easy_setops options that take the same type of argument */ + +/* To add a new option to one of the groups, just add + * (option) == CURLOPT_SOMETHING + * to the or-expression. If the option takes a long or curl_off_t, you don't + * have to do anything + */ + +/* evaluates to true if option takes a long argument */ +#define curlcheck_long_option(option) \ + (0 < (option) && (option) < CURLOPTTYPE_OBJECTPOINT) + +#define curlcheck_off_t_option(option) \ + ((option) > CURLOPTTYPE_OFF_T) + +/* evaluates to true if option takes a char* argument */ +#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_EGDSOCKET || \ + (option) == CURLOPT_FTPPORT || \ + (option) == CURLOPT_FTP_ACCOUNT || \ + (option) == CURLOPT_FTP_ALTERNATIVE_TO_USER || \ + (option) == CURLOPT_INTERFACE || \ + (option) == CURLOPT_ISSUERCERT || \ + (option) == CURLOPT_KEYPASSWD || \ + (option) == CURLOPT_KRBLEVEL || \ + (option) == CURLOPT_LOGIN_OPTIONS || \ + (option) == CURLOPT_MAIL_AUTH || \ + (option) == CURLOPT_MAIL_FROM || \ + (option) == CURLOPT_NETRC_FILE || \ + (option) == CURLOPT_NOPROXY || \ + (option) == CURLOPT_PASSWORD || \ + (option) == CURLOPT_PINNEDPUBLICKEY || \ + (option) == CURLOPT_PRE_PROXY || \ + (option) == CURLOPT_PROXY || \ + (option) == CURLOPT_PROXYPASSWORD || \ + (option) == CURLOPT_PROXYUSERNAME || \ + (option) == CURLOPT_PROXYUSERPWD || \ + (option) == CURLOPT_PROXY_CAINFO || \ + (option) == CURLOPT_PROXY_CAPATH || \ + (option) == CURLOPT_PROXY_CRLFILE || \ + (option) == CURLOPT_PROXY_KEYPASSWD || \ + (option) == CURLOPT_PROXY_PINNEDPUBLICKEY || \ + (option) == CURLOPT_PROXY_SERVICE_NAME || \ + (option) == CURLOPT_PROXY_SSLCERT || \ + (option) == CURLOPT_PROXY_SSLCERTTYPE || \ + (option) == CURLOPT_PROXY_SSLKEY || \ + (option) == CURLOPT_PROXY_SSLKEYTYPE || \ + (option) == CURLOPT_PROXY_SSL_CIPHER_LIST || \ + (option) == CURLOPT_PROXY_TLS13_CIPHERS || \ + (option) == CURLOPT_PROXY_TLSAUTH_PASSWORD || \ + (option) == CURLOPT_PROXY_TLSAUTH_TYPE || \ + (option) == CURLOPT_PROXY_TLSAUTH_USERNAME || \ + (option) == CURLOPT_RANDOM_FILE || \ + (option) == CURLOPT_RANGE || \ + (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_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_USERPWD || \ + (option) == CURLOPT_XOAUTH2_BEARER || \ + 0) + +/* evaluates to true if option takes a curl_write_callback argument */ +#define curlcheck_write_cb_option(option) \ + ((option) == CURLOPT_HEADERFUNCTION || \ + (option) == CURLOPT_WRITEFUNCTION) + +/* evaluates to true if option takes a curl_conv_callback argument */ +#define curlcheck_conv_cb_option(option) \ + ((option) == CURLOPT_CONV_TO_NETWORK_FUNCTION || \ + (option) == CURLOPT_CONV_FROM_NETWORK_FUNCTION || \ + (option) == CURLOPT_CONV_FROM_UTF8_FUNCTION) + +/* evaluates to true if option takes a data argument to pass to a callback */ +#define curlcheck_cb_data_option(option) \ + ((option) == CURLOPT_CHUNK_DATA || \ + (option) == CURLOPT_CLOSESOCKETDATA || \ + (option) == CURLOPT_DEBUGDATA || \ + (option) == CURLOPT_FNMATCH_DATA || \ + (option) == CURLOPT_HEADERDATA || \ + (option) == CURLOPT_INTERLEAVEDATA || \ + (option) == CURLOPT_IOCTLDATA || \ + (option) == CURLOPT_OPENSOCKETDATA || \ + (option) == CURLOPT_PRIVATE || \ + (option) == CURLOPT_PROGRESSDATA || \ + (option) == CURLOPT_READDATA || \ + (option) == CURLOPT_SEEKDATA || \ + (option) == CURLOPT_SOCKOPTDATA || \ + (option) == CURLOPT_SSH_KEYDATA || \ + (option) == CURLOPT_SSL_CTX_DATA || \ + (option) == CURLOPT_WRITEDATA || \ + (option) == CURLOPT_RESOLVER_START_DATA || \ + (option) == CURLOPT_TRAILERDATA || \ + 0) + +/* evaluates to true if option takes a POST data argument (void* or char*) */ +#define curlcheck_postfields_option(option) \ + ((option) == CURLOPT_POSTFIELDS || \ + (option) == CURLOPT_COPYPOSTFIELDS || \ + 0) + +/* evaluates to true if option takes a struct curl_slist * argument */ +#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) + +/* groups of curl_easy_getinfo infos that take the same type of argument */ + +/* evaluates to true if info expects a pointer to char * argument */ +#define curlcheck_string_info(info) \ + (CURLINFO_STRING < (info) && (info) < CURLINFO_LONG) + +/* evaluates to true if info expects a pointer to long argument */ +#define curlcheck_long_info(info) \ + (CURLINFO_LONG < (info) && (info) < CURLINFO_DOUBLE) + +/* evaluates to true if info expects a pointer to double argument */ +#define curlcheck_double_info(info) \ + (CURLINFO_DOUBLE < (info) && (info) < CURLINFO_SLIST) + +/* true if info expects a pointer to struct curl_slist * argument */ +#define curlcheck_slist_info(info) \ + (((info) == CURLINFO_SSL_ENGINES) || ((info) == CURLINFO_COOKIELIST)) + +/* true if info expects a pointer to struct curl_tlssessioninfo * argument */ +#define curlcheck_tlssessioninfo_info(info) \ + (((info) == CURLINFO_TLS_SSL_PTR) || ((info) == CURLINFO_TLS_SESSION)) + +/* true if info expects a pointer to struct curl_certinfo * argument */ +#define curlcheck_certinfo_info(info) ((info) == CURLINFO_CERTINFO) + +/* true if info expects a pointer to struct curl_socket_t argument */ +#define curlcheck_socket_info(info) \ + (CURLINFO_SOCKET < (info) && (info) < CURLINFO_OFF_T) + +/* true if info expects a pointer to curl_off_t argument */ +#define curlcheck_off_t_info(info) \ + (CURLINFO_OFF_T < (info)) + + +/* typecheck helpers -- check whether given expression has requested type*/ + +/* For pointers, you can use the curlcheck_ptr/curlcheck_arr macros, + * otherwise define a new macro. Search for __builtin_types_compatible_p + * in the GCC manual. + * NOTE: these macros MUST NOT EVALUATE their arguments! The argument is + * the actual expression passed to the curl_easy_setopt macro. This + * means that you can only apply the sizeof and __typeof__ operators, no + * == or whatsoever. + */ + +/* XXX: should evaluate to true if expr is a pointer */ +#define curlcheck_any_ptr(expr) \ + (sizeof(expr) == sizeof(void *)) + +/* evaluates to true if expr is NULL */ +/* XXX: must not evaluate expr, so this check is not accurate */ +#define curlcheck_NULL(expr) \ + (__builtin_types_compatible_p(__typeof__(expr), __typeof__(NULL))) + +/* evaluates to true if expr is type*, const type* or NULL */ +#define curlcheck_ptr(expr, type) \ + (curlcheck_NULL(expr) || \ + __builtin_types_compatible_p(__typeof__(expr), type *) || \ + __builtin_types_compatible_p(__typeof__(expr), const type *)) + +/* evaluates to true if expr is one of type[], type*, NULL or const type* */ +#define curlcheck_arr(expr, type) \ + (curlcheck_ptr((expr), type) || \ + __builtin_types_compatible_p(__typeof__(expr), type [])) + +/* evaluates to true if expr is a string */ +#define curlcheck_string(expr) \ + (curlcheck_arr((expr), char) || \ + curlcheck_arr((expr), signed char) || \ + curlcheck_arr((expr), unsigned char)) + +/* evaluates to true if expr is a long (no matter the signedness) + * XXX: for now, int is also accepted (and therefore short and char, which + * are promoted to int when passed to a variadic function) */ +#define 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)) + +/* evaluates to true if expr is of type curl_off_t */ +#define curlcheck_off_t(expr) \ + (__builtin_types_compatible_p(__typeof__(expr), curl_off_t)) + +/* evaluates to true if expr is abuffer suitable for CURLOPT_ERRORBUFFER */ +/* XXX: also check size of an char[] array? */ +#define curlcheck_error_buffer(expr) \ + (curlcheck_NULL(expr) || \ + __builtin_types_compatible_p(__typeof__(expr), char *) || \ + __builtin_types_compatible_p(__typeof__(expr), char[])) + +/* evaluates to true if expr is of type (const) void* or (const) FILE* */ +#if 0 +#define curlcheck_cb_data(expr) \ + (curlcheck_ptr((expr), void) || \ + curlcheck_ptr((expr), FILE)) +#else /* be less strict */ +#define curlcheck_cb_data(expr) \ + curlcheck_any_ptr(expr) +#endif + +/* evaluates to true if expr is of type FILE* */ +#define curlcheck_FILE(expr) \ + (curlcheck_NULL(expr) || \ + (__builtin_types_compatible_p(__typeof__(expr), FILE *))) + +/* evaluates to true if expr can be passed as POST data (void* or char*) */ +#define curlcheck_postfields(expr) \ + (curlcheck_ptr((expr), void) || \ + curlcheck_arr((expr), char) || \ + curlcheck_arr((expr), unsigned char)) + +/* helper: __builtin_types_compatible_p distinguishes between functions and + * function pointers, hide it */ +#define curlcheck_cb_compatible(func, type) \ + (__builtin_types_compatible_p(__typeof__(func), type) || \ + __builtin_types_compatible_p(__typeof__(func) *, type)) + +/* evaluates to true if expr is of type curl_resolver_start_callback */ +#define curlcheck_resolver_start_callback(expr) \ + (curlcheck_NULL(expr) || \ + curlcheck_cb_compatible((expr), curl_resolver_start_callback)) + +/* evaluates to true if expr is of type curl_read_callback or "similar" */ +#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 *); + +/* evaluates to true if expr is of type curl_write_callback or "similar" */ +#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 *); + +/* evaluates to true if expr is of type curl_ioctl_callback or "similar" */ +#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 *); + +/* evaluates to true if expr is of type curl_sockopt_callback or "similar" */ +#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); + +/* evaluates to true if expr is of type curl_opensocket_callback or + "similar" */ +#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 *); + +/* evaluates to true if expr is of type curl_progress_callback or "similar" */ +#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); + +/* evaluates to true if expr is of type curl_debug_callback or "similar" */ +#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 *); + +/* evaluates to true if expr is of type curl_ssl_ctx_callback or "similar" */ +/* this is getting even messier... */ +#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 +/* hack: if we included OpenSSL's ssl.h, we know about SSL_CTX + * this will of course break if we're included before OpenSSL headers... + */ +typedef CURLcode (*_curl_ssl_ctx_callback5)(CURL *, SSL_CTX, void *); +typedef CURLcode (*_curl_ssl_ctx_callback6)(CURL *, SSL_CTX, const void *); +typedef CURLcode (*_curl_ssl_ctx_callback7)(CURL *, const SSL_CTX, void *); +typedef CURLcode (*_curl_ssl_ctx_callback8)(CURL *, const SSL_CTX, + const void *); +#else +typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback5; +typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback6; +typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback7; +typedef _curl_ssl_ctx_callback1 _curl_ssl_ctx_callback8; +#endif + +/* evaluates to true if expr is of type curl_conv_callback or "similar" */ +#define 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); + +/* evaluates to true if expr is of type curl_seek_callback or "similar" */ +#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 /* CURLINC_TYPECHECK_GCC_H */ diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/urlapi.h b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/urlapi.h new file mode 100644 index 0000000..0f2f152 --- /dev/null +++ b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/include/dependencies/curl/urlapi.h @@ -0,0 +1,123 @@ +#ifndef CURLINC_URLAPI_H +#define CURLINC_URLAPI_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 2018 - 2019, Daniel Stenberg, , et al. + * + * This software is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at https://curl.haxx.se/docs/copyright.html. + * + * You may opt to use, copy, modify, merge, publish, distribute and/or sell + * copies of the Software, and permit persons to whom the Software is + * furnished to do so, under the terms of the COPYING file. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ***************************************************************************/ + +#include "curl.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* the error codes for the URL API */ +typedef enum { + CURLUE_OK, + CURLUE_BAD_HANDLE, /* 1 */ + CURLUE_BAD_PARTPOINTER, /* 2 */ + CURLUE_MALFORMED_INPUT, /* 3 */ + CURLUE_BAD_PORT_NUMBER, /* 4 */ + CURLUE_UNSUPPORTED_SCHEME, /* 5 */ + CURLUE_URLDECODE, /* 6 */ + CURLUE_OUT_OF_MEMORY, /* 7 */ + CURLUE_USER_NOT_ALLOWED, /* 8 */ + CURLUE_UNKNOWN_PART, /* 9 */ + CURLUE_NO_SCHEME, /* 10 */ + CURLUE_NO_USER, /* 11 */ + CURLUE_NO_PASSWORD, /* 12 */ + CURLUE_NO_OPTIONS, /* 13 */ + CURLUE_NO_HOST, /* 14 */ + CURLUE_NO_PORT, /* 15 */ + CURLUE_NO_QUERY, /* 16 */ + CURLUE_NO_FRAGMENT /* 17 */ +} 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 /* added in 7.65.0 */ +} CURLUPart; + +#define CURLU_DEFAULT_PORT (1<<0) /* return default port number */ +#define CURLU_NO_DEFAULT_PORT (1<<1) /* act as if no port number was set, + if the port number matches the + default for the scheme */ +#define CURLU_DEFAULT_SCHEME (1<<2) /* return default scheme if + missing */ +#define CURLU_NON_SUPPORT_SCHEME (1<<3) /* allow non-supported scheme */ +#define CURLU_PATH_AS_IS (1<<4) /* leave dot sequences */ +#define CURLU_DISALLOW_USER (1<<5) /* no user+password allowed */ +#define CURLU_URLDECODE (1<<6) /* URL decode on get */ +#define CURLU_URLENCODE (1<<7) /* URL encode on set */ +#define CURLU_APPENDQUERY (1<<8) /* append a form style part */ +#define CURLU_GUESS_SCHEME (1<<9) /* legacy curl-style guessing */ + +typedef struct Curl_URL CURLU; + +/* + * curl_url() creates a new CURLU handle and returns a pointer to it. + * Must be freed with curl_url_cleanup(). + */ +CURL_EXTERN CURLU *curl_url(void); + +/* + * curl_url_cleanup() frees the CURLU handle and related resources used for + * the URL parsing. It will not free strings previously returned with the URL + * API. + */ +CURL_EXTERN void curl_url_cleanup(CURLU *handle); + +/* + * curl_url_dup() duplicates a CURLU handle and returns a new copy. The new + * handle must also be freed with curl_url_cleanup(). + */ +CURL_EXTERN CURLU *curl_url_dup(CURLU *in); + +/* + * curl_url_get() extracts a specific part of the URL from a CURLU + * handle. Returns error code. The returned pointer MUST be freed with + * curl_free() afterwards. + */ +CURL_EXTERN CURLUcode curl_url_get(CURLU *handle, CURLUPart what, + char **part, unsigned int flags); + +/* + * curl_url_set() sets a specific part of the URL in a CURLU handle. Returns + * error code. The passed in string will be copied. Passing a NULL instead of + * a part string, clears that part. + */ +CURL_EXTERN CURLUcode curl_url_set(CURLU *handle, CURLUPart what, + const char *part, unsigned int flags); + + +#ifdef __cplusplus +} /* end of extern "C" */ +#endif + +#endif /* CURLINC_URLAPI_H */ diff --git a/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/lib/visualc++/x64/modio.lib b/Source/ThirdParty/mod.io-sdk-v0.11.3-DEV/lib/visualc++/x64/modio.lib index 41bdcb4806fef3c698be61224f00ee62393ba3e5..0f64ed8bc38242d1a940039340ab225be1bfe8aa 100644 GIT binary patch delta 8826 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 delta 7958 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 aj7fNF?Q%0F;3eqUz?jPIWmyBG#s2}%v%rA> diff --git a/Source/modio/Private/ModioFunctionLibrary.cpp b/Source/modio/Private/ModioFunctionLibrary.cpp index 660303b..9eb88c0 100644 --- a/Source/modio/Private/ModioFunctionLibrary.cpp +++ b/Source/modio/Private/ModioFunctionLibrary.cpp @@ -166,13 +166,13 @@ void UModioFunctionLibrary::ModioGetModState(UObject *WorldContextObject, int32 } } -void UModioFunctionLibrary::ModioGetUserModRating(UObject *WorldContextObject, int32 ModId, uint8 &ModRating) +void UModioFunctionLibrary::ModioGetCurrentUserModRating(UObject *WorldContextObject, int32 ModId, uint8 &ModRating) { UWorld* World = GEngine->GetWorldFromContextObject( WorldContextObject, EGetWorldErrorMode::LogAndReturnNull ); FModioSubsystemPtr Modio = FModioSubsystem::Get( World ); if( Modio.IsValid() ) { - ModRating = Modio->GetUserModRating(ModId); + ModRating = Modio->GetCurrentUserModRating(ModId); }else { ModRating = EModioRatingType::RATING_NOT_DEFINED; @@ -187,4 +187,27 @@ void UModioFunctionLibrary::ModioPrioritizeModDownload(UObject *WorldContextObje { Modio->PrioritizeModDownload(ModId); } +} + +void UModioFunctionLibrary::ModioIsCurrentUserSubscribed(UObject *WorldContextObject, int32 ModId, bool &IsSubscribed) +{ + UWorld* World = GEngine->GetWorldFromContextObject( WorldContextObject, EGetWorldErrorMode::LogAndReturnNull ); + FModioSubsystemPtr Modio = FModioSubsystem::Get( World ); + if( Modio.IsValid() ) + { + IsSubscribed = Modio->IsCurrentUserSubscribed(ModId); + }else + { + IsSubscribed = false; + } +} + +void UModioFunctionLibrary::ModioGetCurrentUserSubscriptions(UObject *WorldContextObject, TArray &ModIds) +{ + UWorld* World = GEngine->GetWorldFromContextObject( WorldContextObject, EGetWorldErrorMode::LogAndReturnNull ); + FModioSubsystemPtr Modio = FModioSubsystem::Get( World ); + if( Modio.IsValid() ) + { + ModIds = Modio->GetCurrentUserSubscriptions(); + } } \ No newline at end of file diff --git a/Source/modio/Private/ModioSubsystem.cpp b/Source/modio/Private/ModioSubsystem.cpp index 6ad3574..1d85b19 100644 --- a/Source/modio/Private/ModioSubsystem.cpp +++ b/Source/modio/Private/ModioSubsystem.cpp @@ -337,6 +337,29 @@ void FModioSubsystem::UnsubscribeFromMod(int32 ModId, FModioGenericDelegate Unsu QueueAsyncTask( Request ); } +bool FModioSubsystem::IsCurrentUserSubscribed(int32 ModId) +{ + return modioIsCurrentUserSubscribed((u32)ModId); +} + +TArray FModioSubsystem::GetCurrentUserSubscriptions() +{ + TArray CurrentUserSubscriptions; + + u32 current_user_subscriptions_count = modioGetCurrentUserSubscriptionsCount(); + u32 *current_user_subscriptions = new u32[current_user_subscriptions_count]; + modioGetCurrentUserSubscriptions(current_user_subscriptions); + + for (u32 i = 0; i < current_user_subscriptions_count; i++) + { + CurrentUserSubscriptions.Add(current_user_subscriptions[i]); + } + + delete[] current_user_subscriptions; + + return CurrentUserSubscriptions; +} + void FModioSubsystem::AddModRating(int32 ModId, bool IsRatingPositive, FModioGenericDelegate AddModRatingDelegate) { FModioAsyncRequest_AddModRating *Request = new FModioAsyncRequest_AddModRating( this, AddModRatingDelegate ); @@ -344,9 +367,9 @@ void FModioSubsystem::AddModRating(int32 ModId, bool IsRatingPositive, FModioGen QueueAsyncTask( Request ); } -TEnumAsByte FModioSubsystem::GetUserModRating(int32 ModId) +TEnumAsByte FModioSubsystem::GetCurrentUserModRating(int32 ModId) { - u32 ModRating = modioGetUserModRating((u32)ModId); + u32 ModRating = modioGetCurrentUserModRating((u32)ModId); return ConvertToModRatingType(ModRating); } diff --git a/Source/modio/Public/ModioFunctionLibrary.h b/Source/modio/Public/ModioFunctionLibrary.h index ec451ba..d9ec712 100644 --- a/Source/modio/Public/ModioFunctionLibrary.h +++ b/Source/modio/Public/ModioFunctionLibrary.h @@ -70,8 +70,14 @@ class MODIO_API UModioFunctionLibrary : public UBlueprintFunctionLibrary static void ModioGetModState(UObject *WorldContextObject, int32 ModId, uint8 &ModState); UFUNCTION(BlueprintPure, Category = "mod.io") - static void ModioGetUserModRating(UObject *WorldContextObject, int32 ModId, uint8 &ModRating); + static void ModioGetCurrentUserModRating(UObject *WorldContextObject, int32 ModId, uint8 &ModRating); UFUNCTION(BlueprintCallable, Category = "mod.io") static void ModioPrioritizeModDownload(UObject *WorldContextObject, int32 ModId); + + UFUNCTION(BlueprintPure, Category = "mod.io") + static void ModioIsCurrentUserSubscribed(UObject *WorldContextObject, int32 ModId, bool &IsSubscribed); + + UFUNCTION(BlueprintPure, Category = "mod.io") + static void ModioGetCurrentUserSubscriptions(UObject *WorldContextObject, TArray &ModIds); }; \ No newline at end of file diff --git a/Source/modio/Public/ModioSubsystem.h b/Source/modio/Public/ModioSubsystem.h index 1d4ac89..b464533 100644 --- a/Source/modio/Public/ModioSubsystem.h +++ b/Source/modio/Public/ModioSubsystem.h @@ -145,7 +145,7 @@ struct MODIO_API FModioSubsystem : public TSharedFromThis GetModState(int32 ModId); - /** Change the the poll interval in wich mod updates will be processed */ + /** Places the given mod at the top of the donload queue */ void PrioritizeModDownload(int32 ModId); //Mod Subscription @@ -153,11 +153,16 @@ struct MODIO_API FModioSubsystem : public TSharedFromThis GetCurrentUserSubscriptions(); + //Mod Rating - /** Rate the corresponding mod */ + /** Rate the corresponding mod */ void AddModRating(int32 ModId, bool IsRatingPositive, FModioGenericDelegate AddModRatingDelegate); - TEnumAsByte GetUserModRating(int32 ModId); + /** Get the current users rating corresponding to the given mod */ + TEnumAsByte GetCurrentUserModRating(int32 ModId); //Mod Dependencies /** Request all the dependencies from a mod */ diff --git a/build/build.bat b/build/build.bat index 0afd172..25ba539 100644 --- a/build/build.bat +++ b/build/build.bat @@ -22,13 +22,12 @@ IF %1 == 19 ( "C:\Program Files\Epic Games\UE_4.22\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="%CD%\..\modio.uplugin" -TargetPlatforms=Win64 -Package="%CD%\PluginStaging_ALL\modio_UE4_422" -Rocket ) ELSE IF %1 == 23 ( ECHO Building the mod.io plugin with UE4 v23 - "C:\Program Files\Epic Games\UE_4.23\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="%CD%\..\modio.uplugin" -TargetPlatforms=Win64 -Package="%CD%\PluginStaging_ALL\modio_UE4_422" -Rocket -) ELSE IF %1 == all ( - ECHO Building the mod.io plugin with UE4 v19, v20, v21, v22 - "C:\Program Files\Epic Games\UE_4.19\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="%CD%\..\modio.uplugin" -TargetPlatforms=Win64 -Package="%CD%\PluginStaging_ALL\modio_UE4_419" -Rocket - "C:\Program Files\Epic Games\UE_4.20\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="%CD%\..\modio.uplugin" -TargetPlatforms=Win64 -Package="%CD%\PluginStaging_ALL\modio_UE4_420" -Rocket - "C:\Program Files\Epic Games\UE_4.21\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="%CD%\..\modio.uplugin" -TargetPlatforms=Win64 -Package="%CD%\PluginStaging_ALL\modio_UE4_421" -Rocket - "C:\Program Files\Epic Games\UE_4.22\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="%CD%\..\modio.uplugin" -TargetPlatforms=Win64 -Package="%CD%\PluginStaging_ALL\modio_UE4_422" -Rocket + "C:\Program Files\Epic Games\UE_4.23\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="%CD%\..\modio.uplugin" -TargetPlatforms=Win64 -Package="%CD%\PluginStaging_ALL\modio_UE4_423" -Rocket +) ELSE IF %1 == latest ( + ECHO Building the mod.io plugin with UE4 v21, v22, v23 + "C:\Program Files\Epic Games\UE_4.20\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="%CD%\..\modio.uplugin" -TargetPlatforms=Win64 -Package="%CD%\PluginStaging_ALL\modio_UE4_421" -Rocket + "C:\Program Files\Epic Games\UE_4.21\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="%CD%\..\modio.uplugin" -TargetPlatforms=Win64 -Package="%CD%\PluginStaging_ALL\modio_UE4_422" -Rocket + "C:\Program Files\Epic Games\UE_4.22\Engine\Build\BatchFiles\RunUAT.bat" BuildPlugin -Plugin="%CD%\..\modio.uplugin" -TargetPlatforms=Win64 -Package="%CD%\PluginStaging_ALL\modio_UE4_423" -Rocket ) ELSE ( ECHO Version %1 not supported by this script ECHO The following version param are allowed v19, v20, v21, v22 and all diff --git a/modio.uplugin b/modio.uplugin index 51d69cc..dfa0fe2 100644 --- a/modio.uplugin +++ b/modio.uplugin @@ -13,7 +13,7 @@ "CanContainContent": true, "IsBetaVersion": true, "Installed": false, - "EngineVersion" : "4.22.0", + "EngineVersion" : "4.23.0", "Modules": [ { "Name": "modio",