mirror of
https://github.com/izzy2lost/dolphin.git
synced 2026-06-19 01:16:48 -07:00
Externals: Add libcurl.
This commit is contained in:
@@ -16,6 +16,14 @@ option(ENABLE_LTO "Enables Link Time Optimization" OFF)
|
||||
option(ENABLE_GENERIC "Enables generic build that should run on any little-endian host" OFF)
|
||||
option(ENABLE_HEADLESS "Enables running Dolphin as a headless variant" OFF)
|
||||
|
||||
# Maintainers: if you consider blanket disabling this for your users, please
|
||||
# consider the following points:
|
||||
# * No data is being sent without explicit user approval (pop up box at first
|
||||
# launch).
|
||||
# * The Dolphin team relies on the data in order to understand the behavior
|
||||
# of our software in the wild.
|
||||
option(ENABLE_ANALYTICS "Enables opt-in Analytics collection" ON)
|
||||
|
||||
# Enable SDL for default on operating systems that aren't OSX, Android, Linux or Windows.
|
||||
if(NOT APPLE AND NOT ANDROID AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT MSVC)
|
||||
option(ENABLE_SDL "Enables SDL as a generic controller backend" ON)
|
||||
@@ -587,6 +595,11 @@ if(UNIX)
|
||||
add_definitions(-DUSE_MEMORYWATCHER=1)
|
||||
endif()
|
||||
|
||||
if(ENABLE_ANALYTICS)
|
||||
message("Enabling analytics collection (subject to end-user opt-in)")
|
||||
add_definitions(-DUSE_ANALYTICS=1)
|
||||
endif()
|
||||
|
||||
########################################
|
||||
# Setup include directories (and make sure they are preferred over the Externals)
|
||||
#
|
||||
@@ -765,6 +778,17 @@ else()
|
||||
include_directories(Externals/mbedtls/include)
|
||||
endif()
|
||||
|
||||
include(FindCURL OPTIONAL)
|
||||
if(CURL_FOUND)
|
||||
message("Using shared libcurl")
|
||||
include_directories(${CURL_INCLUDE_DIRS})
|
||||
else()
|
||||
message("Using static libcurl from Externals")
|
||||
add_subdirectory(Externals/curl)
|
||||
set(CURL_LIBRARIES curl)
|
||||
include_directories(BEFORE Externals/curl/include)
|
||||
endif()
|
||||
|
||||
if(NOT APPLE)
|
||||
check_lib(SOIL "(no .pc for SOIL)" SOIL SOIL/SOIL.h QUIET)
|
||||
endif()
|
||||
|
||||
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
include_directories(include/)
|
||||
add_subdirectory(lib)
|
||||
Vendored
+22
@@ -0,0 +1,22 @@
|
||||
COPYRIGHT AND PERMISSION NOTICE
|
||||
|
||||
Copyright (c) 1996 - 2016, Daniel Stenberg, <daniel@haxx.se>, and many
|
||||
contributors, see the THANKS file.
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any purpose
|
||||
with or without fee is hereby granted, provided that the above copyright
|
||||
notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
|
||||
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
|
||||
OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of a copyright holder shall not
|
||||
be used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization of the copyright holder.
|
||||
Vendored
+320
@@ -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>
|
||||
Vendored
+272
@@ -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>
|
||||
Vendored
+55
@@ -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
@@ -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
File diff suppressed because it is too large
Load Diff
Vendored
+2439
File diff suppressed because it is too large
Load Diff
+586
File diff suppressed because it is too large
Load Diff
+197
@@ -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
@@ -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
@@ -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
@@ -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 */
|
||||
Vendored
+102
@@ -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
@@ -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 */
|
||||
Vendored
+435
@@ -0,0 +1,435 @@
|
||||
#ifndef __CURL_MULTI_H
|
||||
#define __CURL_MULTI_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.
|
||||
*
|
||||
***************************************************************************/
|
||||
/*
|
||||
This is an "external" header file. Don't give away any internals here!
|
||||
|
||||
GOALS
|
||||
|
||||
o Enable a "pull" interface. The application that uses libcurl decides where
|
||||
and when to ask libcurl to get/send data.
|
||||
|
||||
o Enable multiple simultaneous transfers in the same thread without making it
|
||||
complicated for the application.
|
||||
|
||||
o Enable the application to select() on its own file descriptors and curl's
|
||||
file descriptors simultaneous easily.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
* This header file should not really need to include "curl.h" since curl.h
|
||||
* itself includes this file and we expect user applications to do #include
|
||||
* <curl/curl.h> without the need for especially including multi.h.
|
||||
*
|
||||
* For some reason we added this include here at one point, and rather than to
|
||||
* break existing (wrongly written) libcurl applications, we leave it as-is
|
||||
* but with this warning attached.
|
||||
*/
|
||||
#include "curl.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef void CURLM;
|
||||
|
||||
typedef enum {
|
||||
CURLM_CALL_MULTI_PERFORM = -1, /* please call curl_multi_perform() or
|
||||
curl_multi_socket*() soon */
|
||||
CURLM_OK,
|
||||
CURLM_BAD_HANDLE, /* the passed-in handle is not a valid CURLM handle */
|
||||
CURLM_BAD_EASY_HANDLE, /* an easy handle was not good/valid */
|
||||
CURLM_OUT_OF_MEMORY, /* if you ever get this, you're in deep sh*t */
|
||||
CURLM_INTERNAL_ERROR, /* this is a libcurl bug */
|
||||
CURLM_BAD_SOCKET, /* the passed in socket argument did not match */
|
||||
CURLM_UNKNOWN_OPTION, /* curl_multi_setopt() with unsupported option */
|
||||
CURLM_ADDED_ALREADY, /* an easy handle already added to a multi handle was
|
||||
attempted to get added - again */
|
||||
CURLM_LAST
|
||||
} CURLMcode;
|
||||
|
||||
/* just to make code nicer when using curl_multi_socket() you can now check
|
||||
for CURLM_CALL_MULTI_SOCKET too in the same style it works for
|
||||
curl_multi_perform() and CURLM_CALL_MULTI_PERFORM */
|
||||
#define CURLM_CALL_MULTI_SOCKET CURLM_CALL_MULTI_PERFORM
|
||||
|
||||
/* bitmask bits for CURLMOPT_PIPELINING */
|
||||
#define CURLPIPE_NOTHING 0L
|
||||
#define CURLPIPE_HTTP1 1L
|
||||
#define CURLPIPE_MULTIPLEX 2L
|
||||
|
||||
typedef enum {
|
||||
CURLMSG_NONE, /* first, not used */
|
||||
CURLMSG_DONE, /* This easy handle has completed. 'result' contains
|
||||
the CURLcode of the transfer */
|
||||
CURLMSG_LAST /* last, not used */
|
||||
} CURLMSG;
|
||||
|
||||
struct CURLMsg {
|
||||
CURLMSG msg; /* what this message means */
|
||||
CURL *easy_handle; /* the handle it concerns */
|
||||
union {
|
||||
void *whatever; /* message-specific data */
|
||||
CURLcode result; /* return code for transfer */
|
||||
} data;
|
||||
};
|
||||
typedef struct CURLMsg CURLMsg;
|
||||
|
||||
/* Based on poll(2) structure and values.
|
||||
* We don't use pollfd and POLL* constants explicitly
|
||||
* to cover platforms without poll(). */
|
||||
#define CURL_WAIT_POLLIN 0x0001
|
||||
#define CURL_WAIT_POLLPRI 0x0002
|
||||
#define CURL_WAIT_POLLOUT 0x0004
|
||||
|
||||
struct curl_waitfd {
|
||||
curl_socket_t fd;
|
||||
short events;
|
||||
short revents; /* not supported yet */
|
||||
};
|
||||
|
||||
/*
|
||||
* Name: curl_multi_init()
|
||||
*
|
||||
* Desc: inititalize multi-style curl usage
|
||||
*
|
||||
* Returns: a new CURLM handle to use in all 'curl_multi' functions.
|
||||
*/
|
||||
CURL_EXTERN CURLM *curl_multi_init(void);
|
||||
|
||||
/*
|
||||
* Name: curl_multi_add_handle()
|
||||
*
|
||||
* Desc: add a standard curl handle to the multi stack
|
||||
*
|
||||
* Returns: CURLMcode type, general multi error code.
|
||||
*/
|
||||
CURL_EXTERN CURLMcode curl_multi_add_handle(CURLM *multi_handle,
|
||||
CURL *curl_handle);
|
||||
|
||||
/*
|
||||
* Name: curl_multi_remove_handle()
|
||||
*
|
||||
* Desc: removes a curl handle from the multi stack again
|
||||
*
|
||||
* Returns: CURLMcode type, general multi error code.
|
||||
*/
|
||||
CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle,
|
||||
CURL *curl_handle);
|
||||
|
||||
/*
|
||||
* Name: curl_multi_fdset()
|
||||
*
|
||||
* Desc: Ask curl for its fd_set sets. The app can use these to select() or
|
||||
* poll() on. We want curl_multi_perform() called as soon as one of
|
||||
* them are ready.
|
||||
*
|
||||
* Returns: CURLMcode type, general multi error code.
|
||||
*/
|
||||
CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle,
|
||||
fd_set *read_fd_set,
|
||||
fd_set *write_fd_set,
|
||||
fd_set *exc_fd_set,
|
||||
int *max_fd);
|
||||
|
||||
/*
|
||||
* Name: curl_multi_wait()
|
||||
*
|
||||
* Desc: Poll on all fds within a CURLM set as well as any
|
||||
* additional fds passed to the function.
|
||||
*
|
||||
* Returns: CURLMcode type, general multi error code.
|
||||
*/
|
||||
CURL_EXTERN CURLMcode curl_multi_wait(CURLM *multi_handle,
|
||||
struct curl_waitfd extra_fds[],
|
||||
unsigned int extra_nfds,
|
||||
int timeout_ms,
|
||||
int *ret);
|
||||
|
||||
/*
|
||||
* Name: curl_multi_perform()
|
||||
*
|
||||
* Desc: When the app thinks there's data available for curl it calls this
|
||||
* function to read/write whatever there is right now. This returns
|
||||
* as soon as the reads and writes are done. This function does not
|
||||
* require that there actually is data available for reading or that
|
||||
* data can be written, it can be called just in case. It returns
|
||||
* the number of handles that still transfer data in the second
|
||||
* argument's integer-pointer.
|
||||
*
|
||||
* Returns: CURLMcode type, general multi error code. *NOTE* that this only
|
||||
* returns errors etc regarding the whole multi stack. There might
|
||||
* still have occurred problems on invidual transfers even when this
|
||||
* returns OK.
|
||||
*/
|
||||
CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle,
|
||||
int *running_handles);
|
||||
|
||||
/*
|
||||
* Name: curl_multi_cleanup()
|
||||
*
|
||||
* Desc: Cleans up and removes a whole multi stack. It does not free or
|
||||
* touch any individual easy handles in any way. We need to define
|
||||
* in what state those handles will be if this function is called
|
||||
* in the middle of a transfer.
|
||||
*
|
||||
* Returns: CURLMcode type, general multi error code.
|
||||
*/
|
||||
CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle);
|
||||
|
||||
/*
|
||||
* Name: curl_multi_info_read()
|
||||
*
|
||||
* Desc: Ask the multi handle if there's any messages/informationals from
|
||||
* the individual transfers. Messages include informationals such as
|
||||
* error code from the transfer or just the fact that a transfer is
|
||||
* completed. More details on these should be written down as well.
|
||||
*
|
||||
* Repeated calls to this function will return a new struct each
|
||||
* time, until a special "end of msgs" struct is returned as a signal
|
||||
* that there is no more to get at this point.
|
||||
*
|
||||
* The data the returned pointer points to will not survive calling
|
||||
* curl_multi_cleanup().
|
||||
*
|
||||
* The 'CURLMsg' struct is meant to be very simple and only contain
|
||||
* very basic informations. 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
|
||||
+33
@@ -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
File diff suppressed because it is too large
Load Diff
Vendored
+13
@@ -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})
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user