320 changes: 320 additions & 0 deletions Externals/curl/curl.vcxproj
@@ -0,0 +1,320 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="lib\amigaos.c" />
<ClCompile Include="lib\asyn-ares.c" />
<ClCompile Include="lib\asyn-thread.c" />
<ClCompile Include="lib\base64.c" />
<ClCompile Include="lib\conncache.c" />
<ClCompile Include="lib\connect.c" />
<ClCompile Include="lib\content_encoding.c" />
<ClCompile Include="lib\cookie.c" />
<ClCompile Include="lib\curl_addrinfo.c" />
<ClCompile Include="lib\curl_des.c" />
<ClCompile Include="lib\curl_endian.c" />
<ClCompile Include="lib\curl_fnmatch.c" />
<ClCompile Include="lib\curl_gethostname.c" />
<ClCompile Include="lib\curl_gssapi.c" />
<ClCompile Include="lib\curl_memrchr.c" />
<ClCompile Include="lib\curl_multibyte.c" />
<ClCompile Include="lib\curl_ntlm_core.c" />
<ClCompile Include="lib\curl_ntlm_wb.c" />
<ClCompile Include="lib\curl_rtmp.c" />
<ClCompile Include="lib\curl_sasl.c" />
<ClCompile Include="lib\curl_sspi.c" />
<ClCompile Include="lib\curl_threads.c" />
<ClCompile Include="lib\dict.c" />
<ClCompile Include="lib\dotdot.c" />
<ClCompile Include="lib\easy.c" />
<ClCompile Include="lib\escape.c" />
<ClCompile Include="lib\file.c" />
<ClCompile Include="lib\fileinfo.c" />
<ClCompile Include="lib\formdata.c" />
<ClCompile Include="lib\ftp.c" />
<ClCompile Include="lib\ftplistparser.c" />
<ClCompile Include="lib\getenv.c" />
<ClCompile Include="lib\getinfo.c" />
<ClCompile Include="lib\gopher.c" />
<ClCompile Include="lib\hash.c" />
<ClCompile Include="lib\hmac.c" />
<ClCompile Include="lib\hostasyn.c" />
<ClCompile Include="lib\hostcheck.c" />
<ClCompile Include="lib\hostip.c" />
<ClCompile Include="lib\hostip4.c" />
<ClCompile Include="lib\hostip6.c" />
<ClCompile Include="lib\hostsyn.c" />
<ClCompile Include="lib\http.c" />
<ClCompile Include="lib\http2.c" />
<ClCompile Include="lib\http_chunks.c" />
<ClCompile Include="lib\http_digest.c" />
<ClCompile Include="lib\http_negotiate.c" />
<ClCompile Include="lib\http_ntlm.c" />
<ClCompile Include="lib\http_proxy.c" />
<ClCompile Include="lib\idn_win32.c" />
<ClCompile Include="lib\if2ip.c" />
<ClCompile Include="lib\imap.c" />
<ClCompile Include="lib\inet_ntop.c" />
<ClCompile Include="lib\inet_pton.c" />
<ClCompile Include="lib\krb5.c" />
<ClCompile Include="lib\ldap.c" />
<ClCompile Include="lib\llist.c" />
<ClCompile Include="lib\md4.c" />
<ClCompile Include="lib\md5.c" />
<ClCompile Include="lib\memdebug.c" />
<ClCompile Include="lib\mprintf.c" />
<ClCompile Include="lib\multi.c" />
<ClCompile Include="lib\netrc.c" />
<ClCompile Include="lib\non-ascii.c" />
<ClCompile Include="lib\nonblock.c" />
<ClCompile Include="lib\nwlib.c" />
<ClCompile Include="lib\nwos.c" />
<ClCompile Include="lib\openldap.c" />
<ClCompile Include="lib\parsedate.c" />
<ClCompile Include="lib\pingpong.c" />
<ClCompile Include="lib\pipeline.c" />
<ClCompile Include="lib\pop3.c" />
<ClCompile Include="lib\progress.c" />
<ClCompile Include="lib\rawstr.c" />
<ClCompile Include="lib\rtsp.c" />
<ClCompile Include="lib\security.c" />
<ClCompile Include="lib\select.c" />
<ClCompile Include="lib\sendf.c" />
<ClCompile Include="lib\share.c" />
<ClCompile Include="lib\slist.c" />
<ClCompile Include="lib\smb.c" />
<ClCompile Include="lib\smtp.c" />
<ClCompile Include="lib\socks.c" />
<ClCompile Include="lib\socks_gssapi.c" />
<ClCompile Include="lib\socks_sspi.c" />
<ClCompile Include="lib\speedcheck.c" />
<ClCompile Include="lib\splay.c" />
<ClCompile Include="lib\ssh.c" />
<ClCompile Include="lib\strdup.c" />
<ClCompile Include="lib\strequal.c" />
<ClCompile Include="lib\strerror.c" />
<ClCompile Include="lib\strtok.c" />
<ClCompile Include="lib\strtoofft.c" />
<ClCompile Include="lib\system_win32.c" />
<ClCompile Include="lib\telnet.c" />
<ClCompile Include="lib\tftp.c" />
<ClCompile Include="lib\timeval.c" />
<ClCompile Include="lib\transfer.c" />
<ClCompile Include="lib\url.c" />
<ClCompile Include="lib\vauth\cleartext.c" />
<ClCompile Include="lib\vauth\cram.c" />
<ClCompile Include="lib\vauth\digest.c" />
<ClCompile Include="lib\vauth\digest_sspi.c" />
<ClCompile Include="lib\vauth\krb5_gssapi.c" />
<ClCompile Include="lib\vauth\krb5_sspi.c" />
<ClCompile Include="lib\vauth\ntlm.c" />
<ClCompile Include="lib\vauth\ntlm_sspi.c" />
<ClCompile Include="lib\vauth\oauth2.c" />
<ClCompile Include="lib\vauth\spnego_gssapi.c" />
<ClCompile Include="lib\vauth\spnego_sspi.c" />
<ClCompile Include="lib\vauth\vauth.c" />
<ClCompile Include="lib\version.c" />
<ClCompile Include="lib\vtls\axtls.c" />
<ClCompile Include="lib\vtls\cyassl.c" />
<ClCompile Include="lib\vtls\darwinssl.c" />
<ClCompile Include="lib\vtls\gskit.c" />
<ClCompile Include="lib\vtls\gtls.c" />
<ClCompile Include="lib\vtls\mbedtls.c" />
<ClCompile Include="lib\vtls\nss.c" />
<ClCompile Include="lib\vtls\openssl.c" />
<ClCompile Include="lib\vtls\polarssl.c" />
<ClCompile Include="lib\vtls\polarssl_threadlock.c" />
<ClCompile Include="lib\vtls\schannel.c" />
<ClCompile Include="lib\vtls\vtls.c" />
<ClCompile Include="lib\warnless.c" />
<ClCompile Include="lib\wildcard.c" />
<ClCompile Include="lib\x509asn1.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\curl\curl.h" />
<ClInclude Include="include\curl\curlbuild.h" />
<ClInclude Include="include\curl\curlrules.h" />
<ClInclude Include="include\curl\curlver.h" />
<ClInclude Include="include\curl\easy.h" />
<ClInclude Include="include\curl\mprintf.h" />
<ClInclude Include="include\curl\multi.h" />
<ClInclude Include="include\curl\stdcheaders.h" />
<ClInclude Include="include\curl\typecheck-gcc.h" />
<ClInclude Include="lib\amigaos.h" />
<ClInclude Include="lib\arpa_telnet.h" />
<ClInclude Include="lib\asyn.h" />
<ClInclude Include="lib\config-amigaos.h" />
<ClInclude Include="lib\config-dos.h" />
<ClInclude Include="lib\config-mac.h" />
<ClInclude Include="lib\config-os400.h" />
<ClInclude Include="lib\config-riscos.h" />
<ClInclude Include="lib\config-symbian.h" />
<ClInclude Include="lib\config-tpf.h" />
<ClInclude Include="lib\config-vxworks.h" />
<ClInclude Include="lib\config-win32.h" />
<ClInclude Include="lib\config-win32ce.h" />
<ClInclude Include="lib\conncache.h" />
<ClInclude Include="lib\connect.h" />
<ClInclude Include="lib\content_encoding.h" />
<ClInclude Include="lib\cookie.h" />
<ClInclude Include="lib\curlx.h" />
<ClInclude Include="lib\curl_addrinfo.h" />
<ClInclude Include="lib\curl_base64.h" />
<ClInclude Include="lib\curl_config.h" />
<ClInclude Include="lib\curl_des.h" />
<ClInclude Include="lib\curl_endian.h" />
<ClInclude Include="lib\curl_fnmatch.h" />
<ClInclude Include="lib\curl_gethostname.h" />
<ClInclude Include="lib\curl_gssapi.h" />
<ClInclude Include="lib\curl_hmac.h" />
<ClInclude Include="lib\curl_ldap.h" />
<ClInclude Include="lib\curl_md4.h" />
<ClInclude Include="lib\curl_md5.h" />
<ClInclude Include="lib\curl_memory.h" />
<ClInclude Include="lib\curl_memrchr.h" />
<ClInclude Include="lib\curl_multibyte.h" />
<ClInclude Include="lib\curl_ntlm_core.h" />
<ClInclude Include="lib\curl_ntlm_wb.h" />
<ClInclude Include="lib\curl_printf.h" />
<ClInclude Include="lib\curl_rtmp.h" />
<ClInclude Include="lib\curl_sasl.h" />
<ClInclude Include="lib\curl_sec.h" />
<ClInclude Include="lib\curl_setup.h" />
<ClInclude Include="lib\curl_setup_once.h" />
<ClInclude Include="lib\curl_sspi.h" />
<ClInclude Include="lib\curl_threads.h" />
<ClInclude Include="lib\dict.h" />
<ClInclude Include="lib\dotdot.h" />
<ClInclude Include="lib\easyif.h" />
<ClInclude Include="lib\escape.h" />
<ClInclude Include="lib\file.h" />
<ClInclude Include="lib\fileinfo.h" />
<ClInclude Include="lib\formdata.h" />
<ClInclude Include="lib\ftp.h" />
<ClInclude Include="lib\ftplistparser.h" />
<ClInclude Include="lib\getinfo.h" />
<ClInclude Include="lib\gopher.h" />
<ClInclude Include="lib\hash.h" />
<ClInclude Include="lib\hostcheck.h" />
<ClInclude Include="lib\hostip.h" />
<ClInclude Include="lib\http.h" />
<ClInclude Include="lib\http2.h" />
<ClInclude Include="lib\http_chunks.h" />
<ClInclude Include="lib\http_digest.h" />
<ClInclude Include="lib\http_negotiate.h" />
<ClInclude Include="lib\http_ntlm.h" />
<ClInclude Include="lib\http_proxy.h" />
<ClInclude Include="lib\if2ip.h" />
<ClInclude Include="lib\imap.h" />
<ClInclude Include="lib\inet_ntop.h" />
<ClInclude Include="lib\inet_pton.h" />
<ClInclude Include="lib\llist.h" />
<ClInclude Include="lib\memdebug.h" />
<ClInclude Include="lib\multihandle.h" />
<ClInclude Include="lib\multiif.h" />
<ClInclude Include="lib\netrc.h" />
<ClInclude Include="lib\non-ascii.h" />
<ClInclude Include="lib\nonblock.h" />
<ClInclude Include="lib\parsedate.h" />
<ClInclude Include="lib\pingpong.h" />
<ClInclude Include="lib\pipeline.h" />
<ClInclude Include="lib\pop3.h" />
<ClInclude Include="lib\progress.h" />
<ClInclude Include="lib\rawstr.h" />
<ClInclude Include="lib\rtsp.h" />
<ClInclude Include="lib\select.h" />
<ClInclude Include="lib\sendf.h" />
<ClInclude Include="lib\setup-os400.h" />
<ClInclude Include="lib\setup-vms.h" />
<ClInclude Include="lib\share.h" />
<ClInclude Include="lib\sigpipe.h" />
<ClInclude Include="lib\slist.h" />
<ClInclude Include="lib\smb.h" />
<ClInclude Include="lib\smtp.h" />
<ClInclude Include="lib\sockaddr.h" />
<ClInclude Include="lib\socks.h" />
<ClInclude Include="lib\speedcheck.h" />
<ClInclude Include="lib\splay.h" />
<ClInclude Include="lib\ssh.h" />
<ClInclude Include="lib\strdup.h" />
<ClInclude Include="lib\strequal.h" />
<ClInclude Include="lib\strerror.h" />
<ClInclude Include="lib\strtok.h" />
<ClInclude Include="lib\strtoofft.h" />
<ClInclude Include="lib\system_win32.h" />
<ClInclude Include="lib\telnet.h" />
<ClInclude Include="lib\tftp.h" />
<ClInclude Include="lib\timeval.h" />
<ClInclude Include="lib\transfer.h" />
<ClInclude Include="lib\url.h" />
<ClInclude Include="lib\urldata.h" />
<ClInclude Include="lib\vauth\digest.h" />
<ClInclude Include="lib\vauth\ntlm.h" />
<ClInclude Include="lib\vauth\vauth.h" />
<ClInclude Include="lib\vtls\axtls.h" />
<ClInclude Include="lib\vtls\cyassl.h" />
<ClInclude Include="lib\vtls\darwinssl.h" />
<ClInclude Include="lib\vtls\gskit.h" />
<ClInclude Include="lib\vtls\gtls.h" />
<ClInclude Include="lib\vtls\mbedtls.h" />
<ClInclude Include="lib\vtls\nssg.h" />
<ClInclude Include="lib\vtls\openssl.h" />
<ClInclude Include="lib\vtls\polarssl.h" />
<ClInclude Include="lib\vtls\polarssl_threadlock.h" />
<ClInclude Include="lib\vtls\schannel.h" />
<ClInclude Include="lib\vtls\vtls.h" />
<ClInclude Include="lib\warnless.h" />
<ClInclude Include="lib\wildcard.h" />
<ClInclude Include="lib\x509asn1.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="lib\libcurl.rc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="$(ExternalsDir)zlib\zlib.vcxproj">
<Project>{ff213b23-2c26-4214-9f88-85271e557e87}</Project>
</ProjectReference>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{BB00605C-125F-4A21-B33B-7BF418322DCB}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
<UseDebugLibraries>false</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\Source\VSProps\Base.props" />
<Import Project="..\..\Source\VSProps\ClDisableAllWarnings.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>BUILDING_LIBCURL;CURL_STATICLIB;CURL_DISABLE_LDAP;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
272 changes: 272 additions & 0 deletions Externals/curl/curl.vcxproj.filters
@@ -0,0 +1,272 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="lib\amigaos.c" />
<ClCompile Include="lib\asyn-ares.c" />
<ClCompile Include="lib\asyn-thread.c" />
<ClCompile Include="lib\base64.c" />
<ClCompile Include="lib\conncache.c" />
<ClCompile Include="lib\connect.c" />
<ClCompile Include="lib\content_encoding.c" />
<ClCompile Include="lib\cookie.c" />
<ClCompile Include="lib\curl_addrinfo.c" />
<ClCompile Include="lib\curl_des.c" />
<ClCompile Include="lib\curl_endian.c" />
<ClCompile Include="lib\curl_fnmatch.c" />
<ClCompile Include="lib\curl_gethostname.c" />
<ClCompile Include="lib\curl_gssapi.c" />
<ClCompile Include="lib\curl_memrchr.c" />
<ClCompile Include="lib\curl_multibyte.c" />
<ClCompile Include="lib\curl_ntlm_core.c" />
<ClCompile Include="lib\curl_ntlm_wb.c" />
<ClCompile Include="lib\curl_rtmp.c" />
<ClCompile Include="lib\curl_sasl.c" />
<ClCompile Include="lib\curl_sspi.c" />
<ClCompile Include="lib\curl_threads.c" />
<ClCompile Include="lib\dict.c" />
<ClCompile Include="lib\dotdot.c" />
<ClCompile Include="lib\easy.c" />
<ClCompile Include="lib\escape.c" />
<ClCompile Include="lib\file.c" />
<ClCompile Include="lib\fileinfo.c" />
<ClCompile Include="lib\formdata.c" />
<ClCompile Include="lib\ftp.c" />
<ClCompile Include="lib\ftplistparser.c" />
<ClCompile Include="lib\getenv.c" />
<ClCompile Include="lib\getinfo.c" />
<ClCompile Include="lib\gopher.c" />
<ClCompile Include="lib\hash.c" />
<ClCompile Include="lib\hmac.c" />
<ClCompile Include="lib\hostasyn.c" />
<ClCompile Include="lib\hostcheck.c" />
<ClCompile Include="lib\hostip.c" />
<ClCompile Include="lib\hostip4.c" />
<ClCompile Include="lib\hostip6.c" />
<ClCompile Include="lib\hostsyn.c" />
<ClCompile Include="lib\http.c" />
<ClCompile Include="lib\http_chunks.c" />
<ClCompile Include="lib\http_digest.c" />
<ClCompile Include="lib\http_negotiate.c" />
<ClCompile Include="lib\http_ntlm.c" />
<ClCompile Include="lib\http_proxy.c" />
<ClCompile Include="lib\http2.c" />
<ClCompile Include="lib\idn_win32.c" />
<ClCompile Include="lib\if2ip.c" />
<ClCompile Include="lib\imap.c" />
<ClCompile Include="lib\inet_ntop.c" />
<ClCompile Include="lib\inet_pton.c" />
<ClCompile Include="lib\krb5.c" />
<ClCompile Include="lib\ldap.c" />
<ClCompile Include="lib\llist.c" />
<ClCompile Include="lib\md4.c" />
<ClCompile Include="lib\md5.c" />
<ClCompile Include="lib\memdebug.c" />
<ClCompile Include="lib\mprintf.c" />
<ClCompile Include="lib\multi.c" />
<ClCompile Include="lib\netrc.c" />
<ClCompile Include="lib\non-ascii.c" />
<ClCompile Include="lib\nonblock.c" />
<ClCompile Include="lib\nwlib.c" />
<ClCompile Include="lib\nwos.c" />
<ClCompile Include="lib\openldap.c" />
<ClCompile Include="lib\parsedate.c" />
<ClCompile Include="lib\pingpong.c" />
<ClCompile Include="lib\pipeline.c" />
<ClCompile Include="lib\pop3.c" />
<ClCompile Include="lib\progress.c" />
<ClCompile Include="lib\rawstr.c" />
<ClCompile Include="lib\rtsp.c" />
<ClCompile Include="lib\security.c" />
<ClCompile Include="lib\select.c" />
<ClCompile Include="lib\sendf.c" />
<ClCompile Include="lib\share.c" />
<ClCompile Include="lib\slist.c" />
<ClCompile Include="lib\smb.c" />
<ClCompile Include="lib\smtp.c" />
<ClCompile Include="lib\socks.c" />
<ClCompile Include="lib\socks_gssapi.c" />
<ClCompile Include="lib\socks_sspi.c" />
<ClCompile Include="lib\speedcheck.c" />
<ClCompile Include="lib\splay.c" />
<ClCompile Include="lib\ssh.c" />
<ClCompile Include="lib\strdup.c" />
<ClCompile Include="lib\strequal.c" />
<ClCompile Include="lib\strerror.c" />
<ClCompile Include="lib\strtok.c" />
<ClCompile Include="lib\strtoofft.c" />
<ClCompile Include="lib\system_win32.c" />
<ClCompile Include="lib\telnet.c" />
<ClCompile Include="lib\tftp.c" />
<ClCompile Include="lib\timeval.c" />
<ClCompile Include="lib\transfer.c" />
<ClCompile Include="lib\url.c" />
<ClCompile Include="lib\version.c" />
<ClCompile Include="lib\warnless.c" />
<ClCompile Include="lib\wildcard.c" />
<ClCompile Include="lib\x509asn1.c" />
<ClCompile Include="lib\vtls\axtls.c" />
<ClCompile Include="lib\vtls\cyassl.c" />
<ClCompile Include="lib\vtls\darwinssl.c" />
<ClCompile Include="lib\vtls\gskit.c" />
<ClCompile Include="lib\vtls\gtls.c" />
<ClCompile Include="lib\vtls\mbedtls.c" />
<ClCompile Include="lib\vtls\nss.c" />
<ClCompile Include="lib\vtls\openssl.c" />
<ClCompile Include="lib\vtls\polarssl.c" />
<ClCompile Include="lib\vtls\polarssl_threadlock.c" />
<ClCompile Include="lib\vtls\schannel.c" />
<ClCompile Include="lib\vtls\vtls.c" />
<ClCompile Include="lib\vauth\cleartext.c" />
<ClCompile Include="lib\vauth\cram.c" />
<ClCompile Include="lib\vauth\digest.c" />
<ClCompile Include="lib\vauth\digest_sspi.c" />
<ClCompile Include="lib\vauth\krb5_gssapi.c" />
<ClCompile Include="lib\vauth\krb5_sspi.c" />
<ClCompile Include="lib\vauth\ntlm.c" />
<ClCompile Include="lib\vauth\ntlm_sspi.c" />
<ClCompile Include="lib\vauth\oauth2.c" />
<ClCompile Include="lib\vauth\spnego_gssapi.c" />
<ClCompile Include="lib\vauth\spnego_sspi.c" />
<ClCompile Include="lib\vauth\vauth.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="lib\amigaos.h" />
<ClInclude Include="lib\arpa_telnet.h" />
<ClInclude Include="lib\asyn.h" />
<ClInclude Include="lib\config-amigaos.h" />
<ClInclude Include="lib\config-dos.h" />
<ClInclude Include="lib\config-mac.h" />
<ClInclude Include="lib\config-os400.h" />
<ClInclude Include="lib\config-riscos.h" />
<ClInclude Include="lib\config-symbian.h" />
<ClInclude Include="lib\config-tpf.h" />
<ClInclude Include="lib\config-vxworks.h" />
<ClInclude Include="lib\config-win32.h" />
<ClInclude Include="lib\config-win32ce.h" />
<ClInclude Include="lib\conncache.h" />
<ClInclude Include="lib\connect.h" />
<ClInclude Include="lib\content_encoding.h" />
<ClInclude Include="lib\cookie.h" />
<ClInclude Include="lib\curl_addrinfo.h" />
<ClInclude Include="lib\curl_base64.h" />
<ClInclude Include="lib\curl_config.h" />
<ClInclude Include="lib\curl_des.h" />
<ClInclude Include="lib\curl_endian.h" />
<ClInclude Include="lib\curl_fnmatch.h" />
<ClInclude Include="lib\curl_gethostname.h" />
<ClInclude Include="lib\curl_gssapi.h" />
<ClInclude Include="lib\curl_hmac.h" />
<ClInclude Include="lib\curl_ldap.h" />
<ClInclude Include="lib\curl_md4.h" />
<ClInclude Include="lib\curl_md5.h" />
<ClInclude Include="lib\curl_memory.h" />
<ClInclude Include="lib\curl_memrchr.h" />
<ClInclude Include="lib\curl_multibyte.h" />
<ClInclude Include="lib\curl_ntlm_core.h" />
<ClInclude Include="lib\curl_ntlm_wb.h" />
<ClInclude Include="lib\curl_printf.h" />
<ClInclude Include="lib\curl_rtmp.h" />
<ClInclude Include="lib\curl_sasl.h" />
<ClInclude Include="lib\curl_sec.h" />
<ClInclude Include="lib\curl_setup.h" />
<ClInclude Include="lib\curl_setup_once.h" />
<ClInclude Include="lib\curl_sspi.h" />
<ClInclude Include="lib\curl_threads.h" />
<ClInclude Include="lib\curlx.h" />
<ClInclude Include="lib\dict.h" />
<ClInclude Include="lib\dotdot.h" />
<ClInclude Include="lib\easyif.h" />
<ClInclude Include="lib\escape.h" />
<ClInclude Include="lib\file.h" />
<ClInclude Include="lib\fileinfo.h" />
<ClInclude Include="lib\formdata.h" />
<ClInclude Include="lib\ftp.h" />
<ClInclude Include="lib\ftplistparser.h" />
<ClInclude Include="lib\getinfo.h" />
<ClInclude Include="lib\gopher.h" />
<ClInclude Include="lib\hash.h" />
<ClInclude Include="lib\hostcheck.h" />
<ClInclude Include="lib\hostip.h" />
<ClInclude Include="lib\http.h" />
<ClInclude Include="lib\http_chunks.h" />
<ClInclude Include="lib\http_digest.h" />
<ClInclude Include="lib\http_negotiate.h" />
<ClInclude Include="lib\http_ntlm.h" />
<ClInclude Include="lib\http_proxy.h" />
<ClInclude Include="lib\http2.h" />
<ClInclude Include="lib\if2ip.h" />
<ClInclude Include="lib\imap.h" />
<ClInclude Include="lib\inet_ntop.h" />
<ClInclude Include="lib\inet_pton.h" />
<ClInclude Include="lib\llist.h" />
<ClInclude Include="lib\memdebug.h" />
<ClInclude Include="lib\multihandle.h" />
<ClInclude Include="lib\multiif.h" />
<ClInclude Include="lib\netrc.h" />
<ClInclude Include="lib\non-ascii.h" />
<ClInclude Include="lib\nonblock.h" />
<ClInclude Include="lib\parsedate.h" />
<ClInclude Include="lib\pingpong.h" />
<ClInclude Include="lib\pipeline.h" />
<ClInclude Include="lib\pop3.h" />
<ClInclude Include="lib\progress.h" />
<ClInclude Include="lib\rawstr.h" />
<ClInclude Include="lib\rtsp.h" />
<ClInclude Include="lib\select.h" />
<ClInclude Include="lib\sendf.h" />
<ClInclude Include="lib\setup-os400.h" />
<ClInclude Include="lib\setup-vms.h" />
<ClInclude Include="lib\share.h" />
<ClInclude Include="lib\sigpipe.h" />
<ClInclude Include="lib\slist.h" />
<ClInclude Include="lib\smb.h" />
<ClInclude Include="lib\smtp.h" />
<ClInclude Include="lib\sockaddr.h" />
<ClInclude Include="lib\socks.h" />
<ClInclude Include="lib\speedcheck.h" />
<ClInclude Include="lib\splay.h" />
<ClInclude Include="lib\ssh.h" />
<ClInclude Include="lib\strdup.h" />
<ClInclude Include="lib\strequal.h" />
<ClInclude Include="lib\strerror.h" />
<ClInclude Include="lib\strtok.h" />
<ClInclude Include="lib\strtoofft.h" />
<ClInclude Include="lib\system_win32.h" />
<ClInclude Include="lib\telnet.h" />
<ClInclude Include="lib\tftp.h" />
<ClInclude Include="lib\timeval.h" />
<ClInclude Include="lib\transfer.h" />
<ClInclude Include="lib\url.h" />
<ClInclude Include="lib\urldata.h" />
<ClInclude Include="lib\warnless.h" />
<ClInclude Include="lib\wildcard.h" />
<ClInclude Include="lib\x509asn1.h" />
<ClInclude Include="lib\vtls\axtls.h" />
<ClInclude Include="lib\vtls\cyassl.h" />
<ClInclude Include="lib\vtls\darwinssl.h" />
<ClInclude Include="lib\vtls\gskit.h" />
<ClInclude Include="lib\vtls\gtls.h" />
<ClInclude Include="lib\vtls\mbedtls.h" />
<ClInclude Include="lib\vtls\nssg.h" />
<ClInclude Include="lib\vtls\openssl.h" />
<ClInclude Include="lib\vtls\polarssl.h" />
<ClInclude Include="lib\vtls\polarssl_threadlock.h" />
<ClInclude Include="lib\vtls\schannel.h" />
<ClInclude Include="lib\vtls\vtls.h" />
<ClInclude Include="lib\vauth\digest.h" />
<ClInclude Include="lib\vauth\ntlm.h" />
<ClInclude Include="lib\vauth\vauth.h" />
<ClInclude Include="include\curl\curl.h" />
<ClInclude Include="include\curl\curlbuild.h" />
<ClInclude Include="include\curl\curlrules.h" />
<ClInclude Include="include\curl\curlver.h" />
<ClInclude Include="include\curl\easy.h" />
<ClInclude Include="include\curl\mprintf.h" />
<ClInclude Include="include\curl\multi.h" />
<ClInclude Include="include\curl\stdcheaders.h" />
<ClInclude Include="include\curl\typecheck-gcc.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="lib\libcurl.rc" />
</ItemGroup>
</Project>
55 changes: 55 additions & 0 deletions Externals/curl/include/README
@@ -0,0 +1,55 @@
_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
\___|\___/|_| \_\_____|

Include files for libcurl, external users.

They're all placed in the curl subdirectory here for better fit in any kind
of environment. You must include files from here using...

#include <curl/curl.h>

... style and point the compiler's include path to the directory holding the
curl subdirectory. It makes it more likely to survive future modifications.

NOTE FOR LIBCURL HACKERS

The following notes apply to libcurl version 7.19.0 and later.

* The distributed curl/curlbuild.h file is only intended to be used on systems
which can not run the also distributed configure script.

* The distributed curlbuild.h file is generated as a copy of curlbuild.h.dist
when the libcurl source code distribution archive file is originally created.

* If you check out from git on a non-configure platform, you must run the
appropriate buildconf* script to set up curlbuild.h and other local files
before being able of compiling the library.

* On systems capable of running the configure script, the configure process
will overwrite the distributed include/curl/curlbuild.h file with one that
is suitable and specific to the library being configured and built, which
is generated from the include/curl/curlbuild.h.in template file.

* If you intend to distribute an already compiled libcurl library you _MUST_
also distribute along with it the generated curl/curlbuild.h which has been
used to compile it. Otherwise the library will be of no use for the users of
the library that you have built. It is _your_ responsibility to provide this
file. No one at the cURL project can know how you have built the library.

* File curl/curlbuild.h includes platform and configuration dependent info,
and must not be modified by anyone. Configure script generates it for you.

* We cannot assume anything else but very basic compiler features being
present. While libcurl requires an ANSI C compiler to build, some of the
earlier ANSI compilers clearly can't deal with some preprocessor operators.

* Newlines must remain unix-style for older compilers' sake.

* Comments must be written in the old-style /* unnested C-fashion */

To figure out how to do good and portable checks for features, operating
systems or specific hardwarare, a very good resource is Bjorn Reese's
collection at http://predef.sf.net/
53 changes: 53 additions & 0 deletions Externals/curl/include/curl/Makefile.am
@@ -0,0 +1,53 @@
#***************************************************************************
# _ _ ____ _
# Project ___| | | | _ \| |
# / __| | | | |_) | |
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
# Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
# are also available at https://curl.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 curlbuild.h curlrules.h

pkgincludedir= $(includedir)/curl

# curlbuild.h does not exist in the git tree. When the original libcurl
# source code distribution archive file is created, curlbuild.h.dist is
# renamed to curlbuild.h and included in the tarball so that it can be
# used directly on non-configure systems.
#
# The distributed curlbuild.h will be overwritten on configure systems
# when the configure script runs, with one that is suitable and specific
# to the library being configured and built.
#
# curlbuild.h.in is the distributed template file from which the configure
# script creates curlbuild.h at library configuration time, overwiting the
# one included in the distribution archive.
#
# curlbuild.h.dist is not included in the source code distribution archive.

EXTRA_DIST = curlbuild.h.in

DISTCLEANFILES = curlbuild.h

checksrc:
@@PERL@ $(top_srcdir)/lib/checksrc.pl -Wcurlbuild.h -D$(top_srcdir)/include/curl $(pkginclude_HEADERS) $(EXTRA_DIST)

if CURLDEBUG
# for debug builds, we scan the sources on all regular make invokes
all-local: checksrc
endif
707 changes: 707 additions & 0 deletions Externals/curl/include/curl/Makefile.in

Large diffs are not rendered by default.

2,439 changes: 2,439 additions & 0 deletions Externals/curl/include/curl/curl.h

Large diffs are not rendered by default.

586 changes: 586 additions & 0 deletions Externals/curl/include/curl/curlbuild.h

Large diffs are not rendered by default.

197 changes: 197 additions & 0 deletions Externals/curl/include/curl/curlbuild.h.cmake
@@ -0,0 +1,197 @@
#ifndef __CURL_CURLBUILD_H
#define __CURL_CURLBUILD_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/

/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */

/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* curl library user nor by the curl library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the libcurl development
* mailing list: https://cool.haxx.se/mailman/listinfo/curl-library/
*
* This header file shall only export symbols which are 'curl' or 'CURL'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file include/curl/curlbuild.h.in or
* at file include/curl/curlbuild.h, this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed include/curl/curlbuild.h file with one that
* is suitable and specific to the library being configured and built, which
* is generated from the include/curl/curlbuild.h.in template file.
*
*/

/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */

#ifdef CURL_SIZEOF_LONG
#error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
#endif

#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
#error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined
#endif

#ifdef CURL_SIZEOF_CURL_SOCKLEN_T
#error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined
#endif

#ifdef CURL_TYPEOF_CURL_OFF_T
#error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
#endif

#ifdef CURL_FORMAT_CURL_OFF_T
#error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined
#endif

#ifdef CURL_FORMAT_CURL_OFF_TU
#error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined
#endif

#ifdef CURL_FORMAT_OFF_T
#error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined
#endif

#ifdef CURL_SIZEOF_CURL_OFF_T
#error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined
#endif

#ifdef CURL_SUFFIX_CURL_OFF_T
#error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined
#endif

#ifdef CURL_SUFFIX_CURL_OFF_TU
#error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined
#endif

/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */

/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
#cmakedefine CURL_PULL_WS2TCPIP_H
#ifdef CURL_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif

/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#cmakedefine CURL_PULL_SYS_TYPES_H
#ifdef CURL_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif

/* Configure process defines this to 1 when it finds out that system */
/* header file stdint.h must be included by the external interface. */
#cmakedefine CURL_PULL_STDINT_H
#ifdef CURL_PULL_STDINT_H
# include <stdint.h>
#endif

/* Configure process defines this to 1 when it finds out that system */
/* header file inttypes.h must be included by the external interface. */
#cmakedefine CURL_PULL_INTTYPES_H
#ifdef CURL_PULL_INTTYPES_H
# include <inttypes.h>
#endif

/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
#cmakedefine CURL_PULL_SYS_SOCKET_H
#ifdef CURL_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif

/* Configure process defines this to 1 when it finds out that system */
/* header file sys/poll.h must be included by the external interface. */
#cmakedefine CURL_PULL_SYS_POLL_H
#ifdef CURL_PULL_SYS_POLL_H
# include <sys/poll.h>
#endif

/* The size of `long', as computed by sizeof. */
#define CURL_SIZEOF_LONG ${CURL_SIZEOF_LONG}

/* Integral data type used for curl_socklen_t. */
#define CURL_TYPEOF_CURL_SOCKLEN_T ${CURL_TYPEOF_CURL_SOCKLEN_T}

/* The size of `curl_socklen_t', as computed by sizeof. */
#define CURL_SIZEOF_CURL_SOCKLEN_T ${CURL_SIZEOF_CURL_SOCKLEN_T}

/* Data type definition of curl_socklen_t. */
typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;

/* Signed integral data type used for curl_off_t. */
#define CURL_TYPEOF_CURL_OFF_T ${CURL_TYPEOF_CURL_OFF_T}

/* Data type definition of curl_off_t. */
typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;

/* curl_off_t formatting string directive without "%" conversion specifier. */
#define CURL_FORMAT_CURL_OFF_T "${CURL_FORMAT_CURL_OFF_T}"

/* unsigned curl_off_t formatting string without "%" conversion specifier. */
#define CURL_FORMAT_CURL_OFF_TU "${CURL_FORMAT_CURL_OFF_TU}"

/* curl_off_t formatting string directive with "%" conversion specifier. */
#define CURL_FORMAT_OFF_T "${CURL_FORMAT_OFF_T}"

/* The size of `curl_off_t', as computed by sizeof. */
#define CURL_SIZEOF_CURL_OFF_T ${CURL_SIZEOF_CURL_OFF_T}

/* curl_off_t constant suffix. */
#define CURL_SUFFIX_CURL_OFF_T ${CURL_SUFFIX_CURL_OFF_T}

/* unsigned curl_off_t constant suffix. */
#define CURL_SUFFIX_CURL_OFF_TU ${CURL_SUFFIX_CURL_OFF_TU}

#endif /* __CURL_CURLBUILD_H */
197 changes: 197 additions & 0 deletions Externals/curl/include/curl/curlbuild.h.in
@@ -0,0 +1,197 @@
#ifndef __CURL_CURLBUILD_H
#define __CURL_CURLBUILD_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/

/* ================================================================ */
/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */
/* ================================================================ */

/*
* NOTE 1:
* -------
*
* Nothing in this file is intended to be modified or adjusted by the
* curl library user nor by the curl library builder.
*
* If you think that something actually needs to be changed, adjusted
* or fixed in this file, then, report it on the libcurl development
* mailing list: https://cool.haxx.se/mailman/listinfo/curl-library/
*
* This header file shall only export symbols which are 'curl' or 'CURL'
* prefixed, otherwise public name space would be polluted.
*
* NOTE 2:
* -------
*
* Right now you might be staring at file include/curl/curlbuild.h.in or
* at file include/curl/curlbuild.h, this is due to the following reason:
*
* On systems capable of running the configure script, the configure process
* will overwrite the distributed include/curl/curlbuild.h file with one that
* is suitable and specific to the library being configured and built, which
* is generated from the include/curl/curlbuild.h.in template file.
*
*/

/* ================================================================ */
/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */
/* ================================================================ */

#ifdef CURL_SIZEOF_LONG
#error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined
#endif

#ifdef CURL_TYPEOF_CURL_SOCKLEN_T
#error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined
#endif

#ifdef CURL_SIZEOF_CURL_SOCKLEN_T
#error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined
#endif

#ifdef CURL_TYPEOF_CURL_OFF_T
#error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined
#endif

#ifdef CURL_FORMAT_CURL_OFF_T
#error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined
#endif

#ifdef CURL_FORMAT_CURL_OFF_TU
#error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined
#endif

#ifdef CURL_FORMAT_OFF_T
#error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined
#endif

#ifdef CURL_SIZEOF_CURL_OFF_T
#error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined
#endif

#ifdef CURL_SUFFIX_CURL_OFF_T
#error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined
#endif

#ifdef CURL_SUFFIX_CURL_OFF_TU
#error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h"
Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined
#endif

/* ================================================================ */
/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */
/* ================================================================ */

/* Configure process defines this to 1 when it finds out that system */
/* header file ws2tcpip.h must be included by the external interface. */
#undef CURL_PULL_WS2TCPIP_H
#ifdef CURL_PULL_WS2TCPIP_H
# ifndef WIN32_LEAN_AND_MEAN
# define WIN32_LEAN_AND_MEAN
# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
#endif

/* Configure process defines this to 1 when it finds out that system */
/* header file sys/types.h must be included by the external interface. */
#undef CURL_PULL_SYS_TYPES_H
#ifdef CURL_PULL_SYS_TYPES_H
# include <sys/types.h>
#endif

/* Configure process defines this to 1 when it finds out that system */
/* header file stdint.h must be included by the external interface. */
#undef CURL_PULL_STDINT_H
#ifdef CURL_PULL_STDINT_H
# include <stdint.h>
#endif

/* Configure process defines this to 1 when it finds out that system */
/* header file inttypes.h must be included by the external interface. */
#undef CURL_PULL_INTTYPES_H
#ifdef CURL_PULL_INTTYPES_H
# include <inttypes.h>
#endif

/* Configure process defines this to 1 when it finds out that system */
/* header file sys/socket.h must be included by the external interface. */
#undef CURL_PULL_SYS_SOCKET_H
#ifdef CURL_PULL_SYS_SOCKET_H
# include <sys/socket.h>
#endif

/* Configure process defines this to 1 when it finds out that system */
/* header file sys/poll.h must be included by the external interface. */
#undef CURL_PULL_SYS_POLL_H
#ifdef CURL_PULL_SYS_POLL_H
# include <sys/poll.h>
#endif

/* The size of `long', as computed by sizeof. */
#undef CURL_SIZEOF_LONG

/* Integral data type used for curl_socklen_t. */
#undef CURL_TYPEOF_CURL_SOCKLEN_T

/* The size of `curl_socklen_t', as computed by sizeof. */
#undef CURL_SIZEOF_CURL_SOCKLEN_T

/* Data type definition of curl_socklen_t. */
typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;

/* Signed integral data type used for curl_off_t. */
#undef CURL_TYPEOF_CURL_OFF_T

/* Data type definition of curl_off_t. */
typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;

/* curl_off_t formatting string directive without "%" conversion specifier. */
#undef CURL_FORMAT_CURL_OFF_T

/* unsigned curl_off_t formatting string without "%" conversion specifier. */
#undef CURL_FORMAT_CURL_OFF_TU

/* curl_off_t formatting string directive with "%" conversion specifier. */
#undef CURL_FORMAT_OFF_T

/* The size of `curl_off_t', as computed by sizeof. */
#undef CURL_SIZEOF_CURL_OFF_T

/* curl_off_t constant suffix. */
#undef CURL_SUFFIX_CURL_OFF_T

/* unsigned curl_off_t constant suffix. */
#undef CURL_SUFFIX_CURL_OFF_TU

#endif /* __CURL_CURLBUILD_H */
262 changes: 262 additions & 0 deletions Externals/curl/include/curl/curlrules.h
@@ -0,0 +1,262 @@
#ifndef __CURL_CURLRULES_H
#define __CURL_CURLRULES_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/

/* ================================================================ */
/* COMPILE TIME SANITY CHECKS */
/* ================================================================ */

/*
* NOTE 1:
* -------
*
* All checks done in this file are intentionally placed in a public
* header file which is pulled by curl/curl.h when an application is
* being built using an already built libcurl library. Additionally
* this file is also included and used when building the library.
*
* If compilation fails on this file it is certainly sure that the
* problem is elsewhere. It could be a problem in the curlbuild.h
* header file, or simply that you are using different compilation
* settings than those used to build the library.
*
* Nothing in this file is intended to be modified or adjusted by the
* curl library user nor by the curl library builder.
*
* Do not deactivate any check, these are done to make sure that the
* library is properly built and used.
*
* You can find further help on the libcurl development mailing list:
* https://cool.haxx.se/mailman/listinfo/curl-library/
*
* NOTE 2
* ------
*
* Some of the following compile time checks are based on the fact
* that the dimension of a constant array can not be a negative one.
* In this way if the compile time verification fails, the compilation
* will fail issuing an error. The error description wording is compiler
* dependent but it will be quite similar to one of the following:
*
* "negative subscript or subscript is too large"
* "array must have at least one element"
* "-1 is an illegal array size"
* "size of array is negative"
*
* If you are building an application which tries to use an already
* built libcurl library and you are getting this kind of errors on
* this file, it is a clear indication that there is a mismatch between
* how the library was built and how you are trying to use it for your
* application. Your already compiled or binary library provider is the
* only one who can give you the details you need to properly use it.
*/

/*
* Verify that some macros are actually defined.
*/

#ifndef CURL_SIZEOF_LONG
# error "CURL_SIZEOF_LONG definition is missing!"
Error Compilation_aborted_CURL_SIZEOF_LONG_is_missing
#endif

#ifndef CURL_TYPEOF_CURL_SOCKLEN_T
# error "CURL_TYPEOF_CURL_SOCKLEN_T definition is missing!"
Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_is_missing
#endif

#ifndef CURL_SIZEOF_CURL_SOCKLEN_T
# error "CURL_SIZEOF_CURL_SOCKLEN_T definition is missing!"
Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_is_missing
#endif

#ifndef CURL_TYPEOF_CURL_OFF_T
# error "CURL_TYPEOF_CURL_OFF_T definition is missing!"
Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_is_missing
#endif

#ifndef CURL_FORMAT_CURL_OFF_T
# error "CURL_FORMAT_CURL_OFF_T definition is missing!"
Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_is_missing
#endif

#ifndef CURL_FORMAT_CURL_OFF_TU
# error "CURL_FORMAT_CURL_OFF_TU definition is missing!"
Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_is_missing
#endif

#ifndef CURL_FORMAT_OFF_T
# error "CURL_FORMAT_OFF_T definition is missing!"
Error Compilation_aborted_CURL_FORMAT_OFF_T_is_missing
#endif

#ifndef CURL_SIZEOF_CURL_OFF_T
# error "CURL_SIZEOF_CURL_OFF_T definition is missing!"
Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_is_missing
#endif

#ifndef CURL_SUFFIX_CURL_OFF_T
# error "CURL_SUFFIX_CURL_OFF_T definition is missing!"
Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_is_missing
#endif

#ifndef CURL_SUFFIX_CURL_OFF_TU
# error "CURL_SUFFIX_CURL_OFF_TU definition is missing!"
Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_is_missing
#endif

/*
* Macros private to this header file.
*/

#define CurlchkszEQ(t, s) sizeof(t) == s ? 1 : -1

#define CurlchkszGE(t1, t2) sizeof(t1) >= sizeof(t2) ? 1 : -1

/*
* Verify that the size previously defined and expected for long
* is the same as the one reported by sizeof() at compile time.
*/

typedef char
__curl_rule_01__
[CurlchkszEQ(long, CURL_SIZEOF_LONG)];

/*
* Verify that the size previously defined and expected for
* curl_off_t is actually the the same as the one reported
* by sizeof() at compile time.
*/

typedef char
__curl_rule_02__
[CurlchkszEQ(curl_off_t, CURL_SIZEOF_CURL_OFF_T)];

/*
* Verify at compile time that the size of curl_off_t as reported
* by sizeof() is greater or equal than the one reported for long
* for the current compilation.
*/

typedef char
__curl_rule_03__
[CurlchkszGE(curl_off_t, long)];

/*
* Verify that the size previously defined and expected for
* curl_socklen_t is actually the the same as the one reported
* by sizeof() at compile time.
*/

typedef char
__curl_rule_04__
[CurlchkszEQ(curl_socklen_t, CURL_SIZEOF_CURL_SOCKLEN_T)];

/*
* Verify at compile time that the size of curl_socklen_t as reported
* by sizeof() is greater or equal than the one reported for int for
* the current compilation.
*/

typedef char
__curl_rule_05__
[CurlchkszGE(curl_socklen_t, int)];

/* ================================================================ */
/* EXTERNALLY AND INTERNALLY VISIBLE DEFINITIONS */
/* ================================================================ */

/*
* CURL_ISOCPP and CURL_OFF_T_C definitions are done here in order to allow
* these to be visible and exported by the external libcurl interface API,
* while also making them visible to the library internals, simply including
* curl_setup.h, without actually needing to include curl.h internally.
* If some day this section would grow big enough, all this should be moved
* to its own header file.
*/

/*
* Figure out if we can use the ## preprocessor operator, which is supported
* by ISO/ANSI C and C++. Some compilers support it without setting __STDC__
* or __cplusplus so we need to carefully check for them too.
*/

#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \
defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \
defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \
defined(__ILEC400__)
/* This compiler is believed to have an ISO compatible preprocessor */
#define CURL_ISOCPP
#else
/* This compiler is believed NOT to have an ISO compatible preprocessor */
#undef CURL_ISOCPP
#endif

/*
* Macros for minimum-width signed and unsigned curl_off_t integer constants.
*/

#if defined(__BORLANDC__) && (__BORLANDC__ == 0x0551)
# define __CURL_OFF_T_C_HLPR2(x) x
# define __CURL_OFF_T_C_HLPR1(x) __CURL_OFF_T_C_HLPR2(x)
# define CURL_OFF_T_C(Val) __CURL_OFF_T_C_HLPR1(Val) ## \
__CURL_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_T)
# define CURL_OFF_TU_C(Val) __CURL_OFF_T_C_HLPR1(Val) ## \
__CURL_OFF_T_C_HLPR1(CURL_SUFFIX_CURL_OFF_TU)
#else
# ifdef CURL_ISOCPP
# define __CURL_OFF_T_C_HLPR2(Val,Suffix) Val ## Suffix
# else
# define __CURL_OFF_T_C_HLPR2(Val,Suffix) Val/**/Suffix
# endif
# define __CURL_OFF_T_C_HLPR1(Val,Suffix) __CURL_OFF_T_C_HLPR2(Val,Suffix)
# define CURL_OFF_T_C(Val) __CURL_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_T)
# define CURL_OFF_TU_C(Val) __CURL_OFF_T_C_HLPR1(Val,CURL_SUFFIX_CURL_OFF_TU)
#endif

/*
* Get rid of macros private to this header file.
*/

#undef CurlchkszEQ
#undef CurlchkszGE

/*
* Get rid of macros not intended to exist beyond this point.
*/

#undef CURL_PULL_WS2TCPIP_H
#undef CURL_PULL_SYS_TYPES_H
#undef CURL_PULL_SYS_SOCKET_H
#undef CURL_PULL_SYS_POLL_H
#undef CURL_PULL_STDINT_H
#undef CURL_PULL_INTTYPES_H

#undef CURL_TYPEOF_CURL_SOCKLEN_T
#undef CURL_TYPEOF_CURL_OFF_T

#ifdef CURL_NO_OLDIES
#undef CURL_FORMAT_OFF_T /* not required since 7.19.0 - obsoleted in 7.20.0 */
#endif

#endif /* __CURL_CURLRULES_H */
77 changes: 77 additions & 0 deletions Externals/curl/include/curl/curlver.h
@@ -0,0 +1,77 @@
#ifndef __CURL_CURLVER_H
#define __CURL_CURLVER_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.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 - 2016 Daniel Stenberg, <daniel@haxx.se>."

/* This is the version number of the libcurl package from which this header
file origins: */
#define LIBCURL_VERSION "7.49.1"

/* The numeric version number is also available "in parts" by using these
defines: */
#define LIBCURL_VERSION_MAJOR 7
#define LIBCURL_VERSION_MINOR 49
#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 0x073101

/*
* This is the date and time when the full source package was created. The
* timestamp is not stored in git, as the timestamp is properly set in the
* tarballs by the maketgz script.
*
* The format of the date should follow this template:
*
* "Mon Feb 12 11:35:33 UTC 2007"
*/
#define LIBCURL_TIMESTAMP "Mon May 30 06:15:46 UTC 2016"

#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|z)
#define CURL_AT_LEAST_VERSION(x,y,z) \
(LIBCURL_VERSION_NUM >= CURL_VERSION_BITS(x, y, z))

#endif /* __CURL_CURLVER_H */
102 changes: 102 additions & 0 deletions Externals/curl/include/curl/easy.h
@@ -0,0 +1,102 @@
#ifndef __CURL_EASY_H
#define __CURL_EASY_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif

CURL_EXTERN CURL *curl_easy_init(void);
CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
CURL_EXTERN CURLcode curl_easy_perform(CURL *curl);
CURL_EXTERN void curl_easy_cleanup(CURL *curl);

/*
* NAME curl_easy_getinfo()
*
* DESCRIPTION
*
* Request internal information from the curl session with this function. The
* third argument MUST be a pointer to a long, a pointer to a char * or a
* pointer to a double (as the documentation describes elsewhere). The data
* pointed to will be filled in accordingly and can be relied upon only if the
* function returns CURLE_OK. This function is intended to get used *AFTER* a
* performed transfer, all results from this function are undefined until the
* transfer is completed.
*/
CURL_EXTERN CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ...);


/*
* NAME curl_easy_duphandle()
*
* DESCRIPTION
*
* Creates a new curl session handle with the same options set for the handle
* passed in. Duplicating a handle could only be a matter of cloning data and
* options, internal state info and things like persistent connections cannot
* be transferred. It is useful in multithreaded applications when you can run
* curl_easy_duphandle() for each new thread to avoid a series of identical
* curl_easy_setopt() invokes in every thread.
*/
CURL_EXTERN CURL* curl_easy_duphandle(CURL *curl);

/*
* NAME curl_easy_reset()
*
* DESCRIPTION
*
* Re-initializes a CURL handle to the default values. This puts back the
* handle to the same state as it was in when it was just created.
*
* It does keep: live connections, the Session ID cache, the DNS cache and the
* cookies.
*/
CURL_EXTERN void curl_easy_reset(CURL *curl);

/*
* NAME curl_easy_recv()
*
* DESCRIPTION
*
* Receives data from the connected socket. Use after successful
* curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
*/
CURL_EXTERN CURLcode curl_easy_recv(CURL *curl, void *buffer, size_t buflen,
size_t *n);

/*
* NAME curl_easy_send()
*
* DESCRIPTION
*
* Sends data over the connected socket. Use after successful
* curl_easy_perform() with CURLOPT_CONNECT_ONLY option.
*/
CURL_EXTERN CURLcode curl_easy_send(CURL *curl, const void *buffer,
size_t buflen, size_t *n);

#ifdef __cplusplus
}
#endif

#endif
50 changes: 50 additions & 0 deletions Externals/curl/include/curl/mprintf.h
@@ -0,0 +1,50 @@
#ifndef __CURL_MPRINTF_H
#define __CURL_MPRINTF_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/

#include <stdarg.h>
#include <stdio.h> /* needed for FILE */
#include "curl.h" /* for CURL_EXTERN */

#ifdef __cplusplus
extern "C" {
#endif

CURL_EXTERN int curl_mprintf(const char *format, ...);
CURL_EXTERN int curl_mfprintf(FILE *fd, const char *format, ...);
CURL_EXTERN int curl_msprintf(char *buffer, const char *format, ...);
CURL_EXTERN int curl_msnprintf(char *buffer, size_t maxlength,
const char *format, ...);
CURL_EXTERN int curl_mvprintf(const char *format, va_list args);
CURL_EXTERN int curl_mvfprintf(FILE *fd, const char *format, va_list args);
CURL_EXTERN int curl_mvsprintf(char *buffer, const char *format, va_list args);
CURL_EXTERN int curl_mvsnprintf(char *buffer, size_t maxlength,
const char *format, va_list args);
CURL_EXTERN char *curl_maprintf(const char *format, ...);
CURL_EXTERN char *curl_mvaprintf(const char *format, va_list args);

#ifdef __cplusplus
}
#endif

#endif /* __CURL_MPRINTF_H */
435 changes: 435 additions & 0 deletions Externals/curl/include/curl/multi.h

Large diffs are not rendered by default.

33 changes: 33 additions & 0 deletions Externals/curl/include/curl/stdcheaders.h
@@ -0,0 +1,33 @@
#ifndef __STDC_HEADERS_H
#define __STDC_HEADERS_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2010, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.haxx.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
***************************************************************************/

#include <sys/types.h>

size_t fread (void *, size_t, size_t, FILE *);
size_t fwrite (const void *, size_t, size_t, FILE *);

int strcasecmp(const char *, const char *);
int strncasecmp(const char *, const char *, size_t);

#endif /* __STDC_HEADERS_H */
622 changes: 622 additions & 0 deletions Externals/curl/include/curl/typecheck-gcc.h

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions Externals/curl/lib/CMakeLists.txt
@@ -0,0 +1,13 @@
set(LIB_NAME libcurl)

add_definitions(-DHAVE_CONFIG_H)
include_directories(.)

file(GLOB SRCS *.c vauth/*.c vtls/*.c)
add_library(
curl
STATIC
${SRCS}
)

target_link_libraries(curl ${MBEDTLS_LIBRARIES})
77 changes: 77 additions & 0 deletions Externals/curl/lib/amigaos.c
@@ -0,0 +1,77 @@
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.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_setup.h"

#if defined(__AMIGA__) && !defined(__ixemul__)

#include <amitcp/socketbasetags.h>

#include "amigaos.h"

struct Library *SocketBase = NULL;
extern int errno, h_errno;

#ifdef __libnix__
#include <stabs.h>
void __request(const char *msg);
#else
# define __request(msg) Printf(msg "\n\a")
#endif

void Curl_amiga_cleanup()
{
if(SocketBase) {
CloseLibrary(SocketBase);
SocketBase = NULL;
}
}

bool Curl_amiga_init()
{
if(!SocketBase)
SocketBase = OpenLibrary("bsdsocket.library", 4);

if(!SocketBase) {
__request("No TCP/IP Stack running!");
return FALSE;
}

if(SocketBaseTags(SBTM_SETVAL(SBTC_ERRNOPTR(sizeof(errno))), (ULONG) &errno,
SBTM_SETVAL(SBTC_LOGTAGPTR), (ULONG) "cURL",
TAG_DONE)) {
__request("SocketBaseTags ERROR");
return FALSE;
}

#ifndef __libnix__
atexit(Curl_amiga_cleanup);
#endif

return TRUE;
}

#ifdef __libnix__
ADD2EXIT(Curl_amiga_cleanup, -50);
#endif

#endif /* __AMIGA__ && ! __ixemul__ */
39 changes: 39 additions & 0 deletions Externals/curl/lib/amigaos.h
@@ -0,0 +1,39 @@
#ifndef HEADER_CURL_AMIGAOS_H
#define HEADER_CURL_AMIGAOS_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.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_setup.h"

#if defined(__AMIGA__) && !defined(__ixemul__)

bool Curl_amiga_init();
void Curl_amiga_cleanup();

#else

#define Curl_amiga_init() 1
#define Curl_amiga_cleanup() Curl_nop_stmt

#endif

#endif /* HEADER_CURL_AMIGAOS_H */

104 changes: 104 additions & 0 deletions Externals/curl/lib/arpa_telnet.h
@@ -0,0 +1,104 @@
#ifndef HEADER_CURL_ARPA_TELNET_H
#define HEADER_CURL_ARPA_TELNET_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.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.
*
***************************************************************************/
#ifndef CURL_DISABLE_TELNET
/*
* Telnet option defines. Add more here if in need.
*/
#define CURL_TELOPT_BINARY 0 /* binary 8bit data */
#define CURL_TELOPT_ECHO 1 /* just echo! */
#define CURL_TELOPT_SGA 3 /* Suppress Go Ahead */
#define CURL_TELOPT_EXOPL 255 /* EXtended OPtions List */
#define CURL_TELOPT_TTYPE 24 /* Terminal TYPE */
#define CURL_TELOPT_NAWS 31 /* Negotiate About Window Size */
#define CURL_TELOPT_XDISPLOC 35 /* X DISPlay LOCation */

#define CURL_TELOPT_NEW_ENVIRON 39 /* NEW ENVIRONment variables */
#define CURL_NEW_ENV_VAR 0
#define CURL_NEW_ENV_VALUE 1

/*
* The telnet options represented as strings
*/
static const char * const telnetoptions[]=
{
"BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD",
"NAME", "STATUS", "TIMING MARK", "RCTE",
"NAOL", "NAOP", "NAOCRD", "NAOHTS",
"NAOHTD", "NAOFFD", "NAOVTS", "NAOVTD",
"NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO",
"DE TERMINAL", "SUPDUP", "SUPDUP OUTPUT", "SEND LOCATION",
"TERM TYPE", "END OF RECORD", "TACACS UID", "OUTPUT MARKING",
"TTYLOC", "3270 REGIME", "X3 PAD", "NAWS",
"TERM SPEED", "LFLOW", "LINEMODE", "XDISPLOC",
"OLD-ENVIRON", "AUTHENTICATION", "ENCRYPT", "NEW-ENVIRON"
};

#define CURL_TELOPT_MAXIMUM CURL_TELOPT_NEW_ENVIRON

#define CURL_TELOPT_OK(x) ((x) <= CURL_TELOPT_MAXIMUM)
#define CURL_TELOPT(x) telnetoptions[x]

#define CURL_NTELOPTS 40

/*
* First some defines
*/
#define CURL_xEOF 236 /* End Of File */
#define CURL_SE 240 /* Sub negotiation End */
#define CURL_NOP 241 /* No OPeration */
#define CURL_DM 242 /* Data Mark */
#define CURL_GA 249 /* Go Ahead, reverse the line */
#define CURL_SB 250 /* SuBnegotiation */
#define CURL_WILL 251 /* Our side WILL use this option */
#define CURL_WONT 252 /* Our side WON'T use this option */
#define CURL_DO 253 /* DO use this option! */
#define CURL_DONT 254 /* DON'T use this option! */
#define CURL_IAC 255 /* Interpret As Command */

/*
* Then those numbers represented as strings:
*/
static const char * const telnetcmds[]=
{
"EOF", "SUSP", "ABORT", "EOR", "SE",
"NOP", "DMARK", "BRK", "IP", "AO",
"AYT", "EC", "EL", "GA", "SB",
"WILL", "WONT", "DO", "DONT", "IAC"
};

#define CURL_TELCMD_MINIMUM CURL_xEOF /* the first one */
#define CURL_TELCMD_MAXIMUM CURL_IAC /* surprise, 255 is the last one! ;-) */

#define CURL_TELQUAL_IS 0
#define CURL_TELQUAL_SEND 1
#define CURL_TELQUAL_INFO 2
#define CURL_TELQUAL_NAME 3

#define CURL_TELCMD_OK(x) ( ((unsigned int)(x) >= CURL_TELCMD_MINIMUM) && \
((unsigned int)(x) <= CURL_TELCMD_MAXIMUM) )
#define CURL_TELCMD(x) telnetcmds[(x)-CURL_TELCMD_MINIMUM]

#endif /* CURL_DISABLE_TELNET */

#endif /* HEADER_CURL_ARPA_TELNET_H */
691 changes: 691 additions & 0 deletions Externals/curl/lib/asyn-ares.c

Large diffs are not rendered by default.

697 changes: 697 additions & 0 deletions Externals/curl/lib/asyn-thread.c

Large diffs are not rendered by default.

168 changes: 168 additions & 0 deletions Externals/curl/lib/asyn.h
@@ -0,0 +1,168 @@
#ifndef HEADER_CURL_ASYN_H
#define HEADER_CURL_ASYN_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.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_setup.h"
#include "curl_addrinfo.h"

struct addrinfo;
struct hostent;
struct SessionHandle;
struct connectdata;
struct Curl_dns_entry;

/*
* This header defines all functions in the internal asynch resolver interface.
* All asynch resolvers need to provide these functions.
* asyn-ares.c and asyn-thread.c are the current implementations of asynch
* resolver backends.
*/

/*
* Curl_resolver_global_init()
*
* Called from curl_global_init() to initialize global resolver environment.
* Returning anything else than CURLE_OK fails curl_global_init().
*/
int Curl_resolver_global_init(void);

/*
* Curl_resolver_global_cleanup()
* Called from curl_global_cleanup() to destroy global resolver environment.
*/
void Curl_resolver_global_cleanup(void);

/*
* Curl_resolver_init()
* Called from curl_easy_init() -> Curl_open() to initialize resolver
* URL-state specific environment ('resolver' member of the UrlState
* structure). Should fill the passed pointer by the initialized handler.
* Returning anything else than CURLE_OK fails curl_easy_init() with the
* correspondent code.
*/
CURLcode Curl_resolver_init(void **resolver);

/*
* Curl_resolver_cleanup()
* Called from curl_easy_cleanup() -> Curl_close() to cleanup resolver
* URL-state specific environment ('resolver' member of the UrlState
* structure). Should destroy the handler and free all resources connected to
* it.
*/
void Curl_resolver_cleanup(void *resolver);

/*
* Curl_resolver_duphandle()
* Called from curl_easy_duphandle() to duplicate resolver URL-state specific
* environment ('resolver' member of the UrlState structure). Should
* duplicate the 'from' handle and pass the resulting handle to the 'to'
* pointer. Returning anything else than CURLE_OK causes failed
* curl_easy_duphandle() call.
*/
int Curl_resolver_duphandle(void **to, void *from);

/*
* Curl_resolver_cancel().
*
* It is called from inside other functions to cancel currently performing
* resolver request. Should also free any temporary resources allocated to
* perform a request.
*/
void Curl_resolver_cancel(struct connectdata *conn);

/* Curl_resolver_getsock()
*
* This function is called from the multi_getsock() function. 'sock' is a
* pointer to an array to hold the file descriptors, with 'numsock' being the
* size of that array (in number of entries). This function is supposed to
* return bitmask indicating what file descriptors (referring to array indexes
* in the 'sock' array) to wait for, read/write.
*/
int Curl_resolver_getsock(struct connectdata *conn, curl_socket_t *sock,
int numsocks);

/*
* Curl_resolver_is_resolved()
*
* Called repeatedly to check if a previous name resolve request has
* completed. It should also make sure to time-out if the operation seems to
* take too long.
*
* Returns normal CURLcode errors.
*/
CURLcode Curl_resolver_is_resolved(struct connectdata *conn,
struct Curl_dns_entry **dns);

/*
* Curl_resolver_wait_resolv()
*
* waits for a resolve to finish. This function should be avoided since using
* this risk getting the multi interface to "hang".
*
* If 'entry' is non-NULL, make it point to the resolved dns entry
*
* Returns CURLE_COULDNT_RESOLVE_HOST if the host was not resolved, and
* CURLE_OPERATION_TIMEDOUT if a time-out occurred.
*/
CURLcode Curl_resolver_wait_resolv(struct connectdata *conn,
struct Curl_dns_entry **dnsentry);

/*
* Curl_resolver_getaddrinfo() - when using this resolver
*
* Returns name information about the given hostname and port number. If
* successful, the 'hostent' is returned and the forth argument will point to
* memory we need to free after use. That memory *MUST* be freed with
* Curl_freeaddrinfo(), nothing else.
*
* Each resolver backend must of course make sure to return data in the
* correct format to comply with this.
*/
Curl_addrinfo *Curl_resolver_getaddrinfo(struct connectdata *conn,
const char *hostname,
int port,
int *waitp);

#ifndef CURLRES_ASYNCH
/* convert these functions if an asynch resolver isn't used */
#define Curl_resolver_cancel(x) Curl_nop_stmt
#define Curl_resolver_is_resolved(x,y) CURLE_COULDNT_RESOLVE_HOST
#define Curl_resolver_wait_resolv(x,y) CURLE_COULDNT_RESOLVE_HOST
#define Curl_resolver_getsock(x,y,z) 0
#define Curl_resolver_duphandle(x,y) CURLE_OK
#define Curl_resolver_init(x) CURLE_OK
#define Curl_resolver_global_init() CURLE_OK
#define Curl_resolver_global_cleanup() Curl_nop_stmt
#define Curl_resolver_cleanup(x) Curl_nop_stmt
#endif

#ifdef CURLRES_ASYNCH
#define Curl_resolver_asynch() 1
#else
#define Curl_resolver_asynch() 0
#endif


/********** end of generic resolver interface functions *****************/
#endif /* HEADER_CURL_ASYN_H */
315 changes: 315 additions & 0 deletions Externals/curl/lib/base64.c
@@ -0,0 +1,315 @@
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.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.
*
***************************************************************************/

/* Base64 encoding/decoding */

#include "curl_setup.h"
#include "urldata.h" /* for the SessionHandle definition */
#include "warnless.h"
#include "curl_base64.h"
#include "non-ascii.h"

/* The last 3 #include files should be in this order */
#include "curl_printf.h"
#include "curl_memory.h"
#include "memdebug.h"

/* ---- Base64 Encoding/Decoding Table --- */
static const char base64[]=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

/* The Base 64 encoding with an URL and filename safe alphabet, RFC 4648
section 5 */
static const char base64url[]=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";

static size_t decodeQuantum(unsigned char *dest, const char *src)
{
size_t padding = 0;
const char *s, *p;
unsigned long i, x = 0;

for(i = 0, s = src; i < 4; i++, s++) {
unsigned long v = 0;

if(*s == '=') {
x = (x << 6);
padding++;
}
else {
p = base64;

while(*p && (*p != *s)) {
v++;
p++;
}

if(*p == *s)
x = (x << 6) + v;
else
return 0;
}
}

if(padding < 1)
dest[2] = curlx_ultouc(x & 0xFFUL);

x >>= 8;
if(padding < 2)
dest[1] = curlx_ultouc(x & 0xFFUL);

x >>= 8;
dest[0] = curlx_ultouc(x & 0xFFUL);

return 3 - padding;
}

/*
* Curl_base64_decode()
*
* Given a base64 NUL-terminated string at src, decode it and return a
* pointer in *outptr to a newly allocated memory area holding decoded
* data. Size of decoded data is returned in variable pointed by outlen.
*
* Returns CURLE_OK on success, otherwise specific error code. Function
* output shall not be considered valid unless CURLE_OK is returned.
*
* When decoded data length is 0, returns NULL in *outptr.
*
* @unittest: 1302
*/
CURLcode Curl_base64_decode(const char *src,
unsigned char **outptr, size_t *outlen)
{
size_t srclen = 0;
size_t length = 0;
size_t padding = 0;
size_t i;
size_t numQuantums;
size_t rawlen = 0;
unsigned char *pos;
unsigned char *newstr;

*outptr = NULL;
*outlen = 0;
srclen = strlen(src);

/* Check the length of the input string is valid */
if(!srclen || srclen % 4)
return CURLE_BAD_CONTENT_ENCODING;

/* Find the position of any = padding characters */
while((src[length] != '=') && src[length])
length++;

/* A maximum of two = padding characters is allowed */
if(src[length] == '=') {
padding++;
if(src[length + 1] == '=')
padding++;
}

/* Check the = padding characters weren't part way through the input */
if(length + padding != srclen)
return CURLE_BAD_CONTENT_ENCODING;

/* Calculate the number of quantums */
numQuantums = srclen / 4;

/* Calculate the size of the decoded string */
rawlen = (numQuantums * 3) - padding;

/* Allocate our buffer including room for a zero terminator */
newstr = malloc(rawlen + 1);
if(!newstr)
return CURLE_OUT_OF_MEMORY;

pos = newstr;

/* Decode the quantums */
for(i = 0; i < numQuantums; i++) {
size_t result = decodeQuantum(pos, src);
if(!result) {
free(newstr);

return CURLE_BAD_CONTENT_ENCODING;
}

pos += result;
src += 4;
}

/* Zero terminate */
*pos = '\0';

/* Return the decoded data */
*outptr = newstr;
*outlen = rawlen;

return CURLE_OK;
}

static CURLcode base64_encode(const char *table64,
struct SessionHandle *data,
const char *inputbuff, size_t insize,
char **outptr, size_t *outlen)
{
CURLcode result;
unsigned char ibuf[3];
unsigned char obuf[4];
int i;
int inputparts;
char *output;
char *base64data;
char *convbuf = NULL;

const char *indata = inputbuff;

*outptr = NULL;
*outlen = 0;

if(!insize)
insize = strlen(indata);

base64data = output = malloc(insize * 4 / 3 + 4);
if(!output)
return CURLE_OUT_OF_MEMORY;

/*
* The base64 data needs to be created using the network encoding
* not the host encoding. And we can't change the actual input
* so we copy it to a buffer, translate it, and use that instead.
*/
result = Curl_convert_clone(data, indata, insize, &convbuf);
if(result) {
free(output);
return result;
}

if(convbuf)
indata = (char *)convbuf;

while(insize > 0) {
for(i = inputparts = 0; i < 3; i++) {
if(insize > 0) {
inputparts++;
ibuf[i] = (unsigned char) *indata;
indata++;
insize--;
}
else
ibuf[i] = 0;
}

obuf[0] = (unsigned char) ((ibuf[0] & 0xFC) >> 2);
obuf[1] = (unsigned char) (((ibuf[0] & 0x03) << 4) | \
((ibuf[1] & 0xF0) >> 4));
obuf[2] = (unsigned char) (((ibuf[1] & 0x0F) << 2) | \
((ibuf[2] & 0xC0) >> 6));
obuf[3] = (unsigned char) (ibuf[2] & 0x3F);

switch(inputparts) {
case 1: /* only one byte read */
snprintf(output, 5, "%c%c==",
table64[obuf[0]],
table64[obuf[1]]);
break;

case 2: /* two bytes read */
snprintf(output, 5, "%c%c%c=",
table64[obuf[0]],
table64[obuf[1]],
table64[obuf[2]]);
break;

default:
snprintf(output, 5, "%c%c%c%c",
table64[obuf[0]],
table64[obuf[1]],
table64[obuf[2]],
table64[obuf[3]]);
break;
}
output += 4;
}

/* Zero terminate */
*output = '\0';

/* Return the pointer to the new data (allocated memory) */
*outptr = base64data;

free(convbuf);

/* Return the length of the new data */
*outlen = strlen(base64data);

return CURLE_OK;
}

/*
* Curl_base64_encode()
*
* Given a pointer to an input buffer and an input size, encode it and
* return a pointer in *outptr to a newly allocated memory area holding
* encoded data. Size of encoded data is returned in variable pointed by
* outlen.
*
* Input length of 0 indicates input buffer holds a NUL-terminated string.
*
* Returns CURLE_OK on success, otherwise specific error code. Function
* output shall not be considered valid unless CURLE_OK is returned.
*
* When encoded data length is 0, returns NULL in *outptr.
*
* @unittest: 1302
*/
CURLcode Curl_base64_encode(struct SessionHandle *data,
const char *inputbuff, size_t insize,
char **outptr, size_t *outlen)
{
return base64_encode(base64, data, inputbuff, insize, outptr, outlen);
}

/*
* Curl_base64url_encode()
*
* Given a pointer to an input buffer and an input size, encode it and
* return a pointer in *outptr to a newly allocated memory area holding
* encoded data. Size of encoded data is returned in variable pointed by
* outlen.
*
* Input length of 0 indicates input buffer holds a NUL-terminated string.
*
* Returns CURLE_OK on success, otherwise specific error code. Function
* output shall not be considered valid unless CURLE_OK is returned.
*
* When encoded data length is 0, returns NULL in *outptr.
*
* @unittest: 1302
*/
CURLcode Curl_base64url_encode(struct SessionHandle *data,
const char *inputbuff, size_t insize,
char **outptr, size_t *outlen)
{
return base64_encode(base64url, data, inputbuff, insize, outptr, outlen);
}
493 changes: 493 additions & 0 deletions Externals/curl/lib/checksrc.pl

Large diffs are not rendered by default.

166 changes: 166 additions & 0 deletions Externals/curl/lib/config-amigaos.h
@@ -0,0 +1,166 @@
#ifndef HEADER_CURL_CONFIG_AMIGAOS_H
#define HEADER_CURL_CONFIG_AMIGAOS_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.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.
*
***************************************************************************/

/* ================================================================ */
/* Hand crafted config file for AmigaOS */
/* ================================================================ */

#ifdef __AMIGA__ /* Any AmigaOS flavour */

#define HAVE_ARPA_INET_H 1
#define HAVE_CLOSESOCKET_CAMEL 1
#define HAVE_ERRNO_H 1
#define HAVE_GETHOSTBYADDR 1
#define HAVE_INET_ADDR 1
#define HAVE_INTTYPES_H 1
#define HAVE_IOCTLSOCKET_CAMEL 1
#define HAVE_IOCTLSOCKET_CAMEL_FIONBIO 1
#define HAVE_LIBCRYPTO 1
#define HAVE_LIBSSL 1
#define HAVE_LIBZ 1
#define HAVE_LONGLONG 1
#define HAVE_MALLOC_H 1
#define HAVE_MEMORY_H 1
#define HAVE_NETDB_H 1
#define HAVE_NETINET_IN_H 1
#define HAVE_NET_IF_H 1
#define HAVE_OPENSSL_CRYPTO_H 1
#define HAVE_OPENSSL_ERR_H 1
#define HAVE_OPENSSL_PEM_H 1
#define HAVE_OPENSSL_RSA_H 1
#define HAVE_OPENSSL_SSL_H 1
#define HAVE_OPENSSL_X509_H 1
#define HAVE_PERROR 1
#define HAVE_PWD_H 1
#define HAVE_RAND_EGD 1
#define HAVE_RAND_STATUS 1
#define HAVE_SELECT 1
#define HAVE_SETJMP_H 1
#define HAVE_SGTTY_H 1
#define HAVE_SIGNAL 1
#define HAVE_SIGNAL_H 1
#define HAVE_SIG_ATOMIC_T 1
#define HAVE_SOCKET 1
#define HAVE_STRCASECMP 1
#define HAVE_STRDUP 1
#define HAVE_STRFTIME 1
#define HAVE_STRICMP 1
#define HAVE_STRINGS_H 1
#define HAVE_STRING_H 1
#define HAVE_STRSTR 1
#define HAVE_STRUCT_TIMEVAL 1
#define HAVE_SYS_PARAM_H 1
#define HAVE_SYS_SOCKET_H 1
#define HAVE_SYS_SOCKIO_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TIME_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_TIME_H 1
#define HAVE_UNAME 1
#define HAVE_UNISTD_H 1
#define HAVE_UTIME 1
#define HAVE_UTIME_H 1
#define HAVE_WRITABLE_ARGV 1
#define HAVE_ZLIB_H 1
#define HAVE_SYS_IOCTL_H 1

#define NEED_MALLOC_H 1

#define SIZEOF_INT 4
#define SIZEOF_SHORT 2
#define SIZEOF_SIZE_T 4

#define USE_MANUAL 1
#define USE_OPENSSL 1
#define CURL_DISABLE_LDAP 1

#define OS "AmigaOS"

#define PACKAGE "curl"
#define PACKAGE_BUGREPORT "curl-bug@haxx.se"
#define PACKAGE_NAME "curl"
#define PACKAGE_STRING "curl -"
#define PACKAGE_TARNAME "curl"
#define PACKAGE_VERSION "-"
#define CURL_CA_BUNDLE "s:curl-ca-bundle.crt"

#define RETSIGTYPE void
#define SELECT_TYPE_ARG1 int
#define SELECT_TYPE_ARG234 (fd_set *)
#define SELECT_TYPE_ARG5 (struct timeval *)

#define STDC_HEADERS 1
#define TIME_WITH_SYS_TIME 1

#define in_addr_t int

#ifndef F_OK
# define F_OK 0
#endif

#ifndef O_RDONLY
# define O_RDONLY 0x0000
#endif

#ifndef LONG_MAX
# define LONG_MAX 0x7fffffffL
#endif

#ifndef LONG_MIN
# define LONG_MIN (-0x7fffffffL-1)
#endif

#define HAVE_GETNAMEINFO 1
#define GETNAMEINFO_QUAL_ARG1 const
#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
#define GETNAMEINFO_TYPE_ARG2 int
#define GETNAMEINFO_TYPE_ARG46 size_t
#define GETNAMEINFO_TYPE_ARG7 int

#define HAVE_RECV 1
#define RECV_TYPE_ARG1 long
#define RECV_TYPE_ARG2 char *
#define RECV_TYPE_ARG3 long
#define RECV_TYPE_ARG4 long
#define RECV_TYPE_RETV long

#define HAVE_RECVFROM 1
#define RECVFROM_TYPE_ARG1 long
#define RECVFROM_TYPE_ARG2 char
#define RECVFROM_TYPE_ARG3 long
#define RECVFROM_TYPE_ARG4 long
#define RECVFROM_TYPE_ARG5 struct sockaddr
#define RECVFROM_TYPE_ARG6 long
#define RECVFROM_TYPE_RETV long

#define HAVE_SEND 1
#define SEND_TYPE_ARG1 int
#define SEND_QUAL_ARG2 const
#define SEND_TYPE_ARG2 char *
#define SEND_TYPE_ARG3 int
#define SEND_TYPE_ARG4 int
#define SEND_TYPE_RETV int

#endif /* __AMIGA__ */
#endif /* HEADER_CURL_CONFIG_AMIGAOS_H */
181 changes: 181 additions & 0 deletions Externals/curl/lib/config-dos.h
@@ -0,0 +1,181 @@
#ifndef HEADER_CURL_CONFIG_DOS_H
#define HEADER_CURL_CONFIG_DOS_H
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.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.
*
***************************************************************************/


/* ================================================================ */
/* lib/config-dos.h - Hand crafted config file for DOS */
/* ================================================================ */

#if defined(DJGPP)
#define OS "MSDOS/djgpp"
#elif defined(__HIGHC__)
#define OS "MSDOS/HighC"
#elif defined(__WATCOMC__)
#define OS "MSDOS/Watcom"
#else
#define OS "MSDOS/?"
#endif

#define PACKAGE "curl"

#define HAVE_ARPA_INET_H 1
#define HAVE_ERRNO_H 1
#define HAVE_FCNTL_H 1
#define HAVE_GETADDRINFO 1
#define HAVE_GETNAMEINFO 1
#define HAVE_GETPROTOBYNAME 1
#define HAVE_GETTIMEOFDAY 1
#define HAVE_IO_H 1
#define HAVE_IOCTL 1
#define HAVE_IOCTL_FIONBIO 1
#define HAVE_IOCTLSOCKET 1
#define HAVE_IOCTLSOCKET_FIONBIO 1
#define HAVE_LIMITS_H 1
#define HAVE_LOCALE_H 1
#define HAVE_LONGLONG 1
#define HAVE_MEMORY_H 1
#define HAVE_NETDB_H 1
#define HAVE_NETINET_IN_H 1
#define HAVE_NETINET_TCP_H 1
#define HAVE_NET_IF_H 1
#define HAVE_PROCESS_H 1
#define HAVE_RECV 1
#define HAVE_RECVFROM 1
#define HAVE_SELECT 1
#define HAVE_SEND 1
#define HAVE_SETJMP_H 1
#define HAVE_SETLOCALE 1
#define HAVE_SETMODE 1
#define HAVE_SIGNAL 1
#define HAVE_SOCKET 1
#define HAVE_STRDUP 1
#define HAVE_STRICMP 1
#define HAVE_STRTOLL 1
#define HAVE_STRUCT_TIMEVAL 1
#define HAVE_STRUCT_IN6_ADDR 1
#define HAVE_SYS_IOCTL_H 1
#define HAVE_SYS_SOCKET_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_TIME_H 1
#define HAVE_UNISTD_H 1

#define NEED_MALLOC_H 1

#define RETSIGTYPE void
#define SIZEOF_INT 4
#define SIZEOF_LONG_DOUBLE 16
#define SIZEOF_SHORT 2
#define SIZEOF_SIZE_T 4
#define STDC_HEADERS 1
#define TIME_WITH_SYS_TIME 1

/* Qualifiers for send(), recv(), recvfrom() and getnameinfo(). */

#define SEND_TYPE_ARG1 int
#define SEND_QUAL_ARG2 const
#define SEND_TYPE_ARG2 void *
#define SEND_TYPE_ARG3 int
#define SEND_TYPE_ARG4 int
#define SEND_TYPE_RETV int

#define RECV_TYPE_ARG1 int
#define RECV_TYPE_ARG2 void *
#define RECV_TYPE_ARG3 int
#define RECV_TYPE_ARG4 int
#define RECV_TYPE_RETV int

#define RECVFROM_TYPE_ARG1 int
#define RECVFROM_TYPE_ARG2 void
#define RECVFROM_TYPE_ARG3 int
#define RECVFROM_TYPE_ARG4 int
#define RECVFROM_TYPE_ARG5 struct sockaddr
#define RECVFROM_TYPE_ARG6 int
#define RECVFROM_TYPE_RETV int
#define RECVFROM_TYPE_ARG2_IS_VOID 1

#define GETNAMEINFO_QUAL_ARG1 const
#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
#define GETNAMEINFO_TYPE_ARG2 int
#define GETNAMEINFO_TYPE_ARG46 int
#define GETNAMEINFO_TYPE_ARG7 int

#define BSD

/* CURLDEBUG definition enables memory tracking */
/* #define CURLDEBUG */

/* USE_ZLIB on cmd-line */
#ifdef USE_ZLIB
#define HAVE_ZLIB_H 1
#define HAVE_LIBZ 1
#endif

/* USE_OPENSSL on cmd-line */
#ifdef USE_OPENSSL
#define HAVE_CRYPTO_CLEANUP_ALL_EX_DATA 1
#define HAVE_OPENSSL_ENGINE_H 1
#define OPENSSL_NO_KRB5 1
#endif

/* to disable LDAP */
#define CURL_DISABLE_LDAP 1

#define in_addr_t u_long

#if defined(__HIGHC__) || \
(defined(__GNUC__) && (__GNUC__ < 4))
#define ssize_t int
#endif

#define CURL_CA_BUNDLE getenv("CURL_CA_BUNDLE")

/* Target HAVE_x section */

#if defined(DJGPP)
#define HAVE_BASENAME 1
#define HAVE_STRCASECMP 1
#define HAVE_SIGACTION 1
#define HAVE_SIGSETJMP 1
#define HAVE_SYS_TIME_H 1
#define HAVE_TERMIOS_H 1
#define HAVE_VARIADIC_MACROS_GCC 1

#elif defined(__WATCOMC__)
#define HAVE_STRCASECMP 1

#elif defined(__HIGHC__)
#define HAVE_SYS_TIME_H 1
#define strerror(e) strerror_s_((e))
#endif

#ifdef MSDOS /* Watt-32 */
#define HAVE_CLOSE_S 1
#endif

#undef word
#undef byte

#endif /* HEADER_CURL_CONFIG_DOS_H */