curl-7.47.0/0000755000175000017500000000000012652071260007560 500000000000000curl-7.47.0/projects/0000755000175000017500000000000012652071256011416 500000000000000curl-7.47.0/projects/README0000644000175000017500000001503312626067776012235 00000000000000Building via IDE Project Files ============================== This document describes how to compile, build and install curl and libcurl from sources using an IDE based development tool such as Visual Studio. Project files are currently available for Visual C++ v6.0 to v12.0. The following directory structure has been used to cater for this: somedirectory\ |_curl |_projects |_ |_ |_lib |_src This structure allows for side-by-side compilation of curl on the same machine using different versions of a given compiler (for example VC8, VC9 and VC10) and allows for your own application or product to be compiled against those variants of libcurl for example. Note: Typically this side-by-side compilation is generally only required when a library is being compiled against dynamic runtime libraries. Dependencies ============ The projects files also support build configurations that require third party dependencies such as OpenSSL and SSH2. If you wish to support these, you will also need to download and compile those libraries as well. To support compilation of these libraries using different versions of compilers, the following directory structure has been used for both the output of curl and libcurl as well as these dependencies. somedirectory\ |_curl | |_ build | |_ | |_ | |_ | |_lib | |_src | |_openssl | |_ build | |_ | |_VC | |_ | |_libssh2 |_ build |_ |_VC |_ As OpenSSL doesn't support side-by-side compilation when using different versions of Visual Studio a build helper batch file has been provided to assist with this. Please run "build-openssl -help" for usage details. Building with Visual C++ ======================== To build with VC++, you will of course have to first install VC++ which is part of Visual Studio. If you are building with VC6 then you will also need the February 2003 Edition of the Windows Platform SDK which can be downloaded from: http://www.microsoft.com/en-us/download/details.aspx?id=12261 If you require support for Internationalized Domain Names via Windows IDN then you will need either: * Microsoft Internationalized Domain Name (IDN) Mitigation APIs: http://www.microsoft.com/en-us/download/details.aspx?id=734 * Microsoft Windows SDK Update for Windows Vista: http://www.microsoft.com/en-us/download/details.aspx?id=23719 * Microsoft Visual Studio 2010 or above Once you have VC++ installed you should launch the application and open one of the solution or workspace files. Whilst files are provided for both libcurl and the curl command line tool as well as a configuration that includes both, it is recommend that you use the all-in-one configuration. Running DLL based configurations ================================ If you are a developer and plan to run the curl tool from Visual Studio (eg you are debugging) with any third-party libraries (such as OpenSSL, wolfSSL or LibSSH2) then you will need to add the search path of these DLLs to the configuration's PATH environment. To do that: * Open the 'curl-all.sln' or 'curl.sln' solutions * Right-click on the 'curl' project and select Properties * Navigate to 'Configuration Properties > Debugging > Environment' * Add PATH='Path to DLL';C:\Windows\system32;C:\Windows; C:\Windows\System32\Wbem ... where 'Path to DLL` is the configuration specific path. For example the following configurations in Visual Studio 2010 might be: DLL Debug - DLL OpenSSL (Win32): PATH=..\..\..\..\..\openssl\build\Win32\VC10\DLL Debug;C:\Windows\system32; C:\Windows;C:\Windows\System32\Wbem DLL Debug - DLL OpenSSL (x64): PATH=..\..\..\..\..\openssl\build\Win64\VC10\DLL Debug;C:\Windows\system32; C:\Windows;C:\Windows\System32\Wbem DLL Debug - DLL wolfSSL (Win32): PATH=..\..\..\..\..\wolfssl\build\Win32\VC10\DLL Debug;C:\Windows\system32; C:\Windows;C:\Windows\System32\Wbem DLL Debug - DLL wolfSSL (x64): PATH=..\..\..\..\..\wolfssl\build\Win64\VC10\DLL Debug;C:\Windows\system32; C:\Windows;C:\Windows\System32\Wbem If you are using a configuration that uses multiple third-party library DLLs (such as DLL Debug - DLL OpenSSL - DLL LibSSH2) then 'Path to DLL' will need to contain the path to both of these. Notes ===== The following keywords have been used in the directory hierarchy: - The platform (For example: Windows) - The IDE (For example: VC6, VC10, BCC5) - The platform architecture (For example: Win32, Win64) - The target configuration (For example: DLL Debug, LIB Release - LIB OpenSSL) If you are using the source code from the git repository, rather than a release archive or nightly build, you will need to generate the project files. Please run "generate -help" for usage details. Should you wish to help out with some of the items on the TODO list, or find bugs in the project files that need correcting, and would like to submit updated files back then please note that, whilst the solution files can be edited directly, the templates for the project files (which are stored in the git repositoty) will need to be modified rather than the generated project files that Visual Studio uses. Legacy Windows and SSL ====================== Some of the project configurations allow the use of WinSSL (specifically SChannel from Windows SSPI), the native SSL library in Windows. However, WinSSL in Windows <= XP is unable to connect to servers that no longer support the legacy handshakes and algorithms used by those versions. If you will be using curl in one of those earlier versions of Windows you should choose another SSL backend such as OpenSSL. TODO ==== These project files are a recent addition to the curl source code and as such are not 100% complete. This is a list of things that are still todo: * Support zlib * Use of static runtime libraries * Generate *.vcxproj.filters files for VC10, VC11 and VC12 * Add the Test Suite components * Support for other development IDEs * Add PATH environment variables for third-party DLLs Any additional help would be appreciated ;-)curl-7.47.0/projects/checksrc.bat0000644000175000017500000000660012626067776013632 00000000000000@echo off rem *************************************************************************** rem * _ _ ____ _ rem * Project ___| | | | _ \| | rem * / __| | | | |_) | | rem * | (__| |_| | _ <| |___ rem * \___|\___/|_| \_\_____| rem * rem * Copyright (C) 2014 - 2015, Steve Holme, . rem * rem * This software is licensed as described in the file COPYING, which rem * you should have received as part of this distribution. The terms rem * are also available at http://curl.haxx.se/docs/copyright.html. rem * rem * You may opt to use, copy, modify, merge, publish, distribute and/or sell rem * copies of the Software, and permit persons to whom the Software is rem * furnished to do so, under the terms of the COPYING file. rem * rem * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY rem * KIND, either express or implied. rem * rem *************************************************************************** :begin rem Check we are running on a Windows NT derived OS if not "%OS%" == "Windows_NT" goto nodos rem Set our variables setlocal :parseArgs if "%~1" == "" goto prerequisites if /i "%~1" == "-?" ( goto syntax ) else if /i "%~1" == "-h" ( goto syntax ) else if /i "%~1" == "-help" ( goto syntax ) else ( if not defined SRC_DIR ( set SRC_DIR=%~1% ) else ( goto unknown ) ) shift & goto parseArgs :prerequisites rem Check we have Perl installed echo %PATH% | findstr /I /C:"\Perl" 1>nul if errorlevel 1 ( if not exist "%SystemDrive%\Perl" ( if not exist "%SystemDrive%\Perl64" goto noperl ) ) :configure if "%SRC_DIR%" == "" set SRC_DIR=.. if not exist "%SRC_DIR%" goto nosrc :start rem Check the src directory if exist %SRC_DIR%\src ( for /f "delims=" %%i in ('dir "%SRC_DIR%\src\*.c.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\src" -Wtool_hugehelp.c "%%i" for /f "delims=" %%i in ('dir "%SRC_DIR%\src\*.h.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\src" "%%i" ) rem Check the lib directory if exist %SRC_DIR%\lib ( for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\*.c.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib" "%%i" for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\*.h.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib" -Wcurl_config.h.cmake "%%i" ) rem Check the lib\vtls directory if exist %SRC_DIR%\lib\vtls ( for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vtls\*.c.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vtls" "%%i" for /f "delims=" %%i in ('dir "%SRC_DIR%\lib\vtls\*.h.*" /b 2^>NUL') do @perl "%SRC_DIR%\lib\checksrc.pl" "-D%SRC_DIR%\lib\vtls" "%%i" ) goto success :syntax rem Display the help echo. echo Usage: checksrc [directory] echo. echo directory - Specifies the curl source directory goto success :unknown echo. echo Error: Unknown argument '%1' goto error :nodos echo. echo Error: Only a Windows NT based Operating System is supported goto error :noperl echo. echo Error: Perl is not installed goto error :nosrc echo. echo Error: "%SRC_DIR%" does not exist goto error :error if "%OS%" == "Windows_NT" endlocal exit /B 1 :success endlocal exit /B 0 curl-7.47.0/projects/build-openssl.bat0000644000175000017500000002201612626067776014624 00000000000000@echo off rem *************************************************************************** rem * _ _ ____ _ rem * Project ___| | | | _ \| | rem * / __| | | | |_) | | rem * | (__| |_| | _ <| |___ rem * \___|\___/|_| \_\_____| rem * rem * Copyright (C) 2012 - 2015, Steve Holme, . rem * rem * This software is licensed as described in the file COPYING, which rem * you should have received as part of this distribution. The terms rem * are also available at http://curl.haxx.se/docs/copyright.html. rem * rem * You may opt to use, copy, modify, merge, publish, distribute and/or sell rem * copies of the Software, and permit persons to whom the Software is rem * furnished to do so, under the terms of the COPYING file. rem * rem * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY rem * KIND, either express or implied. rem * rem *************************************************************************** :begin rem Check we are running on a Windows NT derived OS if not "%OS%" == "Windows_NT" goto nodos rem Set our variables setlocal set VC_VER= set BUILD_PLATFORM= rem Ensure we have the required arguments if /i "%~1" == "" goto syntax :parseArgs if "%~1" == "" goto prerequisites if /i "%~1" == "vc6" ( set VC_VER=6.0 set VC_DESC=VC6 set "VC_PATH=Microsoft Visual Studio\VC98" ) else if /i "%~1" == "vc7" ( set VC_VER=7.0 set VC_DESC=VC7 set "VC_PATH=Microsoft Visual Studio .NET\Vc7" ) else if /i "%~1" == "vc7.1" ( set VC_VER=7.1 set VC_DESC=VC7.1 set "VC_PATH=Microsoft Visual Studio .NET 2003\Vc7" ) else if /i "%~1" == "vc8" ( set VC_VER=8.0 set VC_DESC=VC8 set "VC_PATH=Microsoft Visual Studio 8\VC" ) else if /i "%~1" == "vc9" ( set VC_VER=9.0 set VC_DESC=VC9 set "VC_PATH=Microsoft Visual Studio 9.0\VC" ) else if /i "%~1" == "vc10" ( set VC_VER=10.0 set VC_DESC=VC10 set "VC_PATH=Microsoft Visual Studio 10.0\VC" ) else if /i "%~1" == "vc11" ( set VC_VER=11.0 set VC_DESC=VC11 set "VC_PATH=Microsoft Visual Studio 11.0\VC" ) else if /i "%~1" == "vc12" ( set VC_VER=12.0 set VC_DESC=VC12 set "VC_PATH=Microsoft Visual Studio 12.0\VC" ) else if /i "%~1" == "vc14" ( set VC_VER=14.0 set VC_DESC=VC14 set "VC_PATH=Microsoft Visual Studio 14.0\VC" ) else if /i "%~1%" == "x86" ( set BUILD_PLATFORM=x86 ) else if /i "%~1%" == "x64" ( set BUILD_PLATFORM=x64 ) else if /i "%~1%" == "debug" ( set BUILD_CONFIG=debug ) else if /i "%~1%" == "release" ( set BUILD_CONFIG=release ) else if /i "%~1" == "-?" ( goto syntax ) else if /i "%~1" == "-h" ( goto syntax ) else if /i "%~1" == "-help" ( goto syntax ) else ( if not defined START_DIR ( set START_DIR=%~1% ) else ( goto unknown ) ) shift & goto parseArgs :prerequisites rem Compiler and platform are required parameters. if not defined VC_VER goto syntax if not defined BUILD_PLATFORM goto syntax rem Default the start directory if one isn't specified if not defined START_DIR set START_DIR=..\..\openssl rem Calculate the program files directory if defined PROGRAMFILES ( set "PF=%PROGRAMFILES%" set OS_PLATFORM=x86 ) if defined PROGRAMFILES(x86) ( set "PF=%PROGRAMFILES(x86)%" set OS_PLATFORM=x64 ) rem Check we have a program files directory if not defined PF goto nopf rem Check we have Visual Studio installed if not exist "%PF%\%VC_PATH%" goto novc rem Check we have Perl installed echo %PATH% | findstr /I /C:"\Perl" 1>nul if errorlevel 1 ( if not exist "%SystemDrive%\Perl" ( if not exist "%SystemDrive%\Perl64" goto noperl ) ) rem Check the start directory exists if not exist "%START_DIR%" goto noopenssl :configure if "%BUILD_PLATFORM%" == "" ( if "%VC_VER%" == "6.0" ( set BUILD_PLATFORM=x86 ) else if "%VC_VER%" == "7.0" ( set BUILD_PLATFORM=x86 ) else if "%VC_VER%" == "7.1" ( set BUILD_PLATFORM=x86 ) else ( set BUILD_PLATFORM=%OS_PLATFORM% ) ) if "%BUILD_PLATFORM%" == "x86" ( set VCVARS_PLATFORM=x86 ) else if "%BUILD_PLATFORM%" == "x64" ( if "%VC_VER%" == "6.0" goto nox64 if "%VC_VER%" == "7.0" goto nox64 if "%VC_VER%" == "7.1" goto nox64 if "%VC_VER%" == "8.0" set VCVARS_PLATFORM=x86_amd64 if "%VC_VER%" == "9.0" set VCVARS_PLATFORM=%BUILD_PLATFORM% if "%VC_VER%" == "10.0" set VCVARS_PLATFORM=%BUILD_PLATFORM% if "%VC_VER%" == "11.0" set VCVARS_PLATFORM=amd64 if "%VC_VER%" == "12.0" set VCVARS_PLATFORM=amd64 if "%VC_VER%" == "14.0" set VCVARS_PLATFORM=amd64 ) :start echo. if "%VC_VER%" == "6.0" ( call "%PF%\%VC_PATH%\bin\vcvars32" ) else if "%VC_VER%" == "7.0" ( call "%PF%\%VC_PATH%\bin\vcvars32" ) else if "%VC_VER%" == "7.1" ( call "%PF%\%VC_PATH%\bin\vcvars32" ) else ( call "%PF%\%VC_PATH%\vcvarsall" %VCVARS_PLATFORM% ) echo. set SAVED_PATH=%CD% if defined START_DIR CD %START_DIR% goto %BUILD_PLATFORM% :x64 rem Calculate our output directory set OUTDIR=build\Win64\%VC_DESC% if not exist %OUTDIR% md %OUTDIR% if "%BUILD_CONFIG%" == "release" goto x64release :x64debug rem Configuring 64-bit Debug Build perl Configure debug-VC-WIN64A --prefix=%CD% rem Perform the build call ms\do_win64a nmake -f ms\nt.mak nmake -f ms\ntdll.mak rem Move the output directories move out32.dbg "%OUTDIR%\LIB Debug" move out32dll.dbg "%OUTDIR%\DLL Debug" rem Move the PDB files move tmp32.dbg\lib.pdb "%OUTDIR%\LIB Debug" move tmp32dll.dbg\lib.pdb "%OUTDIR%\DLL Debug" rem Remove the intermediate directories rd tmp32.dbg /s /q rd tmp32dll.dbg /s /q if "%BUILD_CONFIG%" == "debug" goto success :x64release rem Configuring 64-bit Release Build perl Configure VC-WIN64A --prefix=%CD% rem Perform the build call ms\do_win64a nmake -f ms\nt.mak nmake -f ms\ntdll.mak rem Move the output directories move out32 "%OUTDIR%\LIB Release" move out32dll "%OUTDIR%\DLL Release" rem Move the PDB files move tmp32\lib.pdb "%OUTDIR%\LIB Release" move tmp32dll\lib.pdb "%OUTDIR%\DLL Release" rem Remove the intermediate directories rd tmp32 /s /q rd tmp32dll /s /q goto success :x86 rem Calculate our output directory set OUTDIR=build\Win32\%VC_DESC% if not exist %OUTDIR% md %OUTDIR% if "%BUILD_CONFIG%" == "release" goto x86release :x86debug rem Configuring 32-bit Debug Build perl Configure debug-VC-WIN32 no-asm --prefix=%CD% rem Perform the build call ms\do_ms nmake -f ms\nt.mak nmake -f ms\ntdll.mak rem Move the output directories move out32.dbg "%OUTDIR%\LIB Debug" move out32dll.dbg "%OUTDIR%\DLL Debug" rem Move the PDB files move tmp32.dbg\lib.pdb "%OUTDIR%\LIB Debug" move tmp32dll.dbg\lib.pdb "%OUTDIR%\DLL Debug" rem Remove the intermediate directories rd tmp32.dbg /s /q rd tmp32dll.dbg /s /q if "%BUILD_CONFIG%" == "debug" goto success :x86release rem Configuring 32-bit Release Build perl Configure VC-WIN32 no-asm --prefix=%CD% rem Perform the build call ms\do_ms nmake -f ms\nt.mak nmake -f ms\ntdll.mak rem Move the output directories move out32 "%OUTDIR%\LIB Release" move out32dll "%OUTDIR%\DLL Release" rem Move the PDB files move tmp32\lib.pdb "%OUTDIR%\LIB Release" move tmp32dll\lib.pdb "%OUTDIR%\DLL Release" rem Remove the intermediate directories rd tmp32 /s /q rd tmp32dll /s /q goto success :syntax rem Display the help echo. echo Usage: build-openssl ^ ^ [configuration] [directory] echo. echo Compiler: echo. echo vc6 - Use Visual Studio 6 echo vc7 - Use Visual Studio .NET echo vc7.1 - Use Visual Studio .NET 2003 echo vc8 - Use Visual Studio 2005 echo vc9 - Use Visual Studio 2008 echo vc10 - Use Visual Studio 2010 echo vc11 - Use Visual Studio 2012 echo vc12 - Use Visual Studio 2013 echo vc14 - Use Visual Studio 2015 echo. echo Platform: echo. echo x86 - Perform a 32-bit build echo x64 - Perform a 64-bit build echo. echo Configuration: echo. echo debug - Perform a debug build echo release - Perform a release build echo. echo Other: echo. echo directory - Specifies the OpenSSL source directory goto error :unknown echo. echo Error: Unknown argument '%1' goto error :nodos echo. echo Error: Only a Windows NT based Operating System is supported goto error :nopf echo. echo Error: Cannot obtain the directory for Program Files goto error :novc echo. echo Error: %VC_DESC% is not installed goto error :noperl echo. echo Error: Perl is not installed goto error :nox64 echo. echo Error: %VC_DESC% does not support 64-bit builds goto error :noopenssl echo. echo Error: Cannot locate OpenSSL source directory goto error :error if "%OS%" == "Windows_NT" endlocal exit /B 1 :success cd %SAVED_PATH% endlocal exit /B 0 curl-7.47.0/projects/Windows/0000755000175000017500000000000012652071256013050 500000000000000curl-7.47.0/projects/Windows/VC6/0000755000175000017500000000000012652071256013446 500000000000000curl-7.47.0/projects/Windows/VC6/lib/0000755000175000017500000000000012652071260014207 500000000000000curl-7.47.0/projects/Windows/VC6/lib/libcurl.dsw0000644000175000017500000000103312626067776016321 00000000000000Microsoft Developer Studio Workspace File, Format Version 6.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project: "libcurl"=".\libcurl.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ############################################################################### curl-7.47.0/projects/Windows/VC6/lib/libcurl.dsp0000644000175000017500000016665612652071260016317 00000000000000# Microsoft Developer Studio Project File - Name="libcurl" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 # TARGTYPE "Win32 (x86) Static Library" 0x0104 CFG=libcurl - Win32 LIB Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "libcurl.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "libcurl.mak" CFG="libcurl - Win32 LIB Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "libcurl - Win32 DLL Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libcurl - Win32 DLL Debug DLL OpenSSL" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libcurl - Win32 DLL Debug DLL OpenSSL DLL LibSSH2" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libcurl - Win32 DLL Debug DLL Windows SSPI" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libcurl - Win32 DLL Debug DLL Windows SSPI DLL WinIDN" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libcurl - Win32 DLL Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libcurl - Win32 DLL Release DLL OpenSSL" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libcurl - Win32 DLL Release DLL OpenSSL DLL LibSSH2" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libcurl - Win32 DLL Release DLL Windows SSPI" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libcurl - Win32 DLL Release DLL Windows SSPI DLL WinIDN" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "libcurl - Win32 LIB Debug" (based on "Win32 (x86) Static Library") !MESSAGE "libcurl - Win32 LIB Debug DLL OpenSSL" (based on "Win32 (x86) Static Library") !MESSAGE "libcurl - Win32 LIB Debug DLL OpenSSL DLL LibSSH2" (based on "Win32 (x86) Static Library") !MESSAGE "libcurl - Win32 LIB Debug DLL Windows SSPI" (based on "Win32 (x86) Static Library") !MESSAGE "libcurl - Win32 LIB Debug DLL Windows SSPI DLL WinIDN" (based on "Win32 (x86) Static Library") !MESSAGE "libcurl - Win32 LIB Debug LIB OpenSSL" (based on "Win32 (x86) Static Library") !MESSAGE "libcurl - Win32 LIB Debug LIB OpenSSL LIB LibSSH2" (based on "Win32 (x86) Static Library") !MESSAGE "libcurl - Win32 LIB Release" (based on "Win32 (x86) Static Library") !MESSAGE "libcurl - Win32 LIB Release DLL OpenSSL" (based on "Win32 (x86) Static Library") !MESSAGE "libcurl - Win32 LIB Release DLL OpenSSL DLL LibSSH2" (based on "Win32 (x86) Static Library") !MESSAGE "libcurl - Win32 LIB Release DLL Windows SSPI" (based on "Win32 (x86) Static Library") !MESSAGE "libcurl - Win32 LIB Release DLL Windows SSPI DLL WinIDN" (based on "Win32 (x86) Static Library") !MESSAGE "libcurl - Win32 LIB Release LIB OpenSSL" (based on "Win32 (x86) Static Library") !MESSAGE "libcurl - Win32 LIB Release LIB OpenSSL LIB LibSSH2" (based on "Win32 (x86) Static Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" !IF "$(CFG)" == "libcurl - Win32 DLL Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug\lib" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /FD /EHsc /GZ /c MTL=midl.exe # ADD BASE MTL /nologo /D "_DEBUG" /win32 # ADD MTL /nologo /D "_DEBUG" /win32 RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug\libcurld.dll" /pdbtype:con /fixed:no # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug\libcurld.dll" /pdbtype:con /fixed:no !ELSEIF "$(CFG)" == "libcurl - Win32 DLL Debug DLL OpenSSL" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL\lib" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL\lib" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "USE_OPENSSL" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "USE_OPENSSL" /FD /EHsc /GZ /c MTL=midl.exe # ADD BASE MTL /nologo /D "_DEBUG" /win32 # ADD MTL /nologo /D "_DEBUG" /win32 RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib libeay32.lib ssleay32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL\libcurld.dll" /pdbtype:con /fixed:no # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib libeay32.lib ssleay32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL\libcurld.dll" /pdbtype:con /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\DLL Debug" /fixed:no !ELSEIF "$(CFG)" == "libcurl - Win32 DLL Debug DLL OpenSSL DLL LibSSH2" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL - DLL LibSSH2" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL - DLL LibSSH2\lib" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL - DLL LibSSH2" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL - DLL LibSSH2\lib" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /I "..\..\..\..\..\libssh2\include" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "USE_OPENSSL" /D "USE_LIBSSH2" /D "HAVE_LIBSSH2_H" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /I "..\..\..\..\..\libssh2\include" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "USE_OPENSSL" /D "USE_LIBSSH2" /D "HAVE_LIBSSH2_H" /FD /EHsc /GZ /c MTL=midl.exe # ADD BASE MTL /nologo /D "_DEBUG" /win32 # ADD MTL /nologo /D "_DEBUG" /win32 RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib libeay32.lib ssleay32.lib libssh2d.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL - DLL LibSSH2\libcurld.dll" /pdbtype:con /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\DLL Debug" /libpath:"..\..\..\..\..\libssh2\build\Win32\VC6\DLL Debug" /fixed:no # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib libeay32.lib ssleay32.lib libssh2d.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL - DLL LibSSH2\libcurld.dll" /pdbtype:con /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\DLL Debug" /libpath:"..\..\..\..\..\libssh2\build\Win32\VC6\DLL Debug" /fixed:no !ELSEIF "$(CFG)" == "libcurl - Win32 DLL Debug DLL Windows SSPI" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI\lib" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI\lib" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "USE_WINDOWS_SSPI" /D "USE_SCHANNEL" /FD /EHsc /GZ /c MTL=midl.exe # ADD BASE MTL /nologo /D "_DEBUG" /win32 # ADD MTL /nologo /D "_DEBUG" /win32 RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI\libcurld.dll" /pdbtype:con /fixed:no # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI\libcurld.dll" /pdbtype:con /fixed:no !ELSEIF "$(CFG)" == "libcurl - Win32 DLL Debug DLL Windows SSPI DLL WinIDN" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN\lib" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN\lib" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "USE_WINDOWS_SSPI" /D "USE_SCHANNEL" /D "USE_WIN32_IDN" /D "WANT_IDN_PROTOTYPES" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "USE_WINDOWS_SSPI" /D "USE_SCHANNEL" /D "USE_WIN32_IDN" /D "WANT_IDN_PROTOTYPES" /FD /EHsc /GZ /c MTL=midl.exe # ADD BASE MTL /nologo /D "_DEBUG" /win32 # ADD MTL /nologo /D "_DEBUG" /win32 RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib normaliz.lib wldap32.lib ws2_32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN\libcurld.dll" /pdbtype:con /fixed:no # ADD LINK32 advapi32.lib normaliz.lib wldap32.lib ws2_32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN\libcurld.dll" /pdbtype:con /fixed:no !ELSEIF "$(CFG)" == "libcurl - Win32 DLL Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release\lib" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "NDEBUG" /D "BUILDING_LIBCURL" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "NDEBUG" /D "BUILDING_LIBCURL" /FD /EHsc /c MTL=midl.exe # ADD BASE MTL /nologo /D "NDEBUG" /win32 # ADD MTL /nologo /D "NDEBUG" /win32 RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib /nologo /dll /pdb:none /machine:I386 /fixed:no /release # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib /nologo /dll /pdb:none /machine:I386 /fixed:no /release !ELSEIF "$(CFG)" == "libcurl - Win32 DLL Release DLL OpenSSL" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL\lib" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL\lib" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "USE_OPENSSL" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "USE_OPENSSL" /FD /EHsc /c MTL=midl.exe # ADD BASE MTL /nologo /D "NDEBUG" /win32 # ADD MTL /nologo /D "NDEBUG" /win32 RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib libeay32.lib ssleay32.lib /nologo /dll /pdb:none /machine:I386 /fixed:no /release # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib libeay32.lib ssleay32.lib /nologo /dll /pdb:none /machine:I386 /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\DLL Release" /fixed:no /release !ELSEIF "$(CFG)" == "libcurl - Win32 DLL Release DLL OpenSSL DLL LibSSH2" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL - DLL LibSSH2" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL - DLL LibSSH2\lib" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL - DLL LibSSH2" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL - DLL LibSSH2\lib" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /I "..\..\..\..\..\libssh2\include" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "USE_OPENSSL" /D "USE_LIBSSH2" /D "HAVE_LIBSSH2_H" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /I "..\..\..\..\..\libssh2\include" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "USE_OPENSSL" /D "USE_LIBSSH2" /D "HAVE_LIBSSH2_H" /FD /EHsc /c MTL=midl.exe # ADD BASE MTL /nologo /D "NDEBUG" /win32 # ADD MTL /nologo /D "NDEBUG" /win32 RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib libeay32.lib ssleay32.lib libssh2.lib /nologo /dll /pdb:none /machine:I386 /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\DLL Release" /libpath:"..\..\..\..\..\libssh2\build\Win32\VC6\DLL Release" /fixed:no /release # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib libeay32.lib ssleay32.lib libssh2.lib /nologo /dll /pdb:none /machine:I386 /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\DLL Release" /libpath:"..\..\..\..\..\libssh2\build\Win32\VC6\DLL Release" /fixed:no /release !ELSEIF "$(CFG)" == "libcurl - Win32 DLL Release DLL Windows SSPI" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI\lib" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI\lib" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "NDEBUG" /D "BUILDING_LIBCURL" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "USE_WINDOWS_SSPI" /D "USE_SCHANNEL" /FD /EHsc /c MTL=midl.exe # ADD BASE MTL /nologo /D "NDEBUG" /win32 # ADD MTL /nologo /D "NDEBUG" /win32 RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib /nologo /dll /pdb:none /machine:I386 /fixed:no /release # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib /nologo /dll /pdb:none /machine:I386 /fixed:no /release !ELSEIF "$(CFG)" == "libcurl - Win32 DLL Release DLL Windows SSPI DLL WinIDN" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI - DLL WinIDN" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI - DLL WinIDN\lib" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI - DLL WinIDN" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI - DLL WinIDN\lib" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "USE_WINDOWS_SSPI" /D "USE_SCHANNEL" /D "USE_WIN32_IDN" /D "WANT_IDN_PROTOTYPES" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "USE_WINDOWS_SSPI" /D "USE_SCHANNEL" /D "USE_WIN32_IDN" /D "WANT_IDN_PROTOTYPES" /FD /EHsc /c MTL=midl.exe # ADD BASE MTL /nologo /D "NDEBUG" /win32 # ADD MTL /nologo /D "NDEBUG" /win32 RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib normaliz.lib wldap32.lib ws2_32.lib /nologo /dll /pdb:none /machine:I386 /fixed:no /release # ADD LINK32 advapi32.lib normaliz.lib wldap32.lib ws2_32.lib /nologo /dll /pdb:none /machine:I386 /fixed:no /release !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug\libcurld.lib" /machine:I386 # ADD LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug\libcurld.lib" /machine:I386 !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Debug DLL OpenSSL" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /D "USE_OPENSSL" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /D "USE_OPENSSL" /FD /EHsc /GZ /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL\libcurld.lib" /machine:I386 # ADD LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL\libcurld.lib" /machine:I386 !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Debug DLL OpenSSL DLL LibSSH2" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL - DLL LibSSH2" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL - DLL LibSSH2\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL - DLL LibSSH2" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL - DLL LibSSH2\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /I "..\..\..\..\..\libssh2\include" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /D "USE_OPENSSL" /D "USE_LIBSSH2" /D "HAVE_LIBSSH2_H" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /I "..\..\..\..\..\libssh2\include" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /D "USE_OPENSSL" /D "USE_LIBSSH2" /D "HAVE_LIBSSH2_H" /FD /EHsc /GZ /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL - DLL LibSSH2\libcurld.lib" /machine:I386 # ADD LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL - DLL LibSSH2\libcurld.lib" /machine:I386 !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Debug DLL Windows SSPI" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /D "USE_WINDOWS_SSPI" /D "USE_SCHANNEL" /FD /EHsc /GZ /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI\libcurld.lib" /machine:I386 # ADD LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI\libcurld.lib" /machine:I386 !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Debug DLL Windows SSPI DLL WinIDN" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /D "USE_WINDOWS_SSPI" /D "USE_SCHANNEL" /D "USE_WIN32_IDN" /D "WANT_IDN_PROTOTYPES" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /D "USE_WINDOWS_SSPI" /D "USE_SCHANNEL" /D "USE_WIN32_IDN" /D "WANT_IDN_PROTOTYPES" /FD /EHsc /GZ /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN\libcurld.lib" /machine:I386 # ADD LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN\libcurld.lib" /machine:I386 !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Debug LIB OpenSSL" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /D "USE_OPENSSL" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /D "USE_OPENSSL" /FD /EHsc /GZ /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL\libcurld.lib" /machine:I386 # ADD LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL\libcurld.lib" /machine:I386 !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Debug LIB OpenSSL LIB LibSSH2" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL - LIB LibSSH2" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL - LIB LibSSH2\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL - LIB LibSSH2" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL - LIB LibSSH2\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /I "..\..\..\..\..\libssh2\include" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /D "USE_OPENSSL" /D "USE_LIBSSH2" /D "HAVE_LIBSSH2_H" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /I "..\..\..\..\..\libssh2\include" /D "_DEBUG" /D "BUILDING_LIBCURL" /D "DEBUGBUILD" /D "CURL_STATICLIB" /D "USE_OPENSSL" /D "USE_LIBSSH2" /D "HAVE_LIBSSH2_H" /FD /EHsc /GZ /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL - LIB LibSSH2\libcurld.lib" /machine:I386 # ADD LIB32 /nologo /out:"..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL - LIB LibSSH2\libcurld.lib" /machine:I386 !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /FD /EHsc /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /machine:I386 # ADD LIB32 /nologo /machine:I386 !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Release DLL OpenSSL" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /D "USE_OPENSSL" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /D "USE_OPENSSL" /FD /EHsc /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /machine:I386 # ADD LIB32 /nologo /machine:I386 !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Release DLL OpenSSL DLL LibSSH2" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL - DLL LibSSH2" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL - DLL LibSSH2\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL - DLL LibSSH2" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL - DLL LibSSH2\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /I "..\..\..\..\..\libssh2\include" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /D "USE_OPENSSL" /D "USE_LIBSSH2" /D "HAVE_LIBSSH2_H" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /I "..\..\..\..\..\libssh2\include" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /D "USE_OPENSSL" /D "USE_LIBSSH2" /D "HAVE_LIBSSH2_H" /FD /EHsc /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /machine:I386 # ADD LIB32 /nologo /machine:I386 !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Release DLL Windows SSPI" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /D "USE_WINDOWS_SSPI" /D "USE_SCHANNEL" /FD /EHsc /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /machine:I386 # ADD LIB32 /nologo /machine:I386 !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Release DLL Windows SSPI DLL WinIDN" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI - DLL WinIDN" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI - DLL WinIDN\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI - DLL WinIDN" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI - DLL WinIDN\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /D "USE_WINDOWS_SSPI" /D "USE_SCHANNEL" /D "USE_WIN32_IDN" /D "WANT_IDN_PROTOTYPES" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /D "USE_WINDOWS_SSPI" /D "USE_SCHANNEL" /D "USE_WIN32_IDN" /D "WANT_IDN_PROTOTYPES" /FD /EHsc /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /machine:I386 # ADD LIB32 /nologo /machine:I386 !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Release LIB OpenSSL" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /D "USE_OPENSSL" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /D "USE_OPENSSL" /FD /EHsc /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /machine:I386 # ADD LIB32 /nologo /machine:I386 !ELSEIF "$(CFG)" == "libcurl - Win32 LIB Release LIB OpenSSL LIB LibSSH2" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL - LIB LibSSH2" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL - LIB LibSSH2\lib" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL - LIB LibSSH2" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL - LIB LibSSH2\lib" # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /I "..\..\..\..\..\libssh2\include" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /D "USE_OPENSSL" /D "USE_LIBSSH2" /D "HAVE_LIBSSH2_H" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\..\openssl\inc32" /I "..\..\..\..\..\libssh2\include" /D "NDEBUG" /D "BUILDING_LIBCURL" /D "CURL_STATICLIB" /D "USE_OPENSSL" /D "USE_LIBSSH2" /D "HAVE_LIBSSH2_H" /FD /EHsc /c RSC=rc.exe # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LIB32=link.exe -lib # ADD BASE LIB32 /nologo /machine:I386 # ADD LIB32 /nologo /machine:I386 !ENDIF # Begin Target # Name "libcurl - Win32 DLL Debug" # Name "libcurl - Win32 DLL Debug DLL OpenSSL" # Name "libcurl - Win32 DLL Debug DLL OpenSSL DLL LibSSH2" # Name "libcurl - Win32 DLL Debug DLL Windows SSPI" # Name "libcurl - Win32 DLL Debug DLL Windows SSPI DLL WinIDN" # Name "libcurl - Win32 DLL Release" # Name "libcurl - Win32 DLL Release DLL OpenSSL" # Name "libcurl - Win32 DLL Release DLL OpenSSL DLL LibSSH2" # Name "libcurl - Win32 DLL Release DLL Windows SSPI" # Name "libcurl - Win32 DLL Release DLL Windows SSPI DLL WinIDN" # Name "libcurl - Win32 LIB Debug" # Name "libcurl - Win32 LIB Debug DLL OpenSSL" # Name "libcurl - Win32 LIB Debug DLL OpenSSL DLL LibSSH2" # Name "libcurl - Win32 LIB Debug DLL Windows SSPI" # Name "libcurl - Win32 LIB Debug DLL Windows SSPI DLL WinIDN" # Name "libcurl - Win32 LIB Debug LIB OpenSSL" # Name "libcurl - Win32 LIB Debug LIB OpenSSL LIB LibSSH2" # Name "libcurl - Win32 LIB Release" # Name "libcurl - Win32 LIB Release DLL OpenSSL" # Name "libcurl - Win32 LIB Release DLL OpenSSL DLL LibSSH2" # Name "libcurl - Win32 LIB Release DLL Windows SSPI" # Name "libcurl - Win32 LIB Release DLL Windows SSPI DLL WinIDN" # Name "libcurl - Win32 LIB Release LIB OpenSSL" # Name "libcurl - Win32 LIB Release LIB OpenSSL LIB LibSSH2" # Begin Group "Source Files" # PROP Default_Filter "" # Begin Source File SOURCE=..\..\..\..\lib\amigaos.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\asyn-ares.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\asyn-thread.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\base64.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\conncache.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\connect.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\content_encoding.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\cookie.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_addrinfo.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_des.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_endian.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_fnmatch.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_gethostname.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_gssapi.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_memrchr.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_multibyte.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_ntlm.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_ntlm_core.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_ntlm_msgs.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_ntlm_wb.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_rtmp.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_sasl.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_sasl_gssapi.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_sasl_sspi.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_sspi.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_threads.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\dict.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\dotdot.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\easy.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\escape.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\file.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\fileinfo.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\formdata.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\ftp.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\ftplistparser.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\getenv.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\getinfo.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\gopher.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\hash.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\hmac.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\hostasyn.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\hostcheck.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\hostip4.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\hostip6.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\hostip.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\hostsyn.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\http2.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\http.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\http_chunks.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\http_digest.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\http_negotiate.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\http_negotiate_sspi.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\http_proxy.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\idn_win32.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\if2ip.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\imap.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\inet_ntop.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\inet_pton.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\krb5.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\ldap.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\llist.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\md4.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\md5.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\memdebug.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\mprintf.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\multi.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\netrc.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\non-ascii.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\nonblock.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\openldap.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\parsedate.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\pingpong.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\pipeline.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\pop3.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\progress.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\rawstr.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\rtsp.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\security.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\select.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\sendf.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\share.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\slist.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\smb.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\smtp.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\socks.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\socks_gssapi.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\socks_sspi.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\speedcheck.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\splay.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\ssh.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strdup.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strequal.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strerror.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strtok.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strtoofft.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\telnet.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\tftp.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\timeval.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\transfer.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\url.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\version.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\warnless.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\wildcard.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\x509asn1.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\axtls.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\cyassl.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\darwinssl.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gskit.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gtls.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\mbedtls.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\nss.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\openssl.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\polarssl.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\polarssl_threadlock.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\schannel.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\vtls.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "" # Begin Source File SOURCE=..\..\..\..\lib\amigaos.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\arpa_telnet.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\asyn.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\config-win32.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\conncache.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\connect.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\content_encoding.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\cookie.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_addrinfo.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_base64.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_des.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_endian.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_fnmatch.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_gethostname.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_gssapi.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_hmac.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_ldap.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_md4.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_md5.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_memory.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_memrchr.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_multibyte.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_ntlm_core.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_ntlm.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_ntlm_msgs.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_ntlm_wb.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_printf.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_rtmp.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_sasl.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_sec.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_setup.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_setup_once.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_sspi.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_threads.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curlx.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\dict.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\dotdot.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\easyif.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\escape.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\file.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\fileinfo.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\formdata.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\ftp.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\ftplistparser.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\getinfo.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\gopher.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\hash.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\hostcheck.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\hostip.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\http2.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\http_chunks.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\http_digest.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\http.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\http_negotiate.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\http_proxy.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\if2ip.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\imap.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\inet_ntop.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\inet_pton.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\llist.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\memdebug.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\multihandle.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\multiif.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\netrc.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\non-ascii.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\nonblock.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\parsedate.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\pingpong.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\pipeline.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\pop3.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\progress.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\rawstr.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\rtsp.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\select.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\sendf.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\setup-vms.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\share.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\sigpipe.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\slist.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\smb.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\smtp.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\sockaddr.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\socks.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\speedcheck.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\splay.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\ssh.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strdup.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strequal.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strerror.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strtok.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strtoofft.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\telnet.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\tftp.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\timeval.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\transfer.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\urldata.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\url.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\warnless.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\wildcard.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\x509asn1.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\axtls.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\cyassl.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\darwinssl.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gskit.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\gtls.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\mbedtls.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\nssg.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\openssl.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\polarssl.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\polarssl_threadlock.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\schannel.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\vtls\vtls.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "" # Begin Source File SOURCE=..\..\..\..\lib\libcurl.rc # End Source File # End Group # End Target # End Project curl-7.47.0/projects/Windows/VC6/src/0000755000175000017500000000000012652071260014230 500000000000000curl-7.47.0/projects/Windows/VC6/src/curl.dsw0000644000175000017500000000102512626067776015654 00000000000000Microsoft Developer Studio Workspace File, Format Version 6.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project: "curl"=".\curl.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ############################################################################### curl-7.47.0/projects/Windows/VC6/src/curl.dsp0000644000175000017500000016040112652071260015627 00000000000000# Microsoft Developer Studio Project File - Name="curl" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Console Application" 0x0103 CFG=curl - Win32 LIB Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "curl.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "curl.mak" CFG="curl - Win32 LIB Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "curl - Win32 DLL Debug" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 DLL Debug DLL OpenSSL" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 DLL Debug DLL OpenSSL DLL LibSSH2" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 DLL Debug DLL Windows SSPI" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 DLL Debug DLL Windows SSPI DLL WinIDN" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 DLL Release" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 DLL Release DLL OpenSSL" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 DLL Release DLL OpenSSL DLL LibSSH2" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 DLL Release DLL Windows SSPI" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 DLL Release DLL Windows SSPI DLL WinIDN" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Debug" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Debug DLL OpenSSL" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Debug DLL OpenSSL DLL LibSSH2" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Debug DLL Windows SSPI" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Debug DLL Windows SSPI DLL WinIDN" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Debug LIB OpenSSL" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Debug LIB OpenSSL LIB LibSSH2" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Release" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Release DLL OpenSSL" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Release DLL OpenSSL DLL LibSSH2" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Release DLL Windows SSPI" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Release DLL Windows SSPI DLL WinIDN" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Release LIB OpenSSL" (based on "Win32 (x86) Console Application") !MESSAGE "curl - Win32 LIB Release LIB OpenSSL LIB LibSSH2" (based on "Win32 (x86) Console Application") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "curl - Win32 DLL Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug\src" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /FD /EHsc /GZ /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\DLL Debug" /fixed:no # ADD LINK32 wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\DLL Debug" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 DLL Debug DLL OpenSSL" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /FD /EHsc /GZ /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\DLL Debug..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL" /fixed:no # ADD LINK32 wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 DLL Debug DLL OpenSSL DLL LibSSH2" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL - DLL LibSSH2" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL - DLL LibSSH2\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL - DLL LibSSH2" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL - DLL LibSSH2\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /FD /EHsc /GZ /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL - DLL LibSSH2\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL" /fixed:no # ADD LINK32 wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL - DLL LibSSH2\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL OpenSSL" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 DLL Debug DLL Windows SSPI" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /FD /EHsc /GZ /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI" /fixed:no # ADD LINK32 wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 DLL Debug DLL Windows SSPI DLL WinIDN" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /FD /EHsc /GZ /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN" /fixed:no # ADD LINK32 wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\DLL Debug - DLL Windows SSPI - DLL WinIDN" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 DLL Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release\src" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_CONSOLE" /D "NDEBUG" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /FD /EHsc /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Release\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\DLL Release" /fixed:no # ADD LINK32 wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Release\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\DLL Release" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 DLL Release DLL OpenSSL" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /FD /EHsc /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL" /fixed:no # ADD LINK32 wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 DLL Release DLL OpenSSL DLL LibSSH2" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL - DLL LibSSH2" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL - DLL LibSSH2\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL - DLL LibSSH2" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL - DLL LibSSH2\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /FD /EHsc /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL - DLL LibSSH2\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL" /fixed:no # ADD LINK32 wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL - DLL LibSSH2\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\DLL Release - DLL OpenSSL" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 DLL Release DLL Windows SSPI" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /FD /EHsc /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI" /fixed:no # ADD LINK32 wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 DLL Release DLL Windows SSPI DLL WinIDN" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI - DLL WinIDN" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI - DLL WinIDN\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI - DLL WinIDN" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI - DLL WinIDN\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /FD /EHsc /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI - DLL WinIDN\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI - DLL WinIDN" /fixed:no # ADD LINK32 wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI - DLL WinIDN\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\DLL Release - DLL Windows SSPI - DLL WinIDN" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug\src" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug\curl.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug" /fixed:no # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Debug DLL OpenSSL" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurld.lib libeay32.lib ssleay32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL" /fixed:no # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurld.lib libeay32.lib ssleay32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL" /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\DLL Debug" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Debug DLL OpenSSL DLL LibSSH2" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL - DLL LibSSH2" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL - DLL LibSSH2\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL - DLL LibSSH2" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL - DLL LibSSH2\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurld.lib libeay32.lib ssleay32.lib libssh2d.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL - DLL LibSSH2\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL" /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\DLL Debug" /libpath:"..\..\..\..\..\libssh2\build\Win32\VC6\DLL Debug" /fixed:no # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurld.lib libeay32.lib ssleay32.lib libssh2d.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL - DLL LibSSH2\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL OpenSSL" /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\DLL Debug" /libpath:"..\..\..\..\..\libssh2\build\Win32\VC6\DLL Debug" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Debug DLL Windows SSPI" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI" /fixed:no # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Debug DLL Windows SSPI DLL WinIDN" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib normaliz.lib wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN" /fixed:no # ADD LINK32 advapi32.lib normaliz.lib wldap32.lib ws2_32.lib libcurld.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug - DLL Windows SSPI - DLL WinIDN" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Debug LIB OpenSSL" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib crypt32.lib gdi32.lib user32.lib wldap32.lib ws2_32.lib libcurld.lib libeay32.lib ssleay32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL" /fixed:no # ADD LINK32 advapi32.lib crypt32.lib gdi32.lib user32.lib wldap32.lib ws2_32.lib libcurld.lib libeay32.lib ssleay32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL" /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\LIB Debug" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Debug LIB OpenSSL LIB LibSSH2" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL - LIB LibSSH2" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL - LIB LibSSH2\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL - LIB LibSSH2" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL - LIB LibSSH2\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD CPP /nologo /MDd /W3 /Zi /Od /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_DEBUG" /D "_CONSOLE" /D "DEBUGBUILD" /D "CURL_STATICLIB" /FD /EHsc /GZ /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib crypt32.lib gdi32.lib user32.lib wldap32.lib ws2_32.lib libcurld.lib libeay32.lib ssleay32.lib libssh2d.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL - LIB LibSSH2\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL" /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\LIB Debug" /libpath:"..\..\..\..\..\libssh2\build\Win32\VC6\LIB Debug" /fixed:no # ADD LINK32 advapi32.lib crypt32.lib gdi32.lib user32.lib wldap32.lib ws2_32.lib libcurld.lib libeay32.lib ssleay32.lib libssh2d.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL - LIB LibSSH2\curld.exe" /pdbtype:con /libpath:"..\..\..\..\build\Win32\VC6\LIB Debug - LIB OpenSSL" /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\LIB Debug" /libpath:"..\..\..\..\..\libssh2\build\Win32\VC6\LIB Debug" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release\src" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "_CONSOLE" /D "NDEBUG" /D "CURL_STATICLIB" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /EHsc /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release" /fixed:no # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Release DLL OpenSSL" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /EHsc /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurl.lib libeay32.lib ssleay32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL" /fixed:no # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurl.lib libeay32.lib ssleay32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL" /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\DLL Release" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Release DLL OpenSSL DLL LibSSH2" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL - DLL LibSSH2" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL - DLL LibSSH2\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL - DLL LibSSH2" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL - DLL LibSSH2\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /EHsc /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurl.lib libeay32.lib ssleay32.lib libssh2.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL - DLL LibSSH2\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL" /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\DLL Release" /libpath:"..\..\..\..\..\libssh2\build\Win32\VC6\DLL Release" /fixed:no # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurl.lib libeay32.lib ssleay32.lib libssh2.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL - DLL LibSSH2\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release - DLL OpenSSL" /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\DLL Release" /libpath:"..\..\..\..\..\libssh2\build\Win32\VC6\DLL Release" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Release DLL Windows SSPI" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /EHsc /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI" /fixed:no # ADD LINK32 advapi32.lib wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Release DLL Windows SSPI DLL WinIDN" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI - DLL WinIDN" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI - DLL WinIDN\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI - DLL WinIDN" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI - DLL WinIDN\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /EHsc /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib normaliz.lib wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI - DLL WinIDN\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI - DLL WinIDN" /fixed:no # ADD LINK32 advapi32.lib normaliz.lib wldap32.lib ws2_32.lib libcurl.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI - DLL WinIDN\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release - DLL Windows SSPI - DLL WinIDN" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Release LIB OpenSSL" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /EHsc /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib crypt32.lib gdi32.lib user32.lib wldap32.lib ws2_32.lib libcurl.lib libeay32.lib ssleay32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL" /fixed:no # ADD LINK32 advapi32.lib crypt32.lib gdi32.lib user32.lib wldap32.lib ws2_32.lib libcurl.lib libeay32.lib ssleay32.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL" /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\LIB Release" /fixed:no !ELSEIF "$(CFG)" == "curl - Win32 LIB Release LIB OpenSSL LIB LibSSH2" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL - LIB LibSSH2" # PROP BASE Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL - LIB LibSSH2\src" # PROP BASE Ignore_Export_Lib 0 # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL - LIB LibSSH2" # PROP Intermediate_Dir "..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL - LIB LibSSH2\src" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /EHsc /c # ADD CPP /nologo /MD /W3 /O2 /I "$(ProgramFiles)\Microsoft Platform SDK\Include" /I "..\..\..\..\include" /I "..\..\..\..\lib" /I "..\..\..\..\src" /D "NDEBUG" /D "_CONSOLE" /D "CURL_STATICLIB" /FD /EHsc /c # ADD BASE RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" # ADD RSC /l 0x409 /i "..\..\..\..\include" /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 advapi32.lib crypt32.lib gdi32.lib user32.lib wldap32.lib ws2_32.lib libcurl.lib libeay32.lib ssleay32.lib libssh2.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL - LIB LibSSH2\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL" /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\LIB Release" /libpath:"..\..\..\..\..\libssh2\build\Win32\VC6\LIB Release" /fixed:no # ADD LINK32 advapi32.lib crypt32.lib gdi32.lib user32.lib wldap32.lib ws2_32.lib libcurl.lib libeay32.lib ssleay32.lib libssh2.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL - LIB LibSSH2\curl.exe" /libpath:"..\..\..\..\build\Win32\VC6\LIB Release - LIB OpenSSL" /libpath:"..\..\..\..\..\openssl\build\Win32\VC6\LIB Release" /libpath:"..\..\..\..\..\libssh2\build\Win32\VC6\LIB Release" /fixed:no !ENDIF # Begin Target # Name "curl - Win32 DLL Debug" # Name "curl - Win32 DLL Debug DLL OpenSSL" # Name "curl - Win32 DLL Debug DLL OpenSSL DLL LibSSH2" # Name "curl - Win32 DLL Debug DLL Windows SSPI" # Name "curl - Win32 DLL Debug DLL Windows SSPI DLL WinIDN" # Name "curl - Win32 DLL Release" # Name "curl - Win32 DLL Release DLL OpenSSL" # Name "curl - Win32 DLL Release DLL OpenSSL DLL LibSSH2" # Name "curl - Win32 DLL Release DLL Windows SSPI" # Name "curl - Win32 DLL Release DLL Windows SSPI DLL WinIDN" # Name "curl - Win32 LIB Debug" # Name "curl - Win32 LIB Debug DLL OpenSSL" # Name "curl - Win32 LIB Debug DLL OpenSSL DLL LibSSH2" # Name "curl - Win32 LIB Debug DLL Windows SSPI" # Name "curl - Win32 LIB Debug DLL Windows SSPI DLL WinIDN" # Name "curl - Win32 LIB Debug LIB OpenSSL" # Name "curl - Win32 LIB Debug LIB OpenSSL LIB LibSSH2" # Name "curl - Win32 LIB Release" # Name "curl - Win32 LIB Release DLL OpenSSL" # Name "curl - Win32 LIB Release DLL OpenSSL DLL LibSSH2" # Name "curl - Win32 LIB Release DLL Windows SSPI" # Name "curl - Win32 LIB Release DLL Windows SSPI DLL WinIDN" # Name "curl - Win32 LIB Release LIB OpenSSL" # Name "curl - Win32 LIB Release LIB OpenSSL LIB LibSSH2" # Begin Group "Source Files" # PROP Default_Filter "" # Begin Source File SOURCE=..\..\..\..\lib\nonblock.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\rawstr.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strtoofft.c # End Source File # Begin Source File SOURCE=..\..\..\..\lib\warnless.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\slist_wc.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_binmode.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_bname.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cb_dbg.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cb_hdr.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cb_prg.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cb_rea.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cb_see.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cb_wrt.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cfgable.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_convert.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_dirhie.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_doswin.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_easysrc.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_formparse.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_getparam.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_getpass.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_help.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_helpers.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_homedir.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_hugehelp.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_libinfo.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_main.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_metalink.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_mfiles.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_msgs.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_operate.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_operhlp.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_panykey.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_paramhlp.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_parsecfg.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_setopt.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_sleep.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_strdup.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_urlglob.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_util.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_vms.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_writeenv.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_writeout.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_xattr.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "" # Begin Source File SOURCE=..\..\..\..\lib\config-win32.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\curl_setup.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\nonblock.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\rawstr.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\strtoofft.h # End Source File # Begin Source File SOURCE=..\..\..\..\lib\warnless.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\slist_wc.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_binmode.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_bname.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cb_dbg.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cb_hdr.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cb_prg.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cb_rea.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cb_see.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cb_wrt.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_cfgable.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_convert.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_dirhie.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_doswin.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_easysrc.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_formparse.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_getparam.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_getpass.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_helpers.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_help.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_homedir.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_hugehelp.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_libinfo.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_main.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_metalink.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_mfiles.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_msgs.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_operate.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_operhlp.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_panykey.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_paramhlp.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_parsecfg.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_sdecls.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_setopt.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_setup.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_sleep.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_strdup.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_urlglob.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_util.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_version.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_vms.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_writeenv.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_writeout.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\tool_xattr.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "" # Begin Source File SOURCE=..\..\..\..\src\curl.rc # End Source File # End Group # End Target # End Project curl-7.47.0/projects/Windows/VC6/curl-all.dsw0000644000175000017500000000146412626067776015642 00000000000000Microsoft Developer Studio Workspace File, Format Version 6.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project: "libcurl"=".\lib\libcurl.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Project: "curl"=".\src\curl.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name libcurl End Project Dependency }}} ############################################################################### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ############################################################################### curl-7.47.0/projects/Windows/VC7.1/0000755000175000017500000000000012652071256013606 500000000000000curl-7.47.0/projects/Windows/VC7.1/lib/0000755000175000017500000000000012652071260014347 500000000000000curl-7.47.0/projects/Windows/VC7.1/lib/libcurl.sln0000644000175000017500000001711612626067776016471 00000000000000Microsoft Visual Studio Solution File, Format Version 8.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "libcurl.vcproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Global GlobalSection(SolutionConfiguration) = preSolution DLL Debug = DLL Debug DLL Debug - DLL OpenSSL = DLL Debug - DLL OpenSSL DLL Debug - DLL OpenSSL - DLL LibSSH2 = DLL Debug - DLL OpenSSL - DLL LibSSH2 DLL Debug - DLL Windows SSPI = DLL Debug - DLL Windows SSPI DLL Debug - DLL Windows SSPI - DLL WinIDN = DLL Debug - DLL Windows SSPI - DLL WinIDN DLL Release = DLL Release DLL Release - DLL OpenSSL = DLL Release - DLL OpenSSL DLL Release - DLL OpenSSL - DLL LibSSH2 = DLL Release - DLL OpenSSL - DLL LibSSH2 DLL Release - DLL Windows SSPI = DLL Release - DLL Windows SSPI DLL Release - DLL Windows SSPI - DLL WinIDN = DLL Release - DLL Windows SSPI - DLL WinIDN LIB Debug = LIB Debug LIB Debug - DLL OpenSSL = LIB Debug - DLL OpenSSL LIB Debug - DLL OpenSSL - DLL LibSSH2 = LIB Debug - DLL OpenSSL - DLL LibSSH2 LIB Debug - DLL Windows SSPI = LIB Debug - DLL Windows SSPI LIB Debug - DLL Windows SSPI - DLL WinIDN = LIB Debug - DLL Windows SSPI - DLL WinIDN LIB Debug - LIB OpenSSL = LIB Debug - LIB OpenSSL LIB Debug - LIB OpenSSL - LIB LibSSH2 = LIB Debug - LIB OpenSSL - LIB LibSSH2 LIB Release = LIB Release LIB Release - DLL OpenSSL = LIB Release - DLL OpenSSL LIB Release - DLL OpenSSL - DLL LibSSH2 = LIB Release - DLL OpenSSL - DLL LibSSH2 LIB Release - DLL Windows SSPI = LIB Release - DLL Windows SSPI LIB Release - DLL Windows SSPI - DLL WinIDN = LIB Release - DLL Windows SSPI - DLL WinIDN LIB Release - LIB OpenSSL = LIB Release - LIB OpenSSL LIB Release - LIB OpenSSL - LIB LibSSH2 = LIB Release - LIB OpenSSL - LIB LibSSH2 EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC7.1/lib/libcurl.vcproj0000644000175000017500000015752212652071260017164 00000000000000 curl-7.47.0/projects/Windows/VC7.1/src/0000755000175000017500000000000012652071260014370 500000000000000curl-7.47.0/projects/Windows/VC7.1/src/curl.sln0000644000175000017500000001711012626067776016015 00000000000000Microsoft Visual Studio Solution File, Format Version 8.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "curl.vcproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Global GlobalSection(SolutionConfiguration) = preSolution DLL Debug = DLL Debug DLL Debug - DLL OpenSSL = DLL Debug - DLL OpenSSL DLL Debug - DLL OpenSSL - DLL LibSSH2 = DLL Debug - DLL OpenSSL - DLL LibSSH2 DLL Debug - DLL Windows SSPI = DLL Debug - DLL Windows SSPI DLL Debug - DLL Windows SSPI - DLL WinIDN = DLL Debug - DLL Windows SSPI - DLL WinIDN DLL Release = DLL Release DLL Release - DLL OpenSSL = DLL Release - DLL OpenSSL DLL Release - DLL OpenSSL - DLL LibSSH2 = DLL Release - DLL OpenSSL - DLL LibSSH2 DLL Release - DLL Windows SSPI = DLL Release - DLL Windows SSPI DLL Release - DLL Windows SSPI - DLL WinIDN = DLL Release - DLL Windows SSPI - DLL WinIDN LIB Debug = LIB Debug LIB Debug - DLL OpenSSL = LIB Debug - DLL OpenSSL LIB Debug - DLL OpenSSL - DLL LibSSH2 = LIB Debug - DLL OpenSSL - DLL LibSSH2 LIB Debug - DLL Windows SSPI = LIB Debug - DLL Windows SSPI LIB Debug - DLL Windows SSPI - DLL WinIDN = LIB Debug - DLL Windows SSPI - DLL WinIDN LIB Debug - LIB OpenSSL = LIB Debug - LIB OpenSSL LIB Debug - LIB OpenSSL - LIB LibSSH2 = LIB Debug - LIB OpenSSL - LIB LibSSH2 LIB Release = LIB Release LIB Release - DLL OpenSSL = LIB Release - DLL OpenSSL LIB Release - DLL OpenSSL - DLL LibSSH2 = LIB Release - DLL OpenSSL - DLL LibSSH2 LIB Release - DLL Windows SSPI = LIB Release - DLL Windows SSPI LIB Release - DLL Windows SSPI - DLL WinIDN = LIB Release - DLL Windows SSPI - DLL WinIDN LIB Release - LIB OpenSSL = LIB Release - LIB OpenSSL LIB Release - LIB OpenSSL - LIB LibSSH2 = LIB Release - LIB OpenSSL - LIB LibSSH2 EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC7.1/src/curl.vcproj0000644000175000017500000014665612652071260016524 00000000000000 curl-7.47.0/projects/Windows/VC7.1/curl-all.sln0000644000175000017500000003261512626067776016003 00000000000000Microsoft Visual Studio Solution File, Format Version 8.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "src\curl.vcproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" ProjectSection(ProjectDependencies) = postProject {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} = {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "lib\libcurl.vcproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Global GlobalSection(SolutionConfiguration) = preSolution DLL Debug = DLL Debug DLL Debug - DLL OpenSSL = DLL Debug - DLL OpenSSL DLL Debug - DLL OpenSSL - DLL LibSSH2 = DLL Debug - DLL OpenSSL - DLL LibSSH2 DLL Debug - DLL Windows SSPI = DLL Debug - DLL Windows SSPI DLL Debug - DLL Windows SSPI - DLL WinIDN = DLL Debug - DLL Windows SSPI - DLL WinIDN DLL Release = DLL Release DLL Release - DLL OpenSSL = DLL Release - DLL OpenSSL DLL Release - DLL OpenSSL - DLL LibSSH2 = DLL Release - DLL OpenSSL - DLL LibSSH2 DLL Release - DLL Windows SSPI = DLL Release - DLL Windows SSPI DLL Release - DLL Windows SSPI - DLL WinIDN = DLL Release - DLL Windows SSPI - DLL WinIDN LIB Debug = LIB Debug LIB Debug - DLL OpenSSL = LIB Debug - DLL OpenSSL LIB Debug - DLL OpenSSL - DLL LibSSH2 = LIB Debug - DLL OpenSSL - DLL LibSSH2 LIB Debug - DLL Windows SSPI = LIB Debug - DLL Windows SSPI LIB Debug - DLL Windows SSPI - DLL WinIDN = LIB Debug - DLL Windows SSPI - DLL WinIDN LIB Debug - LIB OpenSSL = LIB Debug - LIB OpenSSL LIB Debug - LIB OpenSSL - LIB LibSSH2 = LIB Debug - LIB OpenSSL - LIB LibSSH2 LIB Release = LIB Release LIB Release - DLL OpenSSL = LIB Release - DLL OpenSSL LIB Release - DLL OpenSSL - DLL LibSSH2 = LIB Release - DLL OpenSSL - DLL LibSSH2 LIB Release - DLL Windows SSPI = LIB Release - DLL Windows SSPI LIB Release - DLL Windows SSPI - DLL WinIDN = LIB Release - DLL Windows SSPI - DLL WinIDN LIB Release - LIB OpenSSL = LIB Release - LIB OpenSSL LIB Release - LIB OpenSSL - LIB LibSSH2 = LIB Release - LIB OpenSSL - LIB LibSSH2 EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC8/0000755000175000017500000000000012652071256013450 500000000000000curl-7.47.0/projects/Windows/VC8/lib/0000755000175000017500000000000012652071260014211 500000000000000curl-7.47.0/projects/Windows/VC8/lib/libcurl.sln0000644000175000017500000003660212626067776016334 00000000000000Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "libcurl.vcproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.Build.0 = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.ActiveCfg = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.Build.0 = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.Build.0 = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.ActiveCfg = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC8/lib/libcurl.vcproj0000644000175000017500000030773212652071260017026 00000000000000 curl-7.47.0/projects/Windows/VC8/src/0000755000175000017500000000000012652071260014232 500000000000000curl-7.47.0/projects/Windows/VC8/src/curl.sln0000644000175000017500000003657412626067776015676 00000000000000Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "curl.vcproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.Build.0 = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.ActiveCfg = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.Build.0 = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.Build.0 = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.ActiveCfg = LIB Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC8/src/curl.vcproj0000644000175000017500000031425112652071260016352 00000000000000 curl-7.47.0/projects/Windows/VC8/curl-all.sln0000644000175000017500000006614112626067776015646 00000000000000Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "src\curl.vcproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" ProjectSection(ProjectDependencies) = postProject {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} = {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "lib\libcurl.vcproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.Build.0 = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.ActiveCfg = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.Build.0 = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.Build.0 = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.ActiveCfg = LIB Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.Build.0 = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.Build.0 = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.ActiveCfg = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.Build.0 = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.Build.0 = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.ActiveCfg = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC14/0000755000175000017500000000000012652071256013525 500000000000000curl-7.47.0/projects/Windows/VC14/lib/0000755000175000017500000000000012652071260014266 500000000000000curl-7.47.0/projects/Windows/VC14/lib/libcurl.sln0000644000175000017500000004320412626067776016405 00000000000000Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2015 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "libcurl.vcxproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug - DLL wolfSSL|Win32 = DLL Debug - DLL wolfSSL|Win32 DLL Debug - DLL wolfSSL|x64 = DLL Debug - DLL wolfSSL|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release - DLL wolfSSL|Win32 = DLL Release - DLL wolfSSL|Win32 DLL Release - DLL wolfSSL|x64 = DLL Release - DLL wolfSSL|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug - LIB wolfSSL|Win32 = LIB Debug - LIB wolfSSL|Win32 LIB Debug - LIB wolfSSL|x64 = LIB Debug - LIB wolfSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release - LIB wolfSSL|Win32 = LIB Release - LIB wolfSSL|Win32 LIB Release - LIB wolfSSL|x64 = LIB Release - LIB wolfSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.Build.0 = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.ActiveCfg = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.Build.0 = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.Build.0 = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.ActiveCfg = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC14/lib/libcurl.vcxproj0000644000175000017500000050257212652071260017272 00000000000000 DLL Debug - DLL wolfSSL Win32 DLL Debug - DLL wolfSSL x64 DLL Debug - DLL OpenSSL - DLL LibSSH2 Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2 x64 DLL Debug - DLL OpenSSL Win32 DLL Debug - DLL OpenSSL x64 DLL Debug - DLL Windows SSPI - DLL WinIDN Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN x64 DLL Debug - DLL Windows SSPI Win32 DLL Debug - DLL Windows SSPI x64 DLL Debug Win32 DLL Debug x64 DLL Release - DLL wolfSSL Win32 DLL Release - DLL wolfSSL x64 DLL Release - DLL OpenSSL - DLL LibSSH2 Win32 DLL Release - DLL OpenSSL - DLL LibSSH2 x64 DLL Release - DLL OpenSSL Win32 DLL Release - DLL OpenSSL x64 DLL Release - DLL Windows SSPI - DLL WinIDN Win32 DLL Release - DLL Windows SSPI - DLL WinIDN x64 DLL Release - DLL Windows SSPI Win32 DLL Release - DLL Windows SSPI x64 DLL Release Win32 DLL Release x64 LIB Debug - DLL OpenSSL - DLL LibSSH2 Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2 x64 LIB Debug - DLL OpenSSL Win32 LIB Debug - DLL OpenSSL x64 LIB Debug - DLL Windows SSPI - DLL WinIDN Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN x64 LIB Debug - DLL Windows SSPI Win32 LIB Debug - DLL Windows SSPI x64 LIB Debug - LIB wolfSSL Win32 LIB Debug - LIB wolfSSL x64 LIB Debug - LIB OpenSSL - LIB LibSSH2 Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2 x64 LIB Debug - LIB OpenSSL Win32 LIB Debug - LIB OpenSSL x64 LIB Debug Win32 LIB Debug x64 LIB Release - DLL OpenSSL - DLL LibSSH2 Win32 LIB Release - DLL OpenSSL - DLL LibSSH2 x64 LIB Release - DLL OpenSSL Win32 LIB Release - DLL OpenSSL x64 LIB Release - DLL Windows SSPI - DLL WinIDN Win32 LIB Release - DLL Windows SSPI - DLL WinIDN x64 LIB Release - DLL Windows SSPI Win32 LIB Release - DLL Windows SSPI x64 LIB Release - LIB wolfSSL Win32 LIB Release - LIB wolfSSL x64 LIB Release - LIB OpenSSL - LIB LibSSH2 Win32 LIB Release - LIB OpenSSL - LIB LibSSH2 x64 LIB Release - LIB OpenSSL Win32 LIB Release - LIB OpenSSL x64 LIB Release Win32 LIB Release x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} libcurl StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 StaticLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 DynamicLibrary false MultiByte v140 <_ProjectFileVersion>10.0.30319.1 ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)lib\ $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win32\VC14\DLL Debug;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win64\VC14\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win32\VC14\DLL Release;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 true $(TargetDir)$(TargetName).pdb NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win64\VC14\DLL Release;%(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 true $(TargetDir)$(TargetName).pdb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC14\DLL Debug;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC14\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC14\DLL Release;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC14\DLL Release;%(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC14\DLL Debug;..\..\..\..\..\libssh2\build\Win32\VC14\DLL Debug;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC14\DLL Debug;..\..\..\..\..\libssh2\build\Win64\VC14\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC14\DLL Release;..\..\..\..\..\libssh2\build\Win32\VC14\DLL Release;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC14\DLL Release;..\..\..\..\..\libssh2\build\Win64\VC14\DLL Release;%(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 curl-7.47.0/projects/Windows/VC14/src/0000755000175000017500000000000012652071260014307 500000000000000curl-7.47.0/projects/Windows/VC14/src/curl.sln0000644000175000017500000004317612626067776015747 00000000000000Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2015 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "curl.vcxproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug - DLL wolfSSL|Win32 = DLL Debug - DLL wolfSSL|Win32 DLL Debug - DLL wolfSSL|x64 = DLL Debug - DLL wolfSSL|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release - DLL wolfSSL|Win32 = DLL Release - DLL wolfSSL|Win32 DLL Release - DLL wolfSSL|x64 = DLL Release - DLL wolfSSL|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug - LIB wolfSSL|Win32 = LIB Debug - LIB wolfSSL|Win32 LIB Debug - LIB wolfSSL|x64 = LIB Debug - LIB wolfSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release - LIB wolfSSL|Win32 = LIB Release - LIB wolfSSL|Win32 LIB Release - LIB wolfSSL|x64 = LIB Release - LIB wolfSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.Build.0 = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.ActiveCfg = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.Build.0 = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.Build.0 = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.ActiveCfg = LIB Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC14/src/curl.vcxproj0000644000175000017500000054260512652071260016625 00000000000000 DLL Debug - DLL wolfSSL Win32 DLL Debug - DLL wolfSSL x64 DLL Debug - DLL OpenSSL - DLL LibSSH2 Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2 x64 DLL Debug - DLL OpenSSL Win32 DLL Debug - DLL OpenSSL x64 DLL Debug - DLL Windows SSPI - DLL WinIDN Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN x64 DLL Debug - DLL Windows SSPI Win32 DLL Debug - DLL Windows SSPI x64 DLL Debug Win32 DLL Debug x64 DLL Release - DLL wolfSSL Win32 DLL Release - DLL wolfSSL x64 DLL Release - DLL OpenSSL - DLL LibSSH2 Win32 DLL Release - DLL OpenSSL - DLL LibSSH2 x64 DLL Release - DLL OpenSSL Win32 DLL Release - DLL OpenSSL x64 DLL Release - DLL Windows SSPI - DLL WinIDN Win32 DLL Release - DLL Windows SSPI - DLL WinIDN x64 DLL Release - DLL Windows SSPI Win32 DLL Release - DLL Windows SSPI x64 DLL Release Win32 DLL Release x64 LIB Debug - DLL OpenSSL - DLL LibSSH2 Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2 x64 LIB Debug - DLL OpenSSL Win32 LIB Debug - DLL OpenSSL x64 LIB Debug - DLL Windows SSPI - DLL WinIDN Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN x64 LIB Debug - DLL Windows SSPI Win32 LIB Debug - DLL Windows SSPI x64 LIB Debug - LIB wolfSSL Win32 LIB Debug - LIB wolfSSL x64 LIB Debug - LIB OpenSSL - LIB LibSSH2 Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2 x64 LIB Debug - LIB OpenSSL Win32 LIB Debug - LIB OpenSSL x64 LIB Debug Win32 LIB Debug x64 LIB Release - DLL OpenSSL - DLL LibSSH2 Win32 LIB Release - DLL OpenSSL - DLL LibSSH2 x64 LIB Release - DLL OpenSSL Win32 LIB Release - DLL OpenSSL x64 LIB Release - DLL Windows SSPI - DLL WinIDN Win32 LIB Release - DLL Windows SSPI - DLL WinIDN x64 LIB Release - DLL Windows SSPI Win32 LIB Release - DLL Windows SSPI x64 LIB Release - LIB wolfSSL Win32 LIB Release - LIB wolfSSL x64 LIB Release - LIB OpenSSL - LIB LibSSH2 Win32 LIB Release - LIB OpenSSL - LIB LibSSH2 x64 LIB Release - LIB OpenSSL Win32 LIB Release - LIB OpenSSL x64 LIB Release Win32 LIB Release x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D} curl Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 Application false MultiByte v140 <_ProjectFileVersion>10.0.30319.1 ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC14\$(Configuration)\ ..\..\..\..\build\Win32\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC14\$(Configuration)\ ..\..\..\..\build\Win64\VC14\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 true $(TargetDir)$(TargetName).pdb X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);..\..\..\..\..\wolfssl\build\Win32\VC14\LIB Release;%(AdditionalLibraryDirectories) Console MachineX86 true $(TargetDir)$(TargetName).pdb X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);..\..\..\..\..\wolfssl\build\Win64\VC14\LIB Release;%(AdditionalLibraryDirectories) Console MachineX64 true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);..\..\..\..\..\wolfssl\build\Win32\VC14\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);..\..\..\..\..\wolfssl\build\Win64\VC14\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC14\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC14\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC14\LIB Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC14\LIB Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC14\LIB Debug;..\..\..\..\..\libssh2\build\Win32\VC14\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC14\LIB Debug;..\..\..\..\..\libssh2\build\Win64\VC14\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC14\LIB Release;..\..\..\..\..\libssh2\build\Win32\VC14\LIB Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC14\LIB Release;..\..\..\..\..\libssh2\build\Win64\VC14\LIB Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC14\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC14\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC14\DLL Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC14\DLL Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC14\DLL Debug;..\..\..\..\..\libssh2\build\Win32\VC14\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC14\DLL Debug;..\..\..\..\..\libssh2\build\Win64\VC14\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC14\DLL Release;..\..\..\..\..\libssh2\build\Win32\VC14\DLL Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libssh2.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC14\DLL Release;..\..\..\..\..\libssh2\build\Win64\VC14\DLL Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC14\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 curl-7.47.0/projects/Windows/VC14/curl-all.sln0000644000175000017500000007614412626067776015727 00000000000000Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2015 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "src\curl.vcxproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" ProjectSection(ProjectDependencies) = postProject {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} = {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "lib\libcurl.vcxproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug - DLL wolfSSL|Win32 = DLL Debug - DLL wolfSSL|Win32 DLL Debug - DLL wolfSSL|x64 = DLL Debug - DLL wolfSSL|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release - DLL wolfSSL|Win32 = DLL Release - DLL wolfSSL|Win32 DLL Release - DLL wolfSSL|x64 = DLL Release - DLL wolfSSL|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug - LIB wolfSSL|Win32 = LIB Debug - LIB wolfSSL|Win32 LIB Debug - LIB wolfSSL|x64 = LIB Debug - LIB wolfSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release - LIB wolfSSL|Win32 = LIB Release - LIB wolfSSL|Win32 LIB Release - LIB wolfSSL|x64 = LIB Release - LIB wolfSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.Build.0 = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.ActiveCfg = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.Build.0 = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.Build.0 = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.ActiveCfg = LIB Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.Build.0 = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.Build.0 = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.ActiveCfg = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.Build.0 = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.Build.0 = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.ActiveCfg = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC9/0000755000175000017500000000000012652071256013451 500000000000000curl-7.47.0/projects/Windows/VC9/lib/0000755000175000017500000000000012652071260014212 500000000000000curl-7.47.0/projects/Windows/VC9/lib/libcurl.sln0000644000175000017500000003660312626067776016336 00000000000000Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "libcurl.vcproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.Build.0 = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.ActiveCfg = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.Build.0 = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.Build.0 = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.ActiveCfg = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC9/lib/libcurl.vcproj0000644000175000017500000030605012652071260017017 00000000000000 curl-7.47.0/projects/Windows/VC9/src/0000755000175000017500000000000012652071260014233 500000000000000curl-7.47.0/projects/Windows/VC9/src/curl.sln0000644000175000017500000003657512626067776015700 00000000000000Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "curl.vcproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.Build.0 = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.ActiveCfg = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.Build.0 = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.Build.0 = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.ActiveCfg = LIB Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC9/src/curl.vcproj0000644000175000017500000030763312652071260016361 00000000000000 curl-7.47.0/projects/Windows/VC9/curl-all.sln0000644000175000017500000006614212626067776015650 00000000000000Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "src\curl.vcproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" ProjectSection(ProjectDependencies) = postProject {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} = {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "lib\libcurl.vcproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.Build.0 = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.ActiveCfg = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.Build.0 = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.Build.0 = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.ActiveCfg = LIB Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.Build.0 = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.Build.0 = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.ActiveCfg = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.Build.0 = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.Build.0 = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.ActiveCfg = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC12/0000755000175000017500000000000012652071256013523 500000000000000curl-7.47.0/projects/Windows/VC12/lib/0000755000175000017500000000000012652071260014264 500000000000000curl-7.47.0/projects/Windows/VC12/lib/libcurl.sln0000644000175000017500000004320412626067776016403 00000000000000Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "libcurl.vcxproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug - DLL wolfSSL|Win32 = DLL Debug - DLL wolfSSL|Win32 DLL Debug - DLL wolfSSL|x64 = DLL Debug - DLL wolfSSL|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release - DLL wolfSSL|Win32 = DLL Release - DLL wolfSSL|Win32 DLL Release - DLL wolfSSL|x64 = DLL Release - DLL wolfSSL|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug - LIB wolfSSL|Win32 = LIB Debug - LIB wolfSSL|Win32 LIB Debug - LIB wolfSSL|x64 = LIB Debug - LIB wolfSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release - LIB wolfSSL|Win32 = LIB Release - LIB wolfSSL|Win32 LIB Release - LIB wolfSSL|x64 = LIB Release - LIB wolfSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.Build.0 = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.ActiveCfg = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.Build.0 = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.Build.0 = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.ActiveCfg = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC12/lib/libcurl.vcxproj0000644000175000017500000050257212652071260017270 00000000000000 DLL Debug - DLL wolfSSL Win32 DLL Debug - DLL wolfSSL x64 DLL Debug - DLL OpenSSL - DLL LibSSH2 Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2 x64 DLL Debug - DLL OpenSSL Win32 DLL Debug - DLL OpenSSL x64 DLL Debug - DLL Windows SSPI - DLL WinIDN Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN x64 DLL Debug - DLL Windows SSPI Win32 DLL Debug - DLL Windows SSPI x64 DLL Debug Win32 DLL Debug x64 DLL Release - DLL wolfSSL Win32 DLL Release - DLL wolfSSL x64 DLL Release - DLL OpenSSL - DLL LibSSH2 Win32 DLL Release - DLL OpenSSL - DLL LibSSH2 x64 DLL Release - DLL OpenSSL Win32 DLL Release - DLL OpenSSL x64 DLL Release - DLL Windows SSPI - DLL WinIDN Win32 DLL Release - DLL Windows SSPI - DLL WinIDN x64 DLL Release - DLL Windows SSPI Win32 DLL Release - DLL Windows SSPI x64 DLL Release Win32 DLL Release x64 LIB Debug - DLL OpenSSL - DLL LibSSH2 Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2 x64 LIB Debug - DLL OpenSSL Win32 LIB Debug - DLL OpenSSL x64 LIB Debug - DLL Windows SSPI - DLL WinIDN Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN x64 LIB Debug - DLL Windows SSPI Win32 LIB Debug - DLL Windows SSPI x64 LIB Debug - LIB wolfSSL Win32 LIB Debug - LIB wolfSSL x64 LIB Debug - LIB OpenSSL - LIB LibSSH2 Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2 x64 LIB Debug - LIB OpenSSL Win32 LIB Debug - LIB OpenSSL x64 LIB Debug Win32 LIB Debug x64 LIB Release - DLL OpenSSL - DLL LibSSH2 Win32 LIB Release - DLL OpenSSL - DLL LibSSH2 x64 LIB Release - DLL OpenSSL Win32 LIB Release - DLL OpenSSL x64 LIB Release - DLL Windows SSPI - DLL WinIDN Win32 LIB Release - DLL Windows SSPI - DLL WinIDN x64 LIB Release - DLL Windows SSPI Win32 LIB Release - DLL Windows SSPI x64 LIB Release - LIB wolfSSL Win32 LIB Release - LIB wolfSSL x64 LIB Release - LIB OpenSSL - LIB LibSSH2 Win32 LIB Release - LIB OpenSSL - LIB LibSSH2 x64 LIB Release - LIB OpenSSL Win32 LIB Release - LIB OpenSSL x64 LIB Release Win32 LIB Release x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} libcurl StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 StaticLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 DynamicLibrary false MultiByte v120 <_ProjectFileVersion>10.0.30319.1 ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)lib\ $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win32\VC12\DLL Debug;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win64\VC12\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win32\VC12\DLL Release;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 true $(TargetDir)$(TargetName).pdb NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win64\VC12\DLL Release;%(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 true $(TargetDir)$(TargetName).pdb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC12\DLL Debug;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC12\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC12\DLL Release;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC12\DLL Release;%(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC12\DLL Debug;..\..\..\..\..\libssh2\build\Win32\VC12\DLL Debug;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC12\DLL Debug;..\..\..\..\..\libssh2\build\Win64\VC12\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC12\DLL Release;..\..\..\..\..\libssh2\build\Win32\VC12\DLL Release;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC12\DLL Release;..\..\..\..\..\libssh2\build\Win64\VC12\DLL Release;%(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 curl-7.47.0/projects/Windows/VC12/src/0000755000175000017500000000000012652071260014305 500000000000000curl-7.47.0/projects/Windows/VC12/src/curl.sln0000644000175000017500000004317612626067776015745 00000000000000Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "curl.vcxproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug - DLL wolfSSL|Win32 = DLL Debug - DLL wolfSSL|Win32 DLL Debug - DLL wolfSSL|x64 = DLL Debug - DLL wolfSSL|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release - DLL wolfSSL|Win32 = DLL Release - DLL wolfSSL|Win32 DLL Release - DLL wolfSSL|x64 = DLL Release - DLL wolfSSL|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug - LIB wolfSSL|Win32 = LIB Debug - LIB wolfSSL|Win32 LIB Debug - LIB wolfSSL|x64 = LIB Debug - LIB wolfSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release - LIB wolfSSL|Win32 = LIB Release - LIB wolfSSL|Win32 LIB Release - LIB wolfSSL|x64 = LIB Release - LIB wolfSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.Build.0 = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.ActiveCfg = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.Build.0 = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.Build.0 = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.ActiveCfg = LIB Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC12/src/curl.vcxproj0000644000175000017500000054260512652071260016623 00000000000000 DLL Debug - DLL wolfSSL Win32 DLL Debug - DLL wolfSSL x64 DLL Debug - DLL OpenSSL - DLL LibSSH2 Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2 x64 DLL Debug - DLL OpenSSL Win32 DLL Debug - DLL OpenSSL x64 DLL Debug - DLL Windows SSPI - DLL WinIDN Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN x64 DLL Debug - DLL Windows SSPI Win32 DLL Debug - DLL Windows SSPI x64 DLL Debug Win32 DLL Debug x64 DLL Release - DLL wolfSSL Win32 DLL Release - DLL wolfSSL x64 DLL Release - DLL OpenSSL - DLL LibSSH2 Win32 DLL Release - DLL OpenSSL - DLL LibSSH2 x64 DLL Release - DLL OpenSSL Win32 DLL Release - DLL OpenSSL x64 DLL Release - DLL Windows SSPI - DLL WinIDN Win32 DLL Release - DLL Windows SSPI - DLL WinIDN x64 DLL Release - DLL Windows SSPI Win32 DLL Release - DLL Windows SSPI x64 DLL Release Win32 DLL Release x64 LIB Debug - DLL OpenSSL - DLL LibSSH2 Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2 x64 LIB Debug - DLL OpenSSL Win32 LIB Debug - DLL OpenSSL x64 LIB Debug - DLL Windows SSPI - DLL WinIDN Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN x64 LIB Debug - DLL Windows SSPI Win32 LIB Debug - DLL Windows SSPI x64 LIB Debug - LIB wolfSSL Win32 LIB Debug - LIB wolfSSL x64 LIB Debug - LIB OpenSSL - LIB LibSSH2 Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2 x64 LIB Debug - LIB OpenSSL Win32 LIB Debug - LIB OpenSSL x64 LIB Debug Win32 LIB Debug x64 LIB Release - DLL OpenSSL - DLL LibSSH2 Win32 LIB Release - DLL OpenSSL - DLL LibSSH2 x64 LIB Release - DLL OpenSSL Win32 LIB Release - DLL OpenSSL x64 LIB Release - DLL Windows SSPI - DLL WinIDN Win32 LIB Release - DLL Windows SSPI - DLL WinIDN x64 LIB Release - DLL Windows SSPI Win32 LIB Release - DLL Windows SSPI x64 LIB Release - LIB wolfSSL Win32 LIB Release - LIB wolfSSL x64 LIB Release - LIB OpenSSL - LIB LibSSH2 Win32 LIB Release - LIB OpenSSL - LIB LibSSH2 x64 LIB Release - LIB OpenSSL Win32 LIB Release - LIB OpenSSL x64 LIB Release Win32 LIB Release x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D} curl Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 Application false MultiByte v120 <_ProjectFileVersion>10.0.30319.1 ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC12\$(Configuration)\ ..\..\..\..\build\Win32\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC12\$(Configuration)\ ..\..\..\..\build\Win64\VC12\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 true $(TargetDir)$(TargetName).pdb X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);..\..\..\..\..\wolfssl\build\Win32\VC12\LIB Release;%(AdditionalLibraryDirectories) Console MachineX86 true $(TargetDir)$(TargetName).pdb X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);..\..\..\..\..\wolfssl\build\Win64\VC12\LIB Release;%(AdditionalLibraryDirectories) Console MachineX64 true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);..\..\..\..\..\wolfssl\build\Win32\VC12\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);..\..\..\..\..\wolfssl\build\Win64\VC12\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC12\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC12\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC12\LIB Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC12\LIB Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC12\LIB Debug;..\..\..\..\..\libssh2\build\Win32\VC12\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC12\LIB Debug;..\..\..\..\..\libssh2\build\Win64\VC12\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC12\LIB Release;..\..\..\..\..\libssh2\build\Win32\VC12\LIB Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC12\LIB Release;..\..\..\..\..\libssh2\build\Win64\VC12\LIB Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC12\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC12\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC12\DLL Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC12\DLL Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC12\DLL Debug;..\..\..\..\..\libssh2\build\Win32\VC12\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC12\DLL Debug;..\..\..\..\..\libssh2\build\Win64\VC12\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC12\DLL Release;..\..\..\..\..\libssh2\build\Win32\VC12\DLL Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libssh2.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC12\DLL Release;..\..\..\..\..\libssh2\build\Win64\VC12\DLL Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC12\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 curl-7.47.0/projects/Windows/VC12/curl-all.sln0000644000175000017500000007614412626067776015725 00000000000000Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "src\curl.vcxproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" ProjectSection(ProjectDependencies) = postProject {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} = {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "lib\libcurl.vcxproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug - DLL wolfSSL|Win32 = DLL Debug - DLL wolfSSL|Win32 DLL Debug - DLL wolfSSL|x64 = DLL Debug - DLL wolfSSL|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release - DLL wolfSSL|Win32 = DLL Release - DLL wolfSSL|Win32 DLL Release - DLL wolfSSL|x64 = DLL Release - DLL wolfSSL|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug - LIB wolfSSL|Win32 = LIB Debug - LIB wolfSSL|Win32 LIB Debug - LIB wolfSSL|x64 = LIB Debug - LIB wolfSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release - LIB wolfSSL|Win32 = LIB Release - LIB wolfSSL|Win32 LIB Release - LIB wolfSSL|x64 = LIB Release - LIB wolfSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.Build.0 = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.ActiveCfg = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.Build.0 = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.Build.0 = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.ActiveCfg = LIB Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.Build.0 = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.Build.0 = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.ActiveCfg = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.Build.0 = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.Build.0 = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.ActiveCfg = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC7/0000755000175000017500000000000012652071256013447 500000000000000curl-7.47.0/projects/Windows/VC7/lib/0000755000175000017500000000000012652071260014210 500000000000000curl-7.47.0/projects/Windows/VC7/lib/libcurl.sln0000644000175000017500000001630312626067776016327 00000000000000Microsoft Visual Studio Solution File, Format Version 7.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "libcurl.vcproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfiguration) = preSolution ConfigName.0 = DLL Debug ConfigName.1 = DLL Debug - DLL OpenSSL ConfigName.2 = DLL Debug - DLL OpenSSL - DLL LibSSH2 ConfigName.3 = DLL Debug - DLL Windows SSPI ConfigName.4 = DLL Debug - DLL Windows SSPI - DLL WinIDN ConfigName.5 = DLL Release ConfigName.6 = DLL Release - DLL OpenSSL ConfigName.7 = DLL Release - DLL OpenSSL - DLL LibSSH2 ConfigName.8 = DLL Release - DLL Windows SSPI ConfigName.9 = DLL Release - DLL Windows SSPI - DLL WinIDN ConfigName.10 = LIB Debug ConfigName.11 = LIB Debug - DLL OpenSSL ConfigName.12 = LIB Debug - DLL OpenSSL - DLL LibSSH2 ConfigName.13 = LIB Debug - DLL Windows SSPI ConfigName.14 = LIB Debug - DLL Windows SSPI - DLL WinIDN ConfigName.15 = LIB Debug - LIB OpenSSL ConfigName.16 = LIB Debug - LIB OpenSSL - LIB LibSSH2 ConfigName.17 = LIB Release ConfigName.18 = LIB Release - DLL OpenSSL ConfigName.19 = LIB Release - DLL OpenSSL - DLL LibSSH2 ConfigName.20 = LIB Release - DLL Windows SSPI ConfigName.21 = LIB Release - DLL Windows SSPI - DLL WinIDN ConfigName.22 = LIB Release - LIB OpenSSL ConfigName.23 = LIB Release - LIB OpenSSL - LIB LibSSH2 EndGlobalSection GlobalSection(ProjectDependencies) = postSolution EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC7/lib/libcurl.vcproj0000644000175000017500000014763112652071260017025 00000000000000 curl-7.47.0/projects/Windows/VC7/src/0000755000175000017500000000000012652071260014231 500000000000000curl-7.47.0/projects/Windows/VC7/src/curl.sln0000644000175000017500000001627512626067776015671 00000000000000Microsoft Visual Studio Solution File, Format Version 7.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "curl.vcproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" EndProject Global GlobalSection(SolutionConfiguration) = preSolution ConfigName.0 = DLL Debug ConfigName.1 = DLL Debug - DLL OpenSSL ConfigName.2 = DLL Debug - DLL OpenSSL - DLL LibSSH2 ConfigName.3 = DLL Debug - DLL Windows SSPI ConfigName.4 = DLL Debug - DLL Windows SSPI - DLL WinIDN ConfigName.5 = DLL Release ConfigName.6 = DLL Release - DLL OpenSSL ConfigName.7 = DLL Release - DLL OpenSSL - DLL LibSSH2 ConfigName.8 = DLL Release - DLL Windows SSPI ConfigName.9 = DLL Release - DLL Windows SSPI - DLL WinIDN ConfigName.10 = LIB Debug ConfigName.11 = LIB Debug - DLL OpenSSL ConfigName.12 = LIB Debug - DLL OpenSSL - DLL LibSSH2 ConfigName.13 = LIB Debug - DLL Windows SSPI ConfigName.14 = LIB Debug - DLL Windows SSPI - DLL WinIDN ConfigName.15 = LIB Debug - LIB OpenSSL ConfigName.16 = LIB Debug - LIB OpenSSL - LIB LibSSH2 ConfigName.17 = LIB Release ConfigName.18 = LIB Release - DLL OpenSSL ConfigName.19 = LIB Release - DLL OpenSSL - DLL LibSSH2 ConfigName.20 = LIB Release - DLL Windows SSPI ConfigName.21 = LIB Release - DLL Windows SSPI - DLL WinIDN ConfigName.22 = LIB Release - LIB OpenSSL ConfigName.23 = LIB Release - LIB OpenSSL - LIB LibSSH2 EndGlobalSection GlobalSection(ProjectDependencies) = postSolution EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC7/src/curl.vcproj0000644000175000017500000013667112652071260016361 00000000000000 curl-7.47.0/projects/Windows/VC7/curl-all.sln0000644000175000017500000003167612626067776015652 00000000000000Microsoft Visual Studio Solution File, Format Version 7.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "src\curl.vcproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "lib\libcurl.vcproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfiguration) = preSolution ConfigName.0 = DLL Debug ConfigName.1 = DLL Debug - DLL OpenSSL ConfigName.2 = DLL Debug - DLL OpenSSL - DLL LibSSH2 ConfigName.3 = DLL Debug - DLL Windows SSPI ConfigName.4 = DLL Debug - DLL Windows SSPI - DLL WinIDN ConfigName.5 = DLL Release ConfigName.6 = DLL Release - DLL OpenSSL ConfigName.7 = DLL Release - DLL OpenSSL - DLL LibSSH2 ConfigName.8 = DLL Release - DLL Windows SSPI ConfigName.9 = DLL Release - DLL Windows SSPI - DLL WinIDN ConfigName.10 = LIB Debug ConfigName.11 = LIB Debug - DLL OpenSSL ConfigName.12 = LIB Debug - DLL OpenSSL - DLL LibSSH2 ConfigName.13 = LIB Debug - DLL Windows SSPI ConfigName.14 = LIB Debug - DLL Windows SSPI - DLL WinIDN ConfigName.15 = LIB Debug - LIB OpenSSL ConfigName.16 = LIB Debug - LIB OpenSSL - LIB LibSSH2 ConfigName.17 = LIB Release ConfigName.18 = LIB Release - DLL OpenSSL ConfigName.19 = LIB Release - DLL OpenSSL - DLL LibSSH2 ConfigName.20 = LIB Release - DLL Windows SSPI ConfigName.21 = LIB Release - DLL Windows SSPI - DLL WinIDN ConfigName.22 = LIB Release - LIB OpenSSL ConfigName.23 = LIB Release - LIB OpenSSL - LIB LibSSH2 EndGlobalSection GlobalSection(ProjectDependencies) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.0 = {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC10/0000755000175000017500000000000012652071256013521 500000000000000curl-7.47.0/projects/Windows/VC10/lib/0000755000175000017500000000000012652071260014262 500000000000000curl-7.47.0/projects/Windows/VC10/lib/libcurl.sln0000644000175000017500000004320412626067776016401 00000000000000Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "libcurl.vcxproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug - DLL wolfSSL|Win32 = DLL Debug - DLL wolfSSL|Win32 DLL Debug - DLL wolfSSL|x64 = DLL Debug - DLL wolfSSL|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release - DLL wolfSSL|Win32 = DLL Release - DLL wolfSSL|Win32 DLL Release - DLL wolfSSL|x64 = DLL Release - DLL wolfSSL|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug - LIB wolfSSL|Win32 = LIB Debug - LIB wolfSSL|Win32 LIB Debug - LIB wolfSSL|x64 = LIB Debug - LIB wolfSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release - LIB wolfSSL|Win32 = LIB Release - LIB wolfSSL|Win32 LIB Release - LIB wolfSSL|x64 = LIB Release - LIB wolfSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.Build.0 = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.ActiveCfg = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.Build.0 = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.Build.0 = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.ActiveCfg = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC10/lib/libcurl.vcxproj0000644000175000017500000047564112652071260017274 00000000000000 DLL Debug - DLL wolfSSL Win32 DLL Debug - DLL wolfSSL x64 DLL Debug - DLL OpenSSL - DLL LibSSH2 Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2 x64 DLL Debug - DLL OpenSSL Win32 DLL Debug - DLL OpenSSL x64 DLL Debug - DLL Windows SSPI - DLL WinIDN Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN x64 DLL Debug - DLL Windows SSPI Win32 DLL Debug - DLL Windows SSPI x64 DLL Debug Win32 DLL Debug x64 DLL Release - DLL wolfSSL Win32 DLL Release - DLL wolfSSL x64 DLL Release - DLL OpenSSL - DLL LibSSH2 Win32 DLL Release - DLL OpenSSL - DLL LibSSH2 x64 DLL Release - DLL OpenSSL Win32 DLL Release - DLL OpenSSL x64 DLL Release - DLL Windows SSPI - DLL WinIDN Win32 DLL Release - DLL Windows SSPI - DLL WinIDN x64 DLL Release - DLL Windows SSPI Win32 DLL Release - DLL Windows SSPI x64 DLL Release Win32 DLL Release x64 LIB Debug - DLL OpenSSL - DLL LibSSH2 Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2 x64 LIB Debug - DLL OpenSSL Win32 LIB Debug - DLL OpenSSL x64 LIB Debug - DLL Windows SSPI - DLL WinIDN Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN x64 LIB Debug - DLL Windows SSPI Win32 LIB Debug - DLL Windows SSPI x64 LIB Debug - LIB wolfSSL Win32 LIB Debug - LIB wolfSSL x64 LIB Debug - LIB OpenSSL - LIB LibSSH2 Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2 x64 LIB Debug - LIB OpenSSL Win32 LIB Debug - LIB OpenSSL x64 LIB Debug Win32 LIB Debug x64 LIB Release - DLL OpenSSL - DLL LibSSH2 Win32 LIB Release - DLL OpenSSL - DLL LibSSH2 x64 LIB Release - DLL OpenSSL Win32 LIB Release - DLL OpenSSL x64 LIB Release - DLL Windows SSPI - DLL WinIDN Win32 LIB Release - DLL Windows SSPI - DLL WinIDN x64 LIB Release - DLL Windows SSPI Win32 LIB Release - DLL Windows SSPI x64 LIB Release - LIB wolfSSL Win32 LIB Release - LIB wolfSSL x64 LIB Release - LIB OpenSSL - LIB LibSSH2 Win32 LIB Release - LIB OpenSSL - LIB LibSSH2 x64 LIB Release - LIB OpenSSL Win32 LIB Release - LIB OpenSSL x64 LIB Release Win32 LIB Release x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} libcurl StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte StaticLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte DynamicLibrary false MultiByte <_ProjectFileVersion>10.0.30319.1 ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)lib\ $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win32\VC10\DLL Debug;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win64\VC10\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win32\VC10\DLL Release;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 true $(TargetDir)$(TargetName).pdb NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win64\VC10\DLL Release;%(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 true $(TargetDir)$(TargetName).pdb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC10\DLL Debug;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC10\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC10\DLL Release;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC10\DLL Release;%(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC10\DLL Debug;..\..\..\..\..\libssh2\build\Win32\VC10\DLL Debug;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC10\DLL Debug;..\..\..\..\..\libssh2\build\Win64\VC10\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC10\DLL Release;..\..\..\..\..\libssh2\build\Win32\VC10\DLL Release;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC10\DLL Release;..\..\..\..\..\libssh2\build\Win64\VC10\DLL Release;%(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 curl-7.47.0/projects/Windows/VC10/src/0000755000175000017500000000000012652071260014303 500000000000000curl-7.47.0/projects/Windows/VC10/src/curl.sln0000644000175000017500000004317612626067776015743 00000000000000Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "curl.vcxproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug - DLL wolfSSL|Win32 = DLL Debug - DLL wolfSSL|Win32 DLL Debug - DLL wolfSSL|x64 = DLL Debug - DLL wolfSSL|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release - DLL wolfSSL|Win32 = DLL Release - DLL wolfSSL|Win32 DLL Release - DLL wolfSSL|x64 = DLL Release - DLL wolfSSL|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug - LIB wolfSSL|Win32 = LIB Debug - LIB wolfSSL|Win32 LIB Debug - LIB wolfSSL|x64 = LIB Debug - LIB wolfSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release - LIB wolfSSL|Win32 = LIB Release - LIB wolfSSL|Win32 LIB Release - LIB wolfSSL|x64 = LIB Release - LIB wolfSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.Build.0 = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.ActiveCfg = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.Build.0 = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.Build.0 = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.ActiveCfg = LIB Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC10/src/curl.vcxproj0000644000175000017500000053565412652071260016627 00000000000000 DLL Debug - DLL wolfSSL Win32 DLL Debug - DLL wolfSSL x64 DLL Debug - DLL OpenSSL - DLL LibSSH2 Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2 x64 DLL Debug - DLL OpenSSL Win32 DLL Debug - DLL OpenSSL x64 DLL Debug - DLL Windows SSPI - DLL WinIDN Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN x64 DLL Debug - DLL Windows SSPI Win32 DLL Debug - DLL Windows SSPI x64 DLL Debug Win32 DLL Debug x64 DLL Release - DLL wolfSSL Win32 DLL Release - DLL wolfSSL x64 DLL Release - DLL OpenSSL - DLL LibSSH2 Win32 DLL Release - DLL OpenSSL - DLL LibSSH2 x64 DLL Release - DLL OpenSSL Win32 DLL Release - DLL OpenSSL x64 DLL Release - DLL Windows SSPI - DLL WinIDN Win32 DLL Release - DLL Windows SSPI - DLL WinIDN x64 DLL Release - DLL Windows SSPI Win32 DLL Release - DLL Windows SSPI x64 DLL Release Win32 DLL Release x64 LIB Debug - DLL OpenSSL - DLL LibSSH2 Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2 x64 LIB Debug - DLL OpenSSL Win32 LIB Debug - DLL OpenSSL x64 LIB Debug - DLL Windows SSPI - DLL WinIDN Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN x64 LIB Debug - DLL Windows SSPI Win32 LIB Debug - DLL Windows SSPI x64 LIB Debug - LIB wolfSSL Win32 LIB Debug - LIB wolfSSL x64 LIB Debug - LIB OpenSSL - LIB LibSSH2 Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2 x64 LIB Debug - LIB OpenSSL Win32 LIB Debug - LIB OpenSSL x64 LIB Debug Win32 LIB Debug x64 LIB Release - DLL OpenSSL - DLL LibSSH2 Win32 LIB Release - DLL OpenSSL - DLL LibSSH2 x64 LIB Release - DLL OpenSSL Win32 LIB Release - DLL OpenSSL x64 LIB Release - DLL Windows SSPI - DLL WinIDN Win32 LIB Release - DLL Windows SSPI - DLL WinIDN x64 LIB Release - DLL Windows SSPI Win32 LIB Release - DLL Windows SSPI x64 LIB Release - LIB wolfSSL Win32 LIB Release - LIB wolfSSL x64 LIB Release - LIB OpenSSL - LIB LibSSH2 Win32 LIB Release - LIB OpenSSL - LIB LibSSH2 x64 LIB Release - LIB OpenSSL Win32 LIB Release - LIB OpenSSL x64 LIB Release Win32 LIB Release x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D} curl Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte Application false MultiByte <_ProjectFileVersion>10.0.30319.1 ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC10\$(Configuration)\ ..\..\..\..\build\Win32\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC10\$(Configuration)\ ..\..\..\..\build\Win64\VC10\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 true $(TargetDir)$(TargetName).pdb X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);..\..\..\..\..\wolfssl\build\Win32\VC10\LIB Release;%(AdditionalLibraryDirectories) Console MachineX86 true $(TargetDir)$(TargetName).pdb X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);..\..\..\..\..\wolfssl\build\Win64\VC10\LIB Release;%(AdditionalLibraryDirectories) Console MachineX64 true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);..\..\..\..\..\wolfssl\build\Win32\VC10\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);..\..\..\..\..\wolfssl\build\Win64\VC10\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC10\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC10\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC10\LIB Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC10\LIB Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC10\LIB Debug;..\..\..\..\..\libssh2\build\Win32\VC10\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC10\LIB Debug;..\..\..\..\..\libssh2\build\Win64\VC10\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC10\LIB Release;..\..\..\..\..\libssh2\build\Win32\VC10\LIB Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC10\LIB Release;..\..\..\..\..\libssh2\build\Win64\VC10\LIB Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC10\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC10\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC10\DLL Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC10\DLL Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC10\DLL Debug;..\..\..\..\..\libssh2\build\Win32\VC10\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC10\DLL Debug;..\..\..\..\..\libssh2\build\Win64\VC10\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC10\DLL Release;..\..\..\..\..\libssh2\build\Win32\VC10\DLL Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libssh2.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC10\DLL Release;..\..\..\..\..\libssh2\build\Win64\VC10\DLL Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC10\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 curl-7.47.0/projects/Windows/VC10/curl-all.sln0000644000175000017500000007614412626067776015723 00000000000000Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "src\curl.vcxproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" ProjectSection(ProjectDependencies) = postProject {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} = {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "lib\libcurl.vcxproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug - DLL wolfSSL|Win32 = DLL Debug - DLL wolfSSL|Win32 DLL Debug - DLL wolfSSL|x64 = DLL Debug - DLL wolfSSL|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release - DLL wolfSSL|Win32 = DLL Release - DLL wolfSSL|Win32 DLL Release - DLL wolfSSL|x64 = DLL Release - DLL wolfSSL|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug - LIB wolfSSL|Win32 = LIB Debug - LIB wolfSSL|Win32 LIB Debug - LIB wolfSSL|x64 = LIB Debug - LIB wolfSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release - LIB wolfSSL|Win32 = LIB Release - LIB wolfSSL|Win32 LIB Release - LIB wolfSSL|x64 = LIB Release - LIB wolfSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.Build.0 = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.ActiveCfg = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.Build.0 = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.Build.0 = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.ActiveCfg = LIB Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.Build.0 = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.Build.0 = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.ActiveCfg = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.Build.0 = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.Build.0 = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.ActiveCfg = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC11/0000755000175000017500000000000012652071256013522 500000000000000curl-7.47.0/projects/Windows/VC11/lib/0000755000175000017500000000000012652071260014263 500000000000000curl-7.47.0/projects/Windows/VC11/lib/libcurl.sln0000644000175000017500000004320412626067776016402 00000000000000Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "libcurl.vcxproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug - DLL wolfSSL|Win32 = DLL Debug - DLL wolfSSL|Win32 DLL Debug - DLL wolfSSL|x64 = DLL Debug - DLL wolfSSL|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release - DLL wolfSSL|Win32 = DLL Release - DLL wolfSSL|Win32 DLL Release - DLL wolfSSL|x64 = DLL Release - DLL wolfSSL|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug - LIB wolfSSL|Win32 = LIB Debug - LIB wolfSSL|Win32 LIB Debug - LIB wolfSSL|x64 = LIB Debug - LIB wolfSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release - LIB wolfSSL|Win32 = LIB Release - LIB wolfSSL|Win32 LIB Release - LIB wolfSSL|x64 = LIB Release - LIB wolfSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.Build.0 = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.ActiveCfg = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.Build.0 = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.Build.0 = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.ActiveCfg = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC11/lib/libcurl.vcxproj0000644000175000017500000050257112652071260017266 00000000000000 DLL Debug - DLL wolfSSL Win32 DLL Debug - DLL wolfSSL x64 DLL Debug - DLL OpenSSL - DLL LibSSH2 Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2 x64 DLL Debug - DLL OpenSSL Win32 DLL Debug - DLL OpenSSL x64 DLL Debug - DLL Windows SSPI - DLL WinIDN Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN x64 DLL Debug - DLL Windows SSPI Win32 DLL Debug - DLL Windows SSPI x64 DLL Debug Win32 DLL Debug x64 DLL Release - DLL wolfSSL Win32 DLL Release - DLL wolfSSL x64 DLL Release - DLL OpenSSL - DLL LibSSH2 Win32 DLL Release - DLL OpenSSL - DLL LibSSH2 x64 DLL Release - DLL OpenSSL Win32 DLL Release - DLL OpenSSL x64 DLL Release - DLL Windows SSPI - DLL WinIDN Win32 DLL Release - DLL Windows SSPI - DLL WinIDN x64 DLL Release - DLL Windows SSPI Win32 DLL Release - DLL Windows SSPI x64 DLL Release Win32 DLL Release x64 LIB Debug - DLL OpenSSL - DLL LibSSH2 Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2 x64 LIB Debug - DLL OpenSSL Win32 LIB Debug - DLL OpenSSL x64 LIB Debug - DLL Windows SSPI - DLL WinIDN Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN x64 LIB Debug - DLL Windows SSPI Win32 LIB Debug - DLL Windows SSPI x64 LIB Debug - LIB wolfSSL Win32 LIB Debug - LIB wolfSSL x64 LIB Debug - LIB OpenSSL - LIB LibSSH2 Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2 x64 LIB Debug - LIB OpenSSL Win32 LIB Debug - LIB OpenSSL x64 LIB Debug Win32 LIB Debug x64 LIB Release - DLL OpenSSL - DLL LibSSH2 Win32 LIB Release - DLL OpenSSL - DLL LibSSH2 x64 LIB Release - DLL OpenSSL Win32 LIB Release - DLL OpenSSL x64 LIB Release - DLL Windows SSPI - DLL WinIDN Win32 LIB Release - DLL Windows SSPI - DLL WinIDN x64 LIB Release - DLL Windows SSPI Win32 LIB Release - DLL Windows SSPI x64 LIB Release - LIB wolfSSL Win32 LIB Release - LIB wolfSSL x64 LIB Release - LIB OpenSSL - LIB LibSSH2 Win32 LIB Release - LIB OpenSSL - LIB LibSSH2 x64 LIB Release - LIB OpenSSL Win32 LIB Release - LIB OpenSSL x64 LIB Release Win32 LIB Release x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} libcurl StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 StaticLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 DynamicLibrary false MultiByte v110 <_ProjectFileVersion>10.0.30319.1 ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ false false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)lib\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)lib\ $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win32\VC11\DLL Debug;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win64\VC11\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win32\VC11\DLL Release;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 true $(TargetDir)$(TargetName).pdb NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;WOLFSSL_DLL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\wolfssl\build\Win64\VC11\DLL Release;%(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 true $(TargetDir)$(TargetName).pdb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\wolfssl;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_CYASSL;HAVE_CYASSL_OPTIONS_H;HAVE_CYASSL_ERROR_SSL_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC11\DLL Debug;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC11\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC11\DLL Release;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC11\DLL Release;%(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;normaliz.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) %(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 _DEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC11\DLL Debug;..\..\..\..\..\libssh2\build\Win32\VC11\DLL Debug;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX86 _DEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC11\DLL Debug;..\..\..\..\..\libssh2\build\Win64\VC11\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).lib MachineX64 NDEBUG;%(PreprocessorDefinitions) true Win32 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win32\VC11\DLL Release;..\..\..\..\..\libssh2\build\Win32\VC11\DLL Release;%(AdditionalLibraryDirectories) $(IntDir)$(TargetFileName).intermediate.manifest $(TargetDir)$(TargetName).lib MachineX86 NDEBUG;%(PreprocessorDefinitions) true X64 $(OutDir)$(ProjectName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ws2_32.lib;wldap32.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\..\openssl\build\Win64\VC11\DLL Release;..\..\..\..\..\libssh2\build\Win64\VC11\DLL Release;%(AdditionalLibraryDirectories) $(TargetDir)$(TargetName).lib MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 Disabled ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) _DEBUG;BUILDING_LIBCURL;DEBUGBUILD;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_WINDOWS_SSPI;USE_SCHANNEL;USE_WIN32_IDN;WANT_IDN_PROTOTYPES;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX86 X64 MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;..\..\..\..\..\openssl\inc32;..\..\..\..\..\libssh2\include;%(AdditionalIncludeDirectories) NDEBUG;BUILDING_LIBCURL;CURL_STATICLIB;USE_OPENSSL;USE_LIBSSH2;HAVE_LIBSSH2_H;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 $(OutDir)$(TargetName)$(TargetExt) MachineX64 curl-7.47.0/projects/Windows/VC11/src/0000755000175000017500000000000012652071260014304 500000000000000curl-7.47.0/projects/Windows/VC11/src/curl.sln0000644000175000017500000004317612626067776015744 00000000000000Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "curl.vcxproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug - DLL wolfSSL|Win32 = DLL Debug - DLL wolfSSL|Win32 DLL Debug - DLL wolfSSL|x64 = DLL Debug - DLL wolfSSL|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release - DLL wolfSSL|Win32 = DLL Release - DLL wolfSSL|Win32 DLL Release - DLL wolfSSL|x64 = DLL Release - DLL wolfSSL|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug - LIB wolfSSL|Win32 = LIB Debug - LIB wolfSSL|Win32 LIB Debug - LIB wolfSSL|x64 = LIB Debug - LIB wolfSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release - LIB wolfSSL|Win32 = LIB Release - LIB wolfSSL|Win32 LIB Release - LIB wolfSSL|x64 = LIB Release - LIB wolfSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.Build.0 = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.ActiveCfg = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.Build.0 = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.Build.0 = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.ActiveCfg = LIB Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/Windows/VC11/src/curl.vcxproj0000644000175000017500000054260412652071260016621 00000000000000 DLL Debug - DLL wolfSSL Win32 DLL Debug - DLL wolfSSL x64 DLL Debug - DLL OpenSSL - DLL LibSSH2 Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2 x64 DLL Debug - DLL OpenSSL Win32 DLL Debug - DLL OpenSSL x64 DLL Debug - DLL Windows SSPI - DLL WinIDN Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN x64 DLL Debug - DLL Windows SSPI Win32 DLL Debug - DLL Windows SSPI x64 DLL Debug Win32 DLL Debug x64 DLL Release - DLL wolfSSL Win32 DLL Release - DLL wolfSSL x64 DLL Release - DLL OpenSSL - DLL LibSSH2 Win32 DLL Release - DLL OpenSSL - DLL LibSSH2 x64 DLL Release - DLL OpenSSL Win32 DLL Release - DLL OpenSSL x64 DLL Release - DLL Windows SSPI - DLL WinIDN Win32 DLL Release - DLL Windows SSPI - DLL WinIDN x64 DLL Release - DLL Windows SSPI Win32 DLL Release - DLL Windows SSPI x64 DLL Release Win32 DLL Release x64 LIB Debug - DLL OpenSSL - DLL LibSSH2 Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2 x64 LIB Debug - DLL OpenSSL Win32 LIB Debug - DLL OpenSSL x64 LIB Debug - DLL Windows SSPI - DLL WinIDN Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN x64 LIB Debug - DLL Windows SSPI Win32 LIB Debug - DLL Windows SSPI x64 LIB Debug - LIB wolfSSL Win32 LIB Debug - LIB wolfSSL x64 LIB Debug - LIB OpenSSL - LIB LibSSH2 Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2 x64 LIB Debug - LIB OpenSSL Win32 LIB Debug - LIB OpenSSL x64 LIB Debug Win32 LIB Debug x64 LIB Release - DLL OpenSSL - DLL LibSSH2 Win32 LIB Release - DLL OpenSSL - DLL LibSSH2 x64 LIB Release - DLL OpenSSL Win32 LIB Release - DLL OpenSSL x64 LIB Release - DLL Windows SSPI - DLL WinIDN Win32 LIB Release - DLL Windows SSPI - DLL WinIDN x64 LIB Release - DLL Windows SSPI Win32 LIB Release - DLL Windows SSPI x64 LIB Release - LIB wolfSSL Win32 LIB Release - LIB wolfSSL x64 LIB Release - LIB OpenSSL - LIB LibSSH2 Win32 LIB Release - LIB OpenSSL - LIB LibSSH2 x64 LIB Release - LIB OpenSSL Win32 LIB Release - LIB OpenSSL x64 LIB Release Win32 LIB Release x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D} curl Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 Application false MultiByte v110 <_ProjectFileVersion>10.0.30319.1 ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ false ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win32\VC11\$(Configuration)\ ..\..\..\..\build\Win32\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false ..\..\..\..\build\Win64\VC11\$(Configuration)\ ..\..\..\..\build\Win64\VC11\$(Configuration)\ $(OutDir)src\ $(OutDir)src\ false false $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName)d $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(ProjectName) $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 true $(TargetDir)$(TargetName).pdb X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);..\..\..\..\..\wolfssl\build\Win32\VC11\LIB Release;%(AdditionalLibraryDirectories) Console MachineX86 true $(TargetDir)$(TargetName).pdb X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);..\..\..\..\..\wolfssl\build\Win64\VC11\LIB Release;%(AdditionalLibraryDirectories) Console MachineX64 true $(TargetDir)$(TargetName).pdb $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);..\..\..\..\..\wolfssl\build\Win32\VC11\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;wolfssl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);..\..\..\..\..\wolfssl\build\Win64\VC11\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC11\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC11\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC11\LIB Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC11\LIB Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC11\LIB Debug;..\..\..\..\..\libssh2\build\Win32\VC11\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC11\LIB Debug;..\..\..\..\..\libssh2\build\Win64\VC11\LIB Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC11\LIB Release;..\..\..\..\..\libssh2\build\Win32\VC11\LIB Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) crypt32.lib;ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC11\LIB Release;..\..\..\..\..\libssh2\build\Win64\VC11\LIB Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC11\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC11\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC11\DLL Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC11\DLL Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC11\DLL Debug;..\..\..\..\..\libssh2\build\Win32\VC11\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;libeay32.lib;ssleay32.lib;libssh2d.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC11\DLL Debug;..\..\..\..\..\libssh2\build\Win64\VC11\DLL Debug;%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libeay32.lib;ssleay32.lib;libssh2.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win32\VC11\DLL Release;..\..\..\..\..\libssh2\build\Win32\VC11\DLL Release;%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;libssh2.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);..\..\..\..\..\openssl\build\Win64\VC11\DLL Release;..\..\..\..\..\libssh2\build\Win64\VC11\DLL Release;%(AdditionalLibraryDirectories) Console MachineX64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX86 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 X64 $(TargetDir)$(TargetName).tlb Disabled ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) _DEBUG;_CONSOLE;DEBUGBUILD;CURL_STATICLIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebugDLL Level3 ProgramDatabase _DEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurld.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) true $(TargetDir)$(TargetName).pdb Console MachineX64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win32\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX86 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 X64 $(TargetDir)$(TargetName).tlb MaxSpeed OnlyExplicitInline ..\..\..\..\include;..\..\..\..\lib;%(AdditionalIncludeDirectories) NDEBUG;_CONSOLE;CURL_STATICLIB;%(PreprocessorDefinitions) true MultiThreadedDLL true Level3 NDEBUG;%(PreprocessorDefinitions) 0x0409 ..\..\..\..\include;%(AdditionalIncludeDirectories) ws2_32.lib;wldap32.lib;normaliz.lib;libcurl.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) ..\..\..\..\build\Win64\VC11\$(Configuration);%(AdditionalLibraryDirectories) Console MachineX64 curl-7.47.0/projects/Windows/VC11/curl-all.sln0000644000175000017500000007614412626067776015724 00000000000000Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2012 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "src\curl.vcxproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}" ProjectSection(ProjectDependencies) = postProject {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} = {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "lib\libcurl.vcxproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 DLL Debug - DLL OpenSSL|Win32 = DLL Debug - DLL OpenSSL|Win32 DLL Debug - DLL OpenSSL|x64 = DLL Debug - DLL OpenSSL|x64 DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 DLL Debug - DLL Windows SSPI|Win32 = DLL Debug - DLL Windows SSPI|Win32 DLL Debug - DLL Windows SSPI|x64 = DLL Debug - DLL Windows SSPI|x64 DLL Debug - DLL wolfSSL|Win32 = DLL Debug - DLL wolfSSL|Win32 DLL Debug - DLL wolfSSL|x64 = DLL Debug - DLL wolfSSL|x64 DLL Debug|Win32 = DLL Debug|Win32 DLL Debug|x64 = DLL Debug|x64 DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 DLL Release - DLL OpenSSL - DLL LibSSH2|x64 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 DLL Release - DLL OpenSSL|Win32 = DLL Release - DLL OpenSSL|Win32 DLL Release - DLL OpenSSL|x64 = DLL Release - DLL OpenSSL|x64 DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 DLL Release - DLL Windows SSPI - DLL WinIDN|x64 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 DLL Release - DLL Windows SSPI|Win32 = DLL Release - DLL Windows SSPI|Win32 DLL Release - DLL Windows SSPI|x64 = DLL Release - DLL Windows SSPI|x64 DLL Release - DLL wolfSSL|Win32 = DLL Release - DLL wolfSSL|Win32 DLL Release - DLL wolfSSL|x64 = DLL Release - DLL wolfSSL|x64 DLL Release|Win32 = DLL Release|Win32 DLL Release|x64 = DLL Release|x64 LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 LIB Debug - DLL OpenSSL|Win32 = LIB Debug - DLL OpenSSL|Win32 LIB Debug - DLL OpenSSL|x64 = LIB Debug - DLL OpenSSL|x64 LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 LIB Debug - DLL Windows SSPI|Win32 = LIB Debug - DLL Windows SSPI|Win32 LIB Debug - DLL Windows SSPI|x64 = LIB Debug - DLL Windows SSPI|x64 LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 LIB Debug - LIB OpenSSL|Win32 = LIB Debug - LIB OpenSSL|Win32 LIB Debug - LIB OpenSSL|x64 = LIB Debug - LIB OpenSSL|x64 LIB Debug - LIB wolfSSL|Win32 = LIB Debug - LIB wolfSSL|Win32 LIB Debug - LIB wolfSSL|x64 = LIB Debug - LIB wolfSSL|x64 LIB Debug|Win32 = LIB Debug|Win32 LIB Debug|x64 = LIB Debug|x64 LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 LIB Release - DLL OpenSSL - DLL LibSSH2|x64 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 LIB Release - DLL OpenSSL|Win32 = LIB Release - DLL OpenSSL|Win32 LIB Release - DLL OpenSSL|x64 = LIB Release - DLL OpenSSL|x64 LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 LIB Release - DLL Windows SSPI - DLL WinIDN|x64 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 LIB Release - DLL Windows SSPI|Win32 = LIB Release - DLL Windows SSPI|Win32 LIB Release - DLL Windows SSPI|x64 = LIB Release - DLL Windows SSPI|x64 LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 LIB Release - LIB OpenSSL - LIB LibSSH2|x64 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 LIB Release - LIB OpenSSL|Win32 = LIB Release - LIB OpenSSL|Win32 LIB Release - LIB OpenSSL|x64 = LIB Release - LIB OpenSSL|x64 LIB Release - LIB wolfSSL|Win32 = LIB Release - LIB wolfSSL|Win32 LIB Release - LIB wolfSSL|x64 = LIB Release - LIB wolfSSL|x64 LIB Release|Win32 = LIB Release|Win32 LIB Release|x64 = LIB Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Debug|x64.Build.0 = DLL Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|Win32.Build.0 = DLL Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.ActiveCfg = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.DLL Release|x64.Build.0 = DLL Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Debug|x64.Build.0 = LIB Debug|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|Win32.Build.0 = LIB Release|Win32 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.ActiveCfg = LIB Release|x64 {5228E9CE-A216-422F-A5E6-58E95E2DD71D}.LIB Release|x64.Build.0 = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.ActiveCfg = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|Win32.Build.0 = DLL Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.ActiveCfg = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL OpenSSL|x64.Build.0 = DLL Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.ActiveCfg = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|Win32.Build.0 = DLL Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.ActiveCfg = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL Windows SSPI|x64.Build.0 = DLL Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.ActiveCfg = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|Win32.Build.0 = DLL Debug - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.ActiveCfg = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug - DLL wolfSSL|x64.Build.0 = DLL Debug - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.ActiveCfg = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|Win32.Build.0 = DLL Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.ActiveCfg = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Debug|x64.Build.0 = DLL Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = DLL Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.ActiveCfg = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|Win32.Build.0 = DLL Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.ActiveCfg = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL OpenSSL|x64.Build.0 = DLL Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = DLL Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.ActiveCfg = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|Win32.Build.0 = DLL Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.ActiveCfg = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL Windows SSPI|x64.Build.0 = DLL Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.ActiveCfg = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|Win32.Build.0 = DLL Release - DLL wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.ActiveCfg = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release - DLL wolfSSL|x64.Build.0 = DLL Release - DLL wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.ActiveCfg = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|Win32.Build.0 = DLL Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.ActiveCfg = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.DLL Release|x64.Build.0 = DLL Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Debug - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.ActiveCfg = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|Win32.Build.0 = LIB Debug - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.ActiveCfg = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL OpenSSL|x64.Build.0 = LIB Debug - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Debug - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.ActiveCfg = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|Win32.Build.0 = LIB Debug - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.ActiveCfg = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - DLL Windows SSPI|x64.Build.0 = LIB Debug - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Debug - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.ActiveCfg = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|Win32.Build.0 = LIB Debug - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.ActiveCfg = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB OpenSSL|x64.Build.0 = LIB Debug - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.ActiveCfg = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|Win32.Build.0 = LIB Debug - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.ActiveCfg = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug - LIB wolfSSL|x64.Build.0 = LIB Debug - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.ActiveCfg = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|Win32.Build.0 = LIB Debug|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.ActiveCfg = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Debug|x64.Build.0 = LIB Debug|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|Win32.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.ActiveCfg = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL - DLL LibSSH2|x64.Build.0 = LIB Release - DLL OpenSSL - DLL LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.ActiveCfg = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|Win32.Build.0 = LIB Release - DLL OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.ActiveCfg = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL OpenSSL|x64.Build.0 = LIB Release - DLL OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|Win32.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.ActiveCfg = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI - DLL WinIDN|x64.Build.0 = LIB Release - DLL Windows SSPI - DLL WinIDN|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.ActiveCfg = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|Win32.Build.0 = LIB Release - DLL Windows SSPI|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.ActiveCfg = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - DLL Windows SSPI|x64.Build.0 = LIB Release - DLL Windows SSPI|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|Win32.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.ActiveCfg = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL - LIB LibSSH2|x64.Build.0 = LIB Release - LIB OpenSSL - LIB LibSSH2|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.ActiveCfg = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|Win32.Build.0 = LIB Release - LIB OpenSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.ActiveCfg = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB OpenSSL|x64.Build.0 = LIB Release - LIB OpenSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.ActiveCfg = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|Win32.Build.0 = LIB Release - LIB wolfSSL|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.ActiveCfg = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release - LIB wolfSSL|x64.Build.0 = LIB Release - LIB wolfSSL|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.ActiveCfg = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|Win32.Build.0 = LIB Release|Win32 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.ActiveCfg = LIB Release|x64 {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}.LIB Release|x64.Build.0 = LIB Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal curl-7.47.0/projects/build-wolfssl.bat0000644000175000017500000002201712626067776014633 00000000000000@echo off rem *************************************************************************** rem * _ _ ____ _ rem * Project ___| | | | _ \| | rem * / __| | | | |_) | | rem * | (__| |_| | _ <| |___ rem * \___|\___/|_| \_\_____| rem * rem * Copyright (C) 2012 - 2015, Steve Holme, . rem * Copyright (C) 2015, Jay Satiro, . rem * rem * This software is licensed as described in the file COPYING, which rem * you should have received as part of this distribution. The terms rem * are also available at http://curl.haxx.se/docs/copyright.html. rem * rem * You may opt to use, copy, modify, merge, publish, distribute and/or sell rem * copies of the Software, and permit persons to whom the Software is rem * furnished to do so, under the terms of the COPYING file. rem * rem * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY rem * KIND, either express or implied. rem * rem *************************************************************************** :begin rem Check we are running on a Windows NT derived OS if not "%OS%" == "Windows_NT" goto nodos rem Set our variables setlocal set SUCCESSFUL_BUILDS= set VC_VER= set BUILD_PLATFORM= rem Ensure we have the required arguments if /i "%~1" == "" goto syntax :parseArgs if "%~1" == "" goto prerequisites if /i "%~1" == "vc10" ( set VC_VER=10.0 set VC_DESC=VC10 set VC_TOOLSET=v100 set "VC_PATH=Microsoft Visual Studio 10.0\VC" ) else if /i "%~1" == "vc11" ( set VC_VER=11.0 set VC_DESC=VC11 set VC_TOOLSET=v110 set "VC_PATH=Microsoft Visual Studio 11.0\VC" ) else if /i "%~1" == "vc12" ( set VC_VER=12.0 set VC_DESC=VC12 set VC_TOOLSET=v120 set "VC_PATH=Microsoft Visual Studio 12.0\VC" ) else if /i "%~1" == "vc14" ( set VC_VER=14.0 set VC_DESC=VC14 set VC_TOOLSET=v140 set "VC_PATH=Microsoft Visual Studio 14.0\VC" ) else if /i "%~1" == "x86" ( set BUILD_PLATFORM=x86 ) else if /i "%~1" == "x64" ( set BUILD_PLATFORM=x64 ) else if /i "%~1" == "debug" ( set BUILD_CONFIG=debug ) else if /i "%~1" == "release" ( set BUILD_CONFIG=release ) else if /i "%~1" == "-?" ( goto syntax ) else if /i "%~1" == "-h" ( goto syntax ) else if /i "%~1" == "-help" ( goto syntax ) else ( if not defined START_DIR ( set START_DIR=%~1 ) else ( goto unknown ) ) shift & goto parseArgs :prerequisites rem Compiler and platform are required parameters. if not defined VC_VER goto syntax if not defined BUILD_PLATFORM goto syntax rem Default the start directory if one isn't specified if not defined START_DIR set START_DIR=..\..\wolfssl rem Calculate the program files directory if defined PROGRAMFILES ( set "PF=%PROGRAMFILES%" set OS_PLATFORM=x86 ) if defined PROGRAMFILES(x86) ( set "PF=%PROGRAMFILES(x86)%" set OS_PLATFORM=x64 ) rem Check we have a program files directory if not defined PF goto nopf rem Check we have Visual Studio installed if not exist "%PF%\%VC_PATH%" goto novc rem Check the start directory exists if not exist "%START_DIR%" goto nowolfssl :configure if "%BUILD_PLATFORM%" == "" set BUILD_PLATFORM=%OS_PLATFORM% if "%BUILD_PLATFORM%" == "x86" ( set VCVARS_PLATFORM=x86 ) else if "%BUILD_PLATFORM%" == "x64" ( if "%VC_VER%" == "10.0" set VCVARS_PLATFORM=%BUILD_PLATFORM% if "%VC_VER%" == "11.0" set VCVARS_PLATFORM=amd64 if "%VC_VER%" == "12.0" set VCVARS_PLATFORM=amd64 if "%VC_VER%" == "14.0" set VCVARS_PLATFORM=amd64 ) :start echo. call "%PF%\%VC_PATH%\vcvarsall" %VCVARS_PLATFORM% echo. set SAVED_PATH=%CD% cd %START_DIR% goto %BUILD_PLATFORM% :x64 rem Calculate our output directory set OUTDIR=build\Win64\%VC_DESC% if not exist %OUTDIR% md %OUTDIR% if "%BUILD_CONFIG%" == "release" goto x64release :x64debug rem Perform 64-bit Debug Build call :build Debug x64 if errorlevel 1 goto error call :build "DLL Debug" x64 if errorlevel 1 goto error if "%BUILD_CONFIG%" == "debug" goto success :x64release rem Perform 64-bit Release Build call :build Release x64 if errorlevel 1 goto error call :build "DLL Release" x64 if errorlevel 1 goto error goto success :x86 rem Calculate our output directory set OUTDIR=build\Win32\%VC_DESC% if not exist %OUTDIR% md %OUTDIR% if "%BUILD_CONFIG%" == "release" goto x86release :x86debug rem Perform 32-bit Debug Build call :build Debug Win32 if errorlevel 1 goto error call :build "DLL Debug" Win32 if errorlevel 1 goto error if "%BUILD_CONFIG%" == "debug" goto success :x86release rem Perform 32-bit Release Build call :build Release Win32 if errorlevel 1 goto error call :build "DLL Release" Win32 if errorlevel 1 goto error goto success :build rem This function builds wolfSSL. rem Usage: CALL :build rem The current directory must be the wolfSSL directory. rem VS Configuration: Debug, Release, DLL Debug or DLL Release. rem VS Platform: Win32 or x64. rem Returns: 1 on fail, 0 on success. rem An informational message should be shown before any return. setlocal set MSBUILD_CONFIG=%~1 set MSBUILD_PLATFORM=%~2 if not exist wolfssl64.sln ( echo. echo Error: build: wolfssl64.sln not found in "%CD%" exit /b 1 ) rem OUTDIR isn't a full path, only relative. MSBUILD_OUTDIR must be full and rem not have trailing backslashes, which are handled later. if "%MSBUILD_CONFIG%" == "Debug" ( set "MSBUILD_OUTDIR=%CD%\%OUTDIR%\LIB Debug" ) else if "%MSBUILD_CONFIG%" == "Release" ( set "MSBUILD_OUTDIR=%CD%\%OUTDIR%\LIB Release" ) else if "%MSBUILD_CONFIG%" == "DLL Debug" ( set "MSBUILD_OUTDIR=%CD%\%OUTDIR%\DLL Debug" ) else if "%MSBUILD_CONFIG%" == "DLL Release" ( set "MSBUILD_OUTDIR=%CD%\%OUTDIR%\DLL Release" ) else ( echo. echo Error: build: Configuration not recognized. exit /b 1 ) if not "%MSBUILD_PLATFORM%" == "Win32" if not "%MSBUILD_PLATFORM%" == "x64" ( echo. echo Error: build: Platform not recognized. exit /b 1 ) copy /v /y "%~dp0\wolfssl_options.h" .\cyassl\options.h if %ERRORLEVEL% neq 0 ( echo. echo Error: build: Couldn't replace .\cyassl\options.h exit /b 1 ) copy /v /y "%~dp0\wolfssl_options.h" .\wolfssl\options.h if %ERRORLEVEL% neq 0 ( echo. echo Error: build: Couldn't replace .\wolfssl\options.h exit /b 1 ) rem Extra trailing \ in Dirs because otherwise it thinks a quote is escaped msbuild wolfssl64.sln ^ -p:CustomAfterMicrosoftCommonTargets="%~dp0\wolfssl_override.props" ^ -p:Configuration="%MSBUILD_CONFIG%" ^ -p:Platform="%MSBUILD_PLATFORM%" ^ -p:PlatformToolset="%VC_TOOLSET%" ^ -p:OutDir="%MSBUILD_OUTDIR%\\" ^ -p:IntDir="%MSBUILD_OUTDIR%\obj\\" if %ERRORLEVEL% neq 0 ( echo. echo Error: Failed building wolfSSL %MSBUILD_CONFIG%^|%MSBUILD_PLATFORM%. exit /b 1 ) rem For tests to run properly the wolfSSL directory must remain the current. set "PATH=%MSBUILD_OUTDIR%;%PATH%" "%MSBUILD_OUTDIR%\testsuite.exe" if %ERRORLEVEL% neq 0 ( echo. echo Error: Failed testing wolfSSL %MSBUILD_CONFIG%^|%MSBUILD_PLATFORM%. exit /b 1 ) echo. echo Success: Built and tested wolfSSL %MSBUILD_CONFIG%^|%MSBUILD_PLATFORM%. echo. echo. rem This is necessary to export our local variables back to the caller. endlocal & set SUCCESSFUL_BUILDS="%MSBUILD_CONFIG%|%MSBUILD_PLATFORM%" ^ %SUCCESSFUL_BUILDS% exit /b 0 :syntax rem Display the help echo. echo Usage: build-wolfssl ^ ^ [configuration] [directory] echo. echo Compiler: echo. echo vc10 - Use Visual Studio 2010 echo vc11 - Use Visual Studio 2012 echo vc12 - Use Visual Studio 2013 echo vc14 - Use Visual Studio 2015 echo. echo Platform: echo. echo x86 - Perform a 32-bit build echo x64 - Perform a 64-bit build echo. echo Configuration: echo. echo debug - Perform a debug build echo release - Perform a release build echo. echo Other: echo. echo directory - Specifies the wolfSSL source directory goto error :unknown echo. echo Error: Unknown argument '%1' goto error :nodos echo. echo Error: Only a Windows NT based Operating System is supported goto error :nopf echo. echo Error: Cannot obtain the directory for Program Files goto error :novc echo. echo Error: %VC_DESC% is not installed goto error :nox64 echo. echo Error: %VC_DESC% does not support 64-bit builds goto error :nowolfssl echo. echo Error: Cannot locate wolfSSL source directory, expected "%START_DIR%" goto error :error if "%OS%" == "Windows_NT" endlocal exit /B 1 :success if defined SUCCESSFUL_BUILDS ( echo. echo. echo Build complete. echo. echo The following configurations were built and tested successfully: echo. echo %SUCCESSFUL_BUILDS% echo. ) cd %SAVED_PATH% endlocal exit /B 0 curl-7.47.0/depcomp0000755000175000017500000005601612647016301011064 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2013-05-30.07; # UTC # Copyright (C) 1999-2014 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # Get the directory component of the given path, and save it in the # global variables '$dir'. Note that this directory component will # be either empty or ending with a '/' character. This is deliberate. set_dir_from () { case $1 in */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; *) dir=;; esac } # Get the suffix-stripped basename of the given path, and save it the # global variable '$base'. set_base_from () { base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` } # If no dependency file was actually created by the compiler invocation, # we still have to create a dummy depfile, to avoid errors with the # Makefile "include basename.Plo" scheme. make_dummy_depfile () { echo "#dummy" > "$depfile" } # Factor out some common post-processing of the generated depfile. # Requires the auxiliary global variable '$tmpdepfile' to be set. aix_post_process_depfile () { # If the compiler actually managed to produce a dependency file, # post-process it. if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependency.h'. # Do two passes, one to just change these to # $object: dependency.h # and one to simply output # dependency.h: # which is needed to avoid the deleted-header problem. { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" } > "$depfile" rm -f "$tmpdepfile" else make_dummy_depfile fi } # A tabulation character. tab=' ' # A newline character. nl=' ' # Character ranges might be problematic outside the C locale. # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The second -e expression handles DOS-style file names with drive # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done aix_post_process_depfile ;; tcc) # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 # FIXME: That version still under development at the moment of writing. # Make that this statement remains true also for stable, released # versions. # It will wrap lines (doesn't matter whether long or short) with a # trailing '\', as in: # # foo.o : \ # foo.c \ # foo.h \ # # It will put a trailing '\' even on the last line, and will use leading # spaces rather than leading tabs (at least since its commit 0394caf7 # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. # We have to change lines of the first kind to '$object: \'. sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" # And for each line of the second kind, we have to emit a 'dep.h:' # dummy dependency, to avoid the deleted-header problem. sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... set_dir_from "$object" # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. set_base_from "$source" tmpdepfile=$base.d # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir=$base.d-lock trap " echo '$0: caught signal, cleaning up...' >&2 rmdir '$lockdir' exit 1 " 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0; do # mkdir is a portable test-and-set. if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rmdir "$lockdir" break else # If the lock is being held by a different process, wait # until the winning process is done or we timeout. while test -d "$lockdir" && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then # Libtool generates 2 separate objects for the 2 libraries. These # two compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir$base.o.d # libtool 1.5 tmpdepfile2=$dir.libs/$base.o.d # Likewise. tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d "$@" -MD fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done # Same post-processing that is required for AIX mode. aix_post_process_depfile ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this sed invocation # correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process the last invocation # correctly. Breaking it into two sed invocations is a workaround. sed '1,2d' "$tmpdepfile" \ | tr ' ' "$nl" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E \ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: curl-7.47.0/docs/0000755000175000017500000000000012652071257010516 500000000000000curl-7.47.0/docs/VERSIONS0000644000175000017500000000444312626067776011652 00000000000000Version Numbers and Releases ============================ Curl is not only curl. Curl is also libcurl. They're actually individually versioned, but they mostly follow each other rather closely. The version numbering is always built up using the same system: X.Y.Z - X is main version number - Y is release number - Z is patch number ## Bumping numbers One of these numbers will get bumped in each new release. The numbers to the right of a bumped number will be reset to zero. If Z is zero, it may not be included in the version number. The main version number will get bumped when *really* big, world colliding changes are made. The release number is bumped when changes are performed or things/features are added. The patch number is bumped when the changes are mere bugfixes. It means that after release 1.2.3, we can release 2.0 if something really big has been made, 1.3 if not that big changes were made or 1.2.4 if mostly bugs were fixed. Bumping, as in increasing the number with 1, is unconditionally only affecting one of the numbers (except the ones to the right of it, that may be set to zero). 1 becomes 2, 3 becomes 4, 9 becomes 10, 88 becomes 89 and 99 becomes 100. So, after 1.2.9 comes 1.2.10. After 3.99.3, 3.100 might come. All original curl source release archives are named according to the libcurl version (not according to the curl client version that, as said before, might differ). As a service to any application that might want to support new libcurl features while still being able to build with older versions, all releases have the libcurl version stored in the curl/curlver.h file using a static numbering scheme that can be used for comparison. The version number is defined as: #define LIBCURL_VERSION_NUM 0xXXYYZZ Where XX, YY and ZZ are the main version, release and patch numbers in hexadecimal. All three number fields are always represented using two digits (eight bits each). 1.2 would appear as "0x010200" while version 9.11.7 appears as "0x090b07". This 6-digit hexadecimal number is always a greater number in a more recent release. It makes comparisons with greater than and less than work. This number is also available as three separate defines: `LIBCURL_VERSION_MAJOR`, `LIBCURL_VERSION_MINOR` and `LIBCURL_VERSION_PATCH`. curl-7.47.0/docs/MAIL-ETIQUETTE0000644000175000017500000002511712626067776012474 00000000000000 _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| MAIL ETIQUETTE 1. About the lists 1.1 Mailing Lists 1.2 Netiquette 1.3 Do Not Mail a Single Individual 1.4 Subscription Required 1.5 Moderation of new posters 1.6 Handling trolls and spam 1.7 How to unsubscribe 1.8 I posted, now what? 2. Sending mail 2.1 Reply or New Mail 2.2 Reply to the List 2.3 Use a Sensible Subject 2.4 Do Not Top-Post 2.5 HTML is not for mails 2.6 Quoting 2.7 Digest 2.8 Please Tell Us How You Solved The Problem! ============================================================================== 1. About the lists 1.1 Mailing Lists The mailing lists we have are all listed and described at http://curl.haxx.se/mail/ Each mailing list is targeted to a specific set of users and subjects, please use the one or the ones that suit you the most. Each mailing list have hundreds up to thousands of readers, meaning that each mail sent will be received and read by a very large amount of people. People from various cultures, regions, religions and continents. 1.2 Netiquette Netiquette is a common name for how to behave on the internet. Of course, in each particular group and subculture there will be differences in what is acceptable and what is considered good manners. This document outlines what we in the cURL project considers to be good etiquette, and primarily this focus on how to behave on and how to use our mailing lists. 1.3 Do Not Mail a Single Individual Many people send one question to one person. One person gets many mails, and there is only one person who can give you a reply. The question may be something that other people are also wanting to ask. These other people have no way to read the reply, but to ask the one person the question. The one person consequently gets overloaded with mail. If you really want to contact an individual and perhaps pay for his or her services, by all means go ahead, but if it's just another curl question, take it to a suitable list instead. 1.4 Subscription Required All curl mailing lists require that you are subscribed to allow a mail to go through to all the subscribers. If you post without being subscribed (or from a different mail address than the one you are subscribed with), your mail will simply be silently discarded. You have to subscribe first, then post. The reason for this unfortunate and strict subscription policy is of course to stop spam from pestering the lists. 1.5 Moderation of new posters Several of the curl mailing lists automatically make all posts from new subscribers require moderation. This means that after you've subscribed and send your first mail to a list, that mail will not be let through to the list until a mailing list administrator has verified that it is OK and permits it to get posted. Once a first post has been made that proves the sender is actually talking about curl-related subjects, the moderation "flag" will be switched off and future posts will go through without being moderated. The reason for this moderation policy is that we do suffer from spammers who actually subscribe and send spam to our lists. 1.6 Handling trolls and spam Despite our good intentions and hard work to keep spam off the lists and to maintain a friendly and positive atmosphere, there will be times when spam and or trolls get through. Troll - "someone who posts inflammatory, extraneous, or off-topic messages in an online community" Spam - "use of electronic messaging systems to send unsolicited bulk messages" No matter what, we NEVER EVER respond to trolls or spammers on the list. If you believe the list admin should do something particular, contact him/her off-list. The subject will be taken care of as good as possible to prevent repeated offenses, but responding on the list to such messages never lead to anything good and only puts the light even more on the offender: which was the entire purpose of it getting to the list in the first place. Don't feed the trolls! 1.7 How to unsubscribe You unsubscribe the same way you subscribed in the first place. You go to the page for the particular mailing list you're subscribed to and you enter your email address and password and press the unsubscribe button. Also, this information is included in the headers of every mail that is sent out to all curl related mailing lists and there's footer in each mail that links to the "admin" page on which you can unsubscribe and change other options. You NEVER EVER email the mailing list requesting someone else to get you off the list. 1.8 I posted, now what? If you aren't subscribed with the exact same email address that you used to send the email, your post will just be silently discarded. If you posted for the first time to the mailing list, you first need to wait for an administrator to allow your email to go through. This normally happens very quickly but in case we're asleep, you may have to wait a few hours. Once your email goes through it is sent out to several hundred or even thousand recipients. Your email may cover an area that not that many people know about or are interested in. Or possibly the person who knows about it is on vacation or under a very heavy work load right now. You have to wait for a response and you must not expect to get a response at all, but hopefully you get an answer within a couple of days. You do yourself and all of us a service when you include as many details as possible already in your first email. Mention your operating system and environment. Tell us which curl version you're using and tell us what you did, what happened and what you expected would happen. Preferably, show us what you did in details enough to allow others to help point out the problem or repeat the same steps in their places. Failing to include details will only delay responses and make people respond and ask for the details and you have to send a follow-up email that includes them. Expect the responses to primarily help YOU debug the issue, or ask you questions that can lead you or others towards a solution or explanation to whatever you experience. If you are a repeat offender to the guidelines outlined in this document, chances are that people will ignore you at will and your chances to get responses will greatly diminish. 2. Sending mail 2.1 Reply or New Mail Please do not reply to an existing message as a short-cut to post a message to the lists. Many mail programs and web archivers use information within mails to keep them together as "threads", as collections of posts that discuss a certain subject. If you don't intend to reply on the same or similar subject, don't just hit reply on an existing mail and change subject, create a new mail. 2.2 Reply to the List When replying to a message from the list, make sure that you do "group reply" or "reply to all", and not just reply to the author of the single mail you reply to. We're actively discouraging replying back to the single person by setting the Reply-To: field in outgoing mails back to the mailing list address, making it harder for people to mail the author only by mistake. 2.3 Use a Sensible Subject Please use a subject of the mail that makes sense and that is related to the contents of your mail. It makes it a lot easier to find your mail afterwards and it makes it easier to track mail threads and topics. 2.4 Do Not Top-Post If you reply to a message, don't use top-posting. Top-posting is when you write the new text at the top of a mail and you insert the previous quoted mail conversation below. It forces users to read the mail in a backwards order to properly understand it. This is why top posting is so bad: A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? Apart from the screwed up read order (especially when mixed together in a thread when someone responds using the mandated bottom-posting style), it also makes it impossible to quote only parts of the original mail. When you reply to a mail. You let the mail client insert the previous mail quoted. Then you put the cursor on the first line of the mail and you move down through the mail, deleting all parts of the quotes that don't add context for your comments. When you want to add a comment you do so, inline, right after the quotes that relate to your comment. Then you continue downwards again. When most of the quotes have been removed and you've added your own words, you're done! 2.5 HTML is not for mails Please switch off those HTML encoded messages. You can mail all those funny mails to your friends. We speak plain text mails. 2.6 Quoting Quote as little as possible. Just enough to provide the context you cannot leave out. A lengthy description can be found here: https://www.netmeister.org/news/learn2quote.html 2.7 Digest We allow subscribers to subscribe to the "digest" version of the mailing lists. A digest is a collection of mails lumped together in one single mail. Should you decide to reply to a mail sent out as a digest, there are two things you MUST consider if you really really cannot subscribe normally instead: Cut off all mails and chatter that is not related to the mail you want to reply to. Change the subject name to something sensible and related to the subject, preferably even the actual subject of the single mail you wanted to reply to 2.8 Please Tell Us How You Solved The Problem! Many people mail questions to the list, people spend some of their time and make an effort in providing good answers to these questions. If you are the one who asks, please consider responding once more in case one of the hints was what solved your problems. The guys who write answers feel good to know that they provided a good answer and that you fixed the problem. Far too often, the person who asked the question is never heard of again, and we never get to know if he/she is gone because the problem was solved or perhaps because the problem was unsolvable! Getting the solution posted also helps other users that experience the same problem(s). They get to see (possibly in the web archives) that the suggested fixes actually has helped at least one person. curl-7.47.0/docs/BINDINGS0000644000175000017500000001145012626067776011573 00000000000000 _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| libcurl bindings Creative people have written bindings or interfaces for various environments and programming languages. Using one of these allows you to take advantage of curl powers from within your favourite language or system. This is a list of all known interfaces as of this writing. The bindings listed below are not part of the curl/libcurl distribution archives, but must be downloaded and installed separately. Ada95 Writtten by Andreas Almroth http://www.almroth.com/adacurl/index.html Basic ScriptBasic bindings to libcurl. Writtten by Peter Verhas http://scriptbasic.com/ C libcurl is a C library in itself! http://curl.haxx.se/libcurl/ C++ Written by Jean-Philippe Barrette-LaPierre http://curlpp.org/ Ch Written by Stephen Nestinger and Jonathan Rogado http://chcurl.sourceforge.net/ Cocoa BBHTTP: written by Bruno de Carvalho https://github.com/brunodecarvalho/BBHTTP curlhandle: Written by Dan Wood http://curlhandle.sourceforge.net/ D Written by Kenneth Bogert http://dlang.org/library/std/net/curl.html Dylan Written by Chris Double http://dylanlibs.sourceforge.net/ Eiffel Written by Eiffel Software https://room.eiffel.com/library/curl Euphoria Written by Ray Smith http://rays-web.com/eulibcurl.htm Falcon http://www.falconpl.org/index.ftd?page_id=prjs&prj_id=curl Ferite Written by Paul Querna http://www.ferite.org/ Gambas http://gambas.sourceforge.net/ glib/GTK+ Written by Richard Atterer http://atterer.net/glibcurl/ Guile: Written by Michael L. Gran http://www.lonelycactus.com/guile-curl.html Harbour Written by Viktor Szakáts https://github.com/vszakats/harbour-core/tree/master/contrib/hbcurl Haskell Written by Galois, Inc http://hackage.haskell.org/cgi-bin/hackage-scripts/package/curl Java https://github.com/pjlegato/curl-java Julia Written by Paul Howe https://github.com/forio/Curl.jl Lisp Written by Liam Healy http://common-lisp.net/project/cl-curl/ Lua luacurl by Alexander Marinov http://luacurl.luaforge.net/ Lua-cURL by Jürgen Hötzel http://luaforge.net/projects/lua-curl/ Mono Written by Jeffrey Phillips http://forge.novell.com/modules/xfmod/project/?libcurl-mono .NET libcurl-net by Jeffrey Phillips https://sourceforge.net/projects/libcurl-net/ node.js node-libcurl by Jonathan Cardoso Machado https://github.com/JCMais/node-libcurl Object-Pascal Free Pascal, Delphi and Kylix binding written by Christophe Espern. http://www.tekool.com/opcurl O'Caml Written by Lars Nilsson https://sourceforge.net/projects/ocurl/ Pascal Free Pascal, Delphi and Kylix binding written by Jeffrey Pohlmeyer. http://houston.quik.com/jkp/curlpas/ Perl Maintained by Cris Bailiff and Bálint Szilakszi https://github.com/szbalint/WWW--Curl PHP Written by Sterling Hughes https://php.net/curl PostgreSQL Written by Gian Paolo Ciceri http://gborg.postgresql.org/project/pgcurl/projdisplay.php Python PycURL by Kjetil Jacobsen http://pycurl.sourceforge.net/ R http://cran.r-project.org/package=curl Rexx Written Mark Hessling http://rexxcurl.sourceforge.net/ RPG Support for ILE/RPG on OS/400 is included in source distribution http://curl.haxx.se/libcurl/ See packages/OS400/README.OS400 and packages/OS400/curl.inc.in Ruby curb - written by Ross Bamford http://curb.rubyforge.org/ ruby-curl-multi - written by Kristjan Petursson and Keith Rarick http://curl-multi.rubyforge.org/ Rust curl-rust - by Carl Lerche https://github.com/carllerche/curl-rust Scheme Bigloo binding by Kirill Lisovsky http://www.metapaper.net/lisovsky/web/curl/ S-Lang S-Lang binding by John E Davis http://www.jedsoft.org/slang/modules/curl.html Smalltalk Smalltalk binding by Danil Osipchuk http://www.squeaksource.com/CurlPlugin/ SP-Forth SP-Forth binding by ygrek http://www.forth.org.ru/~ac/lib/lin/curl/ SPL SPL binding by Clifford Wolf http://www.clifford.at/spl/ Tcl Tclcurl by Andrés García http://mirror.yellow5.com/tclcurl/ Visual Basic libcurl-vb by Jeffrey Phillips https://sourceforge.net/projects/libcurl-vb/ Visual Foxpro by Carlos Alloatti http://www.ctl32.com.ar/libcurl.asp Q The libcurl module is part of the default install http://q-lang.sourceforge.net/ wxWidgets Written by Casey O'Donnell http://wxcode.sourceforge.net/components/wxcurl/ XBLite Written by David Szafranski http://perso.wanadoo.fr/xblite/libraries.html Xojo Written by Andrew Lambert https://github.com/charonn0/RB-libcURL curl-7.47.0/docs/RELEASE-PROCEDURE0000644000175000017500000000461012626067776013004 00000000000000curl release procedure - how to do a release ============================================ in the source code repo ----------------------- - edit `RELEASE-NOTES` to be accurate - update `docs/THANKS` - make sure all relevant changes are committed on the master branch - tag the git repo in this style: `git tag -a curl-7_34_0`. -a annotates the tag and we use underscores instead of dots in the version number. - run "./maketgz 7.34.0" to build the release tarballs. It is important that you run this on a machine with the correct set of autotools etc installed as this is what then will be shipped and used by most users on *nix like systems. - push the git commits and the new tag - gpg sign the 4 tarballs as maketgz suggests - upload the 8 resulting files to the primary download directory - upload the 4 tarballs to github for the HTTPS download in the curl-www repo -------------------- - edit `Makefile` (version number and date), - edit `_newslog.html` (announce the new release) and - edit `_changes.html` (insert changes+bugfixes from RELEASE-NOTES) - commit all local changes - tag the repo with the same tag as used for the source repo - make sure all relevant changes are committed and pushed on the master branch (the web site then updates its contents automatically) inform ------ - send an email to curl-users, curl-announce and curl-library. Insert the RELEASE-NOTES into the mail. celebrate --------- - suitable beverage intake is encouraged for the festivities curl release scheduling ======================= Basics ------ We do releases every 8 weeks on Wednesdays. If critical problems arise, we can insert releases outside of the schedule or we can move the release date - but this is very rare. Each 8 week release cycle is split in two 4-week periods. - During the first 4 weeks after a release, we allow new features and changes to curl and libcurl. If we accept any such changes, we bump the minor number used for the next release. - During the second 4-week period we do not merge any features or changes, we then only focus on fixing bugs and polishing things to make a solid coming release. Coming dates ------------ Based on the description above, here are some planned release dates (at the time of this writing): - October 7, 2015 (version 7.45.0) - December 2, 2015 - January 27, 2016 - March 23, 2016 - May 18, 2016 - July 13, 2016 - September 7, 2016 curl-7.47.0/docs/BUGS0000644000175000017500000001363712626067776011147 00000000000000 _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| BUGS 1. Bugs 1.1 There are still bugs 1.2 Where to report 1.3 What to report 1.4 libcurl problems 1.5 Who will fix the problems 1.6 How to get a stack trace 1.7 Bugs in libcurl bindings ============================================================================== 1.1 There are still bugs Curl and libcurl have grown substantially since the beginning. At the time of writing (January 2013), there are about 83,000 lines of source code, and by the time you read this it has probably grown even more. Of course there are lots of bugs left. And lots of misfeatures. To help us make curl the stable and solid product we want it to be, we need bug reports and bug fixes. 1.2 Where to report If you can't fix a bug yourself and submit a fix for it, try to report an as detailed report as possible to a curl mailing list to allow one of us to have a go at a solution. You can optionally also post your bug/problem at curl's bug tracking system over at https://github.com/bagder/curl/issues Please read the rest of this document below first before doing that! If you feel you need to ask around first, find a suitable mailing list and post there. The lists are available on http://curl.haxx.se/mail/ 1.3 What to report When reporting a bug, you should include all information that will help us understand what's wrong, what you expected to happen and how to repeat the bad behavior. You therefore need to tell us: - your operating system's name and version number - what version of curl you're using (curl -V is fine) - versions of the used libraries that libcurl is built to use - what URL you were working with (if possible), at least which protocol and anything and everything else you think matters. Tell us what you expected to happen, tell use what did happen, tell us how you could make it work another way. Dig around, try out, test. Then include all the tiny bits and pieces in your report. You will benefit from this yourself, as it will enable us to help you quicker and more accurately. Since curl deals with networks, it often helps us if you include a protocol debug dump with your bug report. The output you get by using the -v or --trace options. If curl crashed, causing a core dump (in unix), there is hardly any use to send that huge file to anyone of us. Unless we have an exact same system setup as you, we can't do much with it. Instead we ask you to get a stack trace and send that (much smaller) output to us instead! The address and how to subscribe to the mailing lists are detailed in the MANUAL file. 1.4 libcurl problems First, post all libcurl problems on the curl-library mailing list. When you've written your own application with libcurl to perform transfers, it is even more important to be specific and detailed when reporting bugs. Tell us the libcurl version and your operating system. Tell us the name and version of all relevant sub-components like for example the SSL library you're using and what name resolving your libcurl uses. If you use SFTP or SCP, the libssh2 version is relevant etc. Showing us a real source code example repeating your problem is the best way to get our attention and it will greatly increase our chances to understand your problem and to work on a fix (if we agree it truly is a problem). Lots of problems that appear to be libcurl problems are actually just abuses of the libcurl API or other malfunctions in your applications. It is advised that you run your problematic program using a memory debug tool like valgrind or similar before you post memory-related or "crashing" problems to us. 1.5 Who will fix the problems If the problems or bugs you describe are considered to be bugs, we want to have the problems fixed. There are no developers in the curl project that are paid to work on bugs. All developers that take on reported bugs do this on a voluntary basis. We do it out of an ambition to keep curl and libcurl excellent products and out of pride. But please do not assume that you can just lump over something to us and it will then magically be fixed after some given time. Most often we need feedback and help to understand what you've experienced and how to repeat a problem. Then we may only be able to assist YOU to debug the problem and to track down the proper fix. We get reports from many people every month and each report can take a considerable amount of time to really go to the bottom with. 1.6 How to get a stack trace First, you must make sure that you compile all sources with -g and that you don't 'strip' the final executable. Try to avoid optimizing the code as well, remove -O, -O2 etc from the compiler options. Run the program until it cores. Run your debugger on the core file, like ' curl core'. should be replaced with the name of your debugger, in most cases that will be 'gdb', but 'dbx' and others also occur. When the debugger has finished loading the core file and presents you a prompt, enter 'where' (without the quotes) and press return. The list that is presented is the stack trace. If everything worked, it is supposed to contain the chain of functions that were called when curl crashed. Include the stack trace with your detailed bug report. It'll help a lot. 1.7 Bugs in libcurl bindings There will of course pop up bugs in libcurl bindings. You should then primarily approach the team that works on that particular binding and see what you can do to help them fix the problem. If you suspect that the problem exists in the underlying libcurl, then please convert your program over to plain C and follow the steps outlined above. curl-7.47.0/docs/libcurl/0000755000175000017500000000000012652071257012152 500000000000000curl-7.47.0/docs/libcurl/curl_share_init.30000644000175000017500000000370412626067776015350 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_share_init 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl Manual" .SH NAME curl_share_init - Create a shared object .SH SYNOPSIS .B #include .sp .BI "CURLSH *curl_share_init( );" .ad .SH DESCRIPTION This function returns a CURLSH handle to be used as input to all the other share-functions, sometimes referred to as a share handle in some places in the documentation. This init call MUST have a corresponding call to \fIcurl_share_cleanup\fP when all operations using the share are complete. This \fIshare handle\fP is what you pass to curl using the \fICURLOPT_SHARE(3)\fP option with \fIcurl_easy_setopt(3)\fP, to make that specific curl handle use the data in this share. .SH RETURN VALUE If this function returns NULL, something went wrong (out of memory, etc.) and therefore the share object was not created. .SH "SEE ALSO" .BR curl_share_cleanup "(3), " curl_share_setopt "(3)" curl-7.47.0/docs/libcurl/libcurl.30000644000175000017500000002627212643053711013616 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH libcurl 3 "19 March 2002" "libcurl 7.9.6" "libcurl overview" .SH NAME libcurl \- client-side URL transfers .SH DESCRIPTION This is a short overview on how to use libcurl in your C programs. There are specific man pages for each function mentioned in here. There are also the \fIlibcurl-easy(3)\fP man page, the \fIlibcurl-multi(3)\fP man page, the \fIlibcurl-share(3)\fP man page and the \fIlibcurl-tutorial(3)\fP man page for in-depth understanding on how to program with libcurl. There are many bindings available that bring libcurl access to your favourite language. Look elsewhere for documentation on those. libcurl has a global constant environment that you must set up and maintain while using libcurl. This essentially means you call \fIcurl_global_init(3)\fP at the start of your program and \fIcurl_global_cleanup(3)\fP at the end. See \fBGLOBAL CONSTANTS\fP below for details. To transfer files, you create an "easy handle" using \fIcurl_easy_init(3)\fP for a single individual transfer (in either direction). You then set your desired set of options in that handle with \fIcurl_easy_setopt(3)\fP. Options you set with \fIcurl_easy_setopt(3)\fP stick. They will be used on every repeated use of this handle until you either change the option, or you reset them all with \fIcurl_easy_reset(3)\fP. To actually transfer data you have the option of using the "easy" interface, or the "multi" interface. The easy interface is a synchronous interface with which you call \fIcurl_easy_perform(3)\fP and let it perform the transfer. When it is completed, the function returns and you can continue. More details are found in the \fIlibcurl-easy(3)\fP man page. The multi interface on the other hand is an asynchronous interface, that you call and that performs only a little piece of the transfer on each invoke. It is perfect if you want to do things while the transfer is in progress, or similar. The multi interface allows you to select() on libcurl action, and even to easily download multiple files simultaneously using a single thread. See further details in the \fIlibcurl-multi(3)\fP man page. You can have multiple easy handles share certain data, even if they are used in different threads. This magic is setup using the share interface, as described in the \fIlibcurl-share(3)\fP man page. There is also a series of other helpful functions to use, including these: .RS .IP curl_version_info() gets detailed libcurl (and other used libraries) version info .IP curl_getdate() converts a date string to time_t .IP curl_easy_getinfo() get information about a performed transfer .IP curl_formadd() helps building an HTTP form POST .IP curl_formfree() free a list built with \fIcurl_formadd(3)\fP .IP curl_slist_append() builds a linked list .IP curl_slist_free_all() frees a whole curl_slist .RE .SH "LINKING WITH LIBCURL" On unix-like machines, there's a tool named curl-config that gets installed with the rest of the curl stuff when 'make install' is performed. curl-config is added to make it easier for applications to link with libcurl and developers to learn about libcurl and how to use it. Run 'curl-config --libs' to get the (additional) linker options you need to link with the particular version of libcurl you've installed. See the \fIcurl-config(1)\fP man page for further details. Unix-like operating system that ship libcurl as part of their distributions often don't provide the curl-config tool, but simply install the library and headers in the common path for this purpose. Many Linux and similar systems use pkg-config to provide build and link options about libraries and libcurl supports that as well. .SH "LIBCURL SYMBOL NAMES" All public functions in the libcurl interface are prefixed with 'curl_' (with a lowercase c). You can find other functions in the library source code, but other prefixes indicate that the functions are private and may change without further notice in the next release. Only use documented functions and functionality! .SH "PORTABILITY" libcurl works .B exactly the same, on any of the platforms it compiles and builds on. .SH "THREADS" libcurl is thread safe but there are a few exceptions. Refer to \fIlibcurl-thread(3)\fP for more information. .SH "PERSISTENT CONNECTIONS" Persistent connections means that libcurl can re-use the same connection for several transfers, if the conditions are right. libcurl will \fBalways\fP attempt to use persistent connections. Whenever you use \fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform(3)\fP etc, libcurl will attempt to use an existing connection to do the transfer, and if none exists it'll open a new one that will be subject for re-use on a possible following call to \fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform(3)\fP. To allow libcurl to take full advantage of persistent connections, you should do as many of your file transfers as possible using the same handle. If you use the easy interface, and you call \fIcurl_easy_cleanup(3)\fP, all the possibly open connections held by libcurl will be closed and forgotten. When you've created a multi handle and are using the multi interface, the connection pool is instead kept in the multi handle so closing and creating new easy handles to do transfers will not affect them. Instead all added easy handles can take advantage of the single shared pool. .SH "GLOBAL CONSTANTS" There are a variety of constants that libcurl uses, mainly through its internal use of other libraries, which are too complicated for the library loader to set up. Therefore, a program must call a library function after the program is loaded and running to finish setting up the library code. For example, when libcurl is built for SSL capability via the GNU TLS library, there is an elaborate tree inside that library that describes the SSL protocol. \fIcurl_global_init(3)\fP is the function that you must call. This may allocate resources (e.g. the memory for the GNU TLS tree mentioned above), so the companion function \fIcurl_global_cleanup(3)\fP releases them. The basic rule for constructing a program that uses libcurl is this: Call \fIcurl_global_init(3)\fP, with a \fICURL_GLOBAL_ALL\fP argument, immediately after the program starts, while it is still only one thread and before it uses libcurl at all. Call \fIcurl_global_cleanup(3)\fP immediately before the program exits, when the program is again only one thread and after its last use of libcurl. You can call both of these multiple times, as long as all calls meet these requirements and the number of calls to each is the same. It isn't actually required that the functions be called at the beginning and end of the program -- that's just usually the easiest way to do it. It \fIis\fP required that the functions be called when no other thread in the program is running. These global constant functions are \fInot thread safe\fP, so you must not call them when any other thread in the program is running. It isn't good enough that no other thread is using libcurl at the time, because these functions internally call similar functions of other libraries, and those functions are similarly thread-unsafe. You can't generally know what these libraries are, or whether other threads are using them. The global constant situation merits special consideration when the code you are writing to use libcurl is not the main program, but rather a modular piece of a program, e.g. another library. As a module, your code doesn't know about other parts of the program -- it doesn't know whether they use libcurl or not. And its code doesn't necessarily run at the start and end of the whole program. A module like this must have global constant functions of its own, just like \fIcurl_global_init(3)\fP and \fIcurl_global_cleanup(3)\fP. The module thus has control at the beginning and end of the program and has a place to call the libcurl functions. Note that if multiple modules in the program use libcurl, they all will separately call the libcurl functions, and that's OK because only the first \fIcurl_global_init(3)\fP and the last \fIcurl_global_cleanup(3)\fP in a program change anything. (libcurl uses a reference count in static memory). In a C++ module, it is common to deal with the global constant situation by defining a special class that represents the global constant environment of the module. A program always has exactly one object of the class, in static storage. That way, the program automatically calls the constructor of the object as the program starts up and the destructor as it terminates. As the author of this libcurl-using module, you can make the constructor call \fIcurl_global_init(3)\fP and the destructor call \fIcurl_global_cleanup(3)\fP and satisfy libcurl's requirements without your user having to think about it. (Caveat: If you are initializing libcurl from a Windows DLL you should not initialize it from DllMain or a static initializer because Windows holds the loader lock during that time and it could cause a deadlock.) \fIcurl_global_init(3)\fP has an argument that tells what particular parts of the global constant environment to set up. In order to successfully use any value except \fICURL_GLOBAL_ALL\fP (which says to set up the whole thing), you must have specific knowledge of internal workings of libcurl and all other parts of the program of which it is part. A special part of the global constant environment is the identity of the memory allocator. \fIcurl_global_init(3)\fP selects the system default memory allocator, but you can use \fIcurl_global_init_mem(3)\fP to supply one of your own. However, there is no way to use \fIcurl_global_init_mem(3)\fP in a modular program -- all modules in the program that might use libcurl would have to agree on one allocator. There is a failsafe in libcurl that makes it usable in simple situations without you having to worry about the global constant environment at all: \fIcurl_easy_init(3)\fP sets up the environment itself if it hasn't been done yet. The resources it acquires to do so get released by the operating system automatically when the program exits. This failsafe feature exists mainly for backward compatibility because there was a time when the global functions didn't exist. Because it is sufficient only in the simplest of programs, it is not recommended for any program to rely on it. curl-7.47.0/docs/libcurl/curl_share_strerror.30000644000175000017500000000322512626067776016265 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_share_strerror 3 "26 Apr 2004" "libcurl 7.12" "libcurl Manual" .SH NAME curl_share_strerror - return string describing error code .SH SYNOPSIS .nf .B #include .BI "const char *curl_share_strerror(CURLSHcode " errornum ");" .SH DESCRIPTION The curl_share_strerror() function returns a string describing the CURLSHcode error code passed in the argument \fIerrornum\fP. .SH AVAILABILITY This function was added in libcurl 7.12.0 .SH RETURN VALUE A pointer to a zero terminated string. .SH "SEE ALSO" .BR libcurl-errors "(3), " curl_multi_strerror "(3), " curl_easy_strerror "(3)" curl-7.47.0/docs/libcurl/curl_free.pdf0000644000175000017500000000643412652070420014531 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœSIoÔ0¾çW<‰ "®·ÄŽ@HæPÔN8 Unâ™ Ê2d¡ê¿ÇNœYÊr@–É~~ßò>ÿŒ`»Ü?«¼“ëÎðö~xd<÷Ë*xŸši7Ò•7Ý! (ˆ„!™@Zy$âˆH½[?Úò~Õj}ç³»ÊâÁî!0ÂXøªT ÇeÁ·ô“bD‰é—¸ÄÀ¡$²ˆ,†ôÜó/Oƒ—†¡9%ŠfX¤¹ç_,‚ôû?ŠÇBBí1¶œö” „Vg¥**¨tÕ´OÐoTÕÁƒÖ54½*j›í¶ÖP3ÈTYNHÔBÃ-$1’#•å×Ë«ëåÙr_æè;2þ‹¢ÎÊ!×ðÖ¶<±´ygËC; #òQëÏfÖš dzëùlZ@¤oƒl£Zx5šwrC°C” E‘³gÛ·ÇtŸ;úwÁ›ß΋T}\,?Üœ]§gW—ÇNï…YËãgN;Ÿ»ÿ2Y$šH„IìÈ~éô¿“I$âQ´³gö†Å(‘”û‡ÉÚ“6!”Q<‡§¨»^«šLQ4õv,ˆQ¹× 2êëPn^ÔE‘$Äu3S3Gnlr†ÈAÕM¥ÊBw“ ™ª;ÝPö´© /Vöá‰ÈɵˆtD\éV×™¹[Ô³••ªÕZWºî™ý£õó©ZPÛmYdª/šÚ`æ#O"|÷|ç2úw”§g³\,àô|yõ×<–kÕ=ݵî2µÕÇ ‘q–ÌNŒãxý,1ŠcL]žߟº%Œ$Éa·Q"58…0bÅSæ, Dp`T!}ÃùtXŘ™à»Ûf‘zŸÍúLíWqendstream endobj 6 0 obj 638 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:08+01:00 2016-01-27T08:26:08+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000000961 00000 n 0000002769 00000 n 0000000902 00000 n 0000000742 00000 n 0000000015 00000 n 0000000723 00000 n 0000001026 00000 n 0000001280 00000 n 0000001215 00000 n 0000001147 00000 n 0000001067 00000 n 0000001097 00000 n 0000001346 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<4E794F1EA47F01522F833CF9E650C364><4E794F1EA47F01522F833CF9E650C364>] >> startxref 2923 %%EOF curl-7.47.0/docs/libcurl/curl_easy_send.html0000644000175000017500000000770712652070414015764 00000000000000 curl_easy_send man page

NAME

curl_easy_send - sends raw data over an "easy" connection

SYNOPSIS

#include <curl/easy.h>

CURLcode curl_easy_send( CURL * curl , const void * buffer , size_t buflen , size_t * n );

DESCRIPTION

This function sends arbitrary data over the established connection. You may use it together with curl_easy_recv to implement custom protocols using libcurl. This functionality can be particularly useful if you use proxies and/or SSL encryption: libcurl will take care of proxy negotiation and connection set-up.

buffer is a pointer to the data of length buflen that you want sent. The variable n points to will receive the number of sent bytes.

To establish the connection, set CURLOPT_CONNECT_ONLY(3) option before calling curl_easy_perform or curl_multi_perform(). Note that curl_easy_send will not work on connections that were created without this option.

You must ensure that the socket is writable before calling curl_easy_send, otherwise the call will return CURLE_AGAIN - the socket is used in non-blocking mode internally. Use curl_easy_getinfo with CURLINFO_ACTIVESOCKET(3) to obtain the socket; use your operating system facilities like select(2) to check if it can be written to.

AVAILABILITY

Added in 7.18.2.

RETURN VALUE

On success, returns CURLE_OK and stores the number of bytes actually sent into *n. Note that this may very well be less than the amount you wanted to send.

On failure, returns the appropriate error code.

If there's no socket available to use from the previous transfer, this function returns CURLE_UNSUPPORTED_PROTOCOL.

EXAMPLE

See sendrecv.c in docs/examples directory for usage example.

SEE ALSO

curl_easy_setopt, curl_easy_perform, curl_easy_getinfo, curl_easy_recv

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_easy_reset.30000644000175000017500000000353512626067776015370 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_easy_reset 3 "31 July 2004" "libcurl 7.12.1" "libcurl Manual" .SH NAME curl_easy_reset - reset all options of a libcurl session handle .SH SYNOPSIS .B #include .BI "void curl_easy_reset(CURL *"handle ");" .SH DESCRIPTION Re-initializes all options previously set on a specified CURL handle to the default values. This puts back the handle to the same state as it was in when it was just created with \fIcurl_easy_init(3)\fP. It does not change the following information kept in the handle: live connections, the Session ID cache, the DNS cache, the cookies and shares. .SH AVAILABILITY This function was added in libcurl 7.12.1 .SH RETURN VALUE Nothing .SH "SEE ALSO" .BR curl_easy_init "(3)," curl_easy_cleanup "(3)," curl_easy_setopt "(3)," .BR curl_easy_duphandle "(3)" curl-7.47.0/docs/libcurl/curl_easy_duphandle.pdf0000644000175000017500000000773212652070417016605 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnã6}÷WèÃÊ ‹!E݈²©Rx­íX$ÅB–™H]™Rt‰á¿ï-ÙIPˆc‘✙sæ _Áõé¿Óýäj¡çfBÐóäeBõ"ê¿Ò=ú² ±z°yš˜w(Š<q†cŽ6{x%À^Œ6‡Éƒ“vuñC$ÍñÇ®«²Dî ñè°Ç)*ò­Z›º^@0!‘ó5‘]R ^˜þ³ùsâìQˆ‘0 ¢Íbâ,¯§Ÿ5¬Òœ²Ínâ|O7ÿŽ0{û$B.õÔ2Q8߃‰\tS”R ÄbEhš¼”Èl0§Ž`¸€Ã¥!ŽuØõ÷åÝ·õízØÖCí;¿ä2-º@¿©Ã¯Ôœý®¶{¾Îçæ~µ@Ÿß-ˆY‚t¯V”X.Âû6éKˆ:ñûýòãô×·ð=ã˜!׋ûþ˜¯oV·ß6·wËóY€l!PÂM–7è©“i«Jtȋբíj ”‰‡CC¥ö¢ ÇrHÕ¢á͇ç "½ðਚ›Dfp¤_äiÒ®Éå3J D› TV*dƒªZL=sPç5/»¦8e-ʥޖ˪kµ¾´–F•s)£8ü5CõBLâ^pñPFaÒÁ_ô û Îp›º”mÖ'Ñ 4‘¨é¶xé„lÞV@.bØv¢ðG?…Ý ñY|/äð¯×G=ÀVÈé)¬‰Ú5-ÚªÐá©â·™aqÈ›1¢$cÓ¤–Ú±2wF} ÙÛÔÕŠ«¸J²» Å‘™Æ¿rš¶žÈ%iGôý•%  @NY@¾%ªÊ\¶êŸG–ʪ*UiàwZVSª\‚ÇμC¥bØ0¡<0lCu‹‚•—ôªìãì@ “ܧqn PÂz #¿¯¥R[š%5úlRhfFàP\ ÚÀÜu’Fì Sõ:ðÃC…VëÙX-Œû=oŽ) ¤}EÑwÍ=ì¼M`ôÔ¡½bBÕ⩬u4°Õ‰'&÷ÉOÓq©.µŠÍ€@Ó1ÄuµPÉü„Š;BT:¥]Ò&(©Ë„ÙÉ6/Œ¶¬¬³Äº35ñ¸‡22 ûU íJóx×QBЪƒZv•‘–Ç8¦ÌŠ FœœDÇQÈì1gµõq4$lj«;÷Cß7²,Ûs¥Hvéäê·Ð›#,Âöõ㨪tüb Žª¦ö‰ò©’JÑR í”þ½^/ìtitûë=åÏ\4ø´K}pièr[•eÙŠ‹.`}ˆbGÐMhÄbyò<Ù@‘mÆjÃç±o­XæSkå6)ÞË7—s. @”p§dqw¢1Q¨Äeo”k={pÕß<Ö#Ô7¿Ó¢CÕƒùfò|þ ù endstream endobj 6 0 obj 1339 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:07+01:00 2016-01-27T08:26:07+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001663 00000 n 0000003471 00000 n 0000001604 00000 n 0000001444 00000 n 0000000015 00000 n 0000001424 00000 n 0000001728 00000 n 0000001982 00000 n 0000001917 00000 n 0000001849 00000 n 0000001769 00000 n 0000001799 00000 n 0000002048 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3625 %%EOF curl-7.47.0/docs/libcurl/curl_multi_wait.html0000644000175000017500000001041112652070414016152 00000000000000 curl_multi_wait man page

NAME

curl_multi_wait - polls on all easy handles in a multi handle

SYNOPSIS

#include <curl/curl.h>
 
CURLMcode curl_multi_wait(CURLM *multi_handle,
                          struct curl_waitfd extra_fds[],
                          unsigned int extra_nfds,
                          int timeout_ms,
                          int *numfds);

DESCRIPTION

curl_multi_wait polls all file descriptors used by the curl easy handles contained in the given multi handle set. It will block until activity is detected on at least one of the handles or timeout_ms has passed. Alternatively, if the multi handle has a pending internal timeout that has a shorter expiry time than timeout_ms, that shorter time will be used instead to make sure timeout accuracy is reasonably kept.

The calling application may pass additional curl_waitfd structures which are similar to poll(2)'s pollfd structure to be waited on in the same call.

On completion, if numfds is non-NULL, it will be populated with the total number of file descriptors on which interesting events occurred. This number can include both libcurl internal descriptors as well as descriptors provided in extra_fds.

If no extra file descriptors are provided and libcurl has no file descriptor to offer to wait for, this function will return immediately.

This function is encouraged to be used instead of select(3) when using the multi interface to allow applications to easier circumvent the common problem with 1024 maximum file descriptors.

curl_waitfd

struct curl_waitfd {
  curl_socket_t fd;
  short events;
  short revents;
};

CURL_WAIT_POLLIN

Bit flag to curl_waitfd.events indicating the socket should poll on read events such as new data received.

CURL_WAIT_POLLPRI

Bit flag to curl_waitfd.events indicating the socket should poll on high priority read events such as out of band data.

CURL_WAIT_POLLOUT

Bit flag to curl_waitfd.events indicating the socket should poll on write events such as the socket being clear to write without blocking.

RETURN VALUE

CURLMcode type, general libcurl multi interface error code. See libcurl-errors

AVAILABILITY

This function was added in libcurl 7.28.0.

SEE ALSO

curl_multi_fdset, curl_multi_perform

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_slist_append.html0000644000175000017500000000510312652070414016463 00000000000000 curl_slist_append man page

NAME

curl_slist_append - add a string to an slist

SYNOPSIS

#include <curl/curl.h>

struct curl_slist *curl_slist_append(struct curl_slist * list, const char * string );

DESCRIPTION

curl_slist_append() appends a specified string to a linked list of strings. The existing list should be passed as the first argument while the new list is returned from this function. The specified string has been appended when this function returns. curl_slist_append() copies the string.

The list should be freed again (after usage) with curl_slist_free_all.

RETURN VALUE

A null pointer is returned if anything went wrong, otherwise the new list pointer is returned.

EXAMPLE

 CURL handle;
 struct curl_slist *slist=NULL;
 
 slist = curl_slist_append(slist, "pragma:");
 
 if (slist == NULL)
   return -1;
 
 curl_easy_setopt(handle, CURLOPT_HTTPHEADER, slist);
 
 curl_easy_perform(handle);
 
 curl_slist_free_all(slist); /* free the list again */

SEE ALSO

curl_slist_free_all

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_easy_strerror.html0000644000175000017500000000414612652070414016707 00000000000000 curl_easy_strerror man page

NAME

curl_easy_strerror - return string describing error code

SYNOPSIS

#include <curl/curl.h>

const char *curl_easy_strerror(CURLcode errornum);

DESCRIPTION

The curl_easy_strerror function returns a string describing the CURLcode error code passed in the argument errornum.

Typically applications also appreciate CURLOPT_ERRORBUFFER(3) for more specific error descriptions generated at run-time.

AVAILABILITY

This function was added in libcurl 7.12.0

RETURN VALUE

A pointer to a zero terminated string.

SEE ALSO

libcurl-errors, curl_multi_strerror, curl_share_strerror

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_add_handle.pdf0000644000175000017500000001117412652070420017062 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­XÛnä6}ï¯ ‡QF )Šºl 8Ngã…/³v{ƒÀ^²Ävk­–:’zþ‡ùè­"EÝlgò 0c‹RñðTSÅù0Ê Ã?Ý¿énñýuHžš#O‹ß\/’îŸtG~\à >XoæNB„± QLÖ»ER~8.îœôP»CÑæI–=l“2+Ô½#î—¤Èquéz’QÆBç")IAÞÿdùßõ¿.£‡è) ˆ%YŸ/œË“å«\R ·ÎÎÅj¹þ߶ǨÏBâr—b}*q üB’’¨¤y!Ýö" ѯ’F5M^•&ü €\ÐHïóÛåÕ盳›) ýŠFà|——iqÈù;Âøÿ¢Ûà랯vz{}~‘VðÆ;üèÈG³`~"ø|Dèö½å@Ð ýiusz}öy}vuùXF?Ò”dYL4-ÄNêlÎQ»U–¥6IŸ)Yoó†leÚe$MŠ‚søk—<ãf‚r œ. )ü.yªÅE“TFEuÏ!˜È™­FŸFÜ.™˜EJ{ïÞK«²­«Ñâk®ˆ"êÅQŸšf¯Òü«Êf{‰ˆ2iOwòcG±EDu|ÏÆÇÌ"›X‰Èæ¯Ûx›•YVÙ¤æÍOä¥:‡eYµðQ¦Ýš–àƒC£æx§ÂêA×F½Wõ¦ªwF_ì1ä¹çÚT¸ë{œÆ7Œ†"4Bo·IÛa¦ädÓª~[z¨ì€;_òò‰ÔjWY s©ÓéIxv/ʇ1ÓEL= ÎA6*NÃÑ wÙ˜°M]íæ•G’§¥„b)œ$/?‘¼Ebñì*m‹òµÔ ¬Á’ÁÈ}¨!'qçóv«£ë-óιYB’c/ˆœ$U¸“9—BâNTÇòh$Œ`Î6ÃÇC‚1aj-Ô6©!å÷ŽÖjŸBd!û” ¶¯>¯n~9¹^õù“äȸcŸH‰d=_÷Ëj)x5óúIÔ´z!|*cóBÖîÕ#˜òO—7Pk)`PÓŠ<Ê¡‚{P®©Ñ ä–¾;Gc…0·7«‡ž_ý¸ô|ä-tNÎNO–‚9§¿¬Ÿõ˜@PÑÕÔ$œqÝ/uµªö¨TIÀ|4Ð.ú¤ŒòÓLy^ŽJªKÜq«Ê¹ÿ„‚2¬±·ûØDgœœp¢-ªÌx¸eñ`,2eøëOPNª¼‘që*|Ë5lO°¤MJ L°TÖ–‘µj Úd,Žœc‰¬½ èô ]ç€Ht€´þBìÔ:ç]rµòÑžþX*ý9ðÄŒ@%J{ú£DîCÑú‘-ÚiB½v½®¡HúêX#ÜW`åÕft †Tµ^Jó"o_“¬²"¯çr6 \ÔÊšèЇAJBZ)£ã‚É} MÄ”q§!®ýßý¢Èi2ôÄØïß±ñ°}£DÖg«ëŸo/O±k[x«øîkùµ‚zyÛ÷¸c5ræöUp ¯~ÆìõAdç‘`ñľÙkë.[÷1i ˆPI3ÅÈ€†8ν’LS¥cÀ2¦Ö÷ž‡}"FŒÙ…ö!ÑY{Cc~@ãÛŽÔmê\•Yƒ.¢ U÷ˆ­ÂŠ‘¡i'ÆŒ"¡J>øžÉ_;™mPwÍ3ÖŠ2=쳤E5æ;è‹Me¶„DÕà[Þ­>¨#ü«¸q`Ì lIQU{ƒüI Æa™"„²GTˆ±ŸÏŒ<éÑÑl§Ï‚A qÖmçC8¼Ð+ëY÷Ò{BcÇSôŽóªZe›]µ‚7Œ#A%~`ÎÀ($¬`rÜz>Ñ¢ B;½´IÇWg!’Fž]{JF|‰¯á€ôBtEŒÕì kTŒõR„h®¾ƒðq¦ó¹¯.'•ÓÞË=>ì°¹Ó2ÌTg½¹øÝÛîvrDƽWÿĘ÷¨@pJ´Ä]^‚êÈ׺i_M]hm×ÀÝ.Rð©æEü·QzîÚkæ¸ûà !l²ÿ¢úqmP›Ïí‰zoëÑtŸ .ÕûÞ¿_üÙøædó ¦7K¸þ˜àözyç\¯Ö·×—ä?K.°=q˜þnW³o°£»Ñ½·}ÙÃôò¤JUÃ@ÚýïA—¢7qU×`¾ø%í¿;_­ÈÉùÍÕp€Ùíüõ§í%Bzúkž&ãÓ45ïgðq¼¼ÌÛi0hÛ¾ü£PÁhœŸ´LÕVûY°PÓÕ7ƒÝÍð³™)ý®à]oæp# Âq|3üÃqaÂqá–ÖQlÓÒ˜ÊQ%zLbJLÿb0@›·mØuº%cžÄðbÚ­p|²Z/þ þèP‰endstream endobj 6 0 obj 1921 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:08+01:00 2016-01-27T08:26:08+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002245 00000 n 0000004125 00000 n 0000002186 00000 n 0000002026 00000 n 0000000015 00000 n 0000002006 00000 n 0000002310 00000 n 0000002564 00000 n 0000002499 00000 n 0000002431 00000 n 0000002351 00000 n 0000002381 00000 n 0000002646 00000 n 0000002702 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4279 %%EOF curl-7.47.0/docs/libcurl/curl_easy_init.pdf0000644000175000017500000001014512652070416015573 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VÛnã6}×WÛ‡Ê ›!E]¨Þ€të‡Î¥±Rt±)Y¦c²äè’Ô(úýèÎ’liÓÝ.ĆIΞ9s†O„QNþµŸÉÎ:» Èce1òh=Y\/’ö#Ù‘#Ø ñ‡hc™3œ BAeH¢Å… >‰^¬vÒ”ÙƒŠ«ÃCš§õ½-î'$KWøódæxŒ2Ø—qÞÄyeïä÷ègkƨÃ!pyCÈKCS H±°ì«óÉ×V¹G½PœhmÙ—óIôÇ P‡Q—dÆ\fˆnŽÌȲŽËšÄB‚k¤RU•¹ w’fܧRç[¾¿º¾Y^,ÛZŒmFû«4O²f­Èwú ÿÑí¸ÝqõEÞÝÝ.ÈÛ1 ä~ò-\ð™š/ßÝ^ÜD×WÃ+“sʤÔW޶iE6MžÔp%²kªš¬©·ŠüSÂ÷~¥.HgÙ”Äùš7¥ª›2¯€ S³…µ Ç59‰ÖTŠÄÁÔ Ë¥¾kR§ù¾©1péÊ>UEÒ\Ð1Ó¼Vå.ÌCºoª‰AB$N%úoH¶RW¼ÀÝ2óA™»õmŒ« -î¡xBêˆPº]¾°Í÷ ·! îÔu}9U”¥ªöE¾NóG niRsÖæž ס€­SñÌI¦@þ{#÷^ÒÀ¤2r}Ù*ÃT±We¬Ë„<»}¦jEõuô™* NQŸ€] uº&yÏJ¯'ö89ƒnKƒAù˜«8;éÉÈÀ§¾†íé(œd(OÃ|ŒÓPvBøF9ëBU(¸©‹\qð¤g¶$–Dëñ»ÒÒ¨/wÁ;ºü(›]|@ÅcÛX_šÉ¡Üé{…Qáz­`AÒYÎê-ò¥Ö@˜Á”TÐÊjLœQÂ/à-¤÷»› ×7)+] “pVÅÕw ™ løV4e¢È¾,V™Ú鎛9ŒÓ€ùC—[©$ƮĮSDgÑ $k$hÄaq­)½/ C_“ k¼¯uYR!¿g4¹ªº,òÇì@âõsZÐüF™îˆëi_çN¸½6ðK=(Ÿž”¯—Ñtp ©`AWâçhÄã8sÌú{ºš¸ŽGCÆíC¢Ç‹N?¹^/£ Æûø%–à׎ìÐC–•Ê6Fs!ø#{;€*BOw¢fB[LQG°^ÔËSºT+½WÆÈתJÊtoü!Z$ô‰ëwdØÝ JàSt-‹ÁÛInfw±!æÒDåÇw(t¨óNå8&žš´TøÆLQ˜:N³ Ïm M·C=¡Õä8FÊ®0PuÇØÐvÑ Ã‚¾±´ŒS#v—õH¯ç°(ôÓ“š™ëÜΣ»Û+òë„ p{ŸÛç‹»¹NûÚE­£³ˆWw‹8B±CÁ^zA^P÷ºqÑv“8GÕ·=ØŽ?ý¾ègàg0ÛóßÎ/oóñ<ëáßäûÞQø‚èç±nîµx¡˜Ao{ƒIp} z{ú~«T]ìksvª_×7Ñ|LÉ›m]ï¿9;Sx‚ÁƒNØÆ8”(̦7˜iC¨à@ð ]‡_9¯ÅãêìˆõïÏ½Ææsr¾X^ÿçkì£D#w–Tç––þt‹ãÜë;iìÃh>¸ÛD;e½œðf¢pméÓë­íËâ"ùì-ì_¨Â(2X—CÄÆ·`l¹ðŠ-ÝC9 ’rý–¥ž1]ëbŽ»—Gçò©82—É–8Œ9æ ¿ˆ¶Ž5¬_àï_kÃhÉendstream endobj 6 0 obj 1386 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:06+01:00 2016-01-27T08:26:06+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001710 00000 n 0000003590 00000 n 0000001651 00000 n 0000001491 00000 n 0000000015 00000 n 0000001471 00000 n 0000001775 00000 n 0000002029 00000 n 0000001964 00000 n 0000001896 00000 n 0000001816 00000 n 0000001846 00000 n 0000002111 00000 n 0000002167 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3744 %%EOF curl-7.47.0/docs/libcurl/symbols-in-versions0000644000175000017500000007611712633553325015773 00000000000000 _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| This document lists defines and other symbols present in libcurl, together with exact information about the first libcurl version that provides the symbol, the first version in which the symbol was marked as deprecated and for a few symbols the last version that featured it. The names appear in alphabetical order. Name Introduced Deprecated Removed CURLAUTH_ANY 7.10.6 CURLAUTH_ANYSAFE 7.10.6 CURLAUTH_BASIC 7.10.6 CURLAUTH_DIGEST 7.10.6 CURLAUTH_DIGEST_IE 7.19.3 CURLAUTH_GSSNEGOTIATE 7.10.6 7.38.0 CURLAUTH_NEGOTIATE 7.38.0 CURLAUTH_NONE 7.10.6 CURLAUTH_NTLM 7.10.6 CURLAUTH_NTLM_WB 7.22.0 CURLAUTH_ONLY 7.21.3 CURLCLOSEPOLICY_CALLBACK 7.7 CURLCLOSEPOLICY_LEAST_RECENTLY_USED 7.7 CURLCLOSEPOLICY_LEAST_TRAFFIC 7.7 CURLCLOSEPOLICY_NONE 7.7 CURLCLOSEPOLICY_OLDEST 7.7 CURLCLOSEPOLICY_SLOWEST 7.7 CURLE_ABORTED_BY_CALLBACK 7.1 CURLE_AGAIN 7.18.2 CURLE_ALREADY_COMPLETE 7.7.2 CURLE_BAD_CALLING_ORDER 7.1 7.17.0 CURLE_BAD_CONTENT_ENCODING 7.10 CURLE_BAD_DOWNLOAD_RESUME 7.10 CURLE_BAD_FUNCTION_ARGUMENT 7.1 CURLE_BAD_PASSWORD_ENTERED 7.4.2 7.17.0 CURLE_CHUNK_FAILED 7.21.0 CURLE_CONV_FAILED 7.15.4 CURLE_CONV_REQD 7.15.4 CURLE_COULDNT_CONNECT 7.1 CURLE_COULDNT_RESOLVE_HOST 7.1 CURLE_COULDNT_RESOLVE_PROXY 7.1 CURLE_FAILED_INIT 7.1 CURLE_FILESIZE_EXCEEDED 7.10.8 CURLE_FILE_COULDNT_READ_FILE 7.1 CURLE_FTP_ACCEPT_FAILED 7.24.0 CURLE_FTP_ACCEPT_TIMEOUT 7.24.0 CURLE_FTP_ACCESS_DENIED 7.1 CURLE_FTP_BAD_DOWNLOAD_RESUME 7.1 7.1 CURLE_FTP_BAD_FILE_LIST 7.21.0 CURLE_FTP_CANT_GET_HOST 7.1 CURLE_FTP_CANT_RECONNECT 7.1 7.17.0 CURLE_FTP_COULDNT_GET_SIZE 7.1 7.17.0 CURLE_FTP_COULDNT_RETR_FILE 7.1 CURLE_FTP_COULDNT_SET_ASCII 7.1 7.17.0 CURLE_FTP_COULDNT_SET_BINARY 7.1 7.17.0 CURLE_FTP_COULDNT_SET_TYPE 7.17.0 CURLE_FTP_COULDNT_STOR_FILE 7.1 CURLE_FTP_COULDNT_USE_REST 7.1 CURLE_FTP_PARTIAL_FILE 7.1 7.1 CURLE_FTP_PORT_FAILED 7.1 CURLE_FTP_PRET_FAILED 7.20.0 CURLE_FTP_QUOTE_ERROR 7.1 7.17.0 CURLE_FTP_SSL_FAILED 7.11.0 7.17.0 CURLE_FTP_USER_PASSWORD_INCORRECT 7.1 7.17.0 CURLE_FTP_WEIRD_227_FORMAT 7.1 CURLE_FTP_WEIRD_PASS_REPLY 7.1 CURLE_FTP_WEIRD_PASV_REPLY 7.1 CURLE_FTP_WEIRD_SERVER_REPLY 7.1 CURLE_FTP_WEIRD_USER_REPLY 7.1 7.17.0 CURLE_FTP_WRITE_ERROR 7.1 7.17.0 CURLE_FUNCTION_NOT_FOUND 7.1 CURLE_GOT_NOTHING 7.9.1 CURLE_HTTP2 7.38.0 CURLE_HTTP_NOT_FOUND 7.1 CURLE_HTTP_PORT_FAILED 7.3 7.12.0 CURLE_HTTP_POST_ERROR 7.1 CURLE_HTTP_RANGE_ERROR 7.1 7.17.0 CURLE_HTTP_RETURNED_ERROR 7.10.3 CURLE_INTERFACE_FAILED 7.12.0 CURLE_LDAP_CANNOT_BIND 7.1 CURLE_LDAP_INVALID_URL 7.10.8 CURLE_LDAP_SEARCH_FAILED 7.1 CURLE_LIBRARY_NOT_FOUND 7.1 7.17.0 CURLE_LOGIN_DENIED 7.13.1 CURLE_MALFORMAT_USER 7.1 7.17.0 CURLE_NOT_BUILT_IN 7.21.5 CURLE_NO_CONNECTION_AVAILABLE 7.30.0 CURLE_OK 7.1 CURLE_OPERATION_TIMEDOUT 7.10.2 CURLE_OPERATION_TIMEOUTED 7.1 7.17.0 CURLE_OUT_OF_MEMORY 7.1 CURLE_PARTIAL_FILE 7.1 CURLE_PEER_FAILED_VERIFICATION 7.17.1 CURLE_QUOTE_ERROR 7.17.0 CURLE_RANGE_ERROR 7.17.0 CURLE_READ_ERROR 7.1 CURLE_RECV_ERROR 7.10 CURLE_REMOTE_ACCESS_DENIED 7.17.0 CURLE_REMOTE_DISK_FULL 7.17.0 CURLE_REMOTE_FILE_EXISTS 7.17.0 CURLE_REMOTE_FILE_NOT_FOUND 7.16.1 CURLE_RTSP_CSEQ_ERROR 7.20.0 CURLE_RTSP_SESSION_ERROR 7.20.0 CURLE_SEND_ERROR 7.10 CURLE_SEND_FAIL_REWIND 7.12.3 CURLE_SHARE_IN_USE 7.9.6 7.17.0 CURLE_SSH 7.16.1 CURLE_SSL_CACERT 7.10 CURLE_SSL_CACERT_BADFILE 7.16.0 CURLE_SSL_CERTPROBLEM 7.10 CURLE_SSL_CIPHER 7.10 CURLE_SSL_CONNECT_ERROR 7.1 CURLE_SSL_CRL_BADFILE 7.19.0 CURLE_SSL_ENGINE_INITFAILED 7.12.3 CURLE_SSL_ENGINE_NOTFOUND 7.9.3 CURLE_SSL_ENGINE_SETFAILED 7.9.3 CURLE_SSL_INVALIDCERTSTATUS 7.41.0 CURLE_SSL_ISSUER_ERROR 7.19.0 CURLE_SSL_PEER_CERTIFICATE 7.8 7.17.1 CURLE_SSL_PINNEDPUBKEYNOTMATCH 7.39.0 CURLE_SSL_SHUTDOWN_FAILED 7.16.1 CURLE_TELNET_OPTION_SYNTAX 7.7 CURLE_TFTP_DISKFULL 7.15.0 7.17.0 CURLE_TFTP_EXISTS 7.15.0 7.17.0 CURLE_TFTP_ILLEGAL 7.15.0 CURLE_TFTP_NOSUCHUSER 7.15.0 CURLE_TFTP_NOTFOUND 7.15.0 CURLE_TFTP_PERM 7.15.0 CURLE_TFTP_UNKNOWNID 7.15.0 CURLE_TOO_MANY_REDIRECTS 7.5 CURLE_UNKNOWN_OPTION 7.21.5 CURLE_UNKNOWN_TELNET_OPTION 7.7 CURLE_UNSUPPORTED_PROTOCOL 7.1 CURLE_UPLOAD_FAILED 7.16.3 CURLE_URL_MALFORMAT 7.1 CURLE_URL_MALFORMAT_USER 7.1 7.17.0 CURLE_USE_SSL_FAILED 7.17.0 CURLE_WRITE_ERROR 7.1 CURLFILETYPE_DEVICE_BLOCK 7.21.0 CURLFILETYPE_DEVICE_CHAR 7.21.0 CURLFILETYPE_DIRECTORY 7.21.0 CURLFILETYPE_DOOR 7.21.0 CURLFILETYPE_FILE 7.21.0 CURLFILETYPE_NAMEDPIPE 7.21.0 CURLFILETYPE_SOCKET 7.21.0 CURLFILETYPE_SYMLINK 7.21.0 CURLFILETYPE_UNKNOWN 7.21.0 CURLFINFOFLAG_KNOWN_FILENAME 7.21.0 CURLFINFOFLAG_KNOWN_FILETYPE 7.21.0 CURLFINFOFLAG_KNOWN_GID 7.21.0 CURLFINFOFLAG_KNOWN_HLINKCOUNT 7.21.0 CURLFINFOFLAG_KNOWN_PERM 7.21.0 CURLFINFOFLAG_KNOWN_SIZE 7.21.0 CURLFINFOFLAG_KNOWN_TIME 7.21.0 CURLFINFOFLAG_KNOWN_UID 7.21.0 CURLFORM_ARRAY 7.9.1 CURLFORM_ARRAY_END 7.9.1 7.9.5 7.9.6 CURLFORM_ARRAY_START 7.9.1 7.9.5 7.9.6 CURLFORM_BUFFER 7.9.8 CURLFORM_BUFFERLENGTH 7.9.8 CURLFORM_BUFFERPTR 7.9.8 CURLFORM_CONTENTHEADER 7.9.3 CURLFORM_CONTENTLEN 7.46.0 CURLFORM_CONTENTSLENGTH 7.9 CURLFORM_CONTENTTYPE 7.9 CURLFORM_COPYCONTENTS 7.9 CURLFORM_COPYNAME 7.9 CURLFORM_END 7.9 CURLFORM_FILE 7.9 CURLFORM_FILECONTENT 7.9.1 CURLFORM_FILENAME 7.9.6 CURLFORM_NAMELENGTH 7.9 CURLFORM_NOTHING 7.9 CURLFORM_PTRCONTENTS 7.9 CURLFORM_PTRNAME 7.9 CURLFORM_STREAM 7.18.2 CURLFTPAUTH_DEFAULT 7.12.2 CURLFTPAUTH_SSL 7.12.2 CURLFTPAUTH_TLS 7.12.2 CURLFTPMETHOD_DEFAULT 7.15.3 CURLFTPMETHOD_MULTICWD 7.15.3 CURLFTPMETHOD_NOCWD 7.15.3 CURLFTPMETHOD_SINGLECWD 7.15.3 CURLFTPSSL_ALL 7.11.0 7.17.0 CURLFTPSSL_CCC_ACTIVE 7.16.2 CURLFTPSSL_CCC_NONE 7.16.2 CURLFTPSSL_CCC_PASSIVE 7.16.1 CURLFTPSSL_CONTROL 7.11.0 7.17.0 CURLFTPSSL_NONE 7.11.0 7.17.0 CURLFTPSSL_TRY 7.11.0 7.17.0 CURLFTP_CREATE_DIR 7.19.4 CURLFTP_CREATE_DIR_NONE 7.19.4 CURLFTP_CREATE_DIR_RETRY 7.19.4 CURLGSSAPI_DELEGATION_FLAG 7.22.0 CURLGSSAPI_DELEGATION_NONE 7.22.0 CURLGSSAPI_DELEGATION_POLICY_FLAG 7.22.0 CURLHEADER_SEPARATE 7.37.0 CURLHEADER_UNIFIED 7.37.0 CURLINFO_ACTIVESOCKET 7.45.0 CURLINFO_APPCONNECT_TIME 7.19.0 CURLINFO_CERTINFO 7.19.1 CURLINFO_CONDITION_UNMET 7.19.4 CURLINFO_CONNECT_TIME 7.4.1 CURLINFO_CONTENT_LENGTH_DOWNLOAD 7.6.1 CURLINFO_CONTENT_LENGTH_UPLOAD 7.6.1 CURLINFO_CONTENT_TYPE 7.9.4 CURLINFO_COOKIELIST 7.14.1 CURLINFO_DATA_IN 7.9.6 CURLINFO_DATA_OUT 7.9.6 CURLINFO_DOUBLE 7.4.1 CURLINFO_EFFECTIVE_URL 7.4 CURLINFO_END 7.9.6 CURLINFO_FILETIME 7.5 CURLINFO_FTP_ENTRY_PATH 7.15.4 CURLINFO_HEADER_IN 7.9.6 CURLINFO_HEADER_OUT 7.9.6 CURLINFO_HEADER_SIZE 7.4.1 CURLINFO_HTTPAUTH_AVAIL 7.10.8 CURLINFO_HTTP_CODE 7.4.1 7.10.8 CURLINFO_HTTP_CONNECTCODE 7.10.7 CURLINFO_LASTONE 7.4.1 CURLINFO_LASTSOCKET 7.15.2 CURLINFO_LOCAL_IP 7.21.0 CURLINFO_LOCAL_PORT 7.21.0 CURLINFO_LONG 7.4.1 CURLINFO_MASK 7.4.1 CURLINFO_NAMELOOKUP_TIME 7.4.1 CURLINFO_NONE 7.4.1 CURLINFO_NUM_CONNECTS 7.12.3 CURLINFO_OS_ERRNO 7.12.2 CURLINFO_PRETRANSFER_TIME 7.4.1 CURLINFO_PRIMARY_IP 7.19.0 CURLINFO_PRIMARY_PORT 7.21.0 CURLINFO_PRIVATE 7.10.3 CURLINFO_PROXYAUTH_AVAIL 7.10.8 CURLINFO_REDIRECT_COUNT 7.9.7 CURLINFO_REDIRECT_TIME 7.9.7 CURLINFO_REDIRECT_URL 7.18.2 CURLINFO_REQUEST_SIZE 7.4.1 CURLINFO_RESPONSE_CODE 7.10.8 CURLINFO_RTSP_CLIENT_CSEQ 7.20.0 CURLINFO_RTSP_CSEQ_RECV 7.20.0 CURLINFO_RTSP_SERVER_CSEQ 7.20.0 CURLINFO_RTSP_SESSION_ID 7.20.0 CURLINFO_SIZE_DOWNLOAD 7.4.1 CURLINFO_SIZE_UPLOAD 7.4.1 CURLINFO_SLIST 7.12.3 CURLINFO_SOCKET 7.45.0 CURLINFO_SPEED_DOWNLOAD 7.4.1 CURLINFO_SPEED_UPLOAD 7.4.1 CURLINFO_SSL_DATA_IN 7.12.1 CURLINFO_SSL_DATA_OUT 7.12.1 CURLINFO_SSL_ENGINES 7.12.3 CURLINFO_SSL_VERIFYRESULT 7.5 CURLINFO_STARTTRANSFER_TIME 7.9.2 CURLINFO_STRING 7.4.1 CURLINFO_TEXT 7.9.6 CURLINFO_TLS_SESSION 7.34.0 CURLINFO_TOTAL_TIME 7.4.1 CURLINFO_TYPEMASK 7.4.1 CURLIOCMD_NOP 7.12.3 CURLIOCMD_RESTARTREAD 7.12.3 CURLIOE_FAILRESTART 7.12.3 CURLIOE_OK 7.12.3 CURLIOE_UNKNOWNCMD 7.12.3 CURLKHMATCH_MISMATCH 7.19.6 CURLKHMATCH_MISSING 7.19.6 CURLKHMATCH_OK 7.19.6 CURLKHSTAT_DEFER 7.19.6 CURLKHSTAT_FINE 7.19.6 CURLKHSTAT_FINE_ADD_TO_FILE 7.19.6 CURLKHSTAT_REJECT 7.19.6 CURLKHTYPE_DSS 7.19.6 CURLKHTYPE_RSA 7.19.6 CURLKHTYPE_RSA1 7.19.6 CURLKHTYPE_UNKNOWN 7.19.6 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 7.30.0 CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 7.30.0 CURLMOPT_MAXCONNECTS 7.16.3 CURLMOPT_MAX_HOST_CONNECTIONS 7.30.0 CURLMOPT_MAX_PIPELINE_LENGTH 7.30.0 CURLMOPT_MAX_TOTAL_CONNECTIONS 7.30.0 CURLMOPT_PIPELINING 7.16.0 CURLMOPT_PIPELINING_SERVER_BL 7.30.0 CURLMOPT_PIPELINING_SITE_BL 7.30.0 CURLMOPT_PUSHDATA 7.44.0 CURLMOPT_PUSHFUNCTION 7.44.0 CURLMOPT_SOCKETDATA 7.15.4 CURLMOPT_SOCKETFUNCTION 7.15.4 CURLMOPT_TIMERDATA 7.16.0 CURLMOPT_TIMERFUNCTION 7.16.0 CURLMSG_DONE 7.9.6 CURLMSG_NONE 7.9.6 CURLM_ADDED_ALREADY 7.32.1 CURLM_BAD_EASY_HANDLE 7.9.6 CURLM_BAD_HANDLE 7.9.6 CURLM_BAD_SOCKET 7.15.4 CURLM_CALL_MULTI_PERFORM 7.9.6 CURLM_CALL_MULTI_SOCKET 7.15.5 CURLM_INTERNAL_ERROR 7.9.6 CURLM_OK 7.9.6 CURLM_OUT_OF_MEMORY 7.9.6 CURLM_UNKNOWN_OPTION 7.15.4 CURLOPTTYPE_FUNCTIONPOINT 7.1 CURLOPTTYPE_LONG 7.1 CURLOPTTYPE_OBJECTPOINT 7.1 CURLOPTTYPE_OFF_T 7.11.0 CURLOPTTYPE_STRINGPOINT 7.46.0 CURLOPT_ACCEPTTIMEOUT_MS 7.24.0 CURLOPT_ACCEPT_ENCODING 7.21.6 CURLOPT_ADDRESS_SCOPE 7.19.0 CURLOPT_APPEND 7.17.0 CURLOPT_AUTOREFERER 7.1 CURLOPT_BUFFERSIZE 7.10 CURLOPT_CAINFO 7.4.2 CURLOPT_CAPATH 7.9.8 CURLOPT_CERTINFO 7.19.1 CURLOPT_CHUNK_BGN_FUNCTION 7.21.0 CURLOPT_CHUNK_DATA 7.21.0 CURLOPT_CHUNK_END_FUNCTION 7.21.0 CURLOPT_CLOSEFUNCTION 7.7 7.11.1 7.15.5 CURLOPT_CLOSEPOLICY 7.7 7.16.1 CURLOPT_CLOSESOCKETDATA 7.21.7 CURLOPT_CLOSESOCKETFUNCTION 7.21.7 CURLOPT_CONNECTTIMEOUT 7.7 CURLOPT_CONNECTTIMEOUT_MS 7.16.2 CURLOPT_CONNECT_ONLY 7.15.2 CURLOPT_CONV_FROM_NETWORK_FUNCTION 7.15.4 CURLOPT_CONV_FROM_UTF8_FUNCTION 7.15.4 CURLOPT_CONV_TO_NETWORK_FUNCTION 7.15.4 CURLOPT_COOKIE 7.1 CURLOPT_COOKIEFILE 7.1 CURLOPT_COOKIEJAR 7.9 CURLOPT_COOKIELIST 7.14.1 CURLOPT_COOKIESESSION 7.9.7 CURLOPT_COPYPOSTFIELDS 7.17.1 CURLOPT_CRLF 7.1 CURLOPT_CRLFILE 7.19.0 CURLOPT_CUSTOMREQUEST 7.1 CURLOPT_DEBUGDATA 7.9.6 CURLOPT_DEBUGFUNCTION 7.9.6 CURLOPT_DEFAULT_PROTOCOL 7.45.0 CURLOPT_DIRLISTONLY 7.17.0 CURLOPT_DNS_CACHE_TIMEOUT 7.9.3 CURLOPT_DNS_INTERFACE 7.33.0 CURLOPT_DNS_LOCAL_IP4 7.33.0 CURLOPT_DNS_LOCAL_IP6 7.33.0 CURLOPT_DNS_SERVERS 7.24.0 CURLOPT_DNS_USE_GLOBAL_CACHE 7.9.3 7.11.1 CURLOPT_EGDSOCKET 7.7 CURLOPT_ENCODING 7.10 CURLOPT_ERRORBUFFER 7.1 CURLOPT_EXPECT_100_TIMEOUT_MS 7.36.0 CURLOPT_FAILONERROR 7.1 CURLOPT_FILE 7.1 7.9.7 CURLOPT_FILETIME 7.5 CURLOPT_FNMATCH_DATA 7.21.0 CURLOPT_FNMATCH_FUNCTION 7.21.0 CURLOPT_FOLLOWLOCATION 7.1 CURLOPT_FORBID_REUSE 7.7 CURLOPT_FRESH_CONNECT 7.7 CURLOPT_FTPAPPEND 7.1 7.16.4 CURLOPT_FTPASCII 7.1 7.11.1 7.15.5 CURLOPT_FTPLISTONLY 7.1 7.16.4 CURLOPT_FTPPORT 7.1 CURLOPT_FTPSSLAUTH 7.12.2 CURLOPT_FTP_ACCOUNT 7.13.0 CURLOPT_FTP_ALTERNATIVE_TO_USER 7.15.5 CURLOPT_FTP_CREATE_MISSING_DIRS 7.10.7 CURLOPT_FTP_FILEMETHOD 7.15.1 CURLOPT_FTP_RESPONSE_TIMEOUT 7.10.8 CURLOPT_FTP_SKIP_PASV_IP 7.15.0 CURLOPT_FTP_SSL 7.11.0 7.16.4 CURLOPT_FTP_SSL_CCC 7.16.1 CURLOPT_FTP_USE_EPRT 7.10.5 CURLOPT_FTP_USE_EPSV 7.9.2 CURLOPT_FTP_USE_PRET 7.20.0 CURLOPT_GSSAPI_DELEGATION 7.22.0 CURLOPT_HEADER 7.1 CURLOPT_HEADERDATA 7.10 CURLOPT_HEADERFUNCTION 7.7.2 CURLOPT_HEADEROPT 7.37.0 CURLOPT_HTTP200ALIASES 7.10.3 CURLOPT_HTTPAUTH 7.10.6 CURLOPT_HTTPGET 7.8.1 CURLOPT_HTTPHEADER 7.1 CURLOPT_HTTPPOST 7.1 CURLOPT_HTTPPROXYTUNNEL 7.3 CURLOPT_HTTPREQUEST 7.1 - 7.15.5 CURLOPT_HTTP_CONTENT_DECODING 7.16.2 CURLOPT_HTTP_TRANSFER_DECODING 7.16.2 CURLOPT_HTTP_VERSION 7.9.1 CURLOPT_IGNORE_CONTENT_LENGTH 7.14.1 CURLOPT_INFILE 7.1 7.9.7 CURLOPT_INFILESIZE 7.1 CURLOPT_INFILESIZE_LARGE 7.11.0 CURLOPT_INTERFACE 7.3 CURLOPT_INTERLEAVEDATA 7.20.0 CURLOPT_INTERLEAVEFUNCTION 7.20.0 CURLOPT_IOCTLDATA 7.12.3 CURLOPT_IOCTLFUNCTION 7.12.3 CURLOPT_IPRESOLVE 7.10.8 CURLOPT_ISSUERCERT 7.19.0 CURLOPT_KEYPASSWD 7.17.0 CURLOPT_KRB4LEVEL 7.3 7.17.0 CURLOPT_KRBLEVEL 7.16.4 CURLOPT_LOCALPORT 7.15.2 CURLOPT_LOCALPORTRANGE 7.15.2 CURLOPT_LOGIN_OPTIONS 7.34.0 CURLOPT_LOW_SPEED_LIMIT 7.1 CURLOPT_LOW_SPEED_TIME 7.1 CURLOPT_MAIL_AUTH 7.25.0 CURLOPT_MAIL_FROM 7.20.0 CURLOPT_MAIL_RCPT 7.20.0 CURLOPT_MAXCONNECTS 7.7 CURLOPT_MAXFILESIZE 7.10.8 CURLOPT_MAXFILESIZE_LARGE 7.11.0 CURLOPT_MAXREDIRS 7.5 CURLOPT_MAX_RECV_SPEED_LARGE 7.15.5 CURLOPT_MAX_SEND_SPEED_LARGE 7.15.5 CURLOPT_MUTE 7.1 7.8 7.15.5 CURLOPT_NETRC 7.1 CURLOPT_NETRC_FILE 7.11.0 CURLOPT_NEW_DIRECTORY_PERMS 7.16.4 CURLOPT_NEW_FILE_PERMS 7.16.4 CURLOPT_NOBODY 7.1 CURLOPT_NOPROGRESS 7.1 CURLOPT_NOPROXY 7.19.4 CURLOPT_NOSIGNAL 7.10 CURLOPT_NOTHING 7.1.1 7.11.1 7.11.0 CURLOPT_OPENSOCKETDATA 7.17.1 CURLOPT_OPENSOCKETFUNCTION 7.17.1 CURLOPT_PASSWDDATA 7.4.2 7.11.1 7.15.5 CURLOPT_PASSWDFUNCTION 7.4.2 7.11.1 7.15.5 CURLOPT_PASSWORD 7.19.1 CURLOPT_PASV_HOST 7.12.1 7.16.0 7.15.5 CURLOPT_PATH_AS_IS 7.42.0 CURLOPT_PINNEDPUBLICKEY 7.39.0 CURLOPT_PIPEWAIT 7.43.0 CURLOPT_PORT 7.1 CURLOPT_POST 7.1 CURLOPT_POST301 7.17.1 7.19.1 CURLOPT_POSTFIELDS 7.1 CURLOPT_POSTFIELDSIZE 7.2 CURLOPT_POSTFIELDSIZE_LARGE 7.11.1 CURLOPT_POSTQUOTE 7.1 CURLOPT_POSTREDIR 7.19.1 CURLOPT_PREQUOTE 7.9.5 CURLOPT_PRIVATE 7.10.3 CURLOPT_PROGRESSDATA 7.1 CURLOPT_PROGRESSFUNCTION 7.1 7.32.0 CURLOPT_PROTOCOLS 7.19.4 CURLOPT_PROXY 7.1 CURLOPT_PROXYAUTH 7.10.7 CURLOPT_PROXYHEADER 7.37.0 CURLOPT_PROXYPASSWORD 7.19.1 CURLOPT_PROXYPORT 7.1 CURLOPT_PROXYTYPE 7.10 CURLOPT_PROXYUSERNAME 7.19.1 CURLOPT_PROXYUSERPWD 7.1 CURLOPT_PROXY_SERVICE_NAME 7.43.0 CURLOPT_PROXY_TRANSFER_MODE 7.18.0 CURLOPT_PUT 7.1 CURLOPT_QUOTE 7.1 CURLOPT_RANDOM_FILE 7.7 CURLOPT_RANGE 7.1 CURLOPT_READDATA 7.9.7 CURLOPT_READFUNCTION 7.1 CURLOPT_REDIR_PROTOCOLS 7.19.4 CURLOPT_REFERER 7.1 CURLOPT_RESOLVE 7.21.3 CURLOPT_RESUME_FROM 7.1 CURLOPT_RESUME_FROM_LARGE 7.11.0 CURLOPT_RTSPHEADER 7.20.0 CURLOPT_RTSP_CLIENT_CSEQ 7.20.0 CURLOPT_RTSP_REQUEST 7.20.0 CURLOPT_RTSP_SERVER_CSEQ 7.20.0 CURLOPT_RTSP_SESSION_ID 7.20.0 CURLOPT_RTSP_STREAM_URI 7.20.0 CURLOPT_RTSP_TRANSPORT 7.20.0 CURLOPT_SASL_IR 7.31.0 CURLOPT_SEEKDATA 7.18.0 CURLOPT_SEEKFUNCTION 7.18.0 CURLOPT_SERVER_RESPONSE_TIMEOUT 7.20.0 CURLOPT_SERVICE_NAME 7.43.0 CURLOPT_SHARE 7.10 CURLOPT_SOCKOPTDATA 7.16.0 CURLOPT_SOCKOPTFUNCTION 7.16.0 CURLOPT_SOCKS5_GSSAPI_NEC 7.19.4 CURLOPT_SOCKS5_GSSAPI_SERVICE 7.19.4 CURLOPT_SOURCE_HOST 7.12.1 - 7.15.5 CURLOPT_SOURCE_PATH 7.12.1 - 7.15.5 CURLOPT_SOURCE_PORT 7.12.1 - 7.15.5 CURLOPT_SOURCE_POSTQUOTE 7.12.1 - 7.15.5 CURLOPT_SOURCE_PREQUOTE 7.12.1 - 7.15.5 CURLOPT_SOURCE_QUOTE 7.13.0 - 7.15.5 CURLOPT_SOURCE_URL 7.13.0 - 7.15.5 CURLOPT_SOURCE_USERPWD 7.12.1 - 7.15.5 CURLOPT_SSH_AUTH_TYPES 7.16.1 CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 7.17.1 CURLOPT_SSH_KEYDATA 7.19.6 CURLOPT_SSH_KEYFUNCTION 7.19.6 CURLOPT_SSH_KNOWNHOSTS 7.19.6 CURLOPT_SSH_PRIVATE_KEYFILE 7.16.1 CURLOPT_SSH_PUBLIC_KEYFILE 7.16.1 CURLOPT_SSLCERT 7.1 CURLOPT_SSLCERTPASSWD 7.1.1 7.17.0 CURLOPT_SSLCERTTYPE 7.9.3 CURLOPT_SSLENGINE 7.9.3 CURLOPT_SSLENGINE_DEFAULT 7.9.3 CURLOPT_SSLKEY 7.9.3 CURLOPT_SSLKEYPASSWD 7.9.3 7.17.0 CURLOPT_SSLKEYTYPE 7.9.3 CURLOPT_SSLVERSION 7.1 CURLOPT_SSL_CIPHER_LIST 7.9 CURLOPT_SSL_CTX_DATA 7.10.6 CURLOPT_SSL_CTX_FUNCTION 7.10.6 CURLOPT_SSL_ENABLE_ALPN 7.36.0 CURLOPT_SSL_ENABLE_NPN 7.36.0 CURLOPT_SSL_FALSESTART 7.42.0 CURLOPT_SSL_OPTIONS 7.25.0 CURLOPT_SSL_SESSIONID_CACHE 7.16.0 CURLOPT_SSL_VERIFYHOST 7.8.1 CURLOPT_SSL_VERIFYPEER 7.4.2 CURLOPT_SSL_VERIFYSTATUS 7.41.0 CURLOPT_STDERR 7.1 CURLOPT_STREAM_DEPENDS 7.46.0 CURLOPT_STREAM_DEPENDS_E 7.46.0 CURLOPT_STREAM_WEIGHT 7.46.0 CURLOPT_TCP_KEEPALIVE 7.25.0 CURLOPT_TCP_KEEPIDLE 7.25.0 CURLOPT_TCP_KEEPINTVL 7.25.0 CURLOPT_TCP_NODELAY 7.11.2 CURLOPT_TELNETOPTIONS 7.7 CURLOPT_TFTP_BLKSIZE 7.19.4 CURLOPT_TIMECONDITION 7.1 CURLOPT_TIMEOUT 7.1 CURLOPT_TIMEOUT_MS 7.16.2 CURLOPT_TIMEVALUE 7.1 CURLOPT_TLSAUTH_PASSWORD 7.21.4 CURLOPT_TLSAUTH_TYPE 7.21.4 CURLOPT_TLSAUTH_USERNAME 7.21.4 CURLOPT_TRANSFERTEXT 7.1.1 CURLOPT_TRANSFER_ENCODING 7.21.6 CURLOPT_UNIX_SOCKET_PATH 7.40.0 CURLOPT_UNRESTRICTED_AUTH 7.10.4 CURLOPT_UPLOAD 7.1 CURLOPT_URL 7.1 CURLOPT_USERAGENT 7.1 CURLOPT_USERNAME 7.19.1 CURLOPT_USERPWD 7.1 CURLOPT_USE_SSL 7.17.0 CURLOPT_VERBOSE 7.1 CURLOPT_WILDCARDMATCH 7.21.0 CURLOPT_WRITEDATA 7.9.7 CURLOPT_WRITEFUNCTION 7.1 CURLOPT_WRITEHEADER 7.1 CURLOPT_WRITEINFO 7.1 CURLOPT_XFERINFODATA 7.32.0 CURLOPT_XFERINFOFUNCTION 7.32.0 CURLOPT_XOAUTH2_BEARER 7.33.0 CURLPAUSE_ALL 7.18.0 CURLPAUSE_CONT 7.18.0 CURLPAUSE_RECV 7.18.0 CURLPAUSE_RECV_CONT 7.18.0 CURLPAUSE_SEND 7.18.0 CURLPAUSE_SEND_CONT 7.18.0 CURLPIPE_HTTP1 7.43.0 CURLPIPE_MULTIPLEX 7.43.0 CURLPIPE_NOTHING 7.43.0 CURLPROTO_ALL 7.19.4 CURLPROTO_DICT 7.19.4 CURLPROTO_FILE 7.19.4 CURLPROTO_FTP 7.19.4 CURLPROTO_FTPS 7.19.4 CURLPROTO_GOPHER 7.21.2 CURLPROTO_HTTP 7.19.4 CURLPROTO_HTTPS 7.19.4 CURLPROTO_IMAP 7.20.0 CURLPROTO_IMAPS 7.20.0 CURLPROTO_LDAP 7.19.4 CURLPROTO_LDAPS 7.19.4 CURLPROTO_POP3 7.20.0 CURLPROTO_POP3S 7.20.0 CURLPROTO_RTMP 7.21.0 CURLPROTO_RTMPE 7.21.0 CURLPROTO_RTMPS 7.21.0 CURLPROTO_RTMPT 7.21.0 CURLPROTO_RTMPTE 7.21.0 CURLPROTO_RTMPTS 7.21.0 CURLPROTO_RTSP 7.20.0 CURLPROTO_SCP 7.19.4 CURLPROTO_SFTP 7.19.4 CURLPROTO_SMB 7.40.0 CURLPROTO_SMBS 7.40.0 CURLPROTO_SMTP 7.20.0 CURLPROTO_SMTPS 7.20.0 CURLPROTO_TELNET 7.19.4 CURLPROTO_TFTP 7.19.4 CURLPROXY_HTTP 7.10 CURLPROXY_HTTP_1_0 7.19.4 CURLPROXY_SOCKS4 7.10 CURLPROXY_SOCKS4A 7.18.0 CURLPROXY_SOCKS5 7.10 CURLPROXY_SOCKS5_HOSTNAME 7.18.0 CURLSHE_BAD_OPTION 7.10.3 CURLSHE_INVALID 7.10.3 CURLSHE_IN_USE 7.10.3 CURLSHE_NOMEM 7.12.0 CURLSHE_NOT_BUILT_IN 7.23.0 CURLSHE_OK 7.10.3 CURLSHOPT_LOCKFUNC 7.10.3 CURLSHOPT_NONE 7.10.3 CURLSHOPT_SHARE 7.10.3 CURLSHOPT_UNLOCKFUNC 7.10.3 CURLSHOPT_UNSHARE 7.10.3 CURLSHOPT_USERDATA 7.10.3 CURLSOCKTYPE_ACCEPT 7.28.0 CURLSOCKTYPE_IPCXN 7.16.0 CURLSSH_AUTH_AGENT 7.28.0 CURLSSH_AUTH_ANY 7.16.1 CURLSSH_AUTH_DEFAULT 7.16.1 CURLSSH_AUTH_HOST 7.16.1 CURLSSH_AUTH_KEYBOARD 7.16.1 CURLSSH_AUTH_NONE 7.16.1 CURLSSH_AUTH_PASSWORD 7.16.1 CURLSSH_AUTH_PUBLICKEY 7.16.1 CURLSSLBACKEND_AXTLS 7.38.0 CURLSSLBACKEND_CYASSL 7.34.0 CURLSSLBACKEND_DARWINSSL 7.34.0 CURLSSLBACKEND_GNUTLS 7.34.0 CURLSSLBACKEND_GSKIT 7.34.0 CURLSSLBACKEND_MBEDTLS 7.46.0 CURLSSLBACKEND_NONE 7.34.0 CURLSSLBACKEND_NSS 7.34.0 CURLSSLBACKEND_OPENSSL 7.34.0 CURLSSLBACKEND_POLARSSL 7.34.0 CURLSSLBACKEND_QSOSSL 7.34.0 - 7.38.1 CURLSSLBACKEND_SCHANNEL 7.34.0 CURLSSLOPT_ALLOW_BEAST 7.25.0 CURLSSLOPT_NO_REVOKE 7.44.0 CURLUSESSL_ALL 7.17.0 CURLUSESSL_CONTROL 7.17.0 CURLUSESSL_NONE 7.17.0 CURLUSESSL_TRY 7.17.0 CURLVERSION_FIRST 7.10 CURLVERSION_FOURTH 7.16.1 CURLVERSION_NOW 7.10 CURLVERSION_SECOND 7.11.1 CURLVERSION_THIRD 7.12.0 CURL_CHUNK_BGN_FUNC_FAIL 7.21.0 CURL_CHUNK_BGN_FUNC_OK 7.21.0 CURL_CHUNK_BGN_FUNC_SKIP 7.21.0 CURL_CHUNK_END_FUNC_FAIL 7.21.0 CURL_CHUNK_END_FUNC_OK 7.21.0 CURL_CSELECT_ERR 7.16.3 CURL_CSELECT_IN 7.16.3 CURL_CSELECT_OUT 7.16.3 CURL_EASY_NONE 7.14.0 - 7.15.4 CURL_EASY_TIMEOUT 7.14.0 - 7.15.4 CURL_ERROR_SIZE 7.1 CURL_FNMATCHFUNC_FAIL 7.21.0 CURL_FNMATCHFUNC_MATCH 7.21.0 CURL_FNMATCHFUNC_NOMATCH 7.21.0 CURL_FORMADD_DISABLED 7.12.1 CURL_FORMADD_ILLEGAL_ARRAY 7.9.8 CURL_FORMADD_INCOMPLETE 7.9.8 CURL_FORMADD_MEMORY 7.9.8 CURL_FORMADD_NULL 7.9.8 CURL_FORMADD_OK 7.9.8 CURL_FORMADD_OPTION_TWICE 7.9.8 CURL_FORMADD_UNKNOWN_OPTION 7.9.8 CURL_GLOBAL_ACK_EINTR 7.30.0 CURL_GLOBAL_ALL 7.8 CURL_GLOBAL_DEFAULT 7.8 CURL_GLOBAL_NOTHING 7.8 CURL_GLOBAL_SSL 7.8 CURL_GLOBAL_WIN32 7.8.1 CURL_HTTPPOST_BUFFER 7.46.0 CURL_HTTPPOST_CALLBACK 7.46.0 CURL_HTTPPOST_FILENAME 7.46.0 CURL_HTTPPOST_LARGE 7.46.0 CURL_HTTPPOST_PTRBUFFER 7.46.0 CURL_HTTPPOST_PTRCONTENTS 7.46.0 CURL_HTTPPOST_PTRNAME 7.46.0 CURL_HTTPPOST_READFILE 7.46.0 CURL_HTTP_VERSION_1_0 7.9.1 CURL_HTTP_VERSION_1_1 7.9.1 CURL_HTTP_VERSION_2 7.43.0 CURL_HTTP_VERSION_2_0 7.33.0 CURL_HTTP_VERSION_2TLS 7.47.0 CURL_HTTP_VERSION_NONE 7.9.1 CURL_IPRESOLVE_V4 7.10.8 CURL_IPRESOLVE_V6 7.10.8 CURL_IPRESOLVE_WHATEVER 7.10.8 CURL_LOCK_ACCESS_NONE 7.10.3 CURL_LOCK_ACCESS_SHARED 7.10.3 CURL_LOCK_ACCESS_SINGLE 7.10.3 CURL_LOCK_DATA_CONNECT 7.10.3 CURL_LOCK_DATA_COOKIE 7.10.3 CURL_LOCK_DATA_DNS 7.10.3 CURL_LOCK_DATA_NONE 7.10.3 CURL_LOCK_DATA_SHARE 7.10.4 CURL_LOCK_DATA_SSL_SESSION 7.10.3 CURL_LOCK_TYPE_CONNECT 7.10 - 7.10.2 CURL_LOCK_TYPE_COOKIE 7.10 - 7.10.2 CURL_LOCK_TYPE_DNS 7.10 - 7.10.2 CURL_LOCK_TYPE_NONE 7.10 - 7.10.2 CURL_LOCK_TYPE_SSL_SESSION 7.10 - 7.10.2 CURL_MAX_HTTP_HEADER 7.19.7 CURL_MAX_WRITE_SIZE 7.9.7 CURL_NETRC_IGNORED 7.9.8 CURL_NETRC_OPTIONAL 7.9.8 CURL_NETRC_REQUIRED 7.9.8 CURL_POLL_IN 7.14.0 CURL_POLL_INOUT 7.14.0 CURL_POLL_NONE 7.14.0 CURL_POLL_OUT 7.14.0 CURL_POLL_REMOVE 7.14.0 CURL_PROGRESS_BAR 7.1.1 - 7.4.1 CURL_PROGRESS_STATS 7.1.1 - 7.4.1 CURL_PUSH_DENY 7.44.0 CURL_PUSH_OK 7.44.0 CURL_READFUNC_ABORT 7.12.1 CURL_READFUNC_PAUSE 7.18.0 CURL_REDIR_GET_ALL 7.19.1 CURL_REDIR_POST_301 7.19.1 CURL_REDIR_POST_302 7.19.1 CURL_REDIR_POST_303 7.25.1 CURL_REDIR_POST_ALL 7.19.1 CURL_RTSPREQ_ANNOUNCE 7.20.0 CURL_RTSPREQ_DESCRIBE 7.20.0 CURL_RTSPREQ_GET_PARAMETER 7.20.0 CURL_RTSPREQ_NONE 7.20.0 CURL_RTSPREQ_OPTIONS 7.20.0 CURL_RTSPREQ_PAUSE 7.20.0 CURL_RTSPREQ_PLAY 7.20.0 CURL_RTSPREQ_RECEIVE 7.20.0 CURL_RTSPREQ_RECORD 7.20.0 CURL_RTSPREQ_SETUP 7.20.0 CURL_RTSPREQ_SET_PARAMETER 7.20.0 CURL_RTSPREQ_TEARDOWN 7.20.0 CURL_SEEKFUNC_CANTSEEK 7.19.5 CURL_SEEKFUNC_FAIL 7.19.5 CURL_SEEKFUNC_OK 7.19.5 CURL_SOCKET_BAD 7.14.0 CURL_SOCKET_TIMEOUT 7.14.0 CURL_SOCKOPT_ALREADY_CONNECTED 7.21.5 CURL_SOCKOPT_ERROR 7.21.5 CURL_SOCKOPT_OK 7.21.5 CURL_SSLVERSION_DEFAULT 7.9.2 CURL_SSLVERSION_SSLv2 7.9.2 CURL_SSLVERSION_SSLv3 7.9.2 CURL_SSLVERSION_TLSv1 7.9.2 CURL_SSLVERSION_TLSv1_0 7.34.0 CURL_SSLVERSION_TLSv1_1 7.34.0 CURL_SSLVERSION_TLSv1_2 7.34.0 CURL_TIMECOND_IFMODSINCE 7.9.7 CURL_TIMECOND_IFUNMODSINCE 7.9.7 CURL_TIMECOND_LASTMOD 7.9.7 CURL_TIMECOND_NONE 7.9.7 CURL_TLSAUTH_NONE 7.21.4 CURL_TLSAUTH_SRP 7.21.4 CURL_VERSION_ASYNCHDNS 7.10.7 CURL_VERSION_CONV 7.15.4 CURL_VERSION_CURLDEBUG 7.19.6 CURL_VERSION_DEBUG 7.10.6 CURL_VERSION_GSSAPI 7.38.0 CURL_VERSION_GSSNEGOTIATE 7.10.6 7.38.0 CURL_VERSION_HTTP2 7.33.0 CURL_VERSION_IDN 7.12.0 CURL_VERSION_IPV6 7.10 CURL_VERSION_KERBEROS4 7.10 7.33.0 CURL_VERSION_KERBEROS5 7.40.0 CURL_VERSION_LARGEFILE 7.11.1 CURL_VERSION_LIBZ 7.10 CURL_VERSION_NTLM 7.10.6 CURL_VERSION_NTLM_WB 7.22.0 CURL_VERSION_PSL 7.47.0 CURL_VERSION_SPNEGO 7.10.8 CURL_VERSION_SSL 7.10 CURL_VERSION_SSPI 7.13.2 CURL_VERSION_TLSAUTH_SRP 7.21.4 CURL_VERSION_UNIX_SOCKETS 7.40.0 CURL_WAIT_POLLIN 7.28.0 CURL_WAIT_POLLOUT 7.28.0 CURL_WAIT_POLLPRI 7.28.0 CURL_WRITEFUNC_PAUSE 7.18.0 curl-7.47.0/docs/libcurl/curl_free.30000644000175000017500000000313312626067776014140 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_free 3 "12 Aug 2003" "libcurl 7.10" "libcurl Manual" .SH NAME curl_free - reclaim memory that has been obtained through a libcurl call .SH SYNOPSIS .B #include .sp .BI "void curl_free( char *" ptr " );" .ad .SH DESCRIPTION curl_free reclaims memory that has been obtained through a libcurl call. Use \fIcurl_free(3)\fP instead of free() to avoid anomalies that can result from differences in memory management between your application and libcurl. .SH "SEE ALSO" .BR curl_easy_unescape "(3), " curl_easy_escape "(3) " curl-7.47.0/docs/libcurl/curl_easy_unescape.30000644000175000017500000000441712626067776016051 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH curl_easy_unescape 3 "7 April 2006" "libcurl 7.15.4" "libcurl Manual" .SH NAME curl_easy_unescape - URL decodes the given string .SH SYNOPSIS .B #include .sp .BI "char *curl_easy_unescape( CURL *" curl ", const char *" url .BI ", int "inlength ", int *" outlength " );" .ad .SH DESCRIPTION This function converts the given URL encoded input string to a "plain string" and returns that in an allocated memory area. All input characters that are URL encoded (%XX where XX is a two-digit hexadecimal number) are converted to their binary versions. If the \fBlength\fP argument is set to 0 (zero), \fIcurl_easy_unescape(3)\fP will use strlen() on the input \fIurl\fP string to find out the size. If \fBoutlength\fP is non-NULL, the function will write the length of the returned string in the integer it points to. This allows an escaped string containing %00 to still get used properly after unescaping. You must \fIcurl_free(3)\fP the returned string when you're done with it. .SH AVAILABILITY Added in 7.15.4 and replaces the old \fIcurl_unescape(3)\fP function. .SH RETURN VALUE A pointer to a zero terminated string or NULL if it failed. .SH "SEE ALSO" .BR curl_easy_escape "(3), " curl_free "(3)," RFC 3986 curl-7.47.0/docs/libcurl/curl_multi_socket_action.html0000644000175000017500000002260712652070414020045 00000000000000 curl_multi_socket_action man page

NAME

curl_multi_socket_action - reads/writes available data given an action

SYNOPSIS

#include <curl/curl.h>
 
CURLMcode curl_multi_socket_action(CURLM * multi_handle,
                                   curl_socket_t sockfd,
                                   int ev_bitmask,
                                   int *running_handles);

DESCRIPTION

When the application has detected action on a socket handled by libcurl, it should call curl_multi_socket_action with the sockfd argument set to the socket with the action. When the events on a socket are known, they can be passed as an events bitmask ev_bitmask by first setting ev_bitmask to 0, and then adding using bitwise OR (|) any combination of events to be chosen from CURL_CSELECT_IN, CURL_CSELECT_OUT or CURL_CSELECT_ERR. When the events on a socket are unknown, pass 0 instead, and libcurl will test the descriptor internally. It is also permissible to pass CURL_SOCKET_TIMEOUT to the sockfd parameter in order to initiate the whole process or when a timeout occurs.

At return, the integer running_handles points to will contain the number of running easy handles within the multi handle. When this number reaches zero, all transfers are complete/done. When you call curl_multi_socket_action on a specific socket and the counter decreases by one, it DOES NOT necessarily mean that this exact socket/transfer is the one that completed. Use curl_multi_info_read to figure out which easy handle that completed.

The curl_multi_socket_action functions inform the application about updates in the socket (file descriptor) status by doing none, one, or multiple calls to the socket callback function set with the CURLMOPT_SOCKETFUNCTION option to curl_multi_setopt. They update the status with changes since the previous time the callback was called.

Get the timeout time by setting the CURLMOPT_TIMERFUNCTION option with curl_multi_setopt. Your application will then get called with information on how long to wait for socket actions at most before doing the timeout action: call the curl_multi_socket_action function with the sockfd argument set to CURL_SOCKET_TIMEOUT. You can also use the curl_multi_timeout function to poll the value at any given time, but for an event-based system using the callback is far better than relying on polling the timeout value.

CALLBACK DETAILS

The socket callback function uses a prototype like this

 
  int curl_socket_callback(CURL *easy,      /* easy handle */
                           curl_socket_t s, /* socket */
                           int action,      /* see values below */
                           void *userp,    /* private callback pointer */
                           void *socketp); /* private socket pointer,
                                              NULL if not
                                              previously assigned with
                                              curl_multi_assign */
 

The callback MUST return 0.

The easy argument is a pointer to the easy handle that deals with this particular socket. Note that a single handle may work with several sockets simultaneously.

The s argument is the actual socket value as you use it within your system.

The action argument to the callback has one of five values:

CURL_POLL_NONE (0)

register, not interested in readiness (yet)

CURL_POLL_IN (1)

register, interested in read readiness

CURL_POLL_OUT (2)

register, interested in write readiness

CURL_POLL_INOUT (3)

register, interested in both read and write readiness

CURL_POLL_REMOVE (4)

unregister

The socketp argument is a private pointer you have previously set with curl_multi_assign to be associated with the s socket. If no pointer has been set, socketp will be NULL. This argument is of course a service to applications that want to keep certain data or structs that are strictly associated to the given socket.

The userp argument is a private pointer you have previously set with curl_multi_setopt and the CURLMOPT_SOCKETDATA option.

RETURN VALUE

CURLMcode type, general libcurl multi interface error code.

Before version 7.20.0: If you receive CURLM_CALL_MULTI_PERFORM, this basically means that you should call curl_multi_socket_action again before you wait for more actions on libcurl's sockets. You don't have to do it immediately, but the return code means that libcurl may have more data available to return or that there may be more data to send off before it is "satisfied".

The return code from this function is for the whole multi stack. Problems still might have occurred on individual transfers even when one of these functions return OK.

TYPICAL USAGE

1. Create a multi handle

2. Set the socket callback with CURLMOPT_SOCKETFUNCTION

3. Set the timeout callback with CURLMOPT_TIMERFUNCTION, to get to know what timeout value to use when waiting for socket activities.

4. Add easy handles with curl_multi_add_handle()

5. Provide some means to manage the sockets libcurl is using, so you can check them for activity. This can be done through your application code, or by way of an external library such as libevent or glib.

6. Call curl_multi_socket_action(..., CURL_SOCKET_TIMEOUT, 0, ...) to kickstart everything. To get one or more callbacks called.

7. Wait for activity on any of libcurl's sockets, use the timeout value your callback has been told.

8, When activity is detected, call curl_multi_socket_action() for the socket(s) that got action. If no activity is detected and the timeout expires, call curl_multi_socket_action with CURL_SOCKET_TIMEOUT.

AVAILABILITY

This function was added in libcurl 7.15.4, and is deemed stable since 7.16.0.

SEE ALSO

curl_multi_cleanup, curl_multi_init, curl_multi_fdset, curl_multi_info_read, the hiperfifo.c example

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/libcurl-errors.pdf0000644000175000017500000004263012652070422015531 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµXÛRãH}ç+*æeä¬Q•îûÆÐ&–Y³ÆÝ½ô!äkF–Ü’Ü ó ó+û{².’lCO¿l@ØRUå圓™õ…y.gý˜¿ùæä§EÌžÚ=|9áê!3ò ûy‰úbùx¢×p §¾›¤l¹9áw9ÙòùäÎ)‹‡|×”SÙ4uÓ~vüÏf¾›LEºiê;ú!{åÝÉ–¿œL=Wplãä'»iH‡û[^8×g“a,žòÐ S-W'ÎûÙdùëÈTá¹³)ôØ#ëŒcÿeê–×+Ù²¢ê UNžâè)ÜDônv{¾¸¼Y^ί÷Toéãà€¯Ž\®‹–m²Šm³'‰3òrG‡mê¶;eÅ#«êŽeeyÊ2Ú‹<•kQäi`|ûª*ŸS—'ibÐ1BS”ÙC)ßðÇ¥Õœì͆ŸÖô•pcZŽÓ×Ç®æáKן†©æÁZî­J]1˜â¼ÔÃ*õ 7r˜À²jŶuÛå {^gꈩï§nà'ûIz©w,GÀV5ëjöçï¬[K¶mjø·aY#®¶¶‘\¹‘¬ó‹+ŠÇ[™òÝ(ÒÈ=+))” öƒÌÚ—pF'›Ç vö¼Øw²\²Ç]•wE]µ¬‘Ý®©XÆì £à»ìºFÒ;,WΞ²][TO䉸O îYF jJÓ=zßÊ®Þvš ?ŽLN¸›&Âæ¯À íT¿—HÀC‘êWî”ëó›åýl±˜øD<;óÅÏÊD·‹‹Ùb`݈徱„ŘŒµðö©®W¬XÉŒe€XÇž Äë©0à弞p#ÞcÔ7ë¿Jö2` ÄÑÈ}ÆÖ;"L#³ÕTÃ$.›2  Ħ·G˜o»FG8ëùV?*ЋÐ^¨O¡u‰Z÷ˆ¼lj@i%»¬(á×C½ëÐòl×J¬VôÖØ³b¿îÚnôÊòAø§ö4cçÝ8«]3ñcà(á¤~“ Ô˜ª›×$nÒóQ³‚ñ@æ•¥\1ž$°Zí{ÿØÔÊÑA:b˜Y)1\Ù \¥=’,Â«ÝæA6“0˜<á¸Z­E#Ý ê>àN½ÀÔUÌǺ,ë‰g˜ú7µT³ôJ³tv?ÿûìx ÷AÁË’ýYS7MK8àíÚ]¦emíwf£×·nnæ‹IØ'w–³w÷7 [\-R¡™O9â­Â<_²ù¬î£ Óp>¿‚6ÒÙÜKݨÏ7wC/4¢/ a$eÛ¬muÆŒÃxr‚$­«óºÔ˜í¨NØ7V5ô›*C»Ûnë¦síh>h\SØ@-°ÜOëŽð‘™›mQÊiWlz%ú2fU¬ª^á&BXžm ívcå<ãºÓÊSâºÁ`Æ6EÛn¥Bbï… À¨¨¢ËOc7µÇçôk¬¿ëŒÜU¤L4À’0°{-Å“8pÎ.¯ØËëË%’"l÷@ݹ0ÂÐG9v, {iB•R&5/Lf jSQ]‘•Å™Šœ6IKf̈JSE]åë7ã8vC[\iW•‰ívŠX¥kI••†°ø5%í”þÏ vm½kr©ÃàþAóbKàóZB¹Úz#"ý®ZeYuØ<¯w%ex 8º7¶yìžÆa‰gk4´dETL(ŒÀ£é%üÈUmÔ¸ ‚a‹«û÷gWóÅû³ñi L`¢ë,?;Ãq¨^~ßaø†?i¨ûŽ^0-qž‡¢«‰ç·’òx¨Âºú6®ç“À,_Þÿ€p•_Gk0x¥CÂäö hêß_Ɔ£‡ôÈ]{ÃrÔÝ@q†¬|«½Ù¾’°;e[Sç¯ÄSa’Ýh·x Øë Opð+šójÚþ>¿¥ÊY•‰þ¿¡^¿j8§;ˆƒÐ!û"üŽÀ5㪑ø6KÀù¦î¤Þs/³F'lÃQìÀ± 9ª%6tçóëëÙ9,6ø´†Žw1…“>‹…éŠóºªdŽñéó„>*Ót­Ú¢Ðvh¿“ð•¦bysÿiv¹xw;[L#Ûg ¤õæJ«kä»qü4Kzš!lbh“@7›g4 “ÕôBÒ#X+•gšÄl“й¾Â¨NËó“Øõ{›üÓr—H$ÜïC£K‡D*à Í8®íg–ËS \[ÈõC–ÿfJÃ0ê˜ü©*V½#>†25n öÒThí]jPG˜UOª˜€Ú¢Q2€’(F8JÃZj3‰Q4ñž·ö>nhѬzIò] `ûú£@LA¬>lÂïjš+{E÷Ž‹€uM]öZ]SÉÚbS”ÙѸJS ÷ååF "ªå¸~T\ ³ýõé[Å…÷—"¢ë¾ÑO|sŸ©ª Ú\aTæ+¡¢¥,¨ÌÐÝijž`ýÒnÛßÄçú6®YY¸ÛŠ„L%ƒ,è’äcÒàß,I*¢ip\’(r"µ%)3sž©z23{Óýuê¯ ‘1±@F—̘†È\T«"Ï:[´€Í]%ûvOÙ©Tã? pÔÕèß¾›è§±íd쀻íq‹µòý>i¿ŒÍݹã|áq½öЏ_A_Í–'ÿÄÏÿH†ÄÃendstream endobj 6 0 obj 2687 endobj 14 0 obj <> stream xœXÛnÛH}÷W4æ%ÔÂæ°»y}Ø´±¼ã)2½Á ^4Ù²¸C‘ /Q<ßýç­ê /¶œ8Ab^º«N>uŠ_ˆcSâàþ7ÝŸý¼ÈSsæ§³/gTÞ$úŸtOþÃ!^ˆ·gêJF‚ˆÛaDâýu©M©GâãÙg«ÈÓ®..D]Wuó`ñ‡Ñ×fÌì(â–ºIN<;ûOüë÷Éü3ˆI.úþ~}³Ø\Å«Í|Æq Xïß/Vñ&¾¾],ïcò`Q6z›2|›Úc¸‚uÙÕyùD’’$i›Ïâÿž]rzæE¶ãðÒ’opýÆWA®ð9Ÿ¡¡ÍÚ?cVW¤M“W%9îòB#¾:¶ëûóTåä-†°­jÒî¼XQÏvh䤭HZ•¥HÛs¼/3ùyM< GÃ@­ªYBúó8BÏUpÌà¸Ôºï_p'€"ƒ‡¥ÑÚÜÞ)°!Ú¡¶g‡4ÒIjà,n^¶¢.“‚db;£Ž•tE •m󽨺–ˆuUY¾òZd¶ÚŸRj‡ ¶÷íp\UòÓâz}¹YÍ"øû¡5¿û÷f½XÝÈ7™-kC=Ç6I[¿=XCA¸íxú:Õ™@’±¡øÜ§N’í Áb…b"CÌŸDK(FÙäPÀZ4yLÒßɶ®ö£R¹ g(UÒÀ+ðä¡*‹ˆƒë²¡ðXÀ1Ð%2 èFAÿí³µXÁÍ´Úï“2³I<Ïò¿DÃõ­c¥dµ†ñŠŒ›«åúvŽ8ôØ1›qQ<ÆBäQhÐs{ôB›=Çæ®ïJ²\#€prkÑv5&;_y)^ƒ"Ñ€ÚRß—hô _oÉP¤R^4øÂ!©ñÍ]Ò\ñ\æ-A³Ú]Þï™V™@”IÓ@ ±TöìÝ›½Ÿˆ7ÿZÄ›_–wR&<•ï Ÿ­y9ðÛ„ÔÕ2‹¢ª~ï’»ªiI‡{š3\Š1Y™Ù>Ó°Óoצ¾cn¨3’aKÔÈO¾Šü—8^1ŒÖWÑÂ!Çņ°­ùa¼Eèpª®íà³X»ºRïA–(\¤!· J™h!È"/ej«mìQžŠäYÔ&«Ð•‹G¾ÍB½¸eÇc"Q›aWÍ,üiª½˜1 ²ãFÖËú$JQç)ÈpFRÐâGA* ˆâ8c@Y‰ë5Ȫ¶@¿‰bƒG´ô«èŠ Î¢Ð"YC9 ‚æ2_ÙlÈãŒ9êˆuÛÓÌÞÂùÃÚDHJ}ò|×f§©µ¼¿¹vÝ»âßV ¬Wð’]ÖZ¤bÚq K¯Z¿æÐ‹ ²Ä8}KsMæÉ ó‘ÑE™Ïq' œõ3ÖhÛ€¬a²m” ¦µÇS7ó2©ŸQšæwﯯ A´ü0ò^ë´VçZóõÌÇ@¼šÈüfsu}#ó MÓµ9õ ‚~¨âØ¡JˆÏBm‹Q„²wz‰gš1>çëæ tÚU5œQ ½HêÀ¡o=aïÜ™„MäÚ·ƒ$8J+Ðp— ï¡qçu¢÷{ çºX4¬TE7µºðè`”öI‰o§é¦Èªv’jò?Ĺä{‹Ûg¢˜RrnûBd ô6KÚDIcV‰¦|7¢LÀìp—v?é‘ý €°Mw2ÿCÇÒúšW]S<“§|šq6 t蟲Ó*›±ð°o)³â+ä¿!Ëúì¬ñº'SôZše R“›¡ÏE^gX3ˆ_¶šw¸Î;Ócdç%ˆøþÜŽ8÷è߉žj(ÿ÷º_Î\ÃöÅf±^Ë_èëË5Êè+«éà ’ø„…C‘áQL»¦ñÓGÌ‹:®í»æØÂx͵¡Ç‹ŸL²%b¹j±¯ZÍZ|üoèïZ€5Œ$Àó€’é›çÕP _/Õ¾ µw+7é7UMVdª9¾í;tÈÑs´ËÇó&uGvcILÝd@Q¡R®ã`vùìÁBU…²ƒc„ÿTXÅcÞ «Ìò4ÁÓ•M—¦`¦·]aÊ„¾ºÚNl@é«–ÿyÔ9‘U÷ë‹KY:®²*Ý©)éÒźsH¾U¹·á Ü‹^Úð«UþК_ß,?L 3Ì5£9Šãí~얠ر~ té~aTC6hU~é%¹kóÈ5ãS‘È*h©`òì¹Üvy4í¥/kûþãïX,}^Oàùi}=:x"ŽüŽ0Êmæ†U 6Æ%¾ÇZ@õ«ŽH=×ö|o¢9 Œ¸ÜKÕɲ±ÀùÆ~XR Q Š*…¾ÿ½ÝE0¡Õávæ†<* òµ¯8Z>=­JDÀÓy®;EQ‰Lø˜…ò o!x¿ºYθ§À›_YpJ ]ɲ¸D0= fȨ‹^%£¶z½Û¢ÚmÉI¦i“Zb‹„éE•@û»êÇuúŒ­£ÊÖÁäÈ·ý&€©ë-ÈxþQχÓ~†~VæB±ô.žQ¿ÂPjädº1ŽKnÏA£˜iyÝöB7 ç1ÊŸ¥ëšNn£1X2`w;™–ÞM†EðUfáFL¥¯ïgßER&RZ”‹ÏU9ê#Ï^Wo½˜_júkæû¯˜mJÔÂH ”YNCÚ{¹Ù FÜœP³'ßã³Vü$ñê­ñùåÕævq»\ç>pFÌœ–·ff˜¹ÛúœÈ“Çl0o##àS½ys#¦  ¬$Ä YIDkñ¥`¦^ÌÙÚˆI‘«ÑuÀЖ• õZâøo…žAyÁ_0ú(Ò¤èkP…çf8¨ß = ´€é1–Cåt²`  C7þ÷©'­5ä=¿Pð4£‚À†é«Åzƒ‚•^~Ÿ°.Õ7,žàÖò j…¯þÚ¢¿€×Ì¿ã郫øæ€è‚ÖJô=î)aKÒ<”¤iUgz:P}z/®ÚüÀ ¡S[»<\Ñ…xµxE4èÅ‹;'̸‡¬ EÃ@ޱ¨@ÐËq:&©ÛµÐn®?ò¸LÖñ$rýÓ³©²Ðp–Jê±ä{˜ã/“¹à¹êà kNmÓgßöæÆŠ‡Õ_ÖN¼½=ÄHªeê–§ªRF‹CS§{Ѭ˪{Ú‘$Ëj<+(Wæ» Ô°k„Mî„xaPð«O`BèíI¼‚Ä'¾ùQG~ÄÕð)Ó˜úîMûýê¢üœÂé«×Ô\>‘þ † fŸmèÅÇ…aÈǺÁØ~t™|¾…uø_WêÝé# f‰Zqr:Ä“²Ÿ@ )'8ªdMEàwþÑæŒ2›óþå¯oÌJИCÕ‹`TY_;†—ñÙGøù?w»Piendstream endobj 15 0 obj 2562 endobj 19 0 obj <> stream xœXÛnÛH}÷WôÎKH n³yç¾,d[N4q$¯DïL,šlI܈¤BRãx¾!=§šQ¶œNâˆìË©ªSU§ô\0ƒ~Úßqvv1÷غ:3ØúìÛ™P/Yû+ÎØeˆ>=WgÍÁ<“yÅý€…Ù™°ÂaáãÙgm›>Äûr{.˲(«/šõEgí3ýÜ´–Ö¼d'Öêÿ =³\vŽ¿aLêЫûùíx9Mß—ãù\· nž¥Íæ »†Û„IÛ>káF²J–èÂæo \É’BV,/jVíw»¢¬YQ²(Žå®fe”¯%+å·½¬êŠ«ãÎÕy.÷› ïÃðny7[„ ‡Eæ˜^‹Ã~0ÒŠáO”³"I˜2”Õ›¨fY”æÛ'VÄð@Å’½duÁÒ¼–emY\ä«}•9×ÃÿF²XÜ.¯fÓéøê§ÃÂ…‡mñÔhG‡ôT8Ü |„”|Í]Zúx¦•ÅÃVf ¶R&¬*2I[ƒ;¦k–{Mx7²”Ë$®‹ðvÁ6QžT›è«N¸aj’³Oº0è£Vìáìh <Ò{ß±-Êku@ã¤ßt,n¶ø´ýŠ@øÜð £{¶B\qQë%‹ÎNÒñ{d”¨£3YU]+ÀBS³]šï 8¾R+v­íÕ6]ojàËŠÀ¯Šý6a’Ų¬ÓqTƒJ_´[ÉVEI·[É]×ia7€Úg- –ÌYTWoÙ.ª7ôK–YZQ¤«/:=­ªG8I+Êoa+ìÏ(y©Ãy£ëåõL·ì†¿MoñÁᆰ]z5/î?މî+¹’ºéhù¶€«be-eÊ%EµÏ$GûJùŽU;§?ð°Xé&%˜ck«JÖÃhV¬Ø#ÅVj9ê¡ØçIT>én»ã„M­I7üs5»¿½ž† è á÷€®5¹ïÏiýcHk× :žZ´4†uªƒâç¨uwM¿]¨ý!Ž@&”Žöeþ8<ÝüŽi½a„îŸãò7GÇx.„Àhœ]?è¦ïñ@“…2_hš<ð|Ñ­ÙÉ\&œ},ª5ò+ø€HŽ&ÁÇaÈ«Ä#UÙp­ÊÜ«^ […iµ(ë´‡ïsÛòüwš¤Od^§«'pîÈEç–ƒáX½›å÷þ¤#)vkiU§ùšqv&ì ™odüµ{`û¿Ô-¶£ŽxIêÛkUШrî–W£étÖW¸py9™^ülnwÒÂÑ‹£\ñ8ÍáP¼² zJY4Q ,lu`mº…ç_ϵcX‹ñh~õ~y£{¶6¦ào1U2*ã nEžÿÝ…7÷Ó«p2›.a×õÂåÍì^9À'.»Ùç±2‹ _QÒq6R½-¥bþ'º.[ukŽö°áu@£ËÙ\wZ„ãëåå'„çöö²Ùbp[‘X½¶Qh£«&!𔳏íw-GûðE;¤•Å®~Úf“ççÂÜäøú6£'Dv»}ˆâ¯d\÷XYïK$û%¢•¿PSmUÆë´+ ½¯Gów(—Ó<üR\h“®K«N5°Í1a›Ñ¦±ÆG«ƒm~oÛgíà{ÑF¾'€û‘ÊIÄP…wQeWéŽÓÕJa¸\åâq½œLÃñü¦Í[ÏäFßÙÛ/üÿY{-PSx=…íN<œC®9fà[®¬BÅÂh#Œ™¦Jÿ(–¯X €©Š´ÃS½_ª)à«{Ów•}½.¨Œ¤ý}‹;,ÿpŸÕ4Sºð¨]¡6‚ï êE›YÖ¡J(š!­'¨‚Rãnœê¡Â‰£.­õ Är©âU½Ú—8`rÇ¢$Ac¬T¼ßÅ\FömnwܧøÌîÂãYª ÃþɱhÜÈbuE¯Â=î¹AïφØ*ÿ r‡:V#Y]m6[~M?¡Ÿ^OæP µ×…ÚàÏebX4At=WÁî>âZ‘ðºÜvºn«5í£ßuÜDŸÊ¡•†Ñí‚T£åð»LP¤bHpöÛF¢2Û­‚ჶž,oÇGŠQÙízÛ%;Û¤˜Ì¢ïi¶ÏX”¡®Õ\?wáGhDô¦²´ny€ZãXv5 ØÓǦ îÇÑïÊ©‹S±‚Zpì£P Opß<„êhȹŸ~˜…Ü &Q¬^v;4i×nv0aìTY! ‰$:T>@(;à¢b§Êäâk^4ÂÍó!ú8›KÒØB>‹vPÁ»2…È…²ˆ¡þòZ5JÎhžQèþ[º?°Ú¾¥ÜÊ•7g×톚â@ò%êv;.àãu®Š–ýTH—†*9pŠt|mÈH·SÖÖ°”z'µÚèq™),ÿ™G͉å käZǾ+R­ŒþÅuçâTÝ€Y ÿ™0Ç·ÓqØp¹ø4 uÌ̆ýF¿S@;©Ð¶¡–­‡‰Òw¹Íe¢ªK"¿Ð@&è]*M«E³°;®®£l³9ICXc{MJD ÝziÏÝx<ˆåÆóÉÍäj¤ 2.\­%ªsJ•P0K™õ`.'†ËòÍÐTŠ V-n¥z?,nƒñ‹Å{–%û1¾uóºí®ªæc¾–’fʂه®—š·N˜ùn¨´”ìÒÂ÷“é;²Ì<‘‚Žå7DšbTë"‚›]Ü ’UYdÍìDÖ«²á‚ÎRÙvLÃReØã |Çõ·ÃØÑ `u©E½“R r²R7Äi‰¤­ê EI\ËZiò¼…‡Ty«ËeÒÆÛä¦ów(Øu'¥a•i>jºùSÀ‹qH¤†¾ßk Ç>4Fñ<;o†ñð{V’”Gxo7¡Þ¢+áá‚{d¡âä@–ì·õ?ZÍåpõÆsÀãéuÿÝ—p‚æ{Çù¿aæ‰"…¬Ûï¾²$ª£6Æðp07E¢í$G4’×Dy²¬N¶‹_‡ùjä ¸d¢Ùv˜^·Ã¢Gãðìßøù v~‡Iendstream endobj 20 0 obj 2345 endobj 24 0 obj <> stream xœ•W]“šX}÷WÜ·@ÕÊrùæ)e”IH Ådk-‹«²ƒ0“ü†üèí¾\ &“-kJë~u÷éÓ§{>U¡DÅøŽƒ?6ÙU•쟔oñÈ«8¸nÍJlØ®®8. jP…R“„§ÁZÊÒ»øXfCV–EYÝJú­LÄš<Ô Wq]]j6É•³ò?áÛn‘!ü… øÄ¯So³ðÆ7Þb!ª4[[É´Ä…!Döc~“jxSº‰äð_| ¸Šc‚Û°º–ÒìX2rJë=)YÌRY3•–ô˜æ;’³ú$SUQU[—Šòž$Q) ÃÄg†ÔRœæ©Æ«årº{ لЃJálÞœ½šzïÑQç,2áßCYÜeìиRïÉŠ8ÊHœ¥,¯IÌÊ:ýG5S0Œ!¿(,Ÿöço<… àà™qqÌ’ü®jJƒŽ¦X R}ìÐp5G¥-@#Õ‹Óï,!qú°g¥lš ÛQ¼pЦÁ³Â°«)ºÈ€ÞJO¦©âê®#v,µ‰ah9à,‹HÖÒœ±ò Gy^Ô䎑èÐåuŠËIƒå}^@R¥SNÆ£³K•ðþÉÖñW²nJ£Éf< B/7^0žMüà5kÑ~êV9P§Øåé7°Y—Q^mÁ?–ÇE$ê'¬53Ⱥ`Éh¾ñƒ2E»S²}4¦õù9’Ä¡´1Um!{<'9ÌŒ6Yš°Ç™hº`€ ©C½ºnQ7þÔ[ú{ﯱçM¼ º¤ÿH¬µô>ú’Žò=®„ÉTTÑ—˜±„%¿Àzµlˆr#ÛÒÊ’F`–›2úÑ/Øç#«0·7áœÀ=’1GSñ®ª˜NG¡GvFw—³H "eÛ*G1©JÛRˆÒ ÆG©a(º{…Ø^0A‡uLžƒ}òîµÙó07F¹>;IR ¶D¤byBŠVFuZäµì# PZÄ…Hué”Â)ÔžfsìÖ;YS¥cÍ÷Û;†Ëï îñNy™WÓ´ä ¶bY®« žâ7t¾ñÀ…þbÖ¼àµxÀ]?lðp©ý”@«Åø›Ö)øÞ¡Ó˜B/ߥ9#[»f9m zœiëfF7/ð3vŸ’!ÇãP€8T¬|”©OÛÐiHÂòµ Ñ4³ŒÃ+£xJà§­P¨‡¶“\£lÜÛ³®xÛ٪É}_××Ò CPž¶Åó¼/ÜJÚÕ+as³soÄêé;ªbyH« ©Ô6“Kc¿2öÔ]ßϸ\à¹ÐÛLüå»ÍÍjŠºd«W✠‹-IÒê:F3´Ž)î"EAøýHýéÔ{=âæh¯™ùYW÷*/nÌY×µ¤]tQ÷úy݇çíFÒ Ä©«—†ÿ$ØäçVÁ;$ˆæSà#ì¾d¯¡A4M¨9yIé:…?ùy@QAö—áÍé?c\”•,J¾¢‹¼I«º"QŽ}1ˈè˜ÅåÄD M¡î…|ª}ñ,OeZ×LÀD[1œëY fËÕø ˆRíqB™ëBÐtÔ ç}-• †Ý@É£âžkTé†VËÊüî+È/ ¤;ûJ¶Ç<Ƥ£&ýP› ¿-cá§HðXq¯¤ Æ…›¾ ÚýŽ ÷QÅ5Ž1E~/Ø2¨ª=“ˆ–úuͤªªØ½|p÷Þî“Õ×qEU’ñª±— mPÝv@áçS\SÑlU–*ÜOe³»(¾¯ÚÆŠY}nb´T)ÄYLðw4Aî£óvÐùùøŒÌ?o0bðƒ«Q½I¢8fUEÊt·¯«—bÊüíâ Ζ6­ôÛפ¿éBUq,cüµCaÓeÐ5ò’‚U¼à¦Áë´­52B4!Š Ai`þ¬4 ót7PÓ·?¸('šJ›‹Ðº4»½aà’>Àç?ÏC¯§endstream endobj 25 0 obj 1520 endobj 29 0 obj <> stream xœ•XÛrÛ8}×WàmÉ©!Àû£,ËMdÉél¥â--Á67éð—ÿ!=ÝÁ‹¬¤f*3• îsNŸæwbQF,üÓþ½?NÞo}òXM,ò8ù>aòGÒþµ?’‹ø ~˜¨wñ9ñC›!‰æ0ʘKâ—ÉW#Kï÷M™MEYeugØw&iŸ™Sî„4 mCýHά5ÿÿ5±=2…ÿãÄ›óÛíj±‹¢äÎðCXÿ_®a׳œ4yõ,öéOq r3RìaçþyhÊ4$õ“ ¸A%ª*-rŠ[Lå p—¯Ý)«]ôá6¾Ü˜¶CÃÀuŒÿ®wW¦oCäÌ7fËÕââ¬6Ø)dî¾Ft•àþ> iàBÊä iÕ©žšš “»ÆKÞ†¶"û"Ïž–ÑÉß}áÌt,ãÏÙrQ°AÊÚãbÿ gku²E­ På5I+’5)Erx%«Jä‡÷¥Øÿ /&ƒµ,t$­IfIëÿÈ8uqý„¹eŽ£v6ªrxSËXûƒÜ=Éá¾%üýˆ«<{8}H¡,n’æ”ÄOU)ê¦Ì!AyöÚ>Y/îøÔÜô¡,ŽøÃû-³Z€rFC; tÆ^;‘T¯»Ò´}îØ£¬GµïÐ °täôɦP~ÓÁž˜8µŸ\ßmçQÛ uîå%ïŒÙáÅOsâSP®Þ™rÉ´Ï£p¾]í.$C¸»¼äaÉù¿^‡»¬H¶%?3AÆ!…ÔjCúê0¢eÝ.¶»ÅvkÚ¡âÆf‹!ÙoPøÕXVU#J²ûoäÁDâs/€rc0ç—w:GÉ«øfw³]ÄçXè¼9Ù¢œ… ì10 ^€—?L†löРžPhòƒ(«ZÂÖâ!¿ã$5IÿÅ`yÕ¦'Epjùš?æ’SŸª<5ô\ ßT„â°…¯ÑU>v pkõ´™*Á |êö¶WeÔâ^G‘×”\²OJñÐdäåI€(V |§PæœÚš˜ÞÍM¼›ßF± ¨´€¿Ææz»ø¤tÀñŒÛE„™º#4Ç¡Ìk£|—ì»àa;‡iMUG²ZF}~_@]¤_W>Uº{²TêúIÕe~}IîèÔÉ 9„çyÆ,úL’мˆ,£cPqë÷ ÚšžeÄÑÍn->IH;핤Ý3¾N«cRïŸHñ@ôûd‰ï$oŽ÷€$ú΋Q´Ü¬ÏéýÓ##ÕÄÈò)‚¦÷Ûƒ‘=CÙ¡Žìd)àLÿÌ™·yr‚ñœ”•¢*F–V5¼ÓvT| 5<ä²™µÝò%G™wæo¢š¸]DB;=—ƒ3±ÌŸšüÀ:ËîБR u—7]WåïÌAí9ëÍn¾Y¯ós>“€cÔ–”e¶ ]¨EèçY]|ÜÉýr5»PÂÛ:)r0¿ÓÜ;ã Էþ½9¡'© ú‘æµ(ó$B ÙÕ”6„¸b?ñjó®m¾{éÃ@ùð: ÏH.´nÈðá.÷ø‰â„¡ûFq¾å½Éú ~2Uò‚þž±´pFÛqÉý«6h`áÖÅÀŸ-`\å4Àw´Tý¶ 6½4CX½“êÙÚ°^lË¥wG*€"ð½8 ·“žÛ¶Õu«_Y¸›%ýòæöâãâËzÓµ«øzfbù *#ž£Ÿ ÿµëÚ©"&^ç9Í1cßFõa–C-Og×V¹}%U_`¸rg;Ôµ‰EÙ;Qn×ïÓ¡RKwwÏÕrW=ãF˜ 8Ñ0j}¯Â_ôøõg“Iµ°Ùjy9_lM7TâC›©B¿¯˜âÑÎ7Íâ!ty/þ·æ™uìížáQÔMÕ=° ÌB—ЀÐË6–TßLY>àÛ¦Fù·A³°…ŒSƒ·ù¼Ø.¯¾Dq[Û—ÑÁ3A3Ý!â3‰äöÐ%¶™·ä¼UÍE´Y-âÅãIúu(}8:Ð5ª ß­$N΀œ-{–á6Ö‰)nS®1ƒ§‡C†£íïé2꡾âë˪Ó?Àµ1“tLrRd-¤5ZÀ5hKR+ÐKÁzøUÆÅÀø®>£õ5ÐÏ=/³¿„æ@“ãITÕ"$H^Ë1•>h˜÷kÌä¸f}îÁ¦€ÈªÜÃpÿI'rQ¦ûÑè!/â÷ÐäRí*¼%.ÖW<6Y*Ué†Yn‹Gº:œkö‚’YVIá¬R0š'„žê÷:*ÈÉBjX<Ô©§epî̆vrn€ PiO ©Ÿu9j•ÌÔn>[­v×·+餬€ñrw³Ø^m¶×@ÖéÛ±’£ Fùk‡È,Ã9¯mÈL¾¥|­{2ti¢ìŒõqÐÀrµRˆ²ýZ40! € ûþIÖ賌ë«2ö Õ(Êãâ†4ªÎ`«Y4¤ö 5Á *u¥syëš§6gñA\OÙíJdÐï è‹8>§GhmØæÁŸÖ/BähÅ¥Qý!çpÏ¥®Ï5 ]OÁ°¥‡rª€/Èè^^º^Ù÷à7£(¼ú£ù¶»¿É- ”²B6‡äwŒ2F©Y~ìâ¡¡ºº»½»ö¼Asúj@và’YÀoyŽ]A]¤RW8™áAÐF½•D¹ÁHÐÚ`Æ#RÙôÒ ±;lk)˜rZ{ª»ÍG€¯õæ`6¬¤ýÌů¾þ\ò‡ÙúR:¿·lP³åsRA&5M¿C¾<àýîA5ðLUKÏüÈ?*®~9S«R)ÅZŸ%Þ`¿®øˆT²¬“Œûb‡á”_õ‡É–päq0$¶­áÏþ‚~€$q‹©ÁNr_¿áâ£E<ùþUß™endstream endobj 30 0 obj 2315 endobj 34 0 obj <> stream xœ¥VÛnÛ8}÷Wpû²P±$utbe×Mjw¹‹E²0d‰‰ÕÊRªKƒüÃ~ôII¶#Ù ‚ ˆ8œ9sfæ ¿#J¢ò§û›ì'Vº¯'ÝO¾O˜:DÝŸdÎ"0ðå‡èn¢ï0äqäñí'Ìf„1E“œgÛ¤­rSTUYշغ5P÷Í0¹ °°>D'l?£ËE&üF韯WWŸ6Ëu´Y^l>…Ÿ–+#ú:á¢%Æ¡IË?n±<¢êÀ"Ôé¾K§ðÝŒòÈ |BÝ @&ãú^yìQf‡új<2X¯¨LW¥e¹)Qþb‚…É\âK«›ü|…«…a9„RÏÂÓ«M¸Z–d‚{x¹B·Ø>J\úÁÑ.«Q¨,ò'´¨M["EÙ]ÏÚœj·í}MÐç\ĵ´|(«e jJÔÖ?)ߦrþ Û™aÙÇt¶¹^ž_†ÀqNÂè!®k‘šYê2ùf0ŠD©QQ6(F? ¾|ÇÆqž¥[ f7Ö8¯Dœ>¡oE©,eÔÇÅÛ²mˆa:”â[ˆÅ_âÛúíôï‚(üëh¾œ1ÿÍh6¼Mv.H¥~·Qx²™ý8é'¥eù$pOʳõñº÷Oøâ"\·!‡¾&é$(¯ë=”/áêlyŽAÛ÷5G¾yÍÂ3ù˜[ÿr±^œËðŒ0fóg~u;q ‡¹ç[õO=hXО£çe°¬þÝÃ>¿«­?°½9eú"<¹×ßpå§0šü?((KGendstream endobj 35 0 obj 1390 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 18 0 obj <> /Contents 19 0 R >> endobj 23 0 obj <> /Contents 24 0 R >> endobj 28 0 obj <> /Contents 29 0 R >> endobj 33 0 obj <> /Contents 34 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R 18 0 R 23 0 R 28 0 R 33 0 R ] /Count 6 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 26 0 obj <> endobj 27 0 obj <> endobj 31 0 obj <> endobj 32 0 obj <> endobj 36 0 obj <> endobj 37 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 38 0 obj <> endobj 39 0 obj <>stream 2016-01-27T08:26:10+01:00 2016-01-27T08:26:10+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 40 0000000000 65535 f 0000014453 00000 n 0000016708 00000 n 0000014359 00000 n 0000013389 00000 n 0000000015 00000 n 0000002772 00000 n 0000014518 00000 n 0000015134 00000 n 0000015069 00000 n 0000015001 00000 n 0000014559 00000 n 0000014589 00000 n 0000013549 00000 n 0000002792 00000 n 0000005426 00000 n 0000014639 00000 n 0000014669 00000 n 0000013711 00000 n 0000005447 00000 n 0000007864 00000 n 0000014710 00000 n 0000014740 00000 n 0000013873 00000 n 0000007885 00000 n 0000009477 00000 n 0000014781 00000 n 0000014811 00000 n 0000014035 00000 n 0000009498 00000 n 0000011885 00000 n 0000014841 00000 n 0000014871 00000 n 0000014197 00000 n 0000011906 00000 n 0000013368 00000 n 0000014921 00000 n 0000014951 00000 n 0000015216 00000 n 0000015285 00000 n trailer << /Size 40 /Root 1 0 R /Info 2 0 R /ID [<6DBB0191876FBA036B664DFF85F7969B><6DBB0191876FBA036B664DFF85F7969B>] >> startxref 16862 %%EOF curl-7.47.0/docs/libcurl/curl_easy_init.30000644000175000017500000000472412626067776015212 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_easy_init 3 "4 March 2002" "libcurl 7.8.1" "libcurl Manual" .SH NAME curl_easy_init - Start a libcurl easy session .SH SYNOPSIS .B #include .BI "CURL *curl_easy_init( );" .SH DESCRIPTION This function must be the first function to call, and it returns a CURL easy handle that you must use as input to other functions in the easy interface. This call \fBMUST\fP have a corresponding call to \fIcurl_easy_cleanup(3)\fP when the operation is complete. If you did not already call \fIcurl_global_init(3)\fP, \fIcurl_easy_init(3)\fP does it automatically. This may be lethal in multi-threaded cases, since \fIcurl_global_init(3)\fP is not thread-safe, and it may result in resource problems because there is no corresponding cleanup. You are strongly advised to not allow this automatic behaviour, by calling \fIcurl_global_init(3)\fP yourself properly. See the description in \fBlibcurl\fP(3) of global environment requirements for details of how to use this function. .SH RETURN VALUE If this function returns NULL, something went wrong and you cannot use the other curl functions. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { CURLcode res; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); res = curl_easy_perform(curl); curl_easy_cleanup(curl); } .fi .SH "SEE ALSO" .BR curl_easy_cleanup "(3), " curl_global_init "(3), " curl_easy_reset "(3), " .BR curl_easy_perform "(3) " curl-7.47.0/docs/libcurl/libcurl-errors.html0000644000175000017500000005756712652070414015744 00000000000000 libcurl-errors man page

NAME

libcurl-errors - error codes in libcurl

DESCRIPTION

This man page includes most, if not all, available error codes in libcurl. Why they occur and possibly what you can do to fix the problem are also included.

CURLcode

Almost all "easy" interface functions return a CURLcode error code. No matter what, using the curl_easy_setopt option CURLOPT_ERRORBUFFER(3) is a good idea as it will give you a human readable error string that may offer more details about the cause of the error than just the error code. curl_easy_strerror can be called to get an error string from a given CURLcode number.

CURLcode is one of the following:

CURLE_OK (0)

All fine. Proceed as usual.

CURLE_UNSUPPORTED_PROTOCOL (1)

The URL you passed to libcurl used a protocol that this libcurl does not support. The support might be a compile-time option that you didn't use, it can be a misspelled protocol string or just a protocol libcurl has no code for.

CURLE_FAILED_INIT (2)

Very early initialization code failed. This is likely to be an internal error or problem, or a resource problem where something fundamental couldn't get done at init time.

CURLE_URL_MALFORMAT (3)

The URL was not properly formatted.

CURLE_NOT_BUILT_IN (4)

A requested feature, protocol or option was not found built-in in this libcurl due to a build-time decision. This means that a feature or option was not enabled or explicitly disabled when libcurl was built and in order to get it to function you have to get a rebuilt libcurl.

CURLE_COULDNT_RESOLVE_PROXY (5)

Couldn't resolve proxy. The given proxy host could not be resolved.

CURLE_COULDNT_RESOLVE_HOST (6)

Couldn't resolve host. The given remote host was not resolved.

CURLE_COULDNT_CONNECT (7)

Failed to connect() to host or proxy.

CURLE_FTP_WEIRD_SERVER_REPLY (8)

After connecting to a FTP server, libcurl expects to get a certain reply back. This error code implies that it got a strange or bad reply. The given remote server is probably not an OK FTP server.

CURLE_REMOTE_ACCESS_DENIED (9)

We were denied access to the resource given in the URL. For FTP, this occurs while trying to change to the remote directory.

CURLE_FTP_ACCEPT_FAILED (10)

While waiting for the server to connect back when an active FTP session is used, an error code was sent over the control connection or similar.

CURLE_FTP_WEIRD_PASS_REPLY (11)

After having sent the FTP password to the server, libcurl expects a proper reply. This error code indicates that an unexpected code was returned.

CURLE_FTP_ACCEPT_TIMEOUT (12)

During an active FTP session while waiting for the server to connect, the CURLOPT_ACCEPTTIMEOUT_MS(3) (or the internal default) timeout expired.

CURLE_FTP_WEIRD_PASV_REPLY (13)

libcurl failed to get a sensible result back from the server as a response to either a PASV or a EPSV command. The server is flawed.

CURLE_FTP_WEIRD_227_FORMAT (14)

FTP servers return a 227-line as a response to a PASV command. If libcurl fails to parse that line, this return code is passed back.

CURLE_FTP_CANT_GET_HOST (15)

An internal failure to lookup the host used for the new connection.

CURLE_HTTP2 (16)

A problem was detected in the HTTP2 framing layer. This is somewhat generic and can be one out of several problems, see the error buffer for details.

CURLE_FTP_COULDNT_SET_TYPE (17)

Received an error when trying to set the transfer mode to binary or ASCII.

CURLE_PARTIAL_FILE (18)

A file transfer was shorter or larger than expected. This happens when the server first reports an expected transfer size, and then delivers data that doesn't match the previously given size.

CURLE_FTP_COULDNT_RETR_FILE (19)

This was either a weird reply to a 'RETR' command or a zero byte transfer complete.

CURLE_QUOTE_ERROR (21)

When sending custom "QUOTE" commands to the remote server, one of the commands returned an error code that was 400 or higher (for FTP) or otherwise indicated unsuccessful completion of the command.

CURLE_HTTP_RETURNED_ERROR (22)

This is returned if CURLOPT_FAILONERROR(3) is set TRUE and the HTTP server returns an error code that is >= 400.

CURLE_WRITE_ERROR (23)

An error occurred when writing received data to a local file, or an error was returned to libcurl from a write callback.

CURLE_UPLOAD_FAILED (25)

Failed starting the upload. For FTP, the server typically denied the STOR command. The error buffer usually contains the server's explanation for this.

CURLE_READ_ERROR (26)

There was a problem reading a local file or an error returned by the read callback.

CURLE_OUT_OF_MEMORY (27)

A memory allocation request failed. This is serious badness and things are severely screwed up if this ever occurs.

CURLE_OPERATION_TIMEDOUT (28)

Operation timeout. The specified time-out period was reached according to the conditions.

CURLE_FTP_PORT_FAILED (30)

The FTP PORT command returned error. This mostly happens when you haven't specified a good enough address for libcurl to use. See CURLOPT_FTPPORT(3).

CURLE_FTP_COULDNT_USE_REST (31)

The FTP REST command returned error. This should never happen if the server is sane.

CURLE_RANGE_ERROR (33)

The server does not support or accept range requests.

CURLE_HTTP_POST_ERROR (34)

This is an odd error that mainly occurs due to internal confusion.

CURLE_SSL_CONNECT_ERROR (35)

A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. Could be certificates (file formats, paths, permissions), passwords, and others.

CURLE_BAD_DOWNLOAD_RESUME (36)

The download could not be resumed because the specified offset was out of the file boundary.

CURLE_FILE_COULDNT_READ_FILE (37)

A file given with FILE:// couldn't be opened. Most likely because the file path doesn't identify an existing file. Did you check file permissions?

CURLE_LDAP_CANNOT_BIND (38)

LDAP cannot bind. LDAP bind operation failed.

CURLE_LDAP_SEARCH_FAILED (39)

LDAP search failed.

CURLE_FUNCTION_NOT_FOUND (41)

Function not found. A required zlib function was not found.

CURLE_ABORTED_BY_CALLBACK (42)

Aborted by callback. A callback returned "abort" to libcurl.

CURLE_BAD_FUNCTION_ARGUMENT (43)

Internal error. A function was called with a bad parameter.

CURLE_INTERFACE_FAILED (45)

Interface error. A specified outgoing interface could not be used. Set which interface to use for outgoing connections' source IP address with CURLOPT_INTERFACE(3).

CURLE_TOO_MANY_REDIRECTS (47)

Too many redirects. When following redirects, libcurl hit the maximum amount. Set your limit with CURLOPT_MAXREDIRS(3).

CURLE_UNKNOWN_OPTION (48)

An option passed to libcurl is not recognized/known. Refer to the appropriate documentation. This is most likely a problem in the program that uses libcurl. The error buffer might contain more specific information about which exact option it concerns.

CURLE_TELNET_OPTION_SYNTAX (49)

A telnet option string was Illegally formatted.

CURLE_PEER_FAILED_VERIFICATION (51)

The remote server's SSL certificate or SSH md5 fingerprint was deemed not OK.

CURLE_GOT_NOTHING (52)

Nothing was returned from the server, and under the circumstances, getting nothing is considered an error.

CURLE_SSL_ENGINE_NOTFOUND (53)

The specified crypto engine wasn't found.

CURLE_SSL_ENGINE_SETFAILED (54)

Failed setting the selected SSL crypto engine as default!

CURLE_SEND_ERROR (55)

Failed sending network data.

CURLE_RECV_ERROR (56)

Failure with receiving network data.

CURLE_SSL_CERTPROBLEM (58)

problem with the local client certificate.

CURLE_SSL_CIPHER (59)

Couldn't use specified cipher.

CURLE_SSL_CACERT (60)

Peer certificate cannot be authenticated with known CA certificates.

CURLE_BAD_CONTENT_ENCODING (61)

Unrecognized transfer encoding.

CURLE_LDAP_INVALID_URL (62)

Invalid LDAP URL.

CURLE_FILESIZE_EXCEEDED (63)

Maximum file size exceeded.

CURLE_USE_SSL_FAILED (64)

Requested FTP SSL level failed.

CURLE_SEND_FAIL_REWIND (65)

When doing a send operation curl had to rewind the data to retransmit, but the rewinding operation failed.

CURLE_SSL_ENGINE_INITFAILED (66)

Initiating the SSL Engine failed.

CURLE_LOGIN_DENIED (67)

The remote server denied curl to login (Added in 7.13.1)

CURLE_TFTP_NOTFOUND (68)

File not found on TFTP server.

CURLE_TFTP_PERM (69)

Permission problem on TFTP server.

CURLE_REMOTE_DISK_FULL (70)

Out of disk space on the server.

CURLE_TFTP_ILLEGAL (71)

Illegal TFTP operation.

CURLE_TFTP_UNKNOWNID (72)

Unknown TFTP transfer ID.

CURLE_REMOTE_FILE_EXISTS (73)

File already exists and will not be overwritten.

CURLE_TFTP_NOSUCHUSER (74)

This error should never be returned by a properly functioning TFTP server.

CURLE_CONV_FAILED (75)

Character conversion failed.

CURLE_CONV_REQD (76)

Caller must register conversion callbacks.

CURLE_SSL_CACERT_BADFILE (77)

Problem with reading the SSL CA cert (path? access rights?)

CURLE_REMOTE_FILE_NOT_FOUND (78)

The resource referenced in the URL does not exist.

CURLE_SSH (79)

An unspecified error occurred during the SSH session.

CURLE_SSL_SHUTDOWN_FAILED (80)

Failed to shut down the SSL connection.

CURLE_AGAIN (81)

Socket is not ready for send/recv wait till it's ready and try again. This return code is only returned from curl_easy_recv and curl_easy_send (Added in 7.18.2)

CURLE_SSL_CRL_BADFILE (82)

Failed to load CRL file (Added in 7.19.0)

CURLE_SSL_ISSUER_ERROR (83)

Issuer check failed (Added in 7.19.0)

CURLE_FTP_PRET_FAILED (84)

The FTP server does not understand the PRET command at all or does not support the given argument. Be careful when using CURLOPT_CUSTOMREQUEST(3), a custom LIST command will be sent with PRET CMD before PASV as well. (Added in 7.20.0)

CURLE_RTSP_CSEQ_ERROR (85)

Mismatch of RTSP CSeq numbers.

CURLE_RTSP_SESSION_ERROR (86)

Mismatch of RTSP Session Identifiers.

CURLE_FTP_BAD_FILE_LIST (87)

Unable to parse FTP file list (during FTP wildcard downloading).

CURLE_CHUNK_FAILED (88)

Chunk callback reported error.

CURLE_NO_CONNECTION_AVAILABLE (89)

(For internal use only, will never be returned by libcurl) No connection available, the session will be queued. (added in 7.30.0)

CURLE_SSL_PINNEDPUBKEYNOTMATCH (90)

Failed to match the pinned key specified with CURLOPT_PINNEDPUBLICKEY(3).

CURLE_SSL_INVALIDCERTSTATUS (91)

Status returned failure when asked with CURLOPT_SSL_VERIFYSTATUS(3).

CURLE_OBSOLETE*

These error codes will never be returned. They were used in an old libcurl version and are currently unused.

CURLMcode

This is the generic return code used by functions in the libcurl multi interface. Also consider curl_multi_strerror.

CURLM_CALL_MULTI_PERFORM (-1)

This is not really an error. It means you should call curl_multi_perform again without doing select() or similar in between. Before version 7.20.0 this could be returned by curl_multi_perform, but in later versions this return code is never used.

CURLM_OK (0)

Things are fine.

CURLM_BAD_HANDLE (1)

The passed-in handle is not a valid CURLM handle.

CURLM_BAD_EASY_HANDLE (2)

An easy handle was not good/valid. It could mean that it isn't an easy handle at all, or possibly that the handle already is in used by this or another multi handle.

CURLM_OUT_OF_MEMORY (3)

You are doomed.

CURLM_INTERNAL_ERROR (4)

This can only be returned if libcurl bugs. Please report it to us!

CURLM_BAD_SOCKET (5)

The passed-in socket is not a valid one that libcurl already knows about. (Added in 7.15.4)

CURLM_UNKNOWN_OPTION (6)

curl_multi_setopt() with unsupported option (Added in 7.15.4)

CURLM_ADDED_ALREADY (7)

An easy handle already added to a multi handle was attempted to get added a second time. (Added in 7.32.1)

CURLSHcode

The "share" interface will return a CURLSHcode to indicate when an error has occurred. Also consider curl_share_strerror.

CURLSHE_OK (0)

All fine. Proceed as usual.

CURLSHE_BAD_OPTION (1)

An invalid option was passed to the function.

CURLSHE_IN_USE (2)

The share object is currently in use.

CURLSHE_INVALID (3)

An invalid share object was passed to the function.

CURLSHE_NOMEM (4)

Not enough memory was available. (Added in 7.12.0)

CURLSHE_NOT_BUILT_IN (5)

The requested sharing could not be done because the library you use don't have that particular feature enabled. (Added in 7.23.0)

SEE ALSO

curl_easy_strerror, curl_multi_strerror, curl_share_strerror, CURLOPT_ERRORBUFFER (3), CURLOPT_VERBOSE (3), CURLOPT_DEBUGFUNCTION (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_init.pdf0000644000175000017500000000653712652070421015772 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•TÙjÛ@}×W\èC¥MfÑJK!Mýàb;©-JR‚"--Ž–˜ü}ØNÜBHb–sÎ=÷Ì<% ¨z†oRçs6Aac<LOÂðI øá‚@ Dk£ßÃÀçà‡‚!D…Á%Ü…hgܘIWçwE—·Ù]Vfí­)n-ȳ{5nÙÜ¥„RßœÆeçpj±õ+úfØÈ;Aê©Iè*váA41ÌÙ…õÕâ,s‰ T­ s:²¢ßZ9%õÁf\MS¥ïµ<°!©eÜJˆAB—«\ö@Ì6RÛÌ#fZüœ]]/Æ‹ý²AÝÀe¾ËÊ$ïV>)Âsõ"égµœ;º„Ëå|2…o €[ë#÷Åå||¯fÇåîéq…ÐåFiÖÀº+“6«J¨eÛÕeƒµöô}­ÐVp/¡kä â²rÛµj,ÎshS ¾êÞûª9ƒ¦*d›²Q*ïÄ D„¾æ­åZÖ5*œæ•¹H¡wÃ6©5ϪJºB–m¬héºG‰R2]."ÜÞ`6˜«š/<‡øœ÷ݧĸU3¥JG„ z2R¡ªf[•+[-°E/ðŽ3’•›ž³­z‡,v8q ƒÎ%¹Ä8oûôµ$äÄ Â`زKe_iµ•µ®°Ä¤*¶¹l%y›9æão¸ïý9EËù ~XL8X3/&Ë‘>1§r`Ž×Èw*³åd2´0UåîÐwØÕþb‹à©êв¬Z‹ƒ¨ª_К’Éh“ÅÕ_É[ý âÅ?mðÙ1só(?lÊ&¯îã\Ÿ§c4Ï'~ð¿h2nžNaÑC%î»ÄqÁvi0Ô?\{à“¸úð\N]åWÀ¦/QEãÄ^`\')pJym`À½ç-jdßñù‰Ö”endstream endobj 6 0 obj 705 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:09+01:00 2016-01-27T08:26:09+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001028 00000 n 0000002836 00000 n 0000000969 00000 n 0000000809 00000 n 0000000015 00000 n 0000000790 00000 n 0000001093 00000 n 0000001347 00000 n 0000001282 00000 n 0000001214 00000 n 0000001134 00000 n 0000001164 00000 n 0000001413 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 2990 %%EOF curl-7.47.0/docs/libcurl/curl_easy_unescape.pdf0000644000175000017500000001012012652070423016422 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛŽÛ6}÷W R‘‚5Ë(‰hQÀI]À…³I½Þ ‹Ý"ÐÚ´­B–]²M¾¡Ý!uõ% ¬½"Å93çÌá|JPói¾WûÑ«EÛbDa;úr®'î ÄŒ«L©âZ®GÎÛ©»ü{€˜SâÑÆŒ›ejP^ c¸]Ìa­WÙZPî4lcsb`ÒñøM/Ú¬qbWá¡ ½f)-ÌR‹+ÍB™Çé¶Æ6Hf̹G<ñù$´ûnî®ß½¿™Ýô[›¤›œŸât•Tk ¿˜<^™?d÷«äÙʬvQ//UÞ˜,_bá^-m9•‚ð¾%©Ï­€ø|¦T³íjÕe©ˆ'úô³´(¡P'Ð…ñÒrôÝa~#îb`éCJÛJ¦åÉÑXè6~œ&:Ý–»‹ç A¨OùÏ?œ}V•}”þxÙÿàþ|ζÀ¦QÁ€íߦ7o³÷ËÙ»ëcÝö„S†¾Õír°©ÒUg)¬²ôH¡#ÊôËP¢ô\ yyQßÂ'òômúõ/Hü¶—¸$>•Í[¨´@Qd:5­´†8=T%VýPfÁ³CÅióèDér]VyjpE%¾Ï J’ll2ý¥+õYÝÆQ‰özŸå_!ÊuD`’$MD£ÁhUê¼9×m‹·¸œç?ÂÓNãsü… |²YKND Ûœ¨Ïm´l¼Ž·q »º4á°\ÿDèñ>²²F’±êÄsÒjÿ¨stBä”:_&(ûu÷È"Ç""qqaæ_\ìJÏÁdQ©Ý3@c1š[0™øÂ³PfsÀ±v9"ðÚŠ»óQEB*Ú„£Ü¬Dd±­ö[+YèÒ ¤Xäo:ÏÜ«Óv¢’B <çÒp_IT[V||Ûäò#ãU¡œö¶`o[œ9…"¢Ë³ñ¡Áõæ™$[:Ñ6¬†DPuÌê¿(^t¯ˆ¿ib¶b­Ã¶µÅÊI¦äeóhC{‚’wé©ZtXÌ4KÇ×·óù• Òu¿Mü)KmŸ×GBf©mú µÒ¤·)kñ"™|PKU×r«s@2ÜWÔ9‡œ„‚å|ï”kE¦G]nÄç1ç©0m[ó×F¡—ØìæçsJ(ŠÒߢBµ5òì óûwƒ½ p#b†c ös—aICG»g½Wû¡ñ°k£ª8cx¿4³Ê&wÑú0åèÁìуóŠ'ÛW.=$…¯YõÂõT݇Øáë,ÕÈR—]*2 Ϧ,m@(ï¯ÜGë>|€I—Î1¾díå2›O^Ïæ³å݉~¥Qwx¬ÑɺöaÐm𢬠MxÕL:Y²>+”B;¶çÿtfÀ‰×W½(¹0êȼÏôÞYL—·‹køà2*ò™3™ßNmµº»ûü>t&‡žq¬gÔ(Ud¯ã<€ÿíÑ%Ëž­,ÓMoŒÖ7.£N'zMÚ‡€‘z{ú`8›Na2¿y÷Ýá¬÷²º^'¥ÂµW®­åÕñQfÐèfˆ^¢,@e tx}¢N¼‡|ÕÏ—N4¢ïv,~s6ËÖšÐâüúÊUh“(#zõ…PO§!N¯íûÁä21Î!à”ÚÓ¹@Cí;Ì<š.Gâç?ë.B0endstream endobj 6 0 obj 1365 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:11+01:00 2016-01-27T08:26:11+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001689 00000 n 0000003569 00000 n 0000001630 00000 n 0000001470 00000 n 0000000015 00000 n 0000001450 00000 n 0000001754 00000 n 0000002008 00000 n 0000001943 00000 n 0000001875 00000 n 0000001795 00000 n 0000001825 00000 n 0000002090 00000 n 0000002146 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3723 %%EOF curl-7.47.0/docs/libcurl/curl_easy_perform.30000644000175000017500000000631212626067776015714 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_easy_perform 3 "5 Mar 2001" "libcurl 7.7" "libcurl Manual" .SH NAME curl_easy_perform - perform a blocking file transfer .SH SYNOPSIS .B #include .sp .BI "CURLcode curl_easy_perform(CURL *" easy_handle ");" .ad .SH DESCRIPTION Invoke this function after \fIcurl_easy_init(3)\fP and all the \fIcurl_easy_setopt(3)\fP calls are made, and will perform the transfer as described in the options. It must be called with the same \fBeasy_handle\fP as input as the \fIcurl_easy_init(3)\fP call returned. \fIcurl_easy_perform(3)\fP performs the entire request in a blocking manner and returns when done, or if it failed. For non-blocking behavior, see \fIcurl_multi_perform(3)\fP. You can do any amount of calls to \fIcurl_easy_perform(3)\fP while using the same \fBeasy_handle\fP. If you intend to transfer more than one file, you are even encouraged to do so. libcurl will then attempt to re-use the same connection for the following transfers, thus making the operations faster, less CPU intense and using less network resources. Just note that you will have to use \fIcurl_easy_setopt(3)\fP between the invokes to set options for the following curl_easy_perform. You must never call this function simultaneously from two places using the same \fBeasy_handle\fP. Let the function return first before invoking it another time. If you want parallel transfers, you must use several curl easy_handles. While the \fBeasy_handle\fP is added to a multi handle, it cannot be used by \fIcurl_easy_perform(3)\fP. .SH RETURN VALUE CURLE_OK (0) means everything was ok, non-zero means an error occurred as .I defines - see \fIlibcurl-errors(3)\fP. If the \fBCURLOPT_ERRORBUFFER(3)\fP was set with \fIcurl_easy_setopt(3)\fP there will be a readable error message in the error buffer when non-zero is returned. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { CURLcode res; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); res = curl_easy_perform(curl); curl_easy_cleanup(curl); } .fi .SH "SEE ALSO" .BR curl_easy_init "(3), " curl_easy_setopt "(3), " .BR curl_multi_add_handle "(3), " curl_multi_perform "(3), " .BR libcurl-errors "(3), " curl-7.47.0/docs/libcurl/curl_global_cleanup.30000644000175000017500000000406112626067776016167 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_global_cleanup 3 "17 Feb 2006" "libcurl 7.8" "libcurl Manual" .SH NAME curl_global_cleanup - global libcurl cleanup .SH SYNOPSIS .B #include .sp .BI "void curl_global_cleanup(void);" .ad .SH DESCRIPTION This function releases resources acquired by \fBcurl_global_init(3)\fP. You should call \fIcurl_global_cleanup(3)\fP once for each call you make to \fIcurl_global_init(3)\fP, after you are done using libcurl. \fBThis function is not thread safe.\fP You must not call it when any other thread in the program (i.e. a thread sharing the same memory) is running. This doesn't just mean no other thread that is using libcurl. Because \fBcurl_global_cleanup(3)\fP calls functions of other libraries that are similarly thread unsafe, it could conflict with any other thread that uses these other libraries. See the description in \fBlibcurl(3)\fP of global environment requirements for details of how to use this function. .SH "SEE ALSO" .BR curl_global_init "(3), " .BR libcurl "(3), " curl-7.47.0/docs/libcurl/curl_multi_cleanup.pdf0000644000175000017500000000734412652070420016452 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VÛnã6}×W ЇÊEÄIÝØÒÔÙ&ñÖV I(«U¤¬.1ü÷RÔ-Ùì¢0 ræÌ™33þ .¡àªùNŸ¬ÛË…Gë³EµÌWú¿Æx R/â«¿C!d N"ñ“E)#þ:X7vÚÕÅÝSW´ù]ZȤìžom~»‚"¿W¦•Ã|—¸nh_¢-)àó«¿ã–ãFÑoŠ ÂWxñ…e_®¾GÌh¥>ñG\qfÙ—ëUüÏ 1s‰ç†àP¦Ìî{(Á´¨ Yµb¾}(!}Ù4yUjD qh@"w÷×ÕæÓî|×G&º>¢#ÛßåeZt™„ŸUôêAö¿¨ãÌÓ ]o/.Ó O|‰Ðfø¡½Oʬp»ú Iø ªßÖ»³íù§ø|sµ¤e†=®h±ÏT¬ ôµ|ªÔ¬õÍ#<Ôðü"•‘O]N-AX$"ϛ䠬º: ÅÁ}a,û abÛ$ý—Ày‹œËʪ…‡ZJ¨jh«.Ý#Š!ÓeŽ<"ÂÐ8:æcJ SBé e¦-¨IŸ»­Ê‘é_òLÉN&ÍzÈKŠºæ †ìU Çc!ê–å<$=8Á"ƒÁÐl®:í„.""†ôåâÖ’µc3]b$¢%ž:àÛ¼( ”2C‚à^öŠÍ¿IÙ I8@è-Ž‹xœ:’bŸts 1È`hòòÚ½„®A½p¨k”P޵R™Ëî7INPB§=x*ðßðÇ0>ã#x‰ªŽB1±¢grŠ’Éd ÕƒvÉ#Ÿ°-ZÞÖðTZ¨îf_uE†þ¨»h6u†y2K–rÂGÂs£^qõ=[õ‰ XFʱ+LkNSl6<±FòïåCUK#<ƒ=NÑ죜—Gp1s®Ý¤V2ÀÜPÝsïKOKV5L@ÁQó¯1gô7ÏÐ#|PÚWÊ9+#Vxccy*˜"8)±…X@Æ£¼ÃýŠ A¸ðm™jjúù€4ŽUµQ²½¢å³ÄGÙG@9¦RëqÖ¶«‘EU>béÓª,eÚêÎÐ"À6Æ¡à-E \ô³§÷1/?ÿfùßÛm¯èÁq¥¥iŸÙa/qÚ¯&ªâ›yKÑÕ8Œ^&1,‡F6-œqxœbÚ7öv_o¯àÏå8CjŸ^\¯_©sÚ7³UÔŸå <ÊRÖ86Í7$æe+ë¥}Á‚ÈN°H²®+ULØ”ÐtiŠëó¤_^w›ßUÕjÙv5ê•|s¥®×pz±Û¼»RgÉ˼]"ðˆç’tN–~PøtšØo”¿tF8zƪþw_æÎÝè’³ $¸#pÉx&÷éâÏtÊ\_qÕ; —óÙÈ'€Ië“áºêÿ^¸d\@T½YÇÖøù¯ì-endstream endobj 6 0 obj 1093 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:08+01:00 2016-01-27T08:26:08+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001417 00000 n 0000003225 00000 n 0000001358 00000 n 0000001198 00000 n 0000000015 00000 n 0000001178 00000 n 0000001482 00000 n 0000001736 00000 n 0000001671 00000 n 0000001603 00000 n 0000001523 00000 n 0000001553 00000 n 0000001802 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<6DE131D5CA6601E1D9936F0BE72DB3CA><6DE131D5CA6601E1D9936F0BE72DB3CA>] >> startxref 3379 %%EOF curl-7.47.0/docs/libcurl/libcurl-share.pdf0000644000175000017500000001160712652070422015317 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥XÝrÛ¶¾×Sàô¦TÇÂ!@.ÝD¤ãÚ­Åœ3§“¡)Øb#‘*IÙuŸ¡¯Òwì.~øǹèØcyH`±ûí·ß.ô; )#!þ¸Ïâ°øïuJîÛEHî¿/˜yIÜGq ßg°@âƒìna÷0’r’ªˆJE²Ã‚ñ˜¦qL²ÇE°/o‹S³_µ»¼Ñ‚èÃ’¸GËì·gІI &²-œ‡ÌBRVnîp‰ˆ)KBn—Œ-ç…&Ÿ[Ç-«‚a’à¨G©ŠÑ×Oå<&«(AcÁå9®q!‹i¬"{HðÓŸAòŠ0%+Æ7''“¿É®6ñЭ¥pd2kî&xì–<ƒú´ü5ûÑžÇcÿ²Õ¤Ûi2 [Q%ã(ÆÍ–i,b`ÜI¨4þ¾^o^]¿ý9{{u9uâôNS þ ãÙ®l üæ©XÌ8-$M„‡àA÷Ð(Ê¥’½hJó*¢ E.ê­—QÒPÕÎ8Ž™0ƹ¤’s·Ù½àLýHº©5Iعl#b}‚Ì÷bˆÆ¡ç²Aæäa!d„‹~WOœ²"Oõ©!¯È±©ï›üÐR’í4lFíQå_9䕈G1 Φ 8æ÷º%wuCt^ìÈÝ©*º²®ÈAWø©·x𤆂d‹ì»›à|¿ï·¸æ¥ôwŽþë%øX`ø±ìvþhöÑgH‚©GÐ ŽWßÿ¸~•½ýßzó%~Ü/žñB°Èxñ¸Ë!‹Us¶[𡫉®òÛ½ÝUV÷¤¾#Û¼ËÉ­îµ®Œƒä›]^m÷ºýæKNö,¾º\“Í:#W?×uFCaª –(WMð4Â$à<#ç¶èÒH’ñÔqgõÓÀ„¦œ±±Êœ_¾'Ùõù忇õõÆÆ¬bxpV) À@ØDÁûÚR5”æ4;˜Rî¸S1‡œ“þ8KG;`C>©8ÎhšÈžœn݃&‡Þǵ©l)³æ´ïÊ#@¯óö‰8„]ö&)j(y3;6C¾Òñ\åÏíÆzÙž ÖÈé'/«-9Ù곜R6¥hÄ„ó8h󃞉© ©þ}Qן¬ ¬DyŽ”‡›Q‘Úù¨áOÓ»÷!h?,žõµ9Ô´ ¹©é3lYX’<á4êò¨'\óÝ×ux)>k õÝàÕœ‘íX¶Uì›·!¨ÁýªîcsÂÉ¡)ô·$é{…Ûütã°Rɸ‡µ9‡"t}š¶l;Ðd «‚.7må7@ªÒN}ålË;hÚ  ['uöU!Û¼9¿^«¹ÏKË »NTÜÜðeIÁޝ|Žm*з%õíoà½i ¶ÔXè§³PÐDùîÜ7Œe”Ò0Ld ?–UÙÙ¹ÉPÁº18šrˆÐŸ{зK.CQÐ5Ã0‘+áIrèîÔ’¹Ì´ÈœTöúû'R˜ Àùʵ/ÒŠC^a$\aÇü @ݸv¹&.åéÚ€Ð.ï¬>Bï¥ÀH8ÀHÊ;š%$Õ +Þ%º‡“ { ÎVwõq耤Ú†}©%£ÀÆä#…ªv¨Ù”ô\ô±€¦aU¶ôúndâà@··í™Ñc?ír,/[óU¾w‹HûT»¦®Ê?säúž`†$Ž£ 4fÎ(‡SÛádd†³à¡±9œ:;Â,ÆLLlß'‚?&=0íûÖMï÷·yñ Æ;<õÛ¥°JT¶PÛMX+ë®ÞRòÆ\ƒ ˆ}GöuñÉvžÊü;ŒQ†ü³t­$\.ŒýŒ3K™d/§,5}ʺº¶Yó]Ú"Êñ:a&kmAi6î*øªX$ -|(|§À¬Ò£;ôåW¡YwÏé¥:eƒ=¡éûðPü&|ßd^½»¾¸ú9ûhÄ©¿) Áª”FJøL"ØXŸ‘”U$A t/`SÔÇ ’v¦35QTô×¢à,¾zˆ¶ïCžykFdK}‹ÒÂŒöpU†'W:®f¾5GˆŠI™uæ¡Åq¸úéôÅYªžH58()Sl~Øép ]ÆÞgÆ0£>nøYqa¥ÓûÃ$&ç‘cÍUšrl§®¬†ð[Çè‡Ãôä£ä±² æ§~²±aâKéÂd‘y7*ÕDõ@¦±œ³®…´öU zÌ›®,Nû¼™‘pFiPÿ*AiØPläòÝÅ…ixf?1žLQAϨUÄ)TP_½õ0RÃh;ÍAèöÌÜ G›\ü€•aÁsæ|^–©¤q:eóaywi€™b‚Oü¡e纆L¡½ü*Ü\øŸ‘¸òÅu ýµÏöùÂò@ÙIЉ.†k·»@åã9Žõ†ÝÀh1#ôñ;…¶Ã¹ØWv¶) ýs ÁHô²,{W§ãsº¬"˜àÃÉu®¶·èQ1;2Am•ãm½&盫éÝe|œ‚yD)¦Ü´4s&Ð7û‰Ä¸{65ÊqvKŸ™ÂŒÝˆ÷=hf4CýkËÆÏ‡‘t˜êGÅè-3Tê´uü—]º±¶e$‚ºigVcI1µú¬ÃžÐ½U Ñ”÷qø‚‘•ÀÁh@ÞŒfv€µñ<Ê• ñ)ÔÏÄ ’RàK:RÔ¯Èã/Gß v4„Þ sdö}¥ÎðÉ:[ü?ÿ³‘Mendstream endobj 6 0 obj 2178 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:10+01:00 2016-01-27T08:26:10+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002502 00000 n 0000004392 00000 n 0000002443 00000 n 0000002283 00000 n 0000000015 00000 n 0000002263 00000 n 0000002567 00000 n 0000002821 00000 n 0000002756 00000 n 0000002688 00000 n 0000002608 00000 n 0000002638 00000 n 0000002903 00000 n 0000002969 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4546 %%EOF curl-7.47.0/docs/libcurl/curl_share_setopt.pdf0000644000175000017500000001272112652070421016305 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœåXÛnÛF}×WlчR†¹á.ïmQÀu\Äc§–R p ƒ¦VkŠ«ˆ”ýC>º3³¼éb#IÓ—d{¹;3{æÌ™¡>0‡ æàOý;^\‡ì¾8ì~ða è!«¥söó6D¸0žÌÁBÉÂØåQÌÆó1‡…ñzpc¥«e~[Î’¥º-U¥Õ{Ë}?dyv‡O†¶ôî8¡õ&)VIÎoþ9þu`;\ °Ÿ‚ûÜóØÇÜ€/ÖåÉð;ˆž Ÿû± Q'ëÍÙpüW/^épÏ ™-$>v0Æý™ÍFªbðW¦‹’Mõ’%Œ6L˜¾ûK¥•1ڋ†0lðˆ¼Žþ¸¼z;:uÛêHk¿Ö·Y‘櫉b?¢óøÁg?í„êÑÅNß]_Œ^¥6ÇC³@á# Ü€{¢õùHñ=bpG^ý Ø‰%ä~B:3°9¶ÔN Rð¨Þiñ}6Hér¯ìa:zT“7Øu{quúú—w—§¸µ·a¼‡¸Pý/ÃìÆš¯ÊŠÝ) õBglg•†¦«"%êÌ“*eÅ=!;Õy®‡Í{µÆåÅRWºÚ,Ô÷mi"¶v !(pc#ywÝýõžMX®Ó‡ÛÆ¡1;š%Å$ÏiÇ$©†ýÅ$MUY2óë˜=AnâØ‘–ÃG«R-qÝ@Ð"fcMdhtOÜ8¨i4©ÃD},TÉÖ³¤¢Hébk<.œˆ éu‡|:”U‰b¼Ç ®Å6zÅõyò€% QëÖ^-U¶x!™ÖGSB˜bÐe¶ÎªÙžÄÀúXWìïFg×/ëô¹!A+!æAëd܇¶q{²ZvDÐ#¸‰ dî PÏçåÿDbVÅç‹L­%2ü Zùq+ N`¦¡gÄDà$½V:LøÄ#šF“) hï°z¸þ©‡ãŸÔ5A"À f¢?La1öµðtº>ü”V|†LHÄþ?_§£W'×gŸR¢žˆãÏ)R7ŒÃ†˜nSÖÊ…J³ÀÌÄhh ¾!M9Ó«|‚µl$”³ñ 'ZÃyP©àâüHQCS ¼f Oò•!§í†>÷`}‹4U¦ËìN¡“\×@Ä?äa—É5o¶›'ÛàÑuk’%0—°5txØrV¥ ¯'cvÒå-â~ÇÓÛÓ««×ç¿íc#tv">Õú!S¤u–ç:Ћ–º4ŒSI¹aFpJ¶*Út[ï† [søW¼ÈK3uîÝà5©?…ŠƒX`›é´çŸ^‡]êŠhŠž.‚; ài|tcŸÖ3UPBé’Ýù*¯2FÅ9íšv "@([^“É<ßð\ ¯›çDv§qF¡Øèv)^”ÝmØDMIm±Õ$pš„@¯*s™Y2”ŽõH—ÓˆD9ùÆô +I£ÑÅíèl4ªß»ö“%¢ŒÀF(¸²Äzþò+äŠ*­Ph+ú-«Ô$§Bi}(*È­`hL=Àû¤Ë±ëã¥B—¶y¨uw[‡~ØÔ0f©R]A s›Ms’áÂ,Öö5RwôCÚâ÷q¿ìϱ‘›5 m×C¡[õ{³‡$²d©0×D‡úªSÊŽ>Ä3BÚ¡|bÒ: áÐC‚¾~UŸheÒ¦ ]fjé®Òë¨ ýÞÔù5—æë‘Fí¡KÉ^wàçC¬ˆHZUÙÔ µh)=Ùô„( ¯n¬¦%PÍfer g†A´×‚°ºµ Ûõ=îEñNBˆÊ¾2÷Ф{Ýæ÷¡Àq&‚Ù(‡©ìæDÓP(imš U—4GìŽk\ ïi잀¬îÒn$ù^éïNMùÇ>”cà‰ò·ýØlz¶±»Þ>¨Ïõu§-±$7]” ¯É«¬k{]’øBÕQB§›í½ëû¸,’²ìDwk¨Æé”n†Üƒ±|»IîLàf¸#=É*>Sˆl @ …Œf&†YÒÞ,)¾¢×wŒN¶ô¥ËÙêžIÇqéœâW’f]àÊÙxðüü u¹Ÿendstream endobj 6 0 obj 1788 endobj 14 0 obj <> stream xœmSÛŽ›0}ç+æÑT‹ã ªJi…TµiW%¤/IQâ$T²†(Ú~C?ºc.ÝÝl…d„gæÌ9g†`”³Ïø.NÎ, áÐ: ΃Ãû Œ¯âï3LˆìE¶w†¡€0–4Š!;9œÇ/²«³&ÅÅTÛö˜½muל» ‘ªò§¸že,$_òú’Wðÿt÷Gö ›ÆØ”Æí+d dˆ=²7k’&Ù*ý ß].}+Næ‹U2VMT±ÄãÈjçêû-%Vébù1ÙÞ† ù­MƒÔN:¯[èŽy‡‡äP65\Ýì—#˜¤qŒ‚GÕƒä- W8›æ¬Mõh‘„ Ž4P‚%ä®¶Af¼¯ŸMíÙîcï¼mLc )Уw·¶p–r6ŠñD!•h’DÞZçfö ÇwCò$<ˆh0ôéý";ý§Ö-…¥ÖVá ²Bî÷k2ÊCB®ØQIÒÁ¸¯HKåÍXïû±…PË9?hØ£kçþRU8ý¶ƒkÙa§Û”½Å-˜<›²'.cT©hÔ.“æ‹åýSîËÙ>Û8—‡h‰Þ{9ßP$ 9#Õ~Óî^âb[¥¦ŒWÐR tY—Ýk ">íÉ€ka=Á8å(FIN‡©îBHQsدÎ ×Cà·œ¢ùÓÚøHùôå‚1Ù×ÉÐþ}ý°7Iæ|Ãç/¸¢þÈendstream endobj 15 0 obj 545 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:09+01:00 2016-01-27T08:26:09+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000002918 00000 n 0000004878 00000 n 0000002852 00000 n 0000002530 00000 n 0000000015 00000 n 0000001873 00000 n 0000002983 00000 n 0000003317 00000 n 0000003252 00000 n 0000003184 00000 n 0000003024 00000 n 0000003054 00000 n 0000002690 00000 n 0000001893 00000 n 0000002510 00000 n 0000003104 00000 n 0000003134 00000 n 0000003399 00000 n 0000003455 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<47DEC818FD21F6C94B62FF279ECFBA4C><47DEC818FD21F6C94B62FF279ECFBA4C>] >> startxref 5032 %%EOF curl-7.47.0/docs/libcurl/curl_unescape.html0000644000175000017500000000521212652070414015602 00000000000000 curl_unescape man page

NAME

curl_unescape - URL decodes the given string

SYNOPSIS

#include <curl/curl.h>

char *curl_unescape( const char * url , int length );

DESCRIPTION

Obsolete function. Use curl_easy_unescape instead!

This function will convert the given URL encoded input string to a "plain string" and return that as a new allocated string. All input characters that are URL encoded (%XX where XX is a two-digit hexadecimal number) will be converted to their plain text versions.

If the 'length' argument is set to 0, curl_unescape() will use strlen() on the input 'url' string to find out the size.

You must curl_free the returned string when you're done with it.

AVAILABILITY

Since 7.15.4, curl_easy_unescape should be used. This function will be removed in a future release.

RETURN VALUE

A pointer to a zero terminated string or NULL if it failed.

SEE ALSO

curl_easy_escape, curl_easy_unescape, curl_free, RFC 2396

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_getenv.30000644000175000017500000000435012626067776014511 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_getenv 3 "30 April 2004" "libcurl 7.12" "libcurl Manual" .SH NAME curl_getenv - return value for environment name .SH SYNOPSIS .B #include .sp .BI "char *curl_getenv(const char *" name ");" .ad .SH DESCRIPTION curl_getenv() is a portable wrapper for the getenv() function, meant to emulate its behaviour and provide an identical interface for all operating systems libcurl builds on (including win32). .SH AVAILABILITY This function will be removed from the public libcurl API in a near future. It will instead be made "available" by source code access only, and then as curlx_getenv(). .SH RETURN VALUE If successful, curl_getenv() returns a pointer to the value of the specified environment. The memory it refers to is malloc()ed so the application must free() this when the data is no longer needed. When \fIcurl_getenv(3)\fP fails to find the specified name, it returns a null pointer. .SH NOTE Under unix operating systems, there isn't any point in returning an allocated memory, although other systems won't work properly if this isn't done. The unix implementation thus has to suffer slightly from the drawbacks of other systems. .SH "SEE ALSO" .BR getenv "(3C), " curl-7.47.0/docs/libcurl/curl_mprintf.30000644000175000017500000001017512626067776014702 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_printf 3 "30 April 2004" "libcurl 7.12" "libcurl Manual" .SH NAME curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf curl_mvaprintf, curl_mvfprintf, curl_mvprintf, curl_mvsnprintf, curl_mvsprintf - formatted output conversion .SH SYNOPSIS .B #include .sp .BI "int curl_mprintf(const char *" format ", ...);" .br .BI "int curl_mfprintf(FILE *" fd ", const char *" format ", ...);" .br .BI "int curl_msprintf(char *" buffer ", const char *" format ", ...);" .br .BI "int curl_msnprintf(char *" buffer ", size_t " maxlength ", const char *" format ", ...);" .br .BI "int curl_mvprintf(const char *" format ", va_list " args ");" .br .BI "int curl_mvfprintf(FILE *" fd ", const char *" format ", va_list " args ");" .br .BI "int curl_mvsprintf(char *" buffer ", const char *" format ", va_list " args ");" .br .BI "int curl_mvsnprintf(char *" buffer ", size_t " maxlength ", const char *" format ", va_list " args ");" .br .BI "char *curl_maprintf(const char *" format ", ...);" .br .BI "char *curl_mvaprintf(const char *" format ", va_list " args ");" .SH DESCRIPTION These are all functions that produce output according to a format string and given arguments. These are mostly clones of the well-known C-style functions and there will be no detailed explanation of all available formatting rules and usage here. See this table for notable exceptions. .RS .TP .B curl_mprintf() Normal printf() clone. .TP .B curl_mfprintf() Normal fprintf() clone. .TP .B curl_msprintf() Normal sprintf() clone. .TP .B curl_msnprintf() snprintf() clone. Many systems don't have this. It is just like \fBsprintf\fP but with an extra argument after the buffer that specifies the length of the target buffer. .TP .B curl_mvprintf() Normal vprintf() clone. .TP .B curl_mvfprintf() Normal vfprintf() clone. .TP .B curl_mvsprintf() Normal vsprintf() clone. .TP .B curl_mvsnprintf() vsnprintf() clone. Many systems don't have this. It is just like \fBvsprintf\fP but with an extra argument after the buffer that specifies the length of the target buffer. .TP .B curl_maprintf() Like printf() but returns the output string as a malloc()ed string. The returned string must be free()ed by the receiver. .TP .B curl_mvaprintf() Like curl_maprintf() but takes a va_list pointer argument instead of a variable amount of arguments. .RE To easily use all these cloned functions instead of the normal ones, #define _MPRINTF_REPLACE before you include the file. Then all the normal names like printf, fprintf, sprintf etc will use the curl-functions instead. .SH AVAILABILITY These function will be removed from the public libcurl API in a near future. They will instead be made "available" by source code access only, and then as curlx_-prefixed functions. See lib/README.curlx for further details. .SH RETURN VALUE The \fBcurl_maprintf\fP and \fBcurl_mvaprintf\fP functions return a pointer to a newly allocated string, or NULL if it failed. All other functions return the number of characters they actually outputted. .SH "SEE ALSO" .BR printf "(3), " sprintf "(3), " fprintf "(3), " vprintf "(3) " curl-7.47.0/docs/libcurl/curl_strequal.pdf0000644000175000017500000001006412652070420015442 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ½WÛnÛF}×W,Ò“µÙ /K´( ´zPàØ®LHí" ©µÍ–ZÊ$eÇù†~tg—\Þdû±à 9;—3sάÁýi§ÛÙ‡uˆîªAw³‡5/Qû+Ý¢1ý ¾5g(  #ŽE„âíŒr‰â§Ù•“îËü[U—òaŸä׿vQžÝè§îœù:Ÿ/Ñ¡©ûWüi6'˜Qð›BØÂâÈבy€â“™sºp SxK}ìG²‰73çóÒÿäÉöHˆæ”é×Dç6Ní¸ ¯ÌÿhŽÒ¤’(S•TUVgÚ¤B}+„`~‹`nÜ=JTi#›L m-ÌûºÌÔJ‹í.)³ªPU“á ¤9c!f² °0e\|==;¿X]ô¦mém!ÎO™JóýF¢_túô|ÿ«6gžÆ'~ådªîŠs©Ð §9½OJôÞàüaM‰í*¡X°J8ECì÷M0V€A@¬ÙqÚaGÂk_4L]ư“>W¨]wð9×îÏ}øÊšëÒ6³× SoWb.þ÷Ê^ŒÐxÜŽÀBô²ò[}ap4—jÃ^Ÿ{ ÝdÌ€wápÌ~_^ü¶^Ç«³Ó1m“ßËI aÀhõD‡FØáj Ü» HÝÞD†·{•ÖY¡ZnÈ Õ÷ÕO pÂPŸ(Ë¢R xFq؃a(VMñ*Q4éù@Â Ž–ÊN¢6“Óæ…wú~ŠV‘ÄË#“ J!º}q§ #ºB£/Åmó7ÌR’Ö²¬0Z™ŽÏ™ðà‘d]9¥¬÷¥ªP‚T¡æ?dY k'^»<Â05Ô¹\‚À/¤K=xâ{Î,QÖ©|`Œ²Tu–&96=2í=w—ø‡½§ õZ‡CèGÔÁÐu6«P•m³<)lP±ç€°Œ 8ð=•»e5*Tþ<ž‘ËjÊÊ|À®Ii7 =æÐ…‰vYßΆfÔnlÆï[y‚ÕF3ß-4ÚbÑÀ¿+ }&ò0áad AhجèÎÝ<ÛU‰êI•Üä%»]mk<Áã®·™‚Ù¨Ë=@µ+ÊÚœÙ&JIƒ<ç>¨¥í1P5¥4ŠI lÞàX;Wøn$å¦÷úÖzŸhyN1Â6d€C/ˆ¬ im¦[²Ç £ÈF8à6›–cN­àOãÚZ‹ò ”ä9ÚåI=o:D8ð:‰»-ÊmÕ€BA¨ÄÁcnô°UM°!žÉyñ-º°pÓ|j'cu²ø¸:YÅ_Ƈ{À’ääåYyÊ á‰J¹-ÆCÒqäQ6˜pífJ ÍíH.Y`“+‹­¡Ñn3Õ Ûâ|ÕŒ‘’°àn÷ 8Ò€?ŠA#PFfch¾šr¢×Ho{%´3bÊÜ9õ#P"ßá-ve–#Fˆg\{ý¦`„}Ïþ€ÏȆ\Ôendstream endobj 6 0 obj 1337 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:08+01:00 2016-01-27T08:26:08+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001661 00000 n 0000003541 00000 n 0000001602 00000 n 0000001442 00000 n 0000000015 00000 n 0000001422 00000 n 0000001726 00000 n 0000001980 00000 n 0000001915 00000 n 0000001847 00000 n 0000001767 00000 n 0000001797 00000 n 0000002062 00000 n 0000002118 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<6477C9AD2647934B4A4A8B8E56CF70DE><6477C9AD2647934B4A4A8B8E56CF70DE>] >> startxref 3695 %%EOF curl-7.47.0/docs/libcurl/curl_global_init_mem.30000644000175000017500000000532312626067776016343 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_global_init_mem 3 "10 May 2004" "libcurl 7.12.0" "libcurl Manual" .SH NAME curl_global_init_mem - Global libcurl initialisation with memory callbacks .SH SYNOPSIS .B #include .nf .B "CURLcode curl_global_init_mem(long " flags, .B " curl_malloc_callback "m, .B " curl_free_callback "f, .B " curl_realloc_callback "r, .B " curl_strdup_callback "s, .B " curl_calloc_callback "c ");" .SH DESCRIPTION This function works exactly as \fIcurl_global_init(3)\fP with one addition: it allows the application to set callbacks to replace the otherwise used internal memory functions. If you are using libcurl from multiple threads or libcurl was built with the threaded resolver option then the callback functions must be thread safe. The threaded resolver is a common build option to enable (and in some cases the default) so we strongly urge you to make your callback functions thread safe. All callback arguments must be set to valid function pointers. The prototypes for the given callbacks must match these: .IP "void *malloc_callback(size_t size);" To replace malloc() .IP "void free_callback(void *ptr);" To replace free() .IP "void *realloc_callback(void *ptr, size_t size);" To replace realloc() .IP "char *strdup_callback(const char *str);" To replace strdup() .IP "void *calloc_callback(size_t nmemb, size_t size);" To replace calloc() .RE This function is otherwise the same as \fIcurl_global_init(3)\fP, please refer to that man page for documentation. .SH "CAUTION" Manipulating these gives considerable powers to the application to severely screw things up for libcurl. Take care! .SH "SEE ALSO" .BR curl_global_init "(3), " .BR curl_global_cleanup "(3), " curl-7.47.0/docs/libcurl/libcurl-thread.30000644000175000017500000001116412626067776015076 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH libcurl-thread 3 "13 Jul 2015" "libcurl" "libcurl thread safety" .SH NAME libcurl-thread \- libcurl thread safety .SH "Multi-threading with libcurl" libcurl is thread safe but has no internal thread synchronization. You may have to provide your own locking should you meet any of the thread safety exceptions below. \fBHandles.\fP You must \fBnever\fP share the same handle in multiple threads. You can pass the handles around among threads, but you must never use a single handle from more than one thread at any given time. \fBShared objects.\fP You can share certain data between multiple handles by using the share interface but you must provide your own locking and set \fIcurl_share_setopt(3)\fP CURLSHOPT_LOCKFUNC and CURLSHOPT_UNLOCKFUNC. .SH TLS If you are accessing HTTPS or FTPS URLs in a multi-threaded manner, you are then of course using the underlying SSL library multi-threaded and those libs might have their own requirements on this issue. You may need to provide one or two functions to allow it to function properly: .IP OpenSSL http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION http://curl.haxx.se/libcurl/c/opensslthreadlock.html .IP GnuTLS http://gnutls.org/manual/html_node/Thread-safety.html .IP NSS thread-safe already without anything required. .IP PolarSSL Required actions unknown. .IP yassl Required actions unknown. .IP axTLS Required actions unknown. .IP Secure-Transport The engine is used by libcurl in a way that is fully thread-safe. .IP WinSSL The engine is used by libcurl in a way that is fully thread-safe. .IP wolfSSL The engine is used by libcurl in a way that is fully thread-safe. .SH "Other areas of caution" .IP Signals Signals are used for timing out name resolves (during DNS lookup) - when built without using either the c-ares or threaded resolver backends. When using multiple threads you should set the \fICURLOPT_NOSIGNAL(3)\fP option to 1L for all handles. Everything will or might work fine except that timeouts are not honored during the DNS lookup - which you can work around by building libcurl with c-ares support. c-ares is a library that provides asynchronous name resolves. On some platforms, libcurl simply will not function properly multi-threaded unless this option is set. .IP "Name resolving" \fBgethostby* functions and other system calls.\fP These functions, provided by your operating system, must be thread safe. It is very important that libcurl can find and use thread safe versions of these and other system calls, as otherwise it can't function fully thread safe. Some operating systems are known to have faulty thread implementations. We have previously received problem reports on *BSD (at least in the past, they may be working fine these days). Some operating systems that are known to have solid and working thread support are Linux, Solaris and Windows. .IP "curl_global_* functions" These functions are not thread safe. If you are using libcurl with multiple threads it is especially important that before use you call \fIcurl_global_init(3)\fP or \fIcurl_global_init_mem(3)\fP to explicitly initialize the library and its dependents, rather than rely on the "lazy" fail-safe initialization that takes place the first time \fIcurl_easy_init(3)\fP is called. For an in-depth explanation refer to \fIlibcurl(3)\fP section \fBGLOBAL CONSTANTS\fP. .IP "Memory functions" These functions, provided either by your operating system or your own replacements, must be thread safe. You can use \fIcurl_global_init_mem(3)\fP to set your own replacement memory functions. .IP Non-safe functions \fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP is not thread-safe. curl-7.47.0/docs/libcurl/curl_multi_cleanup.30000644000175000017500000000402012626067776016054 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_cleanup 3 "1 March 2002" "libcurl 7.9.5" "libcurl Manual" .SH NAME curl_multi_cleanup - close down a multi session .SH SYNOPSIS .B #include .sp .BI "CURLMcode curl_multi_cleanup( CURLM *multi_handle );" .ad .SH DESCRIPTION Cleans up and removes a whole multi stack. It does not free or touch any individual easy handles in any way - they still need to be closed individually, using the usual \fIcurl_easy_cleanup(3)\fP way. The order of cleaning up should be: 1 - \fIcurl_multi_remove_handle(3)\fP before any easy handles are cleaned up 2 - \fIcurl_easy_cleanup(3)\fP can now be called independently since the easy handle is no longer connected to the multi handle 3 - \fIcurl_multi_cleanup(3)\fP should be called when all easy handles are removed .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. On success, CURLM_OK is returned. .SH "SEE ALSO" .BR curl_multi_init "(3)," curl_easy_cleanup "(3)," curl_easy_init "(3)" curl-7.47.0/docs/libcurl/libcurl-share.30000644000175000017500000000607612626067776014737 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH libcurl-share 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl share interface" .SH NAME libcurl-share \- how to use the share interface .SH DESCRIPTION This is an overview on how to use the libcurl share interface in your C programs. There are specific man pages for each function mentioned in here. All functions in the share interface are prefixed with curl_share. .SH "OBJECTIVES" The share interface was added to enable sharing of data between curl \&"handles". .SH "ONE SET OF DATA - MANY TRANSFERS" You can have multiple easy handles share data between them. Have them update and use the \fBsame\fP cookie database, DNS cache, TLS session cache! This way, each single transfer will take advantage from data updates made by the other transfer(s). The sharing interface, however, does not share active or persistent connections between different easy handles. .SH "SHARE OBJECT" You create a shared object with \fIcurl_share_init(3)\fP. It returns a handle for a newly created one. You tell the shared object what data you want it to share by using \fIcurl_share_setopt(3)\fP. Since you can use this share from multiple threads, and libcurl has no internal thread synchronization, you must provide mutex callbacks if you're using this multi-threaded. You set lock and unlock functions with \fIcurl_share_setopt(3)\fP too. Then, you make an easy handle to use this share, you set the \fICURLOPT_SHARE(3)\fP option with \fIcurl_easy_setopt(3)\fP, and pass in share handle. You can make any number of easy handles share the same share handle. To make an easy handle stop using that particular share, you set \fICURLOPT_SHARE(3)\fP to NULL for that easy handle. To make a handle stop sharing a particular data, you can \fICURLSHOPT_UNSHARE\fP it. When you're done using the share, make sure that no easy handle is still using it, and call \fIcurl_share_cleanup(3)\fP on the handle. .SH "SEE ALSO" .BR curl_share_init "(3), " curl_share_setopt "(3), " curl_share_cleanup "(3)" .BR libcurl-errors "(3), " libcurl-easy "(3), " libcurl-multi "(3) " curl-7.47.0/docs/libcurl/curl_multi_socket.html0000644000175000017500000002235412652070414016507 00000000000000 curl_multi_socket man page

NAME

curl_multi_socket - reads/writes available data

SYNOPSIS

#include <curl/curl.h>
CURLMcode curl_multi_socket(CURLM * multi_handle, curl_socket_t sockfd,
                            int *running_handles);
 
CURLMcode curl_multi_socket_all(CURLM *multi_handle,
                                int *running_handles);

DESCRIPTION

These functions are deprecated. Do not use! See curl_multi_socket_action instead!

At return, the integer running_handles points to will contain the number of still running easy handles within the multi handle. When this number reaches zero, all transfers are complete/done. Note that when you call curl_multi_socket_action on a specific socket and the counter decreases by one, it DOES NOT necessarily mean that this exact socket/transfer is the one that completed. Use curl_multi_info_read to figure out which easy handle that completed.

The curl_multi_socket_action functions inform the application about updates in the socket (file descriptor) status by doing none, one, or multiple calls to the socket callback function set with the CURLMOPT_SOCKETFUNCTION option to curl_multi_setopt. They update the status with changes since the previous time the callback was called.

Get the timeout time by setting the CURLMOPT_TIMERFUNCTION option with curl_multi_setopt. Your application will then get called with information on how long to wait for socket actions at most before doing the timeout action: call the curl_multi_socket_action function with the sockfd argument set to CURL_SOCKET_TIMEOUT. You can also use the curl_multi_timeout function to poll the value at any given time, but for an event-based system using the callback is far better than relying on polling the timeout value.

Usage of curl_multi_socket is deprecated, whereas the function is equivalent to curl_multi_socket_action with ev_bitmask set to 0.

Force libcurl to (re-)check all its internal sockets and transfers instead of just a single one by calling curl_multi_socket_all. Note that there should not be any reason to use this function!

CALLBACK DETAILS

The socket callback function uses a prototype like this

 
  int curl_socket_callback(CURL *easy,      /* easy handle */
                           curl_socket_t s, /* socket */
                           int action,      /* see values below */
                           void *userp,    /* private callback pointer */
                           void *socketp); /* private socket pointer */
 

The callback MUST return 0.

The easy argument is a pointer to the easy handle that deals with this particular socket. Note that a single handle may work with several sockets simultaneously.

The s argument is the actual socket value as you use it within your system.

The action argument to the callback has one of five values:

CURL_POLL_NONE (0)

register, not interested in readiness (yet)

CURL_POLL_IN (1)

register, interested in read readiness

CURL_POLL_OUT (2)

register, interested in write readiness

CURL_POLL_INOUT (3)

register, interested in both read and write readiness

CURL_POLL_REMOVE (4)

unregister

The socketp argument is a private pointer you have previously set with curl_multi_assign to be associated with the s socket. If no pointer has been set, socketp will be NULL. This argument is of course a service to applications that want to keep certain data or structs that are strictly associated to the given socket.

The userp argument is a private pointer you have previously set with curl_multi_setopt and the CURLMOPT_SOCKETDATA option.

RETURN VALUE

CURLMcode type, general libcurl multi interface error code.

Legacy: If you receive CURLM_CALL_MULTI_PERFORM, this basically means that you should call curl_multi_socket again, before you wait for more actions on libcurl's sockets. You don't have to do it immediately, but the return code means that libcurl may have more data available to return or that there may be more data to send off before it is "satisfied".

In modern libcurls, CURLM_CALL_MULTI_PERFORM or CURLM_CALL_MULTI_SOKCET should not be returned and no application needs to care about them.

NOTE that the return code is for the whole multi stack. Problems still might have occurred on individual transfers even when one of these functions return OK.

TYPICAL USAGE

1. Create a multi handle

2. Set the socket callback with CURLMOPT_SOCKETFUNCTION

3. Set the timeout callback with CURLMOPT_TIMERFUNCTION, to get to know what timeout value to use when waiting for socket activities.

4. Add easy handles with curl_multi_add_handle()

5. Provide some means to manage the sockets libcurl is using, so you can check them for activity. This can be done through your application code, or by way of an external library such as libevent or glib.

6. Wait for activity on any of libcurl's sockets, use the timeout value your callback has been told

7, When activity is detected, call curl_multi_socket_action() for the socket(s) that got action. If no activity is detected and the timeout expires, call curl_multi_socket_action with CURL_SOCKET_TIMEOUT

8. Go back to step 6.

AVAILABILITY

This function was added in libcurl 7.15.4, and is deemed stable since 7.16.0.

curl_multi_socket is deprecated, use curl_multi_socket_action instead!

SEE ALSO

curl_multi_cleanup, curl_multi_init, curl_multi_fdset, curl_multi_info_read, the hiperfifo.c example

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_global_init.30000644000175000017500000000717012643053711015466 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_global_init 3 "11 May 2004" "libcurl 7.12" "libcurl Manual" .SH NAME curl_global_init - Global libcurl initialisation .SH SYNOPSIS .B #include .sp .BI "CURLcode curl_global_init(long " flags ");" .ad .SH DESCRIPTION This function sets up the program environment that libcurl needs. Think of it as an extension of the library loader. This function must be called at least once within a program (a program is all the code that shares a memory space) before the program calls any other function in libcurl. The environment it sets up is constant for the life of the program and is the same for every program, so multiple calls have the same effect as one call. The flags option is a bit pattern that tells libcurl exactly what features to init, as described below. Set the desired bits by ORing the values together. In normal operation, you must specify CURL_GLOBAL_ALL. Don't use any other value unless you are familiar with it and mean to control internal operations of libcurl. \fBThis function is not thread safe.\fP You must not call it when any other thread in the program (i.e. a thread sharing the same memory) is running. This doesn't just mean no other thread that is using libcurl. Because \fIcurl_global_init(3)\fP calls functions of other libraries that are similarly thread unsafe, it could conflict with any other thread that uses these other libraries. If you are initializing libcurl from a Windows DLL you should not initialize it from DllMain or a static initializer because Windows holds the loader lock during that time and it could cause a deadlock. See the description in \fBlibcurl(3)\fP of global environment requirements for details of how to use this function. .SH FLAGS .TP 5 .B CURL_GLOBAL_ALL Initialize everything possible. This sets all known bits except \fBCURL_GLOBAL_ACK_EINTR\fP. .TP .B CURL_GLOBAL_SSL Initialize SSL .TP .B CURL_GLOBAL_WIN32 Initialize the Win32 socket libraries. .TP .B CURL_GLOBAL_NOTHING Initialise nothing extra. This sets no bit. .TP .B CURL_GLOBAL_DEFAULT A sensible default. It will init both SSL and Win32. Right now, this equals the functionality of the \fBCURL_GLOBAL_ALL\fP mask. .TP .B CURL_GLOBAL_ACK_EINTR When this flag is set, curl will acknowledge EINTR condition when connecting or when waiting for data. Otherwise, curl waits until full timeout elapses. (Added in 7.30.0) .SH RETURN VALUE If this function returns non-zero, something went wrong and you cannot use the other curl functions. .SH "SEE ALSO" .BR curl_global_init_mem "(3), " .BR curl_global_cleanup "(3), " .BR curl_easy_init "(3) " .BR libcurl "(3) " curl-7.47.0/docs/libcurl/curl_easy_cleanup.30000644000175000017500000000560712626067776015677 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH curl_easy_cleanup 3 "22 aug 2007" "libcurl 7.17.0" "libcurl Manual" .SH NAME curl_easy_cleanup - End a libcurl easy handle .SH SYNOPSIS .B #include .BI "void curl_easy_cleanup(CURL *" handle ");" .SH DESCRIPTION This function must be the last function to call for an easy session. It is the opposite of the \fIcurl_easy_init(3)\fP function and must be called with the same \fIhandle\fP as input that a \fIcurl_easy_init(3)\fP call returned. This might close all connections this handle has used and possibly has kept open until now - unless it was attached to a multi handle while doing the transfers. Don't call this function if you intend to transfer more files, re-using handles is a key to good performance with libcurl. Occasionally you may get your progress callback or header callback called from within \fIcurl_easy_cleanup(3)\fP (if previously set for the handle using \fIcurl_easy_setopt(3)\fP). Like if libcurl decides to shut down the connection and the protocol is of a kind that requires a command/response sequence before disconnect. Examples of such protocols are FTP, POP3 and IMAP. Any use of the \fBhandle\fP after this function has been called and have returned, is illegal. \fIcurl_easy_cleanup(3)\fP kills the handle and all memory associated with it! For libcurl versions before 7.17,: after you've called this function, you can safely remove all the strings you've previously told libcurl to use, as it won't use them anymore now. .SH RETURN VALUE None .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { CURLcode res; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); res = curl_easy_perform(curl); curl_easy_cleanup(curl); } .fi .SH "SEE ALSO" .BR curl_easy_init "(3), " curl_easy_duphandle "(3), " .BR curl_easy_reset "(3), " .BR curl_multi_cleanup "(3), " curl_multi_remove_handle "(3) " curl-7.47.0/docs/libcurl/curl_easy_cleanup.pdf0000644000175000017500000001074512652070416016265 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœWÛnã6}÷W°Û‡È ›u×n[ íz¹5ñ-’"`dÚV#K^‰Jjýƒ~tgHêf{±E€81©¹žsfô™Ø”Ìg²Þ†dUl²}1uHÌG²!?ÎáB„_Ì—#ý #¡CÂØ¥QLæ›c><2Ý[I]f‚W»Ç$<¯·–û0&Yú„'ã©ãÛÔ¶CëÎxFŽ_ÿ1ÿy4µ©ÃÀ~îcpOc#p2¿YWgãˆNÁ¹»Õ|1².gãùŸ½x›zvH¦ÌÁcc< ‘LÉ,_ÞDIð¬y¾È„6×ó?…¦, ‘òw÷ûÕõÍÝù]wÍÄhô÷!†3 ðX É.›¨;` ÜzB:½(½\±fhãM!˜ jöi<“²pòŽèöÊ ÛûSèD ߨ€õæ¬XÃöýè–1Q’šÀ Tñ¥Ñ*¡4{pÐÄ?ôÇ¿æOÍ+à«,AõôôR;ê–ÒÃôBõµ­q¶íœõádkùU«‚F}e‘-Ú5F#,Â͘gJÆ ç0òµa¦ïBƒš9\÷‰ï´´»GrB^€Ó˜¯;¸ÍöÉÊ^„Xi™þJ[ƒ{{@ë¸Ó±¯ÚÕfÕ‚ÛTvgSÃmUþ˜½©‡äöš Þ÷MšP’¨?†DJoá]#îòýéávÓãñè0tÛØvZL™ÅEÓ1dkDu—Úc¸à¡å8„×+âU<^Ð,è ÍÌæ£_àç?†‚aendstream endobj 6 0 obj 1770 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:06+01:00 2016-01-27T08:26:06+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002094 00000 n 0000003974 00000 n 0000002035 00000 n 0000001875 00000 n 0000000015 00000 n 0000001855 00000 n 0000002159 00000 n 0000002413 00000 n 0000002348 00000 n 0000002280 00000 n 0000002200 00000 n 0000002230 00000 n 0000002495 00000 n 0000002551 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4128 %%EOF curl-7.47.0/docs/libcurl/curl_multi_setopt.html0000644000175000017500000001326212652070414016533 00000000000000 curl_multi_setopt man page

NAME

curl_multi_setopt - set options for a curl multi handle

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_setopt(CURLM * multi_handle, CURLMoption option, param);

DESCRIPTION

curl_multi_setopt is used to tell a libcurl multi handle how to behave. By using the appropriate options to curl_multi_setopt, you can change libcurl's behaviour when using that multi handle. All options are set with the option followed by the parameter param. That parameter can be a long, a function pointer, an object pointer or a curl_off_t type, depending on what the specific option expects. Read this manual carefully as bad input values may cause libcurl to behave badly! You can only set one option in each function call.

OPTIONS

CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE

See CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE(3)

CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE

See CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE(3)

CURLMOPT_MAX_HOST_CONNECTIONS

See CURLMOPT_MAX_HOST_CONNECTIONS(3)

CURLMOPT_MAX_PIPELINE_LENGTH

See CURLMOPT_MAX_PIPELINE_LENGTH(3)

CURLMOPT_MAX_TOTAL_CONNECTIONS

See CURLMOPT_MAX_TOTAL_CONNECTIONS(3)

CURLMOPT_MAXCONNECTS

See CURLMOPT_MAXCONNECTS(3)

CURLMOPT_PIPELINING

See CURLMOPT_PIPELINING(3)

CURLMOPT_PIPELINING_SITE_BL

See CURLMOPT_PIPELINING_SITE_BL(3)

CURLMOPT_PIPELINING_SERVER_BL

See CURLMOPT_PIPELINING_SERVER_BL(3)

CURLMOPT_PUSHFUNCTION

See CURLMOPT_PUSHFUNCTION(3)

CURLMOPT_PUSHDATA

See CURLMOPT_PUSHDATA(3)

CURLMOPT_SOCKETFUNCTION

See CURLMOPT_SOCKETFUNCTION(3)

CURLMOPT_SOCKETDATA

See CURLMOPT_SOCKETDATA(3)

CURLMOPT_TIMERFUNCTION

See CURLMOPT_TIMERFUNCTION(3)

CURLMOPT_TIMERDATA

See CURLMOPT_TIMERDATA(3)

RETURNS

The standard CURLMcode for multi interface error codes. Note that it returns a CURLM_UNKNOWN_OPTION if you try setting an option that this version of libcurl doesn't know of.

AVAILABILITY

This function was added in libcurl 7.15.4.

SEE ALSO

curl_multi_cleanup, curl_multi_init, curl_multi_socket, curl_multi_info_read

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_easy_perform.html0000644000175000017500000001047712652070414016503 00000000000000 curl_easy_perform man page

NAME

curl_easy_perform - perform a blocking file transfer

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_perform(CURL * easy_handle );

DESCRIPTION

Invoke this function after curl_easy_init and all the curl_easy_setopt calls are made, and will perform the transfer as described in the options. It must be called with the same easy_handle as input as the curl_easy_init call returned.

curl_easy_perform performs the entire request in a blocking manner and returns when done, or if it failed. For non-blocking behavior, see curl_multi_perform.

You can do any amount of calls to curl_easy_perform while using the same easy_handle. If you intend to transfer more than one file, you are even encouraged to do so. libcurl will then attempt to re-use the same connection for the following transfers, thus making the operations faster, less CPU intense and using less network resources. Just note that you will have to use curl_easy_setopt between the invokes to set options for the following curl_easy_perform.

You must never call this function simultaneously from two places using the same easy_handle. Let the function return first before invoking it another time. If you want parallel transfers, you must use several curl easy_handles.

While the easy_handle is added to a multi handle, it cannot be used by curl_easy_perform.

RETURN VALUE

CURLE_OK (0) means everything was ok, non-zero means an error occurred as <curl/curl.h> defines - see libcurl-errors. If the CURLOPT_ERRORBUFFER(3) was set with curl_easy_setopt there will be a readable error message in the error buffer when non-zero is returned.

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  CURLcode res;
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
  res = curl_easy_perform(curl);
  curl_easy_cleanup(curl);
}

SEE ALSO

curl_easy_init, curl_easy_setopt, curl_multi_add_handle, curl_multi_perform, libcurl-errors

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/libcurl-thread.html0000644000175000017500000001457712652070414015671 00000000000000 libcurl-thread man page

NAME

libcurl-thread - libcurl thread safety

Multi-threading with libcurl

libcurl is thread safe but has no internal thread synchronization. You may have to provide your own locking should you meet any of the thread safety exceptions below.

Handles. You must never share the same handle in multiple threads. You can pass the handles around among threads, but you must never use a single handle from more than one thread at any given time.

Shared objects. You can share certain data between multiple handles by using the share interface but you must provide your own locking and set curl_share_setopt CURLSHOPT_LOCKFUNC and CURLSHOPT_UNLOCKFUNC.

TLS

If you are accessing HTTPS or FTPS URLs in a multi-threaded manner, you are then of course using the underlying SSL library multi-threaded and those libs might have their own requirements on this issue. You may need to provide one or two functions to allow it to function properly:

OpenSSL

http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION

http://curl.haxx.se/libcurl/c/opensslthreadlock.html

GnuTLS

http://gnutls.org/manual/html_node/Thread-safety.html

NSS

thread-safe already without anything required.

PolarSSL

Required actions unknown.

yassl

Required actions unknown.

axTLS

Required actions unknown.

Secure-Transport

The engine is used by libcurl in a way that is fully thread-safe.

WinSSL

The engine is used by libcurl in a way that is fully thread-safe.

wolfSSL

The engine is used by libcurl in a way that is fully thread-safe.

Other areas of caution

Signals

Signals are used for timing out name resolves (during DNS lookup) - when built without using either the c-ares or threaded resolver backends. When using multiple threads you should set the CURLOPT_NOSIGNAL(3) option to 1L for all handles. Everything will or might work fine except that timeouts are not honored during the DNS lookup - which you can work around by building libcurl with c-ares support. c-ares is a library that provides asynchronous name resolves. On some platforms, libcurl simply will not function properly multi-threaded unless this option is set.

Name resolving

gethostby* functions and other system calls. These functions, provided by your operating system, must be thread safe. It is very important that libcurl can find and use thread safe versions of these and other system calls, as otherwise it can't function fully thread safe. Some operating systems are known to have faulty thread implementations. We have previously received problem reports on *BSD (at least in the past, they may be working fine these days). Some operating systems that are known to have solid and working thread support are Linux, Solaris and Windows.

curl_global_* functions

These functions are not thread safe. If you are using libcurl with multiple threads it is especially important that before use you call curl_global_init or curl_global_init_mem to explicitly initialize the library and its dependents, rather than rely on the "lazy" fail-safe initialization that takes place the first time curl_easy_init is called. For an in-depth explanation refer to libcurl section GLOBAL CONSTANTS.

Memory functions

These functions, provided either by your operating system or your own replacements, must be thread safe. You can use curl_global_init_mem to set your own replacement memory functions.

Non-safe functions

CURLOPT_DNS_USE_GLOBAL_CACHE(3) is not thread-safe.

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_timeout.html0000644000175000017500000001022312652070414016675 00000000000000 curl_multi_timeout man page

NAME

curl_multi_timeout - how long to wait for action before proceeding

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_timeout(CURLM *multi_handle, long *timeout);

DESCRIPTION

An application using the libcurl multi interface should call curl_multi_timeout to figure out how long it should wait for socket actions - at most - before proceeding.

Proceeding means either doing the socket-style timeout action: call the curl_multi_socket_action function with the sockfd argument set to CURL_SOCKET_TIMEOUT, or call curl_multi_perform if you're using the simpler and older multi interface approach.

The timeout value returned in the long timeout points to, is in number of milliseconds at this very moment. If 0, it means you should proceed immediately without waiting for anything. If it returns -1, there's no timeout at all set.

An application that uses the multi_socket API SHOULD NOT use this function, but SHOULD instead use curl_multi_setopt and its CURLMOPT_TIMERFUNCTION option for proper and desired behavior.

Note: if libcurl returns a -1 timeout here, it just means that libcurl currently has no stored timeout value. You must not wait too long (more than a few seconds perhaps) before you call curl_multi_perform() again.

EXAMPLE

struct timeval timeout;
long timeo;
 
curl_multi_timeout(multi_handle, &timeo);
if(timeo < 0)
  /* no set timeout, use a default */
  timeo = 980;
 
timeout.tv_sec = timeo / 1000;
timeout.tv_usec = (timeo % 1000) * 1000;
 
/* wait for activities no longer than the set timeout */
select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);

RETURN VALUE

The standard CURLMcode for multi interface error codes.

TYPICAL USAGE

Call curl_multi_timeout, then wait for action on the sockets. You figure out which sockets to wait for by calling curl_multi_fdset or by a previous call to curl_multi_socket.

AVAILABILITY

This function was added in libcurl 7.15.4.

SEE ALSO

curl_multi_fdset, curl_multi_info_read, curl_multi_socket, curl_multi_setopt

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/libcurl-easy.pdf0000644000175000017500000001146212652070421015154 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•XÛrÛF}çWLùÅ`•8‹Üf¬¼å‹I*%m¹ ±Æ…ÁÅ ÿ!¿²ÿ¸§ç€”’TÊ¢ÁAO÷éÓ§»ù+ ¹`!ýswõêŸ2öÔ¯Bö´úu%Ì—ÌýÙÕì›-(z°=¬ì;‚e’e:âJ³m½‰à*aÛçUP•»±«‚èaÍÜÖÛÿ®¤ yáÕí÷ÐÉ"ïϬl†¢;Ð&¢PØ ƒù®`K£tvr)póŽi8ÆuB¾md*y’²M”’‘à»wt8¤s"á‰v×ÿ¾¥çsLp-3¶ròîÞ²1nþ-½Õ\k™*ãZ»þÏö_äHÌ=°%Åt¿æRiÛ/îƒîkY¬e<›·/ƒiÂÓÞ¤\3ÿ¼½ûöÓûï·ï?~wé7Âô>ãÔÀõó±hØØ—Í“Gí-½qAv+EiÎÁþÍ àB¤î9ûf™›”'I¢]öpלšs;â`9ЇŽõEß—mÃòfÏžŠåìˆUÁ‚ö0À³®8]WìÙв¼Ç9ö†.3I‘Bâ9&E9¦\X#oÖ7ìùXîŽæÖ±/ÈDÙœÆÌ Çâ"K@4DÐÆËÃØì8Öû79û±/ø"ôx"y:ö vŸÉàgŠoâÞ &¹ÐJ¹ãð€"†&˜H䉯…Àm ¨<@.c¶ý° ~i×oW’«8žò ÔÁ¸›$A¡Ø§ ¢ÓHAÛ e3ìñ ì‡ÒžW•Á¢=Í?“‘â½TÍ&"›Åfdæ•ñ´kk²1tyÓ#S¦ráZd]‹ܹ&×2 =ëa§n{جOm7õ¼nÉæ±¨-4!.³wUf<){ãÅŸ>°rè‹êÚ÷»¼ñ$ÜÆÔ›òKO²XyOȰ²rá€ok(Ajœ‡#Eú\Çv$¦ö§bWþjÒý¹Å­ÎÏ`ðe‰ËH ¤¿CÛ;Pìì÷9YЇQ¦¯üžF¢>]GÕB§‘’pª¬`cð‰¥âiªg|’(²a&kÎ~¹I„’€|,ŸŽ2ŒJjaò 2‚¬oëèUÕc¾ûÒSPÏ…aGŽJ|z´_éC×Ö}¨F—wgÊuŸ9CZ&¤ ´'Â×|¡rbV¹ ¬|‘íØ¶û×Ñmum„3›šÀöP^&\q›cå8[<®%i¿Š‚ñé‰.$:¦ò…”Áoy}‚³íñE*…³¿A?ÉõD FzOùâ¢Þ†®Í”7'¤‡ Ä!‘3M=Ñнjb}1€M¶ Ê;~Ã:Êð¢Ø>. y¦ÃÉr•7_ŒXœ:Ìd1T4‰ƒ¯e;ö•iªS#5¢Âh´ªÜ¤a›ú sMÊhé5¥6‚¦§ óû«:¸¸Â˾8MšÇ¾ÙJIéšõ~º-¯úꋙи’†]:u ró!AÕ4³EÛþ«¶A4Š-bBç¥ÎhpA/^‹ÞÌ—/dU+.£¹rç8÷ãÉZ}¥€4ñ×'#°$òω0±fñ<Ü—ŒGãÉB?PSó*ƒÖwÂø×v¶y}Õg™‚é‰zQîÎÀänb=Ø- ÿÒï÷–Ó2óC\úâ †ç%©e©©€Ì¤Éjç¹1‹y¤Ó«e¤À˜×Q©]>ø›ªà[C4/.Ù4u‹Á(á<ßc‡-F)»V˜Êy?îváI¸ÐÛ:4ªó†Z-¾°…´=ææúîjR¿ÇqÕù~QÄ¡Æi!µâ$Ü Sâs»Ü×TìqrõG1;º“³ÿ¥4×–‹†º¯f‘ðsÙ{'K‰æ‘Ы dÛ$¤£+Í'¥ÓàpžU$Â#é;E;š·Î;l€„¬7n é‹ífÂ]UäÍx2úõ ÓÜ}œO^nëW«å¥ ¦¡‹ÆdóæÒ†Àx2«Î \í§HñÔ ÿ–9;î\Y\ü‰©óMê÷ů']·Æˆ¢Um×_õ8ôkO÷ÿ¥ÙÉj=VCyé^ó8ùC›n¨¹;-~šZü¤ˆqˆ*¦±}¾‰dÊ­þ)ìzù‹ÚþÎ%x²¤Þ]qb2±ù2ž¾ =¸Ý®~À¿ÿ¨ƒ1'endstream endobj 6 0 obj 2093 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:09+01:00 2016-01-27T08:26:09+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002417 00000 n 0000004307 00000 n 0000002358 00000 n 0000002198 00000 n 0000000015 00000 n 0000002178 00000 n 0000002482 00000 n 0000002736 00000 n 0000002671 00000 n 0000002603 00000 n 0000002523 00000 n 0000002553 00000 n 0000002818 00000 n 0000002884 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4461 %%EOF curl-7.47.0/docs/libcurl/curl_multi_info_read.30000644000175000017500000000740012626067776016360 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_info_read 3 "18 Dec 2004" "libcurl 7.10.3" "libcurl Manual" .SH NAME curl_multi_info_read - read multi stack informationals .SH SYNOPSIS #include CURLMsg *curl_multi_info_read( CURLM *multi_handle, int *msgs_in_queue); .ad .SH DESCRIPTION Ask the multi handle if there are any messages/informationals from the individual transfers. Messages may include informationals such as an 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 NULL is returned as a signal that there is no more to get at this point. The integer pointed to with \fImsgs_in_queue\fP will contain the number of remaining messages after this function was called. When you fetch a message using this function, it is removed from the internal queue so calling this function again will not return the same message again. It will instead return new messages at each new invoke until the queue is emptied. \fBWARNING:\fP The data the returned pointer points to will not survive calling \fIcurl_multi_cleanup(3)\fP, \fIcurl_multi_remove_handle(3)\fP or \fIcurl_easy_cleanup(3)\fP. The 'CURLMsg' struct is very simple and only contains very basic information. If more involved information is wanted, the particular "easy handle" is present in that struct and can be used in subsequent regular \fIcurl_easy_getinfo(3)\fP calls (or similar): .nf 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; }; .fi When \fBmsg\fP is \fICURLMSG_DONE\fP, the message identifies a transfer that is done, and then \fBresult\fP contains the return code for the easy handle that just completed. At this point, there are no other \fBmsg\fP types defined. .SH EXAMPLE .nf struct CURLMsg *m; /* call curl_multi_perform or curl_multi_socket_action first, then loop through and check if there are any transfers that have completed */ do { int msgq = 0; m = curl_multi_info_read(multi_handle, &msgq); if(m && (m->msg == CURLMSG_DONE)) { CURL *e = m->easy_handle; transfers--; curl_multi_remove_handle(multi_handle, e); curl_easy_cleanup(e); } } while(m); .fi .SH "RETURN VALUE" 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. .SH "SEE ALSO" .BR curl_multi_cleanup "(3), " curl_multi_init "(3), " curl_multi_perform "(3)" curl-7.47.0/docs/libcurl/libcurl-tutorial.30000644000175000017500000017624412626067776015505 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH libcurl-tutorial 3 "19 Sep 2014" "libcurl" "libcurl programming" .SH NAME libcurl-tutorial \- libcurl programming tutorial .SH "Objective" This document attempts to describe the general principles and some basic approaches to consider when programming with libcurl. The text will focus mainly on the C interface but might apply fairly well on other interfaces as well as they usually follow the C one pretty closely. This document will refer to 'the user' as the person writing the source code that uses libcurl. That would probably be you or someone in your position. What will be generally referred to as 'the program' will be the collected source code that you write that is using libcurl for transfers. The program is outside libcurl and libcurl is outside of the program. To get more details on all options and functions described herein, please refer to their respective man pages. .SH "Building" There are many different ways to build C programs. This chapter will assume a Unix style build process. If you use a different build system, you can still read this to get general information that may apply to your environment as well. .IP "Compiling the Program" Your compiler needs to know where the libcurl headers are located. Therefore you must set your compiler's include path to point to the directory where you installed them. The 'curl-config'[3] tool can be used to get this information: $ curl-config --cflags .IP "Linking the Program with libcurl" When having compiled the program, you need to link your object files to create a single executable. For that to succeed, you need to link with libcurl and possibly also with other libraries that libcurl itself depends on. Like the OpenSSL libraries, but even some standard OS libraries may be needed on the command line. To figure out which flags to use, once again the 'curl-config' tool comes to the rescue: $ curl-config --libs .IP "SSL or Not" libcurl can be built and customized in many ways. One of the things that varies from different libraries and builds is the support for SSL-based transfers, like HTTPS and FTPS. If a supported SSL library was detected properly at build-time, libcurl will be built with SSL support. To figure out if an installed libcurl has been built with SSL support enabled, use \&'curl-config' like this: $ curl-config --feature And if SSL is supported, the keyword 'SSL' will be written to stdout, possibly together with a few other features that could be either on or off on for different libcurls. See also the "Features libcurl Provides" further down. .IP "autoconf macro" When you write your configure script to detect libcurl and setup variables accordingly, we offer a prewritten macro that probably does everything you need in this area. See docs/libcurl/libcurl.m4 file - it includes docs on how to use it. .SH "Portable Code in a Portable World" The people behind libcurl have put a considerable effort to make libcurl work on a large amount of different operating systems and environments. You program libcurl the same way on all platforms that libcurl runs on. There are only very few minor considerations that differ. If you just make sure to write your code portable enough, you may very well create yourself a very portable program. libcurl shouldn't stop you from that. .SH "Global Preparation" The program must initialize some of the libcurl functionality globally. That means it should be done exactly once, no matter how many times you intend to use the library. Once for your program's entire life time. This is done using curl_global_init() and it takes one parameter which is a bit pattern that tells libcurl what to initialize. Using \fICURL_GLOBAL_ALL\fP will make it initialize all known internal sub modules, and might be a good default option. The current two bits that are specified are: .RS .IP "CURL_GLOBAL_WIN32" which only does anything on Windows machines. When used on a Windows machine, it'll make libcurl initialize the win32 socket stuff. Without having that initialized properly, your program cannot use sockets properly. You should only do this once for each application, so if your program already does this or of another library in use does it, you should not tell libcurl to do this as well. .IP CURL_GLOBAL_SSL which only does anything on libcurls compiled and built SSL-enabled. On these systems, this will make libcurl initialize the SSL library properly for this application. This only needs to be done once for each application so if your program or another library already does this, this bit should not be needed. .RE libcurl has a default protection mechanism that detects if \fIcurl_global_init(3)\fP hasn't been called by the time \fIcurl_easy_perform(3)\fP is called and if that is the case, libcurl runs the function itself with a guessed bit pattern. Please note that depending solely on this is not considered nice nor very good. When the program no longer uses libcurl, it should call \fIcurl_global_cleanup(3)\fP, which is the opposite of the init call. It will then do the reversed operations to cleanup the resources the \fIcurl_global_init(3)\fP call initialized. Repeated calls to \fIcurl_global_init(3)\fP and \fIcurl_global_cleanup(3)\fP should be avoided. They should only be called once each. .SH "Features libcurl Provides" It is considered best-practice to determine libcurl features at run-time rather than at build-time (if possible of course). By calling \fIcurl_version_info(3)\fP and checking out the details of the returned struct, your program can figure out exactly what the currently running libcurl supports. .SH "Two Interfaces" libcurl first introduced the so called easy interface. All operations in the easy interface are prefixed with 'curl_easy'. The easy interface lets you do single transfers with a synchronous and blocking function call. libcurl also offers another interface that allows multiple simultaneous transfers in a single thread, the so called multi interface. More about that interface is detailed in a separate chapter further down. You still need to understand the easy interface first, so please continue reading for better understanding. .SH "Handle the Easy libcurl" To use the easy interface, you must first create yourself an easy handle. You need one handle for each easy session you want to perform. Basically, you should use one handle for every thread you plan to use for transferring. You must never share the same handle in multiple threads. Get an easy handle with easyhandle = curl_easy_init(); It returns an easy handle. Using that you proceed to the next step: setting up your preferred actions. A handle is just a logic entity for the upcoming transfer or series of transfers. You set properties and options for this handle using \fIcurl_easy_setopt(3)\fP. They control how the subsequent transfer or transfers will be made. Options remain set in the handle until set again to something different. They are sticky. Multiple requests using the same handle will use the same options. If you at any point would like to blank all previously set options for a single easy handle, you can call \fIcurl_easy_reset(3)\fP and you can also make a clone of an easy handle (with all its set options) using \fIcurl_easy_duphandle(3)\fP. Many of the options you set in libcurl are "strings", pointers to data terminated with a zero byte. When you set strings with \fIcurl_easy_setopt(3)\fP, libcurl makes its own copy so that they don't need to be kept around in your application after being set[4]. One of the most basic properties to set in the handle is the URL. You set your preferred URL to transfer with \fICURLOPT_URL(3)\fP in a manner similar to: .nf curl_easy_setopt(handle, CURLOPT_URL, "http://domain.com/"); .fi Let's assume for a while that you want to receive data as the URL identifies a remote resource you want to get here. Since you write a sort of application that needs this transfer, I assume that you would like to get the data passed to you directly instead of simply getting it passed to stdout. So, you write your own function that matches this prototype: size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp); You tell libcurl to pass all data to this function by issuing a function similar to this: curl_easy_setopt(easyhandle, CURLOPT_WRITEFUNCTION, write_data); You can control what data your callback function gets in the fourth argument by setting another property: curl_easy_setopt(easyhandle, CURLOPT_WRITEDATA, &internal_struct); Using that property, you can easily pass local data between your application and the function that gets invoked by libcurl. libcurl itself won't touch the data you pass with \fICURLOPT_WRITEDATA(3)\fP. libcurl offers its own default internal callback that will take care of the data if you don't set the callback with \fICURLOPT_WRITEFUNCTION(3)\fP. It will then simply output the received data to stdout. You can have the default callback write the data to a different file handle by passing a 'FILE *' to a file opened for writing with the \fICURLOPT_WRITEDATA(3)\fP option. Now, we need to take a step back and have a deep breath. Here's one of those rare platform-dependent nitpicks. Did you spot it? On some platforms[2], libcurl won't be able to operate on files opened by the program. Thus, if you use the default callback and pass in an open file with \fICURLOPT_WRITEDATA(3)\fP, it will crash. You should therefore avoid this to make your program run fine virtually everywhere. (\fICURLOPT_WRITEDATA(3)\fP was formerly known as \fICURLOPT_FILE\fP. Both names still work and do the same thing). If you're using libcurl as a win32 DLL, you MUST use the \fICURLOPT_WRITEFUNCTION(3)\fP if you set \fICURLOPT_WRITEDATA(3)\fP - or you will experience crashes. There are of course many more options you can set, and we'll get back to a few of them later. Let's instead continue to the actual transfer: success = curl_easy_perform(easyhandle); \fIcurl_easy_perform(3)\fP will connect to the remote site, do the necessary commands and receive the transfer. Whenever it receives data, it calls the callback function we previously set. The function may get one byte at a time, or it may get many kilobytes at once. libcurl delivers as much as possible as often as possible. Your callback function should return the number of bytes it \&"took care of". If that is not the exact same amount of bytes that was passed to it, libcurl will abort the operation and return with an error code. When the transfer is complete, the function returns a return code that informs you if it succeeded in its mission or not. If a return code isn't enough for you, you can use the \fICURLOPT_ERRORBUFFER(3)\fP to point libcurl to a buffer of yours where it'll store a human readable error message as well. If you then want to transfer another file, the handle is ready to be used again. Mind you, it is even preferred that you re-use an existing handle if you intend to make another transfer. libcurl will then attempt to re-use the previous connection. For some protocols, downloading a file can involve a complicated process of logging in, setting the transfer mode, changing the current directory and finally transferring the file data. libcurl takes care of all that complication for you. Given simply the URL to a file, libcurl will take care of all the details needed to get the file moved from one machine to another. .SH "Multi-threading Issues" libcurl is thread safe but there are a few exceptions. Refer to \fIlibcurl-thread(3)\fP for more information. .SH "When It Doesn't Work" There will always be times when the transfer fails for some reason. You might have set the wrong libcurl option or misunderstood what the libcurl option actually does, or the remote server might return non-standard replies that confuse the library which then confuses your program. There's one golden rule when these things occur: set the \fICURLOPT_VERBOSE(3)\fP option to 1. It'll cause the library to spew out the entire protocol details it sends, some internal info and some received protocol data as well (especially when using FTP). If you're using HTTP, adding the headers in the received output to study is also a clever way to get a better understanding why the server behaves the way it does. Include headers in the normal body output with \fICURLOPT_HEADER(3)\fP set 1. Of course, there are bugs left. We need to know about them to be able to fix them, so we're quite dependent on your bug reports! When you do report suspected bugs in libcurl, please include as many details as you possibly can: a protocol dump that \fICURLOPT_VERBOSE(3)\fP produces, library version, as much as possible of your code that uses libcurl, operating system name and version, compiler name and version etc. If \fICURLOPT_VERBOSE(3)\fP is not enough, you increase the level of debug data your application receive by using the \fICURLOPT_DEBUGFUNCTION(3)\fP. Getting some in-depth knowledge about the protocols involved is never wrong, and if you're trying to do funny things, you might very well understand libcurl and how to use it better if you study the appropriate RFC documents at least briefly. .SH "Upload Data to a Remote Site" libcurl tries to keep a protocol independent approach to most transfers, thus uploading to a remote FTP site is very similar to uploading data to a HTTP server with a PUT request. Of course, first you either create an easy handle or you re-use one existing one. Then you set the URL to operate on just like before. This is the remote URL, that we now will upload. Since we write an application, we most likely want libcurl to get the upload data by asking us for it. To make it do that, we set the read callback and the custom pointer libcurl will pass to our read callback. The read callback should have a prototype similar to: size_t function(char *bufptr, size_t size, size_t nitems, void *userp); Where bufptr is the pointer to a buffer we fill in with data to upload and size*nitems is the size of the buffer and therefore also the maximum amount of data we can return to libcurl in this call. The 'userp' pointer is the custom pointer we set to point to a struct of ours to pass private data between the application and the callback. curl_easy_setopt(easyhandle, CURLOPT_READFUNCTION, read_function); curl_easy_setopt(easyhandle, CURLOPT_READDATA, &filedata); Tell libcurl that we want to upload: curl_easy_setopt(easyhandle, CURLOPT_UPLOAD, 1L); A few protocols won't behave properly when uploads are done without any prior knowledge of the expected file size. So, set the upload file size using the \fICURLOPT_INFILESIZE_LARGE(3)\fP for all known file sizes like this[1]: .nf /* in this example, file_size must be an curl_off_t variable */ curl_easy_setopt(easyhandle, CURLOPT_INFILESIZE_LARGE, file_size); .fi When you call \fIcurl_easy_perform(3)\fP this time, it'll perform all the necessary operations and when it has invoked the upload it'll call your supplied callback to get the data to upload. The program should return as much data as possible in every invoke, as that is likely to make the upload perform as fast as possible. The callback should return the number of bytes it wrote in the buffer. Returning 0 will signal the end of the upload. .SH "Passwords" Many protocols use or even require that user name and password are provided to be able to download or upload the data of your choice. libcurl offers several ways to specify them. Most protocols support that you specify the name and password in the URL itself. libcurl will detect this and use them accordingly. This is written like this: protocol://user:password@example.com/path/ If you need any odd letters in your user name or password, you should enter them URL encoded, as %XX where XX is a two-digit hexadecimal number. libcurl also provides options to set various passwords. The user name and password as shown embedded in the URL can instead get set with the \fICURLOPT_USERPWD(3)\fP option. The argument passed to libcurl should be a char * to a string in the format "user:password". In a manner like this: curl_easy_setopt(easyhandle, CURLOPT_USERPWD, "myname:thesecret"); Another case where name and password might be needed at times, is for those users who need to authenticate themselves to a proxy they use. libcurl offers another option for this, the \fICURLOPT_PROXYUSERPWD(3)\fP. It is used quite similar to the \fICURLOPT_USERPWD(3)\fP option like this: curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "myname:thesecret"); There's a long time Unix "standard" way of storing FTP user names and passwords, namely in the $HOME/.netrc file. The file should be made private so that only the user may read it (see also the "Security Considerations" chapter), as it might contain the password in plain text. libcurl has the ability to use this file to figure out what set of user name and password to use for a particular host. As an extension to the normal functionality, libcurl also supports this file for non-FTP protocols such as HTTP. To make curl use this file, use the \fICURLOPT_NETRC(3)\fP option: curl_easy_setopt(easyhandle, CURLOPT_NETRC, 1L); And a very basic example of how such a .netrc file may look like: .nf machine myhost.mydomain.com login userlogin password secretword .fi All these examples have been cases where the password has been optional, or at least you could leave it out and have libcurl attempt to do its job without it. There are times when the password isn't optional, like when you're using an SSL private key for secure transfers. To pass the known private key password to libcurl: curl_easy_setopt(easyhandle, CURLOPT_KEYPASSWD, "keypassword"); .SH "HTTP Authentication" The previous chapter showed how to set user name and password for getting URLs that require authentication. When using the HTTP protocol, there are many different ways a client can provide those credentials to the server and you can control which way libcurl will (attempt to) use them. The default HTTP authentication method is called 'Basic', which is sending the name and password in clear-text in the HTTP request, base64-encoded. This is insecure. At the time of this writing, libcurl can be built to use: Basic, Digest, NTLM, Negotiate (SPNEGO). You can tell libcurl which one to use with \fICURLOPT_HTTPAUTH(3)\fP as in: curl_easy_setopt(easyhandle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST); And when you send authentication to a proxy, you can also set authentication type the same way but instead with \fICURLOPT_PROXYAUTH(3)\fP: curl_easy_setopt(easyhandle, CURLOPT_PROXYAUTH, CURLAUTH_NTLM); Both these options allow you to set multiple types (by ORing them together), to make libcurl pick the most secure one out of the types the server/proxy claims to support. This method does however add a round-trip since libcurl must first ask the server what it supports: curl_easy_setopt(easyhandle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST|CURLAUTH_BASIC); For convenience, you can use the 'CURLAUTH_ANY' define (instead of a list with specific types) which allows libcurl to use whatever method it wants. When asking for multiple types, libcurl will pick the available one it considers "best" in its own internal order of preference. .SH "HTTP POSTing" We get many questions regarding how to issue HTTP POSTs with libcurl the proper way. This chapter will thus include examples using both different versions of HTTP POST that libcurl supports. The first version is the simple POST, the most common version, that most HTML pages using the

tag uses. We provide a pointer to the data and tell libcurl to post it all to the remote site: .nf char *data="name=daniel&project=curl"; curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDS, data); curl_easy_setopt(easyhandle, CURLOPT_URL, "http://posthere.com/"); curl_easy_perform(easyhandle); /* post away! */ .fi Simple enough, huh? Since you set the POST options with the \fICURLOPT_POSTFIELDS(3)\fP, this automatically switches the handle to use POST in the upcoming request. Ok, so what if you want to post binary data that also requires you to set the Content-Type: header of the post? Well, binary posts prevent libcurl from being able to do strlen() on the data to figure out the size, so therefore we must tell libcurl the size of the post data. Setting headers in libcurl requests are done in a generic way, by building a list of our own headers and then passing that list to libcurl. .nf struct curl_slist *headers=NULL; headers = curl_slist_append(headers, "Content-Type: text/xml"); /* post binary data */ curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDS, binaryptr); /* set the size of the postfields data */ curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDSIZE, 23L); /* pass our list of custom made headers */ curl_easy_setopt(easyhandle, CURLOPT_HTTPHEADER, headers); curl_easy_perform(easyhandle); /* post away! */ curl_slist_free_all(headers); /* free the header list */ .fi While the simple examples above cover the majority of all cases where HTTP POST operations are required, they don't do multi-part formposts. Multi-part formposts were introduced as a better way to post (possibly large) binary data and were first documented in the RFC1867 (updated in RFC2388). They're called multi-part because they're built by a chain of parts, each part being a single unit of data. Each part has its own name and contents. You can in fact create and post a multi-part formpost with the regular libcurl POST support described above, but that would require that you build a formpost yourself and provide to libcurl. To make that easier, libcurl provides \fIcurl_formadd(3)\fP. Using this function, you add parts to the form. When you're done adding parts, you post the whole form. The following example sets two simple text parts with plain textual contents, and then a file with binary contents and uploads the whole thing. .nf struct curl_httppost *post=NULL; struct curl_httppost *last=NULL; curl_formadd(&post, &last, CURLFORM_COPYNAME, "name", CURLFORM_COPYCONTENTS, "daniel", CURLFORM_END); curl_formadd(&post, &last, CURLFORM_COPYNAME, "project", CURLFORM_COPYCONTENTS, "curl", CURLFORM_END); curl_formadd(&post, &last, CURLFORM_COPYNAME, "logotype-image", CURLFORM_FILECONTENT, "curl.png", CURLFORM_END); /* Set the form info */ curl_easy_setopt(easyhandle, CURLOPT_HTTPPOST, post); curl_easy_perform(easyhandle); /* post away! */ /* free the post data again */ curl_formfree(post); .fi Multipart formposts are chains of parts using MIME-style separators and headers. It means that each one of these separate parts get a few headers set that describe the individual content-type, size etc. To enable your application to handicraft this formpost even more, libcurl allows you to supply your own set of custom headers to such an individual form part. You can of course supply headers to as many parts as you like, but this little example will show how you set headers to one specific part when you add that to the post handle: .nf struct curl_slist *headers=NULL; headers = curl_slist_append(headers, "Content-Type: text/xml"); curl_formadd(&post, &last, CURLFORM_COPYNAME, "logotype-image", CURLFORM_FILECONTENT, "curl.xml", CURLFORM_CONTENTHEADER, headers, CURLFORM_END); curl_easy_perform(easyhandle); /* post away! */ curl_formfree(post); /* free post */ curl_slist_free_all(headers); /* free custom header list */ .fi Since all options on an easyhandle are "sticky", they remain the same until changed even if you do call \fIcurl_easy_perform(3)\fP, you may need to tell curl to go back to a plain GET request if you intend to do one as your next request. You force an easyhandle to go back to GET by using the \fICURLOPT_HTTPGET(3)\fP option: curl_easy_setopt(easyhandle, CURLOPT_HTTPGET, 1L); Just setting \fICURLOPT_POSTFIELDS(3)\fP to "" or NULL will *not* stop libcurl from doing a POST. It will just make it POST without any data to send! .SH "Showing Progress" For historical and traditional reasons, libcurl has a built-in progress meter that can be switched on and then makes it present a progress meter in your terminal. Switch on the progress meter by, oddly enough, setting \fICURLOPT_NOPROGRESS(3)\fP to zero. This option is set to 1 by default. For most applications however, the built-in progress meter is useless and what instead is interesting is the ability to specify a progress callback. The function pointer you pass to libcurl will then be called on irregular intervals with information about the current transfer. Set the progress callback by using \fICURLOPT_PROGRESSFUNCTION(3)\fP. And pass a pointer to a function that matches this prototype: .nf int progress_callback(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow); .fi If any of the input arguments is unknown, a 0 will be passed. The first argument, the 'clientp' is the pointer you pass to libcurl with \fICURLOPT_PROGRESSDATA(3)\fP. libcurl won't touch it. .SH "libcurl with C++" There's basically only one thing to keep in mind when using C++ instead of C when interfacing libcurl: The callbacks CANNOT be non-static class member functions Example C++ code: .nf class AClass { static size_t write_data(void *ptr, size_t size, size_t nmemb, void *ourpointer) { /* do what you want with the data */ } } .fi .SH "Proxies" What "proxy" means according to Merriam-Webster: "a person authorized to act for another" but also "the agency, function, or office of a deputy who acts as a substitute for another". Proxies are exceedingly common these days. Companies often only offer Internet access to employees through their proxies. Network clients or user-agents ask the proxy for documents, the proxy does the actual request and then it returns them. libcurl supports SOCKS and HTTP proxies. When a given URL is wanted, libcurl will ask the proxy for it instead of trying to connect to the actual host identified in the URL. If you're using a SOCKS proxy, you may find that libcurl doesn't quite support all operations through it. For HTTP proxies: the fact that the proxy is a HTTP proxy puts certain restrictions on what can actually happen. A requested URL that might not be a HTTP URL will be still be passed to the HTTP proxy to deliver back to libcurl. This happens transparently, and an application may not need to know. I say "may", because at times it is very important to understand that all operations over a HTTP proxy use the HTTP protocol. For example, you can't invoke your own custom FTP commands or even proper FTP directory listings. .IP "Proxy Options" To tell libcurl to use a proxy at a given port number: curl_easy_setopt(easyhandle, CURLOPT_PROXY, "proxy-host.com:8080"); Some proxies require user authentication before allowing a request, and you pass that information similar to this: curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "user:password"); If you want to, you can specify the host name only in the \fICURLOPT_PROXY(3)\fP option, and set the port number separately with \fICURLOPT_PROXYPORT(3)\fP. Tell libcurl what kind of proxy it is with \fICURLOPT_PROXYTYPE(3)\fP (if not, it will default to assume a HTTP proxy): curl_easy_setopt(easyhandle, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4); .IP "Environment Variables" libcurl automatically checks and uses a set of environment variables to know what proxies to use for certain protocols. The names of the variables are following an ancient de facto standard and are built up as "[protocol]_proxy" (note the lower casing). Which makes the variable \&'http_proxy' checked for a name of a proxy to use when the input URL is HTTP. Following the same rule, the variable named 'ftp_proxy' is checked for FTP URLs. Again, the proxies are always HTTP proxies, the different names of the variables simply allows different HTTP proxies to be used. The proxy environment variable contents should be in the format \&"[protocol://][user:password@]machine[:port]". Where the protocol:// part is simply ignored if present (so http://proxy and bluerk://proxy will do the same) and the optional port number specifies on which port the proxy operates on the host. If not specified, the internal default port number will be used and that is most likely *not* the one you would like it to be. There are two special environment variables. 'all_proxy' is what sets proxy for any URL in case the protocol specific variable wasn't set, and \&'no_proxy' defines a list of hosts that should not use a proxy even though a variable may say so. If 'no_proxy' is a plain asterisk ("*") it matches all hosts. To explicitly disable libcurl's checking for and using the proxy environment variables, set the proxy name to "" - an empty string - with \fICURLOPT_PROXY(3)\fP. .IP "SSL and Proxies" SSL is for secure point-to-point connections. This involves strong encryption and similar things, which effectively makes it impossible for a proxy to operate as a "man in between" which the proxy's task is, as previously discussed. Instead, the only way to have SSL work over a HTTP proxy is to ask the proxy to tunnel trough everything without being able to check or fiddle with the traffic. Opening an SSL connection over a HTTP proxy is therefor a matter of asking the proxy for a straight connection to the target host on a specified port. This is made with the HTTP request CONNECT. ("please mr proxy, connect me to that remote host"). Because of the nature of this operation, where the proxy has no idea what kind of data that is passed in and out through this tunnel, this breaks some of the very few advantages that come from using a proxy, such as caching. Many organizations prevent this kind of tunneling to other destination port numbers than 443 (which is the default HTTPS port number). .IP "Tunneling Through Proxy" As explained above, tunneling is required for SSL to work and often even restricted to the operation intended for SSL; HTTPS. This is however not the only time proxy-tunneling might offer benefits to you or your application. As tunneling opens a direct connection from your application to the remote machine, it suddenly also re-introduces the ability to do non-HTTP operations over a HTTP proxy. You can in fact use things such as FTP upload or FTP custom commands this way. Again, this is often prevented by the administrators of proxies and is rarely allowed. Tell libcurl to use proxy tunneling like this: curl_easy_setopt(easyhandle, CURLOPT_HTTPPROXYTUNNEL, 1L); In fact, there might even be times when you want to do plain HTTP operations using a tunnel like this, as it then enables you to operate on the remote server instead of asking the proxy to do so. libcurl will not stand in the way for such innovative actions either! .IP "Proxy Auto-Config" Netscape first came up with this. It is basically a web page (usually using a \&.pac extension) with a Javascript that when executed by the browser with the requested URL as input, returns information to the browser on how to connect to the URL. The returned information might be "DIRECT" (which means no proxy should be used), "PROXY host:port" (to tell the browser where the proxy for this particular URL is) or "SOCKS host:port" (to direct the browser to a SOCKS proxy). libcurl has no means to interpret or evaluate Javascript and thus it doesn't support this. If you get yourself in a position where you face this nasty invention, the following advice have been mentioned and used in the past: - Depending on the Javascript complexity, write up a script that translates it to another language and execute that. - Read the Javascript code and rewrite the same logic in another language. - Implement a Javascript interpreter; people have successfully used the Mozilla Javascript engine in the past. - Ask your admins to stop this, for a static proxy setup or similar. .SH "Persistence Is The Way to Happiness" Re-cycling the same easy handle several times when doing multiple requests is the way to go. After each single \fIcurl_easy_perform(3)\fP operation, libcurl will keep the connection alive and open. A subsequent request using the same easy handle to the same host might just be able to use the already open connection! This reduces network impact a lot. Even if the connection is dropped, all connections involving SSL to the same host again, will benefit from libcurl's session ID cache that drastically reduces re-connection time. FTP connections that are kept alive save a lot of time, as the command- response round-trips are skipped, and also you don't risk getting blocked without permission to login again like on many FTP servers only allowing N persons to be logged in at the same time. libcurl caches DNS name resolving results, to make lookups of a previously looked up name a lot faster. Other interesting details that improve performance for subsequent requests may also be added in the future. Each easy handle will attempt to keep the last few connections alive for a while in case they are to be used again. You can set the size of this "cache" with the \fICURLOPT_MAXCONNECTS(3)\fP option. Default is 5. There is very seldom any point in changing this value, and if you think of changing this it is often just a matter of thinking again. To force your upcoming request to not use an already existing connection (it will even close one first if there happens to be one alive to the same host you're about to operate on), you can do that by setting \fICURLOPT_FRESH_CONNECT(3)\fP to 1. In a similar spirit, you can also forbid the upcoming request to be "lying" around and possibly get re-used after the request by setting \fICURLOPT_FORBID_REUSE(3)\fP to 1. .SH "HTTP Headers Used by libcurl" When you use libcurl to do HTTP requests, it'll pass along a series of headers automatically. It might be good for you to know and understand these. You can replace or remove them by using the \fICURLOPT_HTTPHEADER(3)\fP option. .IP "Host" This header is required by HTTP 1.1 and even many 1.0 servers and should be the name of the server we want to talk to. This includes the port number if anything but default. .IP "Accept" \&"*/*". .IP "Expect" When doing POST requests, libcurl sets this header to \&"100-continue" to ask the server for an "OK" message before it proceeds with sending the data part of the post. If the POSTed data amount is deemed "small", libcurl will not use this header. .SH "Customizing Operations" There is an ongoing development today where more and more protocols are built upon HTTP for transport. This has obvious benefits as HTTP is a tested and reliable protocol that is widely deployed and has excellent proxy-support. When you use one of these protocols, and even when doing other kinds of programming you may need to change the traditional HTTP (or FTP or...) manners. You may need to change words, headers or various data. libcurl is your friend here too. .IP CUSTOMREQUEST If just changing the actual HTTP request keyword is what you want, like when GET, HEAD or POST is not good enough for you, \fICURLOPT_CUSTOMREQUEST(3)\fP is there for you. It is very simple to use: curl_easy_setopt(easyhandle, CURLOPT_CUSTOMREQUEST, "MYOWNREQUEST"); When using the custom request, you change the request keyword of the actual request you are performing. Thus, by default you make a GET request but you can also make a POST operation (as described before) and then replace the POST keyword if you want to. You're the boss. .IP "Modify Headers" HTTP-like protocols pass a series of headers to the server when doing the request, and you're free to pass any amount of extra headers that you think fit. Adding headers is this easy: .nf struct curl_slist *headers=NULL; /* init to NULL is important */ headers = curl_slist_append(headers, "Hey-server-hey: how are you?"); headers = curl_slist_append(headers, "X-silly-content: yes"); /* pass our list of custom made headers */ curl_easy_setopt(easyhandle, CURLOPT_HTTPHEADER, headers); curl_easy_perform(easyhandle); /* transfer http */ curl_slist_free_all(headers); /* free the header list */ .fi \&... and if you think some of the internally generated headers, such as Accept: or Host: don't contain the data you want them to contain, you can replace them by simply setting them too: .nf headers = curl_slist_append(headers, "Accept: Agent-007"); headers = curl_slist_append(headers, "Host: munged.host.line"); .fi .IP "Delete Headers" If you replace an existing header with one with no contents, you will prevent the header from being sent. For instance, if you want to completely prevent the \&"Accept:" header from being sent, you can disable it with code similar to this: headers = curl_slist_append(headers, "Accept:"); Both replacing and canceling internal headers should be done with careful consideration and you should be aware that you may violate the HTTP protocol when doing so. .IP "Enforcing chunked transfer-encoding" By making sure a request uses the custom header "Transfer-Encoding: chunked" when doing a non-GET HTTP operation, libcurl will switch over to "chunked" upload, even though the size of the data to upload might be known. By default, libcurl usually switches over to chunked upload automatically if the upload data size is unknown. .IP "HTTP Version" All HTTP requests includes the version number to tell the server which version we support. libcurl speaks HTTP 1.1 by default. Some very old servers don't like getting 1.1-requests and when dealing with stubborn old things like that, you can tell libcurl to use 1.0 instead by doing something like this: curl_easy_setopt(easyhandle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); .IP "FTP Custom Commands" Not all protocols are HTTP-like, and thus the above may not help you when you want to make, for example, your FTP transfers to behave differently. Sending custom commands to a FTP server means that you need to send the commands exactly as the FTP server expects them (RFC959 is a good guide here), and you can only use commands that work on the control-connection alone. All kinds of commands that require data interchange and thus need a data-connection must be left to libcurl's own judgement. Also be aware that libcurl will do its very best to change directory to the target directory before doing any transfer, so if you change directory (with CWD or similar) you might confuse libcurl and then it might not attempt to transfer the file in the correct remote directory. A little example that deletes a given file before an operation: .nf headers = curl_slist_append(headers, "DELE file-to-remove"); /* pass the list of custom commands to the handle */ curl_easy_setopt(easyhandle, CURLOPT_QUOTE, headers); curl_easy_perform(easyhandle); /* transfer ftp data! */ curl_slist_free_all(headers); /* free the header list */ .fi If you would instead want this operation (or chain of operations) to happen _after_ the data transfer took place the option to \fIcurl_easy_setopt(3)\fP would instead be called \fICURLOPT_POSTQUOTE(3)\fP and used the exact same way. The custom FTP command will be issued to the server in the same order they are added to the list, and if a command gets an error code returned back from the server, no more commands will be issued and libcurl will bail out with an error code (CURLE_QUOTE_ERROR). Note that if you use \fICURLOPT_QUOTE(3)\fP to send commands before a transfer, no transfer will actually take place when a quote command has failed. If you set the \fICURLOPT_HEADER(3)\fP to 1, you will tell libcurl to get information about the target file and output "headers" about it. The headers will be in "HTTP-style", looking like they do in HTTP. The option to enable headers or to run custom FTP commands may be useful to combine with \fICURLOPT_NOBODY(3)\fP. If this option is set, no actual file content transfer will be performed. .IP "FTP Custom CUSTOMREQUEST" If you do want to list the contents of a FTP directory using your own defined FTP command, \fICURLOPT_CUSTOMREQUEST(3)\fP will do just that. "NLST" is the default one for listing directories but you're free to pass in your idea of a good alternative. .SH "Cookies Without Chocolate Chips" In the HTTP sense, a cookie is a name with an associated value. A server sends the name and value to the client, and expects it to get sent back on every subsequent request to the server that matches the particular conditions set. The conditions include that the domain name and path match and that the cookie hasn't become too old. In real-world cases, servers send new cookies to replace existing ones to update them. Server use cookies to "track" users and to keep "sessions". Cookies are sent from server to clients with the header Set-Cookie: and they're sent from clients to servers with the Cookie: header. To just send whatever cookie you want to a server, you can use \fICURLOPT_COOKIE(3)\fP to set a cookie string like this: curl_easy_setopt(easyhandle, CURLOPT_COOKIE, "name1=var1; name2=var2;"); In many cases, that is not enough. You might want to dynamically save whatever cookies the remote server passes to you, and make sure those cookies are then used accordingly on later requests. One way to do this, is to save all headers you receive in a plain file and when you make a request, you tell libcurl to read the previous headers to figure out which cookies to use. Set the header file to read cookies from with \fICURLOPT_COOKIEFILE(3)\fP. The \fICURLOPT_COOKIEFILE(3)\fP option also automatically enables the cookie parser in libcurl. Until the cookie parser is enabled, libcurl will not parse or understand incoming cookies and they will just be ignored. However, when the parser is enabled the cookies will be understood and the cookies will be kept in memory and used properly in subsequent requests when the same handle is used. Many times this is enough, and you may not have to save the cookies to disk at all. Note that the file you specify to \fICURLOPT_COOKIEFILE(3)\fP doesn't have to exist to enable the parser, so a common way to just enable the parser and not read any cookies is to use the name of a file you know doesn't exist. If you would rather use existing cookies that you've previously received with your Netscape or Mozilla browsers, you can make libcurl use that cookie file as input. The \fICURLOPT_COOKIEFILE(3)\fP is used for that too, as libcurl will automatically find out what kind of file it is and act accordingly. Perhaps the most advanced cookie operation libcurl offers, is saving the entire internal cookie state back into a Netscape/Mozilla formatted cookie file. We call that the cookie-jar. When you set a file name with \fICURLOPT_COOKIEJAR(3)\fP, that file name will be created and all received cookies will be stored in it when \fIcurl_easy_cleanup(3)\fP is called. This enables cookies to get passed on properly between multiple handles without any information getting lost. .SH "FTP Peculiarities We Need" FTP transfers use a second TCP/IP connection for the data transfer. This is usually a fact you can forget and ignore but at times this fact will come back to haunt you. libcurl offers several different ways to customize how the second connection is being made. libcurl can either connect to the server a second time or tell the server to connect back to it. The first option is the default and it is also what works best for all the people behind firewalls, NATs or IP-masquerading setups. libcurl then tells the server to open up a new port and wait for a second connection. This is by default attempted with EPSV first, and if that doesn't work it tries PASV instead. (EPSV is an extension to the original FTP spec and does not exist nor work on all FTP servers.) You can prevent libcurl from first trying the EPSV command by setting \fICURLOPT_FTP_USE_EPSV(3)\fP to zero. In some cases, you will prefer to have the server connect back to you for the second connection. This might be when the server is perhaps behind a firewall or something and only allows connections on a single port. libcurl then informs the remote server which IP address and port number to connect to. This is made with the \fICURLOPT_FTPPORT(3)\fP option. If you set it to "-", libcurl will use your system's "default IP address". If you want to use a particular IP, you can set the full IP address, a host name to resolve to an IP address or even a local network interface name that libcurl will get the IP address from. When doing the "PORT" approach, libcurl will attempt to use the EPRT and the LPRT before trying PORT, as they work with more protocols. You can disable this behavior by setting \fICURLOPT_FTP_USE_EPRT(3)\fP to zero. .SH "Headers Equal Fun" Some protocols provide "headers", meta-data separated from the normal data. These headers are by default not included in the normal data stream, but you can make them appear in the data stream by setting \fICURLOPT_HEADER(3)\fP to 1. What might be even more useful, is libcurl's ability to separate the headers from the data and thus make the callbacks differ. You can for example set a different pointer to pass to the ordinary write callback by setting \fICURLOPT_HEADERDATA(3)\fP. Or, you can set an entirely separate function to receive the headers, by using \fICURLOPT_HEADERFUNCTION(3)\fP. The headers are passed to the callback function one by one, and you can depend on that fact. It makes it easier for you to add custom header parsers etc. \&"Headers" for FTP transfers equal all the FTP server responses. They aren't actually true headers, but in this case we pretend they are! ;-) .SH "Post Transfer Information" [ curl_easy_getinfo ] .SH "Security Considerations" The libcurl project takes security seriously. The library is written with caution and precautions are taken to mitigate many kinds of risks encountered while operating with potentially malicious servers on the Internet. It is a powerful library, however, which allows application writers to make trade offs between ease of writing and exposure to potential risky operations. If used the right way, you can use libcurl to transfer data pretty safely. Many applications are used in closed networks where users and servers can be trusted, but many others are used on arbitrary servers and are fed input from potentially untrusted users. Following is a discussion about some risks in the ways in which applications commonly use libcurl and potential mitigations of those risks. It is by no means comprehensive, but shows classes of attacks that robust applications should consider. The Common Weakness Enumeration project at http://cwe.mitre.org/ is a good reference for many of these and similar types of weaknesses of which application writers should be aware. .IP "Command Lines" If you use a command line tool (such as curl) that uses libcurl, and you give options to the tool on the command line those options can very likely get read by other users of your system when they use 'ps' or other tools to list currently running processes. To avoid this problem, never feed sensitive things to programs using command line options. Write them to a protected file and use the \-K option to avoid this. .IP ".netrc" \&.netrc is a pretty handy file/feature that allows you to login quickly and automatically to frequently visited sites. The file contains passwords in clear text and is a real security risk. In some cases, your .netrc is also stored in a home directory that is NFS mounted or used on another network based file system, so the clear text password will fly through your network every time anyone reads that file! To avoid this problem, don't use .netrc files and never store passwords in plain text anywhere. .IP "Clear Text Passwords" Many of the protocols libcurl supports send name and password unencrypted as clear text (HTTP Basic authentication, FTP, TELNET etc). It is very easy for anyone on your network or a network nearby yours to just fire up a network analyzer tool and eavesdrop on your passwords. Don't let the fact that HTTP Basic uses base64 encoded passwords fool you. They may not look readable at a first glance, but they very easily "deciphered" by anyone within seconds. To avoid this problem, use an authentication mechanism or other protocol that doesn't let snoopers see your password: Digest, CRAM-MD5, Kerberos, SPNEGO or NTLM authentication, HTTPS, FTPS, SCP and SFTP are a few examples. .IP "Redirects" The \fICURLOPT_FOLLOWLOCATION(3)\fP option automatically follows HTTP redirects sent by a remote server. These redirects can refer to any kind of URL, not just HTTP. By default libcurl will allow all protocols on redirect except several disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are also disabled. A redirect to a file: URL would cause the libcurl to read (or write) arbitrary files from the local filesystem. If the application returns the data back to the user (as would happen in some kinds of CGI scripts), an attacker could leverage this to read otherwise forbidden data (e.g. file://localhost/etc/passwd). If authentication credentials are stored in the ~/.netrc file, or Kerberos is in use, any other URL type (not just file:) that requires authentication is also at risk. A redirect such as ftp://some-internal-server/private-file would then return data even when the server is password protected. In the same way, if an unencrypted SSH private key has been configured for the user running the libcurl application, SCP: or SFTP: URLs could access password or private-key protected resources, e.g. sftp://user@some-internal-server/etc/passwd The \fICURLOPT_REDIR_PROTOCOLS(3)\fP and \fICURLOPT_NETRC(3)\fP options can be used to mitigate against this kind of attack. A redirect can also specify a location available only on the machine running libcurl, including servers hidden behind a firewall from the attacker. e.g. http://127.0.0.1/ or http://intranet/delete-stuff.cgi?delete=all or tftp://bootp-server/pc-config-data Apps can mitigate against this by disabling \fICURLOPT_FOLLOWLOCATION(3)\fP and handling redirects itself, sanitizing URLs as necessary. Alternately, an app could leave \fICURLOPT_FOLLOWLOCATION(3)\fP enabled but set \fICURLOPT_REDIR_PROTOCOLS(3)\fP and install a \fICURLOPT_OPENSOCKETFUNCTION(3)\fP callback function in which addresses are sanitized before use. .IP "Private Resources" A user who can control the DNS server of a domain being passed in within a URL can change the address of the host to a local, private address which a server-side libcurl-using application could then use. e.g. the innocuous URL http://fuzzybunnies.example.com/ could actually resolve to the IP address of a server behind a firewall, such as 127.0.0.1 or 10.1.2.3. Apps can mitigate against this by setting a \fICURLOPT_OPENSOCKETFUNCTION(3)\fP and checking the address before a connection. All the malicious scenarios regarding redirected URLs apply just as well to non-redirected URLs, if the user is allowed to specify an arbitrary URL that could point to a private resource. For example, a web app providing a translation service might happily translate file://localhost/etc/passwd and display the result. Apps can mitigate against this with the \fICURLOPT_PROTOCOLS(3)\fP option as well as by similar mitigation techniques for redirections. A malicious FTP server could in response to the PASV command return an IP address and port number for a server local to the app running libcurl but behind a firewall. Apps can mitigate against this by using the \fICURLOPT_FTP_SKIP_PASV_IP(3)\fP option or \fICURLOPT_FTPPORT(3)\fP. .IP "IPv6 Addresses" libcurl will normally handle IPv6 addresses transparently and just as easily as IPv4 addresses. That means that a sanitizing function that filters out addressses like 127.0.0.1 isn't sufficient--the equivalent IPv6 addresses ::1, ::, 0:00::0:1, ::127.0.0.1 and ::ffff:7f00:1 supplied somehow by an attacker would all bypass a naive filter and could allow access to undesired local resources. IPv6 also has special address blocks like link-local and site-local that generally shouldn't be accessed by a server-side libcurl-using application. A poorly-configured firewall installed in a data center, organization or server may also be configured to limit IPv4 connections but leave IPv6 connections wide open. In some cases, the CURL_IPRESOLVE_V4 option can be used to limit resolved addresses to IPv4 only and bypass these issues. .IP Uploads When uploading, a redirect can cause a local (or remote) file to be overwritten. Apps must not allow any unsanitized URL to be passed in for uploads. Also, \fICURLOPT_FOLLOWLOCATION(3)\fP should not be used on uploads. Instead, the app should handle redirects itself, sanitizing each URL first. .IP Authentication Use of \fICURLOPT_UNRESTRICTED_AUTH(3)\fP could cause authentication information to be sent to an unknown second server. Apps can mitigate against this by disabling \fICURLOPT_FOLLOWLOCATION(3)\fP and handling redirects itself, sanitizing where necessary. Use of the CURLAUTH_ANY option to \fICURLOPT_HTTPAUTH(3)\fP could result in user name and password being sent in clear text to an HTTP server. Instead, use CURLAUTH_ANYSAFE which ensures that the password is encrypted over the network, or else fail the request. Use of the CURLUSESSL_TRY option to \fICURLOPT_USE_SSL(3)\fP could result in user name and password being sent in clear text to an FTP server. Instead, use CURLUSESSL_CONTROL to ensure that an encrypted connection is used or else fail the request. .IP Cookies If cookies are enabled and cached, then a user could craft a URL which performs some malicious action to a site whose authentication is already stored in a cookie. e.g. http://mail.example.com/delete-stuff.cgi?delete=all Apps can mitigate against this by disabling cookies or clearing them between requests. .IP "Dangerous URLs" SCP URLs can contain raw commands within the scp: URL, which is a side effect of how the SCP protocol is designed. e.g. scp://user:pass@host/a;date >/tmp/test; Apps must not allow unsanitized SCP: URLs to be passed in for downloads. .IP "Denial of Service" A malicious server could cause libcurl to effectively hang by sending a trickle of data through, or even no data at all but just keeping the TCP connection open. This could result in a denial-of-service attack. The \fICURLOPT_TIMEOUT(3)\fP and/or \fICURLOPT_LOW_SPEED_LIMIT(3)\fP options can be used to mitigate against this. A malicious server could cause libcurl to effectively hang by starting to send data, then severing the connection without cleanly closing the TCP connection. The app could install a \fICURLOPT_SOCKOPTFUNCTION(3)\fP callback function and set the TCP SO_KEEPALIVE option to mitigate against this. Setting one of the timeout options would also work against this attack. A malicious server could cause libcurl to download an infinite amount of data, potentially causing all of memory or disk to be filled. Setting the \fICURLOPT_MAXFILESIZE_LARGE(3)\fP option is not sufficient to guard against this. Instead, the app should monitor the amount of data received within the write or progress callback and abort once the limit is reached. A malicious HTTP server could cause an infinite redirection loop, causing a denial-of-service. This can be mitigated by using the \fICURLOPT_MAXREDIRS(3)\fP option. .IP "Arbitrary Headers" User-supplied data must be sanitized when used in options like \fICURLOPT_USERAGENT(3)\fP, \fICURLOPT_HTTPHEADER(3)\fP, \fICURLOPT_POSTFIELDS(3)\fP and others that are used to generate structured data. Characters like embedded carriage returns or ampersands could allow the user to create additional headers or fields that could cause malicious transactions. .IP "Server-supplied Names" A server can supply data which the application may, in some cases, use as a file name. The curl command-line tool does this with --remote-header-name, using the Content-disposition: header to generate a file name. An application could also use CURLINFO_EFFECTIVE_URL to generate a file name from a server-supplied redirect URL. Special care must be taken to sanitize such names to avoid the possibility of a malicious server supplying one like "/etc/passwd", "\\autoexec.bat", "prn:" or even ".bashrc". .IP "Server Certificates" A secure application should never use the \fICURLOPT_SSL_VERIFYPEER(3)\fP option to disable certificate validation. There are numerous attacks that are enabled by apps that fail to properly validate server TLS/SSL certificates, thus enabling a malicious server to spoof a legitimate one. HTTPS without validated certificates is potentially as insecure as a plain HTTP connection. .IP "Showing What You Do" On a related issue, be aware that even in situations like when you have problems with libcurl and ask someone for help, everything you reveal in order to get best possible help might also impose certain security related risks. Host names, user names, paths, operating system specifics, etc. (not to mention passwords of course) may in fact be used by intruders to gain additional information of a potential target. Be sure to limit access to application logs if they could hold private or security-related data. Besides the obvious candidates like user names and passwords, things like URLs, cookies or even file names could also hold sensitive data. To avoid this problem, you must of course use your common sense. Often, you can just edit out the sensitive data or just search/replace your true information with faked data. .SH "The multi Interface" The easy interface as described in detail in this document is a synchronous interface that transfers one file at a time and doesn't return until it is done. The multi interface, on the other hand, allows your program to transfer multiple files in both directions at the same time, without forcing you to use multiple threads. The name might make it seem that the multi interface is for multi-threaded programs, but the truth is almost the reverse. The multi interface allows a single-threaded application to perform the same kinds of multiple, simultaneous transfers that multi-threaded programs can perform. It allows many of the benefits of multi-threaded transfers without the complexity of managing and synchronizing many threads. To complicate matters somewhat more, there are even two versions of the multi interface. The event based one, also called multi_socket and the "normal one" designed for using with select(). See the libcurl-multi.3 man page for details on the multi_socket event based API, this description here is for the select() oriented one. To use this interface, you are better off if you first understand the basics of how to use the easy interface. The multi interface is simply a way to make multiple transfers at the same time by adding up multiple easy handles into a "multi stack". You create the easy handles you want, one for each concurrent transfer, and you set all the options just like you learned above, and then you create a multi handle with \fIcurl_multi_init(3)\fP and add all those easy handles to that multi handle with \fIcurl_multi_add_handle(3)\fP. When you've added the handles you have for the moment (you can still add new ones at any time), you start the transfers by calling \fIcurl_multi_perform(3)\fP. \fIcurl_multi_perform(3)\fP is asynchronous. It will only perform what can be done now and then return back control to your program. It is designed to never block. You need to keep calling the function until all transfers are completed. The best usage of this interface is when you do a select() on all possible file descriptors or sockets to know when to call libcurl again. This also makes it easy for you to wait and respond to actions on your own application's sockets/handles. You figure out what to select() for by using \fIcurl_multi_fdset(3)\fP, that fills in a set of fd_set variables for you with the particular file descriptors libcurl uses for the moment. When you then call select(), it'll return when one of the file handles signal action and you then call \fIcurl_multi_perform(3)\fP to allow libcurl to do what it wants to do. Take note that libcurl does also feature some time-out code so we advise you to never use very long timeouts on select() before you call \fIcurl_multi_perform(3)\fP again. \fIcurl_multi_timeout(3)\fP is provided to help you get a suitable timeout period. Another precaution you should use: always call \fIcurl_multi_fdset(3)\fP immediately before the select() call since the current set of file descriptors may change in any curl function invoke. If you want to stop the transfer of one of the easy handles in the stack, you can use \fIcurl_multi_remove_handle(3)\fP to remove individual easy handles. Remember that easy handles should be \fIcurl_easy_cleanup(3)\fPed. When a transfer within the multi stack has finished, the counter of running transfers (as filled in by \fIcurl_multi_perform(3)\fP) will decrease. When the number reaches zero, all transfers are done. \fIcurl_multi_info_read(3)\fP can be used to get information about completed transfers. It then returns the CURLcode for each easy transfer, to allow you to figure out success on each individual transfer. .SH "SSL, Certificates and Other Tricks" [ seeding, passwords, keys, certificates, ENGINE, ca certs ] .SH "Sharing Data Between Easy Handles" You can share some data between easy handles when the easy interface is used, and some data is share automatically when you use the multi interface. When you add easy handles to a multi handle, these easy handles will automatically share a lot of the data that otherwise would be kept on a per-easy handle basis when the easy interface is used. The DNS cache is shared between handles within a multi handle, making subsequent name resolving faster, and the connection pool that is kept to better allow persistent connections and connection re-use is also shared. If you're using the easy interface, you can still share these between specific easy handles by using the share interface, see \fIlibcurl-share(3)\fP. Some things are never shared automatically, not within multi handles, like for example cookies so the only way to share that is with the share interface. .SH "Footnotes" .IP "[1]" libcurl 7.10.3 and later have the ability to switch over to chunked Transfer-Encoding in cases where HTTP uploads are done with data of an unknown size. .IP "[2]" This happens on Windows machines when libcurl is built and used as a DLL. However, you can still do this on Windows if you link with a static library. .IP "[3]" The curl-config tool is generated at build-time (on Unix-like systems) and should be installed with the 'make install' or similar instruction that installs the library, header files, man pages etc. .IP "[4]" This behavior was different in versions before 7.17.0, where strings had to remain valid past the end of the \fIcurl_easy_setopt(3)\fP call. .SH "SEE ALSO" .BR libcurl-errors "(3), " libcurl-multi "(3), " libcurl-easy "(3) " curl-7.47.0/docs/libcurl/curl_slist_free_all.30000644000175000017500000000273312626067776016213 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_slist_free_all 3 "5 March 2001" "libcurl 7.0" "libcurl Manual" .SH NAME curl_slist_free_all - free an entire curl_slist list .SH SYNOPSIS .B #include .sp .BI "void curl_slist_free_all(struct curl_slist *" list); .ad .SH DESCRIPTION curl_slist_free_all() removes all traces of a previously built curl_slist linked list. .SH RETURN VALUE Nothing. .SH "SEE ALSO" .BR curl_slist_append "(3), " curl-7.47.0/docs/libcurl/libcurl-multi.30000644000175000017500000002241712626067776014764 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH libcurl-multi 3 "19 Sep 2014" "libcurl" "libcurl multi interface" .SH NAME libcurl-multi \- how to use the multi interface .SH DESCRIPTION This is an overview on how to use the libcurl multi interface in your C programs. There are specific man pages for each function mentioned in here. There's also the \fIlibcurl-tutorial(3)\fP man page for a complete tutorial to programming with libcurl and the \fIlibcurl-easy(3)\fP man page for an overview of the libcurl easy interface. All functions in the multi interface are prefixed with curl_multi. .SH "OBJECTIVES" The multi interface offers several abilities that the easy interface doesn't. They are mainly: 1. Enable a "pull" interface. The application that uses libcurl decides where and when to ask libcurl to get/send data. 2. Enable multiple simultaneous transfers in the same thread without making it complicated for the application. 3. Enable the application to wait for action on its own file descriptors and curl's file descriptors simultaneous easily. 4. Enable event-based handling and scaling transfers up to and beyond thousands of parallel connections. .SH "ONE MULTI HANDLE MANY EASY HANDLES" To use the multi interface, you must first create a 'multi handle' with \fIcurl_multi_init(3)\fP. This handle is then used as input to all further curl_multi_* functions. With a multi handle and the multi interface you can do several simultaneous transfers in parallel. Each single transfer is built up around an easy handle. You create all the easy handles you need, and setup the appropriate options for each easy handle using \fIcurl_easy_setopt(3)\fP. There are two flavours of the multi interface, the select() oriented one and the event based one we call multi_socket. You will benefit from reading through the description of both versions to fully understand how they work and differentiate. We start out with the select() oriented version. When an easy handle is setup and ready for transfer, then instead of using \fIcurl_easy_perform(3)\fP like when using the easy interface for transfers, you should add the easy handle to the multi handle with \fIcurl_multi_add_handle(3)\fP. You can add more easy handles to a multi handle at any point, even if other transfers are already running. Should you change your mind, the easy handle is again removed from the multi stack using \fIcurl_multi_remove_handle(3)\fP. Once removed from the multi handle, you can again use other easy interface functions like \fIcurl_easy_perform(3)\fP on the handle or whatever you think is necessary. You can remove handles at any point in time during transfers. Adding the easy handle to the multi handle does not start the transfer. Remember that one of the main ideas with this interface is to let your application drive. You drive the transfers by invoking \fIcurl_multi_perform(3)\fP. libcurl will then transfer data if there is anything available to transfer. It'll use the callbacks and everything else you have setup in the individual easy handles. It'll transfer data on all current transfers in the multi stack that are ready to transfer anything. It may be all, it may be none. When there's nothing more to do for now, it returns back to the calling application. Your application extracts info from libcurl about when it would like to get invoked to transfer data or do other work. The most convenient way is to use \fIcurl_multi_wait(3)\fP that will help you wait until the application should call libcurl again. The older API to accomplish the same thing is \fIcurl_multi_fdset(3)\fP that extracts fd_sets from libcurl to use in select() or poll() calls in order to get to know when the transfers in the multi stack might need attention. Both these APIs allow for your program to wait for input on your own private file descriptors at the same time \fIcurl_multi_timeout(3)\fP also helps you with providing a suitable timeout period for your select() calls. \fIcurl_multi_perform(3)\fP stores the number of still running transfers in one of its input arguments, and by reading that you can figure out when all the transfers in the multi handles are done. 'done' does not mean successful. One or more of the transfers may have failed. Tracking when this number changes, you know when one or more transfers are done. To get information about completed transfers, to figure out success or not and similar, \fIcurl_multi_info_read(3)\fP should be called. It can return a message about a current or previous transfer. Repeated invokes of the function get more messages until the message queue is empty. The information you receive there includes an easy handle pointer which you may use to identify which easy handle the information regards. When a single transfer is completed, the easy handle is still left added to the multi stack. You need to first remove the easy handle with \fIcurl_multi_remove_handle(3)\fP and then close it with \fIcurl_easy_cleanup(3)\fP, or possibly set new options to it and add it again with \fIcurl_multi_add_handle(3)\fP to start another transfer. When all transfers in the multi stack are done, close the multi handle with \fIcurl_multi_cleanup(3)\fP. Be careful and please note that you \fBMUST\fP invoke separate \fIcurl_easy_cleanup(3)\fP calls for every single easy handle to clean them up properly. If you want to re-use an easy handle that was added to the multi handle for transfer, you must first remove it from the multi stack and then re-add it again (possibly after having altered some options at your own choice). .SH "MULTI_SOCKET" \fIcurl_multi_socket_action(3)\fP function offers a way for applications to not only avoid being forced to use select(), but it also offers a much more high-performance API that will make a significant difference for applications using large numbers of simultaneous connections. \fIcurl_multi_socket_action(3)\fP is then used instead of \fIcurl_multi_perform(3)\fP. When using this API, you add easy handles to the multi handle just as with the normal multi interface. Then you also set two callbacks with the CURLMOPT_SOCKETFUNCTION and CURLMOPT_TIMERFUNCTION options to \fIcurl_multi_setopt(3)\fP. They are two callback functions that libcurl will call with information about what sockets to wait for, and for what activity, and what the current timeout time is - if that expires libcurl should be notified. The multi_socket API is designed to inform your application about which sockets libcurl is currently using and for what activities (read and/or write) on those sockets your application is expected to wait for. Your application must make sure to receive all sockets informed about in the CURLMOPT_SOCKETFUNCTION callback and make sure it reacts on the given activity on them. When a socket has the given activity, you call \fIcurl_multi_socket_action(3)\fP specifying which socket and action there are. The CURLMOPT_TIMERFUNCTION callback is called to set a timeout. When that timeout expires, your application should call the \fIcurl_multi_socket_action(3)\fP function saying it was due to a timeout. This API is typically used with an event-driven underlying functionality (like libevent, libev, kqueue, epoll or similar) which which the application "subscribes" on socket changes. This allows applications and libcurl to much better scale upward and beyond thousands of simultaneous transfers without losing performance. When you've added your initial set of handles, you call \fIcurl_multi_socket_action(3)\fP with CURL_SOCKET_TIMEOUT set in the sockfd argument, and you'll get callbacks call that sets you up and you then continue to call \fIcurl_multi_socket_action(3)\fP accordingly when you get activity on the sockets you've been asked to wait on, or if the timeout timer expires. You can poll \fIcurl_multi_info_read(3)\fP to see if any transfer has completed, as it then has a message saying so. .SH "BLOCKING" A few areas in the code are still using blocking code, even when used from the multi interface. While we certainly want and intend for these to get fixed in the future, you should be aware of the following current restrictions: .nf - Name resolves unless the c-ares or threaded-resolver backends are used - NSS SSL connections - HTTP proxy CONNECT operations - SOCKS proxy handshakes - file:// transfers - TELNET transfers .fi .SH "SEE ALSO" .BR libcurl-errors "(3), " libcurl-easy "(3), " libcurl "(3) " curl-7.47.0/docs/libcurl/curl_easy_send.pdf0000644000175000017500000001214112652070423015555 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœX]oã¸}÷¯ ¶+-Æ’úî¼Y·H7c§‰3è`¦™NÔ‘¥¬$OÖýýÏ=$E}%ûÐb EÞËsÏ9÷Ò¿F9aê_÷7;.ÞßDä±Y0ò¸øuÁõ"éþdGòÓÄê?v‡…ÙÃI$H”x4NÈî¸à"¦!'»—Åg';ÕŽL›ó}#ËýÇûâ’"Pÿí.EÀ(c‘ó!-OiAÞøÖýçîo‹%£‚ãä ¦I b{!Ù]-œÍÊý¹b•4H<ä³Û/œkw÷¯Q¦‚QŸEdÉ…Zf*»YrdIÔŸ†Ô©Ú*h e‚z¢;ôe¯VL0ŸF©-\øÔ÷;rª\uªÕ‰Ó395’ä-i«GÙ>Éš¼äíÓ Ñ¥Ç4rƒ‚IÔ®92û6˜ÖP(\º22ú&p[‘üø\È£,[ˆ«i«#y®«¶Êª¢A>yùh’’  i‘·g’¥%yä9­Û<;i]è[,5®6¦µ;ÊMÐé ùœqkucÄû-—¨M¹_ÕäööŠÈ2«ÏÏ*Ìmx€Q¤M¿–†Æ‹…ïQÏ’SfciøIÛërõµêi-IuÐ!Ϥ”.ØÄ,p«6O5OŨj M»4jOcÖéTm–ÙJ_¶€ËƒFߣ΃U¾ÍRø¾Æ(§ä¹ÊË@…À…Ž®RÈòÑâu`î)C¯U>M£Sú$ y‰5¼ö)muq^\l„ŸN v@@-u—ì%Ô%አÎ@éÈö :ùåTëæ|j6º °x!Ð èû7êúºðµÌd>Q+Ø%XÐ3:èö}“d¤M”Œûq¯M}€7 Âi.OÇ€ €Õ5Éù•-¯6ohÇÞ]Ed_ßÞ,úbnœÇ€®Ü@¦wŠMSd8‡ð¾×¨n¶½ÞÝ_l7›õÅî~»¹r„¡óé-Yó º@¥%A*ðÒÃÌ5‰?ï&·‰Bš„~<çÐ,,«V«·üJ€ôPÛF‡&/R_ËÞ30޲`ʵ´EcPÖ^àõÊSMÝ ß8ÕíÆùTd‚&>ïüŒ >,|]ÕA§ +‡‹6§Ú`¢™ØTÙW-i&|G¶‘_ê\qUÎ9cX6ôq–PÞ÷¸ßÁP%;­_„ۇÈU IÍXCÖ¦¡ç½ä4²A&Vúí©žMK£´Í‘J9ëû•j†õœ¿®.7úð&o–Uã臡e;Î*è³âS¼†r@® MkOòl(—–T—<ªñT[6ZcqžÄF`À–Èwc{â–ßœëFÐ(´³ûX¨zeÂC:yy¨Þò…8¢¡=y˜"zô|DbŠÞåæ/[  s±»ü¸¾Ý^ü²Þ½í9B»mW<æv”¨Ú¸ô\CЮèbøØ7 ÊöGÝüÑg`»°t_ Øœ›VÉÁÕFä¡ód9 5ùWÓnBÔÏZ¦3G ê¼ØëA- Ï/Ž˜«|‰†&O•‰+dO2ûª¦ÌaÝp£4ÒJ\«² âøÕCp©GÐnPÅ7Ìpzõ‘¬úzƒ³aÀmƒ¾¼Zýtyu¹û4ëÆxøñ,³Õ~o8‡— œ¾1,ÂvnÖ»»› ùèrNÈÕÕÝzVÇafïE¬ãl1ñœ²L6Í»NwÍ”:1nöfoT·ýezƒ BQÿ*Å@…¹²–&ÆÐiu“%iÖž”`Lã…€ªÙìÀ]h1û¡ìZ…H¦¢VÚíÕ2k‘?L‚H&ÍÂ0†ïÉl4}ÄðúÖgìÕC€6ã=ñ"aU`KìÔÉFé±:•Ã4¥)Ôë_Äí(žª)¢›÷Æï? ¢¡ìÝæöîÚ¼RD†$Á`†×Û7dÎnýóýõ}éëΆæ2tah<îD³#Ûop®¡ç]l¯ÞÐ*G?`ãwíú«×W³‹}:·r6QcgÒµ›0½E0M@‡' êß+"‡f3Õû!JÙ¿çóY_EŽbxí﫬y/KÕ ±™&*2Y½u*Øç˜Ò¡ô3Á,ʦà¨Ë»ŽlŽ¡]:80'ðpü³ÑzMVW·ÛßûÙh2´˜žf#§öº½{…]øfcU©æŸJ“é¼§ªVÖ‹à:ùQwêžÛÕüqîÓèÿ<¹«ºçëªOU5JzOìç4Œõà/„G;ÎÛG¶i/î=v8pËܦ °á؈0´Í•«ÃÖ»Åßñ￸8” endstream endobj 6 0 obj 2314 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 14 0 obj <> endobj 8 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:11+01:00 2016-01-27T08:26:11+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000002638 00000 n 0000004590 00000 n 0000002579 00000 n 0000002419 00000 n 0000000015 00000 n 0000002399 00000 n 0000002703 00000 n 0000003101 00000 n 0000002964 00000 n 0000002824 00000 n 0000002744 00000 n 0000002774 00000 n 0000002908 00000 n 0000003045 00000 n 0000003167 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [<89DD36D2A82914967B87595B1219D8DB><89DD36D2A82914967B87595B1219D8DB>] >> startxref 4744 %%EOF curl-7.47.0/docs/libcurl/curl_easy_send.30000644000175000017500000000601312626067776015171 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH curl_easy_send 3 "29 April 2008" "libcurl 7.18.2" "libcurl Manual" .SH NAME curl_easy_send - sends raw data over an "easy" connection .SH SYNOPSIS .B #include .sp .BI "CURLcode curl_easy_send( CURL *" curl ", const void *" buffer "," .BI " size_t " buflen ", size_t *" n ");" .ad .SH DESCRIPTION This function sends arbitrary data over the established connection. You may use it together with \fIcurl_easy_recv(3)\fP to implement custom protocols using libcurl. This functionality can be particularly useful if you use proxies and/or SSL encryption: libcurl will take care of proxy negotiation and connection set-up. \fBbuffer\fP is a pointer to the data of length \fBbuflen\fP that you want sent. The variable \fBn\fP points to will receive the number of sent bytes. To establish the connection, set \fBCURLOPT_CONNECT_ONLY(3)\fP option before calling \fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform()\fP. Note that \fIcurl_easy_send(3)\fP will not work on connections that were created without this option. You must ensure that the socket is writable before calling \fIcurl_easy_send(3)\fP, otherwise the call will return \fBCURLE_AGAIN\fP - the socket is used in non-blocking mode internally. Use \fIcurl_easy_getinfo(3)\fP with \fBCURLINFO_ACTIVESOCKET(3)\fP to obtain the socket; use your operating system facilities like \fIselect(2)\fP to check if it can be written to. .SH AVAILABILITY Added in 7.18.2. .SH RETURN VALUE On success, returns \fBCURLE_OK\fP and stores the number of bytes actually sent into \fB*n\fP. Note that this may very well be less than the amount you wanted to send. On failure, returns the appropriate error code. If there's no socket available to use from the previous transfer, this function returns CURLE_UNSUPPORTED_PROTOCOL. .SH EXAMPLE See \fBsendrecv.c\fP in \fBdocs/examples\fP directory for usage example. .SH "SEE ALSO" .BR curl_easy_setopt "(3), " curl_easy_perform "(3), " curl_easy_getinfo "(3), " .BR curl_easy_recv "(3) " curl-7.47.0/docs/libcurl/curl_multi_wait.30000644000175000017500000000661512626067776015405 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_wait 3 "12 Jul 2012" "libcurl 7.28.0" "libcurl Manual" .SH NAME curl_multi_wait - polls on all easy handles in a multi handle .SH SYNOPSIS .nf #include CURLMcode curl_multi_wait(CURLM *multi_handle, struct curl_waitfd extra_fds[], unsigned int extra_nfds, int timeout_ms, int *numfds); .ad .SH DESCRIPTION \fIcurl_multi_wait(3)\fP polls all file descriptors used by the curl easy handles contained in the given multi handle set. It will block until activity is detected on at least one of the handles or \fItimeout_ms\fP has passed. Alternatively, if the multi handle has a pending internal timeout that has a shorter expiry time than \fItimeout_ms\fP, that shorter time will be used instead to make sure timeout accuracy is reasonably kept. The calling application may pass additional curl_waitfd structures which are similar to \fIpoll(2)\fP's pollfd structure to be waited on in the same call. On completion, if \fInumfds\fP is non-NULL, it will be populated with the total number of file descriptors on which interesting events occurred. This number can include both libcurl internal descriptors as well as descriptors provided in \fIextra_fds\fP. If no extra file descriptors are provided and libcurl has no file descriptor to offer to wait for, this function will return immediately. This function is encouraged to be used instead of select(3) when using the multi interface to allow applications to easier circumvent the common problem with 1024 maximum file descriptors. .SH curl_waitfd .nf struct curl_waitfd { curl_socket_t fd; short events; short revents; }; .fi .IP CURL_WAIT_POLLIN Bit flag to curl_waitfd.events indicating the socket should poll on read events such as new data received. .IP CURL_WAIT_POLLPRI Bit flag to curl_waitfd.events indicating the socket should poll on high priority read events such as out of band data. .IP CURL_WAIT_POLLOUT Bit flag to curl_waitfd.events indicating the socket should poll on write events such as the socket being clear to write without blocking. .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. See \fIlibcurl-errors(3)\fP .SH AVAILABILITY This function was added in libcurl 7.28.0. .SH "SEE ALSO" .BR curl_multi_fdset "(3), " curl_multi_perform "(3)" curl-7.47.0/docs/libcurl/curl_multi_perform.30000644000175000017500000001162012626067776016103 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_perform 3 "1 March 2002" "libcurl 7.9.5" "libcurl Manual" .SH NAME curl_multi_perform - reads/writes available data from each easy handle .SH SYNOPSIS #include CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles); .ad .SH DESCRIPTION This function handles transfers on all the added handles that need attention in an non-blocking fashion. When an application has found out there's data available for the multi_handle or a timeout has elapsed, the application should call this function to read/write whatever there is to read or write right now etc. \fIcurl_multi_perform(3)\fP returns as soon as the reads/writes are done. This function does not require that there actually is any data available for reading or that data can be written, it can be called just in case. It will write the number of handles that still transfer data in the second argument's integer-pointer. If the amount of \fIrunning_handles\fP is changed from the previous call (or is less than the amount of easy handles you've added to the multi handle), you know that there is one or more transfers less "running". You can then call \fIcurl_multi_info_read(3)\fP to get information about each individual completed transfer, and that returned info includes CURLcode and more. If an added handle fails very quickly, it may never be counted as a running_handle. When \fIrunning_handles\fP is set to zero (0) on the return of this function, there is no longer any transfers in progress. .SH EXAMPLE .nf #ifdef _WIN32 #define SHORT_SLEEP Sleep(100) #else #define SHORT_SLEEP usleep(100000) #endif fd_set fdread; fd_set fdwrite; fd_set fdexcep; int maxfd = -1; long curl_timeo; curl_multi_timeout(multi_handle, &curl_timeo); if(curl_timeo < 0) curl_timeo = 1000; timeout.tv_sec = curl_timeo / 1000; timeout.tv_usec = (curl_timeo % 1000) * 1000; FD_ZERO(&fdread); FD_ZERO(&fdwrite); FD_ZERO(&fdexcep); /* get file descriptors from the transfers */ mc = curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd); if(maxfd == -1) { SHORT_SLEEP; rc = 0; } else rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); switch(rc) { case -1: /* select error */ break; case 0: default: /* timeout or readable/writable sockets */ curl_multi_perform(multi_handle, &still_running); break; } /* if there are still transfers, loop! */ .fi .SH "RETURN VALUE" CURLMcode type, general libcurl multi interface error code. Before version 7.20.0: If you receive \fICURLM_CALL_MULTI_PERFORM\fP, this basically means that you should call \fIcurl_multi_perform(3)\fP again, before you select() on more actions. You don't have to do it immediately, but the return code means that libcurl may have more data available to return or that there may be more data to send off before it is "satisfied". Do note that \fIcurl_multi_perform(3)\fP will return \fICURLM_CALL_MULTI_PERFORM\fP only when it wants to be called again \fBimmediately\fP. When things are fine and there is nothing immediate it wants done, it'll return \fICURLM_OK\fP and you need to wait for \&"action" and then call this function again. This function only returns errors etc regarding the whole multi stack. Problems still might have occurred on individual transfers even when this function returns \fICURLM_OK\fP. Use \fIcurl_multi_info_read(3)\fP to figure out how individual transfers did. .SH "TYPICAL USAGE" Most applications will use \fIcurl_multi_fdset(3)\fP to get the multi_handle's file descriptors, and \fIcurl_multi_timeout(3)\fP to get a suitable timeout period, then it'll wait for action on the file descriptors using \fBselect(3)\fP. As soon as one or more file descriptor is ready, \fIcurl_multi_perform(3)\fP gets called. .SH "SEE ALSO" .BR curl_multi_cleanup "(3), " curl_multi_init "(3), " .BR curl_multi_wait "(3), " .BR curl_multi_fdset "(3), " curl_multi_info_read "(3), " .BR libcurl-errors "(3)" curl-7.47.0/docs/libcurl/curl_formadd.html0000644000175000017500000003775512652070414015434 00000000000000 curl_formadd man page

NAME

curl_formadd - add a section to a multipart/formdata HTTP POST

SYNOPSIS

#include <curl/curl.h>

CURLFORMcode curl_formadd(struct curl_httppost ** firstitem, struct curl_httppost ** lastitem, ...);

DESCRIPTION

curl_formadd() is used to append sections when building a multipart/formdata HTTP POST (sometimes referred to as RFC 2388-style posts). Append one section at a time until you've added all the sections you want included and then you pass the firstitem pointer as parameter to CURLOPT_HTTPPOST(3). lastitem is set after each curl_formadd call and on repeated invokes it should be left as set to allow repeated invokes to find the end of the list faster.

After the lastitem pointer follow the real arguments.

The pointers firstitem and lastitem should both be pointing to NULL in the first call to this function. All list-data will be allocated by the function itself. You must call curl_formfree on the firstitem after the form post has been done to free the resources.

Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with CURLOPT_HTTPHEADER(3) as usual.

First, there are some basics you need to understand about multipart/formdata posts. Each part consists of at least a NAME and a CONTENTS part. If the part is made for file upload, there are also a stored CONTENT-TYPE and a FILENAME. Below, we'll discuss what options you use to set these properties in the parts you want to add to your post.

The options listed first are for making normal parts. The options from CURLFORM_FILE through CURLFORM_BUFFERLENGTH are for file upload parts.

OPTIONS

CURLFORM_COPYNAME

followed by a string which provides the name of this part. libcurl copies the string so your application doesn't need to keep it around after this function call. If the name isn't NUL-terminated, or if you'd like it to contain zero bytes, you must set its length with CURLFORM_NAMELENGTH. The copied data will be freed by curl_formfree.

CURLFORM_PTRNAME

followed by a string which provides the name of this part. libcurl will use the pointer and refer to the data in your application, so you must make sure it remains until curl no longer needs it. If the name isn't NUL-terminated, or if you'd like it to contain zero bytes, you must set its length with CURLFORM_NAMELENGTH.

CURLFORM_COPYCONTENTS

followed by a pointer to the contents of this part, the actual data to send away. libcurl copies the provided data, so your application doesn't need to keep it around after this function call. If the data isn't null terminated, or if you'd like it to contain zero bytes, you must set the length of the name with CURLFORM_CONTENTSLENGTH. The copied data will be freed by curl_formfree.

CURLFORM_PTRCONTENTS

followed by a pointer to the contents of this part, the actual data to send away. libcurl will use the pointer and refer to the data in your application, so you must make sure it remains until curl no longer needs it. If the data isn't NUL-terminated, or if you'd like it to contain zero bytes, you must set its length with CURLFORM_CONTENTSLENGTH.

CURLFORM_CONTENTLEN

followed by a curl_off_t value giving the length of the contents. Note that for CURLFORM_STREAM contents, this option is mandatory.

If you pass a 0 (zero) for this option, libcurl will instead do a strlen() on the contents to figure out the size. If you really want to send a zero byte content then you must make sure strlen() on the data pointer returns zero.

(Option added in 7.46.0)

CURLFORM_CONTENTSLENGTH

(This option is deprecated. Use CURLFORM_CONTENTLEN instead!)

followed by a long giving the length of the contents. Note that for CURLFORM_STREAM contents, this option is mandatory.

If you pass a 0 (zero) for this option, libcurl will instead do a strlen() on the contents to figure out the size. If you really want to send a zero byte content then you must make sure strlen() on the data pointer returns zero.

CURLFORM_FILECONTENT

followed by a filename, causes that file to be read and its contents used as data in this part. This part does not automatically become a file upload part simply because its data was read from a file.

CURLFORM_FILE

followed by a filename, makes this part a file upload part. It sets the filename field to the basename of the provided filename, it reads the contents of the file and passes them as data and sets the content-type if the given file match one of the internally known file extensions. For CURLFORM_FILE the user may send one or more files in one part by providing multiple CURLFORM_FILE arguments each followed by the filename (and each CURLFORM_FILE is allowed to have a CURLFORM_CONTENTTYPE).

The given upload file has to exist in its full in the file system already when the upload starts, as libcurl needs to read the correct file size beforehand.

CURLFORM_CONTENTTYPE

is used in combination with CURLFORM_FILE. Followed by a pointer to a string which provides the content-type for this part, possibly instead of an internally chosen one.

CURLFORM_FILENAME

is used in combination with CURLFORM_FILE. Followed by a pointer to a string, it tells libcurl to use the given string as the filename in the file upload part instead of the actual file name.

CURLFORM_BUFFER

is used for custom file upload parts without use of CURLFORM_FILE. It tells libcurl that the file contents are already present in a buffer. The parameter is a string which provides the filename field in the content header.

CURLFORM_BUFFERPTR

is used in combination with CURLFORM_BUFFER. The parameter is a pointer to the buffer to be uploaded. This buffer must not be freed until after curl_easy_cleanup is called. You must also use CURLFORM_BUFFERLENGTH to set the number of bytes in the buffer.

CURLFORM_BUFFERLENGTH

is used in combination with CURLFORM_BUFFER. The parameter is a long which gives the length of the buffer.

CURLFORM_STREAM

Tells libcurl to use the CURLOPT_READFUNCTION(3) callback to get data. The parameter you pass to CURLFORM_STREAM is the pointer passed on to the read callback's fourth argument. If you want the part to look like a file upload one, set the CURLFORM_FILENAME parameter as well. Note that when using CURLFORM_STREAM, CURLFORM_CONTENTSLENGTH must also be set with the total expected length of the part. (Option added in libcurl 7.18.2)

CURLFORM_ARRAY

Another possibility to send options to curl_formadd() is the CURLFORM_ARRAY option, that passes a struct curl_forms array pointer as its value. Each curl_forms structure element has a CURLformoption and a char pointer. The final element in the array must be a CURLFORM_END. All available options can be used in an array, except the CURLFORM_ARRAY option itself! The last argument in such an array must always be CURLFORM_END.

CURLFORM_CONTENTHEADER

specifies extra headers for the form POST section. This takes a curl_slist prepared in the usual way using curl_slist_append and appends the list of headers to those libcurl automatically generates. The list must exist while the POST occurs, if you free it before the post completes you may experience problems.

When you've passed the HttpPost pointer to curl_easy_setopt (using the CURLOPT_HTTPPOST(3) option), you must not free the list until after you've called curl_easy_cleanup for the curl handle.

See example below.

RETURN VALUE

0 means everything was ok, non-zero means an error occurred corresponding to a CURL_FORMADD_* constant defined in <curl/curl.h>

EXAMPLE

 
 struct curl_httppost* post = NULL;
 struct curl_httppost* last = NULL;
 char namebuffer[] = "name buffer";
 long namelength = strlen(namebuffer);
 char buffer[] = "test buffer";
 char htmlbuffer[] = "<HTML>test buffer</HTML>";
 long htmlbufferlength = strlen(htmlbuffer);
 struct curl_forms forms[3];
 char file1[] = "my-face.jpg";
 char file2[] = "your-face.jpg";
 /* add null character into htmlbuffer, to demonstrate that
    transfers of buffers containing null characters actually work
 */
 htmlbuffer[8] = '\0';
 
 /* Add simple name/content section */
 curl_formadd(&post, &last, CURLFORM_COPYNAME, "name",
              CURLFORM_COPYCONTENTS, "content", CURLFORM_END);
 
 /* Add simple name/content/contenttype section */
 curl_formadd(&post, &last, CURLFORM_COPYNAME, "htmlcode",
              CURLFORM_COPYCONTENTS, "<HTML></HTML>",
              CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END);
 
 /* Add name/ptrcontent section */
 curl_formadd(&post, &last, CURLFORM_COPYNAME, "name_for_ptrcontent",
              CURLFORM_PTRCONTENTS, buffer, CURLFORM_END);
 
 /* Add ptrname/ptrcontent section */
 curl_formadd(&post, &last, CURLFORM_PTRNAME, namebuffer,
              CURLFORM_PTRCONTENTS, buffer, CURLFORM_NAMELENGTH,
              namelength, CURLFORM_END);
 
 /* Add name/ptrcontent/contenttype section */
 curl_formadd(&post, &last, CURLFORM_COPYNAME, "html_code_with_hole",
              CURLFORM_PTRCONTENTS, htmlbuffer,
              CURLFORM_CONTENTSLENGTH, htmlbufferlength,
              CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END);
 
 /* Add simple file section */
 curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture",
              CURLFORM_FILE, "my-face.jpg", CURLFORM_END);
 
 /* Add file/contenttype section */
 curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture",
              CURLFORM_FILE, "my-face.jpg",
              CURLFORM_CONTENTTYPE, "image/jpeg", CURLFORM_END);
 
 /* Add two file section */
 curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures",
              CURLFORM_FILE, "my-face.jpg",
              CURLFORM_FILE, "your-face.jpg", CURLFORM_END);
 
 /* Add two file section using CURLFORM_ARRAY */
 forms[0].option = CURLFORM_FILE;
 forms[0].value  = file1;
 forms[1].option = CURLFORM_FILE;
 forms[1].value  = file2;
 forms[2].option  = CURLFORM_END;
 
 /* Add a buffer to upload */
 curl_formadd(&post, &last,
              CURLFORM_COPYNAME, "name",
              CURLFORM_BUFFER, "data",
              CURLFORM_BUFFERPTR, record,
              CURLFORM_BUFFERLENGTH, record_length,
              CURLFORM_END);
 
 /* no option needed for the end marker */
 curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures",
              CURLFORM_ARRAY, forms, CURLFORM_END);
 /* Add the content of a file as a normal post text value */
 curl_formadd(&post, &last, CURLFORM_COPYNAME, "filecontent",
              CURLFORM_FILECONTENT, ".bashrc", CURLFORM_END);
 /* Set the form info */
 curl_easy_setopt(curl, CURLOPT_HTTPPOST, post);
 

SEE ALSO

curl_easy_setopt, curl_formfree

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_formadd.30000644000175000017500000002751012626067776014640 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_formadd 3 "24 June 2002" "libcurl 7.9.8" "libcurl Manual" .SH NAME curl_formadd - add a section to a multipart/formdata HTTP POST .SH SYNOPSIS .B #include .sp .BI "CURLFORMcode curl_formadd(struct curl_httppost ** " firstitem, .BI "struct curl_httppost ** " lastitem, " ...);" .ad .SH DESCRIPTION curl_formadd() is used to append sections when building a multipart/formdata HTTP POST (sometimes referred to as RFC2388-style posts). Append one section at a time until you've added all the sections you want included and then you pass the \fIfirstitem\fP pointer as parameter to \fBCURLOPT_HTTPPOST(3)\fP. \fIlastitem\fP is set after each \fIcurl_formadd(3)\fP call and on repeated invokes it should be left as set to allow repeated invokes to find the end of the list faster. After the \fIlastitem\fP pointer follow the real arguments. The pointers \fIfirstitem\fP and \fIlastitem\fP should both be pointing to NULL in the first call to this function. All list-data will be allocated by the function itself. You must call \fIcurl_formfree(3)\fP on the \fIfirstitem\fP after the form post has been done to free the resources. Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with \fICURLOPT_HTTPHEADER(3)\fP as usual. First, there are some basics you need to understand about multipart/formdata posts. Each part consists of at least a NAME and a CONTENTS part. If the part is made for file upload, there are also a stored CONTENT-TYPE and a FILENAME. Below, we'll discuss what options you use to set these properties in the parts you want to add to your post. The options listed first are for making normal parts. The options from \fICURLFORM_FILE\fP through \fICURLFORM_BUFFERLENGTH\fP are for file upload parts. .SH OPTIONS .IP CURLFORM_COPYNAME followed by a string which provides the \fIname\fP of this part. libcurl copies the string so your application doesn't need to keep it around after this function call. If the name isn't NUL-terminated, or if you'd like it to contain zero bytes, you must set its length with \fBCURLFORM_NAMELENGTH\fP. The copied data will be freed by \fIcurl_formfree(3)\fP. .IP CURLFORM_PTRNAME followed by a string which provides the \fIname\fP of this part. libcurl will use the pointer and refer to the data in your application, so you must make sure it remains until curl no longer needs it. If the name isn't NUL-terminated, or if you'd like it to contain zero bytes, you must set its length with \fBCURLFORM_NAMELENGTH\fP. .IP CURLFORM_COPYCONTENTS followed by a pointer to the contents of this part, the actual data to send away. libcurl copies the provided data, so your application doesn't need to keep it around after this function call. If the data isn't null terminated, or if you'd like it to contain zero bytes, you must set the length of the name with \fBCURLFORM_CONTENTSLENGTH\fP. The copied data will be freed by \fIcurl_formfree(3)\fP. .IP CURLFORM_PTRCONTENTS followed by a pointer to the contents of this part, the actual data to send away. libcurl will use the pointer and refer to the data in your application, so you must make sure it remains until curl no longer needs it. If the data isn't NUL-terminated, or if you'd like it to contain zero bytes, you must set its length with \fBCURLFORM_CONTENTSLENGTH\fP. .IP CURLFORM_CONTENTLEN followed by a curl_off_t value giving the length of the contents. Note that for \fICURLFORM_STREAM\fP contents, this option is mandatory. If you pass a 0 (zero) for this option, libcurl will instead do a strlen() on the contents to figure out the size. If you really want to send a zero byte content then you must make sure strlen() on the data pointer returns zero. (Option added in 7.46.0) .IP CURLFORM_CONTENTSLENGTH (This option is deprecated. Use \fICURLFORM_CONTENTLEN\fP instead!) followed by a long giving the length of the contents. Note that for \fICURLFORM_STREAM\fP contents, this option is mandatory. If you pass a 0 (zero) for this option, libcurl will instead do a strlen() on the contents to figure out the size. If you really want to send a zero byte content then you must make sure strlen() on the data pointer returns zero. .IP CURLFORM_FILECONTENT followed by a filename, causes that file to be read and its contents used as data in this part. This part does \fInot\fP automatically become a file upload part simply because its data was read from a file. .IP CURLFORM_FILE followed by a filename, makes this part a file upload part. It sets the \fIfilename\fP field to the basename of the provided filename, it reads the contents of the file and passes them as data and sets the content-type if the given file match one of the internally known file extensions. For \fBCURLFORM_FILE\fP the user may send one or more files in one part by providing multiple \fBCURLFORM_FILE\fP arguments each followed by the filename (and each \fICURLFORM_FILE\fP is allowed to have a \fICURLFORM_CONTENTTYPE\fP). The given upload file has to exist in its full in the file system already when the upload starts, as libcurl needs to read the correct file size beforehand. .IP CURLFORM_CONTENTTYPE is used in combination with \fICURLFORM_FILE\fP. Followed by a pointer to a string which provides the content-type for this part, possibly instead of an internally chosen one. .IP CURLFORM_FILENAME is used in combination with \fICURLFORM_FILE\fP. Followed by a pointer to a string, it tells libcurl to use the given string as the \fIfilename\fP in the file upload part instead of the actual file name. .IP CURLFORM_BUFFER is used for custom file upload parts without use of \fICURLFORM_FILE\fP. It tells libcurl that the file contents are already present in a buffer. The parameter is a string which provides the \fIfilename\fP field in the content header. .IP CURLFORM_BUFFERPTR is used in combination with \fICURLFORM_BUFFER\fP. The parameter is a pointer to the buffer to be uploaded. This buffer must not be freed until after \fIcurl_easy_cleanup(3)\fP is called. You must also use \fICURLFORM_BUFFERLENGTH\fP to set the number of bytes in the buffer. .IP CURLFORM_BUFFERLENGTH is used in combination with \fICURLFORM_BUFFER\fP. The parameter is a long which gives the length of the buffer. .IP CURLFORM_STREAM Tells libcurl to use the \fICURLOPT_READFUNCTION(3)\fP callback to get data. The parameter you pass to \fICURLFORM_STREAM\fP is the pointer passed on to the read callback's fourth argument. If you want the part to look like a file upload one, set the \fICURLFORM_FILENAME\fP parameter as well. Note that when using \fICURLFORM_STREAM\fP, \fICURLFORM_CONTENTSLENGTH\fP must also be set with the total expected length of the part. (Option added in libcurl 7.18.2) .IP CURLFORM_ARRAY Another possibility to send options to curl_formadd() is the \fBCURLFORM_ARRAY\fP option, that passes a struct curl_forms array pointer as its value. Each curl_forms structure element has a CURLformoption and a char pointer. The final element in the array must be a CURLFORM_END. All available options can be used in an array, except the CURLFORM_ARRAY option itself! The last argument in such an array must always be \fBCURLFORM_END\fP. .IP CURLFORM_CONTENTHEADER specifies extra headers for the form POST section. This takes a curl_slist prepared in the usual way using \fBcurl_slist_append\fP and appends the list of headers to those libcurl automatically generates. The list must exist while the POST occurs, if you free it before the post completes you may experience problems. When you've passed the HttpPost pointer to \fIcurl_easy_setopt(3)\fP (using the \fICURLOPT_HTTPPOST(3)\fP option), you must not free the list until after you've called \fIcurl_easy_cleanup(3)\fP for the curl handle. See example below. .SH RETURN VALUE 0 means everything was ok, non-zero means an error occurred corresponding to a CURL_FORMADD_* constant defined in .I .SH EXAMPLE .nf struct curl_httppost* post = NULL; struct curl_httppost* last = NULL; char namebuffer[] = "name buffer"; long namelength = strlen(namebuffer); char buffer[] = "test buffer"; char htmlbuffer[] = "test buffer"; long htmlbufferlength = strlen(htmlbuffer); struct curl_forms forms[3]; char file1[] = "my-face.jpg"; char file2[] = "your-face.jpg"; /* add null character into htmlbuffer, to demonstrate that transfers of buffers containing null characters actually work */ htmlbuffer[8] = '\\0'; /* Add simple name/content section */ curl_formadd(&post, &last, CURLFORM_COPYNAME, "name", CURLFORM_COPYCONTENTS, "content", CURLFORM_END); /* Add simple name/content/contenttype section */ curl_formadd(&post, &last, CURLFORM_COPYNAME, "htmlcode", CURLFORM_COPYCONTENTS, "", CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END); /* Add name/ptrcontent section */ curl_formadd(&post, &last, CURLFORM_COPYNAME, "name_for_ptrcontent", CURLFORM_PTRCONTENTS, buffer, CURLFORM_END); /* Add ptrname/ptrcontent section */ curl_formadd(&post, &last, CURLFORM_PTRNAME, namebuffer, CURLFORM_PTRCONTENTS, buffer, CURLFORM_NAMELENGTH, namelength, CURLFORM_END); /* Add name/ptrcontent/contenttype section */ curl_formadd(&post, &last, CURLFORM_COPYNAME, "html_code_with_hole", CURLFORM_PTRCONTENTS, htmlbuffer, CURLFORM_CONTENTSLENGTH, htmlbufferlength, CURLFORM_CONTENTTYPE, "text/html", CURLFORM_END); /* Add simple file section */ curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture", CURLFORM_FILE, "my-face.jpg", CURLFORM_END); /* Add file/contenttype section */ curl_formadd(&post, &last, CURLFORM_COPYNAME, "picture", CURLFORM_FILE, "my-face.jpg", CURLFORM_CONTENTTYPE, "image/jpeg", CURLFORM_END); /* Add two file section */ curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures", CURLFORM_FILE, "my-face.jpg", CURLFORM_FILE, "your-face.jpg", CURLFORM_END); /* Add two file section using CURLFORM_ARRAY */ forms[0].option = CURLFORM_FILE; forms[0].value = file1; forms[1].option = CURLFORM_FILE; forms[1].value = file2; forms[2].option = CURLFORM_END; /* Add a buffer to upload */ curl_formadd(&post, &last, CURLFORM_COPYNAME, "name", CURLFORM_BUFFER, "data", CURLFORM_BUFFERPTR, record, CURLFORM_BUFFERLENGTH, record_length, CURLFORM_END); /* no option needed for the end marker */ curl_formadd(&post, &last, CURLFORM_COPYNAME, "pictures", CURLFORM_ARRAY, forms, CURLFORM_END); /* Add the content of a file as a normal post text value */ curl_formadd(&post, &last, CURLFORM_COPYNAME, "filecontent", CURLFORM_FILECONTENT, ".bashrc", CURLFORM_END); /* Set the form info */ curl_easy_setopt(curl, CURLOPT_HTTPPOST, post); .SH "SEE ALSO" .BR curl_easy_setopt "(3), " .BR curl_formfree "(3)" curl-7.47.0/docs/libcurl/curl_multi_socket.pdf0000644000175000017500000002227212652070423016313 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ½YÛnÜ8}ï¯`°«6Ü4IÝg dÏÀ3±ÛXñÂP«i[cµÔ‘({{¿!¿²ÿ¸U¼èÒ¶3dj²X¬:uêç a”†ì¿ùfvô1&w팑»Ù—×?ûO¾!?-aA‚–·3³‡“X8õi’’åfæå]SÞlºR7m?Ì—¿Ï¢€¦°r¹žqžPåÓì³'Õµç_ÏIY¬pÏ|!BF‹½³¬ê²’ìú×ò×™ŸTcËÀŒ ççà^ îÑ4DAR.ÈÂôŽó·¸˜á:Ò0õ­¥³ü>ÜL0°˜,`+üÌŒ¿ûþpÿ’Ffëöè©)”lI¦ÝDwB}ŠÓÄùû˜õ§ƒWIšö‡¢ÌV¥$ëLeÆñxâSÆÁ—ˆ&zõå§ó‹—§—S—á†Ö]ï/E•—ÝZ’¿¡ËGø½ÿ;.Çïg˃ÏÞñÕÇ÷gy ‹ž_ Ž "]½Šóó}V­KyhvôkYìÃÚEðËíúP f½7E¥ÈAÓUUQÝYíõüG5\&\ö}ÝdeÙ{5qJŸš|ש{áåÑ(¶ïN.?ž~Xž^œ¿Þå½l%¹íª\u)o urÛÈuלpvQÝÖ7Í™1áA9˜(ší}KcÀÜŽ–Umï¦{θx_ï:GÝ!Šü~ Í}'uÈä]d W<‚S¦/ø:Ð^˜jÚ¥}Ïap*ÝØð)¬è¸ô„÷n6:„Ùv[ÀRd…Þw[h:é}B.×Þ×ÒDxy¢ Ûg8dµ–mÞ[U7ÐÌ[•©N#g]cÍV@æ¯Æ#ÄE׉.þÉ©L`+Ñ?®²ü¡çXÒÂW¬i½é¡2íŒÓ€kW¼³‹˛ˋãßN–?_#‹“z«-@.'eÉ£Ê!z¡,¥‚-}…˜Ðx> y"PkØ{t9H eÅÝ÷r²?¥bÔñwݰK/q ªóa¢b"©¯´î M-tvmv!’:U(¸ úÐ\„9E T±1û¸>a´“н¬Õ_¦PƒSN_ÃÈûE*½M \´)È-Iav•ôÖj%taÕs²<=;ùèR2%.p:0œÍ^z¯o†@:üóõjšLÃ0\ %Ò¾mxŸê!°¢ßÌÌL?éšIí莥°•ÜY¸ÊµI”)6³ þ»×–tЭ 86‰œè|*ÇÈÁ%–jŒlm²¤Ù0»dÐ\i¢™Û)E6u«ÈJÂ*[¯"ôAàº;r”xS•ãœ#?èkè„Nû{€•οÉQVš}ƒ£Mk=1®ôÕí*{zr E$\þŒ¸ÜÓdJØN¦…ILÃQ•Ýu :ÙÃr¹"„%ƒ–C„ZÆÐ ½¸ZšŒ¥ÜèwsGÐOcœ@ù‡“€›nªpkÙÖ¨ÿ†Kõ0NTO`Ìr´‰¶«ó[#ôû鯅8fýÞAóÈP]Ü•FhCÇêSR^pÈ]ì÷”ñmՊúk@SÅ™Oû:§çã^8ômÐ~èRPÒÞ×]¹ÖCöJ"¿^2›}\ñìšq„HpÖÚ4ô`ÑþæùH|#ÿÝÁñÛ÷ﲩ˜w0Tø©oIÏ{{l<ŠQEé—&Ázþönp ª¥ïpŸ½“å<…à‰$ñÞž¾¿Ük¢ $ã( †È/ÇÒÙ MvOÚãßшe½þ™P9Ø í¤ÃÑ/!Y«Zí¶ˆÁ‡qˆù(oRJh+uÖ ¨F§c‚ì_yð]fú~dÁâ\4Ï;ä'*Ӹ̩®Ùz‡G#g¦…{0p4èQ馳ƒ#£aöŠÅŒ÷¢‰oZ‡ä而žû`û0yàC^ÈÐá|ÁCÆ<Ü u'u†iH–õ¸8tßÝçé`p:Ð1´?9Ê5ìBŒ œùX߻Ś@úš-úÂŒ/Û¦˜v±]œÆDÞjÔ@õc t̃©O ¨è( ¿Ã)Y=tHµ½žÿH^ô-¤ÁÏ×|ûŒÎ’2rÏ̪d?î™v9ÖgW—KûÐezo8f|\JÒ3vÏ‰Ó é!ö\=ÄöÄ*ÑB–õÖN¿ÏžÖô£Űc›5ªÈ»2Íø=ÊÑ·‰@ÓmG{ó¡=e“í`¸€ÐÕ̓9§Ýaø Òk×4Øg¯q}g¨œQ±dȧ¶ÜÍAÏé'bjSÃRÈð85ûï£@JîmiïÛøtˆ8.æ!…W?säªsž€<ê‘Ý0ª¸%øX‡ì_˜‡…¢Â/ÕÖWPÌrÈ÷9kHà™Ø _w× ‡æ=ø…Í:ò×Ç _ÀTÝ3ëHÉEÉ@rÈ5?Ö ŠïÚaLÍÿøp2"†Ï” ØœGîé¯cÛþ`»+‰`,Ò¡mÛÁñÓÉröøó?&“endstream endobj 6 0 obj 2610 endobj 14 0 obj <> stream xœ½X]sÛ6}ׯÀô%ÔŽ„’ øµo®×í¨±-¯C§“qv<´IÜH¤KRöê?ìÞs‚¤d§ÉNg:yH"âãâÞsÎ=ÀïÌåséOû÷b7úñ6bëzä²õè÷‘§?²ö¯ÅŽý”b@L?¤«‘™ã±H°(ñyœ°t7rûjû°Ûo›ü¡._Æé¿G¡ä F¦Ë‘çÅÜ“,}Ý;ªùìøŸÇl›?ÒœñT.wÝȹʊ}¶e§ ý+ýuäÇ’ aÖ² ÐS?Џ'ØÔé“K;8çw·—7óˡëùõûì¸f0ÆL1ãîJ½€võu^7ªÒÛ°t1 —~·ÛM šìÒú­lX^`–ÂÔ%þÉ*•-óBÕ5¶; @]˜…¦^Èc=±mv¡ÞŸ‹,ï"‹x»®ýð*´>>—Ï…—$oÆ5¿K˜ø {©òFý‘Í®Mlþ_ÛcÙlLæ²bù}‘ÞB½½¸še“8ÎG DÐɃ¨÷ÅÛqOÁ¬©:ªt£h»o=×Ò/汈[b9 ˆ‡¨Lõ¹ç»^ûñ‹êεy2‹v”ö¸Ø%³Š>F<ˆ“Xšß\E‰&×z¿SÐ_³Œ=Uy»·Ð‰=»Q»ÊsÖíp¯_ÊA&ŸJÍv(÷l“ÙøÍ E»‚jw}Æœž…-Lì+ÕF‹bˆÓhŸór_o¬V {É›ÍI*C¨RÛ•“Õu¾.:¨õ‰Š!7a’tûÄz›¦dŠaR¹È§F—b—K™ØZã?‘§‡f0 …5¯*<ˆ|[Øã²ÐMd_u­°À‚èË­Îf+V”]‚7YÈTA ˜°n–Ÿð ˆì!dd…ù ‘m·t–ë»ËKÎÒ Õ¹#ãIj_®Ø¢ÜW5¥[¶¹1—AŠÉ‚1qp›³Ïs¾P )Ëžž¶ù"kò²¨‘ %{hž û`Èüà(õĪj2ðr™5++V7Õ~Ñ´Ó²JÑù¢A©Mtš±’ÌÖ¹a•…˜ÅܦìY× Š„‹N‹ºGœÇýØ*ȽCi´"çfu( Ááy†®mb{¤í„„"à~_Ì7YzßCBÿ¤uÌBßä¢'|;'içœrQºžø#.Ú½¾ÅÅPñ_SÃ˧æ-*êtu¢™¦b“·¤ð½Ø‚Ϲšß¤æçï/Òè÷´f²«.~&Þ³”uçÐ"¯+h¹‰'A<< (¤©çƒÂ}Kh{‘ÞÝ^³cχ# =çìòîB£¦?Ͱ/Юå,9<© [«BUpF­cb:1Æ€¬Æh2‰c'©TU4Ó€’°x9r.ÕøUÕ Œ‰áâëãz'åöãâ@%¤xEŽ{çï³±Œ`Ê\é¬z3“'Ÿ'Âos)¸ ¹È%°U©…ʶói¬—1Q/2$ä®/ì¦:1çgè°Ww—cá:éìáæâöçù핎¡‹vÐÚ$xg7™4/ÇÝ~wºÇ¬†mÑʬ$-êM¹ß.};-¼+úUØéü‰ vf ´Ý÷ëmù ˜ƒaQ/Ùš¾Ê…0­%/&ÐîU 9¤°_4XbÁMCÛ6”7 ÙŽg £Áea!öN,î c*Dˆ*Xi¯tÑëÙo»‹ìH]¥æìô’ÜaY뒠c”ôìÕS¡EŽâf}‰n'NÏù_–,oL+rÕ»+T¾Û©%µ‰í¡íp.X ¦­;éäq Ÿp6n§…®«{¦³o´èTªÙW…&Þ;_³Ã©´z¸$à|»žß®mÝõÇB—Ž¢Ó-©`º fG²ïåu¿.ü®êUòmö¸Õ]¸XÐ1ã8Ø EÖ)¸{°ë¢À µ‚ö–«a#õpVCÒÅ¿¢¡šëFöC #PÿW-àFœ] ofÛ)62…ŸØ|©ªªõä„“1¹Pkf¿C3T Ü]há\6ðïXøÃüýùEzº®Ä]!éŠD¦­¬eÓZÆ~÷u®M”¹‰G¶‰J-kªÁ‚EàdÛ=éSk®h¤N.ðÐ) óB§Ž¥çS_Ë‹µ†pmm:Ý®u¹±æNþŒqª6.É‘œ-—Leõ¡MnmÎ:¼.—æÛg-ú‰¶§SFE45Æ€ ’L©»®”PÔ"[«¾Lt¯ÁýŶÐn_#rº¤éæ½È@ÈBÖ‰Ïú@úºqF:FÐq¢i[XLOl¸IïUy:lײ3g¿~‘ÓÞÛµ¬òyè''‰† - üͦ*÷ë XéIÇ„zÈãax‰;]pzåpþ»Z[eîûÅ·5ú¿:¹ Á&Kÿˆ¬î7 ì¸Æü±¤2Ã^Ø»·C¹wBÎ~ÇUtÖÇà!Ðù#ÅAFIräb%†ºÎj;°º¤)]š¾É>;…ÃïCׄžÛ&xz›¬'Œ`=äÑÁ XsB'¿ãdwÃoÊíÒœÞ 6²o26UŒ&ì7bKGUœXªF-pižè¥ß|„®Ë{'!cÏ><IÄèšG§E0fúŶÆGÝqÖeÓ:NûZÑ[x¸>õ2Ý{*¡žò(A3{û³)3€{Ê+U›µúÚ÷òø·åOšöîø¯¼»D‹ê}З^1„‚y?4ê¬Õu~—¯7…‹à^ÿÈsöKÉ4ȇ5ꉅ­}âA›‹Ð°é¾Ò¶"Œqœ}ÞtqcïÌ´3»<ûiv9K?\Jp÷–q|Rý\dû¢es5­äÓ<¬ZÁ‹Àu.'ºrº’ ~œlÙR(!n³ôÔÆ]KiDÐÍ•¢,‚CÎÑûg×l’_ß~Áqö[0‡z"Œ³ìž­ýt‘Žþ‰?ÿSÒœõendstream endobj 15 0 obj 2522 endobj 19 0 obj <> stream xœ¥SËnÛ0¼ó+¶7 ˆ6|I$-àKТh¢[RªD'j$Û±$´Ñ.©‡©=-x ÀÎÎîì¾C,œé.r}«á±% É áC¦«hàCæ&> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 18 0 obj <> /Contents 19 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R 18 0 R ] /Count 3 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 23 0 obj <> endobj 8 0 obj <> endobj 24 0 obj <> endobj 25 0 obj <>stream 2016-01-27T08:26:11+01:00 2016-01-27T08:26:11+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 26 0000000000 65535 f 0000006453 00000 n 0000008575 00000 n 0000006380 00000 n 0000005896 00000 n 0000000015 00000 n 0000002695 00000 n 0000006518 00000 n 0000007004 00000 n 0000006867 00000 n 0000006799 00000 n 0000006559 00000 n 0000006589 00000 n 0000006056 00000 n 0000002715 00000 n 0000005309 00000 n 0000006639 00000 n 0000006669 00000 n 0000006218 00000 n 0000005330 00000 n 0000005876 00000 n 0000006719 00000 n 0000006749 00000 n 0000006948 00000 n 0000007086 00000 n 0000007152 00000 n trailer << /Size 26 /Root 1 0 R /Info 2 0 R /ID [<57B8DDEF7AC7D37A89D2853D7E71ECFF><57B8DDEF7AC7D37A89D2853D7E71ECFF>] >> startxref 8729 %%EOF curl-7.47.0/docs/libcurl/curl_global_cleanup.html0000644000175000017500000000473012652070414016752 00000000000000 curl_global_cleanup man page

NAME

curl_global_cleanup - global libcurl cleanup

SYNOPSIS

#include <curl/curl.h>

void curl_global_cleanup(void);

DESCRIPTION

This function releases resources acquired by curl_global_init.

You should call curl_global_cleanup once for each call you make to curl_global_init, after you are done using libcurl.

This function is not thread safe. You must not call it when any other thread in the program (i.e. a thread sharing the same memory) is running. This doesn't just mean no other thread that is using libcurl. Because curl_global_cleanup calls functions of other libraries that are similarly thread unsafe, it could conflict with any other thread that uses these other libraries.

See the description in libcurl of global environment requirements for details of how to use this function.

SEE ALSO

curl_global_init, libcurl

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_add_handle.html0000644000175000017500000000775212652070414017267 00000000000000 curl_multi_add_handle man page

NAME

curl_multi_add_handle - add an easy handle to a multi session

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle);

DESCRIPTION

Adds a standard easy handle to the multi stack. This function call will make this multi_handle control the specified easy_handle.

While an easy handle is added to a multi stack, you cannot and you must not use curl_easy_perform on that handle. After having removed the easy handle from the multi stack again, it is perfectly fine to use it with the easy interface again.

If the easy handle is not set to use a shared (CURLOPT_SHARE(3)) or global DNS cache (CURLOPT_DNS_USE_GLOBAL_CACHE(3)), it will be made to use the DNS cache that is shared between all easy handles within the multi handle when curl_multi_add_handle is called.

When an easy interface is added to a multi handle, it will use a shared connection cache owned by the multi handle. Removing and adding new easy handles will not affect the pool of connections or the ability to do connection re-use.

If you have CURLMOPT_TIMERFUNCTION set in the multi handle (and you really should if you're working event-based with curl_multi_socket_action and friends), that callback will be called from within this function to ask for an updated timer so that your main event loop will get the activity on this handle to get started.

The easy handle will remain added to the multi handle until you remove it again with curl_multi_remove_handle - even when a transfer with that specific easy handle is completed.

You should remove the easy handle from the multi stack before you terminate first the easy handle and then the multi handle:

1 - curl_multi_remove_handle

2 - curl_easy_cleanup

3 - curl_multi_cleanup

RETURN VALUE

CURLMcode type, general libcurl multi interface error code.

SEE ALSO

curl_multi_cleanup, curl_multi_init, curl_multi_setopt, curl_multi_socket_action

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_share_strerror.html0000644000175000017500000000370712652070414017052 00000000000000 curl_share_strerror man page

NAME

curl_share_strerror - return string describing error code

SYNOPSIS

#include <curl/curl.h> 
const char *curl_share_strerror(CURLSHcode  errornum ); 

DESCRIPTION

The curl_share_strerror() function returns a string describing the CURLSHcode error code passed in the argument errornum.

AVAILABILITY

This function was added in libcurl 7.12.0

RETURN VALUE

A pointer to a zero terminated string.

SEE ALSO

libcurl-errors, curl_multi_strerror, curl_easy_strerror

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_init.html0000644000175000017500000000402312652070414016153 00000000000000 curl_multi_init man page

NAME

curl_multi_init - create a multi handle

SYNOPSIS

#include <curl/curl.h>

CURLM *curl_multi_init( );

DESCRIPTION

This function returns a CURLM handle to be used as input to all the other multi-functions, sometimes referred to as a multi handle in some places in the documentation. This init call MUST have a corresponding call to curl_multi_cleanup when the operation is complete.

RETURN VALUE

If this function returns NULL, something went wrong and you cannot use the other curl functions.

SEE ALSO

curl_multi_cleanup, curl_global_init, curl_easy_init

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_slist_free_all.pdf0000644000175000017500000000630012652070417016575 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…SYÓ0~ϯ‰DܱSç©@Šz,m µ¨Ê¦iHÓnŽ®ø÷؉æ¢+dɉ<3žï?R¨–þÆGc°pa_{ãÑ`Mô'>ÂÇP&xê Üm —ƒëÛÔó!<Œy„OÆŠÄu‘mÊ,-«Í®H’M”ekb¯MÈÒ3-."ºdåu”ÁKæð‹a!åLöˆ%_B ¾P(l‰Af#óµD-£LPáÛY¸5È40ß=Ìé]°WaT8oÁ Ô/D9$y•I¨­½µÃ’8,æP¯i»ü>›ß-ÇËç4 U7&¯Ò<ÎêmïÕŵÑÕn)3$ >lx]N/Ÿú-©I·×R™Jtt=ÒiVVEW}Ðo  †{΢£eR)kóÝ¿¬8ʶ}fŸƒå§Åø.Ïg×ÊöÈÝ´QÚ^$ÇSGQ4V!£®«1\ãT´d¹ç{C*#jÝEêÙÈ:%¤UUÅI §Dp.“ ¥…M.é©.³ßð`r$ušU׿¿L†mf²m<¥Z¢>&\5Øù¯È"ï3øf2{(¥ad4¹tå -f§êæ{ú¿ M–ó¦§it>'ùöZ}W½ãë!Í£yÛHÍ£B¼°¹n¥¸{‚s X[/¦Ïz;Ô–Nè@TÄàˆ¬©"uº jN‚Ðø*×zÑendstream endobj 6 0 obj 546 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:07+01:00 2016-01-27T08:26:07+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000000869 00000 n 0000002677 00000 n 0000000810 00000 n 0000000650 00000 n 0000000015 00000 n 0000000631 00000 n 0000000934 00000 n 0000001188 00000 n 0000001123 00000 n 0000001055 00000 n 0000000975 00000 n 0000001005 00000 n 0000001254 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 2831 %%EOF curl-7.47.0/docs/libcurl/curl_easy_getinfo.html0000644000175000017500000003622112652070414016457 00000000000000 curl_easy_getinfo man page

NAME

curl_easy_getinfo - extract information from a curl handle

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );

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 *, a pointer to a struct curl_slist * or a pointer to a double (as this documentation describes further down). The data pointed-to will be filled in accordingly and can be relied upon only if the function returns CURLE_OK. Use this function AFTER a performed transfer if you want to get transfer related data.

You should not free the memory returned by this function unless it is explicitly mentioned below.

AVAILABLE INFORMATION

The following information can be extracted:

CURLINFO_EFFECTIVE_URL

Last used URL. See CURLINFO_EFFECTIVE_URL(3)

CURLINFO_RESPONSE_CODE

Last received response code. See CURLINFO_RESPONSE_CODE(3)

CURLINFO_HTTP_CONNECTCODE

Last proxy CONNECT response code. See CURLINFO_HTTP_CONNECTCODE(3)

CURLINFO_FILETIME

Remote time of the retrieved document. See CURLINFO_FILETIME(3)

CURLINFO_TOTAL_TIME

Total time of previous transfer. See CURLINFO_TOTAL_TIME(3)

CURLINFO_NAMELOOKUP_TIME

Time from start until name resolving completed. See CURLINFO_NAMELOOKUP_TIME(3)

CURLINFO_CONNECT_TIME

Time from start until remote host or proxy completed. See CURLINFO_CONNECT_TIME(3)

CURLINFO_APPCONNECT_TIME

Time from start until SSL/SSH handshake completed. See CURLINFO_APPCONNECT_TIME(3)

CURLINFO_PRETRANSFER_TIME

Time from start until just before the transfer begins. See CURLINFO_PRETRANSFER_TIME(3)

CURLINFO_STARTTRANSFER_TIME

Time from start until just when the first byte is received. See CURLINFO_STARTTRANSFER_TIME(3)

CURLINFO_REDIRECT_TIME

Time taken for all redirect steps before the final transfer. See CURLINFO_REDIRECT_TIME(3)

CURLINFO_REDIRECT_COUNT

Total number of redirects that were followed. See CURLINFO_REDIRECT_COUNT(3)

CURLINFO_REDIRECT_URL

URL a redirect would take you to, had you enabled redirects. See CURLINFO_REDIRECT_URL(3)

CURLINFO_SIZE_UPLOAD

Number of bytes uploaded. See CURLINFO_SIZE_UPLOAD(3)

CURLINFO_SIZE_DOWNLOAD

Number of bytes downloaded. See CURLINFO_SIZE_DOWNLOAD(3)

CURLINFO_SPEED_DOWNLOAD

Average download speed. See CURLINFO_SPEED_DOWNLOAD(3)

CURLINFO_SPEED_UPLOAD

Average upload speed. See CURLINFO_SPEED_UPLOAD(3)

CURLINFO_HEADER_SIZE

Number of bytes of all headers received. See CURLINFO_HEADER_SIZE(3)

CURLINFO_REQUEST_SIZE

Number of bytes sent in the issued HTTP requests. See CURLINFO_REQUEST_SIZE(3)

CURLINFO_SSL_VERIFYRESULT

Certificate verification result. See CURLINFO_SSL_VERIFYRESULT(3)

CURLINFO_SSL_ENGINES

A list of OpenSSL crypto engines. See CURLINFO_SSL_ENGINES(3)

CURLINFO_CONTENT_LENGTH_DOWNLOAD

Content length from the Content-Length header. See CURLINFO_CONTENT_LENGTH_DOWNLOAD(3)

CURLINFO_CONTENT_LENGTH_UPLOAD

Upload size. See CURLINFO_CONTENT_LENGTH_UPLOAD(3)

CURLINFO_CONTENT_TYPE

Content type from the Content-Type header. See CURLINFO_CONTENT_TYPE(3)

CURLINFO_PRIVATE

User's private data pointer. See CURLINFO_PRIVATE(3)

CURLINFO_HTTPAUTH_AVAIL

Available HTTP authentication methods. See CURLINFO_HTTPAUTH_AVAIL(3)

CURLINFO_PROXYAUTH_AVAIL

Available HTTP proxy authentication methods. See CURLINFO_PROXYAUTH_AVAIL(3)

CURLINFO_OS_ERRNO

The errno from the last failure to connect. See CURLINFO_OS_ERRNO(3)

CURLINFO_NUM_CONNECTS

Number of new successful connections used for previous transfer. See CURLINFO_NUM_CONNECTS(3)

CURLINFO_PRIMARY_IP

IP address of the last connection. See CURLINFO_PRIMARY_IP(3)

CURLINFO_PRIMARY_PORT

Port of the last connection. See CURLINFO_PRIMARY_PORT(3)

CURLINFO_LOCAL_IP

Local-end IP address of last connection. See CURLINFO_LOCAL_IP(3)

CURLINFO_LOCAL_PORT

Local-end port of last connection. See CURLINFO_LOCAL_PORT(3)

CURLINFO_COOKIELIST

List of all known cookies. See CURLINFO_COOKIELIST(3)

CURLINFO_LASTSOCKET

Last socket used. See CURLINFO_LASTSOCKET(3)

CURLINFO_ACTIVESOCKET

The session's active socket. See CURLINFO_ACTIVESOCKET(3)

CURLINFO_FTP_ENTRY_PATH

The entry path after logging in to an FTP server. See CURLINFO_FTP_ENTRY_PATH(3)

CURLINFO_CERTINFO

Certificate chain. See CURLINFO_CERTINFO(3)

CURLINFO_TLS_SESSION

TLS session info that can be used for further processing. See CURLINFO_TLS_SESSION(3)

CURLINFO_CONDITION_UNMET

Whether or not a time conditional was met. See CURLINFO_CONDITION_UNMET(3)

CURLINFO_RTSP_SESSION_ID

RTSP session ID. See CURLINFO_RTSP_SESSION_ID(3)

CURLINFO_RTSP_CLIENT_CSEQ

RTSP CSeq that will next be used. See CURLINFO_RTSP_CLIENT_CSEQ(3)

CURLINFO_RTSP_SERVER_CSEQ

RTSP CSeq that will next be expected. See CURLINFO_RTSP_SERVER_CSEQ(3)

CURLINFO_RTSP_CSEQ_RECV

RTSP CSeq last received. See CURLINFO_RTSP_CSEQ_RECV(3)

TIMES

An overview of the six time values available from curl_easy_getinfo()
 
curl_easy_perform()
    |
    |--NAMELOOKUP
    |--|--CONNECT
    |--|--|--APPCONNECT
    |--|--|--|--PRETRANSFER
    |--|--|--|--|--STARTTRANSFER
    |--|--|--|--|--|--TOTAL
    |--|--|--|--|--|--REDIRECT

NAMELOOKUP

CURLINFO_NAMELOOKUP_TIME. The time it took from the start until the name resolving was completed.

CONNECT

CURLINFO_CONNECT_TIME. The time it took from the start until the connect to the remote host (or proxy) was completed.

APPCONNECT

CURLINFO_APPCONNECT_TIME. The time it took from the start until the SSL connect/handshake with the remote host was completed. (Added in in 7.19.0)

PRETRANSFER

CURLINFO_PRETRANSFER_TIME. The time it took from the start until the file transfer is just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved.

STARTTRANSFER

CURLINFO_STARTTRANSFER_TIME. The time it took from the start until the first byte is received by libcurl.

TOTAL

CURLINFO_TOTAL_TIME. Total time of the previous request.

REDIRECT

CURLINFO_REDIRECT_TIME. The time it took for all redirection steps include name lookup, connect, pretransfer and transfer before final transaction was started. So, this is zero if no redirection took place.

RETURN VALUE

If the operation was successful, CURLE_OK is returned. Otherwise an appropriate error code will be returned.

SEE ALSO

curl_easy_setopt

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_easy_unescape.html0000644000175000017500000000550412652070414016627 00000000000000 curl_easy_unescape man page

NAME

curl_easy_unescape - URL decodes the given string

SYNOPSIS

#include <curl/curl.h>

char *curl_easy_unescape( CURL * curl , const char * url , int inlength , int * outlength );

DESCRIPTION

This function converts the given URL encoded input string to a "plain string" and returns that in an allocated memory area. All input characters that are URL encoded (%XX where XX is a two-digit hexadecimal number) are converted to their binary versions.

If the length argument is set to 0 (zero), curl_easy_unescape will use strlen() on the input url string to find out the size.

If outlength is non-NULL, the function will write the length of the returned string in the integer it points to. This allows an escaped string containing %00 to still get used properly after unescaping.

You must curl_free the returned string when you're done with it.

AVAILABILITY

Added in 7.15.4 and replaces the old curl_unescape function.

RETURN VALUE

A pointer to a zero terminated string or NULL if it failed.

SEE ALSO

curl_easy_escape, curl_free, RFC 3986

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_escape.html0000644000175000017500000000477512652070414015254 00000000000000 curl_escape man page

NAME

curl_escape - URL encodes the given string

SYNOPSIS

#include <curl/curl.h>

char *curl_escape( const char * url , int length );

DESCRIPTION

Obsolete function. Use curl_easy_escape instead!

This function will convert the given input string to an URL encoded string and return that as a new allocated string. All input characters that are not a-z, A-Z or 0-9 will be converted to their "URL escaped" version (%NN where NN is a two-digit hexadecimal number).

If the 'length' argument is set to 0, curl_escape() will use strlen() on the input 'url' string to find out the size.

You must curl_free() the returned string when you're done with it.

AVAILABILITY

Since 7.15.4, curl_easy_escape should be used. This function will be removed in a future release.

RETURN VALUE

A pointer to a zero terminated string or NULL if it failed.

SEE ALSO

curl_unescape, curl_free, RFC 2396

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_formget.pdf0000644000175000017500000001046312652070423015253 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…WioÛFý®_1E†tÅÍ.o¢M%UQ¾j3A«0hje±¡H…‡]§è?èîì.—‡l£0`Ã{Í›™7o†_€TütÓÝìõewõŒÂÝìËŒÉMèþ¤;xãP,Ä›™ºÃ °!ˆFïfÌ õ ~˜]i[å7›²ÚÝñfe8+òìV,š–íQBi`œ&E›äðä¤ùGü~fQb3|5E£%‘'ì:>Ä'3ãla¾Bœ¸Ë<âEb‰×3ãtiÆŽPÚ”¸4‹Ùb›>EԼʒ<ûÊ!}ÅMÛàã>+Û:„[Ó¦F›å ìÚ¼ÉöIÕ¼·×I“À¯q|çW1¤Û$+$ò ^ [Ì'¡ÄwõéìüâêøJ¡Œ:”òˆDh|›iÞ®9ü(P¾¿Èö§§\‚øèÚÈŠæ zuSµi·¸mšý¾¬8±?‡{ô„PæúF™­á¨EÏ÷s Ùõzã÷nÒ$Ïo“ô3$û=/Ö°2 kC6òðçåÕ»Ëã‹øøülŠzp’7Šž# r$«a­¡)Gy‘‘–©qIzî$5èPÀd~^+xû!k¶]*ÕQ‹|â3Ö¥7œ¬×ŠsÖ!QÔ1N£öñ’OíîYˆcŠv XÔ?—ò}S#îÅ×&¶ê=ŒµX´\!£C<ã* ûÉ+Hjt:-1ÎIe2,%êûÆ]»ã˜æ"Ùñõ¡O̳‰Ë¼ÎÌçU|ùA_X •Ňm–n1Ly·öI-bŽæ›-‡+¤Œ„fDìêÀI(¶‹.EyKyi‡DX—œ1åÒ¦-Ò&+ 2­AèæqÏ×|5¦ý¦•q¤ìõEyÀË•¹2îÍH°Âñ«ŸÄ( H0 Ñ|jׄÐh/0üè>s…O ‡P†%ú=6æÄmÛcâX„e Ö7óž+ƒ-,RÍ å¥B3ðÔ'®ßÃÉy1EË0ãƒñ¾uÂ-ÇA=tÁ"á'¡mËÄ£ÜMÓ¡YÀµžä·‹yô´3ñÞÌx…®Úï3ù~Ú6H!|x‚Ô* åFRæ@# H,á$¬¿OÛžK  ̵Ñnd­GÔ66\q ëÇ&!vÍ,„'UÄèè« ªýÚµ˜È¢l„o›ŠóugXï×Û²Í×Pñ¦­ yU"q¨M3š0±†•RjŸ}_ÚEd€ù¹k¶0@ÈÐíê6Uåà`Æí Ô•×µä=%Ž-‹Ñ8–QÂv6¢¤KÏšï>\žür~yzs_.§Ó„37 44Ç–šb”{Qa½œfÊA‘{Ñæ¦Ì»PÕIÚ}¸¶ßY¾!íFqÈZtÓ§Nß@4“QcÜէʪo›ªÜÁƒ$BDœžXîŸ;YÁ6ï¸Cî5f`¼ƒ¶h²ËöÕÄd”×WŠ€§nÜ£Þ *¹Q=ª2Ë+^$ƒ†,SŠdqÅ¿´\ÈcYÆ„û… d7Ü€˜)F·*ž¬Ê5¥D €xëI)úæi[Ýär¹Œ?\žÁG“9X>3'–J‰‰7m\£™‚î=Lc¯?<)ꃲGæäå¥ü_Õc³±âë2Ç!ù<Ç‚+¬¯¼*a'_O àU…ªP¦žªoa“ùµÝ¡ã!bùûâôâä`–ÃÙ²ŸR®;íDþbëì'¡/bÖQ aÜÊæ0Öw5>ˆ¶Ònæºç`Ew\¦pÔüKsdxóPe _·&S®ËËxk iÖeÛY/ˆ–†=l¥Ñá„#àâ"¶vü÷û7â®:ntZ$^ͬa(ûG–†œûž÷ü¥ÉOî™øØsÎè§š²Iòñ¼*;Š‘mVÓ™Žï†Ãó£o¢cSKg:¸o1ièÐI}r0ó\(,F¼0|òq`uéx„§¨+ zñ†ÑÍ­ƒiŽŸ,ÞŸÇŸtUèM|:Ä[TT=¿(òG¶ òã ©„V+A@ħÉÿ~,—°8¹:é‹@‹)N@†WtÔ‹p¤ˆt£îgY+òÔºÅp^éž:€†[N€ÊaØÞ·'Nõ=àë/*&[Ƴßðç?‚úÔ­endstream endobj 6 0 obj 1592 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:11+01:00 2016-01-27T08:26:11+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001916 00000 n 0000003796 00000 n 0000001857 00000 n 0000001697 00000 n 0000000015 00000 n 0000001677 00000 n 0000001981 00000 n 0000002235 00000 n 0000002170 00000 n 0000002102 00000 n 0000002022 00000 n 0000002052 00000 n 0000002317 00000 n 0000002373 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<57D1437FF8DB168B3A01191A7E002AFC><57D1437FF8DB168B3A01191A7E002AFC>] >> startxref 3950 %%EOF curl-7.47.0/docs/libcurl/libcurl-symbols.pdf0000644000175000017500000011403412652070424015705 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­VÛnÛF}çW,òR²(·{áòÒ7Y–]µŒ”Z4ŠÀ) š\IL(R!) ùÿJÿ1³»¤-;6, †HíåÌ93ggùLQ¿þ™m¬ß/´j-‚VÖW‹êIÔ?² :I`A¨’¥eöP0D‡J6e>&¡@ÉÞº²Ëâ&Û5¥Û~ÛÜÔeûÉæŸÔ:.*ì~=·Úù/ùËr fÐ3Ap Ÿû(‰-{6r~¾0KNInÙï'Nòù€-#Ø#r)SÓäY‚èÿ2#èÖ¡Ž"زi‹ºBEµ¬›MÚÁ»æöˆ‘ ”\êãP3x Õ>¦£W*˜ù¡“¬‹mÒ mÓ•D¹ìÒH‰ ù3¼¡íî¦,²!Ú65ì°o‹\æ°uky/k-Ó\6è®”-F:\Y´]«¥(:±E± ŠMòë•­vÞ5m§){;Ì’øý›‚]ÿ{òcG*Ïb¸ ‰ýêñbô[hÀq<_L>ÌãéøãõxÇ'z|Ó˜ûºÓpmŒÆîQè×ýÄßz …†Åƒ/:ŒOF`ò‹Éx‰2®/“Ó×Ôýˆýtr1:;›j?§-öÓ(óøT5‰cpà[ØõöL↯.¸k(XÅ¥Bn†–΂ß#Ô7ŸCþp¯P2I¬à÷dM'endstream endobj 6 0 obj 1090 endobj 13 0 obj <> stream xœ­–[OÛ0Çßó)üèH‹g'Îí1M d»$.—)‚Ð!-£Mûö;NS`šÒMQ•êØþkþÉ=¢„!j®îÞL¬Ïeˆ®æEWÖ½ÅÚEÔÝš h؃þa-Î0º(Œ=ÅHO,æ„F>Ò¿¬oøöú¢yœÝ:óß“‹»ÛùöÎlÔmÇõ)¡ÌÇÝ*zk·ý]±¼9ðÓ—€LGe‘ªCUäéi]Êö|àð‹J?`®9@M 8Ÿ>Ìî.›ñ%ºž¢„¶¾±œvW@¢g°¨“*m?&qÄÖ"«§ušÅ å:”p¤‹qJ kjNâ$54ÚÚ=£8êö[/ŒEÄeËxVBaï‡bsŠw“\¾JiÞ§¥H2Ûç$ŽÝC6ê`X-ú¨áèJŽ“¬­L.wkUf¢ì e㟳qsþ–ùõ´cHh¿%µº2UøëõÔÌ`jº’Ë#K¥¨F½åÙÀÇÎH¦:W²NÊ] Ê׳ùYX"‡vÌLÔ.NªêØŽÍÿ ÂP(Ž¥Èú|pâ~¸éÞHî×;vÈq’ý>\¶¦ä‘ay; 72ŸðàK^)3³akƨÈ`À€%EªûHkr[p`„Ta3Jñ‘¨÷ÔŠ*ý+rXþ-G>#ÞRuÔɳqB½'9:]È‘înÈsûë\æ[d´ä¢Ê¿ŠZœ¤Bd¢·o”DëX/*dž9°lݾ=Õõâ….¤©ê6m†€m8ú|Íè¿Å×ùP£Þr~Œ[Uu&d¾Áƒµ–9xÒÈÿ¢˜oêN¼K’\Ð}±2Bâ0ß÷=|s>Enø ¹ÐŒÖ¼n²Û•ÐÖ!\îD?endstream endobj 14 0 obj 663 endobj 18 0 obj <> stream xœµV]OÛ0}ϯð£--™í|?¦©»yʚ⸠Si‡ŠÚ2Zд¿ë llI» ¨Šzs}ν÷[¾EÔaˆš§yW+ë½ ÑÕÖ¢èʺµXý5¯j…"Ð߬‡5 ……±ëD1Ò+‹ñÀ¡‘ôë /—Õýfio®.o–ÛsìžÔ‰Í}êPæãæ+z-›|ÕŸ,7@6üô Ó©ÊD9Ò“r@\ωcâdXŽ$D3Yè§Œ›Ô‚åúns3»¯æ3´X£ÐáÌ¡D_[v8‘IÝN“±.?]~ÌŸÿÀb­@J¤ùx,ÒV$4œßÌ«‹;ˆlëjn‚aK©ù46Õò‹xK%´ª'ý_#iÀ (8)R){«øì/,9~¶Š"®ó|ú›Uú•!Ö§“ÖQunD9”†ÎÚÊïRæ´ ë&ß­qBb^O¶ÞÏ1Ö2ɺ•øê„ÿÍ•+âÇNy ërDB„e ,Ð ÷É hð÷¾ˆœ¶èwDbã¼ ÂÓœx¥PªþKCíÏŠ»ÜE‘5ýDž×qBp2ÄFRÆÌÅ8)Š“§Îs5,å8Í•2‡à›´z"$p–£\}NcÔ¨ˆÛé:ÀƒRÐ ´Ûe’Fi‡dOìãž±A5;yúE¯ßò0]•ìy³ÀmÅ`ã>05wHðÌÀf¾ï»øúbxøqÊ‚šÍ \¸ê2×€mÁó ì u5endstream endobj 19 0 obj 573 endobj 23 0 obj <> stream xœµ–]OÛ0†ïó+|éH‹gÇù¼t·xKíÎ8H¦B‡@´ šöïg§¡‚­iæ)ŠùØÏÇ{œ<ŒÀîêžÍÒû¨Sp½ö0¸ö<ÒA÷h–`dì„Ì ˜oÞf iÒœ¢,fé‘0A8‹ùáÁ»›Ëæùñ.Xÿ\^Þß­Ï!=÷A7èaŒ&1ì¬`×lÿ«ùäÑö6W9®tÉëI%ÇF(YKåG–‚S M=Q•,¶+HèV`ç «§Çû«çfqnV EÄ7·^ÐÎJPöš<} léÐ 9ý û1ßÁìGÆÌCgܳœf÷úä‡#}G-p®´ç(ÏÃÔý”Úw’B&J~MA±øþ¸h.žìÈúfÕ,܆ᡠæêØÔ\kŸv[þ- Íä”·È—ì @ît>=伿¦Ò’Û²8²F´OB®'­£˜ÆKmižÙÆr³ØØÙ°3Š¢ìÅpùΊQŽâ0OûÙW¢²Ø„Èæõ˜I«9ºUÈHü‹äÞ²…<ñ !+EQ[û€fÑÇœéñ‘ËN4LÊ{|#Í´ŸÄð´îRáJ>´ý«ìe;5².¸ÖéýÇ…C¿Û3VN”ž1Ÿb­Žùèˆ7ÇÑÈoU’d°¥Ÿ‡îXwyòÐÆ!Aq_>¤ªÇJJ¾9éY; oºÚÏL×%'ìu—àm—@Q²QÉ7 ­„H_PÜ_õùP5z³¤æ\wup11ㅪ̹‡ïaZä¿»Æ[«I=ã3åºÀV5Jàéß÷Ó¼•ÎlŸZ^ûñÏm¬¬'¶Q‡qíÏFXÝl¸Ý/ƒµFÄ8Ž)¼½X0ýBL’–%´SDä Üx_ìõ h/OHendstream endobj 24 0 obj 671 endobj 28 0 obj <> stream xœ­•]o›0†ïù¾´¥Am>Ã%§ñF!ÁN7i¬–dUª$]“VÕþýl i¶¶. ûøññ9¯}¶ÀúiÚriœ¸ÝÜ©AÓ”KÐÊ §;ÄO£žC@`ƒ t¬^ÄÒ ¶oážijñ.æ7åÓzan~/oî›+è\!Ðt"Óö°…‰›Qð–5ú!>ŽLõ‰©BÆ“"¥rDi!(paÄRšÈKZ°‹#DQL –g»¹ÄÖs±ö ²Õãú~úTΦ`¾EÔ‹ÄaV†¾ÕÛ_fŒ†“¹•£!TÒ¢¨~qàÀ¼øg‰·èø]zeç§Ò(ix‡ Z8ñå8m]ä»Í©àE»HÆ1å\&4c49rÏ/‘0þE&izRê@©LÒoŒ ~zn¶×%ù$뎈ߖ=äc(øHÆœŽwò"®@.mÜæüÌUîÔù:%›Ó,yá)¥»Š¦®Ç {nuG¨ÈeÖ¶œWÔ-tT²LN8Õ6-˜ÐòA2ûµž•תo3_•³÷¤±¥óa´5霧2ÖÇ Æ´ÎÓ1á{“}ä¸VÚŒ-ÚÚÁWd/Ôù!PŒötÔOéÅø¾f£¡¢wD³Ã½<Ëh,*I:a½óc®ÔŠY¤cØGš³LË’‰Zð! ê¢x°ÖUý6}u>ktS…•«J)2‰çy¼»^;ølU\+°ë;ªøk®§!Tcõü80 Qendstream endobj 29 0 obj 567 endobj 33 0 obj <> stream xœµ–[Sœ0Çßùy„™’&„ë#BVS1PZí0Š[GÇ][W§ÓoßÃÅU«,®»0äò;'9çüÃOD0E¤½†g³0>–ºX]? Úu¢áÑ,ÐŽ†aÛ ¿ýŠÃa„ô ŽIè!ýË86¯/ÏšûÛk{õ{qvs½:1Ù‰…†FËv<‚ õÌ¡½6Úú¦?ÌG6üõ9 “ªÌx­TVs¹+$¯en±G¡çšz–W2]O¡N;…´®˜byw{s~ßÌÏÑå8ÂÌÒW†Ýóq8W\ϬÀÅ„„¡‹ŒÿMß,ä‹2G3ãL¤ /-üœÀÔJwx›bJ‘n Ê`3Ûmn-ź“®ÝÁ¢¡£REÚ¶²QÇ\ŠÉfÏ”ªxYó²\oh^N-—FÔ‚óa‘]ÄL$±E)wxåS&B”ÎÜΛÓ;hY].›yk~›í )yZT;ûüèiŠ<1ìMÙfSËS{•Nïöø¯²†|aN¼-_:¾Í3ÉuZä²VGR[PhP3ÔŒ§ÈÁ ìu¦‹:jVeY;h“{&#ûÿrcžòù¡PZý/ºÈ2¾¿Åù™«*Ù«¤ç;HÇÏQ}޹ôuÚÞ¹‚—ÿìV%÷[Ï` ¤§xŸ_k¦¡Eúfž×±<ªKžŠ’'ê ®7 |t{„êó} èÐm˜ÏJiûÒy䪪(òAÎÚ`ó´.z™´ v{uö°öâ R†Ý ”k”? 8ÌöמäY¯à$¾·ùà‹ªÈúHS/2ãt¢Ðuß,Dã'Ü ÜÙ,/;ý„eOâ¶`Õ]N7 |ƒØ>äDohø’x8õlêy3¯N—È > ‡P¿³æúlˆ€ßB¸6>ÃõWUendstream endobj 34 0 obj 690 endobj 38 0 obj <> stream xœµ–]o›0†ïý+|iKƒÙ|sI‰Óz%gUÖN(%Y•*I×hÚ¿Ÿ ì£i¶´iB ûðø}¶!1)$újŸå¼>¼«wàк¶r Ϥ tƒü šo(ô-臶„P.µ<“.”ßÁ5ZÌoËízaT?–·‹êÙ7¶Ø°\bꢶî‹Æ_ä`{ÐP·œ*d< +F9+ò<)úØwLB|E¥è—XM±í¢hÀzC>d'0—«édòíöòñ áéQ•±ãp”^¦¶3 -]¥G™üÅLûY?‰Ôo€Î‹§ØzBt6›BQ)ír í¬+þ9ß]2N†¾Ðsg£Tv5‰AWìœî,é’wW0£·Mh&E$D„)ÑÅý‚E0ܳúÿV°ô <„½Ù·õ¬œlT[5_•³ºÙ…ɤÚÀmõ'Ò}ÅйġÕ,òjãðHóï,Î×ËQ§ÃSinä´{ºêwtÞ êº®î'+hùï ¥´Õ ÏVG -À×&ÁGuýóý7Yendstream endobj 39 0 obj 524 endobj 43 0 obj <> stream xœ½•ÝOÛ0ÀßýWø1‘Ïv<êNiÚ%×é†@mthÚ?;õ@HŠ‚&+Šä»ûù|¾;L ÃÔ-ÿoÖès%ñÕQ|…îk…Øÿš5>« ÜüD;†%ÇRÇDi kĸ T¥~£³`u}Ù<ܯ¢íŸõåíj{Äç!ö›aÄSJ(K/ůi‡ßà ŠŽìK‹<^TE6«¦G¡&Zs¡‚E–™êQ‘q§HÁdóëþvùÐüXâë –D ŠZ=AT7²0å ä{àÌ9ì{zð‰w<+Á”›ÑØ^Úêu’â~’½e&±íçÔ>\=.õƒàtnQæ§ÿ\z7æì9§ ã4MMoÊ:ü1åxÀm²I1$ÎÜ£·VXW4ÈEÃ5¬>($Dtñ,+q}!ëÀFëäÍ„OÊ“!ɲíùµc1»`Q­Ÿ*3šöxÃáo0`Þ (Ií£Ü „­¨{ºÆhá„Ô ˜}Á•V^ùÅØdÏ,cA’}K+Ôü¥uØH2Âc+yÓuþñ®×uÑZrJ”Ðú¿ž E=üì©|6~‘FípàïÍ€’DÒ® ¤~NØA Iø®šý8v€Ù±4Mãàæûsù sÊD[Ö‰ˆý™íØ2€¾ÚõõpÄendstream endobj 44 0 obj 504 endobj 48 0 obj <> stream xœ­•]o›0†ïù¾i¸¶ùô%'õF §SÕN¨%Y•*Iפմ?P5IIÚ E(æðœ—÷?1@úêîõÂ8+p·6¸3 Ü<Ý­^€¯R„zAþ6Úw0¨C äÂÀć(ô€ük\™óÙmý¼šÛë‹Û‡ùúÚt®-Ð-Z6ñDØ3»§`_´õK~3Øê'' ‹t ó“çYRÆ©E DÈMÉãŸÉ&´“/ŸV“çz:³% ö cÉ{Ãn}êÐWd‘iš z½‹Sr1LÙYe™VQšö!0D ™þYMë›'µ¸ž-ë©^ ÚA_m³ã8®"Ë¡†žkÆ’_°WFî&ó!yS¯fŠL°>Ñû8;âr‹bH)!fT–Ç©Ã=ÔLÈÂrU¢À1³´—xŠ¹Û‰ŽñàÝ…SŸà»ªj.6/?õ 6Yª¸`‘…1ÒYLɪ„½™(tO#¶.}>¶`Ú!ïs³‡eå¼JXʆ:V“&Õ 6í3ìÃrÐãøc 9šg)/íz·S|Hû9‹VT%ÛÚŸE—®W½spçtرàÎúç^L+‹AV½T©™keg²O›ëÒÖ2ó\ÍÁbYI>êÝÞôm…1S=ŠTÔŸ#útw°m¡2‘ð¦Òc¡ ~amÓ«ÜöU¥[aÝ9¬mP#ò±çyŽy³$øÂ~£Òõuük.Õ&êúÈ«(rendstream endobj 49 0 obj 571 endobj 53 0 obj <> stream xœµ–]o›0†ïù¾ix¶Á€/ipV,q:uí„Z’U©’tMZMû÷;vH²--dí&„ǯÛç îÁ}5Ïza½†èfmtcÝ[Ô ¢æQ/ЉA¤ ꫵ™CQÈP(< ¤e&Gê»uaÏg×õãjî®,®ïæëKÛ»tPct\Æ &”ÛÍ(zJí|Qï-/@.ÜjbÙ½ñ0Kó~QõŠ<—=U©ôƒtÔ­ÑP¦5D¯m§Ë‡ÕÝ䱞NÐl‰Bìcªe®Ñ8ÒÊ‹ßpJæªÊdþN ª¤p<›óûSží_âd·¡ÍbëµÎ¸Ôp‹ˆû/„²Õyù‡K@û­ â4•Y:Rú”W÷œÄŒQL)RµPQ! e@VFM b…b­#ZC#Ì)a]¥¹!ø>öɺ"ÔîYÙïCò§g²K©“'™Òv”~šÉà <€ð¶’è«ö¡†NÐÙyUšBØ…‹R9o"«}ˆDnF{`‡ØžMYÞêŒ9lïÅni(Mμ3J?¿.[J•f˜h7‚ãB=šÐ­GÇ{BDÔ @ƒŠ›ºñÌ<æãmAœÅ¿N"ûIi¶‰H9ŸÁQÇ–¡%G%Óo«i}õ¶õlYO¦›/È‹-lËà,†N ý‚0²‹\vµñöhiÚ¨èÊÎîË1kã½8«Ò²ƒÂ(&­‡3˜²:\`!Xh«®óíðgàð¾A6ßwí-p)çܳo¯–ˆ…o#40`ŸoS‰ŠTÖG¸~n.1xendstream endobj 54 0 obj 627 endobj 58 0 obj <> stream xœ­•moÛ ÇßûSðK3üüÒKèæ5p¶.¬5ÙªVIª6­¦}ûq–dÊât©,Ë2ÿãÇqÜ#°}Úïd)¸YzÜxq"h?“9x§Afôo5‡€”‚4Q–=÷MÎb zc8»½ž\… ÑøÝ½.V1égíÿÈô£×w\1¥JÁ›²*מ{Óæ’Ÿø@¸Ë†D ,:É-ÔëªEºûëh¤¹ðƒ$Et…l¯m«Û.8ŽCx÷mhúPLÇâu ŽÂ´wažß!ò(Ãendstream endobj 59 0 obj 610 endobj 63 0 obj <> stream xœµ•oo›0Æßó)üÒH‹glà%Kœ–…@†mU:¡5ÙªVIªþÓ´o¿3Ð,mÓxJ;!„twül?(ˆmÀüôÚwŠ8Š’€Ä 2+qIh,ùåÍðòâl~³ìÝþ^]-oOqpê£.è÷¸ „2»,ÚUí3½@¢Üfááþ´Ê³bXÖ:Ï´ñÍe“dÜ&©]gë»›«ÅýüÇ]¬QD'­ë5…’ÄO8e¤ž€ž1BAè3Æl 2QjPJ?øK‘Û'œ,”8lðš07y:é˜4 dn!u^š<#Œ!3÷âPŸÊ ÆY£cjPj«¨­`1Œò¶×YѼ/%¢.ýÿónÊ©yÓí¨â(+”vxb§¯fIŸU• O*¥§¹Ÿp°„”ظ¾žØK5>´t Ãiå˦lL•z¨ªÚdcåZ !|Ÿ¦ÊŠ#WCìѨ¯®ŽJˆÜÈu­•ÖYY88A¸£3·@MŽ’ÐÚÔJÊ:۔毟¬”æ­€-°­>P‚“‰§zt°Že<¨‹rò 60_kÅËÀd2•r’½tUý(Äi–·kp’$,y´ÆAü ¾t©çØÞ´06CØ`.ƒ¯8ðèxœúŒ‡â›þq=ÎôC$a6â„ï2ýËpmÛð ‘ ç¿ÒàÞ“á-­û/[»2è¶Bøòûñèâ0Õp(â®X3_”ñ>ÁõÈ3Xendstream endobj 64 0 obj 593 endobj 68 0 obj <> stream xœ½Vmo›0þίðG†ç3˜—4qb2p¶uéd­ÉVµJRµY5íßÏÚ$U[ÒM!ÝŸÇw÷œÍ"©žæ;_Yo‹]m,‚®¬; Œ5Ÿù HUùÍª× ) cG1’+ h€IÄüaÍìåõåüá~én~®.o—› Û»pPct\Ê&ÀìÆ‹^Šv>Ë3Ë «_¹°ìÞ´ÈFÃR:òÆr 9·`ÍHL@b\¤2Åâ¸q¨>ð¬£&v¸@+©6k§ëï÷·‹‡ù׺^£CŒ]±C€£cù©à/ÑÿkæYM­’~_IBGžoçÚ˜qSÞÿ½![üŒ÷äÑÅç®úeYùû@ˆ¢L^Á˜í‚LÅHäŽçë1ßþ žÄÿ÷ˆã|"Uo¨UÆÅ©ª :¦¡dN šÅmy®Êôï¢òô¨¶RåBr!÷Șžn?x-²-×8ù¨é„VPgç쵩a^šÝWpi.º»·¦&é„gÕÀÕµ8°‚ýj’ôA¡Í$å»#ö8vÙó|Ü ®¸‰&£Tœv×»U%[ Uê³8Œk9¾ç…:ÉŽTÅ.v*yxTå'ÓrØß;Û´Š#@]fm¥`.ŽD¢ä© .cuPëÝâûÔƒ©0 ìH¢©Ì{#.÷ÓÂt£Ú³Ð‚`+˜ßÜ ûܘG–LǼxÖ ÝÁ¨«ÔAíy<ªVÿȸAˆi­Úæw¤*2ècž}óehøQQ¬Ï¢fðÀœ5\Zïôó ×Xxendstream endobj 69 0 obj 608 endobj 73 0 obj <> stream xœ­•mo›0Çßó)üÒHÃÀyxI°“Ñ€ÍÀhŠÒÉZ“­j•¤j³ªÚ·Ÿ!¤SÔº¤²%ûüãç»ó#°v3ºy±6>—¸Ý6¸5 Ün‚nZ¬ÁHjƒ°Y¿ŒÝ ‘‹ÂȵÙ!òŘÃÕÝÍâùiemÿ¬oVÛkè^› [4-‡ØÈÆv»à˜µù]^®,ýÉ¥“ºÌrQH%Óœ•ãš'2Ü”÷­v#»ù9L7¿Ÿ–Ï‹ŸKp·ÂZWcgµ†> ÿñª‰¢‚³CÊ@„üþóü¼óó@Å”2ªâ¬d15 ³W¿{`®ƒp/mdºŠ"'€1U,®fêKÌiƆ §0?W‰dÊääõò’8ËT^gfä Û1”©*t‚ˆ2¿Dæ1ì»Õ’^lÊ%+¹é \gŠ•¥éF»ˆˆòÉZL/HCQK%Æ*g¹Öàwêsñ±æS.Ú»= ¿q¥k·)ØsîºEêórV0µ/ýBè`¸ü¶RP™à“ËbtÅùRÄx¬¸¯‘í)•,S>yïXSœïa*~ÍÉ$a®{n“"y5tŽ÷?\Åx"¨–<ˆÅ}‰ßR)-YU©*ÅP3ÆÑ‰ ª¸(§Cˆ Cè÷Ïòµ¸Ý+Ö·¹( B\xÿcœàplì·^z$ÔgÃÅm¦3i|Õã/Þuô·endstream endobj 74 0 obj 539 endobj 78 0 obj <> stream xœ­•mo›0Çßó)ü¤áùÌ£_&V1›ºtB)ɪTIº†DÓ¾ýlB“%i!Ý*„|çßÿgîžÁ€ˆ|êo±T>¦º/‚î•'*#ª?Åu¹ppåÿ¡ìör(r˜]†øRjcâZˆÿRÆêb~Wl× ½ü½¼{\”·ªq«¡zQÓ©E0K­­è%oí;¿V éâåSô²4J†<ïh–‰£Žšq \5IýÀOýt¿¨Ü@d"j¸Ú¬§Ûb6Eór0hüAÑ+/»Çà®Æ$×vÕ,ÄQøÍ?ažãÈoó:a$ÒÞ01m" +#`Ä ÅfB`æ é¥W‡K#‘ ˜cµáªÚdZØ ÂùµÈ » ZxBOKÈáš òêmJ°´=ல¸Ÿw?ÅyÅ“¸E ¸IÚ ×;‡‰#vˆU ÕèpÔÙë¤Û°sj¼#—ÄöãÞ;%JFþ…$õf?׳b²+å|ṲðBMÊ Ú–ûb@c1dÈa…ÞÍ?´[á£Äëûü¸>@EÌæò0YžÃ}µ<ÎEñ/¯O/‰cßã<øIÆÛôº”“F-(8ï ãS\žÄ‘„¨7­ÿ§ÕÆû’©fŠÆLCMyìó¯‚-µi‹&Û?Ü÷öPæÛBeLVˆ:%`WÉ™ÖóðKR|®|Ï·ø4endstream endobj 79 0 obj 608 endobj 83 0 obj <> stream xœ¥–ÝNÛ0€ïó¾t¤Å³ã8Ž/Kâv!.‰3 ÁA鈖AAho?Û ”Ž.é6¥UTŸãÏçß½€íÓ½g ïcÅÁÕÊÃàÊ»÷ˆ‚î5[€m» ¿{ë=ðpAQ"€^x$ŒNÐÏÞ)¼½¾˜==Ü«Ÿ‹‹»ÛÕ¤g>èý daÂ`'»´ýoú³Gc˜¯¾ô`ÚT…šê6Uê0—µ¬ë\•¾¾q:$´:Øž óåãÃÝåÓl~ ®—€#¸U œ^Œ’ßhÓ“©ªõ8—EVoãÞ‘ˆùô ªb<èßr ~Ç8Ý@šZû$±±%PUòØH$Œ2ØH#z éÞæmЙ> stream xœµ–]OÛ0†ïó+|éH‹ç“4_—!1Ô[šd±Ë4ÁA舖AAhÿ~'B0º¸Lš¢*êññsÞûsG8»k¼·këc’Ë­ÅÉ¥ugA?HÆ[»&¢. Xà ¡KÂØcQLôÚ7`<ò‰~²NèÍÕyûxãl­Ïoo¶§Ô;µÉ´×猃OÇQ²+Ûþ®?Y^@üé D¦Ë:/+Ý‹Ä$T§ó&ëS`D·6 >œ…A:E4Ñ$±õ5¶‡)N8càÇqÀíÒxŸ"7÷·íê‚\mHˆ3ï¦t XdÐq¸,R-ËâYù7·ÌóÒöf,ŽÝ~ÍË´/C÷AÃî l} ³¦K%º¬ J8A©…š7iY"ÕïÆ¼hRWvì2Î# IU‰"3¶F²ÕÏûU{ö€‘íÕ¦]uÁ€Íö­¢R)ÿ­î,’ŸmÈãö9v<ëW…s©´ #Z¹ œÓoÿ©Ëª¬í ÷TLõû7É+–Rybûþ[ê¹ç2wšØ$¶³8šMÓrY˜zÓé9®,Õ¢.Þº?ݦ¶|§âx8¡òX4Ãò€´lÐõа|ÄáïÚ|æ´¥µ-+š…TJGM&kel›OZɇ2 ¡çefðªœz \•…ÂÇ ¢\šÌŒÚ"CÛ곬šÎpèµãFVÆvý«üš¨r“,|—îm™?ÙMš¦&~`²K·uQ þã¡·‡ÿøŽ´©Ž ââÆ{éjaZ[—OÚíH©¤’M&rqôâÄÛç¤sG0~(8þÀãq ³î(tÀ÷}^Ÿmˆ~ .Ò{ðÌFCo ¡­/xýÑC“endstream endobj 89 0 obj 662 endobj 93 0 obj <> stream xœ­Vmo›0þίðG" Ï/ÌGFœ” A Nµ-¢–dUª$]“VÓþýŒ¡I³P{›&„î?w÷øìã ˆjžî[oœ÷eîöwΣƒµtŸz>HàA~sÚ5„„…<rã`@Ä?œ™»^ÝÖÏ»µ·ÿ¹¹}Xï¯]z=qà† ÂÌí¼ =ø*?:4žzåÂq“i™9¿ñP”y¯˜4NÔuÓíÓîañ\/`µ!Ä ÈÓ¨ò’¡`ˆ1µ…0¢¨)M!••`ÍK78Ô`¼· s`d‹<šæ‰L‹ü´Œ3¢’3¦ÙïJÐFÜÇ®24{ƒ†Ð”š”‚Pœ¥q%*KjAj¦Ò^k„ }Ј·âºñô (VíÃy¡W1‰BSðÀ|,¤¥nìEÑ×hÕcŠcRT¶eô!:êûYNó\dzeÀ oÒò|g' ”ârÐvu§¢²ö˜¥žyRäRär>I1Ló±Mž ç œ2Ê2Ϋ‘(ÿ#å•(+ûñŒLŦã¼(Å¡ÜLäã¶»M™ùFÆ|”fÂF†Ëï»e}ó¤,ûÕ¶^êDCm•~±Rÿ Ç<‹Ë±• ›î¡T)VŽNÚÞ‡GÑË푼¾=üãymÃH‘²ýKÃëЙˆ˜2=¡®ÄP7üaJ`Ì!ñÍC‚Hè1ƒþ!APÆLCÃr{™ÄE"³ÓÉǃWò¾U”Ùdž|¤“WýxJ¥-ª›ï à7;ïaÆuïo¶€„ïA8Ð5ùìe'1oX„t.Õó Ô3endstream endobj 94 0 obj 631 endobj 98 0 obj <> stream xœ­•]oÛ †ïý+¸if`\ºÉ؈ía’nk'+u²*U“®q¢jÿ~¶“®›j™Tš…uxy‡s€G@0¤m§¾ÚXïUnk‹€[ëÑ¢Ý 8uÕ\èF¶ýÃ:Ρ p@¹8Œ€ÞXÔñ1 ÐOÖ¼_ßT‡Ý½]ÿÚÜ<Ü××нFàdD¶Ã&”ÁÓ(èS£ïú£åúÀn>½´`2S2Ëu)²DËñ,M´ÈR¤ï: uZ i}C±Ýï–‡jµë-0u°ÛêìNèã°•^½ðrÅ‹L"Jœó?^Ä×0‚Ã!XQ̸J¸B,ÂQÈ<¨Ä“â'þ5G‘㢸YAë¥.<Éç\þ»k¯(.­~îVÕbßXêõ¶Zƒ>‡ÜÌób•YË> stream xœµVmOÛ0þž_Ꮄx¶ã¼øchdë’,1cL„h„öïwNB)¢Ø•¦)ª¢Úççîž{îœ;D CT?ã»[8ë]®Š.;‡õ›h|u ´§À Ö ê—3œa(â(’>‰%R ‡ñÐ8@êÉ9Á7WçÝãý·ú³8¿½YbÿÔEã¢ëñ€Ê<î¢mÖîOõÉñCäÁO]8xrTOËJµE¦êI»ŸO3W]÷Œkªã|ùp{ñØÍ/ÐÕE„1Bµ×†$Ö¦'`Çmš×ÙD¹,"2ö.k7 :âY[eõ—fÉàè­ˆ7>^¹ÐÑŽX¯bÞ j#Ür¯LÝ@@¤‚á™50#TU»¾$Rò—uÖØó4$©Ñô.%©Î‰ÀÀ§Z&Úªü®÷¨Þ`‚P_ÆãƬ?ùÄ¡”ïû•Ršü p}1ä’L­yQº‚bu˜Vètþû~Þ=ÀÚêjÙÍÉ14=[= ÇÕ† ì•UV4åäs¦ÒÞŒYOçĹ‚EÎz‰' %k>½8`ÚÜÆâ½¸ß?*&*/ ›JÍÒª\ÉqÒ4ÇiÚS¸ÎGFÐWPhcB!ŒŒ Âÿ‰úmÁ®“·”ý?øvû> c>©UurÌoíaÙ(+GÂ0Éßän™¤n7…ÀÑÐâ‰zé}.?>l“¦Í›’Á @p£ï¼(²´:Ú›æ â™E¼0óLý_åUvì2`f,Nr+‡Â7ãÁ}Èa`ÛëaHR—ÓÒ–æÓ0wèë­rØ&¹WØûy6M­—Û.ùÌÃ{øôðBø3°=~@èrè ßcAøøúl‰xôqÊžz<ß<¼¯Y¦œ¯ðüNU7endstream endobj 104 0 obj 667 endobj 108 0 obj <> stream xœÅ–mOÛ0ÇßçSø¥#-ž’8~™5.d*Mq\XS¡C Z6 šöíg;YPWšÖiŠ¢H¾óùwÿ;;þ0"Û§ùVsï½âàzéapí}÷ˆ3‚æSÍÁm; ¿zõ8\0” ç¡1ÂIôï ÞÝ\VOwÁòçüòþnyÙ¹šA? F˜D°±‚—¼ý/ú£Çb˜W_y°7Vƒb¤§£¢Ôý\²2ÿ,§ƒTH_ß:OB­'¶0_<>Ü_=U³+p³‚ˆõ œcŒëz¶õØH'p\ø¡#Pˤ¿y-ìJT%³\­®‡ÝpJûÄaÎ^Ç&PÔA§òg5Ò +$‘˜ÒZ·T[#¶B%B4§w&ˆbã¼1'ŒXgNmÅ’e™¹\Z‚9Š¢zE3H‰«jªAÚR†×¸t—ý5ýñ°§ób¸µâ ›}{˜Ufdy³¨ffQ„»´v6ŒBKSÄZ¡MvIâà ŠgÍM3Æ­æ½bPֲLjEϲoÈZ ðM,°øô "ÌZä^ÝL¢‚¿i/l]Õ–yma3!vg œ¤`¼¢Á´™¯ÝüØ´Ûª F|ßÚÊ4“j'…c›l\þ NF¾°[70-ËÓö+T³©¶–í¥ó篡 åÇÍ¡¥wäØwaôd$wkÜýe\J5ôYÓ#ù¿ÊPSŒN³¿{_Ô`jV÷¹éÇ$ áIÞ“Ó×)²}ïäU:,ûRMŠlÇîH:1ÆzÛÿ½ã/´ÿ[‡I/+ަý| ·pu„&ÈŸ« æÄÑ:­æ*gkGŒh‰¢ˆÁÛ‹ ü ˜Ä.³0ú]ê¢Hí›çáï–êendstream endobj 109 0 obj 666 endobj 113 0 obj <> stream xœ­–Ñn›0†ïy _ix¶c.qVÖRÛÙM:¡5ÙªVIª6«¦¾ýŽ eQ›A·E!ìߟû¸G”0DÝÕ>—ï½NÐõΣèÚ»÷XÓ‰ÚÇrƒ>XH×`¿{û1 %%iHdŠìÆc\*cdz ¼¾¹Z>>¬ƒÝÓæên½»Äá¥ÚF?à1%”ŸíEÇÔþûÉ  à¶+çs=©f¶Ö*|{ëŒ0†ìÒ“`DÐÄ™3€3‹2'¢NDãNC›þbûãánõ¸ü¶B7[””$ ÓMÈ‘¯¦ÏËÜUéTa{Åa}”Q¡ë™n”DÎYšP¦²s/e㮲¨êܳ”¤"M÷œWÓ$#a C{—c£>Gc¥•þë%-¦šøŒRüYuû‡ƒá~Ô|ªê±ö#Š«émÀÕ!ªždúã =Æícú1Ä!å ¶fv û6´`úvbO UÚ:7êâ¤\ ¼æUH—®‹ã8Ä·_·ˆ'ï§L4à(n¿…˜sGQÖ»€ë(Ù3 endstream endobj 114 0 obj 594 endobj 118 0 obj <> stream xœµVQoÚ0~ϯðc"-žíÄNüHCZ2XÓª¢SÔVQ]¡Õ´?Û¤D©C§)Bw_¾;¾;û ˆROó®Ö×"÷k {ëÉÂÚ šW½gBBe?­Í7܃!baa )¿­±=ŸÝÕ/«¹»þ³¸{œ¯olïÆÑq Eaj7^ðÚù!¾Y®ü‰‰eG£bå¢*³¨_Òê¢,;yR¥qäˆÃDáŠo'ËçÕã䥞NÀl ˆ9ôÎÕ@Cá,ã 8äœöeÅÛL6Ú‘ïpŠ(®zY)ö3=ä!yrÀc j‹s鬆 ìh~¤Ì’‰`ÎGOP2i;)úø |V8TjRßFaZR–bèh½Yh2ÇWÅá3[˜•o ˆ‡–¤(ðþÿg“÷ 2n·ügªšV4²¦ó«îg pg¹e¯ê8”6BŠ^%®ó¸4®“}XÖ’TõF•ÎITõãëê{—š2 Lœ’§»×*aH‚MKH#ÁzPtèlÛÆe’9:K˜1öù(D’¥¦u¼Çµ¯x?ÍÏ—çcû*UR™7f˜Éåþ ¡Ðó6’X¯-Ä›‘‚!¥ÿ°ïo[þJyjíJ5ˆäÜfú`á-fÓ \¹Ã‰Ý)KÙ@&Vyœv§¿VÓúöYÚÖ³e=Ý”ëa§ÚʉCï#qqz‘¤&MÛ‘TÝø\ÃÚn]!ÄÛcgÔø8Ñ>yyØ8o…äb$ï¾1y§pYÉF¢æf ý>–º˜RêÙ·K@‚/€ Ì´P>}H4K,¬¡|þ,.E endstream endobj 119 0 obj 637 endobj 123 0 obj <> stream xœ­U]o›0}çWøÑHó üHƒ³°2ÂÀIµjIV¥JÒ5i5íßÏÖ.-Ù4!dqï͹_çÄ#°~º³ÞZï‹Ü, n­‹4NÐõœIjƒüfµ¿!   à. 9[‹P†pèùú„›õMý´ß8‡ŸÛ›ûÍá ºW6茶C}Œ0ñaç}ÑöWùÑrpÔ+—ÍŠtšËª,Ós±°å]ã$T;±N “Ýãþ~ùT¯–`½âÈÕaNÇP¨#/_áä6'ˆsJaT–ñsÒ·Ä«ïûU}ý¨l‡õ®^)3 ~“êU&¹ÈÅqÕÿ^°M0†sQ”É43•J ªFI>E•&¥4Ue’_ª¸ !ˆ kÅ1MªŒ”4Û‰$ˆtÖ! U¦Ã $1sòñ,I=á6zÁަ[‰Ìv}„qàÂè,U”æÆ1»¬gõðÙAÛ‹xèy0JK¡¶¨„¨4E`TØLËËcPšòxÔ@ÜJj¶¥a¸Ô7Ö«jÔ´MâjÙ^Wàh"Œ<îŲD2^L¦F&‡&Q´H¹…ÉCô¤¶¢aŽ˜× CéáY „*‘pÞ9fͰî£ÐçáßK ƒs‘±(L] MC"úTÅ"YlÚ¾7¼¢#¨Êô'xØ…H>LLëîEz!¥åÕ¹Üi27Ò±—éo0“85õy"P&çé©Hê:v˜únûì.ÕßTqˆïû.¼»Þ¼ÖôêùaG<êi!­ÏêùÙ·endstream endobj 124 0 obj 591 endobj 128 0 obj <> stream xœ¥•Ñn›0†ïy _ÚÒÂlÀ€/ ¸-+†MÓnКlU«¤U›UÓÞ~ÇuU“âuBöñçÃïßÇwˆº Qó íbí¼o"t¹q(ºtî¶DC³X£©†€ØtèïN?‡¡ÈC‘ðÝX ½v˜º4æHÿt>ãÕÕÅâá~5ÙüZ_Ü®6çØ?'hè$S—2އQ´/š|Ñ?DxõiÛU­;Ö]Ye²H£Ÿ=2ÏR“Îo~Üß.ß–èêE.c®Gôµ3Ù†nüŒ)‹RjÂb _yUªgÐ^´ûË:Ðu7-ŽUþIš¨ n0Êg2­Ê,7ÙH㘪Õot3ec„ã"ç„0Ÿ»”F8)ZiSy7©'´B%„®ˆ†[}ÔÕDxàª0ĉRs"\!¼6´ÉlËxlÏ6Œ¬¤Ïjkê¯e¶J6%ñ“5ˆ3{óMRªÙ.z¤–§Úª÷¨ b'Ë´ÊòòÐâH0|™Ö–ùi§ªôXjØ9‹3¤PGÔ¨/&<Ùú–öý€b8êçPîú/f@•‘¨-©t“§Zf]¿F(Ø «NtTû¶.*ÒÛÜljÕ~#šCóêsû$ðTB‚m­øP–vXhåö· í Õmì×Wϳÿ/K蔲êíñÀ#ãD6ÓJYËôˆ*ó¼ÈÒ¤ÉfpÁ%õëÔj 8}VpƒNBøî¡Ã=h¬k&Œsîãë¯7È‹Þ!à[pÀÿŠÔÎGx~ø2øendstream endobj 129 0 obj 587 endobj 133 0 obj <> stream xœÍVÝn›0½÷Sø¤áùƒ}I‰Ó01`Äi+µS´’­j•¤j³jÚÛÏ64]•¶Té&*¡˜ãsŽþ>s1"Û«»7+ð±ŽáÅ`xnqawkVð@€°úhçSK†„„zê_àÔ[^ž7w·Ë`ó{u~½Üœyì̇ݠPŽ&ÜëžÂ§ÐþWý °æ§ÀKgu^Vz~\gZ|}‚ºB"̤0– ÐŒRbMx‰†‰Åa‹ 8kA¡†$[ÿ¼½^Ü5ßðr c$Q옭.‰ØUÏŠTgeaaåØvˆHÍD%#U¿‘$+Æåþ'cU[†ÇY!¿eŒ¤|9JFîeœ=d.…#έ¿(DoWà%³­mb6ª¸ß%žžÐùJêö%!Eü¯Ý±k€=g z¤ÍbÓ>õ©š'yîfJDŸ{â_«¦e¡­Uz4ìPKžªb4ì›—œUj>Ѻ"=e>U§Ÿg¹/ ’’ROgU®N¶]}OÆ¢ôCsvà˜™ ΊýøZººK8t Ä·MO×ÑJ ˇ %’¶çµAo«—Rö¶B37ü&FYª‡w1Îrõ\èê]˜˜ïâ°¬&ݱö*Ôóm>ç‚Èüok®û(³EDL„sμ«okHãb¹â ù}÷¡‘eQ|1×Äõƒendstream endobj 134 0 obj 545 endobj 138 0 obj <> stream xœÍ—]Oƒ0†ïû+ÎeI¤¶å£pé&Æ™áŽW›YÓeËØ²Mcü÷¶À•ñBŒ Ò&ç£}Ò÷´´àL7­îó‚\¦ V'ÂaED”N¨»¼€ê€Àð•T9”:, "¤Ïxà~)Ý®ùûqkŸ>‹Å~{šQgfAm´léqÆ…Gk/üm=áq|°õ‡KB‡é8I-Ü›30'NÀ<¡¶`A`&¦„‰‰á&@„,ôÃ°Š¡ó[Ĥ̗’¹Æn i<¼ÌíÞŽûå{þ²„õÓÉnm„Ï‚¤ÈºÇÅW Cj½Ú¢h°í`Lé||m9ÚJEõ²˜ÊëRï@YçDtžL§k¡*Š>ÔKjùzh®Šq“z‘â@QTðyˆ°Dý“ û¦[Öh³µteÃ\#²›>\f²xð{·-=âAƒB{Mi­6ãF·Ë¶00ßGø‡úÔ/ Û×\ÕÖ¯ßF5s¸ØÂó<‡nžw ÕH.üò8p½ žX*3J„äA·/¹Ð endstream endobj 139 0 obj 409 endobj 143 0 obj <> stream xœ½Vmo›0þî_áFž_0Ø)¡ kbX0S«tBk²U­’TmVUû÷³¦“¶„(‰*„wÏ=ÏÝá³y„SHÜÕ=gKðqÁÛ5 ð<Ú8a÷˜-á™±é æ'hc(ŒŒÇRA³”…˜HÍ ˜¢ÅÝÍìùiá¯/oëkį=Ø=Ÿ ‚ ¨óÂÿ¡½oæ3à!ôímæ%ÕdTL¥zÿ íß…Ú÷–ºûG°€€Z€O…Ý_A}€ÌÎZCˆ×=™IÇ’ðÅ^Õ6òendstream endobj 144 0 obj 565 endobj 148 0 obj <> stream xœÅ–ao›0†¿ó+üÑ–†k ø#oÉ fYÔNhM¶ªU’ªÍªiÿ~g ­4­Mµ$B(BáÎï=>^8î£1{tçÅÚ9›†èzë0tíÜ;¼ ¢î´X£Ä@Bd/˜N»†£P Py4RȬ.Ê"‰Ì/ç¯n®+wû{}u·Ú^bï’ î"q…d”q‰»(úW6ùj>:^€\ø™%HªiV–Ã:&Ò§J‰Wþåó§L.l&³x´ùùp·|\|_¢› )('æÖq›Ä€F¯‰¦ú}#ê2*aC h£^{†E8®!F•hbЀHí‚™±AfnQ(µ;ŒiX”æ¯&8Öó¤ ž„;á8ž¦GUÏ‹\UpB”°¦ñq\–3¢l$ˆpqdîI•d£ôæ¿T;Ñ,éâ[€Ùtî<œã?;g¬ó´Ž¿˜¬l‹† ‚/Õ÷"ÊŽYÿ¢Ì çÐÜHÚ>gíc°—Å? KJ|¶s'‘Qg£¼7®ëC^½ù& Lõ?%:}küàÍÛ¥¿€{¬^LtóôG0)²xÚ/ÂyYô P†qžëv#(+&¦Ž³Ìc<«ïŸôBîÌ‹zª?Oµ³­ïÇþ‹}ªJ ª–ÑÆ_Ša'_†n˜-V÷}gkpHp¹”Ò÷ß6H„ï`> stream xœ­•ÑnÛ †ïy .±430¶±/S—,^RØoêÖÉZ“­j•¤j³jÚÛ+k³ZvÓY‡ßŸþsà˜;H0…Äö=_·šÃ« ð ÜÚ,Âö5_Áë™ØŸ`û …<‚> stream xœ­•]o›0†ïý+|i¤áÙ¾äÃIY“GÑÔNhM¶ªU’ªÍªjÿ~6a’fKÔ"„,ù^Ÿ÷x€SHÜÕ­‹5øXÇðf ¼€¶AØ-‹5ÌŒMH܆ùvÏP3‹'š5 ,Â$áÐ<ƒK´º½^<=®üí¯õõýj{…‚+v›žÏ8Á„rÔEá±lï«ù‚úö6K€òY­šAUÓ¢hŠršfJž¹ks(s9Ľ•›Ÿ÷˧Å÷%¼ÝÀS†©ËóÛÄ'.õrŸW*%‡©jÒºN=JB,޾¼HØá_‘N^¸:¯Æ%ÜWzê@ãXŽ«Ú‹zÑ¥gJ½AÑ>¤½11e¥3/ó*4Ó#]yDŽĚëÿ–ru䡪²H¹@®?¼ |ÔÈR›ú7°M~6Øúqw¶ÈBZ–O0·ã¸ÂÅ„°#ë¸é¬,˜ R;¿‰Hº 2.H\ÀÄFÞ-Èš’)æ¢ÔÃÞN:öWµy©v’öïOÉ…1“I55Mf? ;êl0'»$ŒŽtÉ2·í‘u®…­i4qÞv†æ/žY3ÿf¶óé û‚à?6px¨A©¤¶åBéXöq"•ÖÃS–°‰©3O`!X”ôWpKÍ+m¤6ÓžDÚâ…NeÜWk™ΕsõÙµŘíôu\—@m‚O9çºû¶,þ¡Q«1äz)h_ðÙ^¿ugëendstream endobj 159 0 obj 561 endobj 163 0 obj <> stream xœÍ–kkÛ0†¿ëWœ2ÌšŽäëG׋Wcg¶š1ÚaVg+-IJ›•Ñ?ùÒÒõ7IG0F ½~üêrÎÑp†À›§oëùXøp¶"ÎÈÁvú¦^À6‚ éпH÷ ‚/À% BÐ ‚Âc*Òj¬õ¤šª¢Lò¬ÂŠ[ú¢Õ h4¼ù7M–¿¯/g7õÏœ/Ág!ÃFf·:/Òð_Ú¦ ±ãHÆqOï I%é´\gʆÊòLm°LÇ*™ªÌS 9§SUMûM~…œCaÞa_Ç‘…ˆT+3ñm¸iV‘%CÒ8VeÙ-âz¨|´G…í›dŸÒÍÜ> ŽÚAdˆ kâsæ#&…•éØn¤!jt¼Ñ`ÀÜ{ ­â<ËT¬[Œ+™\¾õÿÁQ~˜¨=24ÊÊ=rs—(öÄNoò㼯Ÿ2­J_&§în•ô·‰z)¯ìÐÝߎӟËí êNO1wÛó™è[³h*š g£ëº’^üX‚ð?€àØU Ç ú‘mùVš|1Ï_°ñJwendstream endobj 164 0 obj 471 endobj 168 0 obj <> stream xœ­•]o›0†ïý+| Òðlƒù¸$‰—°RLÙÖ¥“µ’­j•¤jÓjÚ¿ŸMHÛ©#´Y…%Ÿ—‡ã÷ØÇ7#±}º±Y÷2‚€á¸¤ ÂnhVp¤Œ ¶ê'Ø~C`Da”ø(N ZBC„cÕ/0w–—çÍýíÒÛü^_/7gŽæÂnÒõ(ÃætQø/µûM}~=óªpƵÌu.ÆGZ–\WU®+^U™(\uÕ µBlp²õÝíõâ¾ù±€—k!‚­Êke!ЉÇé=SªÔ3žN¸ü›õ“ hè³Ì”I-ûÊ8ý˜‚+9ÖÙ´’O)ñ3Êü)F”Êúã(‰Yà¤ùƒ©‡%?q vêÌfwlË*Ežë¬2;@}Uë¢VÿÉ(D1T«!ÄIÌŸ $?n˜*ÄùćŒÝË“n€1•ælèѶôšÊA("/bVª%yFO j@!cÛ,5m½À6@(¢$Iº@ÕÂ#Ó,^•A—@]Íô„§F{Jeâè@ç‚4 âC]Œu:Ò m BG úJ{—õ@,[FŒµŽ2DwvÖvëâ$ÞÙÉw~b;Ùûó¸×s€3©§\é4χÛ^ÿ,¦•Ò>&oÄ¡oÄñ8”½„ó Ì…è…†»Ý6ݵf÷1uðcÌw®¾¯!ÞAŠIØnž€íªê· sNÌó¬zôûendstream endobj 169 0 obj 545 endobj 173 0 obj <> stream xœµ–]o›0†ïù¾4Òðlc>|Iˆ3±Rœ§SµNhM¶ªU’ªÍªjÿ~Ç„EK—maBÁ9~ÎkûåÀ#¢„!êŽî:]xoM‚nWE·Þ£ÇÚ ê.ÓXHHÝûÕ[a(á(‘!I%² ñ˜Ð4BöÅûˆçw7Óç§y°ú¾¸y˜¯®qxí£î¡ðˆÊ"ÜEÑ®lÿ“}ï…1 à´3@æS6ÆÛ¡ÛzlÔE“U•žT¹Ú¤3îÒ©“‹å·§‡ÙóôË Ý-QB8Œõí½´‰1I‘‡ªÎM1xM> úNÙfìKFd*$ÎLv®¬2½–¨tÕ¯f=¶…®ê^™ã–Pa¦^*HLe ¦rälâ8Ô¸+ÝjÕˆ9Rö¥¤Ì|F#Bi‚¯z£Q¹*.ûÝ `j3ìY+;÷Mt&çÿÇßVef¨ýP)y‚?TÿD_Ãk¥ÎFÐ>š<«¬»qyPL’hŸÐ kä'¡{¿Ίò˜¸ÄW@}’,ŸÁ~ 6 –µûlM³Å¹Ò{LÖ.Î/²ü°ÛYè0MVÒ"x™ˆñU“ëªR¹UÇÝÎÏ~«Œ2Æt]C7æß a›NÁÕ%ô!Š/•©¡ÝÂçg´Ý#,g¸Ý"!&ùïm²´›þHNx,å^I’ð?UäîM°åÀ/AÃLלîÃu/,Š¢ß^"ž¼Aœ²¸%Šè§ôP8вÞ?U/‰endstream endobj 174 0 obj 555 endobj 178 0 obj <> stream xœå•]oÚ0†ïý+|iKç8—¤:,6HÓ:Um`ÐZUý÷µI˜Ô pÕín²"Ëö›çœóæD~€”0HÝèæf>Õ1¼Ý oÁ`»CØMÍ öŒ$nÃüí; ÆÆ© I Í 0šHhžÁw´\Ü4O›e°}YÝÜ/·—H\bØmâ€KJ(“¨;…‡Ôø‡ù Dû˜™Eö'õèJëf”¢iQë²R»õ^ȸR—*×›ûÙS3ŸÁÅ›;ìINÀÌHÿûO9-Æ”E¿RùUy~QåºTýÂ)Q`LRûYõïh£LKû{ªÔGÒé ·gXJBi,ÐÄ [Ü)Ë-3¾¨ëñ‡x-nß™þ¦úÃ\iO©Œul²®M}y¼À߻ȋžm×®Ö¯L–’ÈGm‰ïѰ·¬ÖÙ¸ô”*B}IY*)I"Sf˜1†Œ·S\–0ŸÿÚÌ›ëG»¹]¬›ù±¨oƒs_ò‹)såûØÜO#oãù\üRÔ½¢Æ!E•ýÆ´íP½'ÂH_˜v@{‘ý[`w«9³‚€I)º»^CŸANY´‡2±—©ã é(…_íxuÓendstream endobj 179 0 obj 478 endobj 183 0 obj <> stream xœ­”]oÛ †ïùçÒ–f 8|™DNÇæÙžÁmÕY³U­’TmVMû÷lj5ëT! ‰óúá=8O@0âÆ0w+tR ¸Û wè Ñ>ÃÔ­`b¬@ºómÿ¡ ˆ4Æ2³B”%˜Hæ7º –÷óîåymþ¬æËÍu_‡0,†ãʃ! ÇÔáù‚â"û™ ¦M·gY­UY´ù¸>Íf*ÏBóЋ(s"â6Ôú×óãâ¥û±€û5L)¦NõÂË#<5¹#4éSñÝ~qÿr3ƒ¾Ûñ€—ZUendstream endobj 184 0 obj 426 endobj 4 0 obj <> /Contents 5 0 R >> endobj 12 0 obj <> /Contents 13 0 R >> endobj 17 0 obj <> /Contents 18 0 R >> endobj 22 0 obj <> /Contents 23 0 R >> endobj 27 0 obj <> /Contents 28 0 R >> endobj 32 0 obj <> /Contents 33 0 R >> endobj 37 0 obj <> /Contents 38 0 R >> endobj 42 0 obj <> /Contents 43 0 R >> endobj 47 0 obj <> /Contents 48 0 R >> endobj 52 0 obj <> /Contents 53 0 R >> endobj 57 0 obj <> /Contents 58 0 R >> endobj 62 0 obj <> /Contents 63 0 R >> endobj 67 0 obj <> /Contents 68 0 R >> endobj 72 0 obj <> /Contents 73 0 R >> endobj 77 0 obj <> /Contents 78 0 R >> endobj 82 0 obj <> /Contents 83 0 R >> endobj 87 0 obj <> /Contents 88 0 R >> endobj 92 0 obj <> /Contents 93 0 R >> endobj 97 0 obj <> /Contents 98 0 R >> endobj 102 0 obj <> /Contents 103 0 R >> endobj 107 0 obj <> /Contents 108 0 R >> endobj 112 0 obj <> /Contents 113 0 R >> endobj 117 0 obj <> /Contents 118 0 R >> endobj 122 0 obj <> /Contents 123 0 R >> endobj 127 0 obj <> /Contents 128 0 R >> endobj 132 0 obj <> /Contents 133 0 R >> endobj 137 0 obj <> /Contents 138 0 R >> endobj 142 0 obj <> /Contents 143 0 R >> endobj 147 0 obj <> /Contents 148 0 R >> endobj 152 0 obj <> /Contents 153 0 R >> endobj 157 0 obj <> /Contents 158 0 R >> endobj 162 0 obj <> /Contents 163 0 R >> endobj 167 0 obj <> /Contents 168 0 R >> endobj 172 0 obj <> /Contents 173 0 R >> endobj 177 0 obj <> /Contents 178 0 R >> endobj 182 0 obj <> /Contents 183 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 12 0 R 17 0 R 22 0 R 27 0 R 32 0 R 37 0 R 42 0 R 47 0 R 52 0 R 57 0 R 62 0 R 67 0 R 72 0 R 77 0 R 82 0 R 87 0 R 92 0 R 97 0 R 102 0 R 107 0 R 112 0 R 117 0 R 122 0 R 127 0 R 132 0 R 137 0 R 142 0 R 147 0 R 152 0 R 157 0 R 162 0 R 167 0 R 172 0 R 177 0 R 182 0 R ] /Count 36 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 15 0 obj <> endobj 16 0 obj <> endobj 20 0 obj <> endobj 21 0 obj <> endobj 25 0 obj <> endobj 26 0 obj <> endobj 30 0 obj <> endobj 31 0 obj <> endobj 35 0 obj <> endobj 36 0 obj <> endobj 40 0 obj <> endobj 41 0 obj <> endobj 45 0 obj <> endobj 46 0 obj <> endobj 50 0 obj <> endobj 51 0 obj <> endobj 55 0 obj <> endobj 56 0 obj <> endobj 60 0 obj <> endobj 61 0 obj <> endobj 65 0 obj <> endobj 66 0 obj <> endobj 70 0 obj <> endobj 71 0 obj <> endobj 75 0 obj <> endobj 76 0 obj <> endobj 80 0 obj <> endobj 81 0 obj <> endobj 85 0 obj <> endobj 86 0 obj <> endobj 90 0 obj <> endobj 91 0 obj <> endobj 95 0 obj <> endobj 96 0 obj <> endobj 100 0 obj <> endobj 101 0 obj <> endobj 105 0 obj <> endobj 106 0 obj <> endobj 110 0 obj <> endobj 111 0 obj <> endobj 115 0 obj <> endobj 116 0 obj <> endobj 120 0 obj <> endobj 121 0 obj <> endobj 125 0 obj <> endobj 126 0 obj <> endobj 130 0 obj <> endobj 131 0 obj <> endobj 135 0 obj <> endobj 136 0 obj <> endobj 140 0 obj <> endobj 141 0 obj <> endobj 145 0 obj <> endobj 146 0 obj <> endobj 150 0 obj <> endobj 151 0 obj <> endobj 155 0 obj <> endobj 156 0 obj <> endobj 160 0 obj <> endobj 161 0 obj <> endobj 165 0 obj <> endobj 166 0 obj <> endobj 170 0 obj <> endobj 171 0 obj <> endobj 175 0 obj <> endobj 176 0 obj <> endobj 180 0 obj <> endobj 181 0 obj <> endobj 185 0 obj <> endobj 186 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 187 0 obj <> endobj 188 0 obj <>stream 2016-01-27T08:26:12+01:00 2016-01-27T08:26:12+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 189 0000000000 65535 f 0000030899 00000 n 0000034850 00000 n 0000030577 00000 n 0000024677 00000 n 0000000015 00000 n 0000001175 00000 n 0000030965 00000 n 0000033276 00000 n 0000033211 00000 n 0000031006 00000 n 0000031036 00000 n 0000024837 00000 n 0000001195 00000 n 0000001930 00000 n 0000031075 00000 n 0000031105 00000 n 0000024999 00000 n 0000001950 00000 n 0000002595 00000 n 0000031135 00000 n 0000031165 00000 n 0000025161 00000 n 0000002615 00000 n 0000003358 00000 n 0000031195 00000 n 0000031225 00000 n 0000025323 00000 n 0000003378 00000 n 0000004017 00000 n 0000031255 00000 n 0000031285 00000 n 0000025485 00000 n 0000004037 00000 n 0000004799 00000 n 0000031315 00000 n 0000031345 00000 n 0000025647 00000 n 0000004819 00000 n 0000005415 00000 n 0000031375 00000 n 0000031405 00000 n 0000025809 00000 n 0000005435 00000 n 0000006011 00000 n 0000031435 00000 n 0000031465 00000 n 0000025971 00000 n 0000006031 00000 n 0000006674 00000 n 0000031495 00000 n 0000031525 00000 n 0000026133 00000 n 0000006694 00000 n 0000007393 00000 n 0000031555 00000 n 0000031585 00000 n 0000026295 00000 n 0000007413 00000 n 0000008095 00000 n 0000031615 00000 n 0000031645 00000 n 0000026457 00000 n 0000008115 00000 n 0000008780 00000 n 0000031675 00000 n 0000031705 00000 n 0000026619 00000 n 0000008800 00000 n 0000009480 00000 n 0000031735 00000 n 0000031765 00000 n 0000026781 00000 n 0000009500 00000 n 0000010111 00000 n 0000031795 00000 n 0000031825 00000 n 0000026943 00000 n 0000010131 00000 n 0000010811 00000 n 0000031855 00000 n 0000031885 00000 n 0000027105 00000 n 0000010831 00000 n 0000011597 00000 n 0000031915 00000 n 0000031945 00000 n 0000027267 00000 n 0000011617 00000 n 0000012351 00000 n 0000031975 00000 n 0000032005 00000 n 0000027429 00000 n 0000012371 00000 n 0000013074 00000 n 0000032035 00000 n 0000032065 00000 n 0000027591 00000 n 0000013094 00000 n 0000013706 00000 n 0000032095 00000 n 0000032126 00000 n 0000027755 00000 n 0000013726 00000 n 0000014467 00000 n 0000032157 00000 n 0000032188 00000 n 0000027921 00000 n 0000014488 00000 n 0000015228 00000 n 0000032219 00000 n 0000032250 00000 n 0000028087 00000 n 0000015249 00000 n 0000015917 00000 n 0000032281 00000 n 0000032312 00000 n 0000028253 00000 n 0000015938 00000 n 0000016649 00000 n 0000032343 00000 n 0000032374 00000 n 0000028419 00000 n 0000016670 00000 n 0000017335 00000 n 0000032405 00000 n 0000032436 00000 n 0000028585 00000 n 0000017356 00000 n 0000018017 00000 n 0000032467 00000 n 0000032498 00000 n 0000028751 00000 n 0000018038 00000 n 0000018657 00000 n 0000032529 00000 n 0000032560 00000 n 0000028917 00000 n 0000018678 00000 n 0000019161 00000 n 0000032591 00000 n 0000032622 00000 n 0000029083 00000 n 0000019182 00000 n 0000019821 00000 n 0000032653 00000 n 0000032684 00000 n 0000029249 00000 n 0000019842 00000 n 0000020465 00000 n 0000032715 00000 n 0000032746 00000 n 0000029415 00000 n 0000020486 00000 n 0000021050 00000 n 0000032777 00000 n 0000032808 00000 n 0000029581 00000 n 0000021071 00000 n 0000021706 00000 n 0000032839 00000 n 0000032870 00000 n 0000029747 00000 n 0000021727 00000 n 0000022272 00000 n 0000032901 00000 n 0000032932 00000 n 0000029913 00000 n 0000022293 00000 n 0000022912 00000 n 0000032963 00000 n 0000032994 00000 n 0000030079 00000 n 0000022933 00000 n 0000023562 00000 n 0000033025 00000 n 0000033056 00000 n 0000030245 00000 n 0000023583 00000 n 0000024135 00000 n 0000033087 00000 n 0000033118 00000 n 0000030411 00000 n 0000024156 00000 n 0000024656 00000 n 0000033149 00000 n 0000033180 00000 n 0000033359 00000 n 0000033426 00000 n trailer << /Size 189 /Root 1 0 R /Info 2 0 R /ID [<6407F6C9488DB1C95E7509A05E9ABA51><6407F6C9488DB1C95E7509A05E9ABA51>] >> startxref 35004 %%EOF curl-7.47.0/docs/libcurl/curl_easy_cleanup.html0000644000175000017500000000723612652070414016457 00000000000000 curl_easy_cleanup man page

NAME

curl_easy_cleanup - End a libcurl easy handle

SYNOPSIS

#include <curl/curl.h>

void curl_easy_cleanup(CURL * handle );

DESCRIPTION

This function must be the last function to call for an easy session. It is the opposite of the curl_easy_init function and must be called with the same handle as input that a curl_easy_init call returned.

This might close all connections this handle has used and possibly has kept open until now - unless it was attached to a multi handle while doing the transfers. Don't call this function if you intend to transfer more files, re-using handles is a key to good performance with libcurl.

Occasionally you may get your progress callback or header callback called from within curl_easy_cleanup (if previously set for the handle using curl_easy_setopt). Like if libcurl decides to shut down the connection and the protocol is of a kind that requires a command/response sequence before disconnect. Examples of such protocols are FTP, POP3 and IMAP.

Any use of the handle after this function has been called and have returned, is illegal. curl_easy_cleanup kills the handle and all memory associated with it!

For libcurl versions before 7.17,: after you've called this function, you can safely remove all the strings you've previously told libcurl to use, as it won't use them anymore now.

RETURN VALUE

None

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  CURLcode res;
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
  res = curl_easy_perform(curl);
  curl_easy_cleanup(curl);
}

SEE ALSO

curl_easy_init, curl_easy_duphandle, curl_easy_reset, curl_multi_cleanup, curl_multi_remove_handle

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_share_strerror.pdf0000644000175000017500000000655012652070422016655 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœTikÛ@ý®_1Ð]…j³»ºvi)8©¡.Ž“ÚJ 8%(²’¨Ør¢ƒÐþúήY>Bƒ@×\oÞ¼Ùg`”ÓWûLVÖñ4„‡Òbð`=[Ü¡}$+8‰ÐAêѽÕÄp„Ê¥RA´²8÷(—½Xs’ÔÅò¶|Œ‹ô¶¬Š´(ÖÅ qolXfwÚf;Âg”±œÅy/á­ûWôÃrk$A!ª| [d2°?"j´rŸúÊEdÑÂ"gC;úÝÃ,õXÚÌ4ÎC0Á"­ê"ü“å°HˤÈîôkã¬i“º‡ÅA0¨4µgדó‹Ùh¶qkñ¶Õɇ,O–õ"…/±¾ÑǯÚ];Œ­è9\çe ¢ƒ£¨Í%eÜçÄ 6_,”‘uÍÜéåt<ûnj§œu4¸Tˆ†£¹‰ó|ß¼^µîdI[_rcÞïZ„!õD¯óoÃÙéttÎ'ÛôošçT0#=¦‡B¹¯ó¤ÊÖy;â©0Á¦ÕÞ|à).ËtY®}4Íh¾‡z•æÕ.9jR*ù?vºžB*%ã-AT—q8õ¥Ü“ªÃ¹KU¸! ý˜gH\Á@G£HŸ¿R>NFãQt½M%ÊÜõ°H_Ês$3+7¬½ØŠ*%Ib¤n±h¸h·BÊe½YRñœL‡ÑåtW6w=ªNãË¡‰ÔozÜ/> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:10+01:00 2016-01-27T08:26:10+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001037 00000 n 0000002845 00000 n 0000000978 00000 n 0000000818 00000 n 0000000015 00000 n 0000000799 00000 n 0000001102 00000 n 0000001356 00000 n 0000001291 00000 n 0000001223 00000 n 0000001143 00000 n 0000001173 00000 n 0000001422 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<3B7CD2AC8727FF59B9BEE1102F0E1DE1><3B7CD2AC8727FF59B9BEE1102F0E1DE1>] >> startxref 2999 %%EOF curl-7.47.0/docs/libcurl/libcurl-thread.pdf0000644000175000017500000001506112652070424015464 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµXÛrÛF}×WLÕ>t‰# îÈ[b;±³Šä5ér¥ä-EÄ @ã"Šû þ•ýÇ==\d9•}HéA9ÓÓÓ}úôéùÂ\.˜K?æw¾?»x³»öÌewg_΄ú’™_ùžý´Æ‚„>XoÏôÁbũϓ”­÷g yà±õñÌ)‹Û¼oÊe·kd¶ùèøÌ|¶XÿqæyA|‹@˜×‡1ðj‰ý¢©•Û\$®›|ãø}±‘ìT÷ «À’릉s¬XYçŸ8혆C˜”7í®îË íd{);–UÚ7uƒ8æ©>éÆ9‘]×ÙvÊ–«/È…p=»b'çYfr!Bç!— XËneYÛE¡¾àp€säý54 *#ž ¶ôµèuVmJÙª¥Kœ®W[àz~œßU¼P`±>‹œMíiý~ŒroBå¾íFtªrúƒÀ:ÚÕG§<1BVƒ)÷ý4 lÚæõ’p_öKø‡& YCᓈÝ^JtO`í©¥ íüê"ñÈ÷¿tá|¼°¯|0_d;dm«ÎÖǶ,kê¾Ú¨“|ëÌ sãdûµh:G9y.ŽÂâǤY!Pš}o(0Ô`2 U?úèòÄwmRZÉ2ÖÇåšmSïÙ¾VAÃêj_öÄž+xK§;“?ÏxÆMô–žr©(îÙÔE„1ÃXuS½dp±ØK>ÎÒO|ŽØ]!ÅÊ® ”Ú}.¨Uӂܰúö™wßEw£8’í¦ÁŸ'×ðƒ1×h¹lº èÚd]†ºìŽRN fap{b=E]ãRmT¬¸U×H=î¹Áx ߀#— š‚4, ý$jy i\xzBÍ*LÃf"6C~Á1²3@¸¶Tchºqˆú?‘Û ?¦.’8òvÕ‡n솓³RcÔ‘zñþÝåêõõÛõ§ËëÿüùýÕ u(}¼Téñ"DÜ.ãèÅï¯ìrþç=ÎY_®æÄ0í_±Ÿ*L¼Ùª¢¢Àgy.[•Œ×ëõÛ«ö3ý†C-ñD¦Óg/À´ÏªJ6$ž¯¾—ÜíÏOS(ãÈ¡é‘tÔÕ–åH p@‚¦7@Y$£ËžJ¿ÚMy¢¥«Õ%µê&kN}£Pv»V± eûânG}×R«.Û šgèÏz§kúæÐ=ƒ¾,f€£Ô‹ 3üÒÜ˪kA8j hÛõª`i¹”΋fÕå>QYÊÇÀ‹Q"õÿJâj]=9ÈDNÈWwTZ^A÷L-u×Ûï0__åºyÂnV–õ„˜À`pìÆ9ª?w.Y’„dthÕ>ZMj[µµJž(]?hH{$ô&½>È YTЉwÝᇋ‹ãñ¸ˆÌ59ìTm[òš$›sw±©óö"oN‡®¾°k×í˼|µzñîÍÛõ›ë+ Ð×噵I%ËwÙÃoå…Qoù…±®  ([‹gjê—ª7eõ„»wUß•íà Ê£ÏÊ ²ó©ª7òb­Œ/@ˆt‚ÈÑiúšIÔ«Õ J;Ž"£¾ÕF¤ˆþ>)Z÷ªA€9„AâFãN›ÂÕßÖeÖP˜ŸÍÜ~gV£ò5úêseØŽ+þ”['´òŽE®ûW-¬Ÿƒ´(pË$NþŸ]+‰üÈåzá‡N“Uí¡n4'Oï±FïÕ]@áõ-,£¯ Êœ˜ë¸P€…TÚyG+·}YžØ$¸ÜŠ Õðæ™ÿPLëuÚ¯ ~A‚šîßè–øÖ­c=íÃ)·Ö/ȵ¿Ó¯yÂÈ9ÁÊ5ȼÕ/Txœø²ZEøYO™ÿî|嬊; F­)4£dEb&ó­ê!Êÿ-q_±§ š¨Hà6²­Ë{‡– MßК—W+4úúsÀà»dGjCZPˆ4tú¢ì†òR=IW“Gµ$¸Åä¡Sê~¤]ò%œiÛ4u ÆÕv›åŸUdÝ vdÂbèlÝøëpÕ˜ÍðQ¡ã#9BN` apu½zóËÕBØàŒ/Ÿ’ ØõmDiLTÓ«ÕüD@\ª`¢XÆÙ«{ʃÀœˆÉÖP'C6†|Ž6a¯îµGÌ®ºžëæ3û °iï…Q Ð U“›îöqÀýÀ»}*bûôø!¹éÐ)¯j´òºª‰BLF)cVUN‹|§"˜C’jgÜ UÎèÙƒ@k¸$æQ4t®¢¤‡í•ùfðÊ÷ãÙØ¯^ LîÛþ@ôÄíÿ(™l'ê=`#t<¾$åc°±Ç>Ô}û ’ Ÿ”’kÈìzo† ko6uʬC&÷˜ž¬³m±?”''Šáöq“~,¢ú ùoµž1Á_À"7Ñ™ÑÕ詉Þ8§L…gb„ç$yÖÝžž~´JµÕª¦ÚSÛÉ=’W–-ŸËX‡ƒAå 6ε82±¢ªLk¥[fáæ—F›kƒƒ¸’Äñçzؼ½:pöFÑ¡) Ì®"¶©Œ†’`ˆ5ÀUN½Í¡ñk¥õ)¨köh4!«¦Uñ0újiÔyºûÓQ;gĵôñ±À¢¢£³ŸiµNfÐ0Ò„’¼õ!Ffx”Ü”þM V€àã *™çbÒB š$¦–å^—°ê÷¤ì¼”4ˆçñÓVŠÁ3ðLQbÔ&HžO„, ]qbûCšèâÌ€âÁS¼’æêM—¶< Å¹¢# Zæ®rggwóŠ…? ïžÞ33¼kš-u©A¡Ü6âÑ­û62—Ål ‘‘ÑŠ~¾<œ?`lÓáKÆ·»[ÜsÂZ鈖 ÒÁk$aRÍ(ÏZ½DC$d¢'wÔö‰CøûÜŽ`ui#½_A¶{Ö…Óäa+ä±}æ¹!­€R1\‹Ž®%X|U'ÔMvj?.Œ8õ!W¼txºŒ4-|R>’Œ*ÆàIÕתð;x®7ôp®S;½K4>šhûuYèRýæR¶4ç«ã/‹ª8GQ@lšË>,|%¤§¨6fft=çØÚÁ0ÔPÖQÊÕ›8½¶¹áüeYøúM‰Â‰wί}É> stream xœ•UÉrÜ6½ó+º|1™2bá‚£¬(‹K–‹>¸ìÔÅÁHH¸Œ NúòÑi¤9Kצ èî×ýÞkð3$„BbóÝ?¾ËáÎ ÜŸê.aþ«[x]b@aÊ]às(ä rÉI!¡lÊR"”AØèÛú04ñx?¨jû)äŸ"˜Ï¢ò¯€1F2†Ê-ÂaÂÇÐG‚©vjœ¢˜²\²§ÊD–o‚˜™-óÌ–mÐæ®éo«fóì]=ê¾3 #°˜"y^¸îÊ{eÔÕ  ëG8êÀo;˜úƒ»;ÝÝ-ýÃï¡=4£Þ7jÎ1 GД٫ZWM3Yl‹{‰¸”{Vt»ï‡±ê,R5­Úõ®ºrH5¦E/‘dš,,óœH9óôhHÝéÑÓ0«,¹$ј@•Êä㌪cO ŽWH¹Z,Ÿ(€‚$Yòxw¹¼~ñ$<»„óë«›2’³BgWåÍÜáê§”|õ q 4•„则‘¿Umæxf)IÅÌÔÉ"¿‚ýÐ{w2þ£·j J;7ÝNvÇè÷ ýe×ÙLfT- ÙþÂõÉгW,Œ7Ń¥Û9£õmÆn¯kÞg,Fúæ-#ðý*‰,Dèv¼³û~ªš”¨F¿3“ôh1—Y˜å ç'­C{B,ñ;‹F âX€«¾s›uâýUƒáùûw—׿—›Ÿ®n6ïo.6ÎLØ÷*G#lÎϬ#νX_í£Ö‹”b]‹õñu°Þ,ÍmPœ¦‚§HÁpàôø”ûï >RË’;Â7‡XBSwÍÑÕ|y˜=º(ƒ?ð÷?ÓñYendstream endobj 15 0 obj 858 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:12+01:00 2016-01-27T08:26:12+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000004028 00000 n 0000005998 00000 n 0000003962 00000 n 0000003640 00000 n 0000000015 00000 n 0000002670 00000 n 0000004093 00000 n 0000004427 00000 n 0000004362 00000 n 0000004294 00000 n 0000004134 00000 n 0000004164 00000 n 0000003800 00000 n 0000002690 00000 n 0000003620 00000 n 0000004214 00000 n 0000004244 00000 n 0000004509 00000 n 0000004575 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<7E40E3A9AA780F419CFD201C310247A4><7E40E3A9AA780F419CFD201C310247A4>] >> startxref 6152 %%EOF curl-7.47.0/docs/libcurl/libcurl-symbols.html0000644000175000017500000033441712652070414016110 00000000000000 libcurl-symbols man page

NAME

libcurl-symbols - libcurl symbol version information

libcurl symbols

This man page details version information for public symbols provided in the libcurl header files. This lists the first version in which the symbol was introduced and for some symbols two additional information pieces:

The first version in which the symbol is marked "deprecated" - meaning that since that version no new code should be written to use the symbol as it is marked for getting removed in a future.

The last version that featured the specific symbol. Using the symbol in source code will make it no longer compile error-free after that specified version.

This man page is automatically generated from the symbols-in-versions file.

CURLAUTH_ANY

Introduced in 7.10.6

CURLAUTH_ANYSAFE

Introduced in 7.10.6

CURLAUTH_BASIC

Introduced in 7.10.6

CURLAUTH_DIGEST

Introduced in 7.10.6

CURLAUTH_DIGEST_IE

Introduced in 7.19.3

CURLAUTH_GSSNEGOTIATE

Introduced in 7.10.6 Deprecated since 7.38.0

CURLAUTH_NEGOTIATE

Introduced in 7.38.0

CURLAUTH_NONE

Introduced in 7.10.6

CURLAUTH_NTLM

Introduced in 7.10.6

CURLAUTH_NTLM_WB

Introduced in 7.22.0

CURLAUTH_ONLY

Introduced in 7.21.3

CURLCLOSEPOLICY_CALLBACK

Introduced in 7.7

CURLCLOSEPOLICY_LEAST_RECENTLY_USED

Introduced in 7.7

CURLCLOSEPOLICY_LEAST_TRAFFIC

Introduced in 7.7

CURLCLOSEPOLICY_NONE

Introduced in 7.7

CURLCLOSEPOLICY_OLDEST

Introduced in 7.7

CURLCLOSEPOLICY_SLOWEST

Introduced in 7.7

CURLE_ABORTED_BY_CALLBACK

Introduced in 7.1

CURLE_AGAIN

Introduced in 7.18.2

CURLE_ALREADY_COMPLETE

Introduced in 7.7.2

CURLE_BAD_CALLING_ORDER

Introduced in 7.1 Deprecated since 7.17.0

CURLE_BAD_CONTENT_ENCODING

Introduced in 7.10

CURLE_BAD_DOWNLOAD_RESUME

Introduced in 7.10

CURLE_BAD_FUNCTION_ARGUMENT

Introduced in 7.1

CURLE_BAD_PASSWORD_ENTERED

Introduced in 7.4.2 Deprecated since 7.17.0

CURLE_CHUNK_FAILED

Introduced in 7.21.0

CURLE_CONV_FAILED

Introduced in 7.15.4

CURLE_CONV_REQD

Introduced in 7.15.4

CURLE_COULDNT_CONNECT

Introduced in 7.1

CURLE_COULDNT_RESOLVE_HOST

Introduced in 7.1

CURLE_COULDNT_RESOLVE_PROXY

Introduced in 7.1

CURLE_FAILED_INIT

Introduced in 7.1

CURLE_FILESIZE_EXCEEDED

Introduced in 7.10.8

CURLE_FILE_COULDNT_READ_FILE

Introduced in 7.1

CURLE_FTP_ACCEPT_FAILED

Introduced in 7.24.0

CURLE_FTP_ACCEPT_TIMEOUT

Introduced in 7.24.0

CURLE_FTP_ACCESS_DENIED

Introduced in 7.1

CURLE_FTP_BAD_DOWNLOAD_RESUME

Introduced in 7.1 Deprecated since 7.1

CURLE_FTP_BAD_FILE_LIST

Introduced in 7.21.0

CURLE_FTP_CANT_GET_HOST

Introduced in 7.1

CURLE_FTP_CANT_RECONNECT

Introduced in 7.1 Deprecated since 7.17.0

CURLE_FTP_COULDNT_GET_SIZE

Introduced in 7.1 Deprecated since 7.17.0

CURLE_FTP_COULDNT_RETR_FILE

Introduced in 7.1

CURLE_FTP_COULDNT_SET_ASCII

Introduced in 7.1 Deprecated since 7.17.0

CURLE_FTP_COULDNT_SET_BINARY

Introduced in 7.1 Deprecated since 7.17.0

CURLE_FTP_COULDNT_SET_TYPE

Introduced in 7.17.0

CURLE_FTP_COULDNT_STOR_FILE

Introduced in 7.1

CURLE_FTP_COULDNT_USE_REST

Introduced in 7.1

CURLE_FTP_PARTIAL_FILE

Introduced in 7.1 Deprecated since 7.1

CURLE_FTP_PORT_FAILED

Introduced in 7.1

CURLE_FTP_PRET_FAILED

Introduced in 7.20.0

CURLE_FTP_QUOTE_ERROR

Introduced in 7.1 Deprecated since 7.17.0

CURLE_FTP_SSL_FAILED

Introduced in 7.11.0 Deprecated since 7.17.0

CURLE_FTP_USER_PASSWORD_INCORRECT

Introduced in 7.1 Deprecated since 7.17.0

CURLE_FTP_WEIRD_227_FORMAT

Introduced in 7.1

CURLE_FTP_WEIRD_PASS_REPLY

Introduced in 7.1

CURLE_FTP_WEIRD_PASV_REPLY

Introduced in 7.1

CURLE_FTP_WEIRD_SERVER_REPLY

Introduced in 7.1

CURLE_FTP_WEIRD_USER_REPLY

Introduced in 7.1 Deprecated since 7.17.0

CURLE_FTP_WRITE_ERROR

Introduced in 7.1 Deprecated since 7.17.0

CURLE_FUNCTION_NOT_FOUND

Introduced in 7.1

CURLE_GOT_NOTHING

Introduced in 7.9.1

CURLE_HTTP2

Introduced in 7.38.0

CURLE_HTTP_NOT_FOUND

Introduced in 7.1

CURLE_HTTP_PORT_FAILED

Introduced in 7.3 Deprecated since 7.12.0

CURLE_HTTP_POST_ERROR

Introduced in 7.1

CURLE_HTTP_RANGE_ERROR

Introduced in 7.1 Deprecated since 7.17.0

CURLE_HTTP_RETURNED_ERROR

Introduced in 7.10.3

CURLE_INTERFACE_FAILED

Introduced in 7.12.0

CURLE_LDAP_CANNOT_BIND

Introduced in 7.1

CURLE_LDAP_INVALID_URL

Introduced in 7.10.8

CURLE_LDAP_SEARCH_FAILED

Introduced in 7.1

CURLE_LIBRARY_NOT_FOUND

Introduced in 7.1 Deprecated since 7.17.0

CURLE_LOGIN_DENIED

Introduced in 7.13.1

CURLE_MALFORMAT_USER

Introduced in 7.1 Deprecated since 7.17.0

CURLE_NOT_BUILT_IN

Introduced in 7.21.5

CURLE_NO_CONNECTION_AVAILABLE

Introduced in 7.30.0

CURLE_OK

Introduced in 7.1

CURLE_OPERATION_TIMEDOUT

Introduced in 7.10.2

CURLE_OPERATION_TIMEOUTED

Introduced in 7.1 Deprecated since 7.17.0

CURLE_OUT_OF_MEMORY

Introduced in 7.1

CURLE_PARTIAL_FILE

Introduced in 7.1

CURLE_PEER_FAILED_VERIFICATION

Introduced in 7.17.1

CURLE_QUOTE_ERROR

Introduced in 7.17.0

CURLE_RANGE_ERROR

Introduced in 7.17.0

CURLE_READ_ERROR

Introduced in 7.1

CURLE_RECV_ERROR

Introduced in 7.10

CURLE_REMOTE_ACCESS_DENIED

Introduced in 7.17.0

CURLE_REMOTE_DISK_FULL

Introduced in 7.17.0

CURLE_REMOTE_FILE_EXISTS

Introduced in 7.17.0

CURLE_REMOTE_FILE_NOT_FOUND

Introduced in 7.16.1

CURLE_RTSP_CSEQ_ERROR

Introduced in 7.20.0

CURLE_RTSP_SESSION_ERROR

Introduced in 7.20.0

CURLE_SEND_ERROR

Introduced in 7.10

CURLE_SEND_FAIL_REWIND

Introduced in 7.12.3

CURLE_SHARE_IN_USE

Introduced in 7.9.6 Deprecated since 7.17.0

CURLE_SSH

Introduced in 7.16.1

CURLE_SSL_CACERT

Introduced in 7.10

CURLE_SSL_CACERT_BADFILE

Introduced in 7.16.0

CURLE_SSL_CERTPROBLEM

Introduced in 7.10

CURLE_SSL_CIPHER

Introduced in 7.10

CURLE_SSL_CONNECT_ERROR

Introduced in 7.1

CURLE_SSL_CRL_BADFILE

Introduced in 7.19.0

CURLE_SSL_ENGINE_INITFAILED

Introduced in 7.12.3

CURLE_SSL_ENGINE_NOTFOUND

Introduced in 7.9.3

CURLE_SSL_ENGINE_SETFAILED

Introduced in 7.9.3

CURLE_SSL_INVALIDCERTSTATUS

Introduced in 7.41.0

CURLE_SSL_ISSUER_ERROR

Introduced in 7.19.0

CURLE_SSL_PEER_CERTIFICATE

Introduced in 7.8 Deprecated since 7.17.1

CURLE_SSL_PINNEDPUBKEYNOTMATCH

Introduced in 7.39.0

CURLE_SSL_SHUTDOWN_FAILED

Introduced in 7.16.1

CURLE_TELNET_OPTION_SYNTAX

Introduced in 7.7

CURLE_TFTP_DISKFULL

Introduced in 7.15.0 Deprecated since 7.17.0

CURLE_TFTP_EXISTS

Introduced in 7.15.0 Deprecated since 7.17.0

CURLE_TFTP_ILLEGAL

Introduced in 7.15.0

CURLE_TFTP_NOSUCHUSER

Introduced in 7.15.0

CURLE_TFTP_NOTFOUND

Introduced in 7.15.0

CURLE_TFTP_PERM

Introduced in 7.15.0

CURLE_TFTP_UNKNOWNID

Introduced in 7.15.0

CURLE_TOO_MANY_REDIRECTS

Introduced in 7.5

CURLE_UNKNOWN_OPTION

Introduced in 7.21.5

CURLE_UNKNOWN_TELNET_OPTION

Introduced in 7.7

CURLE_UNSUPPORTED_PROTOCOL

Introduced in 7.1

CURLE_UPLOAD_FAILED

Introduced in 7.16.3

CURLE_URL_MALFORMAT

Introduced in 7.1

CURLE_URL_MALFORMAT_USER

Introduced in 7.1 Deprecated since 7.17.0

CURLE_USE_SSL_FAILED

Introduced in 7.17.0

CURLE_WRITE_ERROR

Introduced in 7.1

CURLFILETYPE_DEVICE_BLOCK

Introduced in 7.21.0

CURLFILETYPE_DEVICE_CHAR

Introduced in 7.21.0

CURLFILETYPE_DIRECTORY

Introduced in 7.21.0

CURLFILETYPE_DOOR

Introduced in 7.21.0

CURLFILETYPE_FILE

Introduced in 7.21.0

CURLFILETYPE_NAMEDPIPE

Introduced in 7.21.0

CURLFILETYPE_SOCKET

Introduced in 7.21.0

CURLFILETYPE_SYMLINK

Introduced in 7.21.0

CURLFILETYPE_UNKNOWN

Introduced in 7.21.0

CURLFINFOFLAG_KNOWN_FILENAME

Introduced in 7.21.0

CURLFINFOFLAG_KNOWN_FILETYPE

Introduced in 7.21.0

CURLFINFOFLAG_KNOWN_GID

Introduced in 7.21.0

CURLFINFOFLAG_KNOWN_HLINKCOUNT

Introduced in 7.21.0

CURLFINFOFLAG_KNOWN_PERM

Introduced in 7.21.0

CURLFINFOFLAG_KNOWN_SIZE

Introduced in 7.21.0

CURLFINFOFLAG_KNOWN_TIME

Introduced in 7.21.0

CURLFINFOFLAG_KNOWN_UID

Introduced in 7.21.0

CURLFORM_ARRAY

Introduced in 7.9.1

CURLFORM_ARRAY_END

Introduced in 7.9.1 Deprecated since 7.9.5 Last used in 7.9.5

CURLFORM_ARRAY_START

Introduced in 7.9.1 Deprecated since 7.9.5 Last used in 7.9.5

CURLFORM_BUFFER

Introduced in 7.9.8

CURLFORM_BUFFERLENGTH

Introduced in 7.9.8

CURLFORM_BUFFERPTR

Introduced in 7.9.8

CURLFORM_CONTENTHEADER

Introduced in 7.9.3

CURLFORM_CONTENTLEN

Introduced in 7.46.0

CURLFORM_CONTENTSLENGTH

Introduced in 7.9

CURLFORM_CONTENTTYPE

Introduced in 7.9

CURLFORM_COPYCONTENTS

Introduced in 7.9

CURLFORM_COPYNAME

Introduced in 7.9

CURLFORM_END

Introduced in 7.9

CURLFORM_FILE

Introduced in 7.9

CURLFORM_FILECONTENT

Introduced in 7.9.1

CURLFORM_FILENAME

Introduced in 7.9.6

CURLFORM_NAMELENGTH

Introduced in 7.9

CURLFORM_NOTHING

Introduced in 7.9

CURLFORM_PTRCONTENTS

Introduced in 7.9

CURLFORM_PTRNAME

Introduced in 7.9

CURLFORM_STREAM

Introduced in 7.18.2

CURLFTPAUTH_DEFAULT

Introduced in 7.12.2

CURLFTPAUTH_SSL

Introduced in 7.12.2

CURLFTPAUTH_TLS

Introduced in 7.12.2

CURLFTPMETHOD_DEFAULT

Introduced in 7.15.3

CURLFTPMETHOD_MULTICWD

Introduced in 7.15.3

CURLFTPMETHOD_NOCWD

Introduced in 7.15.3

CURLFTPMETHOD_SINGLECWD

Introduced in 7.15.3

CURLFTPSSL_ALL

Introduced in 7.11.0 Deprecated since 7.17.0

CURLFTPSSL_CCC_ACTIVE

Introduced in 7.16.2

CURLFTPSSL_CCC_NONE

Introduced in 7.16.2

CURLFTPSSL_CCC_PASSIVE

Introduced in 7.16.1

CURLFTPSSL_CONTROL

Introduced in 7.11.0 Deprecated since 7.17.0

CURLFTPSSL_NONE

Introduced in 7.11.0 Deprecated since 7.17.0

CURLFTPSSL_TRY

Introduced in 7.11.0 Deprecated since 7.17.0

CURLFTP_CREATE_DIR

Introduced in 7.19.4

CURLFTP_CREATE_DIR_NONE

Introduced in 7.19.4

CURLFTP_CREATE_DIR_RETRY

Introduced in 7.19.4

CURLGSSAPI_DELEGATION_FLAG

Introduced in 7.22.0

CURLGSSAPI_DELEGATION_NONE

Introduced in 7.22.0

CURLGSSAPI_DELEGATION_POLICY_FLAG

Introduced in 7.22.0

CURLHEADER_SEPARATE

Introduced in 7.37.0

CURLHEADER_UNIFIED

Introduced in 7.37.0

CURLINFO_ACTIVESOCKET

Introduced in 7.45.0

CURLINFO_APPCONNECT_TIME

Introduced in 7.19.0

CURLINFO_CERTINFO

Introduced in 7.19.1

CURLINFO_CONDITION_UNMET

Introduced in 7.19.4

CURLINFO_CONNECT_TIME

Introduced in 7.4.1

CURLINFO_CONTENT_LENGTH_DOWNLOAD

Introduced in 7.6.1

CURLINFO_CONTENT_LENGTH_UPLOAD

Introduced in 7.6.1

CURLINFO_CONTENT_TYPE

Introduced in 7.9.4

CURLINFO_COOKIELIST

Introduced in 7.14.1

CURLINFO_DATA_IN

Introduced in 7.9.6

CURLINFO_DATA_OUT

Introduced in 7.9.6

CURLINFO_DOUBLE

Introduced in 7.4.1

CURLINFO_EFFECTIVE_URL

Introduced in 7.4

CURLINFO_END

Introduced in 7.9.6

CURLINFO_FILETIME

Introduced in 7.5

CURLINFO_FTP_ENTRY_PATH

Introduced in 7.15.4

CURLINFO_HEADER_IN

Introduced in 7.9.6

CURLINFO_HEADER_OUT

Introduced in 7.9.6

CURLINFO_HEADER_SIZE

Introduced in 7.4.1

CURLINFO_HTTPAUTH_AVAIL

Introduced in 7.10.8

CURLINFO_HTTP_CODE

Introduced in 7.4.1 Deprecated since 7.10.8

CURLINFO_HTTP_CONNECTCODE

Introduced in 7.10.7

CURLINFO_LASTONE

Introduced in 7.4.1

CURLINFO_LASTSOCKET

Introduced in 7.15.2

CURLINFO_LOCAL_IP

Introduced in 7.21.0

CURLINFO_LOCAL_PORT

Introduced in 7.21.0

CURLINFO_LONG

Introduced in 7.4.1

CURLINFO_MASK

Introduced in 7.4.1

CURLINFO_NAMELOOKUP_TIME

Introduced in 7.4.1

CURLINFO_NONE

Introduced in 7.4.1

CURLINFO_NUM_CONNECTS

Introduced in 7.12.3

CURLINFO_OS_ERRNO

Introduced in 7.12.2

CURLINFO_PRETRANSFER_TIME

Introduced in 7.4.1

CURLINFO_PRIMARY_IP

Introduced in 7.19.0

CURLINFO_PRIMARY_PORT

Introduced in 7.21.0

CURLINFO_PRIVATE

Introduced in 7.10.3

CURLINFO_PROXYAUTH_AVAIL

Introduced in 7.10.8

CURLINFO_REDIRECT_COUNT

Introduced in 7.9.7

CURLINFO_REDIRECT_TIME

Introduced in 7.9.7

CURLINFO_REDIRECT_URL

Introduced in 7.18.2

CURLINFO_REQUEST_SIZE

Introduced in 7.4.1

CURLINFO_RESPONSE_CODE

Introduced in 7.10.8

CURLINFO_RTSP_CLIENT_CSEQ

Introduced in 7.20.0

CURLINFO_RTSP_CSEQ_RECV

Introduced in 7.20.0

CURLINFO_RTSP_SERVER_CSEQ

Introduced in 7.20.0

CURLINFO_RTSP_SESSION_ID

Introduced in 7.20.0

CURLINFO_SIZE_DOWNLOAD

Introduced in 7.4.1

CURLINFO_SIZE_UPLOAD

Introduced in 7.4.1

CURLINFO_SLIST

Introduced in 7.12.3

CURLINFO_SOCKET

Introduced in 7.45.0

CURLINFO_SPEED_DOWNLOAD

Introduced in 7.4.1

CURLINFO_SPEED_UPLOAD

Introduced in 7.4.1

CURLINFO_SSL_DATA_IN

Introduced in 7.12.1

CURLINFO_SSL_DATA_OUT

Introduced in 7.12.1

CURLINFO_SSL_ENGINES

Introduced in 7.12.3

CURLINFO_SSL_VERIFYRESULT

Introduced in 7.5

CURLINFO_STARTTRANSFER_TIME

Introduced in 7.9.2

CURLINFO_STRING

Introduced in 7.4.1

CURLINFO_TEXT

Introduced in 7.9.6

CURLINFO_TLS_SESSION

Introduced in 7.34.0

CURLINFO_TOTAL_TIME

Introduced in 7.4.1

CURLINFO_TYPEMASK

Introduced in 7.4.1

CURLIOCMD_NOP

Introduced in 7.12.3

CURLIOCMD_RESTARTREAD

Introduced in 7.12.3

CURLIOE_FAILRESTART

Introduced in 7.12.3

CURLIOE_OK

Introduced in 7.12.3

CURLIOE_UNKNOWNCMD

Introduced in 7.12.3

CURLKHMATCH_MISMATCH

Introduced in 7.19.6

CURLKHMATCH_MISSING

Introduced in 7.19.6

CURLKHMATCH_OK

Introduced in 7.19.6

CURLKHSTAT_DEFER

Introduced in 7.19.6

CURLKHSTAT_FINE

Introduced in 7.19.6

CURLKHSTAT_FINE_ADD_TO_FILE

Introduced in 7.19.6

CURLKHSTAT_REJECT

Introduced in 7.19.6

CURLKHTYPE_DSS

Introduced in 7.19.6

CURLKHTYPE_RSA

Introduced in 7.19.6

CURLKHTYPE_RSA1

Introduced in 7.19.6

CURLKHTYPE_UNKNOWN

Introduced in 7.19.6

CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE

Introduced in 7.30.0

CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE

Introduced in 7.30.0

CURLMOPT_MAXCONNECTS

Introduced in 7.16.3

CURLMOPT_MAX_HOST_CONNECTIONS

Introduced in 7.30.0

CURLMOPT_MAX_PIPELINE_LENGTH

Introduced in 7.30.0

CURLMOPT_MAX_TOTAL_CONNECTIONS

Introduced in 7.30.0

CURLMOPT_PIPELINING

Introduced in 7.16.0

CURLMOPT_PIPELINING_SERVER_BL

Introduced in 7.30.0

CURLMOPT_PIPELINING_SITE_BL

Introduced in 7.30.0

CURLMOPT_PUSHDATA

Introduced in 7.44.0

CURLMOPT_PUSHFUNCTION

Introduced in 7.44.0

CURLMOPT_SOCKETDATA

Introduced in 7.15.4

CURLMOPT_SOCKETFUNCTION

Introduced in 7.15.4

CURLMOPT_TIMERDATA

Introduced in 7.16.0

CURLMOPT_TIMERFUNCTION

Introduced in 7.16.0

CURLMSG_DONE

Introduced in 7.9.6

CURLMSG_NONE

Introduced in 7.9.6

CURLM_ADDED_ALREADY

Introduced in 7.32.1

CURLM_BAD_EASY_HANDLE

Introduced in 7.9.6

CURLM_BAD_HANDLE

Introduced in 7.9.6

CURLM_BAD_SOCKET

Introduced in 7.15.4

CURLM_CALL_MULTI_PERFORM

Introduced in 7.9.6

CURLM_CALL_MULTI_SOCKET

Introduced in 7.15.5

CURLM_INTERNAL_ERROR

Introduced in 7.9.6

CURLM_OK

Introduced in 7.9.6

CURLM_OUT_OF_MEMORY

Introduced in 7.9.6

CURLM_UNKNOWN_OPTION

Introduced in 7.15.4

CURLOPTTYPE_FUNCTIONPOINT

Introduced in 7.1

CURLOPTTYPE_LONG

Introduced in 7.1

CURLOPTTYPE_OBJECTPOINT

Introduced in 7.1

CURLOPTTYPE_OFF_T

Introduced in 7.11.0

CURLOPTTYPE_STRINGPOINT

Introduced in 7.46.0

CURLOPT_ACCEPTTIMEOUT_MS

Introduced in 7.24.0

CURLOPT_ACCEPT_ENCODING

Introduced in 7.21.6

CURLOPT_ADDRESS_SCOPE

Introduced in 7.19.0

CURLOPT_APPEND

Introduced in 7.17.0

CURLOPT_AUTOREFERER

Introduced in 7.1

CURLOPT_BUFFERSIZE

Introduced in 7.10

CURLOPT_CAINFO

Introduced in 7.4.2

CURLOPT_CAPATH

Introduced in 7.9.8

CURLOPT_CERTINFO

Introduced in 7.19.1

CURLOPT_CHUNK_BGN_FUNCTION

Introduced in 7.21.0

CURLOPT_CHUNK_DATA

Introduced in 7.21.0

CURLOPT_CHUNK_END_FUNCTION

Introduced in 7.21.0

CURLOPT_CLOSEFUNCTION

Introduced in 7.7 Deprecated since 7.11.1 Last used in 7.11.1

CURLOPT_CLOSEPOLICY

Introduced in 7.7 Deprecated since 7.16.1

CURLOPT_CLOSESOCKETDATA

Introduced in 7.21.7

CURLOPT_CLOSESOCKETFUNCTION

Introduced in 7.21.7

CURLOPT_CONNECTTIMEOUT

Introduced in 7.7

CURLOPT_CONNECTTIMEOUT_MS

Introduced in 7.16.2

CURLOPT_CONNECT_ONLY

Introduced in 7.15.2

CURLOPT_CONV_FROM_NETWORK_FUNCTION

Introduced in 7.15.4

CURLOPT_CONV_FROM_UTF8_FUNCTION

Introduced in 7.15.4

CURLOPT_CONV_TO_NETWORK_FUNCTION

Introduced in 7.15.4

CURLOPT_COOKIE

Introduced in 7.1

CURLOPT_COOKIEFILE

Introduced in 7.1

CURLOPT_COOKIEJAR

Introduced in 7.9

CURLOPT_COOKIELIST

Introduced in 7.14.1

CURLOPT_COOKIESESSION

Introduced in 7.9.7

CURLOPT_COPYPOSTFIELDS

Introduced in 7.17.1

CURLOPT_CRLF

Introduced in 7.1

CURLOPT_CRLFILE

Introduced in 7.19.0

CURLOPT_CUSTOMREQUEST

Introduced in 7.1

CURLOPT_DEBUGDATA

Introduced in 7.9.6

CURLOPT_DEBUGFUNCTION

Introduced in 7.9.6

CURLOPT_DEFAULT_PROTOCOL

Introduced in 7.45.0

CURLOPT_DIRLISTONLY

Introduced in 7.17.0

CURLOPT_DNS_CACHE_TIMEOUT

Introduced in 7.9.3

CURLOPT_DNS_INTERFACE

Introduced in 7.33.0

CURLOPT_DNS_LOCAL_IP4

Introduced in 7.33.0

CURLOPT_DNS_LOCAL_IP6

Introduced in 7.33.0

CURLOPT_DNS_SERVERS

Introduced in 7.24.0

CURLOPT_DNS_USE_GLOBAL_CACHE

Introduced in 7.9.3 Deprecated since 7.11.1

CURLOPT_EGDSOCKET

Introduced in 7.7

CURLOPT_ENCODING

Introduced in 7.10

CURLOPT_ERRORBUFFER

Introduced in 7.1

CURLOPT_EXPECT_100_TIMEOUT_MS

Introduced in 7.36.0

CURLOPT_FAILONERROR

Introduced in 7.1

CURLOPT_FILE

Introduced in 7.1 Deprecated since 7.9.7

CURLOPT_FILETIME

Introduced in 7.5

CURLOPT_FNMATCH_DATA

Introduced in 7.21.0

CURLOPT_FNMATCH_FUNCTION

Introduced in 7.21.0

CURLOPT_FOLLOWLOCATION

Introduced in 7.1

CURLOPT_FORBID_REUSE

Introduced in 7.7

CURLOPT_FRESH_CONNECT

Introduced in 7.7

CURLOPT_FTPAPPEND

Introduced in 7.1 Deprecated since 7.16.4

CURLOPT_FTPASCII

Introduced in 7.1 Deprecated since 7.11.1 Last used in 7.11.1

CURLOPT_FTPLISTONLY

Introduced in 7.1 Deprecated since 7.16.4

CURLOPT_FTPPORT

Introduced in 7.1

CURLOPT_FTPSSLAUTH

Introduced in 7.12.2

CURLOPT_FTP_ACCOUNT

Introduced in 7.13.0

CURLOPT_FTP_ALTERNATIVE_TO_USER

Introduced in 7.15.5

CURLOPT_FTP_CREATE_MISSING_DIRS

Introduced in 7.10.7

CURLOPT_FTP_FILEMETHOD

Introduced in 7.15.1

CURLOPT_FTP_RESPONSE_TIMEOUT

Introduced in 7.10.8

CURLOPT_FTP_SKIP_PASV_IP

Introduced in 7.15.0

CURLOPT_FTP_SSL

Introduced in 7.11.0 Deprecated since 7.16.4

CURLOPT_FTP_SSL_CCC

Introduced in 7.16.1

CURLOPT_FTP_USE_EPRT

Introduced in 7.10.5

CURLOPT_FTP_USE_EPSV

Introduced in 7.9.2

CURLOPT_FTP_USE_PRET

Introduced in 7.20.0

CURLOPT_GSSAPI_DELEGATION

Introduced in 7.22.0

CURLOPT_HEADER

Introduced in 7.1

CURLOPT_HEADERDATA

Introduced in 7.10

CURLOPT_HEADERFUNCTION

Introduced in 7.7.2

CURLOPT_HEADEROPT

Introduced in 7.37.0

CURLOPT_HTTP200ALIASES

Introduced in 7.10.3

CURLOPT_HTTPAUTH

Introduced in 7.10.6

CURLOPT_HTTPGET

Introduced in 7.8.1

CURLOPT_HTTPHEADER

Introduced in 7.1

CURLOPT_HTTPPOST

Introduced in 7.1

CURLOPT_HTTPPROXYTUNNEL

Introduced in 7.3

CURLOPT_HTTPREQUEST

Introduced in 7.1

CURLOPT_HTTP_CONTENT_DECODING

Introduced in 7.16.2

CURLOPT_HTTP_TRANSFER_DECODING

Introduced in 7.16.2

CURLOPT_HTTP_VERSION

Introduced in 7.9.1

CURLOPT_IGNORE_CONTENT_LENGTH

Introduced in 7.14.1

CURLOPT_INFILE

Introduced in 7.1 Deprecated since 7.9.7

CURLOPT_INFILESIZE

Introduced in 7.1

CURLOPT_INFILESIZE_LARGE

Introduced in 7.11.0

CURLOPT_INTERFACE

Introduced in 7.3

CURLOPT_INTERLEAVEDATA

Introduced in 7.20.0

CURLOPT_INTERLEAVEFUNCTION

Introduced in 7.20.0

CURLOPT_IOCTLDATA

Introduced in 7.12.3

CURLOPT_IOCTLFUNCTION

Introduced in 7.12.3

CURLOPT_IPRESOLVE

Introduced in 7.10.8

CURLOPT_ISSUERCERT

Introduced in 7.19.0

CURLOPT_KEYPASSWD

Introduced in 7.17.0

CURLOPT_KRB4LEVEL

Introduced in 7.3 Deprecated since 7.17.0

CURLOPT_KRBLEVEL

Introduced in 7.16.4

CURLOPT_LOCALPORT

Introduced in 7.15.2

CURLOPT_LOCALPORTRANGE

Introduced in 7.15.2

CURLOPT_LOGIN_OPTIONS

Introduced in 7.34.0

CURLOPT_LOW_SPEED_LIMIT

Introduced in 7.1

CURLOPT_LOW_SPEED_TIME

Introduced in 7.1

CURLOPT_MAIL_AUTH

Introduced in 7.25.0

CURLOPT_MAIL_FROM

Introduced in 7.20.0

CURLOPT_MAIL_RCPT

Introduced in 7.20.0

CURLOPT_MAXCONNECTS

Introduced in 7.7

CURLOPT_MAXFILESIZE

Introduced in 7.10.8

CURLOPT_MAXFILESIZE_LARGE

Introduced in 7.11.0

CURLOPT_MAXREDIRS

Introduced in 7.5

CURLOPT_MAX_RECV_SPEED_LARGE

Introduced in 7.15.5

CURLOPT_MAX_SEND_SPEED_LARGE

Introduced in 7.15.5

CURLOPT_MUTE

Introduced in 7.1 Deprecated since 7.8 Last used in 7.8

CURLOPT_NETRC

Introduced in 7.1

CURLOPT_NETRC_FILE

Introduced in 7.11.0

CURLOPT_NEW_DIRECTORY_PERMS

Introduced in 7.16.4

CURLOPT_NEW_FILE_PERMS

Introduced in 7.16.4

CURLOPT_NOBODY

Introduced in 7.1

CURLOPT_NOPROGRESS

Introduced in 7.1

CURLOPT_NOPROXY

Introduced in 7.19.4

CURLOPT_NOSIGNAL

Introduced in 7.10

CURLOPT_NOTHING

Introduced in 7.1.1 Deprecated since 7.11.1 Last used in 7.11.1

CURLOPT_OPENSOCKETDATA

Introduced in 7.17.1

CURLOPT_OPENSOCKETFUNCTION

Introduced in 7.17.1

CURLOPT_PASSWDDATA

Introduced in 7.4.2 Deprecated since 7.11.1 Last used in 7.11.1

CURLOPT_PASSWDFUNCTION

Introduced in 7.4.2 Deprecated since 7.11.1 Last used in 7.11.1

CURLOPT_PASSWORD

Introduced in 7.19.1

CURLOPT_PASV_HOST

Introduced in 7.12.1 Deprecated since 7.16.0 Last used in 7.16.0

CURLOPT_PATH_AS_IS

Introduced in 7.42.0

CURLOPT_PINNEDPUBLICKEY

Introduced in 7.39.0

CURLOPT_PIPEWAIT

Introduced in 7.43.0

CURLOPT_PORT

Introduced in 7.1

CURLOPT_POST

Introduced in 7.1

CURLOPT_POST301

Introduced in 7.17.1 Deprecated since 7.19.1

CURLOPT_POSTFIELDS

Introduced in 7.1

CURLOPT_POSTFIELDSIZE

Introduced in 7.2

CURLOPT_POSTFIELDSIZE_LARGE

Introduced in 7.11.1

CURLOPT_POSTQUOTE

Introduced in 7.1

CURLOPT_POSTREDIR

Introduced in 7.19.1

CURLOPT_PREQUOTE

Introduced in 7.9.5

CURLOPT_PRIVATE

Introduced in 7.10.3

CURLOPT_PROGRESSDATA

Introduced in 7.1

CURLOPT_PROGRESSFUNCTION

Introduced in 7.1 Deprecated since 7.32.0

CURLOPT_PROTOCOLS

Introduced in 7.19.4

CURLOPT_PROXY

Introduced in 7.1

CURLOPT_PROXYAUTH

Introduced in 7.10.7

CURLOPT_PROXYHEADER

Introduced in 7.37.0

CURLOPT_PROXYPASSWORD

Introduced in 7.19.1

CURLOPT_PROXYPORT

Introduced in 7.1

CURLOPT_PROXYTYPE

Introduced in 7.10

CURLOPT_PROXYUSERNAME

Introduced in 7.19.1

CURLOPT_PROXYUSERPWD

Introduced in 7.1

CURLOPT_PROXY_SERVICE_NAME

Introduced in 7.43.0

CURLOPT_PROXY_TRANSFER_MODE

Introduced in 7.18.0

CURLOPT_PUT

Introduced in 7.1

CURLOPT_QUOTE

Introduced in 7.1

CURLOPT_RANDOM_FILE

Introduced in 7.7

CURLOPT_RANGE

Introduced in 7.1

CURLOPT_READDATA

Introduced in 7.9.7

CURLOPT_READFUNCTION

Introduced in 7.1

CURLOPT_REDIR_PROTOCOLS

Introduced in 7.19.4

CURLOPT_REFERER

Introduced in 7.1

CURLOPT_RESOLVE

Introduced in 7.21.3

CURLOPT_RESUME_FROM

Introduced in 7.1

CURLOPT_RESUME_FROM_LARGE

Introduced in 7.11.0

CURLOPT_RTSPHEADER

Introduced in 7.20.0

CURLOPT_RTSP_CLIENT_CSEQ

Introduced in 7.20.0

CURLOPT_RTSP_REQUEST

Introduced in 7.20.0

CURLOPT_RTSP_SERVER_CSEQ

Introduced in 7.20.0

CURLOPT_RTSP_SESSION_ID

Introduced in 7.20.0

CURLOPT_RTSP_STREAM_URI

Introduced in 7.20.0

CURLOPT_RTSP_TRANSPORT

Introduced in 7.20.0

CURLOPT_SASL_IR

Introduced in 7.31.0

CURLOPT_SEEKDATA

Introduced in 7.18.0

CURLOPT_SEEKFUNCTION

Introduced in 7.18.0

CURLOPT_SERVER_RESPONSE_TIMEOUT

Introduced in 7.20.0

CURLOPT_SERVICE_NAME

Introduced in 7.43.0

CURLOPT_SHARE

Introduced in 7.10

CURLOPT_SOCKOPTDATA

Introduced in 7.16.0

CURLOPT_SOCKOPTFUNCTION

Introduced in 7.16.0

CURLOPT_SOCKS5_GSSAPI_NEC

Introduced in 7.19.4

CURLOPT_SOCKS5_GSSAPI_SERVICE

Introduced in 7.19.4

CURLOPT_SOURCE_HOST

Introduced in 7.12.1

CURLOPT_SOURCE_PATH

Introduced in 7.12.1

CURLOPT_SOURCE_PORT

Introduced in 7.12.1

CURLOPT_SOURCE_POSTQUOTE

Introduced in 7.12.1

CURLOPT_SOURCE_PREQUOTE

Introduced in 7.12.1

CURLOPT_SOURCE_QUOTE

Introduced in 7.13.0

CURLOPT_SOURCE_URL

Introduced in 7.13.0

CURLOPT_SOURCE_USERPWD

Introduced in 7.12.1

CURLOPT_SSH_AUTH_TYPES

Introduced in 7.16.1

CURLOPT_SSH_HOST_PUBLIC_KEY_MD5

Introduced in 7.17.1

CURLOPT_SSH_KEYDATA

Introduced in 7.19.6

CURLOPT_SSH_KEYFUNCTION

Introduced in 7.19.6

CURLOPT_SSH_KNOWNHOSTS

Introduced in 7.19.6

CURLOPT_SSH_PRIVATE_KEYFILE

Introduced in 7.16.1

CURLOPT_SSH_PUBLIC_KEYFILE

Introduced in 7.16.1

CURLOPT_SSLCERT

Introduced in 7.1

CURLOPT_SSLCERTPASSWD

Introduced in 7.1.1 Deprecated since 7.17.0

CURLOPT_SSLCERTTYPE

Introduced in 7.9.3

CURLOPT_SSLENGINE

Introduced in 7.9.3

CURLOPT_SSLENGINE_DEFAULT

Introduced in 7.9.3

CURLOPT_SSLKEY

Introduced in 7.9.3

CURLOPT_SSLKEYPASSWD

Introduced in 7.9.3 Deprecated since 7.17.0

CURLOPT_SSLKEYTYPE

Introduced in 7.9.3

CURLOPT_SSLVERSION

Introduced in 7.1

CURLOPT_SSL_CIPHER_LIST

Introduced in 7.9

CURLOPT_SSL_CTX_DATA

Introduced in 7.10.6

CURLOPT_SSL_CTX_FUNCTION

Introduced in 7.10.6

CURLOPT_SSL_ENABLE_ALPN

Introduced in 7.36.0

CURLOPT_SSL_ENABLE_NPN

Introduced in 7.36.0

CURLOPT_SSL_FALSESTART

Introduced in 7.42.0

CURLOPT_SSL_OPTIONS

Introduced in 7.25.0

CURLOPT_SSL_SESSIONID_CACHE

Introduced in 7.16.0

CURLOPT_SSL_VERIFYHOST

Introduced in 7.8.1

CURLOPT_SSL_VERIFYPEER

Introduced in 7.4.2

CURLOPT_SSL_VERIFYSTATUS

Introduced in 7.41.0

CURLOPT_STDERR

Introduced in 7.1

CURLOPT_STREAM_DEPENDS

Introduced in 7.46.0

CURLOPT_STREAM_DEPENDS_E

Introduced in 7.46.0

CURLOPT_STREAM_WEIGHT

Introduced in 7.46.0

CURLOPT_TCP_KEEPALIVE

Introduced in 7.25.0

CURLOPT_TCP_KEEPIDLE

Introduced in 7.25.0

CURLOPT_TCP_KEEPINTVL

Introduced in 7.25.0

CURLOPT_TCP_NODELAY

Introduced in 7.11.2

CURLOPT_TELNETOPTIONS

Introduced in 7.7

CURLOPT_TFTP_BLKSIZE

Introduced in 7.19.4

CURLOPT_TIMECONDITION

Introduced in 7.1

CURLOPT_TIMEOUT

Introduced in 7.1

CURLOPT_TIMEOUT_MS

Introduced in 7.16.2

CURLOPT_TIMEVALUE

Introduced in 7.1

CURLOPT_TLSAUTH_PASSWORD

Introduced in 7.21.4

CURLOPT_TLSAUTH_TYPE

Introduced in 7.21.4

CURLOPT_TLSAUTH_USERNAME

Introduced in 7.21.4

CURLOPT_TRANSFERTEXT

Introduced in 7.1.1

CURLOPT_TRANSFER_ENCODING

Introduced in 7.21.6

CURLOPT_UNIX_SOCKET_PATH

Introduced in 7.40.0

CURLOPT_UNRESTRICTED_AUTH

Introduced in 7.10.4

CURLOPT_UPLOAD

Introduced in 7.1

CURLOPT_URL

Introduced in 7.1

CURLOPT_USERAGENT

Introduced in 7.1

CURLOPT_USERNAME

Introduced in 7.19.1

CURLOPT_USERPWD

Introduced in 7.1

CURLOPT_USE_SSL

Introduced in 7.17.0

CURLOPT_VERBOSE

Introduced in 7.1

CURLOPT_WILDCARDMATCH

Introduced in 7.21.0

CURLOPT_WRITEDATA

Introduced in 7.9.7

CURLOPT_WRITEFUNCTION

Introduced in 7.1

CURLOPT_WRITEHEADER

Introduced in 7.1

CURLOPT_WRITEINFO

Introduced in 7.1

CURLOPT_XFERINFODATA

Introduced in 7.32.0

CURLOPT_XFERINFOFUNCTION

Introduced in 7.32.0

CURLOPT_XOAUTH2_BEARER

Introduced in 7.33.0

CURLPAUSE_ALL

Introduced in 7.18.0

CURLPAUSE_CONT

Introduced in 7.18.0

CURLPAUSE_RECV

Introduced in 7.18.0

CURLPAUSE_RECV_CONT

Introduced in 7.18.0

CURLPAUSE_SEND

Introduced in 7.18.0

CURLPAUSE_SEND_CONT

Introduced in 7.18.0

CURLPIPE_HTTP1

Introduced in 7.43.0

CURLPIPE_MULTIPLEX

Introduced in 7.43.0

CURLPIPE_NOTHING

Introduced in 7.43.0

CURLPROTO_ALL

Introduced in 7.19.4

CURLPROTO_DICT

Introduced in 7.19.4

CURLPROTO_FILE

Introduced in 7.19.4

CURLPROTO_FTP

Introduced in 7.19.4

CURLPROTO_FTPS

Introduced in 7.19.4

CURLPROTO_GOPHER

Introduced in 7.21.2

CURLPROTO_HTTP

Introduced in 7.19.4

CURLPROTO_HTTPS

Introduced in 7.19.4

CURLPROTO_IMAP

Introduced in 7.20.0

CURLPROTO_IMAPS

Introduced in 7.20.0

CURLPROTO_LDAP

Introduced in 7.19.4

CURLPROTO_LDAPS

Introduced in 7.19.4

CURLPROTO_POP3

Introduced in 7.20.0

CURLPROTO_POP3S

Introduced in 7.20.0

CURLPROTO_RTMP

Introduced in 7.21.0

CURLPROTO_RTMPE

Introduced in 7.21.0

CURLPROTO_RTMPS

Introduced in 7.21.0

CURLPROTO_RTMPT

Introduced in 7.21.0

CURLPROTO_RTMPTE

Introduced in 7.21.0

CURLPROTO_RTMPTS

Introduced in 7.21.0

CURLPROTO_RTSP

Introduced in 7.20.0

CURLPROTO_SCP

Introduced in 7.19.4

CURLPROTO_SFTP

Introduced in 7.19.4

CURLPROTO_SMB

Introduced in 7.40.0

CURLPROTO_SMBS

Introduced in 7.40.0

CURLPROTO_SMTP

Introduced in 7.20.0

CURLPROTO_SMTPS

Introduced in 7.20.0

CURLPROTO_TELNET

Introduced in 7.19.4

CURLPROTO_TFTP

Introduced in 7.19.4

CURLPROXY_HTTP

Introduced in 7.10

CURLPROXY_HTTP_1_0

Introduced in 7.19.4

CURLPROXY_SOCKS4

Introduced in 7.10

CURLPROXY_SOCKS4A

Introduced in 7.18.0

CURLPROXY_SOCKS5

Introduced in 7.10

CURLPROXY_SOCKS5_HOSTNAME

Introduced in 7.18.0

CURLSHE_BAD_OPTION

Introduced in 7.10.3

CURLSHE_INVALID

Introduced in 7.10.3

CURLSHE_IN_USE

Introduced in 7.10.3

CURLSHE_NOMEM

Introduced in 7.12.0

CURLSHE_NOT_BUILT_IN

Introduced in 7.23.0

CURLSHE_OK

Introduced in 7.10.3

CURLSHOPT_LOCKFUNC

Introduced in 7.10.3

CURLSHOPT_NONE

Introduced in 7.10.3

CURLSHOPT_SHARE

Introduced in 7.10.3

CURLSHOPT_UNLOCKFUNC

Introduced in 7.10.3

CURLSHOPT_UNSHARE

Introduced in 7.10.3

CURLSHOPT_USERDATA

Introduced in 7.10.3

CURLSOCKTYPE_ACCEPT

Introduced in 7.28.0

CURLSOCKTYPE_IPCXN

Introduced in 7.16.0

CURLSSH_AUTH_AGENT

Introduced in 7.28.0

CURLSSH_AUTH_ANY

Introduced in 7.16.1

CURLSSH_AUTH_DEFAULT

Introduced in 7.16.1

CURLSSH_AUTH_HOST

Introduced in 7.16.1

CURLSSH_AUTH_KEYBOARD

Introduced in 7.16.1

CURLSSH_AUTH_NONE

Introduced in 7.16.1

CURLSSH_AUTH_PASSWORD

Introduced in 7.16.1

CURLSSH_AUTH_PUBLICKEY

Introduced in 7.16.1

CURLSSLBACKEND_AXTLS

Introduced in 7.38.0

CURLSSLBACKEND_CYASSL

Introduced in 7.34.0

CURLSSLBACKEND_DARWINSSL

Introduced in 7.34.0

CURLSSLBACKEND_GNUTLS

Introduced in 7.34.0

CURLSSLBACKEND_GSKIT

Introduced in 7.34.0

CURLSSLBACKEND_MBEDTLS

Introduced in 7.46.0

CURLSSLBACKEND_NONE

Introduced in 7.34.0

CURLSSLBACKEND_NSS

Introduced in 7.34.0

CURLSSLBACKEND_OPENSSL

Introduced in 7.34.0

CURLSSLBACKEND_POLARSSL

Introduced in 7.34.0

CURLSSLBACKEND_QSOSSL

Introduced in 7.34.0

CURLSSLBACKEND_SCHANNEL

Introduced in 7.34.0

CURLSSLOPT_ALLOW_BEAST

Introduced in 7.25.0

CURLSSLOPT_NO_REVOKE

Introduced in 7.44.0

CURLUSESSL_ALL

Introduced in 7.17.0

CURLUSESSL_CONTROL

Introduced in 7.17.0

CURLUSESSL_NONE

Introduced in 7.17.0

CURLUSESSL_TRY

Introduced in 7.17.0

CURLVERSION_FIRST

Introduced in 7.10

CURLVERSION_FOURTH

Introduced in 7.16.1

CURLVERSION_NOW

Introduced in 7.10

CURLVERSION_SECOND

Introduced in 7.11.1

CURLVERSION_THIRD

Introduced in 7.12.0

CURL_CHUNK_BGN_FUNC_FAIL

Introduced in 7.21.0

CURL_CHUNK_BGN_FUNC_OK

Introduced in 7.21.0

CURL_CHUNK_BGN_FUNC_SKIP

Introduced in 7.21.0

CURL_CHUNK_END_FUNC_FAIL

Introduced in 7.21.0

CURL_CHUNK_END_FUNC_OK

Introduced in 7.21.0

CURL_CSELECT_ERR

Introduced in 7.16.3

CURL_CSELECT_IN

Introduced in 7.16.3

CURL_CSELECT_OUT

Introduced in 7.16.3

CURL_EASY_NONE

Introduced in 7.14.0

CURL_EASY_TIMEOUT

Introduced in 7.14.0

CURL_ERROR_SIZE

Introduced in 7.1

CURL_FNMATCHFUNC_FAIL

Introduced in 7.21.0

CURL_FNMATCHFUNC_MATCH

Introduced in 7.21.0

CURL_FNMATCHFUNC_NOMATCH

Introduced in 7.21.0

CURL_FORMADD_DISABLED

Introduced in 7.12.1

CURL_FORMADD_ILLEGAL_ARRAY

Introduced in 7.9.8

CURL_FORMADD_INCOMPLETE

Introduced in 7.9.8

CURL_FORMADD_MEMORY

Introduced in 7.9.8

CURL_FORMADD_NULL

Introduced in 7.9.8

CURL_FORMADD_OK

Introduced in 7.9.8

CURL_FORMADD_OPTION_TWICE

Introduced in 7.9.8

CURL_FORMADD_UNKNOWN_OPTION

Introduced in 7.9.8

CURL_GLOBAL_ACK_EINTR

Introduced in 7.30.0

CURL_GLOBAL_ALL

Introduced in 7.8

CURL_GLOBAL_DEFAULT

Introduced in 7.8

CURL_GLOBAL_NOTHING

Introduced in 7.8

CURL_GLOBAL_SSL

Introduced in 7.8

CURL_GLOBAL_WIN32

Introduced in 7.8.1

CURL_HTTPPOST_BUFFER

Introduced in 7.46.0

CURL_HTTPPOST_CALLBACK

Introduced in 7.46.0

CURL_HTTPPOST_FILENAME

Introduced in 7.46.0

CURL_HTTPPOST_LARGE

Introduced in 7.46.0

CURL_HTTPPOST_PTRBUFFER

Introduced in 7.46.0

CURL_HTTPPOST_PTRCONTENTS

Introduced in 7.46.0

CURL_HTTPPOST_PTRNAME

Introduced in 7.46.0

CURL_HTTPPOST_READFILE

Introduced in 7.46.0

CURL_HTTP_VERSION_1_0

Introduced in 7.9.1

CURL_HTTP_VERSION_1_1

Introduced in 7.9.1

CURL_HTTP_VERSION_2

Introduced in 7.43.0

CURL_HTTP_VERSION_2_0

Introduced in 7.33.0

CURL_HTTP_VERSION_2TLS

Introduced in 7.47.0

CURL_HTTP_VERSION_NONE

Introduced in 7.9.1

CURL_IPRESOLVE_V4

Introduced in 7.10.8

CURL_IPRESOLVE_V6

Introduced in 7.10.8

CURL_IPRESOLVE_WHATEVER

Introduced in 7.10.8

CURL_LOCK_ACCESS_NONE

Introduced in 7.10.3

CURL_LOCK_ACCESS_SHARED

Introduced in 7.10.3

CURL_LOCK_ACCESS_SINGLE

Introduced in 7.10.3

CURL_LOCK_DATA_CONNECT

Introduced in 7.10.3

CURL_LOCK_DATA_COOKIE

Introduced in 7.10.3

CURL_LOCK_DATA_DNS

Introduced in 7.10.3

CURL_LOCK_DATA_NONE

Introduced in 7.10.3

CURL_LOCK_DATA_SHARE

Introduced in 7.10.4

CURL_LOCK_DATA_SSL_SESSION

Introduced in 7.10.3

CURL_LOCK_TYPE_CONNECT

Introduced in 7.10

CURL_LOCK_TYPE_COOKIE

Introduced in 7.10

CURL_LOCK_TYPE_DNS

Introduced in 7.10

CURL_LOCK_TYPE_NONE

Introduced in 7.10

CURL_LOCK_TYPE_SSL_SESSION

Introduced in 7.10

CURL_MAX_HTTP_HEADER

Introduced in 7.19.7

CURL_MAX_WRITE_SIZE

Introduced in 7.9.7

CURL_NETRC_IGNORED

Introduced in 7.9.8

CURL_NETRC_OPTIONAL

Introduced in 7.9.8

CURL_NETRC_REQUIRED

Introduced in 7.9.8

CURL_POLL_IN

Introduced in 7.14.0

CURL_POLL_INOUT

Introduced in 7.14.0

CURL_POLL_NONE

Introduced in 7.14.0

CURL_POLL_OUT

Introduced in 7.14.0

CURL_POLL_REMOVE

Introduced in 7.14.0

CURL_PROGRESS_BAR

Introduced in 7.1.1

CURL_PROGRESS_STATS

Introduced in 7.1.1

CURL_PUSH_DENY

Introduced in 7.44.0

CURL_PUSH_OK

Introduced in 7.44.0

CURL_READFUNC_ABORT

Introduced in 7.12.1

CURL_READFUNC_PAUSE

Introduced in 7.18.0

CURL_REDIR_GET_ALL

Introduced in 7.19.1

CURL_REDIR_POST_301

Introduced in 7.19.1

CURL_REDIR_POST_302

Introduced in 7.19.1

CURL_REDIR_POST_303

Introduced in 7.25.1

CURL_REDIR_POST_ALL

Introduced in 7.19.1

CURL_RTSPREQ_ANNOUNCE

Introduced in 7.20.0

CURL_RTSPREQ_DESCRIBE

Introduced in 7.20.0

CURL_RTSPREQ_GET_PARAMETER

Introduced in 7.20.0

CURL_RTSPREQ_NONE

Introduced in 7.20.0

CURL_RTSPREQ_OPTIONS

Introduced in 7.20.0

CURL_RTSPREQ_PAUSE

Introduced in 7.20.0

CURL_RTSPREQ_PLAY

Introduced in 7.20.0

CURL_RTSPREQ_RECEIVE

Introduced in 7.20.0

CURL_RTSPREQ_RECORD

Introduced in 7.20.0

CURL_RTSPREQ_SETUP

Introduced in 7.20.0

CURL_RTSPREQ_SET_PARAMETER

Introduced in 7.20.0

CURL_RTSPREQ_TEARDOWN

Introduced in 7.20.0

CURL_SEEKFUNC_CANTSEEK

Introduced in 7.19.5

CURL_SEEKFUNC_FAIL

Introduced in 7.19.5

CURL_SEEKFUNC_OK

Introduced in 7.19.5

CURL_SOCKET_BAD

Introduced in 7.14.0

CURL_SOCKET_TIMEOUT

Introduced in 7.14.0

CURL_SOCKOPT_ALREADY_CONNECTED

Introduced in 7.21.5

CURL_SOCKOPT_ERROR

Introduced in 7.21.5

CURL_SOCKOPT_OK

Introduced in 7.21.5

CURL_SSLVERSION_DEFAULT

Introduced in 7.9.2

CURL_SSLVERSION_SSL

Introduced in

CURL_SSLVERSION_SSL

Introduced in

CURL_SSLVERSION_TLS

Introduced in

CURL_SSLVERSION_TLS

Introduced in

CURL_SSLVERSION_TLS

Introduced in

CURL_SSLVERSION_TLS

Introduced in

CURL_TIMECOND_IFMODSINCE

Introduced in 7.9.7

CURL_TIMECOND_IFUNMODSINCE

Introduced in 7.9.7

CURL_TIMECOND_LASTMOD

Introduced in 7.9.7

CURL_TIMECOND_NONE

Introduced in 7.9.7

CURL_TLSAUTH_NONE

Introduced in 7.21.4

CURL_TLSAUTH_SRP

Introduced in 7.21.4

CURL_VERSION_ASYNCHDNS

Introduced in 7.10.7

CURL_VERSION_CONV

Introduced in 7.15.4

CURL_VERSION_CURLDEBUG

Introduced in 7.19.6

CURL_VERSION_DEBUG

Introduced in 7.10.6

CURL_VERSION_GSSAPI

Introduced in 7.38.0

CURL_VERSION_GSSNEGOTIATE

Introduced in 7.10.6 Deprecated since 7.38.0

CURL_VERSION_HTTP2

Introduced in 7.33.0

CURL_VERSION_IDN

Introduced in 7.12.0

CURL_VERSION_IPV6

Introduced in 7.10

CURL_VERSION_KERBEROS4

Introduced in 7.10 Deprecated since 7.33.0

CURL_VERSION_KERBEROS5

Introduced in 7.40.0

CURL_VERSION_LARGEFILE

Introduced in 7.11.1

CURL_VERSION_LIBZ

Introduced in 7.10

CURL_VERSION_NTLM

Introduced in 7.10.6

CURL_VERSION_NTLM_WB

Introduced in 7.22.0

CURL_VERSION_PSL

Introduced in 7.47.0

CURL_VERSION_SPNEGO

Introduced in 7.10.8

CURL_VERSION_SSL

Introduced in 7.10

CURL_VERSION_SSPI

Introduced in 7.13.2

CURL_VERSION_TLSAUTH_SRP

Introduced in 7.21.4

CURL_VERSION_UNIX_SOCKETS

Introduced in 7.40.0

CURL_WAIT_POLLIN

Introduced in 7.28.0

CURL_WAIT_POLLOUT

Introduced in 7.28.0

CURL_WAIT_POLLPRI

Introduced in 7.28.0

CURL_WRITEFUNC_PAUSE

Introduced in 7.18.0

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_wait.pdf0000644000175000017500000001152312652070424015765 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµXÛnÛH}×W4°¡«‡Ý¼4‰,pfý bglyg`PdË↠ي",öfÿy«º›7Ùžäe`À6úZuêÔ©jþN\ʈ‹?öoZÎ~¸䩹äiöûŒéIbÿ¤%y¿†¬·3³‡Á‰ˆ=Åd]ΜôÐå¡Pùãq¾þ÷,ð¨ˆâV®³ã!õYgN’«OŽ÷iNŠ|ƒ›æ îÇ4ŽçCR’‚LNúmýÓÌ‹9 sR¿ïX¸”3¸>ëb°ŽÆ¸ðýz>Yx¡Þr}‰‹]\ÇÄž=êÃŽŽq—ú® ÆqÚ5æN¬+\ÄhY}]-©+’‘I{"»¤Ê Ù’ƈÞd‡´S#Á¸ i¤M¹ûõúæãÝònj^¢qþ–WiqÈ$ù;ôþ¢»àrî“õj¶~ûàüx»úÖ°hb4€ó02Èé5ä­™3¶]hã »ëÁiUsH•9Å:퇸›9 ]WxÎWÕ$Û¬}øÍœ€»!‡ªÍŸ*™ 7ø^ßl¨`‡Yïà¬ÊKYÔc ƒoÌÐÛêP¢Oów02ÅŒ¹lÚ?¯î~¼]~\/o® nÌ}ÜŠ1w”EDý `†.õð®ãÌ1ÑÅÐþQH’É6mò½ª›–Zpms"jgžÆ>­+•äÆ{½ä)·\eRÇ> DGç/RDzHOÆ”CÒøv²*ÇÄ ûM±ú`/á>|ŒzB§šæV*Š«¼ºÝ¹¸"2ì^*rÌÁÅMQ§ŸÉ¡RyA’Tås1‹Eè|ÉÕ‰ä-ø¯dªÀ)¤»"¸¬àIê­v²ó¾n,ÕûXð8¦Ah-Â=VÛU»¤%û¤˜©ñ0ï=ÞÇô²P²©5Ö ¨7AÕ}ŽhqÒ`€…8)(ó\׊ԃs‘Ï=_ÐùÎVi? ö¨ ‹:‚Ä"0àÛã'hvBö²Êòê ¹FÅ&άiwu³:™œ¯û¼9éU¸¤:Ç®¦À@vŸ1êû½\9¬ –F{a‹hÔk±s¡zphtï¿<ìÌÓ6~HÃú¼j•L2¢jR&ŸG—1áS¯ƒ_¶o]y.ëˆÛÈŽ$…ÜIÒш‚¹¼‹Æ Yˆâå´Í îvó@ÁºJ6ʼn|î5Jîî¸vášPP‘ò"4I±Æ¤…¬Æ%û}‘§À# u™œ4çH’e9Žt•HW3ŽÆy—?"Ôùc%ÑÈ%øÖ’ã.Ow$7ۼ̋0¬Ï´‰ Ÿ¼ ªÌ'‡÷õ,8ÀgdÂ^üd¬ ±×'¸Í,C<Ê ºÓ‚Ö[‹A„¸N „Ip+\mR¬ ¤¦Ð0ÚØpSÖ•ûB"Z$ßj¹îýPƒ%Ó’~VÝ8–ÛИª®×÷«œ¥zÚíëý¡Hаc®vÚ.U+¹Ž‚þœës]i÷Áu*b>è¢p}m¸ ’ÎOÙ*$‚œ‰ÍzÃ^Õ’JÁUHâtЬwè±)MCS¯75Xm[AÆæ‚"%8›h|Q¼çmÈxþ©MMõès¦ÓÒú!CŸ> XlÂ.§ùµ÷%¢a4’>Õôu]u«B#aƒ‚Uf×e˜K¡45e ‘´}6KXöŸÅS¤ó#æÂú:Úc…J çL7"gëíœ&Ý·RLz²µ5È£\£á‰€òÄpîê „n{¨R$²-8ؽž…@3²‘:ݲ”Y´„‚Z?M–@Á¹UšÑ±XCe•Ö yO2³©7‘T r+ (²¦;>îd ª/4š?˜gžQî÷%ÉãžÑ£Tg5¤lmÛ œHgPBü8ìTø˜ ÒáS?ÄHË¡-/®øÓ]iñ ß™ž7é¡üÒsGbK‡ [—%8 Þ²4© ÒîƒÌ~ÍËCyÎú­ÙH±ÖÛ×zäûVÓ¬ƒHÿGß0jrõªÚž^ÿ¤zödïFݬ£K!ùͨ !uâw†L Ï" µ9²™jއÆv:ÿ‡úPnݸ§¨ó_=là^ÿš3†­•ï\.×oV«åµIŽpÐE|ByÞCîü/yÂè…O@"Œž^ÛŒNíÖ™øM»´XæÐaµµ”ÖØ÷…[w‡"Ó¯*,B &…ìtÍÜÆà%èH¤=`‘¦á õ31€œBwÌ&%´o=œD%V°©‰{™ÊiÏ à²¨oo^µÈö±!d[Ç­_ÒÇÛåY˜@ÚÝ?‹ôYðvý‹Åù ÚåO;Èô¼nð­ðRظ'hÅkWã[^û7 ŸÍZN”»]TÌ VŒ âe áw`{s¿~†m²?Á–Sòø/W¿~Dü¸GU>OFƒo*zuèp%l‰ * VKe9—>g#ÑÚ}¦Üj›PÓ1 úéóÔèòXÁ‡ãöj}{M~™3Š~ÈœËÕýÕYŸ1Vóás†:íåy’•l wê„IIì{X¨€²i SÀ”ÜIùìAÂû/èBbO[À¦¹U,Žh :]jÍ ?€EÏ¿6á×Oam4/!ç'x„ë$f¹º|¿\-׿N«è”öóÎcÚIŒvýZ1_:Tà½Q÷›õôîêŠ\®în† ½þÝÚACŽÑ7wø"§º˜÷„áð”¶ÇhqÛ.ÔMyF€(ЭiÉ]l×PA£Iܬ¿ó „ÐÀó:„ƒXé£ý°{•2<èj=û~þÁš¬ûendstream endobj 6 0 obj 2133 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:12+01:00 2016-01-27T08:26:12+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002457 00000 n 0000004340 00000 n 0000002398 00000 n 0000002238 00000 n 0000000015 00000 n 0000002218 00000 n 0000002522 00000 n 0000002776 00000 n 0000002711 00000 n 0000002643 00000 n 0000002563 00000 n 0000002593 00000 n 0000002858 00000 n 0000002917 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<8A3BC786DBEF23AAD978895945954FFA><8A3BC786DBEF23AAD978895945954FFA>] >> startxref 4494 %%EOF curl-7.47.0/docs/libcurl/curl_easy_escape.pdf0000644000175000017500000001007512652070422016067 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VmÚFþί]aGx³»~o›J$¥GRŽ‹š†*rlslë‹mzMªöôGwvý\#$ÀžÝ™gÞž™O@ ª>õo|=[ùpWŒ(Ü>˜BýàÅêÅz;ªî0ð9ø¡M‚Ö‡ã”pü÷0zgÄÇ|ÿ>ŠÏïÓ"ŽîÓaoLØ‹J`ZÜ¥„R߸Žä1ÚÃÅÓæïëŸGªd¨3Fã!'¡«ìÛ¬#c95Lj¥Ì%nh#¦u22®gæúc-âr¨ãJLÂ3€`Áíj©Œ³$- Ü¥p'”DÀÜÊ„O|¯6ñGªdœhIHxN-’…U¨±QR Ê\È» YÏ‹3‡8¢óH Ïݼ]¾z}3¿éŽÖ.×ßïI ß+/ž©/²ûArt\â]”ÃÓó¨ÂKåãS Ú³£M.NPq…Q§§ó¬3è<†õ±IÜúÇîœÏdQBe¾‚ßšq|âz´±S´Á8³Ä]ØmÐ&¢µ„á(m²<1€ÁvÊjñ>•wånB®54'6æwçɰ¹C<ÞKƳ›—«ùëõüÕrXT]>(–E ‹j½l2.E&!Îä €|F¼À DÏë'//–Ÿíá©“Û6áž¡E¿©ã5·äýñ4j|p èÕhÛ=˜yìÚ¸êkWË ¢^Ç$P]…H&§å1—Ê‹¨„¨Àƒr—Sôªi¥‡¨CëûM÷Y•i¢£àà Û»3EŠi*»¦û=å .¿(.Ó¼A§ 3üµ¾L`jý6j…[cü"¦TÄÏPOïÇå0þg¬/©Ö$Tç Å ½¯gãÂ,Š®t”t&Wƒ”Z6 Itý˜FZ¹šª¬6Æ“åv)"Ä?BÅ·|0QSȽÀȬD܉v©©Â¸Žñg”¤±8 ÑÊãáCšoLRùÕ±o ýùö¤:BLm3Õï© ë)·#’"-•ãA~IólcNNzŠ.Ú¼ÌûýKxcàX 3c¾ÇÛ0ªQÄ…²fTQïÿUõ€eó¿X¸VÒXˆ/)Ñ©b8«LH_m Þf=êÂc5]9#öŽoŽÅHÃÛ\¬gæ67±Ó1)¡‘öæ`'§ã6WتۺÄÊð9;ŽM'¬ò…’d2…Qî@”uòqƒàl²b)ú„öÐR¡[~ú¦­o8S=·óÅôÅ|1_¿`;hd0y§‰¢ !ÁÇ6 NÍ÷û(®çn¶OÎ……è Šæ±zñx 4\L.Œ]H}¦g¬fëÛÕÞ˜ÌÆÆñ˜1]ÜÎt¬ÚuNþÆô¾O_>ëò™ ‰$š)U7>„TœÖä Éfy»X€Øb^`k2jDbŸ&¤Nz0&^kïfÓì×éõëÅì±¹dTÓ^Å ž÷v,!E¹iÆŸ:ŠƒØnt`±«þÂõÀmuT³C1ëó ›šz3«$*#åêéÐã”›1¯&ÀÜ®D8*Y‹A«hxx¢Ãwq,Q~5«æÐ·ð¤Øl$ªknh•Ms©žêcŒj«éomúäùd;ðúkÚlÓÅÍ«G×´.VGYEë„Ú½:5눪åÉP™ZºÚ©#æc_ÛÄ 7ØާvÇúªFcõÓ˳MÙmØ¡yu6lУªr«^âëöíñ §.²Íuz¹/TÆö€€VÎíy¸¹ÃÔ«Ùzô ~þ…2nendstream endobj 6 0 obj 1336 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:10+01:00 2016-01-27T08:26:10+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001660 00000 n 0000003550 00000 n 0000001601 00000 n 0000001441 00000 n 0000000015 00000 n 0000001421 00000 n 0000001725 00000 n 0000001979 00000 n 0000001914 00000 n 0000001846 00000 n 0000001766 00000 n 0000001796 00000 n 0000002061 00000 n 0000002127 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3704 %%EOF curl-7.47.0/docs/libcurl/index.html0000644000175000017500000000677412626067776014121 00000000000000 Index to libcurl documentation

Index to libcurl documentation

Programs

curl and tools

Overviews

libcurl
libcurl-easy
libcurl-multi
libcurl-share
libcurl-errors
libcurl-tutorial
libcurl-thread

Library Functions (A-Z)

curl_easy_cleanup
curl_easy_duphandle
curl_easy_escape
curl_easy_getinfo
curl_easy_init
curl_easy_pause
curl_easy_perform
curl_easy_recv
curl_easy_reset
curl_easy_send
curl_easy_setopt
curl_easy_strerror
curl_easy_unescape
curl_escape (deprecated)
curl_formadd
curl_formfree
curl_formget
curl_free
curl_getdate
curl_getenv (deprecated)
curl_global_cleanup
curl_global_init
curl_global_init_mem
curl_mprintf (deprecated)
curl_multi_add_handle
curl_multi_assign
curl_multi_cleanup
curl_multi_fdset
curl_multi_info_read
curl_multi_init
curl_multi_perform
curl_multi_remove_handle
curl_multi_setopt
curl_multi_socket (deprecated)
curl_multi_socket_action
curl_multi_strerror
curl_multi_timeout (deprecated)
curl_share_cleanup
curl_share_init
curl_share_setopt
curl_share_strerror
curl_slist_append
curl_slist_free_all
curl_strequal and curl_strnequal
curl_unescape (deprecated)
curl_version
curl_version_info curl-7.47.0/docs/libcurl/curl_easy_recv.30000644000175000017500000000641412626067776015204 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH curl_easy_recv 3 "29 April 2008" "libcurl 7.18.2" "libcurl Manual" .SH NAME curl_easy_recv - receives raw data on an "easy" connection .SH SYNOPSIS .B #include .sp .BI "CURLcode curl_easy_recv( CURL *" curl ", void *" buffer "," .BI "size_t " buflen ", size_t *" n ");" .ad .SH DESCRIPTION This function receives raw data from the established connection. You may use it together with \fIcurl_easy_send(3)\fP to implement custom protocols using libcurl. This functionality can be particularly useful if you use proxies and/or SSL encryption: libcurl will take care of proxy negotiation and connection set-up. \fBbuffer\fP is a pointer to your buffer that will get the received data. \fBbuflen\fP is the maximum amount of data you can get in that buffer. The variable \fBn\fP points to will receive the number of received bytes. To establish the connection, set \fBCURLOPT_CONNECT_ONLY(3)\fP option before calling \fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform(3)\fP. Note that \fIcurl_easy_recv(3)\fP does not work on connections that were created without this option. You must ensure that the socket has data to read before calling \fIcurl_easy_recv(3)\fP, otherwise the call will return \fBCURLE_AGAIN\fP - the socket is used in non-blocking mode internally. Use \fIcurl_easy_getinfo(3)\fP with \fBCURLINFO_ACTIVESOCKET(3)\fP to obtain the socket; use your operating system facilities like \fIselect(2)\fP to check if it has any data you can read. .SH AVAILABILITY Added in 7.18.2. .SH RETURN VALUE On success, returns \fBCURLE_OK\fP, stores the received data into \fBbuffer\fP, and the number of bytes it actually read into \fB*n\fP. On failure, returns the appropriate error code. If there is no data to read, the function returns \fBCURLE_AGAIN\fP. Use your operating system facilities to wait until the data is ready, and retry. Reading exactly 0 bytes would indicate a closed connection. If there's no socket available to use from the previous transfer, this function returns CURLE_UNSUPPORTED_PROTOCOL. .SH EXAMPLE See \fBsendrecv.c\fP in \fBdocs/examples\fP directory for usage example. .SH "SEE ALSO" .BR curl_easy_setopt "(3), " curl_easy_perform "(3), " .BR curl_easy_getinfo "(3), " .BR curl_easy_send "(3) " curl-7.47.0/docs/libcurl/curl_global_init_mem.html0000644000175000017500000000702212652070414017121 00000000000000 curl_global_init_mem man page

NAME

curl_global_init_mem - Global libcurl initialisation with memory callbacks

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_global_init_mem(long  flags, 
 curl_malloc_callback m, 
 curl_free_callback f, 
 curl_realloc_callback r, 
 curl_strdup_callback s, 
 curl_calloc_callback c ); 

DESCRIPTION

This function works exactly as curl_global_init with one addition: it allows the application to set callbacks to replace the otherwise used internal memory functions.

If you are using libcurl from multiple threads or libcurl was built with the threaded resolver option then the callback functions must be thread safe. The threaded resolver is a common build option to enable (and in some cases the default) so we strongly urge you to make your callback functions thread safe.

All callback arguments must be set to valid function pointers. The prototypes for the given callbacks must match these:

void *malloc_callback(size_t size);

To replace malloc()

void free_callback(void *ptr);

To replace free()

void *realloc_callback(void *ptr, size_t size);

To replace realloc()

char *strdup_callback(const char *str);

To replace strdup()

void *calloc_callback(size_t nmemb, size_t size);

To replace calloc()

This function is otherwise the same as curl_global_init, please refer to that man page for documentation.

CAUTION

Manipulating these gives considerable powers to the application to severely screw things up for libcurl. Take care!

SEE ALSO

curl_global_init, curl_global_cleanup

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_perform.html0000644000175000017500000001416112652070414016666 00000000000000 curl_multi_perform man page

NAME

curl_multi_perform - reads/writes available data from each easy handle

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles);

DESCRIPTION

This function handles transfers on all the added handles that need attention in an non-blocking fashion.

When an application has found out there's data available for the multi_handle or a timeout has elapsed, the application should call this function to read/write whatever there is to read or write right now etc. curl_multi_perform returns as soon as the reads/writes are done. This function does not require that there actually is any data available for reading or that data can be written, it can be called just in case. It will write the number of handles that still transfer data in the second argument's integer-pointer.

If the amount of running_handles is changed from the previous call (or is less than the amount of easy handles you've added to the multi handle), you know that there is one or more transfers less "running". You can then call curl_multi_info_read to get information about each individual completed transfer, and that returned info includes CURLcode and more. If an added handle fails very quickly, it may never be counted as a running_handle.

When running_handles is set to zero (0) on the return of this function, there is no longer any transfers in progress.

EXAMPLE

#ifdef _WIN32
#define SHORT_SLEEP Sleep(100)
#else
#define SHORT_SLEEP usleep(100000)
#endif
 
fd_set fdread;
fd_set fdwrite;
fd_set fdexcep;
int maxfd = -1;
 
long curl_timeo;
 
curl_multi_timeout(multi_handle, &curl_timeo);
if(curl_timeo < 0)
  curl_timeo = 1000;
 
timeout.tv_sec = curl_timeo / 1000;
timeout.tv_usec = (curl_timeo % 1000) * 1000;
 
FD_ZERO(&fdread);
FD_ZERO(&fdwrite);
FD_ZERO(&fdexcep);
 
/* get file descriptors from the transfers */
mc = curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
 
if(maxfd == -1) {
  SHORT_SLEEP;
  rc = 0;
}
else
  rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout);
 
switch(rc) {
case -1:
  /* select error */
  break;
case 0:
default:
  /* timeout or readable/writable sockets */
  curl_multi_perform(multi_handle, &still_running);
  break;
}
 
/* if there are still transfers, loop! */

RETURN VALUE

CURLMcode type, general libcurl multi interface error code.

Before version 7.20.0: If you receive CURLM_CALL_MULTI_PERFORM, this basically means that you should call curl_multi_perform again, before you select() on more actions. You don't have to do it immediately, but the return code means that libcurl may have more data available to return or that there may be more data to send off before it is "satisfied". Do note that curl_multi_perform will return CURLM_CALL_MULTI_PERFORM only when it wants to be called again immediately. When things are fine and there is nothing immediate it wants done, it'll return CURLM_OK and you need to wait for "action" and then call this function again.

This function only returns errors etc regarding the whole multi stack. Problems still might have occurred on individual transfers even when this function returns CURLM_OK. Use curl_multi_info_read to figure out how individual transfers did.

TYPICAL USAGE

Most applications will use curl_multi_fdset to get the multi_handle's file descriptors, and curl_multi_timeout to get a suitable timeout period, then it'll wait for action on the file descriptors using select(3). As soon as one or more file descriptor is ready, curl_multi_perform gets called.

SEE ALSO

curl_multi_cleanup, curl_multi_init, curl_multi_wait, curl_multi_fdset, curl_multi_info_read, libcurl-errors

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_fdset.pdf0000644000175000017500000001255012652070420016123 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­YínÛÈý¯§ ?B-¬Yrø9hÑ"M¼X/’8µ•nw" ¨±ÄDjIÊŠú yèž;$%;è)ŒÈ2g8sï¹çÞ{fò;óyÀ|ú±¿‹íäû›”­Ú‰ÏV“ß'döW±eŸcBFæ÷óNÀRÁRòL²ùvˆˆ1›&w^±o6¶ûMW~¸_¶ª{ï…ï§lS.h`:±Ï}?õ^çÕ>ß°'gOÿ=ÿi2ó¹°zÍ%6ç2¦ýÄÍ_M¼7ϧÏ`/Fƒ˜Ç2„MóåÄ{}9ÿ6²Vø<òS6  ûO[ÈfLMƒˆK)RïS×äEײÏÅ–ª-šr×Õ +«ûºÙæ]YW쾩·,gz¶Î«åFi‹OìœÁÐYðLÛuû˛뷷W·§Öé)Ú2ïOeUlöKÅþBÖ}O|ýWš."íð‹w7¯^5f<†L±ïÌ3cÐàIR÷Ü/?«ß5*_~0\Ðò4üj>4e§úñg“ùwwýؤ¢ŸBŽ{e…ámþ OßOÿŒ×N¡üP[âÐxyyûâæêíüêúÍ—AܢЄk¾.[v¿¯ >ŒˆA $øŠH­JÇ("i1aŠ%"Ë™¥aæ’6,&’‹Lfn°ÚÒ #Z*,ÑììÃÄaÎ{–ã•,TI`¦“7BOoT·oª–•0ÜâŠ-§Wfaq? b©“ (–ïv›²0~yÅö­bÝZÑg56ªiuuÁ:²¼΀X&ÆÞŽ-k÷~~½¼¡Ù!÷iü÷yDÖpïºü×SÜÀZm± !óͦ¬V°f¨¼5± |Ü™ÀÒQïÝÓ…â”12³cÀS™FÔÕæÈòåÒÀXOQ}d&¤w¨FDh/0Ê–µj«g:ü´Iž†¯ûÏà!m—ºÕÔ |ªrs(s£¶µŽ“ãêŸHƒÀQÂwö= ZÓ™N–8ðª#L$ô ^†ç>y´IË}ŽZ(©Ч`Û©†¸þp°,Œ]è QûÀ´ëz¿Y (pj‰H±¶Öy«ï‰W[†`R±8OJ7 P¨LtªÒh˜½œy]͇ªÚ Ãà+½(*À SSÕ{)~¡ï˜Õ¨> )—‰$v /\§¾FÈ´ Êܤ†FQùFI¼Úo*ªêõ Úo6lW£j©Ær_Ć‚Ǿîλ(§¡/x$C¯Û ! $‚Qf‘¯p‘Ök ,$g½ø ù¨¡<î”ËônãYÅ\hwª(gDPêŸ5ªÏª%ÔÎ*\kR¬Uñq*Aý8Œ=Ä\ÀsÊÄ>nô…Ë9jæi(N#à;¼q8…:É_~ÔÀ—Ì ¨‘EÙj'H!y u†Iή¯Øà -Âàɹø_èZ¬„_@WåàÂðÓÅc¢§Q_BÕ§žèO2ßw.ž?L¸HÄ·/ÃÐñÜNÀ§,‚s𥈳ÿú~ÆEüm諦ÁgQWË’ YËv _«•‹@({‚Wõ£…st*²rqtmúâ4‚8Cirø5sÁðÏûPš–~(2¬êò²‚ƒì°VÕY/´ ÏÙußLЛèE N€O}¤ïû21K»U ¨u¹B·ïÆR§ÚoªqîwœýL»»'®ÐÀª²:k,!ä˜Ñ#wC%–·½Š–`·ÌÆe1J(1½Î(+zÇduÊÓ¤íbh­€.z줭EªÈIÇŒtÓ,L¡³† a¦bBv£óSOGÇÚ*€¬eGNœG—×O!È–Ô5º·‰š ®Ôm[.@¢×±Þ7'* TÜÖUIHÊn„jkËÊ J

H,7¼‹z»Û¨)´o ­A)rö |‘$R<fŒR˜H•Íx‰‘DÍ[õÀFò42’ò°.¡ƒä㮩 Zˆà!qÆ<¨Kîšì–3qßqï¼¼Ò‡ ÂñÐW‰Ü "§ulˆþn·á?Zåf½ ‚ t4üÀ6ä ò¨Ë_I{®€|™@c?Ÿl<‹ÉÛ–£ÂEè¬LnP/¨ê¡†ul£ò¶#…/¬Ûô„ù6?²à¬ìh}°Æ$”ÍpÈe‹äò.oº²Øoò“ºŠ7?#tàû¾ìrʼäå›}ßíRßè:]n–õ)³.´EVg"¿Ïë¬à}O…¿+· †>~èò0r‘H}£·ÈÊcÈ»umj— AD Ô9bóhTšÊ>ýÇÁtl§Z`ò‡³Ä^s¶)r@ŸD÷|;¡²ìÏ 3a¯M<õÀ”­¾Â0*ÇÐ;¯¢š‹¦…Þ}Õ­óÑÁ"†Q¡»ý´œDeéIn éCÙÙb¡»–>jS=LÍî!ôc›@Ò%rXÎô¨O»²A=¦Ã57𣍠]À;Ð8IvFmÓ IŸT¹nWMIk|vçV›j央IæÕÍGÚ{fÓΜêÒ.µ›.»qÉ#$Ñ3>ê}%G¶^ÏD¨#2#IOdzˆî·Œ¤ŽF¦ úäa,ÝY.Ê2ãaÚ/GZ€ï Wœ¾AÂMQ`dFÞJc¶p FFýaa” 2Ø‹Œ–ÅVCÝÖCImz{}{õ/ÖÛNmžÊiSZù±Ú¢þà,‘q2XòÃË·—óÛ«_//L_p^h­Ó5ZýRP´™ˆõ÷±}ûtØ ã¾ÓýwÔ´õy\7~‚€ÚB „µ½ï6ÿØ»!ŒµhSÃ%ÇqìÆè¬…N6¾jò­éK™îÙ®æs˜³âÄïå¡7?œÜ˜õçz›ñ®ÂR*–:aðÜvŒC¨µ“§qdœâœ?qÓš`›DÊá‚ñλ¹œ¿»yÃþ9 ˆĦ÷üÕ»KûêãËÆ»Ñí*h.ØJUªAEr¼7w½ºPÝ÷u(/T&Y‚F·J÷ F4œ³ìj3¼4b#à+Cípù}ê ’V]'_^²ç¯n¯M›”¯“G=©€b¨ö»³‹5œö†é}/Γù~þ —V+âendstream endobj 6 0 obj 2669 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:08+01:00 2016-01-27T08:26:08+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002993 00000 n 0000004873 00000 n 0000002934 00000 n 0000002774 00000 n 0000000015 00000 n 0000002754 00000 n 0000003058 00000 n 0000003312 00000 n 0000003247 00000 n 0000003179 00000 n 0000003099 00000 n 0000003129 00000 n 0000003394 00000 n 0000003450 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 5027 %%EOF curl-7.47.0/docs/libcurl/curl_easy_setopt.html0000644000175000017500000014724512652070414016353 00000000000000 curl_easy_setopt man page

NAME

curl_easy_setopt - set options for a curl easy handle

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);

DESCRIPTION

curl_easy_setopt is used to tell libcurl how to behave. By setting the appropriate options, the application can change libcurl's behavior. All options are set with an option followed by a parameter. That parameter can be a long, a function pointer, an object pointer or a curl_off_t, depending on what the specific option expects. Read this manual carefully as bad input values may cause libcurl to behave badly! You can only set one option in each function call. A typical application uses many curl_easy_setopt calls in the setup phase.

Options set with this function call are valid for all forthcoming transfers performed using this handle. The options are not in any way reset between transfers, so if you want subsequent transfers with different options, you must change them between the transfers. You can optionally reset all options back to internal default with curl_easy_reset.

Strings passed to libcurl as 'char *' arguments, are copied by the library; thus the string storage associated to the pointer argument may be overwritten after curl_easy_setopt returns. The only exception to this rule is really CURLOPT_POSTFIELDS(3), but the alternative that copies the string CURLOPT_COPYPOSTFIELDS(3) has some usage characteristics you need to read up on.

The order in which the options are set does not matter.

Before version 7.17.0, strings were not copied. Instead the user was forced keep them available until libcurl no longer needed them.

The handle is the return code from a curl_easy_init or curl_easy_duphandle call.

BEHAVIOR OPTIONS

CURLOPT_VERBOSE

Display verbose information. See CURLOPT_VERBOSE(3)

CURLOPT_HEADER

Include the header in the body output. See CURLOPT_HEADER(3)

CURLOPT_NOPROGRESS

Shut off the progress meter. See CURLOPT_NOPROGRESS(3)

CURLOPT_NOSIGNAL

Do not install signal handlers. See CURLOPT_NOSIGNAL(3)

CURLOPT_WILDCARDMATCH

Transfer multiple files according to a file name pattern. See CURLOPT_WILDCARDMATCH(3)

CALLBACK OPTIONS

CURLOPT_WRITEFUNCTION

Callback for writing data. See CURLOPT_WRITEFUNCTION(3)

CURLOPT_WRITEDATA

Data pointer to pass to the write callback. See CURLOPT_WRITEDATA(3)

CURLOPT_READFUNCTION

Callback for reading data. See CURLOPT_READFUNCTION(3)

CURLOPT_READDATA

Data pointer to pass to the read callback. See CURLOPT_READDATA(3)

CURLOPT_IOCTLFUNCTION

Callback for I/O operations. See CURLOPT_IOCTLFUNCTION(3)

CURLOPT_IOCTLDATA

Data pointer to pass to the I/O callback. See CURLOPT_IOCTLDATA(3)

CURLOPT_SEEKFUNCTION

Callback for seek operations. See CURLOPT_SEEKFUNCTION(3)

CURLOPT_SEEKDATA

Data pointer to pass to the seek callback. See CURLOPT_SEEKDATA(3)

CURLOPT_SOCKOPTFUNCTION

Callback for sockopt operations. See CURLOPT_SOCKOPTFUNCTION(3)

CURLOPT_SOCKOPTDATA

Data pointer to pass to the sockopt callback. See CURLOPT_SOCKOPTDATA(3)

CURLOPT_OPENSOCKETFUNCTION

Callback for socket creation. See CURLOPT_OPENSOCKETFUNCTION(3)

CURLOPT_OPENSOCKETDATA

Data pointer to pass to the open socket callback. See CURLOPT_OPENSOCKETDATA(3)

CURLOPT_CLOSESOCKETFUNCTION

Callback for closing socket. See CURLOPT_CLOSESOCKETFUNCTION(3)

CURLOPT_CLOSESOCKETDATA

Data pointer to pass to the close socket callback. See CURLOPT_CLOSESOCKETDATA(3)

CURLOPT_PROGRESSFUNCTION

OBSOLETE callback for progress meter. See CURLOPT_PROGRESSFUNCTION(3)

CURLOPT_PROGRESSDATA

Data pointer to pass to the progress meter callback. See CURLOPT_PROGRESSDATA(3)

CURLOPT_XFERINFOFUNCTION

Callback for progress meter. See CURLOPT_XFERINFOFUNCTION(3)

CURLOPT_XFERINFODATA

Data pointer to pass to the progress meter callback. See CURLOPT_XFERINFODATA(3)

CURLOPT_HEADERFUNCTION

Callback for writing received headers. See CURLOPT_HEADERFUNCTION(3)

CURLOPT_HEADERDATA

Data pointer to pass to the header callback. See CURLOPT_HEADERDATA(3)

CURLOPT_DEBUGFUNCTION

Callback for debug information. See CURLOPT_DEBUGFUNCTION(3)

CURLOPT_DEBUGDATA

Data pointer to pass to the debug callback. See CURLOPT_DEBUGDATA(3)

CURLOPT_SSL_CTX_FUNCTION

Callback for SSL context logic. See CURLOPT_SSL_CTX_FUNCTION(3)

CURLOPT_SSL_CTX_DATA

Data pointer to pass to the SSL context callback. See CURLOPT_SSL_CTX_DATA(3)

CURLOPT_CONV_TO_NETWORK_FUNCTION

Callback for code base conversion. See CURLOPT_CONV_TO_NETWORK_FUNCTION(3)

CURLOPT_CONV_FROM_NETWORK_FUNCTION

Callback for code base conversion. See CURLOPT_CONV_FROM_NETWORK_FUNCTION(3)

CURLOPT_CONV_FROM_UTF8_FUNCTION

Callback for code base conversion. See CURLOPT_CONV_FROM_UTF8_FUNCTION(3)

CURLOPT_INTERLEAVEFUNCTION

Callback for RTSP interleaved data. See CURLOPT_INTERLEAVEFUNCTION(3)

CURLOPT_INTERLEAVEDATA

Data pointer to pass to the RTSP interleave callback. See CURLOPT_INTERLEAVEDATA(3)

CURLOPT_CHUNK_BGN_FUNCTION

Callback for wildcard download start of chunk. See CURLOPT_CHUNK_BGN_FUNCTION(3)

CURLOPT_CHUNK_END_FUNCTION

Callback for wildcard download end of chunk. See CURLOPT_CHUNK_END_FUNCTION(3)

CURLOPT_CHUNK_DATA

Data pointer to pass to the chunk callbacks. See CURLOPT_CHUNK_DATA(3)

CURLOPT_FNMATCH_FUNCTION

Callback for wildcard matching. See CURLOPT_FNMATCH_FUNCTION(3)

CURLOPT_FNMATCH_DATA

Data pointer to pass to the wildcard matching callback. See CURLOPT_FNMATCH_DATA(3)

ERROR OPTIONS

CURLOPT_ERRORBUFFER

Error message buffer. See CURLOPT_ERRORBUFFER(3)

CURLOPT_STDERR

stderr replacement stream. See CURLOPT_STDERR(3)

CURLOPT_FAILONERROR

Fail on HTTP 4xx errors. CURLOPT_FAILONERROR(3)

NETWORK OPTIONS

CURLOPT_URL

URL to work on. See CURLOPT_URL(3)

CURLOPT_PATH_AS_IS

Disable squashing /../ and /./ sequences in the path. See CURLOPT_PATH_AS_IS(3)

CURLOPT_PROTOCOLS

Allowed protocols. See CURLOPT_PROTOCOLS(3)

CURLOPT_REDIR_PROTOCOLS

Protocols to allow redirects to. See CURLOPT_REDIR_PROTOCOLS(3)

CURLOPT_DEFAULT_PROTOCOL

Default protocol. See CURLOPT_DEFAULT_PROTOCOL(3)

CURLOPT_PROXY

Proxy to use. See CURLOPT_PROXY(3)

CURLOPT_PROXYPORT

Proxy port to use. See CURLOPT_PROXYPORT(3)

CURLOPT_PROXYTYPE

Proxy type. See CURLOPT_PROXYTYPE(3)

CURLOPT_NOPROXY

Filter out hosts from proxy use. CURLOPT_NOPROXY(3)

CURLOPT_HTTPPROXYTUNNEL

Tunnel through the HTTP proxy. CURLOPT_HTTPPROXYTUNNEL(3)

CURLOPT_SOCKS5_GSSAPI_SERVICE

Socks5 GSSAPI service name. CURLOPT_SOCKS5_GSSAPI_SERVICE(3)

CURLOPT_SOCKS5_GSSAPI_NEC

Socks5 GSSAPI NEC mode. See CURLOPT_SOCKS5_GSSAPI_NEC(3)

CURLOPT_PROXY_SERVICE_NAME

Proxy service name. CURLOPT_PROXY_SERVICE_NAME(3)

CURLOPT_SERVICE_NAME

SPNEGO service name. CURLOPT_SERVICE_NAME(3)

CURLOPT_INTERFACE

Bind connection locally to this. See CURLOPT_INTERFACE(3)

CURLOPT_LOCALPORT

Bind connection locally to this port. See CURLOPT_LOCALPORT(3)

CURLOPT_LOCALPORTRANGE

Bind connection locally to port range. See CURLOPT_LOCALPORTRANGE(3)

CURLOPT_DNS_CACHE_TIMEOUT

Timeout for DNS cache. See CURLOPT_DNS_CACHE_TIMEOUT(3)

CURLOPT_DNS_USE_GLOBAL_CACHE

OBSOLETE Enable global DNS cache. See CURLOPT_DNS_USE_GLOBAL_CACHE(3)

CURLOPT_BUFFERSIZE

Ask for smaller buffer size. See CURLOPT_BUFFERSIZE(3)

CURLOPT_PORT

Port number to connect to. See CURLOPT_PORT(3)

CURLOPT_TCP_NODELAY

Disable the Nagle algorithm. See CURLOPT_TCP_NODELAY(3)

CURLOPT_ADDRESS_SCOPE

IPv6 scope for local addresses. See CURLOPT_ADDRESS_SCOPE(3)

CURLOPT_TCP_KEEPALIVE

Enable TCP keep-alive. See CURLOPT_TCP_KEEPALIVE(3)

CURLOPT_TCP_KEEPIDLE

Idle time before sending keep-alive. See CURLOPT_TCP_KEEPIDLE(3)

CURLOPT_TCP_KEEPINTVL

Interval between keep-alive probes. See CURLOPT_TCP_KEEPINTVL(3)

CURLOPT_UNIX_SOCKET_PATH

Path to a Unix domain socket. See CURLOPT_UNIX_SOCKET_PATH(3)

NAMES and PASSWORDS OPTIONS (Authentication)

CURLOPT_NETRC

Enable .netrc parsing. See CURLOPT_NETRC(3)

CURLOPT_NETRC_FILE

.netrc file name. See CURLOPT_NETRC_FILE(3)

CURLOPT_USERPWD

User name and password. See CURLOPT_USERPWD(3)

CURLOPT_PROXYUSERPWD

Proxy user name and password. See CURLOPT_PROXYUSERPWD(3)

CURLOPT_USERNAME

User name. See CURLOPT_USERNAME(3)

CURLOPT_PASSWORD

Password. See CURLOPT_PASSWORD(3)

CURLOPT_LOGIN_OPTIONS

Login options. See CURLOPT_LOGIN_OPTIONS(3)

CURLOPT_PROXYUSERNAME

Proxy user name. See CURLOPT_PROXYUSERNAME(3)

CURLOPT_PROXYPASSWORD

Proxy password. See CURLOPT_PROXYPASSWORD(3)

CURLOPT_HTTPAUTH

HTTP server authentication methods. See CURLOPT_HTTPAUTH(3)

CURLOPT_TLSAUTH_USERNAME

TLS authentication user name. See CURLOPT_TLSAUTH_USERNAME(3)

CURLOPT_TLSAUTH_PASSWORD

TLS authentication password. See CURLOPT_TLSAUTH_PASSWORD(3)

CURLOPT_TLSAUTH_TYPE

TLS authentication methods. See CURLOPT_TLSAUTH_TYPE(3)

CURLOPT_PROXYAUTH

HTTP proxy authentication methods. See CURLOPT_PROXYAUTH(3)

CURLOPT_SASL_IR

Enable SASL initial response. See CURLOPT_SASL_IR(3)

CURLOPT_XOAUTH2_BEARER

OAuth2 bearer token. See CURLOPT_XOAUTH2_BEARER(3)

HTTP OPTIONS

CURLOPT_AUTOREFERER

Automatically set Referer: header. See CURLOPT_AUTOREFERER(3)

CURLOPT_ACCEPT_ENCODING

Accept-Encoding and automatic decompressing data. See CURLOPT_ACCEPT_ENCODING(3)

CURLOPT_TRANSFER_ENCODING

Request Transfer-Encoding. See CURLOPT_TRANSFER_ENCODING(3)

CURLOPT_FOLLOWLOCATION

Follow HTTP redirects. See CURLOPT_FOLLOWLOCATION(3)

CURLOPT_UNRESTRICTED_AUTH

Do not restrict authentication to original host. CURLOPT_UNRESTRICTED_AUTH(3)

CURLOPT_MAXREDIRS

Maximum number of redirects to follow. See CURLOPT_MAXREDIRS(3)

CURLOPT_POSTREDIR

How to act on redirects after POST. See CURLOPT_POSTREDIR(3)

CURLOPT_PUT

Issue a HTTP PUT request. See CURLOPT_PUT(3)

CURLOPT_POST

Issue a HTTP POST request. See CURLOPT_POST(3)

CURLOPT_POSTFIELDS

Send a POST with this data. See CURLOPT_POSTFIELDS(3)

CURLOPT_POSTFIELDSIZE

The POST data is this big. See CURLOPT_POSTFIELDSIZE(3)

CURLOPT_POSTFIELDSIZE_LARGE

The POST data is this big. See CURLOPT_POSTFIELDSIZE_LARGE(3)

CURLOPT_COPYPOSTFIELDS

Send a POST with this data - and copy it. See CURLOPT_COPYPOSTFIELDS(3)

CURLOPT_HTTPPOST

Multipart formpost HTTP POST. See CURLOPT_HTTPPOST(3)

CURLOPT_REFERER

Referer: header. See CURLOPT_REFERER(3)

CURLOPT_USERAGENT

User-Agent: header. See CURLOPT_USERAGENT(3)

CURLOPT_HTTPHEADER

Custom HTTP headers. See CURLOPT_HTTPHEADER(3)

CURLOPT_HEADEROPT

Control custom headers. See CURLOPT_HEADEROPT(3)

CURLOPT_PROXYHEADER

Custom HTTP headers sent to proxy. See CURLOPT_PROXYHEADER(3)

CURLOPT_HTTP200ALIASES

Alternative versions of 200 OK. See CURLOPT_HTTP200ALIASES(3)

CURLOPT_COOKIE

Cookie(s) to send. See CURLOPT_COOKIE(3)

CURLOPT_COOKIEFILE

File to read cookies from. See CURLOPT_COOKIEFILE(3)

CURLOPT_COOKIEJAR

File to write cookies to. See CURLOPT_COOKIEJAR(3)

CURLOPT_COOKIESESSION

Start a new cookie session. See CURLOPT_COOKIESESSION(3)

CURLOPT_COOKIELIST

Add or control cookies. See CURLOPT_COOKIELIST(3)

CURLOPT_HTTPGET

Do a HTTP GET request. See CURLOPT_HTTPGET(3)

CURLOPT_HTTP_VERSION

HTTP version to use. CURLOPT_HTTP_VERSION(3)

CURLOPT_IGNORE_CONTENT_LENGTH

Ignore Content-Length. See CURLOPT_IGNORE_CONTENT_LENGTH(3)

CURLOPT_HTTP_CONTENT_DECODING

Disable Content decoding. See CURLOPT_HTTP_CONTENT_DECODING(3)

CURLOPT_HTTP_TRANSFER_DECODING

Disable Transfer decoding. See CURLOPT_HTTP_TRANSFER_DECODING(3)

CURLOPT_EXPECT_100_TIMEOUT_MS

100-continue timeout. See CURLOPT_EXPECT_100_TIMEOUT_MS(3)

CURLOPT_PIPEWAIT

Wait on connection to pipeline on it. See CURLOPT_PIPEWAIT(3)

CURLOPT_STREAM_DEPENDS

This HTTP/2 stream depends on another. See CURLOPT_STREAM_DEPENDS(3)

CURLOPT_STREAM_DEPENDS_E

This HTTP/2 stream depends on another exclusively. See CURLOPT_STREAM_DEPENDS_E(3)

CURLOPT_STREAM_WEIGHT

Set this HTTP/2 stream's weight. See CURLOPT_STREAM_WEIGHT(3)

SMTP OPTIONS

CURLOPT_MAIL_FROM

Address of the sender. See CURLOPT_MAIL_FROM(3)

CURLOPT_MAIL_RCPT

Address of the recipients. See CURLOPT_MAIL_RCPT(3)

CURLOPT_MAIL_AUTH

Authentication address. See CURLOPT_MAIL_AUTH(3)

TFTP OPTIONS

CURLOPT_TFTP_BLKSIZE

TFTP block size. See CURLOPT_TFTP_BLKSIZE(3)

FTP OPTIONS

CURLOPT_FTPPORT

Use active FTP. See CURLOPT_FTPPORT(3)

CURLOPT_QUOTE

Commands to run before transfer. See CURLOPT_QUOTE(3)

CURLOPT_POSTQUOTE

Commands to run after transfer. See CURLOPT_POSTQUOTE(3)

CURLOPT_PREQUOTE

Commands to run just before transfer. See CURLOPT_PREQUOTE(3)

CURLOPT_APPEND

Append to remote file. See CURLOPT_APPEND(3)

CURLOPT_FTP_USE_EPRT

Use EPTR. See CURLOPT_FTP_USE_EPRT(3)

CURLOPT_FTP_USE_EPSV

Use EPSV. See CURLOPT_FTP_USE_EPSV(3)

CURLOPT_FTP_USE_PRET

Use PRET. See CURLOPT_FTP_USE_PRET(3)

CURLOPT_FTP_CREATE_MISSING_DIRS

Create missing directories on the remote server. See CURLOPT_FTP_CREATE_MISSING_DIRS(3)

CURLOPT_FTP_RESPONSE_TIMEOUT

Timeout for FTP responses. See CURLOPT_FTP_RESPONSE_TIMEOUT(3)

CURLOPT_FTP_ALTERNATIVE_TO_USER

Alternative to USER. See CURLOPT_FTP_ALTERNATIVE_TO_USER(3)

CURLOPT_FTP_SKIP_PASV_IP

Ignore the IP address in the PASV response. See CURLOPT_FTP_SKIP_PASV_IP(3)

CURLOPT_FTPSSLAUTH

Control how to do TLS. See CURLOPT_FTPSSLAUTH(3)

CURLOPT_FTP_SSL_CCC

Back to non-TLS again after authentication. See CURLOPT_FTP_SSL_CCC(3)

CURLOPT_FTP_ACCOUNT

Send ACCT command. See CURLOPT_FTP_ACCOUNT(3)

CURLOPT_FTP_FILEMETHOD

Specify how to reach files. See CURLOPT_FTP_FILEMETHOD(3)

RTSP OPTIONS

CURLOPT_RTSP_REQUEST

RTSP request. See CURLOPT_RTSP_REQUEST(3)

CURLOPT_RTSP_SESSION_ID

RTSP session-id. See CURLOPT_RTSP_SESSION_ID(3)

CURLOPT_RTSP_STREAM_URI

RTSP stream URI. See CURLOPT_RTSP_STREAM_URI(3)

CURLOPT_RTSP_TRANSPORT

RTSP Transport: header. See CURLOPT_RTSP_TRANSPORT(3)

CURLOPT_RTSP_CLIENT_CSEQ

Client CSEQ number. See CURLOPT_RTSP_CLIENT_CSEQ(3)

CURLOPT_RTSP_SERVER_CSEQ

CSEQ number for RTSP Server->Client request. See CURLOPT_RTSP_SERVER_CSEQ(3)

PROTOCOL OPTIONS

CURLOPT_TRANSFERTEXT

Use text transfer. See CURLOPT_TRANSFERTEXT(3)

CURLOPT_PROXY_TRANSFER_MODE

Add transfer mode to URL over proxy. See CURLOPT_PROXY_TRANSFER_MODE(3)

CURLOPT_CRLF

Convert newlines. See CURLOPT_CRLF(3)

CURLOPT_RANGE

Range requests. See CURLOPT_RANGE(3)

CURLOPT_RESUME_FROM

Resume a transfer. See CURLOPT_RESUME_FROM(3)

CURLOPT_RESUME_FROM_LARGE

Resume a transfer. See CURLOPT_RESUME_FROM_LARGE(3)

CURLOPT_CUSTOMREQUEST

Custom request/method. See CURLOPT_CUSTOMREQUEST(3)

CURLOPT_FILETIME

Request file modification date and time. See CURLOPT_FILETIME(3)

CURLOPT_DIRLISTONLY

List only. See CURLOPT_DIRLISTONLY(3)

CURLOPT_NOBODY

Do not get the body contents. See CURLOPT_NOBODY(3)

CURLOPT_INFILESIZE

Size of file to send. CURLOPT_INFILESIZE(3)

CURLOPT_INFILESIZE_LARGE

Size of file to send. CURLOPT_INFILESIZE_LARGE(3)

CURLOPT_UPLOAD

Upload data. See CURLOPT_UPLOAD(3)

CURLOPT_MAXFILESIZE

Maximum file size to get. See CURLOPT_MAXFILESIZE(3)

CURLOPT_MAXFILESIZE_LARGE

Maximum file size to get. See CURLOPT_MAXFILESIZE_LARGE(3)

CURLOPT_TIMECONDITION

Make a time conditional request. See CURLOPT_TIMECONDITION(3)

CURLOPT_TIMEVALUE

Time value for the time conditional request. See CURLOPT_TIMEVALUE(3)

CONNECTION OPTIONS

CURLOPT_TIMEOUT

Timeout for the entire request. See CURLOPT_TIMEOUT(3)

CURLOPT_TIMEOUT_MS

Millisecond timeout for the entire request. See CURLOPT_TIMEOUT_MS(3)

CURLOPT_LOW_SPEED_LIMIT

Low speed limit to abort transfer. See CURLOPT_LOW_SPEED_LIMIT(3)

CURLOPT_LOW_SPEED_TIME

Time to be below the speed to trigger low speed abort. See CURLOPT_LOW_SPEED_TIME(3)

CURLOPT_MAX_SEND_SPEED_LARGE

Cap the upload speed to this. See CURLOPT_MAX_SEND_SPEED_LARGE(3)

CURLOPT_MAX_RECV_SPEED_LARGE

Cap the download speed to this. See CURLOPT_MAX_RECV_SPEED_LARGE(3)

CURLOPT_MAXCONNECTS

Maximum number of connections in the connection pool. See CURLOPT_MAXCONNECTS(3)

CURLOPT_FRESH_CONNECT

Use a new connection. CURLOPT_FRESH_CONNECT(3)

CURLOPT_FORBID_REUSE

Prevent subsequent connections from re-using this. See CURLOPT_FORBID_REUSE(3)

CURLOPT_CONNECTTIMEOUT

Timeout for the connection phase. See CURLOPT_CONNECTTIMEOUT(3)

CURLOPT_CONNECTTIMEOUT_MS

Millisecond timeout for the connection phase. See CURLOPT_CONNECTTIMEOUT_MS(3)

CURLOPT_IPRESOLVE

IP version to resolve to. See CURLOPT_IPRESOLVE(3)

CURLOPT_CONNECT_ONLY

Only connect, nothing else. See CURLOPT_CONNECT_ONLY(3)

CURLOPT_USE_SSL

Use TLS/SSL. See CURLOPT_USE_SSL(3)

CURLOPT_RESOLVE

Provide fixed/fake name resolves. See CURLOPT_RESOLVE(3)

CURLOPT_DNS_INTERFACE

Bind name resolves to this interface. See CURLOPT_DNS_INTERFACE(3)

CURLOPT_DNS_LOCAL_IP4

Bind name resolves to this IP4 address. See CURLOPT_DNS_LOCAL_IP4(3)

CURLOPT_DNS_LOCAL_IP6

Bind name resolves to this IP6 address. See CURLOPT_DNS_LOCAL_IP6(3)

CURLOPT_DNS_SERVERS

Preferred DNS servers. See CURLOPT_DNS_SERVERS(3)

CURLOPT_ACCEPTTIMEOUT_MS

Timeout for waiting for the server's connect back to be accepted. See CURLOPT_ACCEPTTIMEOUT_MS(3)

SSL and SECURITY OPTIONS

CURLOPT_SSLCERT

Client cert. See CURLOPT_SSLCERT(3)

CURLOPT_SSLCERTTYPE

Client cert type. See CURLOPT_SSLCERTTYPE(3)

CURLOPT_SSLKEY

Client key. See CURLOPT_SSLKEY(3)

CURLOPT_SSLKEYTYPE

Client key type. See CURLOPT_SSLKEYTYPE(3)

CURLOPT_KEYPASSWD

Client key password. See CURLOPT_KEYPASSWD(3)

CURLOPT_SSL_ENABLE_ALPN

Enable use of ALPN. See CURLOPT_SSL_ENABLE_ALPN(3)

CURLOPT_SSL_ENABLE_NPN

Enable use of NPN. See CURLOPT_SSL_ENABLE_NPN(3)

CURLOPT_SSLENGINE

Use identifier with SSL engine. See CURLOPT_SSLENGINE(3)

CURLOPT_SSLENGINE_DEFAULT

Default SSL engine. See CURLOPT_SSLENGINE_DEFAULT(3)

CURLOPT_SSL_FALSESTART

Enable TLS False Start. See CURLOPT_SSL_FALSESTART(3)

CURLOPT_SSLVERSION

SSL version to use. See CURLOPT_SSLVERSION(3)

CURLOPT_SSL_VERIFYHOST

Verify the host name in the SSL certificate. See CURLOPT_SSL_VERIFYHOST(3)

CURLOPT_SSL_VERIFYPEER

Verify the SSL certificate. See CURLOPT_SSL_VERIFYPEER(3)

CURLOPT_SSL_VERIFYSTATUS

Verify the SSL certificate's status. See CURLOPT_SSL_VERIFYSTATUS(3)

CURLOPT_CAINFO

CA cert bundle. See CURLOPT_CAINFO(3)

CURLOPT_ISSUERCERT

Issuer certificate. See CURLOPT_ISSUERCERT(3)

CURLOPT_CAPATH

Path to CA cert bundle. See CURLOPT_CAPATH(3)

CURLOPT_CRLFILE

Certificate Revocation List. See CURLOPT_CRLFILE(3)

CURLOPT_CERTINFO

Extract certificate info. See CURLOPT_CERTINFO(3)

CURLOPT_PINNEDPUBLICKEY

Set pinned SSL public key . See CURLOPT_PINNEDPUBLICKEY(3)

CURLOPT_RANDOM_FILE

Provide source for entropy random data. See CURLOPT_RANDOM_FILE(3)

CURLOPT_EGDSOCKET

Identify EGD socket for entropy. See CURLOPT_EGDSOCKET(3)

CURLOPT_SSL_CIPHER_LIST

Ciphers to use. See CURLOPT_SSL_CIPHER_LIST(3)

CURLOPT_SSL_SESSIONID_CACHE

Disable SSL session-id cache. See CURLOPT_SSL_SESSIONID_CACHE(3)

CURLOPT_SSL_OPTIONS

Control SSL behavior. See CURLOPT_SSL_OPTIONS(3)

CURLOPT_KRBLEVEL

Kerberos security level. See CURLOPT_KRBLEVEL(3)

CURLOPT_GSSAPI_DELEGATION

Disable GSS-API delegation. See CURLOPT_GSSAPI_DELEGATION(3)

SSH OPTIONS

CURLOPT_SSH_AUTH_TYPES

SSH authentication types. See CURLOPT_SSH_AUTH_TYPES(3)

CURLOPT_SSH_HOST_PUBLIC_KEY_MD5

MD5 of host's public key. See CURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3)

CURLOPT_SSH_PUBLIC_KEYFILE

File name of public key. See CURLOPT_SSH_PUBLIC_KEYFILE(3)

CURLOPT_SSH_PRIVATE_KEYFILE

File name of private key. See CURLOPT_SSH_PRIVATE_KEYFILE(3)

CURLOPT_SSH_KNOWNHOSTS

File name with known hosts. See CURLOPT_SSH_KNOWNHOSTS(3)

CURLOPT_SSH_KEYFUNCTION

Callback for known hosts handling. See CURLOPT_SSH_KEYFUNCTION(3)

CURLOPT_SSH_KEYDATA

Custom pointer to pass to ssh key callback. See CURLOPT_SSH_KEYDATA(3)

OTHER OPTIONS

CURLOPT_PRIVATE

Private pointer to store. See CURLOPT_PRIVATE(3)

CURLOPT_SHARE

Share object to use. See CURLOPT_SHARE(3)

CURLOPT_NEW_FILE_PERMS

Mode for creating new remote files. See CURLOPT_NEW_FILE_PERMS(3)

CURLOPT_NEW_DIRECTORY_PERMS

Mode for creating new remote directories. See CURLOPT_NEW_DIRECTORY_PERMS(3)

TELNET OPTIONS

CURLOPT_TELNETOPTIONS

TELNET options. See CURLOPT_TELNETOPTIONS(3)

RETURN VALUE

CURLE_OK (zero) means that the option was set properly, non-zero means an error occurred as <curl/curl.h> defines. See the libcurl-errors man page for the full list with descriptions.

If you try to set an option that libcurl doesn't know about, perhaps because the library is too old to support it or the option was removed in a recent version, this function will return CURLE_UNKNOWN_OPTION. If support for the option was disabled at compile-time, it will return CURLE_NOT_BUILT_IN.

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  CURLcode res;
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
  res = curl_easy_perform(curl);
  curl_easy_cleanup(curl);
}

SEE ALSO

curl_easy_init, curl_easy_cleanup, curl_easy_reset, curl_easy_getinfo, curl_multi_setopt

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/libcurl-errors.30000644000175000017500000003360512626067776015147 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH libcurl-errors 3 "1 Jan 2010" "libcurl 7.20.0" "libcurl errors" .SH NAME libcurl-errors \- error codes in libcurl .SH DESCRIPTION This man page includes most, if not all, available error codes in libcurl. Why they occur and possibly what you can do to fix the problem are also included. .SH "CURLcode" Almost all "easy" interface functions return a CURLcode error code. No matter what, using the \fIcurl_easy_setopt(3)\fP option \fICURLOPT_ERRORBUFFER(3)\fP is a good idea as it will give you a human readable error string that may offer more details about the cause of the error than just the error code. \fIcurl_easy_strerror(3)\fP can be called to get an error string from a given CURLcode number. CURLcode is one of the following: .IP "CURLE_OK (0)" All fine. Proceed as usual. .IP "CURLE_UNSUPPORTED_PROTOCOL (1)" The URL you passed to libcurl used a protocol that this libcurl does not support. The support might be a compile-time option that you didn't use, it can be a misspelled protocol string or just a protocol libcurl has no code for. .IP "CURLE_FAILED_INIT (2)" Very early initialization code failed. This is likely to be an internal error or problem, or a resource problem where something fundamental couldn't get done at init time. .IP "CURLE_URL_MALFORMAT (3)" The URL was not properly formatted. .IP "CURLE_NOT_BUILT_IN (4)" A requested feature, protocol or option was not found built-in in this libcurl due to a build-time decision. This means that a feature or option was not enabled or explicitly disabled when libcurl was built and in order to get it to function you have to get a rebuilt libcurl. .IP "CURLE_COULDNT_RESOLVE_PROXY (5)" Couldn't resolve proxy. The given proxy host could not be resolved. .IP "CURLE_COULDNT_RESOLVE_HOST (6)" Couldn't resolve host. The given remote host was not resolved. .IP "CURLE_COULDNT_CONNECT (7)" Failed to connect() to host or proxy. .IP "CURLE_FTP_WEIRD_SERVER_REPLY (8)" After connecting to a FTP server, libcurl expects to get a certain reply back. This error code implies that it got a strange or bad reply. The given remote server is probably not an OK FTP server. .IP "CURLE_REMOTE_ACCESS_DENIED (9)" We were denied access to the resource given in the URL. For FTP, this occurs while trying to change to the remote directory. .IP "CURLE_FTP_ACCEPT_FAILED (10)" While waiting for the server to connect back when an active FTP session is used, an error code was sent over the control connection or similar. .IP "CURLE_FTP_WEIRD_PASS_REPLY (11)" After having sent the FTP password to the server, libcurl expects a proper reply. This error code indicates that an unexpected code was returned. .IP "CURLE_FTP_ACCEPT_TIMEOUT (12)" During an active FTP session while waiting for the server to connect, the \fICURLOPT_ACCEPTTIMEOUT_MS(3)\fP (or the internal default) timeout expired. .IP "CURLE_FTP_WEIRD_PASV_REPLY (13)" libcurl failed to get a sensible result back from the server as a response to either a PASV or a EPSV command. The server is flawed. .IP "CURLE_FTP_WEIRD_227_FORMAT (14)" FTP servers return a 227-line as a response to a PASV command. If libcurl fails to parse that line, this return code is passed back. .IP "CURLE_FTP_CANT_GET_HOST (15)" An internal failure to lookup the host used for the new connection. .IP "CURLE_HTTP2 (16)" A problem was detected in the HTTP2 framing layer. This is somewhat generic and can be one out of several problems, see the error buffer for details. .IP "CURLE_FTP_COULDNT_SET_TYPE (17)" Received an error when trying to set the transfer mode to binary or ASCII. .IP "CURLE_PARTIAL_FILE (18)" A file transfer was shorter or larger than expected. This happens when the server first reports an expected transfer size, and then delivers data that doesn't match the previously given size. .IP "CURLE_FTP_COULDNT_RETR_FILE (19)" This was either a weird reply to a 'RETR' command or a zero byte transfer complete. .IP "CURLE_QUOTE_ERROR (21)" When sending custom "QUOTE" commands to the remote server, one of the commands returned an error code that was 400 or higher (for FTP) or otherwise indicated unsuccessful completion of the command. .IP "CURLE_HTTP_RETURNED_ERROR (22)" This is returned if \fICURLOPT_FAILONERROR(3)\fP is set TRUE and the HTTP server returns an error code that is >= 400. .IP "CURLE_WRITE_ERROR (23)" An error occurred when writing received data to a local file, or an error was returned to libcurl from a write callback. .IP "CURLE_UPLOAD_FAILED (25)" Failed starting the upload. For FTP, the server typically denied the STOR command. The error buffer usually contains the server's explanation for this. .IP "CURLE_READ_ERROR (26)" There was a problem reading a local file or an error returned by the read callback. .IP "CURLE_OUT_OF_MEMORY (27)" A memory allocation request failed. This is serious badness and things are severely screwed up if this ever occurs. .IP "CURLE_OPERATION_TIMEDOUT (28)" Operation timeout. The specified time-out period was reached according to the conditions. .IP "CURLE_FTP_PORT_FAILED (30)" The FTP PORT command returned error. This mostly happens when you haven't specified a good enough address for libcurl to use. See \fICURLOPT_FTPPORT(3)\fP. .IP "CURLE_FTP_COULDNT_USE_REST (31)" The FTP REST command returned error. This should never happen if the server is sane. .IP "CURLE_RANGE_ERROR (33)" The server does not support or accept range requests. .IP "CURLE_HTTP_POST_ERROR (34)" This is an odd error that mainly occurs due to internal confusion. .IP "CURLE_SSL_CONNECT_ERROR (35)" A problem occurred somewhere in the SSL/TLS handshake. You really want the error buffer and read the message there as it pinpoints the problem slightly more. Could be certificates (file formats, paths, permissions), passwords, and others. .IP "CURLE_BAD_DOWNLOAD_RESUME (36)" The download could not be resumed because the specified offset was out of the file boundary. .IP "CURLE_FILE_COULDNT_READ_FILE (37)" A file given with FILE:// couldn't be opened. Most likely because the file path doesn't identify an existing file. Did you check file permissions? .IP "CURLE_LDAP_CANNOT_BIND (38)" LDAP cannot bind. LDAP bind operation failed. .IP "CURLE_LDAP_SEARCH_FAILED (39)" LDAP search failed. .IP "CURLE_FUNCTION_NOT_FOUND (41)" Function not found. A required zlib function was not found. .IP "CURLE_ABORTED_BY_CALLBACK (42)" Aborted by callback. A callback returned "abort" to libcurl. .IP "CURLE_BAD_FUNCTION_ARGUMENT (43)" Internal error. A function was called with a bad parameter. .IP "CURLE_INTERFACE_FAILED (45)" Interface error. A specified outgoing interface could not be used. Set which interface to use for outgoing connections' source IP address with \fICURLOPT_INTERFACE(3)\fP. .IP "CURLE_TOO_MANY_REDIRECTS (47)" Too many redirects. When following redirects, libcurl hit the maximum amount. Set your limit with \fICURLOPT_MAXREDIRS(3)\fP. .IP "CURLE_UNKNOWN_OPTION (48)" An option passed to libcurl is not recognized/known. Refer to the appropriate documentation. This is most likely a problem in the program that uses libcurl. The error buffer might contain more specific information about which exact option it concerns. .IP "CURLE_TELNET_OPTION_SYNTAX (49)" A telnet option string was Illegally formatted. .IP "CURLE_PEER_FAILED_VERIFICATION (51)" The remote server's SSL certificate or SSH md5 fingerprint was deemed not OK. .IP "CURLE_GOT_NOTHING (52)" Nothing was returned from the server, and under the circumstances, getting nothing is considered an error. .IP "CURLE_SSL_ENGINE_NOTFOUND (53)" The specified crypto engine wasn't found. .IP "CURLE_SSL_ENGINE_SETFAILED (54)" Failed setting the selected SSL crypto engine as default! .IP "CURLE_SEND_ERROR (55)" Failed sending network data. .IP "CURLE_RECV_ERROR (56)" Failure with receiving network data. .IP "CURLE_SSL_CERTPROBLEM (58)" problem with the local client certificate. .IP "CURLE_SSL_CIPHER (59)" Couldn't use specified cipher. .IP "CURLE_SSL_CACERT (60)" Peer certificate cannot be authenticated with known CA certificates. .IP "CURLE_BAD_CONTENT_ENCODING (61)" Unrecognized transfer encoding. .IP "CURLE_LDAP_INVALID_URL (62)" Invalid LDAP URL. .IP "CURLE_FILESIZE_EXCEEDED (63)" Maximum file size exceeded. .IP "CURLE_USE_SSL_FAILED (64)" Requested FTP SSL level failed. .IP "CURLE_SEND_FAIL_REWIND (65)" When doing a send operation curl had to rewind the data to retransmit, but the rewinding operation failed. .IP "CURLE_SSL_ENGINE_INITFAILED (66)" Initiating the SSL Engine failed. .IP "CURLE_LOGIN_DENIED (67)" The remote server denied curl to login (Added in 7.13.1) .IP "CURLE_TFTP_NOTFOUND (68)" File not found on TFTP server. .IP "CURLE_TFTP_PERM (69)" Permission problem on TFTP server. .IP "CURLE_REMOTE_DISK_FULL (70)" Out of disk space on the server. .IP "CURLE_TFTP_ILLEGAL (71)" Illegal TFTP operation. .IP "CURLE_TFTP_UNKNOWNID (72)" Unknown TFTP transfer ID. .IP "CURLE_REMOTE_FILE_EXISTS (73)" File already exists and will not be overwritten. .IP "CURLE_TFTP_NOSUCHUSER (74)" This error should never be returned by a properly functioning TFTP server. .IP "CURLE_CONV_FAILED (75)" Character conversion failed. .IP "CURLE_CONV_REQD (76)" Caller must register conversion callbacks. .IP "CURLE_SSL_CACERT_BADFILE (77)" Problem with reading the SSL CA cert (path? access rights?) .IP "CURLE_REMOTE_FILE_NOT_FOUND (78)" The resource referenced in the URL does not exist. .IP "CURLE_SSH (79)" An unspecified error occurred during the SSH session. .IP "CURLE_SSL_SHUTDOWN_FAILED (80)" Failed to shut down the SSL connection. .IP "CURLE_AGAIN (81)" Socket is not ready for send/recv wait till it's ready and try again. This return code is only returned from \fIcurl_easy_recv(3)\fP and \fIcurl_easy_send(3)\fP (Added in 7.18.2) .IP "CURLE_SSL_CRL_BADFILE (82)" Failed to load CRL file (Added in 7.19.0) .IP "CURLE_SSL_ISSUER_ERROR (83)" Issuer check failed (Added in 7.19.0) .IP "CURLE_FTP_PRET_FAILED (84)" The FTP server does not understand the PRET command at all or does not support the given argument. Be careful when using \fICURLOPT_CUSTOMREQUEST(3)\fP, a custom LIST command will be sent with PRET CMD before PASV as well. (Added in 7.20.0) .IP "CURLE_RTSP_CSEQ_ERROR (85)" Mismatch of RTSP CSeq numbers. .IP "CURLE_RTSP_SESSION_ERROR (86)" Mismatch of RTSP Session Identifiers. .IP "CURLE_FTP_BAD_FILE_LIST (87)" Unable to parse FTP file list (during FTP wildcard downloading). .IP "CURLE_CHUNK_FAILED (88)" Chunk callback reported error. .IP "CURLE_NO_CONNECTION_AVAILABLE (89)" (For internal use only, will never be returned by libcurl) No connection available, the session will be queued. (added in 7.30.0) .IP "CURLE_SSL_PINNEDPUBKEYNOTMATCH (90)" Failed to match the pinned key specified with \fICURLOPT_PINNEDPUBLICKEY(3)\fP. .IP "CURLE_SSL_INVALIDCERTSTATUS (91)" Status returned failure when asked with \fICURLOPT_SSL_VERIFYSTATUS(3)\fP. .IP "CURLE_OBSOLETE*" These error codes will never be returned. They were used in an old libcurl version and are currently unused. .SH "CURLMcode" This is the generic return code used by functions in the libcurl multi interface. Also consider \fIcurl_multi_strerror(3)\fP. .IP "CURLM_CALL_MULTI_PERFORM (-1)" This is not really an error. It means you should call \fIcurl_multi_perform(3)\fP again without doing select() or similar in between. Before version 7.20.0 this could be returned by \fIcurl_multi_perform(3)\fP, but in later versions this return code is never used. .IP "CURLM_OK (0)" Things are fine. .IP "CURLM_BAD_HANDLE (1)" The passed-in handle is not a valid CURLM handle. .IP "CURLM_BAD_EASY_HANDLE (2)" An easy handle was not good/valid. It could mean that it isn't an easy handle at all, or possibly that the handle already is in used by this or another multi handle. .IP "CURLM_OUT_OF_MEMORY (3)" You are doomed. .IP "CURLM_INTERNAL_ERROR (4)" This can only be returned if libcurl bugs. Please report it to us! .IP "CURLM_BAD_SOCKET (5)" The passed-in socket is not a valid one that libcurl already knows about. (Added in 7.15.4) .IP "CURLM_UNKNOWN_OPTION (6)" curl_multi_setopt() with unsupported option (Added in 7.15.4) .IP "CURLM_ADDED_ALREADY (7)" An easy handle already added to a multi handle was attempted to get added a second time. (Added in 7.32.1) .SH "CURLSHcode" The "share" interface will return a CURLSHcode to indicate when an error has occurred. Also consider \fIcurl_share_strerror(3)\fP. .IP "CURLSHE_OK (0)" All fine. Proceed as usual. .IP "CURLSHE_BAD_OPTION (1)" An invalid option was passed to the function. .IP "CURLSHE_IN_USE (2)" The share object is currently in use. .IP "CURLSHE_INVALID (3)" An invalid share object was passed to the function. .IP "CURLSHE_NOMEM (4)" Not enough memory was available. (Added in 7.12.0) .IP "CURLSHE_NOT_BUILT_IN (5)" The requested sharing could not be done because the library you use don't have that particular feature enabled. (Added in 7.23.0) .SH "SEE ALSO" .BR curl_easy_strerror "(3), " curl_multi_strerror "(3), " .BR curl_share_strerror "(3), " CURLOPT_ERRORBUFFER "(3), " .BR CURLOPT_VERBOSE "(3), " CURLOPT_DEBUGFUNCTION "(3) " curl-7.47.0/docs/libcurl/libcurl-easy.html0000644000175000017500000000711212652070414015346 00000000000000 libcurl man page

NAME

libcurl-easy - easy interface overview

DESCRIPTION

When using libcurl's "easy" interface you init your session and get a handle (often referred to as an "easy handle"), which you use as input to the easy interface functions you use. Use curl_easy_init to get the handle.

You continue by setting all the options you want in the upcoming transfer, the most important among them is the URL itself (you can't transfer anything without a specified URL as you may have figured out yourself). You might want to set some callbacks as well that will be called from the library when data is available etc. curl_easy_setopt is used for all this.

CURLOPT_URL(3) is only option you really must set, as otherwise there can be no transfer. Another commonly used option is CURLOPT_VERBOSE(3) that will help you see what libcurl is doing under the hood, very useful when debugging for example. The curl_easy_setopt man page has a full index of the over 200 available options.

If you at any point would like to blank all previously set options for a single easy handle, you can call curl_easy_reset and you can also make a clone of an easy handle (with all its set options) using curl_easy_duphandle.

When all is setup, you tell libcurl to perform the transfer using curl_easy_perform. It will then do the entire operation and won't return until it is done (successfully or not).

After the transfer has been made, you can set new options and make another transfer, or if you're done, cleanup the session by calling curl_easy_cleanup. If you want persistent connections, you don't cleanup immediately, but instead run ahead and perform other transfers using the same easy handle.

SEE ALSO

curl_easy_init, curl_easy_cleanup, curl_easy_setopt, libcurl-errors, libcurl-multi, libcurl

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_easy_setopt.pdf0000644000175000017500000006216312652070417016156 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXënã6þï§àbŒ<ˆY‘Ô],àIÒŽ»™8k»-™Å@–éX­,it™ÔïÐWÙwÜsHQ’mm1'EžËw¾ó~!6eÄÆŸö3>N¾[ù䥚ØäeòeÂÔCÒ~ÄGòn üb³Ÿèwñ9ñCAƒlŽÆµ]²y<[qS¦ŸeT>W²Î‹ú“%>MIšlñÁtÆ]›Ú¶o}ˆ²&JÉèêé6?Mf6å váð§¡‹ç l&Öã|úì…§Ì¥n(À¦Ínb}¸Ÿn~XËmêØ>™1Žm´ðÊ@ò_ø+ɳŠìó’DÊ.‚‹È!Êv©ÔÛì˜!3æÑ@»þø¸|Z/Öç§«%êdëïI§ÍN’àÎßá/zø'.çŽrèöçÕCœÃ‚ëˆà#òVÛqCð?mkkò )¢2:ÊZ–Ÿ¦ßCXþÂλûõíjñ´Y,µ©Ì¾¶u<'gžœ23uH”à*´IEšJîH“Z¦©É:9äÊSê †) ]jvûö³õZO¹/(c®•oUîUb¹Kùmfå!Â=ÌUiÔëö°¾Êó(ÂÀ1Ðwê;Ö© ¨Ë¹è`Ê Y×IöBêƒ$QQ”yQ&Q- >ñ4‰#üFYŲ° ¡–k°E‰!u/Òã¶4ô8ÚàûÔf&VµÅ‡ÖŒ.7 ÷,¤aÈ}ëk’—Ê ŒÚ„ƒ¿ŽÝ.¶è¼ßÄ¥,àÆAµl‚İG¥TàMꉲ L0[PÁ;ú‹ú „P¥zÅ>OS•iPO„Aûõ+ b{"Ñ%âÀŸÀ ‹â)Øk3dz4š•“]¤úCF]»Ûn†1sýΚCT÷•¡²$|¨ÑÓµ½°ËÒV Cc Ø7î§yö¢Sçzá¹Aà®èݽ‰:ƒú½§¶˜<ï›,V\äIÖZ‡ûçûzW²ë}C@¿[vn¶ù¡o²nã®àc¾ýMÆõðÄÁAœ Dl›èò2̧¡mR¥ù!ßï?×ÿÇn‡uwx¼Ùõ Òæ´]Èl‡•qxÅdaaU…Œ“?cÒƒ­«ø(ðަäƒx êݦ˜4Õ‹`³º¢d%#रӱí:€û}“¦ÊŠláa’MM¾Ns 9 +J‰«O°­#2 ¶-ÖbÛ ´a‚;Ð=sz6bÀ¿J2(g˯ p]»&Ú¥§¿‘¸L`Dï‚^7Á™géIC8ÈC¢ÑéU-,34A÷ФCZ¥)%sRŸ ®tÈ`ÈÙ*4*@”¼Ãòé¢f^_aßÖ(Dè…=ùmÁ¥i…FªœËº)´w°º×yg‡¨’T‘Š@½ºyûl-[öê˜KåöÌUÅl:ŸÌgÏd§;;<‚ÏúçGÅòe”U{YV¤%<8W5•æÿD÷Š!e ’ävc”«­Ö÷Q¾„#$… ô:’RïÏŽeÔ9®¹_å@ÔY^cÈtž*\Å‹A@CÖåëµ?Ç£N—ªg  \J ØVÖ¯Rf½ç7¤ÊI²''ÀÚëKÈÕŠ²šTͶ’_ öqRß%{a#ZL¥ÃsX«²¡œºŽ3tèFwlªÚ´G@±7`ÑIup)‚Ã6ºg¢ö°¦µŸÑ Ím£øw¬]E}°H÷ìv¿¡8|¶vr¯c€,Ф`—8 kP0¼åTøÞ«Ø¾C½ž¨ádÀ'¨Ô€ª<¸.u]“QÕÊ)C@ÀWo `%yû0¡z­ë€ë+Œ{j‹—æ¹€8#râ¼HtÆÀÂ^eTž¾‡šJW :>ò2‚TÀ©yŒ¢g§­lOèÀɼVë£Îƒ×Ûž‚A+´™ËÚãƒBcÍÏ “AëwL$´t»¦q«|-“º0Dû®aõð©è£ù-Dú/tºr(sÊ  µû‘]‰œ2‰cýKM¢Ê½– û„(Qû(è&c•M* ÐO)|×fz†.P¸/Ÿ6ŸŸ–ëÍ‹û‡»ug¦Cù…ÆaJS˜z& ÝžVÝ4£TÁºNÎú¥­È3!ùÁMWª‡×K:°+Ä ÁqáÃë*Àxv»|ú8œÛvX36àq:Bñ}P!@®¤·[S€åó£NF`"ò£œMª:‰+Å!™ÔRb“o H¦®-³[[\Ï–Êt¹œ&(8’ø Ü»”»üFª=F5âÎm%Õƒešw°½“Ð1°Í rPšY!n|èïÔ¾i#”)[öÖuHÉ"«j­IÐ3°èUk]h¢n „u•Ej(ÁÍß§8Ø\XRš1;-ÂUÒÐ~_[CÉȵ•¤Ñ`ÛduÒMimîÎùÄœÿ€ú;1ØRÙ}TQÆ ª‰³Ÿ¼ ¸lƒ¾R¿p¢!¦«‘¨ùw_æÇ«YÙ@øâªÚ“,«õ3 œ½Ú ¦€îq¿Û®)´Å#[¢Ü3¯ –»ð¨ï÷Ó6äþýÀ‚ÆðËb¹"K5{¯/zÃ`ø6µôËýêÝr­®3ú§ÏÖ]R)ªÆ\à0ÀÜ6…šd¨^”ž£d-åeËb£Ý(wqȈ¿3æs\ß_˜wÞßÏïîWçvY‹öv“ydë"Ãÿ¶ùîDò¦}­íºÈæÊ»0K1f·}:¼Ðè¹çqù´šŠvD^þ¸º_ë Œ\€/ó};´¨ÁµSÆ}OŒöjæu"eþºd²ìç55À#0ûat=œuÜŽ~­kLJq‘vcLL@<Šä6ˆõâÇÇ©h)iþp†»¼U’U©J^@µ×\(¶F’™`\ÄñÃóà qC}ß1ô×ÅÃÝí|u÷J¢›X›Û÷†Î„­z³7å€Ëì—i•Z2­“HíÏ<Šcàz¥ãsáw$‹ ŠÔ³1/¹€w.½X)ÀS_ÑÊ¡«g€iê™?<¼kÛ2¢}‡†æ­ù­¹¹ ÚÞßmükÙà xÓ7ê×jYä¼8 Âþ—Tòëj±¹ÿáçÇ[sí7¤€€RÇ8¡àÂí¢:ÅL)—r¶ù(‘¸ãõ☠¬TÕAb»Z‚o¹¾C›oH¥5s…^tÖ¡îÀâN†BÆQ8“V¢WR …èè¨_KÝQÇîÚÔ 5ÝÁ2¿/éùfXë&eó±ìŠÁHVÀtß’7P ÷MLc+™ùmg1 ŒBÞÜС®ºâ§&#ÜfŽ¼ã™ƒnx¿™ü~þUtendstream endobj 6 0 obj 2518 endobj 14 0 obj <> stream xœ¥X]sâ6}÷¯Ð£y@«[–âl³Iãœvg²Æ/¡!8 ¤Ûþû^ ¶,C‡É0ÁWºçèÜ/ù"˜"¢?»ïÉ›ói ÙÚ!hæüphþí¾&oè2©ˆ¿;Û5 Šc©PüæPÆ1ñQüÓyr'«Å8MÖÿŽ×é&{ß|sù·ZÌŸõƒ^Ÿù¸¿&Ëd¬Ö½?ã/¨ñÔqûè!Ë««^ü—Ó§˜ROéapÀ~bT#p/bt¡ˆ6è{,ú”i’?¿J6 zÏæËMºB› ½'ëµþÞ¼¤h•&S4I‹çdòŠÑ(MõNŸ†”ô%ÃTn]Zp̃ÅR(µ³»ˆ÷x(ÁÅê‹-×|ÿâtû\øX€]ÙÇM4ˆï®ïñMt¯ñ=-w°Œ¾g+tó)BÙ{ºJ6ól¹¶rà ÏàPÙ߆ŒŠ@¯j@fÈ6´ ß¤ BnÔYͬU›@bn£eh1#;C¢p ,'0 ÃÛ.Ò¬Óôõ¨63¾Êû[¥ ˜^df(Ã0—„ɱ5ê¬LNìXÚfÈÐí¥!èliJiótp n{La¥XàÂ{гåød(•M^{à”PO¸P–jªéÕe~žÂ|‡Ûð O”ô½²ïC‘+‹(}½E WùÒ½¤p`ûtnRT0!¬¢èS»¤æ Tå5ù+Xã¿^¨M Èœ!¶—w›z¸Gá½öÆöll9†PýµÄv†ÜÜ\whOO¢—¶á­&)e:KÛ•–mWBx¹åœ‡’9ç6U¢‘s5w)UPWÏPª¶d–ÓÜE£ð9'‹l=_ÎLŠ j¼oÏ-íPà¼mµ6õ °:’¡ŠbÅ•5˯ÝÓÿ'#"{ •q£¶ØÈ"ö®Qhè…â”iøL© –õ%çÜ[@`bëq¿ÀÝ(v‘÷çj¾Ñõ{•NÒùõ‹ '(Üÿ–”W˜I%‹ÁrúrÀ« vº'Óte¶½{õ¨"¶‘eDÚíÒªø j??6q º5ê¬þKΪ}憖"LÕË Íav;gäæ\oo©{Wá¥î¿Ò£Ü}üÜmàž¦Ï=FÜš/áÿ·–A nô´V³µÏ¢ |6 Úy[; ܨÖpš#üÈÖßuïââí¶TÚc+k£T«í žSee¢r:‡a~t7Ä_Çf10F“ øö¨ïþ³A‹l6Ÿ4ÈécaŽ$¦/k –T/ljÖ`¸öËB &'Ý’LžG§¯ÚÐYE[¹“”PHˆ5¶Ñýïã¸G¥l ¹ïÃø7ÞŽ›Æ°ê|MSôœÀÌ Œú 5®RžI½8¯ÖûŒ6ªðnò% € ¬Ìßz°}"ã4ŸÈD€w±¹{ûˆhø˜ôúÔ÷•‡}—ùèËÇ1Ø7ßÄÅû#¦A†±ó|þ‹ÆYîendstream endobj 15 0 obj 1273 endobj 19 0 obj <> stream xœÍXMsâ8½ó+t´(–ü%™›Ìd€%Îì¦2[”cœ„]ƒ‰m&3ÿ~[²ð ™ÃV*±-é½×ݯÛyF&È?ê3Z÷Îæ>zÌ{zì=÷ˆ¼‰ÔG´Fx€‰ ÁC¯\CO‘ÏmÌ8 Ö=Bml¹(xéÝÑ.Kq˜ÿXäq‘n‹¯†ýÕDÉê^Ü0ûÔµ°eùÆçp³ ¤}Úü+øØ³=Ô‡ß` {žß̯¦³`q>|YŒç¦#÷°éçÅdüaø›8ž1ZŒo&çÁåtRmB¨ØÄèŒó0IîÃèôf(J—1ºó¾mÌàï^$Hàc4añ-·,q™cÊ8sÔ,_¥Œ®cùÀÙœXJ"‡`nsV>¦/Á*ðÔ2œµÀ×2ÔÊ÷ w1±‡Ù›ºÜcvL‹ÿ› -¬ï¤~9 Fó«ÑÀ$6èH\ãËèë»6í¹érÌ9õàz†V›"Î’8”kZ°–»] –ËJ"(¯†E¨“Ŷ±w¨IMÂr0gMGäà˜ðå–œ&D"$ S….R" c AE¢Ï(¦"tÍÚ¹3†ÀmS)*R´ ó\|Oñijzt¯¦…myì7HºZ;NµˆzBÞWÓé>Â@‡¤îaØ~)€4«2Hƒ >Þªb=(U—V¢ÛŒc¿Ö¼N苛ɧŇß&u¹Á£y÷²J–Q˜-Ñ2…Ò7^6I.Q^„YÒ=í6ŠoôŠ0µ¶©Bxüptê8bé1ì£Éð¿`7Ë·»Øu´È›G둱ôò¡ô«}js°«*Žå¶GʇZ}áµÔ–¼P¤tÈu¹H ÚZ~Ce¨eê‹ùÞ>gß•{PÍÌ×üxòr(vÏÎ/Nóü*ë°ˆžV›G-+‡aÖñ*y í·ÎÒ›sÄòS0w, ,Ã{=Œ¾®r`Q¯†±C¹ ©Ž;Øö:½Kq‡&K›¸+gváÑ“£Ëá,Ì])–c‹q¬¡Õh>7ášåzb¬Ap:è|} q«PF¹¼˜9~0˯¶q3æ–8Ê2H‡uœçá#L&Q.¾{0©S~}ˆ3¹Lµ>fc‡X{–øºÉÒõªÝl"ØfûâìÂ' ¸ûQNÂÕçX‚íj,á:ŠÝZfäÅ2Î2”ÅÛ$Œâu¼)Àk³8\k3f1zhT嶺ª$à%ÔÑf¸éÛÀ‰øÆàòj:° øµbæ8lŒWlßV J7è"fÈùþÅ"X9>-¦p°c¨°²6 ¨ñ°%l3 ‰Õš³ªùÚ¥"Ÿ>½™‰ø8l&pI”ã lh¤Ù?h?8ô eTÛdc?màÝÃÓõåY«7¸YMe S ÆÅbp½¸”Ý· ¤9ç«á*ï“åÏ»0—öq†ñ ¡÷Ág?ïâMç0ûH»Ù†Å“ÖX®M¨ÍZ]Âu€¾¥CKª.£ j{…Hb­ suŒ#6ƒa &V¹,cÒB§šÖBa61½*µq<(ÀÎx8H’´2—x‰¶YZ¤QšäÚ C/¬òüB¨®êôãÒB¨"ÄX®›"æ£áåüàX˜"jaNÒƒ‘®ÆlÏ^d|(´©_<r ŠðKVÐMãå*‹£B¬×%’'ò¨S$ZB®ð›_ "‡jÑïp4Vç¹%=†ýšÞàFÝäTQdµ¼WÚì> ¬æº7""×qGNê­——ø¡ì-.7Â]RTÙyÔÜ ¤†§¤éƒWVU4©2–ä«Ö,Àk©5DÉ{3^*Wt[þ>0¦Ö§8ت¹Ý–e‹(÷;iþý‡Hñ]ëÒÔoþà”Bo¡ Þ¸ÕÚ?¼«]iÿ Ñ;ãvMÚS}2(ÛõoEy›Â ÛqÞ\ï` ˆmŒ- ûºrü¹·³‘.ÌûÿØjy‚•ý"ž€6Âb&ÑñœLÛùm›x=™]ñrÒèïãU"^Ò]žÒ\÷!K×Â$€»qgRdØ;lã@`¼u#_^SÆ„‡ùjrRÿ?E¢7aËìדs ðã» ¢03Ëdu¼½‡ÚbÃQÐû~þ‰Aa×endstream endobj 20 0 obj 1591 endobj 24 0 obj <> stream xœµXÝrÚ8¾ç)ti_ J²åŸKNJK€Å¦m6Ýa 8Ä[°)†¦Ýg؇Þ#ùŒœv¦³“ÉÀDÒÑ÷}çWùЦˆˆŸâsµë¼™Ùh“uÚt¾v¨\DÅÇj‡nØàˆ?Oü E6C¶k`ÇEÁ®C™ GÁKçQ[ÛEf?YtL÷ÇÏšñYGÛx)ô.ãbk÷ar ·H¹[ÿ+x×1,Ô…ß`ÝÑúóÙh2 oƒ`:éÁß.Á& VÇÆ†ã:€Hì›|kD,P£Zxæã±7*Or±£kql2×F]Êä¦àTŸ&زËO“œW’D[t|>¤§Í3|FH AûCúý‡n™Øu™­a‰üÍŒ’R-†ŠWhplS×UÐ`Ø5½¤‘k[j¯t™å`n ;bïcu›?é¿÷ùâÎ÷{ÓáÂ÷fºíæh? û^%u!‚Ÿ®¾då»Q¾Å«%á.ÂùgÔ8v ‰^»:Âߎ¼­öîtjQa¨‚Þbkìõ‚V¬°Žvé:ÂÈ¢&Vƒ7|pe[%*µ©Ö¥ë,ö+ø¨=TÒ;Ü”b,ƺÁµÞ}I.Ãq*"ëU8~V5-ð(fÖO#«„G³Ák–#à©æ=[o`Ç! †çž›Ž½»É«ä\çŒÜ¥uQ”Ó_†j˜Ø±ŽŽov{‘‡°³ÎÃ^¿VËÀfíeOžž'ð·’ÔMœ¬Ñ*…:±:Æi‚¶é*Ün c å"ΔqišØf ^À2$,†i}û9,°ªòà) ƒÍ±áª5šô{£éd¦[P‘©iiAÓM?a„öéᨤeØhV½òº@™i®+NüÊYo|wQ¯@(Ñ!L6êÒ`SLš9Ta•w)e%¶8¦<û‹~O7‰Öë-‚á½7™çÊ wÊÖs†;ˆ+gB‡zaPvQz:¢§ô€À Z…«g5|"ò¤™%C¶Zãˆ:C8„w—¹ï-îF“HåÜZo”ó«l7}1¹ñ'#/ð—„Ëm„6Ût ­þu6ÐwT<ªû™h²„÷R_%¥—;*>7ºl}P,æ··ÞÌþÙÿ¨õ²/RölÐR§EÑ>=å u>ÁBÿSP¹jú¶®¸È»±º»¥šâ´½È.Œ˜ô:W§"Ê“Ón È è‹T€¯JµÏz÷¹yun6ús (èOãÉÀõtJ¸öÐÄ4ˆ3bZ‡øn7é!>>ïÔ]Ô½Òíì^¨ÿ Î&Øuu¾7Ì<ß_øýÉÔkÌÃé7 e«tI§Ë²ÂõúeYÔR³aÖmjwq…z”pÅ©ß{ÞTw©`'â{øá:,‹\‚Ý苞¡EѾn㲺P^t ×&eùý&ñ3,—\ÌœºÄ`ÿ|àåÕÀ«]s¦0äÔÃÂ5ô¢6Kè-%†`ÕŒWšF ר°z{[ C9Ï.ÔlÔ…/¬N¹ØáeŒŸE Ñ<‰¿£uº ãeð`¨CçØR¼]ñ¨%?!Û9PŽS€ˆ)ÑWZÁ)`%–ßÌ\¸»\ g˜LégÂ{µ!޹k”¬î=…0éLuÛÀ®e»ZÏ÷?ʸ0G›Ì>Àà ôÚÏTLX0`á%89Æ«P GWÙÉ`ü%õË£d=ö‚YóÍU”!œDÇà íÃC ©L,l™ ¥Eeè˜Lì¾ybq;lV­@ðï¶x>( ¨ßGµE%höÊÇŒ!³éÇA3[çð†‘¤[öa–½HoˆÑ(=¬[BŒ]œ…}%&î\Ìš¿õÕΘ4Å«óÔÂJÔžVV¦%‚ø÷£BåÜí“ôçv9ââ?KHü'Ôâð6åãèÝ)A @K¨¦U&¤)lzAçøù€¸Â endstream endobj 25 0 obj 1582 endobj 29 0 obj <> stream xœ­XÛRã8}ÏWèÑ~ˆÖ’-ÙÞ7˜!S!É:N ³E™Ä€wbgþ~[¾_”»S)Š‹ÝÒéÓ§OK¼ ¤‰Où}½ýæ™è1ièqô2"ùCT~[ïÐ^°Äü‡QCI‘iëØ²‘¿ªc!ÿut«¬ûí]¤owi˜%ÏÙEÿ¡¢mt/¨cÊ4¬i¦rć`‹¤o«úßF:Gcøò7°æÙÊ›ÎþÝjéz3UgX#ÌVœ+·~“Pñ¦& («4Ü£8Ø…-ÃPõÿøD+ñsÛ–&²¬LMX™s±r¤É}L4 ¢a7Ž­nüBµ©â,—ßUÛ6å–2÷Îóð1ð Ô¬[0•E Piâ¯6¶X&M_U¢)É~S /v¯¡s„ÛvúBµ`O‹ÅþT°cp±¿4›ÃsX¥N¢^h:ÿ:™ÝÁO“ùl)¶O“Ç(FP (‰S¯¦‰ÍšWù’œ<¬a”è'³ðÄ›@ž!Xâë0_¬>¿®é#ÖôêÁ­rS)¤ÇØ€%¨m6ÜoèpJ#À'a½Lzx¦u):x(¶õF^7•®ŽKʶ±Î~ Dj0ì#jìÑq[òññUoS Å +2wýc’% Y*¡èÒ÷åþ,o1ÓÀ¼&CqV pª†>ÿ2b³b=ÂøG%Â% ¢€H‚CöÆY´„öÑ.Ìž’M*¥ºS³GQdŽQ—À£Øªùx²N¡PW"³ºtTV^ù—•K¢˜¦Ä%ˆè§u²ˆAM²­a›4Û¾k¡¦Õ®å‰4„¥–kÉ”Üäs+Kèc‚&º-×{©}Òb‰ÉĪIÒ¿Y|¤<ÕõŠã°݉ÄFGÀÿ_ h ‘‚ž”µ$XˆF»È5¬ëù@mï¼ ŸsWú ÜÂ:ý´;UMÙ1(ÞÂmvCÞšDBáÒYNï&^o–ºqp¿ ‘xˆ¢8Ê"8íÃô&«¼ýtQÇ^nåÒÒ™ ò“øëyÇ-á(ÄÙû^IᄌŽçV\êyì,µJ§ÌÎH²š‘5¤è> öà0Yò7œpŠî ciK‚ÍYdn½#mÊuÂH+ì-šlØÛ¬(Œ»­ý\{­PÃjÛn*PE+¦aMî…+˜ê5´sÈ’] d¼Ý¾Á€É>„ÀÇïè) 6á^lEK%‚oó*{¼l2ƒÔyÝ?ChÏá±¶ða\]„GÆ,…ñ)³-GÕK+9;sáwwv6?ŸÌ¾]¯ÃçlìÆëdÅ(ˆ7¢‡‹äÑ&\'»gPz*žm‚,©êKvTZ&ÒE M_,1lßsfK  I Ó™·Š¾Â4C~=>÷AœB­TRn_'wdžÌžv»J›–›"RBþÅ|:×x¾OçgŽJQ„HÞ0.’¶rŒÆy·Û¤­6èçæÙëeÄÁ€®Ø‡›h®3ùéŸ×VÒÎÊ“^\‡ãY€—‹ H2V3Ï]úÞäÌwÏ;­wÙ—áy‚â$žší£uÖ#Y‚’}÷ðݧ$Íp¿—,¯Y½íóÙªQ±½\ƒT“›ð•sí¹ç¯ú ~F»ÃŇÝ=8eòÐ0.?$eåÊù %b:.QBóç£ójÓž\¤ñÂÓŽ1D'sĒϹŘa½œ.;Zƒ{IëúúšÁ9 .»AÎ\Ž˜بEW zP±†‰à!rÄ~ë˜[ÿÏ3‡¹H»Ô¶à¨#c`å÷rŸ¤é!DÊG <†$ro‘Nx0·þ½Bä>Á°ô´VRr> stream xœ­—[sâ6€ßùz4h%ùÞ7JœÄYÔ8ÝMI‡q@IÜ‚Ml“4ÿ¾G¶±AÈÛíìN&—A::ß¹Ÿ¼"‚)"â«þ½Úö>6zÎ{=÷^{´õ*Šl†lWÇŽ‹Âm2…ï½…¶Úg›%òe΋tW …vºÅ–ãap%ÁýT®JÁ÷Ó¦³ûö lΓ5Š*¶÷¸x©ÀJÊŠàl•î„ÃÝU®ˆxE÷‹R~N0s­ •UÌÀ6u]ɲS8•QŒ¡òÜ®ë0œ QÉ¢Ûý¦ˆwQV §4ÛîÒ¼@â&:\=X¢Wé/DðüØÓ"¬>8 Åzk§L¢Œ‰ã`b(ðïÒ ¼@¢øÏxö záÑšgGÀ¨nÉ~¹Ö®$¦.Ö[àE#s7÷‚a߀ò¥¦«]y“°©ÓŠ~¡ÝåÀ ò®Ëlm0|æIј"îÖ¶Ø6vtòƒî—Át³djȱMº‰m»#‰®½áÅY Fû¼H·UêTäÊZ¥:¶éP½©t/”¥ro¡ƒ÷ƒjð‘ä^m”&E–ŠžY²}Ë®.ûéHƒˆ|¤v–É„°¢Ï•Nl” É ®S?ýÚÑÀDoî[÷ w æÚßr2Ê!gP‘¢]–þóqÒz „úOJÉЙմ¦cK„#áûî 2‘Ñ]ùÅŽýáÜ“›ïpSð,‰Š¸†¡¥¡ªµ™þSí£7Þ@1ŠIcQ5ö²÷§y(ÄäŒPÂJO·±ÙŽî÷Õq¥Ó¶öJS ê¹ÈF•9¶‰Myµ9Q/5:fªnTIŽý³ `¸^£4×ÖݲrqW÷†²U‰w»Úwg¥_y2ËE Î,ûœA>¾îy®\(”µË rê´Å}5Çòw/8îB+AÞúÔÔxÙ2DîsŽëÔi`x[rxV]¤:VÕ¨5™8uÂp^޽ÉUx-9ÉNÒŒ#1Þ ùÆ> stream xœµXÝnÛ6½÷SðnÒEX’ú#/ÝTmÝÆ±*Ѱv\[IÔÙVjÉi»gØCï£(ɲLgšÁ X"yÎùÎ÷Ã|CSDÔ§ù^nF/âÝ–#‚nGßF´~ˆš¯å½”ðW?È›‘^CQÀP Ì’›e&’ßGŸ¬å~·N³Eù3-³ª¸¯>[Îg­ó/ê}Á<‚ ¬éb»_¬‘ñmûOùnäøèþäjd]Îã«Y$ÓDÆáxš¾ £ðúUb˯õK”©—ˆ:Ý’wy‰ÞJ½`¨¬vÙbƒVÙ}¶]•¨Ø¢Å¶¨î²ZÈ0À]ލO±p€:×[’úw‚=Ÿ°æA–©/bJZ(v8¡Íc3<ͤ^×jwÁ¨À<È>æ,MÃcnŸžÆ e6õ”¸Žõc¹Þ—y­ãÄYs ‹óCÖq˜qÁÝæÁúgOžS‡þ¿è“†F…ü³Gú=œ¼y+å±’¬BÕ‰B¿õˆ ¯S~?Ðp°O4òÛ» £ä„Ž«L"¸™ŽFÔã"`•:­¦Ã\p`“Le„`ñdv3ïG»=a:ž\¥¯cÛ…”¡ž°fÓ.3æãÕj—•`‚ C%8âÈßÜÇŽ/įаRµ?êºØ¡†øÕKãËh»ƒ]¶Ìïól[•¦@PF±ïâÐílòõµ¢Ã3à2¶= Ák.ßžˆ»DÛ*_.ª\e™FjÄF‚¼6©'¨è¹¾:¡/Yß&”{ÇuA¾þoŸt稗ӗWï“Ƀ¡÷ù².–¡2ÿ;3aç\•nrvÇ3Φ>Q럀ø ¼ÍbÛoŒ-‡ÒÏË -–U®vê ˜Ã0ëÒ`§®øz}pu€–‹ŒúuþÈî¿ZÈ4z³ß(È)L~û` å4Ÿ[óY—Ñ20×mì²Ølª¸WÚí·èKvSì2TíÛòæ¸)Qž+½?Ø”èþÑBÛÊМèÂbL¬h–ȧ‘=Ṹ© ™hB¿Ø‡ ¹çxOáÊ¡s2#×8<íIT¿îË걸ºB¹þ¹k˜O ÊHpäßn‹q¤ºö°xß«¤¦”mŠ*Cÿ¬5†]gEzGc¹žzÝ ·ªKó$LÃH%»±x„‘ŒMH|v>iå½mÍYMv]ƒ*‡…ÉÇ6…þ¹ *ÌŒ>gêÎ6ÊAä1Ô`‹a;V¨ÛŸ¨ƒg­ÝÙgP„ ‹Zz 3—M)ÿ¦ÓI’L®ß¤¯&q2ð€ùêêR £ s“—e¾½E«&ŒªØåY=9ë‘£¶n™íjÖp°´C†NJŽ]æèFxaÒqÆÏj‰8'yÙ1r`>åÌmY]èÉÁðâò.6-W“l5uSœã0‰ %‡©œLÃÙ\6Õѵ7)äŽ=§»膴Ɋ}… X!Õæa º/¶evfFƒŽdŠú‰1Ñ|Þ¹à¯lÁ@£øZëC1¥µøj,ñ›#ÇòV‡«U}òζUƒ¦µfʆ±ÞˆÃEGYµ«kkèCÛÅpþð°s2|TGE¢›¶‹ùˆ‹ƒˆVÎ6^5ÜÆN xÞ‘{è4 0çö´…ÛQ );¬¡n®ÿƒ±îBò~¥‘ Â8ù˜N¢AÖÁ9·Ûº¡AZM¢vbF¹N4µ´÷}µº3‘VAÃ8˜.lìd îC 3 5gX$É åžnÔ†±ÿ²ØV»bîŠ~d˜w¥û“õ½²™G¬b¥¿t ªUwxÿJy•˜‚ìô¯ldxWèM"О¡3±æ+ Û† 'À†óÐ;34ûz×oûo Ð„rô>ÿµÕy¶endstream endobj 40 0 obj 1400 endobj 44 0 obj <> stream xœÍX]sâ6}çWèÑ~@±ä/¹!ŽÓ²˜µMg·Ùã‘Ђ`³Ùô7ìî•mü…Òf³yè0fÐÇ=çèÞ£«< ¤‰Oõ½Ú.Ýf ݤDÕ×j.#˜ÀÄÑfP®!ȦÈvtÌí„êX3Qô8¸QVÇÃnÉãìi™ñ<½Ï?)ú'í¶ŸÅ€:¤¦†5ÍV¦qrŒwH:[ý#z7Ð-4„¿h=PÜE0ñçÑò:š/Ãp²t]Wþ,f*fheèËxõÊS”¤É0š„(¾U ì8ÔbJ¼MP¼ÉùÅÇüŽ'ùvçÛ4Á(伈wíÄÑ1±aÍg‚— A#ËêD¬ 3±î¦³p¤êv˜A×õ³¨fXâ¿QBž¬ÑH5 qt˜¡UºßÇÉZŽPl™%³H°1¬*R#h ,1˜X^ƒíìp=žxS/úտꊬ„÷|µÝ<¡»T P ¾¶¨p<æ*¯’Šxš†ÄÐuTZòxu‡¾íxV’*¬9™6š©rDµòC &3á"p`ì˜%3ÇÆ¦ÕbDbz…ضI¥šÎì?öga÷$)Á”2³9š’@„M¶…óeà½W*¹^Xž( ²D¤–híøV„øþpäY.Ã2€ŸÃú'œB“*QDhù‹ ¡²|ìò½0–ã«×0Èx–A ·k Û„³ÐhïDƒnXY1 ?±€o4].‚ñ«Àçﬖg;õ ôÀ×a¥à¡É ”‚Ñ,œûåÌ4”ïΡÁ"Ru£Üô'Ù}zÈBw<^ó² «2e:6›âÂa³¡Ö>£3Á:;+Ê ?’Š`ê‡yNw2öfÑÒ !§»ž¨¸»-ø4C(9î?¡Æv˜ &WÃ~>-(RFàtÎ …^ ²ª:ó5XÚB›ô€Õª\¶€d<|QÁ­Š¬Ú´Únøs¥IÇ8zW%ºp@™qh„‰½X ­mm# ìé<èú.ࣖ] =¤pÿ;âVüùõiˆ:Ö,½œTÜÒŠëOäÆ;„‚³uÃ8wÞ"Ó®½–ÎÞ‡ó+t‘q”s•˜¥X_s”‹ŠØt Á2!ê²þÑÄ9!€ž32]—\´š(Úåh_YZcBëxË©å;@Ç`PÇ®«f´^×¼Ñ>]sÑAP”VI!™È‰ÍÞª,S€bTC‡û¶@¬±Cúõ©µŠØØboæ/=uàF¶G¢Tdƒ¨§Ž´I¶!ë{Ü`rÝëvÜ4é*fµQ”’ig‚Ý(‡%ú åq·MNN¯F! ™Ùã, ÈSÈÆ‘`²¿x=ÐAœÜò“=H»,F±-¹“Å^Òèà¶%u=/\L½åuM«âOûîðì¸ç(nаI›ÔÍëkSåYòfˆ:ìé¿Y,'£DýŸp)Ñ|'#wͨpybØ£êS™©›MŸÚNóc–§ûSÊ\ìy~—J›9%NiqMÜ)e4RÝdÏ·¦ÐP*{}@Ÿ§gI]báhÛoåÓ ­ãÞMùvÏ¥m†Y¿ƒ;‘úø-,¨z5&cAÕÏ8Kñg ª)ûzN¶€4MvmsÔÁkøÎ‘cqtZ`¡E*6¼Ñ‰ðH §™ o<Ó(¦gL®ÄC:G·.Ò;Ž>§ë'x“&94 Rg!:$ÈØ2ˆQå„#±u±ò> stream xœµXms£6þî_¡x¦ÑIB¼ècÎáZß8¶kpÚk®ã!¶’£ÅœÜõ7Üî 0`s—™v’Œ=ˆÕ>»ûì³R>#‚)"ê§þÜîGoVzÈG=Œ>h¹ˆêí½ àW=îG• ECŽ0±+P°Qfbb¡àytklY¼‘aþu“Ë"},>æÇ1Š£;µ0¾`Á„8Æu˜Âißÿ¼™6º€¿`{NÖ«ÙblÖËÙblZjÓ¸¼jÞ£L½Gcý§áíÂ"ÄÈ—rüð)©ñ;[¦p!†áÎǵ8ìÜÂh#¿ ÄÆo6v•uc|}ùû»éÌó§xÊ[‹¢üí{ô-–(þ‘¨Hу,tÀ(£Xð —nç RiÓ"²eó"¢Íìrõóÿˆ«ÚÿUè‚éµ7Y̯¦Át1 û[=aè´Q3“ÐÚ» µFÊÛ6aõJ´—h›&»¨ˆÒh•ÉÏ™ëã¡vY/žDÚX\;´åöÄôfL+V—³µWòæ‚`³ ¡[5ðÝ’…üHC€ÿ4f5±Ãø Ñ}š¡âæÅÐ*†¶±JJûÜ®ÚÐw”Û%Â.½Øba•Q2²ju+¶˜Ï½‰J ‚àÃ?ÍK'¸®·Å:Pï½&‚ôP4aˤˆ2ùbM†¹£©#8×VÐq gØ6›k¿OÅ(Ž£\ªä—ex%>×Å&Õã_:ˆŒqe¢!Y-{ÔÆoéyW›ÙôzôИ¥Ýæ!Øm[ä9o{ÇÄ6m¥Ü>ï£B©@x—fð% “ü^f'»ÙøöÛ½@O['šnæK”„x¸ÀB0ç4½îB&-ú£yQ)~uª„àï$üÆÝZ&mªž;ú£^¨žò2‰°C‘E2C'›¸Ó& ß)D™Ÿl¶¶ç2IØI´‰dúq±ñ½ùÕ±š‰1 KâªñÚü)Êõí ÃT ÇÆÀ¾W‰2Ö]y“›ó@o¤»tÌxűçäè¾€r [ƒºïT?#˜2Ö¢®…t 1õNû;`Mz¯¤>‘[¥õ9Š’2özLÓX—màý¡Öq«U×R6C¸ïVžÿ˦6í^ç…(‘v›§ì޶솅Vš p;ç˜7'2=m¶™‹W±z;½‚Š­ý>‰—™¬çµêþ#-ô'Ù@˜¹­8$Êw¹ÒzøÚ­Ð}–îa\ò(y8Û ŒPLú½Ð…©-%Õ±©ÎÉ3g»ÜúæRÛÊÜNÚSÚ ¦¸§¦¯›»?‚—s8yNµ97Å™<]³1%ĸñzc÷Ö˜.áüFëI$³\áÉdžÆOåÛu³À!Ä9Î YtøæPPªc«h£eÒ\\ŽÀ,«:ÞÝ襟µ‹k#«³YÌ«è>ôÏ‹$þzÌûO(IåÀuŸ! ª¹Èy'ŒTÇÜz ¶¥ì‡¬6ÙøþL£GÁÌ+ÚÛ¤»mðÞVZÒ‚$tU¥ áÅú/³´)ÿS´“èÛ—1­‡Ü½¹;.6"Ø.œ´Õ“I«šô¤Îá^iD-CêÇ–c–üégýÈŒ³¤ º p5÷7Óyà­ÞÕò«£žhoN—“î)†»M(¥æ^¸6‰pÛ ½ ›“~4Ça £®™JS}ÚJý|v°þ¨ 5çUâjе¡¥„VzM ê.®ÊÓl1¹œAÛñþ¹ã;‚ w;X;sôplżahC­bñj Bû×0êÿ´ (€‹É:ß[³ÐûC‚`ñÒ5·ÍÚ™P{zÁèWøùZÓ¨0endstream endobj 50 0 obj 1392 endobj 54 0 obj <> stream xœXmSÛ8þž_¡o•?D•ü*} Áé¥!Moz“1‰_ƒCc§ ÿ¡?úV–;ŽÌq†aÆÖjŸÝ}v÷1?% QõSý]= >.ô(zü°ò%ªþ¬žÐY ¸zß´ Cá.Pü4`¶C¨‡â—Á-^íw›¥Lò×e.‹ísñ ;ß,´IïÔ kh{”PàÏI¶O6ÈxÚú;þ4p|4„ßx=ÀãëÅôj/ÏgÑrz5M—“¹oÅÿ”g˜­ÎPíü,ÍÖ(Kž$ÚÉ|»ùi1Ë[T<¦93”¬×ð.'(’²tôqÁh\à“€C|½^5>pÝddh3[Y ™O¸²¼=2Â…Å)þ.¢C\ó-žïä½ÜíäÁI”Ëv‰àž‹å®"8s˜†xêˆDÇ.½5©lae.Wæ¬#Ë`lx<çq<ù^]ÇËÏõ ¼jÁÇqªAÕSNéÁ¥.6ac¶MZÈÚf†7Ç3¢ò]=B3MhFxÍ$ùªIæiNû §1‰’÷|j×6'ëfÉÝF¢}.Ñö©ÆDÕôïâ«|Øøðyã£gÀSuÅ;¡Îþ éÌ 8Ë\z鬨ã˜YÎþ˜Ìº¤¿Déè’þ’°PÒâ©*³‡43Ò˜¹±ƒSëÛ$æLY¼iy^TdõJ²2›+Új'£ëê°ËwjÒÖõÄÓøÀà!£>¡n3"Ïå½f/ Ñd¿)N"ëªJI`÷…Ö©1ºÄe]Œ"lÔÃJnCT«‹ÕÆFÙွL»°ˆèºx4Â(¶@,Bx ªu}ÚÝ\·5ùâi„.´rN6Pù¨Hêuv¢ˆ‡k¢"\ÁJ¶×¼Êñ¨^t]NÂîö„Ò2¶ô pU/-Þ”‚ñ–n3¥9 Œ ´ˆ¹,¯R€•«žælöu †“‹›Ë«¨¬æ$ë(·¯òh™ÕôÝ¥÷¯¥{Üæ…–ÑiV>Pá©ýþZ%…¹Ù u¨8ed ‘D0+|÷Í@æ!(Œß 丕x÷{q+çÆIá‰#m0í¤Ÿ1¡"­š°Õh6±›F»ŽŽŒ†Âƒ]XÎóß øCKÎ@ÿÕaæyû»YõERìsS–`©´ÆDo¬°®«CL¡‚2:ÄiʪíZ*ênVÇ£Éìâêx!@׌´¨¼³Xõé²ÏÖsÃVç.íŽL}o¯ž1Ž‚I]‡ %{½êÃàDOò|;êmæñ€^Ïánc³¨ÏìÀ3¦g~D_Ú,ž^²]É®!¬K‡¶¸6Ovâ Èn1ì]lMîíj¨öçžÑ†]È5eüT°rCšË¾ ’²˜^L¦'ÒùP´íMèÁ¦hRósÛŽ½zVj¬OÓÜüaå¶CèÀ0B§ 7ZPñ¹ú' @~j Õ§,ˆv ÒóÓ>CpÜ-SëzµFÕ•a<ø?ÿ‹§jãendstream endobj 55 0 obj 1470 endobj 59 0 obj <> stream xœ½X[sÚ8~çWèmí´–mùòHÁ-4Xì´ÓIw<ŽQ‚‚©mšòú£÷H6¾!:ÛÙË02¶tt¾sùÎ'¾" ¤ñOõ¿ ~_Ûè)hèiðu@ÄKT}Å/èM þ x”{²ud»v\¼ ˆn`¢àup¯ÄÇl²(?…9+ÒCñY1>«h—<ðêP§Ö4[¹öÇh‡¤«Õ?ƒ÷ÃBCø 6`s|·ž/WA8öÖ*u±ë˜D f‹·Ëz%ÑùJ» xß‹,Š ³¬H~ÄQÁP²L1òSƒ/†hg4„`Ø®ñÍíS„ñÒ±áŒ~HL‹ó,ìt6­f‹…7Yݽ™ÏÆ7Þ'¾­ñKñYÉ~Ï6È÷çèp|Ø%1z櫆]²§áÍb©f)¼?.x÷éã¾Õפآç}ªêTyÝ‹&­X¤$ÖÄ6±iËh„x&’êÀ+ÃZãäµÃáÞ-Æ‚÷û;Úí¢øYˆ9á*GGÍÚ_´!ºKöOrÇ-²Ž$1­#¥¥"ß’k ±wÒ)u.˜õ*<ðP'B·4ªÓ;´(”]WÚóDô!Mö˸Â;D¹Pzy¾í×-G~y눛 ²°ÞÜKÄû*x²É3Ù¹ãxuÍBiÍ‚óÓ:аÍ4þº; èm«¥”eËp…cžmb•MkPÍõÕ©Ï=p”ÛL‘ëÜ#6™Ö5!$K««ÑeÕˆ¥ŸM+×L*~]îÁ…V¿à hÚ,»ÂR~ÙlIIz:Z÷¿2 ׇ/ ®á×ïÐ ¶ä~Á J›Ç0`½Ä……÷QÜý•·¾íiså6Ý”Ò8c jöOhÏÚÜÜQ ¯­[i£pö’B~ìäbZÒˆ®Kr*p°éÊ—ïÌÖÞ8P‰ g˜Êr­Z´¼(}ªPöÔÛ¿s“d¶4Käh]ÓÎå5«ç´kèÜiñ¯söùª¼µ´®¼ù þ¾Â-׫ÄQÎ[zÑ© ¦.k¯Á²êZ”Xæ?r³yù(å`Á‘Ve¢úÉ ÙÀAXSAæP×ÄTîÜ#²)L˜ôœB¸S^0ø>7>á\endstream endobj 60 0 obj 1589 endobj 64 0 obj <> stream xœ•UÛnÛF}çW ò’e ®¹Ë]^š¶€SèÁ‰"§6•° ¦V[ÞÂK·èô£;»$eI.RD€»3sΙ™ÃÏàR®þÏ´°Î®¸o-î­Ï3‡0>ÒÞÄx!Ô/â­5Ä08‘GÃâÂbÜ£®„øÁº!ißäk•´ëVuUÝÝïÖ†<»Ó¶Ã¥K]7 Orø×Ûö¯ñ[,aII]Õó!^ >¬¿º!Wóxuµ„6ó|FΫùÅÜ)Æ8ŒC¼±ÈO««Å|}ùÎŽ; "}*½ B:xÇ£"·äÕTºPIÙB·K:üS€ð²ª„;¢QÄý$- j¨›ªVMþhHé<©Å]T‡ÙɬԵ]}À†RÃûªtt±±TR‚jšª*Eaµ¤0ïY9<À¼Bì¹}¯%<Ót÷ã ÁÊ¡ŽQŽlÔߥj)\+¥ döQÊ0 ‡€2vÌA@¶ºg©[â2á“ö°SSA?¤¾;¥ Ò©“{[d¤ÜöyŽ“Ðvðu;ب6m2#jK5‡E‡ÒáÂ`¦žÇ î‹-ãl<(«£(Œ•#ÉSˆ "â|<¸«únØù]R·p§Ò¤o®N“ Ø ‡§ª Ê7w_×UÓ¢SɈOMDM¾¬ƒQ­Ãq ¥'õ¸5ª¨Œæn¯h¸TŒˆ¾¨„ÔÉ4 ŽýSC7™Íe€¤%)“Æd1¬xHy0 ä Q©*;øb3=<"ªiÆ !!m_¦ª [Ù¨®oÊÓ½cRRéûS¾a÷VËwËKÛì~’OËõ凸ârib÷€\†ûص‘½Øw ¤Â•ᘛl– øÁ^ÊAÆQìýè‰)˜§ÅÜdmr—ë%ë ­Š:Ë•Óe…šAÖ}‹ ÷=ú¤×ÀÉy¦O‚Äë7fK4ÑÕÅÂfû÷Ë“}aèÓ8ÑaLÏ.G7Á…`> Í¥ù/çï?,æÇk~btðÊìÂÞš•:ë­ýZê« ‹dÛ[ãÕèsÚ/-y”#­6 Ù·&@;îsŸÖof /c+×ø˜Á‹]×Õß)›†ñ5)ê\QT÷…®®ÙL{7»TLh^#˜ƒriŽÎØ×‡§ÎÖ¿ž‹fÔ˜ôºžÏá|q}ùtíD°cŽuõݱ5ÆêfÇ9„O'ïxö8MÒpï«ÿ‘ëPhôÚ'ÇD¡æ§N‹ßæòÿô^uY¹E#\¼:I\»obu¢ ű€EŸwÙ8'äÑ ä³tcL¿wD Ýëð{õBêÚÚH„&I¸„·} ñ°BNð×¹æ±õ3þþWÊendstream endobj 65 0 obj 1060 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 18 0 obj <> /Contents 19 0 R >> endobj 23 0 obj <> /Contents 24 0 R >> endobj 28 0 obj <> /Contents 29 0 R >> endobj 33 0 obj <> /Contents 34 0 R >> endobj 38 0 obj <> /Contents 39 0 R >> endobj 43 0 obj <> /Contents 44 0 R >> endobj 48 0 obj <> /Contents 49 0 R >> endobj 53 0 obj <> /Contents 54 0 R >> endobj 58 0 obj <> /Contents 59 0 R >> endobj 63 0 obj <> /Contents 64 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R 18 0 R 23 0 R 28 0 R 33 0 R 38 0 R 43 0 R 48 0 R 53 0 R 58 0 R 63 0 R ] /Count 12 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 26 0 obj <> endobj 27 0 obj <> endobj 31 0 obj <> endobj 32 0 obj <> endobj 36 0 obj <> endobj 37 0 obj <> endobj 41 0 obj <> endobj 42 0 obj <> endobj 46 0 obj <> endobj 47 0 obj <> endobj 51 0 obj <> endobj 52 0 obj <> endobj 56 0 obj <> endobj 57 0 obj <> endobj 61 0 obj <> endobj 62 0 obj <> endobj 66 0 obj <> endobj 67 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 68 0 obj <> endobj 69 0 obj <>stream 2016-01-27T08:26:06+01:00 2016-01-27T08:26:06+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 70 0000000000 65535 f 0000021255 00000 n 0000024007 00000 n 0000021118 00000 n 0000019176 00000 n 0000000015 00000 n 0000002603 00000 n 0000021320 00000 n 0000022436 00000 n 0000022371 00000 n 0000022303 00000 n 0000021361 00000 n 0000021391 00000 n 0000019336 00000 n 0000002623 00000 n 0000003968 00000 n 0000021441 00000 n 0000021471 00000 n 0000019498 00000 n 0000003989 00000 n 0000005652 00000 n 0000021512 00000 n 0000021542 00000 n 0000019660 00000 n 0000005673 00000 n 0000007327 00000 n 0000021592 00000 n 0000021622 00000 n 0000019822 00000 n 0000007348 00000 n 0000008909 00000 n 0000021672 00000 n 0000021702 00000 n 0000019984 00000 n 0000008930 00000 n 0000010265 00000 n 0000021752 00000 n 0000021782 00000 n 0000020146 00000 n 0000010286 00000 n 0000011758 00000 n 0000021823 00000 n 0000021853 00000 n 0000020308 00000 n 0000011779 00000 n 0000013272 00000 n 0000021903 00000 n 0000021933 00000 n 0000020470 00000 n 0000013293 00000 n 0000014757 00000 n 0000021983 00000 n 0000022013 00000 n 0000020632 00000 n 0000014778 00000 n 0000016320 00000 n 0000022063 00000 n 0000022093 00000 n 0000020794 00000 n 0000016341 00000 n 0000018002 00000 n 0000022143 00000 n 0000022173 00000 n 0000020956 00000 n 0000018023 00000 n 0000019155 00000 n 0000022223 00000 n 0000022253 00000 n 0000022518 00000 n 0000022584 00000 n trailer << /Size 70 /Root 1 0 R /Info 2 0 R /ID [<5D9749B1E48B58CD5D9944EABDA86EE3><5D9749B1E48B58CD5D9944EABDA86EE3>] >> startxref 24161 %%EOF curl-7.47.0/docs/libcurl/curl_formget.html0000644000175000017500000000633512652070414015451 00000000000000 curl_formget man page

NAME

curl_formget - serialize a previously built multipart/formdata HTTP POST chain

SYNOPSIS

#include <curl/curl.h> 
 
int curl_formget(struct curl_httppost * form, void *userp,
                  curl_formget_callback append );

DESCRIPTION

curl_formget() is used to serialize data previously built/appended with curl_formadd. Accepts a void pointer as second argument named userp which will be passed as the first argument to the curl_formget_callback function.

typedef size_t (*curl_formget_callback)(void * userp, const char * buf, size_t len );

The curl_formget_callback will be executed for each part of the HTTP POST chain. The character buffer passed to the callback must not be freed. The callback should return the buffer length passed to it on success.

If the CURLFORM_STREAM option is used in the formpost, it will prevent curl_formget from working until you've performed the actual HTTP request as only then will libcurl get the actual read callback to use!

RETURN VALUE

0 means everything was ok, non-zero means an error occurred

EXAMPLE

 
 size_t print_httppost_callback(void *arg, const char *buf, size_t len)
 {
   fwrite(buf, len, 1, stdout);
   (*(size_t *) arg) += len;
   return len;
 }
 
 size_t print_httppost(struct curl_httppost *post)
 {
   size_t total_size = 0;
   if(curl_formget(post, &total_size, print_httppost_callback)) {
     return (size_t) -1;
   }
   return total_size;
 }

AVAILABILITY

This function was added in libcurl 7.15.5

SEE ALSO

curl_formadd

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_global_init.pdf0000644000175000017500000001217712652070420016074 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXkoÛÊý®_±@?„,†Ë‡H¢EçÆ7u«Ø·¶ÒàÂ)Œ5µ’yC‘ ÑuÿCþsÏÌò);mZˆmr9;sæÌ™Ùý"[ ‡þµ?“ýìõM(vÕ̻ٗ™ä—¢ý‘ìÅ›5Dô`½™o¤]ÆžÅb½ŸIwi{¡XgwVÒ”Ùý.+TvŸæiýÉò>ÍE–>Ћù ÛqBë½Ê•‰WÏÿ¹þëláØ®„õ›ÇØÜŽÚß[Šõjf]Ï_Á_¼•Ä|ZofÖû‹ùú·‘·®cûN(Ò¥×yøÌA±ïø¯ÎIAOS•¥•ªÓ"7G.,àÃB.툷¼ýõêú—ÛËÛaYëf»©õ‡4O²f£ÅŸÈøkúÏ~ü3-w}Žå§7«¤À‚ç`dE¾C ¯o¤Óáïû¶ôM¸wÖ75—޵«±awÛÎÒq[P>Íÿø<Ƕ; ãíÅíO7—¿¬/¯¯¦‘ !ËÈ$yý˜VbÛä $*]W¢9ˆúQ‹CYìJµ:ŸûÈ´ŒëkZù^ç5¨ºG9×zSÙóEòDÒ%›ùgQlR¢*¡r¡9,Ïwí¥ …<`šY¿×:¯ho¬§ma´Tå¹¾0´NßCµÑå<àM[6ù=É–¦¡ì›ªH…Ê2½ä®VxTä‰Ç´†BõA~²†ßaß°3œL޵zT¥Æ ±×û‘W+ Ä‹yûê yÐÛ¢ÔÉÂ_¹vèq-H/²}¤Ðdö© €MðÙãäµ™‚ÁrÞ·ð3ðžF!Д./¶ã(ŒFéB"ºÔ"º¤È«Zá1%?M•Ê@b3ZbYºÕ]fºhT¾!+ô¨R{ÍV4ç ¹L%ø í«îCQ£8j9o•OÉ3QHXV§‡L·h=ª©I7DÖ;P&vì…]†`Ê@Qî¡ØÅA—,Ògâ©hLõV¤Û'A²zÿnuý†·qˆ]Ýœ¯îÏW+Û¨ ݸ—ë·EþÊ8Æx¢ƒx=A¬ºüB‘ 0šZÖT­“o¥ì¿kÐI8(ð :Ñä™®*ŽÒ!¶¤ïjŸf©*YXQJ{ )P•uYPÏ"b!©¨ûjŸ6ˆÅÒÚp­§nà¿(íø=/ˆåœyy–VÔÇV·5 1Fp“î'èþRv™ü•£ölÇï²<‚¤ÙväF²{<Ò¾TkññQç-¶dŠ¥0Æ6^½€.ïuŒ |£´ 4!ÿÓ|¢MŸ¬ÔÖ6jÔ¼f^¸! ÆôeàD®AˆD½#> …wˆ8Ð*›<ÇK’W'BEÐM¡+ðŠCîÉÑó]«ëˆÐáiö°àlç…(ÆA°ˆÀvS‘7}¦aEFK;ÂÖÀ¨¦Ò¦­÷ƒˆÙ˨Wî—·é,B µ´‰þÖcÇ*3(ò‚.2ÒGûù`í;Òö1Y»‘™¬ï¬ŸWçóð¢ËXïnO”ØMªCÇrc“ Ó¨ÚOúCMŸ[ëràÆt–Nî Žß¦î0MÑH»‡¢ªÒ‡ "ÈrÅciïç¼ ÖtÌMÓ )‰>ÔÏŽ¾í¹é“h—£a$ÈÀO»¿¸¼Zßœ'ÁJ¹ìF„é¡jáK:R §–ï@v{ûcѺé¼î?ÿxyå¹ß57¶Oœ—°©PszxÍ\#Í9éÐ?àÊÕµ9cáT³þËåջ𠆦pÊ‘Ëç¨RsŽƒDÿ?μ½ø¹›D0ãÕÐéÏ?´ôŒÝ¶EÇ=WkÓØýàd”X,¤ÁmòΫéäîô½(L/¢c!xŒbßÒRœ–aÕVµ=\áØ`‹Kê2™9ð‹àB”`a3i£Ð(m¶¸Iw4’L‡mCø¨›¶]cÝ:žOí9§X8ôIeFh;=A†ê§öätJÍ%Ú5 Ëÿ¨SF7 Y{U}>-*IJý×ü¶• "§rÝѬ´‡ë4·±bâ8$ ÉÎøžÃ¯êˆ~Œt†ýÌæ™4qßiÁÛÑ`°I¹yð8ˆ?sˈÊw~tìKK¥ü²ßN©­ýÖC~ø·Q5èMíÿˆÚ8#WBºeè36\jÁºl›Œ"-lò:E³oèÐ~X4µÐ™:`ª°1Pžo6šçLyðU{©urãÑ™gŒüÍÅúÃÍ•øÇ\z{)ü‡‹œGWK—Ûi;BÏÃi1§2Îhö‘÷ÚÔû‘šâÝqÇ §)#Q9MMe´ÊŒAf†é†¹:ÜôúëâBœ¯n¯¿{ýu:VÞcZžötºFŒz1à¦65‡Ý–Ã}ÖØb’a2nSƒ˜~—Ã0ñƒµªžØÁ©­¥36sbÅG«ê­tWœÓ ÈÈö¼ilæÔ¸¶‡‘6òÛKªvv méήtAQKJñ^= ^}&¿ì.:%Y¹XÏþŽÿ‡”÷@endstream endobj 6 0 obj 2344 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:08+01:00 2016-01-27T08:26:08+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000002668 00000 n 0000004620 00000 n 0000002609 00000 n 0000002449 00000 n 0000000015 00000 n 0000002429 00000 n 0000002733 00000 n 0000003059 00000 n 0000002994 00000 n 0000002854 00000 n 0000002774 00000 n 0000002804 00000 n 0000002938 00000 n 0000003141 00000 n 0000003197 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [<2BC054482218ACD9525DCCD96B1960BD><2BC054482218ACD9525DCCD96B1960BD>] >> startxref 4774 %%EOF curl-7.47.0/docs/libcurl/curl_share_cleanup.pdf0000644000175000017500000000705612652070421016423 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UÛnÚ@}÷WŒÔ‡ÚU¼Ù]ßÕªM‘š–@ N¥ ªÈ˜›ØF(ý†~tgwͽQeÉ6žÙ3gΜ]žT^í3]×õAaa<L¡}¤+øcB(?ÄsC¯ap"‡„Ä+ƒ1N<ñÖ›é¦ÊëeR‰Ç4I±YOLgbAžMeȲ¹G ¥y‡±$‡Wò­_ñWæ„3¬" È“âžaö;Ö[äŒQæ/rW<3Ì»®?1攸4›q¦’å?H‚ 7ò ð5šA9}i£áŽêÛHÀf> U½ÑÏþà~t;:¤µۊ曬HóÍLÀYöZÞÈò£Lç®l$~76o†½Ñ—´Ä¬=7‹…„2™GÊè> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:09+01:00 2016-01-27T08:26:09+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001143 00000 n 0000003023 00000 n 0000001084 00000 n 0000000924 00000 n 0000000015 00000 n 0000000905 00000 n 0000001208 00000 n 0000001462 00000 n 0000001397 00000 n 0000001329 00000 n 0000001249 00000 n 0000001279 00000 n 0000001544 00000 n 0000001600 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<7E5D0BFC9228BAAA79030E571BA12FCF><7E5D0BFC9228BAAA79030E571BA12FCF>] >> startxref 3177 %%EOF curl-7.47.0/docs/libcurl/curl_free.html0000644000175000017500000000336112652070414014723 00000000000000 curl_free man page

NAME

curl_free - reclaim memory that has been obtained through a libcurl call

SYNOPSIS

#include <curl/curl.h>

void curl_free( char * ptr );

DESCRIPTION

curl_free reclaims memory that has been obtained through a libcurl call. Use curl_free instead of free() to avoid anomalies that can result from differences in memory management between your application and libcurl.

SEE ALSO

curl_easy_unescape, curl_easy_escape

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_mprintf.html0000644000175000017500000001202312652070414015454 00000000000000 curl_printf man page

NAME

curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf curl_mvaprintf, curl_mvfprintf, curl_mvprintf, curl_mvsnprintf, curl_mvsprintf - formatted output conversion

SYNOPSIS

#include <curl/mprintf.h>

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

DESCRIPTION

These are all functions that produce output according to a format string and given arguments. These are mostly clones of the well-known C-style functions and there will be no detailed explanation of all available formatting rules and usage here.

See this table for notable exceptions.

curl_mprintf() Normal printf() clone.

curl_mfprintf() Normal fprintf() clone.

curl_msprintf() Normal sprintf() clone.

curl_msnprintf() snprintf() clone. Many systems don't have this. It is just like sprintf but with an extra argument after the buffer that specifies the length of the target buffer.

curl_mvprintf() Normal vprintf() clone.

curl_mvfprintf() Normal vfprintf() clone.

curl_mvsprintf() Normal vsprintf() clone.

curl_mvsnprintf() vsnprintf() clone. Many systems don't have this. It is just like vsprintf but with an extra argument after the buffer that specifies the length of the target buffer.

curl_maprintf() Like printf() but returns the output string as a malloc()ed string. The returned string must be free()ed by the receiver.

curl_mvaprintf() Like curl_maprintf() but takes a va_list pointer argument instead of a variable amount of arguments.

To easily use all these cloned functions instead of the normal ones, #define _MPRINTF_REPLACE before you include the <curl/mprintf.h> file. Then all the normal names like printf, fprintf, sprintf etc will use the curl-functions instead.

AVAILABILITY

These function will be removed from the public libcurl API in a near future. They will instead be made "available" by source code access only, and then as curlx_-prefixed functions. See lib/README.curlx for further details.

RETURN VALUE

The curl_maprintf and curl_mvaprintf functions return a pointer to a newly allocated string, or NULL if it failed.

All other functions return the number of characters they actually outputted.

SEE ALSO

printf (3), sprintf (3), fprintf (3), vprintf (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_easy_setopt.30000644000175000017500000005674012626067776015572 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH curl_easy_setopt 3 "25 Jun 2014" "libcurl 7.38.0" "libcurl Manual" .SH NAME curl_easy_setopt \- set options for a curl easy handle .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter); .SH DESCRIPTION \fIcurl_easy_setopt(3)\fP is used to tell libcurl how to behave. By setting the appropriate options, the application can change libcurl's behavior. All options are set with an \fIoption\fP followed by a \fIparameter\fP. That parameter can be a \fBlong\fP, a \fBfunction pointer\fP, an \fBobject pointer\fP or a \fBcurl_off_t\fP, depending on what the specific option expects. Read this manual carefully as bad input values may cause libcurl to behave badly! You can only set one option in each function call. A typical application uses many \fIcurl_easy_setopt(3)\fP calls in the setup phase. Options set with this function call are valid for all forthcoming transfers performed using this \fIhandle\fP. The options are not in any way reset between transfers, so if you want subsequent transfers with different options, you must change them between the transfers. You can optionally reset all options back to internal default with \fIcurl_easy_reset(3)\fP. Strings passed to libcurl as 'char *' arguments, are copied by the library; thus the string storage associated to the pointer argument may be overwritten after \fIcurl_easy_setopt(3)\fP returns. The only exception to this rule is really \fICURLOPT_POSTFIELDS(3)\fP, but the alternative that copies the string \fICURLOPT_COPYPOSTFIELDS(3)\fP has some usage characteristics you need to read up on. The order in which the options are set does not matter. Before version 7.17.0, strings were not copied. Instead the user was forced keep them available until libcurl no longer needed them. The \fIhandle\fP is the return code from a \fIcurl_easy_init(3)\fP or \fIcurl_easy_duphandle(3)\fP call. .SH BEHAVIOR OPTIONS .IP CURLOPT_VERBOSE Display verbose information. See \fICURLOPT_VERBOSE(3)\fP .IP CURLOPT_HEADER Include the header in the body output. See \fICURLOPT_HEADER(3)\fP .IP CURLOPT_NOPROGRESS Shut off the progress meter. See \fICURLOPT_NOPROGRESS(3)\fP .IP CURLOPT_NOSIGNAL Do not install signal handlers. See \fICURLOPT_NOSIGNAL(3)\fP .IP CURLOPT_WILDCARDMATCH Transfer multiple files according to a file name pattern. See \fICURLOPT_WILDCARDMATCH(3)\fP .SH CALLBACK OPTIONS .IP CURLOPT_WRITEFUNCTION Callback for writing data. See \fICURLOPT_WRITEFUNCTION(3)\fP .IP CURLOPT_WRITEDATA Data pointer to pass to the write callback. See \fICURLOPT_WRITEDATA(3)\fP .IP CURLOPT_READFUNCTION Callback for reading data. See \fICURLOPT_READFUNCTION(3)\fP .IP CURLOPT_READDATA Data pointer to pass to the read callback. See \fICURLOPT_READDATA(3)\fP .IP CURLOPT_IOCTLFUNCTION Callback for I/O operations. See \fICURLOPT_IOCTLFUNCTION(3)\fP .IP CURLOPT_IOCTLDATA Data pointer to pass to the I/O callback. See \fICURLOPT_IOCTLDATA(3)\fP .IP CURLOPT_SEEKFUNCTION Callback for seek operations. See \fICURLOPT_SEEKFUNCTION(3)\fP .IP CURLOPT_SEEKDATA Data pointer to pass to the seek callback. See \fICURLOPT_SEEKDATA(3)\fP .IP CURLOPT_SOCKOPTFUNCTION Callback for sockopt operations. See \fICURLOPT_SOCKOPTFUNCTION(3)\fP .IP CURLOPT_SOCKOPTDATA Data pointer to pass to the sockopt callback. See \fICURLOPT_SOCKOPTDATA(3)\fP .IP CURLOPT_OPENSOCKETFUNCTION Callback for socket creation. See \fICURLOPT_OPENSOCKETFUNCTION(3)\fP .IP CURLOPT_OPENSOCKETDATA Data pointer to pass to the open socket callback. See \fICURLOPT_OPENSOCKETDATA(3)\fP .IP CURLOPT_CLOSESOCKETFUNCTION Callback for closing socket. See \fICURLOPT_CLOSESOCKETFUNCTION(3)\fP .IP CURLOPT_CLOSESOCKETDATA Data pointer to pass to the close socket callback. See \fICURLOPT_CLOSESOCKETDATA(3)\fP .IP CURLOPT_PROGRESSFUNCTION OBSOLETE callback for progress meter. See \fICURLOPT_PROGRESSFUNCTION(3)\fP .IP CURLOPT_PROGRESSDATA Data pointer to pass to the progress meter callback. See \fICURLOPT_PROGRESSDATA(3)\fP .IP CURLOPT_XFERINFOFUNCTION Callback for progress meter. See \fICURLOPT_XFERINFOFUNCTION(3)\fP .IP CURLOPT_XFERINFODATA Data pointer to pass to the progress meter callback. See \fICURLOPT_XFERINFODATA(3)\fP .IP CURLOPT_HEADERFUNCTION Callback for writing received headers. See \fICURLOPT_HEADERFUNCTION(3)\fP .IP CURLOPT_HEADERDATA Data pointer to pass to the header callback. See \fICURLOPT_HEADERDATA(3)\fP .IP CURLOPT_DEBUGFUNCTION Callback for debug information. See \fICURLOPT_DEBUGFUNCTION(3)\fP .IP CURLOPT_DEBUGDATA Data pointer to pass to the debug callback. See \fICURLOPT_DEBUGDATA(3)\fP .IP CURLOPT_SSL_CTX_FUNCTION Callback for SSL context logic. See \fICURLOPT_SSL_CTX_FUNCTION(3)\fP .IP CURLOPT_SSL_CTX_DATA Data pointer to pass to the SSL context callback. See \fICURLOPT_SSL_CTX_DATA(3)\fP .IP CURLOPT_CONV_TO_NETWORK_FUNCTION Callback for code base conversion. See \fICURLOPT_CONV_TO_NETWORK_FUNCTION(3)\fP .IP CURLOPT_CONV_FROM_NETWORK_FUNCTION Callback for code base conversion. See \fICURLOPT_CONV_FROM_NETWORK_FUNCTION(3)\fP .IP CURLOPT_CONV_FROM_UTF8_FUNCTION Callback for code base conversion. See \fICURLOPT_CONV_FROM_UTF8_FUNCTION(3)\fP .IP CURLOPT_INTERLEAVEFUNCTION Callback for RTSP interleaved data. See \fICURLOPT_INTERLEAVEFUNCTION(3)\fP .IP CURLOPT_INTERLEAVEDATA Data pointer to pass to the RTSP interleave callback. See \fICURLOPT_INTERLEAVEDATA(3)\fP .IP CURLOPT_CHUNK_BGN_FUNCTION Callback for wildcard download start of chunk. See \fICURLOPT_CHUNK_BGN_FUNCTION(3)\fP .IP CURLOPT_CHUNK_END_FUNCTION Callback for wildcard download end of chunk. See \fICURLOPT_CHUNK_END_FUNCTION(3)\fP .IP CURLOPT_CHUNK_DATA Data pointer to pass to the chunk callbacks. See \fICURLOPT_CHUNK_DATA(3)\fP .IP CURLOPT_FNMATCH_FUNCTION Callback for wildcard matching. See \fICURLOPT_FNMATCH_FUNCTION(3)\fP .IP CURLOPT_FNMATCH_DATA Data pointer to pass to the wildcard matching callback. See \fICURLOPT_FNMATCH_DATA(3)\fP .SH ERROR OPTIONS .IP CURLOPT_ERRORBUFFER Error message buffer. See \fICURLOPT_ERRORBUFFER(3)\fP .IP CURLOPT_STDERR stderr replacement stream. See \fICURLOPT_STDERR(3)\fP .IP CURLOPT_FAILONERROR Fail on HTTP 4xx errors. \fICURLOPT_FAILONERROR(3)\fP .SH NETWORK OPTIONS .IP CURLOPT_URL URL to work on. See \fICURLOPT_URL(3)\fP .IP CURLOPT_PATH_AS_IS Disable squashing /../ and /./ sequences in the path. See \fICURLOPT_PATH_AS_IS(3)\fP .IP CURLOPT_PROTOCOLS Allowed protocols. See \fICURLOPT_PROTOCOLS(3)\fP .IP CURLOPT_REDIR_PROTOCOLS Protocols to allow redirects to. See \fICURLOPT_REDIR_PROTOCOLS(3)\fP .IP CURLOPT_DEFAULT_PROTOCOL Default protocol. See \fICURLOPT_DEFAULT_PROTOCOL(3)\fP .IP CURLOPT_PROXY Proxy to use. See \fICURLOPT_PROXY(3)\fP .IP CURLOPT_PROXYPORT Proxy port to use. See \fICURLOPT_PROXYPORT(3)\fP .IP CURLOPT_PROXYTYPE Proxy type. See \fICURLOPT_PROXYTYPE(3)\fP .IP CURLOPT_NOPROXY Filter out hosts from proxy use. \fICURLOPT_NOPROXY(3)\fP .IP CURLOPT_HTTPPROXYTUNNEL Tunnel through the HTTP proxy. \fICURLOPT_HTTPPROXYTUNNEL(3)\fP .IP CURLOPT_SOCKS5_GSSAPI_SERVICE Socks5 GSSAPI service name. \fICURLOPT_SOCKS5_GSSAPI_SERVICE(3)\fP .IP CURLOPT_SOCKS5_GSSAPI_NEC Socks5 GSSAPI NEC mode. See \fICURLOPT_SOCKS5_GSSAPI_NEC(3)\fP .IP CURLOPT_PROXY_SERVICE_NAME Proxy service name. \fICURLOPT_PROXY_SERVICE_NAME(3)\fP .IP CURLOPT_SERVICE_NAME SPNEGO service name. \fICURLOPT_SERVICE_NAME(3)\fP .IP CURLOPT_INTERFACE Bind connection locally to this. See \fICURLOPT_INTERFACE(3)\fP .IP CURLOPT_LOCALPORT Bind connection locally to this port. See \fICURLOPT_LOCALPORT(3)\fP .IP CURLOPT_LOCALPORTRANGE Bind connection locally to port range. See \fICURLOPT_LOCALPORTRANGE(3)\fP .IP CURLOPT_DNS_CACHE_TIMEOUT Timeout for DNS cache. See \fICURLOPT_DNS_CACHE_TIMEOUT(3)\fP .IP CURLOPT_DNS_USE_GLOBAL_CACHE OBSOLETE Enable global DNS cache. See \fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP .IP CURLOPT_BUFFERSIZE Ask for smaller buffer size. See \fICURLOPT_BUFFERSIZE(3)\fP .IP CURLOPT_PORT Port number to connect to. See \fICURLOPT_PORT(3)\fP .IP CURLOPT_TCP_NODELAY Disable the Nagle algorithm. See \fICURLOPT_TCP_NODELAY(3)\fP .IP CURLOPT_ADDRESS_SCOPE IPv6 scope for local addresses. See \fICURLOPT_ADDRESS_SCOPE(3)\fP .IP CURLOPT_TCP_KEEPALIVE Enable TCP keep-alive. See \fICURLOPT_TCP_KEEPALIVE(3)\fP .IP CURLOPT_TCP_KEEPIDLE Idle time before sending keep-alive. See \fICURLOPT_TCP_KEEPIDLE(3)\fP .IP CURLOPT_TCP_KEEPINTVL Interval between keep-alive probes. See \fICURLOPT_TCP_KEEPINTVL(3)\fP .IP CURLOPT_UNIX_SOCKET_PATH Path to a Unix domain socket. See \fICURLOPT_UNIX_SOCKET_PATH(3)\fP .SH NAMES and PASSWORDS OPTIONS (Authentication) .IP CURLOPT_NETRC Enable .netrc parsing. See \fICURLOPT_NETRC(3)\fP .IP CURLOPT_NETRC_FILE \&.netrc file name. See \fICURLOPT_NETRC_FILE(3)\fP .IP CURLOPT_USERPWD User name and password. See \fICURLOPT_USERPWD(3)\fP .IP CURLOPT_PROXYUSERPWD Proxy user name and password. See \fICURLOPT_PROXYUSERPWD(3)\fP .IP CURLOPT_USERNAME User name. See \fICURLOPT_USERNAME(3)\fP .IP CURLOPT_PASSWORD Password. See \fICURLOPT_PASSWORD(3)\fP .IP CURLOPT_LOGIN_OPTIONS Login options. See \fICURLOPT_LOGIN_OPTIONS(3)\fP .IP CURLOPT_PROXYUSERNAME Proxy user name. See \fICURLOPT_PROXYUSERNAME(3)\fP .IP CURLOPT_PROXYPASSWORD Proxy password. See \fICURLOPT_PROXYPASSWORD(3)\fP .IP CURLOPT_HTTPAUTH HTTP server authentication methods. See \fICURLOPT_HTTPAUTH(3)\fP .IP CURLOPT_TLSAUTH_USERNAME TLS authentication user name. See \fICURLOPT_TLSAUTH_USERNAME(3)\fP .IP CURLOPT_TLSAUTH_PASSWORD TLS authentication password. See \fICURLOPT_TLSAUTH_PASSWORD(3)\fP .IP CURLOPT_TLSAUTH_TYPE TLS authentication methods. See \fICURLOPT_TLSAUTH_TYPE(3)\fP .IP CURLOPT_PROXYAUTH HTTP proxy authentication methods. See \fICURLOPT_PROXYAUTH(3)\fP .IP CURLOPT_SASL_IR Enable SASL initial response. See \fICURLOPT_SASL_IR(3)\fP .IP CURLOPT_XOAUTH2_BEARER OAuth2 bearer token. See \fICURLOPT_XOAUTH2_BEARER(3)\fP .SH HTTP OPTIONS .IP CURLOPT_AUTOREFERER Automatically set Referer: header. See \fICURLOPT_AUTOREFERER(3)\fP .IP CURLOPT_ACCEPT_ENCODING Accept-Encoding and automatic decompressing data. See \fICURLOPT_ACCEPT_ENCODING(3)\fP .IP CURLOPT_TRANSFER_ENCODING Request Transfer-Encoding. See \fICURLOPT_TRANSFER_ENCODING(3)\fP .IP CURLOPT_FOLLOWLOCATION Follow HTTP redirects. See \fICURLOPT_FOLLOWLOCATION(3)\fP .IP CURLOPT_UNRESTRICTED_AUTH Do not restrict authentication to original host. \fICURLOPT_UNRESTRICTED_AUTH(3)\fP .IP CURLOPT_MAXREDIRS Maximum number of redirects to follow. See \fICURLOPT_MAXREDIRS(3)\fP .IP CURLOPT_POSTREDIR How to act on redirects after POST. See \fICURLOPT_POSTREDIR(3)\fP .IP CURLOPT_PUT Issue a HTTP PUT request. See \fICURLOPT_PUT(3)\fP .IP CURLOPT_POST Issue a HTTP POST request. See \fICURLOPT_POST(3)\fP .IP CURLOPT_POSTFIELDS Send a POST with this data. See \fICURLOPT_POSTFIELDS(3)\fP .IP CURLOPT_POSTFIELDSIZE The POST data is this big. See \fICURLOPT_POSTFIELDSIZE(3)\fP .IP CURLOPT_POSTFIELDSIZE_LARGE The POST data is this big. See \fICURLOPT_POSTFIELDSIZE_LARGE(3)\fP .IP CURLOPT_COPYPOSTFIELDS Send a POST with this data - and copy it. See \fICURLOPT_COPYPOSTFIELDS(3)\fP .IP CURLOPT_HTTPPOST Multipart formpost HTTP POST. See \fICURLOPT_HTTPPOST(3)\fP .IP CURLOPT_REFERER Referer: header. See \fICURLOPT_REFERER(3)\fP .IP CURLOPT_USERAGENT User-Agent: header. See \fICURLOPT_USERAGENT(3)\fP .IP CURLOPT_HTTPHEADER Custom HTTP headers. See \fICURLOPT_HTTPHEADER(3)\fP .IP CURLOPT_HEADEROPT Control custom headers. See \fICURLOPT_HEADEROPT(3)\fP .IP CURLOPT_PROXYHEADER Custom HTTP headers sent to proxy. See \fICURLOPT_PROXYHEADER(3)\fP .IP CURLOPT_HTTP200ALIASES Alternative versions of 200 OK. See \fICURLOPT_HTTP200ALIASES(3)\fP .IP CURLOPT_COOKIE Cookie(s) to send. See \fICURLOPT_COOKIE(3)\fP .IP CURLOPT_COOKIEFILE File to read cookies from. See \fICURLOPT_COOKIEFILE(3)\fP .IP CURLOPT_COOKIEJAR File to write cookies to. See \fICURLOPT_COOKIEJAR(3)\fP .IP CURLOPT_COOKIESESSION Start a new cookie session. See \fICURLOPT_COOKIESESSION(3)\fP .IP CURLOPT_COOKIELIST Add or control cookies. See \fICURLOPT_COOKIELIST(3)\fP .IP CURLOPT_HTTPGET Do a HTTP GET request. See \fICURLOPT_HTTPGET(3)\fP .IP CURLOPT_HTTP_VERSION HTTP version to use. \fICURLOPT_HTTP_VERSION(3)\fP .IP CURLOPT_IGNORE_CONTENT_LENGTH Ignore Content-Length. See \fICURLOPT_IGNORE_CONTENT_LENGTH(3)\fP .IP CURLOPT_HTTP_CONTENT_DECODING Disable Content decoding. See \fICURLOPT_HTTP_CONTENT_DECODING(3)\fP .IP CURLOPT_HTTP_TRANSFER_DECODING Disable Transfer decoding. See \fICURLOPT_HTTP_TRANSFER_DECODING(3)\fP .IP CURLOPT_EXPECT_100_TIMEOUT_MS 100-continue timeout. See \fICURLOPT_EXPECT_100_TIMEOUT_MS(3)\fP .IP CURLOPT_PIPEWAIT Wait on connection to pipeline on it. See \fICURLOPT_PIPEWAIT(3)\fP .IP CURLOPT_STREAM_DEPENDS This HTTP/2 stream depends on another. See \fICURLOPT_STREAM_DEPENDS(3)\fP .IP CURLOPT_STREAM_DEPENDS_E This HTTP/2 stream depends on another exclusively. See \fICURLOPT_STREAM_DEPENDS_E(3)\fP .IP CURLOPT_STREAM_WEIGHT Set this HTTP/2 stream's weight. See \fICURLOPT_STREAM_WEIGHT(3)\fP .SH SMTP OPTIONS .IP CURLOPT_MAIL_FROM Address of the sender. See \fICURLOPT_MAIL_FROM(3)\fP .IP CURLOPT_MAIL_RCPT Address of the recipients. See \fICURLOPT_MAIL_RCPT(3)\fP .IP CURLOPT_MAIL_AUTH Authentication address. See \fICURLOPT_MAIL_AUTH(3)\fP .SH TFTP OPTIONS .IP CURLOPT_TFTP_BLKSIZE TFTP block size. See \fICURLOPT_TFTP_BLKSIZE(3)\fP .SH FTP OPTIONS .IP CURLOPT_FTPPORT Use active FTP. See \fICURLOPT_FTPPORT(3)\fP .IP CURLOPT_QUOTE Commands to run before transfer. See \fICURLOPT_QUOTE(3)\fP .IP CURLOPT_POSTQUOTE Commands to run after transfer. See \fICURLOPT_POSTQUOTE(3)\fP .IP CURLOPT_PREQUOTE Commands to run just before transfer. See \fICURLOPT_PREQUOTE(3)\fP .IP CURLOPT_APPEND Append to remote file. See \fICURLOPT_APPEND(3)\fP .IP CURLOPT_FTP_USE_EPRT Use EPTR. See \fICURLOPT_FTP_USE_EPRT(3)\fP .IP CURLOPT_FTP_USE_EPSV Use EPSV. See \fICURLOPT_FTP_USE_EPSV(3)\fP .IP CURLOPT_FTP_USE_PRET Use PRET. See \fICURLOPT_FTP_USE_PRET(3)\fP .IP CURLOPT_FTP_CREATE_MISSING_DIRS Create missing directories on the remote server. See \fICURLOPT_FTP_CREATE_MISSING_DIRS(3)\fP .IP CURLOPT_FTP_RESPONSE_TIMEOUT Timeout for FTP responses. See \fICURLOPT_FTP_RESPONSE_TIMEOUT(3)\fP .IP CURLOPT_FTP_ALTERNATIVE_TO_USER Alternative to USER. See \fICURLOPT_FTP_ALTERNATIVE_TO_USER(3)\fP .IP CURLOPT_FTP_SKIP_PASV_IP Ignore the IP address in the PASV response. See \fICURLOPT_FTP_SKIP_PASV_IP(3)\fP .IP CURLOPT_FTPSSLAUTH Control how to do TLS. See \fICURLOPT_FTPSSLAUTH(3)\fP .IP CURLOPT_FTP_SSL_CCC Back to non-TLS again after authentication. See \fICURLOPT_FTP_SSL_CCC(3)\fP .IP CURLOPT_FTP_ACCOUNT Send ACCT command. See \fICURLOPT_FTP_ACCOUNT(3)\fP .IP CURLOPT_FTP_FILEMETHOD Specify how to reach files. See \fICURLOPT_FTP_FILEMETHOD(3)\fP .SH RTSP OPTIONS .IP CURLOPT_RTSP_REQUEST RTSP request. See \fICURLOPT_RTSP_REQUEST(3)\fP .IP CURLOPT_RTSP_SESSION_ID RTSP session-id. See \fICURLOPT_RTSP_SESSION_ID(3)\fP .IP CURLOPT_RTSP_STREAM_URI RTSP stream URI. See \fICURLOPT_RTSP_STREAM_URI(3)\fP .IP CURLOPT_RTSP_TRANSPORT RTSP Transport: header. See \fICURLOPT_RTSP_TRANSPORT(3)\fP .IP CURLOPT_RTSP_CLIENT_CSEQ Client CSEQ number. See \fICURLOPT_RTSP_CLIENT_CSEQ(3)\fP .IP CURLOPT_RTSP_SERVER_CSEQ CSEQ number for RTSP Server->Client request. See \fICURLOPT_RTSP_SERVER_CSEQ(3)\fP .SH PROTOCOL OPTIONS .IP CURLOPT_TRANSFERTEXT Use text transfer. See \fICURLOPT_TRANSFERTEXT(3)\fP .IP CURLOPT_PROXY_TRANSFER_MODE Add transfer mode to URL over proxy. See \fICURLOPT_PROXY_TRANSFER_MODE(3)\fP .IP CURLOPT_CRLF Convert newlines. See \fICURLOPT_CRLF(3)\fP .IP CURLOPT_RANGE Range requests. See \fICURLOPT_RANGE(3)\fP .IP CURLOPT_RESUME_FROM Resume a transfer. See \fICURLOPT_RESUME_FROM(3)\fP .IP CURLOPT_RESUME_FROM_LARGE Resume a transfer. See \fICURLOPT_RESUME_FROM_LARGE(3)\fP .IP CURLOPT_CUSTOMREQUEST Custom request/method. See \fICURLOPT_CUSTOMREQUEST(3)\fP .IP CURLOPT_FILETIME Request file modification date and time. See \fICURLOPT_FILETIME(3)\fP .IP CURLOPT_DIRLISTONLY List only. See \fICURLOPT_DIRLISTONLY(3)\fP .IP CURLOPT_NOBODY Do not get the body contents. See \fICURLOPT_NOBODY(3)\fP .IP CURLOPT_INFILESIZE Size of file to send. \fICURLOPT_INFILESIZE(3)\fP .IP CURLOPT_INFILESIZE_LARGE Size of file to send. \fICURLOPT_INFILESIZE_LARGE(3)\fP .IP CURLOPT_UPLOAD Upload data. See \fICURLOPT_UPLOAD(3)\fP .IP CURLOPT_MAXFILESIZE Maximum file size to get. See \fICURLOPT_MAXFILESIZE(3)\fP .IP CURLOPT_MAXFILESIZE_LARGE Maximum file size to get. See \fICURLOPT_MAXFILESIZE_LARGE(3)\fP .IP CURLOPT_TIMECONDITION Make a time conditional request. See \fICURLOPT_TIMECONDITION(3)\fP .IP CURLOPT_TIMEVALUE Time value for the time conditional request. See \fICURLOPT_TIMEVALUE(3)\fP .SH CONNECTION OPTIONS .IP CURLOPT_TIMEOUT Timeout for the entire request. See \fICURLOPT_TIMEOUT(3)\fP .IP CURLOPT_TIMEOUT_MS Millisecond timeout for the entire request. See \fICURLOPT_TIMEOUT_MS(3)\fP .IP CURLOPT_LOW_SPEED_LIMIT Low speed limit to abort transfer. See \fICURLOPT_LOW_SPEED_LIMIT(3)\fP .IP CURLOPT_LOW_SPEED_TIME Time to be below the speed to trigger low speed abort. See \fICURLOPT_LOW_SPEED_TIME(3)\fP .IP CURLOPT_MAX_SEND_SPEED_LARGE Cap the upload speed to this. See \fICURLOPT_MAX_SEND_SPEED_LARGE(3)\fP .IP CURLOPT_MAX_RECV_SPEED_LARGE Cap the download speed to this. See \fICURLOPT_MAX_RECV_SPEED_LARGE(3)\fP .IP CURLOPT_MAXCONNECTS Maximum number of connections in the connection pool. See \fICURLOPT_MAXCONNECTS(3)\fP .IP CURLOPT_FRESH_CONNECT Use a new connection. \fICURLOPT_FRESH_CONNECT(3)\fP .IP CURLOPT_FORBID_REUSE Prevent subsequent connections from re-using this. See \fICURLOPT_FORBID_REUSE(3)\fP .IP CURLOPT_CONNECTTIMEOUT Timeout for the connection phase. See \fICURLOPT_CONNECTTIMEOUT(3)\fP .IP CURLOPT_CONNECTTIMEOUT_MS Millisecond timeout for the connection phase. See \fICURLOPT_CONNECTTIMEOUT_MS(3)\fP .IP CURLOPT_IPRESOLVE IP version to resolve to. See \fICURLOPT_IPRESOLVE(3)\fP .IP CURLOPT_CONNECT_ONLY Only connect, nothing else. See \fICURLOPT_CONNECT_ONLY(3)\fP .IP CURLOPT_USE_SSL Use TLS/SSL. See \fICURLOPT_USE_SSL(3)\fP .IP CURLOPT_RESOLVE Provide fixed/fake name resolves. See \fICURLOPT_RESOLVE(3)\fP .IP CURLOPT_DNS_INTERFACE Bind name resolves to this interface. See \fICURLOPT_DNS_INTERFACE(3)\fP .IP CURLOPT_DNS_LOCAL_IP4 Bind name resolves to this IP4 address. See \fICURLOPT_DNS_LOCAL_IP4(3)\fP .IP CURLOPT_DNS_LOCAL_IP6 Bind name resolves to this IP6 address. See \fICURLOPT_DNS_LOCAL_IP6(3)\fP .IP CURLOPT_DNS_SERVERS Preferred DNS servers. See \fICURLOPT_DNS_SERVERS(3)\fP .IP CURLOPT_ACCEPTTIMEOUT_MS Timeout for waiting for the server's connect back to be accepted. See \fICURLOPT_ACCEPTTIMEOUT_MS(3)\fP .SH SSL and SECURITY OPTIONS .IP CURLOPT_SSLCERT Client cert. See \fICURLOPT_SSLCERT(3)\fP .IP CURLOPT_SSLCERTTYPE Client cert type. See \fICURLOPT_SSLCERTTYPE(3)\fP .IP CURLOPT_SSLKEY Client key. See \fICURLOPT_SSLKEY(3)\fP .IP CURLOPT_SSLKEYTYPE Client key type. See \fICURLOPT_SSLKEYTYPE(3)\fP .IP CURLOPT_KEYPASSWD Client key password. See \fICURLOPT_KEYPASSWD(3)\fP .IP CURLOPT_SSL_ENABLE_ALPN Enable use of ALPN. See \fICURLOPT_SSL_ENABLE_ALPN(3)\fP .IP CURLOPT_SSL_ENABLE_NPN Enable use of NPN. See \fICURLOPT_SSL_ENABLE_NPN(3)\fP .IP CURLOPT_SSLENGINE Use identifier with SSL engine. See \fICURLOPT_SSLENGINE(3)\fP .IP CURLOPT_SSLENGINE_DEFAULT Default SSL engine. See \fICURLOPT_SSLENGINE_DEFAULT(3)\fP .IP CURLOPT_SSL_FALSESTART Enable TLS False Start. See \fICURLOPT_SSL_FALSESTART(3)\fP .IP CURLOPT_SSLVERSION SSL version to use. See \fICURLOPT_SSLVERSION(3)\fP .IP CURLOPT_SSL_VERIFYHOST Verify the host name in the SSL certificate. See \fICURLOPT_SSL_VERIFYHOST(3)\fP .IP CURLOPT_SSL_VERIFYPEER Verify the SSL certificate. See \fICURLOPT_SSL_VERIFYPEER(3)\fP .IP CURLOPT_SSL_VERIFYSTATUS Verify the SSL certificate's status. See \fICURLOPT_SSL_VERIFYSTATUS(3)\fP .IP CURLOPT_CAINFO CA cert bundle. See \fICURLOPT_CAINFO(3)\fP .IP CURLOPT_ISSUERCERT Issuer certificate. See \fICURLOPT_ISSUERCERT(3)\fP .IP CURLOPT_CAPATH Path to CA cert bundle. See \fICURLOPT_CAPATH(3)\fP .IP CURLOPT_CRLFILE Certificate Revocation List. See \fICURLOPT_CRLFILE(3)\fP .IP CURLOPT_CERTINFO Extract certificate info. See \fICURLOPT_CERTINFO(3)\fP .IP CURLOPT_PINNEDPUBLICKEY Set pinned SSL public key . See \fICURLOPT_PINNEDPUBLICKEY(3)\fP .IP CURLOPT_RANDOM_FILE Provide source for entropy random data. See \fICURLOPT_RANDOM_FILE(3)\fP .IP CURLOPT_EGDSOCKET Identify EGD socket for entropy. See \fICURLOPT_EGDSOCKET(3)\fP .IP CURLOPT_SSL_CIPHER_LIST Ciphers to use. See \fICURLOPT_SSL_CIPHER_LIST(3)\fP .IP CURLOPT_SSL_SESSIONID_CACHE Disable SSL session-id cache. See \fICURLOPT_SSL_SESSIONID_CACHE(3)\fP .IP CURLOPT_SSL_OPTIONS Control SSL behavior. See \fICURLOPT_SSL_OPTIONS(3)\fP .IP CURLOPT_KRBLEVEL Kerberos security level. See \fICURLOPT_KRBLEVEL(3)\fP .IP CURLOPT_GSSAPI_DELEGATION Disable GSS-API delegation. See \fICURLOPT_GSSAPI_DELEGATION(3)\fP .SH SSH OPTIONS .IP CURLOPT_SSH_AUTH_TYPES SSH authentication types. See \fICURLOPT_SSH_AUTH_TYPES(3)\fP .IP CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 MD5 of host's public key. See \fICURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3)\fP .IP CURLOPT_SSH_PUBLIC_KEYFILE File name of public key. See \fICURLOPT_SSH_PUBLIC_KEYFILE(3)\fP .IP CURLOPT_SSH_PRIVATE_KEYFILE File name of private key. See \fICURLOPT_SSH_PRIVATE_KEYFILE(3)\fP .IP CURLOPT_SSH_KNOWNHOSTS File name with known hosts. See \fICURLOPT_SSH_KNOWNHOSTS(3)\fP .IP CURLOPT_SSH_KEYFUNCTION Callback for known hosts handling. See \fICURLOPT_SSH_KEYFUNCTION(3)\fP .IP CURLOPT_SSH_KEYDATA Custom pointer to pass to ssh key callback. See \fICURLOPT_SSH_KEYDATA(3)\fP .SH OTHER OPTIONS .IP CURLOPT_PRIVATE Private pointer to store. See \fICURLOPT_PRIVATE(3)\fP .IP CURLOPT_SHARE Share object to use. See \fICURLOPT_SHARE(3)\fP .IP CURLOPT_NEW_FILE_PERMS Mode for creating new remote files. See \fICURLOPT_NEW_FILE_PERMS(3)\fP .IP CURLOPT_NEW_DIRECTORY_PERMS Mode for creating new remote directories. See \fICURLOPT_NEW_DIRECTORY_PERMS(3)\fP .SH TELNET OPTIONS .IP CURLOPT_TELNETOPTIONS TELNET options. See \fICURLOPT_TELNETOPTIONS(3)\fP .SH RETURN VALUE \fICURLE_OK\fP (zero) means that the option was set properly, non-zero means an error occurred as \fI\fP defines. See the \fIlibcurl-errors(3)\fP man page for the full list with descriptions. If you try to set an option that libcurl doesn't know about, perhaps because the library is too old to support it or the option was removed in a recent version, this function will return \fICURLE_UNKNOWN_OPTION\fP. If support for the option was disabled at compile-time, it will return \fICURLE_NOT_BUILT_IN\fP. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { CURLcode res; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); res = curl_easy_perform(curl); curl_easy_cleanup(curl); } .fi .SH "SEE ALSO" .BR curl_easy_init "(3), " curl_easy_cleanup "(3), " curl_easy_reset "(3), " .BR curl_easy_getinfo "(3), " curl_multi_setopt "(3), " curl-7.47.0/docs/libcurl/libcurl-multi.html0000644000175000017500000002656612652070414015555 00000000000000 libcurl-multi man page

NAME

libcurl-multi - how to use the multi interface

DESCRIPTION

This is an overview on how to use the libcurl multi interface in your C programs. There are specific man pages for each function mentioned in here. There's also the libcurl-tutorial man page for a complete tutorial to programming with libcurl and the libcurl-easy man page for an overview of the libcurl easy interface.

All functions in the multi interface are prefixed with curl_multi.

OBJECTIVES

The multi interface offers several abilities that the easy interface doesn't. They are mainly:

1. Enable a "pull" interface. The application that uses libcurl decides where and when to ask libcurl to get/send data.

2. Enable multiple simultaneous transfers in the same thread without making it complicated for the application.

3. Enable the application to wait for action on its own file descriptors and curl's file descriptors simultaneous easily.

4. Enable event-based handling and scaling transfers up to and beyond thousands of parallel connections.

ONE MULTI HANDLE MANY EASY HANDLES

To use the multi interface, you must first create a 'multi handle' with curl_multi_init. This handle is then used as input to all further curl_multi_* functions.

With a multi handle and the multi interface you can do several simultaneous transfers in parallel. Each single transfer is built up around an easy handle. You create all the easy handles you need, and setup the appropriate options for each easy handle using curl_easy_setopt.

There are two flavours of the multi interface, the select() oriented one and the event based one we call multi_socket. You will benefit from reading through the description of both versions to fully understand how they work and differentiate. We start out with the select() oriented version.

When an easy handle is setup and ready for transfer, then instead of using curl_easy_perform like when using the easy interface for transfers, you should add the easy handle to the multi handle with curl_multi_add_handle. You can add more easy handles to a multi handle at any point, even if other transfers are already running.

Should you change your mind, the easy handle is again removed from the multi stack using curl_multi_remove_handle. Once removed from the multi handle, you can again use other easy interface functions like curl_easy_perform on the handle or whatever you think is necessary. You can remove handles at any point in time during transfers.

Adding the easy handle to the multi handle does not start the transfer. Remember that one of the main ideas with this interface is to let your application drive. You drive the transfers by invoking curl_multi_perform. libcurl will then transfer data if there is anything available to transfer. It'll use the callbacks and everything else you have setup in the individual easy handles. It'll transfer data on all current transfers in the multi stack that are ready to transfer anything. It may be all, it may be none. When there's nothing more to do for now, it returns back to the calling application.

Your application extracts info from libcurl about when it would like to get invoked to transfer data or do other work. The most convenient way is to use curl_multi_wait that will help you wait until the application should call libcurl again. The older API to accomplish the same thing is curl_multi_fdset that extracts fd_sets from libcurl to use in select() or poll() calls in order to get to know when the transfers in the multi stack might need attention. Both these APIs allow for your program to wait for input on your own private file descriptors at the same time curl_multi_timeout also helps you with providing a suitable timeout period for your select() calls.

curl_multi_perform stores the number of still running transfers in one of its input arguments, and by reading that you can figure out when all the transfers in the multi handles are done. 'done' does not mean successful. One or more of the transfers may have failed. Tracking when this number changes, you know when one or more transfers are done.

To get information about completed transfers, to figure out success or not and similar, curl_multi_info_read should be called. It can return a message about a current or previous transfer. Repeated invokes of the function get more messages until the message queue is empty. The information you receive there includes an easy handle pointer which you may use to identify which easy handle the information regards.

When a single transfer is completed, the easy handle is still left added to the multi stack. You need to first remove the easy handle with curl_multi_remove_handle and then close it with curl_easy_cleanup, or possibly set new options to it and add it again with curl_multi_add_handle to start another transfer.

When all transfers in the multi stack are done, close the multi handle with curl_multi_cleanup. Be careful and please note that you MUST invoke separate curl_easy_cleanup calls for every single easy handle to clean them up properly.

If you want to re-use an easy handle that was added to the multi handle for transfer, you must first remove it from the multi stack and then re-add it again (possibly after having altered some options at your own choice).

MULTI_SOCKET

curl_multi_socket_action function offers a way for applications to not only avoid being forced to use select(), but it also offers a much more high-performance API that will make a significant difference for applications using large numbers of simultaneous connections.

curl_multi_socket_action is then used instead of curl_multi_perform.

When using this API, you add easy handles to the multi handle just as with the normal multi interface. Then you also set two callbacks with the CURLMOPT_SOCKETFUNCTION and CURLMOPT_TIMERFUNCTION options to curl_multi_setopt. They are two callback functions that libcurl will call with information about what sockets to wait for, and for what activity, and what the current timeout time is - if that expires libcurl should be notified.

The multi_socket API is designed to inform your application about which sockets libcurl is currently using and for what activities (read and/or write) on those sockets your application is expected to wait for.

Your application must make sure to receive all sockets informed about in the CURLMOPT_SOCKETFUNCTION callback and make sure it reacts on the given activity on them. When a socket has the given activity, you call curl_multi_socket_action specifying which socket and action there are.

The CURLMOPT_TIMERFUNCTION callback is called to set a timeout. When that timeout expires, your application should call the curl_multi_socket_action function saying it was due to a timeout.

This API is typically used with an event-driven underlying functionality (like libevent, libev, kqueue, epoll or similar) which which the application "subscribes" on socket changes. This allows applications and libcurl to much better scale upward and beyond thousands of simultaneous transfers without losing performance.

When you've added your initial set of handles, you call curl_multi_socket_action with CURL_SOCKET_TIMEOUT set in the sockfd argument, and you'll get callbacks call that sets you up and you then continue to call curl_multi_socket_action accordingly when you get activity on the sockets you've been asked to wait on, or if the timeout timer expires.

You can poll curl_multi_info_read to see if any transfer has completed, as it then has a message saying so.

BLOCKING

A few areas in the code are still using blocking code, even when used from the multi interface. While we certainly want and intend for these to get fixed in the future, you should be aware of the following current restrictions:

 - Name resolves unless the c-ares or threaded-resolver backends are used
 - NSS SSL connections
 - HTTP proxy CONNECT operations
 - SOCKS proxy handshakes
 - file:// transfers
 - TELNET transfers

SEE ALSO

libcurl-errors, libcurl-easy, libcurl

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_getdate.html0000644000175000017500000001237012652070414015417 00000000000000 curl_getdate man page

NAME

curl_getdate - Convert a date string to number of seconds

SYNOPSIS

#include <curl/curl.h>

time_t curl_getdate(char * datestring , time_t *now );

DESCRIPTION

curl_getdate returns the number of seconds since the Epoch, January 1st 1970 00:00:00 in the UTC time zone, for the date and time that the datestring parameter specifies. The now parameter is not used, pass a NULL there.

PARSING DATES AND TIMES

A "date" is a string containing several items separated by whitespace. The order of the items is immaterial. A date string may contain many flavors of items:

calendar date items Can be specified several ways. Month names can only be three-letter english abbreviations, numbers can be zero-prefixed and the year may use 2 or 4 digits. Examples: 06 Nov 1994, 06-Nov-94 and Nov-94 6.

time of the day items This string specifies the time on a given day. You must specify it with 6 digits with two colons: HH:MM:SS. To not include the time in a date string, will make the function assume 00:00:00. Example: 18:19:21.

time zone items Specifies international time zone. There are a few acronyms supported, but in general you should instead use the specific relative time compared to UTC. Supported formats include: -1200, MST, +0100.

day of the week items Specifies a day of the week. Days of the week may be spelled out in full (using english): `Sunday', `Monday', etc or they may be abbreviated to their first three letters. This is usually not info that adds anything.

pure numbers If a decimal number of the form YYYYMMDD appears, then YYYY is read as the year, MM as the month number and DD as the day of the month, for the specified calendar date.

EXAMPLES

Sun, 06 Nov 1994 08:49:37 GMT
Sunday, 06-Nov-94 08:49:37 GMT
Sun Nov  6 08:49:37 1994
06 Nov 1994 08:49:37 GMT
06-Nov-94 08:49:37 GMT
Nov  6 08:49:37 1994
06 Nov 1994 08:49:37
06-Nov-94 08:49:37
1994 Nov 6 08:49:37
GMT 08:49:37 06-Nov-94 Sunday
94 6 Nov 08:49:37
1994 Nov 6
06-Nov-94
Sun Nov 6 94
1994.Nov.6
Sun/Nov/6/94/GMT
Sun, 06 Nov 1994 08:49:37 CET
06 Nov 1994 08:49:37 EST
Sun, 12 Sep 2004 15:05:58 -0700
Sat, 11 Sep 2004 21:32:11 +0200
20040912 15:05:58 -0700
20040911 +0200

STANDARDS

This parser was written to handle date formats specified in RFC 822 (including the update in RFC 1123) using time zone name or time zone delta and RFC 850 (obsoleted by RFC 1036) and ANSI C's asctime() format. These formats are the only ones RFC 7231 says HTTP applications may use.

RETURN VALUE

This function returns -1 when it fails to parse the date string. Otherwise it returns the number of seconds as described.

If the year is larger than 2037 on systems with 32 bit time_t, this function will return 0x7fffffff (since that is the largest possible signed 32 bit number).

Having a 64 bit time_t is not a guarantee that dates beyond 03:14:07 UTC, January 19, 2038 will work fine. On systems with a 64 bit time_t but with a crippled mktime(), curl_getdate will return -1 in this case.

SEE ALSO

curl_easy_escape, curl_easy_unescape, CURLOPT_TIMECONDITION (3), CURLOPT_TIMEVALUE (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_slist_append.30000644000175000017500000000423412626067776015707 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_slist_append 3 "19 Jun 2003" "libcurl 7.10.4" "libcurl Manual" .SH NAME curl_slist_append - add a string to an slist .SH SYNOPSIS .B #include .sp .BI "struct curl_slist *curl_slist_append(struct curl_slist *" list, .BI "const char * "string ");" .ad .SH DESCRIPTION curl_slist_append() appends a specified string to a linked list of strings. The existing \fIlist\fP should be passed as the first argument while the new list is returned from this function. The specified \fIstring\fP has been appended when this function returns. curl_slist_append() copies the string. The list should be freed again (after usage) with \fBcurl_slist_free_all(3)\fP. .SH RETURN VALUE A null pointer is returned if anything went wrong, otherwise the new list pointer is returned. .SH EXAMPLE .nf CURL handle; struct curl_slist *slist=NULL; slist = curl_slist_append(slist, "pragma:"); if (slist == NULL) return -1; curl_easy_setopt(handle, CURLOPT_HTTPHEADER, slist); curl_easy_perform(handle); curl_slist_free_all(slist); /* free the list again */ .fi .SH "SEE ALSO" .BR curl_slist_free_all "(3), " curl-7.47.0/docs/libcurl/curl_global_init.html0000644000175000017500000001060412652070414016263 00000000000000 curl_global_init man page

NAME

curl_global_init - Global libcurl initialisation

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_global_init(long flags );

DESCRIPTION

This function sets up the program environment that libcurl needs. Think of it as an extension of the library loader.

This function must be called at least once within a program (a program is all the code that shares a memory space) before the program calls any other function in libcurl. The environment it sets up is constant for the life of the program and is the same for every program, so multiple calls have the same effect as one call.

The flags option is a bit pattern that tells libcurl exactly what features to init, as described below. Set the desired bits by ORing the values together. In normal operation, you must specify CURL_GLOBAL_ALL. Don't use any other value unless you are familiar with it and mean to control internal operations of libcurl.

This function is not thread safe. You must not call it when any other thread in the program (i.e. a thread sharing the same memory) is running. This doesn't just mean no other thread that is using libcurl. Because curl_global_init calls functions of other libraries that are similarly thread unsafe, it could conflict with any other thread that uses these other libraries.

If you are initializing libcurl from a Windows DLL you should not initialize it from DllMain or a static initializer because Windows holds the loader lock during that time and it could cause a deadlock.

See the description in libcurl of global environment requirements for details of how to use this function.

FLAGS

CURL_GLOBAL_ALL Initialize everything possible. This sets all known bits except CURL_GLOBAL_ACK_EINTR.

CURL_GLOBAL_SSL Initialize SSL

CURL_GLOBAL_WIN32 Initialize the Win32 socket libraries.

CURL_GLOBAL_NOTHING Initialise nothing extra. This sets no bit.

CURL_GLOBAL_DEFAULT A sensible default. It will init both SSL and Win32. Right now, this equals the functionality of the CURL_GLOBAL_ALL mask.

CURL_GLOBAL_ACK_EINTR When this flag is set, curl will acknowledge EINTR condition when connecting or when waiting for data. Otherwise, curl waits until full timeout elapses. (Added in 7.30.0)

RETURN VALUE

If this function returns non-zero, something went wrong and you cannot use the other curl functions.

SEE ALSO

curl_global_init_mem, curl_global_cleanup, curl_easy_init, libcurl

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_easy_getinfo.pdf0000644000175000017500000002473312652070416016273 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥WínÛ6ýï§ °“‚š©ïmঠêÕ±=[)P8ƒ!KL¬M–R}Ôõ;ô¡wIJ²lËE·"@]ˆ—ä9çÞ{H~B&Hãõo¸¼^Øè¹hèyði@Ä ªÂzãC€Ã?øO9‡ ›"ÛÕ±ã"7 ÄÁAþ~°RÂ*OÖ,(ëgVÆéSö¨è*Jâ Q‡ÔÔ°¦ÙÊ}VA‚úÃÕ¿ü?C S뇰½ Ûc×ät ù“2©?b%&6]PùÑ@¹÷Tÿï^ªaC³ÑP>¬]Áˆ†ˆ©°Ó•/e„%âßó]PÆYŠžòl‡mƒ4J˜@x‚kÀ†ÄÂŽÀ±ü8Í—ã¥DãÖhDˆ@¢ü§aRE ýÆW}ÍÿÁÛßy858Aÿf¥Ü>,&a1ç€Uj`×1 äâAè†G¼BüÿãéÝ 51.µ•ì£Gõ×+ ©Sƒ~ë-oã¹?žMOU<â&ØÔm®¢²`Ÿ*VpJ–§Ê ÁÊ­DŽ Vüë>.·ð5.ÐS•†< ®5*È×·Äú>̆Ø>4ÌsŒ¶DŠ$ø’ j¨Ì õI–>¿‚ß“á6ÈÑÍÅç¢Ì+( ‘´"‰A£”åçQQVm†• šDYX 9$d@ˆ#pp¦RÕˆao×/us˜]@(…N‘¼(¶ä¬}ú¨b"ò ‚ «¯]8 ÊS4Lû8Ièò5IXéDAfy§ÏÉAÕ£0HùxÎ’ª—, KÇÖ±Ç0±-ÙgY ã'QMÆavYåi!jÕ[ÏÞcuh›·°òP°Óò@£;ß[påX΋ v…æL‹' ë² íU—·‚n*AZre¡CD‹^WÚpOÄIcmHÀÿÀ=d·)¹›ÂP`ˆ¸M!U'©Õºã:r`¥l³*‰Pš•PîŒ –;¶ËòCÍvÛÎUiÍ€b蛢ë9/IÆ%Èų |.K²Æ-L7¹½HX{,µÇ¦ã\x$µ‰urô#ˆÓ !È资(_™4u!“6žŒÞL<Ämdq?R]pÛ¤Š0éíY{°{ø•hÙ§,ØxÓUöP<'ÆP—0¯ÝIº-‹~‹K+‚|4N¶öîî¼[üÁ[ÃÈÑÑŠVÊ$€Þª Ð Æxiš²d7­Æép³lÒveeyìœølzºl§.¼å|6]zëÛÙ[qàtŒ]€ÊYÈb‘ h™;7õYôd]l.¦€Í¨‡¢üXlvt4ÅÆ h7è~\§jÛØ°]ûœê Þ^ª6‡ÓÃôïÏaÖt R]’­Sð’g_¨Žîß\|÷éù~}`)¡|fÚ»ñÄóÇ÷ç)Y@W–РñŽ¡LÚth³“  .ß“£è˜#Pû®)Ú <œw0Fœ±€Ý6®Ó$ôs?S »VS¿†npÔi[*ÊÌïà«¿&ëF˜$ Ž~9«QÉϺµ§·‡mí %ñ‚/9k¯Ÿã¬*Z[Y®]´#'^×Ö±ÖžEÊ…JÂc/U:ákBB¬Ö »|IWâšt¯°&ÅÄ%GeWÇ­¦ª^»òèÞ›ÌfïæR¼Ú‹uÙÏÇòòã€×—¶RVptË›PQ988{‚Ò`Ç˯ȒÏÜÃl÷’00ÀëB5ÓfÉL ×&bYg0è¾ÛF_!Õ½Ö-$˜ËnÛfà pí‘æð=4©‹ zžø.¾ÞLÚú•Íç?B®—Ûr9y½\¾€büÓ1 bš\⺬ÃÓKƒFÎl¢Q£Ç',‚­cƒ\£sM öi1_xþb4]Þy‹ÿ%†VßD/ù»‚4oœðòÔ^¸6‚±y¯ž’ŽÓ¢¸Áï]—Äϱ÷2·ÀúÛžðP…ÛQF ¬R\LüS9þkkó§Ä·%ÙoY*ùšsÐp㻼P€¬;'§Žvq昼1Ä•½O7°+êo ]榤%ס$Ix ¸-Áo‰ oü¡ic«sÔÏxdƒ{bCBÑë®BºcD5Í›Vó'|IÏü ÿ_ØZÕendstream endobj 6 0 obj 1632 endobj 14 0 obj <> stream xœ­W]sâ6}çWè­f¦h-YþÐcš8 –dAìÎ6Ûa ˆÄ­±‰m’¡¿at¯ä/i§;LbùÊçÜ{î¹ò²1A¶úÔßËMïÃÄGEÏF½§Ñ‹¨þZnÐ/nÔ±îU1ùùÜÁGbÓ#$ÀAâ¥wo-wy2—Q±Ÿ?È2N×Ù7ËùÖGI¼P+ýumlÛ¾õ1JwQ‚Ì·÷ÿ¿õ àO¬zÖål2ޝoç“ðj8 /Å\ ?†}ñgo`cÇEb©ï&Tß-bµb««v0€ v…p#QýÕ'€ƒ¸Ü’)Zg9Š’årçrY¢¢”Û-$,ÀÍ}Ok™Gi±–¹F§J ƒMªÝ-aÇ6yL…Õ5ý2TöF‰m劸Þ÷уüÍÃ*3UâtÙÉ‘>«­1þ[ž.°9¡ÜÝ{iû*µ½6ûˆ¯wo<ò¾-e¹ßÊãBŠ>ÌrMP-×õlÜÄw0ÿQ'îCæÃ(à!½»Éð³öq[Dð=páö â°i{ΰª——´íÜY!óŸš·^Ç¥Øv[)­ÓçÍ ¡:ÊÅÖÖL’è`’n’X`o«¨ŒÐ6‹!ÝU£èpïð¡ÿ;³m~ õIŒ»†ì@x“ó+¤ Ò[·Fý&‰|8ccÖ^ñ,(µ\ jÛ\k…yͶTíŠÞ'øü§NǺendstream endobj 15 0 obj 1289 endobj 19 0 obj <> stream xœ­WÛrâF}ç+æ-Ò³3£û#!¸LAãM\Þ%ÊAòJÂŽÿ!žÑ;ëÊå¢ð¨§OŸî>Ýú†¦ˆÈOõ½:ô>-<´Í{m{ßzT¢êku@?sxÀ—ÿà›^iC‘ÇXØ?ô(õ±KéÝ«c¶_Š(]nE'›ô«a}5Ñ>~'fŸ9â7QrŒöHÿ¸ù'ÿµg¹¨|Ý3†·‹Éxz5[^s>7ù_½>ÁŽƒøªç˜øD¢’Ï nå!‘Àù_ðëå@ÙQl);fcV}tHk4žT®<[ö°qà´O™<‡»˜'ƒ6Ï(jïp°ëAy)I‰÷ÑÃ^ ‰EÇb'’"^EEœ&è Š]ºÎ±Ùw1B!T쟔Ԍ»öêµD(y8~]b”¤åéêѤÄ…’™·QA_t6ÍõZX „OßMÓ®ZgÈÇ_FÄÓT«iC=BN’W³r”Ùrµi&OÞ™¼¤»1@-TƒŒ*3°ªh%ØR‚ý ןŒív'”¼À ´Õ„­Üƒ™(0 /ÔÓ¢R\ÙEóL‹tƒ|£oeok™ºâóåhÊ+å±]ÙþÊÖZê=l:Üxw‰c-O׊ Ø"<¹œœ ®»I‘½¢§¨Ø¡hSÀÛ§ÛmœlQœÈi%@:²g“VHêÁS„®væ†í̱ÖuQƒVêu¢†äyeÔn»áv£†ëõ;I yÓQ=IE7¸üq!;C‘ñ?°® ´ÚEñ;*L¨ÿ¼…G uó[Â\]óI¸ Ga8žM/–¥IX·’/A0k"ÐAÈÔƒh·†Í1ƒ$·‡TnÑ·‘3[²}¼A+ç¾-´9ýeÌÁly;½¹T ßwB!IZ ñAH_ÇRÆá=ï¥]ûr¹"¿¿SjžÐ¢‡ÎþߔCõÒ‰ä¨À¶Ù§Žc”Ì•x@Œ@ù¶ÝºÊ,yãˆ÷~ƒÏ¿,Íendstream endobj 20 0 obj 1320 endobj 24 0 obj <> stream xœµXmsÚ8þίзÚ7Aµ,¿é#—Ò®Rpò¥¹a ˆÄ­±‰mBrÓŸÐ}+É–á.ÍÍÜÄ‚­•vŸ}öÙuƒ rÄOó¹ÚöÞÏBtWõt×{èù5«-ú=†‘¸ozʆ ÐE!£8b(Þö‰p@P|è}µVû2[ð¤z^Üñ:Í7Å­Eom”¥KñÄƒ'´>'ù>ÉÐùåöŸñ= >üÆkØõòz6M>N3;öÔŠçW‹ùp>M'‹ÑiÑw0¬_IKâ KkÛñ7ˆ î“ÈÀGy;¿B¯ª´ÈÑè¶û¾ãXsÎånïgÄi¢Žeeøq|¼òNê"8õá#ú×(.Ç£á$^\·_Þ†ŒàrÎP}ŸÔèfʹM|ì/°žj´äh_ñõ?ÇF¼ôl|†cgd>ŽÈ/8Îì¨ù~3œý‘ªàˆÃ0ñ•™‹}‘iëiÇW5À€2 €ïcŸ²¨=æ4Å3›„˜EÔÓ®w5ÀpÁÛ(ü•lËÙðòæ?QV£%UJ¾â©X Û@Ä`RLÇmÒùÈõV »‹¼cTÎâá2ìiêµ;ˆ-]í³D–F]¬ŠìÖª @Ò¼ÑR‰*ó°¯çë±0Úž“²G›4 HW’,ǨË4 m¿Ð7Îæß`ØÃwÀ<>¦0ˆD'<}Æ;à ï(‘ž„Ù›hPý—ÏP©RY‚’ù]—z9‹fLoÍÓâÑ$óÕZ/żb=gƬââ°3VoO¸Ý^†Ü™w}£¬âióœÑ†øaC<+˜õТ3>©>¨íÈY€m›U]\éQ{‹:‡c]«MÈ]†<çLv€8äD€Š^evŠÌTàd=¦Å¾Yz€A­n™Y÷L7G„W¦]j¨KHO; ÅçH傿´£q=O*èD¢ºK¾N&¢t_|§‹_õö ÖîwMc#]¼Øu_Å¿Xh¡ú ¿,9|Íxâf¢Tó…)Ù Z1t• 1—|—/HÅ€-„©Bñ²@éå…ö]µ™vŸ#q§ÈxwY²âøåÛAèšÒ²~=› ›ˆA6_O^«ºtÁxæQÅ‹‘bCÓrÒ„&»RHd ûÕ ^é7ûì‰ÓO"Àk_æ"Â)X—‡´âJv „»^˲² ‘ï—K%¤–6Ó¬pÉ—Å ‰ÚüsCõ=Ï>e!è#_"×q˜ÜÆÓoÙž€f÷¾ÀÏߺ–ŽÐendstream endobj 25 0 obj 1691 endobj 29 0 obj <> stream xœmO±nÂ0Ýý·ÕìÞÅ8ŽGÒ¡¢ªZ¼B! U¥ ªú÷µƒ†ê†“Þ{÷Þ»  "À8i×={|·Ð ¡eF iÕ=,|ðv»!°X§UáÀ÷Œ¨P9ÿak^_¿»]S ¿»¶§ÃyÃõF@wÜGFÈÌ B´ü¥:]«þ—‹­¡.„*gb®ÎÁ/CÃÁWe óåêU<$MHÊÀ°» C3ž¿Fá?ï>°4=…·¬ÀJBP™ÛÉaÍS]¨S3!Éí8<5{ÈÝÔp–ëäd¢KéÙ[˜?M]X;endstream endobj 30 0 obj 234 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 18 0 obj <> /Contents 19 0 R >> endobj 23 0 obj <> /Contents 24 0 R >> endobj 28 0 obj <> /Contents 29 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R 18 0 R 23 0 R 28 0 R ] /Count 5 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 26 0 obj <> endobj 27 0 obj <> endobj 31 0 obj <> endobj 32 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 33 0 obj <> endobj 34 0 obj <>stream 2016-01-27T08:26:06+01:00 2016-01-27T08:26:06+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 35 0000000000 65535 f 0000007537 00000 n 0000009708 00000 n 0000007450 00000 n 0000006642 00000 n 0000000015 00000 n 0000001717 00000 n 0000007602 00000 n 0000008147 00000 n 0000008082 00000 n 0000008014 00000 n 0000007643 00000 n 0000007673 00000 n 0000006802 00000 n 0000001737 00000 n 0000003098 00000 n 0000007723 00000 n 0000007753 00000 n 0000006964 00000 n 0000003119 00000 n 0000004511 00000 n 0000007794 00000 n 0000007824 00000 n 0000007126 00000 n 0000004532 00000 n 0000006295 00000 n 0000007865 00000 n 0000007895 00000 n 0000007288 00000 n 0000006316 00000 n 0000006622 00000 n 0000007945 00000 n 0000007975 00000 n 0000008229 00000 n 0000008285 00000 n trailer << /Size 35 /Root 1 0 R /Info 2 0 R /ID [<59C6DBABBD6638CD8C62F88300873AA6><59C6DBABBD6638CD8C62F88300873AA6>] >> startxref 9862 %%EOF curl-7.47.0/docs/libcurl/libcurl-tutorial.html0000644000175000017500000023337612652070414016265 00000000000000 libcurl-tutorial man page

NAME

libcurl-tutorial - libcurl programming tutorial

Objective

This document attempts to describe the general principles and some basic approaches to consider when programming with libcurl. The text will focus mainly on the C interface but might apply fairly well on other interfaces as well as they usually follow the C one pretty closely.

This document will refer to 'the user' as the person writing the source code that uses libcurl. That would probably be you or someone in your position. What will be generally referred to as 'the program' will be the collected source code that you write that is using libcurl for transfers. The program is outside libcurl and libcurl is outside of the program.

To get more details on all options and functions described herein, please refer to their respective man pages.

Building

There are many different ways to build C programs. This chapter will assume a Unix style build process. If you use a different build system, you can still read this to get general information that may apply to your environment as well.

Compiling the Program

Your compiler needs to know where the libcurl headers are located. Therefore you must set your compiler's include path to point to the directory where you installed them. The 'curl-config'[3] tool can be used to get this information:

$ curl-config --cflags

Linking the Program with libcurl

When having compiled the program, you need to link your object files to create a single executable. For that to succeed, you need to link with libcurl and possibly also with other libraries that libcurl itself depends on. Like the OpenSSL libraries, but even some standard OS libraries may be needed on the command line. To figure out which flags to use, once again the 'curl-config' tool comes to the rescue:

$ curl-config --libs

SSL or Not

libcurl can be built and customized in many ways. One of the things that varies from different libraries and builds is the support for SSL-based transfers, like HTTPS and FTPS. If a supported SSL library was detected properly at build-time, libcurl will be built with SSL support. To figure out if an installed libcurl has been built with SSL support enabled, use 'curl-config' like this:

$ curl-config --feature

And if SSL is supported, the keyword 'SSL' will be written to stdout, possibly together with a few other features that could be either on or off on for different libcurls.

See also the "Features libcurl Provides" further down.

autoconf macro

When you write your configure script to detect libcurl and setup variables accordingly, we offer a prewritten macro that probably does everything you need in this area. See docs/libcurl/libcurl.m4 file - it includes docs on how to use it.

Portable Code in a Portable World

The people behind libcurl have put a considerable effort to make libcurl work on a large amount of different operating systems and environments.

You program libcurl the same way on all platforms that libcurl runs on. There are only very few minor considerations that differ. If you just make sure to write your code portable enough, you may very well create yourself a very portable program. libcurl shouldn't stop you from that.

Global Preparation

The program must initialize some of the libcurl functionality globally. That means it should be done exactly once, no matter how many times you intend to use the library. Once for your program's entire life time. This is done using

 curl_global_init()

and it takes one parameter which is a bit pattern that tells libcurl what to initialize. Using CURL_GLOBAL_ALL will make it initialize all known internal sub modules, and might be a good default option. The current two bits that are specified are:

CURL_GLOBAL_WIN32

which only does anything on Windows machines. When used on a Windows machine, it'll make libcurl initialize the win32 socket stuff. Without having that initialized properly, your program cannot use sockets properly. You should only do this once for each application, so if your program already does this or of another library in use does it, you should not tell libcurl to do this as well.

CURL_GLOBAL_SSL

which only does anything on libcurls compiled and built SSL-enabled. On these systems, this will make libcurl initialize the SSL library properly for this application. This only needs to be done once for each application so if your program or another library already does this, this bit should not be needed.

libcurl has a default protection mechanism that detects if curl_global_init hasn't been called by the time curl_easy_perform is called and if that is the case, libcurl runs the function itself with a guessed bit pattern. Please note that depending solely on this is not considered nice nor very good.

When the program no longer uses libcurl, it should call curl_global_cleanup, which is the opposite of the init call. It will then do the reversed operations to cleanup the resources the curl_global_init call initialized.

Repeated calls to curl_global_init and curl_global_cleanup should be avoided. They should only be called once each.

Features libcurl Provides

It is considered best-practice to determine libcurl features at run-time rather than at build-time (if possible of course). By calling curl_version_info and checking out the details of the returned struct, your program can figure out exactly what the currently running libcurl supports.

Two Interfaces

libcurl first introduced the so called easy interface. All operations in the easy interface are prefixed with 'curl_easy'. The easy interface lets you do single transfers with a synchronous and blocking function call.

libcurl also offers another interface that allows multiple simultaneous transfers in a single thread, the so called multi interface. More about that interface is detailed in a separate chapter further down. You still need to understand the easy interface first, so please continue reading for better understanding.

Handle the Easy libcurl

To use the easy interface, you must first create yourself an easy handle. You need one handle for each easy session you want to perform. Basically, you should use one handle for every thread you plan to use for transferring. You must never share the same handle in multiple threads.

Get an easy handle with

 easyhandle = curl_easy_init();

It returns an easy handle. Using that you proceed to the next step: setting up your preferred actions. A handle is just a logic entity for the upcoming transfer or series of transfers.

You set properties and options for this handle using curl_easy_setopt. They control how the subsequent transfer or transfers will be made. Options remain set in the handle until set again to something different. They are sticky. Multiple requests using the same handle will use the same options.

If you at any point would like to blank all previously set options for a single easy handle, you can call curl_easy_reset and you can also make a clone of an easy handle (with all its set options) using curl_easy_duphandle.

Many of the options you set in libcurl are "strings", pointers to data terminated with a zero byte. When you set strings with curl_easy_setopt, libcurl makes its own copy so that they don't need to be kept around in your application after being set[4].

One of the most basic properties to set in the handle is the URL. You set your preferred URL to transfer with CURLOPT_URL(3) in a manner similar to:

 curl_easy_setopt(handle, CURLOPT_URL, "http://domain.com/");

Let's assume for a while that you want to receive data as the URL identifies a remote resource you want to get here. Since you write a sort of application that needs this transfer, I assume that you would like to get the data passed to you directly instead of simply getting it passed to stdout. So, you write your own function that matches this prototype:

 size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp);

You tell libcurl to pass all data to this function by issuing a function similar to this:

 curl_easy_setopt(easyhandle, CURLOPT_WRITEFUNCTION, write_data);

You can control what data your callback function gets in the fourth argument by setting another property:

 curl_easy_setopt(easyhandle, CURLOPT_WRITEDATA, &internal_struct);

Using that property, you can easily pass local data between your application and the function that gets invoked by libcurl. libcurl itself won't touch the data you pass with CURLOPT_WRITEDATA(3).

libcurl offers its own default internal callback that will take care of the data if you don't set the callback with CURLOPT_WRITEFUNCTION(3). It will then simply output the received data to stdout. You can have the default callback write the data to a different file handle by passing a 'FILE *' to a file opened for writing with the CURLOPT_WRITEDATA(3) option.

Now, we need to take a step back and have a deep breath. Here's one of those rare platform-dependent nitpicks. Did you spot it? On some platforms[2], libcurl won't be able to operate on files opened by the program. Thus, if you use the default callback and pass in an open file with CURLOPT_WRITEDATA(3), it will crash. You should therefore avoid this to make your program run fine virtually everywhere.

(CURLOPT_WRITEDATA(3) was formerly known as CURLOPT_FILE. Both names still work and do the same thing).

If you're using libcurl as a win32 DLL, you MUST use the CURLOPT_WRITEFUNCTION(3) if you set CURLOPT_WRITEDATA(3) - or you will experience crashes.

There are of course many more options you can set, and we'll get back to a few of them later. Let's instead continue to the actual transfer:

 success = curl_easy_perform(easyhandle);

curl_easy_perform will connect to the remote site, do the necessary commands and receive the transfer. Whenever it receives data, it calls the callback function we previously set. The function may get one byte at a time, or it may get many kilobytes at once. libcurl delivers as much as possible as often as possible. Your callback function should return the number of bytes it "took care of". If that is not the exact same amount of bytes that was passed to it, libcurl will abort the operation and return with an error code.

When the transfer is complete, the function returns a return code that informs you if it succeeded in its mission or not. If a return code isn't enough for you, you can use the CURLOPT_ERRORBUFFER(3) to point libcurl to a buffer of yours where it'll store a human readable error message as well.

If you then want to transfer another file, the handle is ready to be used again. Mind you, it is even preferred that you re-use an existing handle if you intend to make another transfer. libcurl will then attempt to re-use the previous connection.

For some protocols, downloading a file can involve a complicated process of logging in, setting the transfer mode, changing the current directory and finally transferring the file data. libcurl takes care of all that complication for you. Given simply the URL to a file, libcurl will take care of all the details needed to get the file moved from one machine to another.

Multi-threading Issues

libcurl is thread safe but there are a few exceptions. Refer to libcurl-thread for more information.

When It Doesn't Work

There will always be times when the transfer fails for some reason. You might have set the wrong libcurl option or misunderstood what the libcurl option actually does, or the remote server might return non-standard replies that confuse the library which then confuses your program.

There's one golden rule when these things occur: set the CURLOPT_VERBOSE(3) option to 1. It'll cause the library to spew out the entire protocol details it sends, some internal info and some received protocol data as well (especially when using FTP). If you're using HTTP, adding the headers in the received output to study is also a clever way to get a better understanding why the server behaves the way it does. Include headers in the normal body output with CURLOPT_HEADER(3) set 1.

Of course, there are bugs left. We need to know about them to be able to fix them, so we're quite dependent on your bug reports! When you do report suspected bugs in libcurl, please include as many details as you possibly can: a protocol dump that CURLOPT_VERBOSE(3) produces, library version, as much as possible of your code that uses libcurl, operating system name and version, compiler name and version etc.

If CURLOPT_VERBOSE(3) is not enough, you increase the level of debug data your application receive by using the CURLOPT_DEBUGFUNCTION(3).

Getting some in-depth knowledge about the protocols involved is never wrong, and if you're trying to do funny things, you might very well understand libcurl and how to use it better if you study the appropriate RFC documents at least briefly.

Upload Data to a Remote Site

libcurl tries to keep a protocol independent approach to most transfers, thus uploading to a remote FTP site is very similar to uploading data to a HTTP server with a PUT request.

Of course, first you either create an easy handle or you re-use one existing one. Then you set the URL to operate on just like before. This is the remote URL, that we now will upload.

Since we write an application, we most likely want libcurl to get the upload data by asking us for it. To make it do that, we set the read callback and the custom pointer libcurl will pass to our read callback. The read callback should have a prototype similar to:

 size_t function(char *bufptr, size_t size, size_t nitems, void *userp);

Where bufptr is the pointer to a buffer we fill in with data to upload and size*nitems is the size of the buffer and therefore also the maximum amount of data we can return to libcurl in this call. The 'userp' pointer is the custom pointer we set to point to a struct of ours to pass private data between the application and the callback.

 curl_easy_setopt(easyhandle, CURLOPT_READFUNCTION, read_function);

 curl_easy_setopt(easyhandle, CURLOPT_READDATA, &filedata);

Tell libcurl that we want to upload:

 curl_easy_setopt(easyhandle, CURLOPT_UPLOAD, 1L);

A few protocols won't behave properly when uploads are done without any prior knowledge of the expected file size. So, set the upload file size using the CURLOPT_INFILESIZE_LARGE(3) for all known file sizes like this[1]:

 /* in this example, file_size must be an curl_off_t variable */
 curl_easy_setopt(easyhandle, CURLOPT_INFILESIZE_LARGE, file_size);

When you call curl_easy_perform this time, it'll perform all the necessary operations and when it has invoked the upload it'll call your supplied callback to get the data to upload. The program should return as much data as possible in every invoke, as that is likely to make the upload perform as fast as possible. The callback should return the number of bytes it wrote in the buffer. Returning 0 will signal the end of the upload.

Passwords

Many protocols use or even require that user name and password are provided to be able to download or upload the data of your choice. libcurl offers several ways to specify them.

Most protocols support that you specify the name and password in the URL itself. libcurl will detect this and use them accordingly. This is written like this:

 protocol://user:password@example.com/path/

If you need any odd letters in your user name or password, you should enter them URL encoded, as %XX where XX is a two-digit hexadecimal number.

libcurl also provides options to set various passwords. The user name and password as shown embedded in the URL can instead get set with the CURLOPT_USERPWD(3) option. The argument passed to libcurl should be a char * to a string in the format "user:password". In a manner like this:

 curl_easy_setopt(easyhandle, CURLOPT_USERPWD, "myname:thesecret");

Another case where name and password might be needed at times, is for those users who need to authenticate themselves to a proxy they use. libcurl offers another option for this, the CURLOPT_PROXYUSERPWD(3). It is used quite similar to the CURLOPT_USERPWD(3) option like this:

 curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "myname:thesecret");

There's a long time Unix "standard" way of storing FTP user names and passwords, namely in the $HOME/.netrc file. The file should be made private so that only the user may read it (see also the "Security Considerations" chapter), as it might contain the password in plain text. libcurl has the ability to use this file to figure out what set of user name and password to use for a particular host. As an extension to the normal functionality, libcurl also supports this file for non-FTP protocols such as HTTP. To make curl use this file, use the CURLOPT_NETRC(3) option:

 curl_easy_setopt(easyhandle, CURLOPT_NETRC, 1L);

And a very basic example of how such a .netrc file may look like:

 machine myhost.mydomain.com
 login userlogin
 password secretword

All these examples have been cases where the password has been optional, or at least you could leave it out and have libcurl attempt to do its job without it. There are times when the password isn't optional, like when you're using an SSL private key for secure transfers.

To pass the known private key password to libcurl:

 curl_easy_setopt(easyhandle, CURLOPT_KEYPASSWD, "keypassword");

HTTP Authentication

The previous chapter showed how to set user name and password for getting URLs that require authentication. When using the HTTP protocol, there are many different ways a client can provide those credentials to the server and you can control which way libcurl will (attempt to) use them. The default HTTP authentication method is called 'Basic', which is sending the name and password in clear-text in the HTTP request, base64-encoded. This is insecure.

At the time of this writing, libcurl can be built to use: Basic, Digest, NTLM, Negotiate (SPNEGO). You can tell libcurl which one to use with CURLOPT_HTTPAUTH(3) as in:

 curl_easy_setopt(easyhandle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);

And when you send authentication to a proxy, you can also set authentication type the same way but instead with CURLOPT_PROXYAUTH(3):

 curl_easy_setopt(easyhandle, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);

Both these options allow you to set multiple types (by ORing them together), to make libcurl pick the most secure one out of the types the server/proxy claims to support. This method does however add a round-trip since libcurl must first ask the server what it supports:

 curl_easy_setopt(easyhandle, CURLOPT_HTTPAUTH,  CURLAUTH_DIGEST|CURLAUTH_BASIC);

For convenience, you can use the 'CURLAUTH_ANY' define (instead of a list with specific types) which allows libcurl to use whatever method it wants.

When asking for multiple types, libcurl will pick the available one it considers "best" in its own internal order of preference.

HTTP POSTing

We get many questions regarding how to issue HTTP POSTs with libcurl the proper way. This chapter will thus include examples using both different versions of HTTP POST that libcurl supports.

The first version is the simple POST, the most common version, that most HTML pages using the <form> tag uses. We provide a pointer to the data and tell libcurl to post it all to the remote site:

    char *data="name=daniel&project=curl";
    curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDS, data);
    curl_easy_setopt(easyhandle, CURLOPT_URL, "http://posthere.com/");
 
    curl_easy_perform(easyhandle); /* post away! */

Simple enough, huh? Since you set the POST options with the CURLOPT_POSTFIELDS(3), this automatically switches the handle to use POST in the upcoming request.

Ok, so what if you want to post binary data that also requires you to set the Content-Type: header of the post? Well, binary posts prevent libcurl from being able to do strlen() on the data to figure out the size, so therefore we must tell libcurl the size of the post data. Setting headers in libcurl requests are done in a generic way, by building a list of our own headers and then passing that list to libcurl.

 struct curl_slist *headers=NULL;
 headers = curl_slist_append(headers, "Content-Type: text/xml");
 
 /* post binary data */
 curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDS, binaryptr);
 
 /* set the size of the postfields data */
 curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDSIZE, 23L);
 
 /* pass our list of custom made headers */
 curl_easy_setopt(easyhandle, CURLOPT_HTTPHEADER, headers);
 
 curl_easy_perform(easyhandle); /* post away! */
 
 curl_slist_free_all(headers); /* free the header list */

While the simple examples above cover the majority of all cases where HTTP POST operations are required, they don't do multi-part formposts. Multi-part formposts were introduced as a better way to post (possibly large) binary data and were first documented in the RFC 1867 (updated in RFC2388). They're called multi-part because they're built by a chain of parts, each part being a single unit of data. Each part has its own name and contents. You can in fact create and post a multi-part formpost with the regular libcurl POST support described above, but that would require that you build a formpost yourself and provide to libcurl. To make that easier, libcurl provides curl_formadd. Using this function, you add parts to the form. When you're done adding parts, you post the whole form.

The following example sets two simple text parts with plain textual contents, and then a file with binary contents and uploads the whole thing.

 struct curl_httppost *post=NULL;
 struct curl_httppost *last=NULL;
 curl_formadd(&post, &last,
              CURLFORM_COPYNAME, "name",
              CURLFORM_COPYCONTENTS, "daniel", CURLFORM_END);
 curl_formadd(&post, &last,
              CURLFORM_COPYNAME, "project",
              CURLFORM_COPYCONTENTS, "curl", CURLFORM_END);
 curl_formadd(&post, &last,
              CURLFORM_COPYNAME, "logotype-image",
              CURLFORM_FILECONTENT, "curl.png", CURLFORM_END);
 
 /* Set the form info */
 curl_easy_setopt(easyhandle, CURLOPT_HTTPPOST, post);
 
 curl_easy_perform(easyhandle); /* post away! */
 
 /* free the post data again */
 curl_formfree(post);

Multipart formposts are chains of parts using MIME-style separators and headers. It means that each one of these separate parts get a few headers set that describe the individual content-type, size etc. To enable your application to handicraft this formpost even more, libcurl allows you to supply your own set of custom headers to such an individual form part. You can of course supply headers to as many parts as you like, but this little example will show how you set headers to one specific part when you add that to the post handle:

 struct curl_slist *headers=NULL;
 headers = curl_slist_append(headers, "Content-Type: text/xml");
 
 curl_formadd(&post, &last,
              CURLFORM_COPYNAME, "logotype-image",
              CURLFORM_FILECONTENT, "curl.xml",
              CURLFORM_CONTENTHEADER, headers,
              CURLFORM_END);
 
 curl_easy_perform(easyhandle); /* post away! */
 
 curl_formfree(post); /* free post */
 curl_slist_free_all(headers); /* free custom header list */

Since all options on an easyhandle are "sticky", they remain the same until changed even if you do call curl_easy_perform, you may need to tell curl to go back to a plain GET request if you intend to do one as your next request. You force an easyhandle to go back to GET by using the CURLOPT_HTTPGET(3) option:

 curl_easy_setopt(easyhandle, CURLOPT_HTTPGET, 1L);

Just setting CURLOPT_POSTFIELDS(3) to "" or NULL will *not* stop libcurl from doing a POST. It will just make it POST without any data to send!

Showing Progress

For historical and traditional reasons, libcurl has a built-in progress meter that can be switched on and then makes it present a progress meter in your terminal.

Switch on the progress meter by, oddly enough, setting CURLOPT_NOPROGRESS(3) to zero. This option is set to 1 by default.

For most applications however, the built-in progress meter is useless and what instead is interesting is the ability to specify a progress callback. The function pointer you pass to libcurl will then be called on irregular intervals with information about the current transfer.

Set the progress callback by using CURLOPT_PROGRESSFUNCTION(3). And pass a pointer to a function that matches this prototype:

 int progress_callback(void *clientp,
                       double dltotal,
                       double dlnow,
                       double ultotal,
                       double ulnow);

If any of the input arguments is unknown, a 0 will be passed. The first argument, the 'clientp' is the pointer you pass to libcurl with CURLOPT_PROGRESSDATA(3). libcurl won't touch it.

libcurl with C++

There's basically only one thing to keep in mind when using C++ instead of C when interfacing libcurl:

The callbacks CANNOT be non-static class member functions

Example C++ code:

class AClass {
    static size_t write_data(void *ptr, size_t size, size_t nmemb,
                             void *ourpointer)
    {
      /* do what you want with the data */
    }
 }

Proxies

What "proxy" means according to Merriam-Webster: "a person authorized to act for another" but also "the agency, function, or office of a deputy who acts as a substitute for another".

Proxies are exceedingly common these days. Companies often only offer Internet access to employees through their proxies. Network clients or user-agents ask the proxy for documents, the proxy does the actual request and then it returns them.

libcurl supports SOCKS and HTTP proxies. When a given URL is wanted, libcurl will ask the proxy for it instead of trying to connect to the actual host identified in the URL.

If you're using a SOCKS proxy, you may find that libcurl doesn't quite support all operations through it.

For HTTP proxies: the fact that the proxy is a HTTP proxy puts certain restrictions on what can actually happen. A requested URL that might not be a HTTP URL will be still be passed to the HTTP proxy to deliver back to libcurl. This happens transparently, and an application may not need to know. I say "may", because at times it is very important to understand that all operations over a HTTP proxy use the HTTP protocol. For example, you can't invoke your own custom FTP commands or even proper FTP directory listings.

Proxy Options

To tell libcurl to use a proxy at a given port number:

 curl_easy_setopt(easyhandle, CURLOPT_PROXY, "proxy-host.com:8080");

Some proxies require user authentication before allowing a request, and you pass that information similar to this:

 curl_easy_setopt(easyhandle, CURLOPT_PROXYUSERPWD, "user:password");

If you want to, you can specify the host name only in the CURLOPT_PROXY(3) option, and set the port number separately with CURLOPT_PROXYPORT(3).

Tell libcurl what kind of proxy it is with CURLOPT_PROXYTYPE(3) (if not, it will default to assume a HTTP proxy):

 curl_easy_setopt(easyhandle, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);

Environment Variables

libcurl automatically checks and uses a set of environment variables to know what proxies to use for certain protocols. The names of the variables are following an ancient de facto standard and are built up as "[protocol]_proxy" (note the lower casing). Which makes the variable 'http_proxy' checked for a name of a proxy to use when the input URL is HTTP. Following the same rule, the variable named 'ftp_proxy' is checked for FTP URLs. Again, the proxies are always HTTP proxies, the different names of the variables simply allows different HTTP proxies to be used.

The proxy environment variable contents should be in the format "[protocol://][user:password@]machine[:port]". Where the protocol:// part is simply ignored if present (so http://proxy and bluerk://proxy will do the same) and the optional port number specifies on which port the proxy operates on the host. If not specified, the internal default port number will be used and that is most likely *not* the one you would like it to be.

There are two special environment variables. 'all_proxy' is what sets proxy for any URL in case the protocol specific variable wasn't set, and 'no_proxy' defines a list of hosts that should not use a proxy even though a variable may say so. If 'no_proxy' is a plain asterisk ("*") it matches all hosts.

To explicitly disable libcurl's checking for and using the proxy environment variables, set the proxy name to "" - an empty string - with CURLOPT_PROXY(3).

SSL and Proxies

SSL is for secure point-to-point connections. This involves strong encryption and similar things, which effectively makes it impossible for a proxy to operate as a "man in between" which the proxy's task is, as previously discussed. Instead, the only way to have SSL work over a HTTP proxy is to ask the proxy to tunnel trough everything without being able to check or fiddle with the traffic.

Opening an SSL connection over a HTTP proxy is therefor a matter of asking the proxy for a straight connection to the target host on a specified port. This is made with the HTTP request CONNECT. ("please mr proxy, connect me to that remote host").

Because of the nature of this operation, where the proxy has no idea what kind of data that is passed in and out through this tunnel, this breaks some of the very few advantages that come from using a proxy, such as caching. Many organizations prevent this kind of tunneling to other destination port numbers than 443 (which is the default HTTPS port number).

Tunneling Through Proxy

As explained above, tunneling is required for SSL to work and often even restricted to the operation intended for SSL; HTTPS.

This is however not the only time proxy-tunneling might offer benefits to you or your application.

As tunneling opens a direct connection from your application to the remote machine, it suddenly also re-introduces the ability to do non-HTTP operations over a HTTP proxy. You can in fact use things such as FTP upload or FTP custom commands this way.

Again, this is often prevented by the administrators of proxies and is rarely allowed.

Tell libcurl to use proxy tunneling like this:

 curl_easy_setopt(easyhandle, CURLOPT_HTTPPROXYTUNNEL, 1L);

In fact, there might even be times when you want to do plain HTTP operations using a tunnel like this, as it then enables you to operate on the remote server instead of asking the proxy to do so. libcurl will not stand in the way for such innovative actions either!

Proxy Auto-Config

Netscape first came up with this. It is basically a web page (usually using a .pac extension) with a Javascript that when executed by the browser with the requested URL as input, returns information to the browser on how to connect to the URL. The returned information might be "DIRECT" (which means no proxy should be used), "PROXY host:port" (to tell the browser where the proxy for this particular URL is) or "SOCKS host:port" (to direct the browser to a SOCKS proxy).

libcurl has no means to interpret or evaluate Javascript and thus it doesn't support this. If you get yourself in a position where you face this nasty invention, the following advice have been mentioned and used in the past:

- Depending on the Javascript complexity, write up a script that translates it to another language and execute that.

- Read the Javascript code and rewrite the same logic in another language.

- Implement a Javascript interpreter; people have successfully used the Mozilla Javascript engine in the past.

- Ask your admins to stop this, for a static proxy setup or similar.

Persistence Is The Way to Happiness

Re-cycling the same easy handle several times when doing multiple requests is the way to go.

After each single curl_easy_perform operation, libcurl will keep the connection alive and open. A subsequent request using the same easy handle to the same host might just be able to use the already open connection! This reduces network impact a lot.

Even if the connection is dropped, all connections involving SSL to the same host again, will benefit from libcurl's session ID cache that drastically reduces re-connection time.

FTP connections that are kept alive save a lot of time, as the command- response round-trips are skipped, and also you don't risk getting blocked without permission to login again like on many FTP servers only allowing N persons to be logged in at the same time.

libcurl caches DNS name resolving results, to make lookups of a previously looked up name a lot faster.

Other interesting details that improve performance for subsequent requests may also be added in the future.

Each easy handle will attempt to keep the last few connections alive for a while in case they are to be used again. You can set the size of this "cache" with the CURLOPT_MAXCONNECTS(3) option. Default is 5. There is very seldom any point in changing this value, and if you think of changing this it is often just a matter of thinking again.

To force your upcoming request to not use an already existing connection (it will even close one first if there happens to be one alive to the same host you're about to operate on), you can do that by setting CURLOPT_FRESH_CONNECT(3) to 1. In a similar spirit, you can also forbid the upcoming request to be "lying" around and possibly get re-used after the request by setting CURLOPT_FORBID_REUSE(3) to 1.

HTTP Headers Used by libcurl

When you use libcurl to do HTTP requests, it'll pass along a series of headers automatically. It might be good for you to know and understand these. You can replace or remove them by using the CURLOPT_HTTPHEADER(3) option.

Host

This header is required by HTTP 1.1 and even many 1.0 servers and should be the name of the server we want to talk to. This includes the port number if anything but default.

Accept

"*/*".

Expect

When doing POST requests, libcurl sets this header to "100-continue" to ask the server for an "OK" message before it proceeds with sending the data part of the post. If the POSTed data amount is deemed "small", libcurl will not use this header.

Customizing Operations

There is an ongoing development today where more and more protocols are built upon HTTP for transport. This has obvious benefits as HTTP is a tested and reliable protocol that is widely deployed and has excellent proxy-support.

When you use one of these protocols, and even when doing other kinds of programming you may need to change the traditional HTTP (or FTP or...) manners. You may need to change words, headers or various data.

libcurl is your friend here too.

CUSTOMREQUEST

If just changing the actual HTTP request keyword is what you want, like when GET, HEAD or POST is not good enough for you, CURLOPT_CUSTOMREQUEST(3) is there for you. It is very simple to use:

 curl_easy_setopt(easyhandle, CURLOPT_CUSTOMREQUEST, "MYOWNREQUEST");

When using the custom request, you change the request keyword of the actual request you are performing. Thus, by default you make a GET request but you can also make a POST operation (as described before) and then replace the POST keyword if you want to. You're the boss.

Modify Headers

HTTP-like protocols pass a series of headers to the server when doing the request, and you're free to pass any amount of extra headers that you think fit. Adding headers is this easy:

 struct curl_slist *headers=NULL; /* init to NULL is important */
 
 headers = curl_slist_append(headers, "Hey-server-hey: how are you?");
 headers = curl_slist_append(headers, "X-silly-content: yes");
 
 /* pass our list of custom made headers */
 curl_easy_setopt(easyhandle, CURLOPT_HTTPHEADER, headers);
 
 curl_easy_perform(easyhandle); /* transfer http */
 
 curl_slist_free_all(headers); /* free the header list */

... and if you think some of the internally generated headers, such as Accept: or Host: don't contain the data you want them to contain, you can replace them by simply setting them too:

 headers = curl_slist_append(headers, "Accept: Agent-007");
 headers = curl_slist_append(headers, "Host: munged.host.line");

Delete Headers

If you replace an existing header with one with no contents, you will prevent the header from being sent. For instance, if you want to completely prevent the "Accept:" header from being sent, you can disable it with code similar to this:

 headers = curl_slist_append(headers, "Accept:");

Both replacing and canceling internal headers should be done with careful consideration and you should be aware that you may violate the HTTP protocol when doing so.

Enforcing chunked transfer-encoding

By making sure a request uses the custom header "Transfer-Encoding: chunked" when doing a non-GET HTTP operation, libcurl will switch over to "chunked" upload, even though the size of the data to upload might be known. By default, libcurl usually switches over to chunked upload automatically if the upload data size is unknown.

HTTP Version

All HTTP requests includes the version number to tell the server which version we support. libcurl speaks HTTP 1.1 by default. Some very old servers don't like getting 1.1-requests and when dealing with stubborn old things like that, you can tell libcurl to use 1.0 instead by doing something like this:

 curl_easy_setopt(easyhandle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);

FTP Custom Commands

Not all protocols are HTTP-like, and thus the above may not help you when you want to make, for example, your FTP transfers to behave differently.

Sending custom commands to a FTP server means that you need to send the commands exactly as the FTP server expects them (RFC 959 is a good guide here), and you can only use commands that work on the control-connection alone. All kinds of commands that require data interchange and thus need a data-connection must be left to libcurl's own judgement. Also be aware that libcurl will do its very best to change directory to the target directory before doing any transfer, so if you change directory (with CWD or similar) you might confuse libcurl and then it might not attempt to transfer the file in the correct remote directory.

A little example that deletes a given file before an operation:

 headers = curl_slist_append(headers, "DELE file-to-remove");
 
 /* pass the list of custom commands to the handle */
 curl_easy_setopt(easyhandle, CURLOPT_QUOTE, headers);
 
 curl_easy_perform(easyhandle); /* transfer ftp data! */
 
 curl_slist_free_all(headers); /* free the header list */

If you would instead want this operation (or chain of operations) to happen _after_ the data transfer took place the option to curl_easy_setopt would instead be called CURLOPT_POSTQUOTE(3) and used the exact same way.

The custom FTP command will be issued to the server in the same order they are added to the list, and if a command gets an error code returned back from the server, no more commands will be issued and libcurl will bail out with an error code (CURLE_QUOTE_ERROR). Note that if you use CURLOPT_QUOTE(3) to send commands before a transfer, no transfer will actually take place when a quote command has failed.

If you set the CURLOPT_HEADER(3) to 1, you will tell libcurl to get information about the target file and output "headers" about it. The headers will be in "HTTP-style", looking like they do in HTTP.

The option to enable headers or to run custom FTP commands may be useful to combine with CURLOPT_NOBODY(3). If this option is set, no actual file content transfer will be performed.

FTP Custom CUSTOMREQUEST

If you do want to list the contents of a FTP directory using your own defined FTP command, CURLOPT_CUSTOMREQUEST(3) will do just that. "NLST" is the default one for listing directories but you're free to pass in your idea of a good alternative.

Cookies Without Chocolate Chips

In the HTTP sense, a cookie is a name with an associated value. A server sends the name and value to the client, and expects it to get sent back on every subsequent request to the server that matches the particular conditions set. The conditions include that the domain name and path match and that the cookie hasn't become too old.

In real-world cases, servers send new cookies to replace existing ones to update them. Server use cookies to "track" users and to keep "sessions".

Cookies are sent from server to clients with the header Set-Cookie: and they're sent from clients to servers with the Cookie: header.

To just send whatever cookie you want to a server, you can use CURLOPT_COOKIE(3) to set a cookie string like this:

 curl_easy_setopt(easyhandle, CURLOPT_COOKIE, "name1=var1; name2=var2;");

In many cases, that is not enough. You might want to dynamically save whatever cookies the remote server passes to you, and make sure those cookies are then used accordingly on later requests.

One way to do this, is to save all headers you receive in a plain file and when you make a request, you tell libcurl to read the previous headers to figure out which cookies to use. Set the header file to read cookies from with CURLOPT_COOKIEFILE(3).

The CURLOPT_COOKIEFILE(3) option also automatically enables the cookie parser in libcurl. Until the cookie parser is enabled, libcurl will not parse or understand incoming cookies and they will just be ignored. However, when the parser is enabled the cookies will be understood and the cookies will be kept in memory and used properly in subsequent requests when the same handle is used. Many times this is enough, and you may not have to save the cookies to disk at all. Note that the file you specify to CURLOPT_COOKIEFILE(3) doesn't have to exist to enable the parser, so a common way to just enable the parser and not read any cookies is to use the name of a file you know doesn't exist.

If you would rather use existing cookies that you've previously received with your Netscape or Mozilla browsers, you can make libcurl use that cookie file as input. The CURLOPT_COOKIEFILE(3) is used for that too, as libcurl will automatically find out what kind of file it is and act accordingly.

Perhaps the most advanced cookie operation libcurl offers, is saving the entire internal cookie state back into a Netscape/Mozilla formatted cookie file. We call that the cookie-jar. When you set a file name with CURLOPT_COOKIEJAR(3), that file name will be created and all received cookies will be stored in it when curl_easy_cleanup is called. This enables cookies to get passed on properly between multiple handles without any information getting lost.

FTP Peculiarities We Need

FTP transfers use a second TCP/IP connection for the data transfer. This is usually a fact you can forget and ignore but at times this fact will come back to haunt you. libcurl offers several different ways to customize how the second connection is being made.

libcurl can either connect to the server a second time or tell the server to connect back to it. The first option is the default and it is also what works best for all the people behind firewalls, NATs or IP-masquerading setups. libcurl then tells the server to open up a new port and wait for a second connection. This is by default attempted with EPSV first, and if that doesn't work it tries PASV instead. (EPSV is an extension to the original FTP spec and does not exist nor work on all FTP servers.)

You can prevent libcurl from first trying the EPSV command by setting CURLOPT_FTP_USE_EPSV(3) to zero.

In some cases, you will prefer to have the server connect back to you for the second connection. This might be when the server is perhaps behind a firewall or something and only allows connections on a single port. libcurl then informs the remote server which IP address and port number to connect to. This is made with the CURLOPT_FTPPORT(3) option. If you set it to "-", libcurl will use your system's "default IP address". If you want to use a particular IP, you can set the full IP address, a host name to resolve to an IP address or even a local network interface name that libcurl will get the IP address from.

When doing the "PORT" approach, libcurl will attempt to use the EPRT and the LPRT before trying PORT, as they work with more protocols. You can disable this behavior by setting CURLOPT_FTP_USE_EPRT(3) to zero.

Headers Equal Fun

Some protocols provide "headers", meta-data separated from the normal data. These headers are by default not included in the normal data stream, but you can make them appear in the data stream by setting CURLOPT_HEADER(3) to 1.

What might be even more useful, is libcurl's ability to separate the headers from the data and thus make the callbacks differ. You can for example set a different pointer to pass to the ordinary write callback by setting CURLOPT_HEADERDATA(3).

Or, you can set an entirely separate function to receive the headers, by using CURLOPT_HEADERFUNCTION(3).

The headers are passed to the callback function one by one, and you can depend on that fact. It makes it easier for you to add custom header parsers etc.

"Headers" for FTP transfers equal all the FTP server responses. They aren't actually true headers, but in this case we pretend they are! ;-)

Post Transfer Information

 [ curl_easy_getinfo ]

Security Considerations

The libcurl project takes security seriously. The library is written with caution and precautions are taken to mitigate many kinds of risks encountered while operating with potentially malicious servers on the Internet. It is a powerful library, however, which allows application writers to make trade offs between ease of writing and exposure to potential risky operations. If used the right way, you can use libcurl to transfer data pretty safely.

Many applications are used in closed networks where users and servers can be trusted, but many others are used on arbitrary servers and are fed input from potentially untrusted users. Following is a discussion about some risks in the ways in which applications commonly use libcurl and potential mitigations of those risks. It is by no means comprehensive, but shows classes of attacks that robust applications should consider. The Common Weakness Enumeration project at http://cwe.mitre.org/ is a good reference for many of these and similar types of weaknesses of which application writers should be aware.

Command Lines

If you use a command line tool (such as curl) that uses libcurl, and you give options to the tool on the command line those options can very likely get read by other users of your system when they use 'ps' or other tools to list currently running processes.

To avoid this problem, never feed sensitive things to programs using command line options. Write them to a protected file and use the -K option to avoid this.

.netrc

.netrc is a pretty handy file/feature that allows you to login quickly and automatically to frequently visited sites. The file contains passwords in clear text and is a real security risk. In some cases, your .netrc is also stored in a home directory that is NFS mounted or used on another network based file system, so the clear text password will fly through your network every time anyone reads that file!

To avoid this problem, don't use .netrc files and never store passwords in plain text anywhere.

Clear Text Passwords

Many of the protocols libcurl supports send name and password unencrypted as clear text (HTTP Basic authentication, FTP, TELNET etc). It is very easy for anyone on your network or a network nearby yours to just fire up a network analyzer tool and eavesdrop on your passwords. Don't let the fact that HTTP Basic uses base64 encoded passwords fool you. They may not look readable at a first glance, but they very easily "deciphered" by anyone within seconds.

To avoid this problem, use an authentication mechanism or other protocol that doesn't let snoopers see your password: Digest, CRAM-MD5, Kerberos, SPNEGO or NTLM authentication, HTTPS, FTPS, SCP and SFTP are a few examples.

Redirects

The CURLOPT_FOLLOWLOCATION(3) option automatically follows HTTP redirects sent by a remote server. These redirects can refer to any kind of URL, not just HTTP. By default libcurl will allow all protocols on redirect except several disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are also disabled.

A redirect to a file: URL would cause the libcurl to read (or write) arbitrary files from the local filesystem. If the application returns the data back to the user (as would happen in some kinds of CGI scripts), an attacker could leverage this to read otherwise forbidden data (e.g. file://localhost/etc/passwd).

If authentication credentials are stored in the ~/.netrc file, or Kerberos is in use, any other URL type (not just file:) that requires authentication is also at risk. A redirect such as ftp://some-internal-server/private-file would then return data even when the server is password protected.

In the same way, if an unencrypted SSH private key has been configured for the user running the libcurl application, SCP: or SFTP: URLs could access password or private-key protected resources, e.g. sftp://user@some-internal-server/etc/passwd

The CURLOPT_REDIR_PROTOCOLS(3) and CURLOPT_NETRC(3) options can be used to mitigate against this kind of attack.

A redirect can also specify a location available only on the machine running libcurl, including servers hidden behind a firewall from the attacker. e.g. http://127.0.0.1/ or http://intranet/delete-stuff.cgi?delete=all or tftp://bootp-server/pc-config-data

Apps can mitigate against this by disabling CURLOPT_FOLLOWLOCATION(3) and handling redirects itself, sanitizing URLs as necessary. Alternately, an app could leave CURLOPT_FOLLOWLOCATION(3) enabled but set CURLOPT_REDIR_PROTOCOLS(3) and install a CURLOPT_OPENSOCKETFUNCTION(3) callback function in which addresses are sanitized before use.

Private Resources

A user who can control the DNS server of a domain being passed in within a URL can change the address of the host to a local, private address which a server-side libcurl-using application could then use. e.g. the innocuous URL http://fuzzybunnies.example.com/ could actually resolve to the IP address of a server behind a firewall, such as 127.0.0.1 or 10.1.2.3. Apps can mitigate against this by setting a CURLOPT_OPENSOCKETFUNCTION(3) and checking the address before a connection.

All the malicious scenarios regarding redirected URLs apply just as well to non-redirected URLs, if the user is allowed to specify an arbitrary URL that could point to a private resource. For example, a web app providing a translation service might happily translate file://localhost/etc/passwd and display the result. Apps can mitigate against this with the CURLOPT_PROTOCOLS(3) option as well as by similar mitigation techniques for redirections.

A malicious FTP server could in response to the PASV command return an IP address and port number for a server local to the app running libcurl but behind a firewall. Apps can mitigate against this by using the CURLOPT_FTP_SKIP_PASV_IP(3) option or CURLOPT_FTPPORT(3).

IPv6 Addresses

libcurl will normally handle IPv6 addresses transparently and just as easily as IPv4 addresses. That means that a sanitizing function that filters out addressses like 127.0.0.1 isn't sufficient--the equivalent IPv6 addresses ::1, ::, 0:00::0:1, ::127.0.0.1 and ::ffff:7f00:1 supplied somehow by an attacker would all bypass a naive filter and could allow access to undesired local resources. IPv6 also has special address blocks like link-local and site-local that generally shouldn't be accessed by a server-side libcurl-using application. A poorly-configured firewall installed in a data center, organization or server may also be configured to limit IPv4 connections but leave IPv6 connections wide open. In some cases, the CURL_IPRESOLVE_V4 option can be used to limit resolved addresses to IPv4 only and bypass these issues.

Uploads

When uploading, a redirect can cause a local (or remote) file to be overwritten. Apps must not allow any unsanitized URL to be passed in for uploads. Also, CURLOPT_FOLLOWLOCATION(3) should not be used on uploads. Instead, the app should handle redirects itself, sanitizing each URL first.

Authentication

Use of CURLOPT_UNRESTRICTED_AUTH(3) could cause authentication information to be sent to an unknown second server. Apps can mitigate against this by disabling CURLOPT_FOLLOWLOCATION(3) and handling redirects itself, sanitizing where necessary.

Use of the CURLAUTH_ANY option to CURLOPT_HTTPAUTH(3) could result in user name and password being sent in clear text to an HTTP server. Instead, use CURLAUTH_ANYSAFE which ensures that the password is encrypted over the network, or else fail the request.

Use of the CURLUSESSL_TRY option to CURLOPT_USE_SSL(3) could result in user name and password being sent in clear text to an FTP server. Instead, use CURLUSESSL_CONTROL to ensure that an encrypted connection is used or else fail the request.

Cookies

If cookies are enabled and cached, then a user could craft a URL which performs some malicious action to a site whose authentication is already stored in a cookie. e.g. http://mail.example.com/delete-stuff.cgi?delete=all Apps can mitigate against this by disabling cookies or clearing them between requests.

Dangerous URLs

SCP URLs can contain raw commands within the scp: URL, which is a side effect of how the SCP protocol is designed. e.g. scp://user:pass@host/a;date >/tmp/test; Apps must not allow unsanitized SCP: URLs to be passed in for downloads.

Denial of Service

A malicious server could cause libcurl to effectively hang by sending a trickle of data through, or even no data at all but just keeping the TCP connection open. This could result in a denial-of-service attack. The CURLOPT_TIMEOUT(3) and/or CURLOPT_LOW_SPEED_LIMIT(3) options can be used to mitigate against this.

A malicious server could cause libcurl to effectively hang by starting to send data, then severing the connection without cleanly closing the TCP connection. The app could install a CURLOPT_SOCKOPTFUNCTION(3) callback function and set the TCP SO_KEEPALIVE option to mitigate against this. Setting one of the timeout options would also work against this attack.

A malicious server could cause libcurl to download an infinite amount of data, potentially causing all of memory or disk to be filled. Setting the CURLOPT_MAXFILESIZE_LARGE(3) option is not sufficient to guard against this. Instead, the app should monitor the amount of data received within the write or progress callback and abort once the limit is reached.

A malicious HTTP server could cause an infinite redirection loop, causing a denial-of-service. This can be mitigated by using the CURLOPT_MAXREDIRS(3) option.

Arbitrary Headers

User-supplied data must be sanitized when used in options like CURLOPT_USERAGENT(3), CURLOPT_HTTPHEADER(3), CURLOPT_POSTFIELDS(3) and others that are used to generate structured data. Characters like embedded carriage returns or ampersands could allow the user to create additional headers or fields that could cause malicious transactions.

Server-supplied Names

A server can supply data which the application may, in some cases, use as a file name. The curl command-line tool does this with --remote-header-name, using the Content-disposition: header to generate a file name. An application could also use CURLINFO_EFFECTIVE_URL to generate a file name from a server-supplied redirect URL. Special care must be taken to sanitize such names to avoid the possibility of a malicious server supplying one like "/etc/passwd", "\autoexec.bat", "prn:" or even ".bashrc".

Server Certificates

A secure application should never use the CURLOPT_SSL_VERIFYPEER(3) option to disable certificate validation. There are numerous attacks that are enabled by apps that fail to properly validate server TLS/SSL certificates, thus enabling a malicious server to spoof a legitimate one. HTTPS without validated certificates is potentially as insecure as a plain HTTP connection.

Showing What You Do

On a related issue, be aware that even in situations like when you have problems with libcurl and ask someone for help, everything you reveal in order to get best possible help might also impose certain security related risks. Host names, user names, paths, operating system specifics, etc. (not to mention passwords of course) may in fact be used by intruders to gain additional information of a potential target.

Be sure to limit access to application logs if they could hold private or security-related data. Besides the obvious candidates like user names and passwords, things like URLs, cookies or even file names could also hold sensitive data.

To avoid this problem, you must of course use your common sense. Often, you can just edit out the sensitive data or just search/replace your true information with faked data.

The multi Interface

The easy interface as described in detail in this document is a synchronous interface that transfers one file at a time and doesn't return until it is done.

The multi interface, on the other hand, allows your program to transfer multiple files in both directions at the same time, without forcing you to use multiple threads. The name might make it seem that the multi interface is for multi-threaded programs, but the truth is almost the reverse. The multi interface allows a single-threaded application to perform the same kinds of multiple, simultaneous transfers that multi-threaded programs can perform. It allows many of the benefits of multi-threaded transfers without the complexity of managing and synchronizing many threads.

To complicate matters somewhat more, there are even two versions of the multi interface. The event based one, also called multi_socket and the "normal one" designed for using with select(). See the libcurl-multi.3 man page for details on the multi_socket event based API, this description here is for the select() oriented one.

To use this interface, you are better off if you first understand the basics of how to use the easy interface. The multi interface is simply a way to make multiple transfers at the same time by adding up multiple easy handles into a "multi stack".

You create the easy handles you want, one for each concurrent transfer, and you set all the options just like you learned above, and then you create a multi handle with curl_multi_init and add all those easy handles to that multi handle with curl_multi_add_handle.

When you've added the handles you have for the moment (you can still add new ones at any time), you start the transfers by calling curl_multi_perform.

curl_multi_perform is asynchronous. It will only perform what can be done now and then return back control to your program. It is designed to never block. You need to keep calling the function until all transfers are completed.

The best usage of this interface is when you do a select() on all possible file descriptors or sockets to know when to call libcurl again. This also makes it easy for you to wait and respond to actions on your own application's sockets/handles. You figure out what to select() for by using curl_multi_fdset, that fills in a set of fd_set variables for you with the particular file descriptors libcurl uses for the moment.

When you then call select(), it'll return when one of the file handles signal action and you then call curl_multi_perform to allow libcurl to do what it wants to do. Take note that libcurl does also feature some time-out code so we advise you to never use very long timeouts on select() before you call curl_multi_perform again. curl_multi_timeout is provided to help you get a suitable timeout period.

Another precaution you should use: always call curl_multi_fdset immediately before the select() call since the current set of file descriptors may change in any curl function invoke.

If you want to stop the transfer of one of the easy handles in the stack, you can use curl_multi_remove_handle to remove individual easy handles. Remember that easy handles should be curl_easy_cleanuped.

When a transfer within the multi stack has finished, the counter of running transfers (as filled in by curl_multi_perform) will decrease. When the number reaches zero, all transfers are done.

curl_multi_info_read can be used to get information about completed transfers. It then returns the CURLcode for each easy transfer, to allow you to figure out success on each individual transfer.

SSL, Certificates and Other Tricks

 [ seeding, passwords, keys, certificates, ENGINE, ca certs ]

Sharing Data Between Easy Handles

You can share some data between easy handles when the easy interface is used, and some data is share automatically when you use the multi interface.

When you add easy handles to a multi handle, these easy handles will automatically share a lot of the data that otherwise would be kept on a per-easy handle basis when the easy interface is used.

The DNS cache is shared between handles within a multi handle, making subsequent name resolving faster, and the connection pool that is kept to better allow persistent connections and connection re-use is also shared. If you're using the easy interface, you can still share these between specific easy handles by using the share interface, see libcurl-share.

Some things are never shared automatically, not within multi handles, like for example cookies so the only way to share that is with the share interface.

Footnotes

[1]

libcurl 7.10.3 and later have the ability to switch over to chunked Transfer-Encoding in cases where HTTP uploads are done with data of an unknown size.

[2]

This happens on Windows machines when libcurl is built and used as a DLL. However, you can still do this on Windows if you link with a static library.

[3]

The curl-config tool is generated at build-time (on Unix-like systems) and should be installed with the 'make install' or similar instruction that installs the library, header files, man pages etc.

[4]

This behavior was different in versions before 7.17.0, where strings had to remain valid past the end of the curl_easy_setopt call.

SEE ALSO

libcurl-errors, libcurl-multi, libcurl-easy

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/libcurl.m40000644000175000017500000002563612626067776014020 00000000000000#*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 2006, David Shaw # # 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 http://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. # ########################################################################### # LIBCURL_CHECK_CONFIG ([DEFAULT-ACTION], [MINIMUM-VERSION], # [ACTION-IF-YES], [ACTION-IF-NO]) # ---------------------------------------------------------- # David Shaw May-09-2006 # # Checks for libcurl. DEFAULT-ACTION is the string yes or no to # specify whether to default to --with-libcurl or --without-libcurl. # If not supplied, DEFAULT-ACTION is yes. MINIMUM-VERSION is the # minimum version of libcurl to accept. Pass the version as a regular # version number like 7.10.1. If not supplied, any version is # accepted. ACTION-IF-YES is a list of shell commands to run if # libcurl was successfully found and passed the various tests. # ACTION-IF-NO is a list of shell commands that are run otherwise. # Note that using --without-libcurl does run ACTION-IF-NO. # # This macro #defines HAVE_LIBCURL if a working libcurl setup is # found, and sets @LIBCURL@ and @LIBCURL_CPPFLAGS@ to the necessary # values. Other useful defines are LIBCURL_FEATURE_xxx where xxx are # the various features supported by libcurl, and LIBCURL_PROTOCOL_yyy # where yyy are the various protocols supported by libcurl. Both xxx # and yyy are capitalized. See the list of AH_TEMPLATEs at the top of # the macro for the complete list of possible defines. Shell # variables $libcurl_feature_xxx and $libcurl_protocol_yyy are also # defined to 'yes' for those features and protocols that were found. # Note that xxx and yyy keep the same capitalization as in the # curl-config list (e.g. it's "HTTP" and not "http"). # # Users may override the detected values by doing something like: # LIBCURL="-lcurl" LIBCURL_CPPFLAGS="-I/usr/myinclude" ./configure # # For the sake of sanity, this macro assumes that any libcurl that is # found is after version 7.7.2, the first version that included the # curl-config script. Note that it is very important for people # packaging binary versions of libcurl to include this script! # Without curl-config, we can only guess what protocols are available, # or use curl_version_info to figure it out at runtime. AC_DEFUN([LIBCURL_CHECK_CONFIG], [ AH_TEMPLATE([LIBCURL_FEATURE_SSL],[Defined if libcurl supports SSL]) AH_TEMPLATE([LIBCURL_FEATURE_KRB4],[Defined if libcurl supports KRB4]) AH_TEMPLATE([LIBCURL_FEATURE_IPV6],[Defined if libcurl supports IPv6]) AH_TEMPLATE([LIBCURL_FEATURE_LIBZ],[Defined if libcurl supports libz]) AH_TEMPLATE([LIBCURL_FEATURE_ASYNCHDNS],[Defined if libcurl supports AsynchDNS]) AH_TEMPLATE([LIBCURL_FEATURE_IDN],[Defined if libcurl supports IDN]) AH_TEMPLATE([LIBCURL_FEATURE_SSPI],[Defined if libcurl supports SSPI]) AH_TEMPLATE([LIBCURL_FEATURE_NTLM],[Defined if libcurl supports NTLM]) AH_TEMPLATE([LIBCURL_PROTOCOL_HTTP],[Defined if libcurl supports HTTP]) AH_TEMPLATE([LIBCURL_PROTOCOL_HTTPS],[Defined if libcurl supports HTTPS]) AH_TEMPLATE([LIBCURL_PROTOCOL_FTP],[Defined if libcurl supports FTP]) AH_TEMPLATE([LIBCURL_PROTOCOL_FTPS],[Defined if libcurl supports FTPS]) AH_TEMPLATE([LIBCURL_PROTOCOL_FILE],[Defined if libcurl supports FILE]) AH_TEMPLATE([LIBCURL_PROTOCOL_TELNET],[Defined if libcurl supports TELNET]) AH_TEMPLATE([LIBCURL_PROTOCOL_LDAP],[Defined if libcurl supports LDAP]) AH_TEMPLATE([LIBCURL_PROTOCOL_DICT],[Defined if libcurl supports DICT]) AH_TEMPLATE([LIBCURL_PROTOCOL_TFTP],[Defined if libcurl supports TFTP]) AH_TEMPLATE([LIBCURL_PROTOCOL_RTSP],[Defined if libcurl supports RTSP]) AH_TEMPLATE([LIBCURL_PROTOCOL_POP3],[Defined if libcurl supports POP3]) AH_TEMPLATE([LIBCURL_PROTOCOL_IMAP],[Defined if libcurl supports IMAP]) AH_TEMPLATE([LIBCURL_PROTOCOL_SMTP],[Defined if libcurl supports SMTP]) AC_ARG_WITH(libcurl, AC_HELP_STRING([--with-libcurl=PREFIX],[look for the curl library in PREFIX/lib and headers in PREFIX/include]), [_libcurl_with=$withval],[_libcurl_with=ifelse([$1],,[yes],[$1])]) if test "$_libcurl_with" != "no" ; then AC_PROG_AWK _libcurl_version_parse="eval $AWK '{split(\$NF,A,\".\"); X=256*256*A[[1]]+256*A[[2]]+A[[3]]; print X;}'" _libcurl_try_link=yes if test -d "$_libcurl_with" ; then LIBCURL_CPPFLAGS="-I$withval/include" _libcurl_ldflags="-L$withval/lib" AC_PATH_PROG([_libcurl_config],[curl-config],[], ["$withval/bin"]) else AC_PATH_PROG([_libcurl_config],[curl-config],[],[$PATH]) fi if test x$_libcurl_config != "x" ; then AC_CACHE_CHECK([for the version of libcurl], [libcurl_cv_lib_curl_version], [libcurl_cv_lib_curl_version=`$_libcurl_config --version | $AWK '{print $[]2}'`]) _libcurl_version=`echo $libcurl_cv_lib_curl_version | $_libcurl_version_parse` _libcurl_wanted=`echo ifelse([$2],,[0],[$2]) | $_libcurl_version_parse` if test $_libcurl_wanted -gt 0 ; then AC_CACHE_CHECK([for libcurl >= version $2], [libcurl_cv_lib_version_ok], [ if test $_libcurl_version -ge $_libcurl_wanted ; then libcurl_cv_lib_version_ok=yes else libcurl_cv_lib_version_ok=no fi ]) fi if test $_libcurl_wanted -eq 0 || test x$libcurl_cv_lib_version_ok = xyes ; then if test x"$LIBCURL_CPPFLAGS" = "x" ; then LIBCURL_CPPFLAGS=`$_libcurl_config --cflags` fi if test x"$LIBCURL" = "x" ; then LIBCURL=`$_libcurl_config --libs` # This is so silly, but Apple actually has a bug in their # curl-config script. Fixed in Tiger, but there are still # lots of Panther installs around. case "${host}" in powerpc-apple-darwin7*) LIBCURL=`echo $LIBCURL | sed -e 's|-arch i386||g'` ;; esac fi # All curl-config scripts support --feature _libcurl_features=`$_libcurl_config --feature` # Is it modern enough to have --protocols? (7.12.4) if test $_libcurl_version -ge 461828 ; then _libcurl_protocols=`$_libcurl_config --protocols` fi else _libcurl_try_link=no fi unset _libcurl_wanted fi if test $_libcurl_try_link = yes ; then # we didn't find curl-config, so let's see if the user-supplied # link line (or failing that, "-lcurl") is enough. LIBCURL=${LIBCURL-"$_libcurl_ldflags -lcurl"} AC_CACHE_CHECK([whether libcurl is usable], [libcurl_cv_lib_curl_usable], [ _libcurl_save_cppflags=$CPPFLAGS CPPFLAGS="$LIBCURL_CPPFLAGS $CPPFLAGS" _libcurl_save_libs=$LIBS LIBS="$LIBCURL $LIBS" AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]],[[ /* Try and use a few common options to force a failure if we are missing symbols or can't link. */ int x; curl_easy_setopt(NULL,CURLOPT_URL,NULL); x=CURL_ERROR_SIZE; x=CURLOPT_WRITEFUNCTION; x=CURLOPT_WRITEDATA; x=CURLOPT_ERRORBUFFER; x=CURLOPT_STDERR; x=CURLOPT_VERBOSE; if (x) {;} ]])],libcurl_cv_lib_curl_usable=yes,libcurl_cv_lib_curl_usable=no) CPPFLAGS=$_libcurl_save_cppflags LIBS=$_libcurl_save_libs unset _libcurl_save_cppflags unset _libcurl_save_libs ]) if test $libcurl_cv_lib_curl_usable = yes ; then # Does curl_free() exist in this version of libcurl? # If not, fake it with free() _libcurl_save_cppflags=$CPPFLAGS CPPFLAGS="$CPPFLAGS $LIBCURL_CPPFLAGS" _libcurl_save_libs=$LIBS LIBS="$LIBS $LIBCURL" AC_CHECK_FUNC(curl_free,, AC_DEFINE(curl_free,free, [Define curl_free() as free() if our version of curl lacks curl_free.])) CPPFLAGS=$_libcurl_save_cppflags LIBS=$_libcurl_save_libs unset _libcurl_save_cppflags unset _libcurl_save_libs AC_DEFINE(HAVE_LIBCURL,1, [Define to 1 if you have a functional curl library.]) AC_SUBST(LIBCURL_CPPFLAGS) AC_SUBST(LIBCURL) for _libcurl_feature in $_libcurl_features ; do AC_DEFINE_UNQUOTED(AS_TR_CPP(libcurl_feature_$_libcurl_feature),[1]) eval AS_TR_SH(libcurl_feature_$_libcurl_feature)=yes done if test "x$_libcurl_protocols" = "x" ; then # We don't have --protocols, so just assume that all # protocols are available _libcurl_protocols="HTTP FTP FILE TELNET LDAP DICT TFTP" if test x$libcurl_feature_SSL = xyes ; then _libcurl_protocols="$_libcurl_protocols HTTPS" # FTPS wasn't standards-compliant until version # 7.11.0 (0x070b00 == 461568) if test $_libcurl_version -ge 461568; then _libcurl_protocols="$_libcurl_protocols FTPS" fi fi # RTSP, IMAP, POP3 and SMTP were added in # 7.20.0 (0x071400 == 463872) if test $_libcurl_version -ge 463872; then _libcurl_protocols="$_libcurl_protocols RTSP IMAP POP3 SMTP" fi fi for _libcurl_protocol in $_libcurl_protocols ; do AC_DEFINE_UNQUOTED(AS_TR_CPP(libcurl_protocol_$_libcurl_protocol),[1]) eval AS_TR_SH(libcurl_protocol_$_libcurl_protocol)=yes done else unset LIBCURL unset LIBCURL_CPPFLAGS fi fi unset _libcurl_try_link unset _libcurl_version_parse unset _libcurl_config unset _libcurl_feature unset _libcurl_features unset _libcurl_protocol unset _libcurl_protocols unset _libcurl_version unset _libcurl_ldflags fi if test x$_libcurl_with = xno || test x$libcurl_cv_lib_curl_usable != xyes ; then # This is the IF-NO path ifelse([$4],,:,[$4]) else # This is the IF-YES path ifelse([$3],,:,[$3]) fi unset _libcurl_with ])dnl curl-7.47.0/docs/libcurl/curl_share_cleanup.html0000644000175000017500000000377212652070414016621 00000000000000 curl_share_cleanup man page

NAME

curl_share_cleanup - Clean up a shared object

SYNOPSIS

#include <curl/curl.h>

CURLSHcode curl_share_cleanup(CURLSH * share_handle );

DESCRIPTION

This function deletes a shared object. The share handle cannot be used anymore when this function has been called.

RETURN VALUE

CURLSHE_OK (zero) means that the option was set properly, non-zero means an error occurred as <curl/curl.h> defines. See the libcurl-errors.3 man page for the full list with descriptions. If an error occurs, then the share object will not be deleted.

SEE ALSO

curl_share_init, curl_share_setopt

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_assign.pdf0000644000175000017500000001073212652070423016305 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ½WÛnã6}÷WèÃÊ‹˜%uZp·Aá"{iâm±È E¢c5²äê#ÿÐ_é?ö ©›Õl·OE‚Ø)ÎÌ™3g†0Á%ôÓ}&‡Å××»¯‚Ý/þXH½ÈºäÀ¾ßbCH¶»…yG²ÀfAäð0bÛÃBÊ{øvZÜZI[åŸmÞdŸâºÎî‹–óqÉòìŽV–+Û\ˆÀzmœ³ç·/Ûþ´X nKœšÀ|ó<òÈÇgÛ«…õf½|±*=wàÕ6]X¯/—Ûß'þÚ‚»"`+iÓ²øŒì/V«†¥q³¦dxX&YÜ(vÊš=‹ –ª ø‹…‡eÄ£Ðs¼yûîfssî”Þ¢²¾ÊŠ$oSž%§¾¦?|ÿm·]ŠsûòÖzõþúêuRbÓ3héEöÒ<ÜÇEš« ³oæê§F;¿K/t ½@ ¾<–dWcÁh–²—ôÞ±©>.¿1qLÕ€?œDüÃåÍ«ëÍ»íæí›Ï-xz” k»Ïj¶k‹¤ÉÊ‚%•æ5áÝg€gköŠé™‰Ý©æ¤”Y¸ÏÈ⑹n‡¯sÿQÑ¢ÃíÐ3qa9t»Å¢–6—Aÿ‡érljz ÀØf1;V½A[Ÿé"téöÛã ˆrb l:–šG¬ÜéœPrÏõÎÈiQDññ˜g‰Žž3~SE W)Û••AVо(]äÀîìL8 {hÈoÌꃼ ‘ !ú…æS¬“aÊð,ˆ3áhkUs}ºíKî¸lE„ů{äÕtAÉ™9ê(iÑyzk‘ ìÀ"‚uÕ40FòÀw÷è²<Ø$T¯x°k›¶RC}F¶RʬÝÅÉCM°iºÔG•d&­Á5쇵x&l %3sÌxèM¶‹Âv`‘›êrB¨’+T6»ç¸ŠÝŽ«âžÎ` ¸÷,„ÿ樕ÕÅ ­+\›¹CE}Ú§¬ ð|@=GQ¦OT„È8»{ꕜÒ;-^•J! °ª*ÐÔó¬)µˆˆ²g¤¸;•EþÄ–Ð!½ÈRêX㲕÷ùX9ƒ2§4Ï~:éxoæa­záëÀÿKØWý&;¨@¦tý€ oÖVêøðOj\ñƒ¶ÝaúP!ay{ |ÉãºÑ­©àß‘ˆÔ”^äñ ¦2ò#[¼™¥*f{U‘V,âÆ2ÕÖsúR9‘Àõ-ÂHª¤ºuÿ»Â¡áÃP],öÆoK|W¶ SgU ! ‘÷¥* øLרžŒB®L*¢€û×ÑÛŒ€Û¤V&úõ»ÉI¡@"Rô†«çaîGkvRØ––,kˆ†‰¢/qWû¸>› ðÿ^÷ ›ºv'åñ¨›—åC{ìØ“A3_üËÀpk]_nß_¿a¿,¥ãòÈ—Öúêýå\‡hM®ëqÄUÊÆIÌ™Ž©]Ü ƒ@Œ8tq2ÚWó/L00ðáÝæÕúн¿Y/=¸Ø‘õãç=¢¡-Ðáo ¬y:¢“åӖƞʖ$»LhÂB7U›4 !Q¹"Æ“Ô{ØC†•;”À![¥OE|È3¦Q€*Nö¦à€¼k»<œ³¢ZõÏ USâD#l†j‘_:Öt@F¢FÔhkCa5oà>Ãÿ·íǪDئþáqw€Žù·¦—m5Ž«v$ɪo‡¤#µÖIÁ(êº̽‚‡¢ìe‹N†ø.·ãÓ(è&¶pdß4t‘?鉩pZÜ#¯S™“>ZJBêõ%.\Ws§KEׯè!Œãº!œ¾c]œ¦³ä´K<š$5œaäôÂNt'›uTÇáí?3BM/%gi >}$š¤|Œâ¦>Œ«&KÚ<® [Ñ” é(1Àí15ãîy‹D»/qo 1ŽÌ̬·Ä÷KdèJ€tpZ¢ËŸ·š0}Æš}?¹jÜð9´¡•­Åž°d#M¡Âé÷ôåS²?nöµ;oË&˜!ç®OÞ‚f d­òÇ¥$·=×êõg…A•4¿ê­¤KfT#ì† ë_Øzp`ùžì³·¹Z¿¹Úl?œ' ÷Ç Ã¤ç7‰ /iŠx²±7 ã꾤˜ÖÍå%[_ݼïJ³;ßT*TS›sGé‡6M¼‹ó“`È÷DZø\x¦ˆwš2“j)Ð/ƒéùfŠw<3ÜÏ#nÜœ„ LFG5+ýÞÅè§‘,¸„ã !g¶¾~Ñ ¹ëöoHzt¹]üŒŸ¿'›€íendstream endobj 6 0 obj 1749 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:11+01:00 2016-01-27T08:26:11+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002073 00000 n 0000003963 00000 n 0000002014 00000 n 0000001854 00000 n 0000000015 00000 n 0000001834 00000 n 0000002138 00000 n 0000002392 00000 n 0000002327 00000 n 0000002259 00000 n 0000002179 00000 n 0000002209 00000 n 0000002474 00000 n 0000002540 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<067DCE8C84B65C66709C9EF10F26B20E><067DCE8C84B65C66709C9EF10F26B20E>] >> startxref 4117 %%EOF curl-7.47.0/docs/libcurl/curl_easy_pause.html0000644000175000017500000001435412652070414016144 00000000000000 curl_easy_pause man page

NAME

curl_easy_pause - pause and unpause a connection

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_pause(CURL *handle , int bitmask );

DESCRIPTION

Using this function, you can explicitly mark a running connection to get paused, and you can unpause a connection that was previously paused.

A connection can be paused by using this function or by letting the read or the write callbacks return the proper magic return code (CURL_READFUNC_PAUSE and CURL_WRITEFUNC_PAUSE). A write callback that returns pause signals to the library that it couldn't take care of any data at all, and that data will then be delivered again to the callback when the writing is later unpaused.

While it may feel tempting, take care and notice that you cannot call this function from another thread. To unpause, you may for example call it from the progress callback (CURLOPT_PROGRESSFUNCTION(3)), which gets called at least once per second, even if the connection is paused.

When this function is called to unpause reading, the chance is high that you will get your write callback called before this function returns.

The handle argument is of course identifying the handle that operates on the connection you want to pause or unpause.

The bitmask argument is a set of bits that sets the new state of the connection. The following bits can be used:

CURLPAUSE_RECV

Pause receiving data. There will be no data received on this connection until this function is called again without this bit set. Thus, the write callback (CURLOPT_WRITEFUNCTION(3)) won't be called.

CURLPAUSE_SEND

Pause sending data. There will be no data sent on this connection until this function is called again without this bit set. Thus, the read callback (CURLOPT_READFUNCTION(3)) won't be called.

CURLPAUSE_ALL

Convenience define that pauses both directions.

CURLPAUSE_CONT

Convenience define that unpauses both directions.

RETURN VALUE

CURLE_OK (zero) means that the option was set properly, and a non-zero return code means something wrong occurred after the new state was set. See the libcurl-errors man page for the full list with descriptions.

LIMITATIONS

The pausing of transfers does not work with protocols that work without network connectivity, like FILE://. Trying to pause such a transfer, in any direction, will cause problems in the worst case or an error in the best case.

AVAILABILITY

This function was added in libcurl 7.18.0. Before this version, there was no explicit support for pausing transfers.

USAGE WITH THE MULTI-SOCKET INTERFACE

Before libcurl 7.32.0, when a specific handle was unpaused with this function, there was no particular forced rechecking or similar of the socket's state, which made the continuation of the transfer get delayed until next multi-socket call invoke or even longer. Alternatively, the user could forcibly call for example curl_multi_socket_all(3) - with a rather hefty performance penalty.

Starting in libcurl 7.32.0, unpausing a transfer will schedule a timeout trigger for that handle 1 millisecond into the future, so that a curl_multi_socket_action( ... CURL_SOCKET_TIMEOUT) can be used immediately afterwards to get the transfer going again as desired.

MEMORY USE

When pausing a read by returning the magic return code from a write callback, the read data is already in libcurl's internal buffers so it'll have to keep it in an allocated buffer until the reading is again unpaused using this function.

If the downloaded data is compressed and is asked to get uncompressed automatically on download, libcurl will continue to uncompress the entire downloaded chunk and it will cache the data uncompressed. This has the side- effect that if you download something that is compressed a lot, it can result in a very large data amount needing to be allocated to save the data during the pause. This said, you should probably consider not using paused reading if you allow libcurl to uncompress data automatically.

SEE ALSO

curl_easy_cleanup, curl_easy_reset

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_easy_strerror.pdf0000644000175000017500000000712312652070422016511 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•UÛnÛF}çW Ї.‹r³»¼-Ñ¢€œ2€ År(:@`C12 ^”%‰Àý†~tf—”%Êr‹‚€Dq‡3gÎ93ú Œr`úš¾óÚz“„°ë,;ë«ÅÍ!L_y W)Hý ýbïp„‘KeimqRŸCúͺ#ù ª‡"랺^Jµêž¸÷6Tåg}d;Âg”±¼Ïš!«à•xûÏôËaTp¬#€ÐÈ×ÜÒ•E®öˆO¹OýÈE\éÖ"ïc;ýë±`Ôc!8\èc¦Q^ ¨¢Tø¤lv°-º\•Ÿõí·ÛbÌ|ÅA,¨4¥7Ÿ®×7›åfÀ„˜â䇲ɫa[À¯ÁýAÓáÂ3=åmÓõ?f ~ºÄÌÛÛd¥Œ˜š¡¾·AþÓïñæm²¼I—ëëWa¥Sgœd–”ûbdôLSÛ Q?É B°=_ké’SÕŽ%¤¤QÄå˜ýÆŒGÈ—¡Éû²m&Æ;È.Þ?0ïÖ(û¬ëŠ-”‰È”îrN}1Á%»ÁÑ›‚c—uÑôgm AýC“óvÚ³f°m)ŸŠPS‚i’sË uõ™£eÔ„>éãÑ›xÄ™8pø®á`_æYU=A¶ßWx«é@ª®ÕOT‘—YÿBDçÏ¢hrÖ7éCœ$¶!Ñ"$ëäÊÆ‚Œ{¹}÷.N.©Â]—òøhDÞ¨ 2\·ª€nåÿÉ'ÒGIö éY ª2ðçµ+šB!ä-d=¨¡qú².FŽP)_Ìð̤ÃF‹°x¦Nhpü ërµ¸Z®–é§¹qö] œÂ¹CG—<ûì›mø $ÉäívôÏ´‘ ¤\P6‘ôÄ;’Äémr mîz4 8Y¬ncó–6‘éïÂh-öG'x4äQ4µÓ–M_(èQpø»P-௺l ‡ã4ЗÛW§Iq²râ«Íú;pG¦6íoÜÓ‘Do´ª;3…ïlJŒm~žçÄ’AÀæ;¡ª¾4KAgŽ\a¦çŽqŸc•ó}àQæGòépóÕ¤žSùŸÕ<…§ÕFG¾æÓñü`Æ1‚ÔŠ=KD‹½Á˜g{Áá†ë4qj}Àë;¥™çjendstream endobj 6 0 obj 857 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:10+01:00 2016-01-27T08:26:10+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001180 00000 n 0000003060 00000 n 0000001121 00000 n 0000000961 00000 n 0000000015 00000 n 0000000942 00000 n 0000001245 00000 n 0000001499 00000 n 0000001434 00000 n 0000001366 00000 n 0000001286 00000 n 0000001316 00000 n 0000001581 00000 n 0000001637 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<44296939A2501B62EF1619147C7640B2><44296939A2501B62EF1619147C7640B2>] >> startxref 3214 %%EOF curl-7.47.0/docs/libcurl/curl_easy_recv.html0000644000175000017500000001045012652070414015757 00000000000000 curl_easy_recv man page

NAME

curl_easy_recv - receives raw data on an "easy" connection

SYNOPSIS

#include <curl/easy.h>

CURLcode curl_easy_recv( CURL * curl , void * buffer , size_t buflen , size_t * n );

DESCRIPTION

This function receives raw data from the established connection. You may use it together with curl_easy_send to implement custom protocols using libcurl. This functionality can be particularly useful if you use proxies and/or SSL encryption: libcurl will take care of proxy negotiation and connection set-up.

buffer is a pointer to your buffer that will get the received data. buflen is the maximum amount of data you can get in that buffer. The variable n points to will receive the number of received bytes.

To establish the connection, set CURLOPT_CONNECT_ONLY(3) option before calling curl_easy_perform or curl_multi_perform. Note that curl_easy_recv does not work on connections that were created without this option.

You must ensure that the socket has data to read before calling curl_easy_recv, otherwise the call will return CURLE_AGAIN - the socket is used in non-blocking mode internally. Use curl_easy_getinfo with CURLINFO_ACTIVESOCKET(3) to obtain the socket; use your operating system facilities like select(2) to check if it has any data you can read.

AVAILABILITY

Added in 7.18.2.

RETURN VALUE

On success, returns CURLE_OK, stores the received data into buffer, and the number of bytes it actually read into *n.

On failure, returns the appropriate error code.

If there is no data to read, the function returns CURLE_AGAIN. Use your operating system facilities to wait until the data is ready, and retry.

Reading exactly 0 bytes would indicate a closed connection.

If there's no socket available to use from the previous transfer, this function returns CURLE_UNSUPPORTED_PROTOCOL.

EXAMPLE

See sendrecv.c in docs/examples directory for usage example.

SEE ALSO

curl_easy_setopt, curl_easy_perform, curl_easy_getinfo, curl_easy_send

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_timeout.pdf0000644000175000017500000001140012652070423016500 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•Wínë¸ýï§ Pt#¥1Cê[»ÛÞ¬Ûzë|4Q r‹@‘èX»²äÕG²y‡¾Jß±3¤(ÉŠƒ‹"7ŽI‘3gΜ9ú0Ê ÃŸîw²›ßú䥞1ò2ûmÆå"é~%;òCü"ÚÌÔ3œøñC›!‰v3ÎmÊl½Í¤­ò§]›7ÙS“íDÙ6_ û‹Iòì—̹å2ʘo\ÆEçä“ýæ¿£ŸfsF-7$@ÐÐÅlDë™qµ0O fXå.uCâŠÒ™q¹4£_F[Œ:Ì'sná2Ã(IþK¶%>hQ }êñ0ìÎ|ËqIÝ…ä·FY¼¦$o&gFœ5dSV$Nš¬,ȳ€?ÙWe"Dš/2¡ƒ4æÜñ(D5ç ä5wW×7w«»Ã Ý.xãY‘äm*È÷˜Á9þG·‘a;“‹ûÛõeRÂŽc¸ÊUrª¾ÝÆEš‹3’c§zù€z¦¼_‡øãòîâvu­®¯>‹ˆå(., ï÷y–Ä“¶Î°­Ðd 2’¨6fHÃÐò#N©·e›§$‰ó|œ,§íSW×ú3òD¥d^_J¨×^Z( ]—Üs°´§®Ç¬£5÷ì0诬ÁŹÃÀeL­G£ IAwÞu™üÚ)šŽ)50/nÈ®¬‘ƒhCeúŒÚ¶…ÇG§ÆM¿Hv"†D˜V$-5¼ÝMpɼnÞsA4ÉÕ•ßJ\qçÛ  ¾£Ù=wÝñàÔ'uÎШ#}°,Ê=á¦-’¹B ùÄ,•E.ÃÌxƒ d<²p:Ú? 4ìÃ& Ó7~\á"°#ƒ. ã¥Ý‰¢!5À …Gþ?Ý]_üc=E«Ëåõ}„84Ä` ÎM[3å¬Ô‹VG‡[z±JØ茑°Ipy?êIo¹ †a`”Õî(œŒÓ ‡3Û(,á!ÞCÚ½—í‰éÈò  ÐÐlu¶ÛçÀèwRæ)|ú´í [«2N¶šuÜv4ë¢í@£WÓ‚¬Ê[A*Ñ´U!R8Quwy w2šÐÕ¥ìΙÔÒÖàãÕ®Jl´nj(ßÉj¼¢hwÏD¹!»,ϳZ$e‘ÖØDÍv¼š9pÍÕ;ô@å3ç!Ôг¡b²©ŒÕ†08½éú  ÔÔ5"Év;踸ù»$+¢ð&µÃ P'» N+ zá—¡09ÙrŒwZšÀ}p™‚­†hζJœÈ(a¾¨™Ç=˜ªÜÖÌ© °! ²QõÁ]§>ó5²¬î7›z>?{Rà4?t• ¦ŽÃu'zÝlas[‹ZVu¤š2ÐU‹›¹ûûõýúGruÝÅ≌· WͨÆ.pKƒæ8V§œBUU8#Ϧ…fÁ ˆ¼»&+êFÄ)Ö‘Œ³ŽBs $#túÖ80Ñ”ûcã!p¨ßOz…vJÖÔj_:T:ò‘³ôúF Éí_ï¯.>ÎDn‡”û½[ØKT‘@«}ב©¨³ ö,¶±ÊÔà5++ÓÅs£#¯åZê<ÇI°…J?¯ÊF|K²M?S5­b@¡ïX¤—dø/m­i.Ë«Ÿ‚ÿ*h ÷6®IQ’º)1¬¡åQ AêziÅÖ—šs*ë=ï–5øc?ÅaÓà§ÚÝ@—Zã#ø Œ±(›n†2ß–3´)KeV¾;’?ð•l„nÅ-—òÞ¶ÕÃ5Ð\ÏöG£Ó (Â6Þ×`O»Á‹­/‡ãD§¥<öøÅ”U±]© GL 9ötË-.oÖËO-]ÝTmÒHœ%˜0ód"Ž…T¯ñØ™R>pyÓ§€ÍaÜ”êö<Ó áQ}¡„P–U.õP‡ñù½²†xÈ'Ñ¥âä{ £NfýÆù©$h4{ΰY¡T©Øô."†+Èé¹D°;êÏ$ ^2w5Íõ¨ Í+tp[ÔÖs’1•ÀhK«öèØþ(wAÙN»í'OF±ƒ(?wPXè½&²)èRÉ39H‡Œtä <®¹Hºø÷Mú'ôo6i:%?¼UY#ä'¡†Pú÷Dì5¶Êx$ÓØz?·ËèþöŠülÂX¦¡ÇÅú~91 ³ÔÈ®(b\¥dx3Àd§@1€¨*XÆ}õ1v=ܬ.kr·jå[¡ñ·Ï#2.>º£‚à_·ó6µX Þ{_ï€YÓÊaœÁC{'áãƒ(+[QhIaʧÊä>t®í 3“„X?UÿÏ[&žœì{}zòG 6À!Ùb‡!µqŠBjŒJäQ6‡˜ÛÖGX? ŸS{°k ácž|\™åë'8~µŒfÿ„Ÿÿž.ôendstream endobj 6 0 obj 2051 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:11+01:00 2016-01-27T08:26:11+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002375 00000 n 0000004265 00000 n 0000002316 00000 n 0000002156 00000 n 0000000015 00000 n 0000002136 00000 n 0000002440 00000 n 0000002694 00000 n 0000002629 00000 n 0000002561 00000 n 0000002481 00000 n 0000002511 00000 n 0000002776 00000 n 0000002842 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [(pPyBm\372am|\221Z\265\350%zP)(pPyBm\372am|\221Z\265\350%zP)] >> startxref 4419 %%EOF curl-7.47.0/docs/libcurl/curl_multi_socket.30000644000175000017500000001532212626067776015724 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_socket 3 "9 Jul 2006" "libcurl 7.16.0" "libcurl Manual" .SH NAME curl_multi_socket \- reads/writes available data .SH SYNOPSIS .nf #include CURLMcode curl_multi_socket(CURLM * multi_handle, curl_socket_t sockfd, int *running_handles); CURLMcode curl_multi_socket_all(CURLM *multi_handle, int *running_handles); .fi .SH DESCRIPTION These functions are deprecated. Do not use! See \fIcurl_multi_socket_action(3)\fP instead! At return, the integer \fBrunning_handles\fP points to will contain the number of still running easy handles within the multi handle. When this number reaches zero, all transfers are complete/done. Note that when you call \fIcurl_multi_socket_action(3)\fP on a specific socket and the counter decreases by one, it DOES NOT necessarily mean that this exact socket/transfer is the one that completed. Use \fIcurl_multi_info_read(3)\fP to figure out which easy handle that completed. The \fBcurl_multi_socket_action(3)\fP functions inform the application about updates in the socket (file descriptor) status by doing none, one, or multiple calls to the socket callback function set with the CURLMOPT_SOCKETFUNCTION option to \fIcurl_multi_setopt(3)\fP. They update the status with changes since the previous time the callback was called. Get the timeout time by setting the \fICURLMOPT_TIMERFUNCTION\fP option with \fIcurl_multi_setopt(3)\fP. Your application will then get called with information on how long to wait for socket actions at most before doing the timeout action: call the \fBcurl_multi_socket_action(3)\fP function with the \fBsockfd\fP argument set to CURL_SOCKET_TIMEOUT. You can also use the \fIcurl_multi_timeout(3)\fP function to poll the value at any given time, but for an event-based system using the callback is far better than relying on polling the timeout value. Usage of \fIcurl_multi_socket(3)\fP is deprecated, whereas the function is equivalent to \fIcurl_multi_socket_action(3)\fP with \fBev_bitmask\fP set to 0. Force libcurl to (re-)check all its internal sockets and transfers instead of just a single one by calling \fBcurl_multi_socket_all(3)\fP. Note that there should not be any reason to use this function! .SH "CALLBACK DETAILS" The socket \fBcallback\fP function uses a prototype like this .nf int curl_socket_callback(CURL *easy, /* easy handle */ curl_socket_t s, /* socket */ int action, /* see values below */ void *userp, /* private callback pointer */ void *socketp); /* private socket pointer */ .fi The callback MUST return 0. The \fIeasy\fP argument is a pointer to the easy handle that deals with this particular socket. Note that a single handle may work with several sockets simultaneously. The \fIs\fP argument is the actual socket value as you use it within your system. The \fIaction\fP argument to the callback has one of five values: .RS .IP "CURL_POLL_NONE (0)" register, not interested in readiness (yet) .IP "CURL_POLL_IN (1)" register, interested in read readiness .IP "CURL_POLL_OUT (2)" register, interested in write readiness .IP "CURL_POLL_INOUT (3)" register, interested in both read and write readiness .IP "CURL_POLL_REMOVE (4)" unregister .RE The \fIsocketp\fP argument is a private pointer you have previously set with \fIcurl_multi_assign(3)\fP to be associated with the \fIs\fP socket. If no pointer has been set, socketp will be NULL. This argument is of course a service to applications that want to keep certain data or structs that are strictly associated to the given socket. The \fIuserp\fP argument is a private pointer you have previously set with \fIcurl_multi_setopt(3)\fP and the CURLMOPT_SOCKETDATA option. .SH "RETURN VALUE" CURLMcode type, general libcurl multi interface error code. Legacy: If you receive \fICURLM_CALL_MULTI_PERFORM\fP, this basically means that you should call \fIcurl_multi_socket(3)\fP again, before you wait for more actions on libcurl's sockets. You don't have to do it immediately, but the return code means that libcurl may have more data available to return or that there may be more data to send off before it is "satisfied". In modern libcurls, \fICURLM_CALL_MULTI_PERFORM\fP or \fICURLM_CALL_MULTI_SOKCET\fP should not be returned and no application needs to care about them. NOTE that the return code is for the whole multi stack. Problems still might have occurred on individual transfers even when one of these functions return OK. .SH "TYPICAL USAGE" 1. Create a multi handle 2. Set the socket callback with CURLMOPT_SOCKETFUNCTION 3. Set the timeout callback with CURLMOPT_TIMERFUNCTION, to get to know what timeout value to use when waiting for socket activities. 4. Add easy handles with curl_multi_add_handle() 5. Provide some means to manage the sockets libcurl is using, so you can check them for activity. This can be done through your application code, or by way of an external library such as libevent or glib. 6. Wait for activity on any of libcurl's sockets, use the timeout value your callback has been told 7, When activity is detected, call curl_multi_socket_action() for the socket(s) that got action. If no activity is detected and the timeout expires, call \fIcurl_multi_socket_action(3)\fP with \fICURL_SOCKET_TIMEOUT\fP 8. Go back to step 6. .SH AVAILABILITY This function was added in libcurl 7.15.4, and is deemed stable since 7.16.0. \fIcurl_multi_socket(3)\fP is deprecated, use \fIcurl_multi_socket_action(3)\fP instead! .SH "SEE ALSO" .BR curl_multi_cleanup "(3), " curl_multi_init "(3), " .BR curl_multi_fdset "(3), " curl_multi_info_read "(3), " .BR "the hiperfifo.c example" curl-7.47.0/docs/libcurl/curl_easy_init.html0000644000175000017500000000622612652070414015771 00000000000000 curl_easy_init man page

NAME

curl_easy_init - Start a libcurl easy session

SYNOPSIS

#include <curl/curl.h>

CURL *curl_easy_init( );

DESCRIPTION

This function must be the first function to call, and it returns a CURL easy handle that you must use as input to other functions in the easy interface. This call MUST have a corresponding call to curl_easy_cleanup when the operation is complete.

If you did not already call curl_global_init, curl_easy_init does it automatically. This may be lethal in multi-threaded cases, since curl_global_init is not thread-safe, and it may result in resource problems because there is no corresponding cleanup.

You are strongly advised to not allow this automatic behaviour, by calling curl_global_init yourself properly. See the description in libcurl(3) of global environment requirements for details of how to use this function.

RETURN VALUE

If this function returns NULL, something went wrong and you cannot use the other curl functions.

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  CURLcode res;
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
  res = curl_easy_perform(curl);
  curl_easy_cleanup(curl);
}

SEE ALSO

curl_easy_cleanup, curl_global_init, curl_easy_reset, curl_easy_perform

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_unescape.pdf0000644000175000017500000000760612652070420015415 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VmÚFþί˜¦ª°£cowý®V•HË"ŽKÁD9qUå³peÖ¿ä’ü†þèήmŒá¤ªBâų;óÌ3ÏÌð(a@Õ«ýŒ£Û•ûrDa?ú·ã„ù”µ§nÒS–ñ|J»,eÕàî3b÷÷2!÷Õa˜×ºæÏ¯dS‚ ÷$ý>[ÿ¶šç÷Ëa¥Ïxº*óLTvµŒ«4—6¥¸€ØÄ¶NÁ5g"*¿]q"pwÚ )r*¢ä-æÄõa¢Ê€*#®ek¥…‡´<€—4ËT1ê ð ãl /z%.åÒÒ.‹ê5ZX#~ªdãÅ"Lݹ’馗©C,Çêbc©º T>×”Z¸PåÁ›ç,Jeûè D2BTu!MTATâÙô†ë—výò¢aÚÜÆJwõa„ÚŽN&ʲ<Ž*ŒØ8&0EŠšèJ¯Q\‰¢lCBwj‡ñÑøéÓ'x9|Ž_R… Òá,Û¯ bé‰dä“$ݧrâP§Cù5ÂþO‘n€‰…5ñw84d}|N1]Å'qUH' »˜×…Üb> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:08+01:00 2016-01-27T08:26:08+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001487 00000 n 0000003367 00000 n 0000001428 00000 n 0000001268 00000 n 0000000015 00000 n 0000001248 00000 n 0000001552 00000 n 0000001806 00000 n 0000001741 00000 n 0000001673 00000 n 0000001593 00000 n 0000001623 00000 n 0000001888 00000 n 0000001944 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<27C4BAB9BF327548F86F96AB458FA291><27C4BAB9BF327548F86F96AB458FA291>] >> startxref 3521 %%EOF curl-7.47.0/docs/libcurl/curl_multi_strerror.30000644000175000017500000000322312626067776016313 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_strerror 3 "26 Apr 2004" "libcurl 7.12" "libcurl Manual" .SH NAME curl_multi_strerror - return string describing error code .SH SYNOPSIS .nf .B #include .BI "const char *curl_multi_strerror(CURLMcode " errornum ");" .SH DESCRIPTION The curl_multi_strerror() function returns a string describing the CURLMcode error code passed in the argument \fIerrornum\fP. .SH AVAILABILITY This function was added in libcurl 7.12.0 .SH RETURN VALUE A pointer to a zero terminated string. .SH "SEE ALSO" .BR libcurl-errors "(3), " curl_easy_strerror "(3), " curl_share_strerror "(3)" curl-7.47.0/docs/libcurl/libcurl-easy.30000644000175000017500000000576312626067776014600 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH libcurl 3 "19 Sep 2014" "libcurl" "libcurl easy interface" .SH NAME libcurl-easy \- easy interface overview .SH DESCRIPTION When using libcurl's "easy" interface you init your session and get a handle (often referred to as an "easy handle"), which you use as input to the easy interface functions you use. Use \fIcurl_easy_init(3)\fP to get the handle. You continue by setting all the options you want in the upcoming transfer, the most important among them is the URL itself (you can't transfer anything without a specified URL as you may have figured out yourself). You might want to set some callbacks as well that will be called from the library when data is available etc. \fIcurl_easy_setopt(3)\fP is used for all this. \fICURLOPT_URL(3)\fP is only option you really must set, as otherwise there can be no transfer. Another commonly used option is \fICURLOPT_VERBOSE(3)\fP that will help you see what libcurl is doing under the hood, very useful when debugging for example. The \fIcurl_easy_setopt(3)\fP man page has a full index of the over 200 available options. If you at any point would like to blank all previously set options for a single easy handle, you can call \fIcurl_easy_reset(3)\fP and you can also make a clone of an easy handle (with all its set options) using \fIcurl_easy_duphandle(3)\fP. When all is setup, you tell libcurl to perform the transfer using \fIcurl_easy_perform(3)\fP. It will then do the entire operation and won't return until it is done (successfully or not). After the transfer has been made, you can set new options and make another transfer, or if you're done, cleanup the session by calling \fIcurl_easy_cleanup(3)\fP. If you want persistent connections, you don't cleanup immediately, but instead run ahead and perform other transfers using the same easy handle. .SH "SEE ALSO" .BR curl_easy_init "(3)," curl_easy_cleanup "(3)," curl_easy_setopt "(3), " .BR libcurl-errors "(3), " libcurl-multi "(3), " libcurl "(3) " curl-7.47.0/docs/libcurl/curl_strequal.html0000644000175000017500000000516012652070414015641 00000000000000 curl_strequal man page

NAME

curl_strequal, curl_strnequal - case insensitive string comparisons

SYNOPSIS

#include <curl/curl.h>

int curl_strequal(char * str1 , char * str2 );

int curl_strenqual(char * str1 , char * str2 , size_t len );

DESCRIPTION

The curl_strequal() function compares the two strings str1 and str2, ignoring the case of the characters. It returns a non-zero (TRUE) integer if the strings are identical.

The curl_strnequal() function is similar, except it only compares the first len characters of str1.

These functions are provided by libcurl to enable applications to compare strings in a truly portable manner. There are no standard portable case insensitive string comparison functions. These two work on all platforms.

AVAILABILITY

These functions will be removed from the public libcurl API in a near future. They will instead be made "available" by source code access only, and then as curlx_strequal() and curlx_strenqual().

RETURN VALUE

Non-zero if the strings are identical. Zero if they're not.

SEE ALSO

strcmp (3), strcasecmp (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_easy_escape.30000644000175000017500000000437412626067776015510 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH curl_easy_escape 3 "7 April 2006" "libcurl 7.15.4" "libcurl Manual" .SH NAME curl_easy_escape - URL encodes the given string .SH SYNOPSIS .B #include .sp .BI "char *curl_easy_escape( CURL *" curl ", const char *" string .BI ", int "length " );" .ad .SH DESCRIPTION This function converts the given input \fIstring\fP to a URL encoded string and returns that as a new allocated string. All input characters that are not a-z, A-Z, 0-9, '-', '.', '_' or '~' are converted to their "URL escaped" version (%NN where NN is a two-digit hexadecimal number). If \fIlength\fP is set to 0 (zero), \fIcurl_easy_escape(3)\fP uses strlen() on the input \fIstring\fP to find out the size. You must \fIcurl_free(3)\fP the returned string when you're done with it. .SH AVAILABILITY Added in 7.15.4 and replaces the old \fIcurl_escape(3)\fP function. .SH RETURN VALUE A pointer to a zero terminated string or NULL if it failed. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { char *output = curl_easy_escape(curl, "data to convert", 15); if(output) { printf("Encoded: %s\\n", output); curl_free(output); } } .fi .SH "SEE ALSO" .BR curl_easy_unescape "(3), " curl_free "(3), " RFC 3986 curl-7.47.0/docs/libcurl/curl_multi_timeout.30000644000175000017500000000635312626067776016126 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_timeout 3 "2 Jan 2006" "libcurl 7.16.0" "libcurl Manual" .SH NAME curl_multi_timeout \- how long to wait for action before proceeding .SH SYNOPSIS #include CURLMcode curl_multi_timeout(CURLM *multi_handle, long *timeout); .SH DESCRIPTION An application using the libcurl multi interface should call \fBcurl_multi_timeout(3)\fP to figure out how long it should wait for socket actions \- at most \- before proceeding. Proceeding means either doing the socket-style timeout action: call the \fBcurl_multi_socket_action(3)\fP function with the \fBsockfd\fP argument set to CURL_SOCKET_TIMEOUT, or call \fBcurl_multi_perform(3)\fP if you're using the simpler and older multi interface approach. The timeout value returned in the long \fBtimeout\fP points to, is in number of milliseconds at this very moment. If 0, it means you should proceed immediately without waiting for anything. If it returns -1, there's no timeout at all set. An application that uses the multi_socket API SHOULD NOT use this function, but SHOULD instead use \fIcurl_multi_setopt(3)\fP and its \fPCURLMOPT_TIMERFUNCTION\fP option for proper and desired behavior. Note: if libcurl returns a -1 timeout here, it just means that libcurl currently has no stored timeout value. You must not wait too long (more than a few seconds perhaps) before you call curl_multi_perform() again. .SH EXAMPLE .nf struct timeval timeout; long timeo; curl_multi_timeout(multi_handle, &timeo); if(timeo < 0) /* no set timeout, use a default */ timeo = 980; timeout.tv_sec = timeo / 1000; timeout.tv_usec = (timeo % 1000) * 1000; /* wait for activities no longer than the set timeout */ select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); .fi .SH "RETURN VALUE" The standard CURLMcode for multi interface error codes. .SH "TYPICAL USAGE" Call \fBcurl_multi_timeout(3)\fP, then wait for action on the sockets. You figure out which sockets to wait for by calling \fBcurl_multi_fdset(3)\fP or by a previous call to \fBcurl_multi_socket(3)\fP. .SH AVAILABILITY This function was added in libcurl 7.15.4. .SH "SEE ALSO" .BR curl_multi_fdset "(3), " curl_multi_info_read "(3), " .BR curl_multi_socket "(3), " curl_multi_setopt "(3) " curl-7.47.0/docs/libcurl/curl_global_cleanup.pdf0000644000175000017500000000742412652070420016557 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVÛnÛF}×W Ї…¹Ùåu‰’V\$vñ%°‹€¦V"Sr׿ņ>¢ÿÜÙ%W"Ø´f9çÌ™3³~JPý™~ÍêíçöÝŠÂ~õ´b&Ó¯¢÷àú‹l·ßaø¤á)d ¾ÂIÌ {YÝ9ÅÐÖ_÷µzÈë¯E-r9<Þ;Á½ uõ c®çG”Pš81–×ðÚ î?Ù_+Ÿ!FR¤@ÒH³bÈ>¬œ›wîdQ‘( Y¶]9×nömÆÙ§$¤ xÌ×aªy^¢ Œ_Xª0Æl3xñ=nà6_nn?m®7§cÅ Ðù©’E=lüª³¾Õ?Hù›>îé& }?4õ<+[OJÒ±˜;§Ú^–èÙeÔQÕöÞýÅHµdF˜áÄñõæ÷Ïן²ëÛ›¥63šYYu°dÑWJB+¨>tjh |Ê‹§¡jÅËZY’jÜQý9ÙJVýØÌ(íqbt`£è §õÀØ¥ƒ ¸±ÃS,„q†NÇîûÄOø „ëãØãR 5Š—×õÏè„$Mù¾ ÿ-(§œGGÉBÀNµ ò¢4pP4ù¿–0 û$ˆm¥¢?¦$¦‰e Îè!?a½ªçf&lLâø¨ÐU> |ÎN q£Ð®­až·Âô!à!aA¸œ•­’†®’{;dÙJ¢Ð$Ì~¾;³>KÕC_¶.KHÊyàˆ| ]¾dœð©õ³¢:ÌŠc=@C~Áͩˆðc…hŽÞàšÖT=¼”BB.m*c§a‚£ ê”Ê q+VŽvêK Ñü+‰O[µoóîŠù6Rú #~¥$”ûãŠìʼÕbê ]ÞhD£ÚîHT«¤Ä q½·ªÏø(èV‰N¾1Šù$Ò™pkPô1§úoÇ8a¡^›'-ô5 j^D_潆ü¾µŒÇ$Š’)Á{QäC'–=÷P:ó£U~pŽe¸©#«m‚™uŒ}:¹¦µ›¨"«ÕÂícØ¢O¡«šªÎÛú`뤶ӕîs1޼’ÿUE?n– páè—ª/'; šFË”D§É™›A˜>×nè /щs¶ãV }BuR»Ï6B˜¦oEW´Õã8 r©+ç8ÔúxjÊ!Ã#¯;Õšn.!ÝÐÜ®ó\µJ6Bö¸ÁÍÞÖÏÙZ[ÑçUmT.•õÔ設oÓ¾ô.ÞÕŽÌ£†oµèt%³AŸm„ã„ʇ>ÏíE¹^û›ÛW/ÊóU·¬8NnE;¯F’«³{H¯?ê/µ;û_—kp!‰ÇBNlUˆNˆçïCB¸1 µî` ü)À§46ÈŽ Ó®³Õßøù]„…Gendstream endobj 6 0 obj 1049 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:08+01:00 2016-01-27T08:26:08+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001373 00000 n 0000003253 00000 n 0000001314 00000 n 0000001154 00000 n 0000000015 00000 n 0000001134 00000 n 0000001438 00000 n 0000001692 00000 n 0000001627 00000 n 0000001559 00000 n 0000001479 00000 n 0000001509 00000 n 0000001774 00000 n 0000001830 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3407 %%EOF curl-7.47.0/docs/libcurl/curl_multi_fdset.30000644000175000017500000001021012626067776015530 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_fdset 3 "2 Jan 2006" "libcurl 7.16.0" "libcurl Manual" .SH NAME curl_multi_fdset - extracts file descriptor information from a multi handle .SH SYNOPSIS .nf #include 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); .ad .SH DESCRIPTION This function extracts file descriptor information from a given multi_handle. libcurl returns its fd_set sets. The application can use these to select() on, but be sure to FD_ZERO them before calling this function as \fIcurl_multi_fdset(3)\fP only adds its own descriptors, it doesn't zero or otherwise remove any others. The \fIcurl_multi_perform(3)\fP function should be called as soon as one of them is ready to be read from or written to. If the \fIread_fd_set\fP argument is not a null pointer, it points to an object of type fd_set that on returns specifies the file descriptors to be checked for being ready to read. If the \fIwrite_fd_set\fP argument is not a null pointer, it points to an object of type fd_set that on return specifies the file descriptors to be checked for being ready to write. If the \fIexc_fd_set\fP argument is not a null pointer, it points to an object of type fd_set that on return specifies the file descriptors to be checked for error conditions pending. If no file descriptors are set by libcurl, \fImax_fd\fP will contain -1 when this function returns. Otherwise it will contain the highest descriptor number libcurl set. When libcurl returns -1 in \fImax_fd\fP, it is because libcurl currently does something that isn't possible for your application to monitor with a socket and unfortunately you can then not know exactly when the current action is completed using select(). You then need to wait a while before you proceed and call \fIcurl_multi_perform(3)\fP anyway. How long to wait? We suggest 100 milliseconds at least, but you may want to test it out in your own particular conditions to find a suitable value. When doing select(), you should use \fIcurl_multi_timeout(3)\fP to figure out how long to wait for action. Call \fIcurl_multi_perform(3)\fP even if no activity has been seen on the fd_sets after the timeout expires as otherwise internal retries and timeouts may not work as you'd think and want. If one of the sockets used by libcurl happens to be larger than what can be set in an fd_set, which on POSIX systems means that the file descriptor is larger than FD_SETSIZE, then libcurl will try to not set it. Setting a too large file descriptor in an fd_set implies an out of bounds write which can cause crashes, or worse. The effect of NOT storing it will possibly save you from the crash, but will make your program NOT wait for sockets it should wait for... .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. See \fIlibcurl-errors(3)\fP .SH "SEE ALSO" .BR curl_multi_cleanup "(3), " curl_multi_init "(3), " .BR curl_multi_wait "(3), " .BR curl_multi_timeout "(3), " curl_multi_perform "(3), " select "(2) " curl-7.47.0/docs/libcurl/curl_escape.pdf0000644000175000017500000000766412652070420015056 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•Vínã6üï§Ø^QX:Ä I}£EßÕ\8ÎÕVH¢P$ÚV!S9}\zy†>t—”dIIŠka DjwvvvÈO@ ª~í3>M.7Ê …ÃäÓ„éEhñ Þ…¸ÁW/Âý¤ù†ÇÁ ,âž&̶u!|œìŒ¸.²?DGâΰîLÈÒ{õΜq‡J=ã*’u”Áóæïá/“%œaÌS˜’ŽÊjaðÕÄXÏÍ)¢ÄUæ'°I˜LŒ«…þ9ÀÈ)±©3ÆÕ2U¸†°`7›ç‰(¡: 8¤*&gŽŽnÙ$Ú蟅ZãD¯„ûo·K²TK F,\iª"•‡Ô Š q0—øzßöv}ýa»Üö[Ûj[ìÆ·©Œ³:ðƒ*àRý!Ç5 [S£Þޏ„8—eÍ v¹a´ëæ´UOúÂúìŒæSÖîºHÏ%zÄó)íJ”UºÍˆÝ— y¨Žãº¸ŽÐí¸3¿ÉçAiõ ý´Ø¾ß,?„Ëëõ¸É’®ïË<•€}-ã*Í%›R<ƒØÄ¶ÎÉ¢òËH£¾CxÇUŠ„Š(ùF«„yq}˜© ¼ˆïûZbá1-Ïà1Í2Õ‰‘°ÜíYþHYô¥®Šê5UZœ¸–3–¥…ªó_f:&sÛŒ «§±Ê‡º‚R˪"9‰¤[ˆd…¨êB"œ¨‚¨„ä9¯§Âs; >íò>F}^‡PÛíÐfY>ÓÅØÌ' EÔ 'á8hz@£êœ™ÀÉK5H%ã(®DQ¶ 2Ççìéæ³ß /€Î‚†ï{ñ‚rŽ3gî×)ÇìÈòžðF³¡•‘¼Ïꆮb±V;C&WvøÆ¬q.›#Ó(°¡íìŒRiáÎøn½†Ç£@ìøOªx¬MF|–¤‡´‚£0zŽïØÆ_Q"âô„)ëÓ½(îL¢¨æ14|»3–{­)Æ ”qÞÎÛéÑ›]dÙ³ú®kŠõIÈJ¥/E¥Š¥cF·Ö4Ö¥PÀ˜ú].u²¦Sü`:Îß(’¼Ö‚Õ¼·™»Ù,Ó'Aš±Áói7nsô¤Öu”8ÙÙiëÓP=ül-•µ25w_ˆ¬BÕ´-²,áK^OMTfpÏ@Ò“\ ,­:BZ5l"§™œ±¹œØ½ýà.Ô¶ânþægtØy×ÁØËÕüÝrµ oÇþ%X¶ï¡-ú¹µIì‹gåØÄëÉøŸUó:KÔ`ó¯˜Ñ½"ë”O:OWþµ“ng$©É5¡†Œö5>¡ç¡Rdˆºéù˜ZË· w{rwÆfÞlÖðÑԮˌùêf¡ƒŸO¥Wì~þÐËdHÙÎÈS‰F¡ žDÓ,ŠS*΢Üb}³ZAºG)À^Í`”fȘN;Œ÷}p^/0_m¯ÿõ¼Ö]«eÓ²q·\¥uÚ‰F·óbÓ¸n·£½Ií “yh –mÑb> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:07+01:00 2016-01-27T08:26:07+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001533 00000 n 0000003413 00000 n 0000001474 00000 n 0000001314 00000 n 0000000015 00000 n 0000001294 00000 n 0000001598 00000 n 0000001852 00000 n 0000001787 00000 n 0000001719 00000 n 0000001639 00000 n 0000001669 00000 n 0000001934 00000 n 0000001990 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<12A0F883DECAE96012B1DD36E0F1A1AE><12A0F883DECAE96012B1DD36E0F1A1AE>] >> startxref 3567 %%EOF curl-7.47.0/docs/libcurl/curl_slist_append.pdf0000644000175000017500000000740212652070417016277 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœuVmo£Fþί]?¢xÃ.,°½¦’{gérrœÔ!U«¸Š^Û´|¼È½ÿp?º³Ë‹qŽ“¥3³3Ï<ó̬¿€M(ØêÓ>ã½q½ôa[6l/ÕFhñ~ Ñ!P/ÂÑœ¡à3ð…CáÞ TŸBx4žÍ¸.Ò—2MÊê%:d¶^™ÎÊ‚4yUk¸MlÛ7ŽRw·þ?›0ŠñcL/0=\!p<熹˜Zˆ­”.D® ónf…ÿ ð2›¸¶Ê”ÙV¿‡ˆÖkˆ ¬Š$ÛB•C”öh¢ ÒO0ÿ„z$ÐéÿZÜ?<Þ>žÜZˆmBó§$‹Óz-á•õZý!»_•;su˜²Ž«p9ÂɈ–½¤vW'óˆÏ[”ÃÕ9$êæØ´uˆó CÄ»¨À8Ú¯Ä]Ò…iØ8ÃÂ=›µ+ëýA< ¶; éãìñÃòö!¼½_œ7çÄ“M<×û¡€P?Í¿¥êÑAÆÉ7¹6 å•ýkQ¥,W˜hÓå›Ö§$î$H-+© ¢«à?tì‹ìIpl✱yŽ×›r®eUîò:]ë„CT–r­Î Z.ëêd„:öŽJ¨Ó·F…òå>ñ¨Û¶H9 í¸­÷2«à¸KR©dRy»Äsôp>á®'Z°ÇT›¹Ð.]Ë!I …¬ê"C†6E¾ÇpøjSgq•äYCRGïF˜ícÍlDý¤ùDøA‡c‡õ½J™5$N(§çSØt‘w2;GҢĶ‹!Ήløk•&¼|6Uº÷§fl ‰I¢­ÅÕÞq˜%¬ÌhSÉê2ÚJŒxLªVÇ`b„KpsèrÎT¹),”JÊ—(MO+ëĆêJÐÏ™ŒáñÓ”<›ËYø´\Àu\"> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:07+01:00 2016-01-27T08:26:07+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001355 00000 n 0000003235 00000 n 0000001296 00000 n 0000001136 00000 n 0000000015 00000 n 0000001116 00000 n 0000001420 00000 n 0000001674 00000 n 0000001609 00000 n 0000001541 00000 n 0000001461 00000 n 0000001491 00000 n 0000001756 00000 n 0000001812 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<163EEE0340B8309367425F17FC7231F4><163EEE0340B8309367425F17FC7231F4>] >> startxref 3389 %%EOF curl-7.47.0/docs/libcurl/mksymbolsmanpage.pl0000644000175000017500000000713312626067776016020 00000000000000#!/usr/bin/perl # *************************************************************************** # * _ _ ____ _ # * Project ___| | | | _ \| | # * / __| | | | |_) | | # * | (__| |_| | _ <| |___ # * \___|\___/|_| \_\_____| # * # * Copyright (C) 2015, Daniel Stenberg, , et al. # * # * This software is licensed as described in the file COPYING, which # * you should have received as part of this distribution. The terms # * are also available at http://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. # * # *************************************************************************** my $version="7.41.0"; use POSIX qw(strftime); my $date = strftime "%b %e, %Y", localtime; my $year = strftime "%Y", localtime; print <

, 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 http://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. .\\" * .\\" ************************************************************************** .TH libcurl-symbols 3 "$date" "libcurl $version" "libcurl symbols" .SH NAME libcurl-symbols \\- libcurl symbol version information .SH "libcurl symbols" This man page details version information for public symbols provided in the libcurl header files. This lists the first version in which the symbol was introduced and for some symbols two additional information pieces: The first version in which the symbol is marked "deprecated" - meaning that since that version no new code should be written to use the symbol as it is marked for getting removed in a future. The last version that featured the specific symbol. Using the symbol in source code will make it no longer compile error-free after that specified version. This man page is automatically generated from the symbols-in-versions file. HEADER ; while() { if($_ =~ /^(CURL[A-Z0-9_.]*) *(.*)/) { my ($symbol, $rest)=($1,$2); my ($intro, $dep, $rem); if($rest =~ s/^([0-9.]*) *//) { $intro = $1; } if($rest =~ s/^([0-9.]*) *//) { $dep = $1; } if($rest =~ s/^([0-9.]*) *//) { $rem = $1; } print ".IP $symbol\nIntroduced in $intro\n"; if($dep) { print "Deprecated since $dep\n"; } if($rem) { print "Last used in $dep\n"; } } } curl-7.47.0/docs/libcurl/curl_multi_info_read.pdf0000644000175000017500000001337312652070421016751 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ}XioÛFý®_±h„2Ì5¹Ë³n ¤Q¸°ÔVvaÐäJbÃCáaÁ(úò£;³Ù)ŒX1¹»s½yóV_ˆC]âàþLËÅÉuH6íÂ!›Å—…+_ý‘–äç,ˆðÁj½P{\2ÆœF1Y•°Å§,$«ýâÖJû¦¸/û¢Ëïój]ß7"Éî,~·$Eþ€/—6óê8¡u™T}RoîXþµúma;”¹`%'bp‚Æ>úÁ²ºXXWo—¯ÁoxëúÔ9ø¶ÊÖåÙrõ÷ÄkæPÏ ‰í2|í §/:Jl"?äcÒvIú™à˦Lº¼®’¢UçN±ÁÛ h$ ßüyõþÃÍùÍܼ\"M[ßçUZô™ ?¢ýüE·?áræÉˆ~ùx}qÙnÈÑËi!ò=9R/¶I•âr†ÔŒäU+ÚM ;ï¿ô¢wËÓçž».—›ŒóïÎn~¹>ÿ°:õ-ÿÊ]_¦ïmû™t[¡S¥!ùŸ5‚$ø¯’aÑw@^\`ÐêtpóKÚ|Sañ 92ÌqiûS¬ÅÒs…)Ø_դĔ€ïíT»OÉJ¢£x˜9Ôç¦\U|©—kÁ8bŸw[t×ÑHc¸ÓñÌZhÞG½ÈqMF0ui]A¡d‘HÕ—ˆ‘µ*.@7¯m#JXWRÈ&ë6Te +±9ÃÊ!bTaß“a}ڞꞬE‡Ø5’¾Åãg瓼S•(k(0°«êNÆBH·çQ¨Îõ!ƒð.¦,Š#O¿ÌÖcõE,2Yv|…ø±S!¬°Ìikéÿ3—Tí½Ê K6ø8¦|´ HVx¸µ0Í2çUÝÈ¢Å6)Å=,áÄaˆë)9ïÔž¼j;$y½€Žé¨«1ÃBNY™ÊNx*Ä%&GCÍ4à+3} â…á# Ïa“sl—*ŒW¤Ö«\ÝYCÜîƒÏPÒ©;Ì7‡}&w{n$ n6ê05ªvQîºÜÐŽKÙ8Z×Ö§q¢€»ØX¸¾:¿úõ‡yxà|êH€è•°°³¤KdI†–W§°Uý§+ØöÍ£I‘†#÷(÷tÿrê²@žü(H:&hÝ2 uÐÎ,¢ MÌ’ÉDM âc§dÆ,¦(†˜†òh{,¦¾3äw¦wš%!e@ÂØ\xŽçrðYéQÓLäct`‘º9°†ýŇ×Ò’HÚ§ÿó@¡—«3>ŽGlT%×wU a‘^k±ñ¤Ž¤n€ÇãÒ•]Y¢yŠÆ)³0ƒñS<Ž–…\.{HÚ<REQHeeh[ÑðùZ±x^éšK òÔ¤7PP=Ôžë‡Å#>„IÄÇ<di»¶âÚ¡;j=z:bI§áKܳœÇ¦»¤éò´/’†|‡9ÖŠæ;ܰk`ꂤ’Üý®“…IIA%< ÑJ7È­€N«•d <×¥žoœÝ gÒKæ’…ÞHWYÅè0Ê— ù L›ji+ü ˜ƒÍ»¥l];⨦cƒK‡bDç?¸È=‘Ïo~%0O—¶zjëäˆì·fö¶-’-9:‘Þá~­eÉ‘ŒD¥ó”À^L·Ñ‹"*…)!·¾^X}…UúG&‰‹QÖ¾ˆ‰<#Gè˜ñÃWóÌy6ËP3Ë…~IúäÀ™æRÇg·;‘æ_SElà«Ì¦§–Ïò%å" (rúæKÏ%%¡,ƒÔ cTºmÁþ›DǨ¹Ø€ñSEÜ0®Çµê›\PŒŠ_raóÓ‹Fi3g`ÓÐ÷MûåíJ!oŽ?4ÆÅý»÷WgZ*(8žF”ÜuÜ Ñ„p!ðÆ™îpEíÛqpç4Pþ‡ë˜(Ùy€·¬®@Xbïu:D,z4Ÿb ÈI qÐYƒéˆš‰ŒÕ9ˆ?¢N \kxŒhZဨ¹>·žU‚˜‡òY^æj__õÞNåëñäæ2·Æ¿  Ƙ\ Ó0ø¿òú{ÚAö2ñµÒ.~ŒMn~g¼½üpqpižÜZh⨔€[Ý"¶‘m¦—øhñ‚4yÚÖéç ›Ý'JÞ~mZzEŠºÞÉf˜^e»mS÷›­"Û­ÀûøKwLuIá@¤¦ÂO#â p6jusUTÕÙ&3ÞPÑ@ù ª# lÀµ‚©­¡†4›Õ¼*ïçPÁ/ä qN§(Ú,ߤFƒ<ˆ‚Ç^üF`öMy…çêÛ¾mvv×°œ¼z£¡´‚•äÍ2íå»åÝòÐYMâà+ì™r9.³†›·mŸ"OåÐÁ#q ý'[ƒZšf¾Â°CH®?’îK²hXë„=¤ÉÎú (‚(¤æ™> stream xœ“KÓ0Çïùs´¥×¼,NEô*‹è¦\(ª²©ÓåÑ&ŽöÄ7àCc;.%HHÈK3ÿÿæá+P€Úãï² ·)œÆ€Â)¸Ì9Á_e os#Ȭ!¯‚9†AÊ!•‚dòÖ„Ä„§¿_Q9 Í¡]ê®êƒ*Ž{$öšúÅ:qÈcJ(MÑÇ¢›Šþ¿å‚ˆA(Èúóï'1äeÆ2>›_­Z+‹H̤4„Öq®µGí¿±‚Ç­45Û2Bƒà”!KHfÕtÆß®óÝö ¾`&""†V›ÝÚ©{úÞ ÃuƒX]î1‰x<3P’ÒhÎÜ×Vè øÙ4êÖŒz˜JýýO»Íê j –DÊ4NPaJ8ZïPtÐOúÊÇŒÞk(š±‡×¡Öj}VÐMí‹yĨZ5†Ž;ô<žÔ×9'Ò¨JƒÁ°¡×IM ö¨¨æ¹ÁMß–›Ë,ŽÐÉiŒªì»#f:M­ê4\l©†§'`Ùx×3ßsô¼^Ãjóüé>Ÿ¿ÚúÇn”2ûr™¥· d‚!3?p·5Ëdæ­$¡Ü+»Vëe²$"Qü¿©›~QC…yl·Z ~h}Ý¿)Í÷È–”6s(('„‰»\NÿG %¦c›ÙEY„XïT œÒhþ‰ð¹¸Í³ÎƒÏæü³æendstream endobj 15 0 obj 534 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:09+01:00 2016-01-27T08:26:09+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003227 00000 n 0000005176 00000 n 0000003161 00000 n 0000002839 00000 n 0000000015 00000 n 0000002193 00000 n 0000003292 00000 n 0000003615 00000 n 0000003550 00000 n 0000003482 00000 n 0000003333 00000 n 0000003363 00000 n 0000002999 00000 n 0000002213 00000 n 0000002819 00000 n 0000003413 00000 n 0000003443 00000 n 0000003697 00000 n 0000003753 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 5330 %%EOF curl-7.47.0/docs/libcurl/curl_getenv.pdf0000644000175000017500000001013412652070417015076 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ}VÛnÛF}×W,Ò‡’µÙ ¯hQ@Iý Â±]›IØEA‘K‰ / /RüùèÎì’"e§—³çÌœsF_£œ0ü ÿ“rñæÎ'ÛvÁÈvñeÁõC2üKJò6‚~e ó'¾ ~(i’¨\XIßÿlU§*;úwápp&à\”.¸#©ã’è¸x°–|´I‘oð{)œ†¡´ÞÇUdVåïè…ÃBêJSex«/®MU¨hè"°¥ãr*²”ž~áz…‡žã.uñÐûKü~"$u˜O–\èÇçLu±À!ë°l¦Òõ¼ñ 3,U×79ØÂµâ¢W$«å$p \Ç:äM]•ªêH—J3=':Ôñ™H ô÷Ÿ®onï×÷y8 ¢#êŸò*)úT‘_ÿüCw¿i‰®Ñë+ÙÅ y=㇀Báck“ºj;bN ˆ8'.}0p×ÏPx*Ãñù£ýËôx$ă‚^&>¿_Þ¿»[ßFë›ëóaÌ(ý@R \îc¯:è)oILöuÓÅ›B‘cï÷ªÑmïvŠœjpˆï†S ï¤J(’õUÒåuuAJÃpºš¨²/âN‘¼kÉFíb›cǘ€Ö}Câ*%û¦¶¹3~ ˆv—ÌázáHgœ¨º<­çU§šÌæÌŠ#‘¸(H Àã.¯¶¤}j;U¶£WÈÆ\ãêó"mI]‘GËLóJŠG›—S&öÂ!º»Ã à stWÉdpƒçòQéë«ÕÛõÕ:út>%ð“tà‚‘õ˜6¸í`c#0Ú(Ò¨²ŒËµ8 èÉ­'I9óðYHEÎð0Í&§qêÈizÓÓ³šºÔSÞ÷›"ONíZÝ®¡Å ‹J¦³,©(YwTjWqŠàʆö*ƒEãC…7b8Ä' !å3py±Ô¯9Ðó³I[¨ÄWdóDZP 8©QI¢Z]ñ4 .ƨ©y1¿Ì‘§Ë,ðJ­Îɯ3ëTAÓï¤ ÷=*gaò`Ý]Fî®ÉG›KP®Ç­ÕÕ‡ËáÍ—Fd” #”uFÚ^SÈúₜ4ô¡Á8&äÜ[ŽDãR-|tN C’2&)ëLÛîU’Sé)5™;¥&%)ASÍ8jgªiî'äÂÈ.]–`°:A³Å°ý2d_äÛ]²!–‡uä ú|¦ ¬Sô¾/­ã&N>·èþS±KßSä|…Y÷——duuó?‹,O3÷ž)Vø0€pŒ^ðâ»GûBOÏ“æÉÒaÐoSk\-1Â^r7 `Ã[’‘Õ¾É "sÌÏÖÑûÇZ—ÑâOøü†o Oendstream endobj 6 0 obj 1377 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:07+01:00 2016-01-27T08:26:07+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001701 00000 n 0000003581 00000 n 0000001642 00000 n 0000001482 00000 n 0000000015 00000 n 0000001462 00000 n 0000001766 00000 n 0000002020 00000 n 0000001955 00000 n 0000001887 00000 n 0000001807 00000 n 0000001837 00000 n 0000002102 00000 n 0000002158 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<69D04C1C9066E0B98B6828F8D5A67A01><69D04C1C9066E0B98B6828F8D5A67A01>] >> startxref 3735 %%EOF curl-7.47.0/docs/libcurl/symbols.pl0000755000175000017500000000542112626067776014140 00000000000000#!/usr/bin/perl #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 2011, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at http://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. # ########################################################################### # # Experience has shown that the symbols-in-versions file is very useful to # applications that want to build with a wide range of libcurl versions. # It is however easy to get it wrong and the source gets a bit messy with all # the fixed numerical comparisons. # # The point of this script is to provide an easy-to-use macro for libcurl- # using applications to do preprocessor checks for specific libcurl defines, # and yet make the code clearly show what the macro is used for. # # Run this script and generate libcurl-symbols.h and then use that header in # a fashion similar to: # # #include "libcurl-symbols.h" # # #if LIBCURL_HAS(CURLOPT_MUTE) # has mute # #else # no mute # #endif # # open F, " #define LIBCURL_HAS(x) \\ (defined(x ## _FIRST) && (x ## _FIRST <= LIBCURL_VERSION_NUM) && \\ (!defined(x ## _LAST) || ( x ## _LAST >= LIBCURL_VERSION_NUM))) EOS ; while() { if(/^(CURL[^ ]*)[ \t]*(.*)/) { my ($sym, $vers)=($1, $2); my $intr; my $rm; my $dep; # is there removed info? if($vers =~ /([\d.]+)[ \t-]+([\d.-]+)[ \t]+([\d.]+)/) { ($intr, $dep, $rm)=($1, $2, $3); } # is it a dep-only line? elsif($vers =~ /([\d.]+)[ \t-]+([\d.]+)/) { ($intr, $dep)=($1, $2); } else { $intr = $vers; } my $inum = str2num($intr); print <, 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 http://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. .\" * .\" ************************************************************************** .TH curl_share_setopt 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl Manual" .SH NAME curl_share_setopt - Set options for a shared object .SH SYNOPSIS .B #include .sp CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option, parameter); .ad .SH DESCRIPTION Set the \fIoption\fP to \fIparameter\fP for the given \fIshare\fP. .SH OPTIONS .IP CURLSHOPT_LOCKFUNC The \fIparameter\fP must be a pointer to a function matching the following prototype: void lock_function(CURL *handle, curl_lock_data data, curl_lock_access access, void *userptr); \fIdata\fP defines what data libcurl wants to lock, and you must make sure that only one lock is given at any time for each kind of data. \fIaccess\fP defines what access type libcurl wants, shared or single. \fIuserptr\fP is the pointer you set with \fICURLSHOPT_USERDATA\fP. .IP CURLSHOPT_UNLOCKFUNC The \fIparameter\fP must be a pointer to a function matching the following prototype: void unlock_function(CURL *handle, curl_lock_data data, void *userptr); \fIdata\fP defines what data libcurl wants to unlock, and you must make sure that only one lock is given at any time for each kind of data. \fIuserptr\fP is the pointer you set with \fICURLSHOPT_USERDATA\fP. .IP CURLSHOPT_SHARE The \fIparameter\fP specifies a type of data that should be shared. This may be set to one of the values described below. .RS .IP CURL_LOCK_DATA_COOKIE Cookie data will be shared across the easy handles using this shared object. .IP CURL_LOCK_DATA_DNS Cached DNS hosts will be shared across the easy handles using this shared object. Note that when you use the multi interface, all easy handles added to the same multi handle will share DNS cache by default without this having to be used! .IP CURL_LOCK_DATA_SSL_SESSION SSL session IDs will be shared across the easy handles using this shared object. This will reduce the time spent in the SSL handshake when reconnecting to the same server. Note SSL session IDs are reused within the same easy handle by default. .RE .IP CURLSHOPT_UNSHARE This option does the opposite of \fICURLSHOPT_SHARE\fP. It specifies that the specified \fIparameter\fP will no longer be shared. Valid values are the same as those for \fICURLSHOPT_SHARE\fP. .IP CURLSHOPT_USERDATA The \fIparameter\fP allows you to specify a pointer to data that will be passed to the lock_function and unlock_function each time it is called. .SH RETURN VALUE CURLSHE_OK (zero) means that the option was set properly, non-zero means an error occurred as \fI\fP defines. See the \fIlibcurl-errors.3\fP man page for the full list with descriptions. .SH "SEE ALSO" .BR curl_share_cleanup "(3), " curl_share_init "(3)" curl-7.47.0/docs/libcurl/curl_multi_assign.html0000644000175000017500000000671212652070414016503 00000000000000 curl_multi_assign man page

NAME

curl_multi_assign - set data to associate with an internal socket

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_assign(CURLM *multi_handle, curl_socket_t sockfd,   void *sockptr);

DESCRIPTION

This function creates an association in the multi handle between the given socket and a private pointer of the application. This is designed for curl_multi_socket_action uses.

When set, the sockptr pointer will be passed to all future socket callbacks for the specific sockfd socket.

If the given sockfd isn't already in use by libcurl, this function will return an error.

libcurl only keeps one single pointer associated with a socket, so calling this function several times for the same socket will make the last set pointer get used.

The idea here being that this association (socket to private pointer) is something that just about every application that uses this API will need and then libcurl can just as well do it since it already has an internal hash table lookup for this.

RETURN VALUE

The standard CURLMcode for multi interface error codes.

TYPICAL USAGE

In a typical application you allocate a struct or at least use some kind of semi-dynamic data for each socket that we must wait for action on when using the curl_multi_socket_action approach.

When our socket-callback gets called by libcurl and we get to know about yet another socket to wait for, we can use curl_multi_assign to point out the particular data so that when we get updates about this same socket again, we don't have to find the struct associated with this socket by ourselves.

AVAILABILITY

This function was added in libcurl 7.15.5.

SEE ALSO

curl_multi_setopt, curl_multi_socket_action

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_easy_recv.pdf0000644000175000017500000001255712652070423015576 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•Xkoܸýî_Al?¬&ð0"õ"»E¯wZ¸ëx\{4p CÖhl5É«‡“éèî!)êåÉ>Fyyî½çœË_ˆKqÕ¿îo²?y{‘ÇúÄ%'¿œ0ýt’=ùqƒ„úa³;1ß0qI I6ûÆ%<²ùrrç$m•ß§q}¸¯Òäå“ã}Z<{P?/–WeS&e^#’¬x´4IÉà8ÏšIÀ)yŽ«&KÚ<®rÿR#h÷´\GÕ_lºks’íÈçUgÅ~_³´Ýlß–¹½½$i‘T‡gµÍŸíö€!ÏI6U"æ¾G=[¬i2£¾Â—©·uFª””;½åéÕ.…8e“źnÅ(=¤N›¥!øT¸²‡¼}¦Ó®úÍ*j{ ˜ÝÎtüH¶}Ê>Lnø0Çä¹ÌŠéGŠ€TEÔ§ª†ûJsZÍ,P†©ìÔ'OqcðB éâ{Ý RPOúr&(¡Š`ÞÛ‘X˜WÌï(ïo@€Ž?Â?S@:šâ1|Tìûøk¶o÷$Þ—-ªéÛªÆ(zs.PfœMzÂT‡Ï ƒÆÃ:!ŒhÜ7ÿUùЂcHPpÔ’UB‡nÆÕÄúwbzYð²é‡¨¨ mv jðÞkfGv×I®UŽuº^§)ò‘pÙWˆ©—”4Cp> †7ôsX´ûTÀ:²f0ËúÜ>Œsn?84imS®Unéy G€¯4{‹¥ü®Ç7%I‡Ô¡yO>‚1ýŽ%Då¡çNUÓMŃ„æÛ(Í__oîÏ×WW«óÍýúêr!áBX:¿6ª«€Aª-O”šYÀ[»tÄyš›)üìcûøŒšaš¯}§c/b4ìÉÁªû#  Xèö¾¢šm¨:÷êíömÞdj¿É‚Šú˜é6»²ŸÛ Ñ«qÞ<ÏÈ¥C½lRݳý=äÎçüõ«…9n¶ÕýÙŽ3’çüýì⪠Pòy€ ª^Š–Í8@·¯Eh3g–¨,ÊÃÐƸ9S>&/ÊbùãeKöj.Ð /’ôˆÈd_öLþ~ˆÃ£a_åNÎSÄÑõGzàq¡ÄÃåÊŠ]y¬€­¶=´Ú¶M cÇÀ^\ým­±uÎ7V·ëóŸW›ã ¦|e`à Ój¨¼ò¡‰µÌu`*¬YÄêÚ_i÷P‚G`p€[}¨›tOvý‘â$ƒ—S,Ï>=]†‘EiÒÒG…ßÕiŽ–þäðWŒRéÙru­ßLžÒä³ò™i x<‡D‘ž2¬Ül‰P'þÚ{ª®³4ñj6Ç(>âÃH÷\_‡röœ Þ¥a`kÞ¹¸<ûñâòbóqæN0¾ùCó˜m·¦8#XÊé±±fØþιYmÞß\‘ æÄ7sÃëŽó`*4â©¶é<ÕJý]íÄYêÓ¯CŸ1Ë<ÃBÕÓªÂü¤îK¨.(ˆ‚Ôss±S/C™2¥ËÍ:ÕËŒÆfSZßÝ—:®øzàIùJ°¢A°¦< y¡ìèì7è -:¢+@Ý]ËiÂ$€.ކ íËfØg“/$ãD–ëókDŽBä06ÅÊw}2®¸Î¸S…äªÃ"ìF “%Sî|”ʬ¯N…ɳƒï+* C³Û•Zç˜ð lsUOÛ,Q¹I’—õôê@o¦l’äï‘<d¤AAë„Ìí5§.¾rã’9emŠDÓLÑ ‹"#toè(ql»3èn9G]?F†ï‰r5©bSRÔ_†Íø•ÅÓH"p¸$g’œp8x¥Ú›¦[mNþ‰ÿ`‡endstream endobj 6 0 obj 2584 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 14 0 obj <> endobj 8 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:11+01:00 2016-01-27T08:26:11+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000002908 00000 n 0000004860 00000 n 0000002849 00000 n 0000002689 00000 n 0000000015 00000 n 0000002669 00000 n 0000002973 00000 n 0000003371 00000 n 0000003234 00000 n 0000003094 00000 n 0000003014 00000 n 0000003044 00000 n 0000003178 00000 n 0000003315 00000 n 0000003437 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 5014 %%EOF curl-7.47.0/docs/libcurl/libcurl-share.html0000644000175000017500000000746712652070414015524 00000000000000 libcurl-share man page

NAME

libcurl-share - how to use the share interface

DESCRIPTION

This is an overview on how to use the libcurl share interface in your C programs. There are specific man pages for each function mentioned in here.

All functions in the share interface are prefixed with curl_share.

OBJECTIVES

The share interface was added to enable sharing of data between curl "handles".

ONE SET OF DATA - MANY TRANSFERS

You can have multiple easy handles share data between them. Have them update and use the same cookie database, DNS cache, TLS session cache! This way, each single transfer will take advantage from data updates made by the other transfer(s). The sharing interface, however, does not share active or persistent connections between different easy handles.

SHARE OBJECT

You create a shared object with curl_share_init. It returns a handle for a newly created one.

You tell the shared object what data you want it to share by using curl_share_setopt.

Since you can use this share from multiple threads, and libcurl has no internal thread synchronization, you must provide mutex callbacks if you're using this multi-threaded. You set lock and unlock functions with curl_share_setopt too.

Then, you make an easy handle to use this share, you set the CURLOPT_SHARE(3) option with curl_easy_setopt, and pass in share handle. You can make any number of easy handles share the same share handle.

To make an easy handle stop using that particular share, you set CURLOPT_SHARE(3) to NULL for that easy handle. To make a handle stop sharing a particular data, you can CURLSHOPT_UNSHARE it.

When you're done using the share, make sure that no easy handle is still using it, and call curl_share_cleanup on the handle.

SEE ALSO

curl_share_init, curl_share_setopt, curl_share_cleanup, libcurl-errors, libcurl-easy, libcurl-multi

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_version.pdf0000644000175000017500000000664212652070417015304 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…TÛnÓ@}÷W âÅ©äí®ï+R€<¥II\jPå8›Æ`¯[_¨Ê×3»^×i+TYòe=;sæœ3{”0 ê2Ϭ´NWÜ4…ëÎbú'˜GVÂÇbµì­~ƒÈ…ˆ{$æ”–uuqýg’ü²Ü€øì,æSâ»Ü[W¶¨›¼’ÛÛL È·*|â¸%”Föy*»´“ãgòÅòiH‚>ËñV•ß¡ÄeX4CL1(XŽï1ÂÁñB½i1U±T…±€Ü3ÉÎgj}ìÆEˆ4‡¹ê7íÁ ,0µÁZ´]-hbÀ*Bá÷†°¦­sy£xŠ A9,$±†°þ±X^¬ÏÖ=n€è Â~›Ë¬èvÞ«2§êF4·>$s+9Aˆ‡´†”ûÌ{d 6“w¯¡ø<[Z]$gËÅSFF HM(Fì•é>…CW¦ÙHw鶦c¸ÏÛƒ¦F;€Ea¡‘O%ñuC’ìÊ­¨¡Ú?ò˜Ê4U)ÔZÞ6—·Uݦ²…¬ÂW)dÛhå‡ÄQ»Èk^Ð,JiD1ß,G ø¸ºQ/ò­ëõü…ˆ› ÑÔ¡ÍbµÕq#ÅŸ£¨GK“P÷ò]@=f gO²Û‘—ûêåM0£†áˆ’À°3xMÔJD­@\çr_õŽïeĉœ›sÙ´¨Ä›ÑIƒÔ.¾†Þ(÷•½š%—«|›0Ï'†ÅO9¦Dßáô˜ÚøD„yÞ¥BÚoÎG±Bâ³ÖÙ\JYŠ`êÐüÑ+³ÄúŠ×?¾4•‚endstream endobj 6 0 obj 772 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:07+01:00 2016-01-27T08:26:07+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001095 00000 n 0000002903 00000 n 0000001036 00000 n 0000000876 00000 n 0000000015 00000 n 0000000857 00000 n 0000001160 00000 n 0000001414 00000 n 0000001349 00000 n 0000001281 00000 n 0000001201 00000 n 0000001231 00000 n 0000001480 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<307CACE22CA94C237840FBA83E15D172><307CACE22CA94C237840FBA83E15D172>] >> startxref 3057 %%EOF curl-7.47.0/docs/libcurl/curl_mprintf.pdf0000644000175000017500000001344412652070420015266 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœíY[OÜF~ß_1RbGÙÉÌø®V‘Ò”HT@(ìK2ÞÙʼn×&¾ý ùÑ=sóe1É‚ÚEB°žÛw¾s™ïx?#‚)"âGÿM6³×'ZW3‚Ö³Ï3*‘þ“lЯ ˜Š‹ÕL­¡(`(ˆFh±™Q7À.üw3;³’¦Ì.®Ë4¯Wç–sn£,½Ïì9ó&$°㼉3´=ÑþkñûlN0£°SGFp$Žö ÊÇ¡œwúçчãÓýÓ~ªf_syfý”æIÖ,9úE@}­ù²©gá«7Ò\@#|G”ž[€¼‚gWq‰^‚ ¯O(1A8ÀI «²X `Øë#A:6Àާ§½Â­61>·ÏÁ$ªL“¸hVÎûýƒ="-í‘Cüi$ËI!ö:É€p×é š:>Á…À3ÿª±ŒB° c«ŽûŠÈ0uÐÀhHdƒè²Ñ³h¨Ìê ®: vBBÌ/'ñG˜ø„úÏŒ)å`Ѝ|G¦¼û3Uu«CpKÏTú7¿¨·8b ‡~dvßf<_×W“ǸGNÇç3qˆC½hÂ%ídÝØJW‡>¾p´à sñE–V÷Èõ°O SSά¸´n0?´Ö•,uý4„êÝú¼dÓyÙ~£ Q÷YV¡ïÈ”ïˆN1·kI œ’öi `'“q× ‘û|®îu<*ª†q¯²a¤Š¿^m]p®÷Hë¾!Ó‚;½º"jmª„z‘5M<õ§>;êǺ›ùžèœzÝýÛÞ黓ýãÅþ‡£q+ÓKo ‚ß—=ÄâŠWÅ%üfZ5yRƒº¯P}×èº,–MÂM·'IQ.Ó|êź›@U]ŠGq¾DëÔä¨äIt~w£ª~ÂÁ¾Üï)òx”ÝÔÁ$ò ‰åz£Tó-L¤ ͆çu…QgŠÏ3ÒŧhÕôMQÕÙJ²"ç*V`*G7<ËæŸòB,¥RÔ$žX竎ï&GïæU}—ñOÂlØø»IÀKŽò-y§´YzðlZ·×YœÇb8Rpw=j×{‘ˆ²âA0ÑaYÊâËLYè‚~ ÂÎ@iœîð„CÊ&ã _SÅkŽH™?‹—gÖ)ç;?‹í„+·ú_cë6á×ÒJ¼•2L¸û2h½ˆ9ëH`ËP?SùûÃùÄæ«Ýw_=aûj÷í«§lŸ{Ñw;ÒƒÃÙútç*w1 ²ª_䛪p×_a }‡…Ý@Í7Zù‹Ñr(n~`Þw¨ëËܾÐûyLÍ™ MÀ·¨%‰™Õ=lLí×bêc…5K?‰%>œE™ÊÇlA6‡ý©¹‹Ž*aÙX {ܱ¨oz˜r˜ö8]‰3­¯ '”9 ÷ƒ 4ØnëR!GÝLü’Eš†â¡ÖZ¯j^Êâqi3q¹¸¾Õ¬Ô[X+9(êã5OÒ/¼’S•`0U§»0ßaÖš×z#Q.ÌF„‰lϳ¶sp*ÒÚݹ}B ·ÈÃö)‰Ø>"Û§¤b»K. a#b¥ÈE±(ðDb¨¨Ñ©ÉDƒ!¢N„4™ÊLŠHK³ÔýÙ'ÃVZf졼ô¥°4×–¶áÁ¼ôáþ%äå@Õ´_ÏJû"cÌtJŠQ£{Æ™?òdb¼C (O@OÁ˜©X½àç×CÞ˜oj(ÁŽ˜.˜ècSÃu# dZÉë¦Ì••Z¹zAòdE"–@QR;éuÝC´pQtñØXi€ÒY•œë}.ïäq%OøXF »}œ) ƒž7ñ^¹W÷r)hã è 6oÞ…¢·†4+§|ç(r'xNF98}E®âyÛ£Ãè¨!t>Ù øCÏñ,!¸PkƒÀ'4ò´úG׬„ Ô1†Ž‰ÜZ/¥$„uò·A{ êzËTгxS4°®PùÈ»۷<÷rCK7`\êêy^ïÔÅ•)=¼(Æ—»OM‡ ¡PtU š¹©T›PK¥- âr …Öˆ`ÈU¡2ûúiÉ¿ä]Ÿì-Þ_œì¼µAñ¬w{ œA„r…Ö è 2SXï Ä£ï ðÕô%ã2˜sƒÓ Èã 8'ëBùRtC)wÉŒs|¿sS½’þZ¥û’Ç|±ÂëD©Áœ©}qùã¤pç÷êØÁ\ü©<©¿èB¦ÌžCã:س‚Þ¡bì’+×7ð©Øeo1û~þ¼;$¢endstream endobj 6 0 obj 1871 endobj 14 0 obj <> stream xœTËnœJÝó¥l’©tÓ<šåD™…£ÉãÚ8RäDQ46vü÷£SÝÀÌØq”ˆˆê:uªÎ©þ 90óÌï|缺Hà¦wÜ8?nƒ0¿ò¼Îè€4?²Ò™r8$$©@™B¶sx˜`H_÷ε›]ýmßUÍP~qÅêjkþy~1d,qß©fT5<=è}ÍÞ:>ÇHJÈr*™RIL#SUÄmL…¦Š»ú+ï%¦ƒÃ8â±Ê Ç=߬^ŸoγÏ^öý”v„"$`ŸÒ1ŽÜ|Rv«{ åØäCÕ6p_Õ5l5tzן¦™*œ'È"9W¹Ó&(06(¹“b SÎÁ¢4A6ea ·®ÝÁp«a?në*_«çP5  Ñª#*ÃØi"¶Ô*¥*ñBàáþX#B)‚9`¶1ÓHÕôƒV…ih§ ‹ç‹H Hù2 ÷…šû lŸUZß©C™ù±G†I8WQÛZ¿€íôíØåò¶Ð ò\÷=´Mý05„–jhÇ9aŸ±Ig.Ÿ×nS˜1ÑDzk’Ÿßü}§ÿÿéñ‰Zâêâ Xp©µå«‹õêÍ»5Ú (ÛnöSœ ±ž»e–t9v„ßA¡UÕ=NV9±›O~£L”Ÿ‹uvuñ>y\ƒ˜»«ÍÕÚ f3¦‰ÎÊMˆÖ|ÃBÓ‚ìÔäüÇ.ÅéAÕOpX¦4áÜyœ¹ ØcJ1iy@c(¤˜»ŸGG&'«ãí[J§ ­u¡©ÊE€Qr’<é}_?€ªë6W©ÐT÷æ ÚÞ_m6P•“Ř¹[NG~íV”DR—¦® ´t16´ÐäÖÖŠò=³1͸ÛR¬-!¿UʉlotM{ йX¶C=Ú@‘f?ÐÍC-´ã°‡ÁøMû Ž‘%GýÝËõV›ËÅ8ü9)ƒÅæön;{"dŒqÌ–%ëŸÍ—(å÷ßAÊ?€±ìÕ?€Ü="Øi¾˜§ð£(Äp2ãr—%ÈÏ'¥ÀÈ¥ÔAÖ0Z¹ÃxÑ(0HëÌùž_˜"°Nendstream endobj 15 0 obj 812 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:08+01:00 2016-01-27T08:26:08+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003268 00000 n 0000005217 00000 n 0000003202 00000 n 0000002880 00000 n 0000000015 00000 n 0000001956 00000 n 0000003333 00000 n 0000003656 00000 n 0000003591 00000 n 0000003523 00000 n 0000003374 00000 n 0000003404 00000 n 0000003040 00000 n 0000001976 00000 n 0000002860 00000 n 0000003454 00000 n 0000003484 00000 n 0000003738 00000 n 0000003794 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 5371 %%EOF curl-7.47.0/docs/libcurl/curl_multi_setopt.pdf0000644000175000017500000001235612652070423016343 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­XënâFþÏSLÕkª0;7_F­*±YwÃ.œªÛl… ˜ÀÊØ,˜¤¼C_¥ïØ33¶± l7¤BJgæ;ßùÎmÌD0ED}òÿ“eãõÀE÷›A÷/ ªQþo²DoØà©Á¬aÎPä2äJŽ=‰‚eƒR‰]<6î¬Év–Û8[Œ6Q–®²OÿÔDñb¬Vš-fLˆk]‡É6ŒÑñíÍ?ƒ÷ÁŒü¬K°Ž¥­p݆Õk7_aX¥6¶%RÁ´a]ûÍàs….#Xµ(SËDq|Jýƒà ‚o‹4Ù YºF¡f†ô.4“ià “PiQ{Úòðc¯3ì ëöõmÛú~‘Lâí4B?)è×êžÿ¬¶3¡]º¼t¯')ì8¢Š^D?F#Ãè駆wNÿ­Âu¸üÔüôù Ý·þðrй :ýžaLÉSÊ'¢Sóг1·95úìp®E^lÐvMQ–¢,Šc4Oš¦hž*4Ž)g&–v‰0`wÖcÖä¥c¥c:âÌÁ̹I+š‡ Ò…ÚƒcÇ#ÅêCT3 1ó¤WÀo´F¸µÛV ØXp±w‰i—6‹äeó…«Õ:]­aI£p ì™]Ê—¥ÒªXp›åÔN« tmÛd~)3SÕ ó£;µÍ¤?´í½þê M·h&h:ßG…ö¯ pGkA°]ž´6ã=$ÃD8úÖdUvSð‹t»Fó(€…¬dÜlÙ©çXmÈ„¢ÌÂudêœA‘IË"ÅLTQ>.²¹ý@I!1¢Ã@T¾‡9)½›¥q¬£!r¸ôòÇ¡ãª.›(‹Ö–<‰½òÀÛšÐqŽ.µ »â Z@Ò.­à`/-…j)Y)¥J»:^cÈ®}£QPRé^æLœ&÷ºe<µ žñ½gais¼,Ù6™èαJIîø\GbAÅ\©ˆQ'_Hê´[‚¹Õˆš®Ž?G“¬j°b‡aG–Y§zpüc¶-«Å“Îf£¬Ž"(Ïe‘¦L“¦Ùnýr­¢dª²Ü~Tò«ÐoVÑdñ÷$ÏL5)€H›ZÁB¶Áh…ÐÉæÐÓ–ùØ‚äm™ì¥*ÖÄÙû* •µÉÙ6Žw(Ü 1œ^$«m†š°›ʬ0ÞF nXÐ(Ëîýr¬*.Ÿ€¦¥1â@àJ§\czª­ ­ä{ð×[Âi¼û}ÔuÏ0u+@„¬ö‰4ªz&EOÊ( 'sTä‰îqìyû Æ1>>¡Í¨éë)sr0Þ™Ù»F—W·½£®ß{\nü^“«@0×jw›’bhÜÒ >ކ?|-PeT £Ã£NV ÷´æB9;Ž2Âôå„Fö—‘=ñ–Í n9K«Øý^à÷‚š y³ø_]xjƈtÿ=îuû÷ÑU¨ ôüË2lßNòëXG®ÿEç¦sãw;=?÷õ%l Î ä ¡ÛÇ.-êÉêWz|ñ¬Ý=²ÍT:ËšyÏ;ežB–M¾Îá˜ÏÔæØæ'\ÎϾ$ ˆgêG«Ó{w®í=ÂÙ¦¡Šô¦ûr Ò7Q¹;Žàš®4 ñ7 hÝA`axH‹ö¹mãævxõËmï²x™8K© ÆsÃGßêÒ ˜R]šPå=ž23/Ûj—eÒRƒLm:‹êÛ¼¹›ß¤Ëš¯"ÁÅÙö©Â“â˜GÃþå?x©¤u”gŠj×e¥ÄÆå}¯.&ô5}¹8“d]NJT ;CPxËpØ1o‚ε?x©ž5gÊ©Ï$©‹y¥O×å¤fí<ŽÉ)0ñä9rªßw`0¸BMœâד⢠ì%&æÁ\RO8vŽ(zõ—rÓJ–7Øümà±êý•ç‡!ów'DÕ&?hü Ÿ€ç²endstream endobj 6 0 obj 1476 endobj 14 0 obj <> stream xœTMo›@½ó+æêé.,°{t*Ü:vëlZUIeQ>X'Ê¿ï,àØ4=D˜™÷æ½}Ë#0äÀì3¼ÓóqÃmë0¸uÞax¥;8×Ô í]8ý ‡Ø‡X(èùÂô³sí¦ûf»Ùí·¦Ü´¹©ÌÜx°-ÛŠ7ñC†ŒÅîERí“-ü¿Ýû¥?§"NT¡¥ "Ð Ç]ÏôÕzyélD¥ ÷AgŽBv WßåК¤Ê’&ƒOWëÅEZg9u”•É›ÂÓŸKd~H¢Ñ!$iyÓЀl–µÉÁÜ%JMnöMÕBb&ˆa Ö;ÑÑn®–_–+/¨¤àîåfõUÏWK( x©÷`š ᦬n!©€ (몧1we O·£¡p󦵥º8x Y·ÕYç•äRê±D.{)®¹·Ë1ûlô%ãC¡ª;ÝýÜ Ý}®c®ÔP(°“É1”ÒVG'3B¢ H|„Ò¶Së=œ~‡é+¤Ï0 É r¾˜žÏsýÓÖOÒb ˆd줶Nû*íÌyö*åGÒMè²,Ïè4_M‰‘0¾MФËɰ£{9›Átq¹êéÕ›(æ8ÝæÖ‡ñ¦2À P¯»Ô~ƒW±ƒà¼²*Í,(Â÷BïXÞ{¤‘q¹¹dpãÃðýK^·,> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:11+01:00 2016-01-27T08:26:11+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000002692 00000 n 0000004651 00000 n 0000002626 00000 n 0000002304 00000 n 0000000015 00000 n 0000001561 00000 n 0000002757 00000 n 0000003080 00000 n 0000003015 00000 n 0000002947 00000 n 0000002798 00000 n 0000002828 00000 n 0000002464 00000 n 0000001581 00000 n 0000002284 00000 n 0000002878 00000 n 0000002908 00000 n 0000003162 00000 n 0000003228 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<7053E356E4193BBE34C66BB55176E508><7053E356E4193BBE34C66BB55176E508>] >> startxref 4805 %%EOF curl-7.47.0/docs/libcurl/libcurl.pdf0000644000175000017500000003275312652070421014223 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•XÙŽÛÈ}×Wæ%T`Õ°¸ɼy#qà-¶‚`Ðl²ÔbL‘.Ýè˜_™̹µpQË6‚nCn±êî÷Üsùó¹`>ýØÏâ´ùùSÂîûÏî7¿m„~ÈìGqb¿ìq ¥/ö‡¹#X°$ yš±ýi#¤à~³ýãÆ««»bìê[/¼Ý2ûÇvÿßÍúp¢ØAƳ$†”}¹ñÚEO}z"".Â,µOº‡J?2äq¦¯Š˜‡öéc=_KÌó`¡Þª DFÇ~þ”ÁN’›]†ÜlJ}ëýËY\ iNÍ»×ôýì~àóÈOØNôØ_zÌþ`E]©fØõU©Ø¿>½eC—7ýAu½²Ô½;!yªµüõõçWŸÞ|Ü¿ùð~­NŸ2ª¸ŒS­n¬z†ßœõǶX»Š®”͸ȤõƺSyÿ4ÕÙœ3 âÐæ°³óű1¤¦Á…ÔÓXÕ5±1÷ý9pAj÷=ù»0‰¹ô§hÜLJúcÞmCÉQ™§Œ6ÊóB䉘´%~²ÒÆò¦¼¢êâ4É.<Æ¡íª¼¾âTñ4I.B¥3Z5»R‡#› 4@aÕÜ3$ðØšJ È&ª4XSíÛM*³ÔkÏÚ']v䑈„«þv§«%ÂÉ0ÌÖíL%Ç+¨¶p:Dlÿ‘ˆDl»ÐÕ ÌÞþiðÌ4`œò(ô¦§»¹òéHäZ¢Òþ ‹HéËH‰ôcwù!_t¯XtoUçwµBòÝu×P2J–™ ;ßJz`¼ÆÁlCl"NЇÁù¨ZÂÝiƇªÑŽR°[@ÈÜtqÎ%gf6(€N–U§ôì»Ýrö+ÙÈŒ¤tíg™â#Õ^£ÛH×]©z\-õ¨ÅöLBzš›ºïL84T^#LÑé³`@„Lá@~2Kͦ¸dKôä–è™"»ö±ÄT.j)ާ†' #íe,¿b_ŒbÏ‚àGö-z¦Êi|ôCU|Õ´Áx!Ic±ï‚3dµÝéÚè@†¦œÑ˜­QÕÀì çP‚}ÉhÉÀÍ¥p¸ì¼OR‘(‚k‘«yþïe&f¾BÈUð½hOg(V¥æ¼lböÆøD†Ÿ¢CÕŒà.ïZ;44o;´ –ÌžgbJ"›ˆá)¿àÙ„ZþŠ)›Êv¦4Ë,q4’éq9Äi`€œpDSYS”VÍžð¡›–š\CÃòo•C"L=NL‰*ÁÒ÷|Ê\ÁhžÜÔ¤3`‚Ô0µ‹î0TΕ*,ÒÌÕP†- Êל3äò=L«ªA4•_-ަ©ù”Ü!ÝÇßlÃÛdzC…ÿ¦p*öú·\áöƃGw¬Òä‰=êÆòyD"Á‹KZð4õ6ÔpåmÖnªúf&Ëi‚ ÉÈ nñ¾:‹wv!‘Úþ$%J6!Û~.ge'ÎÎËÌ Ë—(ÍÈQ;slC5a{¯j¸vëÝn)Ü3ç7€MIUn]·ïZ$Št5NÈÐìÙH¹ñÚœ$…ÒkÕbs y²XØiÈBÞW(˜ÒìbH€?1¶ÆîV YQt±[Õm^¯ÑÁšiQñwÞ(T.$p(Ðp+9÷D£w†ÏØ&¾Úº!¢»=é‡;udÚ|½š–¦Jw!@†¦é\ïWÇUM±"§b–0K¾â.ÙȬ]סâbBŽ›Gö&Òi–•q¹H“å¸à¦ç‘°­PÞ~h¾¸ úe\×ÄäÏeMÿ—ó#ï0Ì5ƒ|7C½ãw$xOùõˆxe@dd¥a/†ßayi_Ü`ÁÔ›‚~„&=å÷UaÆMð0¸Ø[p´«à<ªM\³TC!#¶MÝ¢«îÔ4.'%µ®‹ÉÿõÅŸ9κ¼‚$¡ÊʼN ,§7P(ÕUÈ&±nõª>ÆzvzÅG_Àâ¢Këf¯þ¢rñrÑ2²‡-PSu=îb'9´"ÚÜùãw¯†Þ¶báðåVzc‡Ît9Ù‚\ßAb…3n@hõŠÓì¦j@E*­Û™i,æôºH—o$¾ós *D2±2ë!ËPÔ³ÖbއQɵšæÀ˜)kcî‰Õ44Í+‹ü®è±ÃXò˜+~ê«eù\4¡~}îÙÝVh*ycUëä¡8þ¾ß¤W)'öñöçoÄ:u%ˆØñ=쬫~X«°[ÐEYƒfËyÙZ[þ +wvè7«+szRö%?ŸU3ùë†ÿ"¤wã"ƒS+Á÷^ÛÛ|Åøótiõgv–¦ëÊÈË/˜W2GHâã±0Îw ¢ûÎ+W}ÌÀ-¸ÜîD¥‘'2ö.ï@c°Ïæ=‘tïrIy½ßü?ÿã[endstream endobj 6 0 obj 2629 endobj 14 0 obj <> stream xœXÙrÛÈ}çWtž¦ÄìË£í8edy"Ñ5å’S.l’=QütÎíi)•ÒƒHÝ}—sÏ=·ÿb.÷˜K江ýrŸ°m;sÙvö×ÌS™ùWìÙÛ%^Hé‡åf¦×x,ñY’<ÍØr?ób»YÄ–Ç™SÊUÑ7åW'ø:gæË|ùçlóðF1óýŒgI„]–ë™S? zêÒ/ä^¥æIó$Õ#/x”©¥^ÄóôXŽËý‚~09žÞøå>ƒåœÖof‹0¸ë±EÓ»®2øöæî·›»ì›å¯ìöæí»Ï÷·z¥õo/<ŸVxÜKµêSÅúJ>/Jù^xLŠY˜ð0IŒ-b?ñ̵¿çÅNV¢½fÝN4âêlƒ(åYgæÍ6ïÆ-R¦¡[]²*ß‹5#wE]ýØb»¼c[ѵLVm——%e·£sX#ÚŽÕõ™Ö°¶ë7´¹Ÿ&<ìÆê§Eè§<†Æo©ãNTìjŸ+}®R†<ö\ß:,k3žxYfhs®˜lÙA4›ºå\…<('~¨#xž:mâVåë5œéjfŽôè=D¨‰cý#Y¤H“8˜ÿgù/mïs7ö†ø·R4 V°üp(e‘w²®ZÚ½”Õw2]–Wk¶çv]î{§gÜO3›"òDWD —õî"o*–¯ê^eu„1÷Âà<ÊÓƒwõ$ÔÑ€þGçØÍýÈuê~⢭€V0Ùéà¦.–˜ÈâcJ<:÷=Ò8 ï(^µWd!À£òÕAÀ%…%/UWßç(#×M¡«:b§ºg•ЉCGò¦“E_æ {š#EYæúXÙb@¨¬&§o/œÆ†Wó«1ÔP8P9C/?ÁÁ)iDqfêEof±ÏÙƒd.gÏ5õ'<–LpöÕñ,iØÒG5º#%íó Žm…‚Φo¨|Ž.—e«î¥1O}rçó„"|žº)Y JÒaOQ®øÜG_ÝD§ è@«-kOm'öºÊÛ<ŒmU¼MuKØ$Û®‘«¹O)óC§×éª7*x]WW*d‘â?M¹Ùêè£E.ÒijŒ¬LMÁ®; _®Å@):ŒÚ˜6öÏ ýèt ­k¶š{hièÁ.ÖÊý¡¥ÞïkJ`FIèvÄ(}s¨[ÁµS!¡Êù˜WÀ*' wÂjëÈévôÄû>Üm©¬úgeì“„bü–õ(¯Ã÷­eÜš°»*  í^Á=Y®Õ&ª6lѨú7NJÑšt£$ÇÓKVhûánÀì*ûHøQ”%ÿ¹Ã©^ jš0íŒ=|ùøöÓ-»Ó–¥¡óæãûuØË].@DèÔ7ÈÈ¡_"÷ªÐö›TXðɪ£ëNñ8éÏ7|“‚å ÂֈϚ ’ر½I1Ñ·+PŽúš³²·9GÑ9b]|söäC–ƒðX"üQ­u¨ì‘6Vè%±>´VÅù’Õ [mÝ7ái-, ‰¡½ðÂVZ¿¦F!th«qoíœÔ&¡7(ê UlË$Ÿ4 olhR*ÿûü¤Ë½8Œ.ª¦ØåH‡ÂCȱÄSÕ`Xa«Ä€ÂçÍ½Æ–Ä *Œ€»®‹~/°õÔújü–—²;ý •ó:ªœß?Ý›v˜¥±i®q’Xe¶|3åf߬«oono–_Îù•6Í©g]~ZÁqN9ñãÔ©›ï­kfy9¢0}΋®<]h6bi Y P µtÍ@`†±©Æ$ ¬~ytNµê«›nÒWIMŒoPo+óŽ$ @Ñ#diÊØÉOTéƒp+>1ÜFÓwl9‰èò×û÷oþñðšêc"©þP"¼ÙÓø¦'÷Ö’ Š9ÛCðF6»iV8ŸémwÔnÏ…ÐÅÙ½Ø_]}Ñ7èÀ³}s0j‹æAâÀ*­ºÏi%F@¬´aïë† KáSªë% Sðzhj÷þþáæaùþnÉÞ}º»{ÿnyóéîÕh‘ÎÑìõ;é °vEYª*að¾yexÔÆ•8¥ * •ÉÕiÚs ˆ@ðdЯi@²E‘ Óäèm Fd!ü¥Ñá5Xe¡+c‘›^(î‘^¹ÝiQç+í9MGY–CɪêdÝÈ——ÇüÔ^„ megßèÐÚu3ÕÞ^Œg@ÿŸGÁË@óÉYBÒý?ÂiNӖ놩9›¼ÑÙµ÷í¥TC'q:Qjß@k§of†˜LyÖ± uue§¤æb? 6Át°Ñ{îû²“ÿkÓ`B&.G¿Q¼,ºâšM“À. T+;ψ& ¸ ¤ðƺV°¨0›…Z‘%Üæõ´w¤íÂŽªú")‹ ƒlKÅókЉ ûˆÌ®´Æ3¾`jWR_!àYC¥“Ÿ¬ljxÅ€'ügú¤ŠÊ Õ¯þ„窒L¡3è¶V®JRÔe©‡ä˜j¨Uø”@¼d%Í0=ËJg ÑB3 …QV‰ÇãhÌþ+ù¦[‚è5!Di0HÉÿ?ȇݛ\©Q`á!‡ ½(SØr–5³Žˆ$¡õбqBŸ FFŸÞ‹¨W¼µfkƒW°³“¼Ù)Ì&c­ØL§€dˆ°ÓÎ×OjåÔ0:AÏgyÕÑ„iäe&¹Vsc 1yŒ*€šÝÛ¦œe–èMa8mËY†‘Èw6§IkẕXtìGiêÉpj,çrÊ!V“…^߸އØZ—B¥ ‘M9-ÿþèÜl”Ù¶GĬöU "º×Jœ”N-KÓ Gì$>ŠÔû‰Ï ¨µª? ÐÁd–(1ô*!€ƒ'ÝF7=GOº”§-p'ù•–œ>:´—\HÎ3VCý%,=Ëãs ‰òm Â3ôãé»1ê?OòÈ•Ÿ P1¯b”/FœÅ<®¾h;#å!xH±æLÕ™I²…:ã˜>ýx̉*'¦×Zò=Ðí™Ô·d$¦¾ÏµüH üªÉ"†jJÑAW$šøñ,cJ[«‘dUAÓMÌXLWj«¡è%!–¹ÁàxFfpÄô­mVBèÌ``ù’B.ŒíBéÀ=g7Æ5 µj?8È}«&¦çêήø<7 '&¬„Ö?ŒÔSÛXúªž ÏyZ«¨¿$‡=ˆù(Ž­n?½jO7·¤ú–s°¨ë§øánùúìªô°¦Ð‰VlÑõÊ@V®ë`ïNd1ÒvpàB¢àÁXû\Ò­[÷Ûze«†‰IQÖëÁq˜ë¯Ùq'‹Y /:õñ£JÕÔ¢.EÔ¡."ÅÚÜkŒ£jYÓ ë|¾ˆ öoéÐ5ĶÉ÷fÛéN™;ØéXé„Ú|z‡àkf·@e¨3u½7}U© «1vËvGV(t÷‡33i”æÓŠ÷ô“تÃÖºÜ45=%»V#Κ͠LÉ6s‰ðœ#B‚‚ r™ÌCg·-J`˜VïŽÜϽX'üááñ9ä+I³.{’¹rãÃÝgDãÁº£ñDZ&&ºH²æz¼’Oè®ÞµjSŽîª!ûÊ|U7꺠4ð´úž,ï†x©/kÑ\Q}ئo8îµJ‰éꢶ÷=C;1w]ªlËz•—ßd%;ÝF®&õLñS/ÓmB¶g÷Ú"j]†Ô^@ŽÇÕ¶¾$õíQL­nF¡oUZöÕ|Ë5) Œ|' jÝqè&;Æ„¦/´Ä”Çs°B˜†”àǼAù®ë«Ä†±½hði³÷ËÙ¿ñ÷_uÿoÍendstream endobj 15 0 obj 2944 endobj 19 0 obj <> stream xœ•ZÛ’ÛÆ}߯À›Àx cw¿ÉrÊQ²¶+]©””Rà ‰(\–f¾ÁÓ=€\®J.—K2™éé>}útß½0^Hÿ˜?«ÃÝ·¿fÞ®¿ ½ÝÝç;Á=óGuð¾_á…œ~XmïôáeÒËŠ(È ou¸©Â"ñV§;_¯«±Û¿÷£÷ ÏüÇbõñn‰óðFu'eY‚]V›;¿}Rô4¤'"DTäæI÷Tó#‘FARðR‘‘yzÚOË2ý‚~0;žŠ,…·ŒRz²?þü›·zø—7tJyÕ uÛ¨W®Û K… ƒ"6ûÎì,™¹}ð~qïõ­7<*¯jDzÁfÞvl*Ú•Ö|û«­÷DHa’vûv]î?T{U6ãÑ™=9æÇùä…{ÕÓq‡@_0Žƒ"ò–2¦7dg)_rƒÖe_W^7î•·m;Ø×ôC7²fç•Þ±kw]yÀ^åà´«‰—WÓuÿ÷¦Üï¯î‰"È“üÆ%ê¦Ü *2¤š]%Kƒ4- ³òþ4E0|Rë—zxôÊ«C—±AŠ+.…¤—Þùo~ûõáÿ|¿Xf‘ÿúáÃ뇇ÅWŸ»/ ¢Dffë²£}³ ™âI$Ùa»‘ pïÕ‡ƒÚÔå ög¯ÜªãØZgõCÙ ý½wz¬áÕz _õC½ß{mƒ^ïT 85 F‘5=„÷ôk… ðÎG0àu®i¥ÒX#@h(Eñç•Q,í¦óÛƒæ×Õ)AåÖay±ý¿×Úª¡%ŒYÄ© §Û;ßnW•»Â%’<ó˺¹å3ãsìííËž}ãµ[ë€ã» /â`þáÎÿO»xu‡@óoŠec5¡L–vp‡°à;”WÁ­Þºêp .‚óã~¨ˆïPîX––r¦§ÐðŠÄ¡ó~§>u§?=ß\ØŒ‡5.ÒnÙ3dIàŸ{Æ× ­§ÊêQgòúò 8ú!ÒEçò[‚YóŠo)ÒT_}ž3C9]3 ¢<)ìEÓ4ÓA¨†§­­öt %«à»êGkµ äEâïê¦aÞÀõþÕÎr@Y.yÃW²2#cÀXm±Öœqheš?ö;)ž#„Ñ¥JÅÚú±×ÖÓ‘`ÀZ§*I.ÒÂ/ÏäÄM Ôh€ˆ( dhIêíp•6EƱ° ^÷W ¤aTG¹_ã/΂¦õ#& FsÝX-5$É“^bÀfF7²MäEY¾tNkþ.›afAÙ) b^bâ$¡­†MK&3ëIPIYXˆ‚ë“™}¹åì•AJ¿Î)›ÜOéUïüû~!Ó"ˆCé·gv4S l[‡µ#òᡳ9·¨Vi•ÍÅ9I‘¹Bzn穊W¸Ÿ¹Ts „A”¹ŒBÚËìß8¯.SÊÿP¸\Ò8Me¦IC",^†Ýd‰Àmmùh[‚~;î5žÅ»[QŽÌ¨œ@,r°T%‘S†ÆîŸ VîRê¨Oñ­aÃÐg_öõ¡Þ—Ý ÈCmíÊ®f¾b j{u‰»šóˆ,^Ž _ éd‹åT$_¦TéáÜV«^£ž¸ÌÞp)&¸:T£:¾ã§¦mjihÙã4 éü\“—¸­sÝöÞƒäìØ9ó8i_èHM:Š 9… QH§£®ó¯¯A¦äVŽ*UTUmÞ¨7¸ ?´¥?o”wFbÐÁ'¬à£[®m“æâR‹äåÌ\ýåÉ^”#*•ÔÀÑ ¬(ƒãàá$ºXéÚÍHÀ8Öªâ‚YN+T° €‰9Ltö¦LÄÓ1þZ¤Æ¡Ák2ÉZÙKË(¨N. ’j®Å…Ð{Ácd ¼ûv:QsˆÁxÆê“.ä–M«z œ” î:„ÜâmøtQÛŠP×÷È=Rcc™Õòµd8=¶{çr6L̪f™AÐÚ6 ý×Úõ±U<2ˆãtBnÿéb£(µ;嬆¹ÛHAæcs­z,/:¿W³ÁFÕ0'=æÖÈÈÊ,gÍ;ÿÅJË““Û”[‘'±jî½t8Ù΢%ÏÀ@Îægš…d-–/ö]SíÎÑ1‰ÔqóæyK…Fȉ‘/6 Pã…2(èøÁjžpqìt¯ctk†¢ò7öð7Á­ºv?“šÄ1)C1-7½Ù—Å'ýL[ê(J@VΚªFìK#ˆ×ê—5.NP 6¤ÿs;(]èëíÔèkô3qÇ&̨üž“Xë‹8*tÇðµS:åŽùDO0êTë&o ÙÁŽœä {¢W .Ý®½| «H3“'›!ò,fÕ\ÿ˨’üc=©¹-±´ŒCƒMÖF½pÇF‡þÑõײ»£dÜêF_‚(ò,uJÛ6NÔö]ƒ5ÊÁãIôUh}axbˆ®™M>ªÇ²Ù)#KõÌ“^?$½÷þl–•&ó¹y/ÑWmU§šŠªýˆÌÇA €¡® mw~¿ :Ó@N2£¦Å#»Þ|óÁ×½-Tíá%AÝ* Ã#ûèeE²>ãÕ?t¶Lº>íº½ˆô©$2:uì ¨s½µ±jQ¡ ë©îÚ†z\›~ÚTÝqÇB7¦4,p…éõñbÊãÓ·™ë†ƒ ½œwy^IJdž†¬Ot>Ÿ5“˜&5NýßËj0…výQUÖT=5ˆBT¾Ù &ÉLwÉ…¬Ú®Ü)"ƒ¤œ§%uœÌÓ2 ;ˆ,Ï:ÃÂŒ+GŽÒ:Í狀“Q’„®ê'YbyÑ‘Ø8´:Ý©ýÞˆG3µk;ëxs·²¿ê/ch‚lÖOˆÈ8j6ºòÆ£Ql”Û{qh6uzaÔžÿµ>ö=Zj7®Zj}˜DL‡..uM‹%™YI[šŸœ‘©Ž¦}×êù¸ |QñŸ ˜ l’m7®}ãð@’¸™ÅWÏÔD8º˜¤¦{„´ßž­¿˜³qr¬7n¡=ŠYðŒ¢¸.†%qM5§#éBS@Bÿ“i+ˆ³>Ñ8/Ú‰ݧ™µÿæRðJžd싳îrøÎ{»u 9ìRÿoÞón»Xöþ­g÷µ›46K7äÉswQ⹘ çB©Ýwê½ø¸·Þox¦àNåÑ)÷Ã~ÿ©2)<½Ö¹Ö›Š€?‘¸áO£Ï'195‹“!R7øû¶DK§[™$æ™Ô…vÞ·Õ'o3vºŸ$9ƒ~Ÿs öUl·>¾$ßÐëÐ4ÉÕ£ÌÛ˜~u ii9®2Ú”ÕJ›%AœÈéK<à6&*¢—ý•¡ºÒÍã¼'ºQ b4[ €¶êZe¢4Í­s ~b­YÆcà½å m!…tò®ˆµ¼k» µ>Øk¬¨ØŽDì2½ [I]â@ħ秩BDè_ÝP»ÜJ®!¶£é÷ß+u¼–’æeÒj¢¯ÿ¬¥îKÎ{ÿôXWHõso> stream xœMR»ŽÛ0ìùÛE"†KI”ØpM€ ÔÝ¥ %ÊfNŸHŸãÈG‡>¨ ´3œÙå;0ŠÀ·ŸýL¾ýjàh ƒ#y'AØ~†§ÎÚPèF’î 4YÒVB7H™¬¡»’l2‡þ²M¯YùšÃþ“wHáý<£'œK*›Ú«tÉÖP¬(–²Ý‘íÃDEIk¯bM˽NkM"$à“}´-eCBQŠclâJ^²îd,Œ¹ï¥­°Ì”™¬5ŒZ¹Ë¦AçXgufe–éãºÁAõo×üw÷`[ѶJžA“ªÚè×ù¬œ9˜É¸t¯.Vƒ;i/{Í‘ùvd) œ™}í¤—ÃqZjŠòÅ®_ ŒÖ•ˆñŽ—¥wf], fX¾„KÊØ¿”÷ ܧ`}ö(R}g{©0…§Ô_àÖ-mßï?,•½ŒÑŒQ.9pÒÖÿõF/Ö”IÓX3Ÿ'm}q„ó¶75ۯĖÕÁ¦}P³^=„lã²P0Z q;SK(s·/)oå=óìv~Œ©¡ØL2·zßϺxWõë†6^ !"ÿåþ\¡¡’мÀºj« %üP[Îû¨ÄýáUAè¹#?ý÷c™Ý²endstream endobj 25 0 obj 492 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 18 0 obj <> /Contents 19 0 R >> endobj 23 0 obj <> /Contents 24 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R 18 0 R 23 0 R ] /Count 4 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 26 0 obj <> endobj 27 0 obj <> endobj 10 0 obj <> endobj 28 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 29 0 obj <> endobj 30 0 obj <>stream 2016-01-27T08:26:09+01:00 2016-01-27T08:26:09+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 31 0000000000 65535 f 0000010702 00000 n 0000012875 00000 n 0000010622 00000 n 0000009976 00000 n 0000000015 00000 n 0000002714 00000 n 0000010767 00000 n 0000011304 00000 n 0000011239 00000 n 0000011099 00000 n 0000010808 00000 n 0000010838 00000 n 0000010136 00000 n 0000002734 00000 n 0000005750 00000 n 0000010888 00000 n 0000010918 00000 n 0000010298 00000 n 0000005771 00000 n 0000009371 00000 n 0000010968 00000 n 0000010998 00000 n 0000010460 00000 n 0000009392 00000 n 0000009956 00000 n 0000011039 00000 n 0000011069 00000 n 0000011183 00000 n 0000011386 00000 n 0000011452 00000 n trailer << /Size 31 /Root 1 0 R /Info 2 0 R /ID [<2736433E2F50F1821DFEB5A535CB8F2F><2736433E2F50F1821DFEB5A535CB8F2F>] >> startxref 13029 %%EOF curl-7.47.0/docs/libcurl/curl_easy_duphandle.html0000644000175000017500000000542112652070414016766 00000000000000 curl_easy_duphandle man page

NAME

curl_easy_duphandle - Clone a libcurl session handle

SYNOPSIS

#include <curl/curl.h>

CURL *curl_easy_duphandle(CURL *handle );

DESCRIPTION

This function will return a new curl handle, a duplicate, using all the options previously set in the input curl handle. Both handles can subsequently be used independently and they must both be freed with curl_easy_cleanup.

All strings that the input handle has been told to point to (as opposed to copy) with previous calls to curl_easy_setopt using char * inputs, will be pointed to by the new handle as well. You must therefore make sure to keep the data around until both handles have been cleaned up.

The new handle will not inherit any state information, no connections, no SSL sessions and no cookies.

Note that even in multi-threaded programs, this function must be called in a synchronous way, the input handle may not be in use when cloned.

RETURN VALUE

If this function returns NULL, something went wrong and no valid handle was returned.

SEE ALSO

curl_easy_init, curl_easy_cleanup, curl_easy_reset, curl_global_init

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_share_cleanup.30000644000175000017500000000341112626067776016027 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_share_cleanup 3 "8 Aug 2003" "libcurl 7.10.7" "libcurl Manual" .SH NAME curl_share_cleanup - Clean up a shared object .SH SYNOPSIS .B #include .sp .BI "CURLSHcode curl_share_cleanup(CURLSH *" share_handle ");" .ad .SH DESCRIPTION This function deletes a shared object. The share handle cannot be used anymore when this function has been called. .SH RETURN VALUE CURLSHE_OK (zero) means that the option was set properly, non-zero means an error occurred as \fI\fP defines. See the \fIlibcurl-errors.3\fP man page for the full list with descriptions. If an error occurs, then the share object will not be deleted. .SH "SEE ALSO" .BR curl_share_init "(3), " curl_share_setopt "(3)" curl-7.47.0/docs/libcurl/ABI0000644000175000017500000000475612626067776012440 00000000000000ABI - Application Binary Interface ================================== "ABI" describes the low-level interface between an application program and a library. Calling conventions, function arguments, return values, struct sizes/defines and more. [Wikipedia has a longer description](https://en.wikipedia.org/wiki/Application_binary_interface) Upgrades -------- In the vast majority of all cases, a typical libcurl upgrade does not break the ABI at all. Your application can remain using libcurl just as before, only with less bugs and possibly with added new features. You need to read the release notes, and if they mention an ABI break/soname bump, you may have to verify that your application still builds fine and uses libcurl as it now is defined to work. Version Numbers --------------- In libcurl land, you really can't tell by the libcurl version number if that libcurl is binary compatible or not with another libcurl version. Soname Bumps ------------ Whenever there are changes done to the library that will cause an ABI breakage, that may require your application to get attention or possibly be changed to adhere to new things, we will bump the soname. Then the library will get a different output name and thus can in fact be installed in parallel with an older installed lib (on most systems). Thus, old applications built against the previous ABI version will remain working and using the older lib, while newer applications build and use the newer one. During the first seven years of libcurl releases, there have only been four ABI breakages. We are determined to bump the SONAME as rarely as possible. Ideally, we never do it again. Downgrades ---------- Going to an older libcurl version from one you're currently using can be a tricky thing. Mostly we add features and options to newer libcurls as that won't break ABI or hamper existing applications. This has the implication that going backwards may get you in a situation where you pick a libcurl that doesn't support the options your application needs. Or possibly you even downgrade so far so you cross an ABI break border and thus a different soname, and then your application may need to adapt to the modified ABI. History ------- The previous major library soname number bumps (breaking backwards compatibility) have happened the following times: 0 - libcurl 7.1, August 2000 1 - libcurl 7.5 December 2000 2 - libcurl 7.7 March 2001 3 - libcurl 7.12.0 June 2004 4 - libcurl 7.16.0 October 2006 curl-7.47.0/docs/libcurl/curl_easy_strerror.30000644000175000017500000000340612626067776016125 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_easy_strerror 3 "26 Apr 2004" "libcurl 7.12" "libcurl Manual" .SH NAME curl_easy_strerror - return string describing error code .SH SYNOPSIS #include const char *curl_easy_strerror(CURLcode errornum); .SH DESCRIPTION The \fIcurl_easy_strerror(3)\fP function returns a string describing the CURLcode error code passed in the argument \fIerrornum\fP. Typically applications also appreciate \fICURLOPT_ERRORBUFFER(3)\fP for more specific error descriptions generated at run-time. .SH AVAILABILITY This function was added in libcurl 7.12.0 .SH RETURN VALUE A pointer to a zero terminated string. .SH "SEE ALSO" .BR libcurl-errors "(3), " curl_multi_strerror "(3), " curl_share_strerror "(3)" curl-7.47.0/docs/libcurl/curl_formadd.pdf0000644000175000017500000003101512652070417015223 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµYÝrÛ¸¾×S`¶¡v,„ÿÛNg’¬ÓÍŽc»¶r‘q:Z‚,6©%©¨é3ä¡û€%™N6Óéd6±,88çû9‡û;ó¹`>ýéÿ]l&ÏoöÐN|ö0ù}"ô—¬ÿg±a/çXÒ/櫉yF°D²$ xš±ùf"‚ˆ§›ï'wÞb×”Wu³É—Ë^ðaÊÊâž~9ÉÈ羟xoój——ìÑÊé?ç¿Mf>—».ph†CyѹAÌæïòÅôâÄ·"âQ –ùrâ½=ŸÎÿu¥ôyè'l&$}íSdG±£¿sÖªEWÔëj|ØìÊ®ØæM÷œ–-ó.g¿Îç×ìúêvnö?h†ˆf"æ©àöýåÕõí›ÛaYt‚÷§¢Z”»¥b¥8žÓ_|ý7Z.Cº™àIRœóŸï¼Wïn.^_ݼ]ÔxÀÄ=•r—¥žÍWÛ5»Eg¾]wÝv[·ûùgÃç7·™ˆ$£ØäéÎûÚLq_„16(:µ9ëp!g<Œƒ¤ÏëS‡è[º3„ñDˆþ™2·;åbd Ä&„sþaú—ï¤õ—óÛW7o®ço®. S©!Ö¨•jšþĖݼ~%ƒ4µÝ—R1Ê]ûaÊÙ K])¿¼ÃÑ´/ÛU]Q²/õî€.ˆˆÀˆ€‡À‡Î0RÕŸ÷Y±œòbóLHa×Ä©Ðk–KÄ“—%ëÖj¸? ézv>ò8Àu°¯àQìK³¯ä©oö­:ÖCÛã:eÛ²mÞ¶ôé$QÄC™> ć®À‰¾¥;Ô\x[U§J.j”£øÐÕÇH#8Æö$Í¥«ëùGª"Ñ(͘„HyÖ/ç'aÏB Fd©ËŒ…÷ qdög <éxÀV¡¶+ŠSå‹õÉî tª?ø±€•qYŽ-¨ ¹kÔVåªPT}I%•-‹¹¶lÞçú°Ü·Ùù¤Ëð, ÍAYœÝym1 2ü.‹¼Î ^#B‚s2ÃeµpyëzW.Ù½b¥ZuT"º:1¡,õéHr öö: P†>y¬ÔOÜ( xý¡ûHݦ›Zª¿ÜFrøÂ®2Pfš¡+ýcY@ôV®~x¨¿j¦QˆœÉxѦ•FÈv–±©9âx¡+þ˜AÊZç K!±[c!¿ªû4ö— I¨Ýª}7ð•ô—Aô‚Õæ`[Já§ÞÃn£ª®íã8,ŒmØPh•`¾&ÁÒ'·'WÀÍ“XŠS"GÙD“ÈÖ˜=Õ=ˆ¾“d7Ž­'õ8«»5MGIÚ ¤]¾»¸htÕ¾6¨šæ ¾èÖ`âjWiõƒ—¥†C“ˆ0Ñ·§ŠÏ´öï l€Sà Éû/z{»+ºV•+ÎÞëÚø1t ¶Ì€ºéý Š›]Îãl¦ŽK¶j¦@ß—žRCst¤aêÒVW#XƒpEâq¡žTܬ u`ãÝ"=¦)…©]­Aö{ý_’©!ß«F)¦Fµõ®Y¨–¶:Q’êÞµT8m­ûåÔN‹´±b³- ¥m„,œ˜˜³ŸÎÿ½…ýñú³EMUß©ŸØZåKòÙ$6ûÂ-É<|‹þ~ p”9‘Ž’ÌVg‘#ö¢ÍïK¥±b.\ ð0—6§épOÒM„t:rd;¿ž¿øåüfÌx$<Û bNÝ úbn ™ É@L›”½.€ë3JLTâ?êHØ}Þ íê¬R¦ÿØUˆ³íÈ$òûz×u6º%áìÆD~ €¢7ö[p-)¦ÅAM¤´Ýi©@RÔãrPO*¤÷âí¹v£œ½ººœŸ_Îoõvœ½1 ª÷ám`Nݰ¯Èón[Öùòð*yÙRÞv5õPØj¦!êÑŽ¨/¬"v öyâÛ™Íß_Ûã_¿¹8×bêžA/ ¸ì—"NÎ^ªÒšGl•ÔCa{ ¿_¼?cû9ÔØ5žzF_$ :<à4 ´ØµÔe¢±«·®åÒXFm´1®>l›z«šŽ°^8ÏDJíÄðîRŽ‘žJ4vZëÖM½{8åœÈwm53‚ ›‹;Oð’2޻ׯÏoPô¿Ï=Ñ3j7lh¸k/: ¯¿åã)N@“È•BnŸšB†™íã««ë÷D B›é` t&7Ž+EPåÔÅÞ q ¡Zì×Q³1Ïøðê`xÄ´˜Ÿ‹¥ë·ÑiØf©B£|2‡\†¡s•1HÃÙ~\‡l­÷Ñ´=Ä0L•Å"Ÿ9¬¦˜R,XyÐ÷êÚ—µj«g¦mÑM<èj†Ò6¦]5pÌç‘mùï¼^Æ>¹J+µ…Ù­õޏÞûÓ¯k{ušC—†æàpÍœèn/ĬêÛ]¶MXâÔ%ðcQ3´)*2ÿ3ô+ãx•˜žÙÌ=ÝK w,ËÃ{ÆQ`“_|:z ¢’ú¾“T1•iƒ4öºNÿú«CûŠÁmH'âNŒ Ás(ÊTSQjÏ´tè6„äm úôê®;x™› RÈ]âºHíË©ô Öã|£~Å–•÷mCÀ#_;()ŠÆÖ’µXÔ3úOûÃ@`®ïžèbÖ‘«EB^’h ôÁ­®ç7½•¡»ÿÒ†ql”ùiÖŠ~JHzòzF„‡¯±F‰Ëd8Ñô§ã„Õ‰Ô34ïÚõk‰~L_SžÞÂÃÈè=¤ëQTG,'fõÔ7ðOÈf‘öOðíT{øâ@¦‘EÄâ ú6j\¶ý{wU³²®"õ.0B×8˜€Ñ{‡÷ÝãÀp=оùËÀ®$!¸^bù8Ækf9ì60Ÿ$G9œ §»§s8€$4EwúÇô„ÂÐ †^þ`îŒ&,–#¾ô£äI@¿,ðÈál£§/þ}®ôªä˜bá©g3Ò|ªLßé­[C–/:zY¬¡©['ÿÃá㵺½ýÊ´v'ï®úí 8s¤ûnŽv>ò@£g2Eã.k}…O‡¾Ô7ï#5çÄ:ç#k¤êëùDr)¢Qk DæÚOk”{<'.üþ†?蕤QI\‹†.ÂÌï^_˜d14)ØÑôý$Ëܦ>âŽG96ìé|Ò<3b“YJM±¶É,;å—Ⱥ¿Ç/ýÊÇð«Z‰ž—Ùð’ôý$µôhì cÈÒSox‰s@À…t–5?Ñá5žAÈ?eÄÓqûüÆë…1 %tJŒ ôõ ÈþŸ‚€â? Èx6®‘ …:â²½(@AÒá5&úðøeõ³¶Ù€‡¡é\¡Ç†uâ³Iâæ‚,4ë·üÖp3r6LV¾bÀ€âÆÓY,cøWæèÅÐ[Ã"cã– ZŽ[oâÀýçµ{ùhŒü1çEÃSãí1Þ`’TÁ†ªõC’ ZŒ@+"•~fá!ãìÍ´©>:„4 Nfõ³žÎ"ß7’qüÜ2j œ:}C3ž r&lE¼7~Û&<ãét&¢4°=²ßv•bäב„±íÝít>Ÿüþ (P endstream endobj 6 0 obj 2850 endobj 14 0 obj <> stream xœÅX]sÛ¸}ׯ@Ÿ"ub,ð|ÜMí6;‰“z•‡¸“¡$Êb—"µ"¯÷7äG÷\©¯Äi:žLlîÇ9çÞ‹ßYÀ èÇý¿ÜN~¸KØC3 ØÃä÷‰0/™ûo¹e?ͱ@Óƒùzb¿,‘,I×)›o'BE\+6œ|œ.»}ùi]ï·Ùju?U÷3V z8»’QÀƒ ™¾Íª.+ÙÉÊÙ¿æ?OTÌ®ðo¾šL_}¸{sóîîí§Wïnç×·ó7×·³ù¿Í !ÍŠu]–5=šÇ*Õ0 CˆÈZó˜¯Øâ‰eö°z=“Ñtý©eŸé—¬ìröPÌdÈÓT&ÓÏEõÀÚMÎʼzh7¬^›¿–uÕæUÛpv[·9e-ƒÙÆÚîDà"£BÍÃÄZ`L¿"ÃàKÂ…ð~™ß]ÿø–^M$uïAàbéN~‰C‹†Õ»¶¨+†ß¶YµÊÚzÿ4‹íܘsÕïr%C³WaH{M_¯ÙSݱ]Ö4ˆFÀî§æûÙ'ãÝ_öébEY²¢jÚ<[±U¯švÈÜOñ̇†µ5ûòÐísVw­É¼}3H·Åü¯§´¾)þÌ9s¶ìó¬,ŸØã,婎òQµ´Q“W+œFö!w­?…N¬Ì—Û®iƒß,`xà´åD)OÒÈe oÈŽ€^tJûœL’&"dí‰G6eRðX&}ÎL2¦ˆwÆvuSö0½íöUcläô …ûÍdz?}gsHyEÅÆ<¶_°eÌõYpÿtÿ}þ#€ßO燙_å»}¾ÌÚ|ÅÙ‡&·ò2árÁ3ìQY*Æ­v‰þ ,¥UÁh£ ð’Ö ß6hã"¡¹Ö}ž¦UÝQ2âÒ¿þ8ͺ¶Þfm±4y^äËz›[WX·+kXlÎiŠíξ'׌ÆàÇh€ Œƒë}½µ¸z‘¢ ˆ¯ 1f°E /ÛA*x”J9¬OÍz“ÑS¿€sø–16'Ba€6Ù0ºÓC©bª„}¤¿äåŠ2MZd_¥¢4öõ»¦ÚŠ„SªÝ¾ž Y-Sˆ©ºw®hMT›C»ïȉ…ñ3ßz$ÑóÞ1f¤Ê²@Ù8ÒFWíÓ¹´›APQ?¸ˆøI ¤êù÷Ù8‚ÓÇËI ¥ºMõe`-êPŸ2:*µnÂL@l e®òÞvCÎʀöýÑce¼ÊµÝŸê«*nSúlo Pöc—â ræ@áM’Ò>è cŸ¤qÓBtåa×ÔrÈq,‘»Ô«^”¤^(A„={²Úg|ÃßõÞ$¦!.Ó3< –’LU\áX¡‡ýl:vªbÛ®l‹]™º€ö.ˆ¢ô‚ ê›.ž$}Ï’™ð$<2ˆâ£]/ûÐm Àò Ù²T4U6Q=ñî¨M„2Z{RTd.ÇEõÔ6-¹’± ‰M8@ØÌé¡ï<¬p5—ªÑ‘"‚|›Ì¼îa,R‰4õÛÛXƒ5²cÂkžøwÒÛÌ}d»1ú·ü~f‹‹ œŒšãÔUÖ¹¥ØØ8Iò!(¦xhÍ#ŠuÅìûÜ f“™Ún6IBʘWÎ.Ú¨¿%i÷º3=ƒW‘æ íÄ£$±A¹§šm nOhZ€ÝLæÊº:¡åaðûv¤Êó•±ÅT«>{ô“¶Rs*‚f&ß<_+ÈGqjò¨z”˜ê GP¶E•™>ë±h7ÇZyM.ÂQšÉr9ž”Rúâ3å7CøQö‡¾VEà´ÏŠ/Q} Òº¦Œþ¸)@-'" yÜC›”¿qàiê=Äö ÿV¶}?Hóg5M±€šö t6«Æ2»ÜÔ*Ò¤Ó¨< ÊíLQ{¥Óß^û‘¹~ëï? ~)úÀRœ<7üè;“äkÑ'ó’ÃNáLLamó²lüÕI¤äòx*ÃgÔò´§Æ4®âàÁ’Ggø{ÐØ*?ƒO-&²sífºtˆÁ¥þC ÞˆÎãÎm„z-[º¡U´¡-Mžœ…ÃO4:§2ÖÓ77×w'` •ƒ`¹D§&ðÈ’Æ s‡ g½>òWOË$‘=è+ yí˜l—!Ì"}hÚÖÇ_C>…H|E­<¡`ûvKK•HHÆ¡!Z”Dö=w·öýÎ:·il·\Ú¶×ç”Ïàà ÙCcú äpMÅò¼¼àØÑ­„qßkägGmª_CDCrq2ìšÖ·85Ù±€s‘kÜ0ð<”½ŸŸMŠïWˆœœÕ,¢%ªƒ>„WŸÉ‚(µ¸˜„‘Ò˜)À$AIë~³ÎÀ͵‚ºkûÅÂa –a8–[[í,•èRÆÜטÍcìko3xc¤t½Gyf]Õ%ËÖ°õ8f°VxÞ˜Í-Ë<«º½C=¼‰bÙ1F“$Yù+­ #ÒìãµÙÒ­¿Èʦ¶^‡È•ÆÀîôމõR:Ý—íG}§¥ôÝ®»Ÿ¡+ ËòªÛ.&$]\4=3xªÒP5Šz “dÆÉsÀ<²hÀ3Zr§<ßgIü³ðBòx†^Fò"œÍE›U”£ÊG·ñ‰:¬|t¦:­}Í ½4 •þGÇ<Š’#E9¼Ê;H…SÍ!çÛÇáViÝ2ÌsoTŠxxºéî øò”–R»šwïçŸpæßn>ܾš¿~w{†,BQpôpžÕ4¢Ì"[þF‡=•4ÁÍÇyª;Û£(ÅéžÃëC¤CwÔPß}|„Bëã²zöv“*O8ðØÜL8A37 +sñf¥Í4÷½Ù/lh‹ -0q÷ØhÖãôc’óZõCgÝí‘j ¦"á©V¡›BéÒ%8U4„³+T(=‰K>ãzv%" ýšbôú¹Ãä-ƒ@Z6ø+hIÆ\Ï'ÿÄÏV½:«endstream endobj 15 0 obj 2437 endobj 19 0 obj <> stream xœ¥XÛnãÈ}×Wtü°¦ ©ÍæØÙ”mœ…oÑp’ ìѦZw(RËËÈÎ7ø£SÕ’’µƒ\`À²¥buÕ©S§ªõ;±)#6þè×t3:_„ä©ÙäiôûˆÉ‰~I7äÏ DøF²©g Æ.b’lFÌõiä’d7º³Ò¶ÊVeµáËå½åÞIž=â›ã©ãÛÔ¶CëŠ-ÏÉËñ—ä×8žºI–#F™í(§/eKvc3DZxÑf-È–WðGIò²ü §|•Ï»4°IÒc1 =¢_–à¯ãä7H>q »R¶&”ا¾1œ¸ ád'b‡nÞß\'óëä#äø—äbßóBæêG6mݨŒÂŽa&%[’çuI…w—5kYǦl€bÌ<€È ­ç­H±$¹(žÀ¤\uÕ¦äÞºÙ6YY ˜d…¡ )‹¨£Y„š²€Feš-3à‘e²>+Â]Œ4Œ%ê³¢„+²-ë:{Ìò¬yAžÕ¢nÈãküŸÀÀô¬îkx/¤î[¾è@lÄ(uB¦:l"k¯yÓÀ73Š»[^×¢&œÔMÕ¦M¼WUüRÉ Å7’55ù†Þ8Ê #ÓQ » jÔ Jæ<]Ý(Çm%ˆÈÅF@ ®Á—QGŽvèKW˜.>^êš~œ¤k^™xdÔ=Ù±Ȉ§S§Iׯ fÞGßžô ”x-7: ÒD¥‹4DžqÒ!>¿þ@e´Ì‡.u¼>Zë²ç¹NȦŽ/O a]×~ã]H1Dw±f9õ0ÔHyg·µ"(ü'ƒR¹xæS×1]3Ï^Ûþà9[%vûÌ‘®BéÈ €ÌºˆÖç²G º 3Ó°©Úª:D¾úšBó†‰~hÞœ¨¼³¥,¶žZ|ÝYLž |ž«FÄ1ƒÑø(ºú˜ÖÖl£Ò/5wÐ?.u]û"A5÷e(‚tûDT¥];¤¾Ó ÁA»˜Ï>ÌhÛ«ÍóTÂ5Qö }Ú„’2빩8Y ¾UM€Ú²6Hqr{ó1‰Ha*swð¡usÆÓ#2Y£Pð¯r -Ù¹²×ê<ì¶•µSìAÿmÝÀ95¾uÐRÆpxÖ¶Ç[š8ûAbàÆû¶‘Ÿ>¤¾Ý‚úíCF0rBC0TNÊ6¹´–jHdF á4Îf]Ö¢nÞ6å†7YÊóü…<‰BËB>MLU=aú}Ò6ä¨ÇJ#jJsš$ š'‘ïYÏøÞnåB$ U¦pv=!ÙŠàr±ª„€¶öA-•ˆ?èh¹Ùæ0¨kiµ&6UPúq\Ârñ<>5Ýëôº`«–U&ŠV%¨Ä¦VÜ4–SP"I€©ýŽx8íT+‘: ¥Ña±áR¬¿Û¾¶Xn­1þp2,eFM³½Å¬Ì0hÊ7[„˜ª/xýòÓ´MíhûMçR¿Û¤¬{Kn&G¶&ˆÞó¼aßÜ&Ir« ¡‡aGf¬Ð‘Ó܈š!œ¯§µ’ÝûñDÕkó[•´#`[4Pm…i¿×±m1fGadÀM{pACl3,aFæby$l`~'Ä=xi.`ßÝÉ'U#Ö磎ժ¢€ bj{ÞžKß0}‹e.$—A—£äìÎú)ö(ŽäN祡m ó…ÎbS¬í’T:@cÛ2ϻᵘ'Ÿ×äïcæÂ³f—Ÿæzíö‚H¹èÊÕIªeo†8:f†“•3@„*»WàL¿Š~NÈAYÕK³FÒí¤ŠÃô ±nR~+Šé¿DU’<敨*[jÊmZÂK½-‹¥¤q©×‡³ÎTçÚŠÌû5ÁßàÅd)^ ©Ü‡›u«D‡ù;¬á9þ¢ëŸ{îg.•:g×üŸ³«ÛËù›~èVAk¸ø­¡ÑQ¾Î”ˆýD®?]^þˆkÁ:n,ç»1>•„’»Zw•DZ#/o®Õ®ÆŽ&ØJTw_à‰´ Ê„yÁÉÉ’!è./W4Ö«ýO¸VÂß÷VÆ[÷ãÞƒ èq c (ÀŽjÝ?Š÷äÀÕºÙäh{ÔÓ»‹äêògíÄO÷ ßK›ÃÛc!¼É]÷or·Þ.öò÷ûe¯V¯¹`*øÍËt5V0¹Oýmût˜=X;Ê4±B¾ûÌù^»HÑ¢ŒÏóåfIùÝ„Õ2DÕÄ„‹®gnC“Ì0m×*—ÒJÝÏA£nål­Šë+p·Â³î¾qgÁÇE½Âí?b,æeÑð¬ÀæÞÏÄî6rÿØe‚È*+õÂ4´ÙÙ9€`ô3?>¤O„ žÞßÛ§ =%Ñà ¬3)ÌÈùsŒ ·h½98àT·©,ÓÞólÔ ù;uBÛìíç뱫ϟ]Í'ª%O&J›A{™{=Øë8N&{7&¤ŸœCÒ…ZU¾“…ym^¶b˜‘†ìN±NËå•j^ÓŸÃá ù|‹'4jÅGò>7çxÞ$Ô7 G l›êH1ÿßÔÑ5>øÐ»?‚ ¯ÛdÑ£ðµ¤ãÈÕ7Ñ÷ëY˜ ¤u„Ž w3ç ˆóûpLÕÜòl³UôßàÄ4CsG!„fÛ_ÛBØÎ¯˜û²‹~æÉèoðóoYÄ«endstream endobj 20 0 obj 2194 endobj 24 0 obj <> stream xœÅWÛrÚH}×WLù!‘\0hF÷ÚʃãÅ›¤lÂòà²S”, ¯ñúòÑÛ=3Œñ%±«¶x…zNwŸ>Ý=|'6eÄÆ~¦s£3Ȥ2l21¾L¾$ú‘ÎÉÇ Bü!ê #'AäÐ0"ñÜ`ŽGC‡Ä·Æ¥™®–ùh\.çI–]™Î•EòÙ5þhµ¹gSÛ̳¤X%9y`i}‹¿NH=Òv|gÐÈw‹²ª[ä]žàãøëàô¤78õãÁ¹åxæÑY·EŠd.®-Ñ(â¹[ÜU_Çbi¹¶ÙR®8ºb]]šÛHǽó¸{[äÚâ2hgð|œÌ‹(ó€À1[ÇV|ƒ‘ÃïŒú~©—fƒaNè¹ëi÷ü¯ø“ЧÍ›†¼ ÉÄ,rQLêéVžÝó?¯¬?ÐG[ÅÏ]iÜ9$GY&3ï,êeZµ(êŽ~Öw A*‘Ö³² ‡<ŽNNøð…ü÷ú*rd@²|0­çù(-31ºÕÓÑ´ÌÅÁË©ÅÓªHÈÅcE·‚P‡5kOBhæ‰/ú˜C-,æ© ÿ[wðà!Û²:ûè®fóE.ÈÏ|—ÝWñº˜¥õjù —'ŸOÑv~×[ 4Ê\ßLRAo“_ÉBB$ÿsÏo6O&¢s³P5Ä£¿”{}‹9ê.v@Eº‡ËŸ›v¨íÛ\¿xPæ¶Çi„ï׉½–­êMéÒæwåj¹‡pR6 ËßÐËk8[U³b²qu4m1Q××§.7p. X3FME;‡d˜»ž”Èwui£åB:ú@î1 ÇåÆè‡õÞp9åN*PÀ­a&ùJ2¤ˆêw&4Só6àÔÆ3Ú«ÜN•½Ä5û ×|¯k È7^Ñ*ð) `s»¢D¿×ÕÛU×5Ñ«–ÙÎ %uIV‹¼L2= ã)‘C‚HW‹^¯èÜTû$ûÑ’:õCóëÉIw–YR'/°„åÒ"K‘–Ëìyãfƒ(ûÑö²0w{áýýN”%ÑÔBd"#À©§‚ˆ"#ódùÏÚ¨i{‹aºo<˜:ªÍ(°wBŸÛZ ¥Ø.Zd¼Ý^|Ý­JÓ(®ýWæ8Ûµmfä­w)Ç %܇I_ Ì4'˜&‘›–,ù±V—Tý[°uOòƒ©7ÈöàáµÝæþv°f&¢vhÛM?Ñ뤚.Ó=³Rã‡Ôß\Ý€˜¡¨%1˜™ãR¯ •¤Hª»Q%jÑ•üEÁöúñèS÷û½a ºkŒlê4“±µØ”În†oUë@:ƒnê4òð²Þæp›}.<¤á°Û%G§ÃÞÆí» |78eØÜþ&ÿ4 ¡¼±·îã0.¼”šjZÜCAa°v×B–h ÷gÏ]/ õ_@’:Ô!íÔ¬õ_ @4´ÚÌ a0z&ôå—U!·m.¡]ßÑ`.ucãoøüW?v¿endstream endobj 25 0 obj 1113 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 18 0 obj <> /Contents 19 0 R >> endobj 23 0 obj <> /Contents 24 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R 18 0 R 23 0 R ] /Count 4 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 26 0 obj <> endobj 27 0 obj <> endobj 10 0 obj <> endobj 28 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 29 0 obj <> endobj 30 0 obj <>stream 2016-01-27T08:26:07+01:00 2016-01-27T08:26:07+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 31 0000000000 65535 f 0000009704 00000 n 0000011885 00000 n 0000009624 00000 n 0000008978 00000 n 0000000015 00000 n 0000002935 00000 n 0000009769 00000 n 0000010324 00000 n 0000010259 00000 n 0000010119 00000 n 0000009810 00000 n 0000009840 00000 n 0000009138 00000 n 0000002955 00000 n 0000005464 00000 n 0000009890 00000 n 0000009920 00000 n 0000009300 00000 n 0000005485 00000 n 0000007751 00000 n 0000009970 00000 n 0000010000 00000 n 0000009462 00000 n 0000007772 00000 n 0000008957 00000 n 0000010050 00000 n 0000010080 00000 n 0000010203 00000 n 0000010406 00000 n 0000010462 00000 n trailer << /Size 31 /Root 1 0 R /Info 2 0 R /ID [<766A1261E8D9719E7AE0C2F81E864854><766A1261E8D9719E7AE0C2F81E864854>] >> startxref 12039 %%EOF curl-7.47.0/docs/libcurl/curl_formfree.pdf0000644000175000017500000000726712652070417015430 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUY‹ãF~ׯhÈC¤Õô¡«IL6†Ìâµ[3aÐÈòZ‰®Õ±ƒÿC~tªÕ:ló t·º¾«J_F¨ú Ï87î¶>ùÜ”|6¾¬ß$Ã#ÎÉÏ!ÔBx0ô;ŒøœøR@ I˜L8à ¾OfÜÕÙË¡¬óC$Ϧx¶H–¾ªUËæ.J}óSTtQFÞµþ ?6ÎðÞËJ, ÒU•…GÂ¥a®î­o)î2\)M¸7ÌO +üë '§àPŸØŒ«mz±IÿˆHU'w@®c~MË®ÉNäÕâÔìÒlOò.kÓ*ªÛ;õæ>j#òknÈf½ I|ŒÒ¢G}ÕF°6ó è±íþX­7»‡F(„ý‘ùMZÄY·OÈ áúƒãO긭\B®ÜéÉ-Gò¤fþd¦ûAI‹»@™+Íž¡Å|¤äx¦Ò¶ië.nõ¹cÛVUÙ´ä»8££¹^Ž;(ªØ>[?Ì Gnœ9 Ü3~¿,v¶›ða½º4a¦ÈÀSQy3®óñHÒ5Éž´%‰³$*HW‘^få ÞÇ\0Z]h7Ï­ÂXÉ@ùÕÞEU•{¼ï-mï2 T8Å K´ßëüa9˜ªŸñð<ð<ʇ· TÇt9ø2ÖH$ïP××¶-Ôs/2hÆQ–)lǤ í1ÑDQƒ/áŠÒá{ÜLã#iOUªNŸHŽ¢4$:´I­õèp7I¢æôR%uïÞHif"±·f&S] 4l'W[EQƒ`~8Á›:Ë‘6«ƒCw8WQòA”Ža£Ÿu¿„qýïdÊž!°¿‡ lñg Æ ÝyzöB0ô-«=ÅÖžn €ž•­ó+í]Œ‹œ'¶{”ÓS'mWhu/Ï0J]5ä…îÏ>Z„w(±Ï¼ÿ#[TàLްí²z\.áý€œƒçÏêÉÜ.ÂÇíŠün©/•ô˜y¿|\\{?ÏãUY$7®½˜é‹¹_îÖÿ5ÓÇ ªajbWå\$5gbmKW¯ÛŽG‡ZÃ÷“øàS‡8ôsŠãzš×Þý<–ðsÌFÛ̪N3Â)Õ¯ ÓÔ~ýÒ"4~Ãß¿ª_endstream endobj 6 0 obj 957 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:07+01:00 2016-01-27T08:26:07+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001280 00000 n 0000003160 00000 n 0000001221 00000 n 0000001061 00000 n 0000000015 00000 n 0000001042 00000 n 0000001345 00000 n 0000001671 00000 n 0000001606 00000 n 0000001466 00000 n 0000001386 00000 n 0000001416 00000 n 0000001550 00000 n 0000001737 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<9BEFAE7FFE2D2A11C43275742375AB19><9BEFAE7FFE2D2A11C43275742375AB19>] >> startxref 3314 %%EOF curl-7.47.0/docs/libcurl/curl_getdate.pdf0000644000175000017500000001447612652070417015240 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥XÛnãF}×W4²C%R»›Ý¼i xm!q`9“‘ì`¼Hh©mq#‘ /v”o˜ýçTõ…É€“Íxf,“ìªSU§Ný a”†_öûz?ºø‘§jÄÈÓè—×7‰ý¶Þ“­à/¬Gæ '‘O¢DÐ8!«ýˆKFcAV/£OÞº)w?>©z“ÖêÞ÷c²ËðâxêŒ2y‹4oÒ9{rüŸÕ·£)£>«kpš€SšèW„du;òî.Çï'Üå XV›‘·˜Wÿí¡ô•,"Sîãm†ÈÀÈ”\9žw<@{‘¤L0n >+¼©%Ô“XÚeMR¢MTu™åO¤.HÞìTIŠGR©u‘o*¦‡~ÊyB…€Bk;Ëwß½_Þ,»Gm”³÷·,_ïš"ÿ@àøÝþ÷¥NEíÕõI×Û´$_BŽ.>pæJÆ ‹3ȵ)t™Æg¡QÜfaR·Yˆ©ŒÅö†qý¥ß:œF"qÏäÅË08Hìlßÿ~ž&_& tiºž/¯>ܼ_Ý|wwê¬M•ãÜÏJ.¼SJu¼%BßBÀÊûš¥ª›2¯H½UçÅ$TBé{óC±ÞNÈ·ÈßòHxUžDÐl¦ÿ’,×Ïý°º"XM0çÓ‘‘FQ¢½þVäjB‹RŸÑœJó>WÒ/ŸÍe¬÷_­e¥„¾‰Kô!-Ó½ª!¦ê ÖÙgUQ²:·Ì|* eNjwµKdŸ™Ì*’5i*µ™CZU$ÕA ä\|Òw?ÜÞbP¥¢¶õb~ÖèS]XWÿ÷—-Áb‡®ã?,oî¾&×Ú§LâRÒ¤‹ûrÕ•”‡‰kù’\Þ]“ÕÍb¾4M£º¬{á6™´ÝxùÅÀ˜Ç!g_L1¾À|¤N€=ušåø±R­A5àoI š =A,³ZíŠ S_« y8’—-\¬éZé‚’¢Üâ"Ìó'Ûïá@™¥;Úëø)—ð©'7—›~€O\€AOïöéÑEŸóžMÎbʃŽÿ³û¶v,dŽ·ésÑwÆ:Í(+į±Ï†â€‚Iët§ò Èî}fÈÙ ¢a×uqÀu(WiN”ë…Íii"¨ðã7Ç”D·ˆäóy«(±U”ô]¶€4mI­R‘5¸-òÝ}×ÛR©éNÕØA*ÚeÕ–¤¥öæ ­:YZgE^ML[>û¢'%Â7Sר–q~Se1=”êó¯cHpû‰¡jund ëmK|à ‘d“=euEÇÓ ”ÇÒ›ÿšî;UÍ É]¡…T€sݱ$&t¥~æýø–:^’H ;iÂø@ >y,œ‚]xÏÓDjpúGʸ ͵ZýnY`kê8 µÒ2~½ÁN@õYm¡5,£,j+Æb]ü” {6¨É€ÀÝ0>'G>è%|Äòþ88ƒžu‡èÇîÚi]!æXc.²o`äh¼,yÉ€`¡-žù©Ö´¹£Üw¶ S¸&ôtµì |Óëb ›‘o¾™-³åäd¶ŽŽÓPú®{ÍÞäÊݑ߃9àv–6“Y>\—&r·òýì™ê¬$ŸËª6Ž˜§·ÍL¯"M¯}»£©c IöOGB®5ä±0ûoºíV =Âéë-dá­™phÊþR‚ÍÓ¾t¨¼/²Žfvž¼A&f jk*˜!íÍ#V꺇~ê^°ŒHXòþ,××$=`ÎV¼•ë˘ƒ»*­Ú9¬% âÔ‰Ÿ˜úʀ㋅;¶7k…qcUí ´`ôSÝëE»ï Ö¦õÝú /õýlÎÿ}¹x;_³Ó[t»"ôz/€¹{™æ¯e¶Ââ™Lf""_/tëêZŠnSð ¥{–¡.¢íjÖëj§„ƒ¥b`_ ŸÐç{æ-pm6¯>ì°3µ°[“À©1Ȩ̈ÉÐÍ–$>"‚U¡ãàéÆtœ7ß™HÀ4ëùüƒ‘@rƒžÃ¿ÉŸ‰ÂD€PˆúC—aWrß–Üë; ä ‚Oä¦K”õ r’ø‘qo ¦ãÆ9t>Ì"{-Þ¾w9ôÞFÓeð4œÖâTœ"¤É´tíðð59OŽ)l`ì£Ìñð5h´µRà‚ M˜œJÞ‡ ¸.lbcɽç‹ð"‘--{ñîÿVˆ«ùë ñ—»mn¶†i$,Oñ—™ú1û‹KÖX„¿ï4&ÀûeóD`ïô=x;haís¾}_¿®vo{endstream endobj 6 0 obj 2131 endobj 14 0 obj <> stream xœUÛrÛ6}×Wì[À©…à]oª£Nœq¬T¢ûbw<Il(R!Àªê7䣻IËV=™Xã°Ø=çìYà0ÊÙOÿ;ßÞ/bØêƒíèÛˆ»Mèå{ø5ÀÄ.d›Qw†C, N}š¤íG<`4ñ!;ŽHÞ6åÓV™µ4ê‘ø”ÅÊ.zc2ÊXL>˪•%ü/Òû3û4ò#ãw¶F8˜,Ûê ¸€¥:€`,NX8 ³˜1/ûk„»Ù-FJƒ‘ü)øÄ\ù…áÿÞ»±Ë,Åø‹$ç­sðûEŠœiZÚÒ˜G4±ÀÈ2óRä„dz÷ÁóšÆ\éâÃÒq8ËåŽ Ç†&ï$Êv…†ƒl´jàèq+J©áØƨ L ;Y­KVØÔÍ^ ú òâ»ZCQÁâ·kH„€GRTyÙ®‹j f§ =¸#}çbЕÑ(Jœ¢­vÁÅ^Á¿u¥ ’øWݼXY«ÒH@]™a™z¥ëR¬¾:u¹™awmÔôny×ïP4Ÿò-‘ü$¦±ˆÐ+ÈhiûÄìç4H“dØÈmÕG‚ 1`ì§)"|ÖÌáíèSÈvJŸÅr„ëª<ᥨXø´`þ„Ã}v}ŸìÅØœ€§WVý¤´»"x‘ºù ß+Õ¡ ´,—ôç »„¼ò¸5¡ˆIk†4 ʲÿ:ŒãUoxÎzÇ‹ ¥aÏb¸å­“ÐÉå%~”[Ä5ÉKƒà\à-å ”Ë·Çß îŸG“,g3˜Þ.ççÐ׳ØÁRRŸžpäAu– ÏÓÞXÄ¡½ºLE‡+뜪­ÞJ†Þ ü4ù¹d×÷‹Ûù—ì)»ù<»žß}¸Énæw¯óq?¥AøÓéÆn£3ú么½¼B÷ؾqy¥‚†¯*¹\\$vyœº÷—ô7`Îȱ}ï»sXqÚní;º½0¤œ÷{®̲Ñïøù%>§endstream endobj 15 0 obj 1075 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:07+01:00 2016-01-27T08:26:07+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003792 00000 n 0000005755 00000 n 0000003726 00000 n 0000003404 00000 n 0000000015 00000 n 0000002216 00000 n 0000003857 00000 n 0000004191 00000 n 0000004126 00000 n 0000004058 00000 n 0000003898 00000 n 0000003928 00000 n 0000003564 00000 n 0000002236 00000 n 0000003383 00000 n 0000003978 00000 n 0000004008 00000 n 0000004273 00000 n 0000004332 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 5909 %%EOF curl-7.47.0/docs/libcurl/curl_easy_perform.pdf0000644000175000017500000001157212652070416016307 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•XioGýÎ_ÑH>x­¾æÚì.àxi@YÙR(*»´0FdÓœÕôV´‹üÿèT_s”â@€$ÌôtU¿ª÷ªª?!‚)"êÇþ]瓳eˆ>Ö‚>N>M¨~‰ìŸuŽ~XÁ‚H=Xm'æŠB†Â˜ã(F«|B©À!G«ÇÉ­·n«ìƒLê§{YmË*¿óøÝeé½z33Ÿ`BBï]R´I†N/ŸþgõãdN0£°ÿÌÇ`Ǿò€hu1ñÞ¿ž¾á-õ±sðjµ™xïÓÕþ2‚ Ñœ2õš(]DsäþKÐ}V®Òâ#ú’IÔTIQoee6x17æ4À‘¶zýËûË«ëóë~™õÔÚõ¾M‹uÖn$ú«2~¦~áÝßÕr&ÔqVßÝzon–ëÖŒý›2*Oƒ£¡ï4>gKJ\TB8f`!Ð_î’b“ɱ?€< âØ.»›~|*æ8àƒ“ýcqýfy~µ:¿|?vp¸óB½RáRáqÌ ‰¬•Ï¥}GÕ»Ûçs¡cñ«&’Fan 5Kvi¶m±nÒ²@ɶqÑèNRÌxì,öè¥EÚ˜tyË}ÓÎ µ %Y†š<Ø_ì‡áÑöµlÊý)Ã$p¼5lZ£¤’(O6r†”Ç Ù”ÓøpBK¾ƒ”☯À›. QR£¬×Uz/7(-”«\\jŒÎ”·uƒî!À¤TVš^S'ùA*pÊpà?›1î$*Däói±oåÇ1JÀˆsÒá«Á#âa¨©"Pɦ­ ¹Á‡ÜsEšÍ "Ÿ0°BX#ùHë”g?ÐA²hRˆO%?µd2'E¡°‡°Çjô¸“Ú”D³¬PºEi3Ìò¹³éØ&]Ї8 ²Á™o½‚…ÑÛ)¤ DGEYÌ;îå.™‚iøœ–•¦?þæ zêÏêÎP„£vs>Œbo€ÌÛ¬I_B’`ß·èÐÌ©=/†¨äµaùEsžá8´‡°Œv²Ó®{º3Ðf?vDj¹&"` x6á€cÎß§äô&^^¶EƒÊ-2¬kÊc©ˆA¸üâ©CØ€y;jk–ÓÌŠ"ì3ÿ4±ÔiBSÐ:†1Ð.‡[ŸOYà oû¤Ã¬©‚ó¨G*ÔH•-äj#‹ÑX`ÂyWë” ){ ÉKHô\B¾ªÄÍÐl£äIº6yå‡ ÆîÜŸ­ÿ~gƒä*ä0„t%A¤(Öe[%A’Àˆm]b×)l¡’¦‘ù¾Qk*9ok9BxNÃ6¤ýñ"[BÖ%ÔTˆ¡þh[f™=`)ú‚q_ñ¨Ãg!©gðI[Ï\TKH‡DË*Úª]h¤’ SA[8æÜ@aÑsi– 8PÑs°®Ñ›«28R“I¼²e@@ÏÓµ+€ló¨eí*ßœ£¬ªÀ]K¨?*ù/ÊF¸ÑqÕèî’qdC†¹c2¤ŸÝì³­Ä ߬ ™\¶Ã* +Üqë#ea8Œ|ö'Ê%´‘$u6Õ{8º”¦Æ¥£#³ÈÙ¦Á€ÆÂF˜ @áxV7S!|,¨ï•õ€g°>p;H#ê†Ñ¨ƒ¼õlÕ=H8Õ©‘›ü:lºZ+šJ%_A)¨ŽE2ïÑV sèpµÐÑ‘V¹I;…4„í¶¶h0Åê²»ýMy4аñªSU’B–m=¡mUæÈ$§2«ŽE—1ûÞˆ^â\ËÈÖ—5Â(;-¢¹gDÔãⰸ ¨k[æ‚D8¡êµÒÌ/^w^SëÑ—J·T[%›ã4¤0wÄ¥!9hrIÈL¾hiI¡szî@†›4—вm I§TwÆ ô5hŸTª}ˆ¥VéæN©"0ÎŽG6ðA$£À“A·Ó–=?¨ë[øÆ5¶ÿÒåNöj9Óµé/4j(좹”l6¦$H÷È|5SÀ¬¡Ë*uó GÜ û§CUQ݇8•çëvf :þ â~Ô¹õ–‹ÕÍò=úyJ¡Ûˆê½¾¸YØQëxìQ%ÙQÍd‹—ÿDwQ7—·Ãj ý=ƒ?ŒÑ2Åð ÊG_» þfÖ¨|˜éñ²*­5¨ç²ª@ŒÊ5€S‚I}ˆ`c q–ŽæÐAÜ¢Á<½‘_ `ë²î¸á‡A‡G]ÃëÙš>W¦Âj!t«:»ýØ«ûÙjgcƒxPâjœé„BŽiyÛ¦WhBAλÝpßièÔÌLÔ—W«‹årʉw¹üAû¢Üºyûv±Ý5б;TpÜ5êÞcbúë5¨¦ß'WÝwݰ½ß‰07Ê£†±¹êäN4£/ –4îNÝŒê¤K=ðÇ{ÑæapP¶*™l’{ ´I–úhËÜ(iÞO¡Ûˆ#_xív E@=Õ:ê©§Ë;às?§Ž<{=²ø÷ëwW73ƒ s©¡ÛÁ¿¡Ã±ÑÞS¨¥ #Û;ðìÿ Jþh}{ ‘þ@]©cªžÌK ø3Cßìšfÿ—³39¥6gMò}&ñºÌ¿QÖÕéºzä\§<Æ›ïÁ™¹u´l÷÷óÞ×ßþè:i±@¯/®/Ÿ½Nc4Æ5 î‚G%Ðl¼ ñÁØ7€çh<§n+3A‚ÌŸ¬”÷Ø×îx{8”šî*ŽÔ=Ø(G¾VѯvÖé”-…÷SÓ­§Ä :zP,5‰×¦ô´Ýß¡u¦æ3/æ4fC#êt±VUÇÝ%ùï†mïTˆBõwÚ §ÚúÉb5ù ~~Ú»{endstream endobj 6 0 obj 2175 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:06+01:00 2016-01-27T08:26:06+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002499 00000 n 0000004379 00000 n 0000002440 00000 n 0000002280 00000 n 0000000015 00000 n 0000002260 00000 n 0000002564 00000 n 0000002818 00000 n 0000002753 00000 n 0000002685 00000 n 0000002605 00000 n 0000002635 00000 n 0000002900 00000 n 0000002956 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4533 %%EOF curl-7.47.0/docs/libcurl/curl_multi_socket_action.pdf0000644000175000017500000002263612652070423017654 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­YëNÉýÏS””îALSÕ÷ÊF‘¼,Y±‹acE+;BMOÃt˜éží „(àWÉ;æ|ué`¯”È–fêòÝÎùÎWüƸ+§?æÿlwp|³û怳ûƒß„ú’™ÿ²û~… }°º;Ð{‹=KßM$[휬«·7»nÛ7M•=,Vÿ8ˆWbåj}$nÌVOŸœ¼½I³¶¨ÊÏŽÿyÁ¶Å-m\,½»œÇ·´ìÒ-›Ÿö÷ÕO~¸q¢œC·-¹ë Ø’ÁT S]’µË@H7JØÒÔÆ‹÷´˜Ó:º¡ôÍNéóÁK»ÙRxô5×ÖÏÍ|0„ý‡ÕyºnŽŸê¢Í–*£ÉªP]Å®™ËÓÞéŠD&ù¢Ø¦·Ûœ­Ó6e÷…qK¨Bá‚{ö„œ¾ôÜPŸá g|rÊt¡Â)Bú‘¬P7yÈU,cs€²Y»<Ž–'c—ûp;rµîú׋Ë_®Ï®§ÑA0Mdœ?e¶íÖ9ûEç˜þq7VÖlu~°:üäœ|¼:ÿUXô2‚°3ˆÆùT‹Ù!Ó«6i¹ÞæGÊ$†¿æ^“ uˆt¥ô¢„i}r·Öh©¶ ([–#,ÎãÍmÑîÒæA¯P_Ö]Yå½¹¬ù¼ønñnð…£¸üpz}ruöËêìòâ­ÐD®O¹:pþ¶ÉKÖnr–î÷Û"KU½lÒ†­ó6ÏÚ|ÍL áoÊ,~¼°¨£ò–i+×ìöÙâçˆp|SuÛ5ËÒíV[$¸1i©O²›æÀ™ª1éZ€=ä}‰¼ çö‹À\¨v¸Ð ‘X©,~*Ú 9?› SˆÂ·k´Y ¹ëGÒÀIkú0T:Ý 40ï»]ŽD6ˆN[©H÷ÕÅ%³V˜H»¬ÏInªqæq鯔ñsʶa>ž+Å:KÐ…}”Óf áúBZ_MvEàú¾L¬+A"-C²´ÎÙCY¡\ŽÄwžÊ#@²³¿/BÕû‘µô9nóܶڸ•ì6gû´i¨Ê@K%Ë'¼’`yÈßã±AÎdûÑ@ÂËžŸß8çftȨr`„ßG…ý¥nT:[Àòû"á ÉÿáÂXÑOT­¢xø‘º/¾û¢oXâ«%%@]¯aëú—<MÎ.¯Øgçßèli_¾¦Ï‘x#[¶ U»Û¢ÔìPÝÍò„nʃþ„·òDvj¢ „Á$?ÛT 콫«#r½9¹>=?=YÝœ]h_=WzÖUk ],¾ü¸bU==àôêj¤±½^ ü†á7ì¥Ë<]øS–ÿTkUHèJ…0˜ …ÂU3ã¶^Œö„Cž¸¯Î±7-úñ£„ž l· ݹU¯ó&«‹} ·Ðòºu>›¾J§$„ÛYÝ3`Òq%N[˜…ÓŒ›l D¶ö¶MÅöy½+𦠾Ž|(ÛU¯/O~>]ݬÎ>œ.uÀ‰q$&šÃ¡°kJ›òg¸<ü:{z¿îÓ:ݡףÈâ?àТ,Ú"msŒ§M ÷u•å°!yREÎÚb—W]˪ l\eiœ€»pø’š= 4~Þ·AmWkÂRQU´í» ¬1÷y=õMUôÌ1ëÅS¯b’l=g&R•ξ*Lµ«üfUÙ¦…®É²ÛÝÂY ÉœËò´y6-´Q]¡PHEg! mð)³ºwÓ)ªYšM}Á=º/Ûà´åu…z£«Ó²¹ËëFUpVíö[Dÿx]•vÿsÕ½ÖªçÍùÝÿ±7‹Àólè<®Q¢·Ï³âKÖ ¨ô¢ÑZa¥‡!?xÔ`€  Î7ðœ ç”ùáòôš]\j Å\Y/$„®oÉzUüU*¸´Ë©úÐë=Ó¹—å¾$— (÷4aCØmŸÙ.O)!i«³’/Ð[Ñ%"¬Ÿ>ßÓýNÛd1ì%çà‡>Íæmí²M>Ë”ˆWpß>Ê[QÞU7õ‡âžÒé †|À¡hèx(Ý/÷JHSÕè'šƒ&\ð´)²Í¸€çfªÛY0Þ0æ¡[†òkÊùX55YÛ ܤà®+Õž†‘çõî…ÒMo‰@º=Æšœ M*R÷¨´>;_¶FŠa €´e;ä¦G ŒÛ´iÛ©Ê[W„ìR þ§Ö˜E\Êš‰,¤[¹çÓ­ôåmš=0ë„Ò½X$¢^ŽF šÁ4p>\þ²2þ—'4°j¯Nh+ùQ¥`ô“vö‡>o±¥«ïJáicCŽ*ÀPkaã®Æ²!¤qW¡›C¿*€ž»1ذ¤o kËý&’Êí ¥u4AÖdº£{ ˜1˜Â´m_çZ£¢r‹ 'P³ÐaãúDÑNB?„ VŸR™*!è€&¾n?æº)Û~£ŽBnTpV 5^hê¦FÊ õÓ+›’)Š@¸Yšl‘Ó3h‡|úv¾ÞL“î'š¶—'‡©ÕùµO¢ß’纙uõ;Z±PǸ7å ¯¥Á–Ú¹qSiÂè\›DVX>mÇ•CK TÙJgIÍÐ)羘ŸRqðÍ®‚~ºÍ±Êà•„P(ýhú…Få8§ú?*7^JÒÅW9júTðGyŠK.´)=º_F¡O’È“_“S¶ÀyeN šÂc°X2<”ÌE”´`F1 Úúu\'€Oß¡u‰ÒàVÒ˜]“Nõeœ ¨D¼¬c“ŽW YÂÍ~¤»‚)Å+[éä±G-ÊÑãÒm—Se`èÑ\ dÊžô<åEX;<=V£À'¶ŽŠ5;Dúê=Ùµ-ûº˜Â"F‹±ßÄD;B¤šÁéM Úr$Ãßa”¬R1y»ÿ¼øŽ½j[èC>ß²í7JŠ1opçh%t°ŒF¤yññüükc~qlóE_$V¬ñØ×b ƒSÚ4Å}iÅìòqÃÐët¿x7nÓ >6¨q$5 é}.>|¼^™Æ_Wu‡ÉvxÅT€šÿ~FÒ«Ý›$ËÉëp¡˜ÁTƒ™^ SëÕÊìØ§u[dÝ6K¢€Pﲋª5»R’Ë÷v~ èW=q4£©MW5¶Fœž„a,:™þÕ}Ä‹Ñ~\>&R°ºˆ¬Ýò§ÉÃ{Òi·eç‘ÚèÓ»žÝ!è£ÓÕÁ_ñç¿ 7Ì—endstream endobj 6 0 obj 2893 endobj 14 0 obj <> stream xœ½XÙnãF}×WòÒÔ@ª°Š{ÞÜ=ÎÀ‰·qÓ4ìAS%‰cItHJŽþ!=çV±HJmw'&ðƒm²–»žs.e.Ì¥Ÿöw¾}±E=rÙbôëHè—¬ý•¯Ùû bzÎGf`‘dQâñ8aézääÛjõ°Þ®šâ¡.ó§qúßQèó+ÓÙ(ŽyÄÒ—Ñ£š‡,oŠrsïx÷c¶*iãx*—»nä\d›m¶bǧý'ýiä>bsàÑ9tÛÔ‹=Ælê…zEºTôøûáZÃcîí~³Ù,°ŽÉˆ·¯]clVi„³Ø®Õ¦aMÉš¥by¶Z=fù[f5+7Š•söûN[)qFšŒM¤5vG¹ú¹€‰õ"[mUýƒ¶^D!!›ŠÇú݇ۛó‡ë«óó‡Ë«ËSvï¸ÆOIZrçTj,Š›ç,ŠºQÕЙpß뮚lzÜöYÙ°bƒ] [gø“U*›U׸n¯š6°Q`zͶ³K,Ͳ¢³,B‚]×¾øÂ´Þ>c—Ç¥H’WíººMa˜ü {©ŠFý ËÎ.mÞß`ÛcÙ,Mä²ÍìYz70õæôâjì'<‰ßùD5èÃhÝ‹«·›×íž ¦Ò»c·øà Éµ9„HT¡ž+Ú—Oªó5>ðµy>l`4—Ø#Ѽx‰–F»ùm[ó(J¨µm;5ËØsU´wKèPðØÚSvYwwÂE”ƒH>—º{ؾܬý挄‡²=Fµ·î°§ïB˜&ÖÇJµÖ"òØÚ]QnëÕžÕªa/E³< esÅö¤tfu],z„ìGÀš$éî‰õ5·GŰ©Ì‹i ©.÷ýÄæÿDB/ͨÀÈ‚Ã#s‚€‘g{x1Š,t¿Ïº& Ô‚ìÓ­ÎÎælSv&”}TjC˜°n——𠈬~Ç0ϰlµ"_.oÏÏ9K—”g`yÄ“$䨗۪†Ó8ºí67æ¾e _Æ<„ã6 æž]‘+âƒìùyUäÑIhdHÑX€Ì„:™¡Œ'Mÿi„3Q~—]<•ÆÞ“”t~J`‘è’ƒP´ÜØ“ÀždÒTxhážÚ‚¿9Moo.Ù§±ð mB᜜ߞêªé½òùp‘—3tÉþYMØBmTm×j>¦cÈ| ’IdC—)¦ª ½A;MQR-žÈ#Ÿ,Iÿqç¼Wóí²Ó¼#"ᨪ†/,âýáUB¥ruÔ6‡JLúF‡fXâ¸ÌKlŸh?>œ€/nÏÇÒuÒ³‡ëÓ›¯n. òˆ,ˇLäÇý-“fÀ_Iâ ߃žNÔcV¤+÷l­2 %pÂTð¹uU€œëP8õ²Ü®fZ" è›ýH©6H¸]ô6ÏkíÞQ\ãÆ}·/èm¢oömüðM¾('„ŽxÖ0`ÀiHÑ™,,A©+íñ†äì£2­£e¤¥<ëfz-k5è÷Tûãíå‡ôìêRߌîðLÇ{ýqM±VåöÍcÒ³ 0F{Ê„ªx¡Œ6Ü”ãwhé™ü{’‡u^^†pF…TÝí…»± ô‡j.£áŽ Žô*¤Ê‰y!¯c_x„ÂÅf¡‹·¶j†8XF˜<–¾ývX§jCÆŽÏÙÉlÆTVïÛàÖÆ×áà1›=˜w÷ãUrOÞgè32B£)ëÁJtý&[¨>Mt±ˆ|°^Üu†0)Âwp‡FÜÖðˆfÍ5y†®]*dG­µ£Ú1*h×ëáîM•ÇV%@(vB‰§œcÛSÓ6®0T‚óBÏ; : kFÐ,«r»X’QÕpbИ2!Ì{Üç†=µŒ§ÁÚù ic„S•UžÛ|‰þWGèeÖ1å@Ü´íÑØ?ö]“+ÿ¡Žú±ô bãHˆÆBeña® :À9ŸèÂo{G×þÕmªoð±\óœŒÐö²3iâ¼}gbl±Lxv¤o÷"éœß[.‘!TB(:>kW<ù¸jްÍG{Ù"z3BNµÂoiAg3‚ »¹\ ÁϽäh¥…þZy€»[Ñcq¢Ö©·qöË8¦°I§“L;ºP àQtƒOCI2а³¶jpV Œ>ivÄžüôúGg»b(ÜÐ ,˜zº/Q’¦£ãçÔÌÊñendstream endobj 15 0 obj 2564 endobj 19 0 obj <> stream xœRËnƒ0¼û+öRÙø¶­”KÔªjÂ-©%$¡…QûýèÚò:E•–vÇ3ãÙÝEÔãUd0V°Ü K²%¬mÂñÊ*xŠ-@»B¼ ÝŠƒ2µ¸"^vØ•Iu(›"Ù×Ù—’H¢±ÈxN´Fñ7™zy“¤YSÔë™'f>”Ň{è<¤H©ò^Òõ!-á–í=JTº#¼áqjƒ±±Ñ„Îc ™ÁHC "§NÜ› ‡ðø> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 18 0 obj <> /Contents 19 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R 18 0 R ] /Count 3 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 23 0 obj <> endobj 8 0 obj <> endobj 24 0 obj <> endobj 25 0 obj <>stream 2016-01-27T08:26:11+01:00 2016-01-27T08:26:11+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 26 0000000000 65535 f 0000006692 00000 n 0000008803 00000 n 0000006619 00000 n 0000006135 00000 n 0000000015 00000 n 0000002978 00000 n 0000006757 00000 n 0000007232 00000 n 0000007095 00000 n 0000007027 00000 n 0000006798 00000 n 0000006828 00000 n 0000006295 00000 n 0000002998 00000 n 0000005634 00000 n 0000006878 00000 n 0000006908 00000 n 0000006457 00000 n 0000005655 00000 n 0000006115 00000 n 0000006958 00000 n 0000006988 00000 n 0000007176 00000 n 0000007314 00000 n 0000007380 00000 n trailer << /Size 26 /Root 1 0 R /Info 2 0 R /ID [<222D05A9904AD4AA675F0BB91B285E24><222D05A9904AD4AA675F0BB91B285E24>] >> startxref 8957 %%EOF curl-7.47.0/docs/libcurl/curl_formget.30000644000175000017500000000526312626067776014670 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_formget 3 "20 June 2006" "libcurl 7.15.5" "libcurl Manual" .SH NAME curl_formget - serialize a previously built multipart/formdata HTTP POST chain .SH SYNOPSIS .nf .B #include int curl_formget(struct curl_httppost * form, void *userp, curl_formget_callback append ); .SH DESCRIPTION curl_formget() is used to serialize data previously built/appended with \fIcurl_formadd(3)\fP. Accepts a void pointer as second argument named \fIuserp\fP which will be passed as the first argument to the curl_formget_callback function. .BI "typedef size_t (*curl_formget_callback)(void *" userp, " const char *" buf, .BI " size_t " len ");" The curl_formget_callback will be executed for each part of the HTTP POST chain. The character buffer passed to the callback must not be freed. The callback should return the buffer length passed to it on success. If the \fBCURLFORM_STREAM\fP option is used in the formpost, it will prevent \fIcurl_formget(3)\fP from working until you've performed the actual HTTP request as only then will libcurl get the actual read callback to use! .SH RETURN VALUE 0 means everything was ok, non-zero means an error occurred .SH EXAMPLE .nf size_t print_httppost_callback(void *arg, const char *buf, size_t len) { fwrite(buf, len, 1, stdout); (*(size_t *) arg) += len; return len; } size_t print_httppost(struct curl_httppost *post) { size_t total_size = 0; if(curl_formget(post, &total_size, print_httppost_callback)) { return (size_t) -1; } return total_size; } .SH AVAILABILITY This function was added in libcurl 7.15.5 .SH "SEE ALSO" .BR curl_formadd "(3) " curl-7.47.0/docs/libcurl/libcurl.html0000644000175000017500000003456612652070414014424 00000000000000 libcurl man page

NAME

libcurl - client-side URL transfers

DESCRIPTION

This is a short overview on how to use libcurl in your C programs. There are specific man pages for each function mentioned in here. There are also the libcurl-easy man page, the libcurl-multi man page, the libcurl-share man page and the libcurl-tutorial man page for in-depth understanding on how to program with libcurl.

There are many bindings available that bring libcurl access to your favourite language. Look elsewhere for documentation on those.

libcurl has a global constant environment that you must set up and maintain while using libcurl. This essentially means you call curl_global_init at the start of your program and curl_global_cleanup at the end. See GLOBAL CONSTANTS below for details.

To transfer files, you create an "easy handle" using curl_easy_init for a single individual transfer (in either direction). You then set your desired set of options in that handle with curl_easy_setopt. Options you set with curl_easy_setopt stick. They will be used on every repeated use of this handle until you either change the option, or you reset them all with curl_easy_reset.

To actually transfer data you have the option of using the "easy" interface, or the "multi" interface.

The easy interface is a synchronous interface with which you call curl_easy_perform and let it perform the transfer. When it is completed, the function returns and you can continue. More details are found in the libcurl-easy man page.

The multi interface on the other hand is an asynchronous interface, that you call and that performs only a little piece of the transfer on each invoke. It is perfect if you want to do things while the transfer is in progress, or similar. The multi interface allows you to select() on libcurl action, and even to easily download multiple files simultaneously using a single thread. See further details in the libcurl-multi man page.

You can have multiple easy handles share certain data, even if they are used in different threads. This magic is setup using the share interface, as described in the libcurl-share man page.

There is also a series of other helpful functions to use, including these:

curl_version_info()

gets detailed libcurl (and other used libraries) version info

curl_getdate()

converts a date string to time_t

curl_easy_getinfo()

get information about a performed transfer

curl_formadd()

helps building an HTTP form POST

curl_formfree()

free a list built with curl_formadd

curl_slist_append()

builds a linked list

curl_slist_free_all()

frees a whole curl_slist

LINKING WITH LIBCURL

On unix-like machines, there's a tool named curl-config that gets installed with the rest of the curl stuff when 'make install' is performed.

curl-config is added to make it easier for applications to link with libcurl and developers to learn about libcurl and how to use it.

Run 'curl-config --libs' to get the (additional) linker options you need to link with the particular version of libcurl you've installed. See the curl-config(1) man page for further details.

Unix-like operating system that ship libcurl as part of their distributions often don't provide the curl-config tool, but simply install the library and headers in the common path for this purpose.

Many Linux and similar systems use pkg-config to provide build and link options about libraries and libcurl supports that as well.

LIBCURL SYMBOL NAMES

All public functions in the libcurl interface are prefixed with 'curl_' (with a lowercase c). You can find other functions in the library source code, but other prefixes indicate that the functions are private and may change without further notice in the next release.

Only use documented functions and functionality!

PORTABILITY

libcurl works exactly the same, on any of the platforms it compiles and builds on.

THREADS

libcurl is thread safe but there are a few exceptions. Refer to libcurl-thread for more information.

PERSISTENT CONNECTIONS

Persistent connections means that libcurl can re-use the same connection for several transfers, if the conditions are right.

libcurl will always attempt to use persistent connections. Whenever you use curl_easy_perform or curl_multi_perform etc, libcurl will attempt to use an existing connection to do the transfer, and if none exists it'll open a new one that will be subject for re-use on a possible following call to curl_easy_perform or curl_multi_perform.

To allow libcurl to take full advantage of persistent connections, you should do as many of your file transfers as possible using the same handle.

If you use the easy interface, and you call curl_easy_cleanup, all the possibly open connections held by libcurl will be closed and forgotten.

When you've created a multi handle and are using the multi interface, the connection pool is instead kept in the multi handle so closing and creating new easy handles to do transfers will not affect them. Instead all added easy handles can take advantage of the single shared pool.

GLOBAL CONSTANTS

There are a variety of constants that libcurl uses, mainly through its internal use of other libraries, which are too complicated for the library loader to set up. Therefore, a program must call a library function after the program is loaded and running to finish setting up the library code. For example, when libcurl is built for SSL capability via the GNU TLS library, there is an elaborate tree inside that library that describes the SSL protocol.

curl_global_init is the function that you must call. This may allocate resources (e.g. the memory for the GNU TLS tree mentioned above), so the companion function curl_global_cleanup releases them.

The basic rule for constructing a program that uses libcurl is this: Call curl_global_init, with a CURL_GLOBAL_ALL argument, immediately after the program starts, while it is still only one thread and before it uses libcurl at all. Call curl_global_cleanup immediately before the program exits, when the program is again only one thread and after its last use of libcurl.

You can call both of these multiple times, as long as all calls meet these requirements and the number of calls to each is the same.

It isn't actually required that the functions be called at the beginning and end of the program -- that's just usually the easiest way to do it. It is required that the functions be called when no other thread in the program is running.

These global constant functions are not thread safe, so you must not call them when any other thread in the program is running. It isn't good enough that no other thread is using libcurl at the time, because these functions internally call similar functions of other libraries, and those functions are similarly thread-unsafe. You can't generally know what these libraries are, or whether other threads are using them.

The global constant situation merits special consideration when the code you are writing to use libcurl is not the main program, but rather a modular piece of a program, e.g. another library. As a module, your code doesn't know about other parts of the program -- it doesn't know whether they use libcurl or not. And its code doesn't necessarily run at the start and end of the whole program.

A module like this must have global constant functions of its own, just like curl_global_init and curl_global_cleanup. The module thus has control at the beginning and end of the program and has a place to call the libcurl functions. Note that if multiple modules in the program use libcurl, they all will separately call the libcurl functions, and that's OK because only the first curl_global_init and the last curl_global_cleanup in a program change anything. (libcurl uses a reference count in static memory).

In a C++ module, it is common to deal with the global constant situation by defining a special class that represents the global constant environment of the module. A program always has exactly one object of the class, in static storage. That way, the program automatically calls the constructor of the object as the program starts up and the destructor as it terminates. As the author of this libcurl-using module, you can make the constructor call curl_global_init and the destructor call curl_global_cleanup and satisfy libcurl's requirements without your user having to think about it. (Caveat: If you are initializing libcurl from a Windows DLL you should not initialize it from DllMain or a static initializer because Windows holds the loader lock during that time and it could cause a deadlock.)

curl_global_init has an argument that tells what particular parts of the global constant environment to set up. In order to successfully use any value except CURL_GLOBAL_ALL (which says to set up the whole thing), you must have specific knowledge of internal workings of libcurl and all other parts of the program of which it is part.

A special part of the global constant environment is the identity of the memory allocator. curl_global_init selects the system default memory allocator, but you can use curl_global_init_mem to supply one of your own. However, there is no way to use curl_global_init_mem in a modular program -- all modules in the program that might use libcurl would have to agree on one allocator.

There is a failsafe in libcurl that makes it usable in simple situations without you having to worry about the global constant environment at all: curl_easy_init sets up the environment itself if it hasn't been done yet. The resources it acquires to do so get released by the operating system automatically when the program exits.

This failsafe feature exists mainly for backward compatibility because there was a time when the global functions didn't exist. Because it is sufficient only in the simplest of programs, it is not recommended for any program to rely on it.

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_escape.30000644000175000017500000000407512626067776014465 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_escape 3 "6 March 2002" "libcurl 7.9" "libcurl Manual" .SH NAME curl_escape - URL encodes the given string .SH SYNOPSIS .B #include .sp .BI "char *curl_escape( const char *" url ", int "length " );" .ad .SH DESCRIPTION Obsolete function. Use \fIcurl_easy_escape(3)\fP instead! This function will convert the given input string to an URL encoded string and return that as a new allocated string. All input characters that are not a-z, A-Z or 0-9 will be converted to their "URL escaped" version (%NN where NN is a two-digit hexadecimal number). If the 'length' argument is set to 0, curl_escape() will use strlen() on the input 'url' string to find out the size. You must curl_free() the returned string when you're done with it. .SH AVAILABILITY Since 7.15.4, \fIcurl_easy_escape(3)\fP should be used. This function will be removed in a future release. .SH RETURN VALUE A pointer to a zero terminated string or NULL if it failed. .SH "SEE ALSO" .BR curl_unescape "(3), " curl_free "(3), " RFC 2396 curl-7.47.0/docs/libcurl/curl_multi_remove_handle.html0000644000175000017500000000447412652070414020032 00000000000000 curl_multi_remove_handle man page

NAME

curl_multi_remove_handle - remove an easy handle from a multi session

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *easy_handle);

DESCRIPTION

Removes a given easy_handle from the multi_handle. This will make the specified easy handle be removed from this multi handle's control.

When the easy handle has been removed from a multi stack, it is again perfectly legal to invoke curl_easy_perform on this easy handle.

Removing an easy handle while being used is perfectly legal and will effectively halt the transfer in progress involving that easy handle. All other easy handles and transfers will remain unaffected.

RETURN VALUE

CURLMcode type, general libcurl multi interface error code.

SEE ALSO

curl_multi_cleanup, curl_multi_init, curl_multi_add_handle

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_socket_action.30000644000175000017500000001611012651772171017243 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_socket_action 3 "9 Jul 2006" "libcurl 7.16.0" "libcurl Manual" .SH NAME curl_multi_socket_action \- reads/writes available data given an action .SH SYNOPSIS .nf #include CURLMcode curl_multi_socket_action(CURLM * multi_handle, curl_socket_t sockfd, int ev_bitmask, int *running_handles); .fi .SH DESCRIPTION When the application has detected action on a socket handled by libcurl, it should call \fIcurl_multi_socket_action(3)\fP with the \fBsockfd\fP argument set to the socket with the action. When the events on a socket are known, they can be passed as an events bitmask \fBev_bitmask\fP by first setting \fBev_bitmask\fP to 0, and then adding using bitwise OR (|) any combination of events to be chosen from CURL_CSELECT_IN, CURL_CSELECT_OUT or CURL_CSELECT_ERR. When the events on a socket are unknown, pass 0 instead, and libcurl will test the descriptor internally. It is also permissible to pass CURL_SOCKET_TIMEOUT to the \fBsockfd\fP parameter in order to initiate the whole process or when a timeout occurs. At return, the integer \fBrunning_handles\fP points to will contain the number of running easy handles within the multi handle. When this number reaches zero, all transfers are complete/done. When you call \fIcurl_multi_socket_action(3)\fP on a specific socket and the counter decreases by one, it DOES NOT necessarily mean that this exact socket/transfer is the one that completed. Use \fIcurl_multi_info_read(3)\fP to figure out which easy handle that completed. The \fBcurl_multi_socket_action(3)\fP functions inform the application about updates in the socket (file descriptor) status by doing none, one, or multiple calls to the socket callback function set with the CURLMOPT_SOCKETFUNCTION option to \fIcurl_multi_setopt(3)\fP. They update the status with changes since the previous time the callback was called. Get the timeout time by setting the \fICURLMOPT_TIMERFUNCTION\fP option with \fIcurl_multi_setopt(3)\fP. Your application will then get called with information on how long to wait for socket actions at most before doing the timeout action: call the \fBcurl_multi_socket_action(3)\fP function with the \fBsockfd\fP argument set to CURL_SOCKET_TIMEOUT. You can also use the \fIcurl_multi_timeout(3)\fP function to poll the value at any given time, but for an event-based system using the callback is far better than relying on polling the timeout value. .SH "CALLBACK DETAILS" The socket \fBcallback\fP function uses a prototype like this .nf int curl_socket_callback(CURL *easy, /* easy handle */ curl_socket_t s, /* socket */ int action, /* see values below */ void *userp, /* private callback pointer */ void *socketp); /* private socket pointer, \fBNULL\fP if not previously assigned with \fBcurl_multi_assign(3)\fP */ .fi The callback MUST return 0. The \fIeasy\fP argument is a pointer to the easy handle that deals with this particular socket. Note that a single handle may work with several sockets simultaneously. The \fIs\fP argument is the actual socket value as you use it within your system. The \fIaction\fP argument to the callback has one of five values: .RS .IP "CURL_POLL_NONE (0)" register, not interested in readiness (yet) .IP "CURL_POLL_IN (1)" register, interested in read readiness .IP "CURL_POLL_OUT (2)" register, interested in write readiness .IP "CURL_POLL_INOUT (3)" register, interested in both read and write readiness .IP "CURL_POLL_REMOVE (4)" unregister .RE The \fIsocketp\fP argument is a private pointer you have previously set with \fIcurl_multi_assign(3)\fP to be associated with the \fIs\fP socket. If no pointer has been set, socketp will be NULL. This argument is of course a service to applications that want to keep certain data or structs that are strictly associated to the given socket. The \fIuserp\fP argument is a private pointer you have previously set with \fIcurl_multi_setopt(3)\fP and the CURLMOPT_SOCKETDATA option. .SH "RETURN VALUE" CURLMcode type, general libcurl multi interface error code. Before version 7.20.0: If you receive \fICURLM_CALL_MULTI_PERFORM\fP, this basically means that you should call \fIcurl_multi_socket_action(3)\fP again before you wait for more actions on libcurl's sockets. You don't have to do it immediately, but the return code means that libcurl may have more data available to return or that there may be more data to send off before it is "satisfied". The return code from this function is for the whole multi stack. Problems still might have occurred on individual transfers even when one of these functions return OK. .SH "TYPICAL USAGE" 1. Create a multi handle 2. Set the socket callback with CURLMOPT_SOCKETFUNCTION 3. Set the timeout callback with CURLMOPT_TIMERFUNCTION, to get to know what timeout value to use when waiting for socket activities. 4. Add easy handles with curl_multi_add_handle() 5. Provide some means to manage the sockets libcurl is using, so you can check them for activity. This can be done through your application code, or by way of an external library such as libevent or glib. 6. Call curl_multi_socket_action(..., CURL_SOCKET_TIMEOUT, 0, ...) to kickstart everything. To get one or more callbacks called. 7. Wait for activity on any of libcurl's sockets, use the timeout value your callback has been told. 8, When activity is detected, call curl_multi_socket_action() for the socket(s) that got action. If no activity is detected and the timeout expires, call \fIcurl_multi_socket_action(3)\fP with \fICURL_SOCKET_TIMEOUT\fP. .SH AVAILABILITY This function was added in libcurl 7.15.4, and is deemed stable since 7.16.0. .SH "SEE ALSO" .BR curl_multi_cleanup "(3), " curl_multi_init "(3), " .BR curl_multi_fdset "(3), " curl_multi_info_read "(3), " .BR "the hiperfifo.c example" curl-7.47.0/docs/libcurl/curl_version.html0000644000175000017500000000351012652070414015463 00000000000000 curl_version man page

NAME

curl_version - returns the libcurl version string

SYNOPSIS

#include <curl/curl.h>

char *curl_version( );

DESCRIPTION

Returns a human readable string with the version number of libcurl and some of its important components (like OpenSSL version).

We recommend using curl_version_info instead!

RETURN VALUE

A pointer to a zero terminated string. The string resides in a statically allocated buffer and must not be freed by the caller.

SEE ALSO

curl_version_info

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_assign.30000644000175000017500000000561612626067776015725 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_assign 3 "9 Jul 2006" "libcurl 7.16.0" "libcurl Manual" .SH NAME curl_multi_assign \- set data to associate with an internal socket .SH SYNOPSIS #include CURLMcode curl_multi_assign(CURLM *multi_handle, curl_socket_t sockfd, void *sockptr); .SH DESCRIPTION This function creates an association in the multi handle between the given socket and a private pointer of the application. This is designed for \fIcurl_multi_socket_action(3)\fP uses. When set, the \fIsockptr\fP pointer will be passed to all future socket callbacks for the specific \fIsockfd\fP socket. If the given \fIsockfd\fP isn't already in use by libcurl, this function will return an error. libcurl only keeps one single pointer associated with a socket, so calling this function several times for the same socket will make the last set pointer get used. The idea here being that this association (socket to private pointer) is something that just about every application that uses this API will need and then libcurl can just as well do it since it already has an internal hash table lookup for this. .SH "RETURN VALUE" The standard CURLMcode for multi interface error codes. .SH "TYPICAL USAGE" In a typical application you allocate a struct or at least use some kind of semi-dynamic data for each socket that we must wait for action on when using the \fIcurl_multi_socket_action(3)\fP approach. When our socket-callback gets called by libcurl and we get to know about yet another socket to wait for, we can use \fIcurl_multi_assign(3)\fP to point out the particular data so that when we get updates about this same socket again, we don't have to find the struct associated with this socket by ourselves. .SH AVAILABILITY This function was added in libcurl 7.15.5. .SH "SEE ALSO" .BR curl_multi_setopt "(3), " curl_multi_socket_action "(3) " curl-7.47.0/docs/libcurl/curl_multi_info_read.html0000644000175000017500000001113512652070414017140 00000000000000 curl_multi_info_read man page

NAME

curl_multi_info_read - read multi stack informationals

SYNOPSIS

#include <curl/curl.h>

CURLMsg *curl_multi_info_read( CURLM *multi_handle,   int *msgs_in_queue);

DESCRIPTION

Ask the multi handle if there are any messages/informationals from the individual transfers. Messages may include informationals such as an 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 NULL is returned as a signal that there is no more to get at this point. The integer pointed to with msgs_in_queue will contain the number of remaining messages after this function was called.

When you fetch a message using this function, it is removed from the internal queue so calling this function again will not return the same message again. It will instead return new messages at each new invoke until the queue is emptied.

WARNING: The data the returned pointer points to will not survive calling curl_multi_cleanup, curl_multi_remove_handle or curl_easy_cleanup.

The 'CURLMsg' struct is very simple and only contains very basic information. If more involved information is wanted, the particular "easy handle" is present in that struct and can be used in subsequent regular curl_easy_getinfo calls (or similar):

 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;
 };

When msg is CURLMSG_DONE, the message identifies a transfer that is done, and then result contains the return code for the easy handle that just completed.

At this point, there are no other msg types defined.

EXAMPLE

struct CURLMsg *m;
 
/* call curl_multi_perform or curl_multi_socket_action first, then loop
   through and check if there are any transfers that have completed */
 
do {
  int msgq = 0;
  m = curl_multi_info_read(multi_handle, &msgq);
  if(m && (m->msg == CURLMSG_DONE)) {
    CURL *e = m->easy_handle;
    transfers--;
    curl_multi_remove_handle(multi_handle, e);
    curl_easy_cleanup(e);
  }
} while(m);

RETURN VALUE

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.

SEE ALSO

curl_multi_cleanup, curl_multi_init, curl_multi_perform

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_init.30000644000175000017500000000336612626067776015404 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_init 3 "1 March 2002" "libcurl 7.9.5" "libcurl Manual" .SH NAME curl_multi_init - create a multi handle .SH SYNOPSIS .B #include .sp .BI "CURLM *curl_multi_init( );" .ad .SH DESCRIPTION This function returns a CURLM handle to be used as input to all the other multi-functions, sometimes referred to as a multi handle in some places in the documentation. This init call MUST have a corresponding call to \fIcurl_multi_cleanup(3)\fP when the operation is complete. .SH RETURN VALUE If this function returns NULL, something went wrong and you cannot use the other curl functions. .SH "SEE ALSO" .BR curl_multi_cleanup "(3)," curl_global_init "(3)," curl_easy_init "(3)" curl-7.47.0/docs/libcurl/curl_easy_pause.pdf0000644000175000017500000001631512652070423015750 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµXkoãÆýî_1@?,UX³œá;- x½JàÖk;¶¼A°. šˬ)R!©UÜßÐsg†/Ùm …[‡3÷qî¹çÎOÌ傹ôcÿf›£÷×[7G.[ýt$ôCfÿdöa‰1}±|<2ïI%¶Ü és±åþè‹“íêâ^¥ÍËý6Ý5êÎñîf¬ÈèûÙ\.wÝÈù”–»´`o-žýsù÷£¹Ë¥ÀÞŽNp4O:Ý Ùòüȹ8™½ƒµx*$,Z®ŽœO‹Ùò_#[¥Ë}7bs!é±KöšÇæÌüMËÛ•ö3˪²TY›W¥ÙqdÂ6ÌEÈc}äÍ—W7g7Ã2k¦=ÔùS^fÅn¥Ø_éä÷ô‹?ý–K_ûrz{}žUXð*ô„ýž¾¿nþ á‘oý}‚Ñ…Ò{ñ`ˆ•v=âݪãœVèhE<Š]7¶ÊÖX=l.xºÒ>~ÈÛMÚ<xæs»Â.¹›ýåu|d„à 2¶1ú¸¸9½>»Zž]^Ló3„Ip7”:?·M^®Yû”7ìqWê³—jDz´dÚW!.c½'ô{?o‹<ËÛâ…mÒú)¬weI[ ©dmÅÖª5 _ë”w;÷©§æöˆ1pìÑFOiËö3á:iöµšÉÀùšW»ǛݹF±ÇeRà“¬G¬@‰±ßå-€ýÃæd΃²û°‡¶{VÕô¤Pmkž)V«tE_Óç}·TZiöÜàY»«Éleܳ& Á÷mĶ®¶ªF×yÖ½¤±y缂 L, ¨÷׋“ßÞ^œÞ_é3\ƒÈDò$N:ÄÜöP’Ç^¤›ƒÊ……¡ïwO‘¨Ãã#žD^<>ÿ‡ë³åâ Æ°¿ÝÁá¢ìQæù:@w3ÎNFá룼¤&ã/<”Ì}ÌÆ’M“¯Ë´h”.°cÖ/feÞ"ä»bU¾£½=.h¯ l+:kÛ¶w#æa,ÝŽÓçÉK ÷¼$îˆ@ecçݾÐÓZ±êå0y× ¹;„øe5¼KKDҽܦ V#¦ ´+úvŸ… xXzS†Ûå+Uä6]Bç˹ßÞùªúcOï˧Fm¤ëûÂsÒ¼ì¢ÙÁží錮¨LP@EÚà¶Úm•΃€£KSòüÈäú‡§¼P”ŽMú•*X«6[Ú蘵&Ð7-¦xF\†oÄYð8ð’Q )FeÕæ™2¡²„¯´áeþXW¼RÁ ªlªqΖúè8°»ôT:†>¬ ´ö8ô…qÅúkˆT»¢Ð¡Mî&¡èØÈ†~N7Û„’" Í H‚ Öµjš!ȯ™!’šOlž¨6/¯–÷W×3ŸZ;—ß]/nn¨T©% =T}èr®ß7™cë]‘!¦8Ú?åÙ±º1‰@тӦeU‰5 Ô ¾W  ´)7™àÌvѤ•ùLú OÏylµ¡&µhoITÂÝ@áyÓ·:Rºèš#„%¡g¦:NxÞû4wM‰Òn`GÇ ëÃ1,|Ê×Oˆ¨Üt{Ã?õA0m“ä†A戨 ,Sqô+«P–hïFžƒ8å+2jìø…žF<¢ B¤i«ëÝF•-ùóÕp8_á«üñ¥ëmæ ã+u(1–›â…]‡]0ót–‚¨Chë6øRNTõt “õ–·‘ŒÅ[¢¨w7ã÷KÞt7Œb}Úàm \¶ä3¶lŒkÒŸ+•¥bz‹D.ª´ç¾è…ÔX”tHmÚqþ¬Š¢"²§ ê3Ð0¡‘´Š?ÈVï76ZéZz…ÈPcÕe‚${S;+Æ‚¡çß, N?OjoŽëºJG=@\ÏÄT@¦P†¥¨ÅhÏ` }4“²2Ǭ¶c„­ö8@òÊ=¢3^ü qBG—qL¹/x‰|Äps¨fFÐÛ¯‡äÝײ!s0½‹è—{c”$®ƒÔÍöyûTíZ³'òEè ‡wÍñï5#~º; ‰h¸WIõj¤ùnhˆA¹=ÿî'©íÅ+4ë»ÉÛ¤ ‚N¢<Œ›à(p†…½DF½Ä¶Œdèr2`ØYA÷;qw³¸øø»q'Ï„1 çäüvq ç†Aß…h²¼NYÜ_þ`ý·ª«»Û¨´´­ ]muÑìgÈ ¶©gš)µx±#¶—xÝ€äý¥ÇPܰÞódÜÕwœ˜Ù :]Ÿû]ªvß”tMÀà3„/]Ú¿æí‹AEèuwA£‹:|/:¾ÎŸÇ/G—xêÛ1‡ÃÆÙùâ›÷ï¹¥Ïô?ß xØPβ‘„;V"qd”ˆ‘àUwo±Ã°•öÁ3Íß‹Ló‡Pî4êºtôH‹À)Ó©óûQwi`O*_ØèŽ!æR†r°Æ^.wÜtlÚp¦­B– µiXnÇýQ6«±Ø¥ûúƳÌ%ª+žöÚe_ã•A¿ºŠž`Ø"ïž|f'½ÒÏAgç'ÎÎÏ–?\5¡bý8nãD¨½dÇÚA÷Ý0€†ìîÅhehâvHW+ð|³%Ï"¨.îröa4å} =JHÐ×ql¨ÑØ‚v‚²QzMQö^©ßn«ºÕ,`ëÈD°3©/ù®²1H%×;5p6ûŽˆØG•1‰úÒûaWÿ‚6Z,¾ÇÏ/™endstream endobj 6 0 obj 2519 endobj 14 0 obj <> stream xœ…WÛrÛ6}×Wì[¨Ž…¼ãÑIÕÆ­]Omz2¤ãIHbÍ‹ÊKýC?º»HŠIf:z{=ç,ô¸ŒƒKûU«bØw+ö«V\o‚ýÊ*x›â -¤»•9Ã!ö >K¤ÕŠ{ã1¤§ÕG'ÚòYÉîü|”C§>9þ§5”Å ­¯7^è2×;Y²„ï½¼þ+ý tÈDH>ýÒ[Œí§?|tž¯×aÀDì ç—-|¸IßCú~ wO·kÁq '½Ù<Þ¿ûm›ÂÍïéöágmtã²Èõ ÍVž—`”Kš¯œëwëôo²Ÿ­xÈOæÔ!…òùŒE¥š¡ÇŠ=6N§Ûd?2ž¬,:…¨Ï×oV”äí+‹ºo4vC?´H–®1ç%|]<EÌó£™dž¶A…ÑñÉÆ¼{z¸}6øœÞÜmïŸR,Y&kxÑÊ¡¨*•Ã0ktY$.vPîT§µ`Bx*N›w€ñI—¬mt™ök,6êFèH¬'êS®º¢U9ûVØ7Úc„„#4Ümïî´6²ØOiÒž‹¸>Í OXˆFßèt„XBižåÏ5:ýynh«d/güƲ״F Ur_dv ÑŒ‚µk› _?µE¯4 _döªµØ˜Èe/eZ–ôx&±Á€‹¥7Ø4ŸLL’i¼tÅ¥ròh¤·E­©\‹fe„8ÑØÑšfõHж #à(Ôz: Þ¦9 ŸƒµköÄ >c ùC;ÃÙ[óz)6Áx’æ§ž:¢Oâb kÓd›Ü„- QüOØ`d|,§fb÷5Æ©h\ì3At‰WÇ´u10™Æ“å»G0wˆ3qòfW”@îœê²Áá473kªc«:b ²XGÔ½jï\àugšrÞ8ŒðEK t~qxè› %™psœvä”2¡uz5ÝtnÖü^×ó-;vp*ò5ûÑÙ(Üiç¤âdN*; õ«É£7ò•Éì`F±Nø2d)Õð ;“®U«Ä‹ÆòékB‘« ¨v&";™õF¶Šœ›Ñç9JG2 Vâ…6B¶RØ3Ý9:»¬<”MEA“rá"*¡†|63¯@ª=Ý|P\GÎÞ¤d‹iOÕ µwGV ¢¯Jã ‹‰²8£Ÿ;¹ë`\LI„ ÞŒwG>èÉÑXà|hGÑ@¶Eîdý§ju=8mó"õàlj*qkõ9`>_½niòö¾8‘Ç”Ÿ²1rjð™[*ž.n´oÉh‡ßZ:üŠ×µÜõœïi: 6 ã ]ÜnáúöñÞˆ´°"=›‹¿ Y©ðÁq)çñB4õè¿ZÚBWÝìm³=]ÕüÀQêm°£]¼>ž2vM­EÌðÚ» üÕN[œo²õ†‡A8ø—ç'•^¶cm:ˆ|kÌ#CÛtõ~þ&=¹•endstream endobj 15 0 obj 1612 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:11+01:00 2016-01-27T08:26:11+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000004717 00000 n 0000006666 00000 n 0000004651 00000 n 0000004329 00000 n 0000000015 00000 n 0000002604 00000 n 0000004782 00000 n 0000005105 00000 n 0000005040 00000 n 0000004972 00000 n 0000004823 00000 n 0000004853 00000 n 0000004489 00000 n 0000002624 00000 n 0000004308 00000 n 0000004903 00000 n 0000004933 00000 n 0000005187 00000 n 0000005243 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<4A9CD1B11F8F2206E65AAC06792F52AA><4A9CD1B11F8F2206E65AAC06792F52AA>] >> startxref 6820 %%EOF curl-7.47.0/docs/libcurl/curl_multi_cleanup.html0000644000175000017500000000474312652070414016650 00000000000000 curl_multi_cleanup man page

NAME

curl_multi_cleanup - close down a multi session

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_cleanup( CURLM *multi_handle );

DESCRIPTION

Cleans up and removes a whole multi stack. It does not free or touch any individual easy handles in any way - they still need to be closed individually, using the usual curl_easy_cleanup way. The order of cleaning up should be:

1 - curl_multi_remove_handle before any easy handles are cleaned up

2 - curl_easy_cleanup can now be called independently since the easy handle is no longer connected to the multi handle

3 - curl_multi_cleanup should be called when all easy handles are removed

RETURN VALUE

CURLMcode type, general libcurl multi interface error code. On success, CURLM_OK is returned.

SEE ALSO

curl_multi_init, curl_easy_cleanup, curl_easy_init

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_formfree.30000644000175000017500000000356212626067776015032 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_formfree 3 "6 April 2001" "libcurl 7.7.1" "libcurl Manual" .SH NAME curl_formfree - free a previously build multipart/formdata HTTP POST chain .SH SYNOPSIS .B #include .sp .BI "void curl_formfree(struct curl_httppost *" form); .ad .SH DESCRIPTION curl_formfree() is used to clean up data previously built/appended with \fIcurl_formadd(3)\fP. This must be called when the data has been used, which typically means after \fIcurl_easy_perform(3)\fP has been called. The pointer to free is the same pointer you passed to the \fBCURLOPT_HTTPPOST(3)\fP option, which is the \fIfirstitem\fP pointer from the \fIcurl_formadd(3)\fP invoke(s). \fBform\fP is the pointer as returned from a previous call to \fIcurl_formadd(3)\fP and may be NULL. .SH RETURN VALUE None .SH "SEE ALSO" .BR curl_formadd "(3) " curl-7.47.0/docs/libcurl/libcurl-symbols.30000644000175000017500000011273112652070414015277 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH libcurl-symbols 3 "jan 27, 2016" "libcurl 7.41.0" "libcurl symbols" .SH NAME libcurl-symbols \- libcurl symbol version information .SH "libcurl symbols" This man page details version information for public symbols provided in the libcurl header files. This lists the first version in which the symbol was introduced and for some symbols two additional information pieces: The first version in which the symbol is marked "deprecated" - meaning that since that version no new code should be written to use the symbol as it is marked for getting removed in a future. The last version that featured the specific symbol. Using the symbol in source code will make it no longer compile error-free after that specified version. This man page is automatically generated from the symbols-in-versions file. .IP CURLAUTH_ANY Introduced in 7.10.6 .IP CURLAUTH_ANYSAFE Introduced in 7.10.6 .IP CURLAUTH_BASIC Introduced in 7.10.6 .IP CURLAUTH_DIGEST Introduced in 7.10.6 .IP CURLAUTH_DIGEST_IE Introduced in 7.19.3 .IP CURLAUTH_GSSNEGOTIATE Introduced in 7.10.6 Deprecated since 7.38.0 .IP CURLAUTH_NEGOTIATE Introduced in 7.38.0 .IP CURLAUTH_NONE Introduced in 7.10.6 .IP CURLAUTH_NTLM Introduced in 7.10.6 .IP CURLAUTH_NTLM_WB Introduced in 7.22.0 .IP CURLAUTH_ONLY Introduced in 7.21.3 .IP CURLCLOSEPOLICY_CALLBACK Introduced in 7.7 .IP CURLCLOSEPOLICY_LEAST_RECENTLY_USED Introduced in 7.7 .IP CURLCLOSEPOLICY_LEAST_TRAFFIC Introduced in 7.7 .IP CURLCLOSEPOLICY_NONE Introduced in 7.7 .IP CURLCLOSEPOLICY_OLDEST Introduced in 7.7 .IP CURLCLOSEPOLICY_SLOWEST Introduced in 7.7 .IP CURLE_ABORTED_BY_CALLBACK Introduced in 7.1 .IP CURLE_AGAIN Introduced in 7.18.2 .IP CURLE_ALREADY_COMPLETE Introduced in 7.7.2 .IP CURLE_BAD_CALLING_ORDER Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_BAD_CONTENT_ENCODING Introduced in 7.10 .IP CURLE_BAD_DOWNLOAD_RESUME Introduced in 7.10 .IP CURLE_BAD_FUNCTION_ARGUMENT Introduced in 7.1 .IP CURLE_BAD_PASSWORD_ENTERED Introduced in 7.4.2 Deprecated since 7.17.0 .IP CURLE_CHUNK_FAILED Introduced in 7.21.0 .IP CURLE_CONV_FAILED Introduced in 7.15.4 .IP CURLE_CONV_REQD Introduced in 7.15.4 .IP CURLE_COULDNT_CONNECT Introduced in 7.1 .IP CURLE_COULDNT_RESOLVE_HOST Introduced in 7.1 .IP CURLE_COULDNT_RESOLVE_PROXY Introduced in 7.1 .IP CURLE_FAILED_INIT Introduced in 7.1 .IP CURLE_FILESIZE_EXCEEDED Introduced in 7.10.8 .IP CURLE_FILE_COULDNT_READ_FILE Introduced in 7.1 .IP CURLE_FTP_ACCEPT_FAILED Introduced in 7.24.0 .IP CURLE_FTP_ACCEPT_TIMEOUT Introduced in 7.24.0 .IP CURLE_FTP_ACCESS_DENIED Introduced in 7.1 .IP CURLE_FTP_BAD_DOWNLOAD_RESUME Introduced in 7.1 Deprecated since 7.1 .IP CURLE_FTP_BAD_FILE_LIST Introduced in 7.21.0 .IP CURLE_FTP_CANT_GET_HOST Introduced in 7.1 .IP CURLE_FTP_CANT_RECONNECT Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FTP_COULDNT_GET_SIZE Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FTP_COULDNT_RETR_FILE Introduced in 7.1 .IP CURLE_FTP_COULDNT_SET_ASCII Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FTP_COULDNT_SET_BINARY Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FTP_COULDNT_SET_TYPE Introduced in 7.17.0 .IP CURLE_FTP_COULDNT_STOR_FILE Introduced in 7.1 .IP CURLE_FTP_COULDNT_USE_REST Introduced in 7.1 .IP CURLE_FTP_PARTIAL_FILE Introduced in 7.1 Deprecated since 7.1 .IP CURLE_FTP_PORT_FAILED Introduced in 7.1 .IP CURLE_FTP_PRET_FAILED Introduced in 7.20.0 .IP CURLE_FTP_QUOTE_ERROR Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FTP_SSL_FAILED Introduced in 7.11.0 Deprecated since 7.17.0 .IP CURLE_FTP_USER_PASSWORD_INCORRECT Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FTP_WEIRD_227_FORMAT Introduced in 7.1 .IP CURLE_FTP_WEIRD_PASS_REPLY Introduced in 7.1 .IP CURLE_FTP_WEIRD_PASV_REPLY Introduced in 7.1 .IP CURLE_FTP_WEIRD_SERVER_REPLY Introduced in 7.1 .IP CURLE_FTP_WEIRD_USER_REPLY Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FTP_WRITE_ERROR Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_FUNCTION_NOT_FOUND Introduced in 7.1 .IP CURLE_GOT_NOTHING Introduced in 7.9.1 .IP CURLE_HTTP2 Introduced in 7.38.0 .IP CURLE_HTTP_NOT_FOUND Introduced in 7.1 .IP CURLE_HTTP_PORT_FAILED Introduced in 7.3 Deprecated since 7.12.0 .IP CURLE_HTTP_POST_ERROR Introduced in 7.1 .IP CURLE_HTTP_RANGE_ERROR Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_HTTP_RETURNED_ERROR Introduced in 7.10.3 .IP CURLE_INTERFACE_FAILED Introduced in 7.12.0 .IP CURLE_LDAP_CANNOT_BIND Introduced in 7.1 .IP CURLE_LDAP_INVALID_URL Introduced in 7.10.8 .IP CURLE_LDAP_SEARCH_FAILED Introduced in 7.1 .IP CURLE_LIBRARY_NOT_FOUND Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_LOGIN_DENIED Introduced in 7.13.1 .IP CURLE_MALFORMAT_USER Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_NOT_BUILT_IN Introduced in 7.21.5 .IP CURLE_NO_CONNECTION_AVAILABLE Introduced in 7.30.0 .IP CURLE_OK Introduced in 7.1 .IP CURLE_OPERATION_TIMEDOUT Introduced in 7.10.2 .IP CURLE_OPERATION_TIMEOUTED Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_OUT_OF_MEMORY Introduced in 7.1 .IP CURLE_PARTIAL_FILE Introduced in 7.1 .IP CURLE_PEER_FAILED_VERIFICATION Introduced in 7.17.1 .IP CURLE_QUOTE_ERROR Introduced in 7.17.0 .IP CURLE_RANGE_ERROR Introduced in 7.17.0 .IP CURLE_READ_ERROR Introduced in 7.1 .IP CURLE_RECV_ERROR Introduced in 7.10 .IP CURLE_REMOTE_ACCESS_DENIED Introduced in 7.17.0 .IP CURLE_REMOTE_DISK_FULL Introduced in 7.17.0 .IP CURLE_REMOTE_FILE_EXISTS Introduced in 7.17.0 .IP CURLE_REMOTE_FILE_NOT_FOUND Introduced in 7.16.1 .IP CURLE_RTSP_CSEQ_ERROR Introduced in 7.20.0 .IP CURLE_RTSP_SESSION_ERROR Introduced in 7.20.0 .IP CURLE_SEND_ERROR Introduced in 7.10 .IP CURLE_SEND_FAIL_REWIND Introduced in 7.12.3 .IP CURLE_SHARE_IN_USE Introduced in 7.9.6 Deprecated since 7.17.0 .IP CURLE_SSH Introduced in 7.16.1 .IP CURLE_SSL_CACERT Introduced in 7.10 .IP CURLE_SSL_CACERT_BADFILE Introduced in 7.16.0 .IP CURLE_SSL_CERTPROBLEM Introduced in 7.10 .IP CURLE_SSL_CIPHER Introduced in 7.10 .IP CURLE_SSL_CONNECT_ERROR Introduced in 7.1 .IP CURLE_SSL_CRL_BADFILE Introduced in 7.19.0 .IP CURLE_SSL_ENGINE_INITFAILED Introduced in 7.12.3 .IP CURLE_SSL_ENGINE_NOTFOUND Introduced in 7.9.3 .IP CURLE_SSL_ENGINE_SETFAILED Introduced in 7.9.3 .IP CURLE_SSL_INVALIDCERTSTATUS Introduced in 7.41.0 .IP CURLE_SSL_ISSUER_ERROR Introduced in 7.19.0 .IP CURLE_SSL_PEER_CERTIFICATE Introduced in 7.8 Deprecated since 7.17.1 .IP CURLE_SSL_PINNEDPUBKEYNOTMATCH Introduced in 7.39.0 .IP CURLE_SSL_SHUTDOWN_FAILED Introduced in 7.16.1 .IP CURLE_TELNET_OPTION_SYNTAX Introduced in 7.7 .IP CURLE_TFTP_DISKFULL Introduced in 7.15.0 Deprecated since 7.17.0 .IP CURLE_TFTP_EXISTS Introduced in 7.15.0 Deprecated since 7.17.0 .IP CURLE_TFTP_ILLEGAL Introduced in 7.15.0 .IP CURLE_TFTP_NOSUCHUSER Introduced in 7.15.0 .IP CURLE_TFTP_NOTFOUND Introduced in 7.15.0 .IP CURLE_TFTP_PERM Introduced in 7.15.0 .IP CURLE_TFTP_UNKNOWNID Introduced in 7.15.0 .IP CURLE_TOO_MANY_REDIRECTS Introduced in 7.5 .IP CURLE_UNKNOWN_OPTION Introduced in 7.21.5 .IP CURLE_UNKNOWN_TELNET_OPTION Introduced in 7.7 .IP CURLE_UNSUPPORTED_PROTOCOL Introduced in 7.1 .IP CURLE_UPLOAD_FAILED Introduced in 7.16.3 .IP CURLE_URL_MALFORMAT Introduced in 7.1 .IP CURLE_URL_MALFORMAT_USER Introduced in 7.1 Deprecated since 7.17.0 .IP CURLE_USE_SSL_FAILED Introduced in 7.17.0 .IP CURLE_WRITE_ERROR Introduced in 7.1 .IP CURLFILETYPE_DEVICE_BLOCK Introduced in 7.21.0 .IP CURLFILETYPE_DEVICE_CHAR Introduced in 7.21.0 .IP CURLFILETYPE_DIRECTORY Introduced in 7.21.0 .IP CURLFILETYPE_DOOR Introduced in 7.21.0 .IP CURLFILETYPE_FILE Introduced in 7.21.0 .IP CURLFILETYPE_NAMEDPIPE Introduced in 7.21.0 .IP CURLFILETYPE_SOCKET Introduced in 7.21.0 .IP CURLFILETYPE_SYMLINK Introduced in 7.21.0 .IP CURLFILETYPE_UNKNOWN Introduced in 7.21.0 .IP CURLFINFOFLAG_KNOWN_FILENAME Introduced in 7.21.0 .IP CURLFINFOFLAG_KNOWN_FILETYPE Introduced in 7.21.0 .IP CURLFINFOFLAG_KNOWN_GID Introduced in 7.21.0 .IP CURLFINFOFLAG_KNOWN_HLINKCOUNT Introduced in 7.21.0 .IP CURLFINFOFLAG_KNOWN_PERM Introduced in 7.21.0 .IP CURLFINFOFLAG_KNOWN_SIZE Introduced in 7.21.0 .IP CURLFINFOFLAG_KNOWN_TIME Introduced in 7.21.0 .IP CURLFINFOFLAG_KNOWN_UID Introduced in 7.21.0 .IP CURLFORM_ARRAY Introduced in 7.9.1 .IP CURLFORM_ARRAY_END Introduced in 7.9.1 Deprecated since 7.9.5 Last used in 7.9.5 .IP CURLFORM_ARRAY_START Introduced in 7.9.1 Deprecated since 7.9.5 Last used in 7.9.5 .IP CURLFORM_BUFFER Introduced in 7.9.8 .IP CURLFORM_BUFFERLENGTH Introduced in 7.9.8 .IP CURLFORM_BUFFERPTR Introduced in 7.9.8 .IP CURLFORM_CONTENTHEADER Introduced in 7.9.3 .IP CURLFORM_CONTENTLEN Introduced in 7.46.0 .IP CURLFORM_CONTENTSLENGTH Introduced in 7.9 .IP CURLFORM_CONTENTTYPE Introduced in 7.9 .IP CURLFORM_COPYCONTENTS Introduced in 7.9 .IP CURLFORM_COPYNAME Introduced in 7.9 .IP CURLFORM_END Introduced in 7.9 .IP CURLFORM_FILE Introduced in 7.9 .IP CURLFORM_FILECONTENT Introduced in 7.9.1 .IP CURLFORM_FILENAME Introduced in 7.9.6 .IP CURLFORM_NAMELENGTH Introduced in 7.9 .IP CURLFORM_NOTHING Introduced in 7.9 .IP CURLFORM_PTRCONTENTS Introduced in 7.9 .IP CURLFORM_PTRNAME Introduced in 7.9 .IP CURLFORM_STREAM Introduced in 7.18.2 .IP CURLFTPAUTH_DEFAULT Introduced in 7.12.2 .IP CURLFTPAUTH_SSL Introduced in 7.12.2 .IP CURLFTPAUTH_TLS Introduced in 7.12.2 .IP CURLFTPMETHOD_DEFAULT Introduced in 7.15.3 .IP CURLFTPMETHOD_MULTICWD Introduced in 7.15.3 .IP CURLFTPMETHOD_NOCWD Introduced in 7.15.3 .IP CURLFTPMETHOD_SINGLECWD Introduced in 7.15.3 .IP CURLFTPSSL_ALL Introduced in 7.11.0 Deprecated since 7.17.0 .IP CURLFTPSSL_CCC_ACTIVE Introduced in 7.16.2 .IP CURLFTPSSL_CCC_NONE Introduced in 7.16.2 .IP CURLFTPSSL_CCC_PASSIVE Introduced in 7.16.1 .IP CURLFTPSSL_CONTROL Introduced in 7.11.0 Deprecated since 7.17.0 .IP CURLFTPSSL_NONE Introduced in 7.11.0 Deprecated since 7.17.0 .IP CURLFTPSSL_TRY Introduced in 7.11.0 Deprecated since 7.17.0 .IP CURLFTP_CREATE_DIR Introduced in 7.19.4 .IP CURLFTP_CREATE_DIR_NONE Introduced in 7.19.4 .IP CURLFTP_CREATE_DIR_RETRY Introduced in 7.19.4 .IP CURLGSSAPI_DELEGATION_FLAG Introduced in 7.22.0 .IP CURLGSSAPI_DELEGATION_NONE Introduced in 7.22.0 .IP CURLGSSAPI_DELEGATION_POLICY_FLAG Introduced in 7.22.0 .IP CURLHEADER_SEPARATE Introduced in 7.37.0 .IP CURLHEADER_UNIFIED Introduced in 7.37.0 .IP CURLINFO_ACTIVESOCKET Introduced in 7.45.0 .IP CURLINFO_APPCONNECT_TIME Introduced in 7.19.0 .IP CURLINFO_CERTINFO Introduced in 7.19.1 .IP CURLINFO_CONDITION_UNMET Introduced in 7.19.4 .IP CURLINFO_CONNECT_TIME Introduced in 7.4.1 .IP CURLINFO_CONTENT_LENGTH_DOWNLOAD Introduced in 7.6.1 .IP CURLINFO_CONTENT_LENGTH_UPLOAD Introduced in 7.6.1 .IP CURLINFO_CONTENT_TYPE Introduced in 7.9.4 .IP CURLINFO_COOKIELIST Introduced in 7.14.1 .IP CURLINFO_DATA_IN Introduced in 7.9.6 .IP CURLINFO_DATA_OUT Introduced in 7.9.6 .IP CURLINFO_DOUBLE Introduced in 7.4.1 .IP CURLINFO_EFFECTIVE_URL Introduced in 7.4 .IP CURLINFO_END Introduced in 7.9.6 .IP CURLINFO_FILETIME Introduced in 7.5 .IP CURLINFO_FTP_ENTRY_PATH Introduced in 7.15.4 .IP CURLINFO_HEADER_IN Introduced in 7.9.6 .IP CURLINFO_HEADER_OUT Introduced in 7.9.6 .IP CURLINFO_HEADER_SIZE Introduced in 7.4.1 .IP CURLINFO_HTTPAUTH_AVAIL Introduced in 7.10.8 .IP CURLINFO_HTTP_CODE Introduced in 7.4.1 Deprecated since 7.10.8 .IP CURLINFO_HTTP_CONNECTCODE Introduced in 7.10.7 .IP CURLINFO_LASTONE Introduced in 7.4.1 .IP CURLINFO_LASTSOCKET Introduced in 7.15.2 .IP CURLINFO_LOCAL_IP Introduced in 7.21.0 .IP CURLINFO_LOCAL_PORT Introduced in 7.21.0 .IP CURLINFO_LONG Introduced in 7.4.1 .IP CURLINFO_MASK Introduced in 7.4.1 .IP CURLINFO_NAMELOOKUP_TIME Introduced in 7.4.1 .IP CURLINFO_NONE Introduced in 7.4.1 .IP CURLINFO_NUM_CONNECTS Introduced in 7.12.3 .IP CURLINFO_OS_ERRNO Introduced in 7.12.2 .IP CURLINFO_PRETRANSFER_TIME Introduced in 7.4.1 .IP CURLINFO_PRIMARY_IP Introduced in 7.19.0 .IP CURLINFO_PRIMARY_PORT Introduced in 7.21.0 .IP CURLINFO_PRIVATE Introduced in 7.10.3 .IP CURLINFO_PROXYAUTH_AVAIL Introduced in 7.10.8 .IP CURLINFO_REDIRECT_COUNT Introduced in 7.9.7 .IP CURLINFO_REDIRECT_TIME Introduced in 7.9.7 .IP CURLINFO_REDIRECT_URL Introduced in 7.18.2 .IP CURLINFO_REQUEST_SIZE Introduced in 7.4.1 .IP CURLINFO_RESPONSE_CODE Introduced in 7.10.8 .IP CURLINFO_RTSP_CLIENT_CSEQ Introduced in 7.20.0 .IP CURLINFO_RTSP_CSEQ_RECV Introduced in 7.20.0 .IP CURLINFO_RTSP_SERVER_CSEQ Introduced in 7.20.0 .IP CURLINFO_RTSP_SESSION_ID Introduced in 7.20.0 .IP CURLINFO_SIZE_DOWNLOAD Introduced in 7.4.1 .IP CURLINFO_SIZE_UPLOAD Introduced in 7.4.1 .IP CURLINFO_SLIST Introduced in 7.12.3 .IP CURLINFO_SOCKET Introduced in 7.45.0 .IP CURLINFO_SPEED_DOWNLOAD Introduced in 7.4.1 .IP CURLINFO_SPEED_UPLOAD Introduced in 7.4.1 .IP CURLINFO_SSL_DATA_IN Introduced in 7.12.1 .IP CURLINFO_SSL_DATA_OUT Introduced in 7.12.1 .IP CURLINFO_SSL_ENGINES Introduced in 7.12.3 .IP CURLINFO_SSL_VERIFYRESULT Introduced in 7.5 .IP CURLINFO_STARTTRANSFER_TIME Introduced in 7.9.2 .IP CURLINFO_STRING Introduced in 7.4.1 .IP CURLINFO_TEXT Introduced in 7.9.6 .IP CURLINFO_TLS_SESSION Introduced in 7.34.0 .IP CURLINFO_TOTAL_TIME Introduced in 7.4.1 .IP CURLINFO_TYPEMASK Introduced in 7.4.1 .IP CURLIOCMD_NOP Introduced in 7.12.3 .IP CURLIOCMD_RESTARTREAD Introduced in 7.12.3 .IP CURLIOE_FAILRESTART Introduced in 7.12.3 .IP CURLIOE_OK Introduced in 7.12.3 .IP CURLIOE_UNKNOWNCMD Introduced in 7.12.3 .IP CURLKHMATCH_MISMATCH Introduced in 7.19.6 .IP CURLKHMATCH_MISSING Introduced in 7.19.6 .IP CURLKHMATCH_OK Introduced in 7.19.6 .IP CURLKHSTAT_DEFER Introduced in 7.19.6 .IP CURLKHSTAT_FINE Introduced in 7.19.6 .IP CURLKHSTAT_FINE_ADD_TO_FILE Introduced in 7.19.6 .IP CURLKHSTAT_REJECT Introduced in 7.19.6 .IP CURLKHTYPE_DSS Introduced in 7.19.6 .IP CURLKHTYPE_RSA Introduced in 7.19.6 .IP CURLKHTYPE_RSA1 Introduced in 7.19.6 .IP CURLKHTYPE_UNKNOWN Introduced in 7.19.6 .IP CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE Introduced in 7.30.0 .IP CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE Introduced in 7.30.0 .IP CURLMOPT_MAXCONNECTS Introduced in 7.16.3 .IP CURLMOPT_MAX_HOST_CONNECTIONS Introduced in 7.30.0 .IP CURLMOPT_MAX_PIPELINE_LENGTH Introduced in 7.30.0 .IP CURLMOPT_MAX_TOTAL_CONNECTIONS Introduced in 7.30.0 .IP CURLMOPT_PIPELINING Introduced in 7.16.0 .IP CURLMOPT_PIPELINING_SERVER_BL Introduced in 7.30.0 .IP CURLMOPT_PIPELINING_SITE_BL Introduced in 7.30.0 .IP CURLMOPT_PUSHDATA Introduced in 7.44.0 .IP CURLMOPT_PUSHFUNCTION Introduced in 7.44.0 .IP CURLMOPT_SOCKETDATA Introduced in 7.15.4 .IP CURLMOPT_SOCKETFUNCTION Introduced in 7.15.4 .IP CURLMOPT_TIMERDATA Introduced in 7.16.0 .IP CURLMOPT_TIMERFUNCTION Introduced in 7.16.0 .IP CURLMSG_DONE Introduced in 7.9.6 .IP CURLMSG_NONE Introduced in 7.9.6 .IP CURLM_ADDED_ALREADY Introduced in 7.32.1 .IP CURLM_BAD_EASY_HANDLE Introduced in 7.9.6 .IP CURLM_BAD_HANDLE Introduced in 7.9.6 .IP CURLM_BAD_SOCKET Introduced in 7.15.4 .IP CURLM_CALL_MULTI_PERFORM Introduced in 7.9.6 .IP CURLM_CALL_MULTI_SOCKET Introduced in 7.15.5 .IP CURLM_INTERNAL_ERROR Introduced in 7.9.6 .IP CURLM_OK Introduced in 7.9.6 .IP CURLM_OUT_OF_MEMORY Introduced in 7.9.6 .IP CURLM_UNKNOWN_OPTION Introduced in 7.15.4 .IP CURLOPTTYPE_FUNCTIONPOINT Introduced in 7.1 .IP CURLOPTTYPE_LONG Introduced in 7.1 .IP CURLOPTTYPE_OBJECTPOINT Introduced in 7.1 .IP CURLOPTTYPE_OFF_T Introduced in 7.11.0 .IP CURLOPTTYPE_STRINGPOINT Introduced in 7.46.0 .IP CURLOPT_ACCEPTTIMEOUT_MS Introduced in 7.24.0 .IP CURLOPT_ACCEPT_ENCODING Introduced in 7.21.6 .IP CURLOPT_ADDRESS_SCOPE Introduced in 7.19.0 .IP CURLOPT_APPEND Introduced in 7.17.0 .IP CURLOPT_AUTOREFERER Introduced in 7.1 .IP CURLOPT_BUFFERSIZE Introduced in 7.10 .IP CURLOPT_CAINFO Introduced in 7.4.2 .IP CURLOPT_CAPATH Introduced in 7.9.8 .IP CURLOPT_CERTINFO Introduced in 7.19.1 .IP CURLOPT_CHUNK_BGN_FUNCTION Introduced in 7.21.0 .IP CURLOPT_CHUNK_DATA Introduced in 7.21.0 .IP CURLOPT_CHUNK_END_FUNCTION Introduced in 7.21.0 .IP CURLOPT_CLOSEFUNCTION Introduced in 7.7 Deprecated since 7.11.1 Last used in 7.11.1 .IP CURLOPT_CLOSEPOLICY Introduced in 7.7 Deprecated since 7.16.1 .IP CURLOPT_CLOSESOCKETDATA Introduced in 7.21.7 .IP CURLOPT_CLOSESOCKETFUNCTION Introduced in 7.21.7 .IP CURLOPT_CONNECTTIMEOUT Introduced in 7.7 .IP CURLOPT_CONNECTTIMEOUT_MS Introduced in 7.16.2 .IP CURLOPT_CONNECT_ONLY Introduced in 7.15.2 .IP CURLOPT_CONV_FROM_NETWORK_FUNCTION Introduced in 7.15.4 .IP CURLOPT_CONV_FROM_UTF8_FUNCTION Introduced in 7.15.4 .IP CURLOPT_CONV_TO_NETWORK_FUNCTION Introduced in 7.15.4 .IP CURLOPT_COOKIE Introduced in 7.1 .IP CURLOPT_COOKIEFILE Introduced in 7.1 .IP CURLOPT_COOKIEJAR Introduced in 7.9 .IP CURLOPT_COOKIELIST Introduced in 7.14.1 .IP CURLOPT_COOKIESESSION Introduced in 7.9.7 .IP CURLOPT_COPYPOSTFIELDS Introduced in 7.17.1 .IP CURLOPT_CRLF Introduced in 7.1 .IP CURLOPT_CRLFILE Introduced in 7.19.0 .IP CURLOPT_CUSTOMREQUEST Introduced in 7.1 .IP CURLOPT_DEBUGDATA Introduced in 7.9.6 .IP CURLOPT_DEBUGFUNCTION Introduced in 7.9.6 .IP CURLOPT_DEFAULT_PROTOCOL Introduced in 7.45.0 .IP CURLOPT_DIRLISTONLY Introduced in 7.17.0 .IP CURLOPT_DNS_CACHE_TIMEOUT Introduced in 7.9.3 .IP CURLOPT_DNS_INTERFACE Introduced in 7.33.0 .IP CURLOPT_DNS_LOCAL_IP4 Introduced in 7.33.0 .IP CURLOPT_DNS_LOCAL_IP6 Introduced in 7.33.0 .IP CURLOPT_DNS_SERVERS Introduced in 7.24.0 .IP CURLOPT_DNS_USE_GLOBAL_CACHE Introduced in 7.9.3 Deprecated since 7.11.1 .IP CURLOPT_EGDSOCKET Introduced in 7.7 .IP CURLOPT_ENCODING Introduced in 7.10 .IP CURLOPT_ERRORBUFFER Introduced in 7.1 .IP CURLOPT_EXPECT_100_TIMEOUT_MS Introduced in 7.36.0 .IP CURLOPT_FAILONERROR Introduced in 7.1 .IP CURLOPT_FILE Introduced in 7.1 Deprecated since 7.9.7 .IP CURLOPT_FILETIME Introduced in 7.5 .IP CURLOPT_FNMATCH_DATA Introduced in 7.21.0 .IP CURLOPT_FNMATCH_FUNCTION Introduced in 7.21.0 .IP CURLOPT_FOLLOWLOCATION Introduced in 7.1 .IP CURLOPT_FORBID_REUSE Introduced in 7.7 .IP CURLOPT_FRESH_CONNECT Introduced in 7.7 .IP CURLOPT_FTPAPPEND Introduced in 7.1 Deprecated since 7.16.4 .IP CURLOPT_FTPASCII Introduced in 7.1 Deprecated since 7.11.1 Last used in 7.11.1 .IP CURLOPT_FTPLISTONLY Introduced in 7.1 Deprecated since 7.16.4 .IP CURLOPT_FTPPORT Introduced in 7.1 .IP CURLOPT_FTPSSLAUTH Introduced in 7.12.2 .IP CURLOPT_FTP_ACCOUNT Introduced in 7.13.0 .IP CURLOPT_FTP_ALTERNATIVE_TO_USER Introduced in 7.15.5 .IP CURLOPT_FTP_CREATE_MISSING_DIRS Introduced in 7.10.7 .IP CURLOPT_FTP_FILEMETHOD Introduced in 7.15.1 .IP CURLOPT_FTP_RESPONSE_TIMEOUT Introduced in 7.10.8 .IP CURLOPT_FTP_SKIP_PASV_IP Introduced in 7.15.0 .IP CURLOPT_FTP_SSL Introduced in 7.11.0 Deprecated since 7.16.4 .IP CURLOPT_FTP_SSL_CCC Introduced in 7.16.1 .IP CURLOPT_FTP_USE_EPRT Introduced in 7.10.5 .IP CURLOPT_FTP_USE_EPSV Introduced in 7.9.2 .IP CURLOPT_FTP_USE_PRET Introduced in 7.20.0 .IP CURLOPT_GSSAPI_DELEGATION Introduced in 7.22.0 .IP CURLOPT_HEADER Introduced in 7.1 .IP CURLOPT_HEADERDATA Introduced in 7.10 .IP CURLOPT_HEADERFUNCTION Introduced in 7.7.2 .IP CURLOPT_HEADEROPT Introduced in 7.37.0 .IP CURLOPT_HTTP200ALIASES Introduced in 7.10.3 .IP CURLOPT_HTTPAUTH Introduced in 7.10.6 .IP CURLOPT_HTTPGET Introduced in 7.8.1 .IP CURLOPT_HTTPHEADER Introduced in 7.1 .IP CURLOPT_HTTPPOST Introduced in 7.1 .IP CURLOPT_HTTPPROXYTUNNEL Introduced in 7.3 .IP CURLOPT_HTTPREQUEST Introduced in 7.1 .IP CURLOPT_HTTP_CONTENT_DECODING Introduced in 7.16.2 .IP CURLOPT_HTTP_TRANSFER_DECODING Introduced in 7.16.2 .IP CURLOPT_HTTP_VERSION Introduced in 7.9.1 .IP CURLOPT_IGNORE_CONTENT_LENGTH Introduced in 7.14.1 .IP CURLOPT_INFILE Introduced in 7.1 Deprecated since 7.9.7 .IP CURLOPT_INFILESIZE Introduced in 7.1 .IP CURLOPT_INFILESIZE_LARGE Introduced in 7.11.0 .IP CURLOPT_INTERFACE Introduced in 7.3 .IP CURLOPT_INTERLEAVEDATA Introduced in 7.20.0 .IP CURLOPT_INTERLEAVEFUNCTION Introduced in 7.20.0 .IP CURLOPT_IOCTLDATA Introduced in 7.12.3 .IP CURLOPT_IOCTLFUNCTION Introduced in 7.12.3 .IP CURLOPT_IPRESOLVE Introduced in 7.10.8 .IP CURLOPT_ISSUERCERT Introduced in 7.19.0 .IP CURLOPT_KEYPASSWD Introduced in 7.17.0 .IP CURLOPT_KRB4LEVEL Introduced in 7.3 Deprecated since 7.17.0 .IP CURLOPT_KRBLEVEL Introduced in 7.16.4 .IP CURLOPT_LOCALPORT Introduced in 7.15.2 .IP CURLOPT_LOCALPORTRANGE Introduced in 7.15.2 .IP CURLOPT_LOGIN_OPTIONS Introduced in 7.34.0 .IP CURLOPT_LOW_SPEED_LIMIT Introduced in 7.1 .IP CURLOPT_LOW_SPEED_TIME Introduced in 7.1 .IP CURLOPT_MAIL_AUTH Introduced in 7.25.0 .IP CURLOPT_MAIL_FROM Introduced in 7.20.0 .IP CURLOPT_MAIL_RCPT Introduced in 7.20.0 .IP CURLOPT_MAXCONNECTS Introduced in 7.7 .IP CURLOPT_MAXFILESIZE Introduced in 7.10.8 .IP CURLOPT_MAXFILESIZE_LARGE Introduced in 7.11.0 .IP CURLOPT_MAXREDIRS Introduced in 7.5 .IP CURLOPT_MAX_RECV_SPEED_LARGE Introduced in 7.15.5 .IP CURLOPT_MAX_SEND_SPEED_LARGE Introduced in 7.15.5 .IP CURLOPT_MUTE Introduced in 7.1 Deprecated since 7.8 Last used in 7.8 .IP CURLOPT_NETRC Introduced in 7.1 .IP CURLOPT_NETRC_FILE Introduced in 7.11.0 .IP CURLOPT_NEW_DIRECTORY_PERMS Introduced in 7.16.4 .IP CURLOPT_NEW_FILE_PERMS Introduced in 7.16.4 .IP CURLOPT_NOBODY Introduced in 7.1 .IP CURLOPT_NOPROGRESS Introduced in 7.1 .IP CURLOPT_NOPROXY Introduced in 7.19.4 .IP CURLOPT_NOSIGNAL Introduced in 7.10 .IP CURLOPT_NOTHING Introduced in 7.1.1 Deprecated since 7.11.1 Last used in 7.11.1 .IP CURLOPT_OPENSOCKETDATA Introduced in 7.17.1 .IP CURLOPT_OPENSOCKETFUNCTION Introduced in 7.17.1 .IP CURLOPT_PASSWDDATA Introduced in 7.4.2 Deprecated since 7.11.1 Last used in 7.11.1 .IP CURLOPT_PASSWDFUNCTION Introduced in 7.4.2 Deprecated since 7.11.1 Last used in 7.11.1 .IP CURLOPT_PASSWORD Introduced in 7.19.1 .IP CURLOPT_PASV_HOST Introduced in 7.12.1 Deprecated since 7.16.0 Last used in 7.16.0 .IP CURLOPT_PATH_AS_IS Introduced in 7.42.0 .IP CURLOPT_PINNEDPUBLICKEY Introduced in 7.39.0 .IP CURLOPT_PIPEWAIT Introduced in 7.43.0 .IP CURLOPT_PORT Introduced in 7.1 .IP CURLOPT_POST Introduced in 7.1 .IP CURLOPT_POST301 Introduced in 7.17.1 Deprecated since 7.19.1 .IP CURLOPT_POSTFIELDS Introduced in 7.1 .IP CURLOPT_POSTFIELDSIZE Introduced in 7.2 .IP CURLOPT_POSTFIELDSIZE_LARGE Introduced in 7.11.1 .IP CURLOPT_POSTQUOTE Introduced in 7.1 .IP CURLOPT_POSTREDIR Introduced in 7.19.1 .IP CURLOPT_PREQUOTE Introduced in 7.9.5 .IP CURLOPT_PRIVATE Introduced in 7.10.3 .IP CURLOPT_PROGRESSDATA Introduced in 7.1 .IP CURLOPT_PROGRESSFUNCTION Introduced in 7.1 Deprecated since 7.32.0 .IP CURLOPT_PROTOCOLS Introduced in 7.19.4 .IP CURLOPT_PROXY Introduced in 7.1 .IP CURLOPT_PROXYAUTH Introduced in 7.10.7 .IP CURLOPT_PROXYHEADER Introduced in 7.37.0 .IP CURLOPT_PROXYPASSWORD Introduced in 7.19.1 .IP CURLOPT_PROXYPORT Introduced in 7.1 .IP CURLOPT_PROXYTYPE Introduced in 7.10 .IP CURLOPT_PROXYUSERNAME Introduced in 7.19.1 .IP CURLOPT_PROXYUSERPWD Introduced in 7.1 .IP CURLOPT_PROXY_SERVICE_NAME Introduced in 7.43.0 .IP CURLOPT_PROXY_TRANSFER_MODE Introduced in 7.18.0 .IP CURLOPT_PUT Introduced in 7.1 .IP CURLOPT_QUOTE Introduced in 7.1 .IP CURLOPT_RANDOM_FILE Introduced in 7.7 .IP CURLOPT_RANGE Introduced in 7.1 .IP CURLOPT_READDATA Introduced in 7.9.7 .IP CURLOPT_READFUNCTION Introduced in 7.1 .IP CURLOPT_REDIR_PROTOCOLS Introduced in 7.19.4 .IP CURLOPT_REFERER Introduced in 7.1 .IP CURLOPT_RESOLVE Introduced in 7.21.3 .IP CURLOPT_RESUME_FROM Introduced in 7.1 .IP CURLOPT_RESUME_FROM_LARGE Introduced in 7.11.0 .IP CURLOPT_RTSPHEADER Introduced in 7.20.0 .IP CURLOPT_RTSP_CLIENT_CSEQ Introduced in 7.20.0 .IP CURLOPT_RTSP_REQUEST Introduced in 7.20.0 .IP CURLOPT_RTSP_SERVER_CSEQ Introduced in 7.20.0 .IP CURLOPT_RTSP_SESSION_ID Introduced in 7.20.0 .IP CURLOPT_RTSP_STREAM_URI Introduced in 7.20.0 .IP CURLOPT_RTSP_TRANSPORT Introduced in 7.20.0 .IP CURLOPT_SASL_IR Introduced in 7.31.0 .IP CURLOPT_SEEKDATA Introduced in 7.18.0 .IP CURLOPT_SEEKFUNCTION Introduced in 7.18.0 .IP CURLOPT_SERVER_RESPONSE_TIMEOUT Introduced in 7.20.0 .IP CURLOPT_SERVICE_NAME Introduced in 7.43.0 .IP CURLOPT_SHARE Introduced in 7.10 .IP CURLOPT_SOCKOPTDATA Introduced in 7.16.0 .IP CURLOPT_SOCKOPTFUNCTION Introduced in 7.16.0 .IP CURLOPT_SOCKS5_GSSAPI_NEC Introduced in 7.19.4 .IP CURLOPT_SOCKS5_GSSAPI_SERVICE Introduced in 7.19.4 .IP CURLOPT_SOURCE_HOST Introduced in 7.12.1 .IP CURLOPT_SOURCE_PATH Introduced in 7.12.1 .IP CURLOPT_SOURCE_PORT Introduced in 7.12.1 .IP CURLOPT_SOURCE_POSTQUOTE Introduced in 7.12.1 .IP CURLOPT_SOURCE_PREQUOTE Introduced in 7.12.1 .IP CURLOPT_SOURCE_QUOTE Introduced in 7.13.0 .IP CURLOPT_SOURCE_URL Introduced in 7.13.0 .IP CURLOPT_SOURCE_USERPWD Introduced in 7.12.1 .IP CURLOPT_SSH_AUTH_TYPES Introduced in 7.16.1 .IP CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 Introduced in 7.17.1 .IP CURLOPT_SSH_KEYDATA Introduced in 7.19.6 .IP CURLOPT_SSH_KEYFUNCTION Introduced in 7.19.6 .IP CURLOPT_SSH_KNOWNHOSTS Introduced in 7.19.6 .IP CURLOPT_SSH_PRIVATE_KEYFILE Introduced in 7.16.1 .IP CURLOPT_SSH_PUBLIC_KEYFILE Introduced in 7.16.1 .IP CURLOPT_SSLCERT Introduced in 7.1 .IP CURLOPT_SSLCERTPASSWD Introduced in 7.1.1 Deprecated since 7.17.0 .IP CURLOPT_SSLCERTTYPE Introduced in 7.9.3 .IP CURLOPT_SSLENGINE Introduced in 7.9.3 .IP CURLOPT_SSLENGINE_DEFAULT Introduced in 7.9.3 .IP CURLOPT_SSLKEY Introduced in 7.9.3 .IP CURLOPT_SSLKEYPASSWD Introduced in 7.9.3 Deprecated since 7.17.0 .IP CURLOPT_SSLKEYTYPE Introduced in 7.9.3 .IP CURLOPT_SSLVERSION Introduced in 7.1 .IP CURLOPT_SSL_CIPHER_LIST Introduced in 7.9 .IP CURLOPT_SSL_CTX_DATA Introduced in 7.10.6 .IP CURLOPT_SSL_CTX_FUNCTION Introduced in 7.10.6 .IP CURLOPT_SSL_ENABLE_ALPN Introduced in 7.36.0 .IP CURLOPT_SSL_ENABLE_NPN Introduced in 7.36.0 .IP CURLOPT_SSL_FALSESTART Introduced in 7.42.0 .IP CURLOPT_SSL_OPTIONS Introduced in 7.25.0 .IP CURLOPT_SSL_SESSIONID_CACHE Introduced in 7.16.0 .IP CURLOPT_SSL_VERIFYHOST Introduced in 7.8.1 .IP CURLOPT_SSL_VERIFYPEER Introduced in 7.4.2 .IP CURLOPT_SSL_VERIFYSTATUS Introduced in 7.41.0 .IP CURLOPT_STDERR Introduced in 7.1 .IP CURLOPT_STREAM_DEPENDS Introduced in 7.46.0 .IP CURLOPT_STREAM_DEPENDS_E Introduced in 7.46.0 .IP CURLOPT_STREAM_WEIGHT Introduced in 7.46.0 .IP CURLOPT_TCP_KEEPALIVE Introduced in 7.25.0 .IP CURLOPT_TCP_KEEPIDLE Introduced in 7.25.0 .IP CURLOPT_TCP_KEEPINTVL Introduced in 7.25.0 .IP CURLOPT_TCP_NODELAY Introduced in 7.11.2 .IP CURLOPT_TELNETOPTIONS Introduced in 7.7 .IP CURLOPT_TFTP_BLKSIZE Introduced in 7.19.4 .IP CURLOPT_TIMECONDITION Introduced in 7.1 .IP CURLOPT_TIMEOUT Introduced in 7.1 .IP CURLOPT_TIMEOUT_MS Introduced in 7.16.2 .IP CURLOPT_TIMEVALUE Introduced in 7.1 .IP CURLOPT_TLSAUTH_PASSWORD Introduced in 7.21.4 .IP CURLOPT_TLSAUTH_TYPE Introduced in 7.21.4 .IP CURLOPT_TLSAUTH_USERNAME Introduced in 7.21.4 .IP CURLOPT_TRANSFERTEXT Introduced in 7.1.1 .IP CURLOPT_TRANSFER_ENCODING Introduced in 7.21.6 .IP CURLOPT_UNIX_SOCKET_PATH Introduced in 7.40.0 .IP CURLOPT_UNRESTRICTED_AUTH Introduced in 7.10.4 .IP CURLOPT_UPLOAD Introduced in 7.1 .IP CURLOPT_URL Introduced in 7.1 .IP CURLOPT_USERAGENT Introduced in 7.1 .IP CURLOPT_USERNAME Introduced in 7.19.1 .IP CURLOPT_USERPWD Introduced in 7.1 .IP CURLOPT_USE_SSL Introduced in 7.17.0 .IP CURLOPT_VERBOSE Introduced in 7.1 .IP CURLOPT_WILDCARDMATCH Introduced in 7.21.0 .IP CURLOPT_WRITEDATA Introduced in 7.9.7 .IP CURLOPT_WRITEFUNCTION Introduced in 7.1 .IP CURLOPT_WRITEHEADER Introduced in 7.1 .IP CURLOPT_WRITEINFO Introduced in 7.1 .IP CURLOPT_XFERINFODATA Introduced in 7.32.0 .IP CURLOPT_XFERINFOFUNCTION Introduced in 7.32.0 .IP CURLOPT_XOAUTH2_BEARER Introduced in 7.33.0 .IP CURLPAUSE_ALL Introduced in 7.18.0 .IP CURLPAUSE_CONT Introduced in 7.18.0 .IP CURLPAUSE_RECV Introduced in 7.18.0 .IP CURLPAUSE_RECV_CONT Introduced in 7.18.0 .IP CURLPAUSE_SEND Introduced in 7.18.0 .IP CURLPAUSE_SEND_CONT Introduced in 7.18.0 .IP CURLPIPE_HTTP1 Introduced in 7.43.0 .IP CURLPIPE_MULTIPLEX Introduced in 7.43.0 .IP CURLPIPE_NOTHING Introduced in 7.43.0 .IP CURLPROTO_ALL Introduced in 7.19.4 .IP CURLPROTO_DICT Introduced in 7.19.4 .IP CURLPROTO_FILE Introduced in 7.19.4 .IP CURLPROTO_FTP Introduced in 7.19.4 .IP CURLPROTO_FTPS Introduced in 7.19.4 .IP CURLPROTO_GOPHER Introduced in 7.21.2 .IP CURLPROTO_HTTP Introduced in 7.19.4 .IP CURLPROTO_HTTPS Introduced in 7.19.4 .IP CURLPROTO_IMAP Introduced in 7.20.0 .IP CURLPROTO_IMAPS Introduced in 7.20.0 .IP CURLPROTO_LDAP Introduced in 7.19.4 .IP CURLPROTO_LDAPS Introduced in 7.19.4 .IP CURLPROTO_POP3 Introduced in 7.20.0 .IP CURLPROTO_POP3S Introduced in 7.20.0 .IP CURLPROTO_RTMP Introduced in 7.21.0 .IP CURLPROTO_RTMPE Introduced in 7.21.0 .IP CURLPROTO_RTMPS Introduced in 7.21.0 .IP CURLPROTO_RTMPT Introduced in 7.21.0 .IP CURLPROTO_RTMPTE Introduced in 7.21.0 .IP CURLPROTO_RTMPTS Introduced in 7.21.0 .IP CURLPROTO_RTSP Introduced in 7.20.0 .IP CURLPROTO_SCP Introduced in 7.19.4 .IP CURLPROTO_SFTP Introduced in 7.19.4 .IP CURLPROTO_SMB Introduced in 7.40.0 .IP CURLPROTO_SMBS Introduced in 7.40.0 .IP CURLPROTO_SMTP Introduced in 7.20.0 .IP CURLPROTO_SMTPS Introduced in 7.20.0 .IP CURLPROTO_TELNET Introduced in 7.19.4 .IP CURLPROTO_TFTP Introduced in 7.19.4 .IP CURLPROXY_HTTP Introduced in 7.10 .IP CURLPROXY_HTTP_1_0 Introduced in 7.19.4 .IP CURLPROXY_SOCKS4 Introduced in 7.10 .IP CURLPROXY_SOCKS4A Introduced in 7.18.0 .IP CURLPROXY_SOCKS5 Introduced in 7.10 .IP CURLPROXY_SOCKS5_HOSTNAME Introduced in 7.18.0 .IP CURLSHE_BAD_OPTION Introduced in 7.10.3 .IP CURLSHE_INVALID Introduced in 7.10.3 .IP CURLSHE_IN_USE Introduced in 7.10.3 .IP CURLSHE_NOMEM Introduced in 7.12.0 .IP CURLSHE_NOT_BUILT_IN Introduced in 7.23.0 .IP CURLSHE_OK Introduced in 7.10.3 .IP CURLSHOPT_LOCKFUNC Introduced in 7.10.3 .IP CURLSHOPT_NONE Introduced in 7.10.3 .IP CURLSHOPT_SHARE Introduced in 7.10.3 .IP CURLSHOPT_UNLOCKFUNC Introduced in 7.10.3 .IP CURLSHOPT_UNSHARE Introduced in 7.10.3 .IP CURLSHOPT_USERDATA Introduced in 7.10.3 .IP CURLSOCKTYPE_ACCEPT Introduced in 7.28.0 .IP CURLSOCKTYPE_IPCXN Introduced in 7.16.0 .IP CURLSSH_AUTH_AGENT Introduced in 7.28.0 .IP CURLSSH_AUTH_ANY Introduced in 7.16.1 .IP CURLSSH_AUTH_DEFAULT Introduced in 7.16.1 .IP CURLSSH_AUTH_HOST Introduced in 7.16.1 .IP CURLSSH_AUTH_KEYBOARD Introduced in 7.16.1 .IP CURLSSH_AUTH_NONE Introduced in 7.16.1 .IP CURLSSH_AUTH_PASSWORD Introduced in 7.16.1 .IP CURLSSH_AUTH_PUBLICKEY Introduced in 7.16.1 .IP CURLSSLBACKEND_AXTLS Introduced in 7.38.0 .IP CURLSSLBACKEND_CYASSL Introduced in 7.34.0 .IP CURLSSLBACKEND_DARWINSSL Introduced in 7.34.0 .IP CURLSSLBACKEND_GNUTLS Introduced in 7.34.0 .IP CURLSSLBACKEND_GSKIT Introduced in 7.34.0 .IP CURLSSLBACKEND_MBEDTLS Introduced in 7.46.0 .IP CURLSSLBACKEND_NONE Introduced in 7.34.0 .IP CURLSSLBACKEND_NSS Introduced in 7.34.0 .IP CURLSSLBACKEND_OPENSSL Introduced in 7.34.0 .IP CURLSSLBACKEND_POLARSSL Introduced in 7.34.0 .IP CURLSSLBACKEND_QSOSSL Introduced in 7.34.0 .IP CURLSSLBACKEND_SCHANNEL Introduced in 7.34.0 .IP CURLSSLOPT_ALLOW_BEAST Introduced in 7.25.0 .IP CURLSSLOPT_NO_REVOKE Introduced in 7.44.0 .IP CURLUSESSL_ALL Introduced in 7.17.0 .IP CURLUSESSL_CONTROL Introduced in 7.17.0 .IP CURLUSESSL_NONE Introduced in 7.17.0 .IP CURLUSESSL_TRY Introduced in 7.17.0 .IP CURLVERSION_FIRST Introduced in 7.10 .IP CURLVERSION_FOURTH Introduced in 7.16.1 .IP CURLVERSION_NOW Introduced in 7.10 .IP CURLVERSION_SECOND Introduced in 7.11.1 .IP CURLVERSION_THIRD Introduced in 7.12.0 .IP CURL_CHUNK_BGN_FUNC_FAIL Introduced in 7.21.0 .IP CURL_CHUNK_BGN_FUNC_OK Introduced in 7.21.0 .IP CURL_CHUNK_BGN_FUNC_SKIP Introduced in 7.21.0 .IP CURL_CHUNK_END_FUNC_FAIL Introduced in 7.21.0 .IP CURL_CHUNK_END_FUNC_OK Introduced in 7.21.0 .IP CURL_CSELECT_ERR Introduced in 7.16.3 .IP CURL_CSELECT_IN Introduced in 7.16.3 .IP CURL_CSELECT_OUT Introduced in 7.16.3 .IP CURL_EASY_NONE Introduced in 7.14.0 .IP CURL_EASY_TIMEOUT Introduced in 7.14.0 .IP CURL_ERROR_SIZE Introduced in 7.1 .IP CURL_FNMATCHFUNC_FAIL Introduced in 7.21.0 .IP CURL_FNMATCHFUNC_MATCH Introduced in 7.21.0 .IP CURL_FNMATCHFUNC_NOMATCH Introduced in 7.21.0 .IP CURL_FORMADD_DISABLED Introduced in 7.12.1 .IP CURL_FORMADD_ILLEGAL_ARRAY Introduced in 7.9.8 .IP CURL_FORMADD_INCOMPLETE Introduced in 7.9.8 .IP CURL_FORMADD_MEMORY Introduced in 7.9.8 .IP CURL_FORMADD_NULL Introduced in 7.9.8 .IP CURL_FORMADD_OK Introduced in 7.9.8 .IP CURL_FORMADD_OPTION_TWICE Introduced in 7.9.8 .IP CURL_FORMADD_UNKNOWN_OPTION Introduced in 7.9.8 .IP CURL_GLOBAL_ACK_EINTR Introduced in 7.30.0 .IP CURL_GLOBAL_ALL Introduced in 7.8 .IP CURL_GLOBAL_DEFAULT Introduced in 7.8 .IP CURL_GLOBAL_NOTHING Introduced in 7.8 .IP CURL_GLOBAL_SSL Introduced in 7.8 .IP CURL_GLOBAL_WIN32 Introduced in 7.8.1 .IP CURL_HTTPPOST_BUFFER Introduced in 7.46.0 .IP CURL_HTTPPOST_CALLBACK Introduced in 7.46.0 .IP CURL_HTTPPOST_FILENAME Introduced in 7.46.0 .IP CURL_HTTPPOST_LARGE Introduced in 7.46.0 .IP CURL_HTTPPOST_PTRBUFFER Introduced in 7.46.0 .IP CURL_HTTPPOST_PTRCONTENTS Introduced in 7.46.0 .IP CURL_HTTPPOST_PTRNAME Introduced in 7.46.0 .IP CURL_HTTPPOST_READFILE Introduced in 7.46.0 .IP CURL_HTTP_VERSION_1_0 Introduced in 7.9.1 .IP CURL_HTTP_VERSION_1_1 Introduced in 7.9.1 .IP CURL_HTTP_VERSION_2 Introduced in 7.43.0 .IP CURL_HTTP_VERSION_2_0 Introduced in 7.33.0 .IP CURL_HTTP_VERSION_2TLS Introduced in 7.47.0 .IP CURL_HTTP_VERSION_NONE Introduced in 7.9.1 .IP CURL_IPRESOLVE_V4 Introduced in 7.10.8 .IP CURL_IPRESOLVE_V6 Introduced in 7.10.8 .IP CURL_IPRESOLVE_WHATEVER Introduced in 7.10.8 .IP CURL_LOCK_ACCESS_NONE Introduced in 7.10.3 .IP CURL_LOCK_ACCESS_SHARED Introduced in 7.10.3 .IP CURL_LOCK_ACCESS_SINGLE Introduced in 7.10.3 .IP CURL_LOCK_DATA_CONNECT Introduced in 7.10.3 .IP CURL_LOCK_DATA_COOKIE Introduced in 7.10.3 .IP CURL_LOCK_DATA_DNS Introduced in 7.10.3 .IP CURL_LOCK_DATA_NONE Introduced in 7.10.3 .IP CURL_LOCK_DATA_SHARE Introduced in 7.10.4 .IP CURL_LOCK_DATA_SSL_SESSION Introduced in 7.10.3 .IP CURL_LOCK_TYPE_CONNECT Introduced in 7.10 .IP CURL_LOCK_TYPE_COOKIE Introduced in 7.10 .IP CURL_LOCK_TYPE_DNS Introduced in 7.10 .IP CURL_LOCK_TYPE_NONE Introduced in 7.10 .IP CURL_LOCK_TYPE_SSL_SESSION Introduced in 7.10 .IP CURL_MAX_HTTP_HEADER Introduced in 7.19.7 .IP CURL_MAX_WRITE_SIZE Introduced in 7.9.7 .IP CURL_NETRC_IGNORED Introduced in 7.9.8 .IP CURL_NETRC_OPTIONAL Introduced in 7.9.8 .IP CURL_NETRC_REQUIRED Introduced in 7.9.8 .IP CURL_POLL_IN Introduced in 7.14.0 .IP CURL_POLL_INOUT Introduced in 7.14.0 .IP CURL_POLL_NONE Introduced in 7.14.0 .IP CURL_POLL_OUT Introduced in 7.14.0 .IP CURL_POLL_REMOVE Introduced in 7.14.0 .IP CURL_PROGRESS_BAR Introduced in 7.1.1 .IP CURL_PROGRESS_STATS Introduced in 7.1.1 .IP CURL_PUSH_DENY Introduced in 7.44.0 .IP CURL_PUSH_OK Introduced in 7.44.0 .IP CURL_READFUNC_ABORT Introduced in 7.12.1 .IP CURL_READFUNC_PAUSE Introduced in 7.18.0 .IP CURL_REDIR_GET_ALL Introduced in 7.19.1 .IP CURL_REDIR_POST_301 Introduced in 7.19.1 .IP CURL_REDIR_POST_302 Introduced in 7.19.1 .IP CURL_REDIR_POST_303 Introduced in 7.25.1 .IP CURL_REDIR_POST_ALL Introduced in 7.19.1 .IP CURL_RTSPREQ_ANNOUNCE Introduced in 7.20.0 .IP CURL_RTSPREQ_DESCRIBE Introduced in 7.20.0 .IP CURL_RTSPREQ_GET_PARAMETER Introduced in 7.20.0 .IP CURL_RTSPREQ_NONE Introduced in 7.20.0 .IP CURL_RTSPREQ_OPTIONS Introduced in 7.20.0 .IP CURL_RTSPREQ_PAUSE Introduced in 7.20.0 .IP CURL_RTSPREQ_PLAY Introduced in 7.20.0 .IP CURL_RTSPREQ_RECEIVE Introduced in 7.20.0 .IP CURL_RTSPREQ_RECORD Introduced in 7.20.0 .IP CURL_RTSPREQ_SETUP Introduced in 7.20.0 .IP CURL_RTSPREQ_SET_PARAMETER Introduced in 7.20.0 .IP CURL_RTSPREQ_TEARDOWN Introduced in 7.20.0 .IP CURL_SEEKFUNC_CANTSEEK Introduced in 7.19.5 .IP CURL_SEEKFUNC_FAIL Introduced in 7.19.5 .IP CURL_SEEKFUNC_OK Introduced in 7.19.5 .IP CURL_SOCKET_BAD Introduced in 7.14.0 .IP CURL_SOCKET_TIMEOUT Introduced in 7.14.0 .IP CURL_SOCKOPT_ALREADY_CONNECTED Introduced in 7.21.5 .IP CURL_SOCKOPT_ERROR Introduced in 7.21.5 .IP CURL_SOCKOPT_OK Introduced in 7.21.5 .IP CURL_SSLVERSION_DEFAULT Introduced in 7.9.2 .IP CURL_SSLVERSION_SSL Introduced in .IP CURL_SSLVERSION_SSL Introduced in .IP CURL_SSLVERSION_TLS Introduced in .IP CURL_SSLVERSION_TLS Introduced in .IP CURL_SSLVERSION_TLS Introduced in .IP CURL_SSLVERSION_TLS Introduced in .IP CURL_TIMECOND_IFMODSINCE Introduced in 7.9.7 .IP CURL_TIMECOND_IFUNMODSINCE Introduced in 7.9.7 .IP CURL_TIMECOND_LASTMOD Introduced in 7.9.7 .IP CURL_TIMECOND_NONE Introduced in 7.9.7 .IP CURL_TLSAUTH_NONE Introduced in 7.21.4 .IP CURL_TLSAUTH_SRP Introduced in 7.21.4 .IP CURL_VERSION_ASYNCHDNS Introduced in 7.10.7 .IP CURL_VERSION_CONV Introduced in 7.15.4 .IP CURL_VERSION_CURLDEBUG Introduced in 7.19.6 .IP CURL_VERSION_DEBUG Introduced in 7.10.6 .IP CURL_VERSION_GSSAPI Introduced in 7.38.0 .IP CURL_VERSION_GSSNEGOTIATE Introduced in 7.10.6 Deprecated since 7.38.0 .IP CURL_VERSION_HTTP2 Introduced in 7.33.0 .IP CURL_VERSION_IDN Introduced in 7.12.0 .IP CURL_VERSION_IPV6 Introduced in 7.10 .IP CURL_VERSION_KERBEROS4 Introduced in 7.10 Deprecated since 7.33.0 .IP CURL_VERSION_KERBEROS5 Introduced in 7.40.0 .IP CURL_VERSION_LARGEFILE Introduced in 7.11.1 .IP CURL_VERSION_LIBZ Introduced in 7.10 .IP CURL_VERSION_NTLM Introduced in 7.10.6 .IP CURL_VERSION_NTLM_WB Introduced in 7.22.0 .IP CURL_VERSION_PSL Introduced in 7.47.0 .IP CURL_VERSION_SPNEGO Introduced in 7.10.8 .IP CURL_VERSION_SSL Introduced in 7.10 .IP CURL_VERSION_SSPI Introduced in 7.13.2 .IP CURL_VERSION_TLSAUTH_SRP Introduced in 7.21.4 .IP CURL_VERSION_UNIX_SOCKETS Introduced in 7.40.0 .IP CURL_WAIT_POLLIN Introduced in 7.28.0 .IP CURL_WAIT_POLLOUT Introduced in 7.28.0 .IP CURL_WAIT_POLLPRI Introduced in 7.28.0 .IP CURL_WRITEFUNC_PAUSE Introduced in 7.18.0 curl-7.47.0/docs/libcurl/curl_multi_perform.pdf0000644000175000017500000001565212652070421016477 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœWkoÛ6ýî_A4X#1CRo¤е–!¯%º.E¢lµ²äê‘ÔÛ_èÞ½$%Ki»C¼Ô}sîõGÂ(' ÿÌÿx=9ºöɲž0²œ|œpuHÌ¿xM~šƒA€æéDßáÄÄm„d¾žpΩùãäÖŠÛ*¿[·y“Ýmd•–ÕzaÙ‹)ɳ{<šÎ„Ë(c¾um”“oØOÿšÿ:™1*8xˆ!€ ¡‹1Ø™ŸM¬‹WÓ}ˆN¹KÝІ¸æÉÄ:?™Îß"Œ:Ì'3.ð˜a”_ ’ÌH%£¤>z¬²FÖ$— W9p¾qð Î”ãò såÑ}.I5I«rMd¯à£Þ’UT$¹Ô 2™ñÀ§ŽÁy4Pï¸ywqyusz3ÎÁöºø­½¬ˆó6‘ä&q„tõ#š G•åõï×gçq _+­:%ú©ŽêdECª¶(²biÖ‹é1”w­=ŒôÍÉÍëëÓ«ùéåÅ·‚½µæ«¬&i[ÄMV¦ 5iª¨¨SYÕFyNš•$Q’Èdg²ŠRHx5,Ôõ Œ R”Åì>/ã,I§œYQ½‚cª 辡ÇoWRÙG›MžÅ‘ ¢)Û"!eÛ ×JîC–‚x úìAvŽ0ý¬“¾ÑpŸuϱ¿OðPŸ þN¨Œ‡M ð,"M¶–Æ)óhSËäM•3Á<ê8}qõ…Ît˜a½*Û+ÌI{«²å ÚYŽÞ‰¤ îr÷NhBн³‰©†g_3GÁ £Ä·$d„J+æ¦E @@g¬]%›¶*€ï5©KDc­Z3ÖÈ*) IÉÎI ‡EÙ€õÇ6#Z…*UÙÎ¥‰“Sæi§QÜ€ôå[¬UT ­M]<‹'®C}×MòÛ•É@0!éÏ¿‚˜#rH¡Wºcî¥jФ¡é!¤€ŽïÛºA&ÆQ 9mÈc–ç:]†ƒt™žXÓ¢]ßËŠ”é˜äu“!V$è(àýx£–q \ª) fF`-Û5ˆÁ¾¢º ·¡O]·£l6ÌÛ CS[«¸Ãœ`,„·Èj*˜þ>Û” ð*®ci™ÙÀ6(ç UÃmÝ»ÓT«Õd¤dž€Óó¡~Ðe¬©cDú0˜x×1tàéŠ(b¸°„b«)‚î6)†Â·²²­5Ã4ìáݪšÅ8¶~öÌtNÜ(÷ݾC”Ù¶JJuc[¶û#E°Ao|»‹Ï6¶’DCª O„=«º÷¡”ƒ ô*gZ¾˜¢òAKt/ ¸}È­«Úã@^ÐDt=½0g $Bw]"ñú¢*ñÌÔý%ï”&`,ø»(%kúÍ+¤§jÀt»œ"Xë'}v€w¾tèHPV¤å]5µ} øµÛe+ãPàn›€*-%2 uKkxt3@-Y‘(DsÇ¡3(Çè<Ý‹,Q;T¹Þä²Áš›Bà‡ÚhE„äÞIÃa4oáxÝØ¦!!M=õBg‡ÄVèÔ‚ ®0bb–‘šà^¡–è³ê hCªÆï`¬Ã¸Ã^`EY^“‡)GL3aÉjK@CãùÖp•1(àëY|˜M… f®Õ¬õÀWÀaÇ뙄³AÉì6ˆñŒãX>šqèêˉÞkWA`Éxà ìý~E@¢ÉÄ” ¤;ï™0M"25ÍÔr¢Ö«PÂG½âß%8IÂ~”ù¸„ƒ3àD H@ý-«´ÁÚ]fža×PFKÁáŽNEIòD§ê'’Ôê-|è€ß ìv4úÇaz¢vTÌ4µì MëMU.+`)ýrí—'¼:¿:{²ÌïvK]à½,MdJîÞž^ØBEà|I0ýcÕ^·‘–qH›H'£Á£Ý¡]« GžP¦Ýs§KKõó›»?O®§Žú i[— ë¹.2æ‚åÚõÿ«¦ªîí7­pSP-è,MÅ”VÆy²Ž«lÓ”ô~JïÆÐÁQ_Yô²îË¡›‘&Ðð/:£3Q_Tœê›Á,&> stream xœWmoã¸þî_Áî‡FÚ‹‘zßE?ä®i±mr»—uZ6E Ht¬[[ÊIr|AÑ}Ï¢$;ÉWA“Î<óÌ3Ã_™Çóè§ÿ›of'—1»kg»›ý:z‘õò û~ }±XÎÌÁbÉâÔçIÊ›™‚û [ìf_œ|Û¬o6ÛuWÞÜ«fY7›kÇ¿vÙº¼¥%w.C{^ì\dÕ6[³Wö»ÿYüc6÷#¶(àŒ;MÎþ¼÷îâ—ÙÏ£$D™BŠ òháäRx¶Œ|¤ÅOÍž>„›NÏÏo.®Î]é9‹7ŸÎ.ÿöñòB÷y,cc¨Ä áQoÁ9î†[¸`³^ ];«²e·Y[æÙzýÈ6 YA®²Ž¢Ðå#P?ö-®µ­KÚiWõv]0:H'Q@Ó ­¯U²>c½Nfô'²;ZL¡i28œ¤±Q’¬¬ŽÙ­IAm‹‡Èfsä©â g­YUwJ{uÀfÁ‘Xþ!6G(ÁHôGv¤w&ðÓs?‰8å¾h}«â'… û7«ºBïVª¢(w"T{'ãF“Ѭ‚öL€K5¬ fê.NxœÄ¶zQmÆét¸–ËŽ>C¾‚x_BÉã(µæø¿§‰I“Ø‚Dw+t•–š„¡C€þƒ¢KSþOêé7ÔA‘7:ÇWLàºìýЄ‰ÒG(»#ÝøÀgL‰AuÈ ‚ã¾%®IÇÇî§7„Ø'ž°*MÞU Ðé®)º <ELðeÀÁÃ>ÏDóÆHÕR¥sAH´l¹­ô"å%ÔíZR:LSò$£à‹½½:ý&²Öt2üér|E~Ñ"åÝ´n'¢Kw„ÆÏ¦ ˆItv«¥lšgÛeùWîÎÁ.$ó©©Qç›¶ïñ›ònÕ‘íõA‰–î¥V5=sIP=Ö0¶r˜£äUhJPO¤ˆ\ú=-zY¥+‰U"vÊ‚ÆÈaÌ€lïy‘Æ\ÈAL7S}iPõªv{œ å>e'à÷¸ ˆ‡‰F$/PŠ.ÏËeà–ïƫ%BaïnÕá%€2ò†Éa"Seµ¬o×A!é`é‰bAô{œ`¶—=Ýmm=¦ ÀK÷ìИ¹ªû^¦Ó ªúÞ¨}ÓBëžÍÍÔÏ2U”ïÝ›Nƒ±æÃ“‘pñó§ÐJvõùÔ a.–©ó÷×gÂ'˜­È닺íXv¿ÆÜ£G¦EzûV_paEvŠê²hU÷‚ô'˜(†ÑðÝ)Ó«§ƒôI¸OÎPãBÊSÛ¹Ú§iÄIj‘DѪ͛ò¾«ij†¥gÝ$ aãËat×¾X^èU ޽‰„©§ÞõŒµÛþÝ`h{e'RgzL/©R’¤îÌÀ áNýd´iúÃ~8£YpyÚ )€Ðìwœ¹Œ r žc'¾>–žx“Œ“ŒúÌO]û¸l[#žš¨{-®Ij[8¦h>ÑǾwÔmè=õèF¡s|Ø8D,yþ¡1Á'9î5˜^b¦ó1üá%Ò@5Rßù|vÆNÏ?ÜGj¤úÔ|Ùp{ÀSŸøgEI;w¼o Ï•XúÏã)«²Û·aÄ ÿK»ì™%ªŠA<^·•¼RûÖb ;ßòk Ä’Éôµ¯š®4]×!ù¤Y?ÁÜ€ôJ§‡ø›>#kQäIËÇ~>Ÿ£;³~€ñº=0‹-{ÈØ3—ž@¯es ï"£ ý¼S<œ*±Œq1êJ¤›¼ðš|Å$Zƒy²#«vú›³Åì'üüÞ³Íendstream endobj 15 0 obj 1975 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:09+01:00 2016-01-27T08:26:09+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000004415 00000 n 0000006375 00000 n 0000004349 00000 n 0000004027 00000 n 0000000015 00000 n 0000001939 00000 n 0000004480 00000 n 0000004814 00000 n 0000004749 00000 n 0000004681 00000 n 0000004521 00000 n 0000004551 00000 n 0000004187 00000 n 0000001959 00000 n 0000004006 00000 n 0000004601 00000 n 0000004631 00000 n 0000004896 00000 n 0000004952 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 6529 %%EOF curl-7.47.0/docs/libcurl/curl_getenv.html0000644000175000017500000000475712652070414015304 00000000000000 curl_getenv man page

NAME

curl_getenv - return value for environment name

SYNOPSIS

#include <curl/curl.h>

char *curl_getenv(const char * name );

DESCRIPTION

curl_getenv() is a portable wrapper for the getenv() function, meant to emulate its behaviour and provide an identical interface for all operating systems libcurl builds on (including win32).

AVAILABILITY

This function will be removed from the public libcurl API in a near future. It will instead be made "available" by source code access only, and then as curlx_getenv().

RETURN VALUE

If successful, curl_getenv() returns a pointer to the value of the specified environment. The memory it refers to is malloc()ed so the application must free() this when the data is no longer needed. When curl_getenv fails to find the specified name, it returns a null pointer.

NOTE

Under unix operating systems, there isn't any point in returning an allocated memory, although other systems won't work properly if this isn't done. The unix implementation thus has to suffer slightly from the drawbacks of other systems.

SEE ALSO

getenv (3C)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_add_handle.30000644000175000017500000000623312626067776016500 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_add_handle 3 "4 March 2002" "libcurl 7.9.5" "libcurl Manual" .SH NAME curl_multi_add_handle - add an easy handle to a multi session .SH SYNOPSIS #include CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *easy_handle); .ad .SH DESCRIPTION Adds a standard easy handle to the multi stack. This function call will make this \fImulti_handle\fP control the specified \fIeasy_handle\fP. While an easy handle is added to a multi stack, you cannot and you must not use \fIcurl_easy_perform(3)\fP on that handle. After having removed the easy handle from the multi stack again, it is perfectly fine to use it with the easy interface again. If the easy handle is not set to use a shared (\fICURLOPT_SHARE(3)\fP) or global DNS cache (\fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP), it will be made to use the DNS cache that is shared between all easy handles within the multi handle when \fIcurl_multi_add_handle(3)\fP is called. When an easy interface is added to a multi handle, it will use a shared connection cache owned by the multi handle. Removing and adding new easy handles will not affect the pool of connections or the ability to do connection re-use. If you have CURLMOPT_TIMERFUNCTION set in the multi handle (and you really should if you're working event-based with \fIcurl_multi_socket_action(3)\fP and friends), that callback will be called from within this function to ask for an updated timer so that your main event loop will get the activity on this handle to get started. The easy handle will remain added to the multi handle until you remove it again with \fIcurl_multi_remove_handle(3)\fP - even when a transfer with that specific easy handle is completed. You should remove the easy handle from the multi stack before you terminate first the easy handle and then the multi handle: 1 - \fIcurl_multi_remove_handle(3)\fP 2 - \fIcurl_easy_cleanup(3)\fP 3 - \fIcurl_multi_cleanup(3)\fP .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. .SH "SEE ALSO" .BR curl_multi_cleanup "(3)," curl_multi_init "(3), " .BR curl_multi_setopt "(3), " curl_multi_socket_action "(3) " curl-7.47.0/docs/libcurl/libcurl-tutorial.pdf0000644000175000017500000021411012652070422016052 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXÛŽÜÆ|Ÿ¯h–ì´Ù¼3o¶a! 6–M`k?pÉžzIö˜lj4ùåSò©ÓG’_AZ-/ÝçRU§š¿± Ò÷³î7_ÿ#gÇi²ãæ·07™ûQ÷ìÛ=(èÂþ°±ï–G,/c^”lßo„(yY¤lÙ<]ûRÏc·Ó³Vc[u?ñÏ[æ®nwQòP¤ÁyTDZêûv8²/¾²ýeÿ×Í.ä‘À5B(/SŠ"ÎØþiüðÍöQã®HyZƈlßl‚¿}¿ÝÿºŠ9 yæl'"ºR˜ŸEÉþë£`ëÈüm»à*‚B؉ŒfÇ·/¿ÊZ·ô"‚BŠž¦yábz/éfh3YŠÉ“„Òó‘ñ0,MtûS;±FÕs/Í*­eÖÓŠ5rªÇöE2}’ì(9Vq;Ôí¹“«††Mª—쥚ښUgdSÕ'i^®Õ0µÙå$ÊsGAÑæOØ< m¾ÿãs°äiõɆ³=öÔr+t;*ƒ÷»ŽèÄúªº+Sƒ í;ÖZŽÓÅ(+x&¶´‘ƒJU#έOÌšõíñ¤)h,tØ BJ’U;â÷‹ÄVX]aùтï»îìsà6¦UÓ&(ËdßÇO¼nƒâ)u£Lx…:×yi“ ìÕi®:ŠHu¢ûîÕ$åa ÷ÐEáÕçÀÔB å–Z_YÝ©Iv×m–ج¹MEà÷Or|p²³'ë2¶Úà—&5(x­BO¥é…iÝ\\º˜ht8Š\^jîlwukZ6Dé¥zAË«š™ )év +#;« ¨owiZð"Ì‚ŸÌ~”ÏË‚d¬a’eCù!—Pœ<öðI K“¦åêƒ_ÈjŸ^â,s±<_£…`ªl>¯ENår¿¢êó´'t5«aB|“å‚ÛžU³&j-:g¡€]‰~‰ÕsêÀVñsè„£ ðž ™UÅŽ‹È弡ë‹]]‚3j”]µÝDü¨ˆ&g*¶UƒÃ<Ôö7¯ ƒd;<2HF5É R;â×é¼–3ö8Íxæ÷Fyi÷÷’õ7З<ÍÊr]‘©ŽrâŸËg‡{áôóÛ¹íû^·Äº&Fi³ ûj°\ÌéV½¬„H<¯Íšôˆ½ÞèzÊ‹,™»†ä ·èNsQf> lë0^]‚:µ‚øQÄ`¶k Ú[Ÿª³&mØL`-«Ø?‡ö›ôµ#¹‹ŒÌv¼yÂÛ98±~TÜÏ“ÌF@øc±\ƒ$"hOç>öóv ‰o2› ±M× CäÑ ¼F_&m•¤Ñ(päv˜üDiÀ½¯7–}uuºŒ'‰ÒnÃ{ý•Ã613¾ Þ·£ì ³lÕÎÎM ðïTn;/P?ÚZ·3tA@ð/uk(îŠi'…Ís›i=Ô²1I½æ½6° üáaêµír¹-šól×´¨7 Îsø„’A ;UWÐ#à‘êÛÏ“f“Ô·:‰ä^$)ða>ØÐòÜ„Cµnãdjo¡Á¿$.2Á£Ü¦;ÔÝ !9W˜ÐHô¬0÷‡Vã•&½‹ª& m e=ÉÞ Øƒñ@°Ïñ/Væ HÜÛ%­TgpóbæLãñb°³ËŸVãÑ Yð‡zÑ/Á˸ôŽhÙ™ívõªãdwÏí37mxj‡×OrgKL œ@7CGÙŸÈäœ*ËØ¼±Š+}³V_Ë ‚ ¥8¾Ú¡¥Œ«c;çžÀMü£±*KïP@1¿÷áæ÷J°"îÆÎލ2âY¶¢y u=kÌRÉÙ›­ Žg" ÁCD Ó\׈ó ¯Kbt#wji*Wݤìmc衱[J «ZB: ñÚ³Vë08ÎrhhºpöÔ¾¢ŸTz”zšñØÏ$Œ£5h!PbeƒÞb‘wïžnû?:5¹ ó÷I=à’.+[ÿ¼l{_ÓaZkC–/V!*Œ¥ ÈýCS {ûnUÒ5g õ@þ H!ÌŽ!ÊŒB;c õv¦hÒÞ28¥G±9hîcRo1%<,|"Ç|„ 3ÛúÄøÔCê[À‘Tf “`¸<é<`…mkâ2"§Íf¶(³{ê"`‹_z£½žåÿÉRTí÷HJ}LPúS:Æ~‚zL9¹„Ú §­úöß(6Ò¤ùn¼/R+Ýy‰’ø¡}]Iw WxáĤæìí°X,HÔp´Xgïíyþ¥Xô4N­Ò[<FÕ›K.cj)„´–¼9È»ÑK‚T”Œs ‰0ów"ïgLø|>«Q7‰¢ípL#{_ù\½º´ ¤¢,ð§ùç5¦`a<¨öûß™]ßà?d&H¥ìNÒš÷(OW'ͬtzsc$†…94‰¬ *r‹Ú:e¨$N$$ÚeUF¹Éj§Û^>.ªãÍü‹;ôáLžz&feä͈¶bD»‰Ò$]äĘ„a™®™äúQð(þÄ…ÅZÔaX ¾e†#½‰éàôgÌ/ÆÅä@Z ¹%ãuÇ9ß&Ç¢8¹¹ãµ –d$JÃrM½yj²OöÐG\ÉØïð€!ä÷O-§FrETåo$O©w  _ï|½ˆ"ž,J*¯þæç*{Y9°èΉÒZˆëö´)f¥u5¡tv‰‡Ëº•‘75¿4ÚBƒN7èàãmŠi¿q2ÖMªØÁ„Îw‹³p( ãEt¯‚vô¹â95¨éhKûÊÖÜ¥ ø÷°j‘È î?\<µÂ Ö¯›T"Ìœ…‹Ï4®½C'd9‡î°7ùó~høÆ…RÚ9M úêÓ¾Ç|u!â½Çñqú ǺÑÝ ¦4¸ nÝ»ÏRÕ¬ps€–Ö£ºWfŒ;ìQº÷1p£QEGƳ¶ŸžHî<Lî|†ªš\Ë”4”¬k5Ò‰®»:š”vpǨ_”g¾V—m¶GEHµ|ñ³ƒ)å"Z8u8,ÈÉ0n‡7” rm‡ÇKÛƒ³% }‹YA5K­y¨™ÊX8,Ÿ1… ä=K’ˆþ÷Ù·¼;†ÐêvLW3un.ÍŒíÖœ*Ψ۪§¯]-ýOÞ'–×YÌ?ãp¡lC†¥Œñ7…Ìÿ´þ&%B¶ðå½h´&„®Àº|Ô’XÛá¦ôÒ.˹Ú(e\Þ9AQšMu/éæö;yf`nn&ËÍ@Ð…ï÷›¿ãÏÿ¼zWäendstream endobj 6 0 obj 2542 endobj 13 0 obj <> stream xœ•YÛŽÜÆ}߯è7q‚†Ý¼çÍ6CÁÆVì5C §g‡‡ó²ãÉ7è£sªúBÎJb,Id³«ºêÔ©S½¿‹(”"¢ûw}ºûëO¹xï"ñt÷ûä—ÂþUŸÄ·XPЃÇÃùFŠ\‰¼ŒÃ¢§;)˰,Rñx¹{´Í®ž‡v;ÍS?4Uû>ˆßo„}ºÙª4 #™ç¡ªÓ©éžÄ?ÙüçñŸwÛ(T6j¸PÂ…°LÉ‹8wÁ›~ó ^ã­”a™d)\{ÜÓrd˜ª]«Åwý^‹¦•x³Qd;SAoß½ÝäIXæY'íž-.GUI¥q*¶Rñ®aÓÆÁãQ‹³îÏø~§M·wþ‹cµyü|–©q ›[—ÂØ|üŒoi‘ñ: Yú%vÿy‚¯ußÍ^ì¦>Ð'yÙzµäåFL½8Ui• SzQß%I˜Dʬtë–ažJ™›ïëúe#)6I†H|=…«­†,ð0Ï‚'-ªS?w“èbß8T&ÊØîô »‰DE˜>p&ý§™(ÝãuœôiB§»MÃQÏÍÐw'ì1†&÷2䃨„“ý+%[…åž.}è‚ySZ’ú(IZŽ(´ùLMÈáX4Îe”† Ìøo,”«+G¢mŹ­&NOÇjòÛ s7bI(€‰!Ÿ¾k¯ây#Sª,=\ÅAóyØ1s „Ç…írZ\Ïi…KYÓõÁ`Ë!K¸X¬À˜Jƒƒ’©^Œo”BKŠÊÉ–Üг˜2Ì–ð}ê¾ÞÄ‘ ã"Wö”½A­È¢ˆ]PRúöúYü6“ƒ›ß2Éô,ÜÆåPØ9I¤36#Dëeh&-®ýLGD}ž]EꮟŸŽ÷ô &L$9ˆ4Ôƒ®&mÑ‘% ŸìÊhËQ·àŸŸE"ù{oÁOè“8û¹Ýw¯l’Lé–`4ët0«â‘(A—¢©?³£‡¡?qðCZxÃT[• ¨U„… Á÷m¿«ZñՕÿ" ô¹2)|Á@q¶"Ÿ4[ØÇ¢ùD‰hºfg6ÿ¢{ Jèv§;Ì]M[cÅtOl»½Z¦H¹–1Kiá„ëÜÉ,ó„“rY²“®€·f²ÁŠ}ß!}\N` ‹®àªžŒ9° âO$ƒà¾«õ½èˆÁ¦IâØ`¥ô¾&ÚKTQ~¡\`¥PrUwóUâ›Âé:Ýà1Sn»æ¤GNaÓMthΣvªáz³«ŒÁžÞdøã²kÆDÈ‘;š)œL€6 ÐmÖ^¹¹lJ GžF½v³”®l‚njòè×àrh(!WH›º)À£A^F“yÝÚT ïE¨ø`pð°ó>@¯¥ýV‹PYQb9QAž'”;5ùPW­p È<×h¦ ãñ²fbÉb}&Yf|¤.³÷.W#‹š²vËÅóõJûùç‡u†¡"2GúB™‘,B•åÊO Qa5’¯<ëÕv:7-(j·1ó\ÌM; ÞꎴÓ>?­kʪñ÷FŒ9SžT’³g|Ò[ÎéU}GÐS¾Bo‹¥ônÓN¦ä¿\5pÎ'ÄáŠq`B¼¤šè’qbÕ.-åJO'FtZïGJ““47ÈZïø%ì`ÙK˜X8-Ðð¸º7NîEp]òÁ&`PLMOÆ$übÄFíSË¥âÊ‹93i}Ðiõ±êšñdgM/×ÃË~«b‰x¸êû\#ÄF$,ý6/Ã$M×Á“î•é@yaD¥DÁyªvëô¦‹¨T…‘µ^£³‚»+g–„Ž1éÜÆ æEó?u5^? ñ4Ÿ}ÁÑöY¡¤éш»5Çç`YrdÓu5B‘Þ yôØIiT;P0µñYÔ|¬ô1Ìj­Þ'¤ Bñ¦…Çšr­]VÎО<÷­ny蜬Ž#D¸»Øèšš¾ìpSªœ‡Rfh6Ã2ÚMiÎɽqZÍ ÐÙmß=  //ÌîWZžâ轇ŸíÖØ¨q”n>û¨C—™¹­ñá§Ì|YKf)=h’ãáÂ*Ir¹?Ÿû‘æÄþ`ú3µ¾bE*Ï,Éhæv=¯'Ã8ÙV‹Aß^Í@lÄž|žÝ}37ÆÕÅy™´{aÏnwÁ5×õKÐJpc¡þde%¾ßÑ‘èp[;CQ¨üÕJàz:OQ˜GæNè' ƒ²É%y{›O ¥Šÿ”GE.]-£`>;"T„Rÿ@V¸@·/•oNy¤Ö}“ô±M˜âÛ…,ÌS§Øƒç~•/¯ñˆ2I ªˆ?Œ hFé>¼ŽkUyûÁJQì´®¨AÜ^/–2¸%P;yòÙ%÷t7õÿ¸íT^ø‘jšÍ=[¤x´r´ófp7 ’¯ÁrȃԊýó¸ŒËUÆÛHo3EwœjÕër«^3å­øe§Çi{0´ÑX¡ï‰¼\(hò˜DÆDÔ¸%ž¨ êy ³Žžïø¦•î¿  öfÉû,‹‚( £ø•áªÈr24VÍ×7ï7¡øöÊà¥Ñð»˜m”t÷šï Øžõà;àˆúŽýr‰¼„¢HCYø6bþú¨ë¬† ¥©”qàªAÍØk”Aã°"3NÃ\•çÛ=g_æ Xï%ÕCÿŠOOtÛEkÏÖæ>ÄÎÁËü†Gˆe·º Çäx¦;+wŠ$˯cl \Ùñèñ"–QúüEðkLUý$`ãdáˆz#½Ôø4ðUÓ4`–­¾@í]¥lf^fj Ò·Ó^¹½K¨1î>[1icÚÓzJe*-çéô<èOðÜ(Ë4€9j¼öÐZº þ+¯ ^™)ùÅîE§¼{Kã]ÿ KÐ-D ÌU7ô0ºö>^»ú8ô]?›ë]ÛÄx9À]gÕ}‘3Ñõ… `Õ"\hdŠúa^lÂiEëš´£¹ffó¶íM© tégPe+†&X(¾†~16ôϪÓäèr þ͇;Û‘¤è½MžA¯Ýxî¹0g–·_ü3)üWO—Ý;S2<\òkãhŠîåýÌJŸy¾•ââ¶Æ+sï‰"8VgºG:̇Ã:¼ôÛˆ Ó¯ Ë4øMhë&ñŠô%ÜNú²€²+o+K–£X¶þ­Pð³> …ùeâ_ŠüýñîßøùÑòŸÚendstream endobj 14 0 obj 2993 endobj 19 0 obj <> stream xœµYÛrÛÈ}×WLù!]Ô÷‹Syðn¼Y¥¼vâ¥kË%m¹@p(b 40´ÂýtNÏ CY»yJ¹\¶ÌL_NŸ>=úÌB±þ˜›ýÅõ»‚ÝO!»¿ø|©—ÌüÓìÙw+|PÒƒÕöB¯‰X³¢JxY±Õþ"Š*^•[=\Ü]»nŽcw%rÛº» ’»3OWqò0Ê‚Ã8Üõ~ßö÷ìÉ%‹_Wÿ¼Hrv…¿« ŒS»÷Bl˜ر߈q’uŸv‚‰z:±¶—bÜ.": ̓ºì+¾Y²i`‡ŸÖ ½lû£`£¨7tôvÙZH,ô¶Ä ®Ž¿~WÁo^eä:rå¼$s‚ñ]'Ôá¯èpëàê·‹«¾i¼¨©•1­‹x•–äJ°‚ôuHŸF%²¢DhÉUžèonƒI<í^‘{KvŽlœ¤r”5ðJ z8N¢Û²º×+wÊVÎ>(§â¢Âù|V¥ìÁN*¸C/ÌQ7;µ‹ò,® éìMœUÖÒij‡^Yô° <EÔ½¤l`ø0î9û®žÚ¦îº“Î./h9ÜÏ#@ʤ`yšã¢OÐϱó´ŽÝ†—ÇvšÈG™ZW< S³ð‹pV<.«Ò¾O/AA™}è0ÂÖ¤¶T&° JJë°A¡ë~ÚŠq$¤ ¬%%,›^(ÿfsˆ§Ñ™51Ïž°gò -¢ªŠÍ‹]=j$LõÞ¹Ýö8­“íAáܘ¸2:ŠCžÆì*NÕâù ì¡•;k…ýŒÞ›×c„åôäcÛ·ò.¸[üU`^ò¸ÐP¾‘¨'yûéȽŸ¨Êä®–:ÄãИ &ozŠ$ãyâÀ|ª]ÿ#Ù$Åá›PŸ´Ëñ  MÅÛÔæ&Î^ÒWÚB³›Ÿ±@…kb¿QrjÖ ÷mè@žxÈ–ã¡Ùä2¼˜ÄØŠ‰ [÷Ô†ì‰,Q$^_†Å%ÐÒ‘ ´`D‹Úã䣹 cëgF_Ã6daA‰H:Šm8(·Œi°Û¤åHÁ¤Ý®ßW†Ë îÚÒ™Ó† aͤXAÆEç¤H“Т’¯|3ó8²/vâlý9`Oͼ*æ)¹ä¼‹4­ôr:¶ÎvIrž»ƒ9ïBŸ„•;›MÇõ$>‘,]E†àF.»¼HuŽŸ5—+à¼ëÀïl_oÆ·&®£Ø×(„ˆjˆ’o Htêy­âœÄ ¯fŸŠ4UgÑb xöéd6í–>/c#rÆx«5\Ò0÷y3Xí|ˆ2îZŸ¡%©lY¨ƒA“l›O†ërµ:&:·°Š¸lj³Ÿüî?ÚÉòÆH±ä¤±õ Ũø'{ 6µ[EÊ3 Á2ÈZ«€àf«Ê½&âщ/Jel ^Ž-ZO?ïøÂ8q hvh#ª×eU H¿k?Ù®¡÷ÊJž–Ö­[ÔÑ")𨊂a­¾ u‰òÂUäIÝbè@Ä" ¼ƒnIƒ/ípœº“ʼ_|5£¨tÂç4Ýt52#\9^Aypt,“è[¯"G˜1Ë›GÅhŒŒykj 2°§Õd̾V¹Oy+ª©2^&…-ôjÐ8æUn{í¨qÑQÛKvPGPqi/ÐnOÑÎUT¨fDÏ~n޽«#ŸÙMȇ"·É4ˆì3Û‡~Ò‰y—V•–§nƒÓ°ˆ ¼,Ë`+½4G<˨‰ãB¹»s€Uq4o´£¦úl’ÔŧgKv”Äš¨¶7µ¬~@G€¤Ú0ö»¶>IÉ/;¡Ôަ%´ë4÷h)4…@'š\Óõ˜'<‰Òò±7xBCþØ{ٹļÌSKзq•€£Dz’ƒ*Ɉc<ÆÃAëB{HUñÒø„KÈ)ÔÕyÀKG*5xéHMïC+®Ö7~§È\­£A\ž­Dv‘ìçEPªy:» vå < Ät3ÐñH²` Ä@fçb@‰ˆúpè E ¬Þ’þ_ b@Dþ6ýU!2>W0Z=¿ Þêº!ÜPkR²~㦆ðMCA烈޿{­dbH¦fAâ#1ƒ”.2ÍK9@fC_(ä\úÀ‹]Ž‚ï±öí¿VñÏEWR›ñ¸&ÖDßÃé©Ý·]–9¼Ðº&¤]-~‹HK‚Þ‘Köl'åáÅõõf ÆÊ!¤®Ÿ=¡ƒ×Bšd—¦¶Ñ]ï ¦³æw6Åv šŽ{a¸ùa×*åk´¥iˆ¯™:Fшö‘ÏÑ¢ÓÔn›ëm!É™OŒ8‘w²pˆj—NÖnH?~%ÅFzbÔK'd´Îcˆ6!†È“™!òD3ò=°ƒTàìç¶·‹Çû¡û £TlíUùK“Ú¤µ¡Ã‹j³íŠÒ+Q–ƒåX´§ÄŽT6ž^ -Iéü™ÓO8³ÚFµ÷ꮈF—†òV‰Tߺn>ÍÞŽ“åý->!¥0.à´kÜ£À@ë“›cë~À§£m§– x–Uƽ’¿[çõPÒD =ÁÃXb/Wì¥tô™y—ñ»s1g_)¢¾î>BÄéH=̲?Kµ^õ¦}뜖«aªäj d…‰þù=öp3L–FöNªÑJµEÙ+èu Ó±òAhö¨Ÿ›[A—!e¥I ÎèL¬ÁG3OÅZ?%eZ]óe°÷JzøµÏ?_â$‰W³›5ø& NLj~PÍ%’®)îŠ šŒ.í< †2ò£¢+!—1)=Êsw¡‡˜5;æ8U]ºPÜžŸ¨ÛÎÁxBó+Ôþ™/Ú_®|¢°ñxù„îˆHØ»ZÓb?)Ñâù ©J¢³kc°¼fÌ0Ôo•*¨.­ˆ¿7bë_1–YˆÎ•©Ò­FWYÛ–&æÂÇÙ$ή/’ùâ&£öT[=ÏnŒXuÛ‘¢‹]Ÿ•“š(tB‰cg ¹ÉÀ‰EáPøD‚Hbg®\ž$AvÔX‘žQZHò›E<ùpÖ§«&ت+ôõ† M7¦Ý¢­ŽÚ-©ÎnZüÏú©¯6)çwEObÑ'öÆ/0Ä6ðôY˜$3‰ÇæF…Xeß®>3«R7Nèyb…ž×ç*–æ›Ô|C9ê>‡PW$óûÔ(AB›Ö)p¤V÷Aên¡(Í5ûÚ¹¡`­©L÷ÈËn^¿bÏ/õBú ¼ÙCÒÐ ´ê )è%ÍŠó†N¥ Ô\j/®ÌÁbn8û?Ô6ÍséÛÜŒ–„³äxc 4·ý·rëbž‡zL~@3×…U†zv„¶©RW§Þ˜€¯Üm—ÙÀ^*ëû·Mùq@™ïGBâyÛæ¤80•Mj „XFÕ|b¦Jµ75`ØMÜM Ù•»°1ýZfÇÙ@Â¥5OH–]ºë›iðÙ(¯Üo ìè9L¨@¢¦CWKú…ÊÕF,w9 Ù™VP>iÂõïgÐp}›nù5ª²éºÄŸ †1$²z™º—AB^­.þ?ÿØ¿¾õendstream endobj 20 0 obj 2962 endobj 24 0 obj <> stream xœ­ZÙŽÜÆ}Ÿ¯¨øEì`š&‹»ƒ °­Q¬@¶œq+B 1 6YÝ͈K›‹Zýþèœ[ ·é~0aF\ªnÝåœs/õ+sl—9ôGÿ̪»/#vìîv¼ûõΕ7™þ‘U웈éÂîp§ÞqYÄY”xvœ°]u纉ÄÛ]î>Xe±Ï†¶ÜöCß´EZ>YÞӆ髛-ÛqëÜ6Ç6­ª¢>²›¯l~ÞýãÎ ÙwùÞòÚÁª‹þ\d;›½,rvmÖ›žýßØÛšuM%عLûCÓVÝþó½Yž]6»ÿÜqÛ±GÇÀ¢VS¿í€Ïî\Ïv}¯ßë[¼ãØÇqÕ=‘Ò=GÞpmßsô‚°RºÁÚ—‚õ k΢M{ÁššýVŠŽþ]‹œí¯¬?Á̶ÙÒ:[Fvä³­Ëi×v’P9“\d³ÝièîYq‡:!_ÎÅaã’/ýÐJ‡²gYZ–û4ûÈÒ:gç´ëXQãw¹'íÎ.E’^ýò‡TñôœK˜c}ûîñÍÛw¿¼|½{x)Mñ#:fØQèpýà×»éüŽ›«*p¸ãÙA"Ý6Ë1LÌN÷Ÿ@lÇÑès¹§Ï›óÑŽòÅ¥(K–µiw²Ù¿qtä\âYþS3”99¥ˆº`©<%Lç*¦¾?5ã¾ÉhwA/¬J?ê¨Ó#o‡cl-q=ñó~3´Lç3k8»ìSÑö"reBûÑUyÄCÛ5nü$fÖ »b_ßh¯:-_õüÐPðÝ{²èê<†¶ç9NüGÇL^†;v¹Æ—TEš;®vI0-Þæ‹ûÜ $¢Ç)ž¨OÑÂ?ëfÃÛq"Ϻ c»uŽFt|ß]ïÕë7ƾ´3ræ¦ØßL¦pxÂd;™Âµ)ý‰Õi…ízʲ Ò ö©RÊJ-•Ržƒ¼d‘™V‡7)êãÓFFŒõë'~DìþüÁz-‹÷ÅÆ'¤L,$éÐÍ §f) ´ö8{ùæÍ½¬ôïßý´3å¾ö ÇB¾ïÝŠù«w?|»{ýö‡1³ô=¼šó'¾„K#K'úUfm½hçýã’KØ"·ø¬-rÂWÞ^åáåZܵÃq °\BƒØ€V>p QgB!…èl8׋m@¼®!¹—<úŽÊŒ¥øÛX†B†»«´V&F¡$…$¶]'0Èu­¦“à866ô4ç¾hêNú3øÂ§÷2‹.â…„k'‰-{=“` ÌIÙAÅwÜ‘;ðÙäŒ œ"ˆ“À:ô3g€CãÚ“¨XO´ Ó½Õa,·ßÌñË‹&6ë5 F‘ ˜)âbO¾7ÁSÝõ"ÍVƒ@|UYS÷E=H $®J3ÂBÖ·iÝDû•ÉiÝe„õWFÅð‹H»ë/$Qø“Eÿ:Á…¥xÚüe óUn¼û¬T½;€¨PÔÒÔµÈzcs+ªÌݽ¸×Àpf¦íWH“¼“±mq¹X <ÉÁã>Q TÁ'xdž=&SÔ#ØÅ¸‰žô7q0BÙHŠÀåûDÅj{Û™¸V± ·C—?cšV[lxèÚÜåVßNɺ¾˜ìzv@¿c}«ËçIŒµk»®§ê7íSˆ¥_:éæQɆ:£zBõ€` ˆ…Ö§¢:Pª‹Ô‘˜¬Ò«¬­¼¿"~ioJ+–Ömè5?ðFï¥ý©œÉ@s…Ž iÉD³ú„jQ¬»#ö]?Î ‡Ñ2£lÈ$ä Ù— {Dÿ\”+÷âEÄ ß’ G5d'úynº® á‰ß›C/êùEÒLXÄQ1|&\TF¹±Fc #/ÕÑŸBk­VôC[«šª½h >Õáà¦/ú¦ùˆ(JTýÂf ¿þ„CCbÕPêô–<‘çCû™ÃЮ2#¬Ï€ &I5­š¡†³Z©Ç—²Pí*׿lˆ1x[tp(`HmTsÑÏzªôtß´Ê ¥Ïé`ªŽå©H'“pm‹°gM.‰ 8(²*N¾oJ•ŽH8—‚ТŸg¤Z”è]/O jÔ²I‘d†ç$ŠvC»=b[tÛÍ‹;:1) /R.êhewJ÷./:´5/ž1=NY˜ØNdT/ ŸxÆÿZÙ`5ÃñÄ`v?R™Q"Kv5‘3r ¢ápëíã7c§òîÕ«‡Ç©¿›Iôe‰kQ;7E­Û°a‡«¸›ˆJÝo\úÈ %ðëA¥å•XI= —j†ÖD"t½lØi@EÃ…ižRý¨ÀWõGYMQ–*Œ´s£d)íÈ5µÊÀ8q\+­“˜I*˜@˜JEi”8´ï•Þ“*DìÓ£Ú+Aû‘Œ áF*ùÒ¢¶Ù÷E«ð²®–ø{v´gz{õyŽTxÄä)8Aä£ÿ½Ð›à°´D&1½[ʪz#‚Z˜Él+­õ¹€º†æ5'W~C”E/z¯˜«fܬFÆÖe˪FûuNšã A Ãs(»œõœ®ýÛdÓ¾ÕYPMué x×óVy¨y![7H712µM3ªBc½jdiF¦5šx£íf0Ÿ¸Èᑊ´Ò­äÌ o²¦ìH”Œ›^ê²Isrn*[}ª×¢^¶Á!5åÿ¯ .?iR£Ëu¾cS)Òlò> ÞÅ^‘AxædšTq¨¹²9Éš¢¾'’–aïWÒfË¡ùëpÙZ ìžeÈ’£y ái */ µP³W ׿ղ¿6k¶æir@U1ñk¯2 ›mH•¶Sû=4U±T&’X®&3ú•ÑÆ@¹,uhBa“6û{±®A7ô—îÙNÜ(ÃnžÚI4–|ûZ‚œK52¼*Ä“8²`5sHìá«€Coq“\"[ì1õÓ‹£ÓX©O è°ZÑö"Á£qË£™¹„b‹ü]5KJ9|…A7Žž/æñ8l.m*©âª4Ck-[ ¡› °lM èæQzØ·Z` JŠÕ"ße_lûS»AÖ:NȑɲL^wÝ ºyãÁ&z¡±Ð‰ŠäM¹áš>†^Mœdó8ká´mdï"ç¢îÆÁèw»ÝQÅ™þhGz5„–² ˜ 1yA¹œ«Ò<8ð̪×Å$$+õ ¥Ö k±î^¬bÛwŸé[æwý,xáj#ÕB^@§A®ð!Oê¬rS†^$¥ÑB…¬â\Ý•lßÀåŒúþµäT´ÆŽï¾~išÔtp"ëCÀË®­?ßqhìq¶l[oÍDù~¦fÈVŠø÷:ÑCÕ­{Цãh¶^ ç4ÔJœÑÇÕßÉw}š'·ØÕ—0~Þ7 d*Ýv¦ú{åoŸåU‚9±ªÈ_‡¢'exì•ôD=6áS¢‡.à¨ä uRêN†#ÑMÓöÝŸ˜Ô÷å¾Èº‚:ˆ½r Ò Ç’wJ!¸š ïÙ¹ÇþÉ̃05–£o¸JûXhJï|^4nàMão‰«©ä7Åß1áüŒ¿]GÙ §iWj°¾B‘Mà> stream xœ•Xk“ÓÈý>¿¢?…6ekÔ­7ùv]R,ÁÔV¶¦d¹=ÖŽ%=0Îo ÿ9çöC’gɆ¯A¶ú¾Î=÷ÜþÄ|O0Ÿ~Ù‹êêú&awÝ•Ïî®>] ý!³ÿûa/¤ô`½»2ï–H–d—fl]] ‘yY±õéê?”›bh«~è›¶ÌyðqÁìÓÅJF¾ç‹ˆÛæ®Í«ª¬ïØ7_Yü¶þûU³þ¬·p§ó¡£ï÷{µXÿ¯DdÝ R/M³®á«øïo^½y»¾}öü‡… {aÌßÿôâýë×/ß¼žŽŸÅ†^š÷¹G§¯Dx2`+jû^…&ŸTß“]S)VÖ«­:ö{v_7 y¾fütPÛ;ÅòM3ôä-C´}S4‡ß×–W¾'Ùº¸’ïE©uœnȲOdž{xøL/|ß=S[Vv¬ÖiÀQÈ^ $¬'ãYúÃÀ Èm:O"A.Âö4—ùAf> (mÛ¦¾[²¼†¥;7ãEäóV±¾=ë4lÛ˜P‰’l%¤>{7Ôµ1-RmZ¤øÉÖô¹ŸLû^‡Â™ŽS›à= tK2ʪònß³Ï zYæK®Ú3;©Ã õVµ]OþYøh_÷ƧѶ ’"0Ný"€;¡/x3èojGdì±K\‡¢ölƒ"«ÖÆÎº~Øžu%ó#jyJ{“|™H/¡‹Þ7ܼøé)†JÕ}ÇòžTÞáжTÿ>/âÈ@Ò³ Ìe""ÚWhÖ®¼?š|Ëžå}N ÏÙªš^±weo;Àá—^³x2J.Z%+UGÜÝ ÔÇ9X•±Â_uo"Ì‹=½P5ðºoóºÛ!ÛKd`èØ ½² ÈYk|z±~Ë:ò‹b"W^™d¬àÀ*JHÍ‘º„]Y•‡¼¥¦Ó¶c˜?¯é0ÕÎ_b§]–³·ï×0ùiP]oòGý [^‚fµöÞìXÑ m§–ì+@¢K¨ð:N)Z…Ò+ 9³=@sP¬iõwZµPþ¦VLÓ2ä_ÊN·;žzl½WµA„2 ¦ÏƒæÍQµd§©Ùï<8”÷‹GW€ Á-^dc/o¦†^6û`×´Ú$Ò‡ßdÍæF©ÀÕI±Z“†=ZÄ€²mf~šuyºRCè]YЬœÚÒ¤ ð8”EÞ—M½¤4D(<š~˜pu@‹Ž@Ëë~lPÔöΦÍX7%ßœYÞÝSŠ.ÄŒöCÔ:¥¡L¬Ë:ÈýßñL•ß›À³DGˆD–¹NWåBf‰5ý–~äM?5| À6.¾ê†áH¨ÉÕPÙ²"?6yq¯é…ž¨gS±cSÖÄ.¸%õ˜wºÑ¾Ë·5rLhn¦ç„Á/-uûf8€Ëò zǸJè{ì`yjã±Ì2ð’ÀQ­=-ÞŸjÖsOÌ|ÀEâjþwå¿ÔmÏ@ß÷#/öøöãÍBú|ØûÖt›Å™ ØÚ,»Ñ3‡CWs$¼döü8ª@%Ÿq®HSnÙcô]{ü¸ø«)BJ/œÍ^? E+¶ÑïúAbsÝáJ¢9dcz2ÀlJÝìvähêùé8Jél=vøŽ8F±¯¢CÃ6Ž‘,Z Åcƒ3KX³Ó?ë^–hð0v9€Qi§L˜øB!½TЉ³ñuòÁb¬Õ­ÏòC×èS«üKY Ë«f@?Á–ö ÞèÈVõC[“Ÿ‹ð¿'Ö Diä±G:¿Æ•¦d^bƒÿ°]#4æ‰Éj×·C¡= ~Õä1Ao$j"3Oi(ÆN‰ä3U#&xõÈXW– TRªvƒÖñŒk=;p…—øã¸ãc‡9t Ñ'S:n‰éoKsì?rúaý%s:ñæùÓgN.uãÞŽmHÒÁzÈüÇ=£|P’·z‘e2<”š\ùÓ5{:§î9sR…/ÿ2q·ô’I?}…¶D®¬_H¹f¿•„ÖÚAÏ×j®$£!@&F¶3„øZSõö'¨ ôãDßþû·¯Þ,«qž>[2ñÊ5¶©Æß©RüéΆbÐ^Š"›‡À¼€l©ÓœçÐ`BÚ”à(ûQeëÁ§%½t mêGôpôºWؼð~s™l÷Žz@Áx'+¶fA“kØ…dæ¬Î]ƒ" ÉH¤ÂM¾%µAlC»B^_úˆDÄΛóÌH4Wµm‰¡©÷fpäöÃInß0!¬Jý£¾Ì"çÝ%§GUôX8uÞ£‹v£¥KçäW§e‰B”+†°±OÁÈõ"eDjN|q¾¬à`Ù›®Ã„›i—,Ê´¤˜Ì™º¨„§ZªërìFBƒ‚;Íÿºq°˜íóÎÌ?ò¦­‡—µã­°½`ñv­¦¸Ü¬ï•AÝbÐó ˜6äíÅšÇÙ¸!™ÝRGðS•4N)$J'åµeÝ@CLͤÝL_Š 3¦í­ˆS€v²#b³h'z|Nª!°ó³ +VrÌâ¦ëJpyyA üep¤÷Y}»ñ9r™ML¦ØÄwg3úC:?ðe¾€ /L#ÞÍ„8zuü Í¢Ò4踦‚1i …Ô7âÓž@ÃElZ¼&D8^MQ†C/*QqÚÈgù2]'ZÆP·ÁÈ‘ÂÜ&œ&±ñ @¸CµjçnÎ=xP=µ´¬•õL†à•`Œx˜q•†¹1I¥<÷næ î[8’kÚâ^߬"]yW禧°Ø»Y ;'¥naÄç› oËŸ\J¼Íç®øQ¹pºÎì}Q–ñ¦ÝvîØ°œda8Mž_r{O¤NÍï‰fÓNEŽWT6âqÚë½}ö8õ¤¼Äúhéïu;_À“@\}Jºñ"`’~fu^)MF$zµÆAH;æäš½ÂBøzº£¡ÍEB–òÏåT8Ó4 5whóºÖ(mìv 1bRñàJÉ"ydŽfg8¦Ø7eð:IGó%"8u˜Ñ—³_¤À”üí9ؘBÒÍK~Ö2¿ƒ (wú¬òì’†ý:³ ÒÐÿ ] LWžÄ‚MÛ›<껓鬇)%M¢XçÏ6ݰ”}§;ïrÙÞªÊDÏ^G(v…"@£,/ œ„®8œ§ëáÓý‹k¬õ¼øbàöÖ…î=zLžKÙ‡óæü3Ù`wí4IJ3©—œ'×׬'&xhpxû7en;A FLxES]ó~mÇ@JÜFªf€Ô¤ñ¾OdÚUˆä¹ðçïÔ‘IЪ!¢ñCуçë«à×oO®endstream endobj 30 0 obj 2682 endobj 34 0 obj <> stream xœ­XkoÛFý®_10vªßÌ~ro“®›xm/šK¬ùPHʶþCôž;’–]ÀÁ.Ò&69œ¹sÏ=w¾3ÇæÌ¡?úß¼š½>غ›9l=û>ãò%Óÿäû9Å‚˜¤73õ g‘ˢijㄥՌóÄN‥÷³¯VY\ç»¶\ö»¾i‹¬¼²¼«9ÓOçK7pl‡Ö¶mÖmVUE½fÏ~2ÿOúëÌ Ùÿ§«™cûAB'XnؾٱZˆËêyúÇ̵z—ς؎œâkßÐ;‡žsµB>ÿj­V¬}/ÚŽ5íÕ²]'ZVg•`M˶Y×ÝÏÉ¥(J¬¦]-äݦٕ+&j|Éú¨ØçóSüš7+%YÇþþå‹´zq; a:w¥é*0÷Ñ öå +:–±^ž¸al5ËU±.z¶sîS }ë![‰¼¨²’Õ»êZ´ó °l¹·ë³ôÑð¶M"β²kâ:çBì‡Ö]±k¶}ÑÔëÖ‰žÝÍ]’8®•µE³ë´»œÒ’äng³t#&1ÉêÕ$('W‘ÉNS`»‰«L¶ù2S÷5°~…ø Ò”¥Y©CÃmßWYE@e<ó¬ÆÚ®ÙŠ­a.™|_ôŠ8íðúœ‹Ab{>Õz‹¯?¥ß>_œœŸýþNaH~0`—s›±ZO'Ç*1*@Êé¬óNÆžµÞUȵtö#zÃ2ÅnäØ?H±†È5öaù&kÙOô]ƺ¾%œmäæMÓVYÏŽ(Ào†¸*(´«#›}¨ñM•Õ5P·*ïv@Hö@™k—E? <±#ž˜ X›¢{£Â´r- 5xNæY·ÿ†°Âí+‹~Ù ¿¥X°ƒ.ØQµ§ü¿ÑÈ[Ñ]Íÿ!÷%kô¦Hwì+÷ëK[ä°LÁý?„2'ò$~ªb½é)VTÉTË=ë‹Jt *ıj:û5ªâ)ž;œR÷ÅR†pŠt:Qd "Ïz!+´媩ÄÊ äa/Ñ$‘kôQD6 wìFîPK4hœ(Ô©¶knæ.•œëZ7dl¦ã €¥})à˜9u ☪1>ñÙ¹ 3HL¹í†‰æ/ëÓ—G¼æ9—”¸¥Ê{ÛadÐiMëAi, ϳ=ž ìhA=«/Ô±ou;i¸<Õì(6§Jä[T!ßwÂÞUQùˆõÓŠEǹóë®õrM*ˆÑ /F¡yaA„?X³Ác×FOzš ßv¼!“—/¨"Ž,%ƒ-)Ì+zAˆÞ¹¡m¼ï²r8Éåæ±kû‰î» †ê‡}®‹vÔõp"°±ê²=  2j$ý3=9¾{žäYz[î5w)îó#{`p„3‘…ÌóáÔ#xcÛ‰#ÎG­ iÛšj˜n·Ý6mß –ÖM½$Ì‚Àû&oJÈ]¾¡½OÓ3Å ±«ºѸ£¥s/Än5Õ„ÆBÛuŒ*´²ÛG;@Yx#ôD>V9¤]%£ù üdû4u ­vÛw«K-;¤Fr"8 Æ'éùÛgh1ñíh¤}Å‹ŠÞЂÀÍ?Hoò˜ã§ÏtwjêhÍL·QŸ[¢Ý³ë¬+rzöU[d ÈÓ‚P³3GŒCÄûnÚSÇ>ðÕ’id#sÈŠ.›æV’½¡#ñFÕ÷Э*Ë7Eoö½Õ~ÕT(9;G®qžU6k U„ü %‰0½ÔøLqó#‰¢ëoªuLé—%“„Îtec…U­>Äj…8ÆgÉ_naÝ v=$´öÏ¢–RªÓZj¤© '¹¦¥ Y¹ \P"×½œ\rI¿øý±].Úqâ=5«P•€Fuµ ÖúÉL…OÆv·“wéc¶p'êÞ Õ$@4´É4ëëÓ#(pŸaè•8ä D6ö|³Älf¨#\µí‰•V Hºc4×rV :,zÙZ’ôB K ã!y'!Ä;ž ›©âî®–ÍØ³£PI åíÇÏDÖÓ£^ YÐBÅ÷íÀ ɮáڃ§¢G_ÍË–:õjðñÅÅ©ìœ:…ºur(ˆ—tÎÛG±GRC>"Rv,KìÙÍ4ò|\¡ƒB5Bí¦o³º#¥kë]%e.yÙq<¥ü.ÅP:î‹%Cåk¿‘ ™•ÛºQ:žct|â,È4eðÿîívZ~Ql°è.©;ï1éÀÁÅ JÚ5é º M¢ÐÚe¯Õÿ&´`ïŠ5™È>¦§¿áïñrÝ8`Ó+ëâìãÉ/Ÿ®æ6»”¹óÀ¾43¥`¢:œ^ñÈ×^RdZ(7=Pç>¼áCÄL9 ªØ¨}°¥$ËHKëøó´¸âQµ¤ïŸѦɨ_hÌÓšÈ×ÿÑ;³©Qz¨¥®óŒeõÈØ_ú^í2ÖŒù9}ÿí݇_N.RÃæKãÒ @W ér£$´'ÓëiMßviBrcu}Á¡õLPcwárïaªP%¯æ1°ïáæû­¤’, Ãd2kV;(¦H™©Û]åš…v8±ž¿cɽü†Ìàãà’lš‹h’‹¿@‰?U¹zÈ*½1#2ÿ§‹¤%üxr—„õZ—^³‰õé¡”zNTÙ#˜Œ-}ÏV"=ù*"5¥Éu±];€bË\h ÅHÃK+¤'éìßøó_ã¹2Uendstream endobj 35 0 obj 2809 endobj 39 0 obj <> stream xœÅXÛnÛÊ}×WLýPSDsxgNÓƒ\œ&…ÏIj+Ú¸0(r,1á-$EE?!ݵçBQN€ž¶EØápöìËÚkíágæØœ9ôGÿ̪ÙÅuÄ6ýÌa›Ùç—‹LÿÈ*öl…bz°ºŸ©=œE.‹Ï޶ªfœ'vlµŸ}°Êbíºr9솦+ÒòÖònçL?/ÝÀ±Xm×lº´ªŠzÃ~¸eþ÷ÕŸg^È–ø»ÊgŽíz `=k†-¶¢¬i‡¢©{––e3_}œ¹vD/e³Äµ}Újí´èÐ÷í$Hôófdž†õb`Õ®жl8´¢g·ÖúÀÞ\“o8¨Â[_ºÛù‚vTé§“Ó\χwÚ¨(ÇÕ Nbµ@Ä2-k‹ì™gUÓ´géÜ€-¹«vxI$wô;n¿»5÷rŸò•~ëE÷…,pß³}71z‰:PtH÷×ËÊ´¨zô®m›n°Ùj[ô¬BtMÎòö¶2“< ‘ÁÐ$PHÿ™@&‘cÍ1Ùý"T2(R´‹ß|½Ø¥ÇÔ;vêdXyÎRÖ5»:_]Ѫð#n»ÜÃWxê‹:"(T?°oþIûOÇØ©¬‰!R¶ß¦+aÿXɵ‘V×—g“¡;‘ö‡;”ºµè?Û´ÎK±`Ïß]_½y»º{µZ½ÕQ*êÄ·C®ýúîÚ`¬²µzµ»\'¶ÇJ~°ÈêÓyöëÝêÕ݋׺¼Yýs²à‡ráÙÜÃÿœÈ³žÞ¼~~;ÿI0&9 å¥,–g;‰«S<)L—Ms‡®q¾©OÊ™ØáI)ïʈÐTŽº¨Ç‚Ð…ƒlu7°öýˆ À™¼ Â‹Ó\q'´#þ§ÁPZM«Ž)ü`©ÆœösîXi=ô¶:‚» ¡A‚ÛŽÌõ~+j‚&QÇ}Ó= –Åèó¾(' êz¸Ò7× ìÐÐÉ—tR~ô™Nä*%E™®KÅp4!¹èzv¶ýpÆŠ{†¬Q“8®µÇƒz]–*â¯Ø=I´Õt°AÕj;q/:*ºMž\\'©qóÒíX%‹Z†½}s³šó8ª¾1‘äpÚ©Îãh•;Á6c°.!ÖÔ™ÑLªNkM¾Ò¢ÙN˜F?|>’ÞpLñwH…”ŠÎP™#s ÂäÇ·6Ód{S€äTÐm3=ÙR<Ó÷¬ý0w£ö¬¦A«8<Ûó'qDJÄú~'ؘ¯^5Ãh@„Ý›I2Žào‘´‘ŸîµWÇp Á„F4ŸmÓv £ŸbÜ0Án÷A‹ Û]„då.LÌ!Ö_Ó îÑf”†5 p^Ü£ kI| 4¬‰ è“É|ƈلhØYu5ѱ —]´zôÁZ!’çµUîj«¬ÐšWO nrT€/ŠýÈŽ|C‚‹aLHl»‰Ë T´ð¢_ª V¥~¢~QŽÅ FJ?éà…Š@nzµú劵éfÌ yô4|õGÅþG|J]Önˆ§z›½Ÿ‘ØÁ€¢–/™À«kF‘û‚ö‰¶ìb¢?:=O‡”AÃØ @-nlÉa˜Ó¼Û‰ª(…ƒx¬É6B´h£Q#·iÇ‘Í'guZ‰'y æ/X~Ùð„ŒŸý$ÁéRí~£¨Rµ^¾¾¼zq³“ºÿÖÍø±`gÛah_\PT˜È„ú]œ); Fkè ªÉÔÞdTRRì!­éAº¦‹öé´ ÁÈCÖáwìÑ…¬0#Û5é‚ OñÿB¥¨›Ýf»`ÛÝögv#'L5)ÿ²Ìð*[O»B¸Aº¨É5Ÿ@5$K …ž{J®üëyßw艻|J )Fî*Š¥žÀ@4È n3çÀz¸™mõ¼©Ri„WF•¡•]‹zPCtâ3q®Ô P9J7ö›O Ö7zL»—i1Ú:¢u]ÔiwP–M—–ØB&‹.Žƒ;ù¼AÔÃr55}@k³-Æ %a”\B¹‚*Ís#ÍÐq?£!c‚ã'˜ÞË…9žÖzÒ¿CF'ŽÿýÈH}¶ê#ëÝwMÅÖ‚ò#%AäˆcèJQßZšúØËXü¶‘cÿnÐŒ÷A¹Søs]Ûƒ"ê9J"eWõˆ„—O A2—™o:Ïf7b¤ÌÉÄ‘Œ»t5ØÍå¤Q3Ó$*“Q‹®Èt1ãÔMÙñ„Êk(‡cÖ•D0fyW”Rmõ˜?›]G㋌/ÆCIw4qµi¯iXjL/¡¤×[)¹6 ‡¬ï2Ð?‘E/·<ÒfŸüúîêJrÅeÎz2yõ.m[Qç·f´t!A‰TQ‚pR¾èÿ_‡‹¯UyfzMV†‹¦Åœÿ÷¼ª,µCwBŠ8ÇôËÃòeÞÿï'¿þÛ傹ÞÕÃc©6²„¦œ@‰>¨º±’ÿùÁ4X¼º|úâòza¬üT š¨€5È}'Ĉs„ˆ>‘ž+ U준§ŒM.vh«iìý¶(ÅtâÑˆŠø8–¥ëæEa §YÊQ¶Be \Åä•êø†ÀÅ`¸ðX!ác³ZÝQBéIeW’o”º]š×tÖCnsÜ—¸ª¼ÇôÁL:oT'r¾rÑüjÆ-sAérÑ­ˆ\®fÁŸP%5endstream endobj 40 0 obj 2422 endobj 44 0 obj <> stream xœÅX[sÛ6~ׯÀú¡¥2Ìû%;}è¦î6;¾¤¶2;{ÇQĆ"¬ªý ýÑ{Î@RNÒíCgw<‰Gpp®ß÷Á™Ë=æâùf—÷ Ûu3—ífg-2ó+?°¿­`CŠ_¬¶3}Æc‰Ï’,àiÆV‡™çenõ¸ë´õÝÝÊu}ÓÔpÏFvy[¬å†‰uMç 2ËÒšð(ÎôEÎ/¡‘|–q?ÍRã…³Xã¢K§\žº§^d€¯a Ù(7ËǾh¥^;A‚Ös,bæúN_Àºã‡Õ¶“åVç©­) ~ñ4ô-YH‘ýRlÀ¦#tfѾÞb2ÄÙJÇ“¡ÓAÂS/³¡Ö‡1š˜Ç©k¢qćəŒÁ˜©Æ3÷Fc ]!Ûé}wá°Í^9œÍ¸—ºnjã À :­}¦èagèòÐê!wøíå=”MO‰AFì<ùŒÙ›îlò#ÍÈ“q´b5v}sŠ¿ã xìe6NŒÚÛöU®ŠºZPÁ:ÃÆí ÿØ®T?Nyš$¶® t†³îe…'¿žG®­°©+‰VÐ>Òv©°ýûº”Ô\·ÔókÒ\®^=:«=n(K˜LÈ€ç9G4&çžþô«84`¢“èäQBʃç'°ÇF_wcô>=Þ–é ²¥Œñ¬+? lS ˜w\FŒHbXîE9 Ã‚ºYa û Ñ¡uQ‰öDŽ-=è‘0òÎRçØãtºoÊZlºIr ,ÕŽ£ë>‡ÆÇ aÅTÛ#Ú`ì•j(£¯ðÿonß__ÿ÷ã%×_ÚZŠaë×/ûé+ܲ`_áž,t³öùÑyóþþúû»û›ç7wï~ºî}{sµ`ˆ– ô|Ï›»ÛÕÕíêölDUÈòbÁ† W·ß=Íчåô–ßu[ýy£õ³ÌÕs ïú_¹TÖ»Z¹,b÷iº¾{}e<ƒûÑ¢mã•/&¸âޏBîñ¦Ú}&œZ¦6ö‡þ¹|ŤžA xl[³W—¸U ðvz†©ªõäà‡=´g)µñ»w«çV«wH:£Ÿ> ½?øÙLØc˜@eÝñ}Úkݯld‹Mï„3 üÕtjÙLyÄc{áQLÁ:QïôØÒK>¤às°m¥¤$ñP‚‰Ý¦; ½ÀÁi‡£T¢¡úxäÉiL,Ð$“±¿UEÕ¹Žˆ-%£žÎTÝB¼F’0AÌ…åFα#ú¿P©•'Їifs3Òœ˜_莼ïHÍ$+YƒûIbT«) „Ž Aj+‘¶4áØ ƒ~,ÞEb̺4± šø *S®$¡¾ @¨Cßœši¹p‹‘ˆÔwB‡[H(Í:™5L€v“Ô ^iy‰òýÊ‚êVJAý õú‰åýcQ–¬ÛiðÒ¸m`ÓÙPh_¯…<tœËé}áÔGv㊎‡z½§²L2ƒ£×52/~Ë)±ÀÕZød¢ùЊI‹Æ±×„@—†Þg‰¼+ ¤fsÏHä(ƒìåßL¶>C³Ë ÈÈ,¿¼1C·š§FšÃô½$Mˆšåò×Cyà5*®?E|–ÛŒùÓ}_˜DÆÜšeêYÿáêÛï®î¶jtÆù"Çÿÿxè ÌÂ,;i¹6af]z\{pŠ?=£ÑÄÎtW]¾à*€ÿŒ Ýy(ª\"P1 {ÀM § ¡dŒœ¨ë¢SEN%/AÆÆø¼LsÏ ¤‡y$Àë"#¸€ÂáðÞ<µS¸pýÄ>´$¬a\:|r÷•*J¤ÊjOØH@RÃèT›ÛΠúÑ©Šygìj¶ù‚cóùûÕŠÞÚÊZl u œz:¼!p¢”e)÷=w„S ´PCªæn$Xpƒ_:ÆæHzbwœµÃ¹_èÏúd¤ 6fz’Èš ŠÌ»Þ™êG89äpÌÝÒ°‰×mùúÅȼžþ°X…ˬ«@5Ö§…÷©X½¤j ÌΠ\v\ ²é_˜—‘]sʲa>@.-†Ã¢“âW«ÙðóÝ[^endstream endobj 45 0 obj 2037 endobj 49 0 obj <> stream xœ}XÛrÛ8}×W`ýbÊ#!/"™}Êz’]Ïzmo¬Tœ­EBÇ¡TdÍÔüA>zNàENf+•¸L@ãôéÓ§ó…¹\0—þØŸÙvòê}Ä›‰Ë'_&B¿döG¶eÿX⃘,׳F°ÈcQâó8aËíDˆ„'qÈ–‡ÉƒS«l_—óvߪºHËOŽÿiÊìÓéÜ ]îŠÐÙÕê±N·Û¢zd?\2ýßò—‰¿`sü]æ—û®O'8¿ì›–5²m±tºüÁ‰ÐFD<öÃb…sùáýõíÝòóÝíýòÝÕÛëŸïÍÆzM!OpáûvI«ØÙS5»ùp}ÍEY²‹Jµ¬iÕ®‹“­kµe¹¢ÐSF»Ó–Ý€-³‰çûÜ íŽ¿šz±Ë§=è+¹úÁ?êÅ1´Ã<ð|¾À…§o¬oû+Ýv›>™#BZìÜ]$Iw€,¦T7rÚ»Ñ.Ã$¶G H\§Ý¨}ËÒj´ÙÂç‘ßvÌé•^/èó4mSdYå3è%@'!8‹#6÷b›ˆî7jŠ÷n$ÎPº«§"vð©ˆÀ”ÈwdÓèPç ¡ŽcȈß#à¼S² `®g£ª7C¬”Ã.ïÄ”…Æ®hˆOYZâÊ9kë4/ÚBUø½–i£ªfÖ§t“6ÈåŠvqÌÃØ6ÓÄvöEÙ΋Šiâ"|¶•­¬Y»I[–¥[IÖál#s¦*sâFj¨ç"^|’Ù‡²*tâV´Ø[ddèå)8÷¨ö8MÖ¨˜´ä<|»Fˆéïõùt:N~¹Åê8=”‰kÄ|ÐÃï=%B™ÖæB_§^@ ˆœ´l´òáùZÕ[3–®H©JAM%u¨šµ¬§a`¨jHƒÚ¶s/ÛÓ²ênJŒÛ7Tçãrà|]|Q(†ÀÖ¼)†wn.—W·7CQx|ªœh¢È©…€¿‹´O4¶¼ ŠQ¬H³9íqÜiŸ SIà}$§ÝF«0‚ŠÀ\·Uíq'_wMcN²CWÂÎ=Ÿ;4>9_ !ÃÄQEÎ.²²¾»™¾ÚÀ''WûU)Y^bû´œiåõHφ7Õ)Êd¡kÍÝëë0ë!˜›ç/¶Ý¶]^< ±§:‡OÓ¿š‡Ñp%pÜPüjÝ7ÉHhœ‰l]ý>8Gl¡ƳnOºz軽‚,Eµ£†kû^°}·@£ÑEY=Q0–¦‡j† ¹¦P”?™›*úV7f“Ø®Ÿi&ž[hÏmÝvÉ6ËD‚Oòûãòk7/¤]–]¼²ŠÖoö‡ÙŸ¿xò‚ö±ÀÞ¼k¯Ž"‡wRÏ…l^ø´÷°/‰ù>R|gèÏÇ3$”¥Y¦êÜú?²Æ\·œÆß]½õkv†%ë†ZòÓI |sݬ²–¡]C†.XŸÁæèy&3îºoy,Ìnä^ts³ßu÷Ne•Ù|™n‚QKôrƒÊ4ò8cëqo]Äš[aÉ<£Q­µx1¿e’ê0…ó„Þ‘/} @=¸Ù㲆[yr%ëJ}DÚw ­3'ÝÕ}Ⱦdr*ìAÏ™”*#SÛ­qú àØpv©¶»´¢UjÝBŒ²¬û{îˆy¼ $M#¨A¥ƒ pŽ×ÍÂG)kµôS‹%Bô=c»©i  Šš¬EÌÙlý`£ê'fúTC Á‰Öº&c/qæ”ÒSg­ž£\e¦QÎF/r%j¼‚éj€z¯‡º/{IÒŽ^4QÕ²Ýו^¶å4u#“uÙÈ7ûÝNÕˆåþöòß÷z‹-—wÃ¥>Ò†){,Œ%1¶ÞóÌÔ?¶õ$œñw¾Þ©> Ä 4 ÿﯩ}è­ÙÆÆØÀ(u™ÏNíò÷­5£„/ÐŽOÚþ¨W´õÑe¦ªJfzj¢,ˆoŠØßPŠ…™%axg¥`Ž EçÓÐ*jºRjÁÓ1è,úD7R:³ãÈôM¦óȾéÄAJº«RÆ«qgx§Øí—±ÅðúZÅ „R³…0” em‡µŽ³ÖÌ}x–äB®ÿŸI@¡üä„"Ñ»‰‚ó\˜žÕ¿tô×o—“ÿâÏŸÞý\nendstream endobj 50 0 obj 2301 endobj 54 0 obj <> stream xœ½Y]oÛÈ}ׯøÅT`1œá·ûÒí6Av n¬í6ˆƒ€¦Fk‰T8”µúû£{î|‘r ô%( öș¹çž{îø‹BÎ"ú²?ëÝìõÇœ=¨YÄfßf\?döG½c[â…‚>X®gf g¹`y‡EÉ–»çeX)[gŸƒms_úíb8 ]ßTÛ» ¾›3ûé|!Ò(Œxìûv»¦}`/.™Yþ:[ÀJì[ÏâŒ-ð½\Í‚·Ý|ùŸYÆYIOx&<°Šöïèa¤ÄaÉKnDaA¯“Ëå Ãé4R]³a#ÙzóË<Í‚ªðI5èék«Ø;·æÄö‡A±ZöCÕ´¬—jè›zhºV±®eGZ[W-ÃF‡j»='DÆ¢ŒÙ‚ ²…‡<‰É–`Sí÷² ÙOØéÛ›Éûíã{cîyØ ¬ív/ ôðØl·ô‘ì/ûJ),:möÄÖAGŠ}? VrÛÌ/Ljò$ÌSµ'iB ý¨ EQ‰ éýRÆiêCšŠD»QÕtºMcÈ–DÍø¦ØÐW­ÚW½lÄÓèݲhWŒâ¹ßo›º¢@³]uÒQi¥qú±Õn±Ì8–fa’f= kä1d¿0åO"Œã¼üΕ»ÀWz˸äØ4ʼnѽ¬«ƒB^€•f'k‚ÊÓœ§ï2=°³ÛwJ;™‡v%{…¿V&½€ëö²¯,zÎñ.Ê$,œ>?iœ¼ŸêÝÔ«(Íݲ dª‡ñLd¡ˆ¦ž•Âx†CWwHãÛ90R–Yt=“ú¢ þ¨vû­¼b§î@P¿ÔvÃ4ZOE'B^:†ÆfÆšÍS^ÚŒ/x¨ë1hŸ˜Ë·¸L\î„1*x”ì4‚0ËX¸W¼ÝÝ¡ÇF‚Â/DplY}PC·co„ºÛíxD™9 4OÁbB<´ñæ<Ðí~Ê-xÅ“åQ´jzYƒÄN&ÈຸÈ\A¨ÙöA…ôTaA…iotš>ì5L™Ž÷šäj¦ß\¢ÌG;Ò0-\¸ÍN¸²•¨aG µ( Ô±—ë?ȉŸãL„/°ÀÔyáËðfíaw/ûk½+FÞ䀌ø*+uúªäÐ퇻€þØ „ ŸÁfn–_o>NQ T¦«þÿ6Û QìÜ……öøÓ»˜F$Ûö{±éÔ×ETDwó¿èM…nÎVd*Íõv·ÝNº¡y9¥0ö¬: †ÚÁѽ\wx„BÖÜ6rÛëŽÔá*GðWŒ€j‡XÛ0AÓbŸÞÓf6²°1iUÍ®ÙV½aùF]»DýàPGß…ùsðé·Û7o~ÿ;ÂLa¸&ËsÝòãXéêªB飬}H&øe­]Ö‹J‘áDO"LíeݬOš£([¬­„®Ý‚D[úToÿú#0ktˆH¢ÐÅ:xÙ» QÌÊò÷$²],ødÔŽ*G !ŒK;]•&s®)í8 !(ÎR¤EÃXxm¯$œ86ÃÆá=ࢠóâÀ͇ËœHD(¸_ÚsÚ ÊB˜îÀ³”“î[¤Ž[#™‚ £h…óØ ÝÚ)$Ýù^ò0C)øñqùéæÍK>&èÜEé Î Þî‚fMኌÓzi%×sNÊ3Ê;l }V›Q£ÍÎ |vòL÷ÝÍÿg¼5[œ/ÏÓ0ç/Fë|ý×Û?ÿã6qLƒã3beÝr¨¤ß´ó˜ 8áÁSÓwí´Æþ5ç`ž(ByB…ßo¥2½= :‹ù™Ê'J숺jR»¬ÞÈúQéBSrFh)²£`£¨,&ç=Íé‹<óç99g$uŒ€¢Üáxœê€±HÉ4+©OÞ¦ýÙ Í'Üç2Ér¸×ëy§}iX©IH‘ùTÙ°6 …že뎘Ÿ|(ÒÄò<¤j[7äÝÊš$1tL‹¿ª_éø`'DŒp2*ýþ€æï ÑÁ:¦àö°g•bŸ©_¾j|^°»€7*Ïô#ž¡ɸIa>‚šêJÁÜ»yÈ~ß4õšúåP̬«¶TŒ¿ìr3 {sÒ¥eú¼Ð:Þiz]"ñ„vÀ£‘‘-ÐêéÊ2ûÚ‹«QŽè¬úð¦Åˆ¥°ŠÓ«˜hÜU^:Q¾Ñ€~À]eu¶%C ģТ#™Ð¨L©µ˜3£Ï"ްÑèÖÓt.á£BA榿Û‘[+v¹öa"ó}PxœcÜãZKT6*oÍhØýô0§šH¹È+?ˆ6sÕÖËWS˜u¼ÛÇÑXršyÏOj¤²…í_Ù Œ)ï}pŠ9rÕ¬ 0ɬ%ÍnßR’ÇcE@ ìA•«‰RäÁQùè]»Ó»ÉNé¿×òjjψiÞ#ß×á]¾ÂÀî‡qK#„Ìç4Räž¶ ÷ÛO`Ó¦;lWt€QÌ­Iù\¿~ýå³W5‹óàš’5&hÆ›vˆ,3'xe3××TQ Ð¥Y<èîõ‚È4%(¯N¤W$~‹bl–yf²ÔX êކÌD¦9\V¦±—™j*~x*œ9U„QšžMýò üvâu…²KÔà„„´dCV¶ˆ4 ·¶ÇZKDNsúáôÛtœJ G#ÄÉ-õÛSaÚ)LlŸšÂÞ‚¢†¥XS”èÓ¹¿@J„…±-\ž\ìï0*Õ^åUŠÂd ùÐjÂÏiYDn2•vÔºl;‹•ü³Õ¢„æpb2¯Á,SŠ­dˆQdZ€`¨Åṿ¾ ª³Q¸(cçN™ b¸êlÌF–h‹ó[†$}á:§¦$.âdÜÝÞ=ÁÔ‡ ܰú)å>~t5¦è»Ó59ñ]_cî·$r*…ºlÔ#¸æâF7ÒÈ Eô*Eìm(s|\Œý!Сr3„΃#êØ yt/!=QR!¤þŽ&·¯üA—xÍ€ò\5Jle¤Îp‚0˜‹tÚQú«zíŒ'Ô[©£<“âtýÝ7 꼨^x²ÄÆð»öç*èJ«V7tB5G¤ÙÏ&s‚–2h`lAÒOîö‚?ôdÈâå‘¢Õü[¡ˆ¿›øDIüë3£ýƒÛÛ÷:\7¦k$N~in8õk WIäˆF[0úbèúj²­4WßöÆ·i”Òøà4bú›¥n:aÚ·šrP†W·ŠØ!€²­û“îXfòv ºB3÷³"ŽÃ4-&}‘›;ÝÇÐvȹ”®þ]PÖdòù22íi: OË %‘l/đ‘!={¼ÛwJ5„m#w½Èµ“Ô{EwÌ-q齎R¶¶ó:5ZbÛiõYá­I#/FtGi«&¤eÙxƒj•f…‚oíŠÚ€ô“×SÓ”)Èú@ÿFq´ ˆÊ6q}sGgíʦzvYdP›îÈÔ‰P²ÛÑ*´WºNxnPfs$èšùñù=8 øYŸg^æÿó<õÜw‚ž.j!ICý¯$N•m¯8ì<ËKbÁݧ©÷[¹g0Næï?yDŸ¼YÎþ‰¯ÿyÑs©endstream endobj 55 0 obj 2909 endobj 59 0 obj <> stream xœXÛŽÜ6}ï¯àÎKÔ‹i®¨»’'ÇÉ"NœØkw€ f[bwk­–d]Üž|ƒ?zO‘Ôm<Þ60h]ÈbÕ©sNé=s¹`.ý³³Ëæobvê6.;mÞo„¾ÉìŸì¾Ýã„.ìóŽ`±ÇâÔçIÊö—)O“í¯›;§,ÙЖ»~èë¶å½ãßo™½ºÝy¡Ë]:M[ŸZy¹Õ‰=ùÊö?û7ØfçGlŸoðVBЋXѱ¾f²{Çú³bæ.ôCU©’õm=œÎLm÷ÿÝìpP„–mDìñ4BôXÍù ï¹t=å^’&¹mâTïÓ>ôg îZôçzèÙAÑ/y(m”UöŽÕ-û”ç¸BQ$zC‘xÜ ÙNx´âÓ·ò¸õž¦^ì|ʸ>™°ýËàèí^5ªÒTìíÛ—,«q¬/êŠÕÛ¯‡ðB„ëSø<¥EÄiåÓ=Çiboì÷¯ÙœÅ³jÕ‘ì"û^µ¬>R^)–9µús¸0æaŒ§<±)|‡s§s¿ŒJ‚EzÙnEÂ]×K“êÙ¹îz†Û’uÊŠO*gMÝöœíÏ ÿ/2Ÿ“Ê~ ˆ[õ~P]¯“G{¿Ü8Ï_ýòË÷Ï÷ÈÇuv‚ˆ‰+ì9ù½3% á¾ïº6®ÎøMS*Ù)viÍ!éY»Nó$r=»Îm¶ÀJàÏ6çdeÎ){y©{¥Ïws¿å&c¾Ç…`;ªx®+îéý¿U™°?òM‡¬d?´ö2P7ª•”Ã[v¥-Šq–«jVäJâvE±rz1—½4q™{¾ ½ö¿sÙuÈs¬ÓÓ@t6m¢÷3sk~Z%ßu¬«/Sx¶"DƒÔQ-ð  ˆyL_1Pû6/W9%LÜOÇ‚äèzÊãÐ^U/Oª31g´Û±­/:k¾+x,&œ¹t+Û„`<¢ü¶[V-M’1º!;à,“õ·®Q”p‘F©}àgY­ÖrÅŒª‡zd•Dß4é{;ڒlj-rTùc÷Í©Š?t;eÍT!Ž>gíËT ³Poª6ÂÀ”R7pÍjjp–£sŠÞÄóQ*¼9&Ö4o¥CÑ]ȪárP­®JÅ‚Àg÷Îõ\ k†.°Øq+\Ge¯[óíò5B=A‡ ôaˆ¿w^ÂÃ=Ü`n²1ä½åë©%C´.²7!4Ǿsžu`xÊH8›R.õ€ÉfŒ6½GŒéFâsƼí—|ˆ)¸)¡ÈñPÑb#âD¢j$ùJï $VÑX4§nß™†;öªz¤H‘àQ2ÑòÚç‘Uíœ6Áýù%Ôµ-²áXªÕ¼±³-óeæt<ºÌE…`òù ߘ:ê^0ÂDŒ1’ñ¹Þz¡sUë´†„?wWKŸt¨Z–<ñÇNºsêÞ„\•ïâbùm7ã÷¢õ¤†zêÖö#°|P•úÔký¨Ò`ü<5MYdÆ(|L»YæE¼¦ñžu‹A¾Ð’å¨i¶Ò.¢¢Ï–Ól‰þ¢IDݲ¢gÝç GÑXÐþudÙÕxg‡Ä·u>dÊt’<eÑkç’×àôj§¥nâþn-þžŸ@n?Ëÿ”Wâ/¸;6…¤#šLÀ¸ˆÖOú9a‹ÿ¶]Ne@ž"vÜÂø¥®ç;¹ƒ˜™Äû^ðˆ^´•‚ Xîý'6š²–9•~eC×#ÝЀ º¥3„vÝj_野|ØF€ÚËYÚ'Bé³ÓÖ€Ãs@VÀH@uõ®`›"3™‰[AˆÔS‡S¦6µ J+ëÌ("u6q‚l0,˲ÖF/ ôK>1a¬‰P¸.÷ãŽÎ~¹w2JbYŽv˜PAþÀšÛ ±eñnÑkÂO¹?¾¬úÅ’±€á´7“¯­}ƒEò¦hŸßá‚~ïT_7ý½C?Àû0µ·ìù¯o^¾z½ÿ@ùú¥.í4=¢–Ñ…¾ú÷RîÝIêœßö¿Â ½¼eâåýö£>ÜêÜ‘¾—€¼ 0  aéÖøRKJ˜< Oâ%OUñ°õàÆã$¡ÜÐ*£Nâh\Ìӑɪ4Ÿh.öòÓ±g|Ï0‡$©Õ½ªÕ†=îÖÑ›Ø1d¬”ëƒzFÈ €¼C!üYÕ’ÈŒ7ß[ê‘B“#$£¢™£Ó±‘žë݈4—<Ô©V{+ÏÇL6Ù\,ª½9,ºµë•ÌŸt÷æH]Í­A0k¬;xåµB+0w×kð›0t§¦^” Sµ¨èN/ªjÒbÏ •F£‘£>ÈZÅ‚¼úbm‡¸/\1 «á¯jé°"8ݱ©Îe¦"ª ýÍ,Hx/̈öì¦ÎÝóºútÒT-ÐØ™öÕw™lûÔbpÉ$¤jhÆù¤è8{A–›d™(‰ ØUXs ó4tƒ¾8¢ƒ72Kš8ÁS‚Å”¬W”ËçGiÀ¤Ftžb¾˜?tQ`ðÚemÑôÆ^k€¯ý2ÁTl—ûø.I,¸ðÐjÿð±ñ¼Ÿï8œÇ6;±á]ðˆ†tÕ híVaÒ©è'rÑ­c¸)òÀ‹Ñ2²“¥Õ\Úz4z'ôÀÙ,àBsl’,ÌÑsí·ˆé §Îíƒ& °SœÝ¡Òªl”zbšÂ´|tPìæ»o0zÞ˜À?ì?õr`Ó1úæ‹’•ÙL»uçz(sZôžßooÙÍš]EŽÖôêñ4Hž ØóÜ!ÑttL _“-¿éh m»L"I©)×zº4ýêaf‰âÇ*N­åµ‘m_dC)[]Ú¢vqïæí«ç?½ÕÓïrok­žÜ>â0óšÞ~Œ¾Ã­X»2Ò}MFñ29Ù"ßÓþjÙ+5 ÄŸqM9›þ(mþÍ»>¼¢çÿÙ«¶»ˆûó ;¯UW}e-U¨=UŠq+{¬_¥18kTî¡Ñ3”e“£fû“‘søøˆ'èè©/\72!wÚ©ò¨§zLa]¡QjJJKƒ‡DU™ÚU²ƒã,ªµ¦’ Gi°Õ§m‘þ$Aµ<Ö£ÝICá\5·å ìs–ëÅDß×ÀøbÂ' ?ÌèEO¦‘Ÿ±GtHë¢*;Є ¦£àó†Æ>Ta°84˜q̯M!üTw•³ûøpíО#6@‚©ù§0 äz(0k"˜Å< Í·…¢×ò#Ù’ÞaN«®–s@[Ufô/eu DöÓ$*†ë RêÖ€‰aÖÓÿ/ zw¾0¤€+†”t2yÎîÍêKÈhƒdþTŽáf;)Çws’s¥K›?o Z»#¡.ëS‘™Ï^ë„¢ñíÆ»ÈE–a¿Xì. Hlê@å4A¦€išþE L¦ÚoX£j,K´útÄùSk„c÷Ìd f4F8d4»ã`̇2 ÿ¹þ…Å¿²ªN˜zMObfLâ5 -¸D†³{¶h@wš'»wv̦1K³:fÁ†'l>MÃlBpFý„27Ä÷]q) AÛК;o%!-¾ µš"c œ\ºR‘ê°ópéߪ†yÐ&㤣 «BЕï÷›áßÿCæñ4endstream endobj 60 0 obj 2765 endobj 64 0 obj <> stream xœ…YÛrÛ8}÷W`ýj*Âàý1“8•ìf㬭©Ù©d+E‹°Í5I(¼ØÑ|Ã|ôžÆ…¢OmåÁ¶îsNŸF¾± Ò?÷sÛžý|•±»á,dwgß΄ù’¹Û–ý²Á‚œ>ØÜžÙgË$ËŠˆçÛ´gB¼È¶y:û4õÍvê›õ8º¯ËæK}Y1÷éj-“‡" v½¾ë˶­»;öì#«ÿlþ~¶¹Øc‹ „À‹„¢ˆR¶ùp|R«ˆß Á£(’mSÑ'H?Ô躭bï¶¹Wì·Ušð0Ì£ Ü³Q³wånWwjÌV‡3ʘ§iš³µôºÏÁ•ZoW"æE!³`¿m(æ/ÊV1U{v_vUƒ”Z$&¬XðDب‚GµÚü׆[p™yl¿@¤eÃÆºU{ºW«4mÐNÍXïðÒ^}›Ô0¬Ì®O+d»¥?ÆævWÔ"j›$ð05 ^ÝŽªG˜Û{6àÅ ãç+Dh› $eŽ’ ñ•Îôu§ú[Ý·¶æŸ "ä‘L\²±Oj®ñD9Öº{é+Êžê¦a+. ‹ñ! =êyæ\ص¾=Í3v©z½Û©ê%l_XI¸FÉ•¡ä¹µzÚ|ÞJ8²?RÒ®¯?ü˜£òn“*DIPÖ€„ÂêÔŸ#»íuk«.eÄ“l.ŽW´©ä2ç9Øââ[g à< Ò 3öý¶Þ©åˆs—ÃXoqêýœé”>$‡ÈÇ-X .Ò¢8°(ÍlRßn>å̼¹ìÐMÕ ‘9ƒ6Í,ÂÔn4·Ùµø– ñœÈ­¼‡e€ð(ÉܲµäÒr¹|d†¾ô Y—…~]P6ËäDE~™¾5Ç ‡‘¶Ì×HɰÃÉ 8zÂßc_ïsÂá¡6¸1ña_GùMy$lh`_Ù šíõ ë^Ø8#úz{–E<-"æØ/0ÇÂCøsPìN#¡ê¦ÑÛÆ,IUA㽞F™ik[h ®ÑwuGh38ƒò<dÍ;Ë8¹ßAé: tƒá 2ù²ó±ËÔ:Ø¿=䘠œù—Órb 2¨þѶŒPª˜îš½…|”f<éœAû ЩW2 žèè錃™&…Áï:çx ™E-½ÓÓÆ¢~`o>^³Ž– ¦Úr¿¡¡ /émùõðôÝS'æj•É„ÈçMë‡ xzJ¶ëÕJºvøXëi±,˜bv6#]ìöгГûUâ2ã:—’G™']p‰#ö8-VB™)úJeÝ8ÖA{}Ä)Úú÷žQ»eÃÈf qRaº[Iþ¿Ø†qÔäio!M"_U¶”þÛiœz§"Iy#Š6^PÇ]¶£€å8ª²€2ؾ(âtî‹ ²Ãn­‰€ÇÀ¢Hx®BOÛábHþ,Ô m:•œ$á…s»Lm„”¡ÛÃ˧a1çЭAfJ¸’áãìÛÒ¶8«Î.¾Í8™ýÃ~Ñ¥%é³¼WÌh“•ÕÚœœ¥$‡ñqÁ£Û@ª"s©ÑØ_‘Òy@d¶ež9BÔ(#mÔNÏ Î`˜p­¿› ÉáyÑ|ýëÕ‡ËO›¯ÿ|õï×—?^¼Þ\?ãyD”ðT懰roz(眽Qã‰A ¦QÃM¼£¸àiž.43R芖B,È›Fp¹Ç©šJ· :䤌փ’P¢83½[ QDUuHsLµ€»;kjÌ”\âz2W9O-WÊf¢†‡q ýÆÝåóøµ9–†¡ì¬û1Å^Ë0á2=U´– Þ»¢tôç b™rzãg:™äYfJl4pé}Æ#‘9Œ t=‡݃·ˆ´‡Ð ƒY…³F(ëôhÜXÙÍfLÙÄ~¯­¦,úÿ—'3ô<1ð‘,x(|d»éi_è¶Ërßq„íÔ8V£‘îû³G”õ­å@šó,^@C¶Ó÷QÔÜèáSn‹0¡g3»ÇÁíѲ4-b'Yê}|ÀÒ(ÄY4[šGf™~±2“›”Ääò†1¢²žŸBû²zi C¬¬´Uꂲéæ?P0ƒ¨åé‚Ö«ÇaŽìΊ`xùöêâúÝWGÍç˜)SãH\º3炜àì=qh름Æïê¾am‡øßÔ•‘ç t£¬Ê»M–Λ=VŸÃ$‘c2üÙi“ôC¸2™$v¬4íà_¼HÌñ0&Óâ01zez{yõËû7_¯.~½¾ø iòÞÓÛ~¿˜×q‚_èR9± ëÞmàRÞdN~¥(“ŸÒ^ —´~£9•ÒH,óæ[£ðæÅ¾…¾„d#( -'Áƒ.R‰ë"žÏÚŒç0ô•éÔË›| ‘¦ætÜt€vµ´¸î¿ 3[X]D¥«š`[6¶*_hò¤;7mîŠr*#ßüb—Îù—öƒï×j¸™Ii&ÏrÛßµ=ylO.ÄÒLGAÎcÅé@}8s1›[Ú<Œ3„Y!õÞ­ èG+Ð 9˜eOÐsm5"ÅÜVI8¸‹àép‘¸™éæ~ˆÐ¥Ìø¬9•—¸ꋜnùŽ…Á$i\Üv\«“¡ˆÍ—d“\dBÒ'›³áßÿHæ5Lendstream endobj 65 0 obj 3001 endobj 69 0 obj <> stream xœ¥XÛnG}çW4ôâ¡A¶ç~Q,äD9PbG¦7H a4lŠ §é¹Xá~Ã~ôžêËÌ«Åz¶$ö¥ªN:U­ÏÌåséË|/v³77 {lg.{œ}žyj‘™oÅŽ½]aCJ¬63}Æc‰Ï’,àiÆV»™çe}\ͽ„g™—9ﺹüeNfC/p>]bÉî÷|ÚïqW9ä¼Û°ßû¶cÅ6¯ÉZ·,/º>¯ØÕjõ5âs/°ái¾ú}¶,8W̼$áBÅUŽ8Ø%ZɸŸÂ¬Y{–´æª#>™^¸uš5+[ö¼Í;v={VÞFAääu·@ÌOÚc){YÆÃÌõ­ÅçñÖˆûÞ°°5ûárE«ödó™ ‹«ñdÀýØúã\^|Ïd£ bœM,R.R…Ô‡÷Wär-;ö(嚉Zö[¶‘ E° ³on¡Br7¶Ñ~÷éæúý‡Õ½ÎRÊ]7IM–<Êx«,©p*L¸oñ„}$¨Ö*gï:rê YÏ<ž®gAjt^‚C8*–¶Üí+Á:ÉúVœÓ6é\ÂŒò–èv/òöpߊNî»;‡~CÖ•X°ãXÀ¸4'Œ£Œ£kµÅÜrp6ä ãnêºvá§ß ‘‚Ȥ6Sûþ×1s1†…[çg‹¢›¥ÊòÙÝüe}éƒ7iêÙȈ½šö¿SúÖ¾@ ÈåúB1RU„PË/×€xÜþLPÈÍ´ä¬%r Gš÷BqÒ )¦õZ´ES>ˆ5{@A@YÁY·†Ëû*/t>U)ŸZó$ûÓŠ¶ùO1C•qöÛÜS pdÿjbbæ4Ú›Ù¶Üð¢áƒ­)OuEÈu¹9°+‘¯E£%Ü!y^’PªòMålòd”;±Ÿ: ¡Ìl–|´(Å–Fv²UËöyÛ²œµ¢)EK´Üj«¤ä&¾ÌQ“ŠE¢tÕµ´%4Ô!~8 sÓ¡#ŒÐy¨âò Úzm¥ˆ"Ѹ›Hù Éœ]¸uv²ÈðW̽ýÄù£kòÑ}ÛbºmY?±uœ]¬×ä¶Ý¡Dÿ‘Èk7CÀè£,Œp8m×ôº$ c[• þksúÛŸ?]_ÃÞ¼fe]R²}@wBceÓ^¿QqáªëÙêõ­c ;¹ð>ßïE½¾³‹ vv%¼Ëøç>)B8Ë­ÞE?ÎÙVé®’(ËÜ „!÷âAZ‘ àó%›Ä{?Œ8êÙòì+½ýû²-«ê°,d݉º;gÑÚ+À£2,û†)ø/#º;\0¤H½š‘ÝëÙWv!ª‚+tïË›…½…Œ¾2pOnˆ4N¯ÁNÊèR·pzÛu{íƒ3‰•Ø{ŸWÕ­9FŸ+îëu`êôrÒN¡ˆ‰ž 8çª:ŒJh>¶r'l(\SÃÒ=Šš4R6 ÜöÅ–å-»( ±¾˜®d‹Ö²~e¤•,¡t{lK§+Ƽ£·%%kÓHH‰ãø¨$o./kåÔ:ïr£jž«m+vDtÊ4v-ŸhìŽúŽ3ðMt‘ :'ÏŠÚòúJŠÙÈ/€N·å-¿ c¾¶®j»í}Í·ø…We-Î4m‡rÌJð÷¢xY‚=&†ëΩE`˜² 3ç¸1ê {.»-“µÐ?ÔGÔj ŸQElß½´ý)pS>N«_Äd„št'r(T\Ói²&7Üé\«y-› ·A¨xäb ?8û«š4pÀ±²n!bJnèn䙇ÁÚOBÛO¢@aB¢³È>…2í´h´nô¿±þÛ”ŸM#a£¯ -X¹øtƵ¤\—mþ€aâ¬/$ôÌ,«¼Ñ½­lOGàÿ“£r•½žƒÞJÕ¼ ¯I ³¢ßlÅØne_ÑüBUm(R`Üôñ¤-×v2}ÖàGCýp4'›é…´ü…àñè¨ ]r—Ø—RVЕõÜ›)aÚô[ÉUÌC3ºj(™[粆Ъh‹m_?Ñ4”A¨™•Ú¹—é^½52‚½Ã Uã*»‰ð@³£2ÙÃÓ|˜>ñvi§ã»¡È™zÿùcÒDh¬ÒB2 ýÖY^ûçg]?€³gÓps;¡e`GªaîÊtÁANñôÔx ë¾ÞuY·È'D\žYă0<ª<ÙèÞ“ªÀ´ÖÍf(Í3呞˜=ž„V×ujààÁ(÷O¿¯d¾^°ãŠŒhB’:¾T•S¹Œ€A·¸­z«q±ü'õ53¬Gô0Ë4dCw¡w¨òŒíÊÇmG~ªH^àÓkÐ!åRbõ\söv|×ÐÃÞ5#Ú}Û«6ª§yöXN½ˆ¥§˜‡éÃó`æÅŽ,&˜£Øý$±y0˜­ÀMTƒÏÙÈ?é²yâ‚)…ò¶Ôc€ÁBA£`Ä0‰ëˆo=įãQõ2ÔâÞßÔSþcJlAÁ“ºR²@¦/ªã¿ð``­‹ª_›š¢aÓÜÀê~÷ ´X œ_fÞV¯ÄÖ¥‘µÍž±³ßÓ̇?r)ÇñüXâQ«÷RK%lþ¼ÌÖ°M¾Zþ(öÌǬрìhëôÉåjö ¾þ ûŠKendstream endobj 70 0 obj 2165 endobj 74 0 obj <> stream xœXÝnܺ¾ß§`}cmàeDý«E/rœnœØ›…]ôŠ»«X+m$*ξCº3CR?N€SˆI$çç›o¾áWæsÁ|ü±¿7‡Åë›”íº…Ïv‹¯ A/™ýµ9°ßÖðA†ÖÛ…Y#X°4y–³õa!DÎó,fëçÅW•›¾­Vº×M[ÊêÞ ï—Ì>]®‚Øç¾ˆ½cÛìZy8”õŽýrÉò¿ë,à˜U˜°u±ðyèæ„î¨äSÇþX¯?2^<žX¡¶KûyæÉ¾ÒœÝ6žÑ&"Êx ;ùnaöQí‰5UÁ:Õ~[Šˆç¹ÀÃŽM}N+žáÇ›Eæó Íž®–ë/-|ÎÃÄÏ#û¢|Ââ”'™ïgö¥Ú «DÀƒH¸çZc À‘U«¾öªÓ“uÁž÷ª¿dµÂu·”‡AÊV"0nd!…ÃÃÅÏ¥Þ³N÷M[“OzÏ;ˆ,™ò¿Æ“!SãÉ£E>ã!BYÒÖ{©/Ø©éÙFÖL«ªr™bºa}§ÀhŸ•u§•,( ÓAäéx²[D>’ÀÙíU.H±=7JüàgƒržŠP°»M ”{jÒÒ>ÁnÖÕZ·Mµ‚ß5ØUÂcY5µâì ”ÁS‰Ç4Ûù‘ ‰®„º(¤–@ Zµ(×BsMÛcmx€#ŠGCñ–´zzî2 ¨b•Ú˜-YL"ò0‚g©#å®™‘r枊ˆÎ{®Ù—¾Ø©À ]ê·lÀ­á°êÈnø,Ç GnoÉu׉g¸6AFÏ%Ä®hX yž¢à‡wä›WQÜ@Ó<á3L‡–íH2ÏÃÀÛ)=ùàQA5+ËѲvý-BSC‘Z3O³ž ©÷låÚG«‚»_àÊñ¢[°KyM FØŽ½í‰NòÍ1P ÃŽMoÉ6à'&ì?¹wïQ{ûïw¬iYWÊJ¶ +Û‡r·×Ä-‚Ûµ(ïÀ}¥¶_ -J­Õáˆ!´~>/Ö¯ ê¬{ÕPZt·höÐè‰=À3¦¹#R TÏ›jR=ñÀVZþXÆÀÈ‹…ª”VT½å‹t;ÍñMMºæŒi½úǘ²"8@ްIÇâ?ªVb™ØF š(Ë;z{èàHËgÔL»ªìôƒ<ÐîÝË vöîòêóÒÍ C2£ï Ç3{î Þ™k²€²í,xýŠegº!žN¤ñ3EãkÓÙÙ«×ÄÒÄX˜ÃÿO|è}¾^F¾áåõå³¢e”M“Æq?„ñ0ݾe`ò€›­>ýÍ:·‹M·­R  †@ÚµøÜøC×´zþ°+Ìm~¿µ};t˜CÐsòë™LI§™zhn5vwQ#    Ž Ìèéá9‡aÞSîÙƒÜ7?•ÄÕ䯤î([» Ì|š<*£¦ybÇJnŒ‡ <ÓÝëÀ‹&â„Ôósþp ˜í8…d9T†CÔóŒÃÇn…6™Æ Ø{ÉPÅKS€e³(±{ZŒ—aðdPÝwaèãõíúf!‹D8Ó8ºLf&2NtÊ­;±Q j`x ¬“0¹˜$ Œ3†lp{§lÌ~£øÌ¬2Y#c™šA aë†Q7¿Ë®ëPÁS_L=Žñèô¦- ZvKðàoXäèå$gqì°ÕÉ¢OB`_˜h `É “G©Å'$h èL†Ö…SSm‹0m@Ñ´J÷m »>ÊÍ89¸Ô˜B‡ Ó¨BAFi “aš€NU/Ã(â1”ÐaìNÐÎD z:Ç¥`òçÀ@6”Æèûq2i^¹°™‰3úáš‘Y'ËŠ5½6ãÚÜ»{„ÜÕ%Ðúe‘¦ÎÚ¾.onÈäY§…½ë›û%g°GQW)‰*¬™)‡!Ô v@ÝKä§ãqçMyÒ´¸?Å7Œ*0›§N9e‰!'ˆ‡à¹f4°&AjÌh ¦ñ$GQì ¯Ñ“$¡ªˆÂñ,rGÃg(¢J4‘¤YëEd®´mòrTg{Ù²4ŒE“d_{ §Cä^vl;Ä2© SŽ8D[~ö¢Ò9Ÿ9Žy4dkI/ß¼»¼xnÊPsŽñ€ÌET˜œü|9‘£Þ+kìT†âa¨ìõ  WAÌ“ÄY±3ã6°ƪpÔÚ~jhuº»a£3Û¾ÎìÆ%âõоº‘fjvFo§O•:»`4sÍc/#bœ"€N¢˜3þü6"uˆ„¦9[4SwÞ©X†qʃV£§ 68Ööõ/ضƒÅ6Òû¶§¼À›Ç²VTösTŒâÅAâÃõo×ï†zûÏXnVúÍ»J*\ø{˜…IxÛI¹€„Ì£a†5—:$È3ø ÀzÂØÖ I_œè †YQGV!ðIBÆ0TMîIîf%Ÿo×f¹wýÏ›KÓ/ã0ö>_Â+´0LFÌEY290üÃÜêRÛáÒ/6aìVx-CÑ@W­ë++ Ì!sVkK˜/—]¼æ^O—çËÈl×FŠ6F—µ‰_Y(iBL÷ ²)X³Ì§”†º ø3ÕÏmûC¦'é"2”¨”Gc"7D%ÜàäÛK›# ¼ôÚ‚3Ì“ËõâüüEU¯endstream endobj 75 0 obj 2602 endobj 79 0 obj <> stream xœ•YÛ’ÛÆ}߯˜Ò‹ÀÔ.ÌàjW•\‘cK‰ŽË%¥T³àìZ piúôÑ9=7Üuâ”$ÀôL÷éÓ§{~eQ³ˆþØ¿«ÝÅ‹÷9»."vwñëE¬dö¯jÇþ¶Æ =Xß^˜ob–s–—",J¶Þ]Äq–EÊÖÇ‹ASßT‡¾¹c×ײùˆO+fŸ®®x…Qœû¾»ëånW·wìÉOVÿ^Ã% ‡eJ¶EÆÖ?`—0³þËÇàU×Ý×j`?¯â<,Ë4êqÛFöjÛU]#G…ÕûÁ.äN€U®bÎÖ›‹(LŠÂlúMËÆ­b_¯¯Ù ÚA]2É*m€ÕþÝÊbG`²erºª† {XñçI²@6²—ø¼Ð&y‡~Šœ­ÜØR=™Ø Ú¢^W¶n¡¨,ôBlìèg½Î•[Èo;MÌJUS«v¼Ôß«UœÀ <~Û«jX=Ò"wj$k#»‘Õ=ëZf×DôáÓê"Îc¬<¨Õú ù·º(C^”Eâöž&±±ØŸØp¸Ô¯Z³§¿‡ÑnÖœ<¶îÀ)Ç­ÙNŽÕV™Ãîe?ÖÕ¡‘½ÙD\D¡(ݹâ0‰22T]»©Çºk¬9†logÏê¶jeÖ§u7ÝNÖíä˽Dœ´aý_ÿž èVís:jÂqÎ8³ÇéÑ•{札7t£ªnGAéX×lBz‘'Œad D€ˆz%›«ã*&Œ"èúfÃ*9¨árÂE™‡yŠc[ßF”C°¡úAサ: þV³§‡)þÏ¿}öiõ­¥lÒZŠBžë"®ÙÉÖœ!§g€Á5vž<ÍBÎÁhÎgCGšQÚÚndªíwÛý²ŠãˆBµ«ï¶# ¡ƒŸÆaÊs—<\W1’Í Û®+Ù4( rÏ" ‹"Š} 1ß= ŠN#”ºW‚GGF$ˆ÷àtÚÿŽo˜ò±ôÛuœ†íÕ®•Ïò AŒàF€Á­¼\Bg²oèùbŠîNÎaTòPŒ†ùž@@ž˜·›Q­ÔO”N “UÕõ >EÁ&!Ó»R;èÚsE Éù„Š$* ½k•ÍdQò¤CDŹFÄkÃnòLÐæJáü•›•(NrÚfÄÝÑÂZÐ4–çÍ ½ªT½`^ý=±tm¼VF¥-de^¸´rï ƒl¹¯}3ÃTí¿6¦ØÉqdßÃ-KPHRóñUН ¥*ÉúéhEñÂc£sãìK½ì¨šÆó‰H'– ƒ-«^Må•£tzÖ¢ó"÷«çÂ蛇º; Þwøîë‚´ëq[CµL5˜ A%zœ×>:º³f_Õ;tæ°Õå Ô9ñ+xà/9ê»7?·­6!¹¦¥F¦ÈE˜'NZœŽóD+b—hÙùBàÆ4pUšÍÚ—ˆëž+¨ïÚ®W›ý½Óvrà>q‘=ž‘jü˜Tñcò„ê/ìòý圳ST™Ô‹Wn»>JB+ñ—~›Ee0®»QÎa]·qþyôʽ×#jBÕÖ*v_–³°q¶XÍ ­¦Iíå^õ ð¸c k覅šS©i×ôqÈ~4¥ã6`Q˜y-xšJ«p•5¨w„X¥6ù( Ϧ'* ˜‚kjˆ¡®“FÔVžÅª3'u„ýô9–Ò‘,sML7ظÝ^â%"„„ ¨|`S«‡æ9æwfÜç1¡*R÷ Š ²·Ý8뾈èúÎú–jÎ@ß…¿ƒ®L‘…¾Î²Üy'øÌ@eÏcwÓ)ÛÇ!›2}^Å0 CyÞ1 çÿ˼äÞä«.õ;ðt!f¿šbA͹È~–nkZ•e˜qá…÷å°y†æ/ :Y™þH# »LEìõùnΣ†ÒVsÍ“%“"JÔô\®èL$ˆ´t±pŠÑ´‚`öX-Æa9‰a‹€ÚÕ¢ihÑÝBn»Øß·Ýlå8CUuÙrÜÌ;Ö|*9>|ö+/‚7F¤³ƒÜmjˆ¶êjRÚ Ë›[ÛÒè>=GšjWÛr«ÅMvö3ï9W„?/& ùs2"åŽ-µ³Û®·Ô\†€éYo8­ë.i3‹z¿T_‘TF­áýûšþw«ÏP랊rNVã\ɯ²D—3; ÏõH³kÕoåÞè—]‡ü–›ÙX±­”SyŒjšÔ2Èm®»õsÃ[˜·Ÿg(…ðÄ. ‹=ÀL¡ÖPu‹þ¢•³v§q¡v”[Å‹ŽÂŽOð ¸^Xd‘‡á¨qÚ4ü²Ÿ X„(M:!1…C²:kU½‚¯Ï‡wW_d¿Xªeû„ žë>×#˜!EÊtφ¬K¥^b|*Ü$<ÕÛ9¼Ó‰U•Ú,Ý{•S„óy¯`{O²=ö²ˆ.4Ó ¦ëlýêúÅ›kš´·ªÒ'ÃÍ€]ŽÒe}%2£¸²Ð‹…p½˜þ%™íhM kMŸ z1qùÑ_äñc@ÔéÊ ñ5Ö˜çE™`5O"h:ëÏ'ÜUŽi†ØñoP|Á “8¿5Sê¤Ô†4êõt_ß`[yhõÂ?bY8ìL”y˜¥Ë,Œžè¨„»êÁ·›úÖ³Û¥牖'™onú{}Û©_ëª .˜f¨"±˜| Ãu;ŒhÏBö)ÐÑÒ6)Ä¿ª¥›4'ÇsºûK©WJ¯ú®&5GÃLúõ¦¹¤íêášýÐǘîòú!´2‡€«A§/?ƒ_:$Ž]º;žº»ÃRÔ ?Ïã%·7nJ:Ñh2›þ‹àIGBz¶©©aìON×j‚Ñwtò›i¾ÑfÃ\²TÈâüÞ ‡ÿüӇןi§z |„Âã‚ß™9ÒŸ“¾@E2sžÂß1ºÆ¥ZÜP{Æbý£ÈÜAœÒ“×ë‹âÏ ,7endstream endobj 80 0 obj 3569 endobj 84 0 obj <> stream xœ}YÛŽÛF}Ÿ¯èSÀˆfóÎݧ¬c#¼±×Vv`p¨Öˆ1E*¼XÑ~Ã~ôžª¾O†13"»»ºêÔ©S¥?DàKÐ?ó³:Ý<Ÿ‰‡á&7ÜH~(Ìê$þ¹Ã 9}°;Üè5Rd¡ÈŠÈÏ ±;ÝHYøEžˆÝ忣×Ô÷ÕÔ7Ûq»¾.›O^ôi#̧›m˜~ ïÜw}y:ÕíƒxrÉæ·Ý7Q*¶ø¿ÛßxÿQ}çov¿ß„±Ø½¹ùaH'z¯[1t'%ªrPøv“¸ÔM#ν:¨^Œ8–›g7[¬€‰ÕŒC?c\Û~l¶ùªÄHÛú?-ðÀ¼c:*1¨þ+[‘ûI&‹ù ÉoàÀªk[U⾬¾ÐédСƒ!¼O÷ö•ºk}±;Öƒ8ÕG>}+óÔ—A.¶2Ô;GyÆ;ß+q9ªÖl£Hs?.¤µ!Êsk¶<«þXžq¯Ž5Ž,Å{Å'PàéŠAìgæ†Þ¥œ¯.ý$ Ì„³°<)V%öêÚæ*ʦé6aâA‘{—aq§/༯7Jœ»~ô9˜¸ŽÌä|·8Øbº[+êÞ: |Ñ^ºq¾¯Œ?Kº4Ô˜Ã/Ǻ:Š×ïD¹ß÷jØP:[´Óé^ãÀFf¶I GÒcÿSÊ=<\Gc«9ÊØêÁ²àù{€È¤B øç{/~~ÿæí»ÝçW»wïÞ¾ßióû.s‚ŽuÁ’™LwÖ0x}`  j5Y(n··w634 §AÑ;ˆÆuÕéÃÐOD„- ¥GÖœávŽgà§±…²·Wv$֥ŌÞL㻜šqáÃ[Î7$ y*™ÃRJ’ßÑ—  ‚¸ðÊ–m'KKq.û±®¦¦ì±'{5ô3Z £"éçdÞÝuim%Æ0{WeËN!4&xa6ïg».‘þ8vÎN{Pd~,S³ŸíCf°V’ä©…zWnÂ,ò“@zíký«L½w%›ÎÖE‰_d~aÄ”çÀu½I¯7ßFE‚”tnÛ†Ì?”Ÿ_…Òvh>Šü8läÚ²™‘ù¡tQÒ.者­Éç^×AºŒª?pdœze¥Œ?Žå¸ÆÏƒqã"I}w2É~&¶D®Œˆ4ÓçýB)¹ï(õií-нI)Ú)RçV”gyYAµгí|ùî½Á@J{#4yä‡afî½[0>—ŽšÆ´ü –k¼ëÕHϰˆ­×v÷ËÕYfwU ß_É~2]G(‹éM°g*ç-îÜÛ8ŒÁèÅŒøÀä³’‰I;¿p!ò®—U‰ŠÜb%@©ÐñCȈeĉ,ƒóÆ®êšÁ¿"„TF#‹ú}=”÷ 9¯f/7Tf‹,õ¾Ö äû+åň‹±[Ħ‘…Å·Ìôùç/?#OÑâøy>ß™/Œø¹ºûü}w‘2úuTfÔÀœÏøA<ûA¼üc:_Mízozו³Xûá•lw}úm—y,q=0ñíQï Dé)·ûrDIQà”rT{.ã¢E­À™ô˜j©ÚÌJQÂÁðQy(–DsŒúÈY–XÓÚÜVÍ´ÇAuûø1Œ½*Owâ~r`o™)j§ò‹V.~1ÊB$– †WL—DŽ‚“(2ãDI¥@šæèřˠ?*F³ ã9æ[}ÁOšð ?¼üîû—ïŸÀ@‚‰f-¤®öáL†þ~!¢a” §1˜ÛP9’(±©üÕ¤Njé7Ćֿö4»&gǹ-#HäGuÚð̳ÕV i‰ÙÊ¥“‹Ôít_7õx%R²@b[¼8L±ÇK&žiàˆš³tI 3¤×·-ü|®&ž¦ 0 ˜"YÔNнoH!Ès.ÉÐÅY”Y @¹ZºËÍE¬îñü_—b-̳Gå’Ä&Ÿg~9¡ë(ýÏòtnWÕ’O)ñ‚U(àçŽk ùé\¢Hà'y¥ë÷u[öWqéë‘ä¶¾Àÿ!"\"Íé=GE€ß¤DÌç(–Ö§ßí–ñ³Áûî)M•ù™“1žÆ© ©X˜zoA¬fCiý¸–q:¶ŽsŒ ýðMÝ«æ:£ç0µ¬xµø¨T½?Ô%¢ó–ÇO4Ð ˆÍ;3*ïÈ¿ÓðmÆ£Oòä1Ëk×¾úù§š"”Cª˜6»×oz‘Q ñh3ß8Ò~æ>OM‹·;®I–Pª48qÀpÞéZ&bü¸ã´²\¹WgÅí„+$b _Fˆá‘³ŽU%º >2¸èo 5©r¨RB;mˆÓ¡jD5 #ÒX›Gt +ÕXùèuë(ár]ÏoMáºå]P!!Êv8ð®e¸ _Šžq‚Mˆ¹3“ç´Wd».Hª3Ú5p%"'BB&Œ»Lúiâ¢u]0 YDæs¤ß³Õ2Àc!/ƱeYd•k5ÂVsì§%p6º/©>Õ­‘yèR™?*ó$1¨*ÊjTZu-T*‹Y§R¯«~±˜¡Ó«¿‰l5¼H “ì©I“>YȇwÝj·8MìÅ îwñ"ÍbÏ„F¼nÜx†PçT– cFZ&ú´Ü)!räÜÄ}¬Våw¦”ÏÀÓõ342õŸâ·oOœk²™íþ P‰¨¢¼@Ô!Zz6eøkñÊ|Î +˜!}~ç®tøÁnØÕÝ44W¾c¢7¡æ%ÁQß‚2#LæúL(i}¤>±'G°‰Ãe-E«râ<å–<¦ÿÔ¹í¬BwGÓ‡nnåãFÞ©kf(À+Xt–í,Á–§²5€Ò-+zÀÈõ€×/Ë”˜G+^ÝîÑ[D_(–ª­º‰ªø-?ÊXwf¿Cßó]ÎÝH<ÍéÅVWä»yjC”œÌª<³¹;hBsD›£¿2˜¤Ü§.¦1Fǃ¢àF4¹.Ÿ…wA65ÖÉyÎÁ*R*öJwÇU§(yÈãŠ8÷”Îß¶ŽXÓ;J_š P'.Ë“8aá¦D L܇dìe é Ÿ1Žuï¹þ[Uë.$êožTµ2Èr›¿= U:£0@DêdÆ‹’Ñ âJ§lm š¢5[´]Eh¼m'OjC3ˆ2ïÏs7L=·ý.䌣¾ã°ÐÊ@(¶â_»ešÄŸúyž;Û$¦‰ ˲ÊrN'c‘7qÁ£  _ö6Än§6ŽåU3yÌDîXhݵò(¢`Þ%<¨wv³±Î'¨ ƒ°€ð•ë¦í£G NÄQ V6©i«tŸïý YøŒqJô Oózˆ*78£HšÍ@4A°'ЪTMG¿ñh‚úÔ0Í©Ùhj©_ëõPŽs‘Â(3É™G7½§.¥[íõUDy‘Ô3˜Ø­ª]E”^ \­<u¢ó¸Èh˜³lè£9ŽD}ý}=29Zª€¾Ê£y¸„±£ º]ýÀ7?ÃJn–ÔŽÒ×Ñ÷WÂU}°í^uK0ÄÒQ"¥&Qœ?x¡T`æÙ×ÄÎÀÄ}ßMº£PòŠ`9« ÍŒ”gäšDMc©Çv2€UþPÏPËe„«îtâqïŠz´j“NS?g]\©+=f&n¶B®G`Da5¦^±0W3˜¦WˆÆä£Jm p}T¨´k•+Üafaþm‡yw¿ttàŠäGÂÙpÔD^$’§Ù iZ6ºGîÓX£ö¡°×~Âò©áÁ> ;íÔ$¡­>Q«QÆÖ-ã‚ãÐ0ö †øe“ÚPU~iiŒ÷²N†¸œœ€±Çq<ÿýùóê¢|©W~×oï 3ïá¹FÑC×íS‚ÒªXÏ)Wh7FºóUÊÑÃÌ XçJï°ì‡ÁÓÒ%Pf¦µ¡áp»7y‰,CY©Ñ¡>Õ44¯g‹¹§ùë1J]¡2A—”Ëo:B˜ÚðWßt@¹jH†yâã:³Ê#¯âßÔ°9}‰WW=×sïÊ,h°´Ý5â“7Ld3p…üù´ÑXšèB&§æÆèa ïÌåôJ’ÛrÁÙJpƒÎ–¦%c#ºÖt„æbìfìŽÛÊtÎÖÎlE,ý•gty¹»ù7þýe.«endstream endobj 85 0 obj 3235 endobj 89 0 obj <> stream xœ½YËrÛÈÝë+:³1˜"[h¼áªTbËòŒ3²¤Hœš…šÁ&‰Ðh™³ÈL>%ÿ˜sû€”<Î*¥*ËÝ÷uÎ=·ù‰¹\0—~Ìï|{v~³u{æ²õÙ§3¡>dæW¾e¯çXЃùêL¿#Xì±8õy’²ùöLˆ”§IÈægœ²Xäû¦œuû®nЬüèø'Ì<̼Ðå®]S¯›l»-ª5{ö•É?ç?›¹séƒ{¨‡XhÞ-–¬Û-ƒ‹Rn§¬’f+ªóBù¡g÷RzlV£ƒ‚0L¢á°H&å’µ²j‹®8:$µÔ.ÍòÏ’uý–"àIôdÇ ¢Ö²®f&Š-Û·ȼÞn³j‰€V’Õ»®¨«–³Ÿ›¢Óî‰8á~œ°™ðÔ†j³n#·´WF»u2ï`îï¥d´Ñ¾…1Éþó£ÙN-GÝsáNðA·±æê-/y°™—Pbñ)¯d×äô™ß»)¼@Y¦?cÈÙ&»îÀ6°ê@æ¯dÖí2/ëXV–êh{±æ††©2T/|`V“dç½. Ÿ»Î[ÂEØ(މïx$œU§vPgyi z6§w‰ª¥¢Õ:¯ËÖ6:Öîw»ºéZj ÈK¶Õl«#I~¹½`ØKh€Jö•¬òæ°#èfí ©è8t~˜ÏoMlT]:T0÷C œ×Y[äÄ~pØØ}ÊÞÎou`“0ÑôÁ5†™é|­àAÔ­R¼¼º¾œ3Ùå'à/Å5Ÿ5êãÈ‘ÀœÌÚ[s¨ð›Èw¥JžúM–wš¶¨<˜.Pˈ¸£€¡°ê¥\ŽMo)D¯(p@õ9: 8=è‰í°J$ä¡gŸg†æ‚þ[?P¯[f ’ÝÅ3µ÷- ³ß‡hÉÀ‘@I[—Y•Ë)[L<×Ù“gÖ0-á\÷F}oå‡ʦ 4þï–2/vDJËïØâÐs Êó±+WÔ¡ë 9;R§³rôèÖ‹àkUD–!¾"P…y÷I %–U'xe[™Cí–P¢{·eée-[Û>"¡jˇ_ÁÀ–ãÚ±oI¦hñ$;ÖVu½“ºÌ|(øÈa-ŽSéRž¹ñò%{S¬eÛMÙÅÝ«÷³÷oÂ)ûqâ/x1Ò°MÝNÙýíõå÷7äËõüêýr¢²½ë Ý1ßÒSvq«ðz?Y€gl%Ñ}M9ÐŒXÚxP r‡vú%ÛîÐ.µV^IGméNj%Õ¹j+• 'çw`3&¥Ðž"µuvñÓÝÕÍíü—·7WW7“Ðëç«›‹WüìF‰3ws= >£‰+Dc …Õ=nl{ÖãÇòuU“Vq É^…ôÆÚMý¦SÕm:_ %ûC*]-å q¶°¼QÈ "ž@[ÖièY¨hh½&pø¨Eø< "Û±7`ÌhgdõK.w€¤:’¯¹ÖÃoËÞ”ðós•™éH È¾!9›ºíÎ!AÏUZB‰ª«(v¬ùŸ?8ïV§4ÒèOÔ¦ªÑaˆ¦üë|¦¦ÔŸž4/RºXŒdQš‹UÕ>¦K7¶8ÔG Ùß9ª}£O¢™Ã@gº;ì$"Óó5«š=]\í©oöb€–ÐÅ‚n4äÂ@ýWÛðª| %ȵû|CsǪÛ! Th³¢êtKšBŸ&“›””¹õzISmE‰ÿ@ ~绦°dæ©R iw­ÊýœjIŒ4¶Ñ¸rFWúª…ê’|7Ò…tJ•Õ¢ãûgÉêqL×q?+pè* 툑‰H^Ñ>•>íšvÝ”$¨‘‹ÐRVïÌ–4 ªƒÃ#@¯žu΂$ÔâÁÌδ˜øÇ\9« ÿë¥Â©öCwó!z‡«Ñyÿ£è•ª…3ähø­ÐóH_ƒ!úìáˆQì Ø¬“¶ÂcÐI’Ó½PV ‰ÐBbÿ¾Þ7¦EõØì«Šn9;-·fž‡Æ™ôµå£Ñjzµì>¢X¥_rIª~ÑËò\¶íhøŽQøöΕ6µMêªì4Zé Â_‹é“0&ÊÀŸ9AÚõxz[¦¶†4¦"˜•õaŒD²…ô†+SF´ÉZPŠÜߘð õ} à7P¥ª%g_©Ù„c6³åcÅìÝå›ww¿ÜÞ·åtÈ­Ôš žh¯næìfH=õçþçâæê^‹^¥Ÿ­æõ¡¸#Ï.2úclÉÏ;1èúr~wñÌné¨1QÚôÅŒ¹WBt!õ(ZҶ芙qÉÕs)4O‡ö²ç؆ŽX¶žhrÃÈ]Tm§û݃ѫºÁrÓ"”t Òlehለ¡½Ø¶a«!,!“ýúÚw‡ vm¯„ŠŽJU`ðHï[¥Z”j6¯+̵&¥m–oè+‹@°):^^î—xd", ûÂtìø "ˆ‡AHK MË6ºß/䆢“ÑÍŒ…‰²,Aztõ3ôHÔmPͽJô †›ÄÆÍ -‘>üÉÐ2š©1ö÷K¤M§€$< jøçDæ!0ÕdPçKYJ`\óðâyÞ >Ûn¿Âèá¬x¾.þª×ÿãíÖi¬.êºÛ=ç.Ÿ)BœQ/37n`•Ì«ÝN×0îz¢_ L—aÿçP†˜þ´ô¦¬éQsô„ÿÑК&ÿóЊ^å øUßÛ”¶NüxƒõÝÄLv:,ºV–«)ºa·~£šSŒQI¢k¨sÝWOyIÈ­^௎4L_¥â¿N–ǯÂ1êíS´ÐÄE»÷¡UF" šú= }W£p·ëÅpvÄï!&ë4xf ‡µ–öò(ÞF:Abú¾7h'¤!Hµê¥!_M‚¥&,ÝjÜUzþ[¨Ñ¾„–Ûi¾ÚÓ„ÙЮ—¢í$ÿ¿6ȃ'¶©ïÌPÏžìÄÄ0…ÇãÎ`BU¨£ ¿¹½¼¾¿¹øñrþö§ë‹!„G&¨°$ì©+0cݶ¨mµ¯r­±+ö¸)H/—hÅt«ªÆ]Àm 1c¾†5›ZsÐ{ô}ÍÐ]"†"ôÓ#=#R¥Oè ®ñ7F÷rÇ<à\}èGöCGÄôär~öüüq+—»endstream endobj 90 0 obj 3457 endobj 94 0 obj <> stream xœYkoÛFýî_1ßJ-¬1‡oX,¼®ƒzkX^[NQ$ ƒ¢FkŠTH*ªóò£÷Üy”â´E$ŽÅá<î=÷œsGŸ˜Ëséù™oNÎîcöÜž¸ìùäÓ‰P™ù‘oØ¿çÐóÕ‰~G°Øcqêó$eó͉)O“Í÷'œ²X仦œv»®nЬüèø'Ì|:™z¡Ë]:Û¦~n²Í¦¨žÙ›¯Lþ7ÿω±)þΗ'Î]SLæ¿L]îa¥‹ò@¤)vCO?gôÐ¥)IšúK›r:Éîe[ïš\¶4Îãq¨IBǦÂSÓ\ìúiDÀÓØOÌ4X4PSµ²aûuÍò¬by]uM]²n-Ù· Ï>Óû¸ë*4Þ¬W,cËz“[H:û6k[¹dø}_tküÈØãýž~UÏ’fW¡à¾Hì^]ž 4o¶\6²mirÚɺn;ÖÕ˜¨¬ó¬ú(æa”¦žùlÚKÙ'x×Ò‘³í¶,ò¬+j á®\ªÝyA£x|¼ Ö˯eÅv­äLòg®ŽXTUïê]«bµîºíùÙÙj÷åËëBÅ?<v »ª*dËU}[Äüžm¶¥äy½9Ó»`YÞí²²|e8j]ªóùÈc¢Ñ€z …~÷ƒ#»‰ïi sö®<ШQ‘šC™N ¸B„¶<‘jl£ŠO±›½\Pð°«ZM™Æ‘ó¹P1ÎŽRµ¥¦ª²"GB‹çuÇÖx§@Äíɾ–l¢¸“¨ôLvù±ô~©vGë<\_±úüì–E»-³WuœnWvTR®ÏC—í΋[RtþÐu!1U+¤ŠøiÅQ¡tÐvX)w÷&JÓ"Ä&²Â8¥"T9žÍÙlà‰t,ž—³›‡7jË!To)z&ª:,èt,Z3]éŦ(³æ›S:™¯«âÓN¶ UÙWµ\«>}(UŠÎÅe¦÷Ð#ÃoÂæ‹ÛÚ|7¿34 ÞrcŸhTÒŠ¼l±ˆ$øRžî& @-u.ÞcØfC™ld·k**‚?ÓƒmÝh®ŸÚmô`Œb-ñÕn³ÀŠt¬A$Ü(6Å‘Þ4*”ÙízR«Á±Å¤âºØâ®û¾x"æiø'rp¡W†pF¤qÐ5—JépsÎVRA°Y=j®PGÿZ1Â$ãˆÐÚÿ¦SÌÞcñCjdòéáçë»'dÉ¥=]ß Æp¤ø5>)„íH`åtT7Xânv?KV\åmõp¥ Ó²éiAr‰úøúîsÄ.4>´­$·j‰Ø&Ö&‘ûµQÕÍF9 8»e)™š"³ShÚf¬ºòUAÎê€ÌZ")ü¯Ã+œÍAÍÊóZ‰6…‰¹4q‰Y…\~¡¬vU®«}-;ÙÀ}\fNÚGY¼ à< Ö×Uð^4)xyƒ  •}µro/жúA»m3Y×·bݵc… }a ÅnEX×µ«~Í De:¥:‘ŸvJx"â ¯×#I ÛWØÔ„ºyQ”³Ÿ¤Fo´é,¯¤oÀI•=¯hKã‚Aâ¾!0ÌgˆäPŽ–ÒcX*~¹]¦Ö†Ú Õ̰|ÃkœÀDô6*ω}A»j)[èÄÒp¦u­ªN„Üó-R–C*Ĩ§HCƒ†¶F¶Úò`ºÞ(bö]Úþ§¡µÿq`ç—å°[˜ì~·4¿6Eõ2Õû¤´E'ͯªêže%Å횢£Ë„ÓMiŠIÃÞ--Ðj(¹vä ÈpÄñ8LR7R°¶0J#O ]˜ áA”ü¬Ùsúßhݸ޳'|M)<˘Û!@ØÌP¤uÝ”¯Sî¯Ï;Ê% ™..¥c *z ˆï÷5ˆ2FƒPê½uÖe þ¼Ó'n‚åÍ|§¦`h‘¡h´Vô&>!äÿ±…‡óÜ_2#8}`#¨¢oK†¥·?TÈ[H6Äà.á–:MíC3ÒñADâ_šì÷µé )ß®èu¨6¯‡°E`?=Ú‹C$¨×1œ‰êa0ê"„ñUz{B½•YZô¸Aš:וâ1¸Zé©ò/$«éû«‡ÙÍD¸®óþêé}ÀŒ&“£X¨ŽdtdÓi+ÓGm²¥U eýÙØa8#¹¬uÈêʨ¥á1ì¯hÛaºBtûq[ÖÙòH°…â šÿuÝ ÆñÔYXƒª/e2œÀÞ­°Ž2°›º“'Ô9ЦpÊÚ¢Zg* a?, ?ˬ¼V>˜D7†û¦è:D»7iI޵/´U-ñdªÚôÞèÞEäZ`fÌÞ`ðøÐ",ñصá tÇPÁ´;†~íã,tOj?\i‘Ö¡Ô‰ð\WuÞ†%P §GFÍ‹¨?îïYz§6»¹™M”Hç—›ÙåÅTWƒ£bû4:ß¹&Plg].µàÚ$iú¥öЬ«ƒ Èpê‰áEúk°ŽÌ–§½o73_gÓ²¢ke¹:90ݶG ÷ÒCï zÏ×*Œ_›¶{¸;º ë ÿÎPïìè¬WÇQMù7þúñ…:¿¿¾œ_ýøt1‹õÇÎãü§7]v„ÄX±QG5…p°'ä|EWL†Oõ‘Óˆûƒ/ó„a˜š:­]õRÕOu©³§&µÔ¤ªºnØŒ^¬ZyJ4èç ZübÌ~iÏÄœozpÝt·‡\¢©Ï%%í¨g˦k—£vbvcøÔ# °gýàº6¼ ºÀÖVŒÐzmÌû¶ÚlcUxoÞÛ¯e#Ø4™5¯Åaàèæzj'ŸRw­Z•È×Khìô\~1 C]pÅÓÅí¯–Ê»ú›xÀsøÑqõÓ|~gˆÆx>[ùã"é“äXð/ÙñÞÐvµŠiê»"u×UeÐ$DI_ôÑåàHêÕ-޾âC~úø¢6yÝ,͵<Á–&Í!» CÇkï~×—_£Ãð‰&_Ý„‡zâo:Ògå©ûÒ´¤B…5$€ôß$àáâÝ•¾ƒ7䇪ˆŽpYµ°¦õ£TêS W¸–UÞ¼né±>2û#•òtâtÊiºþ 4‹:]s€5Á®S†ºï©›—SòF²Ä‰V؃>MV”枌.:ƒKºÊBzXúñˆÐzP>>\=<Ü<Íïõö躓@ðÈîü×zl>Ý¡íïÁ{t7P§)ް‹už°Ð›w£Úÿ+ ŒF éw0MþßB:ßCFzÞ?‚ @®"ñ=šp_Înq?Õ7µ³KSvÐ;¾Ò4—Õpƒ¹% j½íÑ‘öü:”ð²®_Šoï\¬¾^a%5‚e؇¬@âXJu£ÐX©u›Ú•.£gM¶êÌ·oúk®­lHÍZmtûûÝ÷‰¾ÅÏr+v™êóèËÁ7t‘®àD-_W7¶[Ñ»4_l™¯±68?§ïÔ…w`vxŒe¾ÄZÊR¢Íl;}}B¨ÝFnW<.þ¥Çþ“zÿão{þ¢ öFþ>­HNíÂÖÁØÕÝ^ÊÊ&ÖxóØcSt×*±"AÙ§÷f"UŘ…ãotä–Ú}ÙÙ‡ŽHè“«ùÉñçÿÜ÷pAendstream endobj 95 0 obj 3329 endobj 99 0 obj <> stream xœ­YÛrÛF}×WLù%à–á~qª¶V‘¨X‰by%:Ù¬½¥#. J«ý}ôžž Òt²[.ß°§§ûôéÓ­ß™c»Ì¡_úï¬::¹‰Ùª;rØêè÷#W>dú¯¬bß-ñBB,ŽÔw\{,N};IÙ²:rÝÔN“-Ÿ>YeqŸmÛrÞoû¦-xùÙò?Ϙþt6÷BÇvÜÐڴͪåUUÔ+vð+³-8ò#6Çïeç`Ý:çõJ´Í¶co®ºÙò7ù†ëÉ7l×Iå[·gäs–ñšeMÝó¢f-§×=;¢—2\Ó·0ÂeðUë9£‡Ž|Ø^”ºêÁ'«©*^ç{.ú5¬ôkÁºló–ì³çu‘­YÑ1κ"L<̼ÐzYÏš¶näèÈ„,{~d{^jŽìÇ#é•8Q艼ŽÂMè-Ä ²Ýȯê˜p#Ž}“5%y‘‹®XÕ"·™°Wöl:‰ß9|r²íDûvûîoë¦ëOø·9ïûëI_mNzÑõß²ÓͦcÕ¶ëYÝôŒ—¥¹@H§eG~àØQš l§1KœPÇ̪;^}ñ‘+ßÃÐÆ—ŒëÊm\ì­ÊQß°{ÁÈ/‘3Dø¡iYÞ̼ÀNS/¶žë²áygKO s/±yι¨Šô­hŸŠL¨§‰'€aV£§±|®#Ыä/‹¬ X!FO37´'H-Ñ=Û2Ž<Sò‰&Ü0µ]O›“y/ä•‘ÃPŸº©Éø“ÜHm/I“@?(_ØÀf÷/8¿Î©$8ëÛ"{,]‰Âÿ×Àýj}ÌšVŸáÉ3机¹íÜ“‡?â‰éÄi Ýñqcg€v]ϼ8µý$²š\ÞGúæ…Èwâ›yô]X#¸D»'«g;‘环i@n{öAèqæ¦Nì[BlèJT:KT& ²¦H55k6¢&œz) ­å VoE·-{¬)ÏóæaŽì(Zp];4Ñ›+”¥(¢ØÁ³_¦Ö"\Àïžg6[®e@Nn!Åg±û‡&Cg@äõ‡åÝòò§ÅõÇ¥â!ù…ÿ,63œ¨tLLú„+'5Q66¯®gh2u<ë—»Û‹ÅùÝÕåO—Ë‘ì&§„pË5õÔl(XÝ@á~1Í¡†¶TAg…â[ÍB‹Ê›Ë5þÒeDÆ#!µW²>¾Ñå‘ÈG:§‰›|µ<Òä(ȵ]?ù–GÏÛ^‚©‘¥"K㘠Uãÿ»Æ£ÀöýàÏŒ·°¦"‹RHÐÏÅš† ·ÌR#hò¬¼†kYÙt‡ámËâ‹PNÆ 2K£@"ã› å‡ ‹ïAÉub0Ñ©±ëÑàê'KìöúìG ±$p-|pññýÙòòúýA€ù‰v¤ »èJ±ARYÞ£TØÃ¶V×ÄÙ~¸Þíõ݋ŇYê˱k^]þ¼` ¢ÈŠ¢ic~¦—’¼ÃèDËr¬[ÑË7µd?:¹/*AA×¥ÀžgRqø¡%ãÇË®™~Ö>JÓÓ8ž`ˆ@·µÄ“bŠÿº©)ß;ÜЛÐïþ òFl¤ÞhΕÉW= ¡Eâ_Ñ*ˆªÙÖ½áúc¶izQ÷`=Œº1;r½#EdçR6ÂJTMû¨…ݣeIšÀ„µÿ‚Ý$@s÷Hð§Ó\\^-n/ÿ¹¸»:½ù~qˆ#"â¡W¸‘/½Ñp@À!$dƒ·ºí}O£tˆ·èx¿fîOþ¯¶¼Í)›¤â0Ú‡ Þ.nNg`¶ïï 7²“X=Þ3 mäÛƒfŒ"Þ-NÏ7‡‚ ý_1Hªs/7®o——‹«óƒÉñ\;p& EøÉo1¬I]¶£ŒY‰Z´€‰Êaˆïûâ‹U.º¾Ýfý¶ÕɰÙÙš·<ëɢޏoíÒ”eÐ$F1€ÑËAYëÕ½ÈsAÑb]Q%À6’‡jåÕFå,˜é¦ƒùhbßôe"6îè¹I)Ít4‡Q§4³Q¼K :Bž 8kRrâU”¹Õ´v«¡ÌkŒ_²t;[+Æù˜»v`æi>bú=¯Dgdb´?IuSÚ ê¶È,U „‰;òy©A¤• xQE£&gÍÖpžK²©ø‹Š¨©”%{cS ÇÅÌÇí¤)FÌɼ‚sRÏÏTÈh*È6Þ‰î˜Iz£!ýóTûÉI€É…„—B 'Óu¸Z©ñ^Ð"}ƒ1;oD§´ A6Ÿ·h¹½˜«$ÍhB¡Ó1Ç#»±³¦¦–>G_Þ@0ÒußêÌÙD§_ÉÙ^ Ïå_>Y¦¦¾«¹>N#ë´Þ‰^6j!º1Õååû‹ë»ÅÅÅJðçÅ>™Vô¦Œ¢ĪÍì¡m*ZjPZ¿9BâAYŠ!Ý‘}ë>¦wÐpͱÍè¶!ʞ˺tÓÉÈ VJFÔRÜk2h€“ZbRq9F;47*‚ú¾ÂÍX,‘Ú©?ÔõS3Qÿ‰é‘§³\ä2EÈKWÜeÑ¿Jà“²eŸ'× ÊF¤Ѩ‚I5ø1ºÅ°7Sº #NDŸÐâã9sÌÞ|þÌ·}³;Ä$4<˜YÒú÷׆˜Ì¾çý›c-;‚h·[o6mýö 1È®}žx¤¿Añ|yB=¹$ßÐ-œÜ­Ûì"¤4 aïëŒÃÎ&¸W@V³ Ž‹Ã? =8ªÛ‰õnÅ»ËZñÕ{S æõ(÷/¸b;Ùg9v:î³:q@3{гi’ìõÀÛÛ«»Ÿ7—¿bÀ?ØWimâãu‚©`¦É¡èø=Ê0Se–¦Có8´é@'Œõœª¢Ê$û¡ ¥aމãtƒ¹ —d@Š ~×ÛJíTÕt4iÅ¢&_¤Nã´”Ôb'M Åå°‹ÖfRUÄ(-³YʼnÚí„ÜÆùÚóuùÉ=ä~…-¯nOMŠƒ ©{x)Rbt¿@CŠmdIJeàYYÅ¥Ðn·Htº Ú ,SÑù¨cÝ/õ{»B–ÄÒí0û?Í<¥cu@I2Œ~’ZŸph=˜Y4b© mJZHKE>Ý|±áDñ¬Õ&”Fúgºó/”_gë4õ1ý²ófØ”íËU{ðkÚžµ¢”]·EGºQJªJCHÎ`XJó2èµB%·º|^첇¤_×'«Fóv0í¹ñnó–+c¢è·|G-Ú¤s@*…9C¨;Ã×(ÑqsOoÎkö‚جù.ÛaR›ª½!óO÷Ãþ Ö{mƒ2¨tË7c>tnI†ü1úQ¢¢Ï1€wP!Ô!h©½%&©Ý¦èNøg0²©j¼}¡ñr%/×îš cPùŸš`åPÒ*Ý)@-}Y5?¹‰Ymµî•”(*<zû€9"v'Wu•À#ð¤%È©}еE÷ØÙì]C?S &~¬ä¯þ÷†÷küEôÁån¢{Á_¡t!^3> stream xœ•YÛnäÆ}×W4ü²œ@Ãe³yÍ› äaIÖ C,8d†Öó¢‰ò ûÑ9ÕÕÍ‹F‰ëÕjÈîêªSçœêùU¾ýgÿ.›»ŸSñ4Üâéî×;i>ö¯²?<àŒ~ñp¼ãw¤HC‘æÊÏrñÐÜI™ûy‹‡ëÝ£w®åÔŸ÷ã4v}]œ¿xêËNØßîöaøŒ½Kß=õEÓÔí“x÷•Ý?þ|‡mö*Õ]à«4â~ÐC]éAŒ'-ºÃNFØ<ͼ—º›QmUWňÏÏõ³Y$ô3zµ¼“*ÇÞ €==í~Á¡éƒÐW2’öƒA÷¢-¬€µÄ¥†+=™E~"Cû…£(¯ë«á±à ¼%¥-œÐsIèvüû²cäÇ*ÌìŸÄe×=ר´ë…¦çö¨PLϦŸÅ¹}ôEÏkä~˜åYd?hÍ;*—b/C¢ ïÛYÛÔÝt®Dq:qêðÓ Û¡ëÍVR…~ÏG4+¼hQ-q'~ŠMížÅXøöýŒ>ÝËŽÄ>Œès‰„%f‡NöÁÐ,“úAâ ñÒ­Ž”¹Íûj]QrÀκ¹¯Ý$šiEw¤3õƒþà×=þÝ4]kަ}ñ—ã¨[~°¿ÐKºªñæ4zLDaâgÅ&Í{/+a xáïMKÀ0Er¨–f×A}yúØë˹(m¬c?iQ·Ç®oбFÔ×z<‰ãNÒÙ£Ä+žçu%*“k‚óÇÏ9šÑÏcêǽ’Pò0£ þ4E3ÇZ|jGݱE¹t°šÏŠÅÛRô–.†WÄC/ñÆÒ£X‹A Ùʾ> ŠºÅ?Æ¢>ÓO¦,UWNnGŸ 1¼¶å©ïZêÄÕRAž™µÆSÄ÷E;u¤·Z>‹Ñö)cÁýHØÚ}p Hež‡«äzu£MsVÚÜr±m¸[dý\¡ X\õþ8õ­˜Ú‘Nbb¯ c9Í©,„ì2„çÄÚƒáÙ”«Ü#•Ê–¾Ô÷83þ׋¢½Gó»Ð©ò®ãÀ2¡»95¼ÑålÒC™,#ªº×%Aep)Û»æ’fî£G{h|1"Y÷\{À­$Î¥¦ÀŽÔ9ófã©×E5ø»}œI_f‘94±‡hê§Ó(š‚U¡L+•øqd³úèéz§ÞÌoÌ“&÷aàÇ ½jÝX ¸Œ2sÅÄ s.I¥'K÷åQ8'™ ‡ñ*{(µ§BŒ4Ew<5IX=7ÝÀ¿ë5çrn÷$ö#þá*?âH¼ž¸æé„&äM°äÌNíe  ˃ Qp,JŤ.@wlZÕP¼³^ÎZ\.çºdA=/X„"æê?×m5Uº*ß‹¡¦Ÿ‹VS—.Ýhj™4'öeøá¦7©5„j7#¼ÊóÜû4Þ¨)Z×Ý´ú;Kטy¥ŽP~$Þq\a†èj€Ãt«¿ËI– ,'p§ÃC öÌïAæ§PÚµ*>zHÄNÚFüW=¾šu‹¶x¢Þ fqLVÿ›~³:ËWâ© îu\dò–è®›6™%¾šÙ%Ä*©ÈrY&EÄ©ÃPÄ ¼K ]·¹D/úy fzžÕÒ›ðü# ¤‚Ï“Óo™þÓ™ÀÓÀcÐÏ­Q`ÏFø=hB:°cu' Rö©©9_ýè¡;™$“Þñu£;h µlœ±cŸÄ·Ü?µ°9ºZ#Mui`z2†”6Ë„àzçÕ½ëh6ËB,´Ú %cç/FÁÚR‘]È}¥3'„y“ÂîQf‹o‡ýˆ[v«qî´L~9¿Âw] ·Å+)€Óè ;eÞT7ë$O­×÷f 0“©èÙBˆ6ª*BýtY<Ñ"$óUo§²=ì`Y!¾ãà çåów|xÉüâýÜ.˜›žðëÅÆM+jÄ|…‹¬¾‚jÇUÎݾ#ÎM;Þ¿I@×Ey‚@´èО¬«;´›9†0 ©Õ8„ûbÕ_iJÀC› Ú(;¾ {4ãüíDHƒ• \Sòä…ÂxQ&?Ix´ ϘˆkŠC·™EàM‚(‘›¶W¾LÔmë¯bnd f[’$ì\ù-OHœÂÂŽ3hŽçlo¯é«Ì!Xî+VÝÖ#î›#ülvSÔl@‘ÍU7,õbµ6m ¡Ù È”’ìñìPþWxС(¾»~å·Þ‰Q1Ja_b`†ë! ÀÜO‘üÃfëæ&©P³ò)û0&ÄU´µœë¬ŒƒhÖˆ=›åsxl½³úqY=öåâ:Ýâ–ӛΠh_<7{Φ ­uqÈ*Iðš36×nÍélà[mØ¡h7ï*”yVê­'R;8 n_vLï`ž=†CåÁÖ¢yìÖ|H«Á>oÊM—PÉÌ«z[súN±óàM­WËÆ"½«üï\0+çsýó$ç!iZ ľ€;¾R滤휺±mT•ƒ6C¨h­ú—2ÊúÎ-{×bSrtûBC¦“{žl X;UIã:mÉyŽý}w¦¶ZO¡&Höìuðy»½Ž’)Ùª·2Íã[êK¸`ôåf)ÌÝm!LŽ/~E§CÚÜjÞ–¯?È k}qÕ7€>N­ƒío¸„²g‡$áû²ì ‡°¦õf0€nÁ×ø<儹šçûƒ&[0-3nu1'pR­N°C¯ŽG+ºµjM€—nêOô³ëzsÝ·OCsÏ@€q;Øq–Œ«• 4âÚÒÒ&Òì?²£uîSO»˜ÉR¯¨[rØfò— !r©œOe/Ý`Úº1ÜLŠio ®äGa0ºÖl’{=\ºÖÔ«°W]ˈ²7p÷×–ÇTW»§ó’<½~°J›«ZHc¸€aXÓIîÈÐëå`'¥æÛ7èCéühi• †cðŠ'“X͆ði6hx4ýˆã¬JHËÿVm nQ’ÞÒϱ‚%˜¹‚Îez%‹›Þ/„™ÑåC6‘ˆæÛùl.W–1@üf¨fÕW²"/ó-SÑ×ńŕь,ÔEÐo]N碿Á¤ÃÏ4èe4`ñ­IB]7ŠÈôcзdî ú@½q‹2¼k0ëáQKW¼Ä}vF¤xœ actÌmv»áo»Õ ®ßKà‰pIWŸ,Aßf˜ÆRZŸÌJx=/¸¤'ÜžM VH¡a®ó8;:ð‡hJnD œ/֟ݦLªïÙ<¶k7œÇKÔ æÑÞ³º"Ò)7ý0g{’ÌC¹\0¥™½`ê¬áßS7”]…G€—©^j¾gOÂ0ÜŠB -xO¦uÒe©û Û¼˜ësùÝ¿ŠsGÔ “a˜Uw4ªªí-?Áwä "B™BzÒÿÊwxÅ3FIlhôí€À“Ýr€ ø} ’)wQd»—¿ãÀ±½—ºb <éóÅì‰Æ 1LõHÍì2A¢î*ç |4åüÝK¬Øäßòô¥×e1™.2öëd¾B‹ÿèØÜõ$ÁJwе„/±Þëð^ÿ)ÌóýççÃ%™„/†c%íý~£«óŒ’­ï›Û ·÷>„a £d«ö`ê’_q3±"Øå-Ó5šKPÍ“6ë,­éth­+êk¹ÎB>‹G 6Û‘º]DZɂéÖ)ž¿çòž×7ë6ç)„<@ºžC¸¦ŸŽv´%–€Õò½YÈ¢V´,ccwk/MYXQíf\®ùþÉÌçË÷f€È›*‡9ZÚ}ú¸.s¿S)¹´mÓÍt÷¢¿š Ï^m£·¢…¡ßŸÈÐT*ÛtÑqO«®yGÑ­O°|)ëF£zóMë< ØVk«š¯¨Ã”šm‚¾¬óà‹ÏºÑÍA÷̤›Ù¾9èˆ#_nÆbzïk‰I¾.ïAÀqz宂Àèùr=Ú/ŸŒÊK IÄëÕe!— 1â[[']ÝÛ[ð©åû3ÑOmk ô> stream xœ•XÛrÜ6}Ÿ¯À›É­„àI¬]gKå\4)×–œraHHǤ&“oðGç4À«¤}ØRÙ’0@£/§Ïiè+ó¸`} ßóÓæ»ßö¨7{Ü|Ýó!¾å'öÃRZØ?lìÁŸ%YÀÓŒíO!2ž¥Û_6÷NUò¾­v]ß5m)«ÏNðÙeê»ó#{"rÎmóØÊÓ©¬Ù›GÜ?öÿÆÅ"nb¶Ã¿}±qhó—S_uå—³jšödOìÿ»ñ9ÜÈg"¸Lç>»ÚãÑpoX÷Èq§¬*V¨¼UR+Î>Uͺ£bu:¨–a9?*ÍþRm³e{»VÖúAµšÉV±¢©'ã w 8¼öCºå~évY?4_Z7H%‹e¸Sž=ÁãÀúçs?ÆÇ\Öì X¯UÁº†=ªŽ‘¥ö$»²©™<4}Çòæt®TG[F9û©£hjÄÑõm­éòv7ܳþœ‰ÿí6o Å`™QÜøO_'k‹4‹ àah½¼w¶ë‡@B84ñØLg<Y6Ô ªš¥Âó‡Ï.×¹<áâнÓôï·Ç©¦uŸçJk† ƒe]”¸œP:ÏeÑ˹@nqaìð!Çr̳ȔÈÇE"CRžÚ«îîn·ìGÕvå·\v(¹¬ ö3òÕ²½›¸"Μ¶ÌŸ´1÷ pAŠ•!ŸÎ½ž"²YðLj”*ý-;K­/®ðœ¦-ô–=£;4§1›\̹S×…5?ÍÒ!õæ³Ç[vóñ_?}¼Á¢4ëšýa¡¹Œ\„ž©ü¹sw”-uã{ÙIöƒê. x¹¡Ê@ *¥-`@ëxã)Úÿ˜Ò< 3SC±t¾Ï—½'ÒLØ÷i;QЭÔMº9¡¥ÈÃà‡AàÑúÁ.csšÕ²î@”B™+VjÓ[S¶Ù–i›^ %ð²êq;؇)Gw_íWàÖÌ]¦qÇËå~œÒUÔã·‡íÔOãqYkçc9³K[2¯Õ‹‰ŽÖÙÔHV5kŒOšûnCaÜÚ0öÿ¸wº£ÄB쥄]‹®¾*ˆ:žð ÷¼$pÔ¹£ö‘ ê PâìN°ƒÔåÿL6Œdé2ãë<›<ìqðýÇ; ô9U¡˜ê:ÇÛËúUfNò‰ ©ûƒV_{Uw¬–(i«tS=Ó'?м©±¤†‡n@y¾³µ¶ ä²x„\a‚Ë›ºV¹aÑsÓ€<(‡p÷É”:‰b“/ÔŽÃ>)@cLíd+ßø^Ì£dìÈËyF{ ú‰'°g‰I X¹„§u·¸ÚrÍ•Ví~ðCVÚ4×Î÷Á83tù‡M+xþP÷ε* ¢"µ D½UA"ETpk€JÚ¢;‚šåX'}V9èe ÒÃÕ7‰xB5zÝ2[¦•z©ï˜&Âxfüq& nƒvÃÌQoIeðhÖnY*¢£ôBdRßdýŽöhe»¶*8Òm’p?‰GSÏÊ*UJ‡_Rn;3;R9ßoá½êÜ••$5?ÙÍÛzi$˜ÖÑáCC,ÛÄ^•O£µÀžÊxˆ@}xXš‹£` X2Xœ¢»bÊ?%M \óT¢œº1(ij¸<ªÙÚ€¶—NS‚s‘K <Šçö».†=>ÆŒ©ºá0³Fñ²W Y ”>ùh2£@K5‹QÀp1äìŸÍœ AU„Sr릳j6ƒŠ ¼t–²{a$3˜ú6‰l߸d §Š™†­$1ÂQ® D•‰Òtœà¼áø3"^2Cà'ó –2‘y(«²»ßh$N³2Ž¡6‰C±ÂiÈý(~…Ó{§íÜÐÀ©Óä‹‚„Ü‹ýÑı¯ °HF0˜wìREãêrL…wv75fFb 6Ç mÇ…1faòBj¡)¨ñ‡ýþÖŸ«Fóm`4"N‚guãú‘s •80cÇXë{U-óòþdåù¬j3+~¢] 3%˜Mn¢! Y»hhOŽDZî0xpýACû²ê ÌD.{{ËÙ« ~ À£"¬©˜ gÖx? _UcƒiÁÓË* ÆÆŸâµ4n§´ºÎ»å÷‚ú¼z64<Ó€ÀK£!ˆ¸~²Õ"3JB+Û«G6þ7k¼¨…/¢i0”ûA"™…ªV­¤ç ˆà`JÂõp>šãÈu±ëJð÷gžÿ^—î&:L„I\ŠÌ‰‰ õ’¼pê—+t÷¤ñ(5#âqÊQV¡ ­Ø‚ÉÄ<7Øç‘Ô; &  ".âyL/ßú{Á;Ö婬dk.m{«ö– í&óB›ò=ßä{>ÏâQ>Ž ¾/—Èè›Q‹Úç,aÕåV}z´GËr…/['ò¦y ¼fž÷¡Àà ž_f%׬(К–£A 4ΠýŸ]<ðiÀ¡‘æ ðŒTÄ— ÷¶Ì¶>‚6|”æ!Ûª“4çÌDF<Ñì¥EY•½–ºéí:n\UG¡¦v:~ñ}¦“Tš·8 3_´êšs7ýa–„Tðlb‡”œ¿ñŠÊbú‹|ÞÝܰïoï~ž·®Iód£ZÌÝ e6†,ëSM”r¼ÐFä÷¶k›¸2žùw´j†u Qÿ¿ Qr^Øñ–F,œ$I€fü8æfÖ)d1[I¥È €1¬þàr§ÎÌṙ˜ðF}A+7ûͯøú¸ œendstream endobj 110 0 obj 2092 endobj 4 0 obj <> /Contents 5 0 R >> endobj 12 0 obj <> /Contents 13 0 R >> endobj 18 0 obj <> /Contents 19 0 R >> endobj 23 0 obj <> /Contents 24 0 R >> endobj 28 0 obj <> /Contents 29 0 R >> endobj 33 0 obj <> /Contents 34 0 R >> endobj 38 0 obj <> /Contents 39 0 R >> endobj 43 0 obj <> /Contents 44 0 R >> endobj 48 0 obj <> /Contents 49 0 R >> endobj 53 0 obj <> /Contents 54 0 R >> endobj 58 0 obj <> /Contents 59 0 R >> endobj 63 0 obj <> /Contents 64 0 R >> endobj 68 0 obj <> /Contents 69 0 R >> endobj 73 0 obj <> /Contents 74 0 R >> endobj 78 0 obj <> /Contents 79 0 R >> endobj 83 0 obj <> /Contents 84 0 R >> endobj 88 0 obj <> /Contents 89 0 R >> endobj 93 0 obj <> /Contents 94 0 R >> endobj 98 0 obj <> /Contents 99 0 R >> endobj 103 0 obj <> /Contents 104 0 R >> endobj 108 0 obj <> /Contents 109 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 12 0 R 18 0 R 23 0 R 28 0 R 33 0 R 38 0 R 43 0 R 48 0 R 53 0 R 58 0 R 63 0 R 68 0 R 73 0 R 78 0 R 83 0 R 88 0 R 93 0 R 98 0 R 103 0 R 108 0 R ] /Count 21 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 26 0 obj <> endobj 27 0 obj <> endobj 31 0 obj <> endobj 32 0 obj <> endobj 36 0 obj <> endobj 37 0 obj <> endobj 41 0 obj <> endobj 42 0 obj <> endobj 46 0 obj <> endobj 47 0 obj <> endobj 51 0 obj <> endobj 52 0 obj <> endobj 56 0 obj <> endobj 57 0 obj <> endobj 61 0 obj <> endobj 62 0 obj <> endobj 66 0 obj <> endobj 67 0 obj <> endobj 71 0 obj <> endobj 72 0 obj <> endobj 76 0 obj <> endobj 77 0 obj <> endobj 81 0 obj <> endobj 82 0 obj <> endobj 86 0 obj <> endobj 87 0 obj <> endobj 91 0 obj <> endobj 92 0 obj <> endobj 96 0 obj <> endobj 97 0 obj <> endobj 101 0 obj <> endobj 102 0 obj <> endobj 106 0 obj <> endobj 107 0 obj <> endobj 111 0 obj <> endobj 112 0 obj <> endobj 15 0 obj <> endobj 9 0 obj <> endobj 113 0 obj <> endobj 8 0 obj <> endobj 114 0 obj <> endobj 115 0 obj <>stream 2016-01-27T08:26:10+01:00 2016-01-27T08:26:10+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 116 0000000000 65535 f 0000065629 00000 n 0000069122 00000 n 0000065427 00000 n 0000062017 00000 n 0000000015 00000 n 0000002627 00000 n 0000065695 00000 n 0000067535 00000 n 0000067396 00000 n 0000065736 00000 n 0000065766 00000 n 0000062177 00000 n 0000002647 00000 n 0000005712 00000 n 0000067328 00000 n 0000065805 00000 n 0000065835 00000 n 0000062339 00000 n 0000005733 00000 n 0000008767 00000 n 0000065885 00000 n 0000065915 00000 n 0000062501 00000 n 0000008788 00000 n 0000012462 00000 n 0000065965 00000 n 0000065995 00000 n 0000062663 00000 n 0000012483 00000 n 0000015237 00000 n 0000066045 00000 n 0000066075 00000 n 0000062825 00000 n 0000015258 00000 n 0000018139 00000 n 0000066125 00000 n 0000066155 00000 n 0000062987 00000 n 0000018160 00000 n 0000020654 00000 n 0000066205 00000 n 0000066235 00000 n 0000063149 00000 n 0000020675 00000 n 0000022784 00000 n 0000066285 00000 n 0000066315 00000 n 0000063311 00000 n 0000022805 00000 n 0000025178 00000 n 0000066356 00000 n 0000066386 00000 n 0000063473 00000 n 0000025199 00000 n 0000028180 00000 n 0000066436 00000 n 0000066466 00000 n 0000063635 00000 n 0000028201 00000 n 0000031038 00000 n 0000066507 00000 n 0000066537 00000 n 0000063797 00000 n 0000031059 00000 n 0000034132 00000 n 0000066567 00000 n 0000066597 00000 n 0000063959 00000 n 0000034153 00000 n 0000036390 00000 n 0000066647 00000 n 0000066677 00000 n 0000064121 00000 n 0000036411 00000 n 0000039085 00000 n 0000066718 00000 n 0000066748 00000 n 0000064283 00000 n 0000039106 00000 n 0000042747 00000 n 0000066789 00000 n 0000066819 00000 n 0000064445 00000 n 0000042768 00000 n 0000046075 00000 n 0000066869 00000 n 0000066899 00000 n 0000064607 00000 n 0000046096 00000 n 0000049625 00000 n 0000066949 00000 n 0000066979 00000 n 0000064769 00000 n 0000049646 00000 n 0000053047 00000 n 0000067020 00000 n 0000067050 00000 n 0000064931 00000 n 0000053068 00000 n 0000056339 00000 n 0000067091 00000 n 0000067122 00000 n 0000065095 00000 n 0000056361 00000 n 0000059807 00000 n 0000067164 00000 n 0000067195 00000 n 0000065261 00000 n 0000059829 00000 n 0000061995 00000 n 0000067246 00000 n 0000067277 00000 n 0000067478 00000 n 0000067618 00000 n 0000067698 00000 n trailer << /Size 116 /Root 1 0 R /Info 2 0 R /ID [<0BF5AD191BA5B2C9F0EBF006B77956E2><0BF5AD191BA5B2C9F0EBF006B77956E2>] >> startxref 69276 %%EOF curl-7.47.0/docs/libcurl/curl_formfree.html0000644000175000017500000000437112652070414015611 00000000000000 curl_formfree man page

NAME

curl_formfree - free a previously build multipart/formdata HTTP POST chain

SYNOPSIS

#include <curl/curl.h>

void curl_formfree(struct curl_httppost * form);

DESCRIPTION

curl_formfree() is used to clean up data previously built/appended with curl_formadd. This must be called when the data has been used, which typically means after curl_easy_perform has been called.

The pointer to free is the same pointer you passed to the CURLOPT_HTTPPOST(3) option, which is the firstitem pointer from the curl_formadd invoke(s).

form is the pointer as returned from a previous call to curl_formadd and may be NULL.

RETURN VALUE

None

SEE ALSO

curl_formadd

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_version_info.pdf0000644000175000017500000002144112652070417016311 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœÍXÛnä6}ï¯ ’« 7MR÷ÌîÙd&pMR²Þ-¼|ìêûÇåúýB„4€ëbÁyJ}NÖ‡Å;Ov}Õ6÷UóÐÞyþÝ’ÔÕ÷,W"d”±Øû6kƬ&æ ¯¿YøIHýTŸõì4µbTp°Ÿƒ{)¸GÓ=\ðkœ’•©­×_âb†ëxHÃÔ7G~ûŸÏ‘ F“øšiÇ?{© ôW—" i*b¯½/²!#çfeJÓ$ôÃWÞyä«ïo®ž.2pfá Øô ǽ<ôÓļ¿[¾š_O80N}ßÁâë×·_ݼùnýæíõijf8€´˜Öû1ÈȾ­šAvdhá?êZ€<é‡l¨røÑù@ÕPª|t;x ¹É6í8MÙü>3k ԹϺª{ò 3°${§ÂÅ3ð&‘¥T$áì‘0õe;ÖÙHÒËãEÐ7ïà <¯Àñ±É1Ö¬®†#ÙÕjEÖc;’CW ê·Žì»vÛe;JÖ¸í ÕƒÝ$Ô.ÇeVxy:Ôô³pN KU^¬U]“¬6Bå(¿Ð§i”ZβY—œ†›âe‰>êØa’»v96éÊl8ñŒMáYSôäPVµ´¯¦Ä=Œ˜G²«¶å Ü‚ˆB ¡ AÐ Œ5Ð[€7#E²@l¹ðd'›ÁØ§Žª1_)Tª$N-X(ŸeÊA>Aêýðúæ}ýv(EÞfû”nÓ@ÄRŒ.ïÚ~ r4Ý6BÛ©çr—uG•È2³‡ˆ%”D¬Êú¬G9a n¼ª¸P-_(0²Â‚2U>U/þN^,€w:DΘžohø#ª]Ëa>”‘ÂÖûr¿¯«\‰°'†Ðc/5e]…½ßÅV’Jñ¹Ù‚Ö!}û¶ï« ¤Þ-@šv¸ Ì $ÿØ£<óv·ÂÀ0Ú+”·Zèr—2ÿLÉzR›lWå—__]\+{ž5˜„¼Ìš­*(…ÜKøñ@2'ºX¿áš)ך’Ï E¶•¯Ô ̼Ës()’²Ï»j¯ðßȺ=q/Iih úá|o ü3/.•s‚tö ?”²!g`ðŒ@š¦­ÊNqÏàX|Í9sü1ƬeT…Üm íá¼?J({¹¼”OååW÷-‘Kx¨ÄøKÕ_óKËXð!˜4’C~$AGÎÕ]%ŒO6¸2|°ÝÉ+r©P ñ1›¤ä•ãÈÔ;3ä-dùy®‘â,¤Q<'jlújÛ(Æ ÏJû}3îÐ Ÿ²ƒÛ­“{¸™€”Z2& MyÕ8þ—PK0ÝËPŠIù¨cxnGìõ[}µ5Á­›jØeý‡ ÅšgL S¸;þSx —ÂŒ·ò´ïM3„”Oxü2Úñ…¶ ‘s=·ðj¶Æh”Ø–…3Ç–ÅWHŽÜ5 KXqñä¾÷cß.ýè}‡×ܯ²k'áæ£™n¡>ýzÿ”ŠšË“3ˆþã®Ç¡ÍÛºWû§¿p-hÏ•Ëåžýÿ ÷µLÓW@¥û$ígí ùq§J¾%¿Ò <€0ìŽA%þP=C I^dÔ§êg¨xQ~”`UÑ@¸<ž´þçÔz·?ÇMî¼ü¢Š5uMúÝòB76.&tDÈi|": î¤ã,ÁÛÆˆZþâÜœm´ÅºBò©E;(þtæÃÄWÊÒOõHôh&Ò pôÌm1r‹CÄ¡`M¬>îìAµça>Ýæà ûõÚ­  RÙ&®w ‡?•(oÜïÛn ²Á¼6(!|ÌÌåû,½}_¢y¤FÀÿr1~­ÂéRÿ=w½Š§Y®0ÝýœX˜[ Óšé E+{Œµ„šL8Í2Ô{k‹Ñ$Ô£‚n\6иp4@ŠÁöi2]QÕãŒ#­€uK×CgMJE)Ÿú¡ú  â&Át…5ösCh¿"Ķſz 2á@f=£—AòÔÍw^9)€ÞýLiÈ=hluÛ .•j€ îD`nnI~2ž†Bìç+ÒͶ„%+e¸¼C:VÏ`$°!ÊIÁ©ÁÄc3EL&OTåu[—ÓÔ ®tŒåÀKhÔõ<õdx{:¹p#Á„«PÀ:lÝMFDBCkÃÒ‹²!ÇÁšÀ9ÉL}%Z·™×Ð@UЧÙö"ƒÑEPί?*ðµ!AhWL8àî k}½س¥é“²áäµ#Ÿû>Ó_ЉªÙx›,iê o \3Í‘“ðÞyoí—çÃK2;H±¹ß onÖçUeuëLŠö»”¹ ´ Ë¢XŸ¶ aBs?YIÁ çî‡8ƒš'®ŸäÎiíTcLJûH„«ßl ¹©ë'ƒK›ã¢×ëÅ¿àß‘–•Ýendstream endobj 6 0 obj 2090 endobj 14 0 obj <> stream xœWíŽÛ6ýï§à¿•c†¤¾¨b±€“8©;_îXM±Y™3VcK®$ÛIÑGHßyï%)Kòx:éÂÀ l‰—÷žsxîåo„QN~ìÿt=xu’ÇjÀÈãà·×‰ý—®Éë^øCü00k8  #—ʈÄë“nËÕÇÝ0þu |êÁ ñbÀyD]NâýàÖQe•ùÇ,(î÷nHVÙ=®Ž„Ï(c¡s™äÛdEl ÿÆ? \éS72±žÀ­^Ýpf³¹¡GÈŒÜ_¿uvªrÙuôÊ|»ÖQÛJ|zahâ3êñSu²Š$Dxä>« ¬¹W%IK•Ôj9ÒÒßMuÌM†5>dú@놼 -uèeV}Gþ%1tEÖɯEiwø7ù£ý=ËOýޱG\º42âBG6Øn’:]6+(ù0ä°$=‹ iD%ºê¥*ÕCQ*Rªz[æPRRö™…,b’Zx˜ñd]Tõð]DÔcQSœŠt\Ó,#U]fù#©–ÅPx4ŠÂÀÙãûeR HÈrÔ˜`¿Ö€N£ ²×ÜñÈw Áû!ìIßs¶Ùª&°Ng*hˆ[§ßõ-‘·EèÒˆq§Zè75'“a#§¬J )0åkÊ|¬ár§\FTHÓ>(³û/ ´ÈG:€J*™wÄÉ×Ç-À\¥e¶© ðY©×ýrDåC9»¬,òµÊë',Äÿ¼u@Ûr膠gÉU)Ùõ¨ëÛ S a™ôjƒ#ðèÀ˜«Å¸S$oЪ´oèçE®ÎüÁìר­N¨ã h^èJ€ªR^}! õÕ¤_IJõÞÞc4ô!è¢KÛ›Ÿn.>~˜Ü̧×W§³¾çôìTÛͦ(!Æt¶ ºA»ü¶¿þ|rózrƒà]Ï=c‡H·m¨s­@„[•p@ŠŠ|ðȳ_ªœl+å»x~‚¾u;ÿh;8â"4Äí1Ñîë“d ¸åu–ეqw+çHW‘œú²¡ólz Iœ!síƒËñÌš‘Y&õ[ŸÍºfÉŽ cF×3÷ŒÌ/㙦s~ýæ|¾óɦ,>ÑÈ Á©wïêÚ¹sÆ‹¡«¿Ìq·>lóùÅs$Ã# âû8žÍ_ sè ½øüåèÓ׿<ƒ0ÿë¶Dƒ»üþ··¸Š/.ÿr |¢&ݨ48÷HPïçó«Éûë¡kÝ žŽÁ¹¹Ož³ÞŽ®ÔKw·Ç¢Î°ÆS)¼$ê·“×à´ÎOïŸlÙ:1¤‰@¶N ‚3N¼Ïê% Ü1´G’&›ä>[eu¦ªÿ+%übÒ2å=É \%°‡í¨]a’öK›äZ…ý–Iú •pH:”ÇISc'ʰCg9x[ñù×Ð9«¶÷`&æL ?7y,!¼IÅ °ûÒ#¢ÓôÏÿsõæû·Wó¾ê=—l„~`ÊÆ¸>vEÑœõ@Z Z$¬”´õ$Õ—<]Bã)¶É“µ"«¢ø´ÝTgШ3˜)’Õ 8êÌ‹œ}eú€2vAxk*Îç$­Ü=—ºžhs†é}£ÎÖªØÖ¨ÕkMzsÓxlÛu)ØØqç½uòbè2¡gÅü綯»·dM&Y¾Ð}‡ÔwÙÁô|n‡”}.ƒ†·R`¶*Œ:ÝÛz»ª3ÃúƒÆ˜ ×IRÕåÓÐȧ­I:Zåá˦8Ó'¿Ç/§œ{'ø•¾ëwøu¡7HÛp‰¯ñ=Í¯Ùæ¸éÜ9ól½Y) ì,j•âp‹®¢Ón¶è4ãÙ”<1 w©Òe’gÕú¬™@ë7ïÞÀ “‘öô¾ È—ÀÅøæýäÝôbÒ‡èo¸R†UWé<*òu¥ô™ìvñ儦o¯ŽO£ðÜS§Ñ碓“ÏŸÉ j#´—‡aÚ3çe `è?úXVf½Öc®Q‡‹ÒJÕµµ]޹ Øp½¦mêßÔ¬gÓcUŠPž4Ûf6öË3„ˆ­£觉Š5Ã)øK3•ï’ÎØÍÛÃYD¦–UrÒÝýŒ¯z0{7è>ûh[(ôu¢ïnpÙB6Ï”¹V¹>ï^« „™‘›’·•2ûù0ƒ‰@4–¤wÔcˆo_`zÒÅy>Úk‚ à.CÕ=ló)¬4>çÆ^áDÙ)ñLÏg‡³ ©¿Í¡÷4~Wî°k¡µøþ)§dZƒ}WEÇÃa“}{Ū ]VgŽÇïú²»À8°XÓ ¶­_J6›ÆtMÓƒK†æÞ 24΂l’Jß2×3èŸ3—Š—Ï˜ÐøX‚èïOú=#óÂÎõ='A4¶ñA…¨ƒ¦kª „Ùã¶Ùàª/[ç\Á¥Ø ØnøìÐt%·Æ`Ç~=^ŸrâcŽ<3|G#«»w߬Ÿ#XÎP '9Ž|ÆúS¾+µqXõµx†·&Gs0Ws Á¼ ¹¿ˆ«þ5ۣᓫh±#¢½®„‡»¬€v¦ÃÁHe^šÄƒáó? "Žendstream endobj 15 0 obj 1912 endobj 19 0 obj <> stream xœVÛnÛ8}÷WÌ[© fIJÔå1 4»®ÚrvxaȲk#K®$'M¿a?z‡¤$_â,Š…$É™sÎ\¿£˜ú4¿ãmïÓăǪÇà±÷½Çõ!4¿â-|ñ‚¯þ®{æ O€ØÔ ÜöH¼/³Å³þÝ’:x!\õ8¨Í!|é=¤¬Ò"_¤ùº˜{nA–.Õ«/$£Œyäk”ï£ C…¿õl_R;0¶ÞP®ú¶íS/€¾íê;7³Épq?˜LoÇ£ÅÍxt¯.áYŸ u.¨¯Ð*8wx±øÒ–$ª`©½JrÛ·[õÄWOÈ>ÍjxIë TûÝ®(kX%Ä›¨Œâ:Á¿Š\CBQ%„q#­Fòœ¨#¦þPá~sð@4©ê# ÷]YXÜA4L’çt•¬`ù õ&dÕ×Èú‚»Ô~ˇi`Ãñ]¨É.® ޲lÅO…9¹^)#iHcÒJ¦ä@3Æÿ‰bápzmIIfá—ÅtrgbЩw&Z \߈Æõ7ï…Ðh¿5&¨‘Æã4h&tN:q|jÛŒùÍÉ~Á;üJqÄá”Â(~]üñù<îLxâxÒ=Š;jÄÞÆ‰ÿŠ»ò«$Kš˜3CÌa ›ÿÝ>Ôr¨ ˆÐl¾Lól’l—”êºgü¢)fSŽðߊÄ1'¥w.’‰-êÄl§åMP8$r!ð§¢} Ã;q*»$×/F\›£V_2FN²Ð¶5Ênÿ\LÇ7¿Âé)¨ÿ‰g–§?`Ul#Qñ“IE†x¼6ØR‡:©u£> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 18 0 obj <> /Contents 19 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R 18 0 R ] /Count 3 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 23 0 obj <> endobj 24 0 obj <>stream 2016-01-27T08:26:07+01:00 2016-01-27T08:26:07+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 25 0000000000 65535 f 0000006152 00000 n 0000008186 00000 n 0000006079 00000 n 0000005595 00000 n 0000000015 00000 n 0000002175 00000 n 0000006217 00000 n 0000006622 00000 n 0000006557 00000 n 0000006489 00000 n 0000006258 00000 n 0000006288 00000 n 0000005755 00000 n 0000002195 00000 n 0000004179 00000 n 0000006338 00000 n 0000006368 00000 n 0000005917 00000 n 0000004200 00000 n 0000005574 00000 n 0000006409 00000 n 0000006439 00000 n 0000006704 00000 n 0000006763 00000 n trailer << /Size 25 /Root 1 0 R /Info 2 0 R /ID [<631437F4E9B1E7D654281E693C4FCD3B><631437F4E9B1E7D654281E693C4FCD3B>] >> startxref 8340 %%EOF curl-7.47.0/docs/libcurl/curl_multi_strerror.html0000644000175000017500000000370512652070414017100 00000000000000 curl_multi_strerror man page

NAME

curl_multi_strerror - return string describing error code

SYNOPSIS

#include <curl/curl.h> 
const char *curl_multi_strerror(CURLMcode  errornum ); 

DESCRIPTION

The curl_multi_strerror() function returns a string describing the CURLMcode error code passed in the argument errornum.

AVAILABILITY

This function was added in libcurl 7.12.0

RETURN VALUE

A pointer to a zero terminated string.

SEE ALSO

libcurl-errors, curl_easy_strerror, curl_share_strerror

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/Makefile.am0000644000175000017500000001414512633553325014133 00000000000000#*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at http://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. # ########################################################################### AUTOMAKE_OPTIONS = foreign no-dependencies SUBDIRS = opts man_MANS = curl_easy_cleanup.3 curl_easy_getinfo.3 curl_easy_init.3 \ curl_easy_perform.3 curl_easy_setopt.3 curl_easy_duphandle.3 \ curl_formadd.3 curl_formfree.3 curl_getdate.3 curl_getenv.3 \ curl_slist_append.3 curl_slist_free_all.3 curl_version.3 \ curl_version_info.3 curl_escape.3 curl_unescape.3 curl_free.3 \ curl_strequal.3 curl_mprintf.3 curl_global_init.3 \ curl_global_cleanup.3 curl_multi_add_handle.3 curl_multi_cleanup.3 \ curl_multi_fdset.3 curl_multi_info_read.3 curl_multi_init.3 \ curl_multi_perform.3 curl_multi_remove_handle.3 curl_share_cleanup.3 \ curl_share_init.3 curl_share_setopt.3 libcurl.3 libcurl-easy.3 \ libcurl-multi.3 libcurl-share.3 libcurl-errors.3 curl_easy_strerror.3 \ curl_multi_strerror.3 curl_share_strerror.3 curl_global_init_mem.3 \ libcurl-tutorial.3 curl_easy_reset.3 curl_easy_escape.3 \ curl_easy_unescape.3 curl_multi_setopt.3 curl_multi_socket.3 \ curl_multi_timeout.3 curl_formget.3 curl_multi_assign.3 \ curl_easy_pause.3 curl_easy_recv.3 curl_easy_send.3 \ curl_multi_socket_action.3 curl_multi_wait.3 libcurl-symbols.3 \ libcurl-thread.3 HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \ curl_easy_init.html curl_easy_perform.html curl_easy_setopt.html \ curl_easy_duphandle.html curl_formadd.html curl_formfree.html \ curl_getdate.html curl_getenv.html curl_slist_append.html \ curl_slist_free_all.html curl_version.html curl_version_info.html \ curl_escape.html curl_unescape.html curl_free.html curl_strequal.html \ curl_mprintf.html curl_global_init.html curl_global_cleanup.html \ curl_multi_add_handle.html curl_multi_cleanup.html \ curl_multi_fdset.html curl_multi_info_read.html curl_multi_init.html \ curl_multi_perform.html curl_multi_remove_handle.html \ curl_share_cleanup.html curl_share_init.html curl_share_setopt.html \ libcurl.html libcurl-multi.html libcurl-easy.html libcurl-share.html \ libcurl-errors.html curl_easy_strerror.html curl_multi_strerror.html \ curl_share_strerror.html curl_global_init_mem.html \ libcurl-tutorial.html curl_easy_reset.html curl_easy_escape.html \ curl_easy_unescape.html curl_multi_setopt.html curl_multi_socket.html \ curl_multi_timeout.html curl_formget.html curl_multi_assign.html \ curl_easy_pause.html curl_easy_recv.html curl_easy_send.html \ curl_multi_socket_action.html curl_multi_wait.html \ libcurl-symbols.html libcurl-thread.html PDFPAGES = curl_easy_cleanup.pdf curl_easy_getinfo.pdf \ curl_easy_init.pdf curl_easy_perform.pdf curl_easy_setopt.pdf \ curl_easy_duphandle.pdf curl_formadd.pdf curl_formfree.pdf \ curl_getdate.pdf curl_getenv.pdf curl_slist_append.pdf \ curl_slist_free_all.pdf curl_version.pdf curl_version_info.pdf \ curl_escape.pdf curl_unescape.pdf curl_free.pdf curl_strequal.pdf \ curl_mprintf.pdf curl_global_init.pdf curl_global_cleanup.pdf \ curl_multi_add_handle.pdf curl_multi_cleanup.pdf curl_multi_fdset.pdf \ curl_multi_info_read.pdf curl_multi_init.pdf curl_multi_perform.pdf \ curl_multi_remove_handle.pdf curl_share_cleanup.pdf \ curl_share_init.pdf curl_share_setopt.pdf libcurl.pdf \ libcurl-multi.pdf libcurl-easy.pdf libcurl-share.pdf \ libcurl-errors.pdf curl_easy_strerror.pdf curl_multi_strerror.pdf \ curl_share_strerror.pdf curl_global_init_mem.pdf libcurl-tutorial.pdf \ curl_easy_reset.pdf curl_easy_escape.pdf curl_easy_unescape.pdf \ curl_multi_setopt.pdf curl_multi_socket.pdf curl_multi_timeout.pdf \ curl_formget.pdf curl_multi_assign.pdf curl_easy_pause.pdf \ curl_easy_recv.pdf curl_easy_send.pdf curl_multi_socket_action.pdf \ curl_multi_wait.pdf libcurl-symbols.pdf libcurl-thread.pdf m4macrodir = $(datadir)/aclocal dist_m4macro_DATA = libcurl.m4 CLEANFILES = $(HTMLPAGES) $(PDFPAGES) $(TESTS) libcurl-symbols.3 EXTRA_DIST = $(man_MANS) $(HTMLPAGES) index.html $(PDFPAGES) ABI \ symbols-in-versions symbols.pl mksymbolsmanpage.pl MAN2HTML= roffit --mandir=. < $< >$@ SUFFIXES = .3 .html libcurl-symbols.3: $(srcdir)/symbols-in-versions $(srcdir)/mksymbolsmanpage.pl perl $(srcdir)/mksymbolsmanpage.pl < $(srcdir)/symbols-in-versions > $@ html: $(HTMLPAGES) cd opts && make html .3.html: $(MAN2HTML) pdf: $(PDFPAGES) cd opts && make pdf .3.pdf: @(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \ groff -Tps -man $< >$$foo.ps; \ ps2pdf $$foo.ps $@; \ rm $$foo.ps; \ echo "converted $< to $@") # Make sure each option man page is referenced in the main man page TESTS = check-easy check-multi LOG_COMPILER = $(PERL) # The test fails if the log file contains any text AM_LOG_FLAGS = -p -e 'die "$$_" if ($$_);' check-easy: $(srcdir)/curl_easy_setopt.3 $(srcdir)/opts/CURLOPT*.3 OPTS="$$(ls $(srcdir)/opts/CURLOPT*.3 | $(SED) -e 's,^.*/,,' -e 's,\.3$$,,')" && \ for opt in $$OPTS; do grep "^\.IP $$opt$$" $(srcdir)/curl_easy_setopt.3 >/dev/null || echo Missing $$opt; done > $@ check-multi: $(srcdir)/curl_multi_setopt.3 $(srcdir)/opts/CURLMOPT*.3 OPTS="$$(ls $(srcdir)/opts/CURLMOPT*.3 | $(SED) -e 's,^.*/,,' -e 's,\.3$$,,')" && \ for opt in $$OPTS; do grep "^\.IP $$opt$$" $(srcdir)/curl_multi_setopt.3 >/dev/null || echo Missing $$opt; done > $@ curl-7.47.0/docs/libcurl/Makefile.in0000644000175000017500000012714612647016301014143 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at http://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. # ########################################################################### VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs/libcurl ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ $(top_srcdir)/m4/curl-override.m4 \ $(top_srcdir)/m4/curl-reentrant.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/xc-am-iface.m4 \ $(top_srcdir)/m4/xc-cc-check.m4 \ $(top_srcdir)/m4/xc-lt-iface.m4 \ $(top_srcdir)/m4/xc-translit.m4 \ $(top_srcdir)/m4/xc-val-flgs.m4 \ $(top_srcdir)/m4/zz40-xc-ovr.m4 \ $(top_srcdir)/m4/zz50-xc-ovr.m4 \ $(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(dist_m4macro_DATA) \ $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \ $(top_builddir)/include/curl/curlbuild.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = depcomp = am__depfiles_maybe = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man3dir = $(mandir)/man3 am__installdirs = "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(m4macrodir)" MANS = $(man_MANS) DATA = $(dist_m4macro_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ check recheck distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@ CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@ CURLVERSION = @CURLVERSION@ CURL_CA_BUNDLE = @CURL_CA_BUNDLE@ CURL_CFLAG_EXTRAS = @CURL_CFLAG_EXTRAS@ CURL_DISABLE_DICT = @CURL_DISABLE_DICT@ CURL_DISABLE_FILE = @CURL_DISABLE_FILE@ CURL_DISABLE_FTP = @CURL_DISABLE_FTP@ CURL_DISABLE_GOPHER = @CURL_DISABLE_GOPHER@ CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@ CURL_DISABLE_IMAP = @CURL_DISABLE_IMAP@ CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@ CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@ CURL_DISABLE_POP3 = @CURL_DISABLE_POP3@ CURL_DISABLE_PROXY = @CURL_DISABLE_PROXY@ CURL_DISABLE_RTSP = @CURL_DISABLE_RTSP@ CURL_DISABLE_SMB = @CURL_DISABLE_SMB@ CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@ CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@ CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@ CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@ CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_LIBS@ CURL_NETWORK_LIBS = @CURL_NETWORK_LIBS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBCURL_LIBS = @LIBCURL_LIBS@ LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@ LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@ LIBMETALINK_LIBS = @LIBMETALINK_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MANOPT = @MANOPT@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ NROFF = @NROFF@ NSS_LIBS = @NSS_LIBS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ PKGADD_NAME = @PKGADD_NAME@ PKGADD_PKG = @PKGADD_PKG@ PKGADD_VENDOR = @PKGADD_VENDOR@ PKGCONFIG = @PKGCONFIG@ RANDOM_FILE = @RANDOM_FILE@ RANLIB = @RANLIB@ REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_AXTLS = @USE_AXTLS@ USE_CYASSL = @USE_CYASSL@ USE_DARWINSSL = @USE_DARWINSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ libext = @libext@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = foreign no-dependencies SUBDIRS = opts man_MANS = curl_easy_cleanup.3 curl_easy_getinfo.3 curl_easy_init.3 \ curl_easy_perform.3 curl_easy_setopt.3 curl_easy_duphandle.3 \ curl_formadd.3 curl_formfree.3 curl_getdate.3 curl_getenv.3 \ curl_slist_append.3 curl_slist_free_all.3 curl_version.3 \ curl_version_info.3 curl_escape.3 curl_unescape.3 curl_free.3 \ curl_strequal.3 curl_mprintf.3 curl_global_init.3 \ curl_global_cleanup.3 curl_multi_add_handle.3 curl_multi_cleanup.3 \ curl_multi_fdset.3 curl_multi_info_read.3 curl_multi_init.3 \ curl_multi_perform.3 curl_multi_remove_handle.3 curl_share_cleanup.3 \ curl_share_init.3 curl_share_setopt.3 libcurl.3 libcurl-easy.3 \ libcurl-multi.3 libcurl-share.3 libcurl-errors.3 curl_easy_strerror.3 \ curl_multi_strerror.3 curl_share_strerror.3 curl_global_init_mem.3 \ libcurl-tutorial.3 curl_easy_reset.3 curl_easy_escape.3 \ curl_easy_unescape.3 curl_multi_setopt.3 curl_multi_socket.3 \ curl_multi_timeout.3 curl_formget.3 curl_multi_assign.3 \ curl_easy_pause.3 curl_easy_recv.3 curl_easy_send.3 \ curl_multi_socket_action.3 curl_multi_wait.3 libcurl-symbols.3 \ libcurl-thread.3 HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \ curl_easy_init.html curl_easy_perform.html curl_easy_setopt.html \ curl_easy_duphandle.html curl_formadd.html curl_formfree.html \ curl_getdate.html curl_getenv.html curl_slist_append.html \ curl_slist_free_all.html curl_version.html curl_version_info.html \ curl_escape.html curl_unescape.html curl_free.html curl_strequal.html \ curl_mprintf.html curl_global_init.html curl_global_cleanup.html \ curl_multi_add_handle.html curl_multi_cleanup.html \ curl_multi_fdset.html curl_multi_info_read.html curl_multi_init.html \ curl_multi_perform.html curl_multi_remove_handle.html \ curl_share_cleanup.html curl_share_init.html curl_share_setopt.html \ libcurl.html libcurl-multi.html libcurl-easy.html libcurl-share.html \ libcurl-errors.html curl_easy_strerror.html curl_multi_strerror.html \ curl_share_strerror.html curl_global_init_mem.html \ libcurl-tutorial.html curl_easy_reset.html curl_easy_escape.html \ curl_easy_unescape.html curl_multi_setopt.html curl_multi_socket.html \ curl_multi_timeout.html curl_formget.html curl_multi_assign.html \ curl_easy_pause.html curl_easy_recv.html curl_easy_send.html \ curl_multi_socket_action.html curl_multi_wait.html \ libcurl-symbols.html libcurl-thread.html PDFPAGES = curl_easy_cleanup.pdf curl_easy_getinfo.pdf \ curl_easy_init.pdf curl_easy_perform.pdf curl_easy_setopt.pdf \ curl_easy_duphandle.pdf curl_formadd.pdf curl_formfree.pdf \ curl_getdate.pdf curl_getenv.pdf curl_slist_append.pdf \ curl_slist_free_all.pdf curl_version.pdf curl_version_info.pdf \ curl_escape.pdf curl_unescape.pdf curl_free.pdf curl_strequal.pdf \ curl_mprintf.pdf curl_global_init.pdf curl_global_cleanup.pdf \ curl_multi_add_handle.pdf curl_multi_cleanup.pdf curl_multi_fdset.pdf \ curl_multi_info_read.pdf curl_multi_init.pdf curl_multi_perform.pdf \ curl_multi_remove_handle.pdf curl_share_cleanup.pdf \ curl_share_init.pdf curl_share_setopt.pdf libcurl.pdf \ libcurl-multi.pdf libcurl-easy.pdf libcurl-share.pdf \ libcurl-errors.pdf curl_easy_strerror.pdf curl_multi_strerror.pdf \ curl_share_strerror.pdf curl_global_init_mem.pdf libcurl-tutorial.pdf \ curl_easy_reset.pdf curl_easy_escape.pdf curl_easy_unescape.pdf \ curl_multi_setopt.pdf curl_multi_socket.pdf curl_multi_timeout.pdf \ curl_formget.pdf curl_multi_assign.pdf curl_easy_pause.pdf \ curl_easy_recv.pdf curl_easy_send.pdf curl_multi_socket_action.pdf \ curl_multi_wait.pdf libcurl-symbols.pdf libcurl-thread.pdf m4macrodir = $(datadir)/aclocal dist_m4macro_DATA = libcurl.m4 CLEANFILES = $(HTMLPAGES) $(PDFPAGES) $(TESTS) libcurl-symbols.3 EXTRA_DIST = $(man_MANS) $(HTMLPAGES) index.html $(PDFPAGES) ABI \ symbols-in-versions symbols.pl mksymbolsmanpage.pl MAN2HTML = roffit --mandir=. < $< >$@ SUFFIXES = .3 .html # Make sure each option man page is referenced in the main man page TESTS = check-easy check-multi LOG_COMPILER = $(PERL) # The test fails if the log file contains any text AM_LOG_FLAGS = -p -e 'die "$$_" if ($$_);' all: all-recursive .SUFFIXES: .SUFFIXES: .3 .html .log .pdf .test .test$(EXEEXT) .trs $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/libcurl/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign docs/libcurl/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-man3: $(man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(man_MANS)'; \ test -n "$(man3dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.3[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ done; } uninstall-man3: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man3dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.3[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir) install-dist_m4macroDATA: $(dist_m4macro_DATA) @$(NORMAL_INSTALL) @list='$(dist_m4macro_DATA)'; test -n "$(m4macrodir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(m4macrodir)'"; \ $(MKDIR_P) "$(DESTDIR)$(m4macrodir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(m4macrodir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(m4macrodir)" || exit $$?; \ done uninstall-dist_m4macroDATA: @$(NORMAL_UNINSTALL) @list='$(dist_m4macro_DATA)'; test -n "$(m4macrodir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(m4macrodir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? check-easy.log: check-easy @p='check-easy'; \ b='check-easy'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) check-multi.log: check-multi @p='check-multi'; \ b='check-multi'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(MANS) $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(m4macrodir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html-am: info: info-recursive info-am: install-data-am: install-dist_m4macroDATA install-man install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-man3 install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dist_m4macroDATA uninstall-man uninstall-man: uninstall-man3 .MAKE: $(am__recursive_targets) check-am install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-TESTS check-am clean clean-generic clean-libtool \ cscopelist-am ctags ctags-am distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dist_m4macroDATA install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-man3 install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \ uninstall uninstall-am uninstall-dist_m4macroDATA \ uninstall-man uninstall-man3 .PRECIOUS: Makefile libcurl-symbols.3: $(srcdir)/symbols-in-versions $(srcdir)/mksymbolsmanpage.pl perl $(srcdir)/mksymbolsmanpage.pl < $(srcdir)/symbols-in-versions > $@ html: $(HTMLPAGES) cd opts && make html .3.html: $(MAN2HTML) pdf: $(PDFPAGES) cd opts && make pdf .3.pdf: @(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \ groff -Tps -man $< >$$foo.ps; \ ps2pdf $$foo.ps $@; \ rm $$foo.ps; \ echo "converted $< to $@") check-easy: $(srcdir)/curl_easy_setopt.3 $(srcdir)/opts/CURLOPT*.3 OPTS="$$(ls $(srcdir)/opts/CURLOPT*.3 | $(SED) -e 's,^.*/,,' -e 's,\.3$$,,')" && \ for opt in $$OPTS; do grep "^\.IP $$opt$$" $(srcdir)/curl_easy_setopt.3 >/dev/null || echo Missing $$opt; done > $@ check-multi: $(srcdir)/curl_multi_setopt.3 $(srcdir)/opts/CURLMOPT*.3 OPTS="$$(ls $(srcdir)/opts/CURLMOPT*.3 | $(SED) -e 's,^.*/,,' -e 's,\.3$$,,')" && \ for opt in $$OPTS; do grep "^\.IP $$opt$$" $(srcdir)/curl_multi_setopt.3 >/dev/null || echo Missing $$opt; done > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: curl-7.47.0/docs/libcurl/opts/0000755000175000017500000000000012652071260013131 500000000000000curl-7.47.0/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.pdf0000644000175000017500000001015612652070451017115 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVíŽÚFýÏSŒÒ1«0™ÛãQ«J$ë64(x“F»rÌ¥›Ø&ɾC_¥ïØ;6˜ý¨T!-¬çzî¹çž{f¾ ‚)"úã¾³]ïå\ ÏU Ï½/=j‘ûÊvèU‘~¬{öŠCBrI”ìzLbê£ä[ïÚ{}5OgÉr‘Ìãá»åe<‹'—‹ßôQv(·K•VwËJÕžîX@0!ƒ6E^¡'Þîÿ™üÖÌ(¤Ì‘DXQ2îy“aÿ9«4Àä4Yõ¼wq?ùë¤F°OP¦—‰Æýlô¤¨ªK•îP}»©P]¦yµV%Z©½ÊW*r»û œàÐG&ýâãd:[Œ]&Äð~ØäÙö°Rè'MÐKýßþ¬Ã™oêÒà²Î ¼1Kèâ6ÍW[õâúìstˆmàMÿG ê È—ñâõ|4KFÓ‰†¬ÓÀ’þüYªc íG%`A"ÃlU¡Ô@ûb“×ÀÝÆqF‰ÛNJÌüPº†µ@»”ù>ŽBÐ]›@˜u6+•×›õ´H5Ýú¶~åöIºîŠXаÑF;Ò>f„vý„ mìŒ^Ô'–âG$:îQÃ`o·Pâ¡Rv†×‡Üulׇ2GP¿*Ë¢ì$£48õ\{xÔ÷á$ ”yõΰaò1 I£cÁVHºÞOʉ7Äaµ½Â! ML „è†iƒF%§z,kÐCU \©•Ѱ–ºT¬áw{ªÔm…¦Ðè¢3¯LÐÍ|5ˆ8Z®X$#ß-–§$2RÑ©í×›$™½df{2,¥ßÕ߉c®‹Ò’í5ܦ`”²D3­‹¤vºlHˆ'Ípå'†F±lMˆØ{D¦m ©u"£À÷Ö¥QíéÁE#}vt¯_²ÀLK! Âå^Ù‰Ósà Œ…¼áfœ´¨ŽâÔE !xË7¹ÿãØŸÍ Ÿ„Øž^°“@’¦ š¶9ÁŽ [¿œŽÏn [Ž#cŸ€ÿ1|7ÇM¿¢Gò䈄rÝX‹ãrê( ¢èÞÝkàKÙfÓÌš» 7|†ÇÊ`NêÊ÷Fãá«Ñx”|<ó÷sÿd´ì6«˜%åû!&O×zíÍãäj>Aïû”ƒrBê ÇW±ÓÍý’!ÞX†½zÆËé[´YKsJ×—„Ã~_”µZÙi¶W“·“iŸÞ‡ÉrjnJúEp€‡4Ú½Æ1ŽÓc!g]8»Å}ˆG¿¾IÎB°ÆÍAù¢»d CÂŽïƒGìÙ¦!\Æé½M<˜r8\£‡–´í擾‹6-›SÀ¥A µGà·!Áo•LõFqÒû>ÿ˜\6Zendstream endobj 6 0 obj 1385 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:33+01:00 2016-01-27T08:26:33+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001709 00000 n 0000003599 00000 n 0000001650 00000 n 0000001490 00000 n 0000000015 00000 n 0000001470 00000 n 0000001774 00000 n 0000002028 00000 n 0000001963 00000 n 0000001895 00000 n 0000001815 00000 n 0000001845 00000 n 0000002110 00000 n 0000002176 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<689FED35D50B3CC59D583DDF089B7732><689FED35D50B3CC59D583DDF089B7732>] >> startxref 3753 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_RESOLVE.30000644000175000017500000000644112645403203015467 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESOLVE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESOLVE \- provide custom host name to IP address resolves .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESOLVE, struct curl_slist *hosts); .SH DESCRIPTION Pass a pointer to a linked list of strings with host name resolve information to use for requests with this handle. The linked list should be a fully valid list of \fBstruct curl_slist\fP structs properly filled in. Use \fIcurl_slist_append(3)\fP to create the list and \fIcurl_slist_free_all(3)\fP to clean up an entire list. Each single name resolve string should be written using the format HOST:PORT:ADDRESS where HOST is the name libcurl will try to resolve, PORT is the port number of the service where libcurl wants to connect to the HOST and ADDRESS is the numerical IP address. If libcurl is built to support IPv6, ADDRESS can of course be either IPv4 or IPv6 style addressing. This option effectively pre-populates the DNS cache with entries for the host+port pair so redirects and everything that operations against the HOST+PORT will instead use your provided ADDRESS. Addresses set with \fICURL_RESOLVE\fP will not time-out from the DNS cache like ordinary entries. Remove names from the DNS cache again, to stop providing these fake resolves, by including a string in the linked list that uses the format \&"-HOST:PORT". The host name must be prefixed with a dash, and the host name and port number must exactly match what was already added previously. (Added in 7.42.0) .SH DEFAULT NULL .SH PROTOCOLS All .SH EXAMPLE .nf CURL *curl; struct curl_slist *host = NULL; host = curl_slist_append(NULL, "example.com:80:127.0.0.1"); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_RESOLVE, host); curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(curl); } curl_slist_free_all(host); .fi .SH AVAILABILITY Added in 7.21.3. Removal support added in 7.42.0. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_IPRESOLVE "(3), " CURLOPT_DNS_CACHE_TIMEOUT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_HEADER.pdf0000644000175000017500000000775412652070432015721 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnã6}÷WL·KCê®Þ7ë`³õÆ®£t[ÄE@Ër¬,9½iPô“úR_’n`À²ÉáðÌ™33zF90õižñºw:õá®ê1¸ë=ô¸Þ„æ¯áç µ-{õ¾~hÓ „hÝóCÊ]ˆ{7äìz:O¢Û÷ÃÁ»átFì™ñ¶ÌnQ=ÝV‰,6Ò0-—QÆ|‚Ò"¯à…SƟчžÉ¨ÅñŠ„ˆ€†®a{zär`¼EиË]ê†6‹=òqhDŸ÷ [Œ:Ì“[j›)œG0á_؈ª‚U"IY,@®X) ’e"ÖµÇ=&b0¹G}åÕ—ãÉÕÅÕáÅÚD_J¾Mó8Û.øA‘qª¾èê'en9*–褦..Ðæ˜¯™Þ‚“•ÈYÒ?b«Y‘ßA‘KÃr)ãŽG–3ã{MàW0¿^M/&ÑÅøRá@ªUã—ñO„²Ñ\‡4pk¦u9×t"wi^ÏYK;§n`Õ–7DÃãY6°ºäØÔy“9 WqÏu’,ÓYÈÒy)Ê'µÖ’¨–ë\á’þ7/OPlåf+aY”P&Û¤’<¦r…iu„Îv8As12kjnSÏç]ÜÈ·Zw(ó¹á–RfØœ§QGnx^»x𠵨•IíVÉ[sî3ì¼}Ù'›aàì¼Õ|çu”›²E\d¨Ø• b¹Yö+qQn[4ðÜÖIÐ8ù‚$î`Ôv¹u|QSxW4—°N¤0u]ÌH–Þ·Üð:rì-V’¼ßùv©oñ6ÉQ4²Fh‡z«£û<šÌ ªR[Œ‚ði•ä ªûEޏSÙÏÿ²ÐÅ›,Ú²­Äk‰˜‹øOvÁnD(·qÏf.õXÐʳŸVàS {’¬òÐ'U®Õªƒ° Çkƒ($lŠªJçY¢®1Ö¬@É>ÕaÙ6–œsÐrnPÝ¡Œž5ˆ;Ã%嫊ʅR›fÆ}^t…üˆ w ˆ¹²Pq´)WÂßV ÕÉ…T²*–©š'R"1ˆ ÷1ä=чJ´¬IòQ<¿¾­0LÈ1K ˆ‹|¹­0µ¨Ú*]§™( ‡‘~Ó%:äÜè3ܨ¤ýqˆÙò:̹Ù6Q-&ÞV²Xƒ:ß¶üo^hðŒSî4Ìó¦¬\lJhËVƒk½ËÕ`kToy¶ßìŽvbRU¨ïûv§Â^4“iÁ±5îà%~ÃŒiQ憺hÆŒ» ±.}æµãñl<:šSˆ9D;‹J¾døûàãd4ü¿·›²p¢Æü¸7ÕÒ<Å™¦FžVö8ËÓåŒ( |]øEë¶ŽnÈói¨VvS}x³’róÝéibp%>ß&‰õ&Kh\¬ß´Ã°µ¯:lÇ*©ƒo÷l’ûªvÍ*ùçëœÝé0ºž^Âo·zœ F×ã¸7t§‰Ü–ÍÛÑðvü }í-d8„Áèj¼3;rørÅ;k„¢«ªè ïò¼ç¤«Äã"Ä>øÌ›icmâ\Ä·@‡6=‡¼–‰mŸ2Ãä®:Ô%܃Û,l†š'§“1W®†QïWüü-`Ôpendstream endobj 6 0 obj 1262 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:18+01:00 2016-01-27T08:26:18+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001586 00000 n 0000003469 00000 n 0000001527 00000 n 0000001367 00000 n 0000000015 00000 n 0000001347 00000 n 0000001651 00000 n 0000001905 00000 n 0000001840 00000 n 0000001772 00000 n 0000001692 00000 n 0000001722 00000 n 0000001987 00000 n 0000002046 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3623 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.html0000644000175000017500000000542012652070415016773 00000000000000 CURLOPT_FTP_SSL_CCC man page

NAME

CURLOPT_FTP_SSL_CCC - switch off SSL again with FTP after auth

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SSL_CCC,   long how);

DESCRIPTION

If enabled, this option makes libcurl use CCC (Clear Command Channel). It shuts down the SSL/TLS layer after authenticating. The rest of the control channel communication will be unencrypted. This allows NAT routers to follow the FTP transaction. Pass a long using one of the values below

CURLFTPSSL_CCC_NONE

Don't attempt to use CCC.

CURLFTPSSL_CCC_PASSIVE

Do not initiate the shutdown, but wait for the server to do it. Do not send a reply.

CURLFTPSSL_CCC_ACTIVE

Initiate the shutdown and wait for a reply.

DEFAULT

CURLFTPSSL_CCC_NONE

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.16.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_USE_SSL, CURLOPT_FTPSSLAUTH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_RANDOM_FILE.pdf0000644000175000017500000000676612652070441016552 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…”án›HÇ¿ó#݇Bow£žN¢19¹ÅƵ×ÕEIeQ¼Ž©0$€åž¡¯rïØÙÛIš^„dÌîìÎoþûß¹JPõôïlg¼›ûpÓnŒ;ƒéIè_Ù> ª±1º5 |üÀ!ÃÄÎpÂ8ˆ{ãÊ<_Îãd&Vóp:J&«‹q]›ÎµÙ¾.V2mVl«ÛÖØœJ}?òªlàwK­¯â£1 Äf˜,C–YHÀŽãˆ sZog'­ Äq1Ç©´sgР_~r-C*ö}h~•‚ûÄUGBÚ5¶y$–ó)|±˜ã’Àcf/#Ýš^Ôf.Û}Ý7µh•|‚ª„fŸeïµ^ŠUr±šD“DŸ½MôÕ³=›8=ü•y™[Ø)ÍM«“uê0ÂØ¡Š+s+k¼HPÛ1Óò²Ùo,ÛÕ#æ,—e [™ÞbcK3¼÷ °€ðÇ-,Š ŒÉI¡gOô÷h‘œŠÄ³Ãa>Á^Ö ­ûøYg î¨ñK9ñ:þ"ÿ¦ºøÄñ µ0„.á&óáã¾›2W»GŸ3µU$ŒÏøüÀ%°endstream endobj 6 0 obj 853 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:25+01:00 2016-01-27T08:26:25+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001176 00000 n 0000002987 00000 n 0000001117 00000 n 0000000957 00000 n 0000000015 00000 n 0000000938 00000 n 0000001241 00000 n 0000001416 00000 n 0000001351 00000 n 0000001282 00000 n 0000001312 00000 n 0000001498 00000 n 0000001564 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<67A9B981867655C2658823C4E530AAC2><67A9B981867655C2658823C4E530AAC2>] >> startxref 3141 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.pdf0000644000175000017500000000741312652070430020134 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUÚFýߟb¤þ»:6»ö®´U%rqSXÒDG…|x9\}‡M®÷¡ú3»¶á8’k…À;žyïÍ›Ù{ „ÕŸö¹ÜZ¯'ÜV…[ëÞbæÚÇr o$„ú¹²šw.‘GÂäÖº¶/g“a2–‹øó8¾” FéB®âd&WÓ¹íÍGP—PØËýn³Piõ¸¨T]ÞՀ߼,ª&€ÿ'×_òƒÕ£ÄeX~‰è"DG"¡z>È¡eúÎ+$„§LyZf–};òï't\J8  Ç\sübiøê|«Ê} «rñ?wjYÿ‚‰hoYu^ììTu‡\TSå ¬âê1Ÿ„¦ÎôË(OÓS0&¤òS^,7ûLÁoZ®×ú‡¬×á.7ü4Òe‰Ï圛#øyÙF]À‹”.P$_ªnÊâ¶ùf“W )eÕÜùõœ £ì •·ñôr2ËA2Ò¡Ø&š¦|‡Ö8Õ1¦- EÓJ¨€|°ìª‚ ˆº„Zm6°Éo4A¨× ŠýöFí \5í,)( ƒ®ÃOáŸÊ+\"|ôí¡¨¯‹^ÛXëÁ‰H·Ӽén •Ú}uÐ<”EÂÆº]ká!¯×Ð{)ÇPÕi½¯´ WºÌ#nÔ1Ö%½¦ 6¦uÉܹΘۇRíxgŠÑ(D •Í@UŽ|R„³ªB¥Š,GuÒ¦ôNÝïUUƒv_šæ¤è|iÐhC­7Š{âÓµJ3µÃî#@ÝÏ¢F›k› —kI<{U›LÍ(ù$â´UÐ^畈 ôHÜ(”M!´ƒNx¼SK•ŸØ‚ N8o3|UOìà†QÈ;Ù…Q¸cxSf: P#ǃRú²íÑñu³¸oƒøÔ´nÊO|û®&x¨à*ˆg-´þÌœ2½²Ú-âú^ОåøÑ_šc?Ø%§pnÈ®…ñ¤…Ä=‰q,Ú9¶‡ÛQD¦•‰„äÀõH@ýÎþ—ÉðÙVA‚:¢ÒÞù ñçþÕxw 8Ðòˆ}ÏÚ‰¶ß&­z" Ï6tÅıš™^ýOÐ?ò¢Ä¬3Û`Ø3ä—SrØcOãô~–© ò45¡/s½¶'±œMFðÉa'‘Ïìþp·:§ŒñªÞïŠÊlÖx‘|„|eÌÚÜcƦû»»rW+t1ná6p6ú8JOØŽ‰Ù—úÅ¢¬¿g×ÓÛ"Ž¡?œ&G"ϺÐíøq2•§ú„8ì0±æò¼8MƒU|ÿÑeÒ9ÏÆh@\~–¬çz¸+ðRðpøHÝâÆØ‚"âDØxcØàâ Úüà\¦SÅÒú?ß ½4dendstream endobj 6 0 obj 1037 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:16+01:00 2016-01-27T08:26:16+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001361 00000 n 0000003244 00000 n 0000001302 00000 n 0000001142 00000 n 0000000015 00000 n 0000001122 00000 n 0000001426 00000 n 0000001680 00000 n 0000001615 00000 n 0000001547 00000 n 0000001467 00000 n 0000001497 00000 n 0000001762 00000 n 0000001821 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<54799E0F4CC7BF30B03C4D311729FE3C><54799E0F4CC7BF30B03C4D311729FE3C>] >> startxref 3398 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.html0000644000175000017500000000505512652070415021473 00000000000000 CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE man page

NAME

CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE - size threshold for pipelining penalty

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, long size);

DESCRIPTION

Pass a long with a size in bytes. If a pipelined connection is currently processing a request with a Content-Length larger than this CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, that pipeline will then not be considered for additional requests, even if it is shorter than CURLMOPT_MAX_PIPELINE_LENGTH.

DEFAULT

The default value is 0, which means that the size penalization is inactive.

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.30.0

RETURN VALUE

Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

CURLMOPT_PIPELINING, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.pdf0000644000175000017500000001514112652070432017054 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXínÛFý律ÅþHS¿™],àMÔ­c{míÂ^EYlDRá‡]u_¡¯Òwì¹3œ!©8`aÀ²5äÌý8÷œ{ç3³¹`6ýôŸiqòÝMÈ››=ž|>r‘õiÁþ¹Ä}±Üœ¨w Æ.b¶,Nœˆlù|rg½ýxsqu½|øþìôÝÙÍû—o—çW—÷–{?ciWﲤ9<4Y[íÛÙÂñmnÛ¡…òªlØÿx{öŸå' ›;'¦0(†A<öÉ&‡_œX—§³Wð«Âç~ìÂÎåúÄúp6[þ2òÀ±¹g‡l!Z¶ÉÍþ`i²Û­’ôk·IËê,ÍrÚ †ŸNrGýAO-9\.Ä܉âÈë—š--)Ûw±Ò/dÉ:«Ù:ieäÈ«… îE04Àôðí¿/¯®oÏo§þÀûÞë¯y™îºuÆþN±þŽ~ñí?¤U…hùúÎjòß²‡–måÉÚ¿{+Ý&5{½š!<¶ð«ÛÌà[;¡µÉê™g[s™?„ƒúÀ~3ú˜Ó1ôõ…ùºÌÛ¬hæÈ %Žœ·ž*£ØÄ-_³×]“Õ…ûÙßd|ƒ»lAV¯UvÒ n#è^.±×Û¤\ï²ùWð3ÿÂYuÈ4Ú2Œ:ÒïÎnßÞœ_ÓÛ“t¿õëÄ$NùÊ+ºa ÛWyÙ"ÃmÅUWxÚteJ Ÿ³çmžnY³­ºÝšI‹ÚmÆöuÕVíaŸÑÒÌñ­ç’%«JײÇu=îüÙ_¢K\ß塎)åHä/·ycŒaYÛH³5[Ø._QÈYÒ°¦Â2>s@/T‚çR(Ǧà U­SsÖ£bµ›èñçqUp¶D,Tþ†à=ç»[É3 "üØÔ3·#EE½U™flSÕ,KÙ~'à »K«b¿ËZsÄ./3ä­Fü“¦‘¯Sî(!útήg Y$IÝäåcÿ2‚ÓLÓCqxõBFˆzÉÏúÀͬ“»´H…ò—ê‡Uy,E¡‡ÑšLYú°; ÂÖ¼&ÕÇxÕéäDÓbÛlLð}‘m&ª§´B•ášýà™\5§ÁŸä ù ½rË¢Ûµù~—Ãþç¼Ýmx\RY±RL« EÚ˜;‹¿›9ñ”U•2â¶B )î7«ZÀµé …7v(=HB‰KÒz»äid¿e5²žÕE^&ü_dZt1—I‘­Üp|ÁE¨ $:›¹¡%‰ \±ÃHC>äq&™Qáx¿É`Ñ—G' µ5êÊ[H=_‡Â°ÒˆßõXpC Sès¶ÓåP‰¶È©Ü©hÂÒÈw†Bõ¥ÕJ¸ ´yó%·±¢kH4Û®.¥weW¬? {uh©ÎÒ¶ÃKÖ&Ÿ$a¨i¨I$+•cŽCgê[¡.𚪄³ó’礨º²eë\IWä{$] ·º*äùý}i祡åóö•L˜kÇ(âÈÔk ðÞiòÇ2'–,«ëªÖô®¬“ú T±v£ ûzN̽ظ(7KBKÀFîÕÖIÙl”l€’‰÷k*¢­þ,ÉË&ÐpzñXgM¿— úrHþI"Ï~º9_ž=œÝÜ@×QF~l]ÝáTØfäÒày„•E¿¦õù4`äqÇvc6›^ œô,ûýry­KM¦ ¾÷ÙakQН2Öí±t\l99C \<|8ýùvï!DFNÀý¹·„mÿ¨޲q9R¢«Fâ’“ඪO‰1˜§Ov—`”éœù†„_RÝ“Ës¶ù;¶Ï MvíµÌÝÀPÖ´}™VmüV­ØŽf¥Á¾¤”fÇ‘u€[Ÿ•L£ÔŒ=Ê\@Iu†t|UüÊI£ÉY×g2IÓlO¥ßìÑ×÷"Ö«¶z(/›8 ê0 Ê3OLölöYš/†îÒæ¾RÏßµ ¼‡”øõ(žíÓiBv'”‰ÊÏÖ¡šW3×¶ 4V+B pɘÇW=¼¢­Ðµ~MHRætì:ÛåE>b›T~Ô919UŠª€À%+HBìtiOª—‡"­MV®ijK·]ùÉT œËJš?×F˜Õ¶àEÔxæÈÑ›:xÕµÚbD´¹ e›ädvÌwª÷Öû…˜é\sCÀ—ã2p†Y‰êmRž|­à°“ü+¨Ði ŽÆ#?’Q°F“Ô«é°d¼ßKÕƒó#1©°bä~Q=wÖš¨0⮊ñ§íZÍ~ˆ‹.2Œ´ÔŒz´i{L Ø£Ñh@ æÏçl·“³Z@´ÒNaÝMdëÁ•£içk³2Z–ØUX­Êç™ þH g‚Z €“T­2UÞ:bº¼Ñ´TõSf;â7LÜÏèÌšTÙ’@ÈM×ŪZzDѵ'F`}MîÌìh;Öý,bˆI Œ­ÖñD­=»¿š;>^Vóxì¹·ÞÞ°‹÷0–në¶œ¹ýòñ™ž‹Jæ„\è›eÌñ± !]¯IºévI=¸©‹¿  *ÎZè7§4ñLØVß[ ŒAèQúÔÓ{Âúu/sPêVYÖßOäühON.&§ï—<¡"K5ÈšãmºZÔ„+¬ʅd"yz#2R“ŠÞ‰rcO§ {?¾ÚÀ#ú(UŒc;|Ó˜Yóëq‰‡z̲®®Ý9;ÿpz-Ñuû†L[dɾ4 ôwzbTÄF”:ȆÞOÑŒêç\gz:ˆ¾î¨Š"!:”’¯'Éü›·gïûÒó=yý€y(&H§U¹JMW·µN`F‹ï†Îl!U?t P¬ËJö­ß2åú¦·„š‘~> ´–/ˆ/T{µdWæ\Ç塘 ûêâèÆ¦Ç°eŠZë#1‰i÷™Ó£Ô@›,d?œÒÕÔ¾}c¸º¿:FÍõ5!jšÉ+_ÇÓdÁjôªð`hùç·_y•ÀG(,ª:{)è‘ l‹QäÏ~>ýp}qt÷>ÜšÞY¤îyʾ}}|Ý3¥´1¸­5oŒíÓ>÷è’zÇê¢h0er_ÍžèÐjz-­h%ä忊¿à©]t„Ù¸=[ßGgà[hÑèJ怟ä.ž– =Ζ'ÿÂÏŸ¥òøendstream endobj 6 0 obj 2752 endobj 14 0 obj <> stream xœ…TÛrÓ0}÷Wìð;+’å+ÜÖ )!W) “q§1äV;¡†G’¯I?(ÑYí9Ú=«Àˆ_¹Æk¥:pŸ+î•…HÊ%^Ã9ã®Ø` ¥8CÀ1Àñ(r=`kÅp‘ ìQ¹U/&ápüžÍÞþe¾žŒ.Ø`<šªtªA|ÈV³$ÊŸfy²ßîöšnXaì¨üOºÝäðÓÚv¥˜tÊ™æ\*§Sû]È’8I5öUÑù},`±bxÈ´±ÁUò8õ{"@IÈC†ë¹f Í—Â "@îÞªI4O2HsؤûdCòôg«íæÒ tî4â!Ï3õ°Ð ³ø¹H²ŒÆReIFl 9nÉÅ>7\&rˆç•@¶ôqÔŤ„Ƭ9c!—Ö@¾Œä "Dà” ×®sú¬}1£Ev ݾ'jWA½ð‡×ã&ì$ßß¼^¤â—ÂYfíuë¹Õ[5ãïLSù|õŽI¹&»‰¨x?†Tî8iƒIí<˨Sâ BA7-ŠìV%Wéœ QaM'–å™ÈR‰W‡ ˜˜Å‹jÓ2©!òLùÀ¿?û…endstream endobj 15 0 obj 750 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:18+01:00 2016-01-27T08:26:18+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000004087 00000 n 0000006046 00000 n 0000004021 00000 n 0000003699 00000 n 0000000015 00000 n 0000002837 00000 n 0000004152 00000 n 0000004475 00000 n 0000004410 00000 n 0000004342 00000 n 0000004193 00000 n 0000004223 00000 n 0000003859 00000 n 0000002857 00000 n 0000003679 00000 n 0000004273 00000 n 0000004303 00000 n 0000004557 00000 n 0000004623 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 6200 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_TIMEVALUE.30000644000175000017500000000327112626067776015725 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEVALUE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEVALUE \- set time value for conditional .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEVALUE, long val); .SH DESCRIPTION Pass a long \fIval\fP as parameter. This should be the time counted as seconds since 1 Jan 1970, and the time will be used in a condition as specified with \fICURLOPT_TIMECONDITION(3)\fP. .SH DEFAULT 0 .SH PROTOCOLS HTTP, FTP, RTSP, and FILE .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_TIMECONDITION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_INFILESIZE.30000644000175000017500000000512312626067776016031 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INFILESIZE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_INFILESIZE \- set size of the input file to send off .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INFILESIZE, long filesize); .SH DESCRIPTION When uploading a file to a remote site, \fIfilesize\fP should be used to tell libcurl what the expected size of the input file is. This value must be passed as a long. See also \fICURLOPT_INFILESIZE_LARGE(3)\fP for sending files larger than 2GB. For uploading using SCP, this option or \fICURLOPT_INFILESIZE_LARGE(3)\fP is mandatory. To unset this value again, set it to -1. When sending emails using SMTP, this command can be used to specify the optional SIZE parameter for the MAIL FROM command. This option does not limit how much data libcurl will actually send, as that is controlled entirely by what the read callback returns, but telling one value and sending a different amount may lead to errors. .SH DEFAULT Unset .SH PROTOCOLS Many .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { long uploadsize = FILE_SIZE; curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/destination.tar.gz"); curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); curl_easy_setopt(curl, CURLOPT_INFILESIZE, uploadsize); curl_easy_perform(curl); } .fi .SH AVAILABILITY SMTP support added in 7.23.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_INFILESIZE_LARGE "(3), " CURLOPT_UPLOAD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PREQUOTE.30000644000175000017500000000363212626067776015637 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PREQUOTE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PREQUOTE \- commands to run before FTP or SFTP transfer .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PREQUOTE, char *cmds); .SH DESCRIPTION Pass a pointer to a linked list of FTP or SFTP commands to pass to the server after the transfer type is set. The linked list should be a fully valid list of struct curl_slist structs properly filled in as described for \fICURLOPT_QUOTE(3)\fP. Disable this operation again by setting a NULL to this option. .SH DEFAULT NULL .SH PROTOCOLS FTP and SFTP .SH EXAMPLE TODO .SH AVAILABILITY Along with the protocol support .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_QUOTE "(3), " CURLOPT_POSTQUOTE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_IOCTLDATA.pdf0000644000175000017500000000730512652070434016267 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUmÚFþί©bG°·ëõúE­*qwŽJÎÁLÚ(W!Ÿñn &ØÎé~TÿcgýŽÃµ˜ÝñÎ>†øt†…be’Õç¹·XÍVçx~ƒå§ø&Å6‚_¤LWò‹ì~-‹ÖÁw+°aŠCïË-x» Û$…|Ó‘¢™(žþšŽ59çJŽ¿µäØ¥GLoámÍ˽úó÷pŽRŠ·Îêf9[ø3o^{ƒ‰ÊøXýĵù(1l£Ìžeï¢*)£=ÐT¶Ö”^×6`\#Ôvwœ¨:$ß9<ÇI‡<- ýðIü d·‘?(“?áãIe&±-®+OÅ>:äÊÍ8 ó¤u TUKášÅZœÏq¾ÂÀ¦i]xnòwëùä¯m°Þ@áiüN.8Ò„Ygj¼«UºUºc™Þ¤®ë~¢ØpU_j7ë]×oÕé*‚š¦)ûºG+n¯_`=ªX eÂV‚"ÉÇ%GßTMÈó¹$Eé#®Æ²| ö‘l7ü3_».)©¸ËèaY,k(:/¡0‹5k#LPrT\ºÆóÁk ×81©ÑŒšÏ4'b·Ì9e- Eƒß|qÁõýºœ?¦®Ó¸ÝzÕí~Wã²-ª¢n½ZaY†¨-#ÛlR+½êèO½ÉŒ²‚5M1s§×3wæ˜Gà8¶¬s¨Óí±¢ŸM‚ƒ‘ÿ7Ö/ÊÒñ×Ë9|RÇ›Ç`ÊÔ];µrßCÆø(/NõÅãl¼;ˆKWT’Ô>+ŽÇô”GÛqÙ}Uàz~7÷T.”ßç¯&òÅCšÿ¯KVŽSwåu@*\lµa—ÙDýkn|~f3Œv|6'bê»×ämÛvçM8Î2 bT|5ƒÈ$Ü$TÅ;FØ: 3à}q2½d@o=ÍäQŽ?úˆŸ¨(endstream endobj 6 0 obj 968 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:20+01:00 2016-01-27T08:26:20+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001291 00000 n 0000003174 00000 n 0000001232 00000 n 0000001072 00000 n 0000000015 00000 n 0000001053 00000 n 0000001356 00000 n 0000001610 00000 n 0000001545 00000 n 0000001477 00000 n 0000001397 00000 n 0000001427 00000 n 0000001692 00000 n 0000001751 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3328 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SEEKDATA.30000644000175000017500000000333012626067776015547 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SEEKDATA 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SEEKDATA \- custom pointer passed to the seek callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SEEKDATA, void *pointer); .SH DESCRIPTION Data \fIpointer\fP to pass to the seek callback function. If you use the \fICURLOPT_SEEKFUNCTION(3)\fP option, this is the pointer you'll get as input. .SH DEFAULT If you don't set this, NULL is passed to the callback. .SH PROTOCOLS HTTP, FTP, SFTP .SH EXAMPLE .SH AVAILABILITY Added in 7.18.0 .SH RETURN VALUE .SH "SEE ALSO" .BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.30000644000175000017500000000366212626067776016506 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_TIME \- get the time for all redirection steps .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_TIME, double *timep); .SH DESCRIPTION Pass a pointer to a double to receive the total time, in seconds, it took for all redirection steps include name lookup, connect, pretransfer and transfer before final transaction was started. CURLINFO_REDIRECT_TIME contains the complete execution time for multiple redirections. See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.9.7 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_USERAGENT.pdf0000644000175000017500000001005612652070450016313 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Ví’Ú6ýï§ÐlÔ΀V’?•~ÌÄiHX Æ¤ÝÙí0Ž‹°‰mºM;}ƒ¾Jß±W² ¶“aK¾:çÜsýL‘ý›nëÈG•AЃñÙ jéŸt‹^İ!â•ÑÜC‘ÏÏmpo óå<M¦ñb> £4†¹ÍØ/ `ÏCñ£qgþŽã{Ó¾·Pº/7 ‘T_•¨‹]mõ™Ã1\þdE^¡Ó¢¿Åo Ûñ°ï4E¥äy}‚,)@åsW¢í;Œc/@}ÛS÷Œ8"÷Q»ÜÖµnByýÈ’ìõ)“ˤÁ~ŠÇ!˜P—+è_$Л8ž¢}%J î'Ä·Í~ò ò­E²„«’Â)<€Õ§ˆÙíx2 g§PÔÃü&ËÓÍ~)Ð÷R¼kù…×?ÊíÌAñȈŸ5 Óöœë{¯–гu’/7¢w¦®­¤w…“aWªÄ ÇL·Ñì¥õ8v ½m+ÖI‰ží“{ë»û E;À`–#ÍWáìe4œÆÃÉXwŽºMãž ×h“g‘¨÷¥~ “w([]žÞÓËóñ»ñIJ]ó—ñb¢žmr{^Ô=ÈÄ&í³éjóx1y½¸ o&X®m. 0Ó™tgÞfs‰¹ªÕí‚SJ´‚ú­d-J-å/0A¢,¯ö+ òM9èŸ4Ó¯ ;Tí’T<•ÔÙÝî»H¢Áh69ª{ö`ní…¯Ã(ŒÎšH(öÚìSáÛ;-çx^Kä‰À>Ïjó‹j}æƒ\ÒÇÜÇ^£Ù&û FÞǶ‰Õ§®ËìšÔGo÷9b„:нsH3*K…±ñ3|þÝôÏ=endstream endobj 6 0 obj 1321 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:32+01:00 2016-01-27T08:26:32+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001645 00000 n 0000003535 00000 n 0000001586 00000 n 0000001426 00000 n 0000000015 00000 n 0000001406 00000 n 0000001710 00000 n 0000001964 00000 n 0000001899 00000 n 0000001831 00000 n 0000001751 00000 n 0000001781 00000 n 0000002046 00000 n 0000002112 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<4F0AD7117A6C59528BF326A8820BFACE><4F0AD7117A6C59528BF326A8820BFACE>] >> startxref 3689 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.pdf0000644000175000017500000000773212652070444017222 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÿnâFþßO1Rÿ¨9Ážwý[­*‘ÄQ¸s0sm”TÈ1Kìl›‹ÒgÈ«ô;»^›@®!ÌÎÎ|óÍÌ7þ ¡`ˆúM7ÚÇ© •fÀƒöU£òÔOº³ <ñG¼Òš;\®oχx£éçóiMâÅlvµø<ŽzñßšoF †ÆñRcÁ ñ“v«ÿ1¾ŠfñìN7ïzîwëOªçEÅër[÷Ìò‰ï›:>äeQÁ©ç¿âOšIñÇGîDØaTŠ˜}ÄL|[ÀX†G ӑׯCal;jÛ7•»ë@üH—Ä2\P&Ž&…SL¦E|Ï¢-ø^ÖŠdÃ!+×˼x€:ã€æðX”=†æ>sõ§«º’9£E”ê`’ÓìfMf£Ù12i"Qé?åEºÞ/9ü*øü(¾Hö›0gÄ¡h0§%ÚœR~'àC–Ë5ï¿!ÜThUr}H³dV"½»Þ/ï¿fçÓÑ$EcUj7ÕùN"“¤«ŠO<[õaŽÝ_UÀ¶Ì‹šï .ñá¾+Ÿ6y‘Ô| U½t¿¦½«E¹’Ïm <ÛÂ,D ¤ úÛWœÈ„,Ã!Žj‰8ã¹…9Yv‡U¸Á¿©E\”×ôÐÖm%ýVY¹_/…o>ÚòBt‚8Z•»MRCRAµßnËÈàþÖù}UeŒÀH Î7øSmyš¿ðe_âi"·I¨e6$ámQcxÊ×k(‹õ3$iÊ·5¤eQð´«§¼ÎšîÃÂNcã”0&zû¶;^ñ¢†¼hÌ^D‡È» ò4$o÷÷Éš€ (ž„‚HRxìý|(:u‰í±vtù³lQâóTóˆcâ©C2? (Ã4©:¨x3Ôh‰ Ⱦ:>jßàær>>½×éÃ+%³Q¾ 5ø·ºh§µì+,Ò’¯zB‡˜ãéÉ~]Ã=Ï’Šaøžþ-/wȬäOÒô(Ó?¤é¸Ä5T&( ˜” ƒ?ÃþZvLÃlaoòê®'ÈâšÞQ³!ͤAÿƒA»Tf[ž€h}jµ´ çMÓ`® ÏÓU§aÜá:$òq]×´:ãy¾c2U(,S¢À.eŽ«ÖÀ€Ãö%Q Q“™È—ÓjðyžhÂö‡u¤Ãúì2žHúgç“wP¯'aÐ*÷¿ @QS”³t)ölÏûÎnñ…eMÜT|ø{ëáØT1¡ÂáÙ(Å7§MIL c%:\.Qp]B}âü8×[}Äóé¾ô¨Ðn‡êÃp(~›²ƒ&pLy½ß©•,¢Ï7‚Ù¬b)@­Jõ•Ñ|Ü­ƒáŠXDRéÅÍ¢¬ûPîd\]¹œÇ‹èrq\GS”Fši¡aV;†79j¡¯jy±!ŽÚ½I¨œq¬§ÃŒVHOµ_u»õ%Í…ne<Ù¢l&©ÒõcÚ¨‹lÛ¯7mÀ0œE†¹:^ýÞxW‹_-â›I0;a5™t(%¨ì#;N›Ú‘s±l“ùY8::¶¸¾°OßL(qü7¾¦âƒˆMÛ%NºÝ.1]bôÔ¶}‹Ø:¾'}Ú€ž¬fëu#H…« Ö~ÇÏY*œ…endstream endobj 6 0 obj 1237 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:28+01:00 2016-01-27T08:26:28+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001561 00000 n 0000003451 00000 n 0000001502 00000 n 0000001342 00000 n 0000000015 00000 n 0000001322 00000 n 0000001626 00000 n 0000001880 00000 n 0000001815 00000 n 0000001747 00000 n 0000001667 00000 n 0000001697 00000 n 0000001962 00000 n 0000002028 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3605 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PIPEWAIT.pdf0000644000175000017500000001074112652070453016204 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•Wír›Fý¯§Ø™þ(ÊX–ÚNgdGiÔÈ’*á|ŒÝñ ´²h(€ªøú*}ÇÞ» ;™Žgl öãÜsÏ=÷ê31)#&þT£]ïåB‡¢g’‡ÞçS/Iõ'Ú‘Ëxø ØôôF„E„Ï©ç“`×3®n“Ù<¸Ÿç£÷ý௞ð)wM –ëž°©e“àØ»5†ãàÎàw}òä^†Åã}!Ël_ö–íSßç|ˆ³´ Ý3ÿ ~ïÁ‰”Wg6'ám“Z DÔ ÔwëÀæ>u=2à®Ú2âb×1‡:>¯ŽºáóSŒ–ImS³ðµ©‘wá0`=Qɱwš¦àF—d“ådïe§qúðrwHÊxŸÈ>Üi2Û5¾ÀSO,€0—z Òòãt6_Ž—]`j‰eü§QrXKò 2ùÑí¯¸©žô‚r”Ášs²ïÔ+òb¦ëD^'bƒD@l ¦E¤Ì‚œŠŠ±‹¤aRPᙦ§_ÜYúPÓá{HÇ]ÿç§‚µ8µ½VÀ¯FË«ÅxŒgÓgc^ÊR¿cf­F‡rߪ%q„뺛!Ϯ߃àñ cÏ(3Â&~—2IH¯ ü¼ÏåFæøßbœCîi;SÛë$‡$ÊÒTF¨WÜŸþÉwÞ¬eªRA]Ürm ·fï±<éí³êù6, …)Yg- Á‰JåÜò`µw&Ì®¾_鋬$ ”©ŒÓ<¡* f‚x¿•) WÙ¡TËÖï ¤TöDà¾J:c\í¨nÇ%¶ßPã»M¦…¢ƒ “$ë[Ë´}ãXtC"'à6Ô’ðð‹&ÇrmeôI‘-µ…G½Jl°¾(±–Û´©8Õ,59Waž2T`œ¹ I@÷5I²”’ñ†¤)ѶS©ëIP—ך\Kï.0[ f¼ÛÉu‚œkÊõ%Q.á) Æê¤vúŒM.‹-’®ä¢8ç LˬEqŒNœÛ”5¦jt¤AQ̓Ї5´l;Z´—Šù‚ÜÄÑ6‹{(¬[…’ÙŒ »¦øïŠßVÍ; nV™WFr]{Çd<=³Ri1]V³g;š=™†«D®UbË­ÔR ÚŽ4¼²’&Îu©cŸ’+,¡Õ âÈ"¤~ ©(·KG@qZ”2„w}45ËõšêÅ{»õ›kA7a•㡹Ù5²I„O-ϯ_ Wû\·AM¬}Vñ £i*YêV0Ð!y‚š¢‰ÉÀ:€çà7¶SÕ—éú~m«_²>*Ó3Ò•®d…Ð¥& ©8¶£yÑÅ^R‰± $@Z5ñEÛóv(úHªö²ä9Ü1¤Ü+†ÒÃn/² 9«¤ì ’š1îeO8ÓŽÑfÊî¹êwtëT¶µÏ³2‹²¤¨íʵµbÀ"7hM.ôz«Q”k3}Ù°âC±DÙbT¤4Ñ<ÁÉc´ßÚðQ ¦¥{8ÖCãD[”ï°ÚrZdhjTÝÚî $P匩¢6ÛƒHâRþÔj;Ù]¹ëß±ƒÛ–´/Â^Œ5Œf^Í«bBŠ5 .·«=¤Œw’¨2# ööP™^~R‡1Ç¢‚U òtyÏT؃,Éa¯ØÅ-â¥7É¢óGU%õùZÁ1÷ BIV!ô•å8Åé–ƒ9×ZR×`;/‰.³S‰Û.mÚÛsn$T»Z{‚±| §Úöóº:Úûija-¸i=¯ÞèˆPìÕj¹MZ'A+á'ûDœB~ò óÎh¯`Ó·P¦–060=tA¬jý ó|QA¶¹WIÊrE%©Xã+Êg™5×Âè&̺#W³ÉÙ” 1úù„ùMÌžÕ¿1ôŽ> ¯ç“QÅ“ãiHŽ³È›ú a ß‘!Ø€Y1ì:¬nˆãÉðr<ÏZ̈¶×õ&c¸^CÈS" tj~Ø­±7‹)y×gv™1œÜŒ*†¿Ta½,yõft?{‹}A—¼ª¨§Jr}¡ä©ÞLßNg}pß÷Óû™š…qcš•ô»ßF#2œ,g§@ÎfçzÄ=[\Ž_Ý/F7ËóV 6Óp©¾Z]tOƒAN°f2h\Œ–oî¯fÓéè*8;цáÿëÄö(1¨†^ìšìãéog—à@X·À'o’ÜÓØÔÜr=üpÿf¶ jìÀö™™ïÃÄòÕÉK@ YªFg»¶±JKàZ\@)ù:|$Lå*vS4 Ͻ?àç?†a)ýendstream endobj 6 0 obj 1756 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:35+01:00 2016-01-27T08:26:35+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002080 00000 n 0000003970 00000 n 0000002021 00000 n 0000001861 00000 n 0000000015 00000 n 0000001841 00000 n 0000002145 00000 n 0000002399 00000 n 0000002334 00000 n 0000002266 00000 n 0000002186 00000 n 0000002216 00000 n 0000002481 00000 n 0000002547 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<7A53374ABB7903D7B6BFF6CC0AE46DA1><7A53374ABB7903D7B6BFF6CC0AE46DA1>] >> startxref 4124 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.html0000644000175000017500000000531312652070415020521 00000000000000 CURLMOPT_MAX_TOTAL_CONNECTIONS man page

NAME

CURLMOPT_MAX_TOTAL_CONNECTIONS - max simultaneously open connections

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_TOTAL_CONNECTIONS, long amount);

DESCRIPTION

Pass a long for the amount. The set number will be used as the maximum number of simultaneously open connections in total using this multi handle. For each new session, libcurl will open a new connection up to the limit set by CURLMOPT_MAX_TOTAL_CONNECTIONS. When the limit is reached, the sessions will be pending until there are available connections. If CURLMOPT_PIPELINING is enabled, libcurl will try to pipeline if the host is capable of it.

DEFAULT

The default value is 0, which means that there is no limit. It is then simply controlled by the number of easy handles added.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.30.0

RETURN VALUE

Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

CURLMOPT_MAXCONNECTS, CURLMOPT_MAX_HOST_CONNECTIONS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROTOCOLS.30000644000175000017500000000545712626067776015766 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROTOCOLS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROTOCOLS \- set allowed protocols .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROTOCOLS, long bitmask); .SH DESCRIPTION Pass a long that holds a bitmask of CURLPROTO_* defines. If used, this bitmask limits what protocols libcurl may use in the transfer. This allows you to have a libcurl built to support a wide range of protocols but still limit specific transfers to only be allowed to use a subset of them. By default libcurl will accept all protocols it supports (\fICURLPROTO_ALL\fP). See also \fICURLOPT_REDIR_PROTOCOLS(3)\fP. These are the available protocol defines: .nf CURLPROTO_DICT CURLPROTO_FILE CURLPROTO_FTP CURLPROTO_FTPS CURLPROTO_GOPHER CURLPROTO_HTTP CURLPROTO_HTTPS CURLPROTO_IMAP CURLPROTO_IMAPS CURLPROTO_LDAP CURLPROTO_LDAPS CURLPROTO_POP3 CURLPROTO_POP3S CURLPROTO_RTMP CURLPROTO_RTMPE CURLPROTO_RTMPS CURLPROTO_RTMPT CURLPROTO_RTMPTE CURLPROTO_RTMPTS CURLPROTO_RTSP CURLPROTO_SCP CURLPROTO_SFTP CURLPROTO_SMB CURLPROTO_SMBS CURLPROTO_SMTP CURLPROTO_SMTPS CURLPROTO_TELNET CURLPROTO_TFTP .fi .SH DEFAULT All protocols built-in .SH PROTOCOLS All .SH EXAMPLE .nf curl = curl_easy_init(); if(curl) { /* pass in the URL from an external source */ curl_easy_setopt(curl, CURLOPT_URL, argv[1]); /* only allow HTTP, TFTP and SFTP */ curl_easy_setopt(curl, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_TFTP | CURLPROTO_SFTP); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.19.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_REDIR_PROTOCOLS "(3), " CURLOPT_URL "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_TIMERDATA.html0000644000175000017500000000446112652070415016604 00000000000000 CURLMOPT_TIMERDATA man page

NAME

CURLMOPT_TIMERDATA - custom pointer to pass to timer callback

SYNOPSIS

#include <curl/curl.h>
 
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_TIMERDATA, void *pointer);

DESCRIPTION

A data pointer to pass to the timer callback set with the CURLMOPT_TIMERFUNCTION option.

This pointer will not be touched by libcurl but will only be passed in to the timer callbacks's userp argument.

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.16.0

RETURN VALUE

Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

CURLMOPT_TIMERFUNCTION, CURLMOPT_SOCKETFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.html0000644000175000017500000000571512652070415017057 00000000000000 CURLMOPT_MAXCONNECTS man page

NAME

CURLMOPT_MAXCONNECTS - set size of connection cache

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAXCONNECTS, long max);

DESCRIPTION

Pass a long indicating the max. The set number will be used as the maximum amount of simultaneously open connections that libcurl may keep in its connection cache after completed use. By default libcurl will enlarge the size for each added easy handle to make it fit 4 times the number of added easy handles.

By setting this option, you can prevent the cache size from growing beyond the limit set by you.

When the cache is full, curl closes the oldest one in the cache to prevent the number of open connections from increasing.

This option is for the multi handle's use only, when using the easy interface you should instead use the CURLOPT_MAXCONNECTS option.

See CURLMOPT_MAX_TOTAL_CONNECTIONS for limiting the number of active connections.

DEFAULT

See DESCRIPTION

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.16.3

RETURN VALUE

Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

CURLMOPT_MAX_HOST_CONNECTIONS, CURLOPT_MAXCONNECTS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPAUTH.30000644000175000017500000001231712626067776015634 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPAUTH 3 "2 Aug 2014" "libcurl 7.38.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPAUTH \- set HTTP server authentication methods to try .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPAUTH, long bitmask); .SH DESCRIPTION Pass a long as parameter, which is set to a bitmask, to tell libcurl which authentication method(s) you want it to use speaking to the remote server. The available bits are listed below. If more than one bit is set, libcurl will first query the site to see which authentication methods it supports and then pick the best one you allow it to use. For some methods, this will induce an extra network round-trip. Set the actual name and password with the \fICURLOPT_USERPWD(3)\fP option or with the \fICURLOPT_USERNAME(3)\fP and the \fICURLOPT_PASSWORD(3)\fP options. For authentication with a proxy, see \fICURLOPT_PROXYAUTH(3)\fP. .IP CURLAUTH_BASIC HTTP Basic authentication. This is the default choice, and the only method that is in wide-spread use and supported virtually everywhere. This sends the user name and password over the network in plain text, easily captured by others. .IP CURLAUTH_DIGEST HTTP Digest authentication. Digest authentication is defined in RFC2617 and is a more secure way to do authentication over public networks than the regular old-fashioned Basic method. .IP CURLAUTH_DIGEST_IE HTTP Digest authentication with an IE flavor. Digest authentication is defined in RFC2617 and is a more secure way to do authentication over public networks than the regular old-fashioned Basic method. The IE flavor is simply that libcurl will use a special "quirk" that IE is known to have used before version 7 and that some servers require the client to use. .IP CURLAUTH_NEGOTIATE HTTP Negotiate (SPNEGO) authentication. Negotiate authentication is defined in RFC 4559 and is the most secure way to perform authentication over HTTP. You need to build libcurl with a suitable GSS-API library or SSPI on Windows for this to work. .IP CURLAUTH_NTLM HTTP NTLM authentication. A proprietary protocol invented and used by Microsoft. It uses a challenge-response and hash concept similar to Digest, to prevent the password from being eavesdropped. You need to build libcurl with either OpenSSL, GnuTLS or NSS support for this option to work, or build libcurl on Windows with SSPI support. .IP CURLAUTH_NTLM_WB NTLM delegating to winbind helper. Authentication is performed by a separate binary application that is executed when needed. The name of the application is specified at compile time but is typically /usr/bin/ntlm_auth Note that libcurl will fork when necessary to run the winbind application and kill it when complete, calling waitpid() to await its exit when done. On POSIX operating systems, killing the process will cause a SIGCHLD signal to be raised (regardless of whether \fICURLOPT_NOSIGNAL(3)\fP is set), which must be handled intelligently by the application. In particular, the application must not unconditionally call wait() in its SIGCHLD signal handler to avoid being subject to a race condition. This behavior is subject to change in future versions of libcurl. .IP CURLAUTH_ANY This is a convenience macro that sets all bits and thus makes libcurl pick any it finds suitable. libcurl will automatically select the one it finds most secure. .IP CURLAUTH_ANYSAFE This is a convenience macro that sets all bits except Basic and thus makes libcurl pick any it finds suitable. libcurl will automatically select the one it finds most secure. .IP CURLAUTH_ONLY This is a meta symbol. OR this value together with a single specific auth value to force libcurl to probe for un-restricted auth and if not, only that single auth algorithm is acceptable. .SH DEFAULT CURLAUTH_BASIC .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Option Added in 7.10.6. CURLAUTH_DIGEST_IE was added added in 7.19.3 CURLAUTH_ONLY was added in 7.21.3 CURLAUTH_NTLM_WB was added in 7.22.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_NOT_BUILT_IN if the bitmask specified no supported authentication methods. .SH "SEE ALSO" .BR CURLOPT_PROXYAUTH "(3), " CURLOPT_USERPWD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.30000644000175000017500000000434112626067776016261 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPIDLE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPIDLE \- set TCP keep-alive idle time wait .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPIDLE, long delay); .SH DESCRIPTION Pass a long. Sets the \fIdelay\fP, in seconds, that the operating system will wait while the connection is idle before sending keepalive probes. Not all operating systems support this option. .SH DEFAULT ? .SH PROTOCOLS All .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* enable TCP keep-alive for this transfer */ curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L); /* set keep-alive idle time to 120 seconds */ curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 120L); /* interval time between keep-alive probes: 60 seconds */ curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L); curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.25.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_TCP_KEEPALIVE "(3), " CURLOPT_TCP_KEEPINTVL "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.html0000644000175000017500000000426712652070415017251 00000000000000 CURLOPT_INTERLEAVEDATA man page

NAME

CURLOPT_INTERLEAVEDATA - custom pointer to RTSP interleave callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERLEAVEDATA, void *pointer);

DESCRIPTION

This is the userdata pointer that will be passed to CURLOPT_INTERLEAVEFUNCTION when interleaved RTP data is received.

DEFAULT

NULL

PROTOCOLS

RTSP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_INTERLEAVEFUNCTION, CURLOPT_RTSP_REQUEST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.html0000644000175000017500000000417612652070415017357 00000000000000 CURLOPT_LOW_SPEED_TIME man page

NAME

CURLOPT_LOW_SPEED_TIME - set low speed limit time period

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOW_SPEED_TIME, long speedtime);

DESCRIPTION

Pass a long as parameter. It contains the time in number seconds that the transfer speed should be below the CURLOPT_LOW_SPEED_LIMIT for the library to consider it too slow and abort.

DEFAULT

0, disabled

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_LOW_SPEED_LIMIT, CURLOPT_TIMEOUT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.pdf0000644000175000017500000000760412652070447016722 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VënÛ6þ¯§8À~L.lFuņn¢n]˳•®E2ŠDÇÚdÉ‘èºy‡íQöŽ;¤nq’¶HyøÝΡÀ  ùÓ~&;ílåÂ}­p¯=hT½„ö#ÙÁÛxòA´Ñš=\\Ÿχh§éçW«y¸Œn£Õt±¾ V£è/¬C‰ááâ(Õ,FÑQ»Ö£àSt£³›$‡*¿åqýx[sQîÅhbÚ†ŽÿdeQË’Fï4fúÄ¥MÍ¡’òù@Ó4ˆe¸0¡¦|m4Ð_@²}âû¦«ÀPñ‡¯Ä øˆZÍ»¯îâš§ ª¸¨7¼‚MYÁe´T„NÁ"È uˆ§ ­?/Âåz¶>¦–(PúOY‘䇔ïRÉ3ù‡l“ËM ¢¹½i '%®y.özo¶q‘æ|üRnÇP´J“ØR1†HY§þ8ï•t‰ëÕ×zYÜ+lb¾‡ÜŒ~y¬mÃBø"XŸ¯fËh.diFl·5ôòÓýS#]ßkÇÌÉ]GM«xÇê„A”˜YÁó¼±ågwU\=ÊLJšÃt}>›ÁNêÔšÓ»U!+jÁãÊÚ›ò‚çšxNõšS9žX]Å’y.ñ°Y:Ü]]eqLÅSí{~Ë@'—5ƒØÌo%dž5jˆñ˜Ì„ú¡íjȤ%¯¡(ECqÖ"-ŠyGñ#m³š&ƒ$.àŽ£ñ]Îá¸åEÃ{¢ [x¸éùÏš±WYëðñ41–GŽ5:TÇLl!Í6#SFÁer//|ɸzD-G?"Â+gø¹Eסd¯Ébä$ëÇ<+ 2¯³]–ÇÕÈnóET¶ T™*qÐ[öA´ÄŽLÊÝ>Ç8´^'e1úY ª’M¥™ŽÛð…÷øð¬öEUKÕ”Ni)EhŠõY²EmUË!ŽgŸTe„Iœ/*?ñÜ$¦ƒÑ¹åÉ.Ç0»¤DÃ.ŠêwIñ7†¿ Ér‰cu³îX4öRœ¥n?ãP·]&b™‹³ãæP›kÛShtár‰Ûw5𨯅¿+ÓGØ¢ODöO tÖ …ûüQ&µiGÕyÔFNœH°çvâNR¨>ˆ«TvlB™Ûgòzè'jûm¾3W/‚ËÖ%ÛRôpÖûÔêèM¯Ô[*ÛNÓa]4æƒâÃX’†£’Ì:iÝcøUk¥Í ÿ&¤åªEd1¯ žé¶.O0švÓ÷aa¾Éˆk8©çáüÙM|ÄÔƒÒ/›,}Gðiúa9º{ßœ¾Qø4´‹øEØjg{Þ+W±/Wö§I‰-Ekú†kÝplÚ%|6Ÿ¾ÍgÑçSnh ³ðŒ½§¹¼yÔÐù!Õk}DW«|Q†cÌ¡út~´ÙyÉ×sq¨Úï%Ámø²º(°ÍêÃ~_V‚§c•ÝfÅÕâý"1[ÿcqªKMîÀyôÀ®ƒ¦óu80x¦~wWŸ¯æ—§ºxØ„´êËѸ±„ºø¿Y6qB]3º8[ˆ1šPÛö-bëÔ…w‡LÏ ©ÕgŒÊRA¤ýŽ?ÿÆÊ¦¿endstream endobj 6 0 obj 1247 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:31+01:00 2016-01-27T08:26:31+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001571 00000 n 0000003385 00000 n 0000001512 00000 n 0000001352 00000 n 0000000015 00000 n 0000001332 00000 n 0000001636 00000 n 0000001811 00000 n 0000001746 00000 n 0000001677 00000 n 0000001707 00000 n 0000001893 00000 n 0000001962 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3539 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.30000644000175000017500000000354012626067776016440 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TELNETOPTIONS 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TELNETOPTIONS \- custom telnet options .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TELNETOPTIONS, struct curl_slist *cmds); .SH DESCRIPTION Provide a pointer to a curl_slist with variables to pass to the telnet negotiations. The variables should be in the format . libcurl supports the options 'TTYPE', 'XDISPLOC' and 'NEW_ENV'. See the TELNET standard for details. .SH DEFAULT NULL .SH PROTOCOLS TELNET .SH EXAMPLE TODO .SH AVAILABILITY Along with TELNET .SH RETURN VALUE Returns CURLE_OK if TELNET is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_HTTPHEADER "(3), " CURLOPT_QUOTE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYHEADER.pdf0000644000175000017500000001002512652070440016543 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥VínÛ6ý笠À~TbF$E}`÷ÕÖ´®åÙJ×"UVj­Š”ê£YÞa¯²wÜ%)JŽãt†Q"R¼çÜsï¹ü6¡`ËŸþ™ÞLN×|j&6|š|™Pµý#½ç1nð勸z¢¿¡à1ðNü⛉õâ|½ˆVñÕj=ÿ˜Ìlâ@œN\F¸ø¸?ÞN¬è½\³åuˆÍÍ‚ãÛ…ønra}xÎ_†ëK‹_N!íêâ*Kšû«&k«Ûv:c¶ð¼*Ø‹ø{üzÉ©¯h}+àƒ0=^F¹ït OIuæØ≯«>[ÎÇóï{Ê÷cŠb±ñ3ÊÔòÿÉ-óbðÂߘ“¦­nàU¯`—%Û¬n ­à6iô³®þ¼×`öyPʈÃK|nóa­6g›‡¸‘¦Áü]^¦E·ÍàG©Â©üEv?Éí Ñ/4©´Â ‡*]ª%ø~—”Û";Ù×éÙ@ž¡æþ•éD¥‚øbØ´u—¶:zSäM‹u>.§?É€M÷è¿ 7/Ög«ø,Zö’P¡Õ?’ŠU2À $­ ឣk3ŸÀm•—mVK (òòó”ÚV¶…¬º>.X^Â}ÕÕz±Î¾tnn²²ÕÇh1eq3â{ºº]»}~H<&ŽÇwú÷» ê®È¸®jÅû‚xÔ0Ò5ÕîòFÃÃg¾Å¨yš2r»Ët©mzÞfÄ úÓ õAí¹sIÐã¹è{öÙTbSǵ¢{–±€xX—²¦dN…à [Œ L²°ªà.ow ë“$äª,î!{ u}b “…¯j‘«7J;†ífën?uܼ—”¬Vƒâ¡>½*Í¡,0ƒ»]VÊ\ÕÙ³¨oÏ75ÉÑ@VÑȳúã{‘l" áJcØ]Õ´DE¸;dé¯ÄzË$Øá<¸´Òªl“¼ÌËO#Üdí®Úž@×tI‰Kà—0†ª†U´‰Ñk1¡Ë+M(#ä(Màõ`ãd7°`”0׺@îF,J,À–‡4)˪…Z.p;IêpÝ6uv[$)f¹k4ÈA]‘ÔV–ÌdE5e |Xw†SOv¦è'õP2æÛíp¦fnr¤êNbY> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:24+01:00 2016-01-27T08:26:24+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001620 00000 n 0000003510 00000 n 0000001561 00000 n 0000001401 00000 n 0000000015 00000 n 0000001381 00000 n 0000001685 00000 n 0000001939 00000 n 0000001874 00000 n 0000001806 00000 n 0000001726 00000 n 0000001756 00000 n 0000002021 00000 n 0000002087 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3664 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.30000644000175000017500000000370712626067776016765 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONDITION_UNMET 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONDITION_UNMET \- get info on unmet time conditional .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONDITION_UNMET, long *unmet); .SH DESCRIPTION Pass a pointer to a long to receive the number 1 if the condition provided in the previous request didn't match (see \fICURLOPT_TIMECONDITION(3)\fP). Alas, if this returns a 1 you know that the reason you didn't get data in return is because it didn't fulfill the condition. The long ths argument points to will get a zero stored if the condition instead was met. .SH PROTOCOLS HTTP and some .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.html0000644000175000017500000000511512652070414017536 00000000000000 CURLOPT_FNMATCH_FUNCTION man page

NAME

CURLOPT_FNMATCH_FUNCTION - wildcard matching function callback

SYNOPSIS

#include <curl/curl.h>
 
int fnmatch_callback(void *ptr,
                     const char *pattern,
                     const char *string);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FNMATCH_FUNCTION,
                          fnmatch_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

This callback is used for wildcard matching.

Return CURL_FNMATCHFUNC_MATCH if pattern matches the string, CURL_FNMATCHFUNC_NOMATCH if not or CURL_FNMATCHFUNC_FAIL if an error occurred.

DEFAULT

NULL == an internal function for wildcard matching.

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.21.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_FNMATCH_DATA, CURLOPT_DEBUGFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLKEY.html0000644000175000017500000000501212652070415016160 00000000000000 CURLOPT_SSLKEY man page

NAME

CURLOPT_SSLKEY - specify private keyfile for TLS and SSL client cert

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEY, char *keyfile);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. The string should be the file name of your private key. The default format is "PEM" and can be changed with CURLOPT_SSLKEYTYPE.

(iOS and Mac OS X only) This option is ignored if curl was built against Secure Transport. Secure Transport expects the private key to be already present in the keychain or PKCS#12 file containing the certificate.

DEFAULT

NULL

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

If built TLS enabled.

RETURN VALUE

Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSLKEYTYPE, CURLOPT_SSLCERT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CAPATH.30000644000175000017500000000441012626067776015326 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CAPATH 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CAPATH \- specify directory holding CA certificates .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAPATH, char *capath); .SH DESCRIPTION Pass a char * to a zero terminated string naming a directory holding multiple CA certificates to verify the peer with. If libcurl is built against OpenSSL, the certificate directory must be prepared using the openssl c_rehash utility. This makes sense only when used in combination with the \fICURLOPT_SSL_VERIFYPEER(3)\fP option. The \fICURLOPT_CAPATH(3)\fP function apparently does not work in Windows due to some limitation in openssl. .SH DEFAULT NULL .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY This option is supported by the OpenSSL, GnuTLS and PolarSSL backends. The NSS backend provides the option only for backward compatibility. .SH RETURN VALUE Returns CURLE_OK if TLS enabled, and CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_CAINFO "(3), " .BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.html0000644000175000017500000000515512652070415017237 00000000000000 CURLOPT_PROXYUSERNAME man page

NAME

CURLOPT_PROXYUSERNAME - user name to use for proxy authentication

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYUSERNAME,
                          char *username);

DESCRIPTION

Pass a char * as parameter, which should be pointing to the zero terminated user name to use for the transfer.

CURLOPT_PROXYUSERNAME sets the user name to be used in protocol authentication with the proxy.

To specify the proxy password use the CURLOPT_PROXYPASSWORD.

DEFAULT

blank

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.1

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_PROXYPASSWORD, CURLOPT_USERNAME, CURLOPT_HTTPAUTH, CURLOPT_PROXYAUTH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.pdf0000644000175000017500000000731312652070452017736 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛrâF}ç+º6;rÁ¬ftÏ&©ÂŽ’•€p²[”,dK» ±’XìJå“òé æb·î™îsú̾‚Nèâ¡ÞãUëÝÈûª¥Ã}ëk‹É ¨·x—!&¸â‡ð®Õ¬aàpp<ƒº„+\B¹eA¸mMÉÕd\†á|ØúA¯ßëÿ:÷B~̈1Ó Þ”Ëùj³¬³y•ÔźÖ:ÜÒ©®;¿dE^Ák{hŸÂß[,ʰ|ŒÝyØõ,Ñ aC´H¿«½E@eµ<›-ríkáç8\§¦î@‡qÖ„sà_Xgëd™åY~iQÕp»Œâ/ˬª›:é`+fSWVì†ãÞø¸¾L‘µÉwY/7‹~ ½/4ýI¤sSB’}Åf<£pÖá"òÅ2iŸc° q•pq!Ú¯fÚ{$êLß?ûã«Qoö}Ñ ²Î¬†ô0 #‘#i÷¨k5¤‹¶d¶ª ÚÓ$åäPËàj8²¡“ù˜Ôàö.!*ËèŠ;…  I¾ƒØfu ô'A€?Õå£dÚ–ì”9:u¹«ö áS‹ŒQn›î¾K)a’fà31UQ­Ê꤂:jˆÊd?ñdwe±’’èHr¸GBgGzš’F.mÈhrº×—¼Ð¸E¶9ÔäE Õf½.Ê~ ÃáÖ(„i ~ì-.ÖV¿}Äo¥RvG¢ŽÄÛÓ9Hú’ÖE–×I)ŠÆË¹¬Ó\ô¹”MKls¨Š_”,$ËàAò˜ÉT¥îDF™8Õê rÛpT4Ø`?iÑ»ã8†¹#oJäEr§1é‰PñðMð-7‰àA€iÃ6ÍâVI”+fM)ãyqˆJPtFéÑ‚d3±iGi¯Ã©nyRƒO¸AÝÞÙËÕ 89àȇ žP1Ø£‰÷ ÿ¯îõ08±+óXZD¨iþ„pú ~ù"ýâo”€µgóÍv»Õl‹êÌòM£‡Z%oÚ’•ðâ4žhL}|ˆVëeBãbõ=ㆩVA=è> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:34+01:00 2016-01-27T08:26:34+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001396 00000 n 0000003200 00000 n 0000001337 00000 n 0000001177 00000 n 0000000015 00000 n 0000001157 00000 n 0000001461 00000 n 0000001636 00000 n 0000001571 00000 n 0000001502 00000 n 0000001532 00000 n 0000001718 00000 n 0000001777 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3354 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.html0000644000175000017500000000711312652070415017756 00000000000000 CURLOPT_INTERLEAVEFUNCTION man page

NAME

CURLOPT_INTERLEAVEFUNCTION - callback function for RTSP interleaved data

SYNOPSIS

#include <curl/curl.h>
 
size_t interleave_callback(void *ptr, size_t size, size_t nmemb,
                           void *userdata);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERLEAVEFUNCTION,
                          interleave_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

This callback function gets called by libcurl as soon as it has received interleaved RTP data. This function gets called for each $ block and therefore contains exactly one upper-layer protocol unit (e.g. one RTP packet). Curl writes the interleaved header as well as the included data for each call. The first byte is always an ASCII dollar sign. The dollar sign is followed by a one byte channel identifier and then a 2 byte integer length in network byte order. See RFC 2326 Section 10.12 for more information on how RTP interleaving behaves. If unset or set to NULL, curl will use the default write function.

Interleaved RTP poses some challenges for the client application. Since the stream data is sharing the RTSP control connection, it is critical to service the RTP in a timely fashion. If the RTP data is not handled quickly, subsequent response processing may become unreasonably delayed and the connection may close. The application may use CURL_RTSPREQ_RECEIVE to service RTP data when no requests are desired. If the application makes a request, (e.g. CURL_RTSPREQ_PAUSE) then the response handler will process any pending RTP data before marking the request as finished.

DEFAULT

NULL

PROTOCOLS

RTSP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_INTERLEAVEFUNCTION, CURLOPT_RTSP_REQUEST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_NETRC_FILE.pdf0000644000175000017500000000762612652070436016445 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VoâFýߟb¤þqö öv׿ÖjUÉ—óIÜ9˜‚¹6J*ä\ÍÙFQúòUú;»6&&¹TH°³óÞ¼™7æ;P€ÊW÷žîµsîk½ö]c꺷tc ò‹x£µw¸\Ï$ƒx¯9”ñƒv«_-ça4‹WÓ ž_­>OÂàN7ï HÕn•%õãªÎšòÐcnSB©«ã?yYÔðƒ›ÆŸñmL g•"™Ï–dLâPÓ§¾ñÉã)³‰í™H0^kúu`Ä?£Î)±¨ cÆå1•|_¡ ÿÂÓ.ƒ"ÙgДPeÉH‘5U y±)aS•û6ï3"cd2f xq3f‹Éb¯B´þS^¤»ã:ƒ_¤,ä²ýU†sKU$i¥%\Êv§Žàý6)Ö»lôŠh#H·Iﱈ;ãgæ ¢Ÿ‚ÅÕ|2‹'ÑT‚£ÊÌnE~…ô,‘1Jf»ûÂ…R²®!é !©áT¨`“Uª*âÊ(¼hOPÖ5htè32•ètPæE“÷Rÿþɪ0Ñ>/’&[CÝTò,-‹&É ¶Í`sÜí´ÙöÃoÛ0zðžÕ @Ã1‹x–èNËãIÉol±~rô‡³ŒÛ¡¼½Ä¦£h`—ÿ%›'™ëLJÒMâ˜l_^C;ü ?íóËvö’·Íë0†Û:dP…çÊ,vfd)Fˆ€4êi=ä»*дqP”-¤²?4’üS±Æ&œ¹£ ”à˜¥Ê°N,®z×6YÍ&1O¬·Ï•2…×É{«—ؤu^eiSV†cËU`êD¹}8±Ü¤Ä íç®3¶¥† }íõëþR2™°[ Ü1Ýî4Œ{BgÉd“]×5{ôé2 ÿÇä³yÇÂ2 œî¸]—ÆœPÛSRF1D=&7‰KÓ‚ºŠÂ‹´=äq&â·]zƒGð‡= ƒÓ°Šú7>Ó`¦4zKâSÔée ñbÁŽ-OFöhRÖvžüoàŸË¢Ä±û „þÇI8‰o.ìeÓBŒÁ ùë5ZGÊ%ôíZoõy/çSøf0Íê0Ý—A73/Kv0¤}*ͳæXuϘ`}…|£†øl¿úx8”•2`´œ~F†„ñ(ן®"µ'åÍ¢D#•••HÝÂÆÄËx}^]×Ñ7ïÉLnÿ&7ðɧou½•íÍNK„¶Œ·Y•Áƒá!5˜×÷¯/Æ$aö"/þ@àÄBj¦`ÄiSž¶—KL—PcÌlÛ³ˆ­ãoƒ/Ç8n>•Üê=Ædª Ö~Ã× ø@Ûendstream endobj 6 0 obj 1077 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:22+01:00 2016-01-27T08:26:22+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000001401 00000 n 0000003363 00000 n 0000001342 00000 n 0000001182 00000 n 0000000015 00000 n 0000001162 00000 n 0000001466 00000 n 0000001792 00000 n 0000001727 00000 n 0000001587 00000 n 0000001507 00000 n 0000001537 00000 n 0000001671 00000 n 0000001874 00000 n 0000001940 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3517 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.pdf0000644000175000017500000001653712652070442016771 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­YÛnÛV}÷W`BÑ ïì\5VZ©íZ4ŠN20h‰¶ÙP¤JRq=ßÐ_™œµÏ¤¬4é` ‹ ×Ô\Àc‘¦:ˆm1Šn¹"Ò( MÁêóH˜ÂÓXÍÛ™Hàp(œûý¶¨{ή몀cuÓ ,iËX7Û-ÐÐɨ”m!}^áQ”$;;¥ Ýp§ì˼*ÿ]l¸r %Ž %RÁîF‡:L)@€ÓÍ…LíJ¾5¤¤d¬sÝÁ ÜÒ}[𸉏0àQœ›fýÆG9rÀ‘ÚgÌ©p"×gyò,˜x‰ ðÇ|$‘¤‰ÁuYå·UÁ¶EÿÐ (]Ñ~¤„p™d­,;©Ê8(Õ‰px6˜(¸¦ÖÂиÛUå:'òc%% ÛKºÿ®iÙ.o;‚²#=ñDÌ“HÐRs[´*âOô8Ù«*øˆn+D‡qR}ïdÒ9›ìR„ÕE±ARîØ0¤ÀÏUD¸&Ü~°&ä^òy¨:ÿfyÁƒ8™á¾è¥¨:¸íó”>Gx8áéD;Õ4»ò1ýáÜ“øÁ‘ÅGVLÁsAâšCªÍ8Gqk#›bu@·nKÙž 9ëú¶È·œeéëš}µ‘Õ¥˜ Üæ}ÇJ‰Ô¹@Š%ƒ~åó¾Þm×Ë,k¦ bÄ ðZØêv^,Öëb×ýâ =…¹ÛE¾±ÐDLàqã3¿|±»Â³À¤ga“" 4 °c½Ï«êirVì£È<ïyáDnj IÓp NÎ÷}ƒh X8ŒýŽŸ€§~ 2Ñü”±ó#äÓ·$: û«n³“¡4¢`Ú5"4x«G&Õ _ø:Ó>DK ½.·Å|ÝÔ›RæSŰSæƒÿòÍFóT"â¶0Mi»;’6/El-Û  æÊ•Ø£ ¾Èæ›ý°|}q~zF<©4Í$»r$ñGü®Uk¾îË)e»Cù8î—ÞˆæøÐ˜éŠðg„ç„àyð=øÿˆøs¹ üxÑDü‡¹TÊgSq70 ýI‘1!“Mçj`§¨JÆb‘ ¦i*!ÿ@Ó$á U JïyÙ÷W ¹I&åò…G™üâDfËÅÕéÅÌÔé§óg‘ë©úΨ"m*Šv[Ö0¢¯fW²N¼DO®yM-&lûY•3¨´ªQ³$Ϋëb-µi Eöl6l("I{æ C{WÙ8«ÂŽRzn¦ðCÌ”=‘’Ê­_Ð8%ª`Eß6•rEnTbl8k Üÿ’¦Œü‰ªÕ[©©®mG©fcD´«–xwE+•—D§w´rLýϧð[)> Opq:£eÕÕó…,¶8ñº™…FÎvƒ‚Šxj',:WOåmz&Ñ6Û a‚¢‚hʘ¸ÈžUå;‡3 ™0ñ§´X]s?±jNvˆ³h(ç|_AzWŸžêÌZ2¦6€Ï4Þ×È;b?7›¾@5WÄ7„ƒ“=›ë°þB´,Û_µ þȳð[ÿjGÛ/½QC[RëbˆîãètOïfhúc¤ágÝÔób»ëŸ†™o¯fdTÔ’AëÂRÎÌœ)pe˜”ὡh dnçÙ(ïT~ CJmU2è5Òcwì[^Ÿn@dù÷{ðì!ɦ)÷íÈ÷çeµCn1Ê<#3ÎJçÎí’z«%I¢{!©ÕDz{ò”„ lAzÛßyÒuù½m˜Z+í – ⵈÑÐ÷…à^L°“RKmý$‰ê7s¹˜ÿd<Ú1&CÚ"áIìÕ4åKã¨%‚©tñ{6:ƒhSsâ—ÍÓ3¸Ããž?ˆlé7õT)‰”‡‡…O%r´îペO@©vö.ú…e¦‹>›Åê0Iœ'Ô¯Ž–Ÿ@ÚCŠÚÓÅúçJ9ŠÀ`ah’FѸ”ÿ¨`ID—°ôºÕ+[Å ªáX¥bmîËN>TÆ£îé)m»_?˜RF ¹Bóak*Ž•²ÏCú"ëh)›#<™^±À·Ù]Ì °¸H#§ÎG†ÌGO(v£áEI_Æ“è&\˜¶2|ÿu}ùöbêVº8¾„„«ìTnææ~œ¨o¼©Ð[.NO'_‘@¦%‘%·E6iïæ§G¤!HÑ‹,ùÚi¬_†åàAÜ4°Z5MwèT˜C$#C žùËfFŒ ¶¥üW$§ßÉ€à‹ìÔA'ë®þt$ô^ Zµ»nÁ›³åÛÓÕÑ-!"åEÏŽŽ9lýÅ,èóȳ³ }¿!íúNº¬añHâ÷m6»óYA°§ÂiÖ#O½ñ’ýa_«uÚy‘8˜'w´cÍÛ‚úlcõÙc±yÉ:5z|ju¢7D, ¸å­ƒ}ëtÝzvþæìíruöÏ£Ѧ‰ Mz.Ðß¶[TŠþ>fty"F_ÁI×ñ»¨ÏnÐôUÞ÷†ÇS¹ÁänßnïGß`Ó7†öÒªk^J—ƒÐ§mñ<ÀÜ?jg†Ä¡óbîÎ0}†iÀCdóý¾fÔ¹ZðY•-è¸evò#~ý$|`endstream endobj 6 0 obj 3194 endobj 14 0 obj <> stream xœUQo›H~÷¯˜G,•-Ëîûè&ÜÉ­k\ŒswjOœpÂàn•³ËbìD'ÉŠgæ›™o¾™}‡PpÔÇ|gÇÙÇØ‡§næÀÓìeFµÌWv„O :ê‡ä0b(ø.ø’‘@Brœ}·îvñ*Ú$ûx.$‘Òõ­d»ÙÇá·ùßÉç™ ˆï9.&ùŒ{D@ò ƒvá6ùa±sÈÎmµ/Òîuß}sêç¶Ë³ðŸ²©;˜(@W:„‹ïû%•Šp\6áj_›QŸ¸læ)wgÈÝ?meu简æÇsÕ—ö)m{ØDÛ¤ƒ_eÿ\ÖÏ=‡8”{*ÑœRJ'°ˆ÷À¦ †JT•{ã/¤òǺ°¶»(¾×þÚÝUΈâKÃCWäÐ7ÐUXtEûsNÅ´h•­-²¦Í!E[×!#0J9kØ1uÌ€\ʈ˜™¦²XÿŒ$ÿ\ SzDÒq.XP ê1”«¤Ç&/¯: Æ!‘ èØ€&Ò2uõå± ƒÓÿ#$\>„oqˆZVòŒƒÁ?ìöTdeZaû/ç¢ëá±ÈR5®²‡¼)Ôôzd¤Fbj•GpH2dÁ%34¼æÊæ¨ß©ò`†•ë„iŸêŒÜ£»ð c†œÁ ºÒŠÜI2ÁSâyœ¢¥§SUf©&ô˜¾B–VÕ@“C ›:çž®£WÎu¦P{ÈíeþE©#qoÅ+ Ü;ñ€ŸHÍT *ó˜jê¾h«"½Áp}œË( VF—HOÙ$qpcËã –_Á^JO6#–=.N¥FÖŸÛÒæ…SÛdJ¸õ4u¶4‡GÍÁ)x&Éù`äœ0~+´¢à’ª7Ä<ݲ"–=ÇFVúëò…'G hû›A¥=§uVhÞÏ5–FâÒ)ÔÞØ4 $“Эûð7S†àf}éE ‹¶ªËá›É¸óu5 ׇPß÷ÇÞ­Mlp9 Lõ®ç›‰Ù(r¡ˆ%]P\F|Çå­¶­>‘þÄ«þ¹øºY…#:ÓbZIt½@Ô^ë>2]‰ÀÄ^s„œ^Q¤š–mñ‹©T‡x‚Ž \®Ÿ–«eò×íBºÇ7‚Xä9žM”n#ž—÷Cº½Dq˜ìâ5<Ì)ã¨pj-V»ÐÏ÷-£¿–ïðð„ûè ”}ÌuÄ=íΧSÓöEþ¯Onwë/ëh΄õÇz§w­U ž)brýW…Ö6 a±ÚFS#oKšÞ@†O]À©~ù¶áv‹iöËû7ÝPî’q}õñÿp ™½Ë«ü]ð=‰ÃÅ×ý.^¾E(ï¼Í8jÛ› JLÝUù¨x*ЙÛT‰KhQ ŸÏ5¸øÌip~‘¬« Âdö ?ÿ8F.«endstream endobj 15 0 obj 1062 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:26+01:00 2016-01-27T08:26:26+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000004842 00000 n 0000006812 00000 n 0000004776 00000 n 0000004454 00000 n 0000000015 00000 n 0000003279 00000 n 0000004907 00000 n 0000005241 00000 n 0000005176 00000 n 0000005108 00000 n 0000004948 00000 n 0000004978 00000 n 0000004614 00000 n 0000003299 00000 n 0000004433 00000 n 0000005028 00000 n 0000005058 00000 n 0000005323 00000 n 0000005389 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<59C01CF4A024CDF61BD9B31E616FAAAF><59C01CF4A024CDF61BD9B31E616FAAAF>] >> startxref 6966 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_HEADER.30000644000175000017500000000440212626067776015317 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADER 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADER \- pass headers to the data stream .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADER, long onoff); .SH DESCRIPTION Pass in \fIonoff\fP set to 1 to tell the library to include the header in the body output for requests with this \fIhandle\fP. This option is relevant for protocols that actually have headers or other meta-data (like HTTP and FTP). When asking to get the header info passed to the same callback as the body, it is not possible to accurately separate them again without detailed knowledge about the protocol in use. It is often better to use \fICURLOPT_HEADERFUNCTION(3)\fP to get the header data separately. While named confusingly similar, \fICURLOPT_HTTPHEADER(3)\fP is used to set custom HTTP headers! .SH DEFAULT 0 .SH PROTOCOLS Most .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); curl_easy_setopt(curl, CURLOPT_HEADER, 1L); curl_easy_perform(curl); } .fi .SH RETURN VALUE Returns CURLE_OK. .SH "SEE ALSO" .BR CURLOPT_HEADERFUNCTION "(3), " .BR CURLOPT_HTTPHEADER "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.pdf0000644000175000017500000000672612652070457016773 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUk¢Hýί¸É~ÁNS]Ee&›0Ýlâ-®â<2½16TÛlTÁÙÌÚÿ¸· ÔÁv!…[çžsîÃÏ@ ª¯îž¯­›‰€emQXZŸ-f^BwË×ð&ÀP?Èž¬ö á‚ %dk˾M’áèt>ÇñÝ|6NÒAöÅX@<ã³ÂòqCÈþµ>ÙÑ݃í= ßïVsµ¨¿Î—ª)7OÕÀq}J(vµmÊjSÃ%࿳?-Ïõ‰¶È<Ñ¡ÄeÈ)GÊ)ékÖçŒHp¼ÀE:–ê0†8Òë€îcýü$Ö¥„SsõkÚ²¿DÉó5k™À€b`¿]U‹ê­R…!ܧƒ<ô&4Y§Géx:œös›“×þ­Üä«}¡àµvìFçßu¸Ë!K¬ìªe•WóÂÔ󮞛b¥®/Zêq"%u‘ÿ5Õþq¥àÊp¼úý»xz;޳a:ê*Àü¶¤ŒGç% ýÖwtY2m®]×°€mUnµƒ¦Âü¾S¹*{˜+HŠˆè@¾`ø·õ¥•牞,úX c]#|QßÐtCò€9¿[,U¯ÈЬÑýý=U(3åÕz»RÍá1‰™‰ðe¯¹ìûÃÑr_UßÔ*¯6í‘Ô`<éÄp/4j8qÑMžãê·´Ó Ò£2×#‚‡Þ¿MÓª?–,þÝ“øàVøÝÚf'hæi[[à»´Õ‹ó^L©#J0ŒrC5z§)ÅA |Ö鱇Iôf˜ ³ý‰ÁR{sôŠÂØùc?Ù“8›MFðnÀô,ÌŽ’YܵþK­¯šý®[Pñ<} å“©u»¸ ¬¡Þo·Õ®QÅ5àäu³ÑÛ‘^öûÑ<53£nª†ütKÄ1DÉ4= 9§t>ùÜ‘”ùÒ®ÎtN„'ÛÓìÎë>¬ž†€ü>תA}Û#ìW¡^lOlìúÁEÄõú—!.¢3ÎÌ÷‰/ò`·¢]8Üg¤óaU>š9„sBó¹Úøçí—à¢#š;Ÿi 8³þÂëYÆÖendstream endobj 6 0 obj 828 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:39+01:00 2016-01-27T08:26:39+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001151 00000 n 0000002955 00000 n 0000001092 00000 n 0000000932 00000 n 0000000015 00000 n 0000000913 00000 n 0000001216 00000 n 0000001391 00000 n 0000001326 00000 n 0000001257 00000 n 0000001287 00000 n 0000001473 00000 n 0000001532 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<94DA5A7DE51F3774AF9FCF0C10E1754C><94DA5A7DE51F3774AF9FCF0C10E1754C>] >> startxref 3109 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.30000644000175000017500000000547712626067776020072 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_CREATE_MISSING_DIRS \- create missing dirs for FTP and SFTP .SH SYNOPSIS .nf #include typedef enum { CURLFTP_CREATE_DIR_NONE, CURLFTP_CREATE_DIR, CURLFTP_CREATE_DIR_RETRY } curl_ftpcreatedir; CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_CREATE_MISSING_DIRS, long create); .SH DESCRIPTION Pass a long telling libcurl to \fIcreate\fP the dir. If the value is \fICURLFTP_CREATE_DIR\fP (1), libcurl will attempt to create any remote directory that it fails to "move" into. For FTP requests, that means a CWD command fails. CWD being the command that changes working directory. For SFTP requests, libcurl will attempt to create the remote directory if it can't obtain a handle to the target-location. The creation will fail if a file of the same name as the directory to create already exists or lack of permissions prevents creation. Setting \fIcreate\fP to \fICURLFTP_CREATE_DIR_RETRY\fP (2), tells libcurl to retry the CWD command again if the subsequent MKD command fails. This is especially useful if you're doing many simultaneous connections against the same server and they all have this option enabled, as then CWD may first fail but then another connection does MKD before this connection and thus MKD fails but trying CWD works! .SH DEFAULT CURLFTP_CREATE_DIR_NONE (0) .SH PROTOCOLS FTP and SFTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.10.7. SFTP support added in 7.16.3. The retry option was added in 7.19.4. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if the create value is not. .SH "SEE ALSO" .BR CURLOPT_FTP_FILEMETHOD "(3), " CURLOPT_FTP_USE_EPSV "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.pdf0000644000175000017500000001113012652070431020435 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•WírÛ6ý¯§@»?Bu, ø9ÝÙÕ¦wÕÈ’W¢Óf쎆¦ ›-E*$åTÓéôUúŽ{/R”’MÒñÄr„Kàœ{Ï=|Gå„áùL·ƒo>yªŒ< Þ ¸Z$æ#Ý’ïcð‹x3ÐÏpâÛÄ Bo÷ÖåÝb:¿W×ñíêr‡œs+ŽV7“år2û÷êj²X>Xâa >£Œ[é¾ÊW2©«Z6å®!ð/+‹¼†áߨòçø‡ÁˆQ›˜°†€•†.‰§k6¾z°Ê]ê†(Äëu ã_zälFæ“·qùËX‘¿HZɤ‘d›ÕuV<‘uVÕdSV#I±&KøC<6l#îÑ@AY¾Ío—“å) ¢ÀXÿÈŠ4߯%ù'fî[üEŸÿ…á¶£86‡\Ë ‘Å~K~¾î)‘ €8H¬fóYt¡àaôtóÉxú™ Õ"ŠCϵުh›º˜ûQ‡Èú#Eäº"œú" LIP›f§S ™üãFm̹¶„Ò²q.£µD¾y†Äçò‚|¬„”±à¼Œš–wD˜—PJ ãaø.K¿zœñ^ù®¢ååbrOæ3šËÕbüH)o“Ž|HW3‡¦€žŠß¬º& QÇ72ÏQQyöˆe°6ÚT¿ê‚`›ƒÜúÂJò½$Ymtp—ÚÂÚGN$`7æF@gÐ9 hàìփņ]VÞgyN’¦‘Û]£’/D@7lóÍ4ϲíÓ¤0d‘@ ê;TGY2Ö¥VnËF%J¦MYHóœ4$kÈfˆfeð$Ëk¨ùz[¶Ž¤5ÀZ‡ýEö©@µÌÒ×YOÂcÜ3 ESÒUl.(m;X×JeN` ;œ™ÊXÕõ‘“ dýP/pêb8¤lª’ïö²nê Ml+“UxùãIËí]lƒÛðÀ£¶çwÕȪèG‰‚EQµÏ© SèÇ'Y“÷j“6ñ[.«_áÅÏa.ȹgÀ]¾ÑKèiZí÷W̆óêË>uf‹ U¿'„~}ÂýcŠ"Gá «ê\Ùe&Å+< …. ¨ÍÚ êÆmurÛÔÀzl’¬€Dk»Â³ð&Q: ¡a¹Ójs¤SdÔó‚NÛ”C¾€É½õ$›Q^¦ NQJb¬Â†ÿi>›!͘í`µvBþ„#Ë:²N¶’ø+©‰ñ„VêÇÎÉás} rȰױ~Ë qf]ž¤¿ö†ˆî9Ø{'+5a²“]%¡V]}e`§Á>l‹h™è6@Æ< ;ù/eÓ õÌFÀÌpEø…ÞP&œ“jõm–ƒs:ü |K>»q—›é׳1GÐŽêÀQiz°lô3tûºçõ µF9<éÃäI÷xih·¦ (­V ”Ûv{Jq}£Uïýcº/róºßä=‘Ô(£¬#'²ÞÉ4Kòü@öµÜì•€åþÕÐÅÛœm[H¦ÄÞ‡}m#FÙ‘€¼;¼Mî¡îOþÐëZÒõµeÛ}Þ$…,÷P÷²(dª•/œ€ ˜7†”Äö ¥.È ˆ2 |´â¢n޲®eõ¢BMdE´+IƒÒ³µK»ØiöpÑ`µÌk»OuLè¨çäÄ•¡êŽí¶qމ{v>îåR/t³½`xBŠõý®oÉc.צ Uûmr VuÓÖ'Tã†<mfíSó‘͠肟Œ¾{+)J©L:Õ1ëÜ+ÿ(᪊ޖÕýu£½Ž1§â`Ç!‡ÇBÑO]°êˆò}<½þêsWÞ«èÚäÏÕsËV-ÑÂøN_ýð`“;Û¾YÆ]Rý…¥ð}ù‹o¾äÁbæâPo©#ô„u‹oºo£ÅÕsp“y‡ËÔg^;æ.çÓ³Ë=P «szO9yiøàÖy‚*úi|s;Zÿ÷ÂÏûjæF£ÖÕÜdØ ‚ÞœFNˆ‘ÝiXmWã7d|$ ³´»*Z“éøûÉt¿=e ¥ƒî ÎT9^¯åš€aÁ˜cÔ§Š2ÓnWV Iz«z¢iG4‚r³ Kú‘!uègŠyoGß-fäÍ. à@ÜOï¢3«>fåiŒf!›}Vƒ¢ŠVó×h‚è2tA¯úЍïf¯gó¡pµ±þ8[ÍÕ‹Bû´®/ ^<»óu×ñµ¯› u{K¶ºÐÜôÓJÑÊZFO—ócì™LúïJדitÅÿ™_•ÒñhëÙ–zý¾8ÝÎô¼îÖßòn­¢Û図 ᵤ½’ö6 |]ÈØêºµ£Ñ§8t‡#C] ÞûØÄKÒ9욎ãVQ<ø/üüÝý`Àendstream endobj 6 0 obj 1875 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:17+01:00 2016-01-27T08:26:17+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002199 00000 n 0000004089 00000 n 0000002140 00000 n 0000001980 00000 n 0000000015 00000 n 0000001960 00000 n 0000002264 00000 n 0000002518 00000 n 0000002453 00000 n 0000002385 00000 n 0000002305 00000 n 0000002335 00000 n 0000002600 00000 n 0000002666 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4243 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_USE_SSL.30000644000175000017500000000510112626067776015541 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USE_SSL 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_USE_SSL \- request using SSL / TLS for the transfer .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USE_SSL, long level); .SH DESCRIPTION Pass a long using one of the values from below, to make libcurl use your desired \fIlevel\fP of SSL for the transfer. These are all protocols that start out plain text and get "upgraded" to SSL using the STARTTLS command. This is for enabling SSL/TLS when you use FTP, SMTP, POP3, IMAP etc. .IP CURLUSESSL_NONE Don't attempt to use SSL. .IP CURLUSESSL_TRY Try using SSL, proceed as normal otherwise. .IP CURLUSESSL_CONTROL Require SSL for the control connection or fail with \fICURLE_USE_SSL_FAILED\fP. .IP CURLUSESSL_ALL Require SSL for all communication or fail with \fICURLE_USE_SSL_FAILED\fP. .SH DEFAULT CURLUSESSL_NONE .SH PROTOCOLS FTP, SMTP, POP3, IMAP .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/dir/file.ext"); /* require use of SSL for this, or fail */ curl_easy_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_ALL); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.11.0. This option was known as CURLOPT_FTP_SSL up to 7.16.4, and the constants were known as CURLFTPSSL_* .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SSLVERSION "(3), " CURLOPT_SSL_OPTIONS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SASL_IR.html0000644000175000017500000000466712652070415016321 00000000000000 CURLOPT_SASL_IR man page

NAME

CURLOPT_SASL_IR - enable sending initial response in first packet

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SASL_IR, long enable);

DESCRIPTION

Pass a long. If the value is 1, curl will send the initial response to the server in the first authentication packet in order to reduce the number of ping pong requests. Only applicable to the following supporting SASL authentication mechanisms:

* Login * Plain * GSSAPI * NTLM * OAuth 2.0

Note: Whilst IMAP supports this option there is no need to explicitly set it, as libcurl can determine the feature itself when the server supports the SASL-IR CAPABILITY.

DEFAULT

0

PROTOCOLS

IMAP, POP3 and SMTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.31.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_MAIL_AUTH, CURLOPT_MAIL_FROM

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.30000644000175000017500000001220012626067776016362 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_REQUEST 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_REQUEST \- specify RTSP request .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_REQUEST, long request); .SH DESCRIPTION Tell libcurl what kind of RTSP request to make. Pass one of the following RTSP enum values as a long in the \fIrequest\fP argument. Unless noted otherwise, commands require the Session ID to be initialized. .IP CURL_RTSPREQ_OPTIONS Used to retrieve the available methods of the server. The application is responsible for parsing and obeying the response. \fB(The session ID is not needed for this method.)\fP .IP CURL_RTSPREQ_DESCRIBE Used to get the low level description of a stream. The application should note what formats it understands in the \fI'Accept:'\fP header. Unless set manually, libcurl will automatically fill in \fI'Accept: application/sdp'\fP. Time-condition headers will be added to Describe requests if the \fICURLOPT_TIMECONDITION(3)\fP option is active. \fB(The session ID is not needed for this method)\fP .IP CURL_RTSPREQ_ANNOUNCE When sent by a client, this method changes the description of the session. For example, if a client is using the server to record a meeting, the client can use Announce to inform the server of all the meta-information about the session. ANNOUNCE acts like a HTTP PUT or POST just like \fICURL_RTSPREQ_SET_PARAMETER\fP .IP CURL_RTSPREQ_SETUP Setup is used to initialize the transport layer for the session. The application must set the desired Transport options for a session by using the \fICURLOPT_RTSP_TRANSPORT(3)\fP option prior to calling setup. If no session ID is currently set with \fICURLOPT_RTSP_SESSION_ID(3)\fP, libcurl will extract and use the session ID in the response to this request. \fB(The session ID is not needed for this method).\fP .IP CURL_RTSPREQ_PLAY Send a Play command to the server. Use the \fICURLOPT_RANGE(3)\fP option to modify the playback time (e.g. 'npt=10-15'). .IP CURL_RTSPREQ_PAUSE Send a Pause command to the server. Use the \fICURLOPT_RANGE(3)\fP option with a single value to indicate when the stream should be halted. (e.g. npt='25') .IP CURL_RTSPREQ_TEARDOWN This command terminates an RTSP session. Simply closing a connection does not terminate the RTSP session since it is valid to control an RTSP session over different connections. .IP CURL_RTSPREQ_GET_PARAMETER Retrieve a parameter from the server. By default, libcurl will automatically include a \fIContent-Type: text/parameters\fP header on all non-empty requests unless a custom one is set. GET_PARAMETER acts just like a HTTP PUT or POST (see \fICURL_RTSPREQ_SET_PARAMETER\fP). Applications wishing to send a heartbeat message (e.g. in the presence of a server-specified timeout) should send use an empty GET_PARAMETER request. .IP CURL_RTSPREQ_SET_PARAMETER Set a parameter on the server. By default, libcurl will automatically include a \fIContent-Type: text/parameters\fP header unless a custom one is set. The interaction with SET_PARAMETER is much like a HTTP PUT or POST. An application may either use \fICURLOPT_UPLOAD(3)\fP with \fICURLOPT_READDATA(3)\fP like a HTTP PUT, or it may use \fICURLOPT_POSTFIELDS(3)\fP like a HTTP POST. No chunked transfers are allowed, so the application must set the \fICURLOPT_INFILESIZE(3)\fP in the former and \fICURLOPT_POSTFIELDSIZE(3)\fP in the latter. Also, there is no use of multi-part POSTs within RTSP. .IP CURL_RTSPREQ_RECORD Used to tell the server to record a session. Use the \fICURLOPT_RANGE(3)\fP option to modify the record time. .IP CURL_RTSPREQ_RECEIVE This is a special request because it does not send any data to the server. The application may call this function in order to receive interleaved RTP data. It will return after processing one read buffer of data in order to give the application a chance to run. .SH DEFAULT .SH PROTOCOLS .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_RTSP_SESSION_ID "(3), " CURLOPT_RTSP_STREAM_URI "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.pdf0000644000175000017500000000713412652070442017453 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UmoÛ6þ®_A`_¤"fE‰/â:p] p«X®D§+âÁHm&Ñ`ËŽ%oÝÚÜ‘’¥ØNˆêx÷¼Üž òͯ}.7ÎÛL ‡Êñуóäûµå}P™uï4w2Ä‘Djãܺ£Y–¤SµÈ<&±”pU>]äqæý©>9’c ·ÔÊ B"õܸ‰³Å(¿ÌÝpî¡åa¿^è»êßE¥ëí®öó±ï þ)¶e…ú &cÀ%æ¤ÉyÛÕŠÌæ¶ñ°.Š*X2ÃfrŽ}‚ài2¹“¡§þ Ž0ÌdØTp¯csÞ«ø˜ú H`^û £Ÿk`q‰°Ã…þC@Õe÷Mìÿö ¨O(wõÙ¸ò°ù®÷–Á9n(ÎqdÑåß&é4ç§mˆÅçþR”Ëõa¥ÑoFç·æ~|oŠTâ¨7 úåbέ˜ÛWèÍã]¹Zë«gF4È_dx…ÖÛò-+ý4÷Þ½Fàcœ²ñTÓ‰fÖxõ™é]ç‘Äk?kl¨*t×T¯·ÌÏÔ4ÇÚ#ˈQ÷ÇN/kt¿ÝÛ°R[ “5:1åÆ Û{‚bÑÖ§ ‡Àölð~´.tY£½~:èªÆ1²å"BèE?86ï$õ(7¹AŸ3êÀ2”Q›û׺caFhÔ–ûXTè^ß ¬€Ô'8 ÙYƒÖ‡½Fsw]Tµ. ÈÐÎ}gHƒ:-æ †2Êb³[ë °Ñ+üº¿·þ1ˆ0'’ÐvNÝá̾%¦V;bEû6Q³ž¼i!DH;ûý^Ì1L³ -0:à¢U{`ŸI£†›*”va- Ÿ§}”&y›„ŸÁ!X˜MÖƒ&&‘äšO/qÒ¨‰èÁÆ ¯§I|lúè§M¯z¬$4ÓÑTù˜¶Š²(º\nTšÈ®šžZîÃÔ/:ðˆ3rìÝq2ü0NÆêÛé2«B 5ž7”;\­ô %’¼bÌ­›Åj–MÐGB>NÜa2‹Û–º¤ ñ¶Ýüñ"ýŒŠ{;¤ÍÁtguØí¶{èÌ+Ë© œM>ÃH…Ìý:Y¤v§˜‹å¶~µ}ó8FÃ$OOÇõ9¤~÷…°"Jì%ãx¢ìÞ;£CÅü(­ý]&‡Úœ÷»à,?ì'»`U¯³l|‘š†_¤„L` c{€aÞ¤^ßÍf¯B^ c’bæÂWñÓ¡D|wlvÚ1¹bå|ßÿߨuendstream endobj 6 0 obj 962 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:26+01:00 2016-01-27T08:26:26+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001285 00000 n 0000003089 00000 n 0000001226 00000 n 0000001066 00000 n 0000000015 00000 n 0000001047 00000 n 0000001350 00000 n 0000001525 00000 n 0000001460 00000 n 0000001391 00000 n 0000001421 00000 n 0000001607 00000 n 0000001666 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3243 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PROGRESSDATA.html0000644000175000017500000000443112652070415017050 00000000000000 CURLOPT_PROGRESSDATA man page

NAME

CURLOPT_PROGRESSDATA - custom pointer passed to the progress callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROGRESSDATA, void *pointer);

DESCRIPTION

Pass a pointer that will be untouched by libcurl and passed as the first argument in the progress callback set with CURLOPT_PROGRESSFUNCTION.

DEFAULT

The default value of this parameter is NULL.

PROTOCOLS

All

EXAMPLE

http://curl.haxx.se/libcurl/c/progressfunc.html

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_PROGRESSFUNCTION, CURLOPT_XFERINFOFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_MAIL_FROM.html0000644000175000017500000000465312652070415016525 00000000000000 CURLOPT_MAIL_FROM man page

NAME

CURLOPT_MAIL_FROM - SMTP sender address

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_FROM, char *from);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. This should be used to specify the sender's email address when sending SMTP mail with libcurl.

An originator email address should be specified with angled brackets (<>) around it, which if not specified will be added automatically.

If this parameter is not specified then an empty address will be sent to the mail server which may cause the email to be rejected.

DEFAULT

blank

PROTOCOLS

SMTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_MAIL_RCPT, CURLOPT_MAIL_AUTH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_MAXFILESIZE.30000644000175000017500000000407312626067776016153 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXFILESIZE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXFILESIZE \- maximum file size allowed to download .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXFILESIZE, long size); .SH DESCRIPTION Pass a long as parameter. This allows you to specify the maximum \fIsize\fP (in bytes) of a file to download. If the file requested is found larger than this value, the transfer will not start and \fICURLE_FILESIZE_EXCEEDED\fP will be returned. The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers. If you want a limit above 2GB, use \fICURLOPT_MAXFILESIZE_LARGE(3)\fP. .SH DEFAULT None .SH PROTOCOLS FTP and HTTP .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_MAXFILESIZE_LARGE "(3), " CURLOPT_MAX_RECV_SPEED_LARGE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_QUOTE.html0000644000175000017500000001165112652070415016051 00000000000000 CURLOPT_QUOTE man page

NAME

CURLOPT_QUOTE - (S)FTP commands to run before transfer

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_QUOTE, struct curl_slist *cmds);

DESCRIPTION

Pass a pointer to a linked list of FTP or SFTP commands to pass to the server prior to your request. This will be done before any other commands are issued (even before the CWD command for FTP). The linked list should be a fully valid list of 'struct curl_slist' structs properly filled in with text strings. Use curl_slist_append(3) to append strings (commands) to the list, and clear the entire list afterwards with curl_slist_free_all(3). Disable this operation again by setting a NULL to this option. When speaking to a FTP server, prefix the command with an asterisk (*) to make libcurl continue even if the command fails as by default libcurl will stop at first failure.

The set of valid FTP commands depends on the server (see RFC 959 for a list of mandatory commands).

The valid SFTP commands are:

chgrp group file

The chgrp command sets the group ID of the file named by the file operand to the group ID specified by the group operand. The group operand is a decimal integer group ID.

chmod mode file

The chmod command modifies the file mode bits of the specified file. The mode operand is an octal integer mode number.

chown user file

The chown command sets the owner of the file named by the file operand to the user ID specified by the user operand. The user operand is a decimal integer user ID.

ln source_file target_file

The ln and symlink commands create a symbolic link at the target_file location pointing to the source_file location.

mkdir directory_name

The mkdir command creates the directory named by the directory_name operand.

pwd

The pwd command returns the absolute pathname of the current working directory.

rename source target

The rename command renames the file or directory named by the source operand to the destination path named by the target operand.

rm file

The rm command removes the file specified by the file operand.

rmdir directory

The rmdir command removes the directory entry specified by the directory operand, provided it is empty.

symlink source_file target_file

See ln.

DEFAULT

NULL

PROTOCOLS

SFTP and FTP

EXAMPLE

TODO

AVAILABILITY

SFTP support added in 7.16.3. *-prefix for SFTP added in 7.24.0

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_POSTQUOTE, CURLOPT_PREQUOTE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.pdf0000644000175000017500000000716012652070457017544 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•UÛnÛ8}×W °+KŠÔ…Ø¢€›ª€[ÕòJt¶A¼0¼2ãháXŽ%·ØØ_é?–Ô%’œ¤@!À¶È¹9gÆ€¬Ÿö;»7^'>lKÃÖx0H} íWvï„2ô¸5¾>§(à î ór‘DÓÙ‡x•¦Ñê*L¦®“0]D–ø× Œ!Ì•“ØÄGñ͸1ÅÒ¤K ²Óq·’ëò¿ÕVVùþ¶°lÇÅ×,U^ìKx1øßâ£A±‡k¢·1uR#‡¨Ú2U:W¥#îêêm¦b;lêÕ³‰6ÆÚޏÈå´ ô9Ôç=j#†}°‰S_ÿ ®ƒÜ:ܵ)¾oó8ùnsŽ›NÈ ª; GYžv·õ[&Uþ¶Ö-€¯aˆsÇ7å±;¬ÑÁ9˜èöÚÄCA7½žÅótšŽÁ(ìßò}¶;m$¼Ñ<¼Öèîm CÑ5H³B<áiYßÁ«»õ~³“/³ô»&Ãg;¥Ž®µ‘bÆoŠ Øõ,PD†Ý1‹ý^5­YZ4@†˜ià(÷߇ée2‹i> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:39+01:00 2016-01-27T08:26:39+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001199 00000 n 0000003089 00000 n 0000001140 00000 n 0000000980 00000 n 0000000015 00000 n 0000000961 00000 n 0000001264 00000 n 0000001518 00000 n 0000001453 00000 n 0000001385 00000 n 0000001305 00000 n 0000001335 00000 n 0000001600 00000 n 0000001666 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<241E1DEDD93C3D15F601168EA61250A3><241E1DEDD93C3D15F601168EA61250A3>] >> startxref 3243 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLENGINE.30000644000175000017500000000364512626067776015726 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLENGINE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLENGINE \- set SSL engine identifier .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLENGINE, char *id); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. It will be used as the identifier for the crypto engine you want to use for your private key. If the crypto device cannot be loaded, \fICURLE_SSL_ENGINE_NOTFOUND\fP is returned. .SH DEFAULT NULL .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY If built TLS enabled. .SH RETURN VALUE Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSLENGINE_DEFAULT "(3), " CURLOPT_SSLKEY "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.html0000644000175000017500000000514012652070415020013 00000000000000 CURLOPT_SSH_PUBLIC_KEYFILE man page

NAME

CURLOPT_SSH_PUBLIC_KEYFILE - set public key file for SSH auth

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_PUBLIC_KEYFILE,
                          char *filename);

DESCRIPTION

Pass a char * pointing to a filename for your public key. If not used, libcurl defaults to $HOME/.ssh/id_dsa.pub if the HOME environment variable is set, and just "id_dsa.pub" in the current directory if HOME is not set.

If NULL (or an empty string) is passed, libcurl will pass no public key to libssh2, which then tries to compute it from the private key. This is known to work with libssh2 1.4.0+ linked against OpenSSL.

DEFAULT

NULL

PROTOCOLS

SFTP and SCP

EXAMPLE

TODO

AVAILABILITY

The "" trick was added in 7.26.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSH_PRIVATE_KEYFILE, CURLOPT_SSH_AUTH_TYPES

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTP_VERSION.html0000644000175000017500000000724112652070415017140 00000000000000 CURLOPT_HTTP_VERSION man page

NAME

CURLOPT_HTTP_VERSION - specify HTTP protocol version to use

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_VERSION, long version);

DESCRIPTION

Pass version a long, set to one of the values described below. They ask libcurl to use the specific HTTP versions. This is not sensible to do unless you have a good reason. You have to set this option if you want to use libcurl's HTTP/2 support.

Note that the HTTP version is just a request. libcurl will still prioritize to re-use an existing connection so it might then re-use a connection using a HTTP version you haven't asked for.

CURL_HTTP_VERSION_NONE

We don't care about what version the library uses. libcurl will use whatever it thinks fit.

CURL_HTTP_VERSION_1_0

Enforce HTTP 1.0 requests.

CURL_HTTP_VERSION_1_1

Enforce HTTP 1.1 requests.

CURL_HTTP_VERSION_2_0

Attempt HTTP 2 requests. libcurl will fall back to HTTP 1.1 if HTTP 2 can't be negotiated with the server. (Added in 7.33.0)

The alias CURL_HTTP_VERSION_2 was added in 7.43.0 to better reflect the actual protocol name.

CURL_HTTP_VERSION_2TLS

Attempt HTTP 2 over TLS (HTTPS) only. libcurl will fall back to HTTP 1.1 if HTTP 2 can't be negotiated with the HTTPS server. For clear text HTTP servers, libcurl will use 1.1. (Added in 7.47.0)

DEFAULT

CURL_HTTP_VERSION_NONE

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Along with HTTP

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SSLVERSION, CURLOPT_HTTP200ALIASES

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.30000644000175000017500000000530012626067776016713 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CIPHER_LIST 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CIPHER_LIST \- specify ciphers to use for TLS .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CIPHER_LIST, char *list); .SH DESCRIPTION Pass a char *, pointing to a zero terminated string holding the list of ciphers to use for the SSL connection. The list must be syntactically correct, it consists of one or more cipher strings separated by colons. Commas or spaces are also acceptable separators but colons are normally used, \&!, \&- and \&+ can be used as operators. For OpenSSL and GnuTLS valid examples of cipher lists include 'RC4-SHA', \'SHA1+DES\', 'TLSv1' and 'DEFAULT'. The default list is normally set when you compile OpenSSL. You'll find more details about cipher lists on this URL: http://www.openssl.org/docs/apps/ciphers.html For NSS, valid examples of cipher lists include 'rsa_rc4_128_md5', \'rsa_aes_128_sha\', etc. With NSS you don't add/remove ciphers. If one uses this option then all known ciphers are disabled and only those passed in are enabled. You'll find more details about the NSS cipher lists on this URL: http://git.fedorahosted.org/cgit/mod_nss.git/plain/docs/mod_nss.html#Directives .SH DEFAULT NULL, use internal default .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY If built TLS enabled. .SH RETURN VALUE Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSLVERSION "(3), " CURLOPT_USE_SSL "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIESESSION.html0000644000175000017500000000457112652070414017173 00000000000000 CURLOPT_COOKIESESSION man page

NAME

CURLOPT_COOKIESESSION - start a new cookie session

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIESESSION, long init);

DESCRIPTION

Pass a long set to 1 to mark this as a new cookie "session". It will force libcurl to ignore all cookies it is about to load that are "session cookies" from the previous session. By default, libcurl always stores and loads all cookies, independent if they are session cookies or not. Session cookies are cookies without expiry date and they are meant to be alive and existing for this "session" only.

A "session" is usually defined in browser land for as long as you have your browser up, more or less.

DEFAULT

0

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Along with HTTP

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_COOKIEFILE, CURLOPT_COOKIE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.pdf0000644000175000017500000000755312652070445017163 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VÛnÛF}×W Ї,k³Ë]ÞÚ¢€’ȨZYTE:H`-­,¶©p)þ¨þcg—Ô-VPH‰Ü¹œ3sfôåÀ̧»/6½w³uÁcïkÛ—ÐÝxŸâа24Àç”uUåT†:I¯ 8ÖDPîCªò”%çÞù©…vÊ‚ðMÕOXø8L>ÌFÓtOÌi ͽ¶'.02Í#vq‰ÖAag¶YmT£j@ ©P(xi3‚ªFü¹ÌµùMmDë©o(5 Ý ìİÎ5´ Kãp“—JÃóZ5kô^ä†rÐëjW,a‡•_9¨’(ðü“F€å®Î13´±ÍbÊ¡×Ùß¶gŒ …k‡K#/yj‡Á³N«¦Ö†›˜)úÆ©7^E®Êžó¢è̵*—&n¶Ýù"kQdMjU¡Ý“ƒjb<òˆªóÕË>E­ê'UH¬7ß‹AÕolÛQß$UgÔ;°}l—rt:!y™ëµZÂFi=ª+K¶ð%eßW´S³ÞiЙã2òd³†ºÚ•Khê|k€–°U5æ½i_®vˆó“Tg›çØk×]yÒâÀ¡qÉ»„·ö-7bîæë‹ {;N8½iÚ5!-Ê.õüIÓY—‚-•ƒà(·Aú.e^du§ ó÷£ïC<þfh`Î&!Ïh%dÉtÇC¦± ÛºjªEUèá×4&Wpm¯£›¹Mã©À[rƒA5 ú8†Ÿ7Óñp¯Ùð»šMãKÂ|Œ;²½0¼°"sòÍÔD¶˜>Áq!`ù|wÜ‘Ñxð~4¥_ιÁ* ‰1öÔPßõÛ®,—ÈK^B@%OáTòø õ]£¬Š¨J¼èÝv[Õ š<¼X±L’° !Qxå픋BRg¥6GážOq‚ÛŸ¤Èp˜8o[' Â¢ý꼪×c¤Ží-ùÌ­‘…+=\ ŒŸ­!dÌL5ëWw[îʼn(P$—tEfÇîù½#³az;›À'‡ œE>®‚ñí°³{]TLg¦©ÇL5»ºûG0œÇ¿C¾Â9ˆà®K…ÛUÛœïH?q¯8ÅõÔ0£”¹Â¸‚ÊŒÜç-ë6^»¦ö1Ζþp>‰ÙmätþÞzrýÜŽÆNäšE'ñùhÒÒb»Zà¿yÂê~¸cc`ç9}îy""8¯Õ¸èÁšÊƒ"¹A> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:29+01:00 2016-01-27T08:26:29+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001556 00000 n 0000003360 00000 n 0000001497 00000 n 0000001337 00000 n 0000000015 00000 n 0000001317 00000 n 0000001621 00000 n 0000001796 00000 n 0000001731 00000 n 0000001662 00000 n 0000001692 00000 n 0000001878 00000 n 0000001937 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3514 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.html0000644000175000017500000000422212652070415017641 00000000000000 CURLOPT_RTSP_SERVER_CSEQ man page

NAME

CURLOPT_RTSP_SERVER_CSEQ - set the RTSP server CSEQ number

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_SERVER_CSEQ, long cseq);

DESCRIPTION

Pass a long to set the CSEQ number to expect for the next RTSP Server->Client request. NOTE: this feature (listening for Server requests) is unimplemented.

DEFAULT

0

PROTOCOLS

RTSP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_RTSP_CLIENT_CSEQ, CURLOPT_RTSP_STREAM_URI

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.pdf0000644000175000017500000001117712652070447016516 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•WÛnãF}×W4’‡¥R›Ý¼ovP)ÿ¸UÝl’¢å Ö,X$«NŸ:uªø‰˜”›Ï]:ºÚxä©™äiôiÄäEÒ|ìRòm7øøEx©gñ8ñ‹ú Ó‘ãPî’ðyôoãún³\߆áâf¾¾ n¶÷†u?&»ºHDT¾<”¢ÊOÕxÊ“š¦gÀ?qž•ä'Çÿ MMʤڒÐÀA0$]ŽŒÕlüW™CÀ€á~dÜÌÇá/=èܤ¶é‘)ãxÙ| /ùƒD’F_â´NI§‚TGA ñ©eEâ’DI’¹Mß±g±'UNªèã8Ào,ÇôÔ)`2—úÚöÃj}»]lÏÊ[$8ãë8Û%õ^¿!qWø‡ÿ·s[žqïr¸aHì½¼DÞ£lŸˆÉZ'$ɳ'y°¼®îÇß{ÿëûùöz³¸ ëæ‡R0GUâîÛ¨ï¨J˜Ôò}¤Û(;•=*É)*¢TT¢ »<«¢8‹³'E3µÚ,¢øMAÄ’êcÈ3ø4÷N«ˆOƒÀ7{X<‰JzVã8#iœ$q)ξ„šGyÉkUí&§'U0j¶™ž»LLÞš ‰±>’7 ÚÅi™-B I VE”• !?‰"Âfèë‰Ì”¬ò" /RYœø0$´mê1ÍÏ$ë`|¦!ÍÀzþ±>•de2¶&Bqƒ3¦q¥ëàw’0hqz½»–d>¥¤71Dƒ¯íFŽEM7ÐùžÓˆ·ð@Ñv%yFœÕ•(I—Iô˜à8ˆ]•¼L²ÖCFIx„Vžõ>ê²-ÿB¿ËxPh‹ŸY†±]|?[nnH?e‘|¢Ñ%)_ÊJ¤1IJ*‘SºÃ‡‡6¤„Žs8µ‡éqS¨QÇIÕCAÊ 8ŽŠ½ža- QæÉgÌÀ<(çºr…"ÓÃ`»‘G-7ôÅI§S}*°µNAç'¤É2k+ÉgèÀ€Ñ¡N’)4ÈT•×ǰ¬£Bó(€µŒxÈ MP áª#=…^×}‡Ä)?u¨ÉlWú)ÀÈ38¼lE*5o,2Rgñ—iú8•&dsª!ʾú}ËÔ*’Ä•8PŸÆOǪ)ºª ª•< <ß2 8.ÄMFY­›«5(a5æÀv]c¶ìÆUo\2xTWÒƒGSå®"&S´ó½ÔÇc^‡‰j[nï“«tg„™.mË ºº)\}3\;oÏ#BU¸§X“j"5ò¹­X”Ôò{’D0¥d>Ué¦Üó©«BsZ˜ ¾r‚-Œ9¡ sB}DäˆZ—–"•slœ×õ•ßY6íìè9é;/Þbêð\kñ©1ª‹ã;à^|ƒlLæÝN¤?ˆ’@P¥œûh¿x‡ÿªƒ1zŒ·À¨í8*ó.*E£÷†('þ^ПÚîBh`Id0fÔÓ##)CÀTH/»ÜŽK…WúaúzÝùrJòB¼Vc:ÁP»Ëõ²ÉŸ¶·óùû‡åâf^”°íÃÌÔ&2ˆ?µe¦x(Ö)Pi3À&hÙÍÉ9Œ"å™Pþº|½XоVq—ïv3¶åBiëï7óíö»»Õ5.-3ºVǵtÆé)©ÈäÄ/š=‡K‹™Z0”Üvù³’¤¼í€Ç6²ªoAÜפGcvIþï¨:Tér|LØß»¾kp8¶\u` X+þÙ¼ÊðÈÍêË]«iUc¶HºSãêæyžewÕz/Jö¨ÎGOƒÚÄ$÷Ư¢Èa{>Æ»#Iè[#z+W« óMêi~=~`}€ZiK*úK™ êuu±æÝ×E¿EÆðj!kJ/¬ÔÝÀêQPŒÙ–¯Ö#àÄklaÊ)vVb’u‹„[8/5úëõr°•ÅpÖ’fÌ’äuõÎVæù¿f7·ËÁëG·%+9¨5]®ïmñ0a‡Ç­œËe?>ÜxTâ7\ºú½Þþñ›në‡ ùêXU§¿^]‰1kØü¡Þé.O¿ÂLr§TïWï`Ç‹•î®ÇMø9ßß]ŒÜŸAè¿xÈPKõÊÑ$ìǵ ö5}T¼gÚÕø½‘»£÷þ·ØÇ–°%óŸÈ¬+³I]§Å‹åìÛÅr~Œ;Œt¥Ö¯¬{B:èä<çÂ^à V‰ëõj5¿/GtþψjÇ„7vÚ/oÍ9¾†.ÏáÕÏ{•8²ñ{ˆPW…ÕË9ŒsÈ7ž2öcêÌ#?ÔØÌ–ÁíÖ(†š‡£ÂïþÖYendstream endobj 6 0 obj 1921 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:31+01:00 2016-01-27T08:26:31+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002245 00000 n 0000004128 00000 n 0000002186 00000 n 0000002026 00000 n 0000000015 00000 n 0000002006 00000 n 0000002310 00000 n 0000002564 00000 n 0000002499 00000 n 0000002431 00000 n 0000002351 00000 n 0000002381 00000 n 0000002646 00000 n 0000002705 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<68F4A3AED063BDCDAEE8CF977BC2B5C2><68F4A3AED063BDCDAEE8CF977BC2B5C2>] >> startxref 4282 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_KEYPASSWD.30000644000175000017500000000404212626067776015741 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_KEYPASSWD 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_KEYPASSWD \- set passphrase to private key .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KEYPASSWD, char *pwd); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. It will be used as the password required to use the \fICURLOPT_SSLKEY(3)\fP or \fICURLOPT_SSH_PRIVATE_KEYFILE(3)\fP private key. You never needed a pass phrase to load a certificate but you need one to load your private key. .SH DEFAULT NULL .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY This option was known as CURLOPT_SSLKEYPASSWD up to 7.16.4 and CURLOPT_SSLCERTPASSWD up to 7.9.2. .SH RETURN VALUE Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSLKEY "(3), " CURLOPT_SSH_PRIVATE_KEYFILE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_VERBOSE.html0000644000175000017500000000563012652070415016261 00000000000000 CURLOPT_VERBOSE man page

NAME

CURLOPT_VERBOSE - set verbose mode on/off

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_VERBOSE, long onoff);

DESCRIPTION

Set the onoff parameter to 1 to make the library display a lot of verbose information about its operations on this handle. Very useful for libcurl and/or protocol debugging and understanding. The verbose information will be sent to stderr, or the stream set with CURLOPT_STDERR.

You hardly ever want this set in production use, you will almost always want this when you debug/report problems.

To also get all the protocol data sent and received, consider using the CURLOPT_DEBUGFUNCTION.

DEFAULT

0, meaning disabled.

PROTOCOLS

All

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* ask libcurl to show us the verbose output */
  curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
 
  /* Perform the request */
  curl_easy_perform(curl);
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_STDERR, CURLOPT_DEBUGFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.30000644000175000017500000000430012626067776016433 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPINTVL 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPINTVL \- set TCP keep-alive interval .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPINTVL, long interval); .SH DESCRIPTION Pass a long. Sets the interval, in seconds, that the operating system will wait between sending keepalive probes. Not all operating systems support this option. (Added in 7.25.0) .SH DEFAULT .SH PROTOCOLS .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* enable TCP keep-alive for this transfer */ curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L); /* keep-alive idle time to 120 seconds */ curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 120L); /* interval time between keep-alive probes: 60 seconds */ curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L); curl_easy_perform(curl); } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_TCP_KEEPALIVE "(3), " CURLOPT_TCP_KEEPIDLE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_NOBODY.30000644000175000017500000000413412626067776015363 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOBODY 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOBODY \- do the download request without getting the body .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOBODY, long opt); .SH DESCRIPTION A long parameter set to 1 tells libcurl to not include the body-part in the output when doing what would otherwise be a download. For HTTP(S), this makes libcurl do a HEAD request. For most other protocols it means just not asking to transfer the body data. Enabling this option means asking for a download but without a body. .SH DEFAULT 0, the body is transferred .SH PROTOCOLS Most .SH EXAMPLE .nf curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* get us the resource without a body! */ curl_easy_setopt(curl, CURLOPT_NOBODY, 1L); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_HTTPGET "(3), " CURLOPT_POST "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.html0000644000175000017500000001077012652070415017215 00000000000000 CURLOPT_WRITEFUNCTION man page

NAME

CURLOPT_WRITEFUNCTION - set callback for writing received data

SYNOPSIS

#include <curl/curl.h>
 
size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WRITEFUNCTION, write_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

This callback function gets called by libcurl as soon as there is data received that needs to be saved. ptr points to the delivered data, and the size of that data is size multiplied with nmemb.

The callback function will be passed as much data as possible in all invokes, but you must not make any assumptions. It may be one byte, it may be thousands. The maximum amount of body data that will be passed to the write callback is defined in the curl.h header file: CURL_MAX_WRITE_SIZE (the usual default is 16K). If CURLOPT_HEADER is enabled, which makes header data get passed to the write callback, you can get up to CURL_MAX_HTTP_HEADER bytes of header data passed into it. This usually means 100K.

This function may be called with zero bytes data if the transferred file is empty.

The data passed to this function will not be zero terminated!

Set the userdata argument with the CURLOPT_WRITEDATA option.

Your callback should return the number of bytes actually taken care of. If that amount differs from the amount passed to your callback function, it'll signal an error condition to the library. This will cause the transfer to get aborted and the libcurl function used will return CURLE_WRITE_ERROR.

If your callback function returns CURL_WRITEFUNC_PAUSE it will cause this transfer to become paused. See curl_easy_pause(3) for further details.

Set this option to NULL to get the internal default function used instead of your callback. The internal default function will write the data to the FILE * given with CURLOPT_WRITEDATA.

DEFAULT

libcurl will use 'fwrite' as a callback by default.

PROTOCOLS

For all protocols

AVAILABILITY

Support for the CURL_WRITEFUNC_PAUSE return code was added in version 7.18.0.

RETURN VALUE

This will return CURLE_OK.

EXAMPLE

A common technique is to use this callback to store the incoming data into a dynamically growing allocated buffer. Like in the getinmemory example: http://curl.haxx.se/libcurl/c/getinmemory.html

SEE ALSO

CURLOPT_WRITEDATA, CURLOPT_READFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.pdf0000644000175000017500000001506512652070444017301 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­XënÛFý¯§˜íþ0åJcïÜ.ðÆJã\ìÔR°(ì…@S#‹5ÅQIª‚[ìì«ì;î™/²“üh` ±EÎ|·sÎ÷}ú•Ø”[þ4ÿ§ÛÑÙMHª‘MF¿Ž˜zHšÿÒ-ùç/DòƒÅz¤Ï0:$Œ]Åd±9>u²8Œn­WŸnÞ_\,çó7Ëw³Ÿ_ºzµ¸¼¾º³Ü»1I÷e¾äIõ´¬x-võxêø6µíЙ(*ò¥ãã/ÞŽ¦6uŒ¦ð)†O4ö¥[.Ì¿YWçㄧ̧~ìÂÕÅjd}˜¿ô‚plêÙ!™2G>¶¿è9ùI“<¿OÒG²%y,ÄñÂi×:d#ªšl“:ÝdÅÉÅC–*?ÞMáÞ”4RÞ̾ºþ8¿œ}R¯(¬¿fEšïWœü]&ìLþC7ÿ¯;ž “û­Næã¦ª“šü°ýö¼ŒäÝ›ùBž˜2ʘLˆÏhä7ù8Wtž™ÏX?¸µ–¯/¯fËó‹‹åbÌBG®g]ãÃ÷³‰NàQ;ÀûÚ–65Qç¾á¥7³·³Wê©C}ùÜiÔ pr6v¼˜Æ±k–*$}KDf;Í-üžÖ¤Þp’Š¢ÀïÀæ„”¼Þ—I ÂËH8=Óþ9ÒÒŸv]¹{@³×³› 9;•ïùõš“ LW‚¢&Išò]M²zBîÇLä„Ö¾&øœ'*²& vc¾NZó1 aÝÄ\T^’2{ØÔÚ÷È—ì6qõ]NqÒ7 =T:¡‘g‰ºK¨#µÁ$ôÖÚdüÚW¼"‰"ùLÇÙ¤ò~ JÚÌ ‚Æ™ëÒÀÃyc_ å!«øQYÈ!ËsrÏIÎ×HGQ'©ò_“L©SY§`ÌnïúÏŸá’âñ‹dúp®ª  &(¦ëµxõfyýÎÔ+ÐIíUÌÒ—¶`AV]sùmw;“bÊë>\ÎÍ'1“ŸÈ۵ҬžXMÈ£ÑB¦êáØŒúac”ºÊ,"Ûi1õƒ¡[Y¥û‹ñÌq€Vïëaœ6ŽÎ/¯~4ÁG¨yG}+…èÄQpö¨ŒÇàïWçùºó܇í¡ç2­×n@ƒø¨²VU—{¸©ê£,¿±à——,þÑZœú¾~¥ß, éO7 x?ŒÁwûÄŸo­û¤âG²5XQPOÞ4!= E£ïÊdÌ<8ä{Öá;åQÛUR' qüŽ8Uö;_ÖòRç>wê§'ƒT‡qMbìgi±äAuÝ4ö( ãðež"-¤ª6Ë ×§¡ûU·–éàw ×äTÎ ãÀ×’£;ÒÚ.kë‚#©_xÀ=Œlö J§x¼aÜ»µô耩ሾ.ÚCp„ uMÉí¥{%óµ£—Àù }µ”Î ¯p"ê¸æŠ¯zé†Ôó†^>SÚIs¿£›¡*óoÂLp@Oseº§yÆ‹zw7ÖPñåÓ©„F£U’ÏæKSîMR¬r>ùÜt©ü:É×0ÄŽ½ûÊ-Ì´—ùUà6sàÅlþêæò£ô``ìÅ™ðc¿oGm÷­d?ÝIÍ@ó«ŸÄ¾ìÍ«û¢™]› M¨Úˆ}¾ÒЬ`WŠZ(æâ‘Æ&IîÅ<]Õ„øÿLìTKÔ04…Á” @©©å²&¼®”kRº6Ð%éÀpš^§éMR¡³ãÍ•(P=©‰y.šÑ&–W£2¡¯¬h'u¸ŠÛ^„WB…A˜Lv»AsùqŸ÷ü®-{6¥Øv01Jä"ÿÍyd—&Û¤'¤Îj7\U'»¥Û. ôQ?²mƒ¦IÝÓ8Ö›•ŸEˆU‰½¨SÒ¶]cÓ@\›ÐJ¾5ø—Õü¨æQLÝÈ}¨È®†~o4jŒb‘’¾SÖçoDÍéY G¶µ Ê;ƒv¡©ÚÒRnœûJ‘&äV5Þ5tgSídÒ òç!œá\ÝÓâ ™ò>†Fvùì¯LvÛÎ5ÌK4ê¶ó¬ŽènL èçùÂ,q"Ö*®µ¢"WÏi•UžeêðA†Üœ’MFÍf5g‡j€}%PËóÀ%7xA‘ä+¶©—:x n7ò@þ¦ É&ñ¾·Ož|»U^Ë;Lô§F@Ùpž«Qýû!Ä=¿ÛD¡Œ†Á™&RëБþv’­º–Å0³tS<¸k~«%""±dÒ©ô"ÍñYV›Qµm^É– bB©í÷b l=Í!WcÌÄ‘cX’Tʼn†'³ÝÆ9¯£Vïë˜u·i”Qµ¼’'«' ¼Âü%]/¹n`H’Ì6X¤–…&.YäRvlr¤ˆí.ç Ë8´Ë“TÁ{ ø!MþÑ¢%/„¶¼×fú ›O½lckè­O»¦\A³µb ³ô4!UïVpÒéQ÷³át³™vr«*õUe#Òß-DPÏ&ý›»oIŽæó)@×´_Ç¥¾C¦àX ÉkÈB©=ž2à S˜޾Ý ¿§·–À|ÇÉäM³Åè'üüêÚ©æendstream endobj 6 0 obj 2212 endobj 14 0 obj <> stream xœ­VÛrÛ6}çWà­Ô4Bp!xyTlz|Q%W¢’f’ކ&a‹±D*$Uÿ¾ ¼ÈV݇v4Yä{öœ³ üDSDÔÇ|';ëãÂCO•EГõÓ¢ú%2_É}Š ÀW¢G«YC‘Çpì(ÚYL`æ¢èh}³/V‹éü>Z/—×ë»ðëÕjvÝÌgßmþ}„’C¹]˸zYW².öõhÌÁ„x6üÈŠ¼Bï-ýÝZÜEcø‹RK§º»^F£è‡5¦˜R%– Ø€PLô+¢S† ób}u3 õ2æcâÂó1eê Þë¨Bìh#Ѧ¨ê_Ÿu%Ô>Ä3î7ûpXÛDË”©8Ń£óy˜sǤ«âÇ"phó¢Ï–$r_Ëm³Å:fÛ-JмÎòƒ„_õÕžä2QLam²ª‰‹·Uâ4U!¬çã@°¶&ûLÌ:k`ÌÛ"’¨‹'(i´-vª å9/FÌÁAÀ<û˜¯U´/Š-zQ-)·¡$”åh'wE ü<¢¬FÇîm\å¿hEn &ÏV÷„ØÝ R{[Ê8}AûRV2¯Rb]À>xC}ýWw,ÂÛð":ç´…þ ŸÚ¦@ê`ávIªò|‰¤Yúd–)>5D*óÁ~ƒ™ß*d¿Ô}5døâÄ6J½ÎVqžjIÔÖµ-*HÙ” {cÿ ›—áU¸8G&ÁBýóN³ ì5-«¾‰ny…öSO ¡ÀÄgo‰UDðN¡@+r? ‡3RǵÚK¦Î,h°¸R~¶¡59 É¸Û ´»ãm¦-Ü÷£¸ö_² ¢a+U¿ xÀ—ƒ)£^õQÆõ¡T¶)¤5Ø÷¼ž=NDSÐtCÇÌuñ~oÚLUçu¥°WÅNn Óp>1Ž˜·ËáâB´€$@ÉÑCœçšw9Çq¹s1Ÿ.›,ŠÀáœJ²¼Šîµ~Ë‹ûAþ1ùí~¶zù§…êP3qçC_ÒÖ®—sÞðÍÚa*'P‘]6ErsÐN>£I_$8T fÇ›éäÓÍô&úzZ)ÈÂß?-t’¦Ðrp¸y˜Ø}¿Öoö"ŒV‹ú<¢ŽL—Ú“é*4z[2ÄëžknCáz~§Omï};—ªÃ~_”zŠ)¾›ÀÕìn6qa™­á÷&µ0/êsv=Qc†h2]ÎûB^©ðê^vit š¦‡öäÆ+J‘†¢hÀô€Î`pRÚú^÷á4+€r»ˆWJ(O˜û×Ùõ|-_±Háµë¼Ù}Ìáì»êØ!»ƒ+M{¾ÂuÍÃd4¦®gXØpêÜrÄ`†ê N× LíFÖïðùòÀÏ*endstream endobj 15 0 obj 1245 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:28+01:00 2016-01-27T08:26:28+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000004043 00000 n 0000006002 00000 n 0000003977 00000 n 0000003655 00000 n 0000000015 00000 n 0000002297 00000 n 0000004108 00000 n 0000004431 00000 n 0000004366 00000 n 0000004298 00000 n 0000004149 00000 n 0000004179 00000 n 0000003815 00000 n 0000002317 00000 n 0000003634 00000 n 0000004229 00000 n 0000004259 00000 n 0000004513 00000 n 0000004579 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 6156 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SHARE.html0000644000175000017500000000547512652070415016025 00000000000000 CURLOPT_SHARE man page

NAME

CURLOPT_SHARE - specify share handle to use

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SHARE, CURLSH *share);

DESCRIPTION

Pass a share handle as a parameter. The share handle must have been created by a previous call to curl_share_init(3). Setting this option, will make this curl handle use the data from the shared handle instead of keeping the data to itself. This enables several curl handles to share data. If the curl handles are used simultaneously in multiple threads, you MUST use the locking methods in the share handle. See curl_share_setopt(3) for details.

If you add a share that is set to share cookies, your easy handle will use that cookie cache and get the cookie engine enabled. If you unshare an object that was using cookies (or change to another object that doesn't share cookies), the easy handle will get its cookie engine disabled.

Data that the share object is not set to share will be dealt with the usual way, as if no share was used.

Set this option to NULL again to stop using that share object.

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_COOKIE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_READDATA.pdf0000644000175000017500000001035612652070441016126 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•WínÛFü¯§X¤@MÒ‰Ço6mÅV¥²åJtÚÀ. š¢m&©ˆdT¡èôUúŽÝ=?$ÙH Ì[ÞÍîÎÌž?ƒÆ8hô‘¿áª7œ;ð˜÷4xì}îq±ò'\Á\zà?ôªw88:8žÁ\üUO9»žOgWþÝ|<:?Wý½gœƒö\“Ùø‚¿¤G:>Úö”‘# Ò(€»Ìâš^ÅØãÅÜ(·Šq«BXn’»(ÈwwyTdëBè¦Ç<ÏPð8KsØ?úÿ]{¶a˜ÌÑ¿ýôêL_Ãh†s3gžEÉLËf† Ãñ—,fy†ÜçbLÏÛ¢é35\ËßR­¦Î,ZÑ9ÓZ ÿ†íÁàj¼ZÐD†e^d+XgqZDXy-¡È xŠ`Kƒ$¹ÂOÊn‚Ü2&>à6sÅI‹—³«Åd±Ÿæ_'ó]œ†I¹ŒàGêÕ¾ØÓϹ þ´Ê6Ì0à°—·b NŸ‚t™DýƒNž´UÑmi/öQh¿“ý/M<̤Sœ,^©¬Í­úú¸†a0Ãè”à|¼8›O®üÉìòÅ*œEP-r­n:g¦áÈÆ(òă 0Ä´= i–# b«¨iuËþIdÛÊ4$Ò3˜<À.+¡Ì#Š88˜»6ªÈ‘w«úöúòŒÒhxÞѵá2ÛvZ(vU-¡²>žç炬†ã0GsëܵJ¯„´¦b;QI¦ºí*IQ¾Ÿ®Ë¿EVfñÁFŶiÜâÊc¹ŠÒ¢N¹&(‚&8ž€#ó^fé ;o ‘š&ót·.u‘wz¯ë®'n”uÆ;öU÷*'°š®xyA«›(ÙAVa]F*DÓC Ê„‚0Í4Höû"Ë´D.À E÷•%¡Ÿ–H_Vk_‚Vîz®Ùåj/Å Á=Ràíd:†S¸U …:©JÐ H«ýçKvÌ~…xr«²ÊpÐQ,Ò(õ۲ܪU…OTá²Ø—M„,‹ÓGHâ{0õ1€mœ:œO§}Ñ‹ë…/ÈXeÛaÓ>ÿ—‹X‹–‹–”E\5ÍCÔYr¹nëM=+¾²gTmï)ú­¬eºÂa0Ž›5F×Ò”±áÒÛuÛ¨5õ›â¶q+î8͆=U¼Ù5äá–'ÈÓˆ ë({ŠÍÌ‹eœ2Y¾_Í%nÓ¸¹‰Èš§7:™ù0kPêÊÕ®¹q6›˜9&ê!ò}èŠ/A–4<²  Z`½ÉŠ,Ì’¶OQŠ­H—Ä bü×j>þ}tq5¿è Õ,û©3*â4ÆA!šBq¢äŦ ¸Ø‘ëŠj¾F7@~ 6ðE¼6ü…[õÖ7Êñä¡'íÄÁŸ>¼z*ŠõÃa¤’”Hê«u±0[½"Ô9Ó†§•C׆W<¹\^O[29aeÄaÖ³£¿V@kD§CÑÞî _ƒ~|‡àŽÅê™ò­ÓòûîuÂi® ÕVÖ~ k(e·¶Œ°u´A~¬êâWÑmKt–ë_¨º!Á™Ø÷+jÓ¶x u2½™L'þ‡˰ð^æ63‰F¯Y)Pð¸²ØÒPr…ˆÏÒ0‚Oi¦ê&=t•m ÷;á÷Y²Ä¦¦Á*:ò3Íd¦cøÙä’„Lˆ æÑÁ]kpÑeì¶ÔEw8qS“{bqóUð|qòþPÇñìÙž÷Œ‘žKK0„W¹œ¹mܨõ*¬y= Fò ~àa¦nÑ…¾nÜ6è†w³ÈãîØÂóôîØJ‹M¶,ÃJó˜óŒ9àMÚ1hMûo”ùØ¿ž_Â{•¦“gse4½Ë<㢳Û8¡)\”›Thb|7ûåkV´a4]ÌÚ°g¼èP¥‡# ïûõX#¬¿¿f·õª7üm>ñÇuÃ> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:25+01:00 2016-01-27T08:26:25+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001837 00000 n 0000003727 00000 n 0000001778 00000 n 0000001618 00000 n 0000000015 00000 n 0000001598 00000 n 0000001902 00000 n 0000002156 00000 n 0000002091 00000 n 0000002023 00000 n 0000001943 00000 n 0000001973 00000 n 0000002238 00000 n 0000002304 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<11F919D3D601A8ECA87982165EDCEDBB><11F919D3D601A8ECA87982165EDCEDBB>] >> startxref 3881 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_TLS_SESSION.30000644000175000017500000000565212626067776016335 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TLS_SESSION 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_TLS_SESSION \- get TLS session info .SH SYNOPSIS .nf #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TLS_SESSION, struct curl_tlssessioninfo **session); .SH DESCRIPTION Pass a pointer to a 'struct curl_tlssessioninfo *'. The pointer will be initialized to refer to a 'struct curl_tlssessioninfo *' that will contain an enum indicating the SSL library used for the handshake and the respective internal TLS session structure of this underlying SSL library. This may then be used to extract certificate information in a format convenient for further processing, such as manual validation. NOTE: this option may not be available for all SSL backends; unsupported SSL backends will always return NULL in the \fIinternals\fP pointer to indicate that they are not supported. .nf struct curl_tlssessioninfo { curl_sslbackend backend; void *internals; }; .fi The \fIbackend\fP struct member is one of the defines in the CURLSSLBACKEND_* series: CURLSSLBACKEND_NONE (when built without TLS support), CURLSSLBACKEND_OPENSSL, CURLSSLBACKEND_GNUTLS, CURLSSLBACKEND_NSS, CURLSSLBACKEND_GSKIT, CURLSSLBACKEND_POLARSSL, CURLSSLBACKEND_CYASSL, CURLSSLBACKEND_SCHANNEL, CURLSSLBACKEND_DARWINSSL or CURLSSLBACKEND_AXTLS. (Note that the OpenSSL forks are all reported as just OpenSSL here.) The \fIinternals\fP struct member will point to a TLS library specific pointer with the following underlying types: .RS .IP OpenSSL SSL_CTX * .IP GnuTLS gnutls_session_t .IP NSS PRFileDesc * .IP gskit gsk_handle .RE .SH PROTOCOLS All TLS-based .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.34.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TIMECONDITION.30000644000175000017500000000411312626067776016373 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMECONDITION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMECONDITION \- select condition for a time request .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMECONDITION, long cond); .SH DESCRIPTION Pass a long as parameter. This defines how the \fICURLOPT_TIMEVALUE(3)\fP time value is treated. You can set this parameter to \fICURL_TIMECOND_IFMODSINCE\fP or \fICURL_TIMECOND_IFUNMODSINCE\fP. The last modification time of a file is not always known and in such instances this feature will have no effect even if the given time condition would not have been met. \fIcurl_easy_getinfo(3)\fP with the \fICURLINFO_CONDITION_UNMET\fP option can be used after a transfer to learn if a zero-byte successful "transfer" was due to this condition not matching. .SH DEFAULT CURL_TIMECOND_NONE (0) .SH PROTOCOLS HTTP, FTP, RTSP, and FILE .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_TIMEVALUE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.pdf0000644000175000017500000000745012652070437017725 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VÛ’›F}ç+ºœƒJŒîdãTÉkœÈÆB‘X;›UJÅJH`#¹XÙ¤òIùÇô 躷¤Tµ,ê™îÓ§Owë+(„‚Â>ís¾zc V¥ ÀJø*Pn„ö1_ÃëØì‹`)4w(X*XŽFl‚µ`݆`+܈—Wcϳ‘? Þ\ïÍdð›;óúãŸÜ©¨M%˜×E:‹ÂònVFU¾©$Y5¢(–ˆ/Iž•ðœ é÷à +D¥{ŽÐ„Fƒ¡ÓLÅ`‰1]Ì‘»Ê—’ªÇQ-q9«x’Sé‚ó|šUèQFoÜÉåx0 þð±¤(ѳQÆ` wy [É!ŽMMG ³ YC˪¡_ª8‚2*¾Iñت#Fl“*Îë âP¢x×±Lñ[’­ MnzXäBYi”METºY#9uqwÜ5K©‹¯IɳbàX׈æ6‚ºŒ>ÅQÆoAkÆÿ˜…g2³ü²NÓ;¸M²°¸ãẰ“y 9Æ/¶I±{iòEB&ª›b„çQ0­)ª¸ wšµˆib1Ñ6ªLRH ‡Â5ÈžçO¦]ž'ÒQ0Û$MÈ3JVì4co“ûRÕ5ô¤ºoÙ1Äg°æž³nq¨NÛ^ê_q+e­Û6šjjVkõfUšþÜÉ‚¥jY–¦ï%/Ógšf4n1èÇ€²PM«¥FV‰b8œ?QÕˆ¥˜»¦¿ô½³žCТ8Àø9FSq‚£åi4î¯ý#Ï}L쇮ÌWGšdIÅjqÁn‹ÉrÊ[kó–ý¸!qV0Ã:\º¯ ‰Ú¨ƒŠ«h6ëìKÓL¸u0Ö}UÅøíŒ¹¸€^‡«¥Ì×QÜÈN%çÓT‘Ж©mgO!òlQ”Ccè5¥¶LìIÙ4ÚŽ“)ľ9L|táE\U›ï{½HB T4ñp½I#2Ï×/vC¦o e;_™R3¶ÓCŽšž}6êC3ïŒöå.è÷×…Ãå£k›¨XæÅzWOf•÷õÿn»Ä°í{ËêD\¬“t. þGè´¬Ó ­àÅ×=ðÁõ©‘ZMÇ':ì§9I6<éûii߈c7¸á£D5’Ižwå¶+à¾Ôñ|TÕE»­Ý™ÿ’%Ã'S½ÙänÅ.àFj\ ß}IkUði8óùæ`÷²¼"l›ÓõéºÐ÷&þ!³õy¿`g$¡+º ü‡D÷Ô—jË0vómçîÒ]?êR׉nþo—{w2‡†½M÷i0ÙžýJQ‰ec㇑ »1È*ÅéÝ”e·-¢YD‘djŽN ‘Zð®Î@ÅõÙÖ÷ó‘`7~ÁÏ¿§­pendstream endobj 6 0 obj 1165 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:23+01:00 2016-01-27T08:26:23+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001489 00000 n 0000003293 00000 n 0000001430 00000 n 0000001270 00000 n 0000000015 00000 n 0000001250 00000 n 0000001554 00000 n 0000001729 00000 n 0000001664 00000 n 0000001595 00000 n 0000001625 00000 n 0000001811 00000 n 0000001870 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3447 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.html0000644000175000017500000000463712652070415017531 00000000000000 CURLOPT_RTSP_SESSION_ID man page

NAME

CURLOPT_RTSP_SESSION_ID - set RTSP session ID

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_SESSION_ID, char *id);

DESCRIPTION

Pass a char * as a parameter to set the value of the current RTSP Session ID for the handle. Useful for resuming an in-progress session. Once this value is set to any non-NULL value, libcurl will return CURLE_RTSP_SESSION_ERROR if ID received from the server does not match. If unset (or set to NULL), libcurl will automatically set the ID the first time the server sets it in a response.

DEFAULT

NULL

PROTOCOLS

RTSP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_RTSP_REQUEST, CURLOPT_RTSP_STREAM_URI

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_VERBOSE.pdf0000644000175000017500000001023612652070450016063 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}×W,Ò‡†´â./K6mÙQ §ŠåJ´ÑÀ. ZZIl(Ræ%ªQô“úYÞå†ÑÒwΜ9{fŸˆA1ð¯z®öƒñBm60Èvð4`j‘TÕžœûàâþfP¾ÃˆàDx&u=âï¢Ì"þqp§]Ü,fókÿávº8Ÿ/§÷šy¯“U‘F2Èž2™'‡\qÛ †!4ø&qF¾õšþ§ÿq02(gd<À@=a˜ñgíj¢¿ذÊlj{&@ó×íÓT÷ÿê€æµ AFŒã²ñM¤ä?àÈWvd¦&ÓÇ$“dŸ¬%Iâq²Ñ¹E= m£õðŒÐˆ9ÔUù—Ÿ¯æ×ËËe… Q´Âx°ñOHÍ?èî ç柕øV˜ü”½{µDÎvA¼Žäð”»!‰’x ±­mîõw¯á}?]^,.¯ýËùÕ÷ CL‰Ó–ÀR¾“e 3êH ØqJþï4•œ¹ SM#LÊ÷ª6‚4ØË\¦$O@Rð±¾(¨Àd«ëBW9¯âeŽ‹ªÝÔa²ºß;I¢ð1 Òg²³C<“XÈI²†Â;Ìð¨í¸e8–ÂU)U‹Ãx“¤û•H‚ǤÈI˜g$9È4(ՙĸɈ;Œ:oº˜ïÂì„&¨ÕXv¨¬ÈsÌRÅ •]‡ÒÛ¦6ƨ-̫嘥^%TWdrSDàbÁ( )Æðõ&y²J"²–:z\ájÅv‚ „ñZ¦YÿÂ/”ø@ÙWÕî5¬Íf}‡Å€iÛT0§w’´cEäQÂñ‰slb–Cª´¬ÚV]d”;¯Å1L@—†–æ*Y²KVG`;³<•Á^Èc˜ïNX¿ñ\¯jgs—þûébQZGOÅ^ŸiU ÷ƒÄ#.85\2Âs‹Ÿ\5¯¨ZÁÚ7‹]Û#ÂkÚ†AºŽž‰ê8SÕsý¤Úâ«ìíïQuXÕbzìî/X½¿ ± 6ÅGc³×ÅJé1$ÏIAT‚hŸd9> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:32+01:00 2016-01-27T08:26:32+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001764 00000 n 0000003647 00000 n 0000001705 00000 n 0000001545 00000 n 0000000015 00000 n 0000001525 00000 n 0000001829 00000 n 0000002083 00000 n 0000002018 00000 n 0000001950 00000 n 0000001870 00000 n 0000001900 00000 n 0000002165 00000 n 0000002224 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3801 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.30000644000175000017500000000337012626067776016243 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FNMATCH_DATA 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FNMATCH_DATA \- custom pointer to fnmatch callback .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FNMATCH_DATA, void *pointer); .SH DESCRIPTION Pass a pointer that will be untouched by libcurl and passed as the ptr argument to the \fICURL_FNMATCH_FUNCTION(3)\fP. .SH DEFAULT NULL .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.21.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_FNMATCH_FUNCTION "(3), " CURLOPT_WILDCARDMATCH "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.html0000644000175000017500000001052212652070415017536 00000000000000 CURLOPT_XFERINFOFUNCTION man page

NAME

CURLOPT_XFERINFOFUNCTION - callback to progress meter function

SYNOPSIS

#include <curl/curl.h>

int progress_callback(void *clientp,   curl_off_t dltotal,   curl_off_t dlnow,   curl_off_t ultotal,   curl_off_t ulnow);

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XFERINFOFUNCTION, progress_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

This function gets called by libcurl instead of its internal equivalent with a frequent interval. While data is being transferred it will be called very frequently, and during slow periods like when nothing is being transferred it can slow down to about one call per second.

clientp is the pointer set with CURLOPT_XFERINFODATA, it is not used by libcurl but is only passed along from the application to the callback.

The callback gets told how much data libcurl will transfer and has transferred, in number of bytes. dltotal is the total number of bytes libcurl expects to download in this transfer. dlnow is the number of bytes downloaded so far. ultotal is the total number of bytes libcurl expects to upload in this transfer. ulnow is the number of bytes uploaded so far.

Unknown/unused argument values passed to the callback will be set to zero (like if you only download data, the upload size will remain 0). Many times the callback will be called one or more times first, before it knows the data sizes so a program must be made to handle that.

Returning a non-zero value from this callback will cause libcurl to abort the transfer and return CURLE_ABORTED_BY_CALLBACK.

If you transfer data with the multi interface, this function will not be called during periods of idleness unless you call the appropriate libcurl function that performs transfers.

CURLOPT_NOPROGRESS must be set to 0 to make this function actually get called.

DEFAULT

By default, libcurl has an internal progress meter. That's rarely wanted by users.

PROTOCOLS

All

EXAMPLE

http://curl.haxx.se/libcurl/c/progressfunc.html

AVAILABILITY

Added in 7.32.0. This callback replaces CURLOPT_PROGRESSFUNCTION

RETURN VALUE

Returns CURLE_OK.

SEE ALSO

CURLOPT_XFERINFODATA, CURLOPT_NOPROGRESS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_DIRLISTONLY.30000644000175000017500000000515412626067776016210 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DIRLISTONLY 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_DIRLISTONLY \- ask for names only in a directory listing .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DIRLISTONLY, long listonly); .SH DESCRIPTION For FTP and SFTP based URLs a parameter set to 1 tells the library to list the names of files in a directory, rather than performing a full directory listing that would normally include file sizes, dates etc. For POP3 a parameter of 1 tells the library to list the email message or messages on the POP3 server. This can be used to change the default behaviour of libcurl, when combined with a URL that contains a message ID, to perform a "scan listing" which can then be used to determine the size of an email. Note: For FTP this causes a NLST command to be sent to the FTP server. Beware that some FTP servers list only files in their response to NLST; they might not include subdirectories and symbolic links. Setting this option to 1 also implies a directory listing even if the URL doesn't end with a slash, which otherwise is necessary. Do NOT use this option if you also use \fICURLOPT_WILDCARDMATCH(3)\fP as it will effectively break that feature then. .SH DEFAULT 0, disabled .SH PROTOCOLS FTP, SFTP and POP3 .SH EXAMPLE TODO .SH AVAILABILITY This option was known as CURLOPT_FTPLISTONLY up to 7.16.4. POP3 is supported since 7.21.5. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_CUSTOMREQUEST "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.html0000644000175000017500000001255412652070414017241 00000000000000 CURLOPT_CUSTOMREQUEST man page

NAME

CURLOPT_CUSTOMREQUEST - custom string for request

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CUSTOMREQUEST, char *request);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter.

When you change the request method by setting CURLOPT_CUSTOMREQUEST to something, you don't actually change how libcurl behaves or acts in regards to the particular request method, it will only change the actual string sent in the request.

Restore to the internal default by setting this to NULL.

This option can be used to specify the request:

HTTP

Instead of GET or HEAD when performing HTTP based requests. This is particularly useful, for example, for performing a HTTP DELETE request.

For example:

When you tell libcurl to do a HEAD request, but then specify a GET though a custom request libcurl will still act as if it sent a HEAD. To switch to a proper HEAD use CURLOPT_NOBODY, to switch to a proper POST use CURLOPT_POST or CURLOPT_POSTFIELDS and to switch to a proper GET use CURLOPT_HTTPGET.

Many people have wrongly used this option to replace the entire request with their own, including multiple headers and POST contents. While that might work in many cases, it will cause libcurl to send invalid requests and it could possibly confuse the remote server badly. Use CURLOPT_POST and CURLOPT_POSTFIELDS to set POST data. Use CURLOPT_HTTPHEADER to replace or extend the set of headers sent by libcurl. Use CURLOPT_HTTP_VERSION to change HTTP version.

FTP

Instead of LIST and NLST when performing FTP directory listings.

IMAP

Instead of LIST when issuing IMAP based requests.

POP3

Instead of LIST and RETR when issuing POP3 based requests.

For example:

When you tell libcurl to use a custom request it will behave like a LIST or RETR command was sent where it expects data to be returned by the server. As such CURLOPT_NOBODY should be used when specifying commands such as DELE and NOOP for example.

SMTP

Instead of a HELP or VRFY when issuing SMTP based requests.

For example:

Normally a multiline response is returned which can be used, in conjunction with CURLOPT_MAIL_RCPT, to specify an EXPN request. If the CURLOPT_NOBODY option is specified then the request can be used to issue NOOP and RSET commands.

DEFAULT

NULL

PROTOCOLS

HTTP, FTP, IMAP, POP3 and SMTP

EXAMPLE

TODO

AVAILABILITY

IMAP is supported since 7.30.0, POP3 since 7.26.0 and SMTP since 7.34.0.

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_HTTPHEADER, CURLOPT_NOBODY

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.pdf0000644000175000017500000001013412652070433017323 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµVínÛ6ýï§ °•‹˜!)‰±a€›z˜;7öl¥k l3±[rõ/ï°WÙ;î’"%ËuÑÅ` LòžsÏ=÷’ŸÁõ1ß«]ïr §¢GÐSïsêEd¾V;ô&‚ ¡ú!zìÕg(  „‹C¢]Ϲº™O¦³èá×(šÍæýèSo@°‡¢U/ °ŠÎDëž3ý¨ÖˆZ &®]`s†¢Cïιn®¯G“{ǽï£U•od\¼<²ÌöeÀ|âÀ?I–èõÏè]Ë€çß@í`ÒŒ µïr. a,|•óÀ#S \®]Ûx>ö…k½©ß[­!P¦—¿W$¢²œÑ?¨¬ÒTnQ¹É³êiƒTX´Ï³¿^jÇ P7À$@95Æâöz:[Œ]Ÿ%ûC’®¶ÕZ¢ŸT .Õ¼ùYmg@yRg³Ê`Ãiîõz½‰ÓõV^œVéU[£€âþÇ] m–>™œïû?~™£ & ý£ߎWóñ,O¯¿–&0á¾–u!KPR¢}œÇ;YÊ•Øþìâg6\Ó¦ª¬¾a'·-mh¨Ð3¥‚¸žŽ›,•>¶Vñv‹²½ÌãÚÀ¶t ¸[¾QŠÏŠ£Žb?píÂFæ%ŠÑ2yBëäQíãПÔ4Áó(ó>#Πî8€&6BPÌ<¡ Ët%ÑR–)ST ˆ×¼T r⻤Ähüˆ^² ­³ô•v²¨KÌ0ã–dùÜaÏ`xÔ iÖ9%p`õ=Ú#!è+¬_6±ªd¼“qZ\hx`¹Œ—[-àÀUÂÚrcØ·Ñ,Hy°wÜmqj`ꤕõôÁ¶u´K°ÞS½£êØœfmÁ˜«ãÚ`²(dZ&à‹—:@ƒÌbt5×_Eª¦j‡Ö]Ù³5H BÄ~€©‰ï\Ä °ÜVáâY¡%:Î*ô•þ7F¹Üe¥D›¬(Q–B®“bL =6j ãâ8-a­E0QÔðÞËUò÷ í³¼Diµ[BiÓlÀKŠ~™Ç}æa!s`#d÷©ä} :¬;ýPgª¼Úb¡¹osųŽÈ·Ö€ƒ‰!em×Ã&)Al@)jzµ=H³Þkáß/”ZP—Ló =êЦ*¹ü\É¢,´†“=èUÔ!B¢VâÅИmßsru^Ñë;çMÓeÊf T‡QSG¨®ïHíB*´ªúðåœ{%ûö®³Ó¶{Ápèo.Ä™Y ƒÆ%´™µ·³Qs¶Ós1iL|çÒ˜çhfq“6캓Yàu&ó/†£MUVÙɳ4†7z•b·g}É2îfuÒÎÀ–!„¢A¸MAræ†àGZÜÐÜ:Œ&ÇÃįçá4BÓÁŒ"ÜÞ÷WÓÉÉ œ8µÕÆ~ #µ\ '×Éòg¥[™­²mqN±c¦£Ã÷³ÉÈÐ¥a7ó£µD©ÛŽ··S#§†gÞ6BílДêõÍ5ü€Úwˆû͘O†oÆ“qtÛÍêäz€aù ·–s=¬ÿqçhœå¼_ Æ›§v4 ¦óQt3¿FúÔëqê '7##åm沬róf=Lû†;£NÓvÛI¼¯ôŸí3Û=M!!¬ºù.º¨@ª½B¾Xu÷ÉK^íÃó‡wýl:ﻢýÑi¡Z–-‰¼‰áuôËŽ×Q¶æ=æ“þ€ú¾ð°ïн«RÄõth¯iRªB¢Þïðù?ÕCºendstream endobj 6 0 obj 1367 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:19+01:00 2016-01-27T08:26:19+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001691 00000 n 0000003581 00000 n 0000001632 00000 n 0000001472 00000 n 0000000015 00000 n 0000001452 00000 n 0000001756 00000 n 0000002010 00000 n 0000001945 00000 n 0000001877 00000 n 0000001797 00000 n 0000001827 00000 n 0000002092 00000 n 0000002158 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<32B8BA59D44217D972FD6A57FF7EB9EC><32B8BA59D44217D972FD6A57FF7EB9EC>] >> startxref 3735 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PREQUOTE.html0000644000175000017500000000444412652070415016422 00000000000000 CURLOPT_PREQUOTE man page

NAME

CURLOPT_PREQUOTE - commands to run before FTP or SFTP transfer

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PREQUOTE, char *cmds);

DESCRIPTION

Pass a pointer to a linked list of FTP or SFTP commands to pass to the server after the transfer type is set. The linked list should be a fully valid list of struct curl_slist structs properly filled in as described for CURLOPT_QUOTE. Disable this operation again by setting a NULL to this option.

DEFAULT

NULL

PROTOCOLS

FTP and SFTP

EXAMPLE

TODO

AVAILABILITY

Along with the protocol support

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_QUOTE, CURLOPT_POSTQUOTE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SHARE.30000644000175000017500000000457312626067776015242 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SHARE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SHARE \- specify share handle to use .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SHARE, CURLSH *share); .SH DESCRIPTION Pass a \fIshare\fP handle as a parameter. The share handle must have been created by a previous call to \fIcurl_share_init(3)\fP. Setting this option, will make this curl handle use the data from the shared handle instead of keeping the data to itself. This enables several curl handles to share data. If the curl handles are used simultaneously in multiple threads, you \fBMUST\fP use the locking methods in the share handle. See \fIcurl_share_setopt(3)\fP for details. If you add a share that is set to share cookies, your easy handle will use that cookie cache and get the cookie engine enabled. If you unshare an object that was using cookies (or change to another object that doesn't share cookies), the easy handle will get its cookie engine disabled. Data that the share object is not set to share will be dealt with the usual way, as if no share was used. Set this option to NULL again to stop using that share object. .SH DEFAULT NULL .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_COOKIE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_XFERINFODATA.30000644000175000017500000000353212626067776016244 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_XFERINFODATA 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_XFERINFODATA \- custom pointer passed to the progress callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XFERINFODATA, void *pointer); .SH DESCRIPTION Pass a \fIpointer\fP that will be untouched by libcurl and passed as the first argument in the progress callback set with \fICURLOPT_XFERINFOFUNCTION(3)\fP. This is an alias for \fICURLOPT_PROGRESSDATA(3)\fP. .SH DEFAULT The default value of this parameter is NULL. .SH PROTOCOLS All .SH EXAMPLE http://curl.haxx.se/libcurl/c/progressfunc.html .SH AVAILABILITY Added in 7.32.0 .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_XFERINFOFUNCTION "(3), " CURLOPT_XFERINFOFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.30000644000175000017500000000470212626067776016773 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_DEPENDS_E 3 "13 Sep 2015" "libcurl 7.46.0" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on execlusively .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS_E, CURL *dephandle); .SH DESCRIPTION Pass a CURL * pointer in \fIdephandle\fP to identify the stream within the same connection that this stream is depending upon exclusively. That means it depends on it and sets the Exclusive bit. The spec says "Including a dependency expresses a preference to allocate resources to the identified stream rather than to the dependent stream." Setting a dependency with the exclusive flag for a reprioritized stream causes all the dependencies of the new parent stream to become dependent on the reprioritized stream. This option can be set during transfer. \fIdephandle\fP must not be the same as \fIhandle\fP, that will cause this function to return an error. It must be another easy handle, and it also needs to be a handle of a transfer that will be sent over the same HTTP/2 connection for this option to have an actual effect. .SH DEFAULT NULL .SH PROTOCOLS HTTP/2 .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.46.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_STREAM_WEIGHT "(3), " CURLOPT_STREAM_DEPENDS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.pdf0000644000175000017500000000740712652070444016737 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•UmoâFþί©Î>Áf×»~k«JqTîL±Iï”TÈ1NBë`›ÞåGõ?vv½C¥ïììó23û(a@åG?³ÇÞÙÌ…ûªGá¾÷µÇÔ"èGö ðä‹ä®×ìaàZàúœx>$=c4Ÿ…Ñ4YÄq¸%ŸçfògoÀcd˜QGnL–ò¥…/¿õŒaCFUˆGlF­&F¸„ smÜüÆ„l·-yZ=-ª¼.7µ9°lJ(³ ü³*×<ðGòñ€€3AÜÿ 9W‘ íË€³™ß–2 „í. ¸£6L:™lbû\'º äûƒ~%‚º0`–Zþïµh-bË5‹¡-Þ²ÃñàQ½‹*¢»ª.aS®Öu¾…MZUùꪪXdõwÈÒ¢¸M³¿¨]šÌÄB´ñÔ9ñ—I4Çñ1)Ô`Oè‡Õ:+vË~–¦É/òð‹Â–† ã¬Ä€SSoÔ¼H×Ë"ï¿`黃2–çÊ_3TKtliÿïV"Ùtä)WKx¯Õ¹1z®·9šÝ‘á<ˆG³ñ4G“W•8Oë´Ydto>#‚Û{@úÄ“"„¯ájëF@·¤oÒµú!—ÎAVâv«2áßëÖF@AáöI6 ¢º¡ „Ú„ajúb^Ì'#I­mÔSâȺsÀD8{iëVZ—xœûZ^ãaU©‚XöÜòöÚІӪR÷uùTîÞ™ŒE÷H •««íyoÓÇ\*…gú¾åDó9òÈ9òçB7¯-Áê®Óà€½ÔÞ¡:p>ù4‰Ldòûd©%7"Ö7{(†qt¨³_§–8„]«ýãŒx ãì§ôu7«éc©{Â7®‚Y,«Ãp'žyÀ-n08ãœ&g±º•· ZÌ]Bͳm_ÛÀ‹ýãn š¨r‹¶í˜Ì$½ßðó/|5Dóendstream endobj 6 0 obj 1033 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:28+01:00 2016-01-27T08:26:28+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001357 00000 n 0000003240 00000 n 0000001298 00000 n 0000001138 00000 n 0000000015 00000 n 0000001118 00000 n 0000001422 00000 n 0000001676 00000 n 0000001611 00000 n 0000001543 00000 n 0000001463 00000 n 0000001493 00000 n 0000001758 00000 n 0000001817 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3394 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.pdf0000644000175000017500000000740412652070445017731 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnã6}÷W Їʋ˜E‘Ñ¢€“¨¨w;µälIaÈ«µ¥D—]ä£ö;¤h{K$gÎ93œÑ#¸„‚«/û\m{§³îëž ÷½Ç5‹`«-œ%hêÉ]¯ÛC!𠌄’mÏ9ŸÏÆÓ«dÇãEÅñh:],·ýäŸõ=Â$nJ²^@Â’o½çüèÖa·}XµÕf¡ÒúiQ«¦|húÏ—D†ÜÁ—¼,jxÓùßÉÇž‡ $ï¼ïê°—xÑ­¼DðÚ ñ|&óaÀ„Ù21]mG9á’YW—‘þ~àí¹ÄwPO/»–Ä[È|—¸Ô|U¤Ë:ÍòZ?¡­”wЬàF¨U]#ÏÁèVéj­ ­c̈u@ ²øËdzâc|ÆÄ`s~ʋզÍüªµ=Õ7²þM›{>$ã^ò¡C¾*Ñæ¹ü·f >¬Ó"Û¨“·Åg&I¾¦xb ð=†MYÜ[ÞÙmÿ—ë”dh¬w¤.¢ø|6ºJнMå]î^!x•îs&Ih“ïÆ…N‹Sׂ€” )qo;õ7ùRsþÙè»…I½OIÀB›ûº=Ô~÷=„à]“ÁW²—÷bv×:,Õ·NÈgO©;œ3"Ä®tÓvÓæ>j"¥ÜW …ob¦› 4UZÔwªB†•‚¬,t5aLSL¦zv¢ø¼Î1fQ6¨#Y=. 6ôW³Æ¼“Ô eèÛŪ>háro§E(:-Öe»Éà9¯Ûªå¤M£¶xx5®*…o¢{$.ãj»ˆvq,d}¢é ¿Z©­ö°Dµ+X§G¨`Äóü=ëê«‚åq€¤¼}öl¸G©–UùokX\8ø®1äÛ‡Úª¢I»Î“FØo9lÖiÛô ù<¶yÕÓ µ(â¨/8OeûcÅ™R@We•© îŠ5¨ÛÕJaª^žŽ£ýn™s?4ÙC;¬X›¡áܬRâbêÚ˜'X`WÇÉ^ÃYÒ"A Û =Rô W3 Ágaw`0H`kaà—KC}šÀtÐc$pÅ®£žOÇÏzb–Â?VoˆužŒãÁ2­Uö¬è¯áåÕ8ÚFøfËH¨(ÓÔaº˜Zíx¾2*¤¶ÜGÓwGqx ‡±ÙœZ)œÑxx6’/ÇT1)ÌÇÇL³Leº2<ŒÄý®7Î,Jæ³ \÷)ó‰ÔŽç‘/)£½jÚÊÎÏh1ýy7tº¹ X”uûðPVÊNÛ½5œO>M¦}ÆÏ“ÅÔtd½ûyw2E Çñô@ä9¤Ý4¹˜Äz†pä!½@ÏE2ºŒ¦óä*ØŸÇÌö“cï\ת4‘ûË+ô¥sÍôØzîw2ï…çÃÿƒ  úAÑyµ3óÄÌÓ€r.}Âü¿øØàá¬7Þý}±›ó%½?ñúKegúendstream endobj 6 0 obj 1129 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:29+01:00 2016-01-27T08:26:29+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001453 00000 n 0000003257 00000 n 0000001394 00000 n 0000001234 00000 n 0000000015 00000 n 0000001214 00000 n 0000001518 00000 n 0000001693 00000 n 0000001628 00000 n 0000001559 00000 n 0000001589 00000 n 0000001775 00000 n 0000001834 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3411 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXY.30000644000175000017500000000751312626067776015316 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY \- set proxy to use .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY, char *proxy); .SH DESCRIPTION Set the \fIproxy\fP to use for the upcoming request. The parameter should be a char * to a zero terminated string holding the host name or dotted numerical IP address. A numerical IPv6 address must be written within [brackets]. To specify port number in this string, append :[port] to the end of the host name. The proxy's port number may optionally be specified with the separate option \fICURLOPT_PROXYPORT(3)\fP. If not specified, libcurl will default to using port 1080 for proxies. The proxy string may be prefixed with [scheme]:// to specify which kind of proxy is used. Use socks4://, socks4a://, socks5:// or socks5h:// (the last one to enable socks5 and asking the proxy to do the resolving, also known as \fICURLPROXY_SOCKS5_HOSTNAME\fP type) to request the specific SOCKS version to be used. No protocol specified, http:// and all others will be treated as HTTP proxies. Without a scheme prefix, \fICURLOPT_PROXYTYPE(3)\fP can be used to specify which kind of proxy the string identifies. When you tell the library to use a HTTP proxy, libcurl will transparently convert operations to HTTP even if you specify an FTP URL etc. This may have an impact on what other features of the library you can use, such as \fICURLOPT_QUOTE(3)\fP and similar FTP specifics that don't work unless you tunnel through the HTTP proxy. Such tunneling is activated with \fICURLOPT_HTTPPROXYTUNNEL(3)\fP. libcurl respects the environment variables \fBhttp_proxy\fP, \fBftp_proxy\fP, \fBall_proxy\fP etc, if any of those are set. The \fICURLOPT_PROXY(3)\fP option does however override any possibly set environment variables. Setting the proxy string to "" (an empty string) will explicitly disable the use of a proxy, even if there is an environment variable set for it. A proxy host string can also include protocol scheme (http://) and embedded user + password. .SH DEFAULT Default is NULL, meaning no proxy is used. When you set a host name to use, do not assume that there's any particular single port number used widely for proxies. Specify it! .SH PROTOCOLS All except file://. Note that some protocols don't do very well over proxy. .SH EXAMPLE TODO .SH AVAILABILITY Since 7.14.1 the proxy environment variable names can include the protocol scheme. Since 7.21.7 the proxy string supports the socks protocols as "schemes". .SH RETURN VALUE Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_PROXYPORT "(3), " CURLOPT_HTTPPROXYTUNNEL "(3), " .BR CURLOPT_PROXYTYPE "(3)" curl-7.47.0/docs/libcurl/opts/CURLOPT_CERTINFO.html0000644000175000017500000000462312652070414016365 00000000000000 CURLOPT_CERTINFO man page

NAME

CURLOPT_CERTINFO - request SSL certificate information

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CERTINFO, long certinfo);

DESCRIPTION

Pass a long set to 1 to enable libcurl's certificate chain info gatherer. With this enabled, libcurl will extract lots of information and data about the certificates in the certificate chain used in the SSL connection. This data may then be retrieved after a transfer using curl_easy_getinfo(3) and its option CURLINFO_CERTINFO.

DEFAULT

0

PROTOCOLS

All TLS-based

EXAMPLE

TODO

AVAILABILITY

This option is supported by the OpenSSL, GnuTLS, NSS and GSKit backends.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_CAINFO, CURLOPT_SSL_VERIFYPEER

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.html0000644000175000017500000000451312652070415017655 00000000000000 CURLOPT_SOCKS5_GSSAPI_NEC man page

NAME

CURLOPT_SOCKS5_GSSAPI_NEC - set socks proxy gssapi negotiation protection

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_GSSAPI_NEC, long nec);

DESCRIPTION

Pass a long set to 1 to enable or 0 to disable. As part of the gssapi negotiation a protection mode is negotiated. The RFC 1961 says in section 4.3/4.4 it should be protected, but the NEC reference implementation does not. If enabled, this option allows the unprotected exchange of the protection mode negotiation.

DEFAULT

?

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.4

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SOCKS5_GSSAPI_SERVICE, CURLOPT_PROXY

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.pdf0000644000175000017500000000770312652070451021302 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VmoÛ6þ®_A`&6KRo$6 pS­ñªÈž­tÍ’ÁPl&Ö ÈŽ%'HÿÓþ㎤$Gqº®0l 扼{^ît¦ˆ¨Os]ÞYog!º­,‚n­{‹êEÔ\–wè] \ý‘ÞXæŠB†Báb.Pzg]Ú'ç³øl2M'“$’tGɇôt1Çõ1¡^`bGP,¸'ìôb1ÿ]Ùî•ãü•þfQÎpèù°uº²ìå~W,îöE/*Yo¶5‚o¾)+'ýÛòBL‰OMè÷̼㓇3 U,¡HEbá«:‡Œ Ì}4tR2RgG}ì ·Iõ,Rÿða{$DCʾ?½0èTå_$ª×;Y­7Å Ýlvh›oe‘—yy‹¶²ÌŠúIWÐÏòÒsÝü"™Lçãy?G¢ó³ÈËe±_Iô³Âü­úÁë_T8óP+°}ˆ|´L!Ë „±seÑ›uV® 9@Ï‹:?Zê°X÷h¥o.í#<, _Áa€Š T«°¸r~úVµï£ùÉlèdSÖ5Ô• œèv²Iƒ@áÈK;–å-ÄÙΤa¾•;VVÂO^5˜RÒd;¹”ˆÿã.ÞÐ=6Z°>üŒ.­ÉuG$RÎ[¸˜0’[gu”]±,Q¹ÑO]—`îºmѹáîZ*D«|%wÒ8'[­roV´0V${"¡xbmrzQ`E¢VÜp¯E¥Ì¥pÚ7æVÐÀ®·•ÁU¢Üoµ×›]Ýào$Ó!ï „­fÀŸ>/¦ãidˆv™‹Þ‰8'QC‰¾§ÂTˆvG|pëJœÙsЯ (>¨’võšfkÎõ*UŒ7 ;³§¡‡¾aº^§M£Ët-ÑJÞ8´‘Oý=8Ì·³b/• È=®óåÝɬ¬bµâß4FÝÿò/Y뙼ÌÀ?mC7Œ²P`Â{„’#2_ƒÅe@ÙsX¦³ÏÕ¨Pê† ¨w2L|#¼IŠ&Ý1ÀTH‚vNœLâ]`€KŒ}š¦Ó+{Þ²øÕ6}Mã¨U/ÿj‹KÉPWbRy?iXô9?ž{žP‘ÝiŠlO7ú„3tø´AÀÇ£wãxœ^¼è‚>v=Î{ÌÛ£Õ L ­0Äà_òßµ^Ú³(=Ÿ%è“CÕ”(´œó¨iZÇ%C¼¬÷;‹öÏbòå7Z5æBI¥Úo·Ê„«‚qÕž'“‰DÜ÷ì?’ÅDõ4´üÍ9EhÏ'ý)ñŒŠÎÎÊÊàÚqòáV úe+VíåA3ªÌLØqc>…Ü{m™Þ*@š$àmo~c!´è£#‡q1sÕ›t$½Xä×jè+Ê„¡Œac1Àà Zayý± . ©8 AMÿ汃*aÃæaFÐëëHQ¥ÖïðùЭùendstream endobj 6 0 obj 1221 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:33+01:00 2016-01-27T08:26:33+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001545 00000 n 0000003428 00000 n 0000001486 00000 n 0000001326 00000 n 0000000015 00000 n 0000001306 00000 n 0000001610 00000 n 0000001864 00000 n 0000001799 00000 n 0000001731 00000 n 0000001651 00000 n 0000001681 00000 n 0000001946 00000 n 0000002005 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3582 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_MAIL_AUTH.html0000644000175000017500000000576712652070415016532 00000000000000 CURLOPT_MAIL_AUTH man page

NAME

CURLOPT_MAIL_AUTH - SMTP authentication address

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_AUTH, char *auth);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. This will be used to specify the authentication address (identity) of a submitted message that is being relayed to another server.

This optional parameter allows co-operating agents in a trusted environment to communicate the authentication of individual messages and should only be used by the application program, using libcurl, if the application is itself a mail server acting in such an environment. If the application is operating as such and the AUTH address is not known or is invalid, then an empty string should be used for this parameter.

Unlike CURLOPT_MAIL_FROM and CURLOPT_MAIL_RCPT, the address should not be specified within a pair of angled brackets (<>). However, if an empty string is used then a pair of brackets will be sent by libcurl as required by RFC 2554.

DEFAULT

NULL

PROTOCOLS

SMTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.25.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_MAIL_FROM, CURLOPT_MAIL_RCPT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.pdf0000644000175000017500000000755212652070427016775 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•Vën£Fþï§©?¢x˜á2jUÉI¨ä]Ö¸6N»J* Ã$¦±Á1x£}‡}•¾cÏ\À8qU–áœ9—ï|çƒgdaY⧯Ùvðqæ£Çz`¡ÇÁóÀ–F¤/Ù]%àˆÉÃ@±‘ï Ÿ0”lÆõbÅÓdy3™/Ç“$œýf&†¦(É "ÃÇ’|`Œ®…É’Ï ¦ ”Z8ï—ÁÞäÞDÙa¿Yò´þ¾¬ySísèP†#üSTeΤý+ùÔå%"y'¯Î¦ëul&<>Îô‹™+ZR  ‰'LFÇH.vY›áK(ž¡r  ËGCÛ‘æÿ‘ƒÝ3ÕþSwÙ!GZ‹¥°ã *ʆïL•ãFšqÔT¨Þñô ArTµ Ù*¾œ´ˆýw¡v 'Õ†½j¬‰ÃÀ…0èÎÃtšÄÓùx~ `ÖðSQf›CÎÑ/b²Å¼þUv D ¡¬‡×“¿—&t±NË|Ã/ÏÍýC‡¤Ã(vè»S¿DÙ:Ý£‹â¡L·üÞüùm„ì“^‹7áüz6ž&ãx¢g§ <Ûî4í¡¸zJØ¢ž˜”Q×(Õ% ´F»teÀàôä…¤˜ÙŒéšñüØ ŒÞr[ ½Ys$AÕƒºçÍ‹ð†õ»"»«xRíŸzD \â*¢¬SKeÏëjóÍ´©p ߣz]69ZeœÂ(Yµb“üµX×=dr•i{¨´â(-ûÌ´"Êšï²j„Cšç´¾71šË¦Š©ež,¢H\5—5æüÁ ,›zFzØ4ØÒå#ÄË«òƒ,  …€°n=X³êCIH»yª±Þö ©à º±¦uÿd@,ûdÿv<+~dm§¢:Ë—BO² WÒâ©}޵ºàÒ@o9³©Ýz!­¶ˆ«Èñˆ¯­QÒw䤠©ïû„v= ÏÐÝë•1µêDd@Çó5LC ò Ç Š‚d³¼V¯ãHvH|ÌúéÃ?G_¦QØ®PðŸ+”Äýíµõ7±ÆÀ ‚3jÍ„g׉€J¾WŒÑ-h§k·cG£«q4N¾žŠ€KèqöpÄV‘òœç0cäu°¥ö %jº©+XçCTV µ)VBÒÜHÇ9*½Øb¦ˆ°2m)Ú¾q(€Í/E³h·Ð…‘S&¶p•fO@-ƒ ²Šøõa·«öM-Fï£ÊÒV®—~Ç÷©(RT 2;LE‰:œbªˆYÔr½ªróBgk¸ãçÈÛ'Ì1 “Ål‚nM›€`x¶1Š¡>õv¶¸¨¢f¼9ìõË<\ÆŸQ¡Là Åèöx~©“Ï“Øi@GŒ?&ËXj²8 Br‰ª½Ì+2Eª÷äâÎPgá Õ½&Ë«î-¹G&ZÛ t ¼TD,ÆÖ©Lò¢NW?àžUÛ]±áæؾ 1C4ŠæñqñN¹;ùB˜‡3ÓuUÖÛp6¤íPL[1“0—§q!­çY-¿û‘£øz-ÇSúŠë'ußDö ¾bHà‰÷«¨³¥3°ßÇ–9´]^T®ßNŸ%r hY.í¤À¡Âdð;üþqX¤ endstream endobj 6 0 obj 1224 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:15+01:00 2016-01-27T08:26:15+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001548 00000 n 0000003359 00000 n 0000001489 00000 n 0000001329 00000 n 0000000015 00000 n 0000001309 00000 n 0000001613 00000 n 0000001788 00000 n 0000001723 00000 n 0000001654 00000 n 0000001684 00000 n 0000001870 00000 n 0000001936 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3513 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.pdf0000644000175000017500000001203612652070426021067 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥XmsÚHþί˜Ê~X‘‚YÍhô¶wuUÄÆµl0xAÎ^*¾¢dA·Bb%aÎûö¯Ü¼î^0ŽëîÊI4Ýýt÷ÓOëwbRFLü©~¯÷½.ùZôLòµ÷{É‹¤úµÞ“ÜàáÁ¶§žaÄåÄõ-êù$Ø÷¾W÷‹éü.X]ÍgŸV7‹¾0©iº–1¿]ÍÆÁ¯}Ÿ™pŒùâãêæ~vLæ³Ãzè÷ÿüÜcž ‚ùÁ¦g¬y²ŠÂâyUDev( ü³´èÿì Ÿ:¶ºïÿµ94)gàý‚ó!8êÛß[‚š.ZŽôf6B»&ÞÇljûVååí¿opá&øãÿ»säßd¥Ú;f£Q.ôL}Šjg|Ê=ß‹¼$›° É6Ïö$Ê0²ü7Rfd—%‰Òu¶‰Ó¯òô³ˆ}N¹åƒïõ¤åçÙün9YvCDªðŒïât7ù+fëü‡îþ†·sA‚i/x¯›‘Œ Ãg¶o<­Öa’<†ëߌõ.ÌÉûC™KŸ8•ñ2!(sªxE¯G½&^#þ#Z•$‰Ò¯åî¡ÿ¼kÈl‹š6¢:ÊþYA=ÈKäý.L7I4 —R%SóT ¤ÏP‹uÂ_‰œ{‰83Y íëñòj1¹Ãce :õ‘¿ [%àÕ½P$$‡,NË(Çœ?gÇœh'Èö˜®±‡ä´‹×;Rì²c²!û°„å."‡<+³òùá¥>·SJÂǬ[Št†í¼QŠ•1X Wçð ›N=ct8$qT ‡i–G˫Ʉ’°Üfù¾ ªÞ˜©¹ úf]ã2OQÞ÷©ïsÇ3 i§Û¬éê3Ϧ–íèv=ÅIBò¨<æ© s¾ú4^,t™x²B¸‘Ǹ”pèh^ãn¢ûsT’x 'ÄEEKþèõ™@§\ã)ÞD*}1©'\ve{Bܪ!¾opu¡l×{ ؼŒ6h-†ÔG¼ÉæÔá«®·øGMÏ4õa[¨Uiûƒ?CÙs©gÙš}±;]¬g2·¾æá>‚"“öU€P>–©¡AC™Àë¶[} „û옣ok8‹vÑ3“Sß{‹ðZOB ÄK– ðÔ«:ÑòŽ8ÝÄ븾ãPáéð£œ1»KmK\Ž_ÚøVüu„` çár¹…½®iYU¸‡Ä.ëœ#8eÜáoÖP>²âôp¬fF¬ZB–3hëZü¯J zÞ¤®ãé pjùL: 5EºÀÙˆ—ßfŒVF\|ÐÔ±`§ŽWóݤà 6«îAK\ZÚaÔA‡©NhÑâ¸^GE±=&/ËÍaÔ{ ~2GŸ#åP"5@nš–îB=v*¶y’ZÔwê4‡É1ªKÖ¬C2Æ&ú3UŪÆêýß‘°8gGS`-14®FXŸ1ÛM¦ãëödmµ´ÉhÍŒ¯ÍØ/†m4ú”DyžåäTÏŰê∳GsŸšwJ^ 8nw.·Ç-÷±áE=n5»·Çí·s´¶.Ÿ)ýfùoÑ)°Œ¨:ªx!’”ŒÂ¦R ûÂÔÕ¬ºªJŸ'#ÓõnËõ!”LÊŠ¥]ǯ¼U)?€çi¥P’û=((9QQve˜#ðë(îZMtc«ÒÛmôM—Ô§ýöSyÙªÊÄ©k¡‚“cr !P‰rÐî®ßŒzî¨Q?Ù¢!81ÃF‰´$Êì~:`Л,ý^¹ä:rœ0IÌÕN•E+ƒÂrÓ¤ÈWeœÊ`þ$É "3æ«|Œ“r—ÄØO$Ö»1g9p”.§§mÃÞŒš~}¡ÒP‘ZÚSX©ýí¶fW~?ú̲OãÕDÊ ¡'˜…m“f@ÁªÝe)hOÊAhS®cePAòLxì±Ïq›ð=ÜzrG5 ïðž΋Š2|LâbmV 8¿æÐoÌ ä¼ªÞ‘òx—®.)«Šˆã_®+¶@F”Xáfpè„’ãê[8´ñ8XÍoV?Í—‘ô&…TQê~z¦Q](lͳ7Y«Ò­D3Uò&Z¸À˜îOã_áþD?ª´ú@3B—¶ñ´ø-ÿÞM>Ü‚¸î;%!i½ŽH WTUyêÖ«‰ÁxZ·ëίì‹Ã¤UÀðM´•…dˆá1)²Òßâò‡…qÜx~ìÄf0l ÙfI‚B_•Ñ©øQÁËÌe¯!ëoÆ|N×ÿrîy¶?dïäy˜ì×O¸™/Vè]èÚrq2ÞÁÇ¡§ž2ÊŒŠŸ;eíÄOmÕé6®4RjåL4¹ç¬x©üsPôo¡J.V$ ·€¨S_°é‡žÃ×’ ¬¾‰·}^­  ¦"Ä©ÚØŠç¢ŒöôÒ’#Û~gm¼©¢±Q c?S¿Ñ’£{µãk‡êíw,­Å§FmÆ*ãº.hZ½m"G+ÙÑöE®£Ú»Eå…°¼ |àåªÏ y¦-‰Ë˜d^Ûä°šµ¹šOÏ^5€Û>øÑ8rܵ±vÚ™,Û½l;u“ßv‚顳=˜´e5êövÔ~„wŽܽbg~g½‰q`W¯Ôøï£Û»éXW ÷êŠ48Áþ %žq=¯j{ÞË×VÂÇ;kk˜w¥oFŸHó rÊŸLG&ÓIð¹òÉg:Õ©W z8“«}vôDZnSç\ß$0v"¨êä¥ÁF*w •E[ݯ®ç㥜j_jˆÎ¼Œêþ:…]h%£Ø´[ÏòšÖ»8hµ ‘c•©Or¬^lBÇGá\£üÅXŒƒûÅŒ|êËw3FÓûñ™ZmR ÷ËAY½ÕT<Òz™P‡ ×<5×Õ÷³³yXý×Ùj.ßრ.yÙiÏåxLFÓå¼›„¶K=ôAÓcŸ¿þòë\lL‹|3èZãÞÙ¢òŠüÇa +i‰Í›¾¨^µ,ÛíÌ7¦‡NUCÅ©ìê”Ñ.5ûCfÛ¾ ¶Á|òó1% †„´*jZbxÔ8èý?ÿ&ììendstream endobj 6 0 obj 2329 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:14+01:00 2016-01-27T08:26:14+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002653 00000 n 0000004543 00000 n 0000002594 00000 n 0000002434 00000 n 0000000015 00000 n 0000002414 00000 n 0000002718 00000 n 0000002972 00000 n 0000002907 00000 n 0000002839 00000 n 0000002759 00000 n 0000002789 00000 n 0000003054 00000 n 0000003120 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4697 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FILETIME.30000644000175000017500000000356112626067776015572 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FILETIME 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FILETIME \- get the modification time of the remote resource .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FILETIME, long gettime); .SH DESCRIPTION Pass a long. If it is 1, libcurl will attempt to get the modification time of the remote document in this operation. This requires that the remote server sends the time or replies to a time querying command. The \fIcurl_easy_getinfo(3)\fP function with the \fICURLINFO_FILETIME(3)\fP argument can be used after a transfer to extract the received time (if any). .SH DEFAULT 0 .SH PROTOCOLS HTTP, FTP, SFTP, FILE .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.pdf0000644000175000017500000000667312652070424017007 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…”ín›0†ÿsGÚÁ<Ì—6M¢ ›Ò±³µS”Û²QÈÙ´‹Ú=Î6$-m·*Rñ±ÏsÞóúüŒ`ùžùµö<õà²Õ0\j?4¢axä×pÂD€/ÿ`Z¿‡€gØÈ€]k¶°ì—v¦OWiœ,Ù:œÍÒ(ËÖÙ4YFçº}n@¾ßUk¾i¯[Þ5ÛÎ0-#Œ=]¼”MÝ¿7_Ø©fbd‘0<àA#‘lX¬é‹Ðx*J«ÄAN` LVhú»È`ßn`aD±&±ä2–ÔCÃœÐæÍ–ÃE³ƒªÉ7Ì—?]ØÅŽ·-oû³oÁ˜‚Æ$.òUòìó"YfólŒ BTzýIYçÕ¾àðRªó\~¡«W2Ü¢ª*‰–7"à®zçj ž]mê¢â“‡µ›èú²¯áÜx!úì,ʦé|ÉæÉBµ‰Ó‹ýør#c”Üò^ì3½ma3äÜò¼¼ø]ŠŸÝïÖe? ‹¢ °<}Sí9t ì[¿®x yS×<ïÔ–¦º*ëïf/¼è@[v|x;v)kŒË¢ŽDº]Ùë¡"‡úY˜ ”  Wj•H/þ±\ÛVcv¬ôF )Žçy6= ‚±Â2¨­IÄ-RIL a'P^L$Ç„–<ì¬> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:12+01:00 2016-01-27T08:26:12+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001124 00000 n 0000002928 00000 n 0000001065 00000 n 0000000905 00000 n 0000000015 00000 n 0000000886 00000 n 0000001189 00000 n 0000001364 00000 n 0000001299 00000 n 0000001230 00000 n 0000001260 00000 n 0000001446 00000 n 0000001505 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<279151A62FD46C0B99FA5757354E0EDB><279151A62FD46C0B99FA5757354E0EDB>] >> startxref 3082 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_HEADER_SIZE.html0000644000175000017500000000411412652070415017023 00000000000000 CURLINFO_HEADER_SIZE man page

NAME

CURLINFO_HEADER_SIZE - get size of retrieved headers

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HEADER_SIZE, long *sizep);

DESCRIPTION

Pass a pointer to a long to receive the total size of all the headers received. Measured in number of bytes.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.4.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3), CURLINFO_REQUEST_SIZE, CURLINFO_SIZE_DOWNLOAD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.pdf0000644000175000017500000000736612652070447016736 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UoâFýߟb¤þQ»‚=ïzýK­*‘œ#qq0çzפB/Á=cs¶¹(ý ý*ýŽÝµ¤¹DH ³³óÞ¼73þ 6¡`ËO÷»Úïf>Ü7† ÷ÆWƒªCè~V[8K1 ¤kCß¡à3ðC‡!¤[õ s!}0nÌóëYœLÓEz‘Ngñå|üGtk:·¬öu±Ëæqш¶ÚµÖá=ÛöM|È«²ïÞµþL?C¡·B6!²!¡+ 9¤±aNFÖXžR—¸¡ƒ$ÓÌ0¯"+ýë„>³ ·}R&mÉùEÊð/ÈG¸+ªÕhò¿…Îsž?…S! Êü!/WÅ>ð‹âü"›_e8ãªIcUaÀs¡nÕü´Y–Y!/Ê4€¢*ï5]ÉöÖúõx…ïûh~>OÓq2ù.åùN¬òõ£>§vÀ‰Ýë{cJD‹)SA+³Žù¸> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:30+01:00 2016-01-27T08:26:30+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001333 00000 n 0000003223 00000 n 0000001274 00000 n 0000001114 00000 n 0000000015 00000 n 0000001094 00000 n 0000001398 00000 n 0000001652 00000 n 0000001587 00000 n 0000001519 00000 n 0000001439 00000 n 0000001469 00000 n 0000001734 00000 n 0000001800 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<3B0C299331549E89DFCA1269BEE997C0><3B0C299331549E89DFCA1269BEE997C0>] >> startxref 3377 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.pdf0000644000175000017500000000753512652070431020514 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµVmo£Fþί¥"gÃòŽZUòåˆä 1pÚ(©Áë˜ÖðY÷î¯ô?vv;NÜ“Z©òfwgžyæ™^@%TþêóµtÙðÜH*ââ˜MTÝbm±¢™ý‚¸6«¢l‹ò™'?ƒ¦­ùõnYäKÌûjOŒkBh#Û¶K†›ó¬E‘,ÿáÚ6[qqÀ'KH©Mt}I%:åŽd´SŸÚYØåÊ¡ò8Ž1ަÙ)ˆeéÊU=?ƒ’)Ô ®còsÕ/oXˆTPË"hZŒ÷Ö³bÕH–EøFåÔˆuõª¿þ,+E3å]ÉãÀjö²-j k‡¡þ˒圅^5‡!€Î>LÃì0n×O+&,26ÿ NiDdÕ2ˆi Š’›ø@?åòè…ÆC{zc•ͦª[Îd ÈÓleH­Ë¬F’yRòUAÎê¶øÆsÐÀ¢ª_g9"§ŠUnjGмî•hŽ(ÜK :ÔǬK#÷ßw+ÍÒ‡.éªç `.jÛ¶uc/äéÌ÷ßW†Pú#Œz†.P`Â5Ëî3{ú0;… {ŸšNlÕzçUà¿i5ÛE ¼q}‡÷Ûø6ô½¡8,Îäƒê¼Š;Ÿ‚ž/ÓqÞOÃå;÷Þ8­]1ïà00–9¨Zžøã’Üdž‰Ð Ç9¦<žÏQÇE 6ácåû±>È‘—Ì¢)Ü)”kÏÂôg^/š÷![|ªùG¬ÝÖe#Z®—7Cè&//¹f»áfóQ¿i6½™Bâ.ß_§i š ?YVíªº«g÷}¹7oKÐTjÔÆ¾ò(7å%Ò/øú^í”9endstream endobj 6 0 obj 1211 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:17+01:00 2016-01-27T08:26:17+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001535 00000 n 0000003346 00000 n 0000001476 00000 n 0000001316 00000 n 0000000015 00000 n 0000001296 00000 n 0000001600 00000 n 0000001775 00000 n 0000001710 00000 n 0000001641 00000 n 0000001671 00000 n 0000001857 00000 n 0000001923 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<6C596CC9DE0445F5107DC86F89F9C8A1><6C596CC9DE0445F5107DC86F89F9C8A1>] >> startxref 3500 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_STDERR.pdf0000644000175000017500000000732212652070446015770 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Uín£FýÏSŒÒ…(Lf†~IN–­¼eƒ‹IÔU\E¬Ǭ0°€åV}ƒ¾Jß±woY2‚¹sï™sϹóL‘¿þ¹Ü(×!GϵBгòY¡í"êË º‰ À‘¢•Òí¡ˆ3Ä];.Š6ŠC±a£h§<ª·÷¡Ì¢§yôÆ Ã…j,4´ÜVÙ“ˆë—§Z4EÙh:³&„«ð’y¾±Kû3z§è3 %–€Àص$YÌWÔ»‰ö=€†UjaË5X”(ê{O‹>Af›„#2¹L$ÎLôªD’VbÙ ºIDU¡¦@q^4kQÁ—JÄ›.çPèÔÆN[tþá.˜Í§óÓÒmH[Vý.Í—Ù6è'IǵüÃë_d83ÛÓHHËÆt-Ú%t¹Žó$W#²®ÐÛ©ï¡ËåBû8ùœo¼ùm8EÓàNÖ‚©Õñû ̳XÆ´ »Ø±:~¡×ÌhI¬k÷ÕQ\£2®âhD%74k[C,ÌH¿WÅÑ!#¥˜lÈÉÚœ"ËP–~”ÈlkšuZw´RÒct æ¡ÝæGήjÛªl•”ÎѶ9¨¨Nóºq‚ŠÕ¾×»µÈQ½.4f*MWÝ¥ù3”¨¬ŠçJÔu'Ff:˜î©’ÚƒV”¤u™Å/°w„Ö±±q@{ÞƒÞs¯û‰j(‘úð$nb|.>ÆÌOû¶o¨e:’_½KÍ}ÕÉ}»J¥ízÇ0Ûàýª?´e€!µÁ97̃:¾^qÂ,ìq˜F‹ƒšP‰÷Ö&–ÛD(8TeæÄÞ;ø6ðGFà.  L²ìÞ“÷3ßû/Cs]¶jûùÈxiž‚í¤™`·ŒvBÿ;%„®ŠRä õ"ÙnÊ‹+t±ûxÑYOMW U&‚¹÷Þ­}½GõÜ×òËàgx@¦uÓ”?\_ J1rCýoÊLàe±iKH%¾šj?$ÚW?d†¥¨VEµÙƒ•1ú¬úW¯ËqΦï ÍRQfKåäM†~‚ç,Ú7]ú“›©?>ŒtnaÄCO÷#©›8½eÕ]|<4,›ìó¾Ôç°86eÄ!é.¦Ð‹îÃ;ô QÃÄ®MÕ‰ï'Å0úBÑl«þfòž‚ß^ÿž‡&þ<ÂFùF®žb{oøv \&‚:öáØÃ% WN¨¤ÓIðkèÍç£QưéžeÖäÒ •»¤û©Ë±¥šN-Ë5±¥RŽÞmsÄ5ÛäæÁ¦T¦ò"åwøý G;«endstream endobj 6 0 obj 974 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:30+01:00 2016-01-27T08:26:30+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001297 00000 n 0000003187 00000 n 0000001238 00000 n 0000001078 00000 n 0000000015 00000 n 0000001059 00000 n 0000001362 00000 n 0000001616 00000 n 0000001551 00000 n 0000001483 00000 n 0000001403 00000 n 0000001433 00000 n 0000001698 00000 n 0000001764 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3341 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_MAIL_RCPT.pdf0000644000175000017500000001030112652070435016324 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VínÛ6ýï§ ²“ ›E}bE7uP·ŠíÙr?†*ѱVYR%9Yß!¯²wÜ%©Ëî âÈ"ï=÷Üsxùi˜ êïð0x¹´Ñ}9ÐÐýàû€ˆ—¨þ è þƒ¿È=Ù:²]Šù‡e`b ÿqp§\¯—Þ|áooÇSo»¼^ø…nT‹dË‚òǶdU–WêH75¬i¶q––èçÕ?ü÷ƒ‘†u‰BÀáìš µï ”ÙXý Ã[bbÓ¥ÏÊíDõÿ<®kØÐl4":­q´—`Ñß(‰Ë e;´ºõèÄ *Xç1K«RF<0 #baG¤\}™Í«éªŸX,I•_â4LŽC¯8/ù¼Í—ë¯Å! 3XsNÙF¼B/öA%lxI˜jÊPf™mʲ*Ža%ƒ•¢¶E˜WåFýí²¢‘“rÞNV×ËéŸÎg|)t˜² ?)mð5¢ .vLÙ œ:Re‰”gqZ±U<$qúM%BTaQK|G7_—¥ø®ö •¬xõé0‚âÚ$¶L¡ãýÈŽE¯}߬¬0ò!D—Ôuš¤RcºaaË2Zœ@ßgÇ$B_€Þ“äzPu»±• ‰[ä"Ž$T8G‰UËñ¢}‘X.¶MÓí-.Q^d9+ áS’Ø8Åh]2¹“hm‚AØrgä9K#é¢^.Ǻ咎=W˜H T"þˆº66éû¥ B± Á3Àu\G½;ű+Th—ëêºÂØ6H’ÎØ'˜lL¨VcP¤è˜C*Zˆ ™ p„RlêhÄ]ÃK0-Y§=K0¶ËŠCœÞC¿„ª"HË+ø^Š5K%"†Ö´gÈZùJuÔ¿á¾$ê”Pæðãôä1®ö 9Ðv\¾AzÏ{õµÂoÂÙ&œ’vC¶i Q) º»Q^½Þ¨Ã–nê´¶½Sö™ª›Ê#k@i=h5±4½÷Àj_Òv:4 6H‚R‘©¢²«MÇšIÛÖë´>µe]`”f:–ŒÓÞ«¤õ 4¿n|*@á>€×ÜÓIü•7IXRL «ÄTâb¨ŒÓ‘¬ÉÐÚWØ)] ¢¨`üØH#P@˜d€ªÚUû¢¦þ?H€Xh?OE`‡Îùáz!´ö(±F¸J‹ø) øT‚}\Þ|Aav8 hbÏ*¢¦H,^žW( €@Ç_"ñÀ«‹2(˜'ƒ­­X(²ƒ@¹¢–7×&ÕÉFÅ0èä  ˜êÎHžÿ'ŒÊ` ¡.6i£ ªK¯ü•óÔeòy1ûKj¬½(¢÷»ØÃÀë!.xuS@਼â<\yYeéh¾µË>…ì Ÿ¥?´o'7µôMÃÆ€uÄhÎñZBãë‹nÑæŒôüÖÝÄ-fÛ6m€2[{Þ3±l H b@»¶çˆ{Mr=÷ѼͩSlkVsM¹ž{g÷€íŽeÏ™|ß.¼I3¦Ó~‡ƒP~¨Hoç5a¦ã\ܳF†ËW¶Ù8¯âÜPÆѸ«KÖIš³iêßL½©ÿ¥_t‚£/—q‰ñ†l Q49ª…ó¸F…B“ì>Ñ£êòIb9Ü*A·‹X{F3wÊr⯗3ôQ%°Üµˆ2öÖ“³9ÔQëYu,ê›éd;ÿ€âp¶¼±¢¸MçyVT,  rázöa6W©©|šmçâöÄ7¹ú¬ªW“ {«y×ìsH½;ßÍR¥À1,e~{V ´nbàûQ ¿í4“ä,ðX5Ͷ²öß]6°yw¤;õD¶¶dÈf @wlèΈÀýö*p“L‘ÀEl£õá¡&þàwøüÆ_aaendstream endobj 6 0 obj 1468 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:21+01:00 2016-01-27T08:26:21+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001792 00000 n 0000003682 00000 n 0000001733 00000 n 0000001573 00000 n 0000000015 00000 n 0000001553 00000 n 0000001857 00000 n 0000002111 00000 n 0000002046 00000 n 0000001978 00000 n 0000001898 00000 n 0000001928 00000 n 0000002193 00000 n 0000002259 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<7DC96EF662A24E858162C0726692DF56><7DC96EF662A24E858162C0726692DF56>] >> startxref 3836 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_SERVERS.30000644000175000017500000000420012626067776016220 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_SERVERS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_SERVERS \- set preferred DNS servers .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_SERVERS, char *servers); .SH DESCRIPTION Pass a char * that is the list of DNS servers to be used instead of the system default. The format of the dns servers option is: host[:port][,host[:port]]... For example: 192.168.1.100,192.168.1.101,3.4.5.6 .SH DEFAULT NULL - use system default .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. Added in 7.24.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, CURLE_NOT_BUILT_IN if support was disabled at compile-time, CURLE_BAD_FUNCTION_ARGUMENT when given an invalid server list, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_DNS_LOCAL_IP4 "(3), " CURLOPT_DNS_CACHE_TIMEOUT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_MAXCONNECTS.30000644000175000017500000000461012626067776016152 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXCONNECTS 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXCONNECTS \- maximum connection cache size .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXCONNECTS, long amount); .SH DESCRIPTION Pass a long. The set \fIamount\fP will be the maximum number of simultaneously open persistent connections that libcurl may cache in the pool associated with this handle. The default is 5, and there isn't much point in changing this value unless you are perfectly aware of how this works and changes libcurl's behaviour. This concerns connections using any of the protocols that support persistent connections. When reaching the maximum limit, curl closes the oldest one in the cache to prevent increasing the number of open connections. If you already have performed transfers with this curl handle, setting a smaller \fICURLOPT_MAXCONNECTS(3)\fP than before may cause open connections to get closed unnecessarily. If you add this easy handle to a multi handle, this setting is not acknowledged, and you must instead use \fIcurl_multi_setopt(3)\fP and the \fICURLMOPT_MAXCONNECTS\fP option. .SH DEFAULT 5 .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLMOPT_MAXCONNECTS "(3), " CURLOPT_MAXREDIRS "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.pdf0000644000175000017500000001326712652070452017132 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµWínã¸ýï§ P #6CRߘ¶@šñ.f›Äi¢]$…¡ÈL¢Ž-y$9Á Ø7ØWé;öðC_N²Óþ(İE‘çž{î¹—_ £œ0õg?³íäø*$õ„‘ÇÉ× ×‰ýȶäÏ Dê‡äabÞá$$Œ]Å$ÙNDH½Ð'ÉËäÖ9½¹:;_^&«äóùâꇛ‹ÓäóòâÎqï¦$ÛW›Õv¿iòU-›r×LçÂg”±ÐÁ—¼,jò¯Oÿ‘ü4™3*8Í€)&û –älâ\œL? <å>õcP“õÄ9_L“‚Œz,$s.Ôc¦€¿ƒ›ü›)ÉÒÍæ>;¦$•Ìd®ö„Ëhà™³uõvÏ’4j‘ãQ?ˆc»Âð”oe¹oÈóTx4ŽE褛½¬uŒ£Èæ"â`éh®¾X^^¾Çl<Îïò"Ûì×’üA~¬þѧ?©åÂS4%G8¾hH ÕªíÎP@Žt‚fÓ9gŒ9ÇGD'Oi±ÞHrt¬!z!õ»ó6eñ¨7C@«m=#x©–’¤÷åˆ'ÎuýW<õ<4ŒâÈfíØ¾,Ô#œSîug>—Ý[1ÆÌ®ÉѾ–Õînú±bWå€4šÐ£¼?ì9ì§~·ùtÙgW‚6Y)4î!ï™+V×VAY Þ_é¼ãÖ°8{Gæ³Ã” ä¡t¢[-|Z\Ÿ^}¾T/¨~S—Ã#›ˆ[§®IÚ…+÷UóþÈTiÎÈËSž=‘ú©ÜoÖd›6øÒu〷,>ÉBÑóš%IÁš®íÈ÷œç¼ùFÊÂpâ Ÿ ¥›¡ý(&E}­eUù®)«Ú°ÁaÓ8Íù¹ì¬ ?ñÖM„V36x+g½x”"„â2Þêz¤´±— º•ˆIy^Ô"1Exż’;$"·•_‘—¼A2 ¢eôÜEžnHù0p5m¿¨›hˆc®#õXLøS«1õDóè@ÕŠÖ¦Œ.ú¬¸4íæÇDšT‰'!E©5>ò«‘Ö…ÌUê œµ­.àØ«í°¦Ë¬Õ:Òï ÈùÒ+;‚•1Ö>hV©Îˆid#²=Dí‡íÂò ½%z b'«‡²Ú¾±a 5Ûâvf†Yx§?ÒÛ­³FþеÊ_YØÒÖ©{˜Æ*s®ÎLñÀK©Î £ºkŸFà† Å }Ê:—íaù‚zß÷Û[m’Z²•)&Á*p-7²‘Æ t§¾¯¦×1ç!GMÆAgÉ'ã @åx^ÀÿkÄoðÀœ†Â”Î^ãV{•Vôºn@ùÿ‰ •„â]q H%ü_Ä5w=Ebwe]ç÷IÇ984žCß ¨uõ’£2ËbóÜ›,ת±ÙübÚóÞLë{úËЉ¥õXîäñN5É«ý#ʺv©F U#°†ÈÙYkë&Ë€Š¸ó¥¶©¢#¨)RYäABŒÐ=¨ñTðÉêÀ µè<Êú•'Iïx¬SÈÉ ã! »ÙÓvXmÀqßbý˜ë4"pë]+± FWÝW6AnÑv3YÃ:U»E™â'YUF[.ez8èáAØf’Т^Ú Ðõ©O §;/C AºA²i82]£¨f¤‹… „|,Àt½ÎU  ÓÏ(F ° KÉ@äV(opEÔí;å@Àí ÆCL²ñhûÁfË÷t«Â#æ^»ÅÉíå0+;;ˆÀm ﬧgPh0€0 Ý~佸9;ûÎ8xyeQxnd/¢+ÿ¹€Š åË„,»3Æ-´Vtº<;¸Yv =“ÖÍÞűøûÉùåÙÁ­«ŸDMÎ0M4yFïËrÇìnÙýóØ–Žª¶Õ:mR˜Ë¿Ô~ثő?;ç·<®*)Gkô@­Ÿ]׎éú§·‡ôO°*5i[ ­íÊs}?S$Dw¸ªf?¢~?¤Ì.ú"êÛÖ$ÒjqAÛž¹ëü¿Ø7°µº¯Uû¢@Ãþ ê 7n_¦œ9²oæ§cX]/Oÿ²0a,omY¢º~·“ï­3c˜ß™3û½^bÄ!T«iultpa_]Rok?â¼›«ÓÅêjq¾œªû=÷ço‹¦GòóËøNjÑ]MÕ{p+%¯îš5™™ÊÁÅRP‡ µ°Wûa͵¨v:£¡| ø0VN!#“«JnÇ—X …ípõî=æÎ9R[’¸ôX´ó½ƒ„p1ÊpAõ}x»ïðü´/ˆ[æŠÝ•$Wû,’É_ñ÷@Œ¬endstream endobj 6 0 obj 1851 endobj 14 0 obj <> stream xœTËn›@Ýó·«•ÏÃCQNêJNˆÝ:ãTU\¡Ä`‡ÈÆeQõß{gÀÏ4UŘû<çž;/À(¦žö=[ݱ‹Ò`°0^ ®Ð¾f+¸è¨97š¾ ~èÐ ¹2lŸº¾ùjÜ“ËÉ8º}•±ÜôÇ_&ÃK9 §Ä™š0«‹e¼ª—U—iµÞT¦e Fó þd뼄„›?å•áz`9È»Õõº]°8¬Ò ~M¡|Z×˞벂$]¦U 뺀*[¥…)eÜõÕ©¸ 22H6‡)Qöu]Å«ÎÏ1!6ûËü¨¸°”[bEŬ‰x¯ú=÷åd<„;“;(“^4ékUìëèˆVPcÍ\»pñèP{Õn‹^DÈJ(ëÍf]TiÒ‡> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:34+01:00 2016-01-27T08:26:34+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003149 00000 n 0000005108 00000 n 0000003083 00000 n 0000002761 00000 n 0000000015 00000 n 0000001936 00000 n 0000003214 00000 n 0000003537 00000 n 0000003472 00000 n 0000003404 00000 n 0000003255 00000 n 0000003285 00000 n 0000002921 00000 n 0000001956 00000 n 0000002741 00000 n 0000003335 00000 n 0000003365 00000 n 0000003619 00000 n 0000003685 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<721B05F5D2409AC75D433D1B2004DEF3><721B05F5D2409AC75D433D1B2004DEF3>] >> startxref 5262 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.30000644000175000017500000001221712626067776016434 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PUSHFUNCTION 3 "1 Jun 2015" "libcurl 7.44.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PUSHFUNCTION \- callback that approves or denies server pushes .SH SYNOPSIS .nf #include char *curl_pushheader_bynum(struct curl_pushheaders *h, size_t num); char *curl_pushheader_byname(struct curl_pushheaders *h, const char *name); int curl_push_callback(CURL *parent, CURL *easy, size_t num_headers, struct curl_pushheaders *headers, void *userp); CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PUSHFUNCTION, curl_push_callback func); .fi .SH DESCRIPTION This callback gets called when a new HTTP/2 stream is being pushed by the server (using the PUSH_PROMISE frame). If no push callback is set, all offered pushes will be denied automatically. .SH CALLBACK DESCRIPTION The callback gets its arguments like this: \fIparent\fP is the handle of the stream on which this push arrives. The new handle has been duphandle()d from the parent, meaning that it has gotten all its options inherited. It is then up to the application to alter any options if desired. \fIeasy\fP is a newly created handle that represents this upcoming transfer. \fInum_headers\fP is the number of name+value pairs that was received and can be accessed \fIheaders\fP is a handle used to access push headers using the accessor functions described below. This only accesses and provides the PUSH_PROMISE headers, the normal response headers will be provided in the header callback as usual. \fIuserp\fP is the pointer set with \fICURLMOPT_PUSHDATA(3)\fP If the callback returns CURL_PUSH_OK, the 'easy' handle will be added to the multi handle, the callback must not do that by itself. The callback can access PUSH_PROMISE headers with two accessor functions. These functions can only be used from within this callback and they can only access the PUSH_PROMISE headers. The normal response headers will be passed to the header callback for pushed streams just as for normal streams. .IP curl_pushheader_bynum Returns the header at index 'num' (or NULL). The returned pointer points to a "name:value" string that will be freed when this callback returns. .IP curl_pushheader_byname Returns the value for the given header name (or NULL). This is a shortcut so that the application doesn't have to loop through all headers to find the one it is interested in. The data pointed will be freed when this callback returns. If more than one header field use the same name, this returns only the first one. .SH CALLBACK RETURN VALUE .IP "CURL_PUSH_OK (0)" The application has accepted the stream and it can now start receiving data, the ownership of the CURL handle has been taken over by the application. .IP "CURL_PUSH_DENY (1)" The callback denies the stream and no data for this will reach the application, the easy handle will be destroyed by libcurl. .IP * All other return codes are reserved for future use. .SH DEFAULT NULL, no callback .SH PROTOCOLS HTTP(S) (HTTP/2 only) .SH EXAMPLE .nf /* only allow pushes for file names starting with "push-" */ int push_callback(CURL *parent, CURL *easy, size_t num_headers, struct curl_pushheaders *headers, void *userp) { char *headp; int *transfers = (int *)userp; FILE *out; headp = curl_pushheader_byname(headers, ":path"); if(headp && !strncmp(headp, "/push-", 6)) { fprintf(stderr, "The PATH is %s\\n", headp); /* save the push here */ out = fopen("pushed-stream", "wb"); /* write to this file */ curl_easy_setopt(easy, CURLOPT_WRITEDATA, out); (*transfers)++; /* one more */ return CURL_PUSH_OK; } return CURL_PUSH_DENY; } curl_multi_setopt(multi, CURLMOPT_PUSHFUNCTION, push_callback); curl_multi_setopt(multi, CURLMOPT_PUSHDATA, &counter); .fi .SH AVAILABILITY Added in 7.44.0 .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLMOPT_PUSHDATA "(3), " CURLMOPT_PIPELINING "(3), " CURLOPT_PIPEWAIT "(3), " .BR RFC 7540 curl-7.47.0/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.30000644000175000017500000000324712626067776017127 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_CLIENT_CSEQ 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_CLIENT_CSEQ \- get the next RTSP client CSeq .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CLIENT_CSEQ, long *cseq); .SH DESCRIPTION Pass a pointer to a long to receive the next CSeq that will be used by the application. .SH PROTOCOLS RTSP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CAINFO.pdf0000644000175000017500000001047712652070425015726 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥VÛnÛF}×W,“´æ.ïiQ@qdD‰,ªÖˆ ƒ¦V[ŠT¸”õò+ýÇÎ^HJ²“>DKÜ=sæÌ™ý‚,L%þô3ÝôÎç>zà= =ô¾ôˆ|‰ô#Ý ·1,Äñª§öäSä‡6BozÅN€â§Þgãâz>‰fñÝÅp<½Œn ûÖDé®ÊïXÂ÷wœÕå¶6Ôµ°eù|ÉÊ‚£v™Äz SG¤€ 8tÛCñ¤gL‡æ€†·ÄÅnh°xÙ3®FfüçdjaÇòÑ€PñÚz 'úm“zê]°ªÎ¾¥IÍÐpW¯Ë*«÷èÖ¸B"÷&•¸mcW,s&!²ñp ,n¦Ñl1^ÑK$ãUV¤ùnÉÐÏ‚¢sñ׿ˆåÔ‘ ”i N)¼•¯Ðëu"€ôOì£tTèµÈéÖü XúÊw£ÅÅ|<‹ÇÑTœ ”W1þâY"ÖHÎC¸Šq ^¨hå%úpAf‚þfU‰jVm²(]"^WYñ€Šd# ú–3´.ó¥øV •Ú”$Ü–‹@&”زœÐ`U¶Ú£zÍЖ±J©DBi >eõ ”Æx%3'V£]Š=§QIÃØb1¹û4š/of£Ñ\Iï¨^Äq±Cõ6„n‹TŒ«Ü h_îP¢É£‚›€`'¤TõX’ÖrgÙR¤çà0¤¾JO!2ä¬z”†P:AÅcÕ™èâP„õ[ØÕ¥0xÚž!mâv“泯ÒkYqŠo-™‰cØó‚–ÖgýyD’bÀ§Ê3 å.ʱ#Y9V«ãQ¾¢ØUÔÐ@$¤^Y—XMÅ2“Í™(ISÆyvÉšÄ'ˆZöh†(–ã5TLù ‚ÿî÷hÉV&ýL¨‘ìòè®…Ö$ó{^³2…§5AæÙ½hÂ3Y[A¦®‹=J^ žàÀn k‰4X U¥¥…( ç» pGßÃÉ5ÈÙ‡_•¶©çcÇ%'öÅxÜç_þ¤‰8ÄØe9DÊ6@‡ØxÒ™¡¤‰ÈÜ¡-GC¶X¤û¶×(y0¡Ùˆo…F’¼–ŒL ½"x¨’jßÐàIw&¶©×”µ_·D8p‚ é9f6ºB³‹W„@³/w@íq ηlƒy V+ÔÃ%‡5 ­ÕÉ2y<8+ì¤yJ²<úX¯Ô €ÀO¦,„eõÚVå–UùÞô ×1ð îî8òˆ#ó¼Ôð\1S1l®é†×J”bhè9E=Û×o'q‹½ë$Ñ(¾ïÛN›â[Q”AV4¢’RheՀߵõÙ\sì@»HI[Ò€bË•%7¢E- jcßòZ‹Œ&'³ 2 šs¤Fc˜ç0­è>á G`².Ó2çoÐû8ž-úèR~ޝ†â1‹f6<Wð#buŠÿ#ÑïëÙdÔxHðÝÑwi[˜Jâ]¤KàÁ³‹ÄÀ ÅÊö4Q)Gåô ;Z,칤±óñdøv<Ç7ß—PdDß»”ö̆¡¶3‡XM°jÑ¡†ñ„i`ªAϱâ!+Ä \C¯/Ëâì( t„ßVÖ¨ù¡q:Þa@å»í¶'ê&¬pO.›üäVÔÙeöP[ÂhÎV Z©T¤1öA Öu½}s®ï1Éׯ˜³óe™òsÎóAZn¶‰ˆ±®7ù‹®›w>НçSôÉ$64žGŒáäz¤Ûò¹Ï=¼ŽFh8YDÙ'-Ó•{¦µÊ|ÐVã`ñ¡>C;l. ïO.Ø,«y)oýãs–絺ùúuzó"Ðÿ#äûhŸ†¤øyD0v(…[dî©Êéy|lûØ2ÄuC»ñч]¨EY§µK"BâÞ¯ð÷/¹:pendstream endobj 6 0 obj 1594 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:12+01:00 2016-01-27T08:26:12+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001918 00000 n 0000003808 00000 n 0000001859 00000 n 0000001699 00000 n 0000000015 00000 n 0000001679 00000 n 0000001983 00000 n 0000002237 00000 n 0000002172 00000 n 0000002104 00000 n 0000002024 00000 n 0000002054 00000 n 0000002319 00000 n 0000002385 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<947C76FE020A91C19DC8C14FFAE21D93><947C76FE020A91C19DC8C14FFAE21D93>] >> startxref 3962 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.html0000644000175000017500000000443412652070414017364 00000000000000 CURLOPT_CLOSESOCKETDATA man page

NAME

CURLOPT_CLOSESOCKETDATA - pointer passed to the socket close callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CLOSESOCKETDATA, void *pointer);

DESCRIPTION

Pass a pointer that will be untouched by libcurl and passed as the first argument in the closesocket callback set with CURLOPT_CLOSESOCKETFUNCTION.

DEFAULT

The default value of this parameter is NULL.

PROTOCOLS

All except file:

EXAMPLE

TODO

AVAILABILITY

Added in 7.21.7

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_CLOSESOCKETFUNCTION, CURLOPT_OPENSOCKETFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_CERTINFO.pdf0000644000175000017500000000767512652070453016300 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}×W Ò“†¸á.ïmQ@qÔBµ"©"6ˆ cE®-&)óRÕÿÐ_é?vv—’,9i À²wçrfΙY?‚M(ØòÓ§›ÁëeÍÀ†‡Á〪Kè¿Ò ¼IÐ ”Éý@ûP‘CÂ’ÍÀ¸ºYN'³ŸçwW㥙|xã¡]’ |—$»ÁG#‘&·†skBÚÕÅàÍÓ݃hóò¾2-æÙFµmóªlà$ޟɯÇsˆÝG|Gæ²lÂ(ÂHe„(IäI –Ë|åøÊg6’¶¶4£ñ"§õn,Ïõ1›¸veòÚÖÀOàø¶ÿb‡v- ™ÆŠºÍÿIy+ ]ó¼T°O!‹ú$T‰ã³ù"žÄ§é•‰Jm|——iÑe~”Íz-õOÒœ¹˜q\j`i…6/úy«îàrÍˬÃÓŽz‰BÏÕu R? Þ!uÓÖ]Úê ª. —ª¬í­ùƒ†ü¼2j;Ê}_ÜÛq|µœ,’É|ÖSD=ÍÐ ]ð5ÑA6”0_7¿i€Ã¶ÊËVÔÐVøÇ…éy_ÁxX/h»æ-¬«"“©Ën³ÂÌÕ½ª„Q—PzÀ^äågyŽšr}›í3…ŒªL"ƒ"oÚvy»‘¯ªN«æ\1CàMÓmòòAkžéFS{¯Í€æÐ^¹’Ñù"‘„žija¥ÎÆÞA”|UÔrmäñîuŽ3évïÖ¢Tðjñ؉¦…‰j‰|Ç5xž  ^÷­ªÅ¶ª±Àu¥ç›J&*"pú†»ÍqúB4 Âþ‚—òâàF¡Û_>¥G/Fü¨w’`C VÈÔÈã}Õ!í’úV—íKy ¤žñw[sªš_Õ ¦Å\‡DˆâP¿ƒC¯Còtdc ªÑ5°zBÏ¢¨L曺¾±“$É&)þÕ49ÞmÝ •P yÛºB0è͘ñWž¡)žs`‹FæËxË噌Š07¼UH%¾©ÞCrà_•|#¾O+†²}HV-´˜ô‘L…Þê¨ÙŠõÒ%Sñ ÄB/šê(@DIÒ¾S|³-ùÖæZ,û™vE•3ôT[ ÷´³yó å`ûû­{5Ÿž->‹"Žëžl^c„£ŠËÕZñFd/×Î ¬ñ£w‹éx¿o¯î›äˆ çƒî_•·êqxaø…×$’–‡lhf»â{8>-øzøÝ«~2½™L'ɇ³©ôˆã†áÙ“¬‘:ýþI«²xÒ£ºÔ1ªú³”ê£ÈWrçÁÊd¶ÑåE«wË|+Ê8žaÇ€ø%¾–û­ÛÊñÔ”êgÃe½úB±(óâšúÑXŽ“›å Þ›ÔqIäSc4½÷ yÙ[´mW÷/øøn~ ù½ÒÚ±²“Ȇj`µáÍìz67q†~ŸÝÍÕ»!˪ý¦ãñFÓx~TÇ9¤ó·QO±ÕYþ«âì·Œ¡öéð4,fõkþY`|G°ÀSšJè‹PBùR:>#®†·'4 ®KlÓ¢žçD‚ÅU(ÝÃìPgœ ~ÃÏ€nœÚendstream endobj 6 0 obj 1208 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:35+01:00 2016-01-27T08:26:35+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001532 00000 n 0000003422 00000 n 0000001473 00000 n 0000001313 00000 n 0000000015 00000 n 0000001293 00000 n 0000001597 00000 n 0000001851 00000 n 0000001786 00000 n 0000001718 00000 n 0000001638 00000 n 0000001668 00000 n 0000001933 00000 n 0000001999 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<6DB3C7B0CD49B3E293737C199643CFAF><6DB3C7B0CD49B3E293737C199643CFAF>] >> startxref 3576 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_IOCTLDATA.30000644000175000017500000000344712626067776015703 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IOCTLDATA 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_IOCTLDATA \- custom pointer passed to I/O callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IOCTLDATA, void *pointer); .SH DESCRIPTION Pass the \fIpointer\fP that will be untouched by libcurl and passed as the 3rd argument in the ioctl callback set with \fICURLOPT_IOCTLFUNCTION(3)\fP. .SH DEFAULT By default, the value of this parameter is NULL. .SH PROTOCOLS Used with HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.12.3 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_IOCTLFUNCTION "(3), " CURLOPT_SEEKFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_PUSHDATA.30000644000175000017500000000351712626067776015723 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PUSHDATA 3 "1 Jun 2015" "libcurl 7.44.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PUSHDATA \- pointer to pass to push callback .SH SYNOPSIS .nf #include CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PUSHDATA, void *pointer); .fi .SH DESCRIPTION Set \fIpointer\fP to pass as the last argument to the \fICURLMOPT_PUSHFUNCTION(3)\fP callback. The pointer will not be touched or used by libcurl itself, only passed on to the callback function. .SH DEFAULT NULL .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.44.0 .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLMOPT_PUSHFUNCTION "(3), " CURLMOPT_PIPELINING "(3), " .BR CURLOPT_PIPEWAIT "(3), " .BR RFC 7540 curl-7.47.0/docs/libcurl/opts/CURLOPT_SEEKDATA.html0000644000175000017500000000420612652070415016333 00000000000000 CURLOPT_SEEKDATA man page

NAME

CURLOPT_SEEKDATA - custom pointer passed to the seek callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SEEKDATA, void *pointer);

DESCRIPTION

Data pointer to pass to the seek callback function. If you use the CURLOPT_SEEKFUNCTION option, this is the pointer you'll get as input.

DEFAULT

If you don't set this, NULL is passed to the callback.

PROTOCOLS

HTTP, FTP, SFTP

EXAMPLE

AVAILABILITY

Added in 7.18.0

RETURN VALUE

SEE ALSO

CURLOPT_STDERR, CURLOPT_DEBUGFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.30000644000175000017500000001026612644311745016605 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PINNEDPUBLICKEY 3 "27 Aug 2014" "libcurl 7.38.0" "curl_easy_setopt options" .SH NAME CURLOPT_PINNEDPUBLICKEY \- set pinned public key .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PINNEDPUBLICKEY, char *pinnedpubkey); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. The string can be the file name of your pinned public key. The file format expected is "PEM" or "DER". The string can also be any number of base64 encoded sha256 hashes preceded by "sha256//" and separated by ";" When negotiating a TLS or SSL connection, the server sends a certificate indicating its identity. A public key is extracted from this certificate and if it does not exactly match the public key provided to this option, curl will abort the connection before sending or receiving any data. On mismatch, \fICURLE_SSL_PINNEDPUBKEYNOTMATCH\fP is returned. .SH DEFAULT NULL .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, "/etc/publickey.der"); /* OR curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, "sha256//YhKJKSzoTt2b5FP18fvpHo7fJYqQCjAa3HWY3tvRMwE=;sha256//t62CeU2tQiqkexU74Gxa2eg7fRbEgoChTociMee9wno="); */ /* Perform the request */ curl_easy_perform(curl); } .fi .SH PUBLIC KEY EXTRACTION If you do not have the server's public key file you can extract it from the server's certificate. .nf # retrieve the server's certificate if you don't already have it # # be sure to examine the certificate to see if it is what you expected # # Windows-specific: # - Use NUL instead of /dev/null. # - OpenSSL may wait for input instead of disconnecting. Hit enter. # - If you don't have sed, then just copy the certificate into a file: # Lines from -----BEGIN CERTIFICATE----- to -----END CERTIFICATE-----. # openssl s_client -servername www.example.com -connect www.example.com:443 < /dev/null | sed -n "/-----BEGIN/,/-----END/p" > www.example.com.pem # extract public key in pem format from certificate openssl x509 -in www.example.com.pem -pubkey -noout > www.example.com.pubkey.pem # convert public key from pem to der openssl asn1parse -noout -inform pem -in www.example.com.pubkey.pem -out www.example.com.pubkey.der # sha256 hash and base64 encode der to string for use openssl dgst -sha256 -binary www.example.com.pubkey.der | openssl base64 .fi The public key in PEM format contains a header, base64 data and a footer: .nf -----BEGIN PUBLIC KEY----- [BASE 64 DATA] -----END PUBLIC KEY----- .fi .SH AVAILABILITY Added in 7.39.0 for OpenSSL, GnuTLS and GSKit. Added in 7.43.0 for NSS and wolfSSL/CyaSSL. Added for mbedtls in 7.47.0, sha256 support added in 7.44.0 for OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL. Other SSL backends not supported. .SH RETURN VALUE Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSL_VERIFYPEER "(3), " .BR CURLOPT_SSL_VERIFYHOST "(3), " .BR CURLOPT_CAINFO "(3), " .BR CURLOPT_CAPATH "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIEFILE.30000644000175000017500000000551612626067776016007 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIEFILE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIEFILE \- file name to read cookies from .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEFILE, char *filename); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. It should point to the file name of your file holding cookie data to read. The cookie data can be in either the old Netscape / Mozilla cookie data format or just regular HTTP-style headers dumped to a file. It also enables the cookie engine, making libcurl parse and send cookies on subsequent requests with this handle. Given an empty or non-existing file or by passing the empty string ("") to this option, you can enable the cookie engine without reading any initial cookies. This option only \fBreads\fP cookies. To make libcurl write cookies to file, see \fICURLOPT_COOKIEJAR(3)\fP. Exercise caution if you are using this option and multiple transfers may occur. If you use the Set-Cookie format and don't specify a domain then the cookie is sent for any domain (even after redirects are followed) and cannot be modified by a server-set cookie. If a server sets a cookie of the same name then both will be sent on a future transfer to that server, likely not what you intended. To address these issues set a domain in Set-Cookie (doing that will include sub-domains) or use the Netscape format. If you use this option multiple times, you just add more files to read. Subsequent files will add more cookies. .SH DEFAULT NULL .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY As long as HTTP is supported .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_COOKIE "(3), " CURLOPT_COOKIEJAR "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.html0000644000175000017500000000534312652070415020332 00000000000000 CURLOPT_FTP_RESPONSE_TIMEOUT man page

NAME

CURLOPT_FTP_RESPONSE_TIMEOUT - time allowed to wait for FTP response

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_RESPONSE_TIMEOUT, long timeout);

DESCRIPTION

Pass a long. Causes libcurl to set a timeout period (in seconds) on the amount of time that the server is allowed to take in order to send a response message for a command before the session is considered dead. While libcurl is waiting for a response, this value overrides CURLOPT_TIMEOUT. It is recommended that if used in conjunction with CURLOPT_TIMEOUT, you set CURLOPT_FTP_RESPONSE_TIMEOUT to a value smaller than CURLOPT_TIMEOUT.

DEFAULT

None

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.10.8

RETURN VALUE

Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_TIMEOUT, CURLOPT_CONNECTTIMEOUT, CURLOPT_LOW_SPEED_LIMIT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_REDIRECT_URL.html0000644000175000017500000000434412652070415017171 00000000000000 CURLINFO_REDIRECT_URL man page

NAME

CURLINFO_REDIRECT_URL - get the URL a redirect would go to

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_URL, char **urlp);

DESCRIPTION

Pass a pointer to a char pointer to receive the URL a redirect would take you to if you would enable CURLOPT_FOLLOWLOCATION. This can come very handy if you think using the built-in libcurl redirect logic isn't good enough for you but you would still prefer to avoid implementing all the magic of figuring out the new URL.

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.18.2

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.pdf0000644000175000017500000001010612652070441016745 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥VínÛ6ý笠À0L.,V$õ¹ œÔEÓ:–gËmƒ¤0™®T8’kÉpó{•½ã.)Q²tP8ˆ‘"Ï=çÜC~‹P°ä§ùNz/g|.{|î}íQ5ÍWòNðåƒhݫߡà1ðNü¢‡žq¹˜Ãi´œÎúÑ—ži¢¤ç2ÂýÀÇùѪg„å˜%¨M,®¸O|Ñ¡wkÜ,æ£Ùôë;ƒßõ!Ùï6K—ËRTŶê›Ì± ü#+ò޶ü½m÷äÔ"¾÷[žnÔ@f4_Î,•ެִ-J8Àä®zq2ìVtˆðfÁë‘|ÞÑÄŽåI™þ~¬SnàoØ—byü ÎW°ËòÐGȵ]£Ø­ *äX;ØîŠoï«TäU–Ä’;Å×i™”2bs„ë_™ßLÂéüj~Z’ +ú)Ë“Í~%àw)ÓKù‹¤Èé k×%'N8—ñN Á‹ÁoÄàXÈ_Zj˜Hèÿ•qIïà…$f{XÝõ«q—È\Ñ9*ñÕh~9»šFWᤅ:µž)w·¹L­ áL9×(Kˆ —(ÉÕ©ÄNñA|ÆÔ‹.±G58tE1âØ8§]”Õ’§Y’B™ûÍ îܶºúõ¶V= AàP&Uÿt,;Ê I‘ç"‘‚ËùäMMëf¡›Îîü©lRƒõýŒ¸¾¥¡’‹*%¾ªjUªÖo-)ÿ©â{ß¡nû®ªŠ“F=d›¬Lúa%¤[d¡X€•  ,$tí4Y˜èSÇø?l7B2^l;›ÔvˆGuAH"µ¶,Whº–y,öšS‘+ƒf•Ôìg>$pgDiVþ¬²µâƒ{ÄuüVZë½;ì' .-ä4t«í¹‚Æ¡vµtfbor¦M«ý~AG+_`:Z ¢_Õê(‡b*ÙÓJ«gÞëSÃ2¹ÏdDnˆÄÇÙå5&6v‚4È\âHÕMÙÂ8²(Åy%>±œ³:Î2Ö¤é\sŸ-0ãf¸èðxÄï’0zó ).8ÍDé/·"ÉÖJãÓ”lÀ´X‘§I@=N,ÿ$ ^k˜¶¯ìs©­Ö8MJ,ËkÈc.×gÌ8j«èÀÊ0ñ<ÛZ£ÛÖX“Åx ÷è÷µj_æúF¼ßTä™XV¤Qv³åÏø+ÉdƦ"Þb›Ç‰x®C¨‡²ŸêóцãyØiqæ³ïĦ =‹-}ápu`Æ“7Fͨ¡kpº+‚r;üÀÆÑÍôì~Éùq`v›ãY]œLŽç¡[ë±Éîå <‚‡™Õ7©ã6q êÁÛ}x"ÛŠY»Í *—E½?ñóàºØendstream endobj 6 0 obj 1345 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:25+01:00 2016-01-27T08:26:25+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001669 00000 n 0000003559 00000 n 0000001610 00000 n 0000001450 00000 n 0000000015 00000 n 0000001430 00000 n 0000001734 00000 n 0000001988 00000 n 0000001923 00000 n 0000001855 00000 n 0000001775 00000 n 0000001805 00000 n 0000002070 00000 n 0000002136 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3713 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.30000644000175000017500000000441412626067776017316 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CLOSESOCKETFUNCTION 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CLOSESOCKETFUNCTION \- callback to socket close replacement function .SH SYNOPSIS #include int closesocket_callback(void *clientp, curl_socket_t item); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CLOSESOCKETFUNCTION, closesocket_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This callback function gets called by libcurl instead of the \fIclose(3)\fP or \fIclosesocket(3)\fP call when sockets are closed (not for any other file descriptors). This is pretty much the reverse to the \fICURLOPT_OPENSOCKETFUNCTION(3)\fP option. Return 0 to signal success and 1 if there was an error. The \fIclientp\fP pointer is set with \fICURLOPT_CLOSESOCKETDATA(3)\fP. \fIitem\fP is the socket libcurl wants to be closed. .SH DEFAULT By default libcurl uses the standard socket close function. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.21.7 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_CLOSESOCKETDATA "(3), " CURLOPT_OPENSOCKETFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.html0000644000175000017500000000436412652070415017546 00000000000000 CURLINFO_CONDITION_UNMET man page

NAME

CURLINFO_CONDITION_UNMET - get info on unmet time conditional

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONDITION_UNMET, long *unmet);

DESCRIPTION

Pass a pointer to a long to receive the number 1 if the condition provided in the previous request didn't match (see CURLOPT_TIMECONDITION). Alas, if this returns a 1 you know that the reason you didn't get data in return is because it didn't fulfill the condition. The long ths argument points to will get a zero stored if the condition instead was met.

PROTOCOLS

HTTP and some

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.4

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.30000644000175000017500000001107412633553325016454 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADERFUNCTION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADERFUNCTION \- callback that receives header data .SH SYNOPSIS #include size_t header_callback(char *buffer, size_t size, size_t nitems, void *userdata); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADERFUNCTION, header_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This function gets called by libcurl as soon as it has received header data. The header callback will be called once for each header and only complete header lines are passed on to the callback. Parsing headers is very easy using this. The size of the data pointed to by \fIbuffer\fP is \fIsize\fP multiplied with \fInmemb\fP. Do not assume that the header line is zero terminated! The pointer named \fIuserdata\fP is the one you set with the \fICURLOPT_HEADERDATA(3)\fP option. This callback function must return the number of bytes actually taken care of. If that amount differs from the amount passed in to your function, it'll signal an error to the library. This will cause the transfer to get aborted and the libcurl function in progress will return \fICURLE_WRITE_ERROR\fP. A complete HTTP header that is passed to this function can be up to \fICURL_MAX_HTTP_HEADER\fP (100K) bytes. If this option is not set, or if it is set to NULL, but \fICURLOPT_HEADERDATA(3)\fP is set to anything but NULL, the function used to accept response data will be used instead. That is, it will be the function specified with \fICURLOPT_WRITEFUNCTION(3)\fP, or if it is not specified or NULL - the default, stream-writing function. It's important to note that the callback will be invoked for the headers of all responses received after initiating a request and not just the final response. This includes all responses which occur during authentication negotiation. If you need to operate on only the headers from the final response, you will need to collect headers in the callback yourself and use HTTP status lines, for example, to delimit response boundaries. When a server sends a chunked encoded transfer, it may contain a trailer. That trailer is identical to a HTTP header and if such a trailer is received it is passed to the application using this callback as well. There are several ways to detect it being a trailer and not an ordinary header: 1) it comes after the response-body. 2) it comes after the final header line (CR LF) 3) a Trailer: header among the regular response-headers mention what header(s) to expect in the trailer. For non-HTTP protocols like FTP, POP3, IMAP and SMTP this function will get called with the server responses to the commands that libcurl sends. .SH DEFAULT Nothing. .SH PROTOCOLS Used for all protocols with headers or meta-data concept: HTTP, FTP, POP3, IMAP, SMTP and more. .SH EXAMPLE .nf static size_t header_callback(char *buffer, size_t size, size_t nitems, void *userdata) { /* received header is nitems * size long in 'buffer' NOT ZERO TERMINATED */ /* 'userdata' is set with CURLOPT_HEADERDATA */ return nitems * size; } CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, header_callback); curl_easy_perform(curl); } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_HEADERDATA "(3), " CURLOPT_WRITEFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.html0000644000175000017500000000654612652070414020650 00000000000000 CURLOPT_FTP_CREATE_MISSING_DIRS man page

NAME

CURLOPT_FTP_CREATE_MISSING_DIRS - create missing dirs for FTP and SFTP

SYNOPSIS

#include <curl/curl.h>
 
typedef enum {
  CURLFTP_CREATE_DIR_NONE,
  CURLFTP_CREATE_DIR,
  CURLFTP_CREATE_DIR_RETRY
} curl_ftpcreatedir;
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_CREATE_MISSING_DIRS,
                          long create);

DESCRIPTION

Pass a long telling libcurl to create the dir. If the value is CURLFTP_CREATE_DIR (1), libcurl will attempt to create any remote directory that it fails to "move" into.

For FTP requests, that means a CWD command fails. CWD being the command that changes working directory.

For SFTP requests, libcurl will attempt to create the remote directory if it can't obtain a handle to the target-location. The creation will fail if a file of the same name as the directory to create already exists or lack of permissions prevents creation.

Setting create to CURLFTP_CREATE_DIR_RETRY (2), tells libcurl to retry the CWD command again if the subsequent MKD command fails. This is especially useful if you're doing many simultaneous connections against the same server and they all have this option enabled, as then CWD may first fail but then another connection does MKD before this connection and thus MKD fails but trying CWD works!

DEFAULT

CURLFTP_CREATE_DIR_NONE (0)

PROTOCOLS

FTP and SFTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.10.7. SFTP support added in 7.16.3. The retry option was added in 7.19.4.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if the create value is not.

SEE ALSO

CURLOPT_FTP_FILEMETHOD, CURLOPT_FTP_USE_EPSV

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPGET.30000644000175000017500000000414012626067776015505 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPGET 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPGET \- ask for a HTTP GET request .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPGET, long useget); .SH DESCRIPTION Pass a long. If \fIuseget\fP is 1, this forces the HTTP request to get back to using GET. Usable if a POST, HEAD, PUT, etc has been used previously using the same curl \fIhandle\fP. When setting \fICURLOPT_HTTPGET(3)\fP to 1, it will automatically set \fICURLOPT_NOBODY(3)\fP to 0 and \fICURLOPT_UPLOAD(3)\fP to 0. .SH DEFAULT 0 .SH PROTOCOLS HTTP(S) .SH EXAMPLE .nf curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* use a GET to fetch this */ curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY Along with HTTP .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_NOBODY "(3), " CURLOPT_UPLOAD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TIMECONDITION.html0000644000175000017500000000503712652070415017162 00000000000000 CURLOPT_TIMECONDITION man page

NAME

CURLOPT_TIMECONDITION - select condition for a time request

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMECONDITION, long cond);

DESCRIPTION

Pass a long as parameter. This defines how the CURLOPT_TIMEVALUE time value is treated. You can set this parameter to CURL_TIMECOND_IFMODSINCE or CURL_TIMECOND_IFUNMODSINCE.

The last modification time of a file is not always known and in such instances this feature will have no effect even if the given time condition would not have been met. curl_easy_getinfo(3) with the CURLINFO_CONDITION_UNMET option can be used after a transfer to learn if a zero-byte successful "transfer" was due to this condition not matching.

DEFAULT

CURL_TIMECOND_NONE (0)

PROTOCOLS

HTTP, FTP, RTSP, and FILE

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_TIMEVALUE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.pdf0000644000175000017500000000767212652070426017532 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}×W Ò‡’†¸Ú彊ÃLeQ•è´A\ µ¶Øð¢ˆTm·è'õ;»¼Ir[€eïwΜ™s–ŸT|Úï$M–ÜU# w£Ï#&7¡ýJrxa€+¢ÛQó GÇ3ˆëA”\BMˆîG”Ëëå,\DëËp>÷/£(¸òÃëh}µºQŒ’Ã>[ó¸z\W¼.wµªé%”: þ“–E_>@ý=z;Ò(ÑæM–‡°ˆg d† Ñl¤Ì§ê×X î2‹Xžh£ÍH¹òÕè£:tJLê€Æt±MúçÁÿP§9/5Ü–{¨·’²(xRÃnW¼9ú‹†`4fWæ^½Ÿ‡‹U°:E Cdvå«´H²Ã†Ãw‚ ‰øE¶?ˆpÝ”E dI‰çÞÈ-¸ØÆÅ&ããçéCVw]7ê·ÈÒ ¿ñW—Ë`á\À@Ê™Õ0þ?𱈑œ{ĵÆ›'Õª‚X&'ÔPmËC¶ôÕqZH*óø!͹ĸ–§Y–VC6Ä5<–ˆ³¬”ŒÛ”Í7¨N\½mï}ÝC`"Âu{"a =Ã9kÚu)È Ý"NUWSÅ÷Š dÄbTïN3hsߡãO"Æ0ˆî:^ƒ ºÑ6­d®]žÂd@Yd¥yZWÇ3ÕãCZþE i¾‹qÜÊ"áÝjÎ7V¼xþâ{%iÒ\¤Á°ú‚t·ÑhuŸÖɶ-6üVeBƒž«Ä‡¬†*jƒ2×PiVkØ#\ 40(…¶I"?ÇU B£“%£Ý PèF§Ãn@Ï…}" ­{¦ëFã¤í1Rp(Ò-K?á ëD§©³Mëa(rOY»ñXÕ<¯Æ4­pÒî¶5$ñg¡Jï ,AÐò‘®l0CÆ«ªÖ—£SFX{Úàwópü4Wu™³me:ìêÈ;>ÚM,¦G “§ÖabóT‹?¶´LWT„ýñ˜ÙU4½–»LØhk{ºm8íî,ê‰8âeá8Žaöc7ñç[,[¦!q039mAšN¨Õ ~AØgÕ âP»o8;³Aî!’Ê4Ë^Àáÿ6½ZÌüçìt0s¸~ ßÙfZ¤hšÂÿ„¸ué®éí""ð‚ú§Éêú <µ[±2Ø,~áÕ¶®wßL&\Eê± †ò绌“¤Ì_‰Lb Z#Ÿ\ šÄf}"wTä…ÆDNýïb‚ˆZœ/¡95ýA¨¤aîÆìHíšH;k9ÑtSFkñæ8éŽïñöË;®šèž,åŸv -×}r7ŸôOŒª|]P¦ï`: %¶Õà fÓ×Á,ˆÞŸv6„¹ÃÒ]OÍíãu÷Áp%¡è,»spÔÿÓá²Fôic”K?º^ÎáÊ “x6CY_ûgš>º—¼>ìÛWþüÒ[ïÃt¶ ‡°³óάòŒ¼ýôNUÒlƧa»/{0ªY¨Š7.fÚʯëÕÂ÷߬gÁU[ÙOGcÆ—*16#vsr–~”*sˆî§j̲<“X sàí¡ôKSnöçÉ ô£Ñ/øùì8»£endstream endobj 6 0 obj 1212 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:13+01:00 2016-01-27T08:26:13+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001536 00000 n 0000003419 00000 n 0000001477 00000 n 0000001317 00000 n 0000000015 00000 n 0000001297 00000 n 0000001601 00000 n 0000001855 00000 n 0000001790 00000 n 0000001722 00000 n 0000001642 00000 n 0000001672 00000 n 0000001937 00000 n 0000001996 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<5100E59FAE975CDC0FC0CF55AC4B46F5><5100E59FAE975CDC0FC0CF55AC4B46F5>] >> startxref 3573 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.html0000644000175000017500000000502012652070415020144 00000000000000 CURLOPT_SSH_PRIVATE_KEYFILE man page

NAME

CURLOPT_SSH_PRIVATE_KEYFILE - set private key file for SSH auth

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_PRIVATE_KEYFILE,
                          char *filename);

DESCRIPTION

Pass a char * pointing to a filename for your private key. If not used, libcurl defaults to $HOME/.ssh/id_dsa if the HOME environment variable is set, and just "id_dsa" in the current directory if HOME is not set.

If the file is password-protected, set the password with CURLOPT_KEYPASSWD.

DEFAULT

As explained above

PROTOCOLS

SFTP and SCP

EXAMPLE

TODO

AVAILABILITY

Added in 7.16.1

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSH_PUBLIC_KEYFILE, CURLOPT_SSH_AUTH_TYPES

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.html0000644000175000017500000000505312652070415017146 00000000000000 CURLOPT_PROXYUSERPWD man page

NAME

CURLOPT_PROXYUSERPWD - user name and password to use for proxy authentication

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYUSERPWD, char *userpwd);

DESCRIPTION

Pass a char * as parameter, which should be [user name]:[password] to use for the connection to the HTTP proxy. Both the name and the password will be URL decoded before use, so to include for example a colon in the user name you should encode it as %3A. (This is different to how CURLOPT_USERPWD is used - beware.)

Use CURLOPT_PROXYAUTH to specify the authentication method.

DEFAULT

This is NULL by default.

PROTOCOLS

Used with all protocols that can use a proxy

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_PROXY, CURLOPT_PROXYTYPE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_BUFFERSIZE.pdf0000644000175000017500000000771712652070424016435 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnâH}ç+JÚ3 =}ñU»Z‰$ŽÄ Lf²a… 4Ä3`_&bþiÿq«Û6&L²]®:uêT•Ÿ€T½ªër×ú8v`“µ(lZO-¦¡º,wp «þÖ­òÇÄõ صŒ«é¸?óËvð­e9„ ª ƒU˦Mž[ÆôæÆOzû3CÌÚ°,Òí\†ÙažÉ<Ùçí·¨_¢$ΠqøOð©%L›xnéðÌ Ø¡„3Œ²Dœâ$ž¥ vLjÆ #l}ã «Œ©²c±†ÝF ]+ÝdhÊk,mm š]ˆ¶û$ŠsHÖˆ/Êjh*lG`º&µŽ|>' $ŽýâyµS×1µÓb»‚…DOa®Ó}N£…n·‹pù62Ïô/”þ.I%FÍe ¨xŽòGÈvê,…åcψðý­ÈÐ_*Ão ±lfá´ýŒT>2Ë/ Nrt Iº’©,)éfÄ®”`û&v’‘ˆ2V0™M¦aœK '.óAT.:ÅÍËr2 êôCžDöǶ5«£8;-Ž m ¨tÙ:Ü3‰+ £:MqL·*2¢´§˜Y`%µ Žƒ×¡•Âb›ë™ƒ¬-¢ºì“,‹[ 3ã\Þç1¯u¦Úu~Ûý:ÿ2îþ\õê™Ú±G­ŠËcÖ¾€,¥#=»ð;¶9¡Ôs ‰xeœIÅ_¡.Jhzèqb9̳ ZŽvˆÖªáYûa–g`”ÿJ%mËB÷Ž0ÈûC㦪‘eºŠqœÛ3«–0ºÓRNÊ[5ò¹-ê6îÇB5©wtÇ9âˆüm¶ÞD5W L¡A1ÃÖ]Þá„ZzÆG\‡Úõ>ºöÏf7fá!¬Ww»}‡ÿµ{;êûµŠÝ7ÇiÐÀ`Bɽq=¬è³\÷•Íê)Ëc4År9*ºwÐlY®dÀjåõúÝË^¿ÜŸéÍ"ÂÄ/ú½»ZacâCéÒÿÏôÁûÁt<€»6¸-mftûS¿Rϯ £½Ì‹´zÆðçÃÏJ’ªçk¢®‹ý>Iq,]è)VNŸö°Œ/ƒùPï*u#Ž“w•:ñ}èö'Ã&‘³Ô;T)mì_ÝÍ'#ß¿>ãÉt‰Ç-„>/ýa8Û¦§}®\jáÞLWõr=õˆSÓùÅ£^6‚ø g—”U›Ë!BÛfY8Ç,ƒ9ð©ˆSfjÌ£ˆ™rå­¿ðõ÷¤endstream endobj 6 0 obj 1233 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:12+01:00 2016-01-27T08:26:12+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001557 00000 n 0000003440 00000 n 0000001498 00000 n 0000001338 00000 n 0000000015 00000 n 0000001318 00000 n 0000001622 00000 n 0000001876 00000 n 0000001811 00000 n 0000001743 00000 n 0000001663 00000 n 0000001693 00000 n 0000001958 00000 n 0000002017 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<4EB0A01CF8DAC61CE817E74C20AAA378><4EB0A01CF8DAC61CE817E74C20AAA378>] >> startxref 3594 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.pdf0000644000175000017500000000711712652070424017370 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UoâFýߟb¤þ³œ`o׿­V•q*îæ`¹ö*äà%q‹í¶ë‡êw¼Ùµ˜¤ FÛ³³ïÍ{3þ Œr`êhÏ›Ìx?÷à¡4<_ ®B{Údp%0ÀW7ÄÖhÖpðLð‹úˆÌ £å|ÍÄzØŽG-Ÿ©@‘/L㎌FáLˆñm-Åúv±"Öª›z¿[˸üg]ʪxªzÓaÿ¤E^Â9ïŸâƒa1‹ÚMÚW“©ÍŒšAms€˜ià(ØËeÔóÏzùT#e*Ž;Ô ¬6ím¨îŸéšŒÚ̃7ÕcÖ9¡²¦w‰þ…*ÍdQWpèé×'qZ¥ùl‹=܈”rÿ­Çíf½ÜCUÀ¦Ès¹©à>Þü­ _R@.õ5ÐÅ—i4[Œ]¸:DC%?¥ùfW'~Q%~¯~èã¯*Ü´AL ñ®!²)0æR…•~ïã<ÙÉþ3lvI¶»yeåª÷ó[¨¯ÃÅh>ž‰q4mÅâN£Õ+ fñI£€úNë'jÚž’”%ÄÍÖ•ÜíTiwé½"Õ£„,þžfuyÝcu‹-d)F•‹œ”ªÚ] ŸQ†Ÿr»Ä(–V*~¦“Ã_Ñ ¯5éé+]«#¢Ã£Ì!Æï¦J;Ä=ŸÍæŒZzÉ7 7gob÷´Ä›„hœvwìHK¨K™ÐÆÏ«Î-“šN§ò7íÆŽí«Ôèì€Ûm—’áR?åºMS˜®ÕÖ…LÄ ÑY)ÅÁó<Ë>R¾#ã-äÅÉúˆÝÔ×r¤y%÷y¼ƒDn{“qÛ%q½«”2.ìH‘£ni^WÃå‚{Ù|ÃW³yKζ49ÔËtqDiø“2'Ðå‹D'*¦E=æ;M.š « ½?‚mû²ÒáÃÛÙ$¼6s¨Û¤<œª1àŽƒ ‚¯·u&öNnŸ<ÌUªPŸðø¸ýÁendstream endobj 6 0 obj 949 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:12+01:00 2016-01-27T08:26:12+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001272 00000 n 0000003076 00000 n 0000001213 00000 n 0000001053 00000 n 0000000015 00000 n 0000001034 00000 n 0000001337 00000 n 0000001512 00000 n 0000001447 00000 n 0000001378 00000 n 0000001408 00000 n 0000001594 00000 n 0000001653 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<463C3F620185C4B2BDE827CDF1C4EB72><463C3F620185C4B2BDE827CDF1C4EB72>] >> startxref 3230 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.html0000644000175000017500000000443112652070415017706 00000000000000 CURLOPT_UNRESTRICTED_AUTH man page

NAME

CURLOPT_UNRESTRICTED_AUTH - send credentials to other hosts too

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNRESTRICTED_AUTH,
                          long goahead);

DESCRIPTION

A long parameter set to 1 tells libcurl it can continue to send authentication (user+password) credentials when following locations, even when hostname changed. This option is meaningful only when setting CURLOPT_FOLLOWLOCATION.

DEFAULT

0

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Along with HTTP

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_FOLLOWLOCATION, CURLOPT_USERPWD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.pdf0000644000175000017500000000752212652070447017413 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}×W Ї†´á.—7´( Ø ª„ŠJjØ…@StÈB"e’‚Ñ~C~¥ÿØÙ劺X­!À²ÄÙ™sfæœÕ3„‚!^ê=Ý ÞG|o|<¨|ê-ÝÀ‡\ñEü4èÎPp8žI\âÍà^»^DA8‹—q0ë'žË©¶ˆ[.æ~4Õÿˆ? ¨Éˆçááx5 1,ˆ_ðäøÖÐÌÒ]½^fIóײÉÚjÛê#Æ=Ldiø¡¨ÊNŠˆ”Œ›„Z]Êû£r&ð Öç–Á#ƒ0ŠpSdã!âY‚ÐÈtlB9ŒL[¤Ñ¦c=þ[qˆÒòÌ.½vë‹ï`á†#ÊÄc£#óF$.æ\ð욬†2ÙdÐVâ‚«<)Wël¯ >;?„4Oj¸4ôŸß¢qãϯ£É,ž„S §…“•ú@i–ôCòˆ«6À †+Æ 5 $ª8$ l“›Üfµ¤L,W³3=W wør:#û‘çEšC“W»õ ¶UQ¶bP8ø;«ñŸ¬ÞeÒf+9ÉóAЏãaŽ$+Jbz{œPÛ‘»QÂÌ«4Û,-~`â—¢ÍE¦n¶ÔØ‹Ð2‰ÉúÅ?™‰ÐÌ~&ñÝìHG"6ârGÑìäE ÊžwE5X0i/UEì¼oí(qÃ%v/„{í2”™îzÆóù7¡Pnkats G±*¯ÒR !Y7¬©Ä‹x~\Þú·a¤¿†%»M]‚v­W ‚ í©•Ç»öQB©ÁŽ4s¯åYÁ‹.eh»zaQ6»')ßþ‘hMgÉ='I3rÁ¥©ƒ=·Ž/߇q0}>íØCÚ_ƒÂ^yë\“^0íJ`XA&ç½N©Håǃ/øúʈYwendstream endobj 6 0 obj 1101 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:31+01:00 2016-01-27T08:26:31+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001425 00000 n 0000003315 00000 n 0000001366 00000 n 0000001206 00000 n 0000000015 00000 n 0000001186 00000 n 0000001490 00000 n 0000001744 00000 n 0000001679 00000 n 0000001611 00000 n 0000001531 00000 n 0000001561 00000 n 0000001826 00000 n 0000001892 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3469 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLKEY.pdf0000644000175000017500000001011512652070445015770 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥V뎛Fþï§8J~¢õ„.mUÉÙ°ª³¶qmœfµ[­X<^Ó°àîÖ}†¼Jß±g°±½‘"U– Ìå\¾s¾oæ „‚!Í3~ê½9ðXö xì}éQ5 Í#~‚w!.på@¸êÕ{(8 Ï$®áSÏ¥Äc>÷nµËÅlLÃûù|tíßÜiæñ¶HïETîîKQå›Jï3nÃp4üHò¬„vé„z}ƒ0Š.bŒÀÈÇe¦ ᨧMú4ÎRN¸gb`á²§}=ü³23ˆe8ЧLN2Γ0á_(7"NV;؉Ü-seÙ¢„±Æò_‘œS=B]ϵš‰JÀçfm¶›z^3-v}¬³ïk*`•˜Í¢l Äi"² bQTuÄû _M†¹ØÄUæ7“`:ÎSF€štµ×I§Û¥€ŸeÞÊ?²þE.g–BQBç¸à´Lwj Þ¬1²T\œ ¡gDåÊJ,§Éè"î¤j™‡T×QoŽAbœPû»@ºÓ:ÇÂ䔘N‹÷þür6œ†Ã`räçE\¦ÝZº¼öe‡¹ªAÊ"ØäIV‰ª?þEøõ”dQ%–PVE’=BTÂ&*¢'SÒ¢‰íâªì(#¦Õ¶ ÷î(%®é´i¯Ek©\çÛt *”­‘¡YÈW°Ë·Åyg"ë¸ý­Ùb!çú³ˆã²= ŸÛi›ŸíEx;è9±l£qkÔ¤Çp—b¥{·RS‹¶i%Ûú)ª )áÕÔ¿RíG™L/ÆŽzDŸ“j­hþvF–¬Ô$­õ–†7S¿–†£^§Ô%&oaV٘ܖFú²ÃeQy]Ô[íNK‚šiã(|ýy–îP£Â5FZË‘Œ9yÌòCLVŠð¬S¥X˜\ :JŠA=®mÌ4zÔ¹úÄÉ$++˜ Ü#3“kE”•›¼¨ÈaTflas´­‘\ÔW‘·ã]±ºÕ¤:åÚß(SU©DöC«‘ªvŽM¸iÐÿ§UFSs±%? Çq ßSõVËnh"R(' ·õ^‹lZˆh)%U”RÑ’LÅ}ìÜu‰ó€-ƒÛQ)§×—ó×ޤGœgKîHÃR1“¯1’“¼ œ“,ïŠÅU·j¾âZTûÆá`¡f©,zÓöÌ6[•øphD™“ã8æ¾zÚd1½ [v'Œé¬‰Â2Ýhf; úØ ÜSX!{ŸˆµcØíywŒNäÃö0Žã6Òiªš‡¨ÄÎÞy•ÇyZþ¿†át~Wê8ÈÇ4˜šø˜qD¿éQþ§Áx:òÛÚºßÔÝðR¶Ä}4xs×=;ïû–'Wî½É²XuNap€EªmÅc8¼ކá͉\pTeôq̰á YMk«Y-‘YôŠ%iDê[Éßj3?\Ì&ðQ§¦E<›jƒÑÂovc€V˜YÇ?Õ¶h.@þ}p-GzF *·É{±¼hf“ë‰BÉ48’¦ii¬æìï“û@~ÒJ–WH˜Z› m o‹ð>¸ºûã`Ö¥:ê)³Z¦ß$Šé«ªÃtJ(=;PÚžå à1Û•"‰J¸]éxÚàˆ£}Õ¥f-¢ ^µ¢X¼„)u¸TòÎåÆ÷a0š‡Þ;i¦óâ¤ØR¨Û†PgÇű-teïO³£Ûë¥?Ó-)ó–­…'¥ô<ÉK÷Ìn_^…ÄÙä±k“iò Nï*ÄÐû”sÅT£|ØfÀÐA}"ìùL¥)?ìý†¿ÿ|5è—endstream endobj 6 0 obj 1352 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:29+01:00 2016-01-27T08:26:29+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001676 00000 n 0000003566 00000 n 0000001617 00000 n 0000001457 00000 n 0000000015 00000 n 0000001437 00000 n 0000001741 00000 n 0000001995 00000 n 0000001930 00000 n 0000001862 00000 n 0000001782 00000 n 0000001812 00000 n 0000002077 00000 n 0000002143 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<30714464C25BB9A2B5191070EDC4DC04><30714464C25BB9A2B5191070EDC4DC04>] >> startxref 3720 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.html0000644000175000017500000000526212652070415017224 00000000000000 CURLOPT_TCP_KEEPINTVL man page

NAME

CURLOPT_TCP_KEEPINTVL - set TCP keep-alive interval

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPINTVL, long interval);

DESCRIPTION

Pass a long. Sets the interval, in seconds, that the operating system will wait between sending keepalive probes. Not all operating systems support this option. (Added in 7.25.0)

DEFAULT

PROTOCOLS

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* enable TCP keep-alive for this transfer */
  curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);
 
  /* keep-alive idle time to 120 seconds */
  curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 120L);
 
  /* interval time between keep-alive probes: 60 seconds */
  curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_TCP_KEEPALIVE, CURLOPT_TCP_KEEPIDLE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PORT.html0000644000175000017500000000462212652070415015740 00000000000000 CURLOPT_PORT man page

NAME

CURLOPT_PORT - set remote port number to work with

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PORT, long number);

DESCRIPTION

This option sets number to be the remote port number to connect to, instead of the one specified in the URL or the default port for the used protocol.

Usually, you just let the URL decide which port to use but this allows the application to override that.

While this option accepts a 'long', a port number is usually a 16 bit number and therefore using a port number over 65535 will cause a run-time error.

DEFAULT

By default this is 0 which makes it not used.

PROTOCOLS

Used for all protocols that speak to a port number.

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_STDERR, CURLOPT_DEBUGFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.html0000644000175000017500000000530512652070415020243 00000000000000 CURLMOPT_MAX_PIPELINE_LENGTH man page

NAME

CURLMOPT_MAX_PIPELINE_LENGTH - maximum number of requests in a pipeline

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_PIPELINE_LENGTH, long max);

DESCRIPTION

Pass a long. The set max number will be used as the maximum amount of outstanding requests in a pipelined connection. Only used if pipelining is enabled.

When this limit is reached, libcurl will use another connection to the same host (see CURLMOPT_MAX_HOST_CONNECTIONS), or queue the request until one of the pipelines to the host is ready to accept a request. Thus, the total number of requests in-flight is CURLMOPT_MAX_HOST_CONNECTIONS * CURLMOPT_MAX_PIPELINE_LENGTH.

DEFAULT

5

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.30.0

RETURN VALUE

Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

CURLMOPT_PIPELINING, CURLMOPT_MAX_HOST_CONNECTIONS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.pdf0000644000175000017500000000722612652070455017351 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Ta£6ýί©JV‹Ï6lµªÄíQ)Ý,¤ ¹ö´[E\âMh äÙUTÿcm!É^{Š<žyoÞ›ùÀúÓ=W;ëÝ,€MmaØX_,b¡{¬vð>U\¿HŸ­ö€B \Ĥ;˾[Ì&ãøçdÒ?-Ÿ î ¡âÒµE\$|H_­G;|ˆ&Ir¿˜.ÓñCôd»O#XÅRfõßËlòò¹9ÔÃãÀ®öM^•5œ%ÿ#ýÅr1EÔo“-¥Fà`D‰‚¶RÈ…BŽ„§Á;®ÏqA=Íí8ÔÁXÇyÂí²>Dúý@šbÄp¡ú·lÎ`¹žì^¡@q‚f+¡ÌvŠªú븇&ßICäšÊï#nÌ?ÅÉt>ž_Â0!‚ý]^®ŠãZºïôÚþ¤Ã)ƒtb¥7-ÀU¥bÞôøÉœÁÍ6+×…¼=ï°Ë4¸¢r ëêø¹p£ÑïŸF?|‹Á‡h~7OÓqw‚¯Õã+l¦ÙI¸×ª€QÀŒq캆 öU^6òM¥þthÔïƒ\Éü¢¡ùÊž­ûî’¼¨ðsµ]â_×ÙêŒMV‰ /¡–«ª\×ð|¨vFǺÉ Ë&/]²®Š—¼ÜÀ«À爻]};« 8F]êDxUíö…läuTõ¹”ueë¦Ï¡}?ðâòI?UŠÎYË(œu‡—ÜQäõLÛ“Gû5©Ù²ËƈgîRŠŽIww+[ÃÜO;A¼Opf¤‘Ð>ñ¹Ý;JO^ë‰^`î¡`¼ËJØg‰ÚçÆÑó½3óLg¢Ìå†SßKêP„=aZ–¤œÚ :`¿á»dr5=Žâ¸ŒD‹â-– G¿‡ÓIÔÛ‹ÿ§Ó†Úw¤s°ýÁ¼V…=Îß.#&t䩚£½jh…aXLj÷øéí4ž„ïÇ“qúé’›V™©çÊ×k¹Ö6ÚzÿOõÑžEébÃÇÑ+À'v8YDWŠŒU¼lއn;GËäògãÜvkC^C}Ü遲2ù-¨=Ó.âû8Q Óþ-^&f=è‹eÕ oîÄ(‚p2O"×®÷œr;ÂÄvuÅ#`(8ÙÚ6Þ½½L«ªú>î»>$®e£^6? ˆ¼IåÁÕ:L±a-¼"ÿ¬i9Â#‡xŒr›r  ¨AÉN6’E©õ«úü 2Èî®endstream endobj 6 0 obj 921 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:37+01:00 2016-01-27T08:26:37+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001244 00000 n 0000003127 00000 n 0000001185 00000 n 0000001025 00000 n 0000000015 00000 n 0000001006 00000 n 0000001309 00000 n 0000001563 00000 n 0000001498 00000 n 0000001430 00000 n 0000001350 00000 n 0000001380 00000 n 0000001645 00000 n 0000001704 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<73084B95FCB3168A851AF0B68A9B056A><73084B95FCB3168A851AF0B68A9B056A>] >> startxref 3281 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.pdf0000644000175000017500000000726012652070456017042 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœU›FýŸO1RÿÁ§c³ËòS­*‘3QœãØë¤i®²|öúŽ ƒÏàV—ï”ïØÙLp®M…„Í2ûæ½™·Ã#P€ª«ýÝìsî+ƒÂ½ñh0ýÚŸÍ^ Ô‚ØÍ¾ ~ÈI‚ØæÍržL¦¯ÒÕ<~?¾CB [ñ å þ6>›Ëx!V‹Éïñ­ÉoG°9ó•\WO«{YgÅ®Y¶KÍòPgeQÁòñÆàœÎÔ ,•Ò¢ÄfÈfƒdC$KBWñµê›ƒÅ=½q©`ªâ˜Kܰ|«õ^§M‰C}°˜­^ÓFÁ€£= ø (ªì‹„r•,j8ÊÇ“¬jÍ}H ©XÌ#N¼ø4Mg‹Éb˜^‡èÔæOY±ÉO[ ¿¨Š½P7òð« ·‰!®b›c¾+ê­~Wëb›ËëaYC.w{×—Å=\)!‡ÛÑÏ?"?Ž7óÉLLÒiÛæ6-xFÈl}.}H·)<#~è©êšUk8”YQË#Ô%>h.øï(72à3Û'n`7è0Å !þ’P÷íõ÷œ Oã6M|À ²^ççnÕ¸’UÕIn»žUÄCVá*T%ìÎuZ¡,ò'Ø•Gx-ÄL—Çb.Gô¡WÌiZÖ˜ña]ã ÷ë'¸“°/zµ@DÙå…lר€ÑΆ6š´ÕÙ´9‰Õ«4IÒ‘K ¥a`~LÒ›hÄ}|òSõ¢9MïÎ×e„¶Õ0‘‡,Öw¹Ü’&áàÄ0›|ÛäÙ¼­½Ã]X‡Øžß’²°ún¨%§Òsõm¬ õºÓu“&· }î8gwDyþ=•Ùâߢw³$îŒü«ÑDOƒq嘆ÄX/cb7ž™¡ŠÆjcQÖä‡c+Ž!Ji/ä’Òå(¡•)sC³¼Ð Ÿ‡5µw¯‡°>ö¬ëb[Éå K‘ì'áë8Çs=ÿ.úhÝgìY4<)> œ^òRa­Æíõ9–Ï«Ó>DãË£éxý—­Od±ÀVë–cÛÄÑ/óìNéWrÕߢ¢ÍPY‹ÀßÚŸz´³«<€ÐÛx€Ýµ ã=^ÿÓ5endstream endobj 6 0 obj 947 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:38+01:00 2016-01-27T08:26:38+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001270 00000 n 0000003153 00000 n 0000001211 00000 n 0000001051 00000 n 0000000015 00000 n 0000001032 00000 n 0000001335 00000 n 0000001589 00000 n 0000001524 00000 n 0000001456 00000 n 0000001376 00000 n 0000001406 00000 n 0000001671 00000 n 0000001730 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3307 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTQUOTE.html0000644000175000017500000000460312652070415016556 00000000000000 CURLOPT_POSTQUOTE man page

NAME

CURLOPT_POSTQUOTE - (S)FTP commands to run after the transfer

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTQUOTE, struct curl_slist *cmds);

DESCRIPTION

Pass a pointer to a linked list of FTP or SFTP commands to pass to the server after your FTP transfer request. The commands will only be run if no error occurred. The linked list should be a fully valid list of struct curl_slist structs properly filled in as described for CURLOPT_QUOTE.

Disable this operation again by setting a NULL to this option.

DEFAULT

NULL

PROTOCOLS

SFTP and FTP

EXAMPLE

TODO

AVAILABILITY

If support for the protocols are built-in.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_QUOTE, CURLOPT_PREQUOTE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CRLF.30000644000175000017500000000343312626067776015120 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CRLF 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CRLF \- enable/disable CRLF conversion .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLF, long conv); .SH DESCRIPTION Pass a long. If the value is set to 1 (one), libcurl converts Unix newlines to CRLF newlines on transfers. Disable this option again by setting the value to 0 (zero). This is a legacy option of questionable use. .SH DEFAULT 0 .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY SMTP since 7.40.0, other protocols since they were introduced .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_CONV_FROM_NETWORK_FUNCTION "(3), " CURLOPT_CONV_TO_NETWORK_FUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_LOCAL_PORT.html0000644000175000017500000000414412652070415016742 00000000000000 CURLINFO_LOCAL_PORT man page

NAME

CURLINFO_LOCAL_PORT - get the latest local port number

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_PORT, long *portp);

DESCRIPTION

Pass a pointer to a long to receive the local port number of the most recent connection done with this curl handle.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.21.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3), CURLINFO_PRIMARY_PORT, CURLINFO_LOCAL_IP

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.html0000644000175000017500000000451312652070415017472 00000000000000 CURLINFO_FTP_ENTRY_PATH man page

NAME

CURLINFO_FTP_ENTRY_PATH - get entry path in FTP server

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FTP_ENTRY_PATH, char **path);

DESCRIPTION

Pass a pointer to a char pointer to receive a pointer to a string holding the path of the entry path. That is the initial path libcurl ended up in when logging on to the remote FTP server. This stores a NULL as pointer if something is wrong.

The path pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call curl_easy_cleanup(3) on the corresponding CURL handle.

PROTOCOLS

FTP(S) and SFTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.15.4. Works for SFTP since 7.21.4

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.pdf0000644000175000017500000001344612652070450016732 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­XÛrÛF}çWŒkº„!whSIÑ2U¢›Ex7)»FàPD0ZR¾Á¿¢L÷àS«ªTt!‹œ[÷éÓ§{ð…h” «÷`;š\9ä6iävôeÄä ©Þ‚-yãÿð×£r #ŽNÏ ®GüíH9þpuzqéþßÉéÛãéÕÛ³éØÿcĘGM¦û«‘¡QW'þýh¡øÇÿY*ÆrL‚]}<üœ‹"I‹±ª›õ\KaçdϾ×þ/#ƒÙÔ+÷mvÃUê , À` ¦ž…6«¦aSÃ$ªaË%çÒ: ç1‹ZžQmu6Ãï[_uššCT¦ã°VZ¿Ç$ÆÕ˜¦'"b~ ² 3IöHîÃhðlEŠŒÇùZd¹t¢o"˜¦‚W®4dþñüâr~2ï›#§HS”…qíV‚ü€Nð…n~ÄéºIüÓ‘ÿº44H`Îæ¥"¯7<^EâpÈ s¥G‡$Jâ[’ÄÉz¬›SY/Çÿ~ɇ·³ùñÕÉ¥rqþ¬sQ”cL«éeQƒéUlŠ<•¹Êº:­‰ŒN½fšF5ÃÀà(EÌ ×ä1Ù‘{ÜÙb”™ºÞΓTx\˜[ǃlwQ¦´o‘È ‚$[…à4Ìáø‰ùV”…ÈbJüMó<&7‚ä©TIA×£†í6¤¡šÉä™á7±"<‡…YA’5)6bà»è2Ó­ÈXGÞ~·¸:µLVM-³åìr4 ZÇ[^5 ï$'ä\d;3¨aÕti› «µxšUªVN.•ùFD¹C|4Ísë3<…dcéÆIÕÁ<Çë%Žñ¼hœGþ-•Ùå˜JK(Óä¹ÈÞ7d%Öc”f{ ‡Ã$38 a øÑ µ9¶­,"áºqÁJ>JÓtO§ÌskG™ÆJG0É4KÆ Âàiºò5„Ü&e$ëè¶é)÷qs@åiµ_ÏÕõ.ðPró¸'̶A5«&xåwçu†ƒ ÷ù݇ócL›2ì}â3ÛzõâN«cU]w(ÄZE€Ó›6Ä&u˜×dVŠ5—%«]i,„!Ͳ²N¢ýVîó£¹òQÝÔÚD­¶r ŠiU¾)svu2ÿU‹šVÑBYéÑd"$™˜å)cEƒd;É“­˜@nm&}‘ŽC-±œjë×´x(ZͨmkU¦+Ked„eaâA ÀÐêÄÉ×åžD§^Ÿ%[ŒÉ’¤h•¼LÂj(iºÛâ'õ}‹¶G]·æ™òa6Ç€’³éU‰‡Mr½ÖÁ÷;‘ËlyvW2 u(îÇ4›ÖB¦<.•ªÜ±jº­Wâ¡ã•V˜uÐyPD å‹ï†gðYdcËRhÉf¦—u²dÏ?¨t“ÉOôTÜv|i£¦2ËÂÙ-ˆ õM ¢Û ÖB¹šŽM­4äø×™Of¿]^Íæs,0hs€^«:PH̪á€HFb]ðøn hišn*¤(ÐeðjÅF3¨|v˜òf"Ï¥„à>_z¡‚ š †ùÙðÅ:*Øo²FklüÔá+ˆ^ †[Eϲ1Ï»ªì´©( Œa:À„N…qm«ô3A ·‚ÇRÿâÆ/é°cÔ~u]šñ`ÓñÞ2¬r–ÌxŠÖ˜ïÚÍv14:«¼’8’…·›_$84\5ʯÔwÐL!~5ÝKÓŠvÚ‘ÜØ¬w¦ó*ž&ýAΡ\ ©äØ®”´ÍM+Ѹ?0We€¬f4â¹àêŸSõwíÉ»îkeR·V¹$+Çú÷Rq±~º}÷ôóõ^ò›H3õ)h©nËû‡²Ú}•]˜§; ¾sTP3;Üû†-X«–jÐÅQ·ë*Ñž,âÝVd²’öÝ6RýmÎüTÚ9 jR+†/ öêy£{Û¨ñó¨êT/“M@?Ô:gP»|3ŠJHíÌâhP¼1IAU°yéoÑ/CG×$d®û60R¯*€î(¯DÛ«N†Îwišd4rÖ…L 5סwjÇxÑú.z‹ñáÀfÚ´#žì~ =ªÄëlbtù:Ø5©Î‰<åЫ»ÿg-Ò ÿn­÷òÂUxz¼~ZûW‚9´iI”4ƒÜÚÓPxÏ\ï ±Ù`ÕQ¢çÖÝD<¾¬ƒDzqÝmÆÓÍß8ïa:x`=NèGA¿›4¸^¨¯>I*cïê ÒzÛ«C«æ=-qÜæRaáÂ{¬c²N<p[®Õ?‰AöžÉÁ5¾,ðåÕ6îàÓ¬½y§&ä¤dI“ÿº‹©ÓT+Ëí[´Û­Š­ÑܱúµÖk¾ï•Zƒõ»{i}ºËÒ$Ü”År ×Kø¹ì‘0›zF+aâÝÍžŠª§å% *1¹.1Y.hi#˜¨á ¤ Öy ”5y'o³7I(hMø*:RÛë•Cþ­5Ï©5B܆ë pÄy‘ÁUB¬¤fªLƒcüƒ½$–ãő̸£᦯ì?†À;P¯§¼¼ª0 ·º é¶£7µB«˜yá“‹ö*j§Ùõ]ùøâtð4FÂ8†i:B£!x±Ë +^ç†ãµäIV>$޾¢/=O™ý6=»<<¡ê=KdSHËÇAüáæbRÝ™'Á" Ö÷dº)¶Q'è5Üï™uÏVeWMÿKz—=ÛbµòœœNßœœžøla¾ .ÈÓÕ °€¸ {—<†¡ŒÙU!ªnú@VèÉÆxOðLj)Ì&¿ìb¢kÌ”€™M„î2óGïá÷/GUŠendstream endobj 6 0 obj 2165 endobj 14 0 obj <> stream xœmQ[Oƒ0~ï¯8H×…>ΉQ7AYqjˆn8gvs°ÿ½-§Óôá¤ðïÖw ˜±§Óê¥ÌKD`ŽÞ­B;¦+8ÕÚú5;â8T WÈdé(¹Ñùärt6è§g×}W¿!JÂÀõ q‚CúÝ;zpñàð¦ûÝ2/žÊϼ,ªÍ¶r=&V¡ï˜Ëb³.áÞG}…8•X5¼ßlV°—*c+ß:õ—˜ ð¸´@Òˆ§‘ÎÒî\ÊV’:ýQÕ¤‡ŒfÁ£Ì.|Qíw­“(O†°xêµ€Æ!,J(÷ÛífW³xZÏZ`ãÄå¾3‰sà2‰íâzSáVë§ÑZOâ°Î3Ž"èÆÉ!ϱ¥®”óØÔ¡L Å[C~žÅ+u‡J†o못:ùMn´¥$¬Etôf4°Ž'ðÿpxLì+ð¤à¸µ·\<Û‡…ó×£¾oLú•pµ_#TÔ…ì<1KitkÎtD¤øendstream endobj 15 0 obj 387 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 18 0 obj <> endobj 8 0 obj <> endobj 19 0 obj <> endobj 20 0 obj <>stream 2016-01-27T08:26:32+01:00 2016-01-27T08:26:32+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 21 0000000000 65535 f 0000003137 00000 n 0000005199 00000 n 0000003071 00000 n 0000002749 00000 n 0000000015 00000 n 0000002250 00000 n 0000003202 00000 n 0000003614 00000 n 0000003460 00000 n 0000003392 00000 n 0000003243 00000 n 0000003273 00000 n 0000002909 00000 n 0000002270 00000 n 0000002729 00000 n 0000003323 00000 n 0000003353 00000 n 0000003541 00000 n 0000003696 00000 n 0000003776 00000 n trailer << /Size 21 /Root 1 0 R /Info 2 0 R /ID [<5F4B157EE34D68EA32042E8F21CFD9C3><5F4B157EE34D68EA32042E8F21CFD9C3>] >> startxref 5353 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.pdf0000644000175000017500000001176112652070430017113 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ½XYoãÈ~ׯhl–HmvóžMh¼rÖ»˱è=`-µ-îP¤–ÇhŒ ?)ÿ1U}ðÏ$O˦ºëüê«*þAlʈ?ús{˜œÝ乚ØäyòÇ„É/‰þØÈ»„ø ~š¨;Œœ‘CÈćÉu~{³Z_ÇëÕj=u\E<°~Y­ÏÓÄ?N hÂÍx7á!uI|‚[ñåúêÞrî§dÛ”ÙƒHª—‡JÔűžÎ¹g[ðGZäJGy<iä(ywZc¬“(OÍmÊX¸"p€Fú0w"ŸFŒÌï[W‹iü;xç˜G=#×z¿Äçïܦ®9ãøµ­|øšçÆ"òoòTdY¡L§žÔ0Ê\­éôCg˜æ˜PYq|MœOŸH)vi)¶u¥,ê;ùKí¬òi(ïl~»Z_o.7CãÁWm¸õ§4ßfÍN?cØÏðÝÿsHÌj¿Qnm 83Î̽üмÙ'ù.³QnoäúŒdEþLDž›Ù›eÛ01ç²Já¶NjN¡Ú õAÜxJdÒL̤ØA& Š[‡lEÍc…óÚxK.Àæ¹ÀämÒ‘Ød§-‰c³üâ2"Ží´ÖVC4TP`–6(áoËX܈6%Ð䙨ª/ÁøÈ½`DK×ëM,kåUZ‚Ä:--žò7Í«ºl€sZãd£8¥Ø+™þWFƒ])ÛÉÍûž/ËÂBg¦oˆÞ@9|ÞiUd¨Ua_—.;aÓ›?*eüah11Jž§ @÷iNÍp«;´„”uQ ¼`®åF}LJeÓÙ… ˆ·v¹L“a…ýà´/ ÷iþA"‹ŒÚд­OiU#&3ÈÞ8Ë€_[^@yŽFO‘# ’'ÑÂÇ? ;}j’ˆðâvQ£„™‹gukwÅÉ#“wZ¥‡cƒHI~oÜY²ýP‘'‘@7Õ kÔ” °ò#S”/Šo¡Ø¹cÌÄ< v•è“Dê9`¼ ´+˜n`¸q}èò!u9BçÎ9nKr=hàW7{Tìª zN·²aÈàc%OãžlC„=ÃŽÝhþÜNòôT V oÄ÷@î¼ëßV­]=Eso£#ëìòêb­Òò<~€¯ÕšQS ŠÕך} ú¾=;ÓÌ8Ö§«“n‹Ã7f»ì–س7䵓H ]לè˜'!w¶´ëHocç0ÞíÆ^VOSåZ*"þÍ™f¡AÑÿî§Ù£•Ñãeš­Œ—=AGQÂXs0‘ý;o#kýKÃ× ÃWÞ„ô’WL´ø™t¯D8ŽØÌt’ËÕâÝåê2þmT÷Hua8ÄÅB®þ’Ño_‡Úu³Œoo®ÈÏS†oQ|f-V·ËQqwЃórqQo‡–ëŸHú$õ`z«æx,ÊÚÌlêÈíÕOW½Ð^=¬å{¼K"ýo¯&6Ë%Y¬6ëÎÑë“Â׆vf»íëž/Líœá.ó¥æt+Û’$¾ÙІ/+Üh< ÌðñÅWËýÿõf0Ïd›ï—¥Išݯ7 qïù×,ôa_ig¢ÙÈAÚ_u‡ªÎ×·WñH–ë`ü\YK¹° ÑöâÚí ÃÙf^/‚ñÄbù±É ‡ÉBÑm霡àe<ù;üü-¨«Aendstream endobj 6 0 obj 2291 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:16+01:00 2016-01-27T08:26:16+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002615 00000 n 0000004498 00000 n 0000002556 00000 n 0000002396 00000 n 0000000015 00000 n 0000002376 00000 n 0000002680 00000 n 0000002934 00000 n 0000002869 00000 n 0000002801 00000 n 0000002721 00000 n 0000002751 00000 n 0000003016 00000 n 0000003075 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<9947E94370AF56BA1CB82BAE1DBF30EC><9947E94370AF56BA1CB82BAE1DBF30EC>] >> startxref 4652 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.html0000644000175000017500000000551712652070415017315 00000000000000 CURLOPT_STREAM_DEPENDS man page

NAME

CURLOPT_STREAM_DEPENDS - set stream this transfer depends on

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS, CURL *dephandle);

DESCRIPTION

Pass a CURL * pointer in dephandle to identify the stream within the same connection that this stream is depending upon. This option clears the exclusive it and is mutually exclusive to the CURLOPT_STREAM_DEPENDS_E option.

The spec says "Including a dependency expresses a preference to allocate resources to the identified stream rather than to the dependent stream."

This option can be set during transfer.

dephandle must not be the same as handle, that will cause this function to return an error. It must be another easy handle, and it also needs to be a handle of a transfer that will be sent over the same HTTP/2 connection for this option to have an actual effect.

DEFAULT

NULL

PROTOCOLS

HTTP/2

EXAMPLE

TODO

AVAILABILITY

Added in 7.46.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_STREAM_WEIGHT, CURLOPT_STREAM_DEPENDS_E

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_KEYPASSWD.html0000644000175000017500000000476112652070415016532 00000000000000 CURLOPT_KEYPASSWD man page

NAME

CURLOPT_KEYPASSWD - set passphrase to private key

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KEYPASSWD, char *pwd);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. It will be used as the password required to use the CURLOPT_SSLKEY or CURLOPT_SSH_PRIVATE_KEYFILE private key. You never needed a pass phrase to load a certificate but you need one to load your private key.

DEFAULT

NULL

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

This option was known as CURLOPT_SSLKEYPASSWD up to 7.16.4 and CURLOPT_SSLCERTPASSWD up to 7.9.2.

RETURN VALUE

Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSLKEY, CURLOPT_SSH_PRIVATE_KEYFILE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPPOST.30000644000175000017500000000574312626067776015665 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPPOST 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPPOST \- specify the multipart formpost content .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPPOST, struct curl_httppost *formpost); .SH DESCRIPTION Tells libcurl you want a multipart/formdata HTTP POST to be made and you instruct what data to pass on to the server in the \fIformpost\fP argument. Pass a pointer to a linked list of curl_httppost structs as parameter. The easiest way to create such a list, is to use \fIcurl_formadd(3)\fP as documented. The data in this list must remain intact until you close this curl handle again with \fIcurl_easy_cleanup(3)\fP. Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with \fICURLOPT_HTTPHEADER(3)\fP. When setting \fICURLOPT_HTTPPOST(3)\fP, it will automatically set \fICURLOPT_NOBODY(3)\fP to 0. .SH DEFAULT NULL .SH PROTOCOLS HTTP .SH EXAMPLE .nf /* Fill in the file upload field. This makes libcurl load data from the given file name when curl_easy_perform() is called. */ curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "sendfile", CURLFORM_FILE, "postit2.c", CURLFORM_END); /* Fill in the filename field */ curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "filename", CURLFORM_COPYCONTENTS, "postit2.c", CURLFORM_END); /* Fill in the submit field too, even if this is rarely needed */ curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "submit", CURLFORM_COPYCONTENTS, "send", CURLFORM_END); .fi .SH AVAILABILITY As long as HTTP is enabled .SH RETURN VALUE Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_POSTFIELDS "(3), " CURLOPT_POST "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_LOCAL_PORT.30000644000175000017500000000336712626067776016167 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_LOCAL_PORT 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_LOCAL_PORT \- get the latest local port number .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_PORT, long *portp); .SH DESCRIPTION Pass a pointer to a long to receive the local port number of the most recent connection done with this \fBcurl\fP handle. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.21.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLINFO_PRIMARY_PORT "(3), " CURLINFO_LOCAL_IP "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.html0000644000175000017500000000477212652070415017424 00000000000000 CURLOPT_SSH_AUTH_TYPES man page

NAME

CURLOPT_SSH_AUTH_TYPES - set desired auth types for SFTP and SCP

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_AUTH_TYPES, long bitmask);

DESCRIPTION

Pass a long set to a bitmask consisting of one or more of CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD and CURLSSH_AUTH_AGENT.

Set CURLSSH_AUTH_ANY to let libcurl pick a suitable one. Currently CURLSSH_AUTH_HOST has no effect. If CURLSSH_AUTH_AGENT is used, libcurl attempts to connect to ssh-agent or pageant and let the agent attempt the authentication.

DEFAULT

None

PROTOCOLS

SFTP and SCP

EXAMPLE

TODO

AVAILABILITY

CURLSSH_AUTH_HOST was added in 7.16.1, CURLSSH_AUTH_AGENT was added in 7.28.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, CURLOPT_SSH_PUBLIC_KEYFILE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.30000644000175000017500000000522512626067776016247 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_OPTIONS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_OPTIONS \- set SSL behavior options .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_OPTIONS, long bitmask); .SH DESCRIPTION Pass a long with a bitmask to tell libcurl about specific SSL behaviors. \fICURLSSLOPT_ALLOW_BEAST\fP tells libcurl to not attempt to use any workarounds for a security flaw in the SSL3 and TLS1.0 protocols. If this option isn't used or this bit is set to 0, the SSL layer libcurl uses may use a work-around for this flaw although it might cause interoperability problems with some (older) SSL implementations. WARNING: avoiding this work-around lessens the security, and by setting this option to 1 you ask for exactly that. This option is only supported for DarwinSSL, NSS and OpenSSL. Added in 7.44.0: \fICURLSSLOPT_NO_REVOKE\fP tells libcurl to disable certificate revocation checks for those SSL backends where such behavior is present. \fBCurrently this option is only supported for WinSSL (the native Windows SSL library), with an exception in the case of Windows' Untrusted Publishers blacklist which it seems can't be bypassed.\fP This option may have broader support to accommodate other SSL backends in the future. http://curl.haxx.se/docs/ssl-compared.html .SH DEFAULT 0 .SH PROTOCOLS All TLS-based protocols .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.25.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SSLVERSION "(3), " CURLOPT_SSL_CIPHER_LIST "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.html0000644000175000017500000000563712652070415017176 00000000000000 CURLOPT_TCP_KEEPALIVE man page

NAME

CURLOPT_TCP_KEEPALIVE - enable TCP keep-alive probing

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPALIVE, long probe);

DESCRIPTION

Pass a long. If set to 1, TCP keepalive probes will be sent. The delay and frequency of these probes can be controlled by the CURLOPT_TCP_KEEPIDLE and CURLOPT_TCP_KEEPINTVL options, provided the operating system supports them. Set to 0 (default behavior) to disable keepalive probes

DEFAULT

0

PROTOCOLS

All

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* enable TCP keep-alive for this transfer */
  curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);
 
  /* keep-alive idle time to 120 seconds */
  curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 120L);
 
  /* interval time between keep-alive probes: 60 seconds */
  curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Added in 7.25.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_TCP_KEEPIDLE, CURLOPT_TCP_KEEPINTVL

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.pdf0000644000175000017500000000772012652070427017000 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Vÿn£FþßO1Rÿ88…=–_jU‰$\å;b»6¾ö”TMLK œ(ïÐWé;vvY°ËådÉØÞÙ™of¾oÆ` ¦x©gv7ù°ô඘p;y˜Pyê‘ÝÁi‚¾ø!¹™ôw(xxMü’» ³ó!yš\jgëe<_$›óÙjÏÏÂx3]°+;Ò!Û5冧íó¦å]}ßé†å˜Ä4= ¿uÕÂ÷/ë%Ÿ&†I,Š3Ä 8’íBO´Y¨¿Ãð”:Ä l„™äí"Ò“¿°LÂL j‰có ÔðL Òˆ7²ýU˜[Lf'f5¼¬â•<‚÷Û´ÊK~òz O Û¦ ¼W©\é?c­ÞÀ{­Î–ÓE2Ͼ{a;¢zÚŠwÐm9”u––²dýjªK#–}C.5B·=ì¼O±|­*ÞÂ&Ìsãn›öÞ‡Š3–§ñÚm½+ó¾']M A«´Ñ©OLêPívwÇ«n´âPß@÷|ÏU)ëY]=µ¨é9ûì\×’ÙuiQA mQÝ–*tÚCž#5ÒV˜t Ù4“ËT _vϳ¾TE =ã¥fë8Ï]Ëež9¿Ñ©©¥»±ó®C—p¥åuõNµ,‘žâv'bÌ ¤.)­©ªX÷<+þÍ0Œí'}‡ÞèÿGéÚ$Žv&TP6Ä ×ò” ñ*ÁY®í©Ó8§f¯Ó¡«èŠzžg³‘ò"ñÀX, fKT 'ŒcXÄt™ì<ùÓ²‰gºƒüÏæñ Õ!ìqì„eùÑŸáÅ"Žê§v ãdƒÚ„*kçsU/Ç÷¿_ „åM”•É´Â/îÓB9Tå®MãðtO“¯Ç¹a#l†1F{fÏâä€t ؘ[B[eq-F < OÔˆ7ÒÖC¢IÚ"½¯u`Ræj»™ùTt[äÖ(}Ï¢¼N³ô¿ZŠ[pPiw÷÷uÓµùy“ (½f3#E?J†=€ãé<ø ,×—>‹VJ¥®Êgtmñ'Òæ9Gƒ <‚ƒÄ|sÌ]jË(Y/gðE§6¦àR-Œ×ÑËy4¶×'’\BZònרm柡¸é!õ%F€*ežŸ(£õìól®‹8¾Ã´?f›¹œ¯âfUw'2ªˆO’÷ýFŠ6xÉikÉæt¬ÁzKsug~ß/ªš½™J· BßZ\ÖÔr­½­ì­hm^´éu‰UÃFeõÝ}Qr£+îp—ÔÂ~Ú5Fh0p:<ß|\ÏÎ ÉlÛ·ˆãÒã$²Û„ËßÖÑ,§-¯à¶4äHPìö ÔG.ƒy‚Í|¦Žªôz¯«§Á3î’a¨½2Ò¨Ï;ZÃQa¼šïM_è÷pyNgI´Ç ÂëosáÙ¡Ö}Äô⇋ãۦ忙“cT˜˜ƒÅ« ü…Ì‘EÌùÆ£aãìƒÍFê»=Ãy£pãêuœ€GÃ}ñiW.*&©ÄƉI…«(™üޝÿÓ)™Êendstream endobj 6 0 obj 1227 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:15+01:00 2016-01-27T08:26:15+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001551 00000 n 0000003441 00000 n 0000001492 00000 n 0000001332 00000 n 0000000015 00000 n 0000001312 00000 n 0000001616 00000 n 0000001870 00000 n 0000001805 00000 n 0000001737 00000 n 0000001657 00000 n 0000001687 00000 n 0000001952 00000 n 0000002018 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<9CA98A90029AC18A41FD866013CFDB48><9CA98A90029AC18A41FD866013CFDB48>] >> startxref 3595 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_NOBODY.html0000644000175000017500000000506712652070415016152 00000000000000 CURLOPT_NOBODY man page

NAME

CURLOPT_NOBODY - do the download request without getting the body

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOBODY, long opt);

DESCRIPTION

A long parameter set to 1 tells libcurl to not include the body-part in the output when doing what would otherwise be a download. For HTTP(S), this makes libcurl do a HEAD request. For most other protocols it means just not asking to transfer the body data.

Enabling this option means asking for a download but without a body.

DEFAULT

0, the body is transferred

PROTOCOLS

Most

EXAMPLE

curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* get us the resource without a body! */ 
  curl_easy_setopt(curl, CURLOPT_NOBODY, 1L);
 
  /* Perform the request */ 
  curl_easy_perform(curl);
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_HTTPGET, CURLOPT_POST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_SERVERS.pdf0000644000175000017500000000776112652070430016622 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Vën£Vþï§8RVæ,‡;iUÉqHë]b\o»rVˆÀñšƒxÓ¼C_¥ïØ9pì½ÉRœaæ›™o¾áé˜ ýä5Û^/]ô±éèãèqDø!’—l®c0ð؃x;ïäÈõMìù(Þ”ézF‹8¹™¯’U°Tã¿FpÈlã|dì øi´QÞËÕ½bÞ«(;6eBÓö9iiW:U3l뺫ÀMQW-ºtù!~32M;žðzrÆ¢i:6`ɪP±o3´šeêØõf:üù„ëÌŽØØöMéë.`ÏOY:¶tiÄ`Ǻ@‰ÈÓ9ô‚С¡[Ú44GpOšO*±°ïÙ–B›–Ã?‡4â`X½ŸG‹Õluƒ›pÊE••Çœ¢ŸYé^³?x÷ 37,‡£ø•˜Õ`sYÝ{~„^íÒ*/éø³Úz¼ô&OgŒ²]Ú WC¾n° îÕŸ¾—ÄM°š.g‹xÍeOˆ-Zò…„éÐ {¶htѱDµÛ¥ êvi‡Š®•EÛ¡z{^eßpFÔÕè¢c ](ª¶£iÎLÙkí3ÜîQN·‚IHé"ª]UIe‡Q¼£ ›E°îzä„Ìä6ÛºÙ§]ï7¯Zž«éØ!Œ9±À"Ÿ 7¤rÅQ(»ºí6W‡ºé>lÆ/n>`ŒÕOTnk¸50¿ê[D—Ø•†ž( æÄ÷åÁ?éþPÒ+Žøl›:Àcd3â˜8&˜èúøå›ØÂ6v¿Ñë[ÙcÛòXpáKVK™¬ù)a¼’Óõsåi˜OÜ`ɺ®kZ}7Ê|†Hcý|Ù?"ÙÊšõ=J.–¥er”Ð Ãqeí4ë¶Ï›Å(0&vu§×†i^Œ%¤åΨ2)Ëï”+øsr·ƒ~,¼¯ŽE|‚ALÖ}â&’õ´=ï *ç3Ë!+»àóä:)tȱIÏ›Y8¹ž…³øýynÐ(Ó‚=‘¡D9Þúx,ÚŠÉ,‹¦8èIõ™à™¶’¶èA…x:±åX”z*º 4¼S—r&\f=¤Ùß¼‹† ¡~Ú\ 8Ë€V¹Òl4XHŽƒ6)ƒÂ§eZ žÕ…›óAäA|¦ŽÇ]J1©«òS…áû‚#$º§l…ÆõÂDúa‘Eàm¨l €Ýwܪ†ÄñoVЪC;šD²¬ºdq¥=¤ÿ›ÆçHYš„«èd{¡^/?,Âh: “Ùº˜«—5þý6>w!§_oç_]Ó‰jËm?ý-HâÙ]%½˜6â¸Øõ?  ™ìUØ€ÿÍyÇ„n¹¾+uU#¶í`;¢7Ç P=îÛvaž‚xô;üþ6÷ÕŒendstream endobj 6 0 obj 1359 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:16+01:00 2016-01-27T08:26:16+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001683 00000 n 0000003494 00000 n 0000001624 00000 n 0000001464 00000 n 0000000015 00000 n 0000001444 00000 n 0000001748 00000 n 0000001923 00000 n 0000001858 00000 n 0000001789 00000 n 0000001819 00000 n 0000002005 00000 n 0000002071 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3648 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.30000644000175000017500000000403312626067776017232 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_END_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CHUNK_END_FUNCTION \- callback after a transfer with FTP wildcardmatch .SH SYNOPSIS .nf #include long chunk_end_callback(void *ptr); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_END_FUNCTION, chunk_end_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This function gets called by libcurl as soon as a part of the stream has been transferred (or skipped). Return \fICURL_CHUNK_END_FUNC_OK\fP if everything is fine or \fBCURL_CHUNK_END_FUNC_FAIL\fP to tell the lib to stop if some error occurred. .SH DEFAULT NULL .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.21.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_WILDCARDMATCH "(3), " CURLOPT_CHUNK_BGN_FUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.30000644000175000017500000000402712626067776016376 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_INTERFACE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_INTERFACE \- set interface to speak DNS over .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_INTERFACE, char *ifname); .SH DESCRIPTION Pass a char * as parameter. Set the name of the network interface that the DNS resolver should bind to. This must be an interface name (not an address). Set this option to NULL to use the default setting (don't bind to a specific interface). .SH DEFAULT NULL .SH PROTOCOLS .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.33.0. This option also requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_NOT_BUILT_IN if support was disabled at compile-time. .SH "SEE ALSO" .BR CURLOPT_DNS_SERVERS "(3), " CURLOPT_DNS_LOCAL_IP4 "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYHEADER.30000644000175000017500000000442012626067776016161 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYHEADER 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYHEADER \- custom HTTP headers to pass to proxy .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYHEADER, struct curl_slist *headers); .SH DESCRIPTION Pass a pointer to a linked list of HTTP headers to pass in your HTTP request sent to a proxy. The rules for this list is identical to the \fICURLOPT_HTTPHEADER(3)\fP option's. The headers set with this option is only ever used in requests sent to a proxy - when there's also a request sent to a host. The first line in a request (containing the method, usually a GET or POST) is NOT a header and cannot be replaced using this option. Only the lines following the request-line are headers. Adding this method line in this list of headers will only cause your request to send an invalid header. Pass a NULL to this to reset back to no custom headers. .SH DEFAULT NULL .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.37.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_HEADEROPT "(3), " CURLOPT_HTTPHEADER "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.html0000644000175000017500000000500012652070415017257 00000000000000 CURLOPT_LOCALPORTRANGE man page

NAME

CURLOPT_LOCALPORTRANGE - number of additional local ports to try

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOCALPORTRANGE,   long range);

DESCRIPTION

Pass a long. The range argument is the number of attempts libcurl will make to find a working local port number. It starts with the given CURLOPT_LOCALPORT and adds one to the number for each retry. Setting this option to 1 or below will make libcurl do only one try for the exact port number. Port numbers by nature are scarce resources that will be busy at times so setting this value to something too low might cause unnecessary connection setup failures.

DEFAULT

1

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.15.2

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_LOCALPORT, CURLOPT_INTERFACE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_KRBLEVEL.30000644000175000017500000000401212626067776015572 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_KRBLEVEL 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_KRBLEVEL \- set FTP kerberos security level .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KRBLEVEL, char *level); .SH DESCRIPTION Pass a char * as parameter. Set the kerberos security level for FTP; this also enables kerberos awareness. This is a string that should match one of the following: \&'clear', \&'safe', \&'confidential' or \&'private'. If the string is set but doesn't match one of these, 'private' will be used. Set the string to NULL to disable kerberos support for FTP. .SH DEFAULT NULL .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY This option was known as CURLOPT_KRB4LEVEL up to 7.16.3 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_KRBLEVEL "(3), " CURLOPT_FTP_SSL "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYTYPE.html0000644000175000017500000000544612652070415016604 00000000000000 CURLOPT_PROXYTYPE man page

NAME

CURLOPT_PROXYTYPE - proxy protocol type

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYTYPE, long type);

DESCRIPTION

Pass a long with this option to set type of the proxy. Available options for this are CURLPROXY_HTTP, CURLPROXY_HTTP_1_0 CURLPROXY_SOCKS4, CURLPROXY_SOCKS5, CURLPROXY_SOCKS4A and CURLPROXY_SOCKS5_HOSTNAME. The HTTP type is default.

If you set CURLOPT_PROXYTYPE to CURLPROXY_HTTP_1_0, it will only affect how libcurl speaks to a proxy when CONNECT is used. The HTTP version used for "regular" HTTP requests is instead controlled with CURLOPT_HTTP_VERSION.

Often it is more convenient to specify the proxy type with the scheme part of the CURLOPT_PROXY string.

DEFAULT

CURLPROXY_HTTP

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_PROXY, CURLOPT_PROXYPORT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.pdf0000644000175000017500000000665212652070456017235 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ}T鎛HþÏS””hètCs)«•ˆ‡U¼qÀ±ÛÉFñÊr{X1à1íå¡òŽ©n°g<—|ÐÕõuÜ% ¨z†ïüÚx; `Û¶ÆÁô! _ù5¼ªbcôw‘KÂĵáp0·Æws´˜MÆé_Ùj–\ŽgÉH¬FÙ"KÓ]Zöõª\w?WÛRVͦµlÇ£f»“UÛtðÒ]ë_ñ·aSâ0DÌ‘P„„Hä)N®bb˜il½F xÊ<âE.ò…a~J,ñß=%œ`3GSEû9Öð (È«šÃõríöeQíË\v}Ú{ÁF$<’é:Xî­‰öÊÿÔŠþB“Ëê,-ÃÂRÖ_¤ÄÕ¥û¿yÊË8ñü("úŽÄâÉV®ë'J¨»N^­%Ü–ûÖ¹<¬ëú'lÚºn-Gqß¼- ¢ÛïÜ †fðûfLgYî†ÇÇ9Ñdl‡P/ÒŒ3Ù‰±ã’€úÇ^e“ýb3.ç'?1]šsœˆ—Û/ù'þ4$GÿÂgË"îÈ0WÝS¹Ô¯Þ ÃGgóHEžÐ0Œr-.þñ8J| ˜ãIü~<‹oç ±¦.GŒ³Œ‹¢, j  ^–úÝœ%b1Ká‹Å\N"Ÿ™ñd‘ %{¬ãKyØ 'Ye¡Úè!ïTt‡Ý®Ý˲¸±!p‘~L3Ëõ̯é*ÓM¯.6­|ª=ÎwA’@<™gwBRz8â}÷y‘Ù>Ðà®u£ãÄêÝxqžQ}Ÿ]¿KÜ•ž›0Â¥²YâÚ°9÷ ïéÕÕ•ËÁ9¡–Í<B|Ø‚ƒD5K~jd¦ò$ÂøŒÏol8ž(endstream endobj 6 0 obj 784 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:38+01:00 2016-01-27T08:26:38+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001107 00000 n 0000002911 00000 n 0000001048 00000 n 0000000888 00000 n 0000000015 00000 n 0000000869 00000 n 0000001172 00000 n 0000001347 00000 n 0000001282 00000 n 0000001213 00000 n 0000001243 00000 n 0000001429 00000 n 0000001488 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<65621FAFB7E7F55B18A569183CB4C65E><65621FAFB7E7F55B18A569183CB4C65E>] >> startxref 3065 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.html0000644000175000017500000000423412652070415017614 00000000000000 CURLOPT_RTSP_CLIENT_CSEQ man page

NAME

CURLOPT_RTSP_CLIENT_CSEQ - set the RTSP client CSEQ number

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_CLIENT_CSEQ, long cseq);

DESCRIPTION

Pass a long to set the the CSEQ number to issue for the next RTSP request. Useful if the application is resuming a previously broken connection. The CSEQ will increment from this new number henceforth.

DEFAULT

0

PROTOCOLS

RTSP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_RTSP_SERVER_CSEQ, CURLOPT_RTSP_REQUEST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.30000644000175000017500000000604112626067776017174 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERLEAVEFUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_INTERLEAVEFUNCTION \- callback function for RTSP interleaved data .SH SYNOPSIS .nf #include size_t interleave_callback(void *ptr, size_t size, size_t nmemb, void *userdata); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERLEAVEFUNCTION, interleave_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This callback function gets called by libcurl as soon as it has received interleaved RTP data. This function gets called for each $ block and therefore contains exactly one upper-layer protocol unit (e.g. one RTP packet). Curl writes the interleaved header as well as the included data for each call. The first byte is always an ASCII dollar sign. The dollar sign is followed by a one byte channel identifier and then a 2 byte integer length in network byte order. See \fIRFC2326 Section 10.12\fP for more information on how RTP interleaving behaves. If unset or set to NULL, curl will use the default write function. Interleaved RTP poses some challenges for the client application. Since the stream data is sharing the RTSP control connection, it is critical to service the RTP in a timely fashion. If the RTP data is not handled quickly, subsequent response processing may become unreasonably delayed and the connection may close. The application may use \fICURL_RTSPREQ_RECEIVE\fP to service RTP data when no requests are desired. If the application makes a request, (e.g. \fICURL_RTSPREQ_PAUSE\fP) then the response handler will process any pending RTP data before marking the request as finished. .SH DEFAULT NULL .SH PROTOCOLS RTSP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_INTERLEAVEFUNCTION "(3), " CURLOPT_RTSP_REQUEST "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_USERNAME.html0000644000175000017500000000701612652070415016373 00000000000000 CURLOPT_USERNAME man page

NAME

CURLOPT_USERNAME - user name to use in authentication

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERNAME,
                          char *username);

DESCRIPTION

Pass a char * as parameter, which should be pointing to the zero terminated user name to use for the transfer.

CURLOPT_USERNAME sets the user name to be used in protocol authentication. You should not use this option together with the (older) CURLOPT_USERPWD option.

When using Kerberos V5 authentication with a Windows based server, you should include the domain name in order for the server to successfully obtain a Kerberos Ticket. If you don't then the initial part of the authentication handshake may fail.

When using NTLM, the user name can be specified simply as the user name without the domain name should the server be part of a single domain and forest.

To include the domain name use either Down-Level Logon Name or UPN (User Principal Name) formats. For example, EXAMPLE\user and user@example.com respectively.

Some HTTP servers (on Windows) support inclusion of the domain for Basic authentication as well.

To specify the password and login options, along with the user name, use the CURLOPT_PASSWORD and CURLOPT_LOGIN_OPTIONS options.

DEFAULT

blank

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.1

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_USERPWD, CURLOPT_PASSWORD, CURLOPT_HTTPAUTH, CURLOPT_PROXYAUTH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.html0000644000175000017500000000432312652070415017151 00000000000000 CURLOPT_FTP_USE_PRET man page

NAME

CURLOPT_FTP_USE_PRET - enable the PRET command

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_PRET, long enable);

DESCRIPTION

Pass a long. If the value is 1, it tells curl to send a PRET command before PASV (and EPSV). Certain FTP servers, mainly drftpd, require this non-standard command for directory listings as well as up and downloads in PASV mode. Has no effect when using the active FTP transfers mode.

DEFAULT

0

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_FTP_USE_EPRT, CURLOPT_FTP_USE_EPSV

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.html0000644000175000017500000000432512652070415017264 00000000000000 CURLINFO_REDIRECT_TIME man page

NAME

CURLINFO_REDIRECT_TIME - get the time for all redirection steps

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_TIME, double *timep);

DESCRIPTION

Pass a pointer to a double to receive the total time, in seconds, it took for all redirection steps include name lookup, connect, pretransfer and transfer before final transaction was started. CURLINFO_REDIRECT_TIME contains the complete execution time for multiple redirections.

See also the TIMES overview in the curl_easy_getinfo(3) man page.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.9.7

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CRLF.pdf0000644000175000017500000000725112652070427015513 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Vín£Výï§©? U|s?¹ V•¼ ‘¼ëׯÙ]Å•åØ$qE`8ÙôúŽ{ÁØl²Š,›îœsfæG „5Ÿæº~èN5Ü•= w½Ç³Ah.ëøc‚onÄ·½úšƒñˆz$~yî];góé(šÄ˳éèbህ ë]‘.“Uù²,“*ÿV¹}®(¡T;øc›g%¼zÆý;þØëSžºÆêV'2„ñ¨çŒî¯£LozÎeèÆÿÁå”Hª¡Ï¸ Sƒ±þƒ$[ݤÉéf[š+Ø»ë<3ç ¦l _©›O‰‰ÙÚá~àË&P”Ûú¹à>œh1xÄ·y³¯ãh2κP…·‡éü²ÍÖén“ÀF¼Só‡ÜÿiÒ¹´ì …uŽ ?Š»°!øí~•mÒä¤#- Ɖ¥ÃU@PÚõIÚÒÑDû”úuàÚɳ;«„Äv1é9O ÷wÛš.?A9 ô¿ópv6Nâa4î¨ø&×ÉêHM_Õµñl©l³ÊV"Ã[¨îx2ùZ¡;dK›½Jw lK@1 ÊqLH"Y¸'noŒV¯;+¡Ú§µ×NQ•0϶ß!K\.IàkßyN·YRšBvhLDÕJ5‘<ƒªXeåmR”¤jÎ5QZt&òÚ9o†¯ºGðõZÀêÎUÎj›ÁÍ‹áSm±5[_Éš-V§HóߤÈn]ĉÍ1[«\‚]G²Ô’•‚Hò†ìݪ£D@Ä0% º~¼•¬1¥É°ñj~ »¤4ß-]™×{À¨"žìÌÉEƒ@IßÎ%æ2ÙtÕÌm”¯h{b¿…£¸Åu˜+CFk-d;^ô5q¼‹“iA I,¢‰ú…³ÆæD1DmA.ˆ¦ÞÞs΢Ñ«Œ˜q@1HÓwp„_—“Q¸ïˆÿÓ}‰0˜0­«AœGXÊ÷_yf_&³­f4­fpƒ-J<Åöã1 > GÃøk—vAH¬Ñ±ÔÙe<]+4J·ÈqV øVäU¾ÎÓ²‰âMkcµ1å5õ^žÄ$Ñ,ØTRàNgU‘ovëdó–¿â›Â?°»v¦a<ŸŽáÊeWÅcÎ`4çzCÒiRíŠæ=.£Oï´j†0Í¢CZ÷¼£—`4¾Z^L]Ô ].ÇaüÙÅŸ÷|'š~Z^ÌÇgÖ)»ð8úRÛ\ûR<éÖó<$MÙÞŸ:%c—ùfk°‚)è8Çëõ÷/VfTFãf8ö­ Ÿ&K¯=Ü9FÙ™ã¢M; Ä5! nñj€{ÖD`Ìí3¥ðßå0 wpôM‹N¶{ÅÌQaÜû ?ÿÓ£ ¥endstream endobj 6 0 obj 1038 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:15+01:00 2016-01-27T08:26:15+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001362 00000 n 0000003166 00000 n 0000001303 00000 n 0000001143 00000 n 0000000015 00000 n 0000001123 00000 n 0000001427 00000 n 0000001602 00000 n 0000001537 00000 n 0000001468 00000 n 0000001498 00000 n 0000001684 00000 n 0000001743 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3320 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.30000644000175000017500000000372512626067776016510 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_XOAUTH2_BEARER 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_XOAUTH2_BEARER \- specify OAuth 2.0 access token .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XOAUTH2_BEARER, char *token); .SH DESCRIPTION Pass a char * as parameter, which should point to the zero terminated OAuth 2.0 Bearer Access Token for use with IMAP, POP3 and SMTP servers that support the OAuth 2.0 Authorization Framework. Note: The user name used to generate the Bearer Token should be supplied via the \fICURLOPT_USERNAME(3)\fP option. .SH DEFAULT NULL .SH PROTOCOLS IMAP, POP3 and SMTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.33.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_MAIL_AUTH "(3), " CURLOPT_USERNAME "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.html0000644000175000017500000000700612652070414020015 00000000000000 CURLOPT_CHUNK_BGN_FUNCTION man page

NAME

CURLOPT_CHUNK_BGN_FUNCTION - callback before a transfer with FTP wildcardmatch

SYNOPSIS

#include <curl/curl.h>
 
long chunk_bgn_callback(const void *transfer_info, void *ptr,
                        int remains);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_BGN_FUNCTION,
                          chunk_bgn_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

This callback function gets called by libcurl before a part of the stream is going to be transferred (if the transfer supports chunks).

The transfer_info pointer will point to a struct curl_fileinfo with details about the file that is about to get transferred.

This callback makes sense only when using the CURLOPT_WILDCARDMATCH option for now.

The target of transfer_info parameter is a "feature depended" structure. For the FTP wildcard download, the target is curl_fileinfo structure (see curl/curl.h). The parameter ptr is a pointer given by CURLOPT_CHUNK_DATA. The parameter remains contains number of chunks remaining per the transfer. If the feature is not available, the parameter has zero value.

Return CURL_CHUNK_BGN_FUNC_OK if everything is fine, CURL_CHUNK_BGN_FUNC_SKIP if you want to skip the concrete chunk or CURL_CHUNK_BGN_FUNC_FAIL to tell libcurl to stop if some error occurred.

DEFAULT

NULL

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

This was added in 7.21.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_CHUNK_END_FUNCTION, CURLOPT_WILDCARDMATCH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.html0000644000175000017500000000463012652070414020701 00000000000000 CURLOPT_FTP_ALTERNATIVE_TO_USER man page

NAME

CURLOPT_FTP_ALTERNATIVE_TO_USER - command to use instead of USER with FTP

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_ALTERNATIVE_TO_USER,
                          char *cmd);

DESCRIPTION

Pass a char * as parameter, pointing to a string which will be used to authenticate if the usual FTP "USER user" and "PASS password" negotiation fails. This is currently only known to be required when connecting to Tumbleweed's Secure Transport FTPS server using client certificates for authentication.

DEFAULT

NULL

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.15.5

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_FTP_SKIP_PASV_IP, CURLOPT_FTP_RESPONSE_TIMEOUT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.30000644000175000017500000000736012626067776016665 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKOPTFUNCTION 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKOPTFUNCTION \- set callback for setting socket options .SH SYNOPSIS .nf #include typedef enum { CURLSOCKTYPE_IPCXN, /* socket created for a specific IP connection */ CURLSOCKTYPE_ACCEPT, /* socket created by accept() call */ CURLSOCKTYPE_LAST /* never use */ } curlsocktype; #define CURL_SOCKOPT_OK 0 #define CURL_SOCKOPT_ERROR 1 /* causes libcurl to abort and return CURLE_ABORTED_BY_CALLBACK */ #define CURL_SOCKOPT_ALREADY_CONNECTED 2 int sockopt_callback(void *clientp, curl_socket_t curlfd, curlsocktype purpose); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKOPTFUNCTION, sockopt_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. When set, this callback function gets called by libcurl when the socket has been created, but before the connect call to allow applications to change specific socket options. The callback's \fIpurpose\fP argument identifies the exact purpose for this particular socket: \fICURLSOCKTYPE_IPCXN\fP for actively created connections or since 7.28.0 \fICURLSOCKTYPE_ACCEPT\fP for FTP when the connection was setup with PORT/EPSV (in earlier versions these sockets weren't passed to this callback). Future versions of libcurl may support more purposes. libcurl passes the newly created socket descriptor to the callback in the \fIcurlfd\fP parameter so additional setsockopt() calls can be done at the user's discretion. The \fIclientp\fP pointer contains whatever user-defined value set using the \fICURLOPT_SOCKOPTDATA(3)\fP function. Return \fICURL_SOCKOPT_OK\fP from the callback on success. Return \fICURL_SOCKOPT_ERROR\fP from the callback function to signal an unrecoverable error to the library and it will close the socket and return \fICURLE_COULDNT_CONNECT\fP. Alternatively, the callback function can return \fICURL_SOCKOPT_ALREADY_CONNECTED\fP, to tell libcurl that the socket is already connected and then libcurl will not attempt to connect it. This allows an application to pass in an already connected socket with \fICURLOPT_OPENSOCKETFUNCTION(3)\fP and then have this function make libcurl not attempt to connect (again). .SH DEFAULT By default, this callback is NULL and unused. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.16.0. The \fICURL_SOCKOPT_ALREADY_CONNECTED\fP return code was added in 7.21.5. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SOCKOPTDATA "(3), " CURLOPT_OPENSOCKETFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdf0000644000175000017500000000775712652070451021051 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVmsâ6þî_¡™~¨é€N’åµÎp9÷BØœë¥¡Ãø@_C°Iæî?õ?v%Ë&IÓaµöî>/+Ý!‚)"êcþ—·Ö›©nJ‹ ë΢z™¿å-z›@@ n$k«~†"Ÿ!_88(¹µ®í³Ëéø"ž$‹³óËèÃbFï“óÅ$ŒzÇB0ߎ{‚bpa'W‹ÙèÏpn;ó^ï¯ä7‹ ûÜ…'+Ë^öùâöWÙ¢”ÕvW!øfÛ¢ì%_,7ÀŒò }5/am^ÆOó¼ :XBƒÄÂU=‡K O Uf¢â¨‹]á˜B/Buÿˆ #˜ (û_Å= ú-7‡âo”Ëâ¦Ú j³—åf›¯Ðz»G»l'ó¬ÈŠ]·j¨v@=èÚfWQ<™fÝ uˆ®Îþ.+–ùa%ÑÏ ï7êo~Qጣdl1¸>J¬ºåBO˜™×‹è‡MZ¬rÙG/·ü½åø>ö\ÚPwJL¿&¥‰3•]D¾-nP™}“óÞOuO/¶þ.œMG“dG*H¦nÍñ30LÒ–[×ÅQÌ9×iË¥Hç~È€ô˜Z½Ç‡úaÄh«êºpS¹à¦c;+Ð篕,1­á­†K¹BËmQÈ¥’8ÊJò^UþíöÛ¥,K`µ*4=ó¨PW ¯™Û‰^g˜ûnƒò>-ʵÜ÷ ¸ÜÔsB1%¢:˜9ºãk[À5äüѤ„¡IH0¼;Ȳ2`4¥v›§-À„‚¾oäœF­”`8q0mpQšh¦ÌíÖ@Ï+‰yÊ<ÚÙà8B|çÔÙ>&A—s*@Ñ Uýêèh†°zc7ÐpnÒª%ºÍsTl+ôY*®Êl%÷²6dºZeЏ4× 0âb°OG¹³²dGŽÄÓ&¶ïõ"Ãn­DÀPh8,²ãš{m.nWÇ˲ÔMë~¨$Í,Ýl÷UÖæ‘?&@C}1ü´˜Œ&áx…ñÒ®ªŠ=Ï<‹Ÿ1£ËÚq䯦u—kZ€7A[c /õ*U\š!Ë<Ç7«ã¤åêXƒBÑ÷}‡Å’l$ZÉuM¤0§Ð}¹vš¤r飇M¶Ü [ ®P Tð#ÑNÙ·´q`V¤àÆf‡¨Ùb”çtÈ"'T=‹ñ°Ã1™,¸£± ºõ WhÝÄ ŠÛ4ÌÁ>ñšügñøÉ`ð ÑÂaŸ'ÉdnÏî^–á§áÅd6Ê ^”ɱ˜´Ø»ØpçÁéF ú„È6›¢¸ž«Ã踩‚`Þ7N‡oGãQrõDu.v8äèxk¸Za°ÂHÚÿ»×k{&—Ó}ìQµ{FÈehfÓiË/«Ã”¢ ²ˆ? l­SŸG”TÊÃn§,¶ê#ØM Ì«(Ö{¼š¸D‹XoFêi˜"øÕ­; Ñp<‹»{Í#*Z¿¯Ž¢÷O°‚=Àofvp¿û2˜Ï¾'Äé)*Ž’0J:ÓVÙIz»q/h¦íàÔ¡©g¯&íL}‚F¶_šDOå`q’l@ 7Žz-Ï>«S‹ˆ¨bf,ô¹×Șw àIŸ6¥BuZlÛ{ÄŽ8nÂŒ0S½ ÊUAabýŸáÞÚíendstream endobj 6 0 obj 1265 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:33+01:00 2016-01-27T08:26:33+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001589 00000 n 0000003472 00000 n 0000001530 00000 n 0000001370 00000 n 0000000015 00000 n 0000001350 00000 n 0000001654 00000 n 0000001908 00000 n 0000001843 00000 n 0000001775 00000 n 0000001695 00000 n 0000001725 00000 n 0000001990 00000 n 0000002049 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<491D72201FBE37B744865FB9669CEF65><491D72201FBE37B744865FB9669CEF65>] >> startxref 3626 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.pdf0000644000175000017500000000753512652070444016612 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÿnÛ6þßOqHÿ‘ ›IQ?¶a€›ª˜Ûò,¥kÐ †"ÓµEr%yYö }•½ãŽmÇN·@€éÈ»ï¾ï` ¶ºÌ3»ï½Yxð¥éÙð¥÷µGµÌ#»‡· .ðÕ‡dÝëöPðx'~É}Ϻ¼^L¢y²ŒãÉe¸è'ô|—¸<ðqm²ê F…ä¡÷ÙJ’›yxkñÛ>d»ºXÊ´y\6²­¶mÈœ€¾°ð%¯ÊÎÜþž|èqîtnŸ8S!‡6añd7@¸$ ñÐa‚0CîêM³‘Zl«uT /nœMCõý˜)³‰c{0¤L™íþ"×&6Aþf+³|ýíãVBµ†v#!+rY¶€; “u›ËÒVê\Na"¼!u‰¯ÁÄ7³hãSHz‰†c½Êˬح$ü¤h|£ndó³ZÎH&½äu6«pÍ9Ó·Ú¯7i¹*äàœg¡Upº¬mÒ^«”nû?¾ü]_.ÆódÍŒ&Tt’|'‰yz" ¾è„°‰`B±m5 ¤°­ò²•5´¾ü-ë ðí>/‘Ä4m—_ m`›Öé½D“òȉÍtT†(5Ž-’•§Xž‚ªd<5›jW¬àNjéÖU}Ÿ¶JÈÇjW?‘èÜgûT(Ü× ãÝv[Õ \·s¨%\ÌÃé Ýpñ.\\ @*»„Ù¦I”‹ «²¿2¹má!o7KOBÒç‚Ø¶XuZ6*h+KUU·ÖŸ}j¬²ntç 8„«xZ¯á>AˉGÝ.TÙÔØŒ ÚI,êóC, Q•G1¨jÐ{´côª¢÷íþÙT}—aBâ+µ$ÛÊߢI¸j_ÛX®lâb*œESAÓqŒ¬Rv¡xîäð(aÁIÃZó«ËøeCYªFXÁ·B6¤kªÿ)á÷¦t…ãëäpu¨Á<ºÖVŠ„{fˆ0—{Æ:9ÖØ±äUxžÇCåëzxÇ|a`8\àò ACFl¡ËÅŠˆA2g»û™vMÎFâˆsJÓ¨(phÄp—6HÒ¶®Ú*«Šæø%IæñÞëûx:Ry4çøˆ§ød›½Ägøi4OÂý8ðÿs$Ç4('‡¶}Â…ïgºjå!šÒÅérúÇIº‚îËn<½OÆÉÍ)7¨$w|ÿlä×p×§j$:ÔÚåE«™’ezWÈÑJÕU^‚§Zî…ñøÙZ„Éõbû”;$p©5š\‡f×sJÐ ã\§³í®6gb¸Œ® _k y³o¹ëõìj¦Iã¶ žØå¬ãæ·Ù2Ò3Zy)«v¦‡öö’˜h×É2z¿œ†ÓH×$çÝõ ž6¦çoò>¶µnu6ë”ÐCK:7GÌCù ˜ë[8ºó²Ù­ûÌQ_<ë[¦ËL·xœ¦ÎÚçœR¥OÏË0„Ñ$ŽŽ¥xJ䳓ÛÙŸÜgÜê+Ø¥ÿ-§N1¦ëî“zêö*<«'ü?ââ™'üËÁñê©ÿ‘€¸¸"¿Sg4Ö÷ˆÝR!‡‹zðaW³©£q:‡ÎÖs3Lz¿âõ/Ôy¶endstream endobj 6 0 obj 1211 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:28+01:00 2016-01-27T08:26:28+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001535 00000 n 0000003346 00000 n 0000001476 00000 n 0000001316 00000 n 0000000015 00000 n 0000001296 00000 n 0000001600 00000 n 0000001775 00000 n 0000001710 00000 n 0000001641 00000 n 0000001671 00000 n 0000001857 00000 n 0000001923 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<6CDD60A3DF83886BFA4EDA8CF38BA554><6CDD60A3DF83886BFA4EDA8CF38BA554>] >> startxref 3500 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_COOKIELIST.html0000644000175000017500000000455412652070415016716 00000000000000 CURLINFO_COOKIELIST man page

NAME

CURLINFO_COOKIELIST - get all known cookies

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_COOKIELIST,   struct curl_slist **cookies);

DESCRIPTION

Pass a pointer to a 'struct curl_slist *' to receive a linked-list of all cookies cURL knows (expired ones, too). Don't forget to call curl_slist_free_all(3) on the list after it has been used. If there are no cookies (cookies for the handle have not been enabled or simply none have been received) 'struct curl_slist *' will be set to point to NULL.

Since 7.43.0 cookies that were imported in the Set-Cookie format without a domain name are not exported by this option.

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.14.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.30000644000175000017500000000376512626067776016426 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_NUM_CONNECTS 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_NUM_CONNECTS \- get number of created connections .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NUM_CONNECTS, long *nump); .SH DESCRIPTION Pass a pointer to a long to receive how many new connections libcurl had to create to achieve the previous transfer (only the successful connects are counted). Combined with \fICURLINFO_REDIRECT_COUNT(3)\fP you are able to know how many times libcurl successfully reused existing connection(s) or not. See the connection options of \fIcurl_easy_setopt(3)\fP to see how libcurl tries to make persistent connections to save time. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.12.3 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.html0000644000175000017500000000421112652070415017414 00000000000000 CURLINFO_HTTPAUTH_AVAIL man page

NAME

CURLINFO_HTTPAUTH_AVAIL - get available HTTP authentication methods

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTPAUTH_AVAIL, long *authp);

DESCRIPTION

Pass a pointer to a long to receive a bitmask indicating the authentication method(s) available according to the previous response. The meaning of the bits is explained in the CURLOPT_HTTPAUTH option for curl_easy_setopt(3).

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.10.8

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.30000644000175000017500000000403312626067776016736 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_SESSION_ID 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_SESSION_ID \- set RTSP session ID .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_SESSION_ID, char *id); .SH DESCRIPTION Pass a char * as a parameter to set the value of the current RTSP Session ID for the handle. Useful for resuming an in-progress session. Once this value is set to any non-NULL value, libcurl will return \fICURLE_RTSP_SESSION_ERROR\fP if ID received from the server does not match. If unset (or set to NULL), libcurl will automatically set the ID the first time the server sets it in a response. .SH DEFAULT NULL .SH PROTOCOLS RTSP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_RTSP_REQUEST "(3), " CURLOPT_RTSP_STREAM_URI "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.30000644000175000017500000000347312626067776016152 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKOPTDATA 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKOPTDATA \- custom pointer to pass to sockopt callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKOPTDATA, void *pointer); .SH DESCRIPTION Pass a \fIpointer\fP that will be untouched by libcurl and passed as the first argument in the sockopt callback set with \fICURLOPT_SOCKOPTFUNCTION(3)\fP. .SH DEFAULT The default value of this parameter is NULL. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.16.0 .SH RETURN VALUE Returns \fICURLE_OK\fP if the option is supported, and \fICURLE_UNKNOWN_OPTION\fP if not. .SH "SEE ALSO" .BR CURLOPT_SOCKOPTFUNCTION "(3), " CURLOPT_OPENSOCKETFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.30000644000175000017500000000371112626067776016475 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYPASSWORD 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYPASSWORD \- password to use with proxy authentication .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPASSWORD, char *pwd); .SH DESCRIPTION Pass a char * as parameter, which should be pointing to the zero terminated password to use for authentication with the proxy. The \fICURLOPT_PROXYPASSWORD(3)\fP option should be used in conjunction with the \fICURLOPT_PROXYUSERNAME(3)\fP option. .SH DEFAULT blank .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_PASSWORD "(3), " CURLOPT_PROXYUSERNAME "(3), " .BR CURLOPT_HTTPAUTH "(3), " CURLOPT_PROXYAUTH "(3)" curl-7.47.0/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.html0000644000175000017500000000405712652070415017733 00000000000000 CURLINFO_SSL_VERIFYRESULT man page

NAME

CURLINFO_SSL_VERIFYRESULT - get the result of the certification verification

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_VERIFYRESULT, long *result);

DESCRIPTION

Pass a pointer to a long to receive the result of the certification verification that was requested (using the CURLOPT_SSL_VERIFYPEER option.

PROTOCOLS

All using TLS

EXAMPLE

TODO

AVAILABILITY

Added in 7.5

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.30000644000175000017500000000370312626067776020077 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 \- checksum of SSH server public key .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, char *md5); .SH DESCRIPTION Pass a char * pointing to a string containing 32 hexadecimal digits. The string should be the 128 bit MD5 checksum of the remote host's public key, and libcurl will reject the connection to the host unless the md5sums match. .SH DEFAULT NULL .SH PROTOCOLS SCP and SFTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.17.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSH_PUBLIC_KEYFILE "(3), " CURLOPT_SSH_AUTH_TYPES "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_HEADERDATA.30000644000175000017500000000357212626067776015760 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADERDATA 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADERDATA \- pointer to pass to header callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADERDATA, void *pointer); .SH DESCRIPTION Pass a \fIpointer\fP to be used to write the header part of the received data to. If \fICURLOPT_WRITEFUNCTION(3)\fP or \fICURLOPT_HEADERFUNCTION(3)\fP is used, \fIpointer\fP will be passed in to the respective callback. If neither of those options are set, \fIpointer\fP must be a valid FILE * and it will be used by a plain fwrite() to write headers to. .SH DEFAULT NULL .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_HEADERFUNCTION "(3), " CURLOPT_WRITEFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.html0000644000175000017500000000734012652070414017322 00000000000000 CURLOPT_COPYPOSTFIELDS man page

NAME

CURLOPT_COPYPOSTFIELDS - have libcurl copy data to POST

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COPYPOSTFIELDS, char *data);

DESCRIPTION

Pass a char * as parameter, which should be the full data to post in a HTTP POST operation. It behaves as the CURLOPT_POSTFIELDS option, but the original data is instead copied by the library, allowing the application to overwrite the original data after setting this option.

Because data are copied, care must be taken when using this option in conjunction with CURLOPT_POSTFIELDSIZE or CURLOPT_POSTFIELDSIZE_LARGE: If the size has not been set prior to CURLOPT_COPYPOSTFIELDS, the data is assumed to be a zero terminated string; else the stored size informs the library about the byte count to copy. In any case, the size must not be changed after CURLOPT_COPYPOSTFIELDS, unless another CURLOPT_POSTFIELDS or CURLOPT_COPYPOSTFIELDS option is issued.

DEFAULT

NULL

PROTOCOLS

HTTP(S)

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  char local_buffer[1024]="data to send";
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* size of the data to copy from the buffer and send in the request */
  curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 12L);
 
  /* send data from the local stack */
  curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, local_buffer);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Added in 7.17.1

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_POSTFIELDS, CURLOPT_POSTFIELDSIZE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PRIVATE.pdf0000644000175000017500000001011212652070440016060 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VínÛ6ýï§ : • ‹EQûœVܺ¶gËÙŠd[Ž5Ø’#ÉI‹a´wÜ%EZ’6Ô¨HÞ{Ϲçò™˜ “ÿÉßå®ÓŸ¹è®è˜è®sß!bÉŸå]„°ÁãÂu§:Ck!×§ØóQ¸ëho³ÑdÞLgÃK=ü«cL ——`ßó=8®:Ú ä‹&_ ¶ˆïW ®}…+-¸Ö赎–‡|{GÅ×›".³}©– ›|ªÁ’,-P+åŸá‡:'eP×3eQ«É¿óý™(±Ï8PÃf°@‘Aq`<¨#1Ì|*} ø÷š ËĶé"ƒXbù1caöD¥ÿÇÌÜ¡êÉÓÊ,Q„öy¢À°Šì1á!:ð1¤¶\(c´Ï’´Œó C>ñ ´× °ÉwÏ?'ÓùpÞÆ ô(¬?$ér{XÅègÞ¾>ÿo~À »£ŠŒeNÛ{-–Pw¥«mÜk7÷MMšÅl“gz "ê¡€^G–¤w¨ÌÐ**#Tn¢›ì°]¡[FQdË$*ãzLÊ ,'…àUdcÝ`„`XZ¸9ê-£TN¨Ýum— P$ÖŠÃmßâ´Ü~å‰ò¸Ì“¸Å—ça×cJÈb‘bÂp²¬†W‡(ßâªS`«GLåAÀ³ézªÛµ˜îtî–ãi1P²Îª¯®:ç9˜2Ï’Ñ%%±PÜpü~r>¨ÄåšNKtG'£šÕ llÙjº…ea´MnñIYÄÛµHBAÐŒÙÕÒ6íq­”&Ѧ/_5uâQ“4="‹ ”fÐyI-®|>øÃÔiŽÃ{Y³=iC>©çp!ù2Á÷*{´ª<ª§´nèº.­£Ñy-bÌTÓ™¬Â–ÜÅŽ+;iXØdbâ´Iˆ&µcRÞSGðÇàÓt|Ë+Ê+?íþ¥awIš€Ùq‚Ó|?¸bQæ‡e)üMËÀ™§Úø] /â%Ì^!B¶]Ç÷p’õµ¸SÿæØq¥‘öäâxAÞ+ž¸ëÐøF´/e-Ác*{=­¢9£Êðù—Úèᧇ^mÊrÿc¿aÕ¾D»=XÔ2Û½RÖ-¯’~êê“–˜òS‰é`ßy Ý~¥fh7©Éz®þs×p(6Ÿ…ôÐkÙ>© ƒ¸0Èà0[y÷q¾Îòê¦Øv¯81·ktÚ ákœ ÑÅÜ/¾cZ/é¯"6ºÓ¡Äv˜%)ðœq–ªÛÁdOÓt§¸æéöÊBÎK®ô×@ßrrS¢€× /ÿXÇ?2ó¼ó‡]s˜¹k‰—§6¸Dõ ¿³Q$ Gƒ‹áh~n<ˆ”ڞמûÁj7-°äbÈH¿o%WÚ,³1ºÔ hÑ£EprcÕÖûãòË×op3ùˆ’µhsõ*FàêÅa¿Ïrইà~—ãã‰N™öûøf"Þ5ü \ ø©çPÓìæA€£ù¤ròüQpÌ.&óW$&ÁŽšq÷Ú S«QÅš‡ï‚٬ʷ±ÍÎ"ÁœÀŒÆ¢.v*ŽÔ5ëbøfêa 3¸èÃ!E(Y ¶×á¡‚°óüýÉÃH:endstream endobj 6 0 obj 1356 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:24+01:00 2016-01-27T08:26:24+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001680 00000 n 0000003563 00000 n 0000001621 00000 n 0000001461 00000 n 0000000015 00000 n 0000001441 00000 n 0000001745 00000 n 0000001999 00000 n 0000001934 00000 n 0000001866 00000 n 0000001786 00000 n 0000001816 00000 n 0000002081 00000 n 0000002140 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<728DC9107EDDD50DABA411F110C17B80><728DC9107EDDD50DABA411F110C17B80>] >> startxref 3717 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_READDATA.30000644000175000017500000000470512626067776015542 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_READDATA 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_READDATA \- custom pointer passed to the read callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_READDATA, void *pointer); .SH DESCRIPTION Data \fIpointer\fP to pass to the file read function. If you use the \fICURLOPT_READFUNCTION(3)\fP option, this is the pointer you'll get as input in the 4th argument to the callback. If you don't specify a read callback but instead rely on the default internal read function, this data must be a valid readable FILE * (cast to 'void *'). If you're using libcurl as a win32 DLL, you MUST use a \fICURLOPT_READFUNCTION(3)\fP if you set this option. .SH DEFAULT By default, this is a FILE * to stdin. .SH PROTOCOLS This is used for all protocols when sending data. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); struct MyData this; if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* pass pointer that gets passed in to the CURLOPT_READFUNCTION callback */ curl_easy_setopt(curl, CURLOPT_READDATA, &this); curl_easy_perform(curl); } .fi .SH AVAILABILITY This option was once known by the older name \fICURLOPT_INFILE\fP, the name \fICURLOPT_READDATA\fP was introduced in 7.9.7. .SH RETURN VALUE This will return CURLE_OK. .SH "SEE ALSO" .BR CURLOPT_READFUNCTION "(3), " CURLOPT_WRITEDATA "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.html0000644000175000017500000001623112652070414017146 00000000000000 CURLOPT_DEBUGFUNCTION man page

NAME

CURLOPT_DEBUGFUNCTION - debug callback

SYNOPSIS

#include <curl/curl.h>
 
typedef enum {
  CURLINFO_TEXT = 0,
  CURLINFO_HEADER_IN,    /* 1 */
  CURLINFO_HEADER_OUT,   /* 2 */
  CURLINFO_DATA_IN,      /* 3 */
  CURLINFO_DATA_OUT,     /* 4 */
  CURLINFO_SSL_DATA_IN,  /* 5 */
  CURLINFO_SSL_DATA_OUT, /* 6 */
  CURLINFO_END
} curl_infotype;
 
int debug_callback(CURL *handle,
                   curl_infotype type,
                   char *data,
                   size_t size,
                   void *userptr);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEBUGFUNCTION,
                          debug_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

CURLOPT_DEBUGFUNCTION replaces the standard debug function used when CURLOPT_VERBOSE is in effect. This callback receives debug information, as specified in the type argument. This function must return 0. The data pointed to by the char * passed to this function WILL NOT be zero terminated, but will be exactly of the size as told by the size argument.

The userptr argument is the pointer set with CURLOPT_DEBUGDATA.

Available curl_infotype values:

CURLINFO_TEXT

The data is informational text.

CURLINFO_HEADER_IN

The data is header (or header-like) data received from the peer.

CURLINFO_HEADER_OUT

The data is header (or header-like) data sent to the peer.

CURLINFO_DATA_IN

The data is protocol data received from the peer.

CURLINFO_DATA_OUT

The data is protocol data sent to the peer.

CURLINFO_SSL_DATA_OUT

The data is SSL/TLS (binary) data sent to the peer.

CURLINFO_SSL_DATA_IN

The data is SSL/TLS (binary) data received from the peer.

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

static
void dump(const char *text,
          FILE *stream, unsigned char *ptr, size_t size)
{
  size_t i;
  size_t c;
  unsigned int width=0x10;
 
  fprintf(stream, "%s, %10.10ld bytes (0x%8.8lx)\n",
          text, (long)size, (long)size);
 
  for(i=0; i<size; i+= width) {
    fprintf(stream, "%4.4lx: ", (long)i);
 
    /* show hex to the left */
    for(c = 0; c < width; c++) {
      if(i+c < size)
        fprintf(stream, "%02x ", ptr[i+c]);
      else
        fputs("   ", stream);
    }
 
    /* show data on the right */
    for(c = 0; (c < width) && (i+c < size); c++)
      fputc(ptr[i+c]>=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:'.', stream);
 
    fputc('\n', stream); /* newline */
  }
}
 
static
int my_trace(CURL *handle, curl_infotype type,
             char *data, size_t size,
             void *userp)
{
  const char *text;
  (void)handle; /* prevent compiler warning */
 
  switch (type) {
  case CURLINFO_TEXT:
    fprintf(stderr, "== Info: %s", data);
  default: /* in case a new one is introduced to shock us */
    return 0;
 
  case CURLINFO_HEADER_OUT:
    text = "=> Send header";
    break;
  case CURLINFO_DATA_OUT:
    text = "=> Send data";
    break;
  case CURLINFO_SSL_DATA_OUT:
    text = "=> Send SSL data";
    break;
  case CURLINFO_HEADER_IN:
    text = "<= Recv header";
    break;
  case CURLINFO_DATA_IN:
    text = "<= Recv data";
    break;
  case CURLINFO_SSL_DATA_IN:
    text = "<= Recv SSL data";
    break;
  }
 
  dump(text, stderr, (unsigned char *)data, size);
  return 0;
}
 
int main(void)
{
  CURL *curl;
  CURLcode res;
 
  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace);
 
    /* the DEBUGFUNCTION has no effect until we enable VERBOSE */
    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
 
    /* example.com is redirected, so we tell libcurl to follow redirection */
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
 
    curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/");
    res = curl_easy_perform(curl);
    /* Check for errors */
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
              curl_easy_strerror(res));
 
    /* always cleanup */
    curl_easy_cleanup(curl);
  }
  return 0;
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_VERBOSE, CURLOPT_DEBUGDATA

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTFIELDS.30000644000175000017500000000675112626067776016054 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDS 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTFIELDS \- specify data to POST to server .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDS, char *postdata); .SH DESCRIPTION Pass a char * as parameter, pointing to the full data to send in a HTTP POST operation. You must make sure that the data is formatted the way you want the server to receive it. libcurl will not convert or encode it for you in any way. For example, the web server may assume that this data is url-encoded. The data pointed to is NOT copied by the library: as a consequence, it must be preserved by the calling application until the associated transfer finishes. This behaviour can be changed (so libcurl does copy the data) by setting the \fICURLOPT_COPYPOSTFIELDS(3)\fP option. This POST is a normal application/x-www-form-urlencoded kind (and libcurl will set that Content-Type by default when this option is used), which is commonly used by HTML forms. Change Content-Type with \fICURLOPT_HTTPHEADER(3)\fP. Using \fICURLOPT_POSTFIELDS(3)\fP implies \fICURLOPT_POST(3)\fP. You can use \fIcurl_easy_escape(3)\fP to url-encode your data, if necessary. It returns a pointer to an encoded string that can be passed as \fIpostdata\fP. If you want to do a zero-byte POST, you need to set \fICURLOPT_POSTFIELDSIZE(3)\fP explicitly to zero, as simply setting \fICURLOPT_POSTFIELDS(3)\fP to NULL or "" just effectively disables the sending of the specified string. libcurl will instead assume that you'll send the POST data using the read callback! Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with \fICURLOPT_HTTPHEADER(3)\fP as usual. To make multipart/formdata posts (aka RFC2388-posts), check out the \fICURLOPT_HTTPPOST(3)\fP option combined with \fIcurl_formadd(3)\fP. .SH DEFAULT NULL .SH PROTOCOLS HTTP .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { const char *data = "data to send"; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* size of the POST data */ curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 12L); /* pass in a pointer to the data - libcurl will not copy */ curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data); curl_easy_perform(curl); } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_POSTFIELDSIZE "(3), " CURLOPT_READFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.30000644000175000017500000000323312626067776016277 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_UPLOAD 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_UPLOAD \- get the number of uploaded bytes .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_UPLOAD, double *uploadp); .SH DESCRIPTION Pass a pointer to a double to receive the total amount of bytes that were uploaded. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.4.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.html0000644000175000017500000001121312652070415017766 00000000000000 CURLOPT_OPENSOCKETFUNCTION man page

NAME

CURLOPT_OPENSOCKETFUNCTION - set callback for opening sockets

SYNOPSIS

#include <curl/curl.h>
 
typedef enum  {
  CURLSOCKTYPE_IPCXN,  /* socket created for a specific IP connection */
  CURLSOCKTYPE_ACCEPT, /* socket created by accept() call */
  CURLSOCKTYPE_LAST    /* never use */
} curlsocktype;
 
struct curl_sockaddr {
  int family;
  int socktype;
  int protocol;
  unsigned int addrlen;
  struct sockaddr addr;
};
 
curl_socket_t opensocket_callback(void *clientp,
                                  curlsocktype purpose,
                                  struct curl_sockaddr *address);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_OPENSOCKETFUNCTION, opensocket_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

This callback function gets called by libcurl instead of the socket(2) call. The callback's purpose argument identifies the exact purpose for this particular socket: CURLSOCKTYPE_IPCXN is for IP based connections and CURLSOCKTYPE_ACCEPT is for sockets created after accept() - such as when doing active FTP. Future versions of libcurl may support more purposes.

The clientp pointer contains whatever user-defined value set using the CURLOPT_OPENSOCKETDATA function.

The callback gets the resolved peer address as the address argument and is allowed to modify the address or refuse to connect completely. The callback function should return the newly created socket or CURL_SOCKET_BAD in case no connection could be established or another error was detected. Any additional setsockopt(2) calls can of course be done on the socket at the user's discretion. A CURL_SOCKET_BAD return value from the callback function will signal an unrecoverable error to libcurl and it will return CURLE_COULDNT_CONNECT from the function that triggered this callback. This return code can be used for IP address blacklisting.

If you want to pass in a socket with an already established connection, pass the socket back with this callback and then use CURLOPT_SOCKOPTFUNCTION to signal that it already is connected.

DEFAULT

The default behavior is the equivalent of this:

   return socket(addr->family, addr->socktype, addr->protocol);

PROTOCOLS

All

EXAMPLE

AVAILABILITY

Added in 7.17.1.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_OPENSOCKETDATA, CURLOPT_SOCKOPTFUNCTION, CURLOPT_CLOSESOCKETFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.30000644000175000017500000000414612626067776020450 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "4 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options" .SH NAME CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE \- chunk length threshold for pipelining .SH SYNOPSIS #include CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, long size); .SH DESCRIPTION Pass a long with a \fBsize\fP in bytes. If a pipelined connection is currently processing a chunked (Transfer-encoding: chunked) request with a current chunk length larger than \fICURLMOPT_CHUNK_LENGTH_PENALTY_SIZE(3)\fP, that pipeline will not be considered for additional requests, even if it is shorter than \fICURLMOPT_MAX_PIPELINE_LENGTH(3)\fP. .SH DEFAULT The default value is 0, which means that the penalization is inactive. .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.30.0 .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLMOPT_PIPELINING "(3), " CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE "(3), " .BR CURLMOPT_MAX_PIPELINE_LENGTH "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CRLFILE.pdf0000644000175000017500000001067512652070427016051 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…WÛnÛF}×W,Ї’´á.ïhQ@qèD -©íİ ¦VŠTx‰ã~ƒû)ýÇÎì’ºÙMa R¼»3gÎÌœ%eÄÀŸö3Ùô^Ï\r_õ rßûÚcò´Ɇ¼‰à‚‡¿ˆV=õ†—×7©ç“hÓs}Ê,=ôn´³ËY8™F‹³Yx> ƒ[ͼÕIÒ”ÙBÄÕã¢u±­õ· j®ÿI‹¼"/=Óÿˆ>ôå œ$€Á Ô·†é(ìiã¡þ3À†SfSÛ7Z´ìiýyšÔ2\2` Dz ”üCª­HÒÕ#‰É™(ëô)‰kAfM! éÅ·%kèä['Ò¹O½ö—ðâ!aZÕä) Æî·à+ qà >˜_'Óùh~ ÂkÁj?¥y’5KA~E_ã?tý^ç–äI ¸pÊò­<"¯Öq¾ÌDÿ”ã>IÖqI^Ì[ýàñ¨„С|ÌÏf£i4šŒ[:˜­ròâi|HŒ­˜1¨ã8’øª†•kRðý/Q¤å&Íñ%©ê2ÍïIoð#VÌ0£+@ߣŽë´|ï8ÞÕ§MMÏöÛㇴ^“z Ü9¦3Wé)VH ·Zš“ipAVE¹‰k(ÔZætÀ¹I}ˆæ°`n´¦Hsûù¦s‹úžÅ´8K—Ê~½ŽkR$Š, ¾šÏC"tfkß!üü^PYáÀ¥ÁÐCôêFû´¹L$I+r§3L»žÖ¤Yd!„ñ|NŠ’¼Ë›(œ÷Ñp)ðv^i ·¼3ƒKÞãG´æ7"O„„æZ.¶qU÷pc-²mçQ®Ý.ÏßÄAž¹(—œrÎe¥$ )Ù–E"ªŠa–Þ탄î4˜å¨ eÆ&[‘#YU³ÝeÝ'ŸmÃ_\-ÎánámßÖÞa/ÎÞg ¸‹Gñà@µ]ê›ÛÃM…òÀÔb†$Bï À}Ô'¥øÚ¤2‡ÈS²Éßë¶mkqšC¯ÇY&™Øˆ¼®Ö¶P$2Ó5¨kve9ÄZ*Ùñe©++¨ÈAºB5·PçH–Ê•ÝO‹we­áPi)ÙÄ_t,Û´5QA 9f9ÏÉRß`šÁtRlîÒ¶º6‘PzûœÚN'x~@fWÁlt~= ‚™’ê£tïº4(d6Œ ×’цÕN»e)/Œš®%ªñSBDYBµK»ÕN´æŽÓA¾T³'ð0ŸodcúÜÕ†oQïT:÷Šõç¹[=ÕMÏ…yÁµJU•ÄÈ9u­NåÅS$îÄ¥ ŒjÌQ)ꦔçHw×EÜô¨Íw•É(·\U}­* Ìí¤¬t†…Î9X]"’»ÝuõÄy^ÔpD²"^bY¨]Ë‘ˆm»¡…<\íš\1¿Ë*qpÔ”RâŽä Õ0,_ûf^6BJ·j:î] ó]¶Ë£‘é‚f@~04[ymm§¹Rcü¾*š|Ùi.†½, ha™Þß‹€ñê°Tt[u¦FÛj>j@‰ hŽ&Ûy‹Ö†ô"mp™Y]Í/å)Ãe¥]3¸c¶Õ¢…Ñ.šƒêeq]×Ü«Ðø2 ŸoGv:kQX¦×æhmYpjÀHæ˜Dd²ó SÊ5œné9›„'[Àö‡u¬0C*˜ƒ»•t¹.’"«þ`ðyx1 ƒn"xÿ9ý£=>fâèPèÞNZ"mÏ{¶Í ,oî¼!ßJ†Wd¸–ˆÝ`ÓFáðÍ(E×Ï |Ǽ\*Õs¡ô©ñãXo´Y]ÎÆäJg&´¥Ã´ax´åô%)Œ3Ø â-´Yœˆ—ºŠ¹À¹}¸Ô†óÉžç“"yy”œ$ÒbÔéWN™þ±=pç8]> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:15+01:00 2016-01-27T08:26:15+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000001949 00000 n 0000003914 00000 n 0000001890 00000 n 0000001730 00000 n 0000000015 00000 n 0000001710 00000 n 0000002014 00000 n 0000002340 00000 n 0000002275 00000 n 0000002135 00000 n 0000002055 00000 n 0000002085 00000 n 0000002219 00000 n 0000002422 00000 n 0000002491 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4068 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.30000644000175000017500000000402412626067776016706 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_FTP_ENTRY_PATH 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_FTP_ENTRY_PATH \- get entry path in FTP server .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FTP_ENTRY_PATH, char **path); .SH DESCRIPTION Pass a pointer to a char pointer to receive a pointer to a string holding the path of the entry path. That is the initial path libcurl ended up in when logging on to the remote FTP server. This stores a NULL as pointer if something is wrong. The \fBpath\fP pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the corresponding CURL handle. .SH PROTOCOLS FTP(S) and SFTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.15.4. Works for SFTP since 7.21.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_FILETIME.pdf0000644000175000017500000000765012652070454016257 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVmoâFþί©bŸðƻ뗵ZUâr¤GçÚS¨"ÇÞßa;ç—DéêììÚ@L’S‚Å;;ó<3ÏÌòlBÁV¯î;ΧK6ÕÀ†Íàû€êMè¾â Þ‡h ÔƒðvО¡à3ðNDa6ð|âàâqpeœ].§“Ùùüú|2‡“‹ñÚàkâ¦Ü^˨zºÞÈ:Ío Ób®m÷uZä¼~Êü;ü}`Ù„Qt#ˆAÀU8¸át`ÌFæ âÆ]ê7àˆ-LÆÅØ ¿>CÍlâØ>X”©m[A}‰þõ„RfE-¡N3 Åm÷¨.S©Ü""ꪌûÄ]È½ÇˆÞ pº­$Q[-JeÐ>-â&“yÝ}ÆÌbK¸ë¡-W_fóÅj²ês t|ŒŸÒ<Þ6‰„_TžOÕ¹ûUãqtš׸@ƒuXë=xwåÉV_VbÛ"ßÀ;•‹ûµù3æ»WãØAý0^-'‹p2ŸõRõ*ìE´ÏK@D—,·Çuª "¸/Ò¼–%ÔþÐHpUÊX¦=ÿT!péÎ…Û¹xÀrïÁ™8„aÚæ—›"gvTm_9ùq½Ñ„öKk#Í!o²$†ñ*yRA…e”@uPæsâ‹}®(ñÛ3¾F9ÐÀ·]( ¿]„§—áY þŸ"—k“À䞊FËÙ¢CHkˆñØÄw5•f™E¹Šä¦Ùq.ç; OeO²Âî( WÃ@ ©ÆE&5déæ®F×8wQÔٹɿåE+Eu¶K¾ƒ}£çÅc>Ô4*Y>˜X¡ ÂÀ´´>ïRÔ,F(Ê##—*£¤U~¢ÇC9 »‡ù»:ÕÕ3‰yLP~@àk"Íý}Q¶]&%Áu„äv[a„®d:½²Žq*éò0tçöʕўíëhï ­ Ms‘4Ñ QOv+Ô™ÖŸŠ«ê–5U àÀúëàäk;m!toÄÅv+cE㨾.³HV¬ ®e «ŒòêíÑ$‹lö›'hPtµÝjï&¦`ÄvwiÄ©`iÞŽ-ˆ·¤Æt¾fvoF N:Äm;ðñQ8-¾`7KSª’5yÍ3%·÷Uê¼=¦˜²&WÝ”ª8Ñvû¤› BÄpÅßÈ+ãÖqgÏfØbÙµ½ÃE77˜·S”¥ÒÒvâ<„ù^] ÛÕöv÷ÏÙ|z4­-ÄësÇéßAÃp±6VksçÝê%ÀÞ€ÿ5ºXLÇ»Á$Þ®áåj‚µÈ>èLjÆâÅ¥j9²ÜGC³Ne£Ï0:pµQût§Étô~2„_ú„ñ>æÆèñ%‰LÔä‹óÇD¯Œå8¼\Îà³I9v¼GÑôr¬Ûæ5¾h/ë¦ìþKŒ¯çŸ m;°“оj{]&CP­Ú^Î>Íæ&w?g×s}q©ƒyQ“.Ö›¥XÇ0š®æ"ÇŽo[ì}bS70Š#>ÎÆƒüµÜ‡}·ÕólöFƒôSïSB_¸²h ð¿‡Å1–ÓÂÛ¦7Ê[À6-ê:LxCŽš 0ªQ:{Uë›iþÀ×D"«ûendstream endobj 6 0 obj 1194 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:36+01:00 2016-01-27T08:26:36+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001518 00000 n 0000003401 00000 n 0000001459 00000 n 0000001299 00000 n 0000000015 00000 n 0000001279 00000 n 0000001583 00000 n 0000001837 00000 n 0000001772 00000 n 0000001704 00000 n 0000001624 00000 n 0000001654 00000 n 0000001919 00000 n 0000001978 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<69AF7A5192EB8774B9A19AF16E70FE09><69AF7A5192EB8774B9A19AF16E70FE09>] >> startxref 3555 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.pdf0000644000175000017500000001010012652070425017672 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VínÛ6ý笠À~T*b–”D}`Ã'u4®åÙJ·"Ebb­²äJr¿Ã^eï¸KJ´;­‘ FLŠ<÷œsÏÕ7 „•?Ýg²¼›{ðT(< ¾ ˜Z„î#YÃe„|ùEô8hŸaàYà6ñˆÖƒ!#ƒèypg\ÝÎ'á,º¿š„‹ñ"¼ºGn§WÑu8]öÒ„d[å÷"®w÷µhÊMc-N ¥žÿdeQù#Ì¿£ƒ!%ÃËÄ 6p Ïv!š ŒéÈ|ƒåà*ã„6BŽÒñilFÿcQâP†Ì’Ëôlð$qž?ÄÉWhJ¨Ë䫉WS渆h ÉËZ@%6yœˆµ(x܉,JA~tˆH‡Ì%¾¶ø2 g‹ëÅKxj‹‚fü’I¾Mü&ù{'ÿÕïr»åÈŠ£·wFVtz\<@\÷óÒønZŠkÛ(³Þ&y†(7­(ê±€åúò±²F¬—æ¯ =%Üæ’!EPR"–c)—j Þ®â"ÍÅÅÏ„¼8@úfàP Áv"u€‡²¸a·¢iPU EÓÙ|?^\ͯgòu:·Ny…ÙY,÷(¯Äç-ˆÎ u 1lJ$VTRð]¹­zhq/ày•%+¨Wå6Oa7øO³°©Ê¦lv!—L‹ÏÄ¥öo ʶÂÝ®öïâŒå¾Ó-UˆÍm‚v•’#Fâ¸$Zeõ),xMûµHáayö ƒ¬¨§P>J-•Œêް¢…P µ÷Ò–œ0¿ÝUVGG0F¬À÷A™µmÉÄõ÷zíkö‰çSªm^¹›yرÝÕw†,ÉEߊԑ–GÝ*Ñòl;œ8Nßä„û*ªZd),¢ÄF-+ˆ y—M¨¯Pz í`k”»r’É-„Vðo. uRe›¦¬ê¥I@‰‚¿›J4ÍÖÛΕxáIXıü3úKÔ t…ƒF<ÎÁVèÑmÎÆSÙum'Ù–G8·ö¾?Õ4{o× uÍÐÆ3¹h¶UK2³§"ΡÞ&‰ÍR¤82e¬JÀ3*bÄòkU…Fá¬TÑt^F Ä|W»HÕ‘qÈ ¢¶¢H÷+r±ÏY³::/¨uÄÖAH½ï²=¥å¦m0ŠzP¢e½îTÏ ‚Ãþ=€À%\¦1Èœ=™L–ekŸc)Ò:: }êxrÞèŽ~Þ¡¸@ë£.ÚüTzµ½õ<9›Ÿ:¸ãËRMÀœ=·j•ÉAÒXËE®ÚÕIÏP_Ž´»çy¶s4k/wØ6ûYoó¾ª-æF[vƒ¾Š«´¯'Q?ouÞ‘sCv6ïªrlUs·×i0Ä9ÃÛ8 #÷5X˜¸ÔÕ/WáähF# Öµ/ÌåùzÇ>Í&cþGSfëf“ñ>ìøç¾ò4t¹s›”ÉQe>è/‹—ïýw=]^O®£/GæÄvðŽCÍŒQšbjfxøF¼Ÿ×zgÌÇÑí| ŸM†s.p™1šÜŽ;¥NKÆý*]Ú—Àñ}xÓ¥ ´é£šz»Ù”U#Ò •7íÆÛéÍ44ÑN1÷Ô»>ˆÉ~Ö‹ñF“EØr¤ÂO"h#Üv‘§ÎF¨JKStÀö¥ëî>{Tl\¼¼¹îI:é,ïSû8mð1ÿ䨡í#ëhN+ðˆ{ÐxºÉ< 9BÍ!ã<À÷ƒ¹ðq[€…i¢ˆsöÖgò¼q4øþõÝ"Çendstream endobj 6 0 obj 1339 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:13+01:00 2016-01-27T08:26:13+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001663 00000 n 0000003553 00000 n 0000001604 00000 n 0000001444 00000 n 0000000015 00000 n 0000001424 00000 n 0000001728 00000 n 0000001982 00000 n 0000001917 00000 n 0000001849 00000 n 0000001769 00000 n 0000001799 00000 n 0000002064 00000 n 0000002130 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3707 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_MAIL_RCPT.30000644000175000017500000000506012626067776015742 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_RCPT 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_RCPT \- list of SMTP mail recipients .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_RCPT, struct curl_slist *rcpts); .SH DESCRIPTION Pass a pointer to a linked list of recipients to pass to the server in your SMTP mail request. The linked list should be a fully valid list of \fBstruct curl_slist\fP structs properly filled in. Use \fIcurl_slist_append(3)\fP to create the list and \fIcurl_slist_free_all(3)\fP to clean up an entire list. When performing a mail transfer, each recipient should be specified within a pair of angled brackets (<>), however, should you not use an angled bracket as the first character libcurl will assume you provided a single email address and enclose that address within brackets for you. When performing an address verification (VRFY command), each recipient should be specified as the user name or user name and domain (as per Section 3.5 of RFC5321). When performing a mailing list expand (EXPN command), each recipient should be specified using the mailing list name, such as "Friends" or "London-Office". .SH DEFAULT NULL .SH PROTOCOLS SMTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0. The VRFY and EXPN logic was added in 7.34.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_MAIL_FROM "(3), " CURLOPT_MAIL_AUTH "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_ERRORBUFFER.pdf0000644000175000017500000001321112652070430016533 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœWkSãØýî_qCjjd _ô~Ìf“šaLŠ ‹‰1©lð%K×¶6²äÑBò›òsú^½l˜ÌU`ôè{ºûôéã¯LçÓé§ùíFçsmÊ‘Î6£¯#CÞdÍŸhÇ>-ð€Oë‘zÇ`žÉ¼Àâ~À»Ñƒvq?¿žÝ.§óùØ xàÛ†6›Yü4 t®{º…×ñÈð[<ãûËËé|©YË1‹ê"}aùòXŠ*ßWã‰éà-ÃÑðO’g%@A-Ãæn b>È£èTÇra僛PFH"@"ái¿O²(­cÁþ@%>§_|ûGzÜ´Ùâz´8Uà£Ïwa)o±Óm˜Å©8cÇYîW•?cÑ6,ØéjlÐ#º‰,—ã¾—ÉçéÝÅüêvq5»!tèšá¨¦½‘ÕmØõ*ྣ:¥sÏ ¨ZY²°AÁªŸWô¸gpôü¦­(=®ù\÷uÝoiDM¨¶a…_‚¥ÉŠ Âvá +«¼l[ïÂŒ"ŒÃU*ŽZÅ’Œå[‘ ®¾&i]à:žÙùj¢ØèƒÿŽtüá–îHЩؕœ-¶I)O\ ¶“gŠt¿®S‚•±_ëRa+DU“][ùNõßÐ[Ž:6·Ý&Ó¾«{Q€b;5ŒÁˆ:®ÝÖíÆ iX‰˜­ë,’Èe[,ÛáºéÑHozÐs:͹céF[ì%ƒ4Qîð*I/Å-ª g[wWÿ˜²ÕK…:®’M°E—[^ZáC‰R>Pd"9îý’ÓM ƒkÉùÆSF´LØõƒïrÃ7ý–O=NùÒÍÇ05!ö² aYæQ"«´’È Ý¤÷¿Í0 iÊnÓ†è¦$ºásÏ6Û—Ÿ† 7|¨H[¶$•䫳*I;Žf9Kólƒ ™1¸Xqv9†ŽéFà“lC£ç¬ÌÙs’¦, ëR´ ©f Óèp;èÄM{fyˆ/,Q± åÀûŽ­=%àMÇàÝÆ>;˜°áÆY.³Æþ|`Kí] 0'g$#òL\ì2Üm”á‘¡W c=3~ Œí]ù®> stream xœ•”]kÛ0†ïý+Da C­êèÓbWIçŽt!Ù\¥0êº4í2òÑÚ¥ûï“d'qSè¾0’ÎyŸWçû Qˆú§}ÏVÑY®ÑCQô=EQûš­Pߺ€ÔoØû¨É¤Ò†“Ô »Šnðù$Ž¿Úi–ç17Ĥð8ïÇ?ìed(¡šr—fï"aÜÙg—3¹¸Èòó"F³m¹œÎo«—i5¯7uœ0é²@b·XlÖê¼(A”i4oÊS%—Ù˜pɉV€®|0¾,ëú¾ÀU}7/ËØþŽ‘ÈÎ" „ÉFŸžøê·ã”Ò´9 Þ;þPÅúä´ë».ئ,p9¯Š¸ˆ?úüDSÂ9up`AöOØ•Gk 2M=ê,7®ÎÄH_jo8ERéb¨ìÞ5êí½1J”tZéÁ°× ö»?ïôL.`í-Õ@¸^[Fü|»×gIÑîKÕvÍIM„Ø;¤MWóÌNòºŽ bàÞp’…N …‹5^òy½-ÛþfÓñ—· nðU–¡Þðj|{­w˜ÄOY?Š'Ÿ/&£s;Ž<€`DµMÅa\N_‹ E —»ìd¯³¼?¾ÊŽ Lá?´n𫱉Ac8Ã~!uS¯Þ”Gvµ!Šš÷‰pB©8T"PVÛe½8`À0ÞbRA¨|ãZ¡ö“ÑBª_·k44G :ý'M0£»´0™Œ÷‘HåêÚp–‹Ÿ…4ášÐ8) ƒF—Û5bDªýÑ`æ¥2}sÏ_¦±/âendstream endobj 15 0 obj 601 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:16+01:00 2016-01-27T08:26:16+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003110 00000 n 0000005062 00000 n 0000003044 00000 n 0000002722 00000 n 0000000015 00000 n 0000002009 00000 n 0000003175 00000 n 0000003498 00000 n 0000003433 00000 n 0000003365 00000 n 0000003216 00000 n 0000003246 00000 n 0000002882 00000 n 0000002029 00000 n 0000002702 00000 n 0000003296 00000 n 0000003326 00000 n 0000003580 00000 n 0000003639 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<3ECD37D096D55B670BAF4C7BDEA660D9><3ECD37D096D55B670BAF4C7BDEA660D9>] >> startxref 5216 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.30000644000175000017500000000417612626067776016364 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_TYPE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_TYPE \- set TLS authentication methods .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_TYPE, char *type); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. The string should be the method of the TLS authentication. Supported method is "SRP". .IP SRP TLS-SRP authentication. Secure Remote Password authentication for TLS is defined in RFC5054 and provides mutual authentication if both sides have a shared secret. To use TLS-SRP, you must also set the \fICURLOPT_TLSAUTH_USERNAME(3)\fP and \fICURLOPT_TLSAUTH_PASSWORD(3)\fP options. .SH DEFAULT blank .SH PROTOCOLS All TLS-based protocols .SH EXAMPLE TODO .SH AVAILABILITY You need to build libcurl with GnuTLS or OpenSSL with TLS-SRP support for this to work. Added in 7.21.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_TLSAUTH_USERNAME "(3), " CURLOPT_TLSAUTH_PASSWORD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.pdf0000644000175000017500000001404712652070443017254 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…XënÛÈý¯§`„2¬1‡Ãk·( È ÖRe¦Ý . š[l(RËK¼FÑ7È«ôû}sáEJÖ0;âp滜ïœ3úØ”ôïô0¹Ú䩞Øäiòû„ɇDÿJäm Bü ~œ¨w Dœ†‰kñq»ZoâûÛõâÃ4þ÷$ðiÄm\ï&ŽZö<ùlÁšwoñûõÍÅï¦$m«ü^$õË}-šòØLgŽg[ðGV5mû¯ø— ·#jÛ³Íðà™M‡¥r!ÓÈèg<„ˆÈŒûòÍ›9®µqó¨q½ã¯Kü¼OÖ±©kdÆ|l«FA9OäÃXÈÿäBÒ$Ï’ô y,+ü ÉŠ'R—é—)DeÛ·`‘NTæv°Çú4”qÝ~ºYonßߎ£“KddÖOY‘æíN¿bA¯ðºÿ.w\¯&ñÅg«y9Šx$¢hÓ™gÛÖ乞ÙÅ¡f(ÄäâO›åýûÍâ·›Kru›1Î(¬µÕÉ"ø!f”V"iÄNfú(Òì[JÞoHZ…H1]rq%žéíôñŸÇϧ¶ ]f-ËM,ßBÏ /ž«Âøl]^M#àÖ…ª¤jlD™Ef•)\ô%r¡»–¬+”#ô•4ç«ír~=õ<•)„µ¾¹Y. Fâ(´v£—M?úÌ‹àî AÜY_§Lï[f;r‘æ™(šã¥šNÌ£ HÒåÉÈÝ7’Ew—ƒ&É•¦éäØVDzwÓŸ§o&3µ¥i=&—–@§T|'‘‹=ô(—c2æöò.Ä…ãìàÌWØízy»Ø¾ßàF£±ù.Óm’®ƒ =3Þu ls,¡Ð¢Bt½”m5 à¶ÌsIž÷Yº'õ¾ló9$ ü§ÙCª²)e©àÑÔñ¬çj0¦âáÜ¥ž?šbû|†©Ì{œ¦ÈP'Žð?÷¢@1¸„S³ú<@ò$õ±â&3/Ïø*ëŒèv‘¡bØŸ):jÛ'5y°^sÜ%y˜:¶Õ6ð)°²ûÏTvf'#rÀÈŠé­#â´æy©¦Êwd1|F=ÛÓüd='ùrBÏ19ó,M”œÃ>) éItºð=¤$ÆuuÞ¨iâ|Ýp«VRÈlŸzÌíz ñ~"—. ]× |RIŸB½AëžÚ ÉvðoöMÔª“@²í˜¬¡˜B®R¡þH TúP©|²»Ç¤j²´Í“ŠœŒì_ôHtá+ªøŽò¼¼ƒÉ 4—…;¡l””Z€Ïhx8‚"d¯ 7 ä&ùK§‰½R×½ x AxÚ'Ug>§¾ßõúT¿5ôúݧ2ã`¼|;ìaÇmO•ÓyozÌœÃs9ÌQ{$ÏY³'›¡H\-7·ÿ wÀºD$iE¾*…`ö¸g††Û¾šªVøÜ‹Z ˆZZ…š<‹J„4Ä—P`æÌÈJsê¶zÊêZìd_\xÀy4‚‘1⻩dX©èâ] Ê( ú7@>4;?@9‹Æ±—Y’R·Ç#êë^#ÆÊ,9b`2a^ùnÐÿ—ÃPîDVÙ±A\kJ4ÑŒ³Ì,ÉdïNð`ý;1Vªuâ¸}Ê;¹öHªä Ókà Ý.C$9¶ÞŒTµÊÃrÀudW‚v'ÌÜGõfè!ßéýZ½:§>+ƒÌž©Yˆ\CëV|– S‡:Ñ:~ÂBŒF6×øpÀº²vFºëM’A?Ÿ÷Ћ±‹t©ßM¿žhø(tÿÜGr²á¨‚4«Œº¾ÝÍíLÚœàÌñTד¼òÓÖxmÁNž0s ~ÃÁשׂç>¸6Ê5Ps{›Ç#¯k>ínr®pqØzŸkÄRöÄÚ*÷øf0ïúlžŠÍÓì¡lí 'E`H/4#\­èµ*d„m ¢º…[C ¥?áE0…Žëÿà|¨ïÐ&ËÿoObA~a‘1&Bˆ3b®)£*Ìs/ìRgO8.0mQ‰´ £äΫ áÛÚ[TÉCªWU’dI€Oª¤z‘6>k€‹Á-¤9ª`gV˜râóµ(î¨DÛþÅúãêú&6žZƒÖs£±1d@DÜT‰ö·z‡QÇ ês˜¬"9H”³ŽPlçò|Q[PÆmÛ õ²Úï©¾Šº2„M×ä§êû¸ƒ"st›™& .op]\BÌUyp Ñdçû§ƒÝݹ™:¾ á[e3¸;‡0±æ{XotºÛÝàöšYM%Kr‘Ý‹Ñl ì|ƒRÞyYI¡›kƒ¬ú¯ \í>“¦‡c#=£Ú †¾P¢Ì(KgGžáR×qUœÏ5">é­'î‚’‡ª„O΂ìÄÄvÌMÅ™G Àþƒæ¨¶¸6\üýNØ-I„ëÍò;·<ÿ†jÐ R7¤€);×lŸŒ ÜÁ¸×)‡«—…YëQèƒ Ñé–X´}‡ä‹–| Åó:Ç"ò¡†ÜlféîAãÈyo@¡^UûlÝYÉÓÔ“ŒëX jho^½ ¾ÓI{®Œ5êõkþQ}{êoïŸIYõ’2PÄ{p÷ÄÁ¿}cóØÝÈ“6?»•Áß7W+ á¶ ±{5þÍV‡ïòÐ܆|óÍÄÌ¡¶§xa“uÏVà¦lß| ¹X¯N¾èƒ|#H ËÀšç¹ZñÃ8–¿Íݬ–@áïÓqXfîW×kî?šùÃoüÌÀp#˜Œ€5ñ,`‰_Ú‚8`7d•Ü.#†{-ãÉßáçÿ@ðëgendstream endobj 6 0 obj 2375 endobj 14 0 obj <> stream xœmSMo£0¼ó+Þ¤âõ6ö‘¦¬”A7qºªÒÊm³jHUý÷kcÚ$mÅ3ãyó†Àˆ¶×p¯ÖÞi ‡áÑ{ñHÿ†[µ†KmҾОãˆ)ÄŠ!©@¯=4ŸfÅ.gÅhè^,bØbuíQ{õ¾Áüœç#=.ò{ŸÝPvÏe³ìÞÊ®Ùo¶û ¤ûæaµi;8“ý£¯=†R±“ý"f âR‚®Œee,#Å­ëIãB&,Ó€pd ùÉ-$–†-ƒb$8¡ƒú8K.ÇÙXßÙï'ósÄ"sBh€†L]75¬Zˆ#ÐO£<ðdŒ"©¤_ô¹±8FÇÌNS&Ù4M®f†”<òïÊQ‘çéH§Wýô'.¤DT½‹íšýa×Bµ©x YaÊüeË£/j‚AƒÊY0„ ØŽ#tjÓTϧ9Ü„EH â'Ù<ýt¾ÉqÀàûÓݲҲ˜ÀêöO ¸%ªƒî°Ýnvû¦¾€e[Ày>É‹€qÿw^šÙÍ-±Ýì¿u)ŽýYšB’Í —°úÆÒYo¨ „Æ6`cèd+Ót… àn—ú¤'‰+D~/Gß·‹sÆŸ8"Þ-7inm¤]ýÔ'ó«ùE6d<¶áC(H„¢ª-üçÕ_ûÓ˜•²á $œ«qŸ¸>´@1‰ú)#ÁUjSíý2×Xøendstream endobj 15 0 obj 546 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:27+01:00 2016-01-27T08:26:27+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003506 00000 n 0000005476 00000 n 0000003440 00000 n 0000003118 00000 n 0000000015 00000 n 0000002460 00000 n 0000003571 00000 n 0000003905 00000 n 0000003840 00000 n 0000003772 00000 n 0000003612 00000 n 0000003642 00000 n 0000003278 00000 n 0000002480 00000 n 0000003098 00000 n 0000003692 00000 n 0000003722 00000 n 0000003987 00000 n 0000004053 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<8A397762B898FB80523E4CDAC55BE481><8A397762B898FB80523E4CDAC55BE481>] >> startxref 5630 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.30000644000175000017500000000411312626067776016320 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECT_ONLY 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECT_ONLY \- stop when connected to target server .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECT_ONLY, long only); .SH DESCRIPTION Pass a long. If the parameter equals 1, it tells the library to perform all the required proxy authentication and connection setup, but no data transfer, and then return. The option can be used to simply test a connection to a server, but is more useful when used with the \fICURLINFO_ACTIVESOCKET(3)\fP option to \fIcurl_easy_getinfo(3)\fP as the library can set up the connection and then the application can obtain the most recently used socket for special data transfers. .SH DEFAULT 0 .SH PROTOCOLS HTTP, SMTP, POP3 and IMAP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.15.2 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_VERBOSE "(3), " CURLOPT_HTTPPROXYTUNNEL "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_OS_ERRNO.pdf0000644000175000017500000000702312652070455016342 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…U펛FýÏS\©?2Dö„aøT«JdC%7¸†MíV‹Ç»T©öú*}ÇÞðzmg!›¹÷žsÏ=\ƒ20ä5Ýó½öfíÂ}§p¯}ј:„é–ïámŠž|î´1‡k‚ësêùî5‡QîBúvC®®×ËEô[¼‰“M¸^Gñ-á·:äC[nDÖ=nîE_T»ZŸ›¶Aê¦/ꪃog饿ksƒš Qr$á# êÛ’w ]j$ ôWÈO™MmŸ#·t«‘¡žþýŒµiPËpaÎLyl¼@þd¢m«ªa'Zصõʬë!¯«Jä=ìt$a0Ë!YQ­P,O¸Í‘Üœ9ÔS\’ÏQ¼JÉ)#¢ØŸŠ*/‡­€_¤Joä}øU†›–jRÍk ¸PñVÁ뇬ږbv©ã ʺº‡×ª§æVÿåú×warµ^¬ÒEI|ÔžÙ£ôßà½ÊdŒß§ž=Jo |©/é:È ©‹ªGû(*ø­¹(Nê3æRÇá‡ÎTâ«€þ ƒYÔ·<ï æ†<ˆib_uC|›‘¬-²»RŒÃËžMNŽŠq—úž5Ö1©7aäÕ½˜¶I}ç­ÈzèsDól‹då  è ®ÊGèD?Ú–sN-fy®®…,MÇ› gPô2½ª{Tóah0,ƒnÈsÑu»¡„ºm&_ )bOÞĤ8=t]/öÐ5"/þÍé,¹ZOê[Ü›¤5|£U³s“ö¨IœBü¤¿É©kfD®â噣çŒú.·ž:&AYŽ/òÿ >¬–áÁ Þ‹VK4—žI¼SØö¼‹ 1·|ù„†a†¥Ú >Bpl íf³©w²XoËEúù´7\.\zïù0I°ÝŠ-¸”™Ôü~¯7d¦×ë>ꌣqF‚åu8Mê²eŒýÐN»1ÜÄï¡Ø)ã;S¿š¦n{±)Œ×Ñû(Ö¹M>E›X½É2ÍõCW$aÁ2‰œS:ß?ºiã&´}RŸõáZÔåþôöµÌg§eÕqŒƒìÇÂèlðT}—©¿ªÓRsæ{Çk¡š–:+‹;YÇaYÔPû“ªíb2tÈT€%Ïd)ˆLìE¥qKä“0ÕþÀënجendstream endobj 6 0 obj 882 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:37+01:00 2016-01-27T08:26:37+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001205 00000 n 0000003016 00000 n 0000001146 00000 n 0000000986 00000 n 0000000015 00000 n 0000000967 00000 n 0000001270 00000 n 0000001445 00000 n 0000001380 00000 n 0000001311 00000 n 0000001341 00000 n 0000001527 00000 n 0000001593 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<52BC8B96B7AA16160473CFD189266291><52BC8B96B7AA16160473CFD189266291>] >> startxref 3170 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PASSWORD.30000644000175000017500000000362212626067776015634 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PASSWORD 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PASSWORD \- password to use in authentication .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PASSWORD, char *pwd); .SH DESCRIPTION Pass a char * as parameter, which should be pointing to the zero terminated password to use for the transfer. The \fICURLOPT_PASSWORD(3)\fP option should be used in conjunction with the \fICURLOPT_USERNAME(3)\fP option. .SH DEFAULT blank .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_USERPWD "(3), " CURLOPT_USERNAME "(3), " .BR CURLOPT_HTTPAUTH "(3), " CURLOPT_PROXYAUTH "(3)" curl-7.47.0/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.30000644000175000017500000000366612626067776016600 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NEW_FILE_PERMS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_NEW_FILE_PERMS \- permissions for remotely created files .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NEW_FILE_PERMS, long mode); .SH DESCRIPTION Pass a long as a parameter, containing the value of the permissions that will be assigned to newly created files on the remote server. The default value is \fI0644\fP, but any valid value can be used. The only protocols that can use this are \fIsftp://\fP, \fIscp://\fP, and \fIfile://\fP. .SH DEFAULT 0644 .SH PROTOCOLS SFTP, SCP and FILE .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.16.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_NEW_DIRECTORY_PERMS "(3), " CURLOPT_UPLOAD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_POST.30000644000175000017500000000656212626067776015165 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POST 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_POST \- request a HTTP POST .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POST, long post); .SH DESCRIPTION A parameter set to 1 tells libcurl to do a regular HTTP post. This will also make the library use a "Content-Type: application/x-www-form-urlencoded" header. (This is by far the most commonly used POST method). Use one of \fICURLOPT_POSTFIELDS(3)\fP or \fICURLOPT_COPYPOSTFIELDS(3)\fP options to specify what data to post and \fICURLOPT_POSTFIELDSIZE(3)\fP or \fICURLOPT_POSTFIELDSIZE_LARGE(3)\fP to set the data size. Optionally, you can provide data to POST using the \fICURLOPT_READFUNCTION(3)\fP and \fICURLOPT_READDATA(3)\fP options but then you must make sure to not set \fICURLOPT_POSTFIELDS(3)\fP to anything but NULL. When providing data with a callback, you must transmit it using chunked transfer-encoding or you must set the size of the data with the \fICURLOPT_POSTFIELDSIZE(3)\fP or \fICURLOPT_POSTFIELDSIZE_LARGE(3)\fP options. To enable chunked encoding, you simply pass in the appropriate Transfer-Encoding header, see the post-callback.c example. You can override the default POST Content-Type: header by setting your own with \fICURLOPT_HTTPHEADER(3)\fP. Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with \fICURLOPT_HTTPHEADER(3)\fP as usual. If you use POST to a HTTP 1.1 server, you can send data without knowing the size before starting the POST if you use chunked encoding. You enable this by adding a header like "Transfer-Encoding: chunked" with \fICURLOPT_HTTPHEADER(3)\fP. With HTTP 1.0 or without chunked transfer, you must specify the size in the request. When setting \fICURLOPT_POST(3)\fP to 1, it will automatically set \fICURLOPT_NOBODY(3)\fP to 0. If you issue a POST request and then want to make a HEAD or GET using the same re-used handle, you must explicitly set the new request type using \fICURLOPT_NOBODY(3)\fP or \fICURLOPT_HTTPGET(3)\fP or similar. .SH DEFAULT 0, disabled .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Along with HTTP .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_POSTFIELDS "(3), " CURLOPT_HTTPPOST "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.pdf0000644000175000017500000000772512652070436017171 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnã6}×WèC¥Âfxui‹ÞD x×±\[Ùm†"+‰ YòJr‚üC¥ÿØ!EI¾4[ðœ™sÎ õ L‘/ý™l‹¥‹žjƒ 'ã›AÕ"ÒÉ}ˆ`ƒ'ÿˆ6†"—!×çØóQ´58Ç„£èÕ¸3/o–³p­çÁ×õÇé,X/‚åõêÞä÷JöU¾Nãúm]§M¹k¬1âšð#+‹}'Úú3údŒ fJ&€ÈDØwP43ÌùÄúHÀ*Xø€Fü¬è¯ Œ`›¸hL™\&÷;°Ñ?h—VÛ¬®ºÇ²BUº-›4CI•ÆMºAçiÝæ?4Dcê`OXÝÎÃÅjº:†¡¶(æY‘äûMŠ~•]È7üü›ÜÎlÅLÂKJØp*á½ZB?=ÇÅ&OGï8]Ñ—ËËâ m!ݽõË9tJèö«`u¹œ.¢i8—[¡T´úÿE,÷¨øØ­þ»ÔV"×5Š‘*Ëo»¸Š·i“V2ˆCcmèa›ú¾îÝ(é3RYšûCR=qeÑÄY‘AÖæ9E/³±ï1ߌó}ŠÊGõïa›ç¸A¯Yž£‡€ÔÙSmlJT¤m,æëÐàvî(XÐŒnh°PÕMÙ}TªH;¨N« Ú˜y¾§‰´,…ŠK WޱÏôŽ’6¦¼ º3!ë&}´€:¡¶cÆû¼Ñ }æ¶ ³Z!¼XR¢⺘“¾0ql»˜pzÜ9F:•UæÝ©,d ðÜ7(.ŽÒÀ)‚Ié(¼½ v½.ÀÌ6³Ð$æ$.¤øû:Ý`k,—©ÌØ–(¿«Ê¦Lʼe&áb ~st`UeHêg0PUÚs/„G1wúQª›ÝÏ'^Àn¯Õè$èB“.’á“égLµ²KpxlHlë…bs’šÊLíÌÐ9.Š)%ý€œŸR&¿zGõ£> Âötƒ|jSbr£V©´[íÌá®^ 8`gÝu]ÞO}?KßñºÅR£°¹§š9®&2f˜_õ/ŒPØ×„.¸Äéüú2œX%ÀöÇdõ1Z´Ôr<ÒQ­§Y8ŒÚé0É$ÍñœŠãafvÀ'øcr½h·J=¼w½/èP.M²sjÝ…çÝ[cÛ—;ûj²=­UN¾ É ÁŽèÚt6ù0M£Ûc ¡Üö¼ãS2ÙlÀÛ²Á rðÿôîÎ\ÑÍr޾X”ƒÅ8ÔœÌnm/ç”aÚì+}mëð3ÊZ»m¯s°&Tïw»²)ÕÛ7óÏóÐâÂü:_‡êj‘EÙ`]ëý›4Ðd¶ "§/À«é2¸Œ,°nB5Ã¥¬yÛ^‰'¬¨Fàh…ÕóÆè¸@púIÊÜ,f¡e«‡nN®N²ÂàN<¤sN±ËјƒE9mÆ<{—;tŠ»˜Xc*„ocaÂãΧ}¸§Ên÷ç„ÊTAdü¯ -h/endstream endobj 6 0 obj 1140 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:22+01:00 2016-01-27T08:26:22+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000001464 00000 n 0000003426 00000 n 0000001405 00000 n 0000001245 00000 n 0000000015 00000 n 0000001225 00000 n 0000001529 00000 n 0000001855 00000 n 0000001790 00000 n 0000001650 00000 n 0000001570 00000 n 0000001600 00000 n 0000001734 00000 n 0000001937 00000 n 0000002003 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [<445CD8041695BFCBFE881E8ACB13BEC8><445CD8041695BFCBFE881E8ACB13BEC8>] >> startxref 3580 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.html0000644000175000017500000000475212652070414017173 00000000000000 CURLOPT_DNS_LOCAL_IP6 man page

NAME

CURLOPT_DNS_LOCAL_IP6 - IPv6 address to bind DNS resolves to

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP6, char *address);

DESCRIPTION

Set the local IPv6 address that the resolver should bind to. The argument should be of type char * and contain a single IPv6 address as a string. Set this option to NULL to use the default setting (don't bind to a specific IP address).

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one.

Added in 7.33.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, CURLE_NOT_BUILT_IN if support was disabled at compile-time, or CURLE_BAD_FUNCTION_ARGUMENT when given a bad address.

SEE ALSO

CURLOPT_DNS_INTERFACE, CURLOPT_DNS_LOCAL_IP4

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.30000644000175000017500000000345212626067776017274 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_SERVICE_NAME 3 "17 Jun 2015" "libcurl 7.43.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_SERVICE_NAME \- proxy service name .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SERVICE_NAME, char *name); .SH DESCRIPTION Pass a char * as parameter to a string holding the \fIname\fP of the service. The default service name is "HTTP". This option allows you to change it. ..SH DEFAULT See above .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.43.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_PROXY "(3), " CURLOPT_PROXYTYPE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.30000644000175000017500000000340712626067776016712 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOW_SPEED_LIMIT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOW_SPEED_LIMIT \- set low speed limit in bytes per second .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOW_SPEED_LIMIT, long speedlimit); .SH DESCRIPTION Pass a long as parameter. It contains the average transfer speed in bytes per second that the transfer should be below during \fICURLOPT_LOW_SPEED_TIME(3)\fP seconds for libcurl to consider it to be too slow and abort. .SH DEFAULT 0, disabled .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_LOW_SPEED_TIME "(3), " CURLOPT_TIMEOUT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CAINFO.30000644000175000017500000000464112626067776015333 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CAINFO 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CAINFO \- path to Certificate Authority (CA) bundle .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAINFO, char *path); .SH DESCRIPTION Pass a char * to a zero terminated string naming a file holding one or more certificates to verify the peer with. If \fICURLOPT_SSL_VERIFYPEER(3)\fP is zero and you avoid verifying the server's certificate, \fICURLOPT_CAINFO(3)\fP need not even indicate an accessible file. This option is by default set to the system path where libcurl's cacert bundle is assumed to be stored, as established at build time. If curl is built against the NSS SSL library, the NSS PEM PKCS#11 module (libnsspem.so) needs to be available for this option to work properly. .SH DEFAULT Built-in system specific .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY For SSL engines that don't support certificate files the CURLOPT_CAINFO option is ignored. Refer to http://curl.haxx.se/docs/ssl-compared.html .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_CAPATH "(3), " .BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_SSL_VERIFYHOST "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.30000644000175000017500000000421012626067776016100 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLKEYTYPE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLKEYTYPE \- set type of the private key file .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEYTYPE, char *type); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. The string should be the format of your private key. Supported formats are "PEM", "DER" and "ENG". The format "ENG" enables you to load the private key from a crypto engine. In this case \fICURLOPT_SSLKEY(3)\fP is used as an identifier passed to the engine. You have to set the crypto engine with \fICURLOPT_SSLENGINE(3)\fP. \&"DER" format key file currently does not work because of a bug in OpenSSL. .SH DEFAULT "PEM" .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY If built TLS enabled. .SH RETURN VALUE Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSLKEY "(3), " CURLOPT_SSLCERT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.pdf0000644000175000017500000000744212652070443017231 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVën£Fþï§©? Q<Ë\¸µU%oÂJÞ%Æ ãm£¤²X<‰©lp Þ(ïÐWé;ö ÆÄé¶rËpæ|çûÎmž… ²Ô§ýζ£w±‹«‘…GO#Ò¼DíW¶Eïxêxé3¹¹>ÞÄvtg\-â0š‹elÚ>ö}ê"™/E<™%ó(6ÿG„Y˜ûpX¬FŒaÇAâNŠ{ƒÝ›(;ì7K™V/ËJÖå®6Ç”ƒ'Ï6àG^ê!”7ÊmìyÚÛÝÌnÎñÖsc=¶0%jL|`‚}[‘3×ÁÌEcæ(?ÆlbŠ?A°#6¶}¦ý7zÞ‹@‰ÇÕðÿƒ=ÅvãöDCü]ñÀ¥Ãü–¥¥‘5ŠMÇÂáŽòˆ„ÉlýkŸÕ®Ü×?¡µLWrß` ¹ÏÅ„Aö¸ävÍ“i2äÔ[Æy‘m+‰~QÙx§þáõ¯Êœr$‘¸ÐT³l^'ì¾y….Öi±ÚÈË“t9Ö¹—+ÞŒpì“NË£:ýä[¶N÷è¢îxß›?kÆ9¡{$Wñt.¦ÑL™"±u¼A}ž‘}ìÙm°kÙ:U…R¤c@u‰j¹Ù MþU‰€ž×i­îR°z(÷¨^Ë浪5É+¤¥`–…=Þ#r…ؤ»’U¥‘PÖð·Móbó‚šXÇ ˆ;~/PY h‚®Ö± Œoò„õü`›°Èe‘I´•õº\):i뎪Cžr˺<}+OÕjæ+TH¹Ê‹GuŠB)v¨êr b€9¡sÏéqiƒû¦z6›EéxF “­¨&åzuþ•Á$ªUßíPµK3ùVs4·O—[ I˜D½ÎCÅN—4SNš­ŸÍæ¾M¿ñJrˆZT:ýÍ}ârˆ8NÇð DÝB$ ’^N¯_»çŸ{3ªhA…øØÑ~»]ãÂuŠiLlÛçØ6àRóñP ›¦qÍ}J”§@Œ>Ãç>þzSendstream endobj 6 0 obj 1152 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:27+01:00 2016-01-27T08:26:27+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001476 00000 n 0000003287 00000 n 0000001417 00000 n 0000001257 00000 n 0000000015 00000 n 0000001237 00000 n 0000001541 00000 n 0000001716 00000 n 0000001651 00000 n 0000001582 00000 n 0000001612 00000 n 0000001798 00000 n 0000001864 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<74398BB2A541C53A6DE82E7B627FBEFB><74398BB2A541C53A6DE82E7B627FBEFB>] >> startxref 3441 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIEFILE.pdf0000644000175000017500000001106612652070426016374 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…WmoãÆþ®_1H?„:˜{\¾- (ŽÒêN'¹668M®læ(RÇ%ã(¿áþJÿcgv¹¤ä89°lír^žyæ™ágp‡~†Ï|?{{Á£œ9ð8û<ãê†|ߥx!¦/ÒÝL?Ã!r!J<'îg¡ÃbÒçÙGëòöz½½Jï/·Û÷«å«õòÎòîæ÷mu/2y¼—¢kÝÜv‡9Ndá?eSKøƒ'çÿMßÍl‡¹]åI‚‘°$ `¼ÒõÌÚ,æßbðxÊ$˜3ëÃržþ|ºë0߉Àæ.;ï+áÂÿàK% ÎöºZ‘7ͧRHصÍ^Û< ÂÆ(l²X9½ùi³½ºYÝœ»VW”[ë/eW}!àoÉ[úÅžþN×]_eC!å ^x Ù:‚7OY]TââÀ. ÊZxƒ Püwó¿"0ì÷Ë›ËëÕUºÚn(D™äW¿Ê莂9aq AFHÝD!)%dphʺ-—Áo¢mÿÛ—uÖ‰d×–õ#dY‹áá‘J›%®*­ë$, ¸6üÑb«¹›à¡ÕIÅ]à˜yA~júªÐNÉe÷$¦Ú5;86}«¾xjª]«]/Âè“‘,@NPºÈPd]f Ï E“§yVÀ²Q¢»VùDë°̳ƒ€·ð¡ù­¬ªìì¹]Ó~îeGûµfaúæ£ÕŠ9’ûÁ³û ‹øÏ4½²ew¤ð1ÑJ(úýqTàbZLÁ¢Yã°ˆšÓXuU²dÀC…œí¦ DýXÖHœ}ö‰ Q•D1ª†€¤)ê‰ìM ²âs/Þ–>e'áóF£¥Djé,MH†_ þG‰lJX4°ÅúEPêsƒXŸ¸qûÃa™CEî²01•®ÅH>ý}lø‰Vžý¡;ÀuSۦϒ8Š­_KÙQ²D<|8bºRÒ7ŒP ļ³¾ù•J©Äü•.]‹TÙ5 ô˜–$ßg¾¾Ð“3¤VMß).)êךð îyŒ‡C~Çrʵ.v¸I¼ìʬ2EaŠÂÜ÷˜ïƒMhã•tŠ‹VM+Ç“^R+‡1 y’ vÛ Ð˜E×Y!Ïu •"1µ3!@z’„Ê:îpE«£Qâ“,²O'Ï$Ì󦪋êDV" ÐØùÜ–I‰ÅùBÚ'…БrÇ„ê¢ÇЈǹ6¾›{ Ò!ð­Åõ4TNÒD¶±bä¹#ÆË_UÏ¢ŒŽÙRËùªè¢ÍKì <ëU J¥<µúiS¨Íö}Õ•âR›ÕrG­½Ï»9&Lnm9ŸyN„ŠhzQ÷‡>䜡oÞ'èÏ0’^*ÚÂèìK¤JÑó9‹üpRB…•òÄŠB-šúÛ¡t‘êÊYïŒXuò¤x®ÇžÁƉôX8ˆ¼ÜQ°ŠfŸ¡lbõ©&!2’ô}Ní¡]ñØe~dò8§ €3 IGvï,q6Â<ÓQ%Ý-¿¦;ƲÓSe­(ÊVä¨|TÐ]SU ]q†&¡‰áYH*Å2ᜌoÐeBe¤n: û¦(¿ –?4R´¿(zy>sB# z:FX˱'ÈZ ÕÎÆ`ÀÁjg¬ðŸÃ?)\1NB\ÒTÔk Õà¡AÆA…áhAãȇÐ;åƒëéÑN"î®ïúvâ­ÖJ¤Ê˜šH\~–¢NvrLÅ›R±.¦¾Çìx|ìûO:ï0vœx‰#rÏ䌚‹ÖŒºŠkâsæ½Â\†ðSœ—S…#æFK‡+EÑ ©f¥$JJuâDÛ²ÖË®¼ïžkþÔVÈ¢Ñq*pͶ‡£ÔÖ¶$Î$»iÊqqÐ]§ ¸f3Xi9Ñ÷'!™D¤Ü ©Çí¨0M«V!9n2s;@äqlÝLC]ÝPaŽglŇa¸«©ó•-ò‡¡ ëEŽ%| Å­Z´Ü˜Ézfä¬Ó±4“SG‰ Y>7·ëõW6ï«ë! ßÓlðÑO4°ÊƮԋ‚µMa;út=9¡yc¸Ü®_,îv‚qLÐZö•@–ÿY|¸Z/_ŒáW6êtŠƒ{¤[:Šï·`A|2Â+?¡›£7ÂUO¡Å°˜òrh•6-µZ/¾[­WéO/¦{À<Ôìs6/$T^Ó)W%Ðýáд¸Âÿyâ­ëez{½ç¤dIÈ­ÅúvùbÖNùã}r2¼ú-ï·ïitþÎé…DúÊíæýf;÷†Eùß›û­zy¡çPØàê_ΖKX¬o¶S/*r¾6œ£• W>®:j¸87„~Âq=øýâŽ;È+ëÇXýɰ톜ޫmã‹‘¶ivvÔÒˆ9s›A‚»‹Å#x××à:ÜWÆý‘ÓœL-ÓÙ¿ðçÿ©DDendstream endobj 6 0 obj 1841 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:14+01:00 2016-01-27T08:26:14+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002165 00000 n 0000004055 00000 n 0000002106 00000 n 0000001946 00000 n 0000000015 00000 n 0000001926 00000 n 0000002230 00000 n 0000002484 00000 n 0000002419 00000 n 0000002351 00000 n 0000002271 00000 n 0000002301 00000 n 0000002566 00000 n 0000002632 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4209 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.html0000644000175000017500000001177012652070415017403 00000000000000 CURLOPT_PINNEDPUBLICKEY man page

NAME

CURLOPT_PINNEDPUBLICKEY - set pinned public key

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PINNEDPUBLICKEY, char *pinnedpubkey);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. The string can be the file name of your pinned public key. The file format expected is "PEM" or "DER". The string can also be any number of base64 encoded sha256 hashes preceded by "sha256//" and separated by ";"

When negotiating a TLS or SSL connection, the server sends a certificate indicating its identity. A public key is extracted from this certificate and if it does not exactly match the public key provided to this option, curl will abort the connection before sending or receiving any data.

On mismatch, CURLE_SSL_PINNEDPUBKEYNOTMATCH is returned.

DEFAULT

NULL

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
  curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, "/etc/publickey.der");
  /* OR
  curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, "sha256//YhKJKSzoTt2b5FP18fvpHo7fJYqQCjAa3HWY3tvRMwE=;sha256//t62CeU2tQiqkexU74Gxa2eg7fRbEgoChTociMee9wno=");
  */
 
  /* Perform the request */
  curl_easy_perform(curl);
}

PUBLIC KEY EXTRACTION

If you do not have the server's public key file you can extract it from the server's certificate.

# retrieve the server's certificate if you don't already have it
#
# be sure to examine the certificate to see if it is what you expected
#
# Windows-specific:
# - Use NUL instead of /dev/null.
# - OpenSSL may wait for input instead of disconnecting. Hit enter.
# - If you don't have sed, then just copy the certificate into a file:
#   Lines from -----BEGIN CERTIFICATE----- to -----END CERTIFICATE-----.
#
openssl s_client -servername www.example.com -connect www.example.com:443 < /dev/null | sed -n "/-----BEGIN/,/-----END/p" > www.example.com.pem
 
# extract public key in pem format from certificate
openssl x509 -in www.example.com.pem -pubkey -noout > www.example.com.pubkey.pem
 
# convert public key from pem to der
openssl asn1parse -noout -inform pem -in www.example.com.pubkey.pem -out www.example.com.pubkey.der
 
# sha256 hash and base64 encode der to string for use
openssl dgst -sha256 -binary www.example.com.pubkey.der | openssl base64

The public key in PEM format contains a header, base64 data and a footer:

-----BEGIN PUBLIC KEY-----
[BASE 64 DATA]
-----END PUBLIC KEY-----

AVAILABILITY

Added in 7.39.0 for OpenSSL, GnuTLS and GSKit. Added in 7.43.0 for NSS and wolfSSL/CyaSSL. Added for mbedtls in 7.47.0, sha256 support added in 7.44.0 for OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL. Other SSL backends not supported.

RETURN VALUE

Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSL_VERIFYPEER, CURLOPT_SSL_VERIFYHOST, CURLOPT_CAINFO, CURLOPT_CAPATH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_AUTOREFERER.30000644000175000017500000000341112626067776016151 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_AUTOREFERER 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_AUTOREFERER \- automatically update the referer header .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_AUTOREFERER, long autorefer); .SH DESCRIPTION Pass a parameter set to 1 to enable this. When enabled, libcurl will automatically set the Referer: header field in HTTP requests where it follows a Location: redirect. .SH DEFAULT 0, disabled .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Along with HTTP .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_REFERER "(3), " CURLOPT_FOLLOWLOCATION "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_CERTINFO.html0000644000175000017500000000501412652070415016452 00000000000000 CURLINFO_CERTINFO man page

NAME

CURLINFO_CERTINFO - get the TLS certificate chain

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CERTINFO,   struct curl_certinfo *chainp);

DESCRIPTION

Pass a pointer to a 'struct curl_certinfo *' and you'll get it set to point to struct that holds a number of linked lists with info about the certificate chain, assuming you had CURLOPT_CERTINFO enabled when the request was made. The struct reports how many certs it found and then you can extract info for each of those certs by following the linked lists. The info chain is provided in a series of data in the format "name:content" where the content is for the specific named data. See also the certinfo.c example.

PROTOCOLS

All TLS-based

EXAMPLE

TODO

AVAILABILITY

This option is only working in libcurl built with OpenSSL, NSS or GSKit support.

Added in 7.19.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.pdf0000644000175000017500000000772212652070441017070 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥VÛnÛF}×W,Ї’´Þ/‹›A”H¢*QI »hж˜Ê¤BJpÓoè¯ô;»¼Jvì_´³;gÎÌ9»_Áõ©~G÷½³¹ƒîŠAw½/=ªQõ+ºG¯pÕÁm¯ÜC‘Ã#9v% î{Æùr>ögÁj67ƒÏ½ÁQÏf˜»Ò…ø`Ý3üOj¨*0áõ•q93%ÅÒÒ.Í?‚w=.±%+C8ÇÔEÁÄúó‹kƒ_›(:äÛU_WE¼Ïv{sÀ,‚ µ ø'ÉÒu@©kT̶°ýÿA1Q‚’XJÂx >“Q©vŸÍ%0„¥¥Hp 9$p[g™Û,¶$¯²O<õ}K.ˆÄAÊôò°JJºN©UU0ÛUU Ñ.,Š“*Ú„mdùí3t(bôì7h—g}Eáa¿‰Ó}…ŠU]õq­”2,8€¶±«!-.§þl1Z×TÔuý”¤Ñö°ŽÑ¯ª‰gêÞü¦ÂT8. 28mòµ^B¯6aºÞÆýn‹n, ýî©ëPÓGÑ&ÌÑ«ÝÃúÚü剚™„V§æ oq>Í‚‘?­zE­r,ž¨6˜¤:¦l¦Rª¦E hRÞÇû8×ÁXéyƒs¹UéÃè?´UB7¨¤í¡•p6I´AÅ&;l×è&F»,¦¦wªãÐ`ôwœÃq~Ÿ¤á>^wGCZÝѸÍòÎL JPêbJD]a5|j`ÊQRô8™ >Ш4°Þh›:w6§¤ö»Äª»÷ PÌ ;̰ä„v; ‡—fV9èGn;äÀñ0;5sŽeév”vÒ¡XX£$EQ–~>¤ÑQ•åÌ·ÕÀ„-?^Œ1Ð{s±ÝT¸\xó©Éc8ñž¬‰bJk­JÁ%È# âŽæùMÒ®ÄRQ£.õ*UäV®ÆlîT«ã )¢E¢$á8o†Ä¸Ù†éŸ±h¡Ô8Z®¸[i˜ÙNUÏ€ab•šñä7IDZk“=÷Ç'V¸%i‘L²bÿïÓp2{µ¸ÝoŠ;hqP®\ DqáWŒY®ûø¾RE6ÙzjT]è½; ¶EëfŽÆÃ×£ñ(¸<.ZÁäèJÑ®×åÌB›!Õóµ^s/XΧèƒI¹ÀÒ¦Æp¼ôN&«-Ù†RðóxÈ«›×[ùïQr«¥_I()PqØí² ¦_-§ï§¾©ÒÀíj|œ®|m¢jgšíû(Ëu^•©ºààe°ò߬&ÞÄW¾Ï°¶ZåAL4ÚO@îĸÝëí%}]-Tµ‰s¸íï»MÒâpk2dõO”€Ñ¡MîP± £?u:Ày÷6XxŽ~Ëó1cW­˜WwPõÈÐ~ îuB7%×soh¥÷Og6v¤Ï{ ´Š>é5Û s¥§ÀœH×ÊXN Ø ÁæiöXÞÁ¬6•Ô%ð!Ç–RëF6µ¼=p…õLò vÅK¯¨'¨ÙÑc6 Z_ŸÆå-»:$vCÀ‹øÊ£-0+x%q/ÃÎn“õÈarâ,)°eÀ«òÝ!E .,M¿hüL«× z¿Ãç?»ýØ4endstream endobj 6 0 obj 1229 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:24+01:00 2016-01-27T08:26:24+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001553 00000 n 0000003443 00000 n 0000001494 00000 n 0000001334 00000 n 0000000015 00000 n 0000001314 00000 n 0000001618 00000 n 0000001872 00000 n 0000001807 00000 n 0000001739 00000 n 0000001659 00000 n 0000001689 00000 n 0000001954 00000 n 0000002020 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3597 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.html0000644000175000017500000000556312652070415020117 00000000000000 CURLOPT_POSTFIELDSIZE_LARGE man page

NAME

CURLOPT_POSTFIELDSIZE_LARGE - size of POST data pointed to

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDSIZE_LARGE,
                          curl_off_t size);

DESCRIPTION

If you want to post data to the server without having libcurl do a strlen() to measure the data size, this option must be used. When this option is used you can post fully binary data, which otherwise is likely to fail. If this size is set to -1, the library will use strlen() to get the size.

DEFAULT

-1

PROTOCOLS

HTTP(S)

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  const char *data = large_chunk;
  curl_off_t length_of_data; /* set somehow */
 
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* size of the POST data */
  curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, length_of_data);
 
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Along with HTTP

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_POSTFIELDS, CURLOPT_COPYPOSTFIELDS, CURLOPT_POSTFIELDSIZE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.30000644000175000017500000000612312626067776016702 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_REDIR_PROTOCOLS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_REDIR_PROTOCOLS \- set protocols allowed to redirect to .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REDIR_PROTOCOLS, long bitmask); .SH DESCRIPTION Pass a long that holds a bitmask of CURLPROTO_* defines. If used, this bitmask limits what protocols libcurl may use in a transfer that it follows to in a redirect when \fICURLOPT_FOLLOWLOCATION(3)\fP is enabled. This allows you to limit specific transfers to only be allowed to use a subset of protocols in redirections. By default libcurl will allow all protocols on redirect except several disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are also disabled. \fICURLPROTO_ALL\fP enables all protocols on redirect, including those disabled for security. These are the available protocol defines: .nf CURLPROTO_DICT CURLPROTO_FILE CURLPROTO_FTP CURLPROTO_FTPS CURLPROTO_GOPHER CURLPROTO_HTTP CURLPROTO_HTTPS CURLPROTO_IMAP CURLPROTO_IMAPS CURLPROTO_LDAP CURLPROTO_LDAPS CURLPROTO_POP3 CURLPROTO_POP3S CURLPROTO_RTMP CURLPROTO_RTMPE CURLPROTO_RTMPS CURLPROTO_RTMPT CURLPROTO_RTMPTE CURLPROTO_RTMPTS CURLPROTO_RTSP CURLPROTO_SCP CURLPROTO_SFTP CURLPROTO_SMB CURLPROTO_SMBS CURLPROTO_SMTP CURLPROTO_SMTPS CURLPROTO_TELNET CURLPROTO_TFTP .fi .SH DEFAULT All protocols except for FILE, SCP and since 7.40.0 SMB and SMBS. .SH PROTOCOLS All .SH EXAMPLE .nf curl = curl_easy_init(); if(curl) { /* pass in the URL from an external source */ curl_easy_setopt(curl, CURLOPT_URL, argv[1]); /* only allow redirects to HTTP and HTTPS URLs */ curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.19.4, before then it would follow all protocols. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_PROTOCOLS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.html0000644000175000017500000001044512652070415017355 00000000000000 CURLOPT_SSL_VERIFYPEER man page

NAME

CURLOPT_SSL_VERIFYPEER - verify the peer's SSL certificate

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYPEER, long verify);

DESCRIPTION

Pass a long as parameter to enable or disable.

This option determines whether curl verifies the authenticity of the peer's certificate. A value of 1 means curl verifies; 0 (zero) means it doesn't.

When negotiating a TLS or SSL connection, the server sends a certificate indicating its identity. Curl verifies whether the certificate is authentic, i.e. that you can trust that the server is who the certificate says it is. This trust is based on a chain of digital signatures, rooted in certification authority (CA) certificates you supply. curl uses a default bundle of CA certificates (the path for that is determined at build time) and you can specify alternate certificates with the CURLOPT_CAINFO option or the CURLOPT_CAPATH option.

When CURLOPT_SSL_VERIFYPEER is enabled, and the verification fails to prove that the certificate is authentic, the connection fails. When the option is zero, the peer certificate verification succeeds regardless.

Authenticating the certificate is not enough to be sure about the server. You typically also want to ensure that the server is the server you mean to be talking to. Use CURLOPT_SSL_VERIFYHOST for that. The check that the host name in the certificate is valid for the host name you're connecting to is done independently of the CURLOPT_SSL_VERIFYPEER option.

WARNING: disabling verification of the certificate allows bad guys to man-in-the-middle the communication without you knowing it. Disabling verification makes the communication insecure. Just having encryption on a transfer is not enough as you cannot be sure that you are communicating with the correct end-point.

DEFAULT

By default, curl assumes a value of 1.

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
 
  /* Set the default value: strict certificate check please */
  curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L);
 
  curl_easy_perform(curl);
}

AVAILABILITY

If built TLS enabled.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SSL_VERIFYHOST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_LOCAL_IP.pdf0000644000175000017500000000764612652070455016311 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVoâFýŸO1Rÿ¨‰â=ïú·ZUârTâÎÁ̵ѥB޽·ÆKl“4ýNýŽ]Û` ©*¤ðìÌ›÷ÞÌò¡`ÈWûžlæ.5ü=ú<Ð Â(VI„ ˆoK¦Q0Ц£á÷ˆŸR›Ø¾‰Ø¢t ÝއÑ=ÔÌ –á‚N™|lH¨—Há@p‹$Î?ÆiZòª±†<®jHDQðDn’÷ÐèG§ñTõÅÝ4œ-&‹S *DÕ׾ˊ$ß§~”¼|Èæ'Î,Õ–Ä– ¸àí^=ƒ«M\¤9¿¾dù`Ä–Œ0Ï'¾Û2rÈôŠ)ŸX¦ïYíƒM\ÂÕU¶»þðF[¦M,ÚkíÓxq3ŸÌ¢I8•Ñ(µmÞhs÷jzvSÐ@™”W4¤6†ÈŠš—P üH0½oJžð줵 bN—ÊkS=s¨µÐ ÔaôXŽª˜ ?-ö7/…ŽŸ¶Y×<…ª.³â6"Oå{ñ'&P8¨kƒz'×SÉetc^¤Ò1[Ž‘ø‹¾q ‡—¬Þ`þ¬:®LÊâ´­iRø Ûͤø"ÌÑáÞÆ¯ð !?;ð²áˆkhjèÌr‘“j§Í‹ø!ç)©¨ysâUìÕœI³å[Q¾B\ò¸‰{Éò\,¹¾¯>üªà²˜ÉgMÇïÊ<÷çˆzÇÙEÍZ]dŸ·ËEÓ°áÍs~¼ÃàiÑúÈ#æ¨Vr:dµÔ½‚u)uQ¬­:ª™ƒ8qÞz“]çñ ·V’ó¸Øïšu~Â.'·§›& ¥I"Jœ·(Ôª]׺ýr;Q‹Çêm§Ù¼%Ñ2½Ö7ÌqÛ6uF ÛWµÂÂÌ$®át7ÇMœímâ5-ëÐþ¨ëþÝ `üÛèvŒ»Íå½»!£# jÊ×€ø6ˆ؞wqóé–/#Õ0̰T[£¯0:¶eǦē`ôqL¢»3ÃÚÄ´<ïôb¥) +ÀE7ã¿{ý¦ÍÇÑr>…¯CjZÄw¨6 –c5NoµŒñ¼Þ—í?^…_ä˜Jå›ß 7Ú~·%îäk@éÛÀåô zÛ´µ_§«P]@ò`!jÒÖzÿ:a,ÂÓIîC:¿e‡LnyÛ×ÄY®Eܣ͕«¯Ï„Üá‡É:&®x ž²ïRBÿoªÞ/«Ù|r;š%Û>sµ;yéŸÂ¤¨›y‘os‡Xض‰mXMÒ<{QjËB©ujÛ¦¯!/ Ü‘ 9P™­ÃxP™h ~Á׿X«öendstream endobj 6 0 obj 1192 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:37+01:00 2016-01-27T08:26:37+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001516 00000 n 0000003399 00000 n 0000001457 00000 n 0000001297 00000 n 0000000015 00000 n 0000001277 00000 n 0000001581 00000 n 0000001835 00000 n 0000001770 00000 n 0000001702 00000 n 0000001622 00000 n 0000001652 00000 n 0000001917 00000 n 0000001976 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3553 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.pdf0000644000175000017500000000734412652070453017670 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥UíŽÚFý笠JtÁìÌøsÔªÙ¸* ` Ã6«l…0‹+Ö&¶Évß¡¯Òwì` ›HÕ ƒçÎÜ{Î=÷Ìg`”ÓŸæ¹z0®f܃{ã³Á«Eh«x£0À×/ÔÆ¨÷pðxÒ¢¾õ`ëÅlNÕr:3Õ_FŸQÔÊpµ|éc¼Z$ü ×˜^à6eV»ð‘Ü.çÁÌô$•¾ÍÉÍð:XNÌ?Õ;õ©t™¨ã\ê: 1~0îˆugÂêï–qT<-‹¸Ìö¥Ù¶>Å!ø'ÉÒN Ó¶• nQÏú?…9v[˜å hÏ\êÝW3‰,Qéh¢ú–+)w$à*ÍdÐ¥q¨#Ûôã@¿ïX#ó ÏEµüjYÍ×w`À¿°Ï³¿Ÿ ˆó/É*†4zˆ+Xç`8Ô¶°(—úUÊùí$œÎ‡óóÚj[÷IºÚÖ1ü¬»t¥¿èö.Á¨¶Ê0ಋwÕ¼ÞFéz÷N{øc×A+á/é`VÛ(‡×ñùÓ3 …ÄÎ è·Áüz6œªa8išÁºñÏ0ŽEI}LÝÜa뮢€¨©¢öQŽu”qe† E™'é=l³ÝZ?Ëm\ÍY;‡¾¤o5Tuí\E6µ¸]V«ÖB¶Ñ‡µí¦ ðÏ:Þ˜ˆš1[’è°+ÏÄI¯~SjúŠÖrÇÞ;âl4¦¶WOD»]f ‡2”?y,à);hT6½ÇóJjöÆÈ<Ž!ú”µCTSɱWNS6ù)¼èL5A'é¦Ãò×kœ£/(ÃhÍz¨ <ž‰@<æ¶^‡£ 5÷9•žeÛÇ–Ž³¢¬CÎý¤àÃ`<­<üoÊCuu ñFämõ3;¾ÿ5n[[J— ÃX­¦Á tö‚â:¼O†£Á›áh¨nÏÁ!ƒ–9NÛHëu¼†$‰¤ìûX?’Y ³ ܘÜÒNÍÉ`´šAú²‹!µXfqyÈw–á{HjU6úA%‡ý>ËËxÝk‚“÷“ÐÔi$äÉ2¬ÆPïL³²Y^åÕ™oÁƒjþºãP[‡ µÂ¸OÑ‚ZƒHP©ŒlÊj{M§œ··N#ïmœÇðh¢Háú6I‹Ãƺ á‘VIœ–°£=û'ë9õóS?™ Fó°ãùB$ß0d’Kù¬ù¹ÍÛ‹n{úŽ’­$ªË«wž‹rwíK«ÛéÅf¡at—U—¼/œÊÄû¶:îÇ.ù¤ïƒV€}î8Ò¦á¼;¤ ÐS*fíãÜr}T Œßñóy(¿endstream endobj 6 0 obj 992 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:35+01:00 2016-01-27T08:26:35+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001315 00000 n 0000003205 00000 n 0000001256 00000 n 0000001096 00000 n 0000000015 00000 n 0000001077 00000 n 0000001380 00000 n 0000001634 00000 n 0000001569 00000 n 0000001501 00000 n 0000001421 00000 n 0000001451 00000 n 0000001716 00000 n 0000001782 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3359 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPGET.html0000644000175000017500000000536112652070415016274 00000000000000 CURLOPT_HTTPGET man page

NAME

CURLOPT_HTTPGET - ask for a HTTP GET request

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPGET, long useget);

DESCRIPTION

Pass a long. If useget is 1, this forces the HTTP request to get back to using GET. Usable if a POST, HEAD, PUT, etc has been used previously using the same curl handle.

When setting CURLOPT_HTTPGET to 1, it will automatically set CURLOPT_NOBODY to 0 and CURLOPT_UPLOAD to 0.

DEFAULT

0

PROTOCOLS

HTTP(S)

EXAMPLE

curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* use a GET to fetch this */ 
  curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
 
  /* Perform the request */ 
  curl_easy_perform(curl);
}

AVAILABILITY

Along with HTTP

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_NOBODY, CURLOPT_UPLOAD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.30000644000175000017500000000413012626067776016617 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KNOWNHOSTS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_KNOWNHOSTS \- file name holding the SSH known hosts .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KNOWNHOSTS, char *fname); .SH DESCRIPTION Pass a pointer to a zero terminated string holding the file name of the known_host file to use. The known_hosts file should use the OpenSSH file format as supported by libssh2. If this file is specified, libcurl will only accept connections with hosts that are known and present in that file, with a matching public key. Use \fICURLOPT_SSH_KEYFUNCTION(3)\fP to alter the default behavior on host and key (mis)matching. .SH DEFAULT NULL .SH PROTOCOLS SFTP and SCP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.6 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSH_AUTH_TYPES "(3), " CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_QUOTE.pdf0000644000175000017500000001300512652070441015650 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•XÛnä6}ï¯ °‘nFÔ]»‹‰=8pÆŽ-c°p/ µÄvk­K)Ùñ?̯ä·Š¤ní1îi‰UózõãmDžäÊ!O«¯+¦^ó‘×ä—Äø Ý­´ #‘K¢Ä£qBÒzõ`ßß^]ߤ¿Û M7Œ­ûkû¿é¯«ˆÑˆ% ؤÅ*©ç’ô ÒËÛØ$ïEõÈ3ùö(y×:{íuX`Á—²m$™\£?/ˆ©jw¸‰«ýpp¨­ê2@–ð€Ó$@ìk߃Å1Yƒ0·>ÿl§ÿƒ¨a hxÚ­õÛG|>Åì:Ôw"²f.¾vt'#V`‚À?ÉÆºÛØŸÒ’·u5…$]KDß-ßµ‚“NdÜq¡ /À5 i¬àÜýçóõÍÝåÝ”Z¢Yÿ(›¼ê Nþlþˆ¿èþ'\îú$½Z¥4ܼ…5Ç„oÔ+òa+~6£›9K~ψìDŸwÚ…¬JÙ‘y]Èý¯¿ŠáâãÝùíåMzyýq@,Ðúœˆç&uIhhUšy)IFmÙt\ ¥©Êæy”DAkwÉo¹;áIõÙí9‘\¼Ø ¿ DÙ*·om/ˆà_{.;JÒ})un)HC.P/APÖkYU +)Ú†úf’@ÕDâÐØs˜I±·vJ=X'±yÄ„57¥”=Ä´±ø‚9˜Yd¬^øb+ê‚Cß¼k¶ßÙÊd!ppþåbØ“ÀCämccÌ\S ö,fÔOËBAñ]—A2á‚B¡bCñ/÷m_HJFv}U½‘åÈuÚM³ªœdûÁ|3²Þ%Ü&%èÔ¸¯ßª è)òZv{Òq›qøÖ..›'Iɽä&E™cn­‘ I7íñ˜¼)t;YÔ\Ñ`ä[È4zLBe3lj B3™†¾ÏrœW<êoºRèW$ÛAB¿ª §¤¤S¦x”9A2”^kaK™m+Ì™R¤?ÃM²'´K †nÐB)ke Ìö ª¬ë€H…Ï÷WWšåPòeÏ"<{ÆEH§J0–@ÂzþTm¾"ÜÂzVu ‹ Ú0òRè2HÆÁAD˜wg‡)8tä /ÿö‡Òb¨•G„%AR>ƒ˜´Šuö<߀á°u5wÏ&RË-ªÎAé¦ÅUF4ŠÇµCk÷‹2~°šÒv}*´vTï–ÐhäýÁšÅ±›R©¬ —˜þåù1Mü£Ó $*øZ>uœ úªƒ¤ÔÐUo“pV¬#ßd*.D§½àT9Å&UÍTð‹íú Tu½h¿ÇBé›Yû5 ­ocIÎÉí§ó²{Q6¶´ÏºV¼‘©¶–Ûã¾zËeˇ6úO]ó3)ß?‰ym€&Âu2Ír-ŠT²¡c½t ¢” ¼¶½¼@tø¼&«¡ŸÃU'`eº€²QÐųYñøÁ @^~›¬µ{c¯Ûñâ @OFuV<ÕAÙ`=•:jt_Æ^·©q 8º%³Ðqå:üÊ18åa[†‚1x«!«%±©1¢oH›wx…[4}½…rÌÁ|"h{ûvL´×†ôK*šQiNyfèTñh#d ŒÞiÚ*sæÆ4òÆÑ#ˆ\}Ì7°Åß[Aº¼ÐÍ̸\Þ±æÊb!ùüÉ)Å}UäŠ9³ÝI²*h°0Ñäüqv™°Y–Zv§h ½`̰V,½Õ8L•• žuxÂÛm[•¹°Q`0¸ 64˜ÙY8’zú01û’ªÍõ9¢f:8]ƒÑœ.k˜Ù¦@cªŒ9^?¥ ðçØ5Q¬e¦«Ðô²!t@:FÓ¥ÎK£Xï> stream xœ}’[oÓ0Çßó)Σƒ°çKÇ©#6u§¡U£Í¦¢õ²¤Õà;ð¡9N²^€¡Ù))37)?Ãu(TÄl,HšO²¾¥ÿèPYíöu?¢lV|ü?žŒ³ Ò|\eç¼ã ‹±…¢]ÛMüG"«¾‡íðßž“Ñ8޹|Y–¼Ì:67êU6·L‹¿ØTƒÅP uG}\~ó;Œ VL…Ö6bšWû5H\ΖR•ž”¹`„ßo?Ôòendstream endobj 15 0 obj 481 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:25+01:00 2016-01-27T08:26:25+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000002971 00000 n 0000004930 00000 n 0000002905 00000 n 0000002583 00000 n 0000000015 00000 n 0000001990 00000 n 0000003036 00000 n 0000003359 00000 n 0000003294 00000 n 0000003226 00000 n 0000003077 00000 n 0000003107 00000 n 0000002743 00000 n 0000002010 00000 n 0000002563 00000 n 0000003157 00000 n 0000003187 00000 n 0000003441 00000 n 0000003507 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 5084 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.html0000644000175000017500000000460612652070415020363 00000000000000 CURLOPT_HTTP_CONTENT_DECODING man page

NAME

CURLOPT_HTTP_CONTENT_DECODING - enable/disable HTTP content decoding

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_CONTENT_DECODING,
                          long enabled);

DESCRIPTION

Pass a long to tell libcurl how to act on content decoding. If set to zero, content decoding will be disabled. If set to 1 it is enabled. Libcurl has no default content decoding but requires you to use CURLOPT_ACCEPT_ENCODING for that.

DEFAULT

1

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.16.2

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_STDERR, CURLOPT_DEBUGFUNCTION, CURLOPT_ACCEPT_ENCODING

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_ISSUERCERT.30000644000175000017500000000502212626067776016056 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ISSUERCERT 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_ISSUERCERT \- issuer SSL certificate filename .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ISSUERCERT, char *file); .SH DESCRIPTION Pass a char * to a zero terminated string naming a \fIfile\fP holding a CA certificate in PEM format. If the option is set, an additional check against the peer certificate is performed to verify the issuer is indeed the one associated with the certificate provided by the option. This additional check is useful in multi-level PKI where one needs to enforce that the peer certificate is from a specific branch of the tree. This option makes sense only when used in combination with the \fICURLOPT_SSL_VERIFYPEER(3)\fP option. Otherwise, the result of the check is not considered as failure. A specific error code (CURLE_SSL_ISSUER_ERROR) is defined with the option, which is returned if the setup of the SSL/TLS session has failed due to a mismatch with the issuer of peer certificate (\fICURLOPT_SSL_VERIFYPEER(3)\fP has to be set too for the check to fail). (Added in 7.19.0) .SH DEFAULT NULL .SH PROTOCOLS All TLS-based protocols .SH EXAMPLE TODO .SH AVAILABILITY If built TLS enabled .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_CRLFILE "(3), " CURLOPT_SSL_VERIFYPEER "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.html0000644000175000017500000000451412652070415017156 00000000000000 CURLOPT_FTP_USE_EPSV man page

NAME

CURLOPT_FTP_USE_EPSV - enable/disable use of EPSV

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPSV, long epsv);

DESCRIPTION

Pass epsv as a long. If the value is 1, it tells curl to use the EPSV command when doing passive FTP downloads (which it does by default). Using EPSV means that it will first attempt to use EPSV before using PASV, but if you pass zero to this option, it will not try using EPSV, only plain PASV.

If the server is an IPv6 host, this option will have no effect as of 7.12.3.

DEFAULT

1

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Along with FTP

RETURN VALUE

Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_FTP_USE_EPRT, CURLOPT_FTPPORT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TIMEVALUE.pdf0000644000175000017500000000722412652070447016322 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UánÛ6þ¯§8`äÂfI‰)là& æÌ±<›)V4C Êj¬A±SËnÐwØ«ìw¤hÉr=,Xw<}÷}ß¾% ¨¹Ü=öÞ.$<Õ…'ï‹ÇlÜ-†w”y ?{Í2‡DÅ Ÿ=ÿê~1MçúQOî’÷ý·§(QQcª^yQ@dúÕûè§÷Ƀ> ?ìªÇ"«¿=ÖÅ~û²ŒA eÂÇ?åvSC¿è_úÖ ¹"Š5E»Ræ}#J†Xr„#T ƒvă˜D FadÏÌÆ&™š<&ˆˆCWë.1Ï».J8•0b Ó{ ¡TZð/`°/Ÿ ø:0ÀxägÕ¡€ÏÛäÛͪ4=e•m£¡XD”²ü0KçËɲǦX(þOå&¯«~1¾5?dý«I8è©§ß4@ó-æœsü`CðfmVU1„ !ÿ¦£!TÛÍS¯™‡ÁÏ?B,¯“¹ž¤3' &:™g­1Q¢QÂ8 0tûu ™ÑPÁ豂$"ÎYþW¤´GãèµÀE³^²]ö\ì‹¥ˆS=÷ÐidÇ"Dw®`„m`]ÖP¯·‡jŸ د‹Fâ|{Øì‹`ùº0ââe)p,n³ °XÒ! Å݉ײ²8±÷Ðb8u–µ5Ö+7Ørk[þ¥ÈË0ôZî×gD0~4ð©’Wéìzb4h§ã„žP‘ðxˆ4±žœaHd_Ò'¥àÊ0„£3Þá}Ó–7UAJvÄvŒ+¤”!o@/à8Å0_8<´Pã ’NäQ@(ÚÁð˜jHÛ"Ñ’F-?éôl¦sŒ :¿i=w&q畊•;?¼é,‚TDôh±Þ™~h¸8µmס¯—½Ca¬ O§‚‡±ân0l‡è©›É4ùž/Æ$‰ø gÉŸã»y“iWÿ;†º£Œ…f^שV(ua­Æ&³}›ÑŸ[€ã÷ЭX´JdÌÞTœLÇï&Ó‰þpæHAp­«ϸ:bn88óš²yBó·ú{:„$Üd´Ý _$ú~1³ë8‰#fwÛj¸YûÃÎ}‰’Çô÷øt™$0ž.Ó.í¬ÞÅ)=P”ý(‚àa#„æùˆSAì·ì£_•ŸÌ‚Ip'ÒÁˆ s"|&áö°÷¶m·SÀL©D{àõMïì$endstream endobj 6 0 obj 912 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:31+01:00 2016-01-27T08:26:31+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001235 00000 n 0000003125 00000 n 0000001176 00000 n 0000001016 00000 n 0000000015 00000 n 0000000997 00000 n 0000001300 00000 n 0000001554 00000 n 0000001489 00000 n 0000001421 00000 n 0000001341 00000 n 0000001371 00000 n 0000001636 00000 n 0000001702 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<75FFD85BFF86973D9CE51A97A4EEF3BA><75FFD85BFF86973D9CE51A97A4EEF3BA>] >> startxref 3279 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.30000644000175000017500000000645012626067776017043 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UNIX_SOCKET_PATH 3 "09 Oct 2014" "libcurl 7.40.0" "curl_easy_setopt options" .SH NAME CURLOPT_UNIX_SOCKET_PATH \- set Unix domain socket .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNIX_SOCKET_PATH, char *path); .SH DESCRIPTION Enables the use of Unix domain sockets as connection endpoint and sets the path to \fIpath\fP. If \fIpath\fP is NULL, then Unix domain sockets are disabled. An empty string will result in an error at some point, it will not disable use of Unix domain sockets. When enabled, cURL will connect to the Unix domain socket instead of establishing a TCP connection to a host. Since no TCP connection is created, cURL does not need to resolve the DNS hostname in the URL. The maximum path length on Cygwin, Linux and Solaris is 107. On other platforms it might be even less. Proxy and TCP options such as .BR CURLOPT_TCP_NODELAY "(3) are not supported. Proxy options such as .BR CURLOPT_PROXY "(3) have no effect either as these are TCP-oriented, and asking a proxy server to connect to a certain Unix domain socket is not possible. .SH DEFAULT Default is NULL, meaning that no Unix domain sockets are used. .SH PROTOCOLS All protocols except for file:// and FTP are supported in theory. HTTP, IMAP, POP3 and SMTP should in particular work (including their SSL/TLS variants). .SH EXAMPLE Given that you have an nginx server running, listening on /tmp/nginx.sock, you can request a HTTP resource with: .nf curl_easy_setopt(curl_handle, CURLOPT_UNIX_SOCKET_PATH, "/tmp/nginx.sock"); curl_easy_setopt(curl_handle, CURLOPT_URL, "http://localhost/"); .fi If you are on Linux and somehow have a need for paths larger than 107 bytes, you could use the proc filesystem to bypass the limitation: .nf int dirfd = open(long_directory_path_to_socket, O_DIRECTORY | O_RDONLY); char path[108]; snprintf(path, sizeof(path), "/proc/self/fd/%d/nginx.sock", dirfd); curl_easy_setopt(curl_handle, CURLOPT_UNIX_SOCKET_PATH, path); /* Be sure to keep dirfd valid until you discard the handle */ .fi .SH AVAILABILITY Since 7.40.0. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_OPENSOCKETFUNCTION "(3), " unix "(7), " curl-7.47.0/docs/libcurl/opts/CURLINFO_CONNECT_TIME.pdf0000644000175000017500000000720212652070454016761 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Tm›Fþί)ºDÇËûªU%âÉ\›K+‹à=ð]ó£ú;»à×»K„d ;Ì<ó<ÏÌ70)S^Ã=ßh×3Ö­fÂZû¦1uÃ-ßÀ»ù"½×úoøøÜ¦‡t£ÙµHŸ´;2ºMÆñ‡d9Jâ8¥Ët|-ˆ½Ð!ß5åRdí÷åZtEu_ë†åš¤ÞvE]µðú—úßéšaR‹aµÁpC¹+ñؤġþ âÇSæR—Ûˆ1]iä&ÒÓNÐ[&uL fÉcSB~1üº]±°«º¢„¼®*‘w}΢0˜GUtþ%N¦óñü¼´ QeÉ›¢ÊËÝJÀo’’kùC~—á–£º‘òžQ¶Pgðö!«V¥¸z™´+XÕ»¯¥€·ûv¡ÿŠäüðûh>š§é8‰%dš¹=Ñ/€Ÿf2FQÍiàöD3jy\±Ù¶Á¶.ªN4ÐÕø0`ÁÿÈEqVÙ6µm{ŸÄ’‡7ÓI´w]ðª¯Ó# fK½zï“Þ%Ô ‚gËÇp¸Œ> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:36+01:00 2016-01-27T08:26:36+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001224 00000 n 0000003107 00000 n 0000001165 00000 n 0000001005 00000 n 0000000015 00000 n 0000000986 00000 n 0000001289 00000 n 0000001543 00000 n 0000001478 00000 n 0000001410 00000 n 0000001330 00000 n 0000001360 00000 n 0000001625 00000 n 0000001684 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3261 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.30000644000175000017500000000462212626067776016376 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP200ALIASES 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP200ALIASES \- specify alternative matches for HTTP 200 OK .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP200ALIASES, struct curl_slist *aliases); .SH DESCRIPTION Pass a pointer to a linked list of \fIaliases\fP to be treated as valid HTTP 200 responses. Some servers respond with a custom header response line. For example, SHOUTcast servers respond with "ICY 200 OK". Also some very old Icecast 1.3.x servers will respond like that for certain user agent headers or in absence of such. By including this string in your list of aliases, the response will be treated as a valid HTTP header line such as "HTTP/1.0 200 OK". The linked list should be a fully valid list of struct curl_slist structs, and be properly filled in. Use \fIcurl_slist_append(3)\fP to create the list and \fIcurl_slist_free_all(3)\fP to clean up an entire list. The alias itself is not parsed for any version strings. The protocol is assumed to match HTTP 1.0 when an alias match. .SH DEFAULT NULL .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.10.3 .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_HTTP_VERSION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PROGRESSDATA.pdf0000644000175000017500000000734112652070440016656 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœU펛Fý笠RÿÀj=žf€i«JΆ­œãb%Ú­V,f×n±q d³ïÐWé;vŒ?¢V’-†Ë½çž{Îå `D«Kÿ'›Á(tà¹`x|ú!è¿do"ઃèiмCÀ¡à ¹¢ÍàθY„~0‹f¡É0„ #ø5ôæó·æïÑ»Á B Jdrq.3DKuHåáËÀG06£?$â"N0mbCT…Ü÷†uoBRí³‡4.^Š´Ìw¥9¤L !,CÞ¬óm=$ª2µmd“&YI–ê1ŽˆÝ–û/$u,£… …BòƒW ·‘Å`hÙuü´—ˆ#.,烧ÎÔRŒv`H¨züÿ8ípSÄÕ3Jä‹ò¿“àbM ®[®Š2ßÀ._oËt»¸(Ò%”9”«vûüyŸ$q–=ÆÉŸ ô~×Äq‘]¹uµùçi0›OæÇ]JRt‡Æëm’UË~Vc©´ú¥FÏ òÑUCB’˘ÓÉß×àjo—YzÝŸ»%árv™-*Î÷Æ­i;øõ׎6!{ëQ–¯—p¥»7:'Å’R n”·Þü&œÌ¢I0Õ"¼QЂfq¿°1V,«ârqS‘àÖR ´FuB>AÜj§~g”«¸„—u–Ác Õ¶Ì«d%gþø ÙúQ’ÜV qQ+á¯}QB¼7e)áZÌx®6é¶„õö²N@N«w‘«×6÷².W'ð¥¨{€wbìXz¤·‹éb°q¢ÊÞ[P\ Ì4 è|"TzТG¹Õ“àÌ­"c kwÆx¡×…¬¯-LmK Èð£nBj¨Žã¨ÐôŠ›I‚–é“It3q••ðդ܈³*…üIR¸.$ßûx“*Ê›éÂ÷‘nñHXv¯IPÓ³êˆÜš¶Óî4Š0µb‚‚/µƒívÝþ‰Q‡Ê'ëš0ÆYvAà}Þ§ñ‡™ï}×ð«²Üý8ÒF¿}CE:ÒJ%£V;OÕ6A«r“iâ¹ëžïØ~]5œÆã½­-çhsÒšxâßLüIôùRsÝ^“­-× ýúËÁŠDBê¾ÆkqN wSB-€Ð‹á>šÄbHØÄû ïD¿=ºÂ´¬öú“æ=ïÿ…ý¹çÁØŸ‡°ã|G†².êÔK6FîÑgïú8¹¬m¨hÓºõÂÉô6貞0.cgI‡–C‘œ1Ì‘Ýàm·ƒ,asH8 qƒ8ð®ÚńՈY'c¢RyÑà7yý9 -tendstream endobj 6 0 obj 989 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:24+01:00 2016-01-27T08:26:24+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001312 00000 n 0000003202 00000 n 0000001253 00000 n 0000001093 00000 n 0000000015 00000 n 0000001074 00000 n 0000001377 00000 n 0000001631 00000 n 0000001566 00000 n 0000001498 00000 n 0000001418 00000 n 0000001448 00000 n 0000001713 00000 n 0000001779 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<6198B7A46877349F3594F2A3E3C7C5F9><6198B7A46877349F3594F2A3E3C7C5F9>] >> startxref 3356 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.30000644000175000017500000000543412626067776017132 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESUME_FROM_LARGE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESUME_FROM_LARGE \- set a point to resume transfer from .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESUME_FROM_LARGE, curl_off_t from); .SH DESCRIPTION Pass a curl_off_t as parameter. It contains the offset in number of bytes that you want the transfer to start from. Set this option to 0 to make the transfer start from the beginning (effectively disabling resume). For FTP, set this option to -1 to make the transfer start from the end of the target file (useful to continue an interrupted upload). When doing uploads with FTP, the resume position is where in the local/source file libcurl should try to resume the upload from and it will then append the source file to the remote target file. .SH DEFAULT 0, not used .SH PROTOCOLS HTTP, FTP, SFTP, FILE .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_off_t resume_position = GET_IT_SOMEHOW; curl_off_t file_size = GET_IT_SOMEHOW_AS_WELL; curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com"); /* resuming upload at this position, possibly beyond 2GB */ curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, resume_position); /* ask for upload */ curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); /* set total data amount to expect */ curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, file_size); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.11.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_RESUME_FROM "(3), " CURLOPT_RANGE "(3), " .BR CURLOPT_INFILESIZE_LARGE "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_PRIVATE.pdf0000644000175000017500000000745712652070456016202 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VkoâFýî_q¥~ˆ‰`âyØãQ«JlÖ•Øe1'í*T‘ ¸"8‹MVû£ú{gü !›V–°˜¹sçž{Æ_Á!ýTïåƒu5“°É-6ÖW‹šM¨^Ëx¡¯¢µUž¡ Hʼn¯ z°ìë›Ùx4ù-¼ŸÎF·½èok@ ¥--éÁ}*ZYö0Ò›ŽÞ Œ0ªT¹!9a>D߬;;XØ|уåñ°»Oâüûý&)Òý:ë ˜ëØÙc‘fûžü+úÐFäBî½° cRuôº¶¸š)¬’(W:.np /}`2l=¹ÄU¼rô)Ðë-@Ì!‘0 Ìlÿ?dqϤúϦ Í(‘n¹îh¼ì¤€b›Àã!­k1¸KêŸâæ´"ÔW¾¨6 <–¥û"9”t‹§ÊѽPøÆxþyNç£ùób›ºÐŸÒýrw\%ð‹nÝ•þ!Û_MQ¢q‰Ä2Cƒ­]˜=¸ÜÆûÕ.éŸ4÷¢…Œy.aêÍÖöa¹pyyŠŠK‰ç7ÿ˜Eïç—˜p)÷;˜¼æ×³Ñ4…“* uKÁgÚæ×=$Ì3¼·óâºPdøÇÔÐY9$Ë$}‡ Iµ+·rõ”@ÑB#ˆÏ¥: ·Mº®Ï1H*"ö8´Š‹â<Ï–i\$+ø–[ãQ÷ÊžÂÂΓԀy¨5.gµL©>WOBI$wëÞjj„Ó¨&‡piÒÅúi“o—´™„væ;z†î½š:¨gU2‹éIjÒÈZIJ“ð½Ï°üb°Î`ÐÜÇ;lTœ£Fõ O=&°^—Úñî˜@šãvq<ì¨8¯º\é—ô‰â¬!Lg6+Y` úö»=¼é‰S&·+¶Ùq³…d]fÀ¤½N–EZ«)äú¤‡¤ãuz¼û_’t¿Ál/jŠh+!:ÐÙOY—ßÕbº‚Ë rN^PŸxg”¦³Ê³À +iËQ'Ô %¹h¸fw»3cíuòþ~šŽƒzÌüWÇ9jÓ \ƒY&ñ>¬4Þõý3WŠÒ–M44s„)kx íõ‚7ˆçҚʣñðÝh<Š>Ÿð¾_çS^ÃÕ y•îA Ê\ë= ¢›Ùn{”#C> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:37+01:00 2016-01-27T08:26:37+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001397 00000 n 0000003280 00000 n 0000001338 00000 n 0000001178 00000 n 0000000015 00000 n 0000001158 00000 n 0000001462 00000 n 0000001716 00000 n 0000001651 00000 n 0000001583 00000 n 0000001503 00000 n 0000001533 00000 n 0000001798 00000 n 0000001857 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<1E62070899DD2E14B80F46B9828AA2A3><1E62070899DD2E14B80F46B9828AA2A3>] >> startxref 3434 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_PRIMARY_IP.html0000644000175000017500000000510012652070415016750 00000000000000 CURLINFO_PRIMARY_IP man page

NAME

CURLINFO_PRIMARY_IP - get IP address of last connection

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_IP, char **ip);

DESCRIPTION

Pass a pointer to a char pointer to receive the pointer to a zero-terminated string holding the IP address of the most recent connection done with this curl handle. This string may be IPv6 when that is enabled. Note that you get a pointer to a memory area that will be re-used at next request so you need to copy the string if you want to keep the information.

The ip pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call curl_easy_cleanup(3) on the corresponding CURL handle.

PROTOCOLS

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3), CURLINFO_PRIMARY_PORT, CURLINFO_LOCAL_IP

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.pdf0000644000175000017500000001223112652070450017013 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµXÛrÛ8}×W`kB¥,˜ xÝÚ*MF©ñD±½=;Y{ËE‘ʼnH*¼ÄÑ|C~eÿq»ð&+“§-WÙ²@}9çt7?“2bâþg“Ë•Gžª‰Iž&Ÿ&L.ý'ÎÈ!<àãáv¢ö0âYÄ 8õfîQ>o4ù/;Ií÷›(þH¶EIžË´Nó'RŠX¤x.˜Ä¼Ór<êxúÎÏ×,*Wjùoë¥$Á%e&> ¾êHY9pkÆÁðmÆ\ê˧Ö®on×Wë±CòéŒñ×4÷M"Èß1Ö—ø‹îþ!m±eŒªôñXK7ÄcëÙƒ¼>Ô%DP[Í,NíÖ¼‹ª3Ú§~ïͽ¡ÎÃc/ˆ><ÏD¶¹ Ÿ§–L.7Š4!¯›J” ¸ù0ý›Ê%ãå6™¡e‰JA\€é§(yKäõ.Ê“=Ür6W§.Á-/ã9ŒåO‹õ›ÕÕ-nåñl\o£Îÿ€úNë|U‘ˆŠ4¯EIê‚‹¦à¥Éc„5ضKã©vE³OHÕðO½äPuQ—¦–c<ç$Ú-Ô•=œÛÔqG¸2_¢ŠJ¸Ã©×FÜÆ€îp—V/Í"O¢V_‹„lŽdŸn0ô$ªHUÀ2ü#KA`3&î æ¹É©X#ã5?ûº‡=£–É™Z@+¹´rt„H*Œäbîòljrë{qH¨J;3[¹Rö¨Uøˆ:30ÊùX dB¥˜¤DìÇN».õ¾gF !Ř]­<¹AŠ-|7e8ÓêÔT›ÓÖR||l*ó:±Èš}ö)\òœÖ»“c\Ný dâ‰ú!M6† tu¸ñ[؈3¨yN÷{LÏ!ª*0P’5€géüs(ª*Ýì5€ x2Íuð,)’I½ÌEWÍ+ýýÇaT9†1Udª ²‘òÂl×hj$˜Q€ŠöQR¢iË£™ OZmôÄW –ÅÚ€äÇînÀ†Eáü€Z.kœž7™ªX”\á…GŒH‘ àQ •vßÕÀù 0b8³èKš5‰²¢ÉkÄæHŽ*x:ºhÞº„[ ˜„¥ ¸†¥”»>=ÈQñ5‡uˆ;®+é';% M_÷âöJ,Ï¡¾Ùâ5õñýü7%ªë«ŸM¥È´5:Ñ&ÅÙïjª&Ú+$˜¤®¸‰Ø*W¨ëA»›yLÅpŒ–3÷ÝÃ"¹=E²KM×fQ÷^ÌZ¬TS0¶ÔÈuÛÇá\‘G€Ä¤Õ_Äl,0‘÷¶HSDÕ†J椑œ‰·ô#gq¿Ó Ê=uF›Œ Ç8’ KšqÊtÀÀµNƒÿsÞj÷N<³<Ê™×Ò€{¾¼ÁV!ˆ†¦k³A À!Â"!3´?*û9h•Œ5/´_@”w´ïÂ×÷ªvtäרÖEŇü!Ê‚(K”¬me¼êÜŠ•ðë^œ9N]Té)õeh²Œôð6Id4\)¯2›¥yT‹ä/€fc á…»ÆÀæf[±ã˜rÏÀ;äƒÒîQÆ[¼7¢rÊ|‡OM&òZ¹†g«}Ýé{tþ’’5?iYážl“:³Mñ<쫟٠Ýü ˆAÔ¬Ž*º/V*Í”NBÏPÓéú¦۰2ÖÓÌf &ÞD÷ ¥¨›R EÞdÀJ‘Lb×+¤Vt±lì­þPOI°ÈáÔk2W©—–µ$ÝN-›¾éÈhYd]4Áèh`|踎:Sïïñð­†*­_M™i<ªô) iÉ ` ô¸È“T¢GÚš2*º"Ø®+Û£¾ÛV:ÈŽEM¯e&ZæªÞ`)ÑG€*éŠê·€@¨Ô" @€Ž®¬±RêN í³:˜7•䜮Òr"–ÃÚ‚®¦«…VéÅj5µu ¼Y œ™"qÜÚ@ü8Ðæ3ådï|œµ=j,ëûíÇ[tG >¶ dj!}ׇ’ËIA/¬XG1„˜cµq‘i‰u€@ä@" FŠ’µ'!r †³Žlý!wœ!™Ï`®j‰¢²†Ãݶ)±ã…JZGé¾Ò´ãœ:~5Üè+°*õ'IÑ…ë»å²M;¦ZO¬ƒ•Às\UõÆÉOóª GŽ2¡š†ö™aÕH›Qžñ`¦Ç¬ñÁ2ÔªK¨[¡Õ”x{µ\×ä)O–iS·MäŸL°ùsŸc›zâ/{QÀ€Ù«àÿA.¡+öz¹¤gf>(÷&Í}o[øÚ¾r›¬ë2€Al!¤úU‚åvDZö† † çy8Ë*ÀÞ-Çeí¯¶2¯°EŽz¦ÁØ¥2(“G5‡¿9³Þ®´é6÷uø-×ÓQ›£ŽjPoBrÓ s¼gvy}s³\cÞ§ð¢sÃx[ 0&Ù=ÇÊh˜!ë„Là´œmãb_ép:¾ÿâ½ÍÌq©‹ÃHç!Æ] ó_ɼwÁ¤®ÃÚ»¯–ó¯–Wá‡(8ÐïûþXŒ×Íáò+ßÝ ôÿTɘ }jð%»G)ÓõS¾¯x–郴&‰j¿?O±YFU†Ú‡T„fôì\v-|ä÷þß«Ex·º&¿NÌýËŒùònqÚ½ô/&®2i“T¸ywŽ C(-~›¿¿].t‚-öÍWóxÈvæ›m¦A¡U_dÊŸˆwyú©‘­M§ñØá˪.J¡¥Ôߤ©¦»Õˆ$Ç<ÊÒX¶O¥D–XËtú;å•ϸ+bl‡æŒ{0÷ù½ý›¦]vÆcævÛ9æ"´Y;—Šr{ß8v¯8èrÜlu|H?ŽöªÍ/"¶ï9óZ¦Rƒz@™{be#Å‘½(DLvPŽm|‰²ŒodWׇ.õ;½èËZ‰K­3—ñå`ïÔÕ;é®ÎögPø0òŽDq½Xùr}Óƒæg¥;PuÅ™®øø; )d³×y)èãKÁ&÷eÉXÁTÔ¾ë;¡=w¾§Î84@Pªgn@ÝA˜[e†Ê£ætÆ'€vÔ€ìÿÒäÄÞʈÙb2> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:32+01:00 2016-01-27T08:26:32+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002776 00000 n 0000004666 00000 n 0000002717 00000 n 0000002557 00000 n 0000000015 00000 n 0000002537 00000 n 0000002841 00000 n 0000003095 00000 n 0000003030 00000 n 0000002962 00000 n 0000002882 00000 n 0000002912 00000 n 0000003177 00000 n 0000003243 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4820 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.30000644000175000017500000000362412626067776016344 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CTX_DATA 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CTX_DATA \- custom pointer passed to ssl_ctx callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CTX_DATA, void *pointer); .SH DESCRIPTION Data \fIpointer\fP to pass to the ssl context callback set by the option \fICURLOPT_SSL_CTX_FUNCTION(3)\fP, this is the pointer you'll get as third parameter. .SH DEFAULT NULL .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.11.0 for OpenSSL. Added in 7.42.0 for wolfSSL/CyaSSL. Other SSL backends not supported. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SSL_CTX_FUNCTION "(3), " CURLOPT_SSLVERSION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.30000644000175000017500000000402312626067776016447 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYUSERNAME 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYUSERNAME \- user name to use for proxy authentication .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYUSERNAME, char *username); .SH DESCRIPTION Pass a char * as parameter, which should be pointing to the zero terminated user name to use for the transfer. \fBCURLOPT_PROXYUSERNAME(3)\fP sets the user name to be used in protocol authentication with the proxy. To specify the proxy password use the \fICURLOPT_PROXYPASSWORD(3)\fP. .SH DEFAULT blank .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_PROXYPASSWORD "(3), " CURLOPT_USERNAME "(3), " .BR CURLOPT_HTTPAUTH "(3), " CURLOPT_PROXYAUTH "(3)" curl-7.47.0/docs/libcurl/opts/CURLOPT_RESOLVE.pdf0000644000175000017500000001163112652070442016076 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…XínÛÈý¯§¤?By­ñ ‡äN[@ë¨Xí*–jÓiqaÐÒ(bC‘ IÙk}ƒ}•¾cï~)^¬X¼œûuî¹gü•0Ê Ãös½]ÜHò¹1òyôuÄõCb?Ö{òc !~oGæN¤Kd$h‘x?r®înËUüp3»].Æñ¿G!§®`hoFÒ§’ÄÏ£OÎÇÙ½#îÇd},³•T/•ª‹C=ž¸>sà?i‘WdxÚ¿âŸG"àT†æ´æt3aÔåÂ"Œ BùäÄóïè7®§hÌÐŽûÔ„=éà ¿ï’sõ˜$îâcfbFÃÈÿÈ¡,ÆÜwžÒ‚tªºØ“]QÕ$OöŠÔ™¯H²Ù”ªªü(²'°†˜¼ÀQ•Îi1D:á u\·¿^/W·óÛatÚDGæü)Í×Ù<ÿ+y?èî¯hîz$^Œâ3÷ºÐÑ ‹}¯‘³]’o2uN^Kð\‡ø­Çª.ëÚœUe)$z†éV÷ãw&Ê~2kßfó~v{u3_Åóåµí÷MË^Él•´­Šhè›Fqʼ»á@5r(Ò¼V%V9!Yšшói${ö¡¶W¢ƒ-¶2HóÏyNë]¯U¶9p‚ >¾´E,° QiFeÐÀ0ßå>AÄb ÇJøŽûzTPã¦Þ¥•ÎÙ BêEQ“¦ °õ ¼L(‰wÊäÑ(ò¹Û†^íŠc¶! ’ݳì…<éæðPPé¹&<Ð×'YÚæÜu«ìET2ßÎä· ‚M *8sÆ‚þ Já÷,ƒøÒœ’»J™79³¯N ¨ôÛ9r:Éá òM;¿?h_؆ž<ªº.URÃ8éÚ@JP«gP&"Û“O}WÛr,¨¥ ¥TI–¯fôZ·’òÖ­ö˜©$'Ǹ"*¯ÓÒx¦¦‹>' B¤žÇu˜³d½#@+S§ˆri„Få¾hܨªCð¤ä­Dh¯áÏeZ× ÂÁãu æÈOËÛÏà£LJûúåjyc'L˜ËiÐ%_¶^C*Â(ôl±!Èôý{ €[ò¼Suãb"øpyËŠfJºi¥cÒIgé#Ö`Ÿe¤._p&z¼Ç¤p€j0@Íçf@!Ø ¾ôšöÅéX0†$Z²&ß+ðy(J˜ßãþhfèTù”®• ¿§§$c‡‹|¢žðH–êc‘kËL˜â±XÄiÊÓd}Ü«2]'Yé)™o[Ï`÷8†Âxä;Ç4Ó'Vǃ}¾z Λ#Í8»HÜùkdµ.Ž%Ð A™@¦ð–G ýŸ½â¬gÀ¿µìÏ)L >(þ!f­µhHr[Ig y¦Næ’ú׃ÊÇj6˜Hɱ–Tqs›æ‹¶Í"ùb4`¡Á¿þUÙÏɰ£ö†úA ÍþÄ`~QÕ9y|!F¾¡ÿÄêøÊ ¸.ô‚Ž”dh…BÝ"jõ9`¯ê/ˆ7ÍßšXd@=?<ÙƒÝÄûÆ(NíAÓ"õÀœÿþÛ˜#¦|êáNÈ&©vçšÁmç!eax¢Ÿ»#ѸOÜÚ…j÷Ãoɺbða¡>cVÏ FfN`x3›d<ˆÂ»6¨§´8VÙ‹` '!`|›½HïþêŒ5Õ˜ê³ÒœHê¹”5¢d ÌaCE5û·fÇš†æÍ˜;Ó;ý”cJö¾á¢‰d·tc‰3 ¥^+˜®ï‹W"é_Vͦ÷„Y¤ø‘o@—Ì7€[ÆdÙúÄ!cAƒð«åâä†aGGÈ4˾ÇìŸÓ«ÅÉ=ªÓó†ÂÌ}·¢¾,˜U÷GW ò‚ù¿ƒm…×ûÕ+­ÎÉ›>€öÒëb²KîJ è¡ü ÞQ46ôvÔ±9Q_‹Ò<…KZ½mbK·÷ÚîªÿÁµÙäcæà6…ßüÁ-JÏSã³ùÞÛð)íêúpyqñZfm2¬A°æpø›¸ßµrÀ¹8ƒá_h–G"{NúDæ·Œå¼TF ƒ>»° nm êµgkØyFóîêø_ü}¨ÌAÞ”ç-BÏÃooò}°áTY©ú‘tWzÀÀo7ò|1ýq¾˜Ç¿! •Þ 7õÇøPPÒ[KFˆÀç­Âpž’Þ2„]ÑWD¦‡\;ì+ø’!ÓÐW.ͬ7¯Ëö“s3‹ïn®ÉÇ1Àtw¦‹»ÓÞØ«úXÚ¿ŸÌ–¿Ô(c+A Zù©6†¹áÝõ/×˱ð\?,õ5_e@¿ûwŠÙŒL·Ëá=³RƒëùÊÌE¹³ üV›p}·¶5Ó7µóá©à4háÙ ëþájª5OäJçê§ÙC<ÿ0[ÞŧIeôƒ n ¼Ýø’æèFÀK*€AÆWúÈæŸ9qa!é³½–I9ž4‹G‡ÿu.§endstream endobj 6 0 obj 2196 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:26+01:00 2016-01-27T08:26:26+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002520 00000 n 0000004410 00000 n 0000002461 00000 n 0000002301 00000 n 0000000015 00000 n 0000002281 00000 n 0000002585 00000 n 0000002839 00000 n 0000002774 00000 n 0000002706 00000 n 0000002626 00000 n 0000002656 00000 n 0000002921 00000 n 0000002987 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<698EED7FAC72CD2EF171018DF17BDEB0><698EED7FAC72CD2EF171018DF17BDEB0>] >> startxref 4564 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_VERBOSE.30000644000175000017500000000442412626067776015500 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_VERBOSE 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_VERBOSE \- set verbose mode on/off .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_VERBOSE, long onoff); .SH DESCRIPTION Set the \fIonoff\fP parameter to 1 to make the library display a lot of verbose information about its operations on this \fIhandle\fP. Very useful for libcurl and/or protocol debugging and understanding. The verbose information will be sent to stderr, or the stream set with \fICURLOPT_STDERR(3)\fP. You hardly ever want this set in production use, you will almost always want this when you debug/report problems. To also get all the protocol data sent and received, consider using the \fICURLOPT_DEBUGFUNCTION(3)\fP. .SH DEFAULT 0, meaning disabled. .SH PROTOCOLS All .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* ask libcurl to show us the verbose output */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.pdf0000644000175000017500000001003712652070431017454 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VíŽÚFýÏS\©?b"<™{ü¡V•HâHd ¸àMe+ä³Ð5öÆEy‡¾Jß±÷Žm »´ÏõsνçÎ|Îpú´¿ëÃàÍÂ…‡rÀáaðm ô"´?ë¼0À£Ñvм#À•àúó|ˆãÝíb:£Õ‡(\-o&á*F`&[ïm–dÒ…è8øjŒ—ŸW“ðΰ®‹t•Äå÷U™TùS54¥âŒs×À?û<+áJæß£KxÌRMî󌴭əˆk°}„Í|EÈM[Jf+0-G¿5S0§8¡˜ò­6Û§€ž÷Œ%g6wÁ’–yCâ ,_¶@àoØ?dy‘@µKÿÇ›M‘”%ì3ý„B‘£ãQ<àÊM4­KÀÔó4¬å—Ù<\N–—àtˆfü°ÏÖi½Ià'Rõ }±ÝÏ.mˆ¦ƒèu{cÌsáïô¼ÞÅÙ&MF×d?$5\ÉÉgIÁ:õFéIU—¹ç^»gP>îŸî†?6.™*†‘=Û÷ÁòÝbF“ù¬-©PME¯0ãÓž>óÚ®̳=*–ÊÇâþ &ÛfoÁÛ,ÊaJÉ"Á{Y{åvö% ZPå F°¯°žeUÔ몄tOŠÒR–WP—/jOˤøS×õ°CeS;ÃH (뇇¤¬t«ì«RS·tÚ­k@æûM¼”®ÙuíÜ‚xEoY̦(Äa¾gwþ屚èHÞ¥l¤¢†\ç‡vwIv"¶Î³,!¦ÄcWq÷Mв¢I¼9E÷©nSpŸq!zìªåZ$f'R.]RAœ˜î;éXÂ6/tnXyz±ñÛº¢xÚï$úS^TÕ‡{Ôs[ä=‰$9@{× ˜séØðUëÁ„cQ Y%Úa¹›)„ikì¡4͇ûT¸Â8^Ôü84µ¤mäÅ#ÄE^£~÷Eþ¨Ÿ Û1PJ]}œ4œûÕšºsÆÍœ«vq›Zr¦Íe"¡íåX̱E7ì¢óâ ó»>ŽÝôûþ*’Î6(-&¬® ޽[„`Êá]û§).ô{6âVJ] =çK~xJª$['8¶´Î$æ± oŸUð>^?2Êó\Ç]\¢? Ù6:*ߨb%a¿…p¾hHsæÚ 7Ÿ »£Ö:9AЃwð1ïd ÚYÍ@B^ŽÕ-!¬›í£”Qz1¨vX´S=ÄöG´ØI]êé|Ûlá8ä¡YÊ`W&¶ÄcérŒ}h레šŠ/úZÞ6.¡¯=‡¤cµ®4¦}¥û‰D%u]«ÙM?~mœžah”Á÷lKC6nâ¶E7‘˜òµ¸óæ§ ±c\îtCýÝ|úìÜAÌ>‚èQàAñ?8‚߯ŸÂiÐõ¥÷¯ã<êa‹æ~âý¼KyÞ•ÃݧÈÓn¤iã†ñgèz”ßQÝä5&ÓñÛÉt}¹ä†U°lÏ»lþñf£›\Fþ7ׯÆ"ˆn3Àn±læ;ÂOoƒ¶a^RÆø¤ª‹öº¬æ7ä òVk:yê'r\²Mç&ðvv3›-eü:[ÍõiI/ât­9/¯AãérÞyéì @î´yãØè Á±˜N«¨¾ƒ.sâ–ÎiÈ\Þœn—Á*Àþ´Ðœ¾t_æF«©©Méá}Dºw8MÖn»ÌršB)ßfÊÀ{àÇ:‰CXç¶O=-(U ~ÁÏ?„D×ýendstream endobj 6 0 obj 1306 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:17+01:00 2016-01-27T08:26:17+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001630 00000 n 0000003520 00000 n 0000001571 00000 n 0000001411 00000 n 0000000015 00000 n 0000001391 00000 n 0000001695 00000 n 0000001949 00000 n 0000001884 00000 n 0000001816 00000 n 0000001736 00000 n 0000001766 00000 n 0000002031 00000 n 0000002097 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3674 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_SSL_ENGINES.html0000644000175000017500000000455412652070415017062 00000000000000 CURLINFO_SSL_ENGINES man page

NAME

CURLINFO_SSL_ENGINES - get an slist of OpenSSL crypto-engines

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_ENGINES,   struct curl_slist **engine_list);

DESCRIPTION

Pass the address of a 'struct curl_slist *' to receive a linked-list of OpenSSL crypto-engines supported. Note that engines are normally implemented in separate dynamic libraries. Hence not all the returned engines may be available at run-time. NOTE: you must call curl_slist_free_all(3) on the list pointer once you're done with it, as libcurl will not free the data for you.

PROTOCOLS

All TLS based ones.

EXAMPLE

TODO

AVAILABILITY

Added in 7.12.3. Available in OpenSSL builds with "engine" support.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_CONNECT_TIME.30000644000175000017500000000343412626067776016373 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONNECT_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONNECT_TIME \- get the time until connect .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME, double *timep); .SH DESCRIPTION Pass a pointer to a double to receive the total time in seconds from the start until the connection to the remote host (or proxy) was completed. See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.4.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_LOCAL_IP.30000644000175000017500000000421212626067776015701 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_LOCAL_IP 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_LOCAL_IP \- get local IP address of last connection .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_IP, char **ip); .SH DESCRIPTION Pass a pointer to a char pointer to receive the pointer to a zero-terminated string holding the IP address of the local end of most recent connection done with this \fBcurl\fP handle. This string may be IPv6 when that is enabled. Note that you get a pointer to a memory area that will be re-used at next request so you need to copy the string if you want to keep the information. The \fBip\fP pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the corresponding CURL handle. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.21.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLINFO_PRIMARY_IP "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_PIPELINING.html0000644000175000017500000000757512652070415016741 00000000000000 CURLMOPT_PIPELINING man page

NAME

CURLMOPT_PIPELINING - enable/disable HTTP pipelining

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING, long bits);

DESCRIPTION

Set the bits parameter to 1 to make libcurl use HTTP pipelining for HTTP/1.1 transfers done using this multi handle, as far as possible. This means that if you add a second request that can use an already existing connection, the second request will be "piped" on the same connection rather than being executed in parallel.

When using pipelining, there are also several other related options that are interesting to tweak and adjust to alter how libcurl spreads out requests on different connections or not etc.

Starting in 7.43.0, the bits parameter's bit 1 also has a meaning and libcurl is now offering symbol names for the bits:

CURLPIPE_NOTHING (0)

Default, which means doing no attempts at pipelining or multiplexing.

CURLPIPE_HTTP1 (1)

If this bit is set, libcurl will try to pipeline HTTP/1.1 requests on connections that are already established and in use to hosts.

CURLPIPE_MULTIPLEX (2)

If this bit is set, libcurl will try to multiplex the new transfer over an existing connection if possible. This requires HTTP/2.

DEFAULT

0 (off)

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.16.0. Multiplex support bit added in 7.43.0.

RETURN VALUE

Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

CURLMOPT_MAX_PIPELINE_LENGTH, CURLMOPT_PIPELINING_SITE_BL, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAXCONNECTS, CURLMOPT_MAX_HOST_CONNECTIONS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.30000644000175000017500000000353512626067776017572 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_GSSAPI_SERVICE \- proxy socks gssapi service name .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_GSSAPI_SERVICE, char *name); .SH DESCRIPTION Pass a char * as parameter to a string holding the \fIname\fP of the service. The default service name for a SOCKS5 server is rcmd/server-fqdn. This option allows you to change it. .SH DEFAULT See above .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_PROXY "(3), " CURLOPT_PROXYTYPE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_BUFFERSIZE.html0000644000175000017500000000466712652070414016630 00000000000000 CURLOPT_BUFFERSIZE man page

NAME

CURLOPT_BUFFERSIZE - set preferred receive buffer size

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_BUFFERSIZE, long size);

DESCRIPTION

Pass a long specifying your preferred size (in bytes) for the receive buffer in libcurl. The main point of this would be that the write callback gets called more often and with smaller chunks. This is just treated as a request, not an order. You cannot be guaranteed to actually get the given size.

This size is by default set as big as possible (CURL_MAX_WRITE_SIZE), so it only makes sense to use this option if you want it smaller.

DEFAULT

CURL_MAX_WRITE_SIZE

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.10

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_MAX_RECV_SPEED (3), CURLOPT_WRITEFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLMOPT_TIMERDATA.30000644000175000017500000000351212626067776016017 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_TIMERDATA 3 "17 Jun 2014" "libcurl 7.37.0" "curl_multi_setopt options" .SH NAME CURLMOPT_TIMERDATA \- custom pointer to pass to timer callback .SH SYNOPSIS .nf #include CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_TIMERDATA, void *pointer); .SH DESCRIPTION A data \fBpointer\fP to pass to the timer callback set with the \fICURLMOPT_TIMERFUNCTION(3)\fP option. This pointer will not be touched by libcurl but will only be passed in to the timer callbacks's \fBuserp\fP argument. .SH DEFAULT NULL .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.16.0 .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLMOPT_TIMERFUNCTION "(3), " CURLMOPT_SOCKETFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_URL.pdf0000644000175000017500000003706612652070450015432 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•XÛnÛH}×W4²X„ ¤6›wz‹Í:ƳžXkÓ‹d`PTËâE*¼Xñ|ÃüÊüãžên’’ì 0Ûê[Õ©S§ªô•Ù\0›þ™ŸÙvrv²Çfb³ÇÉ׉P‹Ìüȶì_ 6DôA²žè3‚… c—G1K¶“8æ!Kö“ÏÖÅýíõÍ"yÀ/–ûeʲ®.dÚ½Ÿ¾…µX>÷c%«‰õÓå4ùß­ŽÍ=;dsáвýÂBö;ÛÕÕTx<ŽÐzÊW’µÉh©­X×H–—ê“Z~ídÓ*ÓŽ šÃ¢¹x¤ ¸ûï§›ÅÝÕݱj‹2ÁúK^fE‡gþN¸œÑ|óÚîxÊ3².«°á·/j‰½Û¤åª³CÔf,Û¤5{GNÿd¾cá‡Ë»‹Û«Eruó‰^ÌÂ×(¿bí"¥= ç˜G¾F÷FAi5 Á“²]•—­¬ 2`¥}¶¹.йãz&@°ð$BwC7ovupÕ~ lûVUÿÂöy»á,A(vin%½×lª®X±¥„ 2!e¿Ê–Èz›—i+W¬ië¼|Ô´Žàžpb¿É³ ÛvMK·Áʹ,) «>þëª(ª©ãq]këðQ½MÛsu­Õd¹•çgg›ªiÏwUÝžíÒvƒX [+üépõ\ó„íXêôqZ„< âX¯|¶j™’«r*|ëÛ®Há’†UkcÙÀvˆ"Y#%»ýxáÆQÀµ·NÄEd 6'v)€Ém„®È—D0¶ªdS¾¥Ç]ä~'{ËÚ§Ñ0œöœ~!-ò,SV4Ïe›~cU­2¦Ýä SÇ„p·?Ao›à¦už. ɺ²Í uC[§e³†Ÿ8š7M'Wœ]>Ág˜âÅ–,Y¾fÏU[ vþú<È„t. FN0r÷é»""ÎÚCÄ­¢“l#k9;a«ðص…qòe’<8‡öyQ€nô-Û®.O®%¥ÞK |ùpóïãû ~0ÀÏUŽ:}8Ñ ”ØZWšùQ&»ž×[ô¤òÑá!(œ «¼£ ¨£Pô±r$=ÅAH¶ˆ Q>ešç¬D²/VÓ!kÒ†½Ù´íäCx³6¿Ë6ƒþÃÂ’õtSølÓ_z›e°ñ 7I¦BÌä«Yþ6ÊQz†îÂøCÙºD¬X¥–ò3ƒPÕ‘àÖtËùªÚ¦Hkå²5ìÃÕE¢³ÀQ89a 12/Ï>Ž& îŽáN‡gÄQèfW‡üë Ôû£Îñ‰kGϼEÃKÞ«5Á…P‹·ÝÞ>ÕK°˜±Åa@Ãáü€ÑÍÂ¥Ýý¤MŸC|!Ï#”`ŽÚ§¢ÖnH[ꪭ²ÊÄêˆ_ÍX…õ>G¾ÿ$‹£EÎîPå$ !´-ŽØ“¥%mYå e?tû™Òy®•‚ŠŸJÍäÔ_“m%תä¦]1Ú2#©3µxÈ-aGäå˜\T?\~4 ªÜ ®nÖû{³¦tO€ch¯“#á½"[‹Û£0¡°‹sŠ™Æ9a7‡<öÆ .n®_Ñ××{*h‚¸‚6Í‹Æè@hSüa-m¼Óu˜>"$sŠŽa³“Yþ›†\ ¶ÎbuÿªËôBŸ£ëºÚ)¤²dÆÊŠ £¦näk*5ÝŽêÜñaâj@ưÔ r-z÷Ÿîî‹›ÛäòÃ)œ˜íý94O: ŸG¶¡ÁhlÏO­Ê°Yy9`tÚ´ p‚½?T“±ìdMU÷•Æ‚‡±×VÕ'w‚_nàE‡¥e Rçß»Ñã~äRî»Z”×]™éÖyOiJu1K þ–³ûæÔAE% ú–B=ý$ë)$.¶×jp×C^®«±ým˜»^ Í'ÓHNÕ$éFÄt&º›ê©Ø°´åÙBìZNÛêrð'zú+´»#Áà§~Ð"Snƒ9oâ ²:ÁŸÍû×1æÐ›^6½@÷KF»HÞ¨Ç,òmÞÂÏ}lŽ‹uB„‘ê†úöF—½8pt‰_†R<Ë3#îx4û˜½’;YεZÓœ…‰kkÛ׿­dÙjäaQoÇ•y)A¬ÚîTœ`¹‰µÒغMŸ[ë®è{¬4Ëä®!•)p_±Ê.ZºžIßPV)ŒsÝ‹™Åc¢”):¢ª«Q0¹ «'Ö9Ad¥0y€’£wQ)–y‘·ÏÓCYä{Ö ¼1•Þ ý5Ø9žŠY<3=k*5ÔáŽÇñ$UŸ&€99Ôek)Uº”-M‡}kÓ¦Äo-Õ[8b;öݶ¯•ôºŠ)¦í»xB9«ÐCç¥69]­j@ѯ7²Vý´ƒFÉ Ç1Ìö4ĽÌSðôÔDM³Á—2£_)æ°ÓP™DOÏæÖ‘T02S¹¯Z}ª‡mÓ‰aÂy} gxîªW !{ˆxÏóvày„h?[¸¯¨ c¬”­bId{¡šýŸÜ¦Ù&/)ªänýr³Ê9É®fÞCƒ#¢Óï^€Äñþ‰Zî° ™¥EË  wµxòh#~}¬8û¨Æá0CÍkCYßÒ-Æ3=&RocZåý~¯)î ‹ëÝÂÍnŽŒ=Óƒ¥ÙNœ!Î@öþ3£Ó"ަàðãÏŽm‹sL<ö¹Â9ççŽý3í@Çàô-ÖUKœM‹¦ÂøNY‡yŒä:…µVh¨Bmêÿ.m3+ÿV*—ÓRÙˆR šG•ÞÄù¹efŽ)4Ô¢zú/ U‡)AþÎtÓ`y¥øüÁT>ÈñLGCZ"÷†@7:eè{œR¹£Î¥Í3UÄ^D‹ 8× ôòþ©‚èñ4cü†+Öß»‹ß?Ýl—8­sï¯Îúàa«F—¦¾âoTßùªdRÊõ•)r{:¾O-‡%BöcW2W¨c^ÐÃ&(&—Éä?ø÷ôš˜ªendstream endobj 6 0 obj 2287 endobj 14 0 obj <> stream xœ¥XÛ’Û¸}×WàÍTÊÂàBÄäe­uÅ[ÞÚ‰£TÆ)G„$¦x‘IÊšùôv HÉš±“­)Æ"Ð×Ó§»ù™0Ê Ãÿ¹©7R²ëŒìŸÜ>$þcS“¿­á@†_¬· w‡“TTKši²®ZÓ”¬O‹ûèç}xÿûÝú||ŒäÇ%Ù»ê“Éû§O½Úð\ Å(ciÿ)Û¦'—W–ÿYÿº YÁ¿u2Ë:?ÜÞÜ{ÓÝò¾?-¹• £¶+þêÅüTçeEÍ’+ÊxœDy}¨ Ý´µ•'b²~¿Xÿå>:´ùg¥¡œ¾þ´UŒfi†‹Þ äЙÞ4i›ê‰¼ûíÍÝòÕBR‰6 Íh’ÅyˆHôún¹þ/d ¾çœÆ2ÕþÁïw’äMAþùÛúŽôÇáíRµ»²!c´óžrø¶Ý’aoȾíŠÒV…EÌiÂF‰o[|ˆfh«ŽÑ˜3ávõdGLãLs÷ÝÒÖ­¶3¤l¶mWç¨Þ*’IFIV\àYN%OìÙü¡=Ö¨s‹áO€韚!$¾¼7¤7†|xû³YüÿPL ëú»_ÖoIÑåÛÁý^™¼ÛƒÃ+Àá õ£Ú÷h4¨Ä®£Ãã@>FoŠÂ¨.›(û¸¤N…´7Ö`žjÙ{óÊê=íMCšv ýÁlʯ ¨*üäTV˜X× ³E¡DÛ‡Es€c58áàb@ðWÓÕeƒßt6‚þº £©Œ;£êC×í¦­nIÆDŸü}½¾s‰xò%ADœ8î£×b)…¤1ãß:hZ,*tæ³ bÞ¬ÐY¡¬T„Ù¹T&è„R3¡”¥2µ J0Û¶ªÚ¥ˆ©ÎTÊfG|©håK¥'ý¾uŒJ¤&2Ê™7=:í=z…E/ÜŽ•äSh]ÚÚ&kRP(‚[ö~,ÒÏ)–Û'›ÌÉ-úß¶îO§Ó2AËc®ô¬Ào3–±²O+›¶iÌ0Þ’œœÌ ¸û²„ÒÑZ¤‘é% ¼MºÔw`CÞÀô’{FrñfÌt«,}Aµ£«Ûó(ñhË+@[Õj•V2¦i(oÔ/†Ì@S•hiB°ÎúâøEª˜BÐWXP(ƒÇµ [Ràè/aŃí#}Um|©•U…ÖÖ†˜¾/9PÎîÒz.išŒÿb)h‚µ‚Y: ¶y˜\²GF²3U{v ˜W‡£ÓðÌ5Ì@Uö–0 +OƒG@œG]´© ûgLÌ‘'õ¹Õì[‹o'¨…CudöûPóɘ6‘é‰ÄæÏ-AÎ|>š>PXo3ñµ2ˆšÎ ]iÎ;…„¨Ž4ƨòÒùŒ„*>õ…ÑÈâ¶kkHe<]vͶ{rñM3Ûj4„ì¤ïƇ¶Bd@êí|p^gLMú\{EE-Sèc%f-(µãK„FŒ‰ d: ³c$BÅb™­3Ý+ǃ™ëÖÀwÊÛõݼY³1ŸÜuvä¦vÔ½¢ äÝ6„{M]ÃÌëÏU,W„ÍÅv8šL¥H¹o]¶½íæXã”aYáÁ\Ë+óÓL\V‹ßb¯ØÎ9^æÅfaJO^fæ^ˆjëžtgÞšl –Q–ŒšèzF!ÅäžSl\f¨T£ñùfp)O5•±<ãøû&®öØmlŽvXlk&ßìG‚Pq0æ`šÂÍgÖòÀŸ8ò!ì˜I]e$0§#6óe’…5_wÇÎF4ôõddÈï4#ÑïÌàJúBµ½3®ÈΰË}·5ÝR¡ñ:‹¦¾ò£oJEõH÷C]V¸P^òðDfU¹)ˆªgìzåð=;ð©â4G¹4Î z çÇþæš=X mê¢B ‚€‘0l#±j=vî-ML†¹¸°ê}{ɼLÄÏ0oc‡ªÿ•yA“qhÇ^ú%ó %õ¥/1¯vŠÓÐÙÆÿ™W(£aŠ<FC¯³°xxkÑ+ßì%L|Ù4¢z‚eî‚ËÆ)¹€AñëèÔTm^ôÌMq²mŸã”À™s6µÏgþK&}A…%§Ø‘êù©sZΘ¶„îÖ"~Û¹R¥>gó —Šêô‚pÕ·tÛ³€LJ,}ß)׉úv¿™RŒÿ踟SšM+N„.¾r0Ó©òó{< ›ý~Þm³$ÎF‰SåËÈ\Ò‡—m%‰ã0¸ý{þŽf¶™¤ÄQbŽSì GüÙ cô±uþš\–4w¦Î–+ƒr÷4ì±,¤¾™¤( FÜãl%5äŸiõÙö¯Dc®8ÅÙþšË_'ƒ QÅ1¿ô µgX'ÃÜå¦(–M{9hs“ìtösp0ææŠ¤@ñùCßVÇÁg±>B§ù‡áäÐÙùá‘7¯‰ò¢(ýÛ`Õ‰r€f_åý;5ªz˜Æœ]Ù4(Я´¨›^¼Œü¿‡û¥fF8?Ê8îMͼNbš¸•êyÆUE¥Ù¤=½Â8gÉ ”£¦%ËOܳ6j»»ÛÙá¯Á“ù” ÉRyZ÷*a)ô*Ú‘ÏSX¤([BS:¦*â)ùõØÔn¯Å‰ô> ´ë—õâðó,8oÕendstream endobj 15 0 obj 2209 endobj 19 0 obj <> stream xœµYÛnÛH}×W4X µ°Zì&›— ‚YÇñ <±×fv¼H%µ,Î𢔿ì䣷ª/¼Èfw&‹ 1"‘]U§Nª.&.eÄÅ?æçª˜Ì¯Cr×L\r7ùLjùy/›–4;¹Ê¾Ê†´ðà¶‚OÊ´¤­È®–,[²Þ×YyGVUQìËl•¢Gä!k·hq’\€9ÏWÖð"ÍrÒÈú~úýDpÊ¢8ÒN9²ÆW8àáÕ$¤œÅ1×ß}pèbÊ#¢ŽM«âsñ)Ò³ay^¬ Ù¨²†TEÖ¶r”$Ï–ˆ&ø—ç$…Ï‹]‹Á@,U~oÌã« g.õ]f}kñKm°Æ"Ê«Ušcü»}+ëïG‡„‚27´6ÛþFCÙSWüfæA„É qÃx¸'T<:%o*•ĈFoÏ|êM`¢0çúÌ5¨9÷öK…hLÁ"€«¾cÔ5g×'d\ìûžÖþ€,ÒGRV-`ÕîëRb³ÏóGòyŸæÀ‘5YWÜÒ0d›¶?)«áËå#iªBç_yºT¸|¬£8œ ¨èB¬=嬒–kMÈÍ#R®E¯TšÓ<¯4Ý@¾{“k2<4ä±Úcš¡~àxUSGÐA®`•ÌÛ÷’”=

‹Ù¡ø„4ûx¢lÕåj›•Ò°AðX'Ðåeæ;j߬ã‚jè™"õt`ÊÜs€Ÿ‡m`¤Ev·mÉ63# ©ï[ϳÁU}pa—v¦¥hÙÂñ`gSW'§LP—ùóE!˜Ê•ªxýlQ&fªDg,öѨ  ã2©j|2]¯A<6U0ù¨NS´»æs¤ •Z#¼ §Cß¾¤Å.—êŽÌH‚TXUe)Wmƒ™+òšs =D¾q7„ƒãþ\åÜàTÅ6Y®MFU™+D¹€|ñ.-ÎAé+´}€X<[ö^'xŽNS3]SoÎ/.Éœœ¿(ªà†‚g&=¬ %qŒó)7D0_å(4Õñ2Ï£^ÇÜØöS•4bܤ{+K ˆ‹þõàðõ‘û§È£ 0ÌþgØ‘L¿l¦0ª˜‡CT3 »%T_]^yãþª{¬¿áÃÏ÷·B6Mz'Éâµî mÕ• ÏÌ©+ÕŸÈ«nXð*о×û؆V~TXã”îYRÍxìÒPô’© i%¤o—ê¬Q!?L™ë¤Y‹šiBl´4£ƒ™¬lZ™® ²ö¤Žg»jçÏö viÓày8~xNU¯ÿ6¤ŸðŸ!Tnh|SmôE£éùTØ>vŸBa=N–§Ë\öŽo@:ð0tGÓÌ÷(L3ÖÝ9³›Ä_Mæ¹ wxñ$íNÓúŒ`‚¿Ö˱§a€Ø»ñ€Ô‹ŸO†6ˆá©K‚Ow¬FU%´æ1½!ôeõ¹9!ÓõZ¥Ÿ€Âñ0k‚WÌAEO ñ¹"­ãœåôØSÝó©kWÃñÁ÷ÜNe´V;ªå6YªpUÕ¯¶rõ›òêýâµ2ʨû”ÐnºùÇi´GÝ~V¼X¼^$ÿÄØ‘¨¯{ö ¹9?K—ï´‘ÝîúihÚàsH <)üãøhó{z­ÔÐSIïÂ\çeqzAªU+ïã#C îf$3àìF¶Ø6µϵ£8È…ógª®Ô<“Öð>ré{ƒ®šüÔ Hw¬Œ¯d & ÀÀèŽä‡µáƒh‡¿_y?ðD0µ»ÌNBU¾½GNêJ8ÜOú‚þƒŽÏï^]êV¯½a±@îj›·³«ÎÎ(ë‡æ>ØMï”SW®Ã>Ï \mWušìHñ—@N=Ñ Fß0²aHP@¦+ßÎ_ó_¢ Ý¨bnƾƒø$Ž#PÂê>ÃÙÜ^rð`s Aù@¶*ÞÊFÇÒ(Â1S-Å>ñ'ȧ#õb=ÜbXf°4jÁ9ï{È1µK¾´l¼®FˆCˆ !¯»·é8c¸­ºÑ8ЬTº£ä¬yVÏ¢ìî‘ÿ› a—îñN<8É6$Ã+–¶æraÿ?Ìr$bÈ,oþ¨êËäü69ŠbÐø)†ì`"Ìi¥NiÃ_KvU­®€EÀS~~;réÐüù‹«)x ê Ú+ý€?ên ¡áªýKœàócx@üoiô50¨óMSDï“Êzši/Ò3ÆíïÎ9§Q¤%ž?§BÀÁý©|, ¦`@i5(à {xQDl·û¶:òãÍûWoÀán³MוÎr¬®ÅÊcŸò˜ÛåÁ±äºŒŠø÷“;$¸nØfŠí:9\\ñ¢óùwÚ.ÀðwöNÕì—¿‚}hDåAëu~ª`$³½Èî~êb¨4A÷Å@ /›Øäô².]VûVÊÊu¶õì>[ïÍb«*á"Ø 'Í÷×°MðNJrýÓ™p!ví]€›×̲7g£¬ˆƒ£ûdz#ëǯ¹´Fœ;à  ÏîÙõUd:cBÄpÙwXHÞîKÂA`AýîN­ö7çÉäïðç?Ðåêþendstream endobj 20 0 obj 2421 endobj 24 0 obj <> stream xœµXÛnÛH}×W4 †Xmvó`0ëÄ Aœd-òY-²q‡…MÅÑË~A>z«ª›ÙÎd<» –D²«NUW:ÍOÌç‚ùøç>ózq~°f᳋O A7™ûÈköd ¤xa½]Ø5‚%’%YÀÓŒ­ëE–ñ„­oï½§ÿ¸~ùúÍú|üæ¿-Y~èªZ™ã£ûvß/W2ò¹ï'ü(ÛÆ°ÛK–ÿ\ÿ …ï<‚§U³u17ÿöÙõ«¥L¸/âØ»¸z6_9B@…uÎ_®ÿµXáÕ• ñºo1›|ÿøüü`t÷7½!Ï2™x_T½¯4ÏÛú\÷ùyiÌA³[ïJÃÌ^çåWmX¿Óìk¥ÙôA@ë/ή^þ¸Ïb_Z4‚:ž»ø÷y}\¡¥oyp·Ë†® Ö1ذ•/dâs™¹hÍoùx]Hžˆl¸ÑÖše§ó¾íެ%[”“ÀOy–°•6Í`þ3e" …§; ÷`%Sž’©·Ï×o@lmû5*o øöªßÁ¿®gí–)†³N:hÓß ­oá^ß• TeDD” )“ÎúgÍÔ]Â¥Lnh ¶íÚšÝìT?…k³f).ÌBžJ!ìÊ÷± B(á4ò¶=kÍCR‚(›ì§dß¶yô§bHœÏcÜzx†b‡}lë²ïu±6¬*7Ø ¬hq±‚‡é`<–-Æ›¦jUa³3íUUš¾l>²mÛݺãÒYðå*Š% ‰¼[z7Áîœs5¢ ³˜PêAI)vnª{\B°=‡®0ÊÆôZvW! ÔQ2Šy6´·Û0C1Ï„nzpQÉ!%qX? b›è?NA×¶=àÞõMYUl£GÈa"¡ªÆJ â„ØL¬Q``6`T×]¬,6·rÄ–‰ŒÖ” Z”tÆÊžåªAÏ@s€‚vÍ5c2 . œPÙ›w—–Àèù‰¿ .‚¡w»ÛÆO¢¡‚Ä‹ÐÅó='G"ÄõO@Û~àÄÇ{eÌÍRi€£ø±ä-?h5ú¯9‘è—ƒ¡TÞÉ@Ài–Þlj¶©eÀ¥fÄј§ý %ÁÀ嘔ô.™_¶ù¡†J7çxÇ~æÞkm!Ž«n<EHþM¡»ÓaàâŽ2¾xxàÂ1a3’¿zrÊñ‘¿ÉñWONñ’`ÑOñêŠy†Ù ºËñf§:X×fí³ý ´î…OLÜb×¶Ã9¿¡¥vÈwg¬VGâhjÇ^–MvŒ|'‚M&º°°œ  Æ›oû.éŠìAd’M‚è›Hî‘üK|"`“¤£Ú·{äx…½ØÚ¶Š%á³HÃq+N²v+cH°vÉ¡È È¡È}å–Èàg4JÈcœÝfèór|D·±ªÍU?ÅNSÎòeqðuÂÐþ#[ÏøÔ_CŽ"ë^àlµfü0}mCij©?D> Í£°R}®8ß{//—  iì\¼!ø1 §ß$&X¶@ñeÁÀ}ø¼­Ñ‹I—º–ƒJ$Øã–dÊcvi‰úPšÜ}µvÆ.z ´ B*y8tÖ¡×æÌ‰Ã„ÙTï~–Y‰÷6o÷`àyYõPõX´Ï¾ôº1Ð-¤ns£E$­º|ÇÙ3•ïØW]Ø$FCˆT)›#¬ Ð@­ºßÑ&%È?¢³¬wƒ]Ô#gf¡0@œÐ ôÞ¾Q ¡Á\¨ç–uçš]{;<ãxe“W‡IrÞAU¡p|â×c)ÎJ¬ýùêøƒô_»S„MÃAD!0¿KêÇi d4ÃÆ¡ —Ô¦4Š º¥RÜëZ’9…vùÊiä8ä"8­N`„«#{ݹ©e@cÓý²­ä$n‚ÅoEÅÿ9-<"íœt(~Ù·¦WÕEQtÚ˜{sD*ÛJ»ÙÀS!¥n³”X›QµnM´ èy«¸Ù©#e›D:ñˆÍÁGñ÷Ýü‚ôpI=ùˆß±aœÉ± ’̨û;5Öôå+jµAˆÙ9l­œ†Y6˜[LjÓBß…‚еŸG)£´}ܰ‹¼/‡ t¢É""ƒâ¹œ(–I_:Hãio<˜GáÈçYêñS'p ‡_8jØçíLBÌáèÀëêÉsíä íP[ß—‹²)Ê¥Œl´ŸËâ *˜Éõ¾mH½´;±5ÍYØUePÓhvýüijPÇ:†üI«.vôz=“!R<²_½Y®² FHú¤ |t_6¾ø€Òm–2¹ŸÂ¦¼J»!!D-¹¼ý:zLáð5cš ãfä%„‹aÑF_/º/Co} ÓŽ'}&f”0æªå ¨“ý¾íq“öA%_W¨wÔaÓÔ ¯Ò1XíúzOŸjx£Q¸IÄe> stream xœ¥XÛrÛF}çWLy ¦Dƒ;’ÚZ¦w•¥E-Ey×%m©FàPD .’Y©ü?zOÏàFʉ³µ¥–8—î9Ý}ú4a–É™EÍg¼½Yì±Yìqôˈ«EÖ|Ä;öv… !}±ÚŒôΛ‘c†[íFQdlõ<º5Îo–óÅÕêw†s7fq]¤÷R”‡ûRVù¾OlÏ2-+0ðO’g%;=2þÏêÇ®Ÿ8>[­G–éùêrãõ_^³;c+Ê-Ý»…ˆ+Y°¤bÏIš²ɪBŠJ®™(™`›B<îdV1‘­Ù£¬àJÅòÍxõÓÈ1-—Ç#Û÷ÍÀ§7ÁÒ­±y;–oz‘mR凥vÙ¦íÚ¶ÞEþøú±É½Ž%¶/ò1÷ð,72ž’5\Hø&Òô ®á–kºQ¨o0LòaÂ?.Ÿ8€Ñ³8›p[­~ÊiÙ†—Ö9öñ(jŽÖÏ´¨¼â®„në”E»!‘de%Åšm…2„@{tÀã¦åQ{ÂiN<·c‹®é;ÍÅF.{ƒ6èD½EOÃPÆb/) ‡ˆÀ! ’ì‘ÿ\¦ˆ GR•lz}~qÁžÆ¶kF¡ç"­qKƶRAf»¡éµ^|k';‘~¯^äx¶ ´ZÄ^ÝÝÙÎ+…ê›e„D5#ruBYÄ}3T»ÞÍÞ7pxn¨ÂŠ}Üm‚oLoš¨ÀwõZÏ´}'hV竆¾Ù €U㉥Yme§”,ËÙZnÆèrÇuZ1¤¹É.6¬Úbƒ®lÍ^ëG›*R<à&ÐÕ¦«²3™Ü¢& Y‘…ªY¹A!Ä"£"ØËb“;¹þ 6¡1åz†ò»X}bç‹ËóÙòòZŸi_ˆlŸ‡TÚÓý>Mb¡‹w'LT¬Jv²d_TdYœgGyÇ‘x÷¯Ÿäà9võ)ì{*¡Œ,¡ª­r†òÉu¹rOÝ„”®Œžë>5=Ó ¼¶ŒKY”t¾Ü#i6‚¼dÀd˜lE’×%Û×Å>/á:%eµ•ŠÂÄÆ¶Ðæ'a-«‚òùyÌ-#¯S: 3&q²Þ³ j&Q5›4f«ùhõÝ­ñ7YUt^?`§|«LŽyãÒgF&RVgUQ—Dc{QT‡†Ü”iÐ[I¨Ó[J]&Ê€Òô¼o€l€’p´•àf*†ÍR•]¤2y¬ù!Rá@®òú”L$Ñ“‰ßl™M&!}ƒÈ†mÈ21dÇ‘>ßç– +j<ôƒ|/žè î¦9ÝqÝ!P¢¿áŒX_CžÕ/)ª„>• °LÒÊ'‰ÖXŽiƒßš¨Ã¿ÈÕ‘ÇûnVÉDz¤>“æ1@-d‰M±ìÈ7ß`­»¼’&»*ð+_è®R¦X}«Ž†† Cú¢m^ê$$'æ:õ({´9d*òëIQ,÷"<ø€ÀköL©H{öÊH œ47É¥›Â0-Avºä®ëx‹þXVHJU-HËî™9r7æˆÉTJìS‘eºÝÒ ËêÝ•žûQî8ƯG.™ÛæçcŠBÞ|ݱLèÛÊ#U# 1Q™ |Š\Ý=$™F_A«a'¸TñŠÖý'Í+Zqèjd®ã˜ïHDjð¶Óv娲 ^{Ð݇:StD†Ê¢µZmU„÷(]¨¨ÜŠÚxN»XIÍ€w&U³Rà@ ?²(ó´ Á¶ªöß¿yCµ¡×ÑŽàÉ`-%ñU qÔÒÚ £ *Ê_ÄæÍ’[ ããmN/7ZmvµlŠ_ Ÿ£5¶{Ð1QÞtçbÅ=˜‘éîY̯µ¸;i/Ð6–},‹|Oõö–†\T¹*›£œÂAN÷éŠþ·ƒVPñÊÝFJH±²¡¹N "ÛÔ…‚ pÝheò@\Ÿ"ÝteßÑuRåùÝØdç a/T¨ñ C¤³×)ÊÀ÷‹ù|1ÖÊ×1þ5_œOÇ 0ËòCcu±¸ì•ï@j{”¨mÉ É5x)@ìµM¯3´œ½»XžÄ+òÌöšÿ'Z.Âîºí&ÈùISÁ”c'Æ(§Ë¯H%%ZÙÑûç„MéÙ~Ð$Â:Ó‹^:iËwNû‡·Ec3¦iú ?fÿž~¸šÏ~Wô('Zö’úÌ3I–TwÆÝø:m$›;ƒÖ0šüŠŒèíÖ8€ô¾³áÜsÆ^5Å,;õüYìö©4QÓ¯ÈFOÚƒ ©×Zþ†'eã·FÐza¨uëïÁ@¢WÏÓlÚãM’Œ·Õy1Ÿ¾½˜C*ƒEÊ -챫ŕ£XùúÃêŠ=“k*VôðübZ—[c9[Ý,/ÙÇ1wPí>7¦ó›ÙI}ôq2–²ª‹f–œÝ/þAu]ÖMë*Ú¯oV÷‹÷÷fËfàÑ3 uú¶`?%c ¨Æ¦Œ|ÀR·†÷Ï$ê#ˆ¨/©å×%-ññ%Vúu+Å TÄÒlDeˆ9¯å5è{[7ºK(-=«Ûët²íe5ÕIzìx(!+^´ç|¨·s$æ ,¸`ZÕÃŽ Œj Ñ Û»¹×ˆ«šæYêì¥T}ý19’„!•³IÐα Íú™†cçv;…i‰ "?¹Û¥W9înñЧðD‚œë槺ÆY÷ËA–cv•º·«–t<ÐkIâ é iž¤'qò „ý®‡}¥6_ðhdìº$å“]=DÒ¢!ýêäÆCÛŒŽ'·›Î¯ýÖ“šhùåãlùvq}ÂqÜ­R>ž_DÁÿ–ð1@C؃Iö%eÛ·Åÿg?Þ/–o/Þ¡ÙݼxØ¥ã¬?uaÓÅ,tãþGme9»þû=&ãËÙùêÄ ÈÑ þÈÌ0-nOò£I rBj(¢ÁˆûÍ›"—ïºñÃOê'§å—¨'GÔ.@±î`ÎM›ßµÀÔÀd<Áð¹¦gð€ýXg̶¸«œv»^ìÑ}³ÕèŸøû/¾ÈcŠendstream endobj 30 0 obj 2265 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 18 0 obj <> /Contents 19 0 R >> endobj 23 0 obj <> /Contents 24 0 R >> endobj 28 0 obj <> /Contents 29 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R 18 0 R 23 0 R 28 0 R ] /Count 5 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 26 0 obj <> endobj 27 0 obj <> endobj 31 0 obj <> endobj 32 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 33 0 obj <> endobj 34 0 obj <>stream 2016-01-27T08:26:32+01:00 2016-01-27T08:26:32+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 35 0000000000 65535 f 0000012736 00000 n 0000014918 00000 n 0000012649 00000 n 0000011841 00000 n 0000000015 00000 n 0000002372 00000 n 0000012801 00000 n 0000013337 00000 n 0000013272 00000 n 0000013204 00000 n 0000012842 00000 n 0000012872 00000 n 0000012001 00000 n 0000002392 00000 n 0000004673 00000 n 0000012922 00000 n 0000012952 00000 n 0000012163 00000 n 0000004694 00000 n 0000007187 00000 n 0000012982 00000 n 0000013012 00000 n 0000012325 00000 n 0000007208 00000 n 0000009462 00000 n 0000013053 00000 n 0000013083 00000 n 0000012487 00000 n 0000009483 00000 n 0000011820 00000 n 0000013124 00000 n 0000013154 00000 n 0000013419 00000 n 0000013495 00000 n trailer << /Size 35 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 15072 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.pdf0000644000175000017500000000777312652070436020021 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Vín£8ýŸ§°´`Ô¸¶ÁvW+eZ*e& Ù„ÌlÕ®"JhËŠ@H«¾Ã¼Ê¾ã^Û|%íÌ*RÓÀý:÷œ{íoˆ`Šˆü4ßñnt¾è±ô8ú6¢ê%j¾âú‚+„#íC‘`Hxv=îF·ÆÅz9 áfîÝ\N—þEhR=×vŒ`iþ~Q&0×p;3Ì8 _Àïf³ð—׫;ú3Q|(³MU¯›*©‹}mŽ'˜aÀ´È+ôN› ‚¹§ƒßʄDŽBîaxe9&˜Q¨9H@—¨Æ–çb⡱åÈÆ|b†ÿ@?ÀŽrm騯µ/Ÿ÷Ý`ÛD 1eò5ј~Ô Ë~§4ô/Ú'å.­*ð¡(Q™ìŠ:É^Q\&QlÑ6-“¸.Ê4©ˆ“ÒÈï`W¸º™‹Õtu\¦2Q%¿¤yœ¶ ú]vû\þÁOHsf£p6 ?hq6§„Ü©WèÃS”o³äì=:$RÏbï =Sµ;¼+%+òG´ƒ*£]R'¥t²@¶rt±M½FSÆYÜëA¦¶¼>¨¥Y/ò:Jó¢ÖO z6™ ”3ψ²C‚ŠõtÈtýÕè%Í2tŸ@!Uú˜ÕuòDûn¼ô"Ðê¥Ê¢ZÁaæ¸ Ó@"¨ÈU2-#T%å³,žR —5€4Z®ýã‘Sáµ/qØ£….mG Ân“Óƒò„l‡¬–PhÂl 5m5JIÃŒp kbDp®ä†…Î=œ¦¶Ý÷Ãv°ÓÏ5ŠòÖYM1€r-ÑÒôúÜû1Ì©G[š˜4—4EYºmÙáMÉq”KU²Åæ˜3ÇÀ90°/‹±n?æÎñ¼uYçŒaàG Ò*-ë®”(¼)¶z¨÷¿žŸŸ, [°‹Ú>œøóÖ5n=åI™¢² 0œÛÍ‹|{Zk·³ñ=KÞÖE1¥¤ÈÛqe–À–8šØ«fR¹­x†]éQ»•Ád­ÞR¹Þ›5Ë ßÎzö5È¡BXü;-ýd!.–M¶¥ª 6ä¬;ˆWÂ0‚]N`A§]úÁìdŸBÙÔѲº : [ŽKZ¨g«¡š¹Ó¶QËçbšÞ¢«éÌ Åq1³Á¾Çãÿ5¹^hSÙ÷‡K0 †CL[r/ƒ¦ïÜu߃¶'-»l’½3'_P$“§­¦³ÉÇélÞ÷µlÈq4+“í–\š#!‡ýsîn¥®—sôŤÌ«CÉlí7ëå-d°OêCÙ\üMð¥zïêë¬&Töû¢„}z¦º® ×óÏóÀ´¸ñu¾ Ô#ó¢Æÿ{Üú>šÌVAä„…á ))ÖGáI§lwÝTW•³ãxÎéTÓß/Ö‹Y`Úê‚d“Ë“¾x4Üm’>ì˜y6¶åUÇ•êˆYz/z$GsL9#nÀMéÓ!G ŽqÝîf‚ÊP~8ú>ÿý½‡Gendstream endobj 6 0 obj 1185 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:22+01:00 2016-01-27T08:26:22+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000001509 00000 n 0000003464 00000 n 0000001450 00000 n 0000001290 00000 n 0000000015 00000 n 0000001270 00000 n 0000001574 00000 n 0000001900 00000 n 0000001835 00000 n 0000001695 00000 n 0000001615 00000 n 0000001645 00000 n 0000001779 00000 n 0000001982 00000 n 0000002041 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [<5DAD1CEEA3335C0B69487E2009CDE48C><5DAD1CEEA3335C0B69487E2009CDE48C>] >> startxref 3618 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.30000644000175000017500000000403412626067776016211 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLCERTTYPE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLCERTTYPE \- specify type of the client SSL certificate .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLCERTTYPE, char *type); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. The string should be the format of your certificate. Supported formats are "PEM" and "DER", except with Secure Transport. OpenSSL (versions 0.9.3 and later) and Secure Transport (on iOS 5 or later, or OS X 10.7 or later) also support "P12" for PKCS#12-encoded files. .SH DEFAULT "PEM" .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY If built TLS enabled. Added in 7.9.3 .SH RETURN VALUE Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSLCERT "(3), " CURLOPT_SSLKEY "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.30000644000175000017500000000372212626067776016637 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_TRANSPORT 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_TRANSPORT \- set RTSP Transport: header .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_TRANSPORT, char *transport); .SH DESCRIPTION Pass a char * to tell libcurl what to pass for the Transport: header for this RTSP session. This is mainly a convenience method to avoid needing to set a custom Transport: header for every SETUP request. The application must set a Transport: header before issuing a SETUP request. .SH DEFAULT NULL .SH PROTOCOLS RTSP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_RTSP_REQUEST "(3), " CURLOPT_RTSP_SESSION_ID "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.pdf0000644000175000017500000000765312652070446016664 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVÛnÛF}×W Ò‡. iÅåmÉôÅaÅŒ¤J´ÛÀ.ZZÙl(Ré¸FOê?vv¹ÔÝMR°dîr朙3g÷˜”)?ú{¶luÇîÊ– w­-¦AÍ–ð*Æ ¾|/Zõ; ¸<°©@¼l9>uñÇcëšœ_Ž£á(žÆç£éEŽú¯£ð†Ø7ÌÖÙT$åÓ´U±ªŒŽåšÔ49ÁÒ"/áÙw?ã7­ŽI-†Yfˆ&@44p% Ûƒ8j‘AÏø à*sŒ ãy‹¼ ø¯ø–I“C‡YrÙ|3üð¼7ø®í!V$K8ÌUùŸzVϤ¶ I> HeâC]/ôŽ:å<P¥KSE°I’V*ð»ŽåYw˜G}Åhòn0Mú“}^X͉|—æ³ìa.àGYñ®üCï–Û-G•JÒ¸á°#7j Îî“ñµOö£ Y‘ßÁ\dÉÓñ}¯Ò`}NÎÇýQÜdþMÉNâ%›ŠÔwër1j;ž*iYB¢rS˜ˆª„ê^Ô%`¦Žå›ÔcM‰B(w HeˆÝ¬£žgêž]“vjØ>6É·I^ª(¸Ë÷,¦ã‰Y‘ÏË6æM*™Š•X'UŠÅ(ŸÊJ,á1Í2ì'¦džOyàm)¸ŠvïSÙz|ãåb&•i )V\ÕÈ6-Ê}ÿ@¢·bQ¬J2ŸËŒïQ5RGb ð‡o²#5®¶jô0|à﨑¬‹[QR$HáX åÃjU¬%mDZO+­‹¿ÛzæX4à{íÿU·Ýu|UQÜËœ¦¢½KµÊ¤üõàZžÍõjo o'yrÎmg£š_ŽqìIp4ÖÛ×Ãhy\·¾cQ³6.2Œa¸IhÙ”›^ã!çÃè`Ús€ ¶(zYöá½·£(|njëFÔã'Ç~Ú™Î4Oq6å´ImYjˆÓÅ ‘;ÐX?áºM kr<ÕòÉvšñ« /î«jõ²ÛV]ÙÏßÉr• :+–/d&©ªÚ/â³kÒ=‘'·¨ÜÚÏ:iˆÃQ:¡ÁÅVƒ.elÏI±®ÕU­“¼\ˆ5œuku˜¨×¯'×X•`kMÏ'½¨…¦Å¢†”¦#ͽæÁÜà4×¥Üý&_ßÚzU³LÌ¢\£!Ã1ŽäÝÈækÙÔÆ‹#-M"Í+±þhXžO#IV'¿Õ£ù—úÄl=çXÅKðލ1‡Sßþvfƒø åèm˜í¼‰6„¦·lt.ÏšÎFçä³6×÷î{£×Q,%øÞô¶3ާ…Ë´~Ô{Õúñ»ýE¡ÚΓÞ|.æX{àÔÂáùïÁ¿&ã0¾àÊ`6öÉc(ÉËPŸôÇF€ûEõ°Ö·¡p:¼€t¡Ï›æ¬Ðv,æmÀ“Zo¼\ †^R~L‡êÈ•/æEEOÜ*ö¬i†Ð‹&Ã-‘CHGÓÅmŒ×ÓuÀ…Ù]U×U]ßÚû‘1ñöô=¾|IEt#òà(bǶ8EAX¸ìÕ@³ôV¹'§„Ña®à”¼A½yÈÁ2™£Ð:sg2R·~ÃÏ¿¿ùØëendstream endobj 6 0 obj 1197 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:30+01:00 2016-01-27T08:26:30+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001521 00000 n 0000003404 00000 n 0000001462 00000 n 0000001302 00000 n 0000000015 00000 n 0000001282 00000 n 0000001586 00000 n 0000001840 00000 n 0000001775 00000 n 0000001707 00000 n 0000001627 00000 n 0000001657 00000 n 0000001922 00000 n 0000001981 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<84DF3B51CCC6CA3E5C0E6F8FA1BA7E04><84DF3B51CCC6CA3E5C0E6F8FA1BA7E04>] >> startxref 3558 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.pdf0000644000175000017500000000742012652070446017033 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VínâFýÏS\mÔŽ`˜Œ½ÛVb³®ÄÆ œ´«P!†Ä]c³ØI­ö‘ú޽cùi’ „çÎsî=÷Œ¿% ¨úèßùªÕ ¸.Z®[_[¬Zý3_Áû<õ Z¶ê= á[Äó!ZµlF,Ñ}ëÒ8=‡ÃQ4‹NG³³ õÑE85¬© óÛM:“qñ0+d™¯K³ÃJ(þIò¬€ÿÞlþ}lu(á œ#ñßQ,¢°e zæHW™CßB˜Ñ¢e| Ìè¯=œ› è0®–é3¨á@ €Ïà‹éßç®gH¹îÄiÒàaŽ:S‡xv} %–ÊiÜIHÔÉ5"›8®ï×—FVÊÍÉ#N«Dt°*.±"t‰WQ˜| G“þäÒÞ'aüdóôv!á'Uè®ú"7¿¨=ÜVŠNjžóc÷bZ-ÁÉMœ-RÙ~ºmHóì’>öÎ÷ÃÔ|÷ _CáC09÷GQ8Pˆ¶•{ŠŽ1Š·…ó‰çÔUc„ÙNÝ­¢€¸‚B`"ËÊyJXª°ó<[m ‰Ë*._ËM\&H£x(J¹‚û$MáÞdT³IJ¸’å½”jw¶P‘_*v–çÞ¨ e T°O…[ĵ(ÓwrË¡csN;ìÖz“_É‚À /!FqPÜ®×ùF¡N ¨'„ÀÔè-r¡¸ ¢ÈâhTªx¦ò¿j˜ŽíÕb%>³œ½ój•©²éÙá.s½F;–K˜b×¥±Îk[žÖ8wѪN¨ãWL‡ ·Y°H‚ºMO‡a%êŽ%ˆ/,{›;ø£÷iÏ ¾V¬R2ü¼'è$KPÎJ“¸[Å£7$Ë©¡"Ð…¾¡K8M¢KãxÔ“ÝàOÞÜ”åúm·+M¦õõw¼Z§’ÌóÕ›Fý»)란Ìâ«Tj勤…›žôŸÇkd³gËy8„±ÆŽ'ÊÔ²ñ€æÐ^ÚØcmäºùÆýÎÝBrÝű•9‚Øn¥P_Øã :àÂd6Ôe¨Üó@_BÇ~ñ²¼Ýè7Œ`6<ƒd©¯å«líV.Ú€w <œ †¦å¿fÃêöR³¼$/]x“ €^8î(=†t4„ÂÂc¢ÂG\:$Õ7¡Q½µ3ãÁî®”O Å£nYx!ˆ£„ {ͱ‰\0¢¦ÉUe²‚(f‡9Žãlà«ØÇÛ 8ev…ÖÞú:S©‚¨õ~þmŸ²Iendstream endobj 6 0 obj 1141 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:30+01:00 2016-01-27T08:26:30+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001465 00000 n 0000003269 00000 n 0000001406 00000 n 0000001246 00000 n 0000000015 00000 n 0000001226 00000 n 0000001530 00000 n 0000001705 00000 n 0000001640 00000 n 0000001571 00000 n 0000001601 00000 n 0000001787 00000 n 0000001846 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3423 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FTPPORT.pdf0000644000175000017500000001116512652070431016115 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXëŽâFþÏS”´?ºˆšW•¯½ÑJZ"aÒm&;¢#d gŒMl3ò y•}Ç=§Ê7hF‰ZìªúÎí;—ê߉Å8±ð¯ú^í{ïž<²-zÙö~ïq½Hª¯ÕžüÂ_„›ž9É'ˆHæ$Ü÷èûÙÓx2 át:yꇿõ|—¹2ðao¸îys8 _{s¾PùÒ'«cž,TTœ…*³CÙ;`ïPxˆ³´ ¿†?ö¤+™È E ,&8è±5P“j:°Xd ]}àñ7[¸;€#+ C|ßZ(,f[p¡—ßš&˜ƒ gÒðû^ØÌ‘¯V¢/C“pÆ®–ÔC«nÐo-t §¤Ì£´Ø¨œD«2® åÅ嬆øªˆsë…;8˜á2_ï|þü8™>žÏ­çÔ–þ+NWÉq­È÷wøÁvÿÑÊÛ$W¬2Øp½½D¾ÛEé:Q·—±»AÍ=[»ÆãÌrî`„ol½%«Ö6ó¹%º¾ØE9ù®8¨ÕKÿßFû®¡Rpæ{C? Ÿß?¦áhòx浫FO£FrÀ|§ÖÌZrQˆ²8-! eª<#ð´Ó¨TkR”yœnITC”G{Kh3Ä{MÒ3¨sÊF}› ZšÎ†+à™–E`cü—*H¹‹JøPä¡Ëƒ×8IÈR‘}´ÖQ`xÐÚò†'àKî7àªLø ““èi¡ÛsHLÛ ‚3”†Îšm9“­dã£Zýc~gn•±q4%Ñz+p6¼…U²ÉòÆúó¤Ã*!›C^ Q9®°Ž0m‰tlÈé€ È`0 ¸‰oB*²E‡Lz@@Á¯ÈLÖÄœwd’¤Ð çjŸ•Š*ÿÚ‡"cY¦†9«,MժğÙ1'…‰ôºc<#¨Mŧ}tBWEš(3ç:™…Ñß6™3§‡$ŠÓÈ-Pt—%I‹øªòµ•5ð—fù¢¹¼Ñ¸Ü÷Y`Õ,PO;%Z)}œ¼ÐcºõgiüÔlÊoG€ŽÈÍà†§ý2KО¤Šc/ó(?i×еÆC{ÒÖŸŠRío:qu=¬áu`‹õõÀΩÚô!ó-Ë“4:&å™û>\."}²ƒÊ#ÓQ¢\A’ElœZÓ[X‚‰ÀîÛn¥°Û*TÀ´9äU‹ç68:½ÑB* ‡³ MòòØZÊo:Eѱ­—sÛ !kNdÀ™#:œ¶»j±‹:¡VQŠ<ÚdI’õ¡/\ú ¼[ž0Žw7@MÆÍI—º¼¼%¦G ”sP›â;L:¢!‹ã蘶Xƒ+XJ×V™$¬c Ö 6š?ú@“qA¬[ý¾ !d…á)$‡xõ¤lreN²þÀq bx‘‘Œ(‡<ës´Üáôk¼h¬sBÀ±Â$ƒÀó´VT§³Æ@Þ¤ðÞ42aº¿„þ#jÖt©Á;œ‰“h‰ R{¦ÑÎÆcövpÑñí³Qô¡RÆÁŽ­Ç½;¹±ä~fš%ö¬ê^"Üz\¤ã°3Ú×£+ÚåyžlÒ’¢.W¦b·£Æ´n*¶ô«¹P¸^唟ÚìIH&­[$ó,·¾%½ŸŒ/n vz´Š@)û=†ÿ½ÿ8ëøøßœÊÃV  ¯)ñaRùËñý+÷½w6ÒЭU±üDÚ»DÀux]eGãûFãQøùÜ6„´ýËüž6ǃ®QØò) ÿõسRâ10G§ð·1§OÃpöôH>õ¹„Öärz?ž «Soýá┯UxRå1¯nÇÃÅä'oª©© $­4SëÛjÓìñ§ÇIÅ– ¿<.&új„'¡«A·Ïµ\ZAÎÂÅäañqøQ_Üšl÷™hjâç*¶E7eçƒåàìÖ6§;=Á ŸÂõÑKqZ7f ýk«´$; ²ÁÔÉ®¸{85t¯±Ã!¹?OZªûjÞ½±/fÏÃÅè/#3¼ð1~S®ô?nÏqA¬ëÖv]A~þtAá1/x8–sšõLàÁ‘Yý‡ñÅfåùñ˜ƒ¤VÖnr#Ô0ìý ÿÄì•&endstream endobj 6 0 obj 2003 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:17+01:00 2016-01-27T08:26:17+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000002327 00000 n 0000004138 00000 n 0000002268 00000 n 0000002108 00000 n 0000000015 00000 n 0000002088 00000 n 0000002392 00000 n 0000002567 00000 n 0000002502 00000 n 0000002433 00000 n 0000002463 00000 n 0000002649 00000 n 0000002715 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4292 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.html0000644000175000017500000000462012652070415017103 00000000000000 CURLOPT_TRANSFERTEXT man page

NAME

CURLOPT_TRANSFERTEXT - request a text based transfer for FTP

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFERTEXT, long text);

DESCRIPTION

A parameter set to 1 tells the library to use ASCII mode for FTP transfers, instead of the default binary transfer. For win32 systems it does not set the stdout to binary mode. This option can be usable when transferring text data between systems with different views on certain characters, such as newlines or similar.

libcurl does not do a complete ASCII conversion when doing ASCII transfers over FTP. This is a known limitation/flaw that nobody has rectified. libcurl simply sets the mode to ASCII and performs a standard transfer.

DEFAULT

0, disabled

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Along with FTP

RETURN VALUE

Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_CRLF

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.html0000644000175000017500000000723312652070415017175 00000000000000 CURLOPT_IOCTLFUNCTION man page

NAME

CURLOPT_IOCTLFUNCTION - callback for I/O operations

SYNOPSIS

#include <curl/curl.h>
 
typedef enum {
  CURLIOE_OK,            /* I/O operation successful */
  CURLIOE_UNKNOWNCMD,    /* command was unknown to callback */
  CURLIOE_FAILRESTART,   /* failed to restart the read */
  CURLIOE_LAST           /* never use */
} curlioerr;
 
typedef enum  {
  CURLIOCMD_NOP,         /* no operation */
  CURLIOCMD_RESTARTREAD, /* restart the read stream from start */
  CURLIOCMD_LAST         /* never use */
} curliocmd;
 
curlioerr ioctl_callback(CURL *handle, int cmd, void *clientp);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IOCTLFUNCTION, ioctl_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

This callback function gets called by libcurl when something special I/O-related needs to be done that the library can't do by itself. For now, rewinding the read data stream is the only action it can request. The rewinding of the read data stream may be necessary when doing a HTTP PUT or POST with a multi-pass authentication method.

The callback MUST return CURLIOE_UNKNOWNCMD if the input cmd is not CURLIOCMD_RESTARTREAD.

The clientp argument to the callback is set with the CURLOPT_IOCTLDATA option.

This option is deprecated! Do not use it. Use CURLOPT_SEEKFUNCTION instead to provide seeking! If CURLOPT_SEEKFUNCTION is set, this parameter will be ignored when seeking.

DEFAULT

By default, this parameter is set to NULL. Not used.

PROTOCOLS

Used with HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.12.3

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_IOCTLDATA, CURLOPT_SEEKFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTFIELDS.html0000644000175000017500000001111612652070415016624 00000000000000 CURLOPT_POSTFIELDS man page

NAME

CURLOPT_POSTFIELDS - specify data to POST to server

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDS, char *postdata);

DESCRIPTION

Pass a char * as parameter, pointing to the full data to send in a HTTP POST operation. You must make sure that the data is formatted the way you want the server to receive it. libcurl will not convert or encode it for you in any way. For example, the web server may assume that this data is url-encoded.

The data pointed to is NOT copied by the library: as a consequence, it must be preserved by the calling application until the associated transfer finishes. This behaviour can be changed (so libcurl does copy the data) by setting the CURLOPT_COPYPOSTFIELDS option.

This POST is a normal application/x-www-form-urlencoded kind (and libcurl will set that Content-Type by default when this option is used), which is commonly used by HTML forms. Change Content-Type with CURLOPT_HTTPHEADER.

Using CURLOPT_POSTFIELDS implies CURLOPT_POST.

You can use curl_easy_escape(3) to url-encode your data, if necessary. It returns a pointer to an encoded string that can be passed as postdata.

If you want to do a zero-byte POST, you need to set CURLOPT_POSTFIELDSIZE explicitly to zero, as simply setting CURLOPT_POSTFIELDS to NULL or "" just effectively disables the sending of the specified string. libcurl will instead assume that you'll send the POST data using the read callback!

Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with CURLOPT_HTTPHEADER as usual.

To make multipart/formdata posts (aka RFC 2388-posts), check out the CURLOPT_HTTPPOST option combined with curl_formadd(3).

DEFAULT

NULL

PROTOCOLS

HTTP

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  const char *data = "data to send";
 
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* size of the POST data */
  curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 12L);
 
  /* pass in a pointer to the data - libcurl will not copy */
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_POSTFIELDSIZE, CURLOPT_READFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.pdf0000644000175000017500000001151312652070434017563 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXÿŽ£ÈþßOÑRN >ûhP¢Hss^Éw>{Öf69íD# =c²¼€×ç{†}•¼cªºiÀ?6‰f5ì@ÓUõÕW_U󙨔Úk²ý°òÉ[=²ÉÛè󈩇¤½$;òc ¼½Žô;ŒøñCNƒD»‘õð´š/£—Ù"š®æÓûqô¯QP;X¥£€:°ò8úh}˜¾{Z™0Û:”+Ç÷¨Í¼?äß$‰ó|'ŸÈë¡H0"òZVd5¶­IV4²Êe¬¢¯™‡ÎpæÂN­3_$:ãPõ$¤ ê¶Ò´÷è»qk÷Ï"÷ ¿qÑú·Åòq=[Ÿ ¸´AZÊŠ$?¤’üsôþ¢Û¿)W\ÍGVý!_š>‚?÷þ{, ϰ¯Üÿh½tž­/cǶÊ,%ßï›JçXGìûÔå†HÖ]ÝíÐ`…v}º#­gÅNî6w†øÊ$àÔ瀈 òK9pÍØ@'µ¬RòyüµxÁÉ#OÛÔ'%`sIßgõˆ|¿‹4OnpÄUìî9r§‚½O Úq¨R¿+§o":Tû}ÎæÚP”ü4]?¬fèÆ™µ›„xŒ‡Xy&‡uMb²/•פ)É©k’2'‡Ð~¶$}£ã‰pà¥Y¸ÕJmÃ8£!32=ª8\gíÅÐtùÅ,€Š1" ¼w¹BD6ÏcJ0ÉÇ*kd­Xx³æ˜ Òã9—2Œ]eb{&Ä®i$2N!> ÏQæŠUÚ˜ÖT¥¦‡!ÇDIòµª`cK¡¸rã”b‡àŠñ騗$cP!mNu‹ §Œõ‹r¯íÃqAî׳IË<+Ì·BÜ@ó¯ð'Ô%f×ÖQ—I¬ò«,)µ82ÛÌ5eÂ7è­Þ=8Üd-µH@Í2ç¼Q2Û¦"ìØåƒ »0™;¬Œ¬€ÿ‚Êáëðo[ê2vpzãg yŽƒ2Ôó…Ó1üŒ˜®K}WtcAV¼µø¹jØ1°‘Û Tãĵ|¶SMMÉì úLð¢¾xšÏïT·#Ç ˜ íQQ9•¯c@Ƕ}nŇ¼Ñ5Õ Õ2’ÚQ¶f·ª;ùE‡s¨°oUÛ0N…ÏM˜íÙÛ—µDß)ŠæÈ%Y«bC¿“<º’x¿Ï³De‰’5Ô¥Žªn*ïtyB ÔÛ¸°Õ#e™ F]£á0Åuið}Þ ª'”ÊY(’ˆ\ Ù6C9lG˜Ïa˜7¾d­}eı5LÀÍZuVœ€Òj²À_oU=½‡Ànhz,Jlf8š¤mf´Cχ,ù”Ÿ4ôíäÁä¦/Ȉç™î©ºá6µü|@l+Yïa~W>‘uîâÙÈ“r(ãº,â D‘Jl©‘ŽTê•$‡d¶Ý¸l{a¯cm—Ãtª÷€¥—uñòŽG8½¬ «éû—Õôa:ûp1ø3‡Aç0¥3H“J‘ëÙÁq ö\x@‹€@jè©q…Sg•L1M*"ì^¡eºM5Wᨦ€;]‘àbmRâ ÖÚ¹3 ôÒºzp¤½ˆá§3z©O4wçÛƒuÑÍ®½…Õ˜«™ÏÅ úü¾Ÿ¦ëèÒœ |÷Ê~|ÒNïoyp¤‡³ÖxÂ> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:20+01:00 2016-01-27T08:26:20+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002442 00000 n 0000004332 00000 n 0000002383 00000 n 0000002223 00000 n 0000000015 00000 n 0000002203 00000 n 0000002507 00000 n 0000002761 00000 n 0000002696 00000 n 0000002628 00000 n 0000002548 00000 n 0000002578 00000 n 0000002843 00000 n 0000002909 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<38D607582EEB01760A220158B874CA9F><38D607582EEB01760A220158B874CA9F>] >> startxref 4486 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.html0000644000175000017500000000635112652070415017530 00000000000000 CURLOPT_INFILESIZE_LARGE man page

NAME

CURLOPT_INFILESIZE_LARGE - set size of the input file to send off

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INFILESIZE_LARGE,
                          curl_off_t filesize);

DESCRIPTION

When uploading a file to a remote site, filesize should be used to tell libcurl what the expected size of the input file is. This value must be passed as a curl_off_t.

For uploading using SCP, this option or CURLOPT_INFILESIZE is mandatory.

To unset this value again, set it to -1.

When sending emails using SMTP, this command can be used to specify the optional SIZE parameter for the MAIL FROM command.

This option does not limit how much data libcurl will actually send, as that is controlled entirely by what the read callback returns, but telling one value and sending a different amount may lead to errors.

DEFAULT

Unset

PROTOCOLS

Many

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_off_t uploadsize = FILE_SIZE;
 
  curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/destination.tar.gz");
 
  curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
 
  curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, uploadsize);
 
  curl_easy_perform(curl);
}

AVAILABILITY

SMTP support added in 7.23.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_INFILESIZE, CURLOPT_UPLOAD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.pdf0000644000175000017500000001201112652070426020637 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXÛrÛF}çWL9]ä3Àà’ÝÚ*Z¦*Œ)B!!e]Ö "A`p‘Vù†üÊþãvÏàJQRmJ¶erÓݧ»OŸÁïD§ŒèøSýÞ?,mòtò0ø}Àä"©~mä“üÂß Ô3ŒØœØ®A—ø‡Á7íâf9÷®ýõ…·¸]ûCæP]·Í[/¦þ¯C¦kÞòËúòfqáϼÅfÜ ‡ÿò0Ǥ&‡ýí@Û”Y¼ƒüy‡Ez,üÒ$úÿX°Ïpµó/›ë”3ðx¹uÆ4æ¦C‹Œ K:²˜ I÷1A…kT^Mñû ®SS·É˜ñ¿àù/Ù¤Iíhœ2«²ö6^¸”;®cÖÑgÙE@Š”$añ'S™––f¿‘]–È>Í &›t%ÒÄI¼¶MMŽ[Ô‘¶V_Þõj¶êÇpT±ißEÉ&.·!ù;féü‡îÿÛ¹IüùÀÿ¨Â“¡ŒËDŸ„«=®7Aß›ßî´Í>ÈÈÇc‘I—8•13ÓlcåMÌ‘6f-ú#\$“‡b7üî3aP¢@jø•ý“Bº“Käã>H¶q8"gòÄ{%O#é¬%Ú4¿xõi¦³ÌŸ§«‹åì•Ôy? ùuÐÉ¿#êäç9 È1’"̰žÓ2#µdW&lšyÚG›=É÷ioÉ!(àC±É1K‹´x>†¸4äB{JHpŸöëÐ0L*Þ«CÊ È‚]'€>òŸÚäxŒ£0—5š&ãÉêb6#Ç8(vivÈ©*4¦×¬]½)p™ÀÇ0ºÔu¹åh9„´Ž’]Úör‹™#¨!¬ºIŸ¢8&YX”Y"Æd¯o§Ë€.3Nva«!¹ ‡>æ î:º0‡‰vpB”WýÜ©–Öm˜ñµáúMSC¢‹&P_0ËÒŒ´#È¥ª(qöÔܧæ’@–ÝÈoé!uhwØž0;ç¯YåEFMh÷=6–âô¬ÈÏè#¬mì )¥pàèÜRJn«ÉÈMÔÝV¼¨ç’™#\aZU«9)sói&P‡è˜&QÓP¶dƒ(‘)û±¹tX/´*¹§£¢“S Òm59íD„#"¢u,¢ÙÜR#{¶C1Apò­¢èHÅÍ|>Bÿ·iò½rɶäX`0Z˜];UäT˜†ÍX nÙ*8]Á ü‰ãQEJÌUƒµŒâb TG÷Ø$ªurkΰਚUw- 3ª»ÍB¥…r"5”7f£R-€kwfW~?M†ÌÚít=“rABè˜ÌÀòOR RÕ¶2«µOÊAh7^ÇÊ\W ÝAcèºëÈàFÐ[[8ªy{B8/Ì‹à>Žò}¸¹Àù ¾ÁýÈ]í uñ>íœSH¡,§¿|®º™Mb…Òþ ,PÜ ¥§Õ·p hÜ©¿ö.×?y+ŸHšâ\ª!µŸžhM »æËË´Sé@f;²6ZX`ˆ®ZøOp8Æá*­®N…Y—¶ö´ø–fŸ®@¤›ö%iÓRÊEçTJu¬Æðã¦[wnçzŠC¡SÀðm¸“…$Ä Œ‹çÈo‘s°0nüKG˜À,ÅÄ•Æ1 vUFOù F¸=Á|uZÒ}3fI¼5#ñBü+Ïq„;fäy˜ì×O¸ô–kôn8¶…¼iàãØQÏŽeFů½Œ²nâʧ®z´Û„+ •ê8? ÞSŒZ–2GxsUr‘"©æÃ^}Á½ª~è9x-™@ÐÛh7ä•ìU$é:Q7¯ü9/Â=wɆ;"nïúwYE#PÓb?S·Õ„“u­Å)Y½{à–QO¿y«5Û‰Àض Ú´¾5"G+ùÐõE^+k7®—•¦áTà/W}ÉÓ…$.Íó‰×ØäpËÓ)qáÍOÞ€Û.øÑ:ré_w±¶º™­º½,¬¦É¯ú¹ø–¢zdÖt†ÑªÔ«I÷Þ;ntýŠïÚx ãÀ®N¨é?'W×ói]ΫWu¿Å îµTÓ>{UB…ã¼|édº¸³±†yWטÉ-i_@A@VKù³ùäÓl>ó¿V>Ùæ‰ÞC•é4ÂÎäê^:y$Ôjh¬’*1Œª:~†Fi±‘ Ü@eÑUéëÏÞt%'†ºW¯jˆN¼1­ûë)èó@'ù¶Ûz†Ó¶ÞÙA[K49V™ú$ÇêÙ&´\À Êß´åÔ¿Y.ÈíP¾s°˜6™ßLOtg›ZØ/eNêÛIÅ#—yy<¦x]Ss]m¼Y|YxC`õ_kO¾ñÁA>œó²×ž«é”Læ+¯Ÿ„®K=]}¹r9ALÍ»zAð¯*kC´u*_ªŒúö@Îö¯g…<i¢–É–A¶-ª÷\³¢›øÖîØª*b :ÛRFëŒåÛTŽ™®I…Æ\òs™ÐB¦4j6¬Äð¨©?ø~þRYÛLendstream endobj 6 0 obj 2308 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:14+01:00 2016-01-27T08:26:14+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002632 00000 n 0000004522 00000 n 0000002573 00000 n 0000002413 00000 n 0000000015 00000 n 0000002393 00000 n 0000002697 00000 n 0000002951 00000 n 0000002886 00000 n 0000002818 00000 n 0000002738 00000 n 0000002768 00000 n 0000003033 00000 n 0000003099 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<1EC3671C6CABB361994F34508AAFE603><1EC3671C6CABB361994F34508AAFE603>] >> startxref 4676 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.html0000644000175000017500000000537212652070415017651 00000000000000 CURLOPT_TRANSFER_ENCODING man page

NAME

CURLOPT_TRANSFER_ENCODING - ask for HTTP Transfer Encoding

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFER_ENCODING, long enable);

DESCRIPTION

Pass a long set to 1 to enable or 0 to disable.

Adds a request for compressed Transfer Encoding in the outgoing HTTP request. If the server supports this and so desires, it can respond with the HTTP response sent using a compressed Transfer-Encoding that will be automatically uncompressed by libcurl on reception.

Transfer-Encoding differs slightly from the Content-Encoding you ask for with CURLOPT_ACCEPT_ENCODING in that a Transfer-Encoding is strictly meant to be for the transfer and thus MUST be decoded before the data arrives in the client. Traditionally, Transfer-Encoding has been much less used and supported by both HTTP clients and HTTP servers.

DEFAULT

0

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.21.6

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_ACCEPT_ENCODING, CURLOPT_HTTP_TRANSFER_DECODING

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.pdf0000644000175000017500000001031112652070444017616 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VoÛ6ýߟâ (ÕÙ IýƆn¦ n˳ånA2Š,ÇjlÉ•äùý*ûŽ;R²l%Y‹1bïÞ½{ä`”“?Íg¼íOm¸/{ î{_z\-Bóoá]ˆŽü"\õê=l¶«SÇ…pÛã儽r1ŸúÁ$\Ìfï“ù;t±øè]_Ž|ï–è·Äûb³H¢òiQ&U¾«´0eÌ&øOšg%ü ƒöOø¡7`Tp<:Fd."£®)Áé„~Œ‡Ú,W¹IMWGÀá²G®<-ü|RŠ`Ô`6 ¸ËLâÿ|ø1ìöw›4†™ QpS#¸ ¶]è®2%OðMÕ8lª›ÍºZÝ$°Ê Àc ÚWëØI%aY ¸E…~v=&³Ñ¬[VÜà'?¥Y¼Ù/øMr|.ÿÐõï2\ŠY[œcÀóܪ%x»Ž²å&é§}$Ö2Û#ãuTÀÛo›$‹¶É­öëË28ã'5üáÍ.¦£I8 Æþ^­gµô¹ÔiØ3©ÐmÅ`YB5ØåiV¥Ù=T9D5΂ե8ÝF Ö.‰§GA×!²/Où¾x½ÕŽN±¦Clò$mjKP¸H-ÝuŒzñ†Ð‘fÛ:µAV™Ò­ªF¸f´Qyû2Yöa“ÞÉÎÀ2Yi.ufØ$ÚoªËR»kj¯:³¨ëò–¬ŸßWÞ9-Ëõyº\,ˈ"ún•œ9ÔæN},§Üvê‰MWP­ É4]mäkZäÙ6É*øªçRÃŽ8nwU¢"îPÍi)Ç£(!ø¼/+8;â8ƒ4Sg`yfT„ ïß2-’¸Ê‹'@L fÍÌL•¨Þt´‚ñÜ÷á–`·¢ ’í®z‚²*Pè2¸o•VÓÍF}‰­}s2ĶM™ÎSlI3©çXÔ‘ßÄÒì\f•oŽCŽ›¸Õº@³?½Ã¦ˆ><®Óx-Y@*Š4‘M…8ß:Ô4õ.»}…¼V°*ò­¢oW¤…Bl›ôàm_O‡…;­ ¦è á[Üu;6_ˆ—ÐðXJ˜3qÐëÉÅ߇,ׄI7,ò˜Éj5®œ\Çž< ßÕZ’/«N Ê~Á³ "É¢{ yt™ÐI”f¨—`—d³™OO”Þšˆ‰Ò³:>rÙÔdŽêÆr£éÎÕ*—`š[@XzãÏÄ?VvIÃj´%åõÒÏ:0&Ó…¡; µÂ:øÈ@P©ÙÈ „ =SèÔfÖ¡oÿÌѶkK{èhavNÔlÍ.&?@åý=¼šøÞ¡éÎÿlœ¶˜7KþöLÇyqà WF¶§I’ÕÍO†Ÿ`x,GÁl]räßüQxýÌP¾žqZè QèggrFb‘2Bƒ£HÐî—KZ‰4SöŠPNy¸!S/œOÇðI“W€kq2ôç^³ë%è§V`šTû¢yˆx‹à#4Y?P”Óíw»¼¨¤½ÔAóñÇq éµ¢É_ãE .9¹ý«yQ{¨h/bL<ÁåâÊ» ¦èChªÜ¡¢½®Sœ1FVÕÉíÞÛNcÃÙ:)’š+WXŽä Gj¿Ò„$lò-N¥‘¯“hå.Š“W§LÚ‰yúâð<ú³à¨·g꼦£Oäܺƨã&òÄMuÑgšïð²èJôðÖd‡yVï¾~¢´¬£)BjFs‡ÍÃ÷‹ðzâÍžu:5^fGýXÔÄ¡®£åÕ‰×:^z‘éÔ$øúü°Ï@ ÿ©äF;Ò\¦òÂÞŸøó)}Ý*endstream endobj 6 0 obj 1384 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:28+01:00 2016-01-27T08:26:28+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000001708 00000 n 0000003670 00000 n 0000001649 00000 n 0000001489 00000 n 0000000015 00000 n 0000001469 00000 n 0000001773 00000 n 0000002099 00000 n 0000002034 00000 n 0000001894 00000 n 0000001814 00000 n 0000001844 00000 n 0000001978 00000 n 0000002181 00000 n 0000002247 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [<5998727AB19767045FB7CE82A111CFF2><5998727AB19767045FB7CE82A111CFF2>] >> startxref 3824 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.pdf0000644000175000017500000000761512652070445017464 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­Vÿn£FþŸ§©Nö†]~n[Uò%¤õ6®!מ’Ê"xÐÚà3ø¢{‡¾Jß±³ ÛñIUUYygwö›o¾™á˜„‚)í;ÛhWsž*Í„'í“F•ÚW¶· nðåB²Òš3<·ˆÏ!ÙhúõÝ<ŒfÉ"ŽÃ`úÓx,n‚[#ùCšÄq É4Ê|B<š,5}t×Ú8S6ôãs¿5†‰4šÊ@‰Õ¬RWí}ÑîõÝz0 ÛïÖ ‘V_•¨Ëmm ™Í ÷ÿäeQÁeL¿'ïzPÌóˆOÿ3¨J{ŠQ.­WsŽLîH²†¶ãËâ0´\u`:êÝ8ÄáG“@®÷,3“ئCÊ”ù¤—ß–%Ár;¾É‹l½_ øAæýJ>Èó #F6 e%n8×Ń2Á›ç´X®Åà+ªø¶gÒ’Qyÿ‚É!%“ƒ“´º&;¡e]OðÙ`6áÜdzº~0¾¿ÀŠåùOö´Üñõ|…µ°×¸T…wÁ™V{Ð ³,…®ÛÌÌ`½‡|¥nF1Wûí¶ÜÕb9h­wÓ÷SÅ’e:ÄssE:kÈøuºˆTÓ’^°êPªþ2<8kxÛ]²ˆn“`ͦ¥>aö¡&?æXϦ¾j¦IC3%”žuÚg±ðb œ¹>vÈ‹j¿jZ/óô¿²\5<‹t Õ6ÍÄ%N©‡¹qŽÇSÀ(Œ£^{gbz5TÎrŸ ôä›apê or»¡qìî:˜6vLj»zr–IÎeYú¯ü™Ëä@qÈ1«\®óG9Á#ØêLcH‡ÛÄÑ©ïö0¼@y·»r¦ÒUh¿àïÞö{€endstream endobj 6 0 obj 1160 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:29+01:00 2016-01-27T08:26:29+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001484 00000 n 0000003374 00000 n 0000001425 00000 n 0000001265 00000 n 0000000015 00000 n 0000001245 00000 n 0000001549 00000 n 0000001803 00000 n 0000001738 00000 n 0000001670 00000 n 0000001590 00000 n 0000001620 00000 n 0000001885 00000 n 0000001951 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3528 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_NOPROGRESS.pdf0000644000175000017500000000722512652070436016467 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Uao£Fýί©_ð)ìí² jU)MÊw®³q¥*©"Î^Û´À‰ü£úovYppsª,Å„yóÞ›ñ3P€êý^œ »Ú¡°sžfÁ~­ðK‚‘~‘lö郌9‰bHŽ{³ZLçwÉãl~·%;2$§:6Ù8A@(†½:÷îü·Åx¹|pùÃÖÇ*Ti}z¬US>5#Ϩ‹YYÔ0ÈøWòÉá‚&ÛŒoóèr%>Ãk#P«'XÍ•ÙµŽ¤:ˆ$ˆ¹MõûX¿?7èS"¨ùú˜¶¸hxLâØ—ü õkÖ¬÷Pn PŸ¦H¨ÚÛ¦¯‘QÚƒ½‚§ªÜUª®á UµXÞöàSICºwM=¹[[¬×ŒXo d¨Us³šØd 4*Ïñ_ä;ϾViuÒGõþØhÕ43Dê[(› $â=á¢(ˆÅ÷„ƒuyxÊñ)?Á¶¬ RÏGU75lÊBdÕ³ú¢?Ÿ3ôCŸ4-> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:22+01:00 2016-01-27T08:26:22+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001243 00000 n 0000003126 00000 n 0000001184 00000 n 0000001024 00000 n 0000000015 00000 n 0000001005 00000 n 0000001308 00000 n 0000001562 00000 n 0000001497 00000 n 0000001429 00000 n 0000001349 00000 n 0000001379 00000 n 0000001644 00000 n 0000001703 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<12F8EC249086A8DA3A71102969DD1860><12F8EC249086A8DA3A71102969DD1860>] >> startxref 3280 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.pdf0000644000175000017500000001057412652070444017314 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœWí’ÚÈýÏStj ¼Ð¨õ-'•*vÌÄì2@Æ×8Ei¤fP"ÔZµðÄy†}•üÛ̽ݒ{ì­Úš*ÔÝ÷ãÜsÏmýBLʈ‰íwzL·>y’“< ~0µHÚ¯ôH~ˆaC€âý@ŸaÄ·ˆÚ4I|Ø. HüS)„hèbT¶GâåÀXÍFCÈV™KÝІHãl`ÜÍGñ¿.r°Lê˜>™0 —MŒük“ÿYñ4ß"i^x-I#ÈIr²5øŒ´å‹P&Ë„y¸ŽÞ¯Ö›h] ¶(çÆwy™§Œ“¿ :Sü ‡¿âvËQ9a`©€ Ÿ£÷A-‘W‡¤Ì >þv€ˆE]ÄÄfeN‹É8E «:vt ‡¤&¯Š\6F~)9›ºÁE‚oæÑÍv±‰ëî†ú0W—ç…d7É…ÓÀÕMj›Žª”$!© `L*‘—M^>!Þ ù/¯ix}Ìˤá‘MkQdjÏŒ™ˆýKuÂe€…¤¢,yŠT£*XDGê[® #îŒOðñȉüT6 K“¢ˆº#c’7hPÂN‰~EÉ ø:Šš·1´QJ"y•Ô*îG<_À)JnÄq‚Q û%¢¢÷øÕƒqL$Z’U’r€ì%…Ò”WMòXðΠ€4G,¤ahùÆ©im«#¥¨*^!“?É„SÈ÷$MJÌ ŸôTñ:™¨î2Ð"ÆôelIx+üPµÐÁa¦Õ¦^÷Ee6µ èêj…¡V…Š—?ºÿ[y‚®!G–Qûž‘yFøˆ9:‰ÿ$Ǫàò\HU Iº6noœIôv¦âµ:ëy¤Ê7“ß`û¨ùÛ˜ ÁÝG6Dçªæ6DoõŒ¾™ß¶¼uuÂŒ:Ùš4f÷íbhµùAØæg,ãs⌶bcꌇ” 2¾1ÓHNE£)•Ësa Éó—ä“8AåŽU•]k¬¨V; æ'ŽG=М`=Àõ{qéš1XRÞŒÓp¤èàFQ_qEÈŒ7I^3ÒäYQB@\ ¯µ×€z`Ñê¼=‡¦©^O§ÏÏÏ#ê8Ì @›RÊ‚ŠzÄãiš‰TN“ª’Ó¶é¡9hk6MP‰ºnUH*ö©VפbgN1p‘E.Ìõ,‚ŸÌñ~ŸE#=xl£–É®N³‚Ý1s‘<ø(áR=’‡8Ä›”’ŸU.¶Pß?G£(—7²Š",¤æX‰Z¬gY&Ê¡NÖ }•S€ˆèT›KQ ™ÏÚZY6­ùQ\ɪmSÖÓCsÀGœ3`ÐV"Ó[Œ¶*d¡¥ Ú_êÂëá‹"Y‚Ðäߥè»ó¹ìõE%Ë%êO¦ZY”@âæ @d«D‚šèbû>õ|Ǻ¯y©ÎóR×êÛ’É<üã\FmGìÿ §Ÿò†îy&ê…V|ö㶤NayzÙ¨NñÿªHòRs½{Œ4ÿîMŽ3!¿¦»m†Ôì.!ùE™­àˆTß|ß.⃱Ç÷Ûy7b6Ȩëly?oO}‰ÎS[Ç¿åÍ©n¯ñóÝú'’ï•gèDyª*Q7xÑ«÷«ŸV %Ût©ïµÝ Œé9þój·V÷J´R ¸pAk*umt5h½ÝÇ»õíîn~·Þj­uµ¤Ôr:EyŸÃÄ0½&²Ù|ÖÏ?Nž{ñIppÈÓ^«"\R~Ms^6äÀ“JßÒ^”ùP÷ò]`>'³e´>sïÈ«·§QȰ|¡ñn¾ðr} ?«vÇ õz4¾6ËðÆÐÓÎð}4WƯ8z”Ùý•çllby.`ƒc,©§C,òG|!>µ}jŽ&ÌuC‡ºóɧ’X0~U¨NßÐ mÍãÁßáïÿŸÕ»endstream endobj 6 0 obj 1744 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:28+01:00 2016-01-27T08:26:28+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000002068 00000 n 0000003889 00000 n 0000002009 00000 n 0000001849 00000 n 0000000015 00000 n 0000001829 00000 n 0000002133 00000 n 0000002308 00000 n 0000002243 00000 n 0000002174 00000 n 0000002204 00000 n 0000002390 00000 n 0000002466 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<2E2118969B0377B70A77894DEB977C0B><2E2118969B0377B70A77894DEB977C0B>] >> startxref 4043 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.html0000644000175000017500000000655712652070415017722 00000000000000 CURLOPT_RESUME_FROM_LARGE man page

NAME

CURLOPT_RESUME_FROM_LARGE - set a point to resume transfer from

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESUME_FROM_LARGE,
                          curl_off_t from);

DESCRIPTION

Pass a curl_off_t as parameter. It contains the offset in number of bytes that you want the transfer to start from. Set this option to 0 to make the transfer start from the beginning (effectively disabling resume). For FTP, set this option to -1 to make the transfer start from the end of the target file (useful to continue an interrupted upload).

When doing uploads with FTP, the resume position is where in the local/source file libcurl should try to resume the upload from and it will then append the source file to the remote target file.

DEFAULT

0, not used

PROTOCOLS

HTTP, FTP, SFTP, FILE

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_off_t resume_position = GET_IT_SOMEHOW;
  curl_off_t file_size = GET_IT_SOMEHOW_AS_WELL;
 
  curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com");
 
  /* resuming upload at this position, possibly beyond 2GB */
  curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, resume_position);
 
  /* ask for upload */
  curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
 
  /* set total data amount to expect */
  curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, file_size);
 
  /* Perform the request */
  curl_easy_perform(curl);
}

AVAILABILITY

Added in 7.11.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_RESUME_FROM, CURLOPT_RANGE, CURLOPT_INFILESIZE_LARGE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_READFUNCTION.pdf0000644000175000017500000001211212652070442016633 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•XínÛÊý¯§X¤?BÖš\~ßd[A}£k»¶|ÛÀ. ZZÙ¼‘H]’Šã>C^¥ïØ3ûARŠÜ‹"Aìp—;3gΜ™åïÌåséù9_ޝcöT\ö4ø}à©Ef~Ì×ìd† =˜-úłũϓ”ÍÖƒÀã©Ïf/ƒ;çôözzy5{¸žŒÏ>Þ^œÎÎ//îÿ~ÈæÛjõ ³úõ¡–M¹i†#ºÜucÿÉË¢fo¾;ü×ìçÁÈ價9¼Iá OCrÈØl:p.ÆÃ÷«^ÈCxƒßç—Épö[Ï}áòÀÙÈ´ì’Ï]fÿa•Ìlž­VÙü [–[dMƶ›U™-j}lÏyO”ݛϗW7ç7»ÖÕeÙùS^ÌWÛ…d!\ŽéþüWÚ. höáΩóˇF9ò`¹wæÏYÅ><…ël—Cð4±³”•BIðPà ž&„#å­'áI’&^¸s´²sÄŒµ"oäº>b_a€»^9e¾`ò¢nàÈú~øg IO€$¹»Ð ÎKijŸæ{µÄ>Ú‹6Â+ïÙäæôúüŠÞ¥ †jf€ú*kÃOyÚØëšelSæE#+Ö”ìµÜV½|o‹9±òˆe5kž%ÛTeS6¯Éêç²…ý‡<––ŸÚ y\X~•=ã¢ÃÞáÊq‘¸ÜoQÄïBQröœ×?úžd£Ë{|e«ü‘Ð&ëËø™#R.j HXq6/XY-t˜µ,´ ¿ª°$ÈB …´Ê¿ ’@#¡x„z‰\a1“ùP„´嫊ZE¦„‰¥X£ƒ(·ð英¥ËnòºÑnjY}UD1‘t¦Z0nÄTú©°ÐÍZL={¾ë™¦ÎºIí‚e a¥bÕÉ6Œš0žk• jÙ’yÜZ^%†7fa¹lm‡ÜO\7Ùq¸'”nË5ŒÙ®2Å…‘Ýô÷4è»ÊévÃ^òæ™\^%}`ë`óг¹Pâ°gëfq½]5ùf•ãL:pï Èç©ÙX¬åúqO¤<ŠËBZl×`H¹ˆ¬ JU(–“šÆÈ!2.pM[Qø\î$ )´‰Pwï$¶Þ‚ÈSæ6ÛªP9ËæÍ6[±}7šg`fÕMY!ȼÐOMY½ªüsv­NÉ‹'æj' }à|µ‚ö=°‚Ò•ËÑ÷•´ÜD‰UXP/ØÖÒÐv7j °’žUYQ“‡P†$ PßJŽ•˜»<&C¼çK‚ïí× ßªó›½ÛTr´Îð@®^ß±{'ç¹¼žíé‹ð‘t³ ê|ª†gª¨óõZ.ò¬}•ÆÇ!l <2è"E»jäHÀ€% ;Ûó·J¢¼žho'g'ŸNÇÓé‰á¢oG¡ÐšŸvô<ètîÓn¬)ÂkA§:ªT5ß,«r­b}£â‘˜„§^×Òá·‰is2ÏŠÃ9_SsåäÊ„¥è’Ҁ׎xãÛ~\]é97{0ê9ð…} ¹ÓªFŒQÜÕÑÑôQ…ÔÂŒ]ÚÅÙ”{þŽš?²ÚJA7ÿ©wôü¾ãB‚µ­@aC%³ÜV€S¶l²|UónTvì[¶·œlŸ”” —úÑîì'ú½Æù©'f´¹SœÄ× ¦–³()üÙÇÙ•ð’PSêõ#¿—†(Õ¤;'Ö’ð ÝŠeër[¨Âéç^ Fè‡NV40ƒØóÆpÇ' µ¨GI)©sŒqÐp:ð;µ¬ Nz®#Û)G)4Ò~È%IfŸ®ZW¥~ZIMZÌl€¥ß dch`½îMÊ·Ó©r{A¦†Å0Õ†™HXê5uOÃfß¶¸abú“jâVŽ´PÊe+D€)«©µvX°˜€b‹¶ð8²«$ç8 6ÉEÉ-é{·ÑR§óãùtÂ>Ð)•ÊÅ}`b(ª8襽ÁœY¥‰Õí W¢–Ùθ7¦ºí9>Pè–q÷^ùíå'Liíî—g“V ‚ÄŒà)®d;r€± ×kÓjEõê´s¬óZwÇ~K¾;¥X”O]ÓýCùhé”[pu>þÇíøêÚ8ø‰2Dµ‰–Œ—3vÙºŠî»‘½W^N÷.׈6…û»Å£oRøKùçø—«éžªön›CQ©Yˆ8¯¦b!p{éîPu6LñÈM|§ÝʸÙÚ‰xLïÒ¨’­7+*êFõÃìÀg «ÝZiÚ«~ãIÐj\éRˆ‡ f ô#ëìsÓl~:6_²oßx-Í­òx~¼l6ú,þܬW†Qa’üð f!bîÇ¿²q—> ý¡gǘóéøä|z>û¼WÐ IZÿÞ躂ӺŸ¯¾pØ!EXi¾™XW]ü¥#5¦ÊÅBß!bw•dþ8 ©TaöÐÝc3<{[õzLÌÓÈ>Ïj3âøœø½Ã̾ULSÀ»;çz2»½¾`¿=Gä9ãéíÄTÚ*â+•4qëIéòÓüf2aãéÍånÿí|HÿR•’$­-øÄMƒY½\£@ÚO ŽRÅ£]›p)ívX³ÿ¸>ŸMì—£ýáÆÎÿ÷‰ˆøÓúÝUùÐyê"”ô$Óy{5½†bã³½4º±ÛÎno8ýèèÕåÍÞLžÐ7º b,Kpg£(åQo”°ŸŒbt,îG:7º¦&ÿ¼-˜ÀEQó¼ZŽ›ÌÇŸÿféuendstream endobj 6 0 obj 2373 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:26+01:00 2016-01-27T08:26:26+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002697 00000 n 0000004587 00000 n 0000002638 00000 n 0000002478 00000 n 0000000015 00000 n 0000002458 00000 n 0000002762 00000 n 0000003016 00000 n 0000002951 00000 n 0000002883 00000 n 0000002803 00000 n 0000002833 00000 n 0000003098 00000 n 0000003164 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<7C0CC26468E962E22587C14212AE76D2><7C0CC26468E962E22587C14212AE76D2>] >> startxref 4741 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.html0000644000175000017500000000536112652070415017142 00000000000000 CURLOPT_TLSAUTH_TYPE man page

NAME

CURLOPT_TLSAUTH_TYPE - set TLS authentication methods

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_TYPE, char *type);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. The string should be the method of the TLS authentication. Supported method is "SRP".

SRP

TLS-SRP authentication. Secure Remote Password authentication for TLS is defined in RFC 5054 and provides mutual authentication if both sides have a shared secret. To use TLS-SRP, you must also set the CURLOPT_TLSAUTH_USERNAME and CURLOPT_TLSAUTH_PASSWORD options.

DEFAULT

blank

PROTOCOLS

All TLS-based protocols

EXAMPLE

TODO

AVAILABILITY

You need to build libcurl with GnuTLS or OpenSSL with TLS-SRP support for this to work. Added in 7.21.4

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_TLSAUTH_USERNAME, CURLOPT_TLSAUTH_PASSWORD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.30000644000175000017500000000365512626067776017102 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SOCKS5_GSSAPI_NEC \- set socks proxy gssapi negotiation protection .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_GSSAPI_NEC, long nec); .SH DESCRIPTION Pass a long set to 1 to enable or 0 to disable. As part of the gssapi negotiation a protection mode is negotiated. The RFC1961 says in section 4.3/4.4 it should be protected, but the NEC reference implementation does not. If enabled, this option allows the unprotected exchange of the protection mode negotiation. .SH DEFAULT ? .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SOCKS5_GSSAPI_SERVICE "(3), " CURLOPT_PROXY "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_TOTAL_TIME.html0000644000175000017500000000416712652070415016752 00000000000000 CURLINFO_TOTAL_TIME man page

NAME

CURLINFO_TOTAL_TIME - get total time of previous transfer

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TOTAL_TIME, double *timep);

DESCRIPTION

Pass a pointer to a double to receive the total time in seconds for the previous transfer, including name resolving, TCP connect etc. The double represents the time in seconds, including fractions.

See also the TIMES overview in the curl_easy_getinfo(3) man page.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.4.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.30000644000175000017500000000341112626067776016747 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_NAMELOOKUP_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_NAMELOOKUP_TIME \- get the name lookup time .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NAMELOOKUP_TIME, double *timep); .SH DESCRIPTION Pass a pointer to a double to receive the total time in seconds from the start until the name resolving was completed. See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.4.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_TOTAL_TIME.30000644000175000017500000000352412626067776016165 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_TOTAL_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_TOTAL_TIME \- get total time of previous transfer .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TOTAL_TIME, double *timep); .SH DESCRIPTION Pass a pointer to a double to receive the total time in seconds for the previous transfer, including name resolving, TCP connect etc. The double represents the time in seconds, including fractions. See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.4.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.30000644000175000017500000000415712626067776017070 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXFILESIZE_LARGE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXFILESIZE_LARGE \- maximum file size allowed to download .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXFILESIZE_LARGE, curl_off_t size); .SH DESCRIPTION Pass a curl_off_t as parameter. This allows you to specify the maximum \fIsize\fP (in bytes) of a file to download. If the file requested is found larger than this value, the transfer will not start and \fICURLE_FILESIZE_EXCEEDED\fP will be returned. The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers. .SH DEFAULT None .SH PROTOCOLS FTP and HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.11.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_MAXFILESIZE "(3), " CURLOPT_MAX_RECV_SPEED_LARGE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PROTOCOLS.html0000644000175000017500000000655612652070415016550 00000000000000 CURLOPT_PROTOCOLS man page

NAME

CURLOPT_PROTOCOLS - set allowed protocols

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROTOCOLS, long bitmask);

DESCRIPTION

Pass a long that holds a bitmask of CURLPROTO_* defines. If used, this bitmask limits what protocols libcurl may use in the transfer. This allows you to have a libcurl built to support a wide range of protocols but still limit specific transfers to only be allowed to use a subset of them. By default libcurl will accept all protocols it supports (CURLPROTO_ALL). See also CURLOPT_REDIR_PROTOCOLS.

These are the available protocol defines:

CURLPROTO_DICT
CURLPROTO_FILE
CURLPROTO_FTP
CURLPROTO_FTPS
CURLPROTO_GOPHER
CURLPROTO_HTTP
CURLPROTO_HTTPS
CURLPROTO_IMAP
CURLPROTO_IMAPS
CURLPROTO_LDAP
CURLPROTO_LDAPS
CURLPROTO_POP3
CURLPROTO_POP3S
CURLPROTO_RTMP
CURLPROTO_RTMPE
CURLPROTO_RTMPS
CURLPROTO_RTMPT
CURLPROTO_RTMPTE
CURLPROTO_RTMPTS
CURLPROTO_RTSP
CURLPROTO_SCP
CURLPROTO_SFTP
CURLPROTO_SMB
CURLPROTO_SMBS
CURLPROTO_SMTP
CURLPROTO_SMTPS
CURLPROTO_TELNET
CURLPROTO_TFTP

DEFAULT

All protocols built-in

PROTOCOLS

All

EXAMPLE

curl = curl_easy_init();
if(curl) {
  /* pass in the URL from an external source */
  curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
 
  /* only allow HTTP, TFTP and SFTP */
  curl_easy_setopt(curl, CURLOPT_PROTOCOLS,
                   CURLPROTO_HTTP | CURLPROTO_TFTP | CURLPROTO_SFTP);
 
  /* Perform the request */
  curl_easy_perform(curl);
}

AVAILABILITY

Added in 7.19.4

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_REDIR_PROTOCOLS, CURLOPT_URL

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIELIST.30000644000175000017500000001071312626067776016036 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIELIST 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIELIST \- add to or manipulate cookies held in memory .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIELIST, char *cookie); .SH DESCRIPTION Pass a char * to a \fIcookie\fP string. Such a cookie can be either a single line in Netscape / Mozilla format or just regular HTTP-style header (Set-Cookie: ...) format. This will also enable the cookie engine. This adds that single cookie to the internal cookie store. Exercise caution if you are using this option and multiple transfers may occur. If you use the Set-Cookie format and don't specify a domain then the cookie is sent for any domain (even after redirects are followed) and cannot be modified by a server-set cookie. If a server sets a cookie of the same name (or maybe you've imported one) then both will be sent on a future transfer to that server, likely not what you intended. To address these issues set a domain in Set-Cookie (doing that will include sub-domains) or use the Netscape format as shown in EXAMPLE. Additionally, there are commands available that perform actions if you pass in these exact strings: .IP ALL erases all cookies held in memory .IP SESS erases all session cookies held in memory .IP FLUSH writes all known cookies to the file specified by \fICURLOPT_COOKIEJAR(3)\fP .IP RELOAD loads all cookies from the files specified by \fICURLOPT_COOKIEFILE(3)\fP .SH DEFAULT NULL .SH PROTOCOLS HTTP .SH EXAMPLE .nf /* This example shows an inline import of a cookie in Netscape format. You can set the cookie as HttpOnly to prevent XSS attacks by prepending #HttpOnly_ to the hostname. That may be useful if the cookie will later be imported by a browser. */ #define SEP "\\t" /* Tab separates the fields */ char *my_cookie = "example.com" /* Hostname */ SEP "FALSE" /* Include subdomains */ SEP "/" /* Path */ SEP "FALSE" /* Secure */ SEP "0" /* Expiry in epoch time format. 0 == Session */ SEP "foo" /* Name */ SEP "bar"; /* Value */ /* my_cookie is imported immediately via CURLOPT_COOKIELIST. */ curl_easy_setopt(curl, CURLOPT_COOKIELIST, my_cookie); /* The list of cookies in cookies.txt will not be imported until right before a transfer is performed. Cookies in the list that have the same hostname, path and name as in my_cookie are skipped. That is because libcurl has already imported my_cookie and it's considered a "live" cookie. A live cookie won't be replaced by one read from a file. */ curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "cookies.txt"); /* import */ /* Cookies are exported after curl_easy_cleanup is called. The server may have added, deleted or modified cookies by then. The cookies that were skipped on import are not exported. */ curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "cookies.txt"); /* export */ res = curl_easy_perform(curl); /* cookies imported from cookies.txt */ curl_easy_cleanup(curl); /* cookies exported to cookies.txt */ .fi .SH AVAILABILITY ALL was added in 7.14.1 SESS was added in 7.15.4 FLUSH was added in 7.17.1 RELOAD was added in 7.39.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_COOKIEFILE "(3), " CURLOPT_COOKIEJAR "(3), " CURLOPT_COOKIE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.html0000644000175000017500000000476212652070414020023 00000000000000 CURLOPT_CHUNK_END_FUNCTION man page

NAME

CURLOPT_CHUNK_END_FUNCTION - callback after a transfer with FTP wildcardmatch

SYNOPSIS

#include <curl/curl.h>
 
long chunk_end_callback(void *ptr);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_END_FUNCTION,
                          chunk_end_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

This function gets called by libcurl as soon as a part of the stream has been transferred (or skipped).

Return CURL_CHUNK_END_FUNC_OK if everything is fine or CURL_CHUNK_END_FUNC_FAIL to tell the lib to stop if some error occurred.

DEFAULT

NULL

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.21.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_WILDCARDMATCH, CURLOPT_CHUNK_BGN_FUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.30000644000175000017500000000403612626067776017423 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXY_TRANSFER_MODE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXY_TRANSFER_MODE \- append FTP transfer mode to URL for proxy .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TRANSFER_MODE, long enabled); .SH DESCRIPTION Pass a long. If the value is set to 1 (one), it tells libcurl to set the transfer mode (binary or ASCII) for FTP transfers done via a HTTP proxy, by appending ;type=a or ;type=i to the URL. Without this setting, or it being set to 0 (zero, the default), \fICURLOPT_TRANSFERTEXT(3)\fP has no effect when doing FTP via a proxy. Beware that not all proxies support this feature. .SH DEFAULT 0, disabled .SH PROTOCOLS FTP over proxy .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.18.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if the enabled value is not supported. .SH "SEE ALSO" .BR CURLOPT_PROXY "(3), " CURLOPT_HTTPPROXYTUNNEL "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.html0000644000175000017500000000420612652070415017304 00000000000000 CURLINFO_SIZE_DOWNLOAD man page

NAME

CURLINFO_SIZE_DOWNLOAD - get the number of downloaded bytes

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD, double *dlp);

DESCRIPTION

Pass a pointer to a double to receive the total amount of bytes that were downloaded. The amount is only for the latest transfer and will be reset again for each new transfer. This counts actual payload data, what's also commonly called body. All meta and header data are excluded and will not be counted in this number.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.4.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.30000644000175000017500000000643212626067776020261 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONV_TO_NETWORK_FUNCTION \- convert data to network from host encoding .SH SYNOPSIS .nf #include CURLcode conv_callback(char *ptr, size_t length); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONV_TO_NETWORK_FUNCTION, conv_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. Applies to non-ASCII platforms. \fIcurl_version_info(3)\fP will return the CURL_VERSION_CONV feature bit set if this option is provided. The data to be converted is in a buffer pointed to by the \fIptr\fP parameter. The amount of data to convert is indicated by the \fIlength\fP parameter. The converted data overlays the input data in the buffer pointed to by the ptr parameter. \fICURLE_OK\fP must be returned upon successful conversion. A CURLcode return value defined by curl.h, such as \fICURLE_CONV_FAILED\fP, should be returned if an error was encountered. \fBCURLOPT_CONV_TO_NETWORK_FUNCTION\fP converts from host encoding to the network encoding. It is used when commands or ASCII data are sent over the network. If you set a callback pointer to NULL, or don't set it at all, the built-in libcurl iconv functions will be used. If HAVE_ICONV was not defined when libcurl was built, and no callback has been established, conversion will return the CURLE_CONV_REQD error code. If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined. For example: \&#define CURL_ICONV_CODESET_OF_HOST "IBM-1047" The iconv code in libcurl will default the network and UTF8 codeset names as follows: \&#define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1" \&#define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8" You will need to override these definitions if they are different on your system. .SH DEFAULT NULL .SH PROTOCOLS FTP, SMTP, IMAP, POP3 .SH EXAMPLE TODO .SH AVAILABILITY Available only if \fBCURL_DOES_CONVERSIONS\fP was defined when libcurl was built. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_CONV_FROM_NETWORK_FUNCTION "(3), " CURLOPT_CONV_TO_UTF8_FUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.pdf0000644000175000017500000000717412652070432016764 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UënÚHþï§8ÒþX{…§žñø¦®V¢©£¥¥Ø“Ý*¬ƒ‡Ä+cÛ4ÊCõ÷ÌØ@ d+$,8Çó]ÎeÁ",ù韫önêÁ}£Yp¯=jT¡¬6ð!Á_þ‘¬µî /°‰@²Ñx@¨ É“v«_ͧã(N–×I¼œÏÂe< “…n/ Xíêb)ÒæyÙˆ¶Ú¶†É‹X–§ã¼*xó]ãŸä“fZ„Q„[!›ÙÀ‘„l’±¦O†Æ¯(£Ô!N`#É$Óô/¡‘üû‚>³·<0)“aKr¾H~€(Ó»B@û @ý³ª6›´Ìºó^0‘I]â+ÀÙ·IÏF³SX•¢ õ_òrUì2¿KCÞÉ/òð‡Lg\)‘tV&œ¶P!øíYbpÑ.4GÚ`[œø´·aPHeG<ß²ü>P•÷½Ð…ñþ‚4/ä} gWÓQœŒ¢‰ÌÆšP§+É©qz@ ˆïtXE×U¾7 ¤P £µòù»Ìw¸;f;]g¥ÅN@Þ@ÞB+Š¢QA[A#Ê {Y'¸ëªÆÚ%ϸ>œÝÀB—¡0žÝ, W¢nÓ¼t°k1yRÄÞ+hD­8¡~‡9.U DÝ `ƒ'ÏÕëv›  »¼–}ƒ\˪4›!Ó:;CZaʪ­êg(ò¦ÍË{ô¢'%Ÿ»-ÈĬ’Øv€†ðÞ=ý©4•ñ)qÇ9éä[½¨Ò¬TÔ©Sª7ØNþL%!kƒ9Ä¢ÜÕ×ÈžD »9¨¤«6ßÏ[W[Æ(±ÕSs®p}(.õˆ½«hC[§e³Fƒ:ð×­Å›}ä ‰# ÙmÿÏ#ü{ø%‡û óßœ°äHƒÚ²\‰Qo–ãû¯¦)·µsD“žr%kxã,‹¸íµë£ñðÃhù<‰ ÛÑÿš,#µÀä‹eÕ’ë핆0Ï¢£sJç›8ÄF²9žžœI¡ Wj諸ܧç"¬{XNžÝœ•€áF^hÚ–/Õ˜6ÞÒnG³ÈïÔÂÄqõ°.&uœ€GÇ[õÓ®†;A‘å‡n¦ò¨0Ѿâç?¨endstream endobj 6 0 obj 994 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:18+01:00 2016-01-27T08:26:18+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001317 00000 n 0000003121 00000 n 0000001258 00000 n 0000001098 00000 n 0000000015 00000 n 0000001079 00000 n 0000001382 00000 n 0000001557 00000 n 0000001492 00000 n 0000001423 00000 n 0000001453 00000 n 0000001639 00000 n 0000001698 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3275 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.html0000644000175000017500000000425112652070415020705 00000000000000 CURLINFO_CONTENT_LENGTH_DOWNLOAD man page

NAME

CURLINFO_CONTENT_LENGTH_DOWNLOAD - get content-length of download

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD,   double *content_length);

DESCRIPTION

Pass a pointer to a double to receive the content-length of the download. This is the value read from the Content-Length: field. Since 7.19.4, this returns -1 if the size isn't known.

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.6.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3), CURLINFO_CONTENT_LENGTH_UPLOAD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.html0000644000175000017500000000362412652070415017064 00000000000000 CURLINFO_SIZE_UPLOAD man page

NAME

CURLINFO_SIZE_UPLOAD - get the number of uploaded bytes

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_UPLOAD, double *uploadp);

DESCRIPTION

Pass a pointer to a double to receive the total amount of bytes that were uploaded.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.4.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_READFUNCTION.30000644000175000017500000000703312626067776016253 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_READFUNCTION 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_READFUNCTION \- read callback for data uploads .SH SYNOPSIS #include size_t read_callback(char *buffer, size_t size, size_t nitems, void *instream); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_READFUNCTION, read_callback); .SH DESCRIPTION Pass a pointer to your callback function, as the prototype shows above. This callback function gets called by libcurl as soon as it needs to read data in order to send it to the peer - like if you ask it to upload or post data to the server. The data area pointed at by the pointer \fIbuffer\fP should be filled up with at most \fIsize\fP multiplied with \fInmemb\fP number of bytes by your function. Your function must then return the actual number of bytes that it stored in that memory area. Returning 0 will signal end-of-file to the library and cause it to stop the current transfer. If you stop the current transfer by returning 0 "pre-maturely" (i.e before the server expected it, like when you've said you will upload N bytes and you upload less than N bytes), you may experience that the server "hangs" waiting for the rest of the data that won't come. The read callback may return \fICURL_READFUNC_ABORT\fP to stop the current operation immediately, resulting in a \fICURLE_ABORTED_BY_CALLBACK\fP error code from the transfer. The callback can return \fICURL_READFUNC_PAUSE\fP to cause reading from this connection to pause. See \fIcurl_easy_pause(3)\fP for further details. \fBBugs\fP: when doing TFTP uploads, you must return the exact amount of data that the callback wants, or it will be considered the final packet by the server end and the transfer will end there. If you set this callback pointer to NULL, or don't set it at all, the default internal read function will be used. It is doing an fread() on the FILE * userdata set with \fICURLOPT_READDATA(3)\fP. .SH DEFAULT The default internal read callback is fread(). .SH PROTOCOLS This is used for all protocols when doing uploads. .SH EXAMPLE Here's an example setting a read callback for reading that to upload to an FTP site: http://curl.haxx.se/libcurl/c/ftpupload.html .SH AVAILABILITY CURL_READFUNC_PAUSE return code was added in 7.18.0 and CURL_READFUNC_ABORT was added in 7.12.1. .SH RETURN VALUE This will return CURLE_OK. .SH "SEE ALSO" .BR CURLOPT_READDATA "(3), " CURLOPT_WRITEFUNCTION "(3), " .BR CURLOPT_SEEKFUNCTION "(3), " CURLOPT_UPLOAD "(3), " CURLOPT_POST "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.html0000644000175000017500000000524312652070415021230 00000000000000 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE man page

NAME

CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE - chunk length threshold for pipelining

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, long size);

DESCRIPTION

Pass a long with a size in bytes. If a pipelined connection is currently processing a chunked (Transfer-encoding: chunked) request with a current chunk length larger than CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, that pipeline will not be considered for additional requests, even if it is shorter than CURLMOPT_MAX_PIPELINE_LENGTH.

DEFAULT

The default value is 0, which means that the penalization is inactive.

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.30.0

RETURN VALUE

Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

CURLMOPT_PIPELINING, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_PIPELINE_LENGTH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.html0000644000175000017500000001044312652070414017304 00000000000000 CURLOPT_FOLLOWLOCATION man page

NAME

CURLOPT_FOLLOWLOCATION - follow HTTP 3xx redirects

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FOLLOWLOCATION, long enable);

DESCRIPTION

A long parameter set to 1 tells the library to follow any Location: header that the server sends as part of a HTTP header in a 3xx response. The Location: header can specify a relative or an absolute URL to follow.

libcurl will issue another request for the new URL and follow new Location: headers all the way until no more such headers are returned. CURLOPT_MAXREDIRS can be used to limit the number of redirects libcurl will follow.

libcurl limits what protocols it automatically follows to. The accepted protocols are set with CURLOPT_REDIR_PROTOCOLS. By default libcurl will allow all protocols on redirect except those disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are also disabled.

When following a Location:, the 3xx response code that redirected it also dictates which request method it will use in the subsequent request: For 301, 302 and 303 responses libcurl will switch method to GET unless CURLOPT_POSTREDIR instructs libcurl otherwise. All other 3xx codes will make libcurl send the same method again.

For users who think the existing location following is too naive, too simple or just lacks features, it is very easy to instead implement your own redirect follow logic with the use of curl_easy_getinfo(3)'s CURLINFO_REDIRECT_URL option instead of using CURLOPT_FOLLOWLOCATION.

DEFAULT

0, disabled

PROTOCOLS

HTTP(S)

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* example.com is redirected, so we tell libcurl to follow redirection */
  curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Along with HTTP

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_REDIR_PROTOCOLS, CURLOPT_PROTOCOLS, CURLOPT_POSTREDIR, CURLINFO_REDIRECT_URL, , CURLINFO_REDIRECT_COUNT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_USE_SSL.pdf0000644000175000017500000001042312652070450016131 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­WÛrÚH}ç+¦¼–\0h4ºî­Š8¸Š rvSö¥À`+–DHjkÿ`eÿq»G#!a{ó’Â[séÓݧO7Ä ŒøRŸ«m§?wÉ}Þ1È}ç±Ãä"Q«-yÀ›Ny†×$®Ï©ç“`Ûq=j{$8tnµË›ùx: –7‹ár±ßiüN'«}/E˜]æ¢Hw…Þ3mƒ†«Á?Qšää¹cúŸÁ›NÏ &#+ÀàêÛƒ;$w´É@?ذÊljû ëŽv=Ôƒ ЦA-Ã%=fâ²HO’I&÷"/È>’{‚Ïú`dA6iFŠAŠ,LòÈÊ»`z€¦ÇêIã‹÷“él1Z´!È-Ò¼öC”¬âýZŸ1.}|£¿âvÓ’^!´U Nãv'—ÈÅC˜¬cÑ=Z—Ä) âÆl 7<Êm˜ÏÍÈ€ùÔô|ÏR ñþÓ3~Ùœ:V÷×ÃÅå|4 FÓ î®<ëç,lóH§m–TÉs–ˆËˆ§‰ éF†ú³nÚÔ`.ÓÂrB6Yº%DœVœp¤YærʸWÞ̨m3™ÚC—2œÔÅ'°Ï¢Ž¨J_Óm Yà _-„ŸZ§|Êù1B"nx㻬:…•f£˜/pF¯é>#k‘G™X—ae† oQÏ­0ßj,a¾ɉ¥{ Þ2jy5<ˆ ’²EÇžL·<êzuäo5d©mkTÞ'ù\ÜjÁƒla¿qLvYZ¤«4Îá¶° yfI÷ÙÅa”€YÔ÷MWûR ¹9Ûïî³p-Ög¤H%œ2whè¾ '³”mmp#W2K £épW­Žƒš4G(þ®ër«¦Ý3Eò?}r6W€,î)‘6W¥³gRÃö¥¬N2­Í›œº†SõùËéø¤Í‚>@:bºjëá®+ó;ŠH9SÔJòÔuH´ã·$eøÇàz6>™TE\¶zÙR~iLQÁ Ú5n…!ÚÜi¸F­¿@0í#OŸNø¤19Ì¡æÏ6ÅîÇ~_u"P–/áv „¬ÿü‹ÐÎÐ0R±U°«ô/ää„Õ€:ÖêRQÞ­ Á³¹- á¢/oPØ¿‰°šmÚ‰8Ϋ ÌD&·ROªA ?5³+wVÃkzuÄ´¿UØž÷dèlñkÅ’Y¼#ƒ#Aq6©GÑxðj4ïÛY†8CËö*£ŒrÓ*g¢Áz+öëQ©A‰l–å”LR1A ÎŸ’TI89Ôë*b@y9ÑîwØ[à"‡Z]ÙÁ•ØB«OŠœD&ÚBygã:¸ ã}¡Ôç¥X€ƒ›ù„¼Ó‡¡ÁÑß O4«­ŸÅ>Ssÿp9}K¢rðSž‚Ïù~·K³B¬KèJ'o'Sxôûd9•c(LÒ‚~¡¶É`¼˜+óR>pX÷AF<Ë×Þ ç œuOÅ׌©˯*Ýöµ°îÕ¤q±}"Z æ<Çr_Ïô²'™&µÔ¸¨†L—r—zÙ6ŒE¶_‘ÞìbB¿”`­Z#^5 :¿Áë?äs•›endstream endobj 6 0 obj 1550 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:32+01:00 2016-01-27T08:26:32+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001874 00000 n 0000003764 00000 n 0000001815 00000 n 0000001655 00000 n 0000000015 00000 n 0000001635 00000 n 0000001939 00000 n 0000002193 00000 n 0000002128 00000 n 0000002060 00000 n 0000001980 00000 n 0000002010 00000 n 0000002275 00000 n 0000002341 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3918 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_TOTAL_TIME.pdf0000644000175000017500000000735112652070457016563 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUÛnÛF}çW ЇR´æ.o»HQ@qX@,ª4° ¡V2 ‰THÊA?ªÿØÙåM”(X2wvÎ93g†_Á",õi¾“£q³òa_ì¯Õ‡Ð|%GxaW¢Qß¡à3ð…M¸€èh˜·÷«ùlñK¸‰FÑŸÆÄ"D‰áYDØ–ºm 3Ôg–: ¬~æ2bcä7ãÁœÎ7Ñì.x4íÇ$çâ°‘qù×f/«4Ûå£ sÂ6óS•æY ˆD¿v6ãÄs¾8Ài¸2*TÈÍJ F"\%sâP›¸>LlO_[LûT.q…ݤ» Ôó¾< yXx ñÔñÿ¬‹5¨ ü X¨ò*>@•%ä;8rÄ\bQÇ3ŸÓü\BUÄY¹“…®ÇP µ8""+p¹þ¼—ëÙzHµ¶ÄH³äpÞJøIõâFý!O?«p†æµ²$Ç€½zÔgðæ)ζ9¾ìÔ] T;}ñß}Ã6?9Hx£„ŸGokÊ—ê˜ðU®^Ýû`}»š-£Y¸hÊNݺï(]Ƹ Ü­á)±-®š`–%ÄpÊÓ¬’¶ÿiáïB&2 PÛ&žåµI¼&É3†_ú‡ûœ^=É˧”2ɳm »ñTusPÇ'Žðúë~ 1ôâpª³Äp]âQ¿-ì8½ÐkqŸ¶>Ô O³=dñQ#MlŸ´)•v¥YÈ2?˜ßRœËÌ*=)ú.cÄçÝD>ÉÚdÔj—Åñ¼Mpaù‘ÚJÌãfë}µVêl½Æ]â÷„q§x/É+>öpw¹>^®Ú­as-Â!Ìk9aÄr…nIAØ•ÙÄ·¼v?݆ó«!Ÿ ßvº®šÓÃá%= -à÷éÝr´Nçߥ¨§ë“6Ãd¾×Øåü•M+Td‡†a–~'˜ÓÐo]\¬žÛm‡Ù|ún6ŸEŸ‡ÚT—ÄvºÝÊ­òÎ ¡ÿ.õÁ\ÑýjGÔvˆð(.¢ûણ½bŒ—Õ¹hÞGÁ&üéN;·~OAZBy>ò¢’Û1àFlïáÈvÍO‹M¨7•º˜åye}š±˜Î×a/äšÒõF®ß®0ó+¾CüÎÖ¦öîx˜Q=Ïj«Þ'.e…‡ÅÇeA_¤šPÁqñuª¿¢wH¿¨Dª±Fê:Œ›ŒÃô¼†D5K§³°nY¿áçyp1‡endstream endobj 6 0 obj 1003 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:39+01:00 2016-01-27T08:26:39+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001327 00000 n 0000003210 00000 n 0000001268 00000 n 0000001108 00000 n 0000000015 00000 n 0000001088 00000 n 0000001392 00000 n 0000001646 00000 n 0000001581 00000 n 0000001513 00000 n 0000001433 00000 n 0000001463 00000 n 0000001728 00000 n 0000001787 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3364 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.html0000644000175000017500000000436712652070415020133 00000000000000 CURLINFO_STARTTRANSFER_TIME man page

NAME

CURLINFO_STARTTRANSFER_TIME - get the time until the first byte is received

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_STARTTRANSFER_TIME, double *timep);

DESCRIPTION

Pass a pointer to a double to receive the time, in seconds, it took from the start until the first byte is received by libcurl. This includes CURLINFO_PRETRANSFER_TIME and also the time the server needs to calculate the result.

See also the TIMES overview in the curl_easy_getinfo(3) man page.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.9.2

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXY.pdf0000644000175000017500000001435012652070440015677 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­XkoÜÆý®_1u?˜›®Æ¾™GA”ÈZE¢’²!PÜ‘—õ.¹!¹RÔßà¿ÒÿØsçÁÇZŽƒ¢`Yäpæ>Î=÷Üù¹\0—~Ìïbsðê"fïÛ—½?øí@¨—Ìü*6ì› zÝèo‹=§>OR–mœ×W§‹óìöüb–ýëàÐåËŠƒÈã~’&XŸ-œÅ¯ôÎ¥"à®o_$Ënœë·ŽÿvÆŠ]³¾•yûtÛÊ®Þv³C/tü§¬«–Îz—ýÐæ‡ Â/œeN0Fz"¥¯.R8ÇÓü; ‚” ú‘úàìhØ)äaê›ÞÓó!.ÌpcvˆOéõŸˆÇÃgÌüOÛë ¿\ “#;¶mêߟXW³]+µc„p‘À–ˆ'j»Ëë³ÅùåÉåÔdxhÍýkYëÝR²Pì_Ñ?|õOe ?Õþ5ìçæ­zžZåÕr-çãì¼ìýöX"&n 8Ž`$ÊÇë9+Æ÷£4Ç`•7ì+…·³¿_xÜóFøöøòõÅÉyv²8û\€‡ÐS›_"ÂÝÊV¸v¥ËCXª­¸q¶Í,¹+ÂÔ Š#4àM,ÌZGç‰Ý× mËvÛ¢Þ”Õ{ÖÈßv²í8Ëðt›7ùFv²aíªÞ­—ìN²œÊQÊtÎþ-›ša¾Í;¹dm×`ÌÐŒÃĺ"¸›hWVõzIGѹ«ºíX…C YÖíQí6²)‹|ÍNÎY¾\6²m9;š<ˆì¶Ùa öØ”ø¼be·*+2>=Ⱦºqnîš¼ø0C2Tpd×¾ã¶RZêq7Œ•YÍZ€E§:æu¦y`VleQÞ?±mÝtdÙ‚TVð©lMæ,ßneµd_ßТw0r™Õ÷SïM¸ ;/u¦adÄGÜtÒÚí€?Á“ ƒU‘²j°FåÀOb|p"ÈÒºMþÄ4yåëõ…¯%‡>"ü?e]+)ÿ4 ÷ çÇQoÙg¸ÕÉ„á ïÚê»>_\d= ú\¤†-tx±‡9?™ù"å©;÷•J£&%C'6$:Mu×{6gëòޏB‡&ôy4š&ûÇr½fKy?Ãî©%N¾[wšÓ±*ÙÂM\U7”®R¶HÀ‘¯àMpë“i À(ÜwôL~ü}vI“0pl¬oÚb%7òÝׯ^ÑQ­AÖãª,VìC©á¢·¸PµKήP»m]|h|5Wh´SŠUçrôëœÞë¥!»õ+úë­C‰^ç€a]I:]VùÝÚì2(ËÛ¶Z{Š_j(£þêõaµ"x|ÝÖìCUÏ¿“¦Ú€Ó)¤®³šb×ÕE½ÁqÕu[Ê‚Š2€Wãø¦e „@K×HÅ©y˾ϲóo£™VøKÙ“x¡/tiSïø»_k¨i Î÷*:MÀŽÑÿ¥ ³ëóã¾ Guð$´_yE^R€¾{Óø=/º §6%V.eÕ!®:>°Wè2øe…žðTïÐ¥V÷Ý ±RAé£û„(Âú.% ÈZ;_÷¾& (áZÔjJÑIëš¼jAš°¤ZhÎDì„–SÚ4¶bíAö¦Üƒ Ì PL½• ^¥,a¤2ON¶J#Fð¥ôñÌ⑤ð5~Ë{x¤ã;DÊIvu$° ×*Ÿº§ ÎÈÒlè‡j·DR·®Ø×ë"DUU9`‰ çiÏl°ÙæÑwºØ=*`–± Ó¦Žì&ü s Ý(ˆ±áÅZl´; )o÷uSÀ½‘n²`ÿI)7ö«Å, ±DNfÛt7q³-&¿hðòi;ö2´Y¨Û¶¼C'B|5µíc4{FŒZ›±È ̶H\d-ÑáÀÚMå é¿hT/^@P‚•åfÛÙçÐWª5Ê&fE­¿o×eQRƒ\–­›j@ò¹a+2ÂÄë!(཰wæ{­¨'Í>ôæËIo¨ y Ó¢ií"rUOè?RÑžn£~ ø$éÞÀ`£Š¡ò“¨ÂFU%€F†²ãÆ5e»s´íu[0‚Þ£"«ÆC^êvJTÛ[‘AOjI÷Ö1r§v$1.— ^D¶aÃ,ß¶º¿¥`¡fÉM½ï(ДãKŠïL¸Ã 1SV*ï£+sq‚Ôšk/òm[<ÍzXEF™‹ã"Ä„òÆù—ÍÕÄ…°Ÿ]žÎÙFæ¹_Õ{º¼tOåQ¤óѵ‚ysšX*̂ŽžR[&…!_*ÉêÒô”B öÓöžîzöþáHµÀ¨žØ¨ø@å=¿‘uzMÞte±#q@c$ð0¾5Pø¾~Ò z†­ãìà'üüM±Ñîendstream endobj 6 0 obj 2756 endobj 14 0 obj <> stream xœR]OÂ0}ﯸ]bK¿Ö­j–BØ%‘ˆ!:‘`ø1þ{Û± !LºÜsvî¹§wŒr`þÔw±D<‚Y‰ÌÐñ „ú*–pc!öû†öÿpˆDFÒØ€]"|;Ì{if'YØwDU` ¤•±‰ß¾"œ>xŒy€+ÊdÄšjö =âÑËqÅîs1™>—ß“rº]l"B†ÝÇ|½*áW¯'Ûm›É0¦:¼Ð«îàÁNnÜHÔ„~*¢”¡\‘ÚÓ˜·ƒI×½Az`{ªcÇôbL­©áÆœu¢÷U7i–æ4Ôa[ rÈX¶D\Ù½:q ièüÖŒÆÄµÙ±£(?H£>²Ã~?éíå›î*¦ñáÕþoàr 3âÔi%ÜÂDm¼v”%ÇÖ„[ÝŠ¶OIÜ¢Uu¢uïbþâ·"'HY@xº8BÌ#èîV WUèJËZMx¥Ä¢{w~û4·uendstream endobj 15 0 obj 369 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:24+01:00 2016-01-27T08:26:24+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003710 00000 n 0000005669 00000 n 0000003644 00000 n 0000003322 00000 n 0000000015 00000 n 0000002841 00000 n 0000003775 00000 n 0000004098 00000 n 0000004033 00000 n 0000003965 00000 n 0000003816 00000 n 0000003846 00000 n 0000003482 00000 n 0000002861 00000 n 0000003302 00000 n 0000003896 00000 n 0000003926 00000 n 0000004180 00000 n 0000004246 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<6E9925AAA7460F20F3195F7B613B1B9F><6E9925AAA7460F20F3195F7B613B1B9F>] >> startxref 5823 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_DEBUGDATA.pdf0000644000175000017500000000735612652070427016253 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUÛnÛF}çW ÐÒ°V»Ë]^’¢€l3…RFR%*h`-1–ZŠtD*Ž>ªÿØYry‘ì EA@"¸Ã9gÎÌ~JPuéÿÕÎÎ]x, ƃU‡ ÿV;¸Š0ÀS¢ÏFý—ƒëÛÄó!Ú·æõrNgÑýMpeùÄ÷³Íå¯7ÖŸÑ{cÀc­ Ÿ—SßÖê)ǧφ9Š`dE!<Æ0HFyãP‚áskÞ™ö«Ã>½Oââx_$eþTZ.©‰7Û<+ OBÛÔ!¶¨SUl¤%Ãßi€þ ™šB•ƒb´¯†su!¾TÒ „Tx ¶S½0ée’DúºróC žwšrJuaÀ¸:þ?b¶´9‘º8ÚÿgÕñÀ²ú€ÖÒŠ2ßÁS¾ÍÊdŸó=¬“‹!²Ï]óð«8MâÕßÓ’™Ãˆ„ð†xØâÓd:[Œ§%¢"º<ó§m¶Jë~Vݪ²ù¥"/ è¢V`•cÌyÃïª#¸ØÄÙ:M.áL*Ÿ;ÞK©¸ë&¾×i-Ùi¯/¿¶’ùXX'—™o×p¡Åº³ÞÖeö%±¶Sö¹ ×óñ,O'zz˜¬‡çufqXjdB=^¡Ä5$£ÍFºÄöš)×ÄÎÄgD¸8°uH™Ãó&.“.¶­Äkªÿšhaª"Â=¿…Ø»i¢×Ótkæx¶ð¥Â7㬄§¸(’5l3@Ðc~Øë ê¸S‰äy“ ßM•‡ »ùn9¹VâÕûWghíH8¤ã­€6 ¤qQBÕ@<¶ô;Y×ê~ÁqD£¾^ˆxoá4P&™ùxØ%YI Úl‹vEð6ËK8¨ÚŽnÔ˜^¶TGy–›Ê±lE¨Y òÊU½ïFån‹^5ºJaÁš-_j £hµ«pÇvõiµéRv]×nk4'Ë0|ejû4fsÍBØ &Çm¼’Š’*§L[Ln—:!]OÃ3 @Ú>ò舌Òô<‚?Ffað=+¹57eùôf¨=$þöÉP·c¸*ãŒlÊ]Úx‚ô¼—Ö݇UúŠÚ">ö>Ø G²fÔÆáèjŽ£O§ä°#¶@€®ÆfÍêEj–ð¹[sœ@Ù~ˆÌcñRé¡"Z†zNçA´œOà£ÅlA|‡™£pœ-HÏZæIyØëÏdp?ýíâ/‚FábÚ…åk¶uÝóù©¾PØûn^ž¦A§-ú|ñ{;ÿbÝ9q¼yèOÄõa ÐOœ:¥@wt µLJ$%MæÂûCÍ¥J.Ú‘e*U¿ãõ/‹À1»endstream endobj 6 0 obj 1008 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:15+01:00 2016-01-27T08:26:15+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001332 00000 n 0000003215 00000 n 0000001273 00000 n 0000001113 00000 n 0000000015 00000 n 0000001093 00000 n 0000001397 00000 n 0000001651 00000 n 0000001586 00000 n 0000001518 00000 n 0000001438 00000 n 0000001468 00000 n 0000001733 00000 n 0000001792 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<9813128BCDDF281B778B8381F8A0DDFB><9813128BCDDF281B778B8381F8A0DDFB>] >> startxref 3369 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.30000644000175000017500000000404412626067776017434 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_USE_GLOBAL_CACHE \- enable/disable global DNS cache .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_USE_GLOBAL_CACHE, long enable); .SH DESCRIPTION Pass a long. If the \fIenable\fP value is 1, it tells curl to use a global DNS cache that will survive between easy handle creations and deletions. This is not thread-safe and this will use a global variable. \fBWARNING:\fP this option is considered obsolete. Stop using it. Switch over to using the share interface instead! See \fICURLOPT_SHARE(3)\fP and \fIcurl_share_init(3)\fP. .SH DEFAULT 0 .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Subject for removal in the future. Do not use! .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SHARE "(3), " CURLOPT_DNS_CACHE_TIMEOUT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.30000644000175000017500000000362012626067776017707 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_TRANSFER_DECODING 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_TRANSFER_DECODING \- enable/disable HTTP transfer decoding .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_TRANSFER_DECODING, long enabled); .SH DESCRIPTION Pass a long to tell libcurl how to act on transfer decoding. If set to zero, transfer decoding will be disabled, if set to 1 it is enabled (default). libcurl does chunked transfer decoding by default unless this option is set to zero. .SH DEFAULT 1 .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.16.2 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_HTTP_CONTENT_DECODING "(3), " CURLOPT_ACCEPT_ENCODING "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.30000644000175000017500000000341312626067776017061 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_SERVER_CSEQ 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_SERVER_CSEQ \- set the RTSP server CSEQ number .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_SERVER_CSEQ, long cseq); .SH DESCRIPTION Pass a long to set the CSEQ number to expect for the next RTSP Server->Client request. \fBNOTE\fP: this feature (listening for Server requests) is unimplemented. .SH DEFAULT 0 .SH PROTOCOLS RTSP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_RTSP_CLIENT_CSEQ "(3), " CURLOPT_RTSP_STREAM_URI "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SERVICE_NAME.pdf0000644000175000017500000000730712652070453016666 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥UÛnÛF}çW ’‡. i³»¼.ZP¶U"‰ª´rcØ…ÀHk‹…L*$#ÿÐ_É?v–É’ö¡ ‚äìÌ9gÎ ?£˜ùµ×ÕƒõfÀ}i1¸·>[¼~ íeõo„溳š3th(A=X7är1ÅSµœG3;däjx-'öŸê=¦s¨ƒGÔÚr]¸ 1~0Žn‰skÃj_l—:)¿.K]å»Êî QÆ‚7iž•ð4µI(¤G}Ñd¼é*9Þ!eÔgTpĶBè¡Séô}G†T è;¾9N&[ý…¼1Ž{Ô“-P2ŽÌó#kÁ¨Ëèsa^³†ÃËœ$ð æÓIôk ¥.¾¤+ Yò khg€|ÌêÓ°.;¿žÄÓùp~Z¼© “×i¶Úî×~2º½1tó³ (ìÈR ¬UŽ1çÒÞÖ¯àb“dë­îÁ)~£¹sJ¢«MRÀ…~kÿø_èßEóËÙpª†ñÄ Âp¯éÀ L¦ÉAyIC¯ÑÝœ¨ BÊ’¶:$%ì’1Tº€*ÇeU¤Ù=lòíÚ\«nã¬si(iÀ»nÖÒŸöÓ¥òXÕiZšß™d]Ï((¼Yë;›y\I’ý¶:é(¤%¼úM©é+ÚøNŠÀ?³ŠÚ`\chH¶ÛÜeܓ䱄¯ùÞ°B²Ù=櫨Ý÷#s­!ù”wnn¤äD—¶´¾èƒ„§]µ—Ÿtf:kâ:aÆ¥ÂÚê Ê0Ú¨+ˆ9‘HÀüNÃËxtfË>§2p\÷ÐÒq^VMÈw-}Œ§£¨³Gø]{¨#îò Šwõc¬ì…ásÞ®4‘‡jÆ7 ®à8è8˾Ç[òd8¼ކêú”*è¸XãiÉ`½ÖkH3PHÊþë ™Ej1›À•Í—JŸ“ÁhµCôœ²!YfºÚíâ‹–ñHW¶þA'•ûÝ./*½îµA‹É‡Il›2’ òÇd×chNfyÕƒ¼hv±0K‚´‰jÿ²Gãxfÿ` Ú8Œ‡wI»]¯St*#wU}¼‘SÎY+_kï.4<ÚË ?$8°iVîïla‰€ü½JuVÁF';(w NÖ »„¨¹÷tF Fóø¨ó™Iºv´·裒\vC<É¥~ûô¬ÛùXÈÎõW¤wZAù~ÇúÿV×Ó³o‹ƒ #”á³âø!D%8ô]!LÓmúÉlõ΀}îyÒ¥á¼ßg p§Ôʺ‡¹å&U¤¬ßñ÷,ö´endstream endobj 6 0 obj 963 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:35+01:00 2016-01-27T08:26:35+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001286 00000 n 0000003176 00000 n 0000001227 00000 n 0000001067 00000 n 0000000015 00000 n 0000001048 00000 n 0000001351 00000 n 0000001605 00000 n 0000001540 00000 n 0000001472 00000 n 0000001392 00000 n 0000001422 00000 n 0000001687 00000 n 0000001753 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<23CA8D524CBCDF9194B20C8C14E9530B><23CA8D524CBCDF9194B20C8C14E9530B>] >> startxref 3330 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_MAIL_RCPT.html0000644000175000017500000000612712652070415016530 00000000000000 CURLOPT_MAIL_RCPT man page

NAME

CURLOPT_MAIL_RCPT - list of SMTP mail recipients

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_RCPT,
                          struct curl_slist *rcpts);

DESCRIPTION

Pass a pointer to a linked list of recipients to pass to the server in your SMTP mail request. The linked list should be a fully valid list of struct curl_slist structs properly filled in. Use curl_slist_append(3) to create the list and curl_slist_free_all(3) to clean up an entire list.

When performing a mail transfer, each recipient should be specified within a pair of angled brackets (<>), however, should you not use an angled bracket as the first character libcurl will assume you provided a single email address and enclose that address within brackets for you.

When performing an address verification (VRFY command), each recipient should be specified as the user name or user name and domain (as per Section 3.5 of RFC 5321).

When performing a mailing list expand (EXPN command), each recipient should be specified using the mailing list name, such as "Friends" or "London-Office".

DEFAULT

NULL

PROTOCOLS

SMTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0. The VRFY and EXPN logic was added in 7.34.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_MAIL_FROM, CURLOPT_MAIL_AUTH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.30000644000175000017500000000330612626067776016451 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIMARY_PORT 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIMARY_PORT \- get the latest destination port number .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_PORT, long *portp); .SH DESCRIPTION Pass a pointer to a long to receive the destination port of the most recent connection done with this \fBcurl\fP handle. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.21.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.html0000644000175000017500000000646512652070414017313 00000000000000 CURLOPT_FTP_FILEMETHOD man page

NAME

CURLOPT_FTP_FILEMETHOD - select directory traversing method for FTP

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_FILEMETHOD,
                          long method);

DESCRIPTION

Pass a long telling libcurl which method to use to reach a file on a FTP(S) server.

This option exists because some server implementations aren't compliant to what the standards say should work.

The argument should be one of the following alternatives:

CURLFTPMETHOD_MULTICWD

libcurl does a single CWD operation for each path part in the given URL. For deep hierarchies this means many commands. This is how RFC 1738 says it should be done. This is the default but the slowest behavior.

CURLFTPMETHOD_NOCWD

libcurl does no CWD at all. libcurl will do SIZE, RETR, STOR etc and give a full path to the server for all these commands. This is the fastest behavior.

CURLFTPMETHOD_SINGLECWD

libcurl does one CWD with the full target directory and then operates on the file "normally" (like in the multicwd case). This is somewhat more standards compliant than 'nocwd' but without the full penalty of 'multicwd'.

DEFAULT

CURLFTPMETHOD_MULTICWD

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.15.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_FTPLISTONLY (3), CURLOPT_FTP_SKIP_PASV_IP

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIE.30000644000175000017500000000636312626067776015350 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIE \- set contents of HTTP Cookie header .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIE, char *cookie); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. It will be used to set a cookie in the HTTP request. The format of the string should be NAME=CONTENTS, where NAME is the cookie name and CONTENTS is what the cookie should contain. If you need to set multiple cookies, set them all using a single option concatenated like this: "name1=content1; name2=content2;" etc. This option sets the cookie header explicitly in the outgoing request(s). If multiple requests are done due to authentication, followed redirections or similar, they will all get this cookie passed on. The cookies set by this option are separate from the internal cookie storage held by the cookie engine and will not be modified by it. If you enable the cookie engine and either you've imported a cookie of the same name (e.g. 'foo') or the server has set one, it will have no effect on the cookies you set here. A request to the server will send both the 'foo' held by the cookie engine and the 'foo' held by this option. To set a cookie that is instead held by the cookie engine and can be modified by the server use \fICURLOPT_COOKIELIST(3)\fP. Using this option multiple times will only make the latest string override the previous ones. This option will not enable the cookie engine. Use \fICURLOPT_COOKIEFILE(3)\fP or \fICURLOPT_COOKIEJAR(3)\fP to enable parsing and sending cookies automatically. .SH DEFAULT NULL, no cookies .SH PROTOCOLS HTTP .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); curl_easy_setopt(curl, CURLOPT_COOKIE, "tool=curl; fun=yes;"); curl_easy_perform(curl); } .fi .SH AVAILABILITY If HTTP is enabled .SH RETURN VALUE Returns CURLE_OK if HTTP is enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_COOKIEFILE "(3), " CURLOPT_COOKIEJAR "(3), " CURLOPT_COOKIELIST "(3), " .BR CURLOPT_HTTPHEADER "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.30000644000175000017500000000507412626067776016526 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_FILEMETHOD 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_FILEMETHOD \- select directory traversing method for FTP .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_FILEMETHOD, long method); .SH DESCRIPTION Pass a long telling libcurl which \fImethod\fP to use to reach a file on a FTP(S) server. This option exists because some server implementations aren't compliant to what the standards say should work. The argument should be one of the following alternatives: .IP CURLFTPMETHOD_MULTICWD libcurl does a single CWD operation for each path part in the given URL. For deep hierarchies this means many commands. This is how RFC1738 says it should be done. This is the default but the slowest behavior. .IP CURLFTPMETHOD_NOCWD libcurl does no CWD at all. libcurl will do SIZE, RETR, STOR etc and give a full path to the server for all these commands. This is the fastest behavior. .IP CURLFTPMETHOD_SINGLECWD libcurl does one CWD with the full target directory and then operates on the file \&"normally" (like in the multicwd case). This is somewhat more standards compliant than 'nocwd' but without the full penalty of 'multicwd'. .SH DEFAULT CURLFTPMETHOD_MULTICWD .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.15.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_FTPLISTONLY "(3), " CURLOPT_FTP_SKIP_PASV_IP "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TCP_NODELAY.html0000644000175000017500000000523412652070415016755 00000000000000 CURLOPT_TCP_NODELAY man page

NAME

CURLOPT_TCP_NODELAY - set the TCP_NODELAY option

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_NODELAY, long nodelay);

DESCRIPTION

Pass a long specifying whether the TCP_NODELAY option is to be set or cleared (1 = set, 0 = clear). The option is cleared by default. This will have no effect after the connection has been established.

Setting this option will disable TCP's Nagle algorithm. The purpose of this algorithm is to try to minimize the number of small packets on the network (where "small packets" means TCP segments less than the Maximum Segment Size (MSS) for the network).

Maximizing the amount of data sent per TCP segment is good because it amortizes the overhead of the send. However, in some cases small segments may need to be sent without delay. This is less efficient than sending larger amounts of data at a time, and can contribute to congestion on the network if overdone.

DEFAULT

0

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_SOCKOPTFUNCTION, CURLOPT_TCP_KEEPALIVE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.html0000644000175000017500000001100112652070415017304 00000000000000 CURLMOPT_TIMERFUNCTION man page

NAME

CURLMOPT_TIMERFUNCTION - set callback to receive timeout values

SYNOPSIS

#include <curl/curl.h>
 
int timer_callback(CURLM *multi,    /* multi handle */
                   long timeout_ms, /* see above */
                   void *userp);    /* private callback pointer */
 
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_TIMERFUNCTION, timer_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

Certain features, such as timeouts and retries, require you to call libcurl even when there is no activity on the file descriptors.

Your callback function timer_callback should install a non-repeating timer with an interval of timeout_ms. Each time that timer fires, call either curl_multi_socket_action(3) or curl_multi_perform(3), depending on which interface you use.

A timeout_ms value of -1 means you should delete your timer.

A timeout_ms value of 0 means you should call curl_multi_socket_action(3) or curl_multi_perform(3) (once) as soon as possible.

timer_callback will only be called when the timeout_ms changes.

The userp pointer is set with CURLMOPT_TIMERDATA.

The timer callback should return 0 on success, and -1 on error. This callback can be used instead of, or in addition to, curl_multi_timeout(3).

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

static gboolean timeout_cb(gpointer user_data) {
    if (user_data) {
        g_free(user_data);
        curl_multi_setopt(curl_handle, CURLMOPT_TIMERDATA, NULL);
    }
    int running;
    curl_multi_socket_action(multi, CURL_SOCKET_TIMEOUT, 0, &running);
    return G_SOURCE_REMOVE;
}
 
static int timerfunc(CURLM *multi, long timeout_ms, void *userp) {
    guint *id = userp;
 
    if (id)
        g_source_remove(*id);
 
    // -1 means we should just delete our timer.
    if (timeout_ms == -1) {
        g_free(id);
        id = NULL;
    } else {
        if (!id)
            id = g_new(guint, 1);
        *id = g_timeout_add(timeout_ms, timeout_cb, id);
    }
    curl_multi_setopt(multi, CURLMOPT_TIMERDATA, id);
    return 0;
}
 
curl_multi_setopt(multi, CURLMOPT_TIMERFUNCTION, timerfunc);

AVAILABILITY

Added in 7.16.0

RETURN VALUE

Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

CURLMOPT_TIMERDATA, CURLMOPT_SOCKETFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.html0000644000175000017500000001272112652070415017251 00000000000000 CURLOPT_HEADERFUNCTION man page

NAME

CURLOPT_HEADERFUNCTION - callback that receives header data

SYNOPSIS

#include <curl/curl.h>

size_t header_callback(char *buffer,   size_t size,   size_t nitems,   void *userdata);

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADERFUNCTION, header_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

This function gets called by libcurl as soon as it has received header data. The header callback will be called once for each header and only complete header lines are passed on to the callback. Parsing headers is very easy using this. The size of the data pointed to by buffer is size multiplied with nmemb. Do not assume that the header line is zero terminated! The pointer named userdata is the one you set with the CURLOPT_HEADERDATA option. This callback function must return the number of bytes actually taken care of. If that amount differs from the amount passed in to your function, it'll signal an error to the library. This will cause the transfer to get aborted and the libcurl function in progress will return CURLE_WRITE_ERROR.

A complete HTTP header that is passed to this function can be up to CURL_MAX_HTTP_HEADER (100K) bytes.

If this option is not set, or if it is set to NULL, but CURLOPT_HEADERDATA is set to anything but NULL, the function used to accept response data will be used instead. That is, it will be the function specified with CURLOPT_WRITEFUNCTION, or if it is not specified or NULL - the default, stream-writing function.

It's important to note that the callback will be invoked for the headers of all responses received after initiating a request and not just the final response. This includes all responses which occur during authentication negotiation. If you need to operate on only the headers from the final response, you will need to collect headers in the callback yourself and use HTTP status lines, for example, to delimit response boundaries.

When a server sends a chunked encoded transfer, it may contain a trailer. That trailer is identical to a HTTP header and if such a trailer is received it is passed to the application using this callback as well. There are several ways to detect it being a trailer and not an ordinary header: 1) it comes after the response-body. 2) it comes after the final header line (CR LF) 3) a Trailer: header among the regular response-headers mention what header(s) to expect in the trailer.

For non-HTTP protocols like FTP, POP3, IMAP and SMTP this function will get called with the server responses to the commands that libcurl sends.

DEFAULT

Nothing.

PROTOCOLS

Used for all protocols with headers or meta-data concept: HTTP, FTP, POP3, IMAP, SMTP and more.

EXAMPLE

static size_t header_callback(char *buffer, size_t size,
                              size_t nitems, void *userdata)
{
  /* received header is nitems * size long in 'buffer' NOT ZERO TERMINATED */
  /* 'userdata' is set with CURLOPT_HEADERDATA */
  return nitems * size;
}
 
CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, header_callback);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_HEADERDATA, CURLOPT_WRITEFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.html0000644000175000017500000000445612652070415017225 00000000000000 CURLINFO_CONTENT_TYPE man page

NAME

CURLINFO_CONTENT_TYPE - get Content-Type

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_TYPE, char **ct);

DESCRIPTION

Pass a pointer to a char pointer to receive the content-type of the downloaded object. This is the value read from the Content-Type: field. If you get NULL, it means that the server didn't send a valid Content-Type header or that the protocol used doesn't support this.

The ct pointer will be NULL or pointing to private memory you MUST NOT free it - it gets freed when you call curl_easy_cleanup(3) on the corresponding CURL handle.

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.9.4

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.30000644000175000017500000000341212626067776017677 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_UPLOAD \- get the specified size of the upload .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_UPLOAD, double *content_length); .SH DESCRIPTION Pass a pointer to a double to receive the specified size of the upload. Since 7.19.4, this returns -1 if the size isn't known. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.6.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.pdf0000644000175000017500000001176712652070451017357 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXmoã¸þî_A V^ØŒH½PꜬ÷;o¼uœë-’"m9VW–¼z‰×÷úWú;CŠ”ä${E€$6)Î3ÏÌ<3Ô7bSFlüiþ®÷ƒ‹… OåÀ&Oƒo&Ióg½'—KØàËí@=ÈàD„ B²Ü¸M¹O–ÇÁ½uu·˜Í?/ÿ8]\ß|œ¼»¹Z^Ïo,çaHÖu‘>ÆQyz,ã*?TÃ1÷ljÛ‚Iž•ä‡Ïÿµüe0c Ì®U¨hè!0ÌÖÍdøUæQ/tìr3°>M‡ËwÜÄ®-Șq\¶û›ÐÉÉ:JÓU´þJªœŠü©ˆË’ìã*.ȶÎÖ]ß4DcæÓ@¸ýr3ÿ|{}Û‡!·HÖ_’lÖ›˜ü IºÀ_t÷wÜÎ]ôlùþÞJ²Ê˜Ô˜¬ç!¸c3/´òdCÞ¯Ó$ΪÃH²åyÚ½%ÙÏ·CîÒ0äÂÚ>Vd“Vy¥j3nT–^ßšå:¾‡{!~6GˆVr?Ö+?´]wm¿eµF«Üÿ\ß:> RÐ/$f£â¶Î¹óìzKäý.Ê6i6 ô·ªÅÁЍƒ¾–0ÑQÚ{k” d5¬Jý°Ð*³ePN ô9iÙ/ØÕ!Ó6·€Nð7ÏÒ9D%lS ÂÀì%A”æ*Û"ßK‚¢Ã!MÖ‘0üJëm{&žh¤¤Ý ”¤ÊAÓ@¾ÞÉd)¡y9î[¶„Üb’YŪ9”å®=“¬‹š€ø“]Tv«|JB²z¿‚eЫթŠËóìá" Ž£ë¶i“gCDy­a6ZãB«rZίPRƒÔÈ3Î Øña›ãÜú~ˆ×’²izŸ` îiú È+Ôc펒!áEWÌ;®à 丒©ì8¼º¾)ØÝ-‚s¼›\)°K™)øLé† íÑõ:Bëȃ8$_™“-nsantB“›Q1ô<@ŽÞt 3Ž¢ŒÔoÄÀ7ý´üÿÐŒÖZšëø…V¾I­íØv`¾¤Ö§a`„±e´ÑÙ–Ý^…aSê VÈ4yÌVsРʬ»ìk&‹Èï*ƒT Õ¡Çì¢Î¤À³,€g™°žê=¶Õg3pEi 6•œ×³é‹(†°öG\ääÁÂN„0¦²z[Àèa¢ƒ>°Èk{êè“C9×»§ªå¼V:¤rÌõ(·=3_ÊPyfsjÚ)Ï|\GC¦”À0Ì›E¥ª®+¸…4ú¢!7õXŒ=sú8¹œ/–Ó—_¯&³Ù¥nœ2IÏ„“«60œºmYýÚ¯9ŸúP¼7Ú2Q?Ô³ƒìQ±¼ÞâÔÝ‚—„˹}Úƒæ$jì”ÊÅ|h™ÉZ¯AHÙ:)¶Ì”,Ù‚«“ÍàwhF8”!f\;Âæì^»­³¯šQN;MÏ-òC‘DU c3M@¢í[!{ÑÝð¶¥'¸˜.†w™5ÿy1½½moÛ‘mKç_£6þÚGz&•s/§~¡¸­©Pƒ::=Ò¢uUƒ—'œ ÖèËk‡j•Ó|{ûØäŒ§æ&¸‡ÌÕ¶'wŠ_ÔËæÅ÷Ýgí0ÖúŠ·'!„ã¶ØK¥¸Q`¸iG#C?Î0›KOÿ¾)¨{Ìj¦QwAU¡<4+Qõ®;%ëX¯ÓˆM4ÞŽC £çxVPä¸õŠáW±ìÓèãeϰI Ht•ŽãÕÁ1§(Ę’ó%™ ãÂöõ[–«ùìì°÷·-ùIšþÉÅzúûäÓçÙÙûšÎ]zWU‡¿^4/H¢ïßi_4q¸X_hæ1§è®Ú§Mìñ²xþʨgóCIÂä72iÄwúe]Ï&—׳ëå—>:È(Ç=/ÝÉÛ6´AAÄlJ–=9-âC ºQž&óÍ ­Pk«v¯êóå[±¾cxíTȽµ˜.ï7ä·!s ÕûÌšÌî¦gÞáXõ õ6nú8ÿõ•*ì¿ÝšNÉdv;o·øÖí(lnÜH ÆJñ·ì„¡Ãuii E0ê›e¨ÿ6?'QÉ\Æ ]%|qò'˜£Æž ~§Sëâ‡EAí!´ŠÛ³˜ ¿Ôá0.H®©†ÇM—ƒÀÏÿºÖÅ9endstream endobj 6 0 obj 2290 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:33+01:00 2016-01-27T08:26:33+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002614 00000 n 0000004504 00000 n 0000002555 00000 n 0000002395 00000 n 0000000015 00000 n 0000002375 00000 n 0000002679 00000 n 0000002933 00000 n 0000002868 00000 n 0000002800 00000 n 0000002720 00000 n 0000002750 00000 n 0000003015 00000 n 0000003081 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4658 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.html0000644000175000017500000000424112652070415017470 00000000000000 CURLOPT_LOW_SPEED_LIMIT man page

NAME

CURLOPT_LOW_SPEED_LIMIT - set low speed limit in bytes per second

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOW_SPEED_LIMIT, long speedlimit);

DESCRIPTION

Pass a long as parameter. It contains the average transfer speed in bytes per second that the transfer should be below during CURLOPT_LOW_SPEED_TIME seconds for libcurl to consider it to be too slow and abort.

DEFAULT

0, disabled

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_LOW_SPEED_TIME, CURLOPT_TIMEOUT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.30000644000175000017500000000417412626067776017066 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYSTATUS 3 "04 Dec 2014" "libcurl 7.40.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYSTATUS \- verify the certificate's status .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYSTATUS, long verify); .SH DESCRIPTION Pass a long as parameter set to 1 to enable or 0 to disable. This option determines whether libcurl verifies the status of the server cert using the "Certificate Status Request" TLS extension (aka. OCSP stapling). Note that if this option is enabled but the server does not support the TLS extension, the verification will fail. .SH DEFAULT 0 .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.41.0. This option is currently only supported by the OpenSSL, GnuTLS and NSS TLS backends. .SH RETURN VALUE Returns CURLE_OK if OCSP stapling is supported by the SSL backend, otherwise returns CURLE_NOT_BUILT_IN. .SH "SEE ALSO" .BR CURLOPT_SSL_VERIFYHOST "(3), " .BR CURLOPT_SSL_VERIFYPEER "(3), " .BR CURLOPT_CAINFO "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_TLS_SESSION.pdf0000644000175000017500000001111512652070457016720 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•XÛnÛF}×W,Ї†´á’Ë[RPl%U­P®Dç»him3¦H…¤ìºEÿ ¿ÒìÌ.o²å8…Û"wgÎÌœ=3ë¯Ä Œø©~/×½—3—\=ƒ\õ¾ö˜|Iª_Ë5y„—=µ‡×$®oQÏ'áºÇ}ê’ð®w¦žÎ&ãàítNæ‹ùh>OƒsÍ:×Ér›' ÷‹+QÆée¦LÛвMgiAžÜ¨ÿþÖÔdàj H|@B}ÁX '=-ê/<¼e6µ} †«žö~¤‡_:ÐMƒrÃ%fâkïÅKþ%,ÏI!Šà‰Wëx€ûs¨'½Í?Ó“ùx¾ëS.‘þ´Ÿât™lW‚üŒ©x‰?èõ/¸Üä2 IJÌ`Á£TËwäà:JW‰èïMVrà¸Ônüe¾]–ÊX™U(hŽTßÎõ×Ãb†%ÍÔ‘懳ñINp1Ô‚Ùª{¢<‰p,†O=[•¤\Ñ£(HD6Yœ–"'e_^è¶ý]¨/¨>p¹¡…×¢Ùy' ¹P–¸Œ£$þK¬ÐZ..[³HË÷iCåDFÀ ¬×0:¦$Ã~ÿ¤¼ŽJår™¥e§$J‰H·k𿊗”è  2ŸOH_äQ~O¶`ºÌrùëV\G7èÜ¢èu Ø8uœ ›h³oÕ³t…{+¼®­sœ‹b#–e¼S ËhÒmPKÆs jírj;¾_­PåÀd¦Q²Cu•¦m.Hv â‚lÓ•È“{Œ²¡îpêû¦«QuB¹M9ûd³ÄàØÊKˆFÖÑ=†“bÙdn LBg¶ög™GX{‘—ñ7H¦‡-_G¥:xPLõ³_‹ Ùô<,£J×­èÏô|×yŒEZÊR\ns€“Mž-1ÚôªOŠíòZæÑô=ÚQj0¦àG>ÝBšnubö˜«çV %ÁT·€ežékáè•ʘ5sš•rÔȘBBeq¿†Þ=3¬=N¢‹DHìг-%Æ4hµÐ÷æ€>³~¨ÊïæÇ〠h}Ùs Œ¦Qiýv;ˆ¯i[µˆìqÌan±ÿO¶FX(Ìv“¬“éd8{º,€Ð°žw„–?ã[ì­² Ÿ¶ s‰oþ˜åùá¯Ã MúJÊ vÞˆÅ>Û¶¡ýglŸ)ãG:GQãŽ6œI’Û&óÝŠ Às_&ëãÙK ?í‡SÖÌ“¼k^K«á'à)…ódÅ'ÓHÑô›B5l …íÁ<Òc«ÌEÕÿ {Ùe³ú¿ p« {dÆB£ÀžjS°ˆÕb àm¶Ge;•-LÍ£( õhˆÃŒ:i¶¼–1^fI"¯–aÓ¦ó¢ ¥w8‚µÓ˜*<Œa6kK_Þo@3¥‘îí¤ ¿yÞI<^†ŸÈAe¯³ë]ºà»›´«t ÝqQµÇEùhÛ™¤ÐÌuídö6NÄ‘(–`‰¤MzáÁ™vUÜÄ%,tà /ÔõF.Û½‘€b¶ Nf5Ç,¯îoŽ[%k`RÃVÜœ†dÚj‡•ujM:œNÜÓ0.¸绩&r6\D0±>sÿ}¾?™ŒêÎë=yC §ÝsÀêÓ~4UMDÖ{tÑÀ ›uîd°ÌPÚ>ü@†m”Ò±æïx2|3žŒÃÏ;Žžž÷ ÒÕ  ´n^Rãû±ži³Qx: ÈÁjßaÚpr:ª ÷8dX/DuË-¦Ç$V#C5(ÃÑŒf}¸]­ª…§Á1Ž×¶ö1€N‰PÜ“ÝC’ÝÛøhD†“ù´ ä!¤‡—lÝ´Õ—=ˆÃåÔmç'ù?‰þ®Y†·³FÞ[Ã…(!ÀÝ컌²G¦ .P^“+t hÊÁ±fÛ–¯ö¹ØpJ¼a4C3£°÷;|þ_§¤@endstream endobj 6 0 obj 1864 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:39+01:00 2016-01-27T08:26:39+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002188 00000 n 0000004078 00000 n 0000002129 00000 n 0000001969 00000 n 0000000015 00000 n 0000001949 00000 n 0000002253 00000 n 0000002507 00000 n 0000002442 00000 n 0000002374 00000 n 0000002294 00000 n 0000002324 00000 n 0000002589 00000 n 0000002655 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4232 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.pdf0000644000175000017500000000751712652070456017434 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UÛnÛF}çW ÐÊ07\.o‹[ÔÈ’*Riƒ¸re± H…¤bø£ú]Þ¥ âgΙsfö+˜„‚)?ÍwtÒÞmAyÖ²kxiòE&B=lõ0¨ã0®#ø@œÁB  ¥ÝÊ<³Pû?ÿ¬ pŸendstream endobj 6 0 obj 1105 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:38+01:00 2016-01-27T08:26:38+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001429 00000 n 0000003312 00000 n 0000001370 00000 n 0000001210 00000 n 0000000015 00000 n 0000001190 00000 n 0000001494 00000 n 0000001748 00000 n 0000001683 00000 n 0000001615 00000 n 0000001535 00000 n 0000001565 00000 n 0000001830 00000 n 0000001889 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3466 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIEJAR.html0000644000175000017500000000651112652070414016460 00000000000000 CURLOPT_COOKIEJAR man page

NAME

CURLOPT_COOKIEJAR - file name to store cookies to

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEJAR, char *filename);

DESCRIPTION

Pass a filename as char *, zero terminated. This will make libcurl write all internally known cookies to the specified file when curl_easy_cleanup(3) is called. If no cookies are known, no file will be created. Specify "-" as filename to instead have the cookies written to stdout. Using this option also enables cookies for this session, so if you for example follow a location it will make matching cookies get sent accordingly.

Note that libcurl doesn't read any cookies from the cookie jar. If you want to read cookies from a file, use CURLOPT_COOKIEFILE.

If the cookie jar file can't be created or written to (when the curl_easy_cleanup(3) is called), libcurl will not and cannot report an error for this. Using CURLOPT_VERBOSE or CURLOPT_DEBUGFUNCTION will get a warning to display, but that is the only visible feedback you get about this possibly lethal situation.

Since 7.43.0 cookies that were imported in the Set-Cookie format without a domain name are not exported by this option.

DEFAULT

NULL

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Along with HTTP

RETURN VALUE

Returns CURLE_OK if HTTP is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_COOKIEFILE, CURLOPT_COOKIE, CURLOPT_COOKIELIST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.30000644000175000017500000000402712626067776017336 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_SESSIONID_CACHE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_SESSIONID_CACHE \- enable/disable use of the SSL session-ID cache .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_SESSIONID_CACHE, long enabled); .SH DESCRIPTION Pass a long set to 0 to disable libcurl's use of SSL session-ID caching. Set this to 1 to enable it. By default all transfers are done using the cache enabled. While nothing ever should get hurt by attempting to reuse SSL session-IDs, there seem to be or have been broken SSL implementations in the wild that may require you to disable this in order for you to succeed. .SH DEFAULT 1 .SH PROTOCOLS All TLS-based .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.16.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_DNS_CACHE_TIMEOUT "(3), " CURLOPT_SSLVERSION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.pdf0000644000175000017500000000706312652070433020302 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUkÚFýî_q¥~¨]ÁìŒ=~©Q%œ”„؆¤ÑR!{§^{ƒVéêìñƒ’Ý -Ö2gî=ç܇¿% ¨ü´Ïí½v5wá®Ò(Üi_5¦¡}lïáµ@€'·Zs‡k‚ë[ÄóAÜk×úh9ŸÆ3±þ]ˆÙZ̃hñ&œ¯Çá(O¢·+ÝZs˜E(Ó·‡}¾N7Õ·u•ÖåC ø—•E%&ñýÿì/ñNRb2$°E~>ò#¾-)Zˆ©¦Gñ3JÂSfÛ·¶H4ýChˆ/O™”pê™êøùÜð/¤Åæ&O¯’¬’O8¨÷›¢ºM÷¤Û2ÉŠ»&ÅNC$5dñT’Åç(ž-&‹S& Ò°ø)+¶ù!Iá•4ëJ~‘Ýonr%NÒÄT)œ›¹RGðËnS$y:€çõ Ð"Ç$vŸ8/‹»Vb²2~½Ôá{ Ý)‡‹Ñ|2“8’X¬³›‚|GÕl#1ª$>ñì¦ ”X5=jzUÁº„:Ísȳ©v¥’N<‰ÄzR‹˜œ7÷¯õÇÚ0=¬"ÓËê •Á´ å^[ô-6YqY&“[@ßdÂÒ}9¸„Àc†DnRh ž ”Nfy„q³“†Ù¹-E\ëY‘AVCVuvÂJOÒ[­¤ÔµôÍ!¯Wé5&eZÁvw(þî!xç’ÏÍ7a¤N‹ù¤“(8ÊFEž¢Ÿõó7ã%™ 1ž½Ø‘W×Z È ­;ß´…¶1‚ôqŒ³Öè`ÙØ#´£g:–ÛžNEßÇ‘=㺮Åû>a/p˜Í[ ÜRÇ$¸T’¡I¨í+I±€¸OhZÄ¥N·Fñôlú³$Ž,äļ@$ü3ø0›†]ç{?ì|qä;µ­¯ãÖ-Ûó.ÖØûÙg“¦6ƒ|„਋Çf­x}2 ^O¦ñùT–ÁâÞYŃ$ÁË p æ0Ÿ×z­ÏC±œGðÑ`'¾Ãô`º U~O2âÓú°/*µÂuüp2ê]ú´徯™ÜV-p½bòõOÑ:V‹E^,Êš´¹~¼UÂé"> 9«ÂÉ.Å‘#ѯÂ3Ã||gtm«Þ8ƒÓ°˜Õq¨Ùí .t`ØhŽgs}4 ñÿ0j£ŸúÄÅí‹ðCNMâ`™,§‰Üí—X.¡ÆÙ¶Ï‰­ã‹ïÝ¡“2®‚ó¾·Õø„Bû?ÿ¸@ªendstream endobj 6 0 obj 921 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:19+01:00 2016-01-27T08:26:19+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001244 00000 n 0000003048 00000 n 0000001185 00000 n 0000001025 00000 n 0000000015 00000 n 0000001006 00000 n 0000001309 00000 n 0000001484 00000 n 0000001419 00000 n 0000001350 00000 n 0000001380 00000 n 0000001566 00000 n 0000001625 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<9441B5E67CEBBCD5B4F60FF29068C7A9><9441B5E67CEBBCD5B4F60FF29068C7A9>] >> startxref 3202 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_TIMEOUT.html0000644000175000017500000000712612652070415016304 00000000000000 CURLOPT_TIMEOUT man page

NAME

CURLOPT_TIMEOUT - set maximum time the request is allowed to take

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT, long timeout);

DESCRIPTION

Pass a long as parameter containing timeout - the maximum time in seconds that you allow the libcurl transfer operation to take. Normally, name lookups can take a considerable time and limiting operations to less than a few minutes risk aborting perfectly normal operations. This option may cause libcurl to use the SIGALRM signal to timeout system calls.

In unix-like systems, this might cause signals to be used unless CURLOPT_NOSIGNAL is set.

If both CURLOPT_TIMEOUT and CURLOPT_TIMEOUT_MS are set, the value set last will be used.

Since this puts a hard limit for how long time a request is allowed to take, it has limited use in dynamic use cases with varying transfer times. You are then advised to explore CURLOPT_LOW_SPEED_LIMIT, CURLOPT_LOW_SPEED_TIME or using CURLOPT_PROGRESSFUNCTION to implement your own timeout logic.

DEFAULT

Default timeout is 0 (zero) which means it never times out during transfer.

PROTOCOLS

All

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* complete within 20 seconds */
  curl_easy_setopt(curl, CURLOPT_TIMEOUT, 20L);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_TIMEOUT_MS, CURLOPT_CONNECTTIMEOUT, CURLOPT_LOW_SPEED_LIMIT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_NOPROXY.30000644000175000017500000000423112626067776015545 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOPROXY 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOPROXY \- disable proxy use for specific hosts .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOPROXY, char *noproxy); .SH DESCRIPTION Pass a pointer to a zero terminated string. The string consists of a comma separated list of host names that do not require a proxy to get reached, even if one is specified. The only wildcard available is a single * character, which matches all hosts, and effectively disables the proxy. Each name in this list is matched as either a domain which contains the hostname, or the hostname itself. For example, example.com would match example.com, example.com:80, and www.example.com, but not www.notanexample.com or example.com.othertld. .SH DEFAULT NULL .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_PROXY "(3), " CURLOPT_PROXYAUTH "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.30000644000175000017500000000425312626067776016533 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECTTIMEOUT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECTTIMEOUT \- timeout for the connect phase .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT, long timeout); .SH DESCRIPTION Pass a long. It should contain the maximum time in seconds that you allow the connection phase to the server to take. This only limits the connection phase, it has no impact once it has connected. Set to zero to switch to the default built-in connection timeout - 300 seconds. See also the \fICURLOPT_TIMEOUT(3)\fP option. In unix-like systems, this might cause signals to be used unless \fICURLOPT_NOSIGNAL(3)\fP is set. .SH DEFAULT 300 .SH PROTOCOLS All .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* complete connection within 10 seconds */ curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10L); curl_easy_perform(curl); } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_TIMEOUT "(3), " CURLOPT_LOW_SPEED_LIMIT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_INTERFACE.30000644000175000017500000000465512626067776015701 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERFACE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_INTERFACE \- source interface for outgoing traffic .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERFACE, char *interface); .SH DESCRIPTION Pass a char * as parameter. This sets the \fIinterface\fP name to use as outgoing network interface. The name can be an interface name, an IP address, or a host name. If the parameter starts with "if!" then it is treated as only as interface name and no attempt will ever be named to do treat it as an IP address or to do name resolution on it. If the parameter starts with \&"host!" it is treated as either an IP address or a hostname. Hostnames are resolved synchronously. Using the if! format is highly recommended when using the multi interfaces to avoid allowing the code to block. If "if!" is specified but the parameter does not match an existing interface, CURLE_INTERFACE_FAILED is returned from the libcurl function used to perform the transfer. .SH DEFAULT NULL, use whatever the TCP stack finds suitable .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY The "if!" and "host!" syntax was added in 7.24.0. .SH RETURN VALUE Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SOCKOPTFUNCTION "(3), " CURLOPT_TCP_NODELAY "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.pdf0000644000175000017500000000776712652070431020151 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VÛnÛF}×W,Ї’…µÙ+—‹‡”È¢*ÑIƒ¸qm3•HG¤lä£ú]^$ÓIÜBÐ;Ü9çÌ™Y~ASDì«ýÞìF/– ÝT#‚nF_FÔ-¢ök³C/í…äzÔÜC‘bHiŽC’Ýè£w~¹œÅ‹dý:Y¬—ÑjÏWÑ:™^Dñeråñ+ßç˜RosØo×&­¾®+S—w5‚w^•ϰ֜ÿa«¿’7£1ÁŒBò `Ó€ kiáñ%³‘7Ÿø?X¥KÍr’¼‹ÈO>Ÿa ¢Ð˜2»ücèTç;ƒÒí¶ô™À:”Â{0ªKôàkûŸK/Íkt]îì€ö¦ºbÆá}„r 0Ç4À¡Cµú0«éê16âpy?åÅf{È úÍŠ÷Â~àÛßm8ޮŽ)!`(î•[B¿Ü¦E¶5gèGA1†¥ÕŒË Õjv¶µ‰œ– «°](‹§Hy¨¯ü_ð§Éž¯¢ÕùrºH¦ñÜFC©l ø ΋´O«q(›œ“– TU…R´ Ø$ÀT ï<=T¦BÛü“ÕÁT@i«?%…Å,Z-…øË€ÑcVÚd½3û¼ÌЕ—°÷¦,²êÊGeê[pÆ®<àçëÆ(õmZ»ë•ÙßûàCBtè™=Ê«ÆÁ48PaOÙ9 `PUK˜`É\êÎiuú· f²×7#Áp@XüÑ3¹Ï Ã6OQº$N@ÆoÇÆné4ôö€q"ˆÙÙíLU¥7Æù8E›r·÷ Oþ›–PUAËX-ªöt™I3ì €È1‚•à.ãûÛ|kúúÀí6^ X÷ð”hK ½”ƒÇº3@7Þ»ÔLjƒÊn&4Ž¢<À’·²x÷æÄJ,Ô¡hö{€^5•ïÝÁLh'V?ÍWfažš—…èJ§>ˆŒ pXó“¯ÚŸT%ÄœKÝ&2Vg(„Éœ„\…à ÝIH!T8 «òkNϸ ðùPlìEy};`C¹ÄŒÉgÙ„\~ŸwöµWZ(’uÁí}«<Ø^JÚ1”òÉì;ÆLi|Ò §ðNúR`Úû46§Ö¶ÁoüPí ™¬»að Û_3È£Ãg$ùŽøéœcÂ\?šs¯Ûù&Eè* ±¶š-&—n•Z¸í ÅÞÛYÒK}„`­” tòÌËÂ<…òèXY,[‚;0Vj«Ý¦xÏ–.NPÜç„Q¡HЗçñlp*l 8Ž@ šÏàˆþœ\,fQ7òÃïŽüäƒrÛÉ ˆWq«— Ã'çýXhÙg³²62y‡&GZ0‘$íÂt6y9M“ƒBKÌEØ[4ÛdYÓh CÒðÇ\?zË(¹\ÎÑ;Ÿ‚Uu@½Éì2jø”2Ä›ú°/*w0Gëø­mmûì#®:ÜÝ•ûÚdgÈÎß&ârþvûð ñ~¾ŽÝQjï(Ê?û”Eh2[ÅGù0l†Yg ×$g7Rfj8gÎãù<:O¾½£üŸ;6cž×`>tyf±>pÇÁûõjE¯Ö³éÅ4Oa iõ$%h$ìõ1— ͶÝ­ ùü1•R ,=xä|s(#T¸ÍEß+Ôn%£?àõ/.e׌endstream endobj 6 0 obj 1273 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:17+01:00 2016-01-27T08:26:17+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001597 00000 n 0000003480 00000 n 0000001538 00000 n 0000001378 00000 n 0000000015 00000 n 0000001358 00000 n 0000001662 00000 n 0000001916 00000 n 0000001851 00000 n 0000001783 00000 n 0000001703 00000 n 0000001733 00000 n 0000001998 00000 n 0000002057 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3634 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_KRBLEVEL.pdf0000644000175000017500000000760112652070434016170 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VÛŽÛ6}÷W ÐKÁš)ê¦(à$ àDk¹¶œ6ȆV¦c5ZÉ‘ä,òù•þc‡ÔÅ^ï¶AaÀ‚Dræœ37~‹P°Ô¯{¦w£çK>Õ# >¾Œ¨^„î‘ÞÁË7øêC¼µg(x ±ñy–ÛO“WQxÑ”¶@' J™ÿÆü1½^„Aßûüí}qtžS´¯×Q§—ãû¦á„ µsð¦dm cú¦'ZqÚ7†Y8}9 gñ‡‡Ü06÷/“A7ˆvZýnLœÚ6ßÏEiâ‚yÆ}¡ÚñÙpáí`=TNzáÙ?H›Æ2ˆ×Ë9¼7©f]jLÃuÐz,—‹[Z„KÙ«î*l¢wµÍª ©,·WݦõüÝ<2•a1ã÷ù&ÒóI,Êæ ;“ö«d&^pŒ]£·ÒSœF} všîe%[1s}%fVÔÇÝ ç÷4à {™ >$©|ªæ¨‡ñrίAÓpòñ"Á.‡ÿEø±¥s·K} »zh ¹§éÒÃجV¶ÞÉ\!ÃëŸG\Cê–à¶šåÙ­ºµ`–Ø±Ì uÃÊÀ^ûöX³(×ìùP–T™ âÑoøûÕm°^endstream endobj 6 0 obj 1247 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:20+01:00 2016-01-27T08:26:20+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001571 00000 n 0000003382 00000 n 0000001512 00000 n 0000001352 00000 n 0000000015 00000 n 0000001332 00000 n 0000001636 00000 n 0000001811 00000 n 0000001746 00000 n 0000001677 00000 n 0000001707 00000 n 0000001893 00000 n 0000001959 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3536 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.html0000644000175000017500000000442612652070415020475 00000000000000 CURLOPT_HTTP_TRANSFER_DECODING man page

NAME

CURLOPT_HTTP_TRANSFER_DECODING - enable/disable HTTP transfer decoding

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_TRANSFER_DECODING,
                         long enabled);

DESCRIPTION

Pass a long to tell libcurl how to act on transfer decoding. If set to zero, transfer decoding will be disabled, if set to 1 it is enabled (default). libcurl does chunked transfer decoding by default unless this option is set to zero.

DEFAULT

1

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.16.2

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_HTTP_CONTENT_DECODING, CURLOPT_ACCEPT_ENCODING

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_NOSIGNAL.html0000644000175000017500000000543112652070415016365 00000000000000 CURLOPT_NOSIGNAL man page

NAME

CURLOPT_NOSIGNAL - skip all signal handling

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOSIGNAL, long onoff);

DESCRIPTION

If onoff is 1, libcurl will not use any functions that install signal handlers or any functions that cause signals to be sent to the process. This option is here to allow multi-threaded unix applications to still set/use all timeout options etc, without risking getting signals.

If this option is set and libcurl has been built with the standard name resolver, timeouts will not occur while the name resolve takes place. Consider building libcurl with the c-ares or threaded resolver backends to enable asynchronous DNS lookups, to enable timeouts for name resolves without the use of signals.

Setting CURLOPT_NOSIGNAL to 1 makes libcurl NOT ask the system to ignore SIGPIPE signals, which otherwise are sent by the system when trying to send data to a socket which is closed in the other end. libcurl makes an effort to never cause such SIGPIPEs to trigger, but some operating systems have no way to avoid them and even on those that have there are some corner cases when they may still happen, contrary to our desire. In addition, using CURLAUTH_NTLM_WB authentication could cause a SIGCHLD signal to be raised.

DEFAULT

0

AVAILABILITY

Added in 7.10

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.pdf0000644000175000017500000000756412652070432016772 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VíŽâ6ýÏS\©?šTà±O«U%v6#±Ë’¶«¡B0UHXÍ>C_¥ïØkçf4B"‚kûžsî½Çù”0 êS?ÛÎÍØƒÇ¢Cá±ó½ÃtêÇb b\à«?âU§ÚÃÀãà ‹øâmÇ„Y?uîÛéxFñü.ŽæÓI0¢É×™aÍLXöé\&Åó¼e¾+Íw(¡Ô3ðÇ&Ï xs¯ùwü©Ó£„3L·@4Ñá(@– ñ°cŒúæÏH£Ì!ްd¼ì_3þç >§Ä¦ôWaª0¿ þ™%©¼Yn õ„C!!_ VGžaè!ˆs‰¯sN¾Âh2˜\fÖKtVã§M¶HK ¿)MnÔYÿ®–s[“Qˆ9.x©ÙL‡à—u’-SÙ}U1ÔG)aQ›p·V¢›ªZ!x>¥~ȳG»â83}…˜íjŸ‘ûLnǃ(„#µ‹Âœª&¯’6§ ¾S',Š*£MOaQ˜uXa¹.£¼ŠcB»jµ¤€R„O`°‚r-áhr›Á=#I6°.lJ(ešZL(s]IµZ×y‘o·(&<­eË|ƒbì’¢Ø4-W±³,T²`kÆQÂ]ËyÄö…‰Ñˆ#<³*,¡nCÁxÊzZ<eµF.F¸]SKódYÀÌxZokÅ`™Ëža)W¦ Âw,ÇHi93 L …Z³ÙÊç¨\'¥Úô´ISøw_””¥Üîʆ½^û Wù^õ5înØ ®¹pÝ…Ñi¤ñO諨{ C'ÞF÷á¼àµZ‰"ZÁs~Ðò¹ϚrEªæ¿ÛBÎrDº® µW'ä–£š³Î—Ÿ @«ÿî,}†]šl2ˆLÁÑa\ßèãŒû¨œmŠ-÷е §FNíª[¨û£‰B™# ¹W=”d0ˆŽ.¬ó¢ìž#®Ð®“Ë^a¾§Ê_7‚Õ´Jv.š‹ØŠ–Ëz’x£¨°ÚàjÕ2tÕ0÷\U¹ÀÚÊ—0''¹ž`îø„û|Wçsl_+Šk™Íê„ý©Ž2å̵r×òêè0náœæSQ÷<ϲÛÁgïXd4®!Ø–†À”Qyuƒõ°fŽÐüÂÂ6!·ˆGÝÆÙoÃá ‡EÌAœP +¾ƒ#ø«ÿ%“ùo:Y|‚Á,Uè ÄǰËñý«›©§®Eç”MiZÙBÿ+ôO´(qÖ ×`Øÿ0âo—ܰ hÅþåÅÕWæ‡MX®á]ª÷Æ8ˆ§ãà ™ —ýá4Эûc\/Ëþ¾•ƒyøYÍ/¦QQv»|_Êe”wV+¦£Ï£ÐD_ús4õ¡và,“:ÉÛf@8 O ^b¹¾çƦ%*«_pPcÞÔG¿=t/ÏÅ´nkfGGáØ´ñ•„Ùîõ©ûý:¶Ç}F,HH·:1Ý<è«Æ#–G¨ÙcŽ#lẫO‡ 8ž¯·Û^ÖãÄ?ðó?¦\dxendstream endobj 6 0 obj 1135 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:18+01:00 2016-01-27T08:26:18+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001459 00000 n 0000003349 00000 n 0000001400 00000 n 0000001240 00000 n 0000000015 00000 n 0000001220 00000 n 0000001524 00000 n 0000001778 00000 n 0000001713 00000 n 0000001645 00000 n 0000001565 00000 n 0000001595 00000 n 0000001860 00000 n 0000001926 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3503 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.html0000644000175000017500000000422512652070415017735 00000000000000 CURLINFO_RTSP_SERVER_CSEQ man page

NAME

CURLINFO_RTSP_SERVER_CSEQ - get the next RTSP server CSeq

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SERVER_CSEQ, long *cseq);

DESCRIPTION

Pass a pointer to a long to receive the next CSeq that will be expected by the application.

Llistening for server initiated requests is currently unimplemented!

Applications wishing to resume an RTSP session on another connection should retrieve this info before closing the active connection.

PROTOCOLS

RTSP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.html0000644000175000017500000000456712652070415017276 00000000000000 CURLOPT_XOAUTH2_BEARER man page

NAME

CURLOPT_XOAUTH2_BEARER - specify OAuth 2.0 access token

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XOAUTH2_BEARER, char *token);

DESCRIPTION

Pass a char * as parameter, which should point to the zero terminated OAuth 2.0 Bearer Access Token for use with IMAP, POP3 and SMTP servers that support the OAuth 2.0 Authorization Framework.

Note: The user name used to generate the Bearer Token should be supplied via the CURLOPT_USERNAME option.

DEFAULT

NULL

PROTOCOLS

IMAP, POP3 and SMTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.33.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_MAIL_AUTH, CURLOPT_USERNAME

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.pdf0000644000175000017500000000771412652070451017100 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥VíŽÚFýÏS\©?jGxÖ3þn«JÞW!LÁ¤YíVÈ1Ã↵‰m²Jž!¯Òwì± »›þ¨À0÷žsî=—Ï  ºx5ŸÉÃàbîÀ}9Ðá~ðy@å"4É\F¸Á?D›A}†‚ÃÀñ âz= ”«å|΢ՇPþh:±,ˆ’mÛÂíÑz øK±¤‹Ÿ)žs=·^`.ñLˆ·Jô†­.ÌïãN…äPìV<.¿®J^åûJÕ˜éϵü’æY ½¸Eo»À†N 5þ#òy¼&uF=±õbî!dâYµf VËò@3lytêwwZÄòÚX“@üÞÑÅtbêh”ÉåÿÁ“~Îüåž'éæ+„ªa]w Å?T[`D‡8IxYB•R…\ã™$é¥&±LLÐ&®Œ¿¸™†³ÅhqŠa·~J³dwXsøMès!ÞÈöw±¡Žãd’ã†sýîä¼ÚÆÙzLJ}õ~îÈ#e?f£OÄ’m\À«#VÏE¬wê¯ÏÀe–›Ýƒû:X\ÍG³hNI¨UËÿ ôY|ÌÆ#n£˜ÈÛâ(ÈwÜäq û¸ˆxÅ qÈ ºØ…bSÏkð ;|Œ8ŽÍZ|Û4ÙB¹Í»5ìó4«PK¨¶¾ñxñfqÅ×B|›B·:ñ/y\ðüº"És00B¯ã"U›©ùÎ3Øä2Q 땸&kA˺S%‡Ç¯Mü™ÔšÔ•«·@fdÄÖ@™(8,&Ñ J^|Q©¥ðksWPöû¼¨$2QÆñé·X´:\ .Û&§²N\W¨Z‡Ìû<ÒŽà⑨ ‡ÛMÔèz@e­!®i^ñ_ Âàˆ°€ ƒˆ§µ ûžg¼@Šen ¥‘ÄŽÕã¼Ld#ÚG.ÁíR¼íK‹[Ꞣzë¥è}´5£¶–‹`®µVä@ša™ÄqUØ÷”¶T£ù}¬ç@.9Š.]“Ôëý®ÀÒ âš~[\·eº’mÜLMzÒ–ÆÒx ³–“qtL°ËCÈæ8Žav8–ãñÓ\Œ~wÎæM¦!³@³b¶ÓàÕ°JÐ’…Œaá1&3ˆ£Û­#_…ã3/ô=Ì£K䬦ÙÉx©°ë¾è÷3¼bâVNðÁŸÌÆAk4î‹F…}Û£m•¿Ú-×}:£Ð7i/šPGVÅ]É ¶EÛ’ýËÑxÝœR„z¦ëžz€¿^c)§8Ä@;û±t·Ê<ˆ–ó)¼W©ð'›*þx4–ü²-lYN¸9¯E3ÛƒUøÒìÀºz!-[Ïàëa³i9}7­mÐÓ™òçtJC'³¼:›ˆ+"5ó /^F«ðz5 &áÇO£=¥.A‹h¬ë&U™¥+›J¯é£u«ôgò–èŽ*š€ÇlWAëO³ò°Q™Hˆ9Ê÷$åèß[ïqdÇ 'Ï b9ïË"À/ÂŽçSÆn–1ñG㕯š^n½9£YùFqiÃÓK1¦Ýsì¾MUÚ\ëOÎÕ£"{úä^9®˜àè[8rê+wéGño@”Žƒ¥£Qü3…9)ø_ëí!¦SS^nû–Š«‚hð¾þƒœžendstream endobj 6 0 obj 1223 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:33+01:00 2016-01-27T08:26:33+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001547 00000 n 0000003437 00000 n 0000001488 00000 n 0000001328 00000 n 0000000015 00000 n 0000001308 00000 n 0000001612 00000 n 0000001866 00000 n 0000001801 00000 n 0000001733 00000 n 0000001653 00000 n 0000001683 00000 n 0000001948 00000 n 0000002014 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<5BD93D5C63B2FA0A241457E2748B8B63><5BD93D5C63B2FA0A241457E2748B8B63>] >> startxref 3591 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.pdf0000644000175000017500000000765312652070436020063 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVínÛ6ýï§ °•›!EJ¢¶a€š¨ƒ[Åòl%m‘ †jÓ‰6Yr,)mßa¯²wÜ%)ù#éÒÁp옗÷žsî—Áõê>—›ÁÙÌGwõ€ »ÁÀêCÔ},7èu Bý®æE¾ƒü€a t3¸±Î¯fq2M—á‡Å<š\,æÓ(ºXÄáì·èÖb·¶íQ† Ö²Ý ™Õ_µlªmƒàWe ö?\ý‘¾Œv(_¶°áÀUð˜‡Òx`MBûÐSêb7`9] ¬ËÈNÿ<"ã̉FÔÑÇ/EFÿ ]ÖHT䛼A«¬ÉP»-ªl…ê­”+ã÷ÈŒ¨‡…ö<ÿ8I¦óñü4¼61¡ÈËeÑ®$úEés¦þàû_•¹Ã5#…mYÁSýnõúñ>+W…¢—H AÏíƒÞ˜\TkÛá ¼ã[ëEƒ6ÙÍèÖþY }ÊŠzDë"šŸÏÆÓtœLTÈ uMJ¾Aqš)” פD9öQúÀÔ5ÊÐ "hDY¶Ù.ÛÈFîÐç¼¹Gͽì°QÒ×¥Ë1÷‚.Ñ= Ñ5!NP˜3B;cÊ£D8"crn—ÝI´jwyy§´FÍ.+ë5 Tõêp}—cÂ:¬a³÷)0ñ8ñzýŽ®CòŠrÙÖð[…þ²—¹–”['ë[Û¢ ‡èY½Û=À6]*k%zVj‘˜ œ}%m\í|h³B!Q±%ö¨%#>Ü1lügE+1ºk]/&}›Ó¶hjå­-õÝhÀåv`Ô¨v2©*3ùЪ’uùÊh«yûh}-7Y—iÇ5Ü}8ëu_¯÷¢xP„vº[rÙt×8jTJÓ@oÆqôÓÙ‚YQã糋:žúzÜèo:.ºüÁöPQá•áÞã1¿;Ó=ÆC ª$û¾Ïø~>!Zåuö©øî4Î:0œ S'Îï$9—@g$IQ²í0ì¯ßçIüdúàð“*¹±B¨XhgWQcªacý]HïÓñeô!¼œÆQߦâ?cz ;’vEe]$¨®Ïö܈ÊrMioz7¼Fá4ÁžKûbÇáëq> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:22+01:00 2016-01-27T08:26:22+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001514 00000 n 0000003404 00000 n 0000001455 00000 n 0000001295 00000 n 0000000015 00000 n 0000001275 00000 n 0000001579 00000 n 0000001833 00000 n 0000001768 00000 n 0000001700 00000 n 0000001620 00000 n 0000001650 00000 n 0000001915 00000 n 0000001981 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<53CAC7A8C5FADF7B19900560C2B5D147><53CAC7A8C5FADF7B19900560C2B5D147>] >> startxref 3558 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_PRIVATE.30000644000175000017500000000353112626067776015574 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIVATE 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIVATE \- get the private pointer .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIVATE, char **private); .SH DESCRIPTION Pass a pointer to a char pointer to receive the pointer to the private data associated with the curl handle (set with the \fICURLOPT_PRIVATE(3)\fP). Please note that for internal reasons, the value is returned as a char pointer, although effectively being a 'void *'. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.10.3 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLOPT_PRIVATE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_WRITEDATA.html0000644000175000017500000000666112652070415016505 00000000000000 CURLOPT_WRITEDATA man page

NAME

CURLOPT_WRITEDATA - custom pointer passed to the write callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WRITEDATA, void *pointer);

DESCRIPTION

A data pointer to pass to the write callback. If you use the CURLOPT_WRITEFUNCTION option, this is the pointer you'll get in that callback's 4th argument. If you don't use a write callback, you must make pointer a 'FILE *' (cast to 'void *') as libcurl will pass this to fwrite(3) when writing data.

The internal CURLOPT_WRITEFUNCTION will write the data to the FILE * given with this option, or to stdout if this option hasn't been set.

If you're using libcurl as a win32 DLL, you MUST use the CURLOPT_WRITEFUNCTION if you set this option or you will experience crashes.

DEFAULT

By default, this is a FILE * to stdout.

PROTOCOLS

Used for all protocols.

EXAMPLE

A common technique is to use the write callback to store the incoming data into a dynamically growing allocated buffer, and then this CURLOPT_WRITEDATA is used to point to a struct or the buffer to store data in. Like in the getinmemory example: http://curl.haxx.se/libcurl/c/getinmemory.html

AVAILABILITY

Available in all libcurl versions. This option was formerly known as CURLOPT_FILE, the name CURLOPT_WRITEDATA was introduced in 7.9.7.

RETURN VALUE

This will return CURLE_OK.

SEE ALSO

CURLOPT_WRITEFUNCTION, CURLOPT_READDATA

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTP_VERSION.30000644000175000017500000000534312633553325016344 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_VERSION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_VERSION \- specify HTTP protocol version to use .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_VERSION, long version); .SH DESCRIPTION Pass \fIversion\fP a long, set to one of the values described below. They ask libcurl to use the specific HTTP versions. This is not sensible to do unless you have a good reason. You have to set this option if you want to use libcurl's HTTP/2 support. Note that the HTTP version is just a request. libcurl will still prioritize to re-use an existing connection so it might then re-use a connection using a HTTP version you haven't asked for. .IP CURL_HTTP_VERSION_NONE We don't care about what version the library uses. libcurl will use whatever it thinks fit. .IP CURL_HTTP_VERSION_1_0 Enforce HTTP 1.0 requests. .IP CURL_HTTP_VERSION_1_1 Enforce HTTP 1.1 requests. .IP CURL_HTTP_VERSION_2_0 Attempt HTTP 2 requests. libcurl will fall back to HTTP 1.1 if HTTP 2 can't be negotiated with the server. (Added in 7.33.0) The alias \fICURL_HTTP_VERSION_2\fI was added in 7.43.0 to better reflect the actual protocol name. .IP CURL_HTTP_VERSION_2TLS Attempt HTTP 2 over TLS (HTTPS) only. libcurl will fall back to HTTP 1.1 if HTTP 2 can't be negotiated with the HTTPS server. For clear text HTTP servers, libcurl will use 1.1. (Added in 7.47.0) .SH DEFAULT CURL_HTTP_VERSION_NONE .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Along with HTTP .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SSLVERSION "(3), " CURLOPT_HTTP200ALIASES "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_PIPELINING.30000644000175000017500000000561612626067776016152 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING 3 "17 Jun 2014" "libcurl 7.37.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING \- enable/disable HTTP pipelining .SH SYNOPSIS #include CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING, long bits); .SH DESCRIPTION Set the \fBbits\fP parameter to 1 to make libcurl use HTTP pipelining for HTTP/1.1 transfers done using this multi handle, as far as possible. This means that if you add a second request that can use an already existing connection, the second request will be \&"piped" on the same connection rather than being executed in parallel. When using pipelining, there are also several other related options that are interesting to tweak and adjust to alter how libcurl spreads out requests on different connections or not etc. Starting in 7.43.0, the \fBbits\fP parameter's bit 1 also has a meaning and libcurl is now offering symbol names for the bits: .IP CURLPIPE_NOTHING (0) Default, which means doing no attempts at pipelining or multiplexing. .IP CURLPIPE_HTTP1 (1) If this bit is set, libcurl will try to pipeline HTTP/1.1 requests on connections that are already established and in use to hosts. .IP CURLPIPE_MULTIPLEX (2) If this bit is set, libcurl will try to multiplex the new transfer over an existing connection if possible. This requires HTTP/2. .SH DEFAULT 0 (off) .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.16.0. Multiplex support bit added in 7.43.0. .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLMOPT_MAX_PIPELINE_LENGTH "(3), " .BR CURLMOPT_PIPELINING_SITE_BL "(3), " .BR CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE "(3), " .BR CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE "(3), " .BR CURLMOPT_MAX_HOST_CONNECTIONS "(3), " .BR CURLMOPT_MAXCONNECTS "(3), " .BR CURLMOPT_MAX_HOST_CONNECTIONS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FORBID_REUSE.pdf0000644000175000017500000000762612652070431016676 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VkÚFýî_1R?Ô®–É<üT«JìÆQIY à… yͰ¸16ñ#tTÿcïŒÇ6°EHÆxÆ÷žsî¹wøŠ¦ˆÈþNÆ›¥‡ž*ƒ 'ã«AÕ"Ò_ÉÝF°Á—¢Ñ¾C‘Çpì(:¶‹¹‹¢“ñÙ¼{XNç‹hón¾¼¼Ý,ÇU¸6ùÚBISfWÏ›JÔű¶FÌ!˜Ï„i‘Wè»ïZGïÁŒBºÐ€Ž$O s6¶~°Jì@F[ü­èŸ3øŒ`›xhD™\&ó«Ñè‘ï2ì´Q)v]U$r¥ÍF1÷ Õ Ež‹D’AO¢FIVTb‹ây"P¼«E‰šJ´Î8Œh`b,û*ÐêÓl¾XMV—è«Fnþ”æIÖlúMêúF^ðþwØV‚HVI®u_«%ôË>η™¸yUõ”ùSK`mý Ò^âU@:¬oÃÕÝr²ˆ&ó™Ìu¢N[¦Wp/â^ºûN«›¬,Wµ¨*«Ü­Dݲ§D‡q\L9ÓR+lWÅ嘹,Ðêl —¾ŽžÌ‘¶ƒ}tÙž€3¿[H¥pH¥àsXÀ2ößc–&i=·B¡zj8íE޶E.Ð)­÷jµ.ã¼Ú‰²Äd^ÆáÖë¼…gƒ·¶;¾ŸÍ¢´(@ 3GmCØàf‡û½¶‡8ËžÛÐ.WÂ(Ö»ófàêá4°;FTn—í«Y± “ïpÇâ%ɲ3bòwÚµd[jÊlL: Ðbm8óPؘÚ~/"$W/E’7H(ÍQƒ®1ªš$b›‚'åŽ]‘e…9•§ ´ëõÀžÝw88BSKâ•bÔ´…:`kä0WÊ`Fû´BíBÕ¾h²-z²Q·-¨$nÔ4 ¤‡r§;ô\4¨É·¢¬jùøPZòTòò)HÈTšJ”iÑT2Äá'5:ŠrW”‡æ†.Ó½ Ö—Î%ò²áy/´ã¨7àÊNæ¡²ÔÆŽè& /«0×—U½vkq„Bt,ª*}Ì f,ç•–lmnÅ®wEÜd5hØ:K~K‹rmaÅøj¶.ÁŸÏ‹wzN8¶¯\ {©Ý¹tü V©<ô]’ƒ2pÙ¾žqÖaÖ³S¿~ŠÏÏFÇ%]Üçê¥އm¹£G¨ » £‡å }°(‡&w©9ž>„Ú[¯h³uSê?áfþç4_…!OWóaÛU¼þH\†«?6wóÙ,¼‹®ä°fÔŸ”›ËpÍÈwïÇu¸+ïPÎáŒyoÇf ©Üö Èt;{˜{˜X#ê84½I=ô¾É#ÔVRÙ½U© FÆ_ðù’I‡Óendstream endobj 6 0 obj 1176 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:17+01:00 2016-01-27T08:26:17+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001500 00000 n 0000003383 00000 n 0000001441 00000 n 0000001281 00000 n 0000000015 00000 n 0000001261 00000 n 0000001565 00000 n 0000001819 00000 n 0000001754 00000 n 0000001686 00000 n 0000001606 00000 n 0000001636 00000 n 0000001901 00000 n 0000001960 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<7CB658F923E620A70077637152463606><7CB658F923E620A70077637152463606>] >> startxref 3537 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.pdf0000644000175000017500000001050512652070452017232 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµWínâFýÏSŒÔk"˜ÌØã±G[Ub³¬D—„œmWI9Æ n³Øåú*}ÇÞù²²ÉöO‰f$°!–?$÷ý E‘"àX dÕ¡s¢dß¹öή¦ãóÉer;›œ}&Ÿ®.Î’ÑäâÆ nº(Ûm—·«Ý².n«¼.7u·ï‡yð¥(×zëùîŸÉ¯>Á>…k3@%–7ßwŽ’qÇ»tßA °JCŠÀ&óŽw>ì&9aø3¡>õå2y:úeéry—f¨Xß—ÛU>Gé]¹«Ñ~‘Ö¨.ѾKU—5‚- é¾>ìSŽc…göõbr9ÍQ©- ‘÷S±Î–»yŽ~–œÊ¼øEn÷™ 49¹öŠuª2{T—ÓPxy}k‘Þ¨hÐIžVÏ )Å,4¤ôNÕyX­#~L¨Y:Éå’æ‘bˆØ,Àqh‘®ç˨Çû”˜7T^{*Ç –ÀBø<–°hžX¸ð“|\áòÝp$¡=!Ä“Ûó\2mó®c Ç ‚™<ï ð´9Žâ²† áÉ%€K1žŸÊæ)í™ZÅìª|»@Ôg2‰i³-* '}NŠ Ê8úRžs[LY ~QôZ›çèD ©÷ZÍ÷Zu¨»ûþGöq8;›Ž.å9&d­žïVÛ¥ylêãÚ«*”6B™?—»m›ÄûÝ:“žÕÕÙU‹r·œ£UZ×z‘ƒRʺ¬Ÿ7¹\êú¡·_¿Ts0r›ÜÁá;âÁ*† pC18Ó ÿ}‘¯å…ÚL(1ñ1(ܶ Ü,”™¥DÞ¶Úzlï¡„± õmªbÕ6|`Z,ÂAZ YRÐv·†’7Ô–Y)FÒÍfYd©Ú t·™§u^Á.µÁ ÛçGkÞy­à2Ÿ¦¦:@,RñßxƒÍó*Û›ºÜB£©ê´ÞUèîÍ!}h]®Agúc‹ ›¥.ÈJf¶aOØÁfk”ÐØ,ã®U.¡ð$W[<” a³—¸nJCë Çòº2°u®™#Jm´GLk ÛõePAð¥‚n‘Í©@(d…þàÑ@è~*J`¥.Vzssù^yurðwõk>ÇÝ>g‹cáîÕî‡âP¹à˜3ÿ@º ûx)ßuÖ »El™96ÄÂÊ£©“ꘫè/®ÆãdÓ^,—è.·¨Ñ ¼Éí’ á<+æê0Õ³Hº®Iµ´ü¦umŒÍ4sÇAdÓ—nåA«¤Z”»U.¤é¨.C +° yßGS™A¤ý™BÌΣ"Ò”ìà;%I# ‰ï`¾ÀL´–7Ëý¬ÓiôÿŸ_¸×¨ÖâÝËš,·²†ë´€Š{X”ÎpDz1Ú€öuK„Ü`ç º¨äÆ´õÜúò¾©ßrûˆ¿Ó>|.d͸-䓉;íèIPfg¤Á•žäàgNŸVã6[mì’Â(ŠÀWl¤ Ñç(Úòõjg»œT,P¨(Löa„Uµ{“M >t­£žMÆG£'„!W l°\þÇðÁùåxh¥¿Ú]“‰[ýÔŽŸ'†¿0Ž_Œó}˜·hØÞ&iÖ8ø‚mXóZFãQòõ¨B0¸Ãö½Á|ú€¶Nböv¬×Þt˜\M/З.…~-8õã«á‘98!Oóz·µo3·“Ïø\ΆC4Ï&‡ÎäøŠMíÄ´µ ɧ0qxrÈgnG>UŸ½£[}P–mè×GFpÐu±@I$ßþãùm`Éè|8•£__·"n5dæ8ÇŠáýî(õ §úw¨g˜ôÛ„/‹; ä;€:wß| "Æ­*ƒÃqŠ+j¹}Ù(ŸßJ4û¬kú#Då¦aÒù þþNÄåúendstream endobj 6 0 obj 1600 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:34+01:00 2016-01-27T08:26:34+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001924 00000 n 0000003814 00000 n 0000001865 00000 n 0000001705 00000 n 0000000015 00000 n 0000001685 00000 n 0000001989 00000 n 0000002243 00000 n 0000002178 00000 n 0000002110 00000 n 0000002030 00000 n 0000002060 00000 n 0000002325 00000 n 0000002391 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3968 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.pdf0000644000175000017500000000755412652070430017352 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}çW Ї, iÍåò¶hS@¶åV -ª2•6 &iK©L*$ÃÕÌì’"u‰c°díjæÌ9gfø ÊÀ¯æ=~ÒΧ.<–šÚW©ChÞâ'¸ñ‚'¿´ú7 \\Á©' |ÒÈålê“pq=¾èáÍõ(çÂÛa¢1‡rÂgmNÂË?׳ñe8 Æw„ßéo‹õ"Ê—E™Vù¦Òû¦%¨ðl‚ÿ¬ò¬„ƒØÿ†4n˜Ô²ëاeú¾AM†Èb.8¶ÄÞçžA]}î¨ßŽVCÞc6µobÞ å÷]ͦA-Ã…>3å±Q—r‹1F æ ÿáyµNâ¨Hà)ªâå*{„‡m˲ ŽÖëû(þOUt„ÒÁTõ–ÛÏã`r;º=D¤®(4ä—U¯·I ¿I*Ïåºü]^7-}-<›“UVÁC¦@,v‰ïÈ7!ÓÂtI¾JàlSºe`–Cz –mR»Í£Ä˨À«QU¥EÖ“Yä±x\VÖz§ÿª¿Óúu‰%iX‹sD{¬û:‚³e”%ë´Gô"9žu@o Ñ鞈ùiûÜ2ƒí‘{5¼½œŽ&2\cf×®ùÑ“¨u‹ ^ã¿9)Kˆ`“#ÅiU/ù¶hÕmõîÁór/¡\æÛu㨖)lŠ¼Ê«—M*tÓ&ÏD÷¹*®ÅùEm§qç·t‡é!/ÍU5p›SwG8 —«²CƒŸ·ešÀC^œz“vž!Ó´ÚÊw>eÆŽ ZL°]ÝR ZîHq„TGг_¹²T?4oçÂï£xÔB¶Y=@cªOZ*vj'õj[$ÌAb,ë$¦òI¿fÛŒz(`#âœ(„ã ¹,Ló=FmÏh*5vø²¼‚¼8‚‚¸Lˆ·I¹F[˜“ÁÈ?æ„£?›2S”AZ¨Qc›iBOlzÈ£8ðòuãaÛò¤9pj f5UÁLâ˜ÂIV<ÓÁ±\Ÿúaë©–´ŸëºÜj[`<ó}xÿ^T~Ï¢u7Ñ^7ÕOÆÛdÚ€¶¸™î«oRîý„´Mt¸áì¦õeàMG¬R ì÷u8yÇðŸÁÍÄ÷ê;ŒËö¬A\ ½¶çîÜhÌî²I,UÖàt;slÖÔNFþàbäÂχµ¡nÜÂûˈ ’»z•‹{?¯uN¦Ãp6Ã'¡}…ÃÈÀŸ <Ù•ç(–œÕÂ¥ÎÞ£Åzu/×#ª)ç¨Þg¶%Úi>l30qE« VÛLƆÚ_øúõ}´endstream endobj 6 0 obj 1134 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:16+01:00 2016-01-27T08:26:16+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001458 00000 n 0000003341 00000 n 0000001399 00000 n 0000001239 00000 n 0000000015 00000 n 0000001219 00000 n 0000001523 00000 n 0000001777 00000 n 0000001712 00000 n 0000001644 00000 n 0000001564 00000 n 0000001594 00000 n 0000001859 00000 n 0000001918 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<9BF2B8FF980D49C48D3501AFBB9685FA><9BF2B8FF980D49C48D3501AFBB9685FA>] >> startxref 3495 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.30000644000175000017500000000376612626067776016447 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_TYPE 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_TYPE \- get Content-Type .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_TYPE, char **ct); .SH DESCRIPTION Pass a pointer to a char pointer to receive the content-type of the downloaded object. This is the value read from the Content-Type: field. If you get NULL, it means that the server didn't send a valid Content-Type header or that the protocol used doesn't support this. The \fBct\fP pointer will be NULL or pointing to private memory you MUST NOT free it - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the corresponding CURL handle. .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.9.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_NOBODY.pdf0000644000175000017500000000745312652070436015763 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnã6}×W°Û‡JE‹¢.V·-à$Ú®·NäÚÊ¢A\ŠÅÄÚ•-G¸A±Ÿ´ÿØ!EZ¾¤ Ø05žsæÌPÏÈÂYü#+­?õÑS¥YèI{ÖˆxˆäÏb…Îcð…øQk÷äÛÈ((^iúÅÍtMâûëè<º4â/ÚÀÅ®gÙ§šïcg€â­v§ßÎu:7Т)ó{–T/÷«‹Mm˜¶à  :üÉŠu…3þÒ¨G!g›Qæá'™¶  XÈ@âÀå8M™Ô®‡<Øâq°T&º ùzÇ϶°cùÈ„­üñ 1»<Ç? õ=5ƒ«µ€+Ž¢G…Y­K†Ò°]lÇÓ·ë¼HRT²ç†U5Úfõ²hjôÄê:[?¡¢ŠôE¤<$H\s ¨³Ûëh2Íù}ÅåÇl½È›”¡_¸ü}þ…—¿ RŠÇ-ÙEÇ噋Gèl™¬ÓœõŽŠó`Á¶(íq Zº ”(º~ÛCy'>Å>9PD/€'?ÄxßBß'II€½`åe8»˜Ž&ñ(ºæÑ;Äo‹ÿ ãáÁ¹©ÎÅñvgo’2Y±š•Ø¢ºw×,Ï+”g\ ¾´.j¤äS51a#_ P´ Ôm»dk(//Ýv™ÀÀ±,ì+Yô¢ÉSa\‡8`]W¡µ0µIk‘2–Û¬‚sJ„]è—H»`ôA‚þr)jÛr‰>Æñd®ÏæFàeZ%_ Õ²|ª³ŽZZ@þáðR9§&Ò›fU€)´)‹ºX KÖ:ÜTÇ+BÑK }¿4°‹–T_… T—ðà)ýPšÔ æRÄgwz¸NòÖò·¨M&s<žN ÛW½ó`@Ó ÀM×@IÛ6ž ů40Jç«rš¸|V-ø ˆCdц7â)áÊb{Ô—OÇñÎg!ñ}ŸîôÑ­^Ç8*AJ–¾bü}p“©ÄæPÇSf6ml¹Ð>ŠQ´CbC§YžšsÑøh2™Ðuð® Öo ÿ^MÆáÿ˜ÖÂX¿î ‘lÁ‘ýÍ#aÖds—Á¿0Av]p§Ÿ¾Ò øé¡w˺ÞüÜï3aVnê’Õ&gxQ¬Þñ“x¹åXëŸñqŠšJ¨_²ªhÊ;rÊè¬8$º·0œ >â{ØsOÙ¿uj)?¥& D¸É±*ð„•`÷•DÜÞ vìaÛ´AJÈ÷ÐNHý›t¬;œÞŽûUå®vÄÁÃϨ»&¡<—H“é£ñð|4Å·‡µVÔ'.·>O—ܾM:!ÈÞÕ©¿T§–sá}GìÊ›sÆ7ÓkôÙ ÚÚ#úp|ÊÆ~eúOYÝ”òU"¼þxÃÛ³0DÃñ,êÂŽò©âóÑú{ aÙØ–“X/'½ÃDpŽ×ÑV¹&Ñì(рϲ]\—É´9iNñöÚVQSÜÇÔÇ–¯nà`W‡+ñS³F6 E!³Âa¬ý Ÿÿ>q–µendstream endobj 6 0 obj 1168 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:22+01:00 2016-01-27T08:26:22+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001492 00000 n 0000003296 00000 n 0000001433 00000 n 0000001273 00000 n 0000000015 00000 n 0000001253 00000 n 0000001557 00000 n 0000001732 00000 n 0000001667 00000 n 0000001598 00000 n 0000001628 00000 n 0000001814 00000 n 0000001873 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3450 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.30000644000175000017500000000730112626067776017210 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_OPENSOCKETFUNCTION 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_OPENSOCKETFUNCTION \- set callback for opening sockets .SH SYNOPSIS .nf #include typedef enum { CURLSOCKTYPE_IPCXN, /* socket created for a specific IP connection */ CURLSOCKTYPE_ACCEPT, /* socket created by accept() call */ CURLSOCKTYPE_LAST /* never use */ } curlsocktype; struct curl_sockaddr { int family; int socktype; int protocol; unsigned int addrlen; struct sockaddr addr; }; curl_socket_t opensocket_callback(void *clientp, curlsocktype purpose, struct curl_sockaddr *address); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_OPENSOCKETFUNCTION, opensocket_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This callback function gets called by libcurl instead of the \fIsocket(2)\fP call. The callback's \fIpurpose\fP argument identifies the exact purpose for this particular socket: \fICURLSOCKTYPE_IPCXN\fP is for IP based connections and \fICURLSOCKTYPE_ACCEPT\fP is for sockets created after accept() - such as when doing active FTP. Future versions of libcurl may support more purposes. The \fIclientp\fP pointer contains whatever user-defined value set using the \fICURLOPT_OPENSOCKETDATA(3)\fP function. The callback gets the resolved peer address as the \fIaddress\fP argument and is allowed to modify the address or refuse to connect completely. The callback function should return the newly created socket or \fICURL_SOCKET_BAD\fP in case no connection could be established or another error was detected. Any additional \fIsetsockopt(2)\fP calls can of course be done on the socket at the user's discretion. A \fICURL_SOCKET_BAD\fP return value from the callback function will signal an unrecoverable error to libcurl and it will return \fICURLE_COULDNT_CONNECT\fP from the function that triggered this callback. This return code can be used for IP address blacklisting. If you want to pass in a socket with an already established connection, pass the socket back with this callback and then use \fICURLOPT_SOCKOPTFUNCTION(3)\fP to signal that it already is connected. .SH DEFAULT The default behavior is the equivalent of this: .nf return socket(addr->family, addr->socktype, addr->protocol); .fi .SH PROTOCOLS All .SH EXAMPLE .SH AVAILABILITY Added in 7.17.1. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_OPENSOCKETDATA "(3), " CURLOPT_SOCKOPTFUNCTION "(3), " .BR CURLOPT_CLOSESOCKETFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.30000644000175000017500000000760712626067776016464 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CUSTOMREQUEST 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CUSTOMREQUEST \- custom string for request .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CUSTOMREQUEST, char *request); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. When you change the request method by setting \fBCURLOPT_CUSTOMREQUEST(3)\fP to something, you don't actually change how libcurl behaves or acts in regards to the particular request method, it will only change the actual string sent in the request. Restore to the internal default by setting this to NULL. This option can be used to specify the request: .IP HTTP Instead of GET or HEAD when performing HTTP based requests. This is particularly useful, for example, for performing a HTTP DELETE request. For example: When you tell libcurl to do a HEAD request, but then specify a GET though a custom request libcurl will still act as if it sent a HEAD. To switch to a proper HEAD use \fICURLOPT_NOBODY(3)\fP, to switch to a proper POST use \fICURLOPT_POST(3)\fP or \fICURLOPT_POSTFIELDS(3)\fP and to switch to a proper GET use \fICURLOPT_HTTPGET(3)\fP. Many people have wrongly used this option to replace the entire request with their own, including multiple headers and POST contents. While that might work in many cases, it will cause libcurl to send invalid requests and it could possibly confuse the remote server badly. Use \fICURLOPT_POST(3)\fP and \fICURLOPT_POSTFIELDS(3)\fP to set POST data. Use \fICURLOPT_HTTPHEADER(3)\fP to replace or extend the set of headers sent by libcurl. Use \fICURLOPT_HTTP_VERSION(3)\fP to change HTTP version. .IP FTP Instead of LIST and NLST when performing FTP directory listings. .IP IMAP Instead of LIST when issuing IMAP based requests. .IP POP3 Instead of LIST and RETR when issuing POP3 based requests. For example: When you tell libcurl to use a custom request it will behave like a LIST or RETR command was sent where it expects data to be returned by the server. As such \fICURLOPT_NOBODY(3)\fP should be used when specifying commands such as DELE and NOOP for example. .IP SMTP Instead of a HELP or VRFY when issuing SMTP based requests. For example: Normally a multiline response is returned which can be used, in conjunction with \fICURLOPT_MAIL_RCPT(3)\fP, to specify an EXPN request. If the \fICURLOPT_NOBODY(3)\fP option is specified then the request can be used to issue NOOP and RSET commands. .SH DEFAULT NULL .SH PROTOCOLS HTTP, FTP, IMAP, POP3 and SMTP .SH EXAMPLE TODO .SH AVAILABILITY IMAP is supported since 7.30.0, POP3 since 7.26.0 and SMTP since 7.34.0. .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_HTTPHEADER "(3), " CURLOPT_NOBODY "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_USERNAME.30000644000175000017500000000543512626067776015615 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERNAME 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_USERNAME \- user name to use in authentication .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERNAME, char *username); .SH DESCRIPTION Pass a char * as parameter, which should be pointing to the zero terminated user name to use for the transfer. \fBCURLOPT_USERNAME(3)\fP sets the user name to be used in protocol authentication. You should not use this option together with the (older) \fICURLOPT_USERPWD(3)\fP option. When using Kerberos V5 authentication with a Windows based server, you should include the domain name in order for the server to successfully obtain a Kerberos Ticket. If you don't then the initial part of the authentication handshake may fail. When using NTLM, the user name can be specified simply as the user name without the domain name should the server be part of a single domain and forest. To include the domain name use either Down-Level Logon Name or UPN (User Principal Name) formats. For example, EXAMPLE\\user and user@example.com respectively. Some HTTP servers (on Windows) support inclusion of the domain for Basic authentication as well. To specify the password and login options, along with the user name, use the \fICURLOPT_PASSWORD(3)\fP and \fICURLOPT_LOGIN_OPTIONS(3)\fP options. .SH DEFAULT blank .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_USERPWD "(3), " CURLOPT_PASSWORD "(3), " .BR CURLOPT_HTTPAUTH "(3), " CURLOPT_PROXYAUTH "(3)" curl-7.47.0/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.pdf0000644000175000017500000000676312652070454020304 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœU᎛FþÏSŒÔÁ'³Ù…µªäÜÑÖ ×^'î*ËÇàFÉ3äUúŽ]À>Û—“Z!{wvæûöûfü(a@ÕÓ¿Óãå܇»Æ pg|4˜Þ„þ•>À+‰B-È[£;ÃÀ·Á"Ƶy¹œGÓø§du™Ä2Œå* ãŸå/«å,JF'p¹9¹º1›Ñèù«Á„MlÌ$3ÃLwÛr•¯›Ï«»¼-ªÛêM[ÔU3’*N¢ ý…,Jl†(S$ ¸Š‡e{œð,ÇÓâ‰*FUs‰8=¶7¡Z?ð·)áÔ‹Ùÿ üÈ ÚûšMž_ó šâKõ­^ÜmÊziÀÇ0žÅ<"4˜Åû8™-¦‹cH:DÃ1¿+ª´Üe9ü îô¥ú ÷?ªp›ƒŒ yÑ!NkŒ9»ö½÷ë*+ó1<ÏÍ%”¹5lÏ'îGVï>”9\¤uÕæU»*óꮽ¿}ß!LQG8^…‹Ëùt&§I¬‚Q>ævê=Áw¶Þ«ávš© ä'ÃlXæ.ÄÚôÀðû6Oó⨳QxÔ¶OÂû$cøÁœø6c'…®Íçu%#ËEW!Us åà>Æ¢A$ín[5H Šî”ÊЙ—¹”P_ì MõBËIÜŽ`AÐ{µýë€]/(º¦ªG¶k~ªÈó‚ÃýÏæý¥pGô%lÏï[Õ² u}-‰„d_ÎvˆO½¡g.“èÄ¢#ïp¾ç1)Ës+y=ü}òf…ƒBâ›ÌQRv ®ô2v…8ï~¨È}5 £\Óš¼…Ã$Àf÷\6Œ©i4y5¦òý17Öáb/íÒd:¡¨Pi°ç©^›óP.ç1¼151ÿºÕzendstream endobj 6 0 obj 850 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:36+01:00 2016-01-27T08:26:36+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001173 00000 n 0000002984 00000 n 0000001114 00000 n 0000000954 00000 n 0000000015 00000 n 0000000935 00000 n 0000001238 00000 n 0000001413 00000 n 0000001348 00000 n 0000001279 00000 n 0000001309 00000 n 0000001495 00000 n 0000001561 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3138 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.html0000644000175000017500000001000312652070415017611 00000000000000 CURLOPT_UNIX_SOCKET_PATH man page

NAME

CURLOPT_UNIX_SOCKET_PATH - set Unix domain socket

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNIX_SOCKET_PATH, char *path);

DESCRIPTION

Enables the use of Unix domain sockets as connection endpoint and sets the path to path. If path is NULL, then Unix domain sockets are disabled. An empty string will result in an error at some point, it will not disable use of Unix domain sockets.

When enabled, cURL will connect to the Unix domain socket instead of establishing a TCP connection to a host. Since no TCP connection is created, cURL does not need to resolve the DNS hostname in the URL.

The maximum path length on Cygwin, Linux and Solaris is 107. On other platforms it might be even less.

Proxy and TCP options such as CURLOPT_TCP_NODELAYare not supported. Proxy options such as CURLOPT_PROXYhave no effect either as these are TCP-oriented, and asking a proxy server to connect to a certain Unix domain socket is not possible.

DEFAULT

Default is NULL, meaning that no Unix domain sockets are used.

PROTOCOLS

All protocols except for file:// and FTP are supported in theory. HTTP, IMAP, POP3 and SMTP should in particular work (including their SSL/TLS variants).

EXAMPLE

Given that you have an nginx server running, listening on /tmp/nginx.sock, you can request a HTTP resource with:

    curl_easy_setopt(curl_handle, CURLOPT_UNIX_SOCKET_PATH, "/tmp/nginx.sock");
    curl_easy_setopt(curl_handle, CURLOPT_URL, "http://localhost/");

If you are on Linux and somehow have a need for paths larger than 107 bytes, you could use the proc filesystem to bypass the limitation:

    int dirfd = open(long_directory_path_to_socket, O_DIRECTORY | O_RDONLY);
    char path[108];
    snprintf(path, sizeof(path), "/proc/self/fd/%d/nginx.sock", dirfd);
    curl_easy_setopt(curl_handle, CURLOPT_UNIX_SOCKET_PATH, path);
    /* Be sure to keep dirfd valid until you discard the handle */

AVAILABILITY

Since 7.40.0.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_OPENSOCKETFUNCTION, unix (7)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.30000644000175000017500000000450612626067776017332 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDSIZE_LARGE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTFIELDSIZE_LARGE \- size of POST data pointed to .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDSIZE_LARGE, curl_off_t size); .SH DESCRIPTION If you want to post data to the server without having libcurl do a strlen() to measure the data size, this option must be used. When this option is used you can post fully binary data, which otherwise is likely to fail. If this size is set to -1, the library will use strlen() to get the size. .SH DEFAULT -1 .SH PROTOCOLS HTTP(S) .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { const char *data = large_chunk; curl_off_t length_of_data; /* set somehow */ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* size of the POST data */ curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, length_of_data); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data); curl_easy_perform(curl); } .fi .SH AVAILABILITY Along with HTTP .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_POSTFIELDS "(3), " CURLOPT_COPYPOSTFIELDS "(3), " .BR CURLOPT_POSTFIELDSIZE "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.30000644000175000017500000000367412626067776016514 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_EFFECTIVE_URL 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_EFFECTIVE_URL \- get the last used URL .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_EFFECTIVE_URL, char **urlp); .SH DESCRIPTION Pass in a pointer to a char pointer and get the last used effective URL. In cases when you've asked libcurl to follow redirects, it may very well not be the same value you set with \fICURLOPT_URL(3)\fP. The \fBurlp\fP pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the corresponding CURL handle. .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.html0000644000175000017500000000502112652070414020210 00000000000000 CURLOPT_DNS_USE_GLOBAL_CACHE man page

NAME

CURLOPT_DNS_USE_GLOBAL_CACHE - enable/disable global DNS cache

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_USE_GLOBAL_CACHE,   long enable);

DESCRIPTION

Pass a long. If the enable value is 1, it tells curl to use a global DNS cache that will survive between easy handle creations and deletions. This is not thread-safe and this will use a global variable.

WARNING: this option is considered obsolete. Stop using it. Switch over to using the share interface instead! See CURLOPT_SHARE and curl_share_init(3).

DEFAULT

0

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Subject for removal in the future. Do not use!

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SHARE, CURLOPT_DNS_CACHE_TIMEOUT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CAINFO.html0000644000175000017500000000601212652070414016105 00000000000000 CURLOPT_CAINFO man page

NAME

CURLOPT_CAINFO - path to Certificate Authority (CA) bundle

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAINFO, char *path);

DESCRIPTION

Pass a char * to a zero terminated string naming a file holding one or more certificates to verify the peer with.

If CURLOPT_SSL_VERIFYPEER is zero and you avoid verifying the server's certificate, CURLOPT_CAINFO need not even indicate an accessible file.

This option is by default set to the system path where libcurl's cacert bundle is assumed to be stored, as established at build time.

If curl is built against the NSS SSL library, the NSS PEM PKCS#11 module (libnsspem.so) needs to be available for this option to work properly.

DEFAULT

Built-in system specific

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

For SSL engines that don't support certificate files the CURLOPT_CAINFO option is ignored. Refer to http://curl.haxx.se/docs/ssl-compared.html

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_CAPATH, CURLOPT_SSL_VERIFYPEER, CURLOPT_SSL_VERIFYHOST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_EGDSOCKET.pdf0000644000175000017500000000723012652070430016264 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Uÿn£FþŸ§©NöÞ.Ë϶ªäKHê 6®Á×FIea¼Ž¹Úà¬(}†¾Jß±³ ¶ã$§‰…Ùo¾ùvöP€ʧ³­öqêÂC­QxоiL¡²-|JÐÁ“ÉJk×0pMp}N<’­æPb:sˆ§‚Æ·ãhãóÐÊE…ÕÈ‹l³_ øE2òQ¾ÈúWénZ*‰(+Ñá%c÷ÊÖi±ÜˆÞk¾“Ø’ ãx½Lî®øñ‰Å}Ïê ë´‚2©{ãçïYZÜ'ˆù”Úe_L‡“d¥7Ö„ÙmIÞHs’> êÙmDJ8~"ïz]C ™M ÍZÀ?¢ÂQmó"mÄR± Eº‡ hªr§˜"ž×æÉmBõ~º>†D0j³Öp§ãN¢Ê‹¸LŶ,ÚÂ2Š5%0là1ßl`!`_cئlgÚXyŒò\.z-¤b©°åDñVeq’7Htμꈳ-OÁG?fu0õÁLY™<]¦ÃÝÎ&ÇìN„˸®Ë­#ïãY¾c2íPX\¡`ÆÁÓ¬âôMBm_%%cšœ¸Ô9P}…/ް}Äaó5@b“0†E*©ÝUeSfå¦þ ~K’I܃+õŽr˜DŽC<ÂIMöÁŸƒÑ$ Zô¾«Åä”ãR´m—QÇ·íy¯ZKßò¥ç1š,‹Õæô'Z(qlÖq§ÃÁ§a8LnϹÁBr cœwžá “"³˜¾Ï7bJéb#–¢bó¤¤íDâT\û–ÎN¿Å²nÕ‹ÒEç¼&ïô§;}$³é¾Œ[Äw˜>gA·ê5w¸‹É¹Ê{*š}Õµé`Ý@¾RˆóêýnWVxh{u6¾+v9µ‰kwHmÖ’øÇx©N"w)ʦe¥ªqXp¨]m–Ì£«ù(EÓ¶¨ãϘGLëpÊos¯}Õ¨lÚò0ÂíÊÓñŽ­@À㱯§5äE½_¦%g\ýß,Ek‘î Þ¥™x‹SæbMíç}?`ÆÑI³/DxèÖÓÁø2ͯ†á‹ë‰™á‡¦®¾^«OÇ’ó}.{z›é&_ÈË\Â]B>³mß"¶Î\ø¼/À¤ÌR˜­ãer« Ñ~ÇçÑwÿÇendstream endobj 6 0 obj 1014 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:16+01:00 2016-01-27T08:26:16+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001338 00000 n 0000003149 00000 n 0000001279 00000 n 0000001119 00000 n 0000000015 00000 n 0000001099 00000 n 0000001403 00000 n 0000001578 00000 n 0000001513 00000 n 0000001444 00000 n 0000001474 00000 n 0000001660 00000 n 0000001726 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<48A398E66ECD3C342F50F126BEA323E1><48A398E66ECD3C342F50F126BEA323E1>] >> startxref 3303 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPPOST.html0000644000175000017500000000727512652070415016450 00000000000000 CURLOPT_HTTPPOST man page

NAME

CURLOPT_HTTPPOST - specify the multipart formpost content

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPPOST,
                          struct curl_httppost *formpost);

DESCRIPTION

Tells libcurl you want a multipart/formdata HTTP POST to be made and you instruct what data to pass on to the server in the formpost argument. Pass a pointer to a linked list of curl_httppost structs as parameter. The easiest way to create such a list, is to use curl_formadd(3) as documented. The data in this list must remain intact until you close this curl handle again with curl_easy_cleanup(3).

Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with CURLOPT_HTTPHEADER.

When setting CURLOPT_HTTPPOST, it will automatically set CURLOPT_NOBODY to 0.

DEFAULT

NULL

PROTOCOLS

HTTP

EXAMPLE

/* Fill in the file upload field. This makes libcurl load data from
   the given file name when curl_easy_perform() is called. */
curl_formadd(&formpost,
             &lastptr,
             CURLFORM_COPYNAME, "sendfile",
             CURLFORM_FILE, "postit2.c",
             CURLFORM_END);
 
/* Fill in the filename field */
curl_formadd(&formpost,
             &lastptr,
             CURLFORM_COPYNAME, "filename",
             CURLFORM_COPYCONTENTS, "postit2.c",
             CURLFORM_END);
 
/* Fill in the submit field too, even if this is rarely needed */
curl_formadd(&formpost,
             &lastptr,
             CURLFORM_COPYNAME, "submit",
             CURLFORM_COPYCONTENTS, "send",
             CURLFORM_END);

AVAILABILITY

As long as HTTP is enabled

RETURN VALUE

Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_POSTFIELDS, CURLOPT_POST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.html0000644000175000017500000000447312652070415017204 00000000000000 CURLINFO_NUM_CONNECTS man page

NAME

CURLINFO_NUM_CONNECTS - get number of created connections

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NUM_CONNECTS, long *nump);

DESCRIPTION

Pass a pointer to a long to receive how many new connections libcurl had to create to achieve the previous transfer (only the successful connects are counted). Combined with CURLINFO_REDIRECT_COUNT you are able to know how many times libcurl successfully reused existing connection(s) or not. See the connection options of curl_easy_setopt(3) to see how libcurl tries to make persistent connections to save time.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.12.3

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_CERTINFO.30000644000175000017500000000431612626067776015675 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CERTINFO 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CERTINFO \- get the TLS certificate chain .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CERTINFO, struct curl_certinfo *chainp); .SH DESCRIPTION Pass a pointer to a 'struct curl_certinfo *' and you'll get it set to point to struct that holds a number of linked lists with info about the certificate chain, assuming you had \fICURLOPT_CERTINFO(3)\fP enabled when the request was made. The struct reports how many certs it found and then you can extract info for each of those certs by following the linked lists. The info chain is provided in a series of data in the format "name:content" where the content is for the specific named data. See also the certinfo.c example. .SH PROTOCOLS All TLS-based .SH EXAMPLE TODO .SH AVAILABILITY This option is only working in libcurl built with OpenSSL, NSS or GSKit support. Added in 7.19.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_PRIVATE.html0000644000175000017500000000425212652070415016356 00000000000000 CURLINFO_PRIVATE man page

NAME

CURLINFO_PRIVATE - get the private pointer

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIVATE, char **private);

DESCRIPTION

Pass a pointer to a char pointer to receive the pointer to the private data associated with the curl handle (set with the CURLOPT_PRIVATE). Please note that for internal reasons, the value is returned as a char pointer, although effectively being a 'void *'.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.10.3

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3), CURLOPT_PRIVATE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.pdf0000644000175000017500000001003612652070453016734 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVánÛ6þï§ °£ƒ˜%EJ¤°a€ãh€W×Êb¥]‘ †"+‰VYr-¹AÞa¯²wÜ‘”dYÉŠ!ˆÇ»ï»ûîN_% QýÓ|'ÛÑ»k‰«E£¯#fQó•lÑEJ?ˆFöCÒAÒçDù(ÚŽðìæz1_þ®§ã译Ljb¾vÑfÄ¥1zÝâY4ÿ¬ÂÙû ºÃünŒ’Ã>_§qõ²~Lë¬x(ÇÇ¥„R‰Ë]•E…zžÿŒ~qÇ#¬ñüÊŸŽ=¡Äƒ(Ì>`&¾«aO¸R„24áž¹º4@©¶c.q}Þ¸üèçGº%‚J4aŽ>¦ #&aÐò>ô6¨~JQœÔ™ ¨˜k‚)A„cƒQµ?ü-EU§(³·¸L¾ŒeÂÃim|òr8$ðyD«ÏËðj5_ÒÖ} ø‡¬HòÃ&E?ë¼Óäé}Ç(ZŒ¢3Ë2)ÁæU•îÌ:{Š‹Mžž÷kÄ}âûŽìçc,àçŸøž$n æß•fi.z X®kt6xt7þé îŒrã«å~¬f×ó«h.)ؤ¿•|w9÷‰rÛ’()l‘« ÅhWfEîQ]Â?G¬¬©ºÁ gû4I‡…v%a޲naÖ­®uݯµ‚ BãV8} Ž„ˆÜÃ]O:qÝÖÆ(N˜ œûê=Pè¡J7èþ”šU†ªÒª‚®#hþ`ôÛVAQ!õ °+JËÓås§Sñ=iåeñ û¦csN¤'µã8Ï6çV–ŒÛËï,¬äÖV5닱ãâéeSö¶€¾NYÇÆ÷”eÀöi}Ø醠OOi^Êú»Èª'ôl¸ÜÅåþKV<¢ç¬~:¥§ÓúÜ\Úª%qž7‘;¬£‰©Ž3>öE’§qqØuC¨‡×ð°­Ï-ขôâ•…¢Ý ÛO>QÙγ{S•$/«ô؈OøºÚ²‰J0ØÛÚ´A œ0jò„÷iUöI Ò®ÀW× €.6Ž0·ž.n‚Ò”ÁÞŒ3ûþ¬Ã÷(³#¹‘6ˆ¼:ìvå:øÜÌkx³|¿ Ç0Î>-סلúbQÖäýyRU éb‰ ! ß`@Ãbw}\xÀ—ÝÎÁ¦[ÎOÝBTÏ£mÚŽ«´‚§Ù—Œ°ÿíên6*¼/ñWþ&\0âøð~C^X¾íü…ÃÌæ?lW ÙX¥;äsC[tMÁ´£ ý?ÿAæ»endstream endobj 6 0 obj 1305 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:35+01:00 2016-01-27T08:26:35+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001629 00000 n 0000003519 00000 n 0000001570 00000 n 0000001410 00000 n 0000000015 00000 n 0000001390 00000 n 0000001694 00000 n 0000001948 00000 n 0000001883 00000 n 0000001815 00000 n 0000001735 00000 n 0000001765 00000 n 0000002030 00000 n 0000002096 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<149788878A33D563A600941779E96791><149788878A33D563A600941779E96791>] >> startxref 3673 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.30000644000175000017500000000433012626067776017736 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "4 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_TOTAL_CONNECTIONS \- max simultaneously open connections .SH SYNOPSIS #include CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_TOTAL_CONNECTIONS, long amount); .SH DESCRIPTION Pass a long for the \fBamount\fP. The set number will be used as the maximum number of simultaneously open connections in total using this multi handle. For each new session, libcurl will open a new connection up to the limit set by \fICURLMOPT_MAX_TOTAL_CONNECTIONS(3)\fP. When the limit is reached, the sessions will be pending until there are available connections. If \fICURLMOPT_PIPELINING(3)\fP is enabled, libcurl will try to pipeline if the host is capable of it. .SH DEFAULT The default value is 0, which means that there is no limit. It is then simply controlled by the number of easy handles added. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.30.0 .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLMOPT_MAXCONNECTS "(3), " CURLMOPT_MAX_HOST_CONNECTIONS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_DEBUGDATA.30000644000175000017500000000335512626067776015655 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEBUGDATA 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_DEBUGDATA \- custom pointer for debug callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEBUGDATA, void *pointer); .SH DESCRIPTION Pass a \fIpointer\fP to whatever you want passed in to your \fICURLOPT_DEBUGFUNCTION(3)\fP in the last void * argument. This pointer is not used by libcurl, it is only passed to the callback. .SH DEFAULT NULL .SH PROTOCOLS All .SH EXAMPLE http://curl.haxx.se/libcurl/c/debug.html .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.30000644000175000017500000000566212626067776016125 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEOUT_MS 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEOUT_MS \- set maximum time the request is allowed to take .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT_MS, long timeout); .SH DESCRIPTION Pass a long as parameter containing \fItimeout\fP - the maximum time in milliseconds that you allow the libcurl transfer operation to take. Normally, name lookups can take a considerable time and limiting operations to less than a few minutes risk aborting perfectly normal operations. This option may cause libcurl to use the SIGALRM signal to timeout system calls. If libcurl is built to use the standard system name resolver, that portion of the transfer will still use full-second resolution for timeouts with a minimum timeout allowed of one second. In unix-like systems, this might cause signals to be used unless \fICURLOPT_NOSIGNAL(3)\fP is set. If both \fICURLOPT_TIMEOUT(3)\fP and \fICURLOPT_TIMEOUT_MS(3)\fP are set, the value set last will be used. Since this puts a hard limit for how long time a request is allowed to take, it has limited use in dynamic use cases with varying transfer times. You are then advised to explore \fICURLOPT_LOW_SPEED_LIMIT(3)\fP, \fICURLOPT_LOW_SPEED_TIME(3)\fP or using \fICURLOPT_PROGRESSFUNCTION(3)\fP to implement your own timeout logic. .SH DEFAULT Default timeout is 0 (zero) which means it never times out during transfer. .SH PROTOCOLS All .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* complete within 20000 milliseconds */ curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, 20000L); curl_easy_perform(curl); } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_TIMEOUT "(3), " .BR CURLOPT_CONNECTTIMEOUT "(3), " CURLOPT_LOW_SPEED_LIMIT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.html0000644000175000017500000000425712652070414017564 00000000000000 CURLOPT_ACCEPTTIMEOUT_MS man page

NAME

CURLOPT_ACCEPTTIMEOUT_MS - timeout waiting for FTP server to connect back

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPTTIMEOUT_MS, long ms);

DESCRIPTION

Pass a long telling libcurl the maximum number of milliseconds to wait for a server to connect back to libcurl when an active FTP connection is used.

DEFAULT

If no timeout is set, the internal default of 60000 (one minute) will be used.

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.24.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_STDERR, CURLOPT_DEBUGFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.30000644000175000017500000000402212626067776020114 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_ALTERNATIVE_TO_USER \- command to use instead of USER with FTP .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_ALTERNATIVE_TO_USER, char *cmd); .SH DESCRIPTION Pass a char * as parameter, pointing to a string which will be used to authenticate if the usual FTP "USER user" and "PASS password" negotiation fails. This is currently only known to be required when connecting to Tumbleweed's Secure Transport FTPS server using client certificates for authentication. .SH DEFAULT NULL .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.15.5 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_FTP_SKIP_PASV_IP "(3), " CURLOPT_FTP_RESPONSE_TIMEOUT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.30000644000175000017500000000370312626067776016332 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TFTP_BLKSIZE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TFTP_BLKSIZE \- TFTP block size .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TFTP_BLKSIZE, long blocksize); .SH DESCRIPTION Specify \fIblocksize\fP to use for TFTP data transmission. Valid range as per RFC2348 is 8-65464 bytes. The default of 512 bytes will be used if this option is not specified. The specified block size will only be used pending support by the remote server. If the server does not return an option acknowledgement or returns an option acknowledgement with no blksize, the default of 512 bytes will be used. .SH DEFAULT 512 .SH PROTOCOLS TFTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_MAXFILESIZE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.html0000644000175000017500000001241312652070415017464 00000000000000 CURLOPT_SSH_KEYFUNCTION man page

NAME

CURLOPT_SSH_KEYFUNCTION - callback for known host matching logic

SYNOPSIS

#include <curl/curl.h>
 
enum curl_khstat {
  CURLKHSTAT_FINE_ADD_TO_FILE,
  CURLKHSTAT_FINE,
  CURLKHSTAT_REJECT, /* reject the connection, return an error */
  CURLKHSTAT_DEFER,  /* do not accept it, but we can't answer right
                        now so this causes a CURLE_DEFER error but
                        otherwise the connection will be left intact
                        etc */
};
 
enum curl_khmatch {
  CURLKHMATCH_OK,       /* match */
  CURLKHMATCH_MISMATCH, /* host found, key mismatch! */
  CURLKHMATCH_MISSING,  /* no matching host/key found */
};
 
struct curl_khkey {
  const char *key; /* points to a zero-terminated string encoded with
                      base64 if len is zero, otherwise to the "raw"
                      data */
  size_t len;
  enum curl_khtype keytype;
};
 
int ssh_keycallback(CURL *easy,
                    const struct curl_khkey *knownkey,
                    const struct curl_khkey *foundkey,
                    enum curl_khmatch,
                    void *clientp);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KEYFUNCTION,
                          ssh_keycallback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

It gets called when the known_host matching has been done, to allow the application to act and decide for libcurl how to proceed. The callback will only be called if CURLOPT_SSH_KNOWNHOSTS is also set.

This callback function gets passed the CURL handle, the key from the known_hosts file knownkey, the key from the remote site foundkey, info from libcurl on the matching status and a custom pointer (set with CURLOPT_SSH_KEYDATA). It MUST return one of the following return codes to tell libcurl how to act:

CURLKHSTAT_FINE_ADD_TO_FILE

The host+key is accepted and libcurl will append it to the known_hosts file before continuing with the connection. This will also add the host+key combo to the known_host pool kept in memory if it wasn't already present there. The adding of data to the file is done by completely replacing the file with a new copy, so the permissions of the file must allow this.

CURLKHSTAT_FINE

The host+key is accepted libcurl will continue with the connection. This will also add the host+key combo to the known_host pool kept in memory if it wasn't already present there.

CURLKHSTAT_REJECT

The host+key is rejected. libcurl will deny the connection to continue and it will be closed.

CURLKHSTAT_DEFER

The host+key is rejected, but the SSH connection is asked to be kept alive. This feature could be used when the app wants to somehow return back and act on the host+key situation and then retry without needing the overhead of setting it up from scratch again.

DEFAULT

NULL

PROTOCOLS

SFTP and SCP

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.6

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SSH_KEYDATA, CURLOPT_SSH_KNOWNHOSTS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYAUTH.html0000644000175000017500000000554612652070415016565 00000000000000 CURLOPT_PROXYAUTH man page

NAME

CURLOPT_PROXYAUTH - set HTTP proxy authentication methods to try

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYAUTH, long bitmask);

DESCRIPTION

Pass a long as parameter, which is set to a bitmask, to tell libcurl which HTTP authentication method(s) you want it to use for your proxy authentication. If more than one bit is set, libcurl will first query the site to see what authentication methods it supports and then pick the best one you allow it to use. For some methods, this will induce an extra network round-trip. Set the actual name and password with the CURLOPT_PROXYUSERPWD option.

The bitmask can be constructed by or'ing together the bits fully listed and described in the CURLOPT_HTTPAUTH man page.

DEFAULT

CURLAUTH_BASIC

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.10.7

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_NOT_BUILT_IN if the bitmask specified no supported authentication methods.

SEE ALSO

CURLOPT_PROXY, CURLOPT_PROXYTYPE, CURLOPT_PROXYUSERPWD, CURLOPT_PROXYPORT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.pdf0000644000175000017500000000734012652070447017522 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…•a›F†¿ó+FêHÍ.°°(U%çŽ(Nˆqñ:i”«,Š9ÛÇàZùQý]0>;w:Y²1;ì>óμÃw „UŸþ7߯ÓVAae|7˜^„þ'ßÂ[‰BÝF÷ ƒÀ t‰An óvžÆÉT.æ“4šÉt|+£»ÅÈ’ÿÌ ˆãâ#ri0‡xäÑøfÎåû{Ó½· ?ìËE‘5?MÑÖ»Ö²NM¼ØÔUÏìû—ü`8¡ Üï6¶S'Ú”8 ±r¤‘š„\ÛžËI‚íúú‘‰Æ£*ŽqÂÞÑü©ûç„J<€ÍµL;üg¸¸GÂÐ üMQ-!ßË¢j7YÙ@[CÝ®‹=¬ë¦UkÉ%&âÙÌ'BÃ̾N’él<»DÒ!ÇüeSååaYÀoJÈ×ꋬWáŽ26ä«6¯1æZë{½¯ÖYµ,‹›çÔæ\%t£Y}>]ÖÕ Vu¶.²å½õ¦C|œ £ìQ*wÑì6Oå8™¨P—páuEz"­Qy.NÙ5¡Âí* ßeûl[´((æ£ÔeÐ% ]nþV¹Â¦…<« ¯±Õ¡P!º(ÙË€÷òLµÜ›‡¦ØÿºËšæh!?e!7ëýRµç¹|:»ÇéAÀ뀎¸#<ÔeY[¶àžyÜ dYw§47Pt[ ñ¸Î µq„Ó÷Ý¿…JÙ#n¨e q)<åmVdz>ñ™ÇN‚%öÑ0Õ骭*Tr¬èªXëM™¯¶EV!Óᄺ*€fFíPUW?FûbØÌsCIÎ=ÿ.‰ãÄâ( \óKœÜŽ,49¥¾0Uu;#v=L Í*údÈ­"<µþ¸[Þõ^æjdäʆá¶9šëU¦z;¾ô«±Ô:#(Ùƒ p‡Ú™ôgŽ óMÓÁs5óð ¯—íÊC-}"!t\Pÿ4Ln“øÊ»È"ę⽔Ó@¢?GŸ¦qÔÓ0ñ¬mdòØ6ØeÅ]Ò«Å…xb.†*r8M‰ª[Ú}†óŒDý}ÎNÍ:ŽGoÇñX~½LËàzB\ Kô²òêqÓ®áå\¿™i$çé>[ÌEùÌÅóèªÜGm™íaß¿*¢Eò6úÕïÍa·«÷m±¼q}È|òq’Xø2èúw²HôPRÏUuK^ÉQ£x–œó¸&º6Jï‘Odž¯=rmŽ]ÑK«íss¹»ò¼OOâcz¥Ó/wW% ú¥|½—íRA<,³+ñ;ÎÓ” ˆ²¯e3ÎC´¡Éøp¨ÀAZÍé íÌÔV‘4þÀÏÿ\¸endstream endobj 6 0 obj 995 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:31+01:00 2016-01-27T08:26:31+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001318 00000 n 0000003201 00000 n 0000001259 00000 n 0000001099 00000 n 0000000015 00000 n 0000001080 00000 n 0000001383 00000 n 0000001637 00000 n 0000001572 00000 n 0000001504 00000 n 0000001424 00000 n 0000001454 00000 n 0000001719 00000 n 0000001778 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<45DEEBA86080BA988D803C5CFEE127D0><45DEEBA86080BA988D803C5CFEE127D0>] >> startxref 3355 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.html0000644000175000017500000000464212652070415020201 00000000000000 CURLOPT_NEW_DIRECTORY_PERMS man page

NAME

CURLOPT_NEW_DIRECTORY_PERMS - permissions for remotely created directories

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NEW_DIRECTORY_PERMS,
                          long mode);

DESCRIPTION

Pass a long as a parameter, containing the value of the permissions that will be assigned to newly created directories on the remote server. The default value is 0755, but any valid value can be used. The only protocols that can use this are sftp://, scp://, and file://.

DEFAULT

0755

PROTOCOLS

SFTP, SCP and FILE

EXAMPLE

TODO

AVAILABILITY

Added in 7.16.4

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_NEW_FILE_PERMS, CURLOPT_UPLOAD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HEADEROPT.html0000644000175000017500000000617312652070415016472 00000000000000 CURLOPT_HEADEROPT man page

NAME

CURLOPT_HEADEROPT - set how to send HTTP headers

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADEROPT, long bitmask);

DESCRIPTION

Pass a long that is a bitmask of options of how to deal with headers. The two mutually exclusive options are:

CURLHEADER_UNIFIED - the headers specified in CURLOPT_HTTPHEADER will be used in requests both to servers and proxies. With this option enabled, CURLOPT_PROXYHEADER will not have any effect.

CURLHEADER_SEPARATE - makes CURLOPT_HTTPHEADER headers only get sent to a server and not to a proxy. Proxy headers must be set with CURLOPT_PROXYHEADER to get used. Note that if a non-CONNECT request is sent to a proxy, libcurl will send both server headers and proxy headers. When doing CONNECT, libcurl will send CURLOPT_PROXYHEADER headers only to the proxy and then CURLOPT_HTTPHEADER headers only to the server.

DEFAULT

CURLHEADER_SEPARATE (changed in 7.42.1, ased CURLHEADER_UNIFIED before then)

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.37.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_HTTPHEADER, CURLOPT_PROXYHEADER

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_UPLOAD.html0000644000175000017500000000745212652070415016144 00000000000000 CURLOPT_UPLOAD man page

NAME

CURLOPT_UPLOAD - enable data upload

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UPLOAD, long upload);

DESCRIPTION

The long parameter upload set to 1 tells the library to prepare for and perform an upload. The CURLOPT_READDATA and CURLOPT_INFILESIZE or CURLOPT_INFILESIZE_LARGE options are also interesting for uploads. If the protocol is HTTP, uploading means using the PUT request unless you tell libcurl otherwise.

Using PUT with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with CURLOPT_HTTPHEADER as usual.

If you use PUT to a HTTP 1.1 server, you can upload data without knowing the size before starting the transfer if you use chunked encoding. You enable this by adding a header like "Transfer-Encoding: chunked" with CURLOPT_HTTPHEADER. With HTTP 1.0 or without chunked transfer, you must specify the size.

DEFAULT

0, default is download

PROTOCOLS

Most

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  /* we want to use our own read function */
  curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
 
  /* enable uploading */
  curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
 
  /* specify target */
  curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/dir/to/newfile");
 
  /* now specify which pointer to pass to our callback */
  curl_easy_setopt(curl, CURLOPT_READDATA, hd_src);
 
  /* Set the size of the file to upload */
  curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, (curl_off_t)fsize);
 
  /* Now run off and do what you've been told! */
  curl_easy_perform(curl);
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_PUT, CURLOPT_READFUNCTION, CURLOPT_INFILESIZE_LARGE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.30000644000175000017500000000374212626067776017552 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_EXPECT_100_TIMEOUT_MS \- timeout for Expect: 100-continue response .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EXPECT_100_TIMEOUT_MS, long milliseconds); .SH DESCRIPTION Pass a long to tell libcurl the number of \fImilliseconds\fP to wait for a server response with the HTTP status 100 (Continue), 417 (Expectation Failed) or similar after sending a HTTP request containing an Expect: 100-continue header. If this times out before a response is received, the request body is sent anyway. .SH DEFAULT 1000 milliseconds .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.36.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_POST "(3), " CURLOPT_HTTPPOST "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_RANGE.html0000644000175000017500000000650412652070415016011 00000000000000 CURLOPT_RANGE man page

NAME

CURLOPT_RANGE - set byte range to request

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANGE, char *range);

DESCRIPTION

Pass a char * as parameter, which should contain the specified range you want to retrieve. It should be in the format "X-Y", where either X or Y may be left out and X and Y are byte indexes.

HTTP transfers also support several intervals, separated with commas as in "X-Y,N-M". Using this kind of multiple intervals will cause the HTTP server to send the response document in pieces (using standard MIME separation techniques). Unfortunately, the HTTP standard (RFC 7233 section 3.1) allows servers to ignore range requests so even when you set CURLOPT_RANGE for a request, you may end up getting the full response sent back.

For RTSP, the formatting of a range should follow RFC 2326 Section 12.29. For RTSP, byte ranges are not permitted. Instead, ranges should be given in npt, utc, or smpte formats.

Pass a NULL to this option to disable the use of ranges.

DEFAULT

NULL

PROTOCOLS

HTTP, FTP, FILE, RTSP and SFTP.

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* get the first 200 bytes */
  curl_easy_setopt(curl, CURLOPT_RANGE, "0-199");
 
  /* Perform the request */
  curl_easy_perform(curl);
}

AVAILABILITY

FILE since 7.18.0, RTSP since 7.20.0

RETURN VALUE

Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_RESUME_FROM

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.pdf0000644000175000017500000000740112652070443020155 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥Vknã6þïS Ð¥‚˜õ&Zðfµ…7Žåµätƒ¤0´«u$G’7Íz•Þq‡ýJ6M°…ˆCÎ÷˜æLÊÀ”ýÌî{gSîšž w½‡S‹ Ù=¼K0 /’E¯ÛÃÀ·Àç6 8$÷½r>›Ž¢I2£ó‹ØÿǃÉp‡SÃç”sË'WÃóð–Ø·†a»ÔdŽG²M½š‹´yš7¢­Ö-à·¨ÊÆ°Ê×yëPÓ:8ô÷äc¯oR‹!  ñrÄK¹+!Û$£Œ‘"®2—ºÜFIÞ#—¡‘üq@Ð2©cúÐg–\þ¯ÌàX×Õ_OÐTÙŸ ŠÙ¤ëQ-2ez/Â#\}Ög ŽøzMâa|ŒF…($䇢ÌV›\ÀÏR¸3ùC—¿ÈpË‘““lVaÌsmoÕœ,Ó2_‰SxU`*B§-ÓN$ô[㧷пãóép’ £±D„N0·3â;L&©ŒQVp¸Œ:ny쑦Tg‡´uZ#†VÔÐV¸Ð´uQÞÁ²ZåòÙ.E§3w:”ÙúT¢¤?6Ø¥ž¥—oHµGl¢à¹XÌ$éfÕY‹ª†´+5ËæÔc[J¦~C:5ÕƒÉ*w9AÜEuvŸŸuï®jDm`©™¦o“þâ!/ej ìzÒÕª2,—<6ðTm$s¤¼P´ôm/>h\'"cΦÌÔ*“¹u7XžíëÕQ²óf/™´Ó÷}ÛÙY é—êÈk›QË6·i¾Šƒƒ±z~¶<™ês[áE‰,Œ:¨oQÓåª0¢¢Ý¡–M}ÓÛvñy4zÖ9H#â=ä˪i»W• ?.'£pË*xµ‚“=fKúŠ÷‘–Ö ‚—Ä.#wÙ¤Žâ5¸‚Áž—I=—iòd8¼ކÉõ19ôÌv0Çaù‘Až‹Š|Ê8uþë ™†Él:†+ƒÉyë12ÍB][/){ÒùT´›ºlÔ çÑ] éÊÅn6ëuU·"?ÕA³ñÅ8Rc]í߯óHM ¹³¬ÚS¨j•WfÂA­ž%óèÃü2¼Œ¦8¸-ªjŒ±€â¸ÓÍ{]`˜dѪí|Œ2fjùt[.E-àÑPãÚ Δ¢l6 ÃÒ­øwVˆ²…¥H×ЬSßi1æ£æîáÀCŒâh¯ó³"ÙÎØ}yK€*É8×þFŸ÷…äPO¿}æ¶/¯5¾- ußgEPž·eý'דg÷¡—|ÀƒÉû–‹J`Ûøo€×ù±*¾È‹ Ðö©iô™ër‡º/å›,¼ö•²Î®o™<*LzŸðó ü" endstream endobj 6 0 obj 1020 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:27+01:00 2016-01-27T08:26:27+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001344 00000 n 0000003234 00000 n 0000001285 00000 n 0000001125 00000 n 0000000015 00000 n 0000001105 00000 n 0000001409 00000 n 0000001663 00000 n 0000001598 00000 n 0000001530 00000 n 0000001450 00000 n 0000001480 00000 n 0000001745 00000 n 0000001811 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3388 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.pdf0000644000175000017500000000763512652070432016766 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ}Voê6ýŸOq¥ý±0kÇŽ“hÓ$^—J¼ñ ƒPí©L(S2…¤„¢î3ì«ì;îÚù í&¤FÅÎñ9÷ž{Ì7 „ÕŸê¹9ônæ.<ç= Ͻo=f¡zlð)Ä žþ"ÜõÊw¸6¸>'žá¡gÝ.ç“é,\ß…³õr¬ƒÙ¼þÙcLaãþpÛ>q9„çÞ£®,¾êÃætLÖ*ÊßÖ¹*²—¢?´J(s,ü'ÎÒ>‚ý#üÜãÜ!+q+4}Ü›!¡ òõ‘/ñMy(Öæ0äÒ¼p?Ò›©ÞÇâø¼úèï[©6%‚º0d¶Yþ6q RGªþ£š#lF˜ç{å Õ°Òè)Q7Û8×O8å ²\Âù>‘Ò÷k¼s—±Çi­=.ö€|JÞ]ɶçÆ»$žÙ¹øz?-Æ‹K‰X‘ZÞwqºIN[?é¾Üè?dÿ³¡$ œ”ú7n¸îÛÊ,Áû(Ý&jða×¾×Íq…)ˆïO”ž)I8€¤ÕÈ sºËÒgP¦jÛUÿÇ÷j¹p «UûK°¸gáxz_ƒ9¥/>P>‹š“}â953f{¥]ó"Hñн‚×¾íJ]nEÉIAœ@\@¡’$7õ"3ջש!±¶$’6fÙ´ÂancììpÀŠÂy¯RØf1Ö Úñ…FqX[Ì’²õªà®õˆh@YV8CPÓ^”"*Zç4É¢mnáØ(ÙøŸ"{óâÊ:ïãÍ^«®zOoeO­ªëy8Ç};†˜Mçí¼vR…š()·¯ú–¹Ö[ÍÚÁfZŠÃ‰[WíÐ tñ0Z½­i2ÃSE˜ Å>*tgÎq’ÀßǼ€¨(ÔᥨT'•äÄ–uB£_`e<Ïo `PŸÔ.;ê¡ÕüPMÕŽÒÚ.#´il×ÛOÝùeÍ`—'d¸ƒ·ì/zí/uÌ4»b.“pÐHH3d~|«Î¯È·£Å)qøûã³îñüêø4yƒ—$ŠÓwr´i›5!iP†ìâéhØâˆTs‘«ãkÀ ÷-uÔ‰RÏ^%ì³¼t5•zö‘ÖÐ:·DÝJ^»9í&­$n¨V¦êä¯b˜ø¼YÜíÊ’F™ì WtC~¼ÂÆkªÖŒWUܯ/¥<5TËPÇ]®_{QmTžGجAJ>ˆ'›kÊùtWÑvD ¸™‰ºÔ£¥Ye:cª®Ù’×ÇMÂN#$&†Û^R!÷ªD±¥[9rhêøFû4„i{E!=*ëkðv:Y”ó¡êrÑ`¿¾Ì&AEÍñÊl}9hªÂ`„iO+QÒauÎ'£OãÉ8üz5úèHXS6Ún1VÐ’è¬Ñ%•m5­y.ç÷ðÐg\_2k4Y¦[þ\§cõó"XOýxk0š,¦í¶+¼÷ÞâáJ¤í·É7ƒK4ÞþZú|JÁFt-0 „½ßðó/û§íendstream endobj 6 0 obj 1178 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:18+01:00 2016-01-27T08:26:18+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001502 00000 n 0000003392 00000 n 0000001443 00000 n 0000001283 00000 n 0000000015 00000 n 0000001263 00000 n 0000001567 00000 n 0000001821 00000 n 0000001756 00000 n 0000001688 00000 n 0000001608 00000 n 0000001638 00000 n 0000001903 00000 n 0000001969 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [(M\017H\372%7\341\372@fc`llW\376)(M\017H\372%7\341\372@fc`llW\376)] >> startxref 3546 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PATH_AS_IS.html0000644000175000017500000000556512652070415016675 00000000000000 CURLOPT_PATH_AS_IS man page

NAME

CURLOPT_PATH_AS_IS - do not handle dot dot sequences

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PATH_AS_IS, long leaveit);

DESCRIPTION

By setting the long leaveit to 1, to explicitly tell libcurl to not alter the given path before passing it on to the server.

This tells libcurl to NOT squash sequences of "/../" or "/./" that may exist in the URL's path part and that is supposed to be removed according to RFC 3986 section 5.2.4.

Some server implementations are known to (erroneously) require the dot dot sequences to remain in the path and some clients want to pass these on in order to try out server implementations.

By default libcurl will merge such sequences before using the path.

DEFAULT

0

PROTOCOLS

All

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/../../etc/password");
 
  curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, 1L);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Aded in 7.42.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_STDERR, CURLOPT_DEBUGFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.pdf0000644000175000017500000000756012652070446017462 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­Vën£Fþï§8ÚþX¼ †áÚV•œ„tÝ:Æ5$j”T±' »À›æöUúŽ=sÁÄqV«J•%0Ì̹|ç;ßá,BÁ?}_> ç>Ü5 î*Aß–p”â†@¼Hoê ß?d$!}ÇçóI˜Ô–ËÿVV‡ü_†èß²|fð:¿}†öžÃ’×mþu™µü½DÃ&®´ayÄí°hšÞ6¦XT/´Y»iT/ó·‡`ÝMê‘@îK.§ñ,'»ù"<]®?ä岨¬8ü, y(.äþ±Ýv (0–nx]èk¹î³rUðƒ·Ëü¾Y±¼ï€&ð:€¢*ïf ×Q˜]’0í&Ì\<¼Hø$JŽçãY:ާš(ÔUNf"¬uN®‡DÆc‘€JuH?\Ó ½µ÷Y ¹»Oÿ)øVp3¤B*lߨ´}jÒ§-Ê« («šÍz]Õj“ŠL8dȧk7tÎT]°r»6è„QAñ”…Ò !²XSÛê¨qÛSÃ'ž‡AjväÙï;”±g‡‡§š.*›Ð8ÜL®GçZP]-O¶Ç|½:黣筈Ô÷}¶­˜aí"ÉÝÅ0›ë&CÀ~²=_'bÚÄrCɘ8…xëÐfÄ·¼N)ãÉ+íÀ˜C b—7ƨ(d]n²뺮«¶ZVEó#|LÓvô©¼ŽÏFâ6‹g oɾÞ.ßt'èÏÑÙluý|³ŸÓ> ÊDã«$Nb ¶oÌŒPìÜz5Q4º€~~`ù<—v$OFGãÉ8½ÜūȜ ØBƒ.Â£Õ aÉKð‰ƒö ¤» ­_ó²-ž¡*ñ¢Ù.:DÍŠxÍKÔÕøµÜ˜Qraš$òågSÄ!œ¢`órÕÞoÚµz”žÏ§p1¤ …Ö£ÆhriÝ'¿ý(í¦Ös=ZÄ¿‹ßÑ‘Ñ^ ¾ UDÊ’OÏ8a—)á*WP 5|ʵr#K§èP® åzKéSº8J)ñã|<†¸ŸâèHã)ykn¼†ÃH¢F“$î¹øŠ\ûóíc¬¾ ^À±I7»åÇÊÁ®9téyVÇ¢}‹³(š¿¶H‰÷ßMÆÓÓx×~ 2¶ý‚èmáW“OP;Mf£/p7ޝˆðÐD,ÇÀÆ8áK°q>IL­NPa(Jàï_OP»Ïendstream endobj 6 0 obj 1230 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:30+01:00 2016-01-27T08:26:30+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001554 00000 n 0000003365 00000 n 0000001495 00000 n 0000001335 00000 n 0000000015 00000 n 0000001315 00000 n 0000001619 00000 n 0000001794 00000 n 0000001729 00000 n 0000001660 00000 n 0000001690 00000 n 0000001876 00000 n 0000001942 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<56940CCC95DA668B167F96687905AED9><56940CCC95DA668B167F96687905AED9>] >> startxref 3519 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.pdf0000644000175000017500000001117012652070434016776 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ½WÛnã8}÷Wp°-6#RwÌ`wâÆzÚm{y.H/E’cmË’[—ŒÁ~ÒþãV‘”,+É\^b["Y§ªN*~%eÄÀ?õF×— #Ó§.#Áóè^»Ùn«uð0_Ý‹ÛåM0_-?kægDM™=$auz¨’º8Öú„Û5 Wƒi‘WäíÍú¿‚Gƒr#ÀãêÛÉtH°iË©þ\€·Ì¦¶oÌ iŸfzðïžÜ –á’ ãøÚ@Ô¯ƒ&ÿ%Q˜eaô…슒̯W¤8&e(°ÊC{(&cÂê «w¿.Wë»ùÝ¥m±DØÕþ–æQÖÄ ùÃrÿèþ︜[ÂútLâdG’¼9ßÀ5»ÝË]jw°ç«ÙÃêã˜\_á^f€ë¶ô\ºvšTM%Uµk2ru&jG «=r»ü¸\áÏ¢†g0ydkøçåͧÛÖ¦Ã1+~Ï轇C˜ÇäY÷©ïÙ¦­…iò/y¡s‹ú>wµçœÔÅ9ÂG¤˜Y5[8÷žºkiÓùb3» tŸÃ&צ›–®%òn8ÔáˆC-O` §+b‡5e*@ÚÕ_HÊÀf릌\˜fIŒˤªÃ²&õ>ïa܅΄ÐuI¹LÉbz´9aŒ2u²–'b« À¬O™ç{–zù-éõ)ï½*›>ToµJ&µ¢hS‹wYýOtÞÍÀQßSÇëÒ")Ëï¥CêÝ)ˆÑïsPŸØ†¡ý&">ä °áø.(hƒ×Ù÷ÑÝŽR÷ÚU®ƒhE!Ž y›¡Ž¸]È!Ãîh^ÃD9ñ( pI 6³© êË4V5|È®,D¾R$ÄÓ ½Œ¢‰6§ï`þÏ)µ]jø2¥Ñ!~#¥Q›r«êì¡-ÀÏÂQrµ‡²Í’1Ió´?“o:"mjE Ô²4Éëãgý{*%V¸7*@͆?<öU¥±Àáï~O]ogw7›ù÷^ÄþU¥]‡]¤|êÙ-íªŠ„äX€ŸI‰U~*š²'øM!ñÆäyŸF{Rí‹&‹É!¬á2èXuõ¯€À¨gácÑ ’Äcšµ */‰@…¦mR·Í“AæHùÚ§ÕKXä)©åc¨ÇÉÒGŒ<€M@ä‹CRïÓü‰TÇ$Jà [פL²°†Õy’Ä:ü˜¸Èð&E!´J0ôÊí\ƒs˰<¥ü¤Ä¤¾ˆF–KM—u%\Ǻ逰b+”_™¥ÒsEcÝÜí6TI¶£äƒ­Zr«$y!ÚÃ(÷¨Yœê‘ªNMq mÓR9;qDLIa©ã>f3í©9À,˺ŸptTæKTíå£NËü i½U%ÅflQÇi+A›§}*çìá¬Ì´šÒ•ZqLæY®,èÊ\É…>NŽe¡î|Gn Li ³¥PGÛêe mÊ»¹½uçn6ûxy¸€ÈLªÜméW5ÖÄW[97½¶ -GÊê·šU•$_ Â¾“¹.õM««çùn»c0ç¯Âs°ƒõ»LéÒ ßŽaBIBzN³ % }Ê‹dZ*¹H_^6˜Çq¨ì·Ä*å6¾æÎ?WÑt+yŒå©®HÜ1Û°-ÎŒ8CÇ.æºî9$÷Úûdt§3œ­l´%{鈢,d`¹],(YÊœƒæHò¾ÙÔ×å€e ˜]EÚ ˆ­í‹®²êàrhš†ÓqfµܸÀc\°.E¸Ë¢Biýƒ«Üì—é§õbÖÞ›ƒFp†ÅÌó-ãv¥Bo{Þ‹»ë¤ˆÙgk˜!K`œþD¦g7±)²¶€ç‹éûùbü:àšMM l\¸:cð5͉K§æïûz¯mfÁv³$?é F߉\lg}<» ëE‡7w¼ˆ¥ëg ¨šã±(AÆo„r¡ìp-üyù°snyøC–@½‘éânuvd…WeЗó7Ü»; &DF(èºMÒΚ)J{|i0õTõ5AjIýçM84+M&£N¯9´#NZÔÐaþ·}˜&5P ›œp¸ÝˆXYû7 Fÿ„¿ÿ1+”°endstream endobj 6 0 obj 1914 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:20+01:00 2016-01-27T08:26:20+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002238 00000 n 0000004121 00000 n 0000002179 00000 n 0000002019 00000 n 0000000015 00000 n 0000001999 00000 n 0000002303 00000 n 0000002557 00000 n 0000002492 00000 n 0000002424 00000 n 0000002344 00000 n 0000002374 00000 n 0000002639 00000 n 0000002698 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<1C6B5D1A65C8090685DD36DE8EC11DFA><1C6B5D1A65C8090685DD36DE8EC11DFA>] >> startxref 4275 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_SERVERS.html0000644000175000017500000000506712652070414017014 00000000000000 CURLOPT_DNS_SERVERS man page

NAME

CURLOPT_DNS_SERVERS - set preferred DNS servers

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_SERVERS, char *servers);

DESCRIPTION

Pass a char * that is the list of DNS servers to be used instead of the system default. The format of the dns servers option is:

host[:port][,host[:port]]...

For example:

192.168.1.100,192.168.1.101,3.4.5.6

DEFAULT

NULL - use system default

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one.

Added in 7.24.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, CURLE_NOT_BUILT_IN if support was disabled at compile-time, CURLE_BAD_FUNCTION_ARGUMENT when given an invalid server list, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_DNS_LOCAL_IP4, CURLOPT_DNS_CACHE_TIMEOUT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.30000644000175000017500000000453112626067776016754 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_STREAM_URI 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_STREAM_URI \- set RTSP stream URI .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_STREAM_URI, char *URI); .SH DESCRIPTION Set the stream \fIURI\fP to operate on by passing a char * . For example, a single session may be controlling \fIrtsp://foo/twister/audio\fP and \fIrtsp://foo/twister/video\fP and the application can switch to the appropriate stream using this option. If unset, libcurl will default to operating on generic server options by passing '*' in the place of the RTSP Stream URI. This option is distinct from \fICURLOPT_URL(3)\fP. When working with RTSP, the \fICURLOPT_STREAM_URI(3)\fP indicates what URL to send to the server in the request header while the \fICURLOPT_URL(3)\fP indicates where to make the connection to. (e.g. the \fICURLOPT_URL(3)\fP for the above examples might be set to \fIrtsp://foo/twister\fP .SH DEFAULT '*' .SH PROTOCOLS RTSP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_RTSP_REQUEST "(3), " CURLOPT_RTSP_TRANSPORT "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.30000644000175000017500000000377712626067776017107 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRETRANSFER_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRETRANSFER_TIME \- get the time until the file transfer start .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRETRANSFER_TIME, double *timep); .SH DESCRIPTION Pass a pointer to a double to receive the time, in seconds, it took from the start until the file transfer is just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved. It does \fInot\fP involve the sending of the protocol- specific request that triggers a transfer. See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.4.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_SSL_ENGINES.30000644000175000017500000000410112626067776016265 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SSL_ENGINES 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SSL_ENGINES \- get an slist of OpenSSL crypto-engines .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_ENGINES, struct curl_slist **engine_list); .SH DESCRIPTION Pass the address of a 'struct curl_slist *' to receive a linked-list of OpenSSL crypto-engines supported. Note that engines are normally implemented in separate dynamic libraries. Hence not all the returned engines may be available at run-time. \fBNOTE:\fP you must call \fIcurl_slist_free_all(3)\fP on the list pointer once you're done with it, as libcurl will not free the data for you. .SH PROTOCOLS All TLS based ones. .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.12.3. Available in OpenSSL builds with "engine" support. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.pdf0000644000175000017500000000774312652070425016723 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Vko£Fýί¸R?*{v†á©V•/«zãׯéFIeLZ „ǦùQý½3€±]o+K¶5Ìãœ{Î=Ã+P€ŠO÷í•+ž+…³òª0ùºŸhWNpÄ@ð¤´kØ:Ø.'Ž Á^Q§›ÕÜ_Û©¿XxÓ`ë/æZð‡ÂtpŽóƒbPb3Þ”{õîAåDM™nã°zßVqµ6ÖMªâŸ$Ï*¸´åïÁg…ë±ÝvÏn'qÔ˜!˜±ºˆ•¸¦€;6 —0ÆÜ’ 1™ŠyÌ$¦ÛSo<1>ÐÔ)1¨ c\*ƒŸNL¹ÓMõîïêp„Έm¶ã´¥Ž<áí%Πʳ,ŽêxuuXjÌ&®Ëuõ9®¡ŠË¯3p@·Õ¸”¼Oi1‡ê >‹8òØõÝÂ_®gëSȺ§ð]’Ei³‹á'Q÷⋼ü,YÌ[ŽQŽÎuyà‡—0Û¥ñè¢2ß#$¢ËúsjXcA\½A:Tž£¨~T5Ïž!ÏÒ÷íÇ–Á1YnZİŽÈ~ôÖÓÕlÌüE§=3[é/_†‡ƒ]âôr sMyrUA)žO`öõK EX†û¸ŽKˆ_›0­€ ©¡ŽSü/&¤Éc–ïB¹".ŸòrašÊG%.IJTµ(ó¿Þ!lp0«“(¦–X%†[g ¬kê×M1‚G¹­š²vaB]†YõÔY¢·ŸeÎ:ûŽÙÜuŒîž!° º)3"±0ÛR…v #†éÊšȤíCˆÂ chªÖ©U²/RdW5–í4> [ß G¡`:sº“-ŽqâZ•M¸…¬z¸ƒ+Ð@Vï &P{RÁ>/%†§&mÛGâyKêAªu £öcÝ6ˆc8}•ï¥g‹Oþv¢qªNƒÙ­·ö§×^ÐÆGÛ^‡„䢶ÝãÐ1¤C‹ŽçÙi"×LÞÒ½:4ϳ&å³5®“ì)¿t–cx8ªåžÚLH€ž€¦ÃCÑ¥†ºe#ç‚¥¤ÜbEXigA¹YþX‡IûhŸ£e¡IQVYÕ*þÔ°ù(3,„èo¨Š8JÂôÔƒ¹Lü´O?uýi¢"q3z¯N6­ 5–‰¬[¼+‡:Ö &ZݶmnÚ›^È‹c ËUÁàÆ*–¬³ÙX'´ó¼€?7&µúHŸúó³\EÌ.‚PüË£×;ŽÛ7Àh=˜Kq0¹zs²ÛÝ0û%ËËKÚ´ô—„³›Éòßô¥§qé}™Ü,ç^•Î7£2ð3šõ`>úN¦ã\¸a]1ópšÓ('·0ܶ¨¼e²žøl>¹šÍgÁÝiYÑÜpN½¬Nv;t%úÕ& ÿ-÷½ºò‚Íj·ãxZLÌ7ÞYÛ ”q¾ÌÃö}ÃÛú×´·@×ï>USy‰WõH½¸Y\/|›êo‹­/o"±0ËëÿmеçÁd¾ö"g*ô÷ë­·ºò×g/&Œ2bõÆ’‘2:Ýϱ‡õ{  ocØÿ2èn«“ 6xÁÏOÏ7œcgÆóÇñ²¶‰Õ–LÄ! ÇmBµ13M<ÕTñ=ís“Ž #‹e:‰­¼@ù?ÿ&Aµuendstream endobj 6 0 obj 1253 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:13+01:00 2016-01-27T08:26:13+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001577 00000 n 0000003460 00000 n 0000001518 00000 n 0000001358 00000 n 0000000015 00000 n 0000001338 00000 n 0000001642 00000 n 0000001896 00000 n 0000001831 00000 n 0000001763 00000 n 0000001683 00000 n 0000001713 00000 n 0000001978 00000 n 0000002037 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<673FE8C4C9E2567BA11C45014B96EC75><673FE8C4C9E2567BA11C45014B96EC75>] >> startxref 3614 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.html0000644000175000017500000000405412652070415017534 00000000000000 CURLINFO_NAMELOOKUP_TIME man page

NAME

CURLINFO_NAMELOOKUP_TIME - get the name lookup time

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NAMELOOKUP_TIME, double *timep);

DESCRIPTION

Pass a pointer to a double to receive the total time in seconds from the start until the name resolving was completed.

See also the TIMES overview in the curl_easy_getinfo(3) man page.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.4.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.pdf0000644000175000017500000001312112652070446017160 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•XënÛÈþ¯§l˜ ¬1‡wfÛŠWi”U$Õ¢“qaÐÔØbC‘ZeW»èäUúŽ=g.$%ç‚€%“s9—ï|ç;þØ”ôg¶\\…äA lò0ømÀäK¢?²-y•À‚$÷µ‡‘Ð!aìÒ(&Évà4f$y|².¯¯f‹er»ZÍnßO®¦¯?.'“«˽’l_·<‡[Á›j× GŽoSÛ-ø#¯JA¾³{øÏäí`dS‡Á•XƒE4öÑ(7 Él`ÍÇÃ3pÞ2Ÿú± †&ëõn2LþÕsÁ±©g‡dÄ|mÏnò_ò8„Ãlæ¯óûi6œì8¯Ï¤Aõñ>Çöh{ŸXá}ʆªÇ«ÉxÝä_²´áÊ¢ž  ‡FXÐH­ÿ8_,WÓÕ±ñàª6ÜúS^fÅ~ÍÉŸ1°ø‹nþŠË㑼Pne¬9ý|E^lÒr]ðóoDþœUù c Ü¿þ,ý>¶]eìþe²º¼š.“éb޶@ʘ¯2ö–i«˜F&TBTÝœ ²KëtË^“¦"¼Lï Nªš¬s_©¼Cî¡ÛPÛ&ÕJ6¹ Zd'ló’ ò´áÄZ†\ƒýÌã=u9n—XF‡¿ÀrLxº‡ße“gys Õ}°Û81™mQÏiÈú0];V/>Y- (ƒ`L¶ÒbÏñpF¶<-…F n-è¡ ¥#ÉSìw»âŠÉ‘ëÀ{ql’Óƒ³C8ê%'V¨ÄììG ¬ùý€± ¶Ò}Ñ»¡ƒTïxÖ ý¸™scɪJ› ¹¯jqˆ@[¸k’â1 õᘼX“&ßrð 8Lz£*&¢.“Lª#ëkð`6ÅŽgÈâi§–˜˜¾ O9\V(Êe¶éy¡G#Wçºí—ãéüõBõ¦#Šf6<˜åš¤G§û,dñ³ƒ—š8ÝÄÔscnkœôiÅôœ7_±ªÁíUƒ¶„v BV?d¼gäoJßD¨8êJ쳌s Ûš›ðØJ‚€~ð™ÁÃC¿¯ºQlº›U¯5SB9º^ë¹Up¡˜É†Vªêelb Xü9o–Ué­öLØIïª}+ÏNíÏP%ø¢z¦î! º¸í¤ShøÉ6n;°¥(°zEEž$ÁØ^h¥e£´ÞoÚ&øG]bYà™è÷™\j»ÈÕ¼ýµÖ†};ªvˆ÷³ŒF¥º©ã0j‡¦„¯Å3î€gÞ· êÍb•|£ ‚À7ØaðSbˆ‘’D‘ °J̸sÔ‹|­6<ûÜ5®M¥%…Mây.• AbM‹|­¸¿ â %o¥˼H¥îŠDFGRwUJÀw¼é®'÷öÅŒ… 0ªê” ]D÷ÿMF’cúU=h‘5b1¦×èEëøO½ÀnKÖÓíj>ÿí¥–œ¹ÄíP`JSëÂ^\¬ÕÐÑ+Ÿ°›¯ÉÃþ ùm›–£¼ÁŽÑ6_cKTD³ÝîK€ùHáØÔá8Ò6É+±aaµ!H?—•Êal=)ÕEÉ/=‹ñ<ÀÈÖ©l“ò°žÛôó”=t~—âØ(ÅY¥à ?A'½E‘²IeKÆjyÄ‹x™Õ‡1_ß×öb[kk0”5M jõ^Õ_PRa>4ÜÒ*³´>2 î5½×5ÀRT§õÍ®ÊKPÀgß]^ëÎëCÉʹÛVfޝ5Œ`dÕhq`uõvÖ5æ^† ‡aèz'þÕAJ$h_I¤s5¤Bì·RC=JèØ¡ÛMôGÃ×òJ;๑nˆNj@¨& k‘Ek®ã?¦u\.f'3çHR±wìƒ5. 9"(‰ íº©²ª/É›$Y®ÎÉkù{únŒËÅÒ…Õ;xHx“Ñçð‘“Œß-g'ƒ{onTë Ø_z³m^æ0Ùâ ­üþFNJ ÿ@akv«ùéxÆ'Ý çä§MÓìÄË‹ 5!7þ;Ýî`æäýd&ánÖ¾xAV\‘­Ê­R¾˜F™Á—D4uÈì1„"i8‚H^\¨"U€ý‘§“:›¡IgFÛuÛw¼:ßšXàšQ ë?Ó~=û¿ÊQN÷Z¼'eB‰ Û4x¦³ñ«élš|<¡d*¼N“ë"˜Þ=ï1ÔóÄ“Œ?‚:°ò$¹¾š“÷CæBzfg×½ë9d`=‡aIÿ“ir»ø•䊰;-†3PU7F­ª…×ó_ç‹¡ë[æ· ùo ܬDµÔ€+‡zê’"¿“¨„é.¤ö܇nã[0ݽݗÄV ·ym½1 Õ$ü~þhüiEendstream endobj 6 0 obj 2206 endobj 14 0 obj <> stream xœ}MOÃ0 †ïù¾‘H$ä£mš#  ˜*u´Þ$´¡ ʘ†ÖÑMˆORzà€–íׯ@ 2Ƙێ\TÖ=‘°&¢†!Œ©íà ƒ |%?; ¬ëŒÈ`GL&œü$ z=«ŠrŠM]ÍÜWw7Sï«%5KíécÛ¬žú¯¦_÷ïGÆu*…”–†b³ßõðÏ6{ÄIàpC¸4¢˜ °Ðá.­½‡Ë¢.ÙÙ¨\iÀòÖmY#÷߯%ZäṨNžÇ9W6mžÙÁiA·›çøXa¬Œ«4u‰H©²09í@K• ¬IfF3}<’ûßE±]:endstream endobj 15 0 obj 256 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:30+01:00 2016-01-27T08:26:30+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003047 00000 n 0000005006 00000 n 0000002981 00000 n 0000002659 00000 n 0000000015 00000 n 0000002291 00000 n 0000003112 00000 n 0000003435 00000 n 0000003370 00000 n 0000003302 00000 n 0000003153 00000 n 0000003183 00000 n 0000002819 00000 n 0000002311 00000 n 0000002639 00000 n 0000003233 00000 n 0000003263 00000 n 0000003517 00000 n 0000003583 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<3B9F4D092AEE64D3BECDD66B93E10E1C><3B9F4D092AEE64D3BECDD66B93E10E1C>] >> startxref 5160 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.30000644000175000017500000000417612626067776017467 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "4 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline .SH SYNOPSIS #include CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_PIPELINE_LENGTH, long max); .SH DESCRIPTION Pass a long. The set \fBmax\fP number will be used as the maximum amount of outstanding requests in a pipelined connection. Only used if pipelining is enabled. When this limit is reached, libcurl will use another connection to the same host (see \fICURLMOPT_MAX_HOST_CONNECTIONS(3)\fP), or queue the request until one of the pipelines to the host is ready to accept a request. Thus, the total number of requests in-flight is \fICURLMOPT_MAX_HOST_CONNECTIONS(3)\fP * \fICURLMOPT_MAX_PIPELINE_LENGTH(3)\fP. .SH DEFAULT 5 .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.30.0 .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLMOPT_PIPELINING "(3), " CURLMOPT_MAX_HOST_CONNECTIONS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLKEY.30000644000175000017500000000414212626067776015402 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLKEY 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLKEY \- specify private keyfile for TLS and SSL client cert .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEY, char *keyfile); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. The string should be the file name of your private key. The default format is "PEM" and can be changed with \fICURLOPT_SSLKEYTYPE(3)\fP. (iOS and Mac OS X only) This option is ignored if curl was built against Secure Transport. Secure Transport expects the private key to be already present in the keychain or PKCS#12 file containing the certificate. .SH DEFAULT NULL .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY If built TLS enabled. .SH RETURN VALUE Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSLKEYTYPE "(3), " CURLOPT_SSLCERT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.pdf0000644000175000017500000001002412652070435017070 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}×W Ð2°6Ü]Þ- (6[(QDU¢ÓvaÐäZRC‘/qýý•þcg—7Yjk–,íÌì93gfø,BÁR¯î39LÞ®=ØV ¶“¯ª¡ûHð.B_ý=LZ Opâ ˆãòz½WÑÝ"¼œ-VáÚŒþÀ8Œx6G鄹Dx=MnŒh=[þÜüÖ„¤)³;WÏw•¬‹ÇÚœ2[á;~ÙygÞO8åÄrÚÈÇñÔ­S‹0Š Ä,3Ž‚=µ©C<Sîj¯åL[ÊÁ»hõûH—YĶ<˜R¦Ž­–Â(×"µÝ ü ys¸—%§é^Q‰3ÈŠß‹²® . .Ÿ5›—8ß”ºÄ×h6Ÿ—áj3߼ĤM4ã»}ždM*á•Ê·êì~TæÌ†h1‰Þ´h“mN³}«àÍ.ÎÓL^œçÚѵ°;Z­ë —gE¾…2ηòÖü¾…xÌ„ZôˆÊU°¹\ÏWÑ<\ve¢N[¥¡µŠ‡êâw•¶ˆçrU£ª u;h'OÂQ«‹çR‚XWØr é ¿Sæ‘oMj²«Å s¸Vï—ÊÙ#Ž?ø)4L£Ù6™×°Ç¢îäqåëZ±ÖÙþ^¥žöY‡ø‹ŠÅ Sî Ì%Žíö`dmrl*\£øKCÒ™M¸ÅÅ9Å<)ØEùeU¥¥}¦œ£Ú9Ú¢j/vu¢¸Õ#s“»6‚u5^I1ó­ Õ¹E¦u¬¤û´¯wšêvÿ"õ.^Ùåë›<ª“fä­L†ùˆ†ÒÞíT€ÑÐÕGuÁŽô}:"£Z¬R’¦¹ÔÍ5–â¡(AÆÉJ©ZNM&Ï!ÔëØD³°™ ƒ´-»ând]«×;¬o;”Tx ô^f…n5â·µ¤Œ‰æéi1–¯ÿýHƒ'ó Wc«µÙ艓Åg}©:!¥ÒÌž[®å³f¨K“ª::Ôø3Nj-‡. º¬#NÜÜø¯Žo#ŒÑ½Ò)â>ÇðÇ$ùkâý3äqÝ”bü«’¸L$¦»*üGõE\·ê¿—po²nZ6Õ36 ÔûÚTTǹþf2‡X–-Œ8ktI«â ñH*¾]ª/´ž…O(wûÜFN¾2¡}ò·»º­7N&;êådO⦒Ðä¹DÜUŒ¹M õE×ñ5ð Ú.Þgȶ"¯ ð«à§®GÛoÛj÷hf×ú”"Q¯[EÌå};,¢Ä¨Õnžçq{èmz>z_`X­;6×P#Ìõ:MMnR¡¥F¢’=Ëí·âe¸8ÙAˆY ˆÅ,Ë^Áü6û¸ZýÌðÿsúG# \ô´_ôWa—,¥Áóý.”åp›Ê©­iÍ>Á¸ë1ý8púNœ/fïæ‹yôùdÄ8„ÛG:oä©LaŸƒGT•þŸë±¢ëõ>™”cKºÔ˜-®ƒ“3RF{ÔVÙ=ïwáØ?è–îF6DÕ<ª†–é¨a×^/?,C“;Ư˻P/Wå˜õ«ÊÜÌ›p$r éìq€÷§«Rí¥¢GöÅ˨xîŽs±;_FÁzh½B„Úª¢Ÿ?³Ëcø¸Fºƒ“g4]v`Ê|œQ Ÿù\æ-©~ã@öˆeN©ã›8½÷M “fgÚ×íD“_ðõíªÓ!endstream endobj 6 0 obj 1295 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:20+01:00 2016-01-27T08:26:20+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001619 00000 n 0000003509 00000 n 0000001560 00000 n 0000001400 00000 n 0000000015 00000 n 0000001380 00000 n 0000001684 00000 n 0000001938 00000 n 0000001873 00000 n 0000001805 00000 n 0000001725 00000 n 0000001755 00000 n 0000002020 00000 n 0000002086 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<8B1408EE133A14AF66D4AD60CF321065><8B1408EE133A14AF66D4AD60CF321065>] >> startxref 3663 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_MAXCONNECTS.pdf0000644000175000017500000001024212652070435016540 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVmoÛ6þî_A`*1KŠÔ6 pSpëÄ™£t-š!Pd:Ö*‰©(%óþÓþ㎤^l'Y±RwÏ=w÷Ü}GSDô§ýN‹ÑÛU€îÔˆ »Ñ÷5‡¨ýJ ô.† ¡þG¼Ùw( \D ‡Š‹g؃‡ÇÑWçôjµX^Ä7gÓϧËóóÙi|yí°ë1J›*¿‰ÚÝ(QËûzœR 0€¯GÎÙlÿ¹Þ%˜“M¨«‰Fü`ô*’¿²¢)P*ËR¤J“t+ÊþÖèŠ À˜P‡Æëå—óåÅåüòз¹bü:?deš7k~Ö¤¼Õðö}Ýå&)•pᘴks„~Ü&å:'ÏQv‚rYÞ¡¤MY_bþëûÙåéj~Ï—çÚ?°L=Kò3¸/}ÇÐáг$r“{G)”çÅš)Q[(iMŽˆGÛäX„G$1Ìx–Ccù1Ëst+P f»Ì”Mq+*$7’¢É뤲QùÉ{Q¢{Q©LÕ¢¬÷R¨Lˆ”F˜ÞW&ŒÙÚ­·IòìV³~vmʳÒ8¾—2G‰R2Í’Z¬ÑcVoá SÈfÃF½›q„£Ð¨“,çÞ ‚ÚHÖTùÆT´‹=í8±€bâw´ÔEO2e˜ôµÜ¤[€A@Yiâ`!‡díÅÁh`ãHÐ]E`Ð=Œ]€<î$y#PSæ2µ“ Jµv€·¤ë3j|ƒu7ˆZçCæ)ÅžOÜö,@¶Ò/5ˆbòîÕzxÕÜh_ýêhpš¬(ð|GVß”¡É ªKDGVH}kC?¶â¨Û}\ñ¢Î¸Ø&cªm×yÈdSšaï£Àñ¾îúÝ@4\sPÆè¡r@a¥¢áÚ«0Ô(M|RZB<  °ƒð9›Ú2>áœÒŒ.µJÖ2•¹B¦$Us/«ú…¢Æ¶ª9Ä¢‰V] ”{äï[è†J@!Û‚(ÏŠ¬>1ƒÒ\*¡Ì±Ì×BÕH–}áÛ.¨%À"Á\†iûA쉃F]h(¾bJ7,ªƒb{ØV3s1?"*Ë4óq°@§k£›ol!ç`u½ƒFµëáÐ>½Ü¸˜´ï<¿CºCìQÞ–Ó`šBV4y]%¥Úï{ínëT®6GªHòÜF³§y.÷a uÍp¨×“6òÒß÷±³7ø´‘C»ûQ[à¤W¬„ÀŠV°%ž¦sw'j›å5(€$U–ïÆ>·M‚mûw^úB ™@õzmYÐS©eAÛOá¬çÅÜéÈÇRÖ(I¿•V)³¡@BX™ÏÅúN¬­ZjgE£tÍ@É'[‰#n'Ž:3. Ž~^>¡t- 4:­8Yó¡Ó™;;µ‡†©–½ö¶]iðÓEÁ ƒükÛSžv©ÞQ"Ê»i0½²Ý­¥v½q}ÖŠ‰³tkÀ¡ë?6Ðâ½²°\¬ZœÄÑïtzc—;g£eïz? ~7N—‹#:s gRÕ¯™}žž],fÈ„/n"ñ€†$mWçý²eË Ã'«â„GúfïM“ÊM\ÓOh:ÄE°ïõª6_LßÍóøËQ®=»§tx¦y‡Ùêß«ss§žRá˜ë=¶ÉW³øjuŽ>)L­È§Îtq53Ýú,7+Q7U»NÏn–_ÛVg34]\.‡kGöþGåÃìéœcZîäÐ8;j¥ÖÞjö~¾:¶¦Wx Óè ºîÛYÚíjf&ã õ@j±çÀò¡)‘K(7<ñ¾N©65‹G¿Áç_Nj-endstream endobj 6 0 obj 1444 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:21+01:00 2016-01-27T08:26:21+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001768 00000 n 0000003651 00000 n 0000001709 00000 n 0000001549 00000 n 0000000015 00000 n 0000001529 00000 n 0000001833 00000 n 0000002087 00000 n 0000002022 00000 n 0000001954 00000 n 0000001874 00000 n 0000001904 00000 n 0000002169 00000 n 0000002228 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<1F26CA106AF34A6F1570B53A5C9C3DF5><1F26CA106AF34A6F1570B53A5C9C3DF5>] >> startxref 3805 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.pdf0000644000175000017500000000771312652070452020204 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVírÚFýÏSÜ¡?,<°Ö~è+i;CRÒÒÈ@AN›±3Œ,ÖF HD’íx:}ƒ¾Jß±wW_€Ý¤ƒ 3ÚÝ»çÜ{î¹ú &¡`ªOõm;gsnóŽ ·Ïª¡ú‰¶ð*À ®zÜtÊ3ŽÇ‰ëA°í\¯/æþùt,gãÙÈOÆ“Ÿ—‹Ñ¼çxÄó˜c¼Í—¯ü+ƒ_õzÜvˆE-#ºË6Ëíݦˆ—¹,Ò]ø§I®w×úzT“DýüÚ˜„QD!`ÏR˜¹ ß1&ÃÞ rÄUjËãÈ#XuŒóQ/ø¸Ç™D˜ (SËÿ—ü»x'7q'·Ë쾇·˜T؆ÌàzFŸ6q^h˜àˆn@mâj0‹÷“él1^BÒ[4ã»8‰6w+ ß«ô©/²þQmgB±tw xè§ò(ÅÍOR}U.Âé:LVÙ‡ÿbéš%‰’e¢u˜i ¯¯9=-é ⹂"Ýüª÷ò[D-^Ïdz`<(ðX9j•…{†ô,T{té<âZeá(a¦­¨ya™0¯V©GlΪ#ºú ]|FlÛóªÅ{¹šsdP-dùa ð˜É­úX˜eá#¤7:pÚ™¬Táâb !L.|Ù£ ‰£âÕ¨ÆÜ* š«18§võ|ç€!(Á¨;tzq«ãîš´¥¯+}©V<îd»Lþý¥Ôgøàʈ(Ö²ìÎ9kÒº¨âR—Ð&.–Ëæ:­2{¿Á Ö2\É쪇‘ÂÂL¶z–+¸ÉÒížöûÙ@f–…ñœ64;‚Ü„ü”¤=†ÈMÏ5t IZ@~·Û¥YÙ6æBEÓš¦F©¶×ÖÊò`£t#ÆëGLæµn–¶UL,‹[÷Ê$-d ӅǶ»0‹ó4mXDkßè•Åag¿¨’ײyz'y)u /2%Œ²mâÊ4uu8EN0J„¨%€µdë§ûŒkœ| @x°«0h© P½*ˆÙ…(Là:E(ׇEĬÃZi:ܸW»ú`·AZm&µ³–ý©zñä¸u–¢ß¥qR¨ê¦m$öÆkÒ¶ií ÂRaöáMÕ­–pÕ5Ò£¢R§1¼Ð«T¯¬œÙ¼˜á·-Õv®Âî8­§+¬äMV Ñáõg„›;©„£ÈôáaGkØÊ0Éqdz=I÷Y}ÃìfóŠ’àšZ%³ÊŸh,è+JËÓ¦ ¦m£žR¯§¾ îo‹1úcx>óf¦ëP2G½l°_~€öüÜø«k5Á»çq”¥yzS ÆãÅ™’ê«›Œn‚*ÿrfË„ÏNp¼bÆðwОþëeÛlªÇž™BÛ¯MžfèÓ}=hP–ë>ü‡ª J3B§yø†mšMb[´žcøjìƒ÷Gæo.ð‚ç®VØIØ.8sQGO¥½¯Kc> .æx×£ë`Scè_Œ*å> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:34+01:00 2016-01-27T08:26:34+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001645 00000 n 0000003456 00000 n 0000001586 00000 n 0000001426 00000 n 0000000015 00000 n 0000001406 00000 n 0000001710 00000 n 0000001885 00000 n 0000001820 00000 n 0000001751 00000 n 0000001781 00000 n 0000001967 00000 n 0000002033 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3610 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.30000644000175000017500000000416212626067776017547 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_RESPONSE_TIMEOUT \- time allowed to wait for FTP response .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_RESPONSE_TIMEOUT, long timeout); .SH DESCRIPTION Pass a long. Causes libcurl to set a \fItimeout\fP period (in seconds) on the amount of time that the server is allowed to take in order to send a response message for a command before the session is considered dead. While libcurl is waiting for a response, this value overrides \fICURLOPT_TIMEOUT(3)\fP. It is recommended that if used in conjunction with \fICURLOPT_TIMEOUT(3)\fP, you set \fICURLOPT_FTP_RESPONSE_TIMEOUT(3)\fP to a value smaller than \fICURLOPT_TIMEOUT(3)\fP. .SH DEFAULT None .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.10.8 .SH RETURN VALUE Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_TIMEOUT "(3), " CURLOPT_CONNECTTIMEOUT "(3), " .BR CURLOPT_LOW_SPEED_LIMIT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_NOPROGRESS.30000644000175000017500000000342012626067776016067 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOPROGRESS 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOPROGRESS \- switch off the progress meter .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOPROGRESS, long onoff); .SH DESCRIPTION If \fIonoff\fP is to 1, it tells the library to shut off the progress meter completely for requests done with this \fIhandle\fP. It will also prevent the \fICURLOPT_PROGRESSFUNCTION(3)\fP from getting called. Future versions of libcurl are likely to not have any built-in progress meter at all. .SH DEFAULT 1, meaning it normally runs without a progress meter. .SH RETURN VALUE Returns CURLE_OK. .SH "SEE ALSO" .BR CURLOPT_PROGRESSFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_REDIRECT_URL.pdf0000644000175000017500000000751612652070456017007 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UínÛ6ý笠À~T "V$õElà&*æUµ<[iW$ƒáÈ´­U–\[NwØ«ìwIÉ’?Ú l‹¼â=çÜs/¿M(ØêÓü¦ëÞÛ±Ë]φeï[êMh~Ò5¼K0 P É¢W¿CÁgà NɺÇ¡.$Ͻ{ãæn †ïãé8¼ŒÃ›dŠ 0!Ýoó©œí^¦KYeÅ¢4-æÚF¹©²²ØÁß4ÿJ~ïY6a³¥F "\…‡{D=cØ7ß ~Ü¥.qGŒÉ¼g| Íäï#ôÌ&ŽíƒE™Ú¶_ ÿ¢„j%A=Í`+çÙV¦<›˜Ü¶}n”û|˪R#<Áe!0‹z$Ð8&_†ñh2˜œ¢Ñ!‰ñSV¤ù~.á¥Ò[õEV¿ªpæh‚ dZbÀ…Šz®V³bžËëïëx éj¶…«+|{ó`þŒj½÷6œÜŒ£d”^•7ý>ôÑLÅhí ÜZyÔ™r%¯±Û¡x›2+*¹E¥ðA#9ZAUev’‡:q}çp”¯2áQOª6uˆX—­¹(W­8µܾGl/hÜñ¬ xfŸpÑ& š}Õ% B9¡TˆfW¾t`ánæ}¡he xÁµ]¨pk»Èbö˜ËÆ/-,jë¼ÍÁXAKëáØñZ»ÞQ§±îêÅ¢¬Èÿ^_aýhwDÎ!ßJ&s±\a”g<|‡ø7õ¬º>=³zž}½;x'+$xª¾O ½8Ê¢§X²qjx‡‰ãÇ!¶iQ×aÓ£¿_C ¥Ó:™ªs¤÷~þ5OØendstream endobj 6 0 obj 1097 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:38+01:00 2016-01-27T08:26:38+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001421 00000 n 0000003311 00000 n 0000001362 00000 n 0000001202 00000 n 0000000015 00000 n 0000001182 00000 n 0000001486 00000 n 0000001740 00000 n 0000001675 00000 n 0000001607 00000 n 0000001527 00000 n 0000001557 00000 n 0000001822 00000 n 0000001888 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3465 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_NOPROGRESS.html0000644000175000017500000000400412652070415016647 00000000000000 CURLOPT_NOPROGRESS man page

NAME

CURLOPT_NOPROGRESS - switch off the progress meter

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOPROGRESS, long onoff);

DESCRIPTION

If onoff is to 1, it tells the library to shut off the progress meter completely for requests done with this handle. It will also prevent the CURLOPT_PROGRESSFUNCTION from getting called.

Future versions of libcurl are likely to not have any built-in progress meter at all.

DEFAULT

1, meaning it normally runs without a progress meter.

RETURN VALUE

Returns CURLE_OK.

SEE ALSO

CURLOPT_PROGRESSFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.html0000644000175000017500000000451512652070415017125 00000000000000 CURLOPT_SSL_CTX_DATA man page

NAME

CURLOPT_SSL_CTX_DATA - custom pointer passed to ssl_ctx callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CTX_DATA, void *pointer);

DESCRIPTION

Data pointer to pass to the ssl context callback set by the option CURLOPT_SSL_CTX_FUNCTION, this is the pointer you'll get as third parameter.

DEFAULT

NULL

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

Added in 7.11.0 for OpenSSL. Added in 7.42.0 for wolfSSL/CyaSSL. Other SSL backends not supported.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SSL_CTX_FUNCTION, CURLOPT_SSLVERSION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.30000644000175000017500000000350112626067776016472 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_OPENSOCKETDATA 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_OPENSOCKETDATA \- custom pointer passed to open socket callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_OPENSOCKETDATA, void *pointer); .SH DESCRIPTION Pass a \fIpointer\fP that will be untouched by libcurl and passed as the first argument in the opensocket callback set with \fICURLOPT_OPENSOCKETFUNCTION(3)\fP. .SH DEFAULT The default value of this parameter is NULL. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.17.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_OPENSOCKETFUNCTION "(3), " CURLOPT_SOCKOPTFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.30000644000175000017500000000413712626067776016406 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_LOCAL_IP4 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_LOCAL_IP4 \- IPv4 address to bind DNS resolves to .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP4, char *address); .SH DESCRIPTION Set the local IPv4 \fIaddress\fP that the resolver should bind to. The argument should be of type char * and contain a single numerical IPv4 address as a string. Set this option to NULL to use the default setting (don't bind to a specific IP address). .SH DEFAULT NULL .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. Added in 7.33.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, CURLE_NOT_BUILT_IN if support was disabled at compile-time, or CURLE_BAD_FUNCTION_ARGUMENT when given a bad address. .SH "SEE ALSO" .BR CURLOPT_DNS_INTERFACE "(3), " CURLOPT_DNS_LOCAL_IP4 "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_MAXFILESIZE.pdf0000644000175000017500000000776112652070435016552 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Vínã6üï§X ?*1¤D‰D‹N¢\}õÅ®­rM C±åX=YJ$ùÒôú*}Ç.)Ñ_—40`'"¹;;3»Ô#P€êOû;_wÞM¸¯:î;f¡ý™¯á4 R?ˆ–æ ƒ€C \"DëŽð=unœ³«Ép4Žfû׃a8üÞ:îmæ›2›%qõ<«’ºx¨»=.(¡4pðŸ´È+xíh÷èC§G g˜lŽXb!Jh8®Ѱã\ö»ß#|\e‚å"ÄhÑq>†ÝèÏ=ðœÐc\/ÓWÿ°ŽÿJ×›5ü“%P¥'gYÑå‚PæùÎS²€º€ÅÞ“<+â…z°‡{Ì'Òš~¾§ƒé!,³Å@r¾Kóy¶Y$ð“æëþ"«Ÿõvî™J5ÚyŽù¼5KðÃ*ÎYrò›'ù½)ç¶û#2ö?HÏÃéÙd0Ž£Ké× Ï_F=Žõÿ"R4ìS"¥)vª â&u\ÁC\Æë¤NJ}Ä%40¢*´BàóV7mã1F|©X³pã¬ÒjO‰€9O<-FõÌÓå3ԫĪ×ÊÁ¨5¯ïÁ­;4‡B0‰(ÐÒm²['Íáî¹N*ôo±Ä"´vºS%[Ý –M96g[¹DQ¿ñ™Æ¥Ï—Éã&©jtÖ²,6ù²¸ìêܘܹOJ,!Îñ ׿6…*áÄÙUÕAê2Ϋ%n{J³ ò¢†ªŽËPøã‚Ý€[ñG8ÓfèIÛE+¢vÈ,¼> Ãóðü—@æÓVÓ6ŽÉ}§«©7ež,ˆ i7ö´[µ<˜íQ[¼i%¬K£Ž3ë,-´Ä:¥°xŠ÷ ¶Éoœç ¾äÈ¿G”¤ù‡‡2-J+ >V”·²œhNãªÍ|¥T ­ÍÈU¬‘@ÒhÇ’Y÷zÜç,“y ÉApN–ׯf‘¥èàRIÏâÍÓ.WœøŒ;ËÚäiªR$ð˜lC¬šø¾w4 Œé¬æI¾¨`ó€Ô§ØOÖ8L°#ãܧvl6Yà£/‹oð:y¶#G®¤öLºNk‘Ž=/òyRâľ+ê\DcCó/þaqVиH©µÃ3Xšn}ê*”‰ûÒ‰óZÏâ»â³b„¹t+ˆkäøšßAô1¼’ûÆ|z›ªmì]# ´LíwÂÑlœ û“÷í}s8„$ÒêDšµƒ©é8S&çEkáIãÜË<ËcÿªaFw{{aqß ÚÕánòí hB‚ p·Æp.‹–¸æ°xúà íûÆ Â9õ-" žaÛá“0ºš\§.CŸ*Ÿ9ýáUØÎò¸™˜™Û¼0…³Ñ¯op> C解ݶ£x¯¶Ã%¾‡ðÛòL§œ†ÄŒþŽ€½¨³Ixöi6ãÕòb`)w·Ô.pÏ£>Ž6Às‰ß ,½Ó/>l;Úí1!”G„ƒ¯†69p|3¼y[3*Œ:¿áç?t¿²endstream endobj 6 0 obj 1260 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:21+01:00 2016-01-27T08:26:21+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001584 00000 n 0000003474 00000 n 0000001525 00000 n 0000001365 00000 n 0000000015 00000 n 0000001345 00000 n 0000001649 00000 n 0000001903 00000 n 0000001838 00000 n 0000001770 00000 n 0000001690 00000 n 0000001720 00000 n 0000001985 00000 n 0000002051 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<1F36B46AC2A0816FB54F60979301FEEC><1F36B46AC2A0816FB54F60979301FEEC>] >> startxref 3628 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.pdf0000644000175000017500000000705312652070454020520 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥UÿŽÚFþßO1Rÿˆ9Áfw½þÕV•ç64ŽMaI"xïÎ)gl5ÏÐWé;vvmà —¨je„íÝÙ™ï›ùfü(a@õÕÞ×Öó©w•EáÎú`1³ ímý/$zAÞZÍ>?tH‚|°nìÑ|“Óå(Md”Èe%?É—Ëë´ç¸„2áÙ¿&ñéex½°E¯÷»üÙb'Ê̲×ûÝf©VÕŸË;UçÅm å¶ÎË¢êÉ÷–'ˆÃ°1ý1”p†Ø×H-Dj$t5»q9 ÏÀI†:.ÕvÌ%nè´0_Gzý”N‰ > ÿ¯Ðào@ư.‹Zõ`£Š»úÊ[ÈÊwíOŦ\ez00Öìm’NfãYœ11Àìoòb½Ùg ¾×‰~®ÿÈýÚœ ±%¯ìëm.j±0{pu¿*²êÃWYžìðžOÜ#š¬Ü¿Û(¸jI/Ò‹Þw þÇ4uÌÁÓëh6šŽ'rœ&ÚËÉܦšO°ž¬ŽU Ià65d ·?YvUÁ ¶eŽ vP—øÒÃçZ«¼9Œ¸Ž88qZ'Ѽ£•€ŸÅ¹±ïÕõ­qÕÔíÂC¡ Èû¼üéíÇÝÕf¯Ó*ƒÛ]ù 753×#¡wdL ¤Q+6±¾…¿ÔÏP |ÂB"úècìT½ßž†¼TåŸF/žiCœ{”`R›¨ÿ8‘ÅV (;teÑê•<%VêO<*ãdÚæV8ñ%÷ü6sN¨*©„ô;ħޡGi|¦÷#¡ïq¬ÿK)' {†­¡«NûD¿ _OâèPîà‹‚’'0ÌѺh \›e ïÁåh¡¶#ìߺúò—`>Áé((Æ3°œrâ„‚áèDýΉ0››üFŠõ‚ÐÇÊP‚­6{,Uz"©¶À1[映‹Ã½Ië¼þ`Ì ¨endstream endobj 6 0 obj 906 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:36+01:00 2016-01-27T08:26:36+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001229 00000 n 0000003040 00000 n 0000001170 00000 n 0000001010 00000 n 0000000015 00000 n 0000000991 00000 n 0000001294 00000 n 0000001469 00000 n 0000001404 00000 n 0000001335 00000 n 0000001365 00000 n 0000001551 00000 n 0000001617 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<90228090AFD15ABE933C2F1F85EDA27C><90228090AFD15ABE933C2F1F85EDA27C>] >> startxref 3194 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.html0000644000175000017500000000501612652070414017103 00000000000000 CURLOPT_CONNECT_ONLY man page

NAME

CURLOPT_CONNECT_ONLY - stop when connected to target server

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECT_ONLY, long only);

DESCRIPTION

Pass a long. If the parameter equals 1, it tells the library to perform all the required proxy authentication and connection setup, but no data transfer, and then return.

The option can be used to simply test a connection to a server, but is more useful when used with the CURLINFO_ACTIVESOCKET option to curl_easy_getinfo(3) as the library can set up the connection and then the application can obtain the most recently used socket for special data transfers.

DEFAULT

0

PROTOCOLS

HTTP, SMTP, POP3 and IMAP

EXAMPLE

TODO

AVAILABILITY

Added in 7.15.2

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_VERBOSE, CURLOPT_HTTPPROXYTUNNEL

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.html0000644000175000017500000000566712652070415017550 00000000000000 CURLOPT_RTSP_STREAM_URI man page

NAME

CURLOPT_RTSP_STREAM_URI - set RTSP stream URI

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_STREAM_URI, char *URI);

DESCRIPTION

Set the stream URI to operate on by passing a char * . For example, a single session may be controlling rtsp://foo/twister/audio and rtsp://foo/twister/video and the application can switch to the appropriate stream using this option. If unset, libcurl will default to operating on generic server options by passing '*' in the place of the RTSP Stream URI. This option is distinct from CURLOPT_URL. When working with RTSP, the CURLOPT_STREAM_URI(3) indicates what URL to send to the server in the request header while the CURLOPT_URL indicates where to make the connection to. (e.g. the CURLOPT_URL for the above examples might be set to rtsp://foo/twister

DEFAULT

'*'

PROTOCOLS

RTSP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_RTSP_REQUEST, CURLOPT_RTSP_TRANSPORT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.30000644000175000017500000000405412626067776016563 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_FALSESTART 3 "14 Feb 2015" "libcurl 7.41.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_FALSESTART \- enable TLS false start .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_FALSESTART, long enable); .SH DESCRIPTION Pass a long as parameter set to 1 to enable or 0 to disable. This option determines whether libcurl should use false start during the TLS handshake. False start is a mode where a TLS client will start sending application data before verifying the server's Finished message, thus saving a round trip when performing a full handshake. .SH DEFAULT 0 .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.42.0. This option is currently only supported by the NSS and Secure Transport (on iOS 7.0 or later, or OS X 10.9 or later) TLS backends. .SH RETURN VALUE Returns CURLE_OK if false start is supported by the SSL backend, otherwise returns CURLE_NOT_BUILT_IN. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLVERSION.html0000644000175000017500000000761212652070415016665 00000000000000 CURLOPT_SSLVERSION man page

NAME

CURLOPT_SSLVERSION - set preferred TLS/SSL version

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLVERSION, long version);

DESCRIPTION

Pass a long as parameter to control which version of SSL/TLS to attempt to use.

Use one of the available defines for this purpose. The available options are:

CURL_SSLVERSION_DEFAULT

The default action. This will attempt to figure out the remote SSL protocol version.

CURL_SSLVERSION_TLSv1

TLSv1.x

CURL_SSLVERSION_SSLv2

SSLv2

CURL_SSLVERSION_SSLv3

SSLv3

CURL_SSLVERSION_TLSv1_0

TLSv1.0 (Added in 7.34.0)

CURL_SSLVERSION_TLSv1_1

TLSv1.1 (Added in 7.34.0)

CURL_SSLVERSION_TLSv1_2

TLSv1.2 (Added in 7.34.0)

DEFAULT

CURL_SSLVERSION_DEFAULT

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
 
  /* ask libcurl to use TLS version 1.0 or later */
  curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
 
  /* Perform the request */
  curl_easy_perform(curl);
}

AVAILABILITY

SSLv2 is disabled by default since 7.18.1. Other SSL versions availability may vary depending on which backend libcurl has been built to use.

SSLv3 is disabled by default since 7.39.0.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_USE_SSL, CURLOPT_HTTP_VERSION, CURLOPT_IPRESOLVE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_MAXFILESIZE.html0000644000175000017500000000507412652070415016736 00000000000000 CURLOPT_MAXFILESIZE man page

NAME

CURLOPT_MAXFILESIZE - maximum file size allowed to download

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXFILESIZE, long size);

DESCRIPTION

Pass a long as parameter. This allows you to specify the maximum size (in bytes) of a file to download. If the file requested is found larger than this value, the transfer will not start and CURLE_FILESIZE_EXCEEDED will be returned.

The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers.

If you want a limit above 2GB, use CURLOPT_MAXFILESIZE_LARGE.

DEFAULT

None

PROTOCOLS

FTP and HTTP

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_MAXFILESIZE_LARGE, CURLOPT_MAX_RECV_SPEED_LARGE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.pdf0000644000175000017500000000760212652070436020063 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VýnâFÿŸ§©œ]ÁÆ»¶×Þ¶ªÄ%¾Š;(8¹;]*äà%qkl‚í¤÷}•¾cg×@îš»;óû˜™å,BÁR¯ö¹ÞÎÜ• }¬·ð6 ¾ú!Ú š3<ž°‰/ Ú¾çW‹p6V—ãO«Ep~½Z΃àbŽ¿7†}cšœ bYÂX×ûl%ãò몔U±«ßi‘—ý†×Cý½Œ,Â(&_#6؈p<›CŒéØ|ƒtp•ºÄ6BŽ’q˜ÑŸGd˜E˃ejùeð/ìãJB–nÓ ’¸Š!)Læ‹:Üxʳ"N ÜI™h|'¨FkD9ñ5Šåçél¾œ,O±è-‡ñCš¯³:‘ð‹ëL}û_Õvæhz çºÀ ÏżÑKðã}œ'™ÂK„†(wäu¬bc2‡Á7æÏß¡D-zÄé"Xž/&óh2›*œèus¾Ão«=ÚA|·1Ç"6ÅXOˆ¤,!†*lqªáÄ%ìâ}¼••ÜkHnsmVÀk}&-ñ»EB¿]ÛÄI‹i„ÔÇpE»Z<õÐð”à¢]øb4K“¢<¾ç¯Qšªû´lÕ¡VKÕã„3§ÓÔÄiÝaQúž8÷qãÆXu^ÉÒn¿VéÊ=”r]äè9ª²­³x¤0î×ó{Y«ôDz¥Ey“„;V%y” å§¡V‡ñQ9Â|á;Ý1«=¶ï$$õ>ÍﳄjçåmÀs6Â`ú,'¶à´ :¬ú >ÚL…{j7N‚§4ËÐÞºÄß øËÊPîRîtƸëû†v±ú wÓ¸²TvÅ9{uœ©<¹S0ô„vbZ ¾¾Úà±ï‹8«% ¹1©eÄuV•*NëÁ Û@4X#ÂêhN Yæo°é0‘Âé9XŸ]}U|R•‚xôPÏ›MÏŽçàª!×ÕA@¸Ä<¹D1«{x7 ƒŸÎ·@Iš <é`ÆÕ×ã&~ׂpÝ88í5_éU´gf3Z·½v5ŒzŒ‡BWnyžg;}‘ZCHÒ2¾Íºžøß19_´`»ébÓy­$#FTӪʜE0ëS3›xïæýù,|6e½@8Î3ŸÇXz·&Ãuÿd•{m’ŸÆ—ó0heqý'S3ZÉäh|ãkèo#”»´³uŽßNÂIôù#êj;¾Ñ'I3°mqz¼¬ÝcDW‹)\›ÔƲÅñ9¯‚–η÷˪Þ祾0‚Õì¤Ýtmíb—õnWì±À‡€—K»ñjúa:3m×ø8]ÍôôWó¢"¯^‚Aãp9;yvI_]Ë`zq|u=ÓË÷ë,×ÿ†§Q1)çݬ;ÜòáÌt­æúþØEŸ\N¢g2QÜÄ¿ ?²ö ƒ‘ì4‘³ôV][è‘íËQ×8£ ü£ò¾Îa.ÜéãQ*ˆ¿ãë?ººl2endstream endobj 6 0 obj 1149 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:21+01:00 2016-01-27T08:26:21+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001473 00000 n 0000003363 00000 n 0000001414 00000 n 0000001254 00000 n 0000000015 00000 n 0000001234 00000 n 0000001538 00000 n 0000001792 00000 n 0000001727 00000 n 0000001659 00000 n 0000001579 00000 n 0000001609 00000 n 0000001874 00000 n 0000001940 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<1B60985045419296F82A73C4CE2F67B3><1B60985045419296F82A73C4CE2F67B3>] >> startxref 3517 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTREDIR.30000644000175000017500000000603612626067776015747 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTREDIR 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTREDIR \- how to act on a HTTP POST redirect .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTREDIR, long bitmask); .SH DESCRIPTION Pass a bitmask to control how libcurl acts on redirects after POSTs that get a 301, 302 or 303 response back. A parameter with bit 0 set (value \fBCURL_REDIR_POST_301\fP) tells the library to respect RFC 7231 (section 6.4.2 to 6.4.4) and not convert POST requests into GET requests when following a 301 redirection. Setting bit 1 (value \fBCURL_REDIR_POST_302\fP) makes libcurl maintain the request method after a 302 redirect whilst setting bit 2 (value \fBCURL_REDIR_POST_303\fP) makes libcurl maintain the request method after a 303 redirect. The value \fBCURL_REDIR_POST_ALL\fP is a convenience define that sets all three bits. The non-RFC behaviour is ubiquitous in web browsers, so the library does the conversion by default to maintain consistency. However, a server may require a POST to remain a POST after such a redirection. This option is meaningful only when setting \fICURLOPT_FOLLOWLOCATION(3)\fP. .SH DEFAULT 0 .SH PROTOCOLS HTTP(S) .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* a silly POST example */ curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "data=true"); /* example.com is redirected, so we tell libcurl to send POST on 301, 302 and 303 HTTP response codes */ curl_easy_setopt(curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL); curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.17.1. This option was known as CURLOPT_POST301 up to 7.19.0 as it only supported the 301 then. CURL_REDIR_POST_303 was added in 7.26.0. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_FOLLOWLOCATION "(3), " CURLOPT_POSTFIELDS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.html0000644000175000017500000000747312652070415016710 00000000000000 CURLOPT_TIMEOUT_MS man page

NAME

CURLOPT_TIMEOUT_MS - set maximum time the request is allowed to take

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT_MS, long timeout);

DESCRIPTION

Pass a long as parameter containing timeout - the maximum time in milliseconds that you allow the libcurl transfer operation to take. Normally, name lookups can take a considerable time and limiting operations to less than a few minutes risk aborting perfectly normal operations. This option may cause libcurl to use the SIGALRM signal to timeout system calls.

If libcurl is built to use the standard system name resolver, that portion of the transfer will still use full-second resolution for timeouts with a minimum timeout allowed of one second.

In unix-like systems, this might cause signals to be used unless CURLOPT_NOSIGNAL is set.

If both CURLOPT_TIMEOUT and CURLOPT_TIMEOUT_MS are set, the value set last will be used.

Since this puts a hard limit for how long time a request is allowed to take, it has limited use in dynamic use cases with varying transfer times. You are then advised to explore CURLOPT_LOW_SPEED_LIMIT, CURLOPT_LOW_SPEED_TIME or using CURLOPT_PROGRESSFUNCTION to implement your own timeout logic.

DEFAULT

Default timeout is 0 (zero) which means it never times out during transfer.

PROTOCOLS

All

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* complete within 20000 milliseconds */
  curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, 20000L);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_TIMEOUT, CURLOPT_CONNECTTIMEOUT, CURLOPT_LOW_SPEED_LIMIT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.pdf0000644000175000017500000000764312652070444017233 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VmoÚHþî_1Ò}8SÁv×ëµwu§“q.4sØ´5'ä€ ¾¦Ø¨Êê¼ÙµÍ[s,½/³ÏÌóÌÌ~JPýÔÿ³µõ~ìÃsaQx¶¾ZÌLBý7[ÃUŒ ¤ˆVµ‡ï€¯8‘ âµe÷&ãA8ЧQt;í¶â-I‰ð”Â¥ñÜ✠ñ7ë³=‰o§ñÃ(ˆmþØ‚Ù~·š¦Iñ2-Ò2ß–­Ž#(¡LØø‘å›Î-ÿ°8SÄó*ËöôÉJ†¨fZ!h¢„ÆÝq)NpèpÏl˜T¯c‚Åkƒ÷?úëPâR:ÌÑÓ´ò┄RŸ±Àw@w`žÙ.C²/—P¾lÓù¢›xÉfQod:ljø:Ì#Ò ‰†á(êGç˜ÌƒÇþ%ÛÌVûy ¿ëP¾×?dù‡^ø]…v–ãšËh?š)x·D4«´ ?ºÅ\ïèVVùæž²r_[¿½…þ:ˆzãþ(î‡Ãš&*b^ñd”QDŠŠ—(¤cn$Õù:´eŽ_5˜¡N²¢Ìp._@¾I£¼Îw©þÔ>Tɹ"Ž/+Û•G“«A¿w<´˜£Ge·[î*ÂÙà«ÂXGa)ǯö·”£ëÚÝ(úd¶2æQ; Ñ7„ãëö9…QÃCO”|F±žÁxzzÛÌzM“Gv»w­"~#ZôäšD0Ú:uVˆ(¦Ì "× êŽ¯µ 5\ "ï-o»-—Vbÿ3Æ-ßÅ)mbN±£´lýŠì2Ú P‡±å‰M“䪲9|¨…Ô¨B)¢|L:³ße/’¾BîWÙ“2l³ÙTA±ÏÊäi•jâ ôö»]º)W/ç¡v8RÂåÑ¢1Ø„–I›¼ Bü Êt¡G}"§Ù®¤oö/ÒYI !2éIù)­•öÂÑ„²öE:o\JÊ2]oËBëU½Aûúµ(–äÝÒÂÞâ[‚¯º‚`8 hæøÄSîY•²Ëe Õ®Ú,˜,F8–Í]_IUX~’Á7uæ WjÙ9ZnͨÝTÇkIÔ•ÔñxMœ=ˆj=r«‹€ïûüÖ"qoÀk.7(0Áϯùè`þ UåX ááL‡ŸzM]ï…ƒ‹*а⸈ÚYuþ9ªàïîýh4¥Mþoi‹ ×5°‚tÖÑR¾Ò¯”^y8M¹NÛpì]ȇ'X »?è^õýøáÜS¤…»R¾ÒÄ~Ìp“ßZJxÒÆÄHæslbÙ|‚`Øi;í|祡6A~a‘„¾Ñ7>Ûã žŒ‡ð±Å¸îÌî&ÁE‘à'Åjœ–û]}Y¦ád #öê¡ó¬Øo·ù®ÔɦɭN†wðŅýi8 M›Ò7yIÞìËAÝArAùi+Õ!­ûŒ®ÉÓûkqyÇ`˜¾5‡æ"Ó>7ŒçzmX>µ}4{Ó\\]˜'ô½ëÒlÇÅÞ¡ôMÈÄ«Ø Ÿpùé0!VL/Rö@€® ‰{È'¦M±õ>ÿó–¶endstream endobj 6 0 obj 1189 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:27+01:00 2016-01-27T08:26:27+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001513 00000 n 0000003396 00000 n 0000001454 00000 n 0000001294 00000 n 0000000015 00000 n 0000001274 00000 n 0000001578 00000 n 0000001832 00000 n 0000001767 00000 n 0000001699 00000 n 0000001619 00000 n 0000001649 00000 n 0000001914 00000 n 0000001973 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3550 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.30000644000175000017500000000346612626067776016713 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_CSEQ_RECV 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_CSEQ_RECV \- get the recently received CSeq .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CSEQ_RECV, long *cseq); .SH DESCRIPTION Pass a pointer to a long to receive the most recently received CSeq from the server. If your application encounters a \fICURLE_RTSP_CSEQ_ERROR\fP then you may wish to troubleshoot and/or fix the CSeq mismatch by peeking at this value. .SH PROTOCOLS RTSP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.30000644000175000017500000000531312626067776016576 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ACCEPT_ENCODING 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_ACCEPT_ENCODING \- enables automatic decompression of HTTP downloads .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPT_ENCODING, char *enc); .SH DESCRIPTION Pass a char * argument specifying what encoding you'd like. Sets the contents of the Accept-Encoding: header sent in a HTTP request, and enables decoding of a response when a Content-Encoding: header is received. Three encodings are supported: \fIidentity\fP, which does nothing, \fIdeflate\fP which requests the server to compress its response using the zlib algorithm, and \fIgzip\fP which requests the gzip algorithm. If a zero-length string is set like "", then an Accept-Encoding: header containing all built-in supported encodings is sent. You can also opt to just include the Accept-Encoding: header in your request with \fICURLOPT_HTTPHEADER(3)\fP but then there will be no automatic decompressing when receiving data. This is a request, not an order; the server may or may not do it. This option must be set (to any non-NULL value) or else any unsolicited encoding done by the server is ignored. See the special file lib/README.encoding for further details. .SH DEFAULT NULL .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY This option was called CURLOPT_ENCODING before 7.21.6 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_TRANSFER_ENCODING "(3), " CURLOPT_HTTPHEADER "(3), " .BR CURLOPT_HTTP_CONTENT_DECODING "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_LASTSOCKET.30000644000175000017500000000433212626067776016136 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_LASTSOCKET 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_LASTSOCKET \- get the last socket used .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LASTSOCKET, long *socket); .SH DESCRIPTION Deprecated since 7.45.0. Use \fICURLINFO_ACTIVESOCKET(3)\fP instead. Pass a pointer to a long to receive the last socket used by this curl session. If the socket is no longer valid, -1 is returned. When you finish working with the socket, you must call curl_easy_cleanup() as usual and let libcurl close the socket and cleanup other resources associated with the handle. This is typically used in combination with \fICURLOPT_CONNECT_ONLY(3)\fP. NOTE: this API is deprecated since it is not working on win64 where the SOCKET type is 64 bits large while its 'long' is 32 bits. Use the \fICURLINFO_ACTIVESOCKET(3)\fP instead, if possible. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.15.2 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLINFO_ACTIVESOCKET "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_HEADEROPT.30000644000175000017500000000464612626067776015714 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HEADEROPT 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_HEADEROPT \- set how to send HTTP headers .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADEROPT, long bitmask); .SH DESCRIPTION Pass a long that is a bitmask of options of how to deal with headers. The two mutually exclusive options are: \fBCURLHEADER_UNIFIED\fP - the headers specified in \fICURLOPT_HTTPHEADER(3)\fP will be used in requests both to servers and proxies. With this option enabled, \fICURLOPT_PROXYHEADER(3)\fP will not have any effect. \fBCURLHEADER_SEPARATE\fP - makes \fICURLOPT_HTTPHEADER(3)\fP headers only get sent to a server and not to a proxy. Proxy headers must be set with \fICURLOPT_PROXYHEADER(3)\fP to get used. Note that if a non-CONNECT request is sent to a proxy, libcurl will send both server headers and proxy headers. When doing CONNECT, libcurl will send \fICURLOPT_PROXYHEADER(3)\fP headers only to the proxy and then \fICURLOPT_HTTPHEADER(3)\fP headers only to the server. .SH DEFAULT CURLHEADER_SEPARATE (changed in 7.42.1, ased CURLHEADER_UNIFIED before then) .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.37.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_HTTPHEADER "(3), " CURLOPT_PROXYHEADER "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.html0000644000175000017500000000506212652070415017645 00000000000000 CURLOPT_MAXFILESIZE_LARGE man page

NAME

CURLOPT_MAXFILESIZE_LARGE - maximum file size allowed to download

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXFILESIZE_LARGE,
                          curl_off_t size);

DESCRIPTION

Pass a curl_off_t as parameter. This allows you to specify the maximum size (in bytes) of a file to download. If the file requested is found larger than this value, the transfer will not start and CURLE_FILESIZE_EXCEEDED will be returned.

The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers.

DEFAULT

None

PROTOCOLS

FTP and HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.11.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_MAXFILESIZE, CURLOPT_MAX_RECV_SPEED_LARGE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.30000644000175000017500000000371412626067776017417 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NEW_DIRECTORY_PERMS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_NEW_DIRECTORY_PERMS \- permissions for remotely created directories .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NEW_DIRECTORY_PERMS, long mode); .SH DESCRIPTION Pass a long as a parameter, containing the value of the permissions that will be assigned to newly created directories on the remote server. The default value is \fI0755\fP, but any valid value can be used. The only protocols that can use this are \fIsftp://\fP, \fIscp://\fP, and \fIfile://\fP. .SH DEFAULT 0755 .SH PROTOCOLS SFTP, SCP and FILE .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.16.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_NEW_FILE_PERMS "(3), " CURLOPT_UPLOAD "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_OS_ERRNO.html0000644000175000017500000000401512652070415016527 00000000000000 CURLINFO_OS_ERRNO man page

NAME

CURLINFO_OS_ERRNO - get errno number from last connect failure

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_OS_ERRNO, long *errnop);

DESCRIPTION

Pass a pointer to a long to receive the errno variable from a connect failure. Note that the value is only set on failure, it is not reset upon a successful operation. The number is OS and system specific.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.12.2

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.html0000644000175000017500000000774512652070415017062 00000000000000 CURLOPT_SEEKFUNCTION man page

NAME

CURLOPT_SEEKFUNCTION - user callback for seeking in input stream

SYNOPSIS

#include <curl/curl.h>
 
/* These are the return codes for the seek callbacks */
#define CURL_SEEKFUNC_OK       0
#define CURL_SEEKFUNC_FAIL     1 /* fail the entire transfer */
#define CURL_SEEKFUNC_CANTSEEK 2 /* tell libcurl seeking can't be done, so
                                    libcurl might try other means instead */
 
int seek_callback(void *userp, curl_off_t offset, int origin);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SEEKFUNCTION, seek_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

This function gets called by libcurl to seek to a certain position in the input stream and can be used to fast forward a file in a resumed upload (instead of reading all uploaded bytes with the normal read function/callback). It is also called to rewind a stream when data has already been sent to the server and needs to be sent again. This may happen when doing a HTTP PUT or POST with a multi-pass authentication method, or when an existing HTTP connection is reused too late and the server closes the connection. The function shall work like fseek(3) or lseek(3) and it gets SEEK_SET, SEEK_CUR or SEEK_END as argument for origin, although libcurl currently only passes SEEK_SET.

userp is the pointer you set with CURLOPT_SEEKDATA.

The callback function must return CURL_SEEKFUNC_OK on success, CURL_SEEKFUNC_FAIL to cause the upload operation to fail or CURL_SEEKFUNC_CANTSEEK to indicate that while the seek failed, libcurl is free to work around the problem if possible. The latter can sometimes be done by instead reading from the input or similar.

If you forward the input arguments directly to fseek(3) or lseek(3), note that the data type for offset is not the same as defined for curl_off_t on many systems!

DEFAULT

By default, this is NULL and unused.

PROTOCOLS

HTTP, FTP, SFTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.18.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SEEKDATA, CURLOPT_IOCTLFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_USERAGENT.html0000644000175000017500000000520012652070415016502 00000000000000 CURLOPT_USERAGENT man page

NAME

CURLOPT_USERAGENT - set HTTP user-agent header

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERAGENT, char *ua);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. It will be used to set the User-Agent: header in the HTTP request sent to the remote server. This can be used to fool servers or scripts. You can also set any custom header with CURLOPT_HTTPHEADER.

DEFAULT

NULL, no User-Agent: header is used by default.

PROTOCOLS

HTTP, HTTPS

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  curl_easy_setopt(curl, CURLOPT_USERAGENT, "Dark Secret Ninja/1.0");
 
  curl_easy_perform(curl);
}

AVAILABILITY

As long as HTTP is supported

RETURN VALUE

Returns CURLE_OK if HTTP is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_REFERER, CURLOPT_HTTPHEADER

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.30000644000175000017500000000355612626067776017134 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UNRESTRICTED_AUTH 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_UNRESTRICTED_AUTH \- send credentials to other hosts too .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UNRESTRICTED_AUTH, long goahead); .SH DESCRIPTION A long parameter set to 1 tells libcurl it can continue to send authentication (user+password) credentials when following locations, even when hostname changed. This option is meaningful only when setting \fICURLOPT_FOLLOWLOCATION(3)\fP. .SH DEFAULT 0 .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Along with HTTP .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_FOLLOWLOCATION "(3), " CURLOPT_USERPWD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.30000644000175000017500000000677712626067776016633 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYHOST 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYHOST \- verify the certificate's name against host .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYHOST, long verify); .SH DESCRIPTION Pass a long as parameter specifying what to \fIverify\fP. This option determines whether libcurl verifies that the server cert is for the server it is known as. When negotiating TLS and SSL connections, the server sends a certificate indicating its identity. When \fICURLOPT_SSL_VERIFYHOST(3)\fP is 2, that certificate must indicate that the server is the server to which you meant to connect, or the connection fails. Simply put, it means it has to have the same name in the certificate as is in the URL you operate against. Curl considers the server the intended one when the Common Name field or a Subject Alternate Name field in the certificate matches the host name in the URL to which you told Curl to connect. When the \fIverify\fP value is 1, \fIcurl_easy_setopt\fP will return an error and the option value will not be changed. It was previously (in 7.28.0 and earlier) a debug option of some sorts, but it is no longer supported due to frequently leading to programmer mistakes. Future versions will stop returning an error for 1 and just treat 1 and 2 the same. When the \fIverify\fP value is 0, the connection succeeds regardless of the names in the certificate. Use that ability with caution! The default value for this option is 2. This option controls checking the server's certificate's claimed identity. The server could be lying. To control lying, see \fICURLOPT_SSL_VERIFYPEER(3)\fP. If libcurl is built against NSS and \fICURLOPT_SSL_VERIFYPEER(3)\fP is zero, \fICURLOPT_SSL_VERIFYHOST(3)\fP is also set to zero and cannot be overridden. .SH DEFAULT 2 .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); /* Set the default value: strict name check please */ curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 2L); curl_easy_perform(curl); } .fi .SH AVAILABILITY If built TLS enabled. .SH RETURN VALUE Returns CURLE_OK if TLS is supported, and CURLE_UNKNOWN_OPTION if not. If 1 is set as argument, \fICURLE_BAD_FUNCTION_ARGUMENT\fP is returned. .SH "SEE ALSO" .BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_CAINFO "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_SSL_ENGINES.pdf0000644000175000017500000000753112652070457016673 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Uks›Fý®_q'ù`ð˜Í.˳ítFqh«†€+á´»£Á°²i(€’ÑÊìÝô°z˜Ñƒ½sÏ=÷îg „•Ïð­'oæ.Ü· ÷“ϦaøÊÖð6AO¾HV“Þ‡k‚ësâù¬'–G¨É×Évy=gÑ/ñr±—Aôë, ·¿Õ!Û6åR¤íny/º¢ZÕºaÚT«7]QW-|×Qÿ;ù}bPb2Ì•!¡ß–h¸I8Ñ¢©~†èñ”ÙÄö9"Lò‰ö!Гް›”XÔƒ™ò˜JÀÏâ…o€!­ -‹¶ƒzñFThY³Ûtµ!ªû¢mþ€ æOå_|Šâ«ÅlqŠB™(Úë¢ÊÊm.à'IÎùA~–榥 “è² žw«Îàü!­òR\ñì¾/”PÆ{µ´-tÒ÷ º‘‰b”EŸy&áÜð>öcC¹Ç`2bsÛäQTÿÊfÇ£ì6MäÆÿ7ÚífS7È Du'¦é ÆøH#Ìa*\÷v0z¦€ªnÖiYî XoJ±‚%'6i“vò]•®‹ Êâ®I›B´~U&=Q›e©˜kD·m*ôZ4#¾Ë-ë´‚)âLÂÜ¥-ÊËi_ü5ýpã´{ßöä€q²§ózhlÏ{²Á Ë—–ûlhÖ_%Úô#LµRâØlì,œ¾…³äÓiÁ¸ü¹…9NëÍó~°\‚“ÎIt?®M|æû/LÂÍ8 gÜwº)·…åhÛ¢ÌÛ^¯ú9|5.2èòd£âbìPò6’ëyu†“â;L›†×ÁãÚóŒöjêû;3XÆï¡X)Éõw)G» EZåƒáuô'”ÛÚŸÑ2V\:¢hŸCyz“LÃE|:ýÇ_Pºi#9¶¯Õêp-ârßW³{q³:{}ÜŠ ÿöÀoaendstream endobj 6 0 obj 1115 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:39+01:00 2016-01-27T08:26:39+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001439 00000 n 0000003322 00000 n 0000001380 00000 n 0000001220 00000 n 0000000015 00000 n 0000001200 00000 n 0000001504 00000 n 0000001758 00000 n 0000001693 00000 n 0000001625 00000 n 0000001545 00000 n 0000001575 00000 n 0000001840 00000 n 0000001899 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<6A709764737D01C9E22A24530AD22778><6A709764737D01C9E22A24530AD22778>] >> startxref 3476 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_POST.pdf0000644000175000017500000001220312652070437015544 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXÛrÛÈ}çWL9SÂxƒ«“J-ÑkírIE‚ÖQ¬” "!1Ðhšù§ýÇíž B”]µ%Y’ `úvúôi|!ŒrÂðKÿ^nF¯¯ò©1òiôeÄåE¢-7äm 7„øAü4RÏp8$ˆ #oF‘GÄûÑGëüöz¶¸Š®7ñ½%îÇd¹«ò‡4©uÚ”Ûfl;£Œü'+‹š<{füßøç‘ͨÃáø%XÀ:Ëñ`™Š€!c¡¾PŸÈ¶¬›ûñßOÄê½ .¦7ç×—Wñåb.¥äM&ÿD€“mk“»4re*Æ|…ƒ¤J6i“Vâ"M ˆiÒ<¯Iž=bÌøÑª„œWéO=×ú´Ë“Jݦ$^g5ÙgyN’¼.É&ù,®ùhZ0A…6m¥MëRùÜ\X§h´JªÙÕ)˜|u^MZ46>( ñ[8!uцºœ9ê“åç³.7M•õ&k|+\-×»âó˜3 ¨N^}zE ¹@«®é][°‚¼ÐrㇲxZYu¶tKÉ®2”wîéf;BØþ[°q§Ø‚E¡ͱž®e+fž/)Ñ ûÇL…@æF4À †áß, [=õ]Ù®ThÆÇ´C Fpã]‘<æi[èmÇÁ²ÈÜCvUël³…Ù´Mj˜b…Ì*ÌͪÜVYÒ¤DÍ*© a6u50Òac%9w™nª­õF­ÖI>d:ìè­k$ÈE…®±–¦Ò+œ ¶Á ]&žõ-ïD¥}°.ÅBàA§@ mÔspô]‰G»à›Ðƒœó¶Ä»eŸV=ϰL2®XµÔ¬Ä¥ã<챋õµË<ß:Žè¶«*da Ø´§vy£(ÙHžxbe£Ð: ~QCaØo0‡P° œq I¹ë[ûB‚HäR=2w€|”nªãÐOÐÒƒõhwz}”PtOD†g夲Íg:· ‰‚PËtP†#R*E¬â+Kk>JL®“BÜ%¹Ê|œcmª­è.Ÿdça2d¾Ì»|ÕiõU2»çÑ00ª¬¨›¯v 7¤/ ¤ç8-uZ¬:®,õ?Ò…É->¨Xg¯‚¢ÚÇT3üÝ$Uc”FçDõÂ.µÝv!ƒÊº ;Bh÷ˆ’;øû!DWÓ¢-‚>YIÞHLäÙ³ pÞJàô•‘žI„Ó&"®zMʺ&µ4“Éå4}[{ÛðÖí>ÜÀ  »É¿R]¤ƒVÞY'På œ¢ ^Œ[¯\ã+ýÐßë`RµòªRßë<†ÓÓÔ[Å€™†ñúl6£aÙlÜñé…'`¥l´¨RYëz­íaãçÇ §çŠÞå•䕊CóÚ`±¼cûDó3wâ{†:D­¤»¦ÜÀæ‡óâpB€qج#o8Æç‹·‹‹1NWd×»îmG¯ °Õ:¼³ÉT« _~¬[Ö®·CÝëY]ïp»•­Ñ¾Ó€®”ZsßÍ„Bîãf™ÆCõRt8H“÷map¥Ã1ê à «þÓ´'óI »>Ø´åúi^]€Sª‹0 mÒÊ/ßÕCK–8U‚<û†»tÖ¨lÊs µA]Waħ@yÚ•}Õ«ß®+hA­I: Ì:åípÛýü¹¹4l!tJùÁ`Ø4¶S«ŠŸ6PØ-PQYžTcö‘XT»ôâ[ª‹é;MWžª Óˆ·ÛÃäVM©óÔ°süömʬ[„:?QžA ÃŽ™©¸úÁ‹³«kí‘+B]6Ç4ƒÚ |úðÄELþ²±ÙÿγÁ{7!ŸÜNm@¢àÈôß“_¯fS£¹Â_tŠݸ©ÑÅB'Ï Ãgo(m˜ñÜë¬aŽÕæ7ùLº¸õ¡!õ‰—³ÉÛËÙe|7€†G…VûIޝöZ ôýX?Z×ÓøözN~à ȭÉìv:t2ÜŸ6»J¿–>,~ÁA+†f½Ûn˪IWg’[Ô-·ó_拱À6„õaþ°¯ñ9XNÔ›é”Lf7‹.ŽAžoVƒ$ÁQÜDö×ÙñYpÝ÷ÙpƘº·½]3°=;ÌÍC™ ¶P_åɼÊ¥{ÆØ9¹Ô³x@~ÞÄúPôÕ‚—ãIÓxô/øú Œýendstream endobj 6 0 obj 2437 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:23+01:00 2016-01-27T08:26:23+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002761 00000 n 0000004644 00000 n 0000002702 00000 n 0000002542 00000 n 0000000015 00000 n 0000002522 00000 n 0000002826 00000 n 0000003080 00000 n 0000003015 00000 n 0000002947 00000 n 0000002867 00000 n 0000002897 00000 n 0000003162 00000 n 0000003221 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4798 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_COOKIELIST.pdf0000644000175000017500000000764012652070454016525 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VmoâFþί©²ŽÂÞ®wý¦V•¸„ª4Pp®=… X‚°9Û\šÕÿØÙ]I®Bâ—gžgf–¯À(¦_ÕçbÛú0à±h1xl}mqsÕÇb c4õƒxÕ²>‚HÐ0‚xÛò$å>ÄÏ­{r}7î÷¿ g×Ãám¯ÛïMâ)Sû|3Sóâeö¨Ê$]eNÛõÉve’¥¼ççüÿÖj3êrÌ´@ ¡‘§±ÌÙo‘Aǹ@ìxÊ=êEñÅËùÔuâ¿»ŒJ@›»ú˜½ þDóÍžÒÌq=ʸôÉs ‹,{JTa i#’6÷ihO¾ †£IoršÞ˜˜Ôä‡$]löK?iR>è?tý³6w¥®(¾´ÀÚ¼âmjÎàr=O—uõsN É•éÔ;ä-Ê|¿(mÄb“%\^V5M-Üãª8Æ».ì¦;¹÷Fqo8ÐÆ¨ ÷¬(o9šk#KDCÏŠÂ)çÒ2_0‡]–¤¥Ê¡ÌðŸ ÇC®Y Þz¡mrµPIÝ67]êz~^Úðä›Â€›WÐ@QÕIú¤O¸Kýñ3dD-Û&e¶2=P Mºní)Ð\6ŽÂ–ô\À”(‡ë*dDþÙ%¹ZB–ªÂŠÑ^D}_Ö¡«žÌYfÙÔ¡p“¥:¾@`¦Ý%Bô£ ")WG”QÖ­žåú Ԕغ‘¯`eå¬RHâˆà³{Ò0<[åŽði¹.Qj†ŽÍø5ú†!ü€'K¡\+0lÍWZǤ„õ¼€¥RØjI [RPQcÅšmɽ•vÎQ'|§Ùa¸tc ÐÐmf•z‚§)©åXe¹In§?N:’3a¥£aåŽ]‘(ä.çµM"+-|•Î6Z¾Šd»Û¼ Èôu"‰ßB¿ITçy8Éã¨Éc» SØv>‡ °0 +~¿©#½]|.kÝ–¸Pí¸èÕôæ¸<'¨½í:\aŠv¼ùȃ‚Â6‰™Aýep×ïÁÒ¬s2ÁM¥  ¨ ;LB¹ž—ð¬¥C^²¼D’Û U¶¯•Ög«Í’rí±=`™mçh–ηµä%(\Ü’áÔÊŠAœÐRŸœâ~ÁLIöÞ ¯—ÖÉ*+z¥­\Ôõñê2ÉÚ.ežmÆa ÓeÁüz¶®‡ý³MÞæ4 „<Œ1ù5ŽGS2Áiù>šîŸO£~·V<|wwÆ .š©¾11½†¯.öŒ´å!š1»Ð:Ÿ¡ÓǨïñŠÒëw>öú½øËi…¸Á„Ä'Ìw–K«t€»òï×zOÆÝøn<€Ï’F>'þ]÷l4%£½*÷yõC ;ÞBbD%4 äÅ~g»ã pè+ûÁí`èü1˜ ÍÕ¤±¹èÿ^ÓÝ.tú“aSÈ9¤ó«×þð"’ÕH¼^ckçÕiXÌêû¬¦½ Œ3ˆž²pÊ_…jó(Ô—±ð]*ÍÙ&yÐqôtJÊ̯j–.5Z· Ÿwk ¨¸X‹q!†¨ô“nÜú_ÿÙ€š7endstream endobj 6 0 obj 1186 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:36+01:00 2016-01-27T08:26:36+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001510 00000 n 0000003393 00000 n 0000001451 00000 n 0000001291 00000 n 0000000015 00000 n 0000001271 00000 n 0000001575 00000 n 0000001829 00000 n 0000001764 00000 n 0000001696 00000 n 0000001616 00000 n 0000001646 00000 n 0000001911 00000 n 0000001970 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<43B701F86BAA2F8B89E14CED7EAE1AB7><43B701F86BAA2F8B89E14CED7EAE1AB7>] >> startxref 3547 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.30000644000175000017500000000704212626067776016535 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_TIMERFUNCTION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_multi_setopt options" .SH NAME CURLMOPT_TIMERFUNCTION \- set callback to receive timeout values .SH SYNOPSIS .nf #include int timer_callback(CURLM *multi, /* multi handle */ long timeout_ms, /* see above */ void *userp); /* private callback pointer */ CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_TIMERFUNCTION, timer_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. Certain features, such as timeouts and retries, require you to call libcurl even when there is no activity on the file descriptors. Your callback function \fBtimer_callback\fP should install a non-repeating timer with an interval of \fBtimeout_ms\fP. Each time that timer fires, call either \fIcurl_multi_socket_action(3)\fP or \fIcurl_multi_perform(3)\fP, depending on which interface you use. A \fBtimeout_ms\fP value of -1 means you should delete your timer. A \fBtimeout_ms\fP value of 0 means you should call \fIcurl_multi_socket_action(3)\fP or \fIcurl_multi_perform(3)\fP (once) as soon as possible. \fBtimer_callback\fP will only be called when the \fBtimeout_ms\fP changes. The \fBuserp\fP pointer is set with \fICURLMOPT_TIMERDATA(3)\fP. The timer callback should return 0 on success, and -1 on error. This callback can be used instead of, or in addition to, \fIcurl_multi_timeout(3)\fP. .SH DEFAULT NULL .SH PROTOCOLS All .SH EXAMPLE .nf static gboolean timeout_cb(gpointer user_data) { if (user_data) { g_free(user_data); curl_multi_setopt(curl_handle, CURLMOPT_TIMERDATA, NULL); } int running; curl_multi_socket_action(multi, CURL_SOCKET_TIMEOUT, 0, &running); return G_SOURCE_REMOVE; } static int timerfunc(CURLM *multi, long timeout_ms, void *userp) { guint *id = userp; if (id) g_source_remove(*id); // -1 means we should just delete our timer. if (timeout_ms == -1) { g_free(id); id = NULL; } else { if (!id) id = g_new(guint, 1); *id = g_timeout_add(timeout_ms, timeout_cb, id); } curl_multi_setopt(multi, CURLMOPT_TIMERDATA, id); return 0; } curl_multi_setopt(multi, CURLMOPT_TIMERFUNCTION, timerfunc); .fi .SH AVAILABILITY Added in 7.16.0 .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLMOPT_TIMERDATA "(3), " CURLMOPT_SOCKETFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PREQUOTE.pdf0000644000175000017500000000743412652070440016227 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}×W ÐÒ°6Üåe¹hQ@±@ #*•6° ¦(‹-%*\*ÿ¡¿Òìì’KÙn Àµs9gæÌ¬¿‚E(XêÓ>Óýè͂ãYð8ú:¢úÚGº‡·1øê‡x;j|(p\ØÄïGwÆÍjFóx=_ŸLjËâ¶±ŠÌ?â÷#¯®ðÑ-ÞŒw†Ä+Zïg‘‹¾r›»[¹ígŽ©)m-š:ä2y(°Ì;,­¢‘¨5É£éjݹF‚|žTÙëüðˆUš­Â°é›vQöä1RưÚA¾k…èbÓN¹ NÛc²Ò§TqmólÞž†ñ™EOTišsn;g+lͼ¾:óE‹Â±5 TóxÛ‹1SûS‹(Š!:çd6á–×­«›(¼Ø [ g°² ¥xT»–þP¿O>Îà›TÿÕI{PÔV#Ý@ºÚê¹¾ÿÂÊòœMÙÑ'Ÿ¡_ÉØÏ¥*§áäí4œÆ_†L±-¶ãûC¢“¢Di|ÏëžYˆºLËäéx,«úÿ¹ß‹ ^-fðÙ¤6Î…GI¸ ZI=/Úgõ©jïª`}€|«ó6bÔK¢Iœm®uÃÕìÃ,2m×øm¶ŽôbTއ²~I¾Ã« `.£žÈ%¤n}_L+ê_×:§žâëaXÌêyý{¾¢e|q3> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:24+01:00 2016-01-27T08:26:24+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001371 00000 n 0000003261 00000 n 0000001312 00000 n 0000001152 00000 n 0000000015 00000 n 0000001132 00000 n 0000001436 00000 n 0000001690 00000 n 0000001625 00000 n 0000001557 00000 n 0000001477 00000 n 0000001507 00000 n 0000001772 00000 n 0000001838 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3415 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.html0000644000175000017500000000614612652070415020420 00000000000000 CURLMOPT_MAX_HOST_CONNECTIONS man page

NAME

CURLMOPT_MAX_HOST_CONNECTIONS - set max number of connections to a single host

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_HOST_CONNECTIONS, long max);

DESCRIPTION

Pass a long to indicate max. The set number will be used as the maximum amount of simultaneously open connections to a single host (a host being the same as a host name + port number pair). For each new session to a host, libcurl will open a new connection up to the limit set by CURLMOPT_MAX_HOST_CONNECTIONS. When the limit is reached, the sessions will be pending until a connection becomes available. If CURLMOPT_PIPELINING is enabled, libcurl will try to pipeline if the host is capable of it.

The default max value is 0, unlimited. However, for backwards compatibility, setting it to 0 when CURLMOPT_PIPELINING is 1 will not be treated as unlimited. Instead it will open only 1 connection and try to pipeline on it.

This set limit is also used for proxy connections, and then the proxy is considered to be the host for which this limit counts.

DEFAULT

0

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.30.0

RETURN VALUE

Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

CURLMOPT_MAXCONNECTS, CURLMOPT_MAX_TOTAL_CONNECTIONS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.html0000644000175000017500000000455012652070414020330 00000000000000 CURLOPT_EXPECT_100_TIMEOUT_MS man page

NAME

CURLOPT_EXPECT_100_TIMEOUT_MS - timeout for Expect: 100-continue response

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EXPECT_100_TIMEOUT_MS,
                          long milliseconds);

DESCRIPTION

Pass a long to tell libcurl the number of milliseconds to wait for a server response with the HTTP status 100 (Continue), 417 (Expectation Failed) or similar after sending a HTTP request containing an Expect: 100-continue header. If this times out before a response is received, the request body is sent anyway.

DEFAULT

1000 milliseconds

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.36.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_POST, CURLOPT_HTTPPOST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYTYPE.pdf0000644000175000017500000001014212652070441016375 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœÅWÛnÛF}×W,Ò‡RµÞ —ä¢EÅQ%ЍJtÃ.F¢,µ4éˆT\}Tÿ±³^$+q(Ȇv9—3çÌ ?#‚)"êcÿ.î:çSÝ‚n;Ÿ;T"ûgq‡^Ep!P?D«Žy†"Ÿ!_rHÝuœ‹Ëé(œDóÉ´ýÑéì¢hÑñæ à~´ì8áGuFÔu1áÕG±GQôйv®¢«ÉàÆá7]´ØmÓyûy‘”ù}Ùí1Aøg“gjùû=z[;äœcO<á¯åÅ˨T·Î§’ÄR¨<{.s1e¨Ç=ýиßXXHn½¨ß|„B|ÔƒGÕñs€! -úÝoó¿öê»ÌyŠÊý}b<·ƒ¦”a—ƒwÚöìjNfÃÙaSà›l‘î– úY!~®¾ðúuA¨#“Á"‡ ǹÑGèå:ΖirÖ®Éu¦Ì…H迪ÈJóìV'vÓýéqnL‚)ÑÊíõ`v1N¢a8¶àRaêx"ÏI\û–ÊŒAKŸk”‹ÅÆÿæ\£r½)!*s ë¸P¾‚£ÄÔBÙãØU O"0°Ïæƒû³t@ª(‚W(|iGB®=ؤñ§4AÇWùÖÄom¥)©DH|ÌEõœþ_Žr v†%¯®æo¢hrD %ÌÞ8;r ªX°û{<ÃeÏ[G0§s‚Û’é)1å0 /ÞÍÜÃ,€u”Jù•,¸'Ô{>|Úµøÿ\»ýCßBhBÙK ËGå£>ÐmŸ[Àë:ùù›p»ÌÇ„xÓ‡~¨:2ÃGR¤„cè‹VQc–\߈ 0E #9À2Yu)qâ]ZbÓï©çbW¢žêQKpƸ«ù4\¡}¾Szmú‡-Šô©lÁ~¢)æp‡½Êk7ªzt´€©×:.óc¹Ô¥ÿ\•XÔûÜ=ÄX´µ{íœmºÐ0—®S>h܈iÉØw-GrÜ€¾IS”géÅ«.S†\ÏY%‹­sý¬ò§[ÙøA…ÓCÚÆÉç¬bßæ“:M—Ø«g"´ijÔ_Ü'ñŸ…j°±oë$Cáx<¸ˆTåwE²Ä(ªñEÏ%®=©lù&þd[¨n­žÐ­ótMjó¸Ý¥ñö…±±M>ï’¢,”ùMV”I¼4œ²v«(u„‹<+·yš‚M5Žêê¸My*Vé"}Lg0—NP…rÅøJ*ÍnÅf 13í=\•ǦT¡Þå[Áyv0éXw¸_•âKÒ,¬,Ê ^°œl“d¥h÷Éb³Ú7ÃÌhÍξ‹urGñ¶´3ï(uæú°i±o ŠbæÔ!­O€ ÈÔ}ª(·›ì?^ ô„o‚_­×S$] ¯iІNåÛ=Ž|ötÔô¤V€´ï+¡}£cøé•³5iÛáð¬ºÕäÐØæµÃ<ßÝc˜i¸¡°vÆ8ö‰Wmáèh߃œaÑq›,ÞçEù˜ƒý÷“Ñ â[ðÕÍ*jâ ¼V¦ó:´h‹ 8±]K£5ëMÅtðþÔlÚP?OЊeÃQÿÕp4Œ®Žk‚4\é§UÌF u§jö.:«—œ}ñ á«AÍšíhš¢Ëé}èRîbéQ§?º4ï$6Ó¤ÜmíûÊ`¾{óÙ`€ú£Yx8¼Zöž1¹AóÕK¬Ð <;ô Ay Fßí6…I8ír¨ƒd¾cÕDدz°¦¨w/"±g¬¤fž •°jt{TèšÂöÿv—!}ÞŒ©ZT™Dßàó Qendstream endobj 6 0 obj 1380 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:25+01:00 2016-01-27T08:26:25+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001704 00000 n 0000003587 00000 n 0000001645 00000 n 0000001485 00000 n 0000000015 00000 n 0000001465 00000 n 0000001769 00000 n 0000002023 00000 n 0000001958 00000 n 0000001890 00000 n 0000001810 00000 n 0000001840 00000 n 0000002105 00000 n 0000002164 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3741 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_NOPROXY.html0000644000175000017500000000477012652070415016336 00000000000000 CURLOPT_NOPROXY man page

NAME

CURLOPT_NOPROXY - disable proxy use for specific hosts

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOPROXY, char *noproxy);

DESCRIPTION

Pass a pointer to a zero terminated string. The string consists of a comma separated list of host names that do not require a proxy to get reached, even if one is specified. The only wildcard available is a single * character, which matches all hosts, and effectively disables the proxy. Each name in this list is matched as either a domain which contains the hostname, or the hostname itself. For example, example.com would match example.com, example.com:80, and www.example.com, but not www.notanexample.com or example.com.othertld.

DEFAULT

NULL

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.4

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_PROXY, CURLOPT_PROXYAUTH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.pdf0000644000175000017500000000773412652070430017001 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÿnÛ6þßOA`T*"–)‰Ä†J¢nUÛ³ånE2ŠÄÄÚ)µä}‡½ÊÞqGê‡í4Ma vÄãÝwwßw§Ïˆ`ŠˆþôßÙýäÍ2@wÍ„ »Éç 5‡¨ÿÊîÑyB?Hn'ÝŠ’a!Qr?á.æ%“+ëb½Œç‹ds9[mâùEo¦ ÿÚb×6Êö»r£Òæë¦QmýÐÚŽëLH`Á?E]5èû—í¿’w‡`—BÀ ðHÀƒ¥§!1%ñÄš…ö+HN©‡=Éf’O¬‘ü}”€K0'r¨«É ¨Ñhºøâ£4ÏwªiP[£›¢Ê!xP—_lêYJx' @åP bõi6_¬¦«S(ÆÄÀ°~*ª¬Üç ý¢«ôFÿÁÛ_µ¹ËMvaVƒÁÓ*^›#ôz›Vy©Îž¯áʶé½îS¹¶†Z½€÷2Z],§‹d:Ÿ}2ô‚yºzÖJµ¨Ý*TÖYZš’uw(é/»¾”]C®, Âft^P(_Óo Á0¼Á¸Ý¦÷¡âKé–Ú¡f[ï˼ëI[c”€Uº³©À„zÔºÛß«ª­ªoQûõAõ¥@P/”Õ•ÓQ‹’Ü;d'XÐq£M‹ ¥¨)ª»R2"môA»ƒ#l;ž`ØA_¢A­5ofë8ÖßûF™drukK,á•îK@©Ú¼ k+¯«WÃŒ Mg&$v‰ßó¹½ÑÕíxN1¥¢{® Z]9PªÍNf@¡cº[̓ʊ3È„À]Ï^`Ä[ã`T #I9íQ…ksJµœ{ º>T°;“ó¡ÏàŠAÀFp–®Ò`,–= ÞÕ†jjÁ,2qOšç š1]†âáb?Ñ!À–€ã$,Ëàˆþ ?,â¨CÅijGÂN0(ôçµu9ïëå ñÍ@s¸Ô–c4]VnÒ ?¢ðÁ¾GûÜ­ižOãiòé47hãcäu@\ã*9bèN}Þ;=É´ÚÊâFô¨=Q&q Ž„v¢æßØ€Pî[ûüX´[PÑLE ´LoÒìCvW‚Ü59ufÿðPïÚfPŠÚ¥J§âÌIÁO/ÌÀé¼|JׯgÑ]ÕUù\g[ø¥°q`…y®À B “ß•µŒ’õr†>Ú”A >µÂx=Pc{–ØXªv¿ëwX´™¿GÅm©+1ìSVùYo´ž½ŸÍmGxÜúc¶™›‰«oVu{f¢ê8ñ$yÝí¨h¸YšÌJ6çc ÖÓØ˜ ГýLðA¡}³7S㶇еÖ7u}÷`kz«[›MzSBÕ QY}ÿP”Êi‹{Ø.õ®Ç~nvá˜ÊÓáåæízváf3ábϧ§ƒGg· —¿­?D³=nU…îŠAC^7Ò ÛƒR¿(›˜B ÞUéÑ”0 †œa» C홑FÇüd1G ãÕü`úD¿Çët:K¢å8{¼†1^k]ˆÓ“Wû°áš÷›³ST›Á⹕ΟÈXĽo<: fŸl ¨ïw ä r€l;Ôó$ÇžoVïörAÒ†J|œ˜T»Š’ÉïðùŸ¦›Óendstream endobj 6 0 obj 1239 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:15+01:00 2016-01-27T08:26:15+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001563 00000 n 0000003453 00000 n 0000001504 00000 n 0000001344 00000 n 0000000015 00000 n 0000001324 00000 n 0000001628 00000 n 0000001882 00000 n 0000001817 00000 n 0000001749 00000 n 0000001669 00000 n 0000001699 00000 n 0000001964 00000 n 0000002030 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3607 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.pdf0000644000175000017500000000752412652070455017473 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UÛnã6}×WèC¥EĈÔB‹Ú¬p×±\[Ùv‘†"1¶¶²èè’Eÿa¥ÿØ!u±4) øÆÑÌ™sæ ‘… ²äkøÌöÚåÊGÛF³ÐV{Ôˆ:DÃG¶Gï`òäAëŸ!ȧÈlÌ”ì5â`â ä›v«_ݬæ³ÅÇx³\EÉ*\¬?F«M2»ŽîtûÎ@YW—ž6o¶¼-ªa˜Ôµtqh Q5èí§?“_5Ó”@Õ @ ®Äe{(™kú"4~„>à”¸Ø lÀšäš~Éד.¨…ËG&¡òØ’Ð_GŽþAµ;ŽÚbÏQWµE©~~/á¯:­š^£¦Më¶/s‚Ë`&ñ0S8Ö_ñr=[Ÿ£Q! ‰þCQee—sô³dêR¾áÝ/2œ:ªA‰2ð‚É;u†ÞíÒ*/ùÅë\^ \t÷ýlçpgüœ½úC´¾ZÍ–É,^H q{þÿ£e*c”fnÏ?°M‰"¹iPŠ¢¨Z`¬ðcÀßkžñ⬡>¶LâIž |ª³äXGE R] ¢B ÏD•7ð4â/ôP‹½’O)öšœEƒ¾vªc—bj³i^°gý¸§÷¢“iÑ=7`â,ËöõmQa”ì Á &ô\–èPssÊž‰ýt‚“*GW“M]O­xÊQúV´EÚ»£Ý¥-Jk~àYñ=“u%î´Qd]™Ö í˜çlºµhE&Ê;½ÕÀ3•º6ö=‹^y§ öÞêå“¡˜¦¾ÎsŒf-Ç…ûrE¬a\‚]2eªD{>èÀeÖС~”f–ÅÞ!1H#`·÷ìcîqµ…b®"qÈ “ 3¶åøåvƒ4ØsO–År5tî€_z{RÏÔ0)¶\å=NP<Ñ@a-o\ÖWñüÙ‚4¡ßvœiË„eù?›6ú#¼^ΣQöêÂJŽ0ˆ-õêA|ˆ{çc—±—é2rªaVïÖð3 m‰]2ºa6ßÏæ³äË OØcçn óœçryù®Ö·[½Õa¿ß¬è³Al°¨Gôp~=SôØ1Ä󶫇Û6ÚÄŸPÑ£¿…åækºÃAÔ-Ï/Ô‚êoŸ±a»úï‹M¬®ù ˜µ^¿ö¢…óu|lä9¤ç·L;¶ˆèâY¾ƒýi¬u5»çi¡ªwÜfÇÄ o¡Ásò}‚É‹T& 8Є2ض_q/I9lp!8”锡°Û" @Jga%Y”h¿Áë_xp©endstream endobj 6 0 obj 1103 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:37+01:00 2016-01-27T08:26:37+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001427 00000 n 0000003317 00000 n 0000001368 00000 n 0000001208 00000 n 0000000015 00000 n 0000001188 00000 n 0000001492 00000 n 0000001746 00000 n 0000001681 00000 n 0000001613 00000 n 0000001533 00000 n 0000001563 00000 n 0000001828 00000 n 0000001894 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<9877946CC8CBA827D725F83C1C8E9FE2><9877946CC8CBA827D725F83C1C8E9FE2>] >> startxref 3471 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPHEADER.html0000644000175000017500000001361312652070415016604 00000000000000 CURLOPT_HTTPHEADER man page

NAME

CURLOPT_HTTPHEADER - set custom HTTP headers

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPHEADER, struct curl_slist *headers);

DESCRIPTION

Pass a pointer to a linked list of HTTP headers to pass to the server and/or proxy in your HTTP request. The same list can be used for both host and proxy requests!

The linked list should be a fully valid list of struct curl_slist structs properly filled in. Use curl_slist_append(3) to create the list and curl_slist_free_all(3) to clean up an entire list. If you add a header that is otherwise generated and used by libcurl internally, your added one will be used instead. If you add a header with no content as in 'Accept:' (no data on the right side of the colon), the internally used header will get disabled. With this option you can add new headers, replace internal headers and remove internal headers. To add a header with no content (nothing to the right side of the colon), use the form 'MyHeader;' (note the ending semicolon).

The headers included in the linked list must not be CRLF-terminated, because libcurl adds CRLF after each header item. Failure to comply with this will result in strange bugs because the server will most likely ignore part of the headers you specified.

The first line in a request (containing the method, usually a GET or POST) is not a header and cannot be replaced using this option. Only the lines following the request-line are headers. Adding this method line in this list of headers will only cause your request to send an invalid header. Use CURLOPT_CUSTOMREQUEST to change the method.

When this option is passed to curl_easy_setopt(3), libcurl will not copy the entire list so you must keep it around until you no longer use this handle for a transfer before you call curl_slist_free_all(3) on the list.

Pass a NULL to this option to reset back to no custom headers.

The most commonly replaced headers have "shortcuts" in the options CURLOPT_COOKIE, CURLOPT_USERAGENT and CURLOPT_REFERER. We recommend using those.

There's an alternative option that sets or replaces headers only for requests that are sent with CONNECT to a proxy: CURLOPT_PROXYHEADER. Use CURLOPT_HEADEROPT to control the behavior.

SECURITY CONCERNS

By default, this option makes libcurl send the given headers in all HTTP requests done by this handle. You should therefore use this option with caution if you for example connect to the remote site using a proxy and a CONNECT request, you should to consider if that proxy is supposed to also get the headers. They may be private or otherwise sensitive to leak.

Use CURLOPT_HEADEROPT to make the headers only get sent to where you intend them to get sent.

DEFAULT

NULL

PROTOCOLS

HTTP

EXAMPLE

CURL *curl = curl_easy_init();
 
struct curl_slist *list = NULL;
 
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  list = curl_slist_append(list, "Shoesize: 10");
  list = curl_slist_append(list, "Accept:");
 
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list);
 
  curl_easy_perform(curl);
 
  curl_slist_free_all(list); /* free the list again */
}

AVAILABILITY

As long as HTTP is enabled

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_CUSTOMREQUEST, CURLOPT_HEADEROPT, CURLOPT_PROXYHEADER, CURLOPT_HEADER

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.html0000644000175000017500000000466512652070415020214 00000000000000 CURLOPT_PROXY_TRANSFER_MODE man page

NAME

CURLOPT_PROXY_TRANSFER_MODE - append FTP transfer mode to URL for proxy

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TRANSFER_MODE, long enabled);

DESCRIPTION

Pass a long. If the value is set to 1 (one), it tells libcurl to set the transfer mode (binary or ASCII) for FTP transfers done via a HTTP proxy, by appending ;type=a or ;type=i to the URL. Without this setting, or it being set to 0 (zero, the default), CURLOPT_TRANSFERTEXT has no effect when doing FTP via a proxy. Beware that not all proxies support this feature.

DEFAULT

0, disabled

PROTOCOLS

FTP over proxy

EXAMPLE

TODO

AVAILABILITY

Added in 7.18.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if the enabled value is not supported.

SEE ALSO

CURLOPT_PROXY, CURLOPT_HTTPPROXYTUNNEL

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdf0000644000175000017500000000734412652070444020474 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVÿr›Fþ_O±3ý#‘.ÜL;‘mgUÙ¤E)MK¡S‹xs´¿Ò\dÅ:]A^<MM ^ŠþV½¬v«4xH™ E˜vWʼnBH w¸£+A^ÛŠuÕXVuóF&‚”–¨@†-Á-Uýzs¦I ÎÕy¯›cŠ˜G ‡³Ýìݺ„›žÛ»ˆ£[A¹•pn™Ãªx2€çbµB¸ŸDÖ´È‘´Ÿ±3%—òD&»r%pü»E]NL£ˆ0Z¯(¤ †uÚdKò½ÚÒ”p©Ò³-·Íí¨Õ÷ÅxÑÅ!¶d×¹Œ›ŽzÄG]Ó+G2å8Žií4]Á+0fs…Â2[(ÆÅòˆ£S›Æîc2“8ïçÈy¼hJ„í!딞è|Ø`]ƳWPù¿ofß×ßý׉ÃcQÕ#ÚE¨Ø³]÷ûÑbyÒrM’lµÇá0+±ܦ½Þ&ÁølLâÛÓL±,¦…1Nç¹È¡(ÁÁ‚úß¹Þis?^̧ðQ§&ö'§Ú8Xøm³ý(eŽ&]ÿÏE³Û–u;­ü$¼†¢ë½n¯@QC½Ûlªm#ò¡2ZL¯§¡.ÃxÓ~›&a;ŠäͲj†PmÛ¸2’š—èx'áerãß„s|ŒØ]_¹„©~»Ón Ù†öØ´×;údãŠ>£C¼[Ϻ'§wµ´F’êÝ£ÎÔ\ú;+DÙà¤J7PoÒLEÃÉ@usûx1ø>Œƒ(<ðüB$Çãü0É/'Á‹H9®Ç~ ·[vxêCrÞçtº Ç:ªÊsmK[ÄWI|;ó£%¤–Iöí}ðŽbÀ¹dËmÿtŽûÙäÓ!†>¢¶íYÄÖpÙ¿ß•Àp¿¶Î­}¶"óãÁü| ^?endstream endobj 6 0 obj 1090 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:28+01:00 2016-01-27T08:26:28+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001414 00000 n 0000003225 00000 n 0000001355 00000 n 0000001195 00000 n 0000000015 00000 n 0000001175 00000 n 0000001479 00000 n 0000001654 00000 n 0000001589 00000 n 0000001520 00000 n 0000001550 00000 n 0000001736 00000 n 0000001802 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<411312EE447A3F4DEC233507B0176B7C><411312EE447A3F4DEC233507B0176B7C>] >> startxref 3379 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_KRBLEVEL.html0000644000175000017500000000451612652070415016364 00000000000000 CURLOPT_KRBLEVEL man page

NAME

CURLOPT_KRBLEVEL - set FTP kerberos security level

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_KRBLEVEL, char *level);

DESCRIPTION

Pass a char * as parameter. Set the kerberos security level for FTP; this also enables kerberos awareness. This is a string that should match one of the following: 'clear', 'safe', 'confidential' or 'private'. If the string is set but doesn't match one of these, 'private' will be used. Set the string to NULL to disable kerberos support for FTP.

DEFAULT

NULL

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

This option was known as CURLOPT_KRB4LEVEL up to 7.16.3

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_KRBLEVEL, CURLOPT_FTP_SSL (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYTYPE.30000644000175000017500000000416312626067776016016 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYTYPE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYTYPE \- proxy protocol type .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYTYPE, long type); .SH DESCRIPTION Pass a long with this option to set type of the proxy. Available options for this are \fICURLPROXY_HTTP\fP, \fICURLPROXY_HTTP_1_0\fP \fICURLPROXY_SOCKS4\fP, \fICURLPROXY_SOCKS5\fP, \fICURLPROXY_SOCKS4A\fP and \fICURLPROXY_SOCKS5_HOSTNAME\fP. The HTTP type is default. If you set \fBCURLOPT_PROXYTYPE(3)\fP to \fICURLPROXY_HTTP_1_0\fP, it will only affect how libcurl speaks to a proxy when CONNECT is used. The HTTP version used for "regular" HTTP requests is instead controlled with \fICURLOPT_HTTP_VERSION(3)\fP. Often it is more convenient to specify the proxy type with the scheme part of the \fICURLOPT_PROXY(3)\fP string. .SH DEFAULT CURLPROXY_HTTP .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_PROXY "(3), " CURLOPT_PROXYPORT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PUT.html0000644000175000017500000000450112652070415015620 00000000000000 CURLOPT_PUT man page

NAME

CURLOPT_PUT - make a HTTP PUT request

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PUT, long put);

DESCRIPTION

A parameter set to 1 tells the library to use HTTP PUT to transfer data. The data should be set with CURLOPT_READDATA and CURLOPT_INFILESIZE.

This option is deprecated since version 7.12.1. Use CURLOPT_UPLOAD!

DEFAULT

0, disabled

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Deprecated since 7.12.1. Do not use.

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_UPLOAD, CURLOPT_HTTPGET

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.html0000644000175000017500000000506212652070415017644 00000000000000 CURLOPT_SSL_VERIFYSTATUS man page

NAME

CURLOPT_SSL_VERIFYSTATUS - verify the certificate's status

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYSTATUS, long verify);

DESCRIPTION

Pass a long as parameter set to 1 to enable or 0 to disable.

This option determines whether libcurl verifies the status of the server cert using the "Certificate Status Request" TLS extension (aka. OCSP stapling).

Note that if this option is enabled but the server does not support the TLS extension, the verification will fail.

DEFAULT

0

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

Added in 7.41.0. This option is currently only supported by the OpenSSL, GnuTLS and NSS TLS backends.

RETURN VALUE

Returns CURLE_OK if OCSP stapling is supported by the SSL backend, otherwise returns CURLE_NOT_BUILT_IN.

SEE ALSO

CURLOPT_SSL_VERIFYHOST, CURLOPT_SSL_VERIFYPEER, CURLOPT_CAINFO

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.30000644000175000017500000000426612626067776016746 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPPROXYTUNNEL 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPPROXYTUNNEL \- tunnel through HTTP proxy .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPPROXYTUNNEL, long tunnel); .SH DESCRIPTION Set the parameter to 1 to make libcurl tunnel all operations through the HTTP proxy. There is a big difference between using a proxy and to tunnel through it. If you don't know what this means, you probably don't want this tunneling option. Tunneling essentially means that a CONNECT is sent to the proxy, asking it to connect to a remote host on a specific port number and then the traffic is just passed through the proxy. Proxies tend to whitelist specific port numbers it allows CONNECT requests to and often only port 80 and 443 are allowed. When using this, it only makes sense to use \fICURLOPT_PROXYTYPE(3)\fP set to a HTTP proxy. .SH DEFAULT 0 .SH PROTOCOLS All network protocols .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_PROXY "(3), " CURLOPT_PROXYTYPE "(3), " CURLOPT_PROXYPORT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIE.pdf0000644000175000017500000001146112652070426015733 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXmoÛÈþ®_±p?„:Hîòý\ÐùœYreúÚÀ. ZZY¼P¤BRñ¹EÿÁý•þÇÎì )Éj\°l-93ûÌ3ÏÌä+±)#6þÓŸ‹Mïý< OuÏ&O½¯=&‰þXlÈO <âɪ§Þa$à$ˆF$ÙôBF#‡$Ͻ;ëòv>™]'—³Ù§q|o9÷}²ØUùƒHë—‡Z4å¶é¹gSÛ,ø#+‹šœx«ÿäcohSÎÀÅ"ˆ y„ã“dÒ³¦£þ;N™G=ˆ~_ö¬«¸Ÿü¶2·©kdÈ8ÛçQ˜ä?"#‹²hDÑÔ¤\‘_’äš\–å—LµH—¢RF÷¢BCæÓPz½ù<]ߌo}ËG¤_ëOY±ÈwKAþŒx¼Çtý|œ»ò:Ó¢„Žñº—Gä‡uZ,s18Bk@ë´"?,d°÷ýså;qþß\ÎÇ×Éx6E߀0óÀ'b¾Nñ qDCOlS't%ŠuMR²-3€­"M üST%¿6Y‘6bIê¦ÊŠ'’Öd›VéF4 GNÃÐA«ÜŽ(w}eøÎ¢ã>Cê0f5Ï’Ò7g^/èÜK²YYž“GAv58ï˜Â”(HVf-T+ñu'ê†Êûrצ~ÄÍÁrè+ê&ðüª¬6iƒÀ·uôõºÜåKt5í;µçÖè*¾¸œM“xšÜ ÈóZTæÔv#<%Y-mèx ¸<üxi(o†þ'šŽÒ ¾ñ¼ï{¯i×ÈÌ4+(¤V‘ŦžÍå«ãy)w¤›]ÞdÛÜ©ò[°º!)@¶«eJ~ÀCªÑÅR¦Ò–g_À•—aˆ¿åÊB]^¢i9ãœ1“Ÿ†ÖYý#9ó 0;”¸;>–!;,C,7v.ÁáºüøùÍBf í !0jB…Û`«ê“™¹.õ87qÊ·ßæÙ"kòËr×<•ƒæÆ½Uß÷)0[ðô PR», ø±±¼ñ³›;+Ýí¢ÉHˆslÊó²Ï=ë0­Ä2«ÄB ^Yü›,O+ÉNe ²0rkœÎ BÛ6k¡JÈSeÉÃÊQ½ˆ¡í´7m¶e…eÒªÑ à±";…³½–Ô´ÈH¸·}¢äݪ,ßA2È·Eõ­ÏP_\ß‚€×©¨7€Ë Ã:5Qß<ñÀ7ÊÞ¢P,‰ð¸IDñ J¡µŸ+Þqê:íájÕÞß§.³Yk]ßÂCT{p×2 , !5ž•qÇ¡)IkTuà:À/7êŒ{ʸ,;ShNäQ?ð:¹fš’-bð”é„:MøH¤,U ³Z Ëf-#–¨Ÿ„'ŸkéNI"Rß•£‰0¨OsÁ²î.5êD¬ÕM"»éÐ…^ìCe¶äpusGƒ=¼eEÝ€²½ê"-Žêâ[gÛ9× ]S*Ì6sŒ®™ýC ¸Ç¨ë:íl0Ž'ã›DÍj34XO{´”¬¨oŒªÈneÚ‘Vx›l„’™+ ìMúeOðXa¯{Q$厷Ir#à‘îáåÁ°ã©BÛdæ›Ø³²'§wVUeK%+ÛJ€ƒ`D¡õ-+w5–eMU1r`€çw²é†¯›V+bÿK«(¹};„uOädOâèÃpB]nÒXVGƒéêT’ÇñPCä"CÇm»›õq´ßò™Iîü„{¶¹oÚŽn‹0–èKC‹Pë7 ͳ„Ù šgž¿ô}—F¡çZ áÃyÖGY’Ô µtð²cá\I#æšnUÓÆC¯ Üw ‰&I{»îH• ·az;™ ƒ&à7öë¹Ó u+á~ ù9äÔö”HÍ2kýsJÛ7‹Ìålr´NÀ"ˆ© çÛ7‰ÿ>ººžíDÝŒßíC°BÀâA.öö¬È`4ÂÞ¶²Õ½…gвþ´å;ëõÆ‚ßt› | ÈÙºi¶?¾/d“³Çú=Ý@ÁÓE¹9CrR»Ð[ÍêsÖ”e~gçdµ+.^D}~¦v =á`o¢ÇÓa½õoM/ _mšP"”~Ž~%]I×|åOF?'ãäóQYzÔqÁÁêc½g‚J¨Y~?—wÖ³F“ÛX—ÈëÜ‚ÇSír.š]¥7íøaö‰d¯|ôáíôÓTRÒ±!èP‹…´¥díoÓ‡™\ ÑHÚ€(™š ²ÚÙmò0ûðp_ÍæûBÎ@ÛZ¥ýœ¼ÚÖª9Øúk4%%rÏzîG0\p?´RÙ%w«>´9ø&°þXd0€ãF°%õ6]ˆSúÁÓÛßÝ㘌&7³ý£=øµòeîâY”ª88´çQ;Hÿ/ÉÇ>”ÚæG¹d ìÿ6|dûóqœ ß´uÖ†º´[Ý,éÉóK<ú9ž¹°y›Ö=CæÈtýˆú „<{”‚;˜ï™çE0­X°€|Ü„Ã,Ñp[Adh)Nz…ÿ éJendstream endobj 6 0 obj 2092 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:14+01:00 2016-01-27T08:26:14+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002416 00000 n 0000004306 00000 n 0000002357 00000 n 0000002197 00000 n 0000000015 00000 n 0000002177 00000 n 0000002481 00000 n 0000002735 00000 n 0000002670 00000 n 0000002602 00000 n 0000002522 00000 n 0000002552 00000 n 0000002817 00000 n 0000002883 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<2AA97A7F0F906FD709D209C5B395AFF4><2AA97A7F0F906FD709D209C5B395AFF4>] >> startxref 4460 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.30000644000175000017500000000412612626067776016634 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_AUTH_TYPES 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_AUTH_TYPES \- set desired auth types for SFTP and SCP .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_AUTH_TYPES, long bitmask); .SH DESCRIPTION Pass a long set to a bitmask consisting of one or more of CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD and CURLSSH_AUTH_AGENT. Set \fICURLSSH_AUTH_ANY\fP to let libcurl pick a suitable one. Currently CURLSSH_AUTH_HOST has no effect. If CURLSSH_AUTH_AGENT is used, libcurl attempts to connect to ssh-agent or pageant and let the agent attempt the authentication. .SH DEFAULT None .SH PROTOCOLS SFTP and SCP .SH EXAMPLE TODO .SH AVAILABILITY CURLSSH_AUTH_HOST was added in 7.16.1, CURLSSH_AUTH_AGENT was added in 7.28.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 "(3), " CURLOPT_SSH_PUBLIC_KEYFILE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.pdf0000644000175000017500000001033112652070443017336 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}×W Ї†¹æî’\²- (‰(‘%G¢’q!ÐÔÊb#‘2IEÉ?ôWú]ÞtqR°líìì™33gæ lBÁV?õg¼íÝL<={O=ª¡þˆ·ð2D_}®zÕ ‚8ñ·=ãÕ|:šÜ…‹©þÝs=âq[†Ëó‰Ç <ô>áìn1 §ƒþíb>ÞüÞ„xŸo2*¾/ Yf»Ò´˜køG’¥tnÿ ßö8uˆ¨¼>çK=mÙ„Q„#â“ÀU -.(á,îéÛã¾2¶•u‰ðÚëí@}ßËlâØ,ÊÔ±]…ÑrLœc“c(Ê\F[ÀcÊ:Ÿðˆ¯1Ì>'w³áì‰6Ñ(Œ_’4Þì—~Wäݨ_dý‡2g„£^xUaŒ3´9ç÷^ÁÕ:J—y}İgŸÅq ñ:ÊáJñkþö°_f¯¦Ã»p8ÿ9^âИ!?åZÖ¬TöÔ®/xŒØÔ)QŒç„ò ®®ÏF™A¶“yTJÈRxø»¨(’ô¢>xcb–mêxF–ƒ¬þÔømwŠƒÔ… ‘x½l£ïð€Üei™g› ÖÑ·-ŸÆÝ MJ^»_onVYvS’¢”ùM´_&Ù)ö‹Í~¦à,t*ušãg\~M–òÜ¥C¸/j¶°úm_3Œ¾5ÃÑn·IâHµÄQ Å!)ã5 kõižíòD±×åÂb¶ ¶ãtyÔÑ^÷šÙrPµ(á ö)ÖÖ5l’UmpH6XÊ•r…4æû :AyÕCÑ~SB›:åñ=ÊTæIŒiÈ¿šØëA`3CæÐ¨ÁQr_\½€$U1èÌXÍ;-b›Wˆw›(ÆÊXép+ur Wa7†®6TM:k›”@Ø ø×€}WÂ*ÏÎ –úq¼:kMCáG«JŒ¸ê•ø(m¾]Û“¡á6…½–)Lì6Û|,Ü/*nÌÞ*5¡¬µFø&¥=ãºâÄ¡Kƒµ%ªÈ:îê3ÿ ù3²z$ÿŒaûó†=ÇÓ 5’t©ªLpXG%(‰ÁìRUaUj:©ª"\Ÿp—vôpPi®ò ¹|ÚË¢„µŒ–øía`g^b·XàÇoÅùYâøfD^û,^¾À-s©Àn£/U΄²‰{8ä˜×p$Ë.[˜êuÙRr‘ÊXL™ÓrY€£Å¸7$y$m©Ó¯\ˆŸÔÍOà …z¦ûø!«§Õuæp"<§67¾jî,S'hË—üÖ†`ï¾S{¯ôCIcÛäq]*-T­ÌÎr`aÿP¬*ÛãyA¹À(NfÆ›¶‹ª‡@PÛÚâîÏõ©*jQjæñ†°QØâÇID¨]-ÜMk¿÷ëÎbn,ú¦…óÅ­æÐ$„Ië…!i¶×¬¯&£YíÄ;m]ÞÉ£1íP†Õ¬>öä Ž_Yt, þìßÞMýÓ׎ØaÅÖ¦ õ¯'5M®ï_n>N ,Û×›•2ö?@·!ñžKk‚Œá¨ÿr8†ŸÎz•Ó9ÙÊÍr)—ªwÎb_|¼%|6¦ƒp>ÓrxýÑ|P7ÆeÈ©úïÉrŸ×á`1yI%éBûÝ.ËK¹¼®æãwã‰Éë9òq¼˜èíDÝL3œWY®ßU/ªþCÇóp1y³¸ÜN¦æ %Üšmêæ4­þ)1ÕŽº*õõŠ>J°™ÙQ)E@=9˜zô|#*¤b¿2™Sm…ÿĉLµÌí Øá”"ϬXT çîñv8@4›t<Ÿ2v¼žr|Ûw¨^릃÷ ŠƒÈ˜fáå”S"ê ­?×§/ Ïk"¼xÄuô#á´?žÝ!sŽ]­[Ï8jø^> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:27+01:00 2016-01-27T08:26:27+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001816 00000 n 0000003706 00000 n 0000001757 00000 n 0000001597 00000 n 0000000015 00000 n 0000001577 00000 n 0000001881 00000 n 0000002135 00000 n 0000002070 00000 n 0000002002 00000 n 0000001922 00000 n 0000001952 00000 n 0000002217 00000 n 0000002283 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3860 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.pdf0000644000175000017500000000724412652070456017553 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…U›Fýߟbªþ§ó†eaaÕª’ãPɉcà®î*ˇ÷ÎTlÀIîCõ;vvÁÆ?šF>6Ìμ7ïͰ‹P°Ô§»¦›Á›Èƒ—z`ÁË`7 ú!t—to ðÕäyО¡àÙà F|Éfð`Œï¢édö{¸ˆLnËò˜‘ÄóEDæ_É{ÌißÁƒÉj@9á$_ñÔ}-ÆqðéÑ`&¤û*_Èeýºx‘MV<—æÐv1urÛdeQÃI•Öæ.¡^›öáXÐW„ž]Ç-bSDœ"!„ˆp§!ãË^U&c62“¿±G]â ÖV0>ê~ß Û"ŽåÁÚê±ÕrúŸNøÝï0ø)4k …4©C„°=ã[ê¨:µ¬¾˜ˆÁ¢7dãXî4“Kü‚_£Œ?ÏÂy<‰Ï±êÓø9+Ò|¿’ð«êøõ¬Sá6ê2$7-‹´Ä˜+Qõ3¸Y/‹U.oO%qEËà{|o!/‹¸Ik¹{4ù‘wA<Ž&ódÎ8º­vÿAj¾'z=yö¤ò ŽÓʳ¡%¦è.Odõälä¢1S¨;A2ø„ŸOÙ5/endstream endobj 6 0 obj 1033 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:38+01:00 2016-01-27T08:26:38+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001357 00000 n 0000003161 00000 n 0000001298 00000 n 0000001138 00000 n 0000000015 00000 n 0000001118 00000 n 0000001422 00000 n 0000001597 00000 n 0000001532 00000 n 0000001463 00000 n 0000001493 00000 n 0000001679 00000 n 0000001738 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<01D05AE1D7B92BBA1EB27D47FBE6A711><01D05AE1D7B92BBA1EB27D47FBE6A711>] >> startxref 3315 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.30000644000175000017500000000545512626067776017243 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_BGN_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CHUNK_BGN_FUNCTION \- callback before a transfer with FTP wildcardmatch .SH SYNOPSIS .nf #include long chunk_bgn_callback(const void *transfer_info, void *ptr, int remains); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_BGN_FUNCTION, chunk_bgn_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This callback function gets called by libcurl before a part of the stream is going to be transferred (if the transfer supports chunks). The \fItransfer_info\fP pointer will point to a struct curl_fileinfo with details about the file that is about to get transferred. This callback makes sense only when using the \fICURLOPT_WILDCARDMATCH(3)\fP option for now. The target of transfer_info parameter is a "feature depended" structure. For the FTP wildcard download, the target is curl_fileinfo structure (see \fIcurl/curl.h\fP). The parameter \fIptr\fP is a pointer given by \fICURLOPT_CHUNK_DATA(3)\fP. The parameter remains contains number of chunks remaining per the transfer. If the feature is not available, the parameter has zero value. Return \fICURL_CHUNK_BGN_FUNC_OK\fP if everything is fine, \fICURL_CHUNK_BGN_FUNC_SKIP\fP if you want to skip the concrete chunk or \fICURL_CHUNK_BGN_FUNC_FAIL\fP to tell libcurl to stop if some error occurred. .SH DEFAULT NULL .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY This was added in 7.21.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_CHUNK_END_FUNCTION "(3), " CURLOPT_WILDCARDMATCH "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.pdf0000644000175000017500000000735612652070435017311 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}çW,Ð*°6{árwÑ¢€b³€ÚT$*m%Ѳ YtHª†?ªÿ˜ÙåÝR° îìÌ93ç ýL1Ÿú{ó伟K´+‚vÎw‡ÚCTmžÐ‡”y?8ÕŠ$CRs¬4ŠŸ÷z9£Y¼ £Qüãs,¸Vo¦°(~q¾¹®³ ¸Y…ÓÛi|ïòûÚœòÃ*MŠ×U‘–Ùs93Oc­„ ?öÙ±@½ÔÇN&¼J}!¡)?&˜QÀµØ`ÛúΘK……DcîÛËwLLäºIz˜çcF°Gàeæ˜TTz¨8¢BÁ ÿB‡Ì‚fXØ2’c¢ë2/EWžcŸV<§éöOûíhýZ¦zNsÈ·ÉŽÛ [Ÿc x>Vöþâë]4[LC@ºfàþ²?n§mŠ~3ÝoþàÇßM8óP:ñ»Šß&ƒ˜·º·GèÝcrÜÒ«þx¸gç ÑçÏD4ü¯-‰¥"¤Ö‹›w¨0M°=¸ýzN™û Ë>ç›`q=ŸÎâitW+€ŠJøÏ’¶²ÆJTe«!ÃlÝ¢@ P$Ðø$OžÒ2Ím{°61GiÌ•¬™|sñtÄ4Á¾Rn¹±„«±*¬|¶´Êdz.S” @ Ši÷oÚCÇ”V^зód—¢2OŽÅƒ‘…ÕË¥@¥¤´åºØÇìt°ScÑ6…@#˜Í¾NÑ:ÝBÇÜ<Ü8Lcé³áËv`I›‘žòýqWM‹’Æ=öګߟk&[¹ÄÓÛ ò°é`oãxfƒ4è!ËÁ$k#OTfû-P×ÀO Qf*:¼šˆÂŒ7B{Iú<e ÊecQ@¨[Ý$ë,/ñ%5”øG=\á)Û;ˆ£ít'˪û˜TJ‚ÂÌç²> ãQÇßèDJɽÁ rÉÚî‹d}H/설ټFäq‹ˆzPSÖ 3L„¶£Em}Ʊ$~³¯£ðÍ> 0µ ÜÉáðÁ_“ÛY4ÚWÿkÐ8ê¯FZ;Ô½‰êÞ ¥Î·;È "Ûj¦Åž¥5ù‚ºMÓðmÄ4 '¦á4þ:äCáÔè¨5˜+Wê T~»Â_‹óV F€ˆaý&™ñr~‡¾Œ¨ÙŸ>u'á2xc^oæiyÊë×b°Š>ý¤ç‹ @“puaÃ|G 2|“Gž™ÑDzÞH®uëÕ05Tö»F4ÉM¦h¿i3aàÆ³\cN(å9üáW §KÌ%&£1B{X¸T¢§#b„z¨×*–šTAì|†Ï0†.5endstream endobj 6 0 obj 1008 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:21+01:00 2016-01-27T08:26:21+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001332 00000 n 0000003215 00000 n 0000001273 00000 n 0000001113 00000 n 0000000015 00000 n 0000001093 00000 n 0000001397 00000 n 0000001651 00000 n 0000001586 00000 n 0000001518 00000 n 0000001438 00000 n 0000001468 00000 n 0000001733 00000 n 0000001792 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3369 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_HEADERDATA.pdf0000644000175000017500000000747512652070432016353 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVkoÛ6ýî_A`*1ç(bÃ7Q0·ªíÚr·¢ÅVmŠíZr‚ü¨ýÇ]’zØJÚ"„¼¼sνä7D0EÄüªïò¾w6SèkÑ#èkï[ÚMT}–÷èm Yˆo{î EŠ!¥94Šï{ÞùbM¦ñõáð"œ]ôãzŠ)Eñ²§Öœ˜sñʬ2X}ìyà 164À’æl$¸eÆæ‹wåñ«>ZîwùušO×EZn¶eÀ„Æ:ü“mÖêÆÿ;~×&ÀÅ\ÿ||ÕÖ@ÀZƒ³™°–ƒ>æ ¸oíÇŽ$–šW~>„f½ÅŽ,ˆBÊìöOƒÖäʰ4›Pi³ýoÛFç˜r¸ bËÜdë2Ý¡rƒ¶IQ˜ï]š¬`e™äùM²ü×¥xXõLHÓÇ0ÿ<žLç£ùq5P|]É/Ùz™ïW)úÍPufþà»ßmÆÅ‘+u¹ƒ.•Wv Ü%ëUžž>#òM æò{4VÐyúÐ@£q–:Ù:p®ú¿> ûþáü|6šÆ£É¸’•N/2MWI{€â"QR·“2 «ÄéU upõ5©x“¢}‘® —»¬LQy—Ö¬n“]‰6·vi—.Óì(WpLju>¤¸iÌ †¨¶V«VRÆÀ­&e1±õÈ|'ÐÀð [£Ûn] Îê¤kVÿœâðr1>7(6]v0\„ÄJÕ nv]§SÂiÇ©“ʼJ W^!me‡‹—ÆÓN®1‚þÒ`µÉc–çÀ‰…E¦ÁÅéÀiÍ4Е­ cŽ˜b›.Ëcn´´T"ÅÜ}€Ži©ð1kgBÕ¾ŽJ)–¬¦ÆLàÛó£[´N3ˆ¹s¢Ø)ªgf²K4a·~*À^Qd üÚä~_”F“ ²Ý&HLéº(›I’CÇ]Ž¢ èu”•¨Ήùæ lóPºµª¾ò`ò—§6hk-ýcXöî‹Z˜&>nàË p);PÀŽ6LÕ&0¢Ý$‘«j7ŠZ w ô*š¾/¢è•4¦³* Ám jæ« ÌÃDj[Þ$F“&&ãX¿nŒóIԙŶ†<ÚD†yþJá_ÃÓ(¬5|w–Åmæ~©§ÁŤÂKÁ 7¤6–M4«póúÓÁµ ø’ÖBE÷£hî¶/ܵApPZ³\õð|lg®é¿¹žŠçPH……±h2$îÁ1 ãÅlŒ>õ)4¹ö©7Œ¡}N¼ˆÍ,-÷»êý^OÞ¿‚ù< Ñ0šOZ³Ž¿—gZrøN9=vF͵ՔþâàíÎ\Š}õÌ#\€so˜Éö™óÅ˳s#…94yƒU ,=ªÐ»ý1B……J4J¥ÆU÷>Âï`s„Çendstream endobj 6 0 obj 1087 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:18+01:00 2016-01-27T08:26:18+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001411 00000 n 0000003294 00000 n 0000001352 00000 n 0000001192 00000 n 0000000015 00000 n 0000001172 00000 n 0000001476 00000 n 0000001730 00000 n 0000001665 00000 n 0000001597 00000 n 0000001517 00000 n 0000001547 00000 n 0000001812 00000 n 0000001871 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<50F8D9D8CA6F831869C40FAE6F5C85BA><50F8D9D8CA6F831869C40FAE6F5C85BA>] >> startxref 3448 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CAPATH.pdf0000644000175000017500000001030112652070425015711 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VënâFþÏSŒÔ5Læâk[Ubg—]‚)˜ÝFI…Œ‚»Æfm³Qú û*}Çž™±1$¬Ò*RœÌå\¾ïœïÌD0EDþÔßxÛ¹˜:è¡ìôÐùÒ¡jÕŸx‹Þ„pÀ• ảïPä0äx» ·ãr>“pq9˜tÿ:}Š)Eaܱ=L\Ï…áªc B¹Iäe˜QÏÓ.ÅGácçÎxwoðû.Š÷EºQù´(E•ïªnŸ™ö­’]*ž±$Í}•¾¹ë`×öZ϶ò, Éuµ*î9غ­Ã&±©[h'D“jƒÑpÒd) AI‰–]FŒ}’V(zP=C4°m6Žn)GQ’• v"›ÍF=éñ(Ì£|¶{8¶hWˆ]T@êûR¦'Ïçp¹,S]òµ—:R~¨ò/ ±‰Ê ÚWIšTOò´£w¡ALLmêÕƒ¹Y¯ßÈk}îJq Œc ®!‚,}B‘ATZ’¡8ß.%G  ¥„ábJIÓ½–mÞ[S©Ãâ£?ö5òÜÁ„ÐCÁ\ßN|zГ¶¨,PûP¹Z¸°2ÑìôeïÀ^¨I= „Bí9γ8!˜; #›ü¬ºRÌ_Ý‘FqÌHmœb—éÊ^ï³Xí$Y®r4Ë+ô(-PN1qÜö¢«.æÅg‰ï']»Ø%ùM²U®.:Ø‚®¬WK´Ú Yîe¾P¡Û¤Ò´$™F˜x˜q÷€p]MøL«Û'm~]Ãc™®’8G̓¦Ìk&Ä©eœÙ¼ÁxÔ¢×%•Âqdg5¡Œç£Ñ+aL¦u&WQPüÀ¸T~ú Kx$lAˆ‚VÚ9vˆÝvŒž)1„íA‡@´þÒ´w†–‘¬ñ]‘Wyœ§åÏè]Nf=t­~oò3 &>³XD¢Š_ƒÓÿcp3ùbºßṴMƒr)­:‰« ÆÛrÝ3ãÕ“'Þ$-¦Îé#jG-0h[´ÆÎŽo†£ax{Š ÉM×m¥0p(ÕA÷Ô¿r¿Ûå…Ôè¥ÒÑVâÞf{ # (4ÉÓ¨€EÀ4þ¬Æ›kB5ItÍß"[•Aã¢ñl¦S"W% ]àÜó,j|MVRØk¡é×¶Ž9¼«…A Ö:/”­Gi,*VR´`Î%K- Šžk™®uë{ÜÝS?œOÇèc—r¸cSc0šûõ­—‚æé)3Õ¾¨ßWþ"ø€’µ*1‘EËT¬z $½9+Ž9‘m׺ miEù4^jêJ# "=”uƒë ǯ$p6ÁõâÆ¿ ¦Çï!êbf6‚›t™EŒu¥’ižE”vô0‚¹ ¢%dz]#*A[ÊýºË$1Ì1¾Å (Úˆh‡Ê]‹sR*Ë:~%ù>ŒfAÛ9ÏZ¡Uêáø:8-Sx-óV•,÷N Ûni§OxåO§Ïl™Ø´þ«¥»ƒ©+ÿ,¬ùÛëùøR=‡N+‚š ž/ìÂcÃàû}PÛÚdó®p°‡Ý>µ,Ê2¨ƒÞï3Ä5•qó jTšòÃÎïðó/‘.¡endstream endobj 6 0 obj 1468 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:13+01:00 2016-01-27T08:26:13+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001792 00000 n 0000003682 00000 n 0000001733 00000 n 0000001573 00000 n 0000000015 00000 n 0000001553 00000 n 0000001857 00000 n 0000002111 00000 n 0000002046 00000 n 0000001978 00000 n 0000001898 00000 n 0000001928 00000 n 0000002193 00000 n 0000002259 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<08D636161F33BC03FFB726B323E864E0><08D636161F33BC03FFB726B323E864E0>] >> startxref 3836 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.30000644000175000017500000000340112626067776017142 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SSL_VERIFYRESULT 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SSL_VERIFYRESULT \- get the result of the certification verification .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SSL_VERIFYRESULT, long *result); .SH DESCRIPTION Pass a pointer to a long to receive the result of the certification verification that was requested (using the \fICURLOPT_SSL_VERIFYPEER(3)\fP option. .SH PROTOCOLS All using TLS .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.5 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.30000644000175000017500000000366612626067776017025 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_USERNAME 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_USERNAME \- user name to use for TLS authentication .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_USERNAME, char *user); .SH DESCRIPTION Pass a char * as parameter, which should point to the zero terminated username to use for the TLS authentication method specified with the \fICURLOPT_TLSAUTH_TYPE(3)\fP option. Requires that the \fICURLOPT_TLSAUTH_PASSWORD(3)\fP option also be set. .SH DEFAULT NULL .SH PROTOCOLS All TLS-based protocols .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.21.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_TLSAUTH_TYPE "(3), " CURLOPT_TLSAUTH_PASSWORD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_REFERER.30000644000175000017500000000423012626067776015460 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_REFERER 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_REFERER \- set the HTTP referer header .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REFERER, char *where); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. It will be used to set the Referer: header in the http request sent to the remote server. This can be used to fool servers or scripts. You can also set any custom header with \fICURLOPT_HTTPHEADER(3)\fP. .SH DEFAULT NULL .SH PROTOCOLS HTTP .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* tell it where we found the link to this place */ curl_easy_setopt(curl, CURLOPT_REFERER, "http://example.com/aboutme.html"); curl_easy_perform(curl); } .fi .SH AVAILABILITY If built with HTTP support .SH RETURN VALUE Returns CURLE_OK if HTTP support is enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_USERAGENT "(3), " CURLOPT_HTTPHEADER "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.30000644000175000017500000000442712626067776017070 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRANSFER_ENCODING 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRANSFER_ENCODING \- ask for HTTP Transfer Encoding .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFER_ENCODING, long enable); .SH DESCRIPTION Pass a long set to 1 to \fIenable\fP or 0 to disable. Adds a request for compressed Transfer Encoding in the outgoing HTTP request. If the server supports this and so desires, it can respond with the HTTP response sent using a compressed Transfer-Encoding that will be automatically uncompressed by libcurl on reception. Transfer-Encoding differs slightly from the Content-Encoding you ask for with \fBCURLOPT_ACCEPT_ENCODING(3)\fP in that a Transfer-Encoding is strictly meant to be for the transfer and thus MUST be decoded before the data arrives in the client. Traditionally, Transfer-Encoding has been much less used and supported by both HTTP clients and HTTP servers. .SH DEFAULT 0 .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.21.6 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_ACCEPT_ENCODING "(3), " CURLOPT_HTTP_TRANSFER_DECODING "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SEEKDATA.pdf0000644000175000017500000000720612652070443016144 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUkoÚXýî_1R?ÄTøæ¾ü¸ÚÕJ$8-­ ¬¹T[%«ˆ'aKpZ›®ú£ö?î\¿M©ð;3çÌ9ÃW „5¯ú;y´Îcîs‹Â½õÕbå!Ô_É#\h Ì}gUwø|%H @?Zöå:ŽK}» Ã÷Ó‘þÇra tbœˆ€š[zkžr|ú¯eO4LL51, .£¼Šñ¾‰¹¶olq3‚äøm›nò·yZdOÅÈáRì²CÃêëw]y!<¢ä¯W¯j–(F+p+O”kð;Òõˆà¯ŒŸ÷¹ÄU¢Îó!4Ï;Þ8%’úà0^ÿ"am§œ¸æ3B»^ÿKºÚÐÞ¢%Èc^dð”íEú ž6yžn¡È xH!OÓ/löûÏ›äKÕh#sQ¦Ye¥Õ§ùb¹š­†˜‚Ï«Ý!Ù·)ünÆun>ÈÃeçtTN2 8çMy¯6‡í>Ÿ ó¬#†{¦›&Yó3œåø{Ëj®VÜd»-¼®©¹ýöœ!ʲÓpuÏ–z¶˜¿HÂtSlªCF›±#‘¼ÑD]ðä>FÞtG\ÉËqPfd?܉‘>ÙüÈŽpÌSö¬8Ò¢6úÄ^­ç—J«öžÁ…Od{©²Ø¸T¨¤Âx©FK+»ðmšl´†µ÷{¸O Ø`ÀáéXÒš'<{ޝjç¹2(GŽqL¶^X×F¡h¤ÊoÜÃ]QFºvS1ß÷EÛµ]¶Íg=ÝHI‚N7EÞÓ óTË‚1xÇ0_G‘A=tU3ò\OÙX´/¨e\c•¢ÄÊ$¢ñëJ'ÔU¥m;\Ÿzž.щ#ã[!;¸oµ^ö÷nì@?®ºýœ{-ƒ;ãñê…;WÕ¥!lňëSуþ5ù°ŒÂz’nPaçfG˜ÉÊÊÕÑÕg5dJ<—5UfÑäbÍô§Ѻ¸“1W_›öd»ÅÙìàÜ ô'&ï‰ïÚŽC½ŽçðqÄ„$Êcö$Z‡¥dm´ L¢Õ{ª2œ¿µ–ž†q> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:27+01:00 2016-01-27T08:26:27+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001228 00000 n 0000003111 00000 n 0000001169 00000 n 0000001009 00000 n 0000000015 00000 n 0000000990 00000 n 0000001293 00000 n 0000001547 00000 n 0000001482 00000 n 0000001414 00000 n 0000001334 00000 n 0000001364 00000 n 0000001629 00000 n 0000001688 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3265 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.pdf0000644000175000017500000001035712652070451017364 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœWínÛ6ýï§ º‘‹š?$QØ0Àm´Õ«k{¶Ò®HC‘éDƒ-¹’¼${†íQöŽ»$õé|`0'É{î¹çžË|C6&ÈVŸê;ÞÞ.=tS lt3ø6 ú%ª¾â=z¡„ÛÙCG‘ç3,|îD`›¡ðnpi½¿XNç‹p½ —ÁøÓúÃðNÔÆÜöЈPõÚVØŸ…ŽþE€e.£=*o“•y”[™£<ÈtS ,EREpÄQÑ™íaׯ¢ßëw•©ð¯^Ä»c‘ôö•.óEõþÏç6îL>FLÀ¯¶I¹XèU«¯³ùb5Yõs¦ª¼­ï’ l$úAUæ­úoTË)×t*Nâ œVîJ¿B¯o£t³“ož­›yƒ^QféÕð{¨Ð r·úë1ód‹¨Cp ;6öl¡KZ(ª C–¤%”,I Ä®ŽóZÞÔªÚ's,\}ÀÓÊ %™–Éö”!k‘Ü% “Ô<‰öÀ^–¦2V ‡gQiDT­M &qö]Þ“ä¥eô•¤7èxÐ#ŽuoTSõ‚!ÇçØÿW6ë=&̶ë=8lö‚ ±«\-…w/Aï()»z‡¿€'Õ…N4¸JÍЄ^M𶇮ÛP.öZÜI‰õvF9æ”ÕFʉÞ*>2R ôj¢Å«È‰*`2M‚žÚ¡<€A©*YX--„‚cÙ~ŒrªÜrYR©~ƒ‡%‚"G»]G¥Dð>;æ1,§*mSþ¿å¦ª§)¦ë`¯•©ñ—<‚õ¹@Zo®Q×î‚_i„ÐÆ\oYɲ<ÍïlÀÀ»¸ÊBPLòîÚììRÖ²z«ƒéìx¶'HmLKFYÇ€¦¨Ú?íùS‡5ìÕh£´Ír›ËCždyR&5¼ 8:jfw»^êq³­zf¨óøvÓV*;’õ1é¨ùîÐ"âØ#~È É[^ß×2Îö]Ê3Ó O52*ÀO^‚þ mͤ‚tR8RO†Í1WEª‡ÂÐqÔHcÖ=ÚqšŽ¹œu½Åo©ÅH@°FíûcQ¢4+U˜ÆI¢âĽ ßs›f­­‹CéHß7©§&gmtoÊŽIpa ·Óðw ”IWÌxÕö˜Vö•aå1O¡ù‘Ìó,ï#>ÁÌ©ÔsiáÉè%„Zå^³¡ãA{{>m¦ûT¾×FÜv±+DÓ@Ø%®©*¢ºH"TåCÊŽvE†R)7…©7(ѬPúŠÚ¡]6ê*)ôg7˜=÷úfÊ ÷±¡æ])u‰W“XÕëC.ÞRãj.žßwx«3Tï”…A·QßN)(ë±FC¥Ì®û;º¦î7}]M—¸qH=¸'Óñ»Ét~í§µ`¼ÓZæ˜ÍÌ®,æ.¶_ÎõÒZáÅr†> å¸ÄO/‚J7S†õÚ2Ìí>XÏ?¢D~­tu:Y^Êéf³ðböq62Çú2[ÏõPmxJ£½j¬‚§«y›ÈINî«_‚ÉÏ¢” Ô¦¨ÿÿxÓ?¢¹nsOzú|z¤ò9b0 Ô »†²]r­îÜuAà~×" ­äÛ:šÞ蘨ƒ‚pð+|þß2›endstream endobj 6 0 obj 1511 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:33+01:00 2016-01-27T08:26:33+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001835 00000 n 0000003728 00000 n 0000001776 00000 n 0000001616 00000 n 0000000015 00000 n 0000001596 00000 n 0000001900 00000 n 0000002154 00000 n 0000002089 00000 n 0000002021 00000 n 0000001941 00000 n 0000001971 00000 n 0000002236 00000 n 0000002305 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3882 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_MAIL_FROM.pdf0000644000175000017500000000744712652070435016340 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VínÚHý笠Òþ¨ÁÔãok«Jnêhi ¦`º5+ä˜!vklj›FÙgè«ì;öÎx€@ÒVH€™™{Î=÷Ü;|PÐùK~fååÌ…»VÑáNùªP±ò#ÛÀ›7xü‡d­ôg(¸¸¾I<’¢^.fQ,[ÖÕÛN–O|ÏVñ¡¨«΃þ›¼SLË%†ß݇âhCK†T}¤J|›³Z.˜04qbðÍ:ßGmbû¦Œ4ùïÇ, Xº Cjðe½g~ÎCëÔö‘üóq2…–U+Ö@ºZ5¬máS:HcHâ Ðùõ$žÎGóSh±EÀªUVîV ^q±^ò7’¿æÛ ’HI.zRY{Îõ¼Kp‘§Õªdƒ'jšBl Ù ËÓ.ÖM½¹Ñþüí·áür6š&£x"•§v/ü3)LÓƒà>ñì^nx–Ï5UÛRØÖEÕ¡l]ÿ±¦|ÚUÚ±´]STw¶°M›tÃp‰G4‰iy<ªAMb™TÖ‘$ÇúRdïzGDO æE m^ïÊÜ2ص¸í–eÅúºœÉ"¾8A¡ŽKLÝ‘(-{Œâ¸Þ~“¥ÐÄ¢1¸ïH•¶€ûœU…'&|ÃÏÁ}ÑåP·¢Ì€˜¨žäu*¨›âŽ«R7Àĉ}Àc>"–Vw%~¿mÒ싆ÕÔu×TY×Âúê5¶`ÚÔ»jE7@NE–C±†ªîQ„xQŸçq_”%GBl îºz“vE––åƒæØ={bûr­QàâQ%rý+¤ùm»‡C~{LÔ¬ãÕâU´¬ù¦a#ëÔrT ×g±I K±´|ãyj/FÁ€ ûÌ2tÑ^üÚñWÒé¶4î£Ö¾êÁB¬Rž¼œ,†cºr5:ZòØ!¼i\×5­C£Ü–iõ¥Ÿ?å1I–Ù»Mæà @CƒèvßUqñÔ0‰«;ûAwGgóyûHäÈ„;ò7D‚ñ4 ÷íïý´ý“#ìS*û_}KÅlÏ{ffû|ç k‰¼‚pœßXǦ2yuoFÑ(¹>MKìöa ¬[T€W 6ůsý¤ÎÂd1›ÀGšñªÑ"”CòiÊn鯋ëv¼ÆÂeüžwwn½që·»í¶nйi1y?‰5ãë†ú÷d‹1+ûr€@àª2ä"YÆWËq8Žgh`ƒØýDò¶žÞ“¿.4ÃÖÕu'öÂQB©.…“W[Î÷^ ¾áx*NÛ¢jwkÍàT Wýž¼÷r–n±YÓŒ‘gn ê¢Úöã . !ˆæñQá3{œÜI³ËirV=ôŒ¹w®¸ê§¡Éqö©œ]Ðfù=ùEò×Y¹(vŽý$îÐð°µ|ü³€9}H9Ñ*¦‹VRÛöñ¬Šÿ5Þí*0pòˆØÖ¡Ã(&Ê|ýofendstream endobj 6 0 obj 1157 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:21+01:00 2016-01-27T08:26:21+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001481 00000 n 0000003292 00000 n 0000001422 00000 n 0000001262 00000 n 0000000015 00000 n 0000001242 00000 n 0000001546 00000 n 0000001721 00000 n 0000001656 00000 n 0000001587 00000 n 0000001617 00000 n 0000001803 00000 n 0000001869 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3446 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.html0000644000175000017500000000432412652070415020350 00000000000000 CURLOPT_SOCKS5_GSSAPI_SERVICE man page

NAME

CURLOPT_SOCKS5_GSSAPI_SERVICE - proxy socks gssapi service name

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKS5_GSSAPI_SERVICE, char *name);

DESCRIPTION

Pass a char * as parameter to a string holding the name of the service. The default service name for a SOCKS5 server is rcmd/server-fqdn. This option allows you to change it.

DEFAULT

See above

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.4

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_PROXY, CURLOPT_PROXYTYPE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_INTERFACE.pdf0000644000175000017500000001045012652070434016256 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•WënÛ6þï§àº“‹˜)‘±a€›¨˜[Çö¹X "˱YJu©›wè«ìwHŠò%Þ‚!@œˆÔ¹|ç;ß9þ‚lL-ÚÏxÓ{7÷ÐCÕ³ÑCïK¨CÔ~Äô>„ ¾|®zú‚<Š<á`_ pÓ³ÎóñtÞ&a0ÿÐÿê lì¢0îù.ö‰ðN¸ìYÃsyfËâ`×¾>à ûp}Û»±‚[Ë¹í£¸)³»$ªžïª¤.žêþ€º áXðOZä:òùgø±sê8>vW|¶žÚ`)òÆ»¹€D±`2×ËàÀA‡«&Ã%†™0.ù|‡…0l UÇÿŠÙ‰Pÿ®:×`;æÄÖ M'(Íë¤\õ!~Ûö+‚G«¢DES?iþ€ê2Zõ)Ó§ßcÙa„¹òÏáØWޝ®'ÓÙÕèê0AÀÃ$÷cšÇY³LÐ/²bïä/¼þU%)ŽuöqŽ+z«ŽÐÛu”/³ä츞?u(Q.0ûïjqÎP¼ŽJô¶…A²Å¦ †ÛþÏ'’uˆ=g/Ù‹àê|>š…£é¤­aš'ŸE] û¬-¶áO(‰UU(jãAQ…ž¢2Ú$W[b_ âš"ãp—ÁD¸†ë´B€Y…êu¢ Aì6 —cîvuæðQ¹|LFÛK9‚ê5U"#ëØ‘'õV¾GA÷j³(÷F“Ðb®¤lÆQ®»Ð!€gª–£÷à.?°À„â¨|ùLžf(Z.ˤªÎð6B뢪Õ1V†Ç—ÆÂ·7Öh%áØ‹ª:*£mZ¯Ñ›tõÃykðÕeÕÉR%œgÏòs¿[„ßE,Q^ ¨®“ÍS ö² %F^4!\›cÇ6€~Up;Е¾fV¾–÷ûEÜ[½3p©‡YÇ)iÞÓ`ÉH–²JËBÇ.ó€ P’ é+*pxTdGÈîãþ€Nyä¬$Ê€–JãLeç‚ô1ö| ¼^¢«¥‹5`Ze¬ßÚGxÙøµ1ÙÄ娫žóx]yÑTÙ³òÍ”Wp×Ážá5^ì@âdVJÖ 5¨·ÔºMT+\­½‡«MˆÆ¨°NÖÀ€2‰‹Í&É—ÆV¥éŒmš¬NÑK©$Ú‘¡UÚ½%Î×b_Œ0¥€[–} ¡ [[ãGÉ"˜¼ÏŠøQ¢fÃm_–KXöýS´KêJ½&+¸ëi­I¿CŠg”|ŒhÏò×i7õ–d“5Ä⵬fÒ—Ðú6³¾¥U-CÜÀc\ E:85r© Äk*mwj„cs{4.d²eR7ež,Ûº˜sq¤"«²Ø¨\²ô^N´jòXqôLuÌ LP—`âåÕ TWÎ5A= Ÿšü`˜ Í\¿·‚¸]¨Š‰"ÙÝî”;^{:Þ)øN}¥jxžç¸Ýè˜,Æã3¥¿Û5´ÕÁ¬ñ j»•@KK» KÝùò1'6áfZ$(<ŸÉÑ÷| jÒ:ºÏÚ©p0ïeŸÒ½ôgs³Ÿh1NPîµJ7 ØfBQn¢én#Vµ¹Ù†Î§ã£uàÿ€a–½Œå  ÁÃËÙ80Ðøÿ:†Ãé>ÓH;¶¬‹i['æû'ö:!ovÞd9Õ³†ŸÑnÇ“‹#FåGãáûÑx^æp\ðqÈR9u ËibÔ®Ž¾¡­j)ÊaæTRA¶iŽ<Øq°ý?o¬y.æô¹O)…ÄŽAûÖ |檥ª¶q§Ÿäh¨š8nU»}¼ï¦î.ƒËé|p”Sl´íƺNaw´­U­œi„$YͼæÈowŠ)glÕ¬´ðÙVÎ4Ék´N¢'Ð5¹<œÜÊ>Ø@ƒ ÇWÓa3¼éöë«éù§>ºÑáÁ‡Åä\ír‡à_6LUÕW€³CÛàšó]VÆ<4ÕÝdzŒ‡°3ØÖõ±Yå¾xavà8°+À—ÀâÚ¢‘.°Ý‡­› 3‹xèc“# ÓQw»ž"ÒTö~‡Ÿ=U‹endstream endobj 6 0 obj 1571 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:20+01:00 2016-01-27T08:26:20+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001895 00000 n 0000003785 00000 n 0000001836 00000 n 0000001676 00000 n 0000000015 00000 n 0000001656 00000 n 0000001960 00000 n 0000002214 00000 n 0000002149 00000 n 0000002081 00000 n 0000002001 00000 n 0000002031 00000 n 0000002296 00000 n 0000002362 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<483960CF4D2FF6C01CC39F65A1E71378><483960CF4D2FF6C01CC39F65A1E71378>] >> startxref 3939 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_DIRLISTONLY.pdf0000644000175000017500000001075212652070427016601 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…WÛnÛF}×W,Ò‡P´á.¯Û[F•È’"ÑI »0(je±¦H‡¤,¸ßÐ_é?vf—¤(ÙA` vȽœ9gÎÌð;1)#&þT¿£mçýÜ#÷EÇ$÷ï¦^’êW´%Xàãƒ`ÝÑ{ñ8ñ„E}A‚mçÆ8»š§³àî|4A—yTø¶kL'ãî_Á'8Ô§Ü…ÁªãØÔóI°‡m×·†uÛ%Ñ.OîdX<ß²ÌËnŸÛ‚ aðŸ8K rz>žiqF-¦Ï¼Q71Ó¬ŽT ú&å F€_~* ¡osAô-·“A7ø‚‡uÌ¡Ž°ô‘ÆåŸBç&µMØÆ¸¾ñg1sê¨3[¡×ÿ…ÍeœÓê*Ù0вÎr’†[Y,MžIœ’¬â\Fe–?“$.Ê8½×¨Ú1×¥Ž È\ê«kדél1Z`¹5xã—8’ÝJ’ßû÷øÝüŽË¹M‚q'x§ã‹2Xs*Ï­zEÞmÂt•ÈÞ qañ†ˆ>£\ÉÀ§®¯cvT×=’°¨ÇLÞ¦%KïUäÈÈm÷ÃËè-ˆ­èχ‹³ùhŒ¦\ iÀ¯0q‘©¨©g[Z-j7Œü‌Q×âxH,›+tÁŒ dq,ÃB®Q€laB–2'@)3ðL)“¤ åFB<Ë<Eá1†¦žUº¯É¿ ü>–Q@îQÛ©‘õTd˜É6ÐPcjWå!œ—áaJeIµ…´óÖ»$y™O¸°${p5äo¶KV$…Ma¢rP'  "Eü,zd–€P–­m¦ùE.ß•¾Ï^¡rÖ¦Òó«©´p9P9YG¼?ãLnÃ8!À[ÞKæ©þDÿ¨3<´ù^nyÀ–UIhÈ\ _¡õ°Vˆ- ÚhmQ56qQ¸­†wÊ쪢EÀùR’f @@†PVrÝ…¢æ{ž0Â]R²MØeê‘o<ÅÙN… a¢ßzd¿‘)‰²í2Ná¬}\n€ô’+ÊÒ2ŒSÌ´*f]g9ºWgtÞCUÀÂ7¢«TÄц࣯j¡^!ÿ38ªŽÈ`¡â›¢ÈªJ˜PF-¼ ËÅ$+å¯ä¢Ël¨¦(2¸ŽF¬“ñ"À ¶h¸ .-dªüWᥖªŸP-<Æärô/äúXë’k+;«w}NuzÉ= Û…Þsêt<[­È¥æ¶È¶-(°Å‘˜Ûi¥€Í޼g¨ÌTµ»v1„ç$—Å#ô1‰":õ4XÇ£N_Ê¢OM×lnÝÈÖA¹­¦zõ¼m‡Å}³>,¾ß”`ä²ñp±[ÖîQРxÞ.³$Ž -Ò‡‚ªÈ˜À„&}Y%·*¸…,«z’êά [˜‰·‰:õ• #ê0çµk鞪À\!^„vc¤q—»È¾±.URè0q•'j”-V™,Ò·G‡¹8 Ô~/eC(XÍ_Ú¸«HÂbÓ«Œ‘•›¾‚m\nY™ïcИHe„„*í:PAaèºÙ車¸s}ªJ£‡O°RÓvk‚]»ÿù¢yùÒâ:^“çl§Ù?éNÈÌz2c>´A^3W7åo£ñùÙ`~~9èZ5M×7‚³?CRk´³¡o»uÂ…½ÐbèP¸°ÿ8ú_ m ÇGª2Lc!Žd5_f+Xc™ËðAYMóë3U–Œ´–a¹S†”)}¥ç»Gýþ¢Bâ`ŽpRyk¨ƒ+Õ¼W›Äµ¼êíøPéT`PžçYv3&˜Ðöâ"\&rõ4³ycÒň»oª‘éh7M2=Ì‚0÷˜n=yžMÇ'£ ç€ÊS»†¸”¸ï-ùœ¸ÇóÔE5²`k|Š‹šÉZñ ÿ\ÎÆÃZkÿ‡“T0m§1«Ê«q>­èw|ÿ•Y\àÊæ6TIãÁWr˜ËAP×iZÁh<ø8‚ëcŽ@WËöýŸ-íU¶™…Ùýf]½JpÏØÃ´uøÈ†ôëcÊø§=E}·öÙõ®ËðáÒ|·x‡j¶«¹ §MõT°ŠÝãc–—Ðt (Ñ’`S£Î+éÎ}ðv+ÉnŒù0¸šOÈ×.³ —ƒñÕðÄÐm`½;URûég,&ØqëÒÒÓSé¡^M>Cå²ãÛänª&jÜ=…VwýÐ‹á Æ‹é!˜SH5ÝgWõ7Æôr>üÒŒ¢WÃê[¯]¥üšÐ|ª2¦Ga櫯 õåèê ªQ hÅÊ×í3Ç6u æ‘O»”p¸Bn7ÆcxÔ0è|Ÿÿ}ð­endstream endobj 6 0 obj 1765 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:15+01:00 2016-01-27T08:26:15+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002089 00000 n 0000003979 00000 n 0000002030 00000 n 0000001870 00000 n 0000000015 00000 n 0000001850 00000 n 0000002154 00000 n 0000002408 00000 n 0000002343 00000 n 0000002275 00000 n 0000002195 00000 n 0000002225 00000 n 0000002490 00000 n 0000002556 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4133 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.pdf0000644000175000017500000000741412652070434017054 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVmoÛ6þ®_A`_¤ fø.¸‰ ¸U%W¦³É`8¶Z{sl×–ôGí?ޤ¨¿¤lXy¼{øÜÝsþÄ™{Ξ½›<ßö߼ﶛÀ=fÏàÒ‘YP_½ê !¡¤0’@={þí8O²¡š RçIÜ0åaáßÇwÁ_êƒ×Ãc fÆ$LûPs³Hôâ«ç÷èêo Á˜DcD*Jõ‹±yð}ú€Ùa·šÓýɾ(7Û2èŽ B¡¯_–›õœ1H„ ¤•O‹JGk@Mÿÿ˜*$ÖÒÖÒÜäRS%7,õ2УÂÚ§Gòǧج·ìj … ‡‰Ù~“VþsZär{;¬Ï4ØÿµX´A„pµ*’ûró ¶›åº,v Ü€<àJIB_†À.¯ŠiÝÒfQ(RKßK:‘$´ŽäOW«§éìŸêî]Ú( aˆõýŒ¬åèKš GƒÑ1MšUG‘íÿ²\ÏV‡y~3Åqc~àâwË*ñÔUEål£mNëçÑn«Åt=_×çÕƒ)ƒ2ºÀ9E ñVÙ8ò çú¥¡Dê+¶Äû›å\9Úƒ_/p#”a‡›»xt›†j¥oу!'U6Ôb¹ú[. pØ»ù´œV§0rÇ"QTuHN(1‘•‰ñM¬ïr1-ÁërµOØN÷ûb® çÄ»d» ¹Tרæøý8½5WªZÌðÝŸCŠkˆ¯‹b ”L‹&u…õls2éÉš ßÔmÕ´®l1d¢ÉÍKÑI›„$’QÝPó¼­d­GBÊnêÔ: ½»bV,b EÓc.ºžg3]Tò(ãïoÎ"§[R[Õm?v¢¦ÅÐI 4t»‰jB·Œ˜a©r¥ã$¹T|ÃÜ¡`Ô¢ÀLÇ =—–—L¬‰©"D¢¾Û,9'âÖUNY (W]½Â-—£á9NU-ØøÏþ§a×9‰Ž£µ­â«¬›ãzøw™#•GÑ—Ʋ‰f¸g• Üw†‡N“àMÝ’þ»A2P_Ž›Kg‹2ãHÙúó¹n¦å„P;A?ÕŸÇjœ§à¾Ò,ý~2ŽOš¨½²¶/ÊÃÎMÌx’}˯V!ªIj zØn7»²˜_­Îpœ~L³€rÿt’Y2×›ºXo–Î(ŽA?eíEN!Kãvº·ÒpA"ÙÌ×ÇîutÑ´y!¨4¢ÃÌ`›äñçÀ¾êkã‘: B1 ÙYÕƒÞô(CŠÊÿjùdfŒN uÊz˜s#~¾þŸðá°af³¦°q+ï³þüÿÛGäendstream endobj 6 0 obj 1038 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:20+01:00 2016-01-27T08:26:20+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001362 00000 n 0000003245 00000 n 0000001303 00000 n 0000001143 00000 n 0000000015 00000 n 0000001123 00000 n 0000001427 00000 n 0000001681 00000 n 0000001616 00000 n 0000001548 00000 n 0000001468 00000 n 0000001498 00000 n 0000001763 00000 n 0000001822 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<56F0B594830611655A1401DA936A36CB><56F0B594830611655A1401DA936A36CB>] >> startxref 3399 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.pdf0000644000175000017500000000770512652070425017127 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}×W Ò‡’†¸Ú]Þ{‡-”Ò’*Ñiƒ¸im±áE©ÚnÑOê?vvy“丆KÚîœ93ç,?% ¨ük>×Ù`´pá®P¸|0µ ÍÇ:ƒ×xr!ºÔÏ0p9¸¾I<¢lÀ]bá—ûÁíòzÎæÑêr6—Q4¹ f×ÑfÞè°>ìÓ•ˆËÇU)ªbWé·)¡ÔÕðGRä%üÏÓúïÑÛA g˜iˆ|DD|[‚2ˆÂ6ë_c¸Ëlbû&6í*У?ŽJà”XÔƒq¹M%îg`ÿP%™(Ü{¨¶ÖEž‹u»m\ŠúÜ# "1˜C<•xù~:›/'ËÓô*D¥Ö¾JòuzØøNR3’ÿÈöÎ-U‘„µ.0àœºµÛ8ߤbø qH'¶$Ää±ì†a*S(¢\âz”zÍF‘ßµßèß~¡:ù7*|,/“y4™Me4¶‡Ùuw¾Pí<îÒúÄkÀ0ÂUÊbHIå¶8¤Iv'¹">‹’ì)|€k¥ÀÝM‰{qÅâ4-d“8¾î»Äv›Òî«.9“ž×æg¾]­o.ŽbÝ_¨ ™[•fr ÅÙk«)ÅþO¹\ØŒòú4JLZŸ&öêáø“‚dî¹~Ã‰×Æˆ¶I©"pÕl#ð¦Š<}„4É’ª<¾ß’ ð ä$Ù.ƹ,òµhW›p±!°•Äó—Ø#(E“áqâ˜vW#.ój —÷IµÞ6ÅÃFÜêLÊ”q->¤|Ô¹üiºÚ!I+{q„«Õ‹&¥m“d~ *k:¥’G FÛAû°V­í$ŸhÿD@Fû@ÛŠÚ=HÓ`äm’Ã!OŒ4ùÔKÀâÄjrˆ²ŠÄSÖl<–•ÈÊ!¢LJÈ’»mëø€ƒP&w9â—œ|€+ÌŠ²¬¡uµp*§¤>­7Ãél9ùiª#lÊG‡½£9+ÃG›9Ò0= <• … ,çD‚?6Ò³-O=Æ2«­h|­v™´Ùƹc¶ª£Žˆ#~QÅ®ëšVG0¶ò«›/–©@0 Ó¸M5'Ô®G~Á¬KÉMâÒ¾ñ³ðÌ)µ0zã4}GðÛøjÏ9noöp!-¾?rÖ$OÐWã“ñhÀÉí&#ðöúGÉnú =ud¹Ò;1~ áÕ¶ªvߌFBGÞ±¦ög»Tu‘½’™ä4^?º@ÉÍêDè¨Å-JŒub‚‹"ið½„â¹û€£%uÃ6dGrhÖhØapK…ææ8ãNìñVÌZ‚êèŽ!íŸfðlÏ{raŸ4M§¥3~ã~:(qìã$¿ž„“èýik‘VÓÂý„´÷P}Íø­ý÷wÊÌvZÃFÅ?(_gdD‡Ö¾¸¢ëÅÞéÌ´ˆï0òup¦â£ûn!ªÃ¾y© V³Ÿ_z[‡ËYvvÞ™3žA¹¼šë¢”½ OÂ> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:13+01:00 2016-01-27T08:26:13+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001547 00000 n 0000003430 00000 n 0000001488 00000 n 0000001328 00000 n 0000000015 00000 n 0000001308 00000 n 0000001612 00000 n 0000001866 00000 n 0000001801 00000 n 0000001733 00000 n 0000001653 00000 n 0000001683 00000 n 0000001948 00000 n 0000002007 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<16D7D1BA82E0160FF84C0E0D5DADE88E><16D7D1BA82E0160FF84C0E0D5DADE88E>] >> startxref 3584 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.pdf0000644000175000017500000000726312652070435017166 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…U펛FýÏS\©p´žÌÇZUrv©DÊ.ŽÓFÙʆ]SÙ°¬hªï˜; coÙ22÷Îsï9gæP€ªO÷ÜŒ÷ žkƒÂ³ñÍ`mºÇöbLpÕ‹øÉÐk8O׃ø`˜·«EÍãuMâ [)<óâÔœpâïÆWó¯õrîûwë8¸÷Mñ8í±Ú¯³¤~]×YS¾4“)·<â¹ÒÄ?yYÔpVùŸø£!˜K„­+_×S›O)á Qm´‡ ‰'î©pñ`Š‹ÕÒ‡™Ê¥*I"=Ñ•¼÷Õû¡]N‰E˜2®ÂT÷q†IHB™ôFPà?Àn`_¶ˆ9‘í.¶Gœðïõ°» 6£¼ ¼dY ûü7Ðä‡ ^²*/S é¼ìË&n»pùå!š/ƒå=6Û!7É‹íþ˜fð›šù{õCv¿«tnAñ;Ý×¶ÄœKZÛ¼Û%EºÏnÎI–¢Ë à{/ž¡Vݨ6'¿¶£¸ Ä>Ãç/oÁ<¢‡ŽD&5‡oô2OúñyÄ•zv¸‚2ÅY×hI /I•²&«ÚV‰­r¶†ëf[L¯üj’`Âm,À¤Ùl[¨š—pÉûòmñ²h’uÙì2MQ^@q…M†_‡Æ£öáh$Û;i£´¡âúí.ÓÌ2ÚcjqT–ì‡2R¥òÇž”0¸bíÍCïfI‰Ûµ·ùTV-ö}¾©’êš°«:O± ¥Ê²„ú^ [xÄê…=0Ã,q/ì"…dSV ¹Ö²°(V:—¤å¶ãÁTv"Ëœ­Ú(#}©íËmô‚ކq`èR©Éqaõ ¢7æu²Ùgo˜k$Ìù¢c ·k‹ÛN×Ö”*½vnQ Q¿5Ä¡öéL¹Â _"zá xfûýOpøÏîç¡2‡û¿æˆ£ó³…uî0ï¢nlÒu¯G ;ã@M×jÛš}†á¤D"lÉN”áìCñ—qoȇ°p¡µfíWï © ªA*¯õõ(¤ƒÃŒaw/üxµx€Ï¦Î!›™³på_hül6‹¬9Vݥ⯣?2ó¥ïÃ,\FCÚ¸ÞÈsè¤ÑMÐzî »õ²hýx3®[ÛÃ$NÕÕ™­â‹9S¼X¯kMÅû 'eáÓÖ(ÑËêDï B'S&¥gi2> à”Y-P«ÇÆT)?6>á箨ÿbendstream endobj 6 0 obj 950 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:21+01:00 2016-01-27T08:26:21+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001273 00000 n 0000003156 00000 n 0000001214 00000 n 0000001054 00000 n 0000000015 00000 n 0000001035 00000 n 0000001338 00000 n 0000001592 00000 n 0000001527 00000 n 0000001459 00000 n 0000001379 00000 n 0000001409 00000 n 0000001674 00000 n 0000001733 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<87642C5FF67C395D1C4A97DF0D1C1AD5><87642C5FF67C395D1C4A97DF0D1C1AD5>] >> startxref 3310 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_HEADER_SIZE.30000644000175000017500000000336112626067776016245 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HEADER_SIZE 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HEADER_SIZE \- get size of retrieved headers .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HEADER_SIZE, long *sizep); .SH DESCRIPTION Pass a pointer to a long to receive the total size of all the headers received. Measured in number of bytes. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.4.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLINFO_REQUEST_SIZE "(3), " .BR CURLINFO_SIZE_DOWNLOAD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_REFERER.pdf0000644000175000017500000000772012652070442016055 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}×W Ò‡’†µÚ]ÞÓ  8t£D–TšJkØ…@S+‹)EʼÔM‹þA¥ÿØÙ%)Y²C€îmΜ9s–÷@ *í3ÞôweÂ]ï¾ÇÔ$´xoB\àÊpÕkö0p88žA\ÂMϱˆ áCïZ;›ãé,\þ¹øÁfÜè×EºQùyQŠ*ßVzŸ[”Pêhø’äY ÏmÓ ß÷ú”p†1b„à!âY…aC8îi“¡þ-¢ÆYfË3Y¸ìi¾~z„™SbRúŒËi*‘…ÿ±Aµð. gPˆ•(Dk-EÑ÷(~ô™-³Æx—W“éìrtyU-Qµo’,N륀ï%ùGÖ?ÊåÜT‰H4qŽ Ž©ºQSp²Ž²e*N‰:…xpò°F´7úwHÇWp¾õ/Ï‚Ñ,M'26rˬ†Úg0Ï"¹F‘ë×j¨¥ÄðÅ_YBÛ<É*d©Êñå/Qä€o›$‹*±„²*’좶QmDÕðÈQ3Ž<•Sv[³kŒtîzÄ¡–V=¨Ú«Øœ›n[Ù$MáV@]âù´+YÐTëu[.H25¼®ª­J”›”¸Æ^ÅSYâ¾e…e•'Ôj„3 aº‹É T§díl:>r„í!Ž=IÝ @ü_‡³±ÿ%KÙ›œHÏ€YG’%hÒ”~•Ã$«M®@;þ]bWûkí©åÈ‘½Õàã^É^z=¥VêÚŸÑf› ç›W2’Ôckfƒ´lÔ¤åKð Píu¶Tí•&ÙïM«aOlÓ(p2@D Îðäe@;ïû¨At›×ÕFuµIî#lE±Ê‹MÇ4ÐþŽíŸVt–ë>¹‚Ê%…iª’ ?Âp/ Jl‹uö0ߌƣðê¨UÐ_d>®ìµ6ZÁ­Î<â¹&Óê$­Tc6—SYo·yQ©Œ¾ŒéZ üpLà£Î “x6Ó†ã¹ßîz*)›Pº ˆª.ÚkÙ_L?@²:ˆ X:‘E·©Xž¶‹æ““©.㸖©ý2YLÕ=#wfyuŠÆ¦·jlž‡‹éù⿘H<'Vc.áfçœW‰Žî¦­ªƒ+±eµ¥«Ñ™Ž|yÜv5¼t’¬¬W:ÚŽ8Ú¿q"-=n åEGžaáwŒa=¾Ø}†ãËé¾W)ÛïÌ/ý`¨[m´ŸüIxÄ3“_(_)Ã<=<ƒÚv—Õ3&{ì¯ñžœÖç'Ì€>w-b7ÓäV„C ‡P½Ï,Ë3‰¥1Þ×pÊLÕÜ“Gùaïgüý— \endstream endobj 6 0 obj 1227 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:26+01:00 2016-01-27T08:26:26+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001551 00000 n 0000003441 00000 n 0000001492 00000 n 0000001332 00000 n 0000000015 00000 n 0000001312 00000 n 0000001616 00000 n 0000001870 00000 n 0000001805 00000 n 0000001737 00000 n 0000001657 00000 n 0000001687 00000 n 0000001952 00000 n 0000002018 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<118AB80C5DC1891386FFDEAE1512B0BC><118AB80C5DC1891386FFDEAE1512B0BC>] >> startxref 3595 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.pdf0000644000175000017500000000750212652070454017077 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ}VínâFýÏS\©?ÖDñÄ3þV«JlÖQé:˜‚I»J*ä5CpklÖ6Ay¨¾cïŒÇò%$Çwæž{νgø¡`ˆúM·ƒ«™ õÀ€ÇÁ•/Aý¤[øc€'âõ ÝCÁeàú&ñ|ˆ·Ó&Ìø0¸×®³p<¹‰–ÁÍMpï‚%®Ð Â(æKŽpˆo D&fÚd4ü„à[jÛ7e¼h·Á0þç?3ˆe¸ S&^ô;˜á?@˜Ðl8äIÝÀ¾æ+Àõö¼:"ЩC<™pþmMçãùyZ"Sj?eEšïW~|\‰/²ùU„3KV"à¤%¼âëA¾ƒ‹MR¬r~ùc—n’ ..pûîaø3òòÞ/Áüz6žÆãh"0 ÉÔn9~û41’eŸxvËñ½V×À®ÌІWДø At+ø 6ùzÈ,â{¶¥­yÚdÌ-fZÄU:Ä”R=qX!PŸÔ`JéYHdÌ1QЛr#såÖqiRó^Às¹ÿtV¯ëbcPÖ¥sÔ.LØ×Œ¤Ù¶«òÕÿŠu¸žïYG”j—gß…€‚Œu™ç¥T˜x"³aÚ]6íPõ)Lbº] ¾Ê*䥾„¬mò O"Îñ‰K ¿O©FWÏpàyEÙÀw.¹®“-Ç]Ì&†aùZ’ï¹(jÔâ5ÉøÕŒJkH‡0ï8 ²á¢iÜOâY[{†BÚRŠv-Þð~P¤qxÄ3OšèÌsI‘rÓëŠr‘RÁc×?‡ ëš&‹0„RõUV< vwU¦”dv«’‰%¨£´§Ó–¥½VZÃaË·%’&¹]Ìc˜D"Vì¶äA82¶á¨øx݋Ĉ{Ö–`+ÎARa§×°ÆÇ•l6‰Î4BûÜyDæ4Éó–‹£ Øø–éwô6æ<)ö»·„ÀžPáe!•O˪âõ®,V‚&é­m×FœëĦ3Ũ…UŠ‚-4xWµ«Îˆ&ðG1DGV˜I\ÃéŒ÷: _x N‰ïš–uì­ßâxú Í»ZÞµ¨à¯Ñí4 ºqõÞµ§8:#ªüIû"—1½íy¯®ÝòEä1†mïî`Ô‡–Ðì8}‡ãøÛy…xó˜æ8Óx´Za ?¢Á|\è½6 âÅlwCŠ-à;T…‹@Íèëz1ž7ûJ]Á2ú ÙZŠß^©ÕPïw»²jøêRzp¸˜|ÅV7míÏÉ2’Ö/6¢m•ëýÛ-`ΣóÙ>…ôòÒ’ÞCm_+_Ôá w?6¹ìéË–áÇ9ú{0šxN½Kåß™ó£tê{µ51—ÕÂë\Űˆ1Ô©m1OcŒöÀ¨DiÛ˜Šs‚xð~þ•êTåendstream endobj 6 0 obj 1092 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:36+01:00 2016-01-27T08:26:36+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001416 00000 n 0000003299 00000 n 0000001357 00000 n 0000001197 00000 n 0000000015 00000 n 0000001177 00000 n 0000001481 00000 n 0000001735 00000 n 0000001670 00000 n 0000001602 00000 n 0000001522 00000 n 0000001552 00000 n 0000001817 00000 n 0000001876 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3453 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.pdf0000644000175000017500000001326612652070446017214 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXÛrÛÈ}çWL6]ä3À¹Ti½r-wiQ!o\VJC6È(EIåü+ùÇœžÁ”íl©J´5—î>}út?3› fÓOó™ìF'—>»«F6»} ½ÈšdÇ~Œ°! ?D›‘9#˜/™:<Y´9—‹G¬×W—‹åEt³Z-nÞ]Îß¼ÿy¹Š®-çzÌ’}™Ý¨¸zº©T]Ü×ã©ôlnÛ¾…ÿ¤E^±ïœÿ#úe4µ¹0™À£ñÐ#§œ‹#ëütüA`UxÜ 8­GÖÛ³qôq‚´¹kûl*$-Ûßó›ý—=Œ…g©2Ý<±z«X¢Ê:ý’ĵz¡=’Ü#ƒR<Á*'ƒÆÁ ÌÂ+Þ)ß=+NóªfÛ¢ªõ-ÑL¥?ãþÍx ï[½?_^¬æ«Ã0t‚õÇ4O²ýZ±?Ä'ô‹oÿJÛ¥«‘¡è’ŽSp­—ØËmœ¯35ùFk§#> ›8'Y§ÏýÀ¶»8‹ünÜõøO_‰Ò™Iîúƒ0:[½¾œ_Dóå9Ý‹\ Ϥú+!_Äí^‹|Åb–‘õ¸b÷q ¼kU²ê^%ð#Åß·qÍêÂ@)ì–Õ3Ÿ‹6¬íôg$÷ga»ƒkÿDRΧ„1mÓŠ&³5ÙÝ¥¹ª`Q8%ËÒ[B_ãÂmáΜ/ØPk—À­J•fÑö,j®1ܹ)Ê£õ0 õT¯~Ê‹±ô¬Ç1ssôòƒõÛVå,WÝuwEÆ5!-V ÙfH1KŠãæm|PÂйöž@ßó€¨{ùAÄm[K7 QN¿R­U(F‡{¾<ÅCÁ£šni®ƒ"Ù ¨‹{UêEÈš¦š4âfhO…±úš¸$*¦ ÿbJ.¤×ú(„ÛA¿%ÿjPP­Y‘+*%cüu±ÛÍsŠà‹ÊÖ„tÌVûÛÀ™f(¾œœê6è Cí&š!ƒâ:Ù*ã! t‹S5òÐ'½.`]ÇÖ'^ËК©¦qø°\rf&Ÿiµ¸#Ù“2h·•O ¹¸ÍB¶W”197tgWmÝ=kÂÅæÛCSi–±RÕûâ’3U–„3´ƒ h”îA3ÚqÇÏšÆä’¾$/jv ˜ÑgîÔÚè§#C> zÎÊáݼfã"äû¡EJ^ª±„(…ž°Òb_¡D®)u>”ÛÚ%—YªJŒ1Ô÷v,mSìû»ÖÓbê©¬Š²†ÜÝŽL„Ò·öu#¥y¡›éÞþþÛÀ»5B€™ÉÏ•¾­)M2»)Õç=e*^“(‚÷eq‡Þ³ÃE»´ªãOc´=#ù¨ñ7{ªÚþXéÁGƒT! ÜtQ‡8é¿ÐA~$u«K×ÃáÃq7ø:í¼aŽcÒ”xÜt®fWÓºÀ8Û=¤ê!ƒ\ÈŒí¿“«®ïü^®Ú“c¬öI¢zN© ¶‘:øøíñ»á½N/EbŠ®Ä8ƒi9'TÂrõµÎÙUÕ4‰ø6ͦڢDŸrc™¨Ÿ£zË’xO~þ¡®ˆ®]«N3uÛxŸÕH0Ú².ÓÀûé€ZW§Ò@?œ€G]Y…zQÉ'Mª^.…©nGMU¾Ðžð™Iðºa(éûM]ƒCÝ;<ëøÃç[§m­¡äq§;H7`»g“‘r¿7È£þ.‡ûŽ'ÛA±oÍzà)öPSèDF³oGþÀ8ᢗ5± 4kãDÕí/÷¡BmøE>m:7FÖ~ÜG‚ CachŽ)ïAZzÑ|>¬\œ]vÊg.ÖpBî¶tås´gvÏÀéDvÓOÑpTtF1ᘼ0rF²OÁ,ôZ‚†&.'ðۼضl& z[œ¯ô˜wÊÐïºÎQX/ǵ9¤¹›´ƒícgC¥£ÿReñ¬ÿÐÈß„ò›sÉ›9„›ã¬*'=`‘­‡Iœ7¥8Œ—K¿Ó«XÈ•eºy¹±;|›à}È!‰Ã·É›Æ€çj:"!4©¹éôÊè*U3wÉ™Ó:°èé߇G¾ú¾ï¸Ðò¹úÁÓúpqÙ¸à:¦"ãÌor9•J3‘.#¶ì JÔ›=kŸÂ¯—‹£W$|á„{(w§èFôN¸+T8ÚY]$УWìç(ºXMØý{þö”>.–>VoñG¦êä+xÄqö÷Ó·‹£Gùàig^¤šúX—gÑÕå9{7¦âgÂ:]\5§ž³ ûõ e¾s:»YþÊÒ6­é¦¿‰V³ãêü×óåØñ¬ßÎo–ú[ :ùiúÝí¡8ÍííkŸ:·ÇSáy¡Ë=Køì—}Î$Ä\s»Ú„ÑY4ú~þËXLendstream endobj 6 0 obj 2178 endobj 14 0 obj <> stream xœ}‘kkÂ0†¿çWœ-ؘK›4ÕÕMqÖµq0æ(N«8lÝZËØ¿_zÁ!Â!$yÏóžËLÔ«;7êGö%"°G_ˆ6ŸÐ› †ÚüúAïPCA2Šc_Î÷0ó@£Wk´ŒfáB'q}žm‡y"-s9œòþ‰¶ßôqŽÙzkrmì&;“Ë¡„u ë¦+ßÖ¾ÊÒüÜkÂú%]þŠa_fj06Ý ÚÌÅJ1i î’ñr>Ò“pž ¢ûåc0×âÒI1u[€e¬‹ô\yºÅ¶þ02edXyµÒá„€Cöm0˜Å៮Õ%QÖn«_AÔÊ/î.ÅÂïÜ›Æô®yÆN\ ¼ GƒÉ|^£Ìø8'ô†å0_b!Áž™kÛ§ã὞HÌ%&¶C=O¹Ø³¨„i•#ÔmÚä ÞñX 4z2ë}N™endstream endobj 15 0 obj 374 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:30+01:00 2016-01-27T08:26:30+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003137 00000 n 0000005107 00000 n 0000003071 00000 n 0000002749 00000 n 0000000015 00000 n 0000002263 00000 n 0000003202 00000 n 0000003536 00000 n 0000003471 00000 n 0000003403 00000 n 0000003243 00000 n 0000003273 00000 n 0000002909 00000 n 0000002283 00000 n 0000002729 00000 n 0000003323 00000 n 0000003353 00000 n 0000003618 00000 n 0000003684 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<903F1D7DC1E6F1D8912DCAF4D7EE322C><903F1D7DC1E6F1D8912DCAF4D7EE322C>] >> startxref 5261 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.pdf0000644000175000017500000000746112652070453017356 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UÛnÛF}çW Ї¹Ùå.ohQ@qXT‰,ª6° ×[‰”E2Fú ý•þcg—¤n¾,S;;sΙ3à„UŸî{¹1ÞM}¸¯ ÷ƃÁô!t_Ë ¼O0 P?$wF{‡ï€r„l æ‘Ð…äѸ1/¯§£áø—xq? “a<^\¯¢dnò¹Ëf·^È´ú¶¸—u^Ü•–í¸Ô,·u^¼zÙú3ùhØ”8 k.RˆtÝ;ƒ{Œ s<°Þ ØÌQÇT7üV( hŠ >ÕùF²,²\áN×mú#<6²Q•@ן}Ç“ÙpvŠB‡hæy±\7™„Ÿ”@ïÔ²úY…;BSè–%<p®Ïàí*-²µ¼xQBÆ!®’†ó5ì¤¹ÐØµd>ñJƒî ,îá­f;·~|†_à0<âø!š]N‡UPEcŸ˜Û¶é¾“t_5$Û–d„ _÷¢ª …m™µÜA]âÃZÁÁÿvr)ó“üÌá„ò°O!º_%ÔûhŸ¡aOËܘ+ E³¹Å" ò;¨WGM…í®´˜@’Ô1¿æ™ÌÐ:d»“ÚŠe$üÕk+çeS!ЇFV5dyV¼Q@ü€ø>ëpš›-ì¶¢7â>Ç&­—+˜›•”­ôŒv" —¼c¢;O’E2¼ŠöíngåÄiŒ„w@é^å¹E`°N«‹–{®@×Í®Pâ3øV6ðwQjO]A¹K¸ëuÕV!^On•ÖZ¨ú…T™ö2„>¡®<#?Èà ½LL5xYZ§Jù Ê[¹L›JB~¤.'Žhí B=·Ïwä3»U Ñz Yÿ»^Ÿ¶ž@‚­åV¨ÆÎb˜”QnÞ7YÔ­5+åÇÇ/+˜)ü#Ñ0zE1×'Â9Y/7fU—;å¡s›åEUË4ƒG‹Q3­Žè4¯ì“É´Áƒ–4q¼Þß¶ƒ ‡Z¿8x/ΉO½~%^Æ£³ud3úe9Y‹¿&Épµ@UnäwÖ\ôÇàj2Šúñ ^ÿ䀊q5Ç-¦úgÄáÁ“ o‹PEî«aÕ-4Ÿap`I‰ç²~@†£Áûáh˜|9›´±À'LY7ã>a!¯s½1§Qr=Ãg‹q\3£ë¨kÜSÊßÍ–šÙhêоú”¯«f»-wµÌ.´àmàõøÓ8¶¸kþ>^Äz»ª‹Eù}“Ì¢£Y| réü]b9.ÚÜ ÍòŒ‡/ˆÏÃ~hõ‚¹8M‹U=ö²W²F‚§êûŒ°'©løz²²úlߪ<Ø!m÷q‡¡Cºlvì$z€ ·€ûÙÕ×pû¡­» ê—(1~ÃÏÿï¼O“endstream endobj 6 0 obj 1068 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:35+01:00 2016-01-27T08:26:35+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001392 00000 n 0000003282 00000 n 0000001333 00000 n 0000001173 00000 n 0000000015 00000 n 0000001153 00000 n 0000001457 00000 n 0000001711 00000 n 0000001646 00000 n 0000001578 00000 n 0000001498 00000 n 0000001528 00000 n 0000001793 00000 n 0000001859 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3436 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FAILONERROR.pdf0000644000175000017500000000777112652070430016550 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}×W Ú2°6{ám(‰‚*QDU¢“vaÐÔJbK‘/1üQýÇÎ,I)VÒ,ywvöÌ™33û8ÀéÓ§‡Ñó•»zÄa7ú<fú¯ô/c4h!ÞŽº3| ~¨XB|]Y¯.Wóhß¼±}ÅÂPøÖd6ÓÕÊþ+~‹>]æ*<oF.gñ=žŠV×–º¶!m«üF'õÃM­›ò®±ÇÒåþÈÊ¢†“or%ù~çêêt‹ÃoÆjÌ™ˆ-Eè!Bg¡KèÇ*”LÁXytÜZLìøo Í {„Öû)­Ÿ‚–œ9܇±´Í;ð?Ù€¡ÒŸ[]7°µŽg%YÞVÊ~ã%Ôw¢†¿Ã¹~ØÃk=\ëO‹h¹ž­£3&™õsV¤y»Ñð+Qúœþ°ý 2—Hù|?ëp§%Úœ³~m¶àÙ>)6¹¾øŠwß9‹íò²Ø™¸(¤kû—§ ¿ž®_­fËx- (·KÏw˜䧼KÙ%†3E§îGÝ~—TÉA7ºÄM‰ªltž×Ðì5äÙm•T´¼%gÂG\Ž{òc$Hàù©lkþ5É1$Uºi«Bo «m’œ<–äIeâP.sœ ×ÍN›Å±#B&ep&˜‰¥,3ˆñŠîUá†VÒæ $)Éîí…«\«ló Üjº°Ca Ý%; EY’<è*‚&¥'Jä";2è3?àüfH‚iL„Ì –H”0&™?Òõ ?ñãF’÷¥a (›ŽÎ@0'p6¥ëlŽëd«D`Qé ©=M“Ú”ò½Y+Êb\·iªëzÛæ§" 8h“å9Ôyv‡ª²Ýí/ ÂþƯ)µð N3"‚<´xiÑdib¨DÀYa#D#&«ßë™øR) Y04”ü‹-,gé[˜ôkë œÃ… ÛÁµÍºV#°‘¢“±p%ÞÀ¡õ©ì….Lzš‰0ì/o;•):ef»};v]ÆCÙM åö:Ùè U^%E½ÕU¥I%Û‰m([uÖ´Çø7Xi£7X°Ù?‡®UÒC@ƒ,ôý Ã_ †VøIp>N1m†MåùLõC«ÉŠVÿDwV:ÕYO{»‹Œ*.âuÄí¨—A8(éÊÚ$6¶~¬ Ϫ±Âˆ_JlÈÛ,‹–Ñ:~¾¼ŒMR“,NjÖß"€qïIÖæT>X£2°_Y‡ƒÞd ö™H¶Ø{NåšT›ºW„ÂCØk%|$Mnº‘FØÚÓf@€9Dв•5]¤IK¡îIE¡»‘“0Ò¼D'¬?h¼oz \ìSD%Ú gHÆäÒì Æ‘³NÒSý|µæñ‘‡S£&6}ßWÇb¼²ølʾ;ŽP¦µ–}pOM‡åªÇ訠נôü¾ë%ãnhDÅIÅ|î 3ûU4?›‹Tˆ(0-êêO°5ýsò~9Ÿ¢ þwDÅ'B‘º:¯£žN7¾}}8!Yo#Ö»bŸ|€ÓSä¹¢ÞšÍ'/góYüéqp˜'åG ÎMš‹÷Y³‡§c½²VÓørµ€¶PX ž°&óËiŸªoCF{3…ºÙô&zGÓÒLJšEr›“rIÓÁåâÝ"²UßM?.n"3þé*…=ùØ™Na2_G§(ÎR0¼O‚ä|2ŸMÖÓ3  Ú{*Íó°›&Âwh}¬xȼ¾óg·ô"ìm>ã6¶slË̵„oÛ$¾ß dç(9A®¦ñèüü.#ó endstream endobj 6 0 obj 1374 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:16+01:00 2016-01-27T08:26:16+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001698 00000 n 0000003502 00000 n 0000001639 00000 n 0000001479 00000 n 0000000015 00000 n 0000001459 00000 n 0000001763 00000 n 0000001938 00000 n 0000001873 00000 n 0000001804 00000 n 0000001834 00000 n 0000002020 00000 n 0000002079 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<8ABC83EC0EF4BCB936EA4C1AA882B5C5><8ABC83EC0EF4BCB936EA4C1AA882B5C5>] >> startxref 3656 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_USERPWD.30000644000175000017500000000625412626067776015527 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERPWD 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_USERPWD \- user name and password to use in authentication .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERPWD, char *userpwd); .SH DESCRIPTION Pass a char * as parameter, pointing to a zero terminated login details string for the connection. The format of which is: [user name]:[password]. When using Kerberos V5 authentication with a Windows based server, you should specify the user name part with the domain name in order for the server to successfully obtain a Kerberos Ticket. If you don't then the initial part of the authentication handshake may fail. When using NTLM, the user name can be specified simply as the user name without the domain name should the server be part of a single domain and forest. To specify the domain name use either Down-Level Logon Name or UPN (User Principal Name) formats. For example, EXAMPLE\\user and user@example.com respectively. Some HTTP servers (on Windows) support inclusion of the domain for Basic authentication as well. When using HTTP and \fICURLOPT_FOLLOWLOCATION(3)\fP, libcurl might perform several requests to possibly different hosts. libcurl will only send this user and password information to hosts using the initial host name (unless \fICURLOPT_UNRESTRICTED_AUTH(3)\fP is set), so if libcurl follows locations to other hosts it will not send the user and password to those. This is enforced to prevent accidental information leakage. Use \fICURLOPT_HTTPAUTH(3)\fP to specify the authentication method for HTTP based connections or \fICURLOPT_LOGIN_OPTIONS(3)\fP to control IMAP, POP3 and SMTP options. The user and password strings are not URL decoded, so there's no way to send in a user name containing a colon using this option. Use \fICURLOPT_USERNAME(3)\fP for that, or include it in the URL. .SH DEFAULT NULL .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_USERNAME "(3), " CURLOPT_PASSWORD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.html0000644000175000017500000001066712652070415017405 00000000000000 CURLOPT_SSL_VERIFYHOST man page

NAME

CURLOPT_SSL_VERIFYHOST - verify the certificate's name against host

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYHOST, long verify);

DESCRIPTION

Pass a long as parameter specifying what to verify.

This option determines whether libcurl verifies that the server cert is for the server it is known as.

When negotiating TLS and SSL connections, the server sends a certificate indicating its identity.

When CURLOPT_SSL_VERIFYHOST is 2, that certificate must indicate that the server is the server to which you meant to connect, or the connection fails. Simply put, it means it has to have the same name in the certificate as is in the URL you operate against.

Curl considers the server the intended one when the Common Name field or a Subject Alternate Name field in the certificate matches the host name in the URL to which you told Curl to connect.

When the verify value is 1, curl_easy_setopt will return an error and the option value will not be changed. It was previously (in 7.28.0 and earlier) a debug option of some sorts, but it is no longer supported due to frequently leading to programmer mistakes. Future versions will stop returning an error for 1 and just treat 1 and 2 the same.

When the verify value is 0, the connection succeeds regardless of the names in the certificate. Use that ability with caution!

The default value for this option is 2.

This option controls checking the server's certificate's claimed identity. The server could be lying. To control lying, see CURLOPT_SSL_VERIFYPEER. If libcurl is built against NSS and CURLOPT_SSL_VERIFYPEER is zero, CURLOPT_SSL_VERIFYHOST is also set to zero and cannot be overridden.

DEFAULT

2

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
 
  /* Set the default value: strict name check please */
  curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 2L);
 
  curl_easy_perform(curl);
}

AVAILABILITY

If built TLS enabled.

RETURN VALUE

Returns CURLE_OK if TLS is supported, and CURLE_UNKNOWN_OPTION if not.

If 1 is set as argument, CURLE_BAD_FUNCTION_ARGUMENT is returned.

SEE ALSO

CURLOPT_SSL_VERIFYPEER, CURLOPT_CAINFO

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.html0000644000175000017500000000431312652070415017220 00000000000000 CURLOPT_TELNETOPTIONS man page

NAME

CURLOPT_TELNETOPTIONS - custom telnet options

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TELNETOPTIONS,   struct curl_slist *cmds);

DESCRIPTION

Provide a pointer to a curl_slist with variables to pass to the telnet negotiations. The variables should be in the format <option=value>. libcurl supports the options 'TTYPE', 'XDISPLOC' and 'NEW_ENV'. See the TELNET standard for details.

DEFAULT

NULL

PROTOCOLS

TELNET

EXAMPLE

TODO

AVAILABILITY

Along with TELNET

RETURN VALUE

Returns CURLE_OK if TELNET is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_HTTPHEADER, CURLOPT_QUOTE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.30000644000175000017500000000674512626067776017015 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROGRESSFUNCTION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROGRESSFUNCTION \- callback to progress meter function .SH SYNOPSIS #include int progress_callback(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROGRESSFUNCTION, progress_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. We encourage users to use the newer \fICURLOPT_XFERINFOFUNCTION(3)\fP instead, if you can. This function gets called by libcurl instead of its internal equivalent with a frequent interval. While data is being transferred it will be called very frequently, and during slow periods like when nothing is being transferred it can slow down to about one call per second. \fIclientp\fP is the pointer set with \fICURLOPT_PROGRESSDATA(3)\fP, it is not used by libcurl but is only passed along from the application to the callback. The callback gets told how much data libcurl will transfer and has transferred, in number of bytes. \fIdltotal\fP is the total number of bytes libcurl expects to download in this transfer. \fIdlnow\fP is the number of bytes downloaded so far. \fIultotal\fP is the total number of bytes libcurl expects to upload in this transfer. \fIulnow\fP is the number of bytes uploaded so far. Unknown/unused argument values passed to the callback will be set to zero (like if you only download data, the upload size will remain 0). Many times the callback will be called one or more times first, before it knows the data sizes so a program must be made to handle that. Returning a non-zero value from this callback will cause libcurl to abort the transfer and return \fICURLE_ABORTED_BY_CALLBACK\fP. If you transfer data with the multi interface, this function will not be called during periods of idleness unless you call the appropriate libcurl function that performs transfers. \fICURLOPT_NOPROGRESS(3)\fP must be set to 0 to make this function actually get called. .SH DEFAULT By default, libcurl has an internal progress meter. That's rarely wanted by users. .SH PROTOCOLS All .SH EXAMPLE http://curl.haxx.se/libcurl/c/progressfunc.html .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK. .SH "SEE ALSO" .BR CURLOPT_VERBOSE "(3), " CURLOPT_NOPROGRESS "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_PUSHDATA.html0000644000175000017500000000462512652070415016505 00000000000000 CURLMOPT_PUSHDATA man page

NAME

CURLMOPT_PUSHDATA - pointer to pass to push callback

SYNOPSIS

#include <curl/curl.h>
 
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PUSHDATA, void *pointer);

DESCRIPTION

Set pointer to pass as the last argument to the CURLMOPT_PUSHFUNCTION callback. The pointer will not be touched or used by libcurl itself, only passed on to the callback function.

DEFAULT

NULL

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.44.0

RETURN VALUE

Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

CURLMOPT_PUSHFUNCTION, CURLMOPT_PIPELINING, CURLOPT_PIPEWAIT, RFC 7540

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.html0000644000175000017500000000462112652070415017351 00000000000000 CURLOPT_NEW_FILE_PERMS man page

NAME

CURLOPT_NEW_FILE_PERMS - permissions for remotely created files

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NEW_FILE_PERMS,
                          long mode);

DESCRIPTION

Pass a long as a parameter, containing the value of the permissions that will be assigned to newly created files on the remote server. The default value is 0644, but any valid value can be used. The only protocols that can use this are sftp://, scp://, and file://.

DEFAULT

0644

PROTOCOLS

SFTP, SCP and FILE

EXAMPLE

TODO

AVAILABILITY

Added in 7.16.4

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_NEW_DIRECTORY_PERMS, CURLOPT_UPLOAD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.html0000644000175000017500000000465112652070415017637 00000000000000 CURLOPT_GSSAPI_DELEGATION man page

NAME

CURLOPT_GSSAPI_DELEGATION - set allowed GSS-API delegation

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_GSSAPI_DELEGATION, long level);

DESCRIPTION

Set the long parameter level to CURLGSSAPI_DELEGATION_FLAG to allow unconditional GSSAPI credential delegation. The delegation is disabled by default since 7.21.7. Set the parameter to CURLGSSAPI_DELEGATION_POLICY_FLAG to delegate only if the OK-AS-DELEGATE flag is set in the service ticket in case this feature is supported by the GSS-API implementation and the definition of GSS_C_DELEG_POLICY_FLAG was available at compile-time.

DEFAULT

CURLGSSAPI_DELEGATION_NONE

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.22.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_HTTPAUTH, CURLOPT_PROXYAUTH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_NOSIGNAL.30000644000175000017500000000510112626067776015576 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NOSIGNAL 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_NOSIGNAL \- skip all signal handling .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NOSIGNAL, long onoff); .SH DESCRIPTION If \fIonoff\fP is 1, libcurl will not use any functions that install signal handlers or any functions that cause signals to be sent to the process. This option is here to allow multi-threaded unix applications to still set/use all timeout options etc, without risking getting signals. If this option is set and libcurl has been built with the standard name resolver, timeouts will not occur while the name resolve takes place. Consider building libcurl with the c-ares or threaded resolver backends to enable asynchronous DNS lookups, to enable timeouts for name resolves without the use of signals. Setting \fICURLOPT_NOSIGNAL(3)\fP to 1 makes libcurl NOT ask the system to ignore SIGPIPE signals, which otherwise are sent by the system when trying to send data to a socket which is closed in the other end. libcurl makes an effort to never cause such SIGPIPEs to trigger, but some operating systems have no way to avoid them and even on those that have there are some corner cases when they may still happen, contrary to our desire. In addition, using \fICURLAUTH_NTLM_WB\fP authentication could cause a SIGCHLD signal to be raised. .SH DEFAULT 0 .SH AVAILABILITY Added in 7.10 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. curl-7.47.0/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.30000644000175000017500000000501312626067776017627 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "17 Jun 2014" "libcurl 7.37.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAX_HOST_CONNECTIONS \- set max number of connections to a single host .SH SYNOPSIS #include CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAX_HOST_CONNECTIONS, long max); .SH DESCRIPTION Pass a long to indicate \fBmax\fP. The set number will be used as the maximum amount of simultaneously open connections to a single host (a host being the same as a host name + port number pair). For each new session to a host, libcurl will open a new connection up to the limit set by \fICURLMOPT_MAX_HOST_CONNECTIONS(3)\fP. When the limit is reached, the sessions will be pending until a connection becomes available. If \fICURLMOPT_PIPELINING(3)\fP is enabled, libcurl will try to pipeline if the host is capable of it. The default \fBmax\fP value is 0, unlimited. However, for backwards compatibility, setting it to 0 when \fICURLMOPT_PIPELINING(3)\fP is 1 will not be treated as unlimited. Instead it will open only 1 connection and try to pipeline on it. This set limit is also used for proxy connections, and then the proxy is considered to be the host for which this limit counts. .SH DEFAULT 0 .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.30.0 .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLMOPT_MAXCONNECTS "(3), " CURLMOPT_MAX_TOTAL_CONNECTIONS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.pdf0000644000175000017500000001713112652070427016757 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµXÛnã6}÷WèCe#fDQ¥Þ€ìÆÛf‘:i¬ô‚¤d™ŽÕ•%¯$'›-úý•þc‡7ɲ£‹n ŽEræðÌÌ™QÞ#d‹ý™,{ÇW ÝW=Ý÷Þ÷ˆ\Dú#Y¢WlăhÞSgbb!ÅAˆ¢eÏz}}u~qÝŽ^õ£?zÌÆ®o;°1šõ¨‹‚¢ÇÞuýý›ëñëèìb|kÑÛ>JÖevÇãêé®âu±ªûCÇ qR ¾¤E^¡MÿGo{Ô±…OixÛœð<´±CSC€ŒCO Ò`ê¡!õåÉñ‰Øl‹}ÄÃ^HµÅGây{[ðæÚ ‰#–mu‹ML€6p Ý€‚þA3>íÃIÛfÔZߣ$βiœ¼“Ø‚åƒmÒùä·ñÅåälÒ… ·H÷ÖiždëGßâŽÅ/¼øNlw\÷¬úiÅg|Žx¾^¢?û_ö¼æ¬}6~sq~зÈ>çÄâyaOܬÝóÃèättuw6>BÇ0㈠@…€š*2h)ëêé± q}Lƒ]ßÚîÅu$³D[ªà’êü‘4`ü9˜6ÑK§õèØ]ÅÄÝõwªV1!âO C<ðÔ‘YiDh#쓹ò^b‹a¢…æRLiâ‚ú˜øŸ›eX$‘#ʬYíòÈ:<ºÏóè:8tv±N&ç[xÛæžÏƒ|ž?ÚáÏ;˜K¦á'bú$÷x#4b4ð²ve2Mþy˜ì©µÑøtÃÁ°ÝñWÒb"˜ÑÐT•Ä4Ÿ¢’¿V¶õúPÔx£Ai^k™…¹3 s+]£Á"Îg?’ ]QfÆo²i‰_R¬d—h0‹ëøÊݪÒü®FâC|¢* Z|“¨Cl§34XW¼\Õåm_Aö¦¯’ˤÕÚVû-´hKWCÇ6tUÝÆoîrc™%^Ø!Pì*-µR{:š¼¾:»vu× žj{d÷2n‚×öL‚TŠÑª€HðÕz*Öe£õh¾ÎÑÂŽÐã"M¨Zël†–q _êG«²¨U`©ïxÖcŽâi!¡7x(4OÏhãßÀáÐxôVƒØû‚²n ±D¶Ý;cM—‡Ì§kªL¦]ÉWYœðJÞ ª!pq9“‰HDÄ<"ú¹:‚´˜Áõy®­7Hjš:4ð~] e4¨M>hkþÕÅdÔtø¤ ,5•]]JsÄç‚Ó9OjŒ¢ ‡rŠû'uö„йŒÕV6ÚŠ‰…ÐÌ.+„5 â^ Ї-v=˜ÚætÈΈ8ô2(db­f_ì7Úkí aÐöm­Ú[ã&ÌÉ)ª=ŽPªŠßH9ðU/ö‘ÂŒ•r} SS„”ÉBS/$j¢h«Ìn:ÍÉ £oæ&%„`¹²ß:¡/^=4b&`j&x@­¤CˆýÆ‚é®Y<ÍtÃjºåƒ”8[óê+ÜœlÛJgÈÚ.r#‚DÍ )PÄ$©L4ÁÊÉΛÁî`~Èø‚Ç3ˆÌ­U”úoÕ&Áü0Kß5àð&ÏìSDAÝTD=Åtõp6ïDªé UK•(ü{úz&M¡­ù‡.¨'³ÏvÃJd®šuèÿ=« ]W͹›¢Ó¹Š’"ÛŒÄæD"ÞŽ<ï¥A˜MáEÐ!ÜËÀÍ ö„ªy¼>ßÛÀÐ÷aä²€ÁÙqt>ü›¦y\>=Ÿe.ôÏ}qè:Ùö!ÿOÀ÷¤bÓn_ þ=È'èľ«È¸±²t*ÔÁ›Ãv_¼Q…0úZ„¡·ë9pZ½Íøæ_5D8E½Ÿàç_ù•±üendstream endobj 6 0 obj 1645 endobj 14 0 obj <> stream xœ…VoÛ6ýߟ‚†rl†ÔKJâ iãl)¼¸K €U®$ÇZeÙ•äÚÙ°ï¾;Š”í4YaÀ’ÈãñÝ»{G~#œ Âñ§žÑ¢uvï’DzÅÉcë[KÈI¢Ñ‚¼ ÀÀÃ`Öª×âšÄõ-æù$X´è»‡ûáèC0¹¼5‚¿Z.gv›`Ä-Ëfž Á¦5¦¿Ý<ܽ nGw!µBƒDë"›$ÓòiR&ÕrU]Óö™ï[>Òe^’}ÇŸƒ÷-Ë丧tüÜî|vïPæ;ˆµkù‚YéZ=i=¸A›.gŽí‘ j3_ØB¹»z³‚qîâ¬p˜Ù³\5; p–ãÄŽ p%\×µlÒ¦4»{_Òƒó¤É‡{…¶$ aÃ>®b«k2îøHdÔìiZÌå=Ky7~¬wi掫,û ŽÁ§«?> ‡~¤Eí¡¬¦U)¬¦D ÿÃý¾4NjT>¸’ˆxà4&ñz± iÉ«H4Ÿ¤]%„èû¦K·UG¦©mö¹¹H»¬Šdºèu^¦y«Å«ª@&s$(&ÍA§lÈñ˜çùž­&Ò¿“IEJxÔ5{LøÍ~ÿà ³ ³¶O/pXE"m°¤yE6i\Íû|+8Ι¶¤b¶*`nR ÿè¸ìc`\ð,&_žª¤$!åÛcÀ˜mC# ó£®çÀ˜"AV…y¶ÌC¡~…Æ…¤¯‹«ÀŸ-‹¦}~AÒK´çi¿ {ë pmfgÛsr´Û)Åm‹³6)ç˜kÅ>Ô /|­¾Í\•†pT»Í$‡,a '[Rí§ÏfN¯q°¬š_¦ÇÅ^-ÑyB²dV‘ö™Ü¦g1r¼‹ÃŽHŸ@๬†×ÓÓ£N!àô­vEñ¿œps‹„@íaÝgÅGw·&ÉÊäÀ‹#1ÏVëª é,ÆYøBÌ\É Ý7¾Ôœöø¯âbóSÚãkû”Ói5%ËœT@\‘>Îæ,õ¬W˜Ã—˦XÞ¼!‡D)>"Ë(£jv~M˜\/×£—|ëÁà¯úûü„p,pa÷èI‡ìÈõìèrn¼Ÿ€Pöí°’'† ÄslºÉÒ<Áõò}ŸëNv¢Êyñ4©Ši”„òð"íù43Л<“Ò|¶¬žV Á?”«…¹ÐNëÎáRîºMg¿U¾Ô$±=¶×eR¬Tc²MÐÉËmiüC …!:DÍYÐÓ~7„_·Öe‡F„$kU$59Z ®ÔiÑïISF>h¯éžc ÜDËÅ*Í’‚l Áé´ÈÓü±!ÛóขªÓ ¨Ü¤U4‡Ô#WZ|ˆ.š–‰<ÀoïnF“`ð)0ðtÇôKW/j0NŠýŽïf:ºãíaæçš×~ŸÜBÆÎÉq ²ÅÄh™õfYtÃjœÌ ¦ºÙN×YuŽ\¥9‘`§XbˆLmîùx}Pº[¾¢;¨Ã´Ä¢XÆë‹j‰ú¾’u©5è^əзHªu‘ƒu¹êê?äì÷ÁÕõà~2zx•¹g‡¨ú¨ÿ ù˜ä1™'Sàò¨®útô®=qnv­n?BÈÐs,]-0jÊ+½ ÈÕŽ9B_óÆTât¸‚Øõ•Í›c^Ý^…‹YS`»6\B m)N²ô Š’¸Ìr7ºÂq|8H¨pÉûuNLè)r™Ý\L„8ZÂï?ózÆâendstream endobj 15 0 obj 1300 endobj 19 0 obj <> stream xœ¥VmoâFþί˜"UYG°xýî\S‰$¤åŠB &U*ä˜åð±9Û\šVýï]¿B"%RÅ‹ÝÙ™gžyfv¿‚J¨âW~ƒ]g0³áSÖQáSçk‡ÉM(?Á®<4pÄ‚·égØØ®N¼]‡\/f“é¯Þêft¥xŸ;¶J KÕÐÐ[wtƒ: ¼§ÎYüt»¸»öÆÓ»%Ñ— ‡4Zq?{^eâ4HvfHâ:L_ce"çQQø( ÍØ$Q”´õ£¡¾m£ÉSÚÈ^§ªY.—^qØŠ,„4QÛ}?ã·ÓÉdªè%èß'Óë¡Â#ùEŽ”Èï-_øéAw›çû‹Áà5&ÝÊ]I6jëHL{žn’tWÉGÐ+X½Þòà 2”öX’f"Ù³BgÂÃw—Âh5ýÞõfŸb+ YÙž¢ vMœ)‹½nM®KU§nÍvÆ52õõV¤æ‡__À÷Ùrw{ÅÍa¨Eßד®a-O%~‰z©TÝ8úBDk™«ÉEq¿‹bÛ´–€ßHÇx}C“ç ‚ˆûña_‹À¡n{^4JÆàWHk¼¼ƒ8‹MÇ 3_Ô5ÅÃBÜØ}fQ§œ×ªQÌëûÖ¼ÆAd™¬B=ž ¯Æ“±÷‡Øo½Pð``€*èðˆ|^¼ÍFᰠδ‹M°¼f#o1»ƒ{…á3ǵN#YÅL¬À2“¼dµØ^j³@æ£ 'óicvâïd¤œ¡2jUw„|!õޱòR(¥úb„Þr,°!u^¢®[ߨæË µÜ¥ZCi½¯Y.uHdÔjYÍ1›ê6U•>3M× &a6|<Ä á–h K/}êÂÝÈëü†¿ÿŒ’ÆÇendstream endobj 20 0 obj 1141 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 18 0 obj <> /Contents 19 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R 18 0 R ] /Count 3 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 23 0 obj <> endobj 24 0 obj <>stream 2016-01-27T08:26:15+01:00 2016-01-27T08:26:15+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 25 0000000000 65535 f 0000004934 00000 n 0000006962 00000 n 0000004861 00000 n 0000004377 00000 n 0000000015 00000 n 0000001730 00000 n 0000004999 00000 n 0000005391 00000 n 0000005326 00000 n 0000005258 00000 n 0000005040 00000 n 0000005070 00000 n 0000004537 00000 n 0000001750 00000 n 0000003122 00000 n 0000005120 00000 n 0000005150 00000 n 0000004699 00000 n 0000003143 00000 n 0000004356 00000 n 0000005189 00000 n 0000005219 00000 n 0000005473 00000 n 0000005539 00000 n trailer << /Size 25 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 7116 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIE.html0000644000175000017500000001000012652070414016107 00000000000000 CURLOPT_COOKIE man page

NAME

CURLOPT_COOKIE - set contents of HTTP Cookie header

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIE, char *cookie);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. It will be used to set a cookie in the HTTP request. The format of the string should be NAME=CONTENTS, where NAME is the cookie name and CONTENTS is what the cookie should contain.

If you need to set multiple cookies, set them all using a single option concatenated like this: "name1=content1; name2=content2;" etc.

This option sets the cookie header explicitly in the outgoing request(s). If multiple requests are done due to authentication, followed redirections or similar, they will all get this cookie passed on.

The cookies set by this option are separate from the internal cookie storage held by the cookie engine and will not be modified by it. If you enable the cookie engine and either you've imported a cookie of the same name (e.g. 'foo') or the server has set one, it will have no effect on the cookies you set here. A request to the server will send both the 'foo' held by the cookie engine and the 'foo' held by this option. To set a cookie that is instead held by the cookie engine and can be modified by the server use CURLOPT_COOKIELIST.

Using this option multiple times will only make the latest string override the previous ones.

This option will not enable the cookie engine. Use CURLOPT_COOKIEFILE or CURLOPT_COOKIEJAR to enable parsing and sending cookies automatically.

DEFAULT

NULL, no cookies

PROTOCOLS

HTTP

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  curl_easy_setopt(curl, CURLOPT_COOKIE, "tool=curl; fun=yes;");
 
  curl_easy_perform(curl);
}

AVAILABILITY

If HTTP is enabled

RETURN VALUE

Returns CURLE_OK if HTTP is enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_COOKIEFILE, CURLOPT_COOKIEJAR, CURLOPT_COOKIELIST, CURLOPT_HTTPHEADER

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.pdf0000644000175000017500000000754412652070447017442 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛŽ£F}ç+JÊÃÂÈôÒMsS¢HÞVñ.c¼ïf4Y Æk"ñ–•|ÃþJþ1Õ ß’‘ecAwÕ©:§Nó ¡`ˆO{M_”÷‘ß+Å€ïÊ«BåCh/é |ˆq+nÄK¥ÙCÁaàx&q=ˆ_”Gõvá$žÇÁt¨Yœx.§ê,þm>ÑiîÊõ%¾i*I \sÎÍ“|7«d³Xg¸(ÙcΜ ]%%Ül÷‹'íç·Ê¹ó§·Ñh±€ˆ4R«añJi“äÀžG\«áwˆ-{E­*HÚäTØø2yÉꬔµ›r¹Ñ"œvúRû^Œ˜&ïcò†ôUž® Z»õ¶E¾©}Hü•ø'+_òMRg‹#ž îó,6s­7¢¥ÔAz]œP[NÚhþªX@µÍÒüæØçõJÄjȧF7Ä–ILfu3sB÷zÒ⇉ßÌ‘ ˜q¹Óö¤™LQöºËˬ„I}-+‚ç^×ILªK¹áû0:êu(³©5æ´º¿Ž‹Sâ´#*g°Åɺ*à9-iP ŒâÌã¶c‘}lÅe!óÈ5Ž·‡Á[èÙ|J‘9§uf›];‚ø ‘™Ð©ã8¨—N›ãY\B9Ñú$jQpS¢ ó ñÊ<:Ž“åÉ"ÃÂCNfǰ;Ÿº ƒ³ÉGØâà'^¥×k¡7ý9©„4Ë¢.Òb]½Ðÿ}x? ünÝÿĸÇGM1± º»°m¤åº—VŒôãÊC6ÑoÞ€ý ½-#5¶EÛ¦¨£`øaŒâ‡Ó¢‘!“cŽÓš ¬5߀ƒGáÿ_ë£ùñ,ÃWšèk6U‡ÁÌ?`_²KCˆ²zW¶—??C¾”ãÝJ3¯ Úm·E‰ž0hÍÆŸÇ¡&Ò IªßÆóPžØ¹)êes2áÏjxÏÃó{ÿ>Œ´wè_Ò)u ãÝ ?äš8J—µÜÞ´¢uìhfв2ƒýáXBkÌ7Õn©±ÖϤ9z¬²d‹V“¤¹âÚÔÁž[Ç‘ïÃ0˜†}ŸO;vŇºóRøÐ…±ƒ£«Ò §1¯mw…]‹¯$½±ÐöËy"Û$ì"Žr"¥ø¢àRb79Öù³8QO膦SËò8±T|Ïø´ÛÃ]ç‡ñ¤"–+_ðó/•ÊbÊendstream endobj 6 0 obj 1119 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:31+01:00 2016-01-27T08:26:31+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001443 00000 n 0000003333 00000 n 0000001384 00000 n 0000001224 00000 n 0000000015 00000 n 0000001204 00000 n 0000001508 00000 n 0000001762 00000 n 0000001697 00000 n 0000001629 00000 n 0000001549 00000 n 0000001579 00000 n 0000001844 00000 n 0000001910 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<759E955494F8F458F7F96495A3BCBAE4><759E955494F8F458F7F96495A3BCBAE4>] >> startxref 3487 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.30000644000175000017500000000445512626067776016534 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_DEPENDS 3 "13 Sep 2015" "libcurl 7.46.0" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_DEPENDS \- set stream this transfer depends on .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS, CURL *dephandle); .SH DESCRIPTION Pass a CURL * pointer in \fIdephandle\fP to identify the stream within the same connection that this stream is depending upon. This option clears the exclusive it and is mutually exclusive to the \fICURLOPT_STREAM_DEPENDS_E(3)\fP option. The spec says "Including a dependency expresses a preference to allocate resources to the identified stream rather than to the dependent stream." This option can be set during transfer. \fIdephandle\fP must not be the same as \fIhandle\fP, that will cause this function to return an error. It must be another easy handle, and it also needs to be a handle of a transfer that will be sent over the same HTTP/2 connection for this option to have an actual effect. .SH DEFAULT NULL .SH PROTOCOLS HTTP/2 .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.46.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_STREAM_WEIGHT "(3), " CURLOPT_STREAM_DEPENDS_E "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.pdf0000644000175000017500000000743012652070456017301 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UínâVýï§©Ln®¶ªÄ²®D—Ŭíd»ÚTˆ˜›à0Á&[Þ¡¯Òwì\û0I[!aðÏœ3çÌø(a@õÇ\³µuûðTZž¬g‹Õ‡`.ÙÞ§èé£Õ<ÃÀçàKA éÚ²‡·ñx4ù9šÅ½ôwËc„zRb\º°¸O\éwë›&ÓÙ0 ?Ïâpxwo‹ûdûÝj¦æåaö¤ª|óXôúÜ¥„Rß.¶U^lJ8Ëý[ú‹%˜KÖä~#£®ß§„3–!n‰¸‰t5ô¾ð=Ð^ýðd ƒ©ŽÃœ®&é§Pß?Qæ”8Ô‡>ãú˜6\ÎPy5^Ñ2‚j©`§2µ©V‡úG^“@„ÌÕ…¹pˆkê¾(]—“ú@ÈÀ1G‹á ªCر¹v¢ž°ç<9 #=Œt›¨¯“hšŒ’./ᵜìòM¶Ú/ü¨¹Ñ_dùS Çtl¥W ã¬À˜WšÝ×gpµœo+u}®˜+‰”Üïö¦ná)x@Z5¯WG–>ñJsPlžà*+Õó}ïÝkºÂgµ¬GºÂd¦é(š;4Í~“út~,*I`´`DG m—%Ìa[ä›Jí *ðÏJ£Á_šçùwˆp‚6…gR¼(¨Î&©—eÐ&뢬.½rž]2ì ïxçO?ÿ_nAcËi·Àã®X×¶,ÕîEÇùñ|Ö†¨]'±¯'I¶Uɨ=MUÏs¨g§ª=ÊÏHŠšd±ßÁ|»]åÙ\vÍNø”y”E5Áj“{Ýu ÑœQ£ž‹ˆ¹g@5Æ gñÑba÷„ñ]Ô,³ýÅ%aŽé”®Öô²C±‡õüßór©®vÅþa¥ÊeQT€Þ¾)vðןu󆺕ë¼ì×$X ˆ¹!Öó*[ÂöJý‘£gæzä%¼ô¸ÛlŒùj¯ˆØqôùðNccGfpÏ7ìûœPWÖ¢¢£Q¯ÝhÃhœ˜$^wúŒH_`?ÚqˆÓŽŠm‡3™¾ž<'h"N`Ã_Ÿ¦ã°5nð¯c—ž°2¡ÞTù5 %n¼^àŽÔ‘ÇjFùwpZ港=—µžïGãQúµ»üp0pTƒŽfö`±P È7€¶Ç¥þƪ9曇ém<»Ã-.=fÆ·á…ßN”1^Uûy£…³è#äµ™š7 5Êýv[ì*µ¸Ö~3·““¨'\ûËdÕ[M?¸)ªÿµN†0'щÈ%¤Ë]^[“¹Ò..xà–ð…lrýª½î¦ÅªžGÛ¶Ÿ—ªB‚ÝîãÆf¯Rõ™ ð¥Ðw8'No•?èD¨‡ã }æºBÚ>Q[à´FéÎtž0µ>ãç÷55endstream endobj 6 0 obj 1043 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:38+01:00 2016-01-27T08:26:38+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001367 00000 n 0000003257 00000 n 0000001308 00000 n 0000001148 00000 n 0000000015 00000 n 0000001128 00000 n 0000001432 00000 n 0000001686 00000 n 0000001621 00000 n 0000001553 00000 n 0000001473 00000 n 0000001503 00000 n 0000001768 00000 n 0000001834 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3411 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_NETRC_FILE.30000644000175000017500000000365312626067776016050 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NETRC_FILE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_NETRC_FILE \- file name to read .netrc info from .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC_FILE, char *file); .SH DESCRIPTION Pass a char * as parameter, pointing to a zero terminated string containing the full path name to the \fIfile\fP you want libcurl to use as .netrc file. If this option is omitted, and \fICURLOPT_NETRC(3)\fP is set, libcurl will attempt to find a .netrc file in the current user's home directory. .SH DEFAULT NULL .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.10.9 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_NETRC "(3), " CURLOPT_USERNAME "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.html0000644000175000017500000000674512652070415017571 00000000000000 CURLOPT_DEFAULT_PROTOCOL man page

NAME

CURLOPT_DEFAULT_PROTOCOL - default protocol to use if the URL is missing a scheme name

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEFAULT_PROTOCOL, char *protocol);

DESCRIPTION

This option tells libcurl to use protocol if the URL is missing a scheme name.

Use one of these protocol (scheme) names:

dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp

An unknown or unsupported protocol causes error CURLE_UNSUPPORTED_PROTOCOL when libcurl parses a schemeless URL. Parsing happens when curl_easy_perform(3) or curl_multi_perform(3) is called. The protocols supported by libcurl will vary depending on how it was built. Use curl_version_info(3) if you need a list of protocol names supported by the build of libcurl that you are using.

This option does not change the default proxy protocol (http).

Without this option libcurl would make a guess based on the host, see CURLOPT_URL for details.

DEFAULT

NULL (make a guess based on the host)

PROTOCOLS

All

EXAMPLE

curl = curl_easy_init();
if(curl) {
  /* set a URL without a scheme */
  curl_easy_setopt(curl, CURLOPT_URL, "example.com");
 
  /* set the default protocol (scheme) for schemeless URLs */
  curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
 
  /* Perform the request */
  curl_easy_perform(curl);
}

AVAILABILITY

Added in 7.45.0

RETURN VALUE

CURLE_OK if the option is supported.

CURLE_OUT_OF_MEMORY if there was insufficient heap space.

CURLE_UNKNOWN_OPTION if the option is not supported.

SEE ALSO

CURLOPT_URL

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.30000644000175000017500000000366412626067776017046 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TLSAUTH_PASSWORD 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TLSAUTH_PASSWORD \- password to use for TLS authentication .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_PASSWORD, char *pwd); .SH DESCRIPTION Pass a char * as parameter, which should point to the zero terminated password to use for the TLS authentication method specified with the \fICURLOPT_TLSAUTH_TYPE(3)\fP option. Requires that the \fICURLOPT_TLSAUTH_USERNAME(3)\fP option also be set. .SH DEFAULT NULL .SH PROTOCOLS All TLS-based protocols .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.21.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_TLSAUTH_TYPE "(3), " CURLOPT_TLSAUTH_USERNAME "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.pdf0000644000175000017500000001071612652070425017626 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…WënÚHýÏSŒº?j*˜z<_´«•hB¶´Xâ´[%+dÌÞ›bS”}†¾Ê¾ã~sñ'M)€Çž9ß9ç»ø21A¦øÓŸÑ®óvî¢MÞ1Ѧó­Cä"Òѽ àO\Öõ A®…\ŸbÏGÁ®ca>O[ãâf>žÎ‚ÅÅû›ÉÇÅ»?&‹«›ÉE0šNî z×EÑñ,x˜?,r^dû¢Û·˜‰MÓ5àGœ¥9za‡îßÁ‡NßÄ#æ0ì3:(wŒÉ ûbUÂ0ó)à VãÓ°üÓˆÄ2±mº¨O,±l üÏÀGÿ¡(L’eÝ£%_gŽBTÂ4_ó:ÅÅ]3ø’¬¢ð°Ú…E´Uç5öaŸ8Ø“€®¿N¦³ëÑõ9,y‹„dü§Qr\qô› í­ø‡·¿‹Û-[D¼¹5’,Ý h{LïËMº(1ÞY ï]âcß·€ßx…Þ”€qºÎzíÕ}qèÚ ±£'‰vÌ LœèÀwaœæwÝ_ˆ¾XHVЏ(¨mïäz³ ÓUÂ{ÏÈÛ{:¬:ð‰ Ô¹ç”“48½^_ÌG3±Ÿ„&gÊ'Oð; Å=Ò)>ö˜òÉ­‘ç í>ƒ€AÙ"CÙñP‹¿>¦‘pj¶q´Eù6;&+$GÅ–£ý!+²âaÏÅR×bÆ)Eá2+«ðPjcæhg~ç –ç{¶^À2Ê(vK¦ 6)‘^ ¶qþÚðB]æ+´|@I¼’Ԟ݇‡ek 5/<Ü!ØgánD°K^¹ú;ܱ¼U¬u¢TÎÏû}vG ¹À’OÙrøñvN̲xxØ·IÉ3¸ rŸ WJžj¹öKô3&Ô|)ä[¢´àCÑ1*” $\l¨’sÅ‹0Nr¡Ä±ÁÃ2|†…__Í{’sׯ6±He•'X‹u’ùw®Â.¼ïSÅÄs”ó4ç(K“0 OÑ1—,-*ÈšŸ`f—Ä”9òe4¾¼Ì/? ºÔ…MÏ.Þ×e°Q•m;žvª¤ôFi¦³À‘®cûŽïëûN¸²]Ÿ¨¨Údï©‚¢"¥<`ù$ÝÓ,$ÂSᎠ=—èÕš‡Åܶâ{ž®øê•Ö®atÕ%6Ó2 ¢Y7Ñ RF/ŸÒ$ W½Š/å?C y ] Ó*чd’ð„ Mý«³ÁÍ9窄ÔÔ)6ÑÉo4 íyY¶-¬ïq0Õ‡ÙQ rƒ:Øq=mS£â£u– Ϻ^É¿(·ggŽŸ”1©Câf5ÚÄgUÍq0©õTeÄÁöãB’.+©‰¸A]}hSAª%°`_e›DV'B£x_j,Ôûº »5–APY[^UÞ »–^˜‰ÛÜ76 ˜R¿*–%­iˆR[ùNw&]¯_Òãn ×Áªª0é;Dþí¹ò]éá' ³ ™_Ž xTð0cµÀkÅÜ8­Bì\ú´K³…š(KŠæRx¨­ÙƒH-Ù­'áRtÌâ,Ðm˜£ù!ƒÞ-òÄc¶&GŽU{ñ,ècºe[žsÀ‘¶d¦Þ̪…·šñbú±åK›Â¨d•Pj)g®?³#¡˜P륦vx(¶B çGÊ{-pD?îúãhÖ‚¤cÑ-áAç.Ê*'Ìl²z8…M“1§ŽÑö¹‰ê+ù}¼—:€½¢è L…²v‚CøÂV³·ñCù]0c0?*ã>vh9ÀÁ‡öV¶pF*åÙŽ#èF @ß‚IÜb^WÁe«zf½^i~˜-Ý3±OÊm nä*ýLÓ–CKqÆu†Öª]×¥v…er3¿c6×(l*Q@°W³ØF™*…ÓM«3-ŠL§ÌÔ‹é¸5GlpÔ@ Í¼€cø×àÓl<,-ãýtp jÂóeó¸œj¾˜ç=z9郶„Õ§ ZmÖà3Ôa‰^MÊ$ïFãQðµíxLmÏ;+> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:13+01:00 2016-01-27T08:26:13+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002061 00000 n 0000003951 00000 n 0000002002 00000 n 0000001842 00000 n 0000000015 00000 n 0000001822 00000 n 0000002126 00000 n 0000002380 00000 n 0000002315 00000 n 0000002247 00000 n 0000002167 00000 n 0000002197 00000 n 0000002462 00000 n 0000002528 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4105 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CAPATH.html0000644000175000017500000000540712652070414016115 00000000000000 CURLOPT_CAPATH man page

NAME

CURLOPT_CAPATH - specify directory holding CA certificates

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CAPATH, char *capath);

DESCRIPTION

Pass a char * to a zero terminated string naming a directory holding multiple CA certificates to verify the peer with. If libcurl is built against OpenSSL, the certificate directory must be prepared using the openssl c_rehash utility. This makes sense only when used in combination with the CURLOPT_SSL_VERIFYPEER option.

The CURLOPT_CAPATH function apparently does not work in Windows due to some limitation in openssl.

DEFAULT

NULL

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

This option is supported by the OpenSSL, GnuTLS and PolarSSL backends. The NSS backend provides the option only for backward compatibility.

RETURN VALUE

Returns CURLE_OK if TLS enabled, and CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_CAINFO, CURLOPT_STDERR, CURLOPT_DEBUGFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.30000644000175000017500000000404112626067776017365 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_PRIVATE_KEYFILE \- set private key file for SSH auth .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_PRIVATE_KEYFILE, char *filename); .SH DESCRIPTION Pass a char * pointing to a \fIfilename\fP for your private key. If not used, libcurl defaults to \fB$HOME/.ssh/id_dsa\fP if the HOME environment variable is set, and just "id_dsa" in the current directory if HOME is not set. If the file is password-protected, set the password with \fICURLOPT_KEYPASSWD(3)\fP. .SH DEFAULT As explained above .SH PROTOCOLS SFTP and SCP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.16.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSH_PUBLIC_KEYFILE "(3), " CURLOPT_SSH_AUTH_TYPES "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.pdf0000644000175000017500000000731112652070433020164 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•Uín£VýÏSŒÔ…ʾ¹|ªU%b³»ÞeÁµñ¶+§²ƒ*жïÔwìÜ ØŽ½›me%Èf¸çœ9s†' „•ŸîºyЮfÜU…;íIcê&t—Í\'XàÊ’­Ö>ÃÀáàx‚¸$ÚR-farAj÷»b‡g)EÎ’8²Éú‘àÿã4 ú”¸ßLIräÁ„ŒSËbwݲ\÷bÙ MOVÐdSÛPùŸÀ?ê¢hëÄë“пž„“äóKqhƒ0£ãÓÚî§i–B^€Cƒ¿®u©Ï‚d1‹à“Á„I<›é~¸Îfë(볺Ù•ÚTÁ*þù§,ë^ 2EUóøXîë,nµ®p}ˆbCXúïÑ*VKH>X”8-Ö··o€Îã£3ú9OÆÁlö²CžIÌÞ•šÁËc¸ƒùòÜ~?õGƒk ¼¾xûfÔÆ< ›‰ùqÿÿ¹¾aa“]Ë< ô°}7r|73vP…1?3Û%îáÈTž¨~Ç®yÄnñúmìïgcÈ, ;aéøò}ßÀ)3¨yHŽ gh¿áç_Ÿ‚)endstream endobj 6 0 obj 972 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:19+01:00 2016-01-27T08:26:19+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001295 00000 n 0000003178 00000 n 0000001236 00000 n 0000001076 00000 n 0000000015 00000 n 0000001057 00000 n 0000001360 00000 n 0000001614 00000 n 0000001549 00000 n 0000001481 00000 n 0000001401 00000 n 0000001431 00000 n 0000001696 00000 n 0000001755 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<252715104771739605C7792672BF7236><252715104771739605C7792672BF7236>] >> startxref 3332 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.30000644000175000017500000000652012626067776016267 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SEEKFUNCTION 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SEEKFUNCTION \- user callback for seeking in input stream .SH SYNOPSIS .nf #include /* These are the return codes for the seek callbacks */ #define CURL_SEEKFUNC_OK 0 #define CURL_SEEKFUNC_FAIL 1 /* fail the entire transfer */ #define CURL_SEEKFUNC_CANTSEEK 2 /* tell libcurl seeking can't be done, so libcurl might try other means instead */ int seek_callback(void *userp, curl_off_t offset, int origin); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SEEKFUNCTION, seek_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This function gets called by libcurl to seek to a certain position in the input stream and can be used to fast forward a file in a resumed upload (instead of reading all uploaded bytes with the normal read function/callback). It is also called to rewind a stream when data has already been sent to the server and needs to be sent again. This may happen when doing a HTTP PUT or POST with a multi-pass authentication method, or when an existing HTTP connection is reused too late and the server closes the connection. The function shall work like fseek(3) or lseek(3) and it gets SEEK_SET, SEEK_CUR or SEEK_END as argument for \fIorigin\fP, although libcurl currently only passes SEEK_SET. \fIuserp\fP is the pointer you set with \fICURLOPT_SEEKDATA(3)\fP. The callback function must return \fICURL_SEEKFUNC_OK\fP on success, \fICURL_SEEKFUNC_FAIL\fP to cause the upload operation to fail or \fICURL_SEEKFUNC_CANTSEEK\fP to indicate that while the seek failed, libcurl is free to work around the problem if possible. The latter can sometimes be done by instead reading from the input or similar. If you forward the input arguments directly to fseek(3) or lseek(3), note that the data type for \fIoffset\fP is not the same as defined for curl_off_t on many systems! .SH DEFAULT By default, this is NULL and unused. .SH PROTOCOLS HTTP, FTP, SFTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.18.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SEEKDATA "(3), " CURLOPT_IOCTLFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_LOCALPORT.30000644000175000017500000000353612626067776015735 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOCALPORT 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOCALPORT \- set local port number to use for socket .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOCALPORT, long port); .SH DESCRIPTION Pass a long. This sets the local port number of the socket used for the connection. This can be used in combination with \fICURLOPT_INTERFACE(3)\fP and you are recommended to use \fICURLOPT_LOCALPORTRANGE(3)\fP as well when this option is set. Valid port numbers are 1 - 65535. .SH DEFAULT 0, disabled - use whatever the system thinks is fine .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.15.2 .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_LOCALPORTRANGE "(3), " CURLOPT_INTERFACE "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.html0000644000175000017500000000614012652070415017424 00000000000000 CURLMOPT_SOCKETFUNCTION man page

NAME

CURLMOPT_SOCKETFUNCTION - callback informed about what to wait for

SYNOPSIS

#include <curl/curl.h>
 
int 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 */
 
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_SOCKETFUNCTION, socket_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

When the curl_multi_socket_action(3) function runs, it informs the application about updates in the socket (file descriptor) status by doing none, one, or multiple calls to the socket_callback. The callback gets status updates with changes since the previous time the callback was called. If the given callback pointer is NULL, no callback will be called. Set the callback's userp argument with CURLMOPT_SOCKETDATA. See curl_multi_socket_action(3) for more details on how the callback is used and should work.

DEFAULT

NULL (no callback)

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.15.4

RETURN VALUE

Returns CURLM_OK.

SEE ALSO

CURLMOPT_SOCKETDATA, curl_multi_socket_action (3), CURLMOPT_TIMERFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.html0000644000175000017500000000443212652070415017646 00000000000000 CURLOPT_SSLENGINE_DEFAULT man page

NAME

CURLOPT_SSLENGINE_DEFAULT - make SSL engine default

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLENGINE_DEFAULT, long val);

DESCRIPTION

Pass a long set to 1 as parameter. Sets the actual crypto engine as the default for (asymmetric) crypto operations.

If the crypto device cannot be set, CURLE_SSL_ENGINE_SETFAILED is returned.

DEFAULT

None

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

If built TLS enabled.

RETURN VALUE

Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSLENGINE, CURLOPT_SSLCERT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.pdf0000644000175000017500000001013212652070445016471 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœV펛Fý笠r"{ ŸÓV•œ]Ò:±k³iW»•Åb¼&Á@gµ}†}•¾cï `ïF©*KF03÷ãÜsÏ/  šø5Ïp×{³°á¾ìipßûÒ£ršG¸ƒ·>npÄÓ«ÏP°Ø\'×3-Âø½åâj1ñæþj¹œ|p¯ýë¹{«è·*„û"YEAù¸*£*Ë+uÈLhš­àKœ¥%|ã¤ú—ÿ¾7Ô£è*ÄH8FB¸)‚Ñ-ð'=e6R_að¸JMbrô×=eêªþ§“ЙF ͆!ebYñ¾.ü!TyÙªmy K"SzÁÄ1ÿÚË×@¬IïœP‡;F³PEð¹9Fëc±(çõ²Ft@ôOÔ&ºÙO¢:ú“t‡ÌÖˆã`qä¦åõÌ›/ÇËn¢K'Éâ4Löë~Ux#þÈöq†@B˜á†ó*ÝÊ%x½ Òu ^¨ÑÂmPÀk×­ú¢²Œ¥ ÷Ò]^,ÆsìÍ:ȼº2?Ö1[د+K Ïâ´Š ¨2|ù;*2À·]œU´†²*âô‚ò v.Éœ‰-L„ȇÌnð&þ± ‰¢Óf ÐX*·Ù>YÃ]$Y±ÉŠ]P ŽcφVFtkw*Ó”ý=Ä)xy”bRD‚&¶º#œœª×»&LÓpjÖ‹:´:1º’«T µ¦6ÌÒ[y™ååˆ–ÈØ¶mÝ8-»ô¹ðwTt¾hÂ0t§Q fµóhȈfr‰˜çƒwpÊpdiV;/¼ÉÙÌÀ¸9bt¥d”$8 –púæEVea–”?Âo¾?_àüOGâ1÷æ:>–SüQ’ïäáþ9šÎ'n[z盓À?¦AuÁ‘:‰K¯ÜtœgWƒ¡ÁÅ΃7Q—º Fat„©fÒv–'£·ãÉØ¿îbƒ•Ô Çé@s£Œ7H$ìRl@ªì㤒HÕ‚¹~‰P§Éß( ׿ZÌà£JuT|‹*£É•ÛœzŽZazÝ‹¨ÚÍ}É]y ÞHϨ=e«üƒfõjöa&QÒ5“ØfÓRÒX Ƴ•'ç±°‚3€LÉa{àTÐÛ•¿òÞ­¦îÔ[Ô³´Vo!Í Ý(×±Šw;eSÉlj˜)ʵÆ:»p*=¨B™å((™qZî7*3Ä[y cìfØFAe„ÑK˜RÛì6éÒua4YzGî‘©{…éïu‡û—T¸A× z±¬6Î]÷Â]¨Þg©a)þY9-é<³;d†IÄ…TǧU›Lâ;qÔ7¼>¨CjšÇ•‚óùý>†¤uãÐÊT˜rýÞïøûê/ó7endstream endobj 6 0 obj 1365 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:29+01:00 2016-01-27T08:26:29+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001689 00000 n 0000003579 00000 n 0000001630 00000 n 0000001470 00000 n 0000000015 00000 n 0000001450 00000 n 0000001754 00000 n 0000002008 00000 n 0000001943 00000 n 0000001875 00000 n 0000001795 00000 n 0000001825 00000 n 0000002090 00000 n 0000002156 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3733 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_LOCAL_IP.html0000644000175000017500000000500312652070415016461 00000000000000 CURLINFO_LOCAL_IP man page

NAME

CURLINFO_LOCAL_IP - get local IP address of last connection

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LOCAL_IP, char **ip);

DESCRIPTION

Pass a pointer to a char pointer to receive the pointer to a zero-terminated string holding the IP address of the local end of most recent connection done with this curl handle. This string may be IPv6 when that is enabled. Note that you get a pointer to a memory area that will be re-used at next request so you need to copy the string if you want to keep the information.

The ip pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call curl_easy_cleanup(3) on the corresponding CURL handle.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.21.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3), CURLINFO_PRIMARY_IP

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.html0000644000175000017500000000447212652070415017661 00000000000000 CURLINFO_PRETRANSFER_TIME man page

NAME

CURLINFO_PRETRANSFER_TIME - get the time until the file transfer start

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRETRANSFER_TIME, double *timep);

DESCRIPTION

Pass a pointer to a double to receive the time, in seconds, it took from the start until the file transfer is just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved. It does not involve the sending of the protocol- specific request that triggers a transfer.

See also the TIMES overview in the curl_easy_getinfo(3) man page.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.4.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TCP_NODELAY.pdf0000644000175000017500000001022612652070446016563 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…WÛnÛF|×W,Ò‡P…µÙåhS@qĉl©Ô° ƒ–V^’Šë|C¥ÿØÙ )*V°dîröÌœ9笿F9aòÇ|.óÁ«Ë€lê#›Á—W‹Ä|,sò&ƆP>ˆ×ý'M‚È¡aDâ|`^]Ngóø.>ß]ÌÞN¦ãaü×€s‡F¶Ç«Q†½ƒëúÖrn‡d¹«²;‘ÔOwµhʇf8²=F ,ü‘–EMŽ þ8ŽGy a ˜îQ/r ÐùD>ßµuY@FxU.ghSOõˆZ×ÿÖÝ 6§yÎ$yK4¤Ù r% hè0Þ”û8]ð(2 JkŸ¦¸Ôö¯OCµoq}1›/·´ BKé§´Xf»• ¿ÊT¼’¿èö7Kâ©æ¼,±áûTݪ%òó6)V™89–¨—ƒ§¶J‡…Ô1ùÕP q}B²=A™Ýª,6¤ÀÙYòt;üå9]Ç ) {tßN§—góølvaÜÀ=m†#ÔçIwvDÃ6CÔuux]“„d2„úA,ÓõSН[ÔUGóÉÁ# ( Â#„c=‡÷3HÒš4%¹š’²"ËL$•X‘[‹“×òá ¶¿Öo‡”Ä[¡ˆÙ¶ æ¼åÂtQ•h‹sÿDVb=䪦+ÙeÁŽÇ4ËÈ6QÅÔéÄ}NN ­ÃWAоÍ}„QK¯mÕ™€ ÝâzÝq÷©Ë÷ª`ÙdÝ1—eQà‰ ›ÔPDDÔMrŸ¥õV¬¨:†GÀ‰ÈHZS¥Š+¤…h™œFò2(z«´€ÊÔK“#®k)ßt”õE¿ÆXWc^ã'`$Ù¦¬Òf›«$‡]õPÖ‚”k}l·lRÚTOò#O‹4O¿i•¤ºh5&gPÚUÍÐ’ü‹]~)Wç BH–ŸUûd>\#œ|%Ô© ¨JºB4ÈF‘í‡VY}†y`ÓJ=¨vï½ ¹HÐY¡ 6„-‹Bk“‹ ™€ñµÄÖîhc84Ûyòwšïr²0°—‚ ðE ç‹üº¬‚ =Ç“AÂÌ ýÁµ• /ý¦ ½ór0²Jšâ(d¢~‰ÞÌQ«2¶«íªc@6e ÿ‹e²CšÒFV B«|yÐxÀ)ëJó«è5fwÍBµÉJ§\gÔ eoï“-NõQ¬(y¯Á òý®q?ŠÃƒ¹, ûà`,ºÏÎærÚIèꄤÚËa`XØ Œb?v°ø]?m#+sÔZRCmŽZÈ¢nA°×öZÖ$Ož?t“¶UAàGx½Ü5D5gé4íD¥q? ­C/ÜX²jRã7´(Û…9˜gý³L%¾t vŸãÔ…GÝ'–VÉ’jÈQͬ ì¡mSw¾IxÒ¤9樲Õ4Uz?ÄpgÜõ­]#$3<Þ ãÈæÑ/,nvÉÂJ×ðÍAÃt‡Ú?´Íª,}>¾\R‚ôç×;ãOúR^@"î¶Ù_é>"«ÍLÛo§ª5ÝK½Ÿw2Ò ·{ìÈõ{1Ì/[:¡iж’#ŒO›c“ÙþŽƒáÍü6é§³éw7Ä O¸û(ÆYöƒ8&ŒÏçÓI[.áÿÎñxî¼½‚½±¼0> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:30+01:00 2016-01-27T08:26:30+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001848 00000 n 0000003659 00000 n 0000001789 00000 n 0000001629 00000 n 0000000015 00000 n 0000001609 00000 n 0000001913 00000 n 0000002088 00000 n 0000002023 00000 n 0000001954 00000 n 0000001984 00000 n 0000002170 00000 n 0000002236 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<832E009BD0B51F45B708E0E3B9EBB8FA><832E009BD0B51F45B708E0E3B9EBB8FA>] >> startxref 3813 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.30000644000175000017500000000365112626067776017601 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTP_CONTENT_DECODING 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTP_CONTENT_DECODING \- enable/disable HTTP content decoding .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP_CONTENT_DECODING, long enabled); .SH DESCRIPTION Pass a long to tell libcurl how to act on content decoding. If set to zero, content decoding will be disabled. If set to 1 it is enabled. Libcurl has no default content decoding but requires you to use \fICURLOPT_ACCEPT_ENCODING(3)\fP for that. .SH DEFAULT 1 .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.16.2 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), " .BR CURLOPT_ACCEPT_ENCODING "(3) " curl-7.47.0/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.html0000644000175000017500000001113112652070415017435 00000000000000 CURLOPT_SOCKOPTFUNCTION man page

NAME

CURLOPT_SOCKOPTFUNCTION - set callback for setting socket options

SYNOPSIS

#include <curl/curl.h>
 
typedef enum  {
  CURLSOCKTYPE_IPCXN,  /* socket created for a specific IP connection */
  CURLSOCKTYPE_ACCEPT, /* socket created by accept() call */
  CURLSOCKTYPE_LAST    /* never use */
} curlsocktype;
 
#define CURL_SOCKOPT_OK 0
#define CURL_SOCKOPT_ERROR 1 /* causes libcurl to abort and return
                                CURLE_ABORTED_BY_CALLBACK */
#define CURL_SOCKOPT_ALREADY_CONNECTED 2
 
int sockopt_callback(void *clientp,
                     curl_socket_t curlfd,
                     curlsocktype purpose);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKOPTFUNCTION, sockopt_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

When set, this callback function gets called by libcurl when the socket has been created, but before the connect call to allow applications to change specific socket options. The callback's purpose argument identifies the exact purpose for this particular socket:

CURLSOCKTYPE_IPCXN for actively created connections or since 7.28.0 CURLSOCKTYPE_ACCEPT for FTP when the connection was setup with PORT/EPSV (in earlier versions these sockets weren't passed to this callback).

Future versions of libcurl may support more purposes. libcurl passes the newly created socket descriptor to the callback in the curlfd parameter so additional setsockopt() calls can be done at the user's discretion.

The clientp pointer contains whatever user-defined value set using the CURLOPT_SOCKOPTDATA function.

Return CURL_SOCKOPT_OK from the callback on success. Return CURL_SOCKOPT_ERROR from the callback function to signal an unrecoverable error to the library and it will close the socket and return CURLE_COULDNT_CONNECT. Alternatively, the callback function can return CURL_SOCKOPT_ALREADY_CONNECTED, to tell libcurl that the socket is already connected and then libcurl will not attempt to connect it. This allows an application to pass in an already connected socket with CURLOPT_OPENSOCKETFUNCTION and then have this function make libcurl not attempt to connect (again).

DEFAULT

By default, this callback is NULL and unused.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.16.0. The CURL_SOCKOPT_ALREADY_CONNECTED return code was added in 7.21.5.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SOCKOPTDATA, CURLOPT_OPENSOCKETFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_MAXREDIRS.pdf0000644000175000017500000001004112652070436016312 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VínÛ6ýï§ º¥›õ­}nªbnU˳•®E<ŠC×Úô‘HòÒbØìUöŽ»—”,ÛMSˆò’<<÷ÜsyOtÆ‰Ž¿ö»Éã…K>Ö|ܸœ$íg““1x8oj '®A\ßdžOâ|àèÌã$~\ÓË«EÍãõÛÉûEðrºX®¨¹ÒÈf_ek‘ԟ׵hÊ»F¶ÎtÝ¥ðOZ5y|¡ö{üz0Ò™Áá  àðóm„b:$t6Ñžt˜å6³}àÅ·ú6Ðâ?Ž€:³t—Œ¸ÓúWÐ’ÿHž|Jó}NŠ}~#*RnI%nÓJlšš$YVj†Å|϶胸•ðN@Õˆ;Ì“ –fÑ|9]žB‘!ý.-6ÙþV‘¡1þa»Ÿ1ܰäíᦄ€sWrŠ\ì’â6Ã/ù’¬,>’$/÷E³Ò~–ž@ú2X^.¦óxÍðt œÛŠñGPÏŒ‘œû̳ã:sui¥5%g$Þ x;2Ò,#7‚40ܱ Ù'Yš§"‰ë]€g‹;m:Õ50ÄdžsMWQ×”M52íè6Ý62;J3m£Ýj—4äâd/Ó`–ïð6âsu¸çÌ6m¿è!×d—œe;Ì4œö ÒV\ü%ÈM¿™{tJÏ—Ù–ÙHîgé T¨®Žk »€B×½n¥cYJÀ Á¡d³È_çžI?5ná›d_ ’DTUY‘me{ š»ãÜèHD)ëXã"ÔìÃZJ*¸Œ—íÒƒX63[Xt¥aÂÓš¨š&e‘}¦ÿÄ ø€>,juWÃdŽã%­EhÓ-^ëLðçùÞ1N”ü«( #Mù‰I £Ë‰fº˜¢ {'9nCŽ:àº% ä²Nrhš &Qrßc68V$Ö´hš #¥nISÂ>’éö²³•v|æwªÙQ͸Ü?L¤7XÚ²­ÊÒÑŽÁtûM‚Ýš:?Õ¤Âjè°Ô8ÆJÀ‰U(‚´ø·Hñ˜¿1Å÷&ñªÕ¼myˆJÍçV‡dr¥øÂ<´~l8¦ÛΆñá}°|\×5­ƒÞG|Hö…$üõi<óE Ç2%nÁnKìÉ󥤢˜D‡ÃAsPx]›¸ŒÂ3wü>êýÇó]‚„žF¼Ÿ¼‡Á×¼^©[æú§#7O!+Šþ ë0L?Ý®d 4οÁ¶ín‹kúeÀ‘Þýá3$ÏvMs÷ýx¬,kâS’ße‚mÊ|ü ÂZP &¾¸¦ã "Šä&ë=í¨ët§¨÷‹±\¦ â²oaQeiÚÇeÉ9—%9$<<‚(d{}ީ߀•½Ìš^ÿÐzy%ÄQŒ(SÚ%?dð[Hz¦¶©@> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:22+01:00 2016-01-27T08:26:22+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001632 00000 n 0000003522 00000 n 0000001573 00000 n 0000001413 00000 n 0000000015 00000 n 0000001393 00000 n 0000001697 00000 n 0000001951 00000 n 0000001886 00000 n 0000001818 00000 n 0000001738 00000 n 0000001768 00000 n 0000002033 00000 n 0000002099 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<25F2E85A98FEFE7026761E647C4B3A75><25F2E85A98FEFE7026761E647C4B3A75>] >> startxref 3676 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_TLS_SESSION.html0000644000175000017500000000734012652070415017112 00000000000000 CURLINFO_TLS_SESSION man page

NAME

CURLINFO_TLS_SESSION - get TLS session info

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TLS_SESSION,
                           struct curl_tlssessioninfo **session);

DESCRIPTION

Pass a pointer to a 'struct curl_tlssessioninfo *'. The pointer will be initialized to refer to a 'struct curl_tlssessioninfo *' that will contain an enum indicating the SSL library used for the handshake and the respective internal TLS session structure of this underlying SSL library.

This may then be used to extract certificate information in a format convenient for further processing, such as manual validation. NOTE: this option may not be available for all SSL backends; unsupported SSL backends will always return NULL in the internals pointer to indicate that they are not supported.

struct curl_tlssessioninfo {
  curl_sslbackend backend;
  void *internals;
};

The backend struct member is one of the defines in the CURLSSLBACKEND_* series: CURLSSLBACKEND_NONE (when built without TLS support), CURLSSLBACKEND_OPENSSL, CURLSSLBACKEND_GNUTLS, CURLSSLBACKEND_NSS, CURLSSLBACKEND_GSKIT, CURLSSLBACKEND_POLARSSL, CURLSSLBACKEND_CYASSL, CURLSSLBACKEND_SCHANNEL, CURLSSLBACKEND_DARWINSSL or CURLSSLBACKEND_AXTLS. (Note that the OpenSSL forks are all reported as just OpenSSL here.)

The internals struct member will point to a TLS library specific pointer with the following underlying types:

OpenSSL

SSL_CTX *

GnuTLS

gnutls_session_t

NSS

PRFileDesc *

gskit

gsk_handle

PROTOCOLS

All TLS-based

EXAMPLE

TODO

AVAILABILITY

Added in 7.34.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.html0000644000175000017500000000613712652070415020375 00000000000000 CURLOPT_IGNORE_CONTENT_LENGTH man page

NAME

CURLOPT_IGNORE_CONTENT_LENGTH - ignore content length

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IGNORE_CONTENT_LENGTH,
                          long ignore);

DESCRIPTION

If ignore is set to 1L, ignore the Content-Length header in the HTTP response and ignore asking for or relying on it for FTP transfers.

This is useful for HTTP with Apache 1.x (and similar servers) which will report incorrect content length for files over 2 gigabytes. If this option is used, curl will not be able to accurately report progress, and will simply stop the download when the server ends the connection.

It is also useful with FTP when for example the file is growing while the transfer is in progress which otherwise will unconditionally cause libcurl to report error.

Only use this option if strictly necessary.

DEFAULT

0

PROTOCOLS

HTTP

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* we know the server is silly, ignore content-length */
  curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, 1L);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Added in 7.14.1. Support for FTP added in 7.46.0.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_HTTP_VERSION, CURLOPT_MAXFILESIZE_LARGE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.pdf0000644000175000017500000001003212652070446016770 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VÛnÛF}çW Ò‡R†´Þ]^–LÚŠÃJIµh·]´´²˜P¤BRI¢ŸÔìì’uqsÓ ggΙ˙ý”0 ê×<çkãüRÀCiPx0>L„æ1_ÃË <õ"Zõ‚ƒð-âù­ óâê2œL£»èbz÷&¦½è½á â{TÙG Ãæ„£égãÆ†£ëàÖ´n{0ßéŒËÇ»RVù¦ê ¸CMü'ɳNœþ½6,îKÔN÷\©€J8à s„ë#\â; ñÀæ.±X®>4*cªì˜Cßjœ½ ÔûŽ)§Ä¦Œ«Ï´‚ÉgÄ÷9¯¡À¿ ³ø>•€ßáC1P*,SÊÍ NMQ2GG¬ÄoÒC‰¥ü›Ÿ$l:t.žï5ðŠü>Éjˆûì¸àD¡t‰§ífïÆ“él4;$ƒÜ÷‰˜?$Ù<Ý.$ü¤jp®þÕ/ê ·! è¬æ:ÏÑæ¸L·úœ­âl‘Êþi¡ü&}Hóì6ˆ]Þö^hþ‡è5®ú«`vq9šF£É¸©g©§h˜Óx—(ŸxÎ.¶n3³,!ÖÑ Œ–€¸¡Êõ›ÂàIÆq<Þd+¤ ´•[ĵè®@nãø°D‚0k¯ˆâ[Âç$Má^bð¬"­$,d?f –…ü¸•Ù\gœx¶_{cÄmûñÆ|Ì{ܳ±G„¹¬tîhÝ7Ä£¢m‹•,eàæq†ñ4 Ëqˆ |Wt¹ÐÐæyVyšÊÜ?Bµ’uŸ0ÚdX¨Ò°6-Ç•½ »yÛË&–ßN%ò;rªÒäŠÿu:Ž®Ã'½úziËÀÓ yè+Öê€-°ü»||JR‡ØÔÇù9š_$ ùFq…ÃåcYÉ5”ÛÍ&/ªR¥cM`V7 …[s!—»!Ž·i…é]Å=5¸>+/PÅÐv‘”zìÕÈ·½t0ìv“í}ϰËòtÖ-á.&æ×¦gô®šm™ÍZ}¼Ò_™"ÐèwwêF»è]Òb!„eï>cj§— ÛÒ˜AÚb8¡N=“&»€˜AÝVz/&á‘^!fAt(†iúÁ÷Ó0ø²îÕÂ¥ ~ÞÓµ$KPÕ”D)eàJÍdyk* ¬ðß½ §utcžê¡zÓé >úðlUU›çç粇Y× ôW¼Þ¤’Ìóõ³V ;±=?ûŽÕá+颧»c¹¿ÙóýÆ¢ž›û;Á&/â¬\ÊÎÎëî .ßNnOä¡ëµJÏ–TCçCO Z<Éo̦ü„CÒq°‰ãrÀuU²–ZÌ9EiE=[”-™°Nõ¾™‹’µ¾r6-ÐPH²JŸzEس™§uð{Y}–2ûZ•˜…ƒgëÌÓns<÷„S2g}?3¥­}ô×2Û;‰2¸Ì‹uÛå/°É».7ÿi¤Ãñ¼Ó+Õþà 4K~x ÝÝ •ÈíÉ(¾…£èÝ‘Ä;¸3½C‘6‡ ”pÌ=Âqt¾<ö7æe]]Žáº§¶ï2lÈ« ¹jœÊÚËj[4×Ëànò’%ÔkAíÀ iö\ôõ®® ¯ÆoÆ“žå˜¿ï&úŽ¢fyE¾v­™ ÃÙ¤#rt•yªW!*|«ÛzUö½a0×¥_ܰÇþ‰Ç…× 5ASïÖ K“{-˜/ÞXŽsGÓÄ»öëmœ2[§ÀÞé9S®‚Èø ÿvã*endstream endobj 6 0 obj 1308 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:30+01:00 2016-01-27T08:26:30+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001632 00000 n 0000003515 00000 n 0000001573 00000 n 0000001413 00000 n 0000000015 00000 n 0000001393 00000 n 0000001697 00000 n 0000001951 00000 n 0000001886 00000 n 0000001818 00000 n 0000001738 00000 n 0000001768 00000 n 0000002033 00000 n 0000002092 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3669 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.pdf0000644000175000017500000001014712652070451016657 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}×W Ї´áòºD‹Š£¢NdÑ•è\M­l6¼("Gý†þJÿ±³R+. X¶vvçÌ™3g÷+X„‚%~ôgZ ^͸¯Ü¾¨\ý‘ð:Æ&¾ˆ×µ‡B`C:„…Ç!–íAü8øl\Ü̧WÑu¼¼¼ˆf³ÉE¼¸5œ[Òv›/‹6o²eÍ›jÓ˜#Û³ˆeþ“Ue ?Ülþ¿Œ,bSL˜"žñÐâéÀ˜ÍX®Rx¡ƒ0ãÕÀ¸š˜ñ_Øq­FÔË–}3ü ˆêìoÕÒª,y*PBš¤\z€b„0FÔ'Lf]|šE׋ËÅqn"ó?eeš·+¿Z^‰_äáWn»²‰)­0â o·j^>$å*çó´ !¯Ê{(’ï·æÏÈÌ3`ßLóËëø2š H3õËg€_'"Fòæ)–ñ\WöߨkHTæ¬\eiÒdøgsÈ—8/ ‰ëº¡nbË~w’—2â8Õq$îSS›Xž×-¡4ìZ–\«9GBŸd­‰dÕvaŒ„®q'ÖŒ½Ò²ÈjP£?„]Õ"U%l¶üH„Ô ˆ­ef|ãâ³RÐU€MpÙŠŽmUÀý¶2m—„¡"ç7Ñ,ŠÜíªr%7åY‘5RAw;ƒ(·Áâ¹p éò¥Ä?< öɰ†u›çC9§æU­©©ò¯Qk%ªØoÀfœi3 S¹ÿS¥€ ¦LW»'ÿT¡Šy†ê¸Ç^'iAóÙb§²·ªÜcâ}cdy(,9Dƒts_ ¥8ˆGÚ±`*ð;øu{8¦¾Õi¦FJJ5jýN;$4`]Äðq¿ÝÀ µ@™­&QPßÖÚS”ز'Kv5I¹ÔRýPµù Wë†'rÞ¤ ‰Î¾šSKÌȶ(ªƒöö&¬ôìtdäÔqIÐÝ0Š(¢-D.tb_pm|}B4ÝÐ ™ÞzhÜËXKÂõ3†Y¶Ž‹œÆzKO—&š÷9¤!#~?¶ZØN)ùŽÆƒFõOŸM u:ù9rÿ7òŽOì½CïHÎ\(G´l”eïü¦“y.S¦DBêöµÝ(J…-ékÝöÑ’ÕêtOɾZ;‚SÍcàä’{æ:¼žwp˜R7æ t+FââQSÅõl”´åw’¸ˆ¦'W?–"®˜1F{Çäãøêz:éúÁ~x%ÇÑáØÐÎ,ßDš?±'¦‘ŠÈ>› Ù•eßÃx_–E|v2¼œŽ__N/ãO'ÓàÇeì˜ó±¼Ðø‚9œçkýlÌ'ñÍ|ïM1A¡OQÙ7=­OKÆxÞ´ÛÞA¶V¦Û»VÝn6ÕïÚ! céÀ›Ù»YdŠÌs³e$!v—UCtÂ?ë&OÑñkæ Gý{´ˆÇó„5ñêz%'wx|,fõýÞÎÓ©'9øXzrŽG„îlŸ_‘×½1‚—«eލç….ñ ÀÛ¶ôDW2áö‚¦â¨I<øþ0¡2Òendstream endobj 6 0 obj 1378 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:33+01:00 2016-01-27T08:26:33+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001702 00000 n 0000003592 00000 n 0000001643 00000 n 0000001483 00000 n 0000000015 00000 n 0000001463 00000 n 0000001767 00000 n 0000002021 00000 n 0000001956 00000 n 0000001888 00000 n 0000001808 00000 n 0000001838 00000 n 0000002103 00000 n 0000002169 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<28DF8630A1A14D299B3DE61C34A17C14><28DF8630A1A14D299B3DE61C34A17C14>] >> startxref 3746 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.html0000644000175000017500000000777012652070414021047 00000000000000 CURLOPT_CONV_TO_NETWORK_FUNCTION man page

NAME

CURLOPT_CONV_TO_NETWORK_FUNCTION - convert data to network from host encoding

SYNOPSIS

#include <curl/curl.h>
 
CURLcode conv_callback(char *ptr, size_t length);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONV_TO_NETWORK_FUNCTION,
                          conv_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

Applies to non-ASCII platforms. curl_version_info(3) will return the CURL_VERSION_CONV feature bit set if this option is provided.

The data to be converted is in a buffer pointed to by the ptr parameter. The amount of data to convert is indicated by the length parameter. The converted data overlays the input data in the buffer pointed to by the ptr parameter. CURLE_OK must be returned upon successful conversion. A CURLcode return value defined by curl.h, such as CURLE_CONV_FAILED, should be returned if an error was encountered.

CURLOPT_CONV_TO_NETWORK_FUNCTION converts from host encoding to the network encoding. It is used when commands or ASCII data are sent over the network.

If you set a callback pointer to NULL, or don't set it at all, the built-in libcurl iconv functions will be used. If HAVE_ICONV was not defined when libcurl was built, and no callback has been established, conversion will return the CURLE_CONV_REQD error code.

If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined. For example:

 #define CURL_ICONV_CODESET_OF_HOST "IBM-1047"

The iconv code in libcurl will default the network and UTF8 codeset names as follows:

 #define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"

 #define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8"

You will need to override these definitions if they are different on your system.

DEFAULT

NULL

PROTOCOLS

FTP, SMTP, IMAP, POP3

EXAMPLE

TODO

AVAILABILITY

Available only if CURL_DOES_CONVERSIONS was defined when libcurl was built.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_CONV_FROM_NETWORK_FUNCTION, CURLOPT_CONV_TO_UTF8_FUNCTION (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLMOPT_PIPELINING.pdf0000644000175000017500000001062112652070452016531 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥WÛnÛF}×W,Ú‡µá’Ë[[P5V"KªEçÒ¸hqe1¡H…¤âú£úÙåU¾4E!X‚ÉáÌÙ™3g†_‰A1ðSý®wƒ.¹)¹|0y“T?ëy€‡‚Í@=Èk×·¨ç“`7°9eÜ&Áíà“vzy1=Ÿ/‚Õb²O'³Éìõ•f]éd}È“Õî”ñªe¶/õ¡iÔ0\ þ‰³´ =«ÿ¼ j2·4> ¡¾€,‡Ó6éÏàp—ÙÔö-Dí|¬Ÿ;ðMƒrÃ%Cfâm!?„˜üMD^'âEøK΂`Aöñ^$q§7ÊkÆp ™C=vùq6_,'Ë~pi"k?Æé:9D‚ü‚iy_tû+š›\žG‚Zg`q/oWê&y¾ Ó('¥í„$YzC®ã²¸Ò†Ô<öÕxyz1Y“ùì1¼Œ2(8&k)JRnE{~ihR‹sVåƒö1Ÿš–©n£+&]íÃ<܉Rä¤Ì€Qðµ ¿àƒuÐd=ð{~E‚7U `^}=¾Æ‘Cq¯Jd“åòÚ ˆJÊ:Nx6…HoTék<-D-c·šÁKžf²‘‚ˆ§Áܼ9ir-£Ìï°ªè¢×.9»Llš¨‘³¢„[ÉtÉ$T½’J‰@ýƒÛ ÜQlm»Vœž_Nu &´€©“ÅtüA×hÅç?«I£lVŸFFùÔñ…+»Cˆs§žBÀ´ÿ É¨é7÷oËnŸ£‰º^ %’õeäÞm:î[ßqOÉ>ÝtêŽ02Š ÃÓg^ÝVÌQzWÍŽ®ÆÃTê, ÅôÎÀÛ±Ê1H¡ª»Iï¯A¼¿YüVÊæ²;aýòY3ÐG—J7±1ªö4«rÓ £™­Ö`Š`Þuæ†q¥õË`uj²ŽJVkä1\eßb^\T¹¥æ›ãV•šÔ°•pÎ2ošu §^:OçÓ£Íoˆ«Lƒów¥-ÓÓ‹äøÃè¨]sÃë碳P-f!‰”Wó*ŶçÝ[‡ÜGË&VB ÞÑ;2jgPÇf5'ÓÑËÉt|< ­8ztE‘šú.Дœ÷Li²¹kº«èN X^Ý8ì÷Y^Ê[§8®à ³A‘¬®h\ŒƒË‹y§3 èà0m4½Wt¸ŸL°å!¯_HVó·Ø"¨òj5¢‰èD$ex9{ JoUü~¶šË­Ÿ†qLà_ÿ­a<&£ér~´\·EnýóчzÙ¯¦ãÙëàìx"»°rWÉ“ïP'}¯ u>ðú°ZN‚ñêåôÈ©ãÑfëþ§ÃjA…”·¹•¡Nç³`< *ì«Åx¦›rïs 4:ìý†áxZð€üq\(¨áøOÀ`ì#öw9ƒ¢uaÀ»Š¬Þ¿Â€u ææ“0¨ßhQ¿vgó¥ÌÁl|Š9R éÙ~Âó3—züA^T^]âöå>H»ý°Cˇ÷)ÔXȪ„×#×…5™:ô© F¶Æ\òæÊ/sÌ%eèj ~‡Ï?E­[Gendstream endobj 6 0 obj 1782 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:34+01:00 2016-01-27T08:26:34+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000002106 00000 n 0000003910 00000 n 0000002047 00000 n 0000001887 00000 n 0000000015 00000 n 0000001867 00000 n 0000002171 00000 n 0000002346 00000 n 0000002281 00000 n 0000002212 00000 n 0000002242 00000 n 0000002428 00000 n 0000002487 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<36C37871FEDCEBDF36E46928FFC0563C><36C37871FEDCEBDF36E46928FFC0563C>] >> startxref 4064 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.pdf0000644000175000017500000000675212652070457017215 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœTko›Hýί¸Ò~(L˜mU‰Æ¬ä-1^w·J*ˉÃÊ×àVýQý{°]ÛɶBòc¸sî9ç>>ƒC(8íÓgkãfâÁ²6XŸ ª_Bÿ•­á]Š~{>Ý /àÄ ]÷æílG$óé8ŠóAbqiþ=ŠëSú§A¹ ,À{inЀp éW¼Lþ`A¶Û®æjQ›/US”O•e3é‡J³Ú4EUÖp‰ßâ2Ï#×áÞwé¸Ä{ÂÝcë0Û!Œ"Ñ u¨ƒ²•b ÊsÁæn `ŽB+ýMÀ8*‰ xlÞEíùÑæáx`SÖ¾v:-¯pdßB^YLš_ËUµÈ¡Þ(•k–§Ü“M]âkÓ£d<NOyèÍÁü­(³Õ.Wð¦õò¦ý ÏoÛp& ôªc˜Usa÷ƒ~WÏ‹2_©ëÌÆú¾ç‚®QËîq¥àJËx°~ÿ™’A4½ Çé0µì°2Tv…yAÕxq(H@|Ù•ûÂÓýcÖ5,`Se£¶ÐTø§gƒ¿·*SÅIÊPƒðö ¼ù‚áDz â zžçYÁâÊ%L"Ç®=¾¨X2?ðž!·‹¥êªÝöcÉ¡y^4º°ÆZì¶xôT¡Ì–UëÍJ5ú®nsA‰pûùA[³HCÿ¤Í6»=bQÂã·FÕ7µÊª2']½Zñ¤×)¸ßûÁ\¯j3âÈ@gIRH¢'žãî‡å6‰u›Ú¼M.ÅŒþ ïÆq´7ÒµêéšòÖñx mJ¤ï¿0ÊAyP‚aŽÐTÃpkœ\÷X¸a¾ÆÃôãéXáìsáŸùæyg§G¡ÿoã½9‰ÒÙd¬vñ.5Ãxõ£q©ãU³Ûö[.š'ï¡xÒÐm?(j¨w›MµmT~ 8¤}àlô~Ôï™y¢gª½XV ùéB‰"ãirrNé|ItM,³:Óá âñÀï=ÕK÷ú³º®³wý\«žšïQBêbéÎÆ¸„³ßNgD)v$¿äisɈÄ>’’^üªxÔ“‰Åıl*óMæC¸[C4´84½nˆ(5þÂç?lÕuendstream endobj 6 0 obj 848 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:39+01:00 2016-01-27T08:26:39+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001171 00000 n 0000002975 00000 n 0000001112 00000 n 0000000952 00000 n 0000000015 00000 n 0000000933 00000 n 0000001236 00000 n 0000001411 00000 n 0000001346 00000 n 0000001277 00000 n 0000001307 00000 n 0000001493 00000 n 0000001552 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3129 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.pdf0000644000175000017500000000776312652070435017057 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VírÚFýÏSÜqDòÀF»úÜéÇŒbË-‰@DRÝad!Œ2 IÔMŸ!¯ÒwìÝ•;î0‚ݽ÷ÜsÏ=ËÐM¼šÏxÛ{;µá±ìiðØûÒ£ršx ïBÜàˆÂU¯>CÁf`s8ÂmÏ Dw |êÝ)Wó©LÂ…ü:/ðiŒg÷Š~¯B¼/6‹$*¿.ʤÊw•:`¦F4ÍVðKšg%|ÿ°úgø¾7У˜0F<ñn Hº¡ßSÆ®úKÀUj“ë3\ö”‘§†ŸO `14”‰eM ~4ü ˆ6ùcšAƒ°u’{€ÉÔ"ŽÌ5»“ÙpÖÍ(·ÈlÊioöË~d¼odý‹ØÎ Y„@ç¸áœ¬{¹—ë([n’þËTõ!^G\6hïÕ‘’Wð^{³«éPž_jÖô¾€}‰=’`N³¦ã:–ä°,!jÒCTÂ.*¢mR%…8¤Ñ9'¶ÅyÓšþÓ!"Õ ÓLz jÊ ë4^C¹Î÷›%<$°ËÓ¬J³G¨r¨Ö ü“øÛ4‹ªdYÓNµVªÜ f+ƒNÕ1Âu“5[ʪhbïËVy!rH^tÔ)ã-wJUDY¹ÂÚL“hÔä iõYó§ÜäH<#Ž-¿"ûÕÚ4Åö´j¬”µUëv]u^$f` Ð=äûJÜ#ì6(UšÀôæŠéŽÑ¦Æ L`è…7°,¢UU¿’¨ÀUY3ˆÎ‘Ÿ¶¿(¸A¹­vM#ÕßÕQê‚©WæZJì`&V^ +¢Ä¨mA‰£Lôy] ~Å\튼Êã|å.‰Óoq·¶>”{l= I”½+’s¾ÁL ÕÍÚw°ö¸5×ÌmTd––[ø+à­fXÊ<üíçqè.Û,—?]^ô%sGÉIȈ+γÏû,Qe¯¿±§´ZK­¼9•ŸÞŒÈÑç3o:V™,KqGÞÑÚN¤fG²ä¹çP§;Ä7Íðš†#T…Ç©ÑÌ’âÎkæ„Ñ6æÈ,ÝnVýð Æ#¡cÛ¶uã ñÜ÷ÿÇû&Ó…ì9æ10Ýh{ÀˆfrIVBpÈÉtbkV;£Wf›#£k×A¶ù Ñ;‘ÆIäŒ^AÜierœ1äÅ: _0Ñeƒg£p‚ÛíòâÌâ_à›3ñt,ÕûÃM|¯µLç»–§£~hìuдÄtœg·ÙÀàbç!›èœ!Ëv?‚{dN#–IÛ²†¾ûnèÃÛ.}ØkÝpœ.{îrYKÚÆE¢½ÞÖ;eê…óé>ªws‹*®?÷Î4{,ÙÂ-õ@N“j_4wº·>@º’³\Ó iÙÒŸ,ûͦùøÃ8PE®1åSk3âd–W}U™WiBÎÃEp³y£`*ݶöZê¼K›É»MUü¡¬*y°&Mã`ÆZu ã>©3ËQÐuҬܯT& 0[ù§h*°N¢ÚU'¤! 3•6²}*“™çëÏ‚®“¹:7Êëlh ψÿ&B=hd*Z²)îYÿ˜½ßgÀ0ƒ nÆšŠP^Øû_ÿM­{endstream endobj 6 0 obj 1262 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:21+01:00 2016-01-27T08:26:21+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001586 00000 n 0000003476 00000 n 0000001527 00000 n 0000001367 00000 n 0000000015 00000 n 0000001347 00000 n 0000001651 00000 n 0000001905 00000 n 0000001840 00000 n 0000001772 00000 n 0000001692 00000 n 0000001722 00000 n 0000001987 00000 n 0000002053 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<61661A111EC6BF7F6B3C029DC1748C4E><61661A111EC6BF7F6B3C029DC1748C4E>] >> startxref 3630 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_INFILESIZE.pdf0000644000175000017500000001044012652070433016415 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VÛnÛF}×W Ò‡’´ÞåM[@±å@‰,¹4µ ƒ–V[^^š8Eÿ ¿ÒìÌò"ÉŽãDQ;»sæÌ™™ýœ àôižË¤w4wá¶èq¸í}è µÍc™ÀË <ú#X÷ê=\\ßdžAÒsæ›|ì]jÇóÉì<¸OOÇ“ÑbüËèJ3¯tXVy|-Ãâîºe¶-õasƹ«áK”¥<²Sÿ5xÝpftµD$>"a¾M`L‚IO›õo<® ›Ùˆ¯zÚÙH~Ûƒnpfq eþ^ø"Ñg ÙÊ„(ÝV%üK(3\LW¸ ó=ÛÒÖ á®‡y Çâýtv¾/Ñ(…Dû&J—qµ’ð=±tD_ló#™– @.34¸Ïâ•Z‚ç›0]Ųÿûgé-a§€®ôHÕW°žŒÇóñy0žMƒË™cDžön#S¨¶q®"ô¶ …Ë$+%rXÊ~}Žà­€ƒ9¾Óä¨ÁuÏg¦‹éV&—Z±Éªx7ªB®ÈA)ãâè†è€›°TY’º ”p[û´•ËM÷rXËH d¹ãíBn-ƒ]†£‚A°‰ øC7l¨©…q%!©Š’0lÂP„†IÔ2XH a\dºH ÕØú03דáüU£ñƒð…-šMë,WrCvÉd`zx¨`¢â0×…Ç8îÕneއ)¯^²¶|„Mõ¡f˜ƒ©”€%¸ÑøÊ+rÁ›Ïä-ˆ.¿UAß‹ãs¥Ìú ×c¦ÝöËî—¹ç^³@lÖUY~O6%¤ñ¿X"”­FÐC‚5–Y~§;˜7a9Z¼G˜¦Ìp ¨ªV=Á¥â ƒ½Ð]æuœ4§ÔÊF¤0KÔ’ou[ £´¯FT’4¢ñÚžÔxãÌ5]Õ4Y™„Q\´ÔžŠ[“d‹h,܆ûðë1[t¬ÑѶ:š0.³„˜€% `¯d ,‰h}§ ¥ÎEƒjwÛ0Y¢hÖuvÂòz=”m<Ž'p:×-®ÍÎZOu¼Ô­ùÜK÷*Cm¦Y‰Åš ?RFg¨„n:õ|LvIðÈDtÑ‘9\-7€w•a—eÆñ¢´OuYRCPL¤ežÅ1 Ó2Ê%ÝÜ©~Q‡iºÌrÌ/ęˌã›pù;¾•Už}¸Ñ ^wìÔƒ(iY*]ø†ÛèéoÂ*Ú›2G(&Y…$¼ƒ˜\a~džgyÁžš%'£S…3ÛR$""_Xm­/êÈe3 Çt›ÕIÐQ¼«#ê ®ëš]¾µ |]lâ8Ÿ70,³Î¥…ŽÜFƒqÛW9›0ëœ&s¹ÓŽçãÙäÞHDÜ>é\jgaªš:Q{÷7£Ÿ‡gç“Ñ£sKªç¥’Ï{ã4J#¦4q7ÙãÔÖWYàíåOԭݤ&j=÷Ô„ù¨[]S5½ØMíàù¥öp^Ó?»9><[—Ûp|5óæS˜lcɰ¾ŽV²(£4¤bb%öx›Èà†Æn??#´DÉrt>™éf£ÂáIĤÝþäÞýËÄ.êú*±·y+sl IË­vœýÕÓö¼׸ƒ4’x-•ªá[î´C×ÑΉñdør<ïïÏfZžw˜qêªPTÛm–cå­VØ¢\l=Œ]å—Ú|\̧ðVÄ#´áäbÔèð¡ÂоnŠºÑõì D뽎KM©"©Ua›¨ /¦o¦˜[{7½ž©Ëmľùd?XŒF0œ,f»@îÝ-›¨®x)kÈUöx":tº³»5+YYMSžÜcÆ·±Þ}ïÁ±“ãÂh©!L'¶=ÝÅ«æe lÛ·˜­áíu…Wèêt«ë‚޽Ÿðó/1jÁendstream endobj 6 0 obj 1471 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:19+01:00 2016-01-27T08:26:19+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000001795 00000 n 0000003757 00000 n 0000001736 00000 n 0000001576 00000 n 0000000015 00000 n 0000001556 00000 n 0000001860 00000 n 0000002186 00000 n 0000002121 00000 n 0000001981 00000 n 0000001901 00000 n 0000001931 00000 n 0000002065 00000 n 0000002268 00000 n 0000002334 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [<4D74F304DC52C34959E2B5EE7EAF6339><4D74F304DC52C34959E2B5EE7EAF6339>] >> startxref 3911 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.pdf0000644000175000017500000000767412652070442017342 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÿŽÚFþßO±Rÿ¨‰`ã]{×¶ZU"wŽDÂab›´§£B®YW`rºwÈ«ä;û Ü¥ïìÌ7ßÌ|»_ƒ räÇ<‹­õ6ñÑck9èÑúbµˆÌ£Ø¢wòE¶²ô‚|ŠüÐÅAˆ²­eßÌ’q<ÍI/û×bsב†ÙÒr¦`ód=ØY:]¤QšŽâÉbt;·Ýy‡f³yû¼hžÞí{Ê~”uÕ¢ÎíßÙË¥»¾vûš3{à`J ^C€ŒC&Q\?@—«­“¡´t¤a˜…®qyÉ÷]ªÔÁžã£¡rÙÑItXˆÃúWHÐw™ ½0O.Û¶…„ÐèV%rCŽ…!½ŸÄÓt”^"Q& …ýKY›ÃR ß%uoå^ÿ!Í©‡²±•½Ñ‹l®Ù«%ôfWËèŸñË«<ú¨Xç zS.ç½ß~†ú6Jo’Ñ4ƒ­¦„é¼’Á4?Ñâ€iò ¦— Ûm‹råò÷.oò­Ø‹íkÅí~-ÐWéƒpÝÃf?ÓÊ7ê•2QÉr€©ãø®*Gz*ZÕ2ÔŒ`4kÅê°‘¯UÎb(36Ø)æÒˆö°-«G”W¨¬»¦~„Wí±ÒÅU!ÀsÙTÊtl…¬lu5lU1&$ƒr˜C‡ý\÷( Žãô`×Õ`2nÃ@¹í£Mù,7z*7Ôˆý¡©LÙˆcŠ0 Á{ÌF7J´HÎ+%IÏ5­'ÆÃiø=‚™Ï5 ÔÕ%+W’ÊF¢¼(¿ÝB¨AnªK1“»díižY\®º|pÃnê­ªO+Ur/Ť.ö~Ó›xœ'ü Á!àé%nBÏzÝN§/qz¶èÀF ï¦ãèØyÁ…'ë°W¶¨ŽrRY¼<8 áë¢Iî=•ûð3êÎ(gÄdÆÃw£ñ(»¿Tq¨–ëAŒó†³‡Ë¥XÊ.ñAÁ°óÿ…y°“(›%ô¹G\è5Nìáx]Mi—2ÝÖ‰}¢F‹ø#*µ@ê“V‰Òa·«›½XöÑlòq÷d˜Ð¡öŸ“E¬^î„1ë##‘2ÒØ2RϲEü~qÝvü*‡]±ML½£€Ý—=yƯöj»¦`BCŸĵhzê©C–ƒÈÁ4UíaÕ£fƾ¥TöµÈw¨ÝåÅ«ÃE|àœŸ¯Q„†ã4îx¾dìü€W2èu0&ѧžRE—Ù³(Í®…Ñ%Ø?j™ºŒô/#ξ¢¯ ‹4K¢áÝb–Œ®Ý3hlþÂýÀ…ê0NäÍ&Ä\»> ˜w%è§a,+nE¢ñ”wï4ªDúŠ2ë|þ8õŸendstream endobj 6 0 obj 1207 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:26+01:00 2016-01-27T08:26:26+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001531 00000 n 0000003421 00000 n 0000001472 00000 n 0000001312 00000 n 0000000015 00000 n 0000001292 00000 n 0000001596 00000 n 0000001850 00000 n 0000001785 00000 n 0000001717 00000 n 0000001637 00000 n 0000001667 00000 n 0000001932 00000 n 0000001998 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3575 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_NETRC.pdf0000644000175000017500000001124012652070436015631 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…XÛnÛF}×W,ЇP…´á.ïhQ@qÔB©l926° ƒ¦V[ŠTHʪ_úþ•þcgöBR²›À€“«™33gÎÌú ±)#6þèÏt;x» ÈC=°ÉÃàˀɗD¤[ò.†!>ˆ×õFN‚È¡aDâí ôiÄI|ÜXg×Ëùâ2¾»˜ÆË³[˹’t_åw"©ŸîjÑ”»f8æžMm;°à¬,jòòKÃ?⃱M9)øÀ?<„àø$ž¬‹Éð @†·Ì£^ä¬x5°Î§ÃøÏ`nS×Șq|m#Êcä_R‰/{Q7¤Ù$ ¡…hª”d5Ù×b¥Œõ¼Áý˜ù4”Þ®>_,.¯fWÇ>åéÏú.+Ò|¿äGLÃ[üE7?áqîÊ0KZÂÓ4ÝÊWäûMR¬r1:NÒˆäeñ@r9€41óàØV¦óð(ЉÌODy…®~‘ßx%*×£N/°÷Ó«³åì2ž-.þ/6›:Q(óo [»¤J¶¢IË¢©Ê¼†| ²«ÄZT¢H…²ÃlÃ$/¤a¨@ÝX ”Háò\–¿WCF}æl¹&yvù"÷¢9Q@©2H¬" ¨ $ ÕõaÈ0)®o•Õª&ëªÜ’§r_i-š1 mêÙ¡ îÆúç­dÂÐ ¬ôÃdFE©g,Q%ò¤É0ή&!µCSȘ<ü(H#)@åæRÏ"]ŸrߎáÎÉõÍø²B&‰Sïw»<+rÈšÍi¸Ü¨£hÛ>Tó<´õ1*sBèzNÆH_ŒÈã‘ÂfJEx]-È­…`[8eœ(·»Fô#ÀÂC _Åí0‡º<:~5]^þöþð lsÃü²:¡àØåõý¨+zßâÅZϵ&çÓN•úÆûÕ± ÷ÙISBzE ÈNÔòý©‚ ZëFÚ”Õ–\nN@>ê†Ê!)÷OPà~· =l›(„òHÍä±ïuõq¡ñe}EþD¶IºÉ ! 3êÕ¨£SD£Ðs<,I*ˆ#ùK> ‚È‚FË ,MË}Ñ@e³"kÐhU*JÖÙ6Ë“ 15(ÞH\P4ÊÛJHöÍ3£•Xù²^Ü%×@œO¦ÖpkU·Š²! {§N`*G}yTTÙúI)9vô%Ù$JŠÒ²ªDÚ ýv¢j2°R‹üTïëBH îë"û›¬›Iˆ'ºLd¦pkÇý‘­¹)÷9°³|/@ ’UrΡ`˜fU& 9=¥tüý·Õ;FBZGàÁC5J¨'H"Fð¤Rjä0ÑÈJÔi•Ý#oD^š¡ê+Õñm 8ÐVt€A.u0(T³@u…š;w 5i1—FûC!bŽ #GhRp[Ï(‹xKö¯‰-§ÜtZ׋ú@µH’$ý²b]VÛõ¥ÎAžîÍ0ªÄŠÇ^yµ}‰Œ©ä0›ÁTs»h¸q7Ö!Ës™ô4) H(8’ö7%,è»/xàíÉù×v˜ì*¤è|ÿÈ>– 8 Ð)̃kr4j@"„МÏG²á:ž‘Äb¥UÚïDMöA.^ë÷žø’dã{甤,p õ-èø!Ó@=9ÆÝ«Cƒ–ºÖèp4Ù˜!ß&K7DMîBm‚ðh—iíï3UÖZ i_2îú\PªQïDš=‹•æ†ôÈ}€â·sß¾˜^8ÈÞ¼.Vâ+Í…!»L7—î9Å@"ù±IL©0˜Çi¼>üí£_+ Ê»X·¼É2ÚnÃôs{[Z¯1g¿\,–Ó÷h¹·~"¹A<«¤zR³‡¢DU×Ò¨‰«d ¾ÞA2#˜ ¹éeJ.WR.^d%ûÜ€ìïÇGÒ±œ~„óÖõ a¾P ­ôÒÁ£,·G#ß OõsO‘ëõÒ'_Ë ,áfŸA¿Pz±¿æH1B;>ÖwÌبER[‹—ìë²ï/ÙpiêoØ?kÊ{®¤5Gus {'×ò-ÃîÔ—î;šKÖ$N@囑f=Õ/SáÔÅ-BMÂå4¾^^OC†Øg0¯§§ó²ËÍR4ûJ߯§w‹_¿u™NÉd~µèŽØ;Ù·Oa˨ äº<:6~|¿ÛoWm™Šx€«ö‹-ûâ…]nLÃHÔsÎl‰pµÅ}8fž¾Z, öáЗjm¹ÊÐÒ4|„Ÿÿ¼‚»endstream endobj 6 0 obj 1852 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:22+01:00 2016-01-27T08:26:22+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000002176 00000 n 0000004141 00000 n 0000002117 00000 n 0000001957 00000 n 0000000015 00000 n 0000001937 00000 n 0000002241 00000 n 0000002570 00000 n 0000002505 00000 n 0000002362 00000 n 0000002282 00000 n 0000002312 00000 n 0000002446 00000 n 0000002652 00000 n 0000002718 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4295 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.html0000644000175000017500000000445212652070415016731 00000000000000 CURLOPT_SOCKOPTDATA man page

NAME

CURLOPT_SOCKOPTDATA - custom pointer to pass to sockopt callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SOCKOPTDATA, void *pointer);

DESCRIPTION

Pass a pointer that will be untouched by libcurl and passed as the first argument in the sockopt callback set with CURLOPT_SOCKOPTFUNCTION.

DEFAULT

The default value of this parameter is NULL.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.16.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SOCKOPTFUNCTION, CURLOPT_OPENSOCKETFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html0000644000175000017500000000450512652070415020661 00000000000000 CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 man page

NAME

CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 - checksum of SSH server public key

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5,
                          char *md5);

DESCRIPTION

Pass a char * pointing to a string containing 32 hexadecimal digits. The string should be the 128 bit MD5 checksum of the remote host's public key, and libcurl will reject the connection to the host unless the md5sums match.

DEFAULT

NULL

PROTOCOLS

SCP and SFTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.17.1

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSH_PUBLIC_KEYFILE, CURLOPT_SSH_AUTH_TYPES

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.html0000644000175000017500000000716312652070415017470 00000000000000 CURLOPT_REDIR_PROTOCOLS man page

NAME

CURLOPT_REDIR_PROTOCOLS - set protocols allowed to redirect to

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REDIR_PROTOCOLS, long bitmask);

DESCRIPTION

Pass a long that holds a bitmask of CURLPROTO_* defines. If used, this bitmask limits what protocols libcurl may use in a transfer that it follows to in a redirect when CURLOPT_FOLLOWLOCATION is enabled. This allows you to limit specific transfers to only be allowed to use a subset of protocols in redirections.

By default libcurl will allow all protocols on redirect except several disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are also disabled. CURLPROTO_ALL enables all protocols on redirect, including those disabled for security.

These are the available protocol defines:

CURLPROTO_DICT
CURLPROTO_FILE
CURLPROTO_FTP
CURLPROTO_FTPS
CURLPROTO_GOPHER
CURLPROTO_HTTP
CURLPROTO_HTTPS
CURLPROTO_IMAP
CURLPROTO_IMAPS
CURLPROTO_LDAP
CURLPROTO_LDAPS
CURLPROTO_POP3
CURLPROTO_POP3S
CURLPROTO_RTMP
CURLPROTO_RTMPE
CURLPROTO_RTMPS
CURLPROTO_RTMPT
CURLPROTO_RTMPTE
CURLPROTO_RTMPTS
CURLPROTO_RTSP
CURLPROTO_SCP
CURLPROTO_SFTP
CURLPROTO_SMB
CURLPROTO_SMBS
CURLPROTO_SMTP
CURLPROTO_SMTPS
CURLPROTO_TELNET
CURLPROTO_TFTP

DEFAULT

All protocols except for FILE, SCP and since 7.40.0 SMB and SMBS.

PROTOCOLS

All

EXAMPLE

curl = curl_easy_init();
if(curl) {
  /* pass in the URL from an external source */
  curl_easy_setopt(curl, CURLOPT_URL, argv[1]);
 
  /* only allow redirects to HTTP and HTTPS URLs */
  curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS,
                   CURLPROTO_HTTP | CURLPROTO_HTTPS);
 
  /* Perform the request */
  curl_easy_perform(curl);
}

AVAILABILITY

Added in 7.19.4, before then it would follow all protocols.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_PROTOCOLS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FILETIME.pdf0000644000175000017500000000741612652070430016160 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ–ínÛ6†ÿë*ìǤ"fIJElঠæÖ‰=›)VÄC Ê´£Á–In–{Ø­ìwHÉ–l7ë`À²Äóñò9‡G~BSḐ½¦[çíL uå´vžjQ{I·èƒÈ/õ¶¨Í¥*veª›=QP5 !ެˆùç›Ét>šK±&V†ûC–§›ÝR£Ÿ  ·æ ?übÌY`wg$¦œ\Ø%ôæ!É—}q†ïmŠ|möcä/¼Ÿ€Ò(}Ï/g£©MnLv@nê™~[õ416–¹ÄoˆƒGà[¬U…›£Ñ e5Ê*DAOöÅl=g› JêZouñ‘/‹t·Õ9DƒåY<ê2XµVE«ŽâHDM+šP)c\ê§]UפtùÕƒÎ!„®.á>_VÖ ÑP‚áã&3žlË>|Úéò%ºi±Ý“CÛV};£dN˜) zsçv¥[{KÉÂÈÕu–¯Š®Ç;ÎQ %ÛC ˜´PW»<µhž³úÁèkzêN0L©hÝloŒn®&'§é¨ )eXÒ¨õHJ³*0dtÉ-IwÝO“}ÑhWé%JV5Ð e’W+øYG3`"ÂB‡¦Ñõš†õ²Ø &Ý×%ÕÙQ(Ã%”²úÕîœa~É]Ö‡Ðæ,"´Y¸sMÕn¶BIîÑÀÔ@¸/ ·ìûÇ‚R‰‰t4®Z9<ˆLl%’mlwxkW©fíb¡/ÚÕ±:HêÈ› !üùÎ ™ÎZ o%ÀX¸¯ö€a›.™(49$d>$ÜÄËÉødf ":¿*5íÁÿè¶þW}¸<$û^;ò9^º˜¿âsuì-O~5´ò9&J#ÌxUüûðzÚXÎÑ«SLu¤¨oZ­Éò~ÒÖ“GÑÙ;gHcyÈfÊXòÃOhØ‘'8ä´Ó=|7Ôç“óDZ@޽žáf¯¹éì=çnÚRÚçñRãàÆâ 4£p«ÛÙ úäQÚ?¤îp|ŸLž›™®weûRŽï'¿÷ž‹c4Ï'Ùq¼£hGŸÇ`äR.ÝâDü“þ¡éìØºh ¹Í8ñ#ŠÃ&èþ"°/0ñ”s`îR>ìrÄ lôàp¨ +ç7øü ô§B¹endstream endobj 6 0 obj 1033 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:16+01:00 2016-01-27T08:26:16+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001357 00000 n 0000003247 00000 n 0000001298 00000 n 0000001138 00000 n 0000000015 00000 n 0000001118 00000 n 0000001422 00000 n 0000001676 00000 n 0000001611 00000 n 0000001543 00000 n 0000001463 00000 n 0000001493 00000 n 0000001758 00000 n 0000001824 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<6D96DA523564F0E0E6E183D100380364><6D96DA523564F0E0E6E183D100380364>] >> startxref 3401 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.html0000644000175000017500000000401112652070415020454 00000000000000 CURLINFO_CONTENT_LENGTH_UPLOAD man page

NAME

CURLINFO_CONTENT_LENGTH_UPLOAD - get the specified size of the upload

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_UPLOAD,   double *content_length);

DESCRIPTION

Pass a pointer to a double to receive the specified size of the upload. Since 7.19.4, this returns -1 if the size isn't known.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.6.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.pdf0000644000175000017500000001005612652070432017437 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVÛnÛF}çW,Ð*07Ü ¹K´( 8Œ£DU‹NcØ…@S´Í–‰Šáh?¥ÿØÙ /ò¥ ˜0¹3sÎÌ™™ýŠ|L¯~ö™¯×§ÝìÝ8_¢?"ûÈ×èM ¤z‘^;Ɔ A‘ˆ–J׎{|v:Mæéòd±Ï'Ë·ñ4>Ò?B¥:¦+‡Ìáø½sᦓdvé²ËÊ÷ÛjYd»‡å®hê»fäQáH.üSÖ›zÞ÷é‡ù Â8ï]ª°ž)X9 9ŽÞãŒb"…Úf¦1úê p1ëëS¬Þ÷¤©¹/G¨úìÏã"„`Ÿ„ú)”UU=¢Gî}±B`á ZU¡‰\?P(h(0dÖ ¸É:tf2’Ü~Py1‡Üa˜b©-ÎgÉ|1Yrê–‡ûS¹É«ýª@¿¨*¼Vðí¯ê8å(:é+Ã2¯áÌãB]êOèÕm¶YUÅÑ e" Ÿ4é8BU½¹A=g¢9³0¼¥ö­p¦ÎÕåèç§œ9áX°ç·ñâøt2Wá^¢ ¹–T•Ð]@qšÛÂÀºË¶ÙºhŠ­±#¾5‘ûRX _¸€¤âû‚ÖJ3è„`F(iËTë¤<í pÀB:ÐíòÝT¡8PÐr‡ 8uAOš $&Qè֙ީ3š }µ• }@–ñÛ0÷û^êËö½JÑÉØäõfU*ie2˜Q¾-<ÝNŒB‚¹lSH »˜¶Z›¦-eÓxFÉÀ€sö%3,¬£ôV;áÐÖ,hy=q Åzb/ùî1*ߨܡU¹Ë®*è¿«À{­ÌtqioÀMkgûªA;èŽ x‹y!<9‘h:½ ¾ÎžQ6ŒÌÒfëÂ}a>,çÉtr|®«¯ )ad*$1Ãê È¿š‰«Aõab1Ù¦øI’È$ Æd™$¨ÞT¨¼Öì’Þxá ç¸À$ {+©­Òý“ݨäªAWn´í®Ø~+ó ‡b_ðnä4eþ—öãÐ8 ‹P;3òlW€py]dÍ~[hïû»»zÛ˜Ú©í-×wU±fºÊ0‹ôçUñ÷FkպΞŽ×‚ãå±)Ȱ¦ytò`M0iswrßwTEöƒ^n¶CY»q»Hü®uÝoÃÄ“Á<++¥E”5(¯×weUxM¹.ðÓG}ò`Ľ³x¯„g o§ÎøÌV3Êâ¡!k·ä4íðôcKb!ã½bŸ.®í,™Åvp€q~j!r&íÈÕfÕè$£º$EIˆÂ8ðÃVÐÇÉôÑæN€ìÅô>MçÏìÁ!øËøÓ|[4Dì´ǡöh`Q¼Ml6)Ÿ¹NDêdM%]OwüõW ¨O¶'Óñ›Ét’ž’S;KypÇpÇ«Hš¦$íÿ¹^¸§qzv:CŸG„ÜC⎧gñ£ÕS†óô—½aÅËäcÛüææuÐwGºµÌÁ³ÙÇY2bûûl™èU« 7uƒ¿'‹E£ñt‘ôDU¡½D´•U"W)”°Ë¤(ñ¶VQבnúþQR9æm%õÝðè02 ÃnH¶Á{ñªaÝÕõsòÅêXYÛ‘§ÍD<£³aåýÞÿ¡ó¨öŽápp߬Ê+u-0ZðHD.Üs?ì7ˆú„ëüó®…ˆò§Îoðû‘"í`endstream endobj 6 0 obj 1318 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:18+01:00 2016-01-27T08:26:18+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001642 00000 n 0000003535 00000 n 0000001583 00000 n 0000001423 00000 n 0000000015 00000 n 0000001403 00000 n 0000001707 00000 n 0000001961 00000 n 0000001896 00000 n 0000001828 00000 n 0000001748 00000 n 0000001778 00000 n 0000002043 00000 n 0000002112 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<7C1557EFC07F9DC42E12523F74EAD996><7C1557EFC07F9DC42E12523F74EAD996>] >> startxref 3689 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.pdf0000644000175000017500000000757612652070455017024 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Vín›HýÏSŒ´?ª0eø˜íj%7a%·¤6înU¯,‚Ç1[ .àxóPû޽3|'ie)vÌ{Ï=çÜ;þ† L!^í{²WÞÎz¨=(ß"¢ö-Ù£w¸â‹h«4gb&bž…]E{Å"سPtR¾¨×Ëùlü®ƒåíú: ÿ:Z¬Tk¥¡äXfkWOë^§ù¶ÐtÓ1ÔâP§E^¡×OjÿDïÝÀ&j €ñ öÇ¢(š)j0Ñ~üð”8Ø0ðy£¨·¾ý{†Þ4°m0¤S<6ä—£ÿ€DùqÏKTlQRò¸æ”yΉ¸I}†E0:¡Ø•µŸƒðn1]ŒÈY]ý%Í“ì¸áèwÁÌ[ñïþá¦-›È’ž1·’ÏЛ]œo2~õ2wW(+òôš8¬´ß€  ½ñ×óé]4 Ø&NCö Èïb#éö°ë4dµ&“ŒVŠÑ¡Hó¸« øGO%Ox:ÊOÞçu)˜IeŠGŽvmœÙÄ1Ÿva^VœÐ¾‡bš˜2j¶Òǹd² 8M×síöáS>N.ú“ü„’>)q1듊Û½ P–Þ }Ð.Þˆ£È¶“]ÊÇÍR‚ÙÐÅY³õPÐ>(¹,¸ãèPòÆØu–1õ1-ŽÒ‰º ÊZéÍ™#gR­Ë8¯¶ Å `gO¨†\Õ1IxUmYçhЬ§GPm³Ò°,%ÀX}ó̱›‰)ö÷iÃpJë]cob´.¡Ø‹¹-ºÞ—sÿf:S‚9—AÔLõh.tÓ5Ä6iÑ ÆÅžŠ£Dßg’Õ¯y!NZ˜)¬8F»z§ Ó8ص:ªHsâ™k,lQ:2MŸûÂ4g"lõ" ¬´Ù~鞆8ÒK~¬€1®&Ã0mõ¿´‚Q~8[(+µ‚-Y”(/j¬éŠ8Sœ Éš%Hl!h2‡,¨Û§ÅöBÏ´4½ ¥â5œxA†‚ÝPóÙµä k%ŠÅ€»>ä” üˆ£åGmù¨ËØDûøëyF¡ ¯“†,A·T^V@Ïëó,ÒUñxÈ †;=yŸL·a?°~<Ô´Â?Yáwó6³m¹ílš”µýê&6À[‚ý0Bṡ˜A»è:œ]Ü:\–̲íÉ$Ë~‚Ãÿ{r{7ó»6ÝWsžK@:µoä×PØqÝg7¨n{"²¯aF3ç“Oh2´e`êNëélòn:›FŸÇ½¹-jŒ.ØÉfÎOsÄ0(jý¸×/êÜ–ó}ÒˆÛ‡u2[úÒý/µ ñ¼>–íï~@éV®¸fPZÁ E kí Á}Ù.ƒA¨YŽúW°å½'ÊÑkj½~±û>šÌáÐÈ%¤ËûZ3aè‰ã©ÅEÌÆl°¾«qZ¨J‡»Û1ûŒ`ò,•N<ƒ¼PÛ ¼nA1lÛØÐtâ8–§ø? €J”vïa"òø‘ò^ßÍû›endstream endobj 6 0 obj 1152 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:37+01:00 2016-01-27T08:26:37+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001476 00000 n 0000003359 00000 n 0000001417 00000 n 0000001257 00000 n 0000000015 00000 n 0000001237 00000 n 0000001541 00000 n 0000001795 00000 n 0000001730 00000 n 0000001662 00000 n 0000001582 00000 n 0000001612 00000 n 0000001877 00000 n 0000001936 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<53FA2EECDC196F6CFA98AE6F3CAE6324><53FA2EECDC196F6CFA98AE6F3CAE6324>] >> startxref 3513 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.html0000644000175000017500000000512112652070415016663 00000000000000 CURLOPT_SSLKEYTYPE man page

NAME

CURLOPT_SSLKEYTYPE - set type of the private key file

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLKEYTYPE, char *type);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. The string should be the format of your private key. Supported formats are "PEM", "DER" and "ENG".

The format "ENG" enables you to load the private key from a crypto engine. In this case CURLOPT_SSLKEY is used as an identifier passed to the engine. You have to set the crypto engine with CURLOPT_SSLENGINE. "DER" format key file currently does not work because of a bug in OpenSSL.

DEFAULT

"PEM"

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

If built TLS enabled.

RETURN VALUE

Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSLKEY, CURLOPT_SSLCERT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.30000644000175000017500000000351612626067776016447 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REQUEST_SIZE 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REQUEST_SIZE \- get size of sent request .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REQUEST_SIZE, long *sizep); .SH DESCRIPTION Pass a pointer to a long to receive the total size of the issued requests. This is so far only for HTTP requests. Note that this may be more than one request if \fICURLOPT_FOLLOWLOCATION(3)\fP is enabled. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.4.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLINFO_HEADER_SIZE "(3), " .BR CURLINFO_SIZE_DOWNLOAD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.30000644000175000017500000000355212626067776016373 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_PRET 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_PRET \- enable the PRET command .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_PRET, long enable); .SH DESCRIPTION Pass a long. If the value is 1, it tells curl to send a PRET command before PASV (and EPSV). Certain FTP servers, mainly drftpd, require this non-standard command for directory listings as well as up and downloads in PASV mode. Has no effect when using the active FTP transfers mode. .SH DEFAULT 0 .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_FTP_USE_EPRT "(3), " CURLOPT_FTP_USE_EPSV "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.html0000644000175000017500000000425112652070415016751 00000000000000 CURLOPT_SSH_KEYDATA man page

NAME

CURLOPT_SSH_KEYDATA - pointer to pass to the SSH key callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KEYDATA, void *pointer);

DESCRIPTION

Pass a void * as parameter. This pointer will be passed along verbatim to the callback set with CURLOPT_SSH_KEYFUNCTION.

DEFAULT

NULL

PROTOCOLS

SFTP and SCP

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.6

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SSH_KEYDATA, CURLOPT_SSH_KNOWNHOSTS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_RESUME_FROM.html0000644000175000017500000000636212652070415017002 00000000000000 CURLOPT_RESUME_FROM man page

NAME

CURLOPT_RESUME_FROM - set a point to resume transfer from

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESUME_FROM, long from);

DESCRIPTION

Pass a long as parameter. It contains the offset in number of bytes that you want the transfer to start from. Set this option to 0 to make the transfer start from the beginning (effectively disabling resume). For FTP, set this option to -1 to make the transfer start from the end of the target file (useful to continue an interrupted upload).

When doing uploads with FTP, the resume position is where in the local/source file libcurl should try to resume the upload from and it will then append the source file to the remote target file.

If you need to resume a transfer beyond the 2GB limit, use CURLOPT_RESUME_FROM_LARGE instead.

DEFAULT

0, not used

PROTOCOLS

HTTP, FTP, SFTP, FILE

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com");
 
  /* resume upload at byte index 200 */
  curl_easy_setopt(curl, CURLOPT_RESUME_FROM, 200L);
 
  /* ask for upload */
  curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
 
  /* set total data amount to expect */
  curl_easy_setopt(curl, CURLOPT_INFILESIZE, size_of_file);
 
  /* Perform the request */
  curl_easy_perform(curl);
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_RESUME_FROM_LARGE, CURLOPT_RANGE, CURLOPT_INFILESIZE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CERTINFO.30000644000175000017500000000374712626067776015613 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CERTINFO 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CERTINFO \- request SSL certificate information .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CERTINFO, long certinfo); .SH DESCRIPTION Pass a long set to 1 to enable libcurl's certificate chain info gatherer. With this enabled, libcurl will extract lots of information and data about the certificates in the certificate chain used in the SSL connection. This data may then be retrieved after a transfer using \fIcurl_easy_getinfo(3)\fP and its option \fICURLINFO_CERTINFO(3)\fP. .SH DEFAULT 0 .SH PROTOCOLS All TLS-based .SH EXAMPLE TODO .SH AVAILABILITY This option is supported by the OpenSSL, GnuTLS, NSS and GSKit backends. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_CAINFO "(3), " CURLOPT_SSL_VERIFYPEER "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.30000644000175000017500000000346012626067776016554 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_ENABLE_NPN 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_ENABLE_NPN \- enable NPN .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_NPN, long npn); .SH DESCRIPTION Pass a long as parameter, 0 or 1 where 1 is for enable and 0 for disable. This option enables/disables NPN in the SSL handshake (if the SSL backend libcurl is built to use supports it), which can be used to negotiate http2. .SH DEFAULT 1, enabled .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.36.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SSL_ENABLE_ALPN "(3), " CURLOPT_SSL_OPTIONS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.html0000644000175000017500000000407012652070414017166 00000000000000 CURLOPT_ADDRESS_SCOPE man page

NAME

CURLOPT_ADDRESS_SCOPE - set scope for local IPv6 addresses

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ADDRESS_SCOPE, long scope);

DESCRIPTION

Pass a long specifying the scope_id value to use when connecting to IPv6 link-local or site-local addresses.

DEFAULT

0

PROTOCOLS

All, when using IPv6

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_STDERR, CURLOPT_DEBUGFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.pdf0000644000175000017500000000776312652070435017466 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Vírâ6ýÏSh¦?j:A+É’?¦Î°‰Ó²K€‚“f›tLðÖØÄ6KÓgè«ô{¯dó•ìf˜Äºº:÷ÜsüDå„á§þ­ZïÆ.y,[Œ<¶žZ\/’úg¶"ïCððA¸h™=œ¸‚¸¾M=Ÿ„«WÔ$ܶî¬óëq8 §WÝÛË^?˜ôþ¦ýîø—àÞ²ïÛd¶)Òi•ÏÓ2®òuÕîÅ(c®ÿ$yV’o'hÿ~huž.pQ_!4Û!a¿e ºíï¡XXÊ·n8oYWA;ü|Pˆ`T2—t¸ÀeözòYE'«ÍŠü›Æ¤Lþ‰I”¦y[(Do[ÛxNªœÌÍ.k›¥y4×€`vg‡;ÔÓ°&ŸÃѤ79§C40ë»$›¥›yL~BîÞá]þŒáBêzó,‡€Snïõùaeó4>û:³g@˜£šï,(_´…¤¾/\k1­tÅ÷í_)‡3~PÏE09÷Fao8@ŒÐ*®L§^©maŒî•O=e:Ũëû¦eI"r„Fq&*É:*¢U\Å…†dSákEp.¨Ïºé4ÜÀ9õ™_?_&¥iÒèS—û|¸‡‡[Û’<çìi¹ŽgÉâ™T˸égÍPØŠÚ¶W'GªŽÛÉ=€×,ß[IFž«¸„yÈP!*Êhvù•¼‰ÝfÍ¢~¥ôâ8u4F%½…††YŠøi—h \ä›lNÒ¨À\yÔuMZØ=Ó ?ÆlŽ2ø‚_Œœ…´¢tŠÁ´Ueå¶Iš’,)TQ-ÈmïhÀ=4ÐQmÁ…fJ°]†nÑ´^«/¸=‚‹àâ˜-×§Üaufšg?`}Õ¦Èâ9Õ)›ÀNöN W‡‡5zL¡.D¥Q Ôé©ë6:”‰Ú~g=—ä¯,×Úó˜‚~u‘äE3ê(I&êQ?CN€õ‚”›Ù”†Vcmd!/4o•Ôõv²“´tÏ*ŽV™j¤ûE/‚ÈqÎð|O6x³¤-|A.¬E¥Ï1UÆ÷ªZšü+GžX cÓó8›—d³ê“ìQK ¤Ì8Lá±p“Ƙ dî:`Ñ'ˆÕ ¼V–î‰S÷X³'Y%%!æžåÙ,.àfxÈ«%¹ Gšæ_Cø£ÁYR£ C[6~œé²¦UÁ$!¯Ëesb÷Z¯r´óúòŽ]OŒÕßÉ^¨X®ëºöŽBkgñK(G†?×(¤­Qp 縵à:‚b§Qà wg ›ºÌi®²óaÿ侨>à8î¥uÈÕ¨‚ÛîÕ¨4ºó¾jÙá·±ÛÒŰfOyÞ‹‹¹#}ŒÜ†$K°{Cºû"uÔÎ?zýîû^¿~:±RpZéyÇ…vçs´¼Œ¸æ—}»Ö;k„×ã¹isØáV·Ôfö²dˆ×®c^M‚éð#IŒãÖs -7ëu^€ï0׃ƒaÛVÖïƒéP߈¸¼ˆ¾ùR¤ÛŸ ÷…œtá•«ü„&PŒ¿»pàÅéì8åìlî0ÝtœßL'#ðeórpz“yè⧉¾¢ZlK…w²–&xuCOlzÒáJù’* ÞÜ>l2"à%Ió wºæ˜*[¿ÁçZß³ endstream endobj 6 0 obj 1262 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:21+01:00 2016-01-27T08:26:21+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001586 00000 n 0000003476 00000 n 0000001527 00000 n 0000001367 00000 n 0000000015 00000 n 0000001347 00000 n 0000001651 00000 n 0000001905 00000 n 0000001840 00000 n 0000001772 00000 n 0000001692 00000 n 0000001722 00000 n 0000001987 00000 n 0000002053 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3630 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.pdf0000644000175000017500000000675712652070455017060 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Umo›Hþίé¾@¶,,°èª“hÊI¾:Ƈ7½FÉÉraãpÂà|Õý¨þÇÎ.Ä6Ž{•%;Á³óÌó²ã/à Žz ŸùÆx“…°n ÖÆƒê/aøÈ7ðN`Wēџ¡ºFáˆñ`ÞÜeÓÉì÷t9Ï&·qf>q¨™÷ËyšY‹? êz$ ð¬( ‚øŠÅ£é=ZïwÕR®Úÿ–kÙ•õScÙ.‹HÄ}³ÙveS·p¡šº‘OXßóaÀ â8ë*Û!.ÅAsä!ùŠŠÍhDh¶¨æ,¶Ä?(ÖQŸø‘×76oõü(ëæ„`S·Çý9w—øºë‰¦ø¶>À¹”„~ÿÜQ²˜²ƒîYBµêdÛAoe½R2À¶ÙuPï7Ÿå®Ÿê”唸' × ‹ûY:_LcÈwÞü¥¬ój_Hx«x£ÞÈóoªÜe ¦†¸êùå Ö¼2éQWÏ«º¨äõ+‹ÿDt!dŠ­G]¸=]J׌Å5TGù=BGz4õ®õí£õëkÞ^€†'¼ß'‹›l2“t¦ªšú½ÿ4˜¯Àá/¸$Ò 5ÛV¨zYwr]ƒÿTjük'sYŽÚS4’¿sûóÿJèF¹ò"~N¿²¸yÒ Ø4迪;È›º–¹.)šZÂײ{Æ¢²= ¢ã„Þ!eʲ±ù˜zFB~`ß{G.‰z"è<ˆ2k"Œ Î`¢í•T@zŒ5ÆÝ ^®ÑM:=Ë¡MQ±Ã,qUýdŽäS|;Ÿ&/ªóš*ÒKi2ßëÇìs~a!Dªò€†eÓ´âp\xÿŸÜÍÉ4~7™NÄý˜:í1~¹q\²€²†qþŸëƒ™%â.›ÁG‹zŒD5ãé]¢ïÒ%ÊX/»ýnØ”É2ýe¢~ƒBÙB»ßªtÉâÐö¡ðnöa–Zžoþ5[¦úΨƒuÓ‘ë‡n,’âé"ðt¤ó•a¹ÃrlÎx„ÊÃÍ0õî¾·EÔ pÜ“`÷[Ù!Á±ú!Õ?nãV68.b›¡š¬¯*?«Fècè‡M}¼ž&¿[pqP=%;d˜ª>‰0þÄ×wi\Ð&endstream endobj 6 0 obj 853 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:37+01:00 2016-01-27T08:26:37+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001176 00000 n 0000002980 00000 n 0000001117 00000 n 0000000957 00000 n 0000000015 00000 n 0000000938 00000 n 0000001241 00000 n 0000001416 00000 n 0000001351 00000 n 0000001282 00000 n 0000001312 00000 n 0000001498 00000 n 0000001557 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<312965636DD432AAAA1368ACA5795725><312965636DD432AAAA1368ACA5795725>] >> startxref 3134 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.html0000644000175000017500000001646612652070415017165 00000000000000 CURLOPT_RTSP_REQUEST man page

NAME

CURLOPT_RTSP_REQUEST - specify RTSP request

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_REQUEST, long request);

DESCRIPTION

Tell libcurl what kind of RTSP request to make. Pass one of the following RTSP enum values as a long in the request argument. Unless noted otherwise, commands require the Session ID to be initialized.

CURL_RTSPREQ_OPTIONS

Used to retrieve the available methods of the server. The application is responsible for parsing and obeying the response. (The session ID is not needed for this method.)

CURL_RTSPREQ_DESCRIBE

Used to get the low level description of a stream. The application should note what formats it understands in the 'Accept:' header. Unless set manually, libcurl will automatically fill in 'Accept: application/sdp'. Time-condition headers will be added to Describe requests if the CURLOPT_TIMECONDITION option is active. (The session ID is not needed for this method)

CURL_RTSPREQ_ANNOUNCE

When sent by a client, this method changes the description of the session. For example, if a client is using the server to record a meeting, the client can use Announce to inform the server of all the meta-information about the session. ANNOUNCE acts like a HTTP PUT or POST just like CURL_RTSPREQ_SET_PARAMETER

CURL_RTSPREQ_SETUP

Setup is used to initialize the transport layer for the session. The application must set the desired Transport options for a session by using the CURLOPT_RTSP_TRANSPORT option prior to calling setup. If no session ID is currently set with CURLOPT_RTSP_SESSION_ID, libcurl will extract and use the session ID in the response to this request. (The session ID is not needed for this method).

CURL_RTSPREQ_PLAY

Send a Play command to the server. Use the CURLOPT_RANGE option to modify the playback time (e.g. 'npt=10-15').

CURL_RTSPREQ_PAUSE

Send a Pause command to the server. Use the CURLOPT_RANGE option with a single value to indicate when the stream should be halted. (e.g. npt='25')

CURL_RTSPREQ_TEARDOWN

This command terminates an RTSP session. Simply closing a connection does not terminate the RTSP session since it is valid to control an RTSP session over different connections.

CURL_RTSPREQ_GET_PARAMETER

Retrieve a parameter from the server. By default, libcurl will automatically include a Content-Type: text/parameters header on all non-empty requests unless a custom one is set. GET_PARAMETER acts just like a HTTP PUT or POST (see CURL_RTSPREQ_SET_PARAMETER). Applications wishing to send a heartbeat message (e.g. in the presence of a server-specified timeout) should send use an empty GET_PARAMETER request.

CURL_RTSPREQ_SET_PARAMETER

Set a parameter on the server. By default, libcurl will automatically include a Content-Type: text/parameters header unless a custom one is set. The interaction with SET_PARAMETER is much like a HTTP PUT or POST. An application may either use CURLOPT_UPLOAD with CURLOPT_READDATA like a HTTP PUT, or it may use CURLOPT_POSTFIELDS like a HTTP POST. No chunked transfers are allowed, so the application must set the CURLOPT_INFILESIZE in the former and CURLOPT_POSTFIELDSIZE in the latter. Also, there is no use of multi-part POSTs within RTSP.

CURL_RTSPREQ_RECORD

Used to tell the server to record a session. Use the CURLOPT_RANGE option to modify the record time.

CURL_RTSPREQ_RECEIVE

This is a special request because it does not send any data to the server. The application may call this function in order to receive interleaved RTP data. It will return after processing one read buffer of data in order to give the application a chance to run.

DEFAULT

PROTOCOLS

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_RTSP_SESSION_ID, CURLOPT_RTSP_STREAM_URI

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_URL.html0000644000175000017500000004456112652070415015624 00000000000000 CURLOPT_URL man page

NAME

CURLOPT_URL - provide the URL to use in the request

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_URL, char *URL);

DESCRIPTION

Pass in a pointer to the URL to work with. The parameter should be a char * to a zero terminated string which must be URL-encoded in the following format:

scheme://host:port/path

For a greater explanation of the format please see RFC 3986.

libcurl doesn't validate the syntax or use this variable until the transfer is issued. Even if you set a crazy value here, curl_easy_setopt(3) will still return CURLE_OK.

If the given URL is missing a scheme name (such as "http://" or "ftp://" etc) then libcurl will make a guess based on the host. If the outermost sub-domain name matches DICT, FTP, IMAP, LDAP, POP3 or SMTP then that protocol will be used, otherwise HTTP will be used. Since 7.45.0 guessing can be disabled by setting a default protocol, see CURLOPT_DEFAULT_PROTOCOL for details.

Should the protocol, either that specified by the scheme or deduced by libcurl from the host name, not be supported by libcurl then CURLE_UNSUPPORTED_PROTOCOL will be returned from either the curl_easy_perform(3) or curl_multi_perform(3) functions when you call them. Use curl_version_info(3) for detailed information of which protocols are supported by the build of libcurl you are using.

CURLOPT_PROTOCOLS can be used to limit what protocols libcurl will use for this transfer, independent of what libcurl has been compiled to support. That may be useful if you accept the URL from an external source and want to limit the accessibility.

CURLOPT_URL is the only option that must be set before a transfer is started.

The host part of the URL contains the address of the server that you want to connect to. This can be the fully qualified domain name of the server, the local network name of the machine on your network or the IP address of the server or machine represented by either an IPv4 or IPv6 address. For example:

http://www.example.com/

http://hostname/

http://192.168.0.1/

http://[2001:1890:1112:1::20]/

It is also possible to specify the user name, password and any supported login options as part of the host, for the following protocols, when connecting to servers that require authentication:

http://user:password@www.example.com

ftp://user:password@ftp.example.com

smb://domain%2fuser:password@server.example.com

imap://user:password;options@mail.example.com

pop3://user:password;options@mail.example.com

smtp://user:password;options@mail.example.com

At present only IMAP, POP3 and SMTP support login options as part of the host. For more information about the login options in URL syntax please see RFC 2384, RFC 5092 and IETF draft draft-earhart-url-smtp-00.txt (Added in 7.31.0).

The port is optional and when not specified libcurl will use the default port based on the determined or specified protocol: 80 for HTTP, 21 for FTP and 25 for SMTP, etc. The following examples show how to specify the port:

http://www.example.com:8080/ - This will connect to a web server using port 8080 rather than 80.

smtp://mail.example.com:587/ - This will connect to a SMTP server on the alternative mail port.

The path part of the URL is protocol specific and whilst some examples are given below this list is not conclusive:

HTTP

The path part of a HTTP request specifies the file to retrieve and from what directory. If the directory is not specified then the web server's root directory is used. If the file is omitted then the default document will be retrieved for either the directory specified or the root directory. The exact resource returned for each URL is entirely dependent on the server's configuration.

http://www.example.com - This gets the main page from the web server.

http://www.example.com/index.html - This returns the main page by explicitly requesting it.

http://www.example.com/contactus/ - This returns the default document from the contactus directory.

FTP

The path part of an FTP request specifies the file to retrieve and from what directory. If the file part is omitted then libcurl downloads the directory listing for the directory specified. If the directory is omitted then the directory listing for the root / home directory will be returned.

ftp://ftp.example.com - This retrieves the directory listing for the root directory.

ftp://ftp.example.com/readme.txt - This downloads the file readme.txt from the root directory.

ftp://ftp.example.com/libcurl/readme.txt - This downloads readme.txt from the libcurl directory.

ftp://user:password@ftp.example.com/readme.txt - This retrieves the readme.txt file from the user's home directory. When a username and password is specified, everything that is specified in the path part is relative to the user's home directory. To retrieve files from the root directory or a directory underneath the root directory then the absolute path must be specified by prepending an additional forward slash to the beginning of the path.

ftp://user:password@ftp.example.com//readme.txt - This retrieves the readme.txt from the root directory when logging in as a specified user.

SMTP

The path part of a SMTP request specifies the host name to present during communication with the mail server. If the path is omitted then libcurl will attempt to resolve the local computer's host name. However, this may not return the fully qualified domain name that is required by some mail servers and specifying this path allows you to set an alternative name, such as your machine's fully qualified domain name, which you might have obtained from an external function such as gethostname or getaddrinfo.

smtp://mail.example.com - This connects to the mail server at example.com and sends your local computer's host name in the HELO / EHLO command.

smtp://mail.example.com/client.example.com - This will send client.example.com in the HELO / EHLO command to the mail server at example.com.

POP3

The path part of a POP3 request specifies the message ID to retrieve. If the ID is not specified then a list of waiting messages is returned instead.

pop3://user:password@mail.example.com - This lists the available messages for the user

pop3://user:password@mail.example.com/1 - This retrieves the first message for the user

IMAP

The path part of an IMAP request not only specifies the mailbox to list (Added in 7.30.0) or select, but can also be used to check the UIDVALIDITY of the mailbox, to specify the UID, SECTION (Added in 7.30.0) and PARTIAL octets (Added in 7.37.0) of the message to fetch and to specify what messages to search for (Added in 7.37.0).

imap://user:password@mail.example.com - Performs a top level folder list

imap://user:password@mail.example.com/INBOX - Performs a folder list on the user's inbox

imap://user:password@mail.example.com/INBOX/;UID=1 - Selects the user's inbox and fetches message 1

imap://user:password@mail.example.com/INBOX;UIDVALIDITY=50/;UID=2 - Selects the user's inbox, checks the UIDVALIDITY of the mailbox is 50 and fetches message 2 if it is

imap://user:password@mail.example.com/INBOX/;UID=3/;SECTION=TEXT - Selects the user's inbox and fetches the text portion of message 3

imap://user:password@mail.example.com/INBOX/;UID=4/;PARTIAL=0.1024 - Selects the user's inbox and fetches the first 1024 octets of message 4

imap://user:password@mail.example.com/INBOX?NEW - Selects the user's inbox and checks for NEW messages

imap://user:password@mail.example.com/INBOX?SUBJECT%20shadows - Selects the user's inbox and searches for messages containing "shadows" in the subject line

For more information about the individual components of an IMAP URL please see RFC 5092.

SCP

The path part of a SCP request specifies the file to retrieve and from what directory. The file part may not be omitted. The file is taken as an absolute path from the root directory on the server. To specify a path relative to the user's home directory on the server, prepend ~/ to the path portion. If the user name is not embedded in the URL, it can be set with the CURLOPT_USERPWD or CURLOPT_USERNAME option.

scp://user@example.com/etc/issue - This specifies the file /etc/issue

scp://example.com/~/my-file - This specifies the file my-file in the user's home directory on the server

SFTP

The path part of a SFTP request specifies the file to retrieve and from what directory. If the file part is omitted then libcurl downloads the directory listing for the directory specified. If the path ends in a / then a directory listing is returned instead of a file. If the path is omitted entirely then the directory listing for the root / home directory will be returned. If the user name is not embedded in the URL, it can be set with the CURLOPT_USERPWD or CURLOPT_USERNAME option.

sftp://user:password@example.com/etc/issue - This specifies the file /etc/issue

sftp://user@example.com/~/my-file - This specifies the file my-file in the user's home directory

sftp://ssh.example.com/~/Documents/ - This requests a directory listing of the Documents directory under the user's home directory

SMB

The path part of a SMB request specifies the file to retrieve and from what share and directory or the share to upload to and as such, may not be omitted. If the user name is not embedded in the URL, it can be set with the CURLOPT_USERPWD or CURLOPT_USERNAME option. If the user name is embedded in the URL then it must contain the domain name and as such, the backslash must be URL encoded as %2f.

smb://server.example.com/files/issue - This specifies the file "issue" located in the root of the "files" share

smb://server.example.com/files/ -T issue - This specifies the file "issue" will be uploaded to the root of the "files" share.

LDAP

The path part of a LDAP request can be used to specify the: Distinguished Name, Attributes, Scope, Filter and Extension for a LDAP search. Each field is separated by a question mark and when that field is not required an empty string with the question mark separator should be included.

ldap://ldap.example.com/o=My%20Organisation - This will perform a LDAP search with the DN as My Organisation.

ldap://ldap.example.com/o=My%20Organisation?postalAddress - This will perform the same search but will only return postalAddress attributes.

ldap://ldap.example.com/?rootDomainNamingContext - This specifies an empty DN and requests information about the rootDomainNamingContext attribute for an Active Directory server.

For more information about the individual components of a LDAP URL please see RFC 4516.

RTMP

There's no official URL spec for RTMP so libcurl uses the URL syntax supported by the underlying librtmp library. It has a syntax where it wants a traditional URL, followed by a space and a series of space-separated name=value pairs.

While space is not typically a "legal" letter, libcurl accepts them. When a user wants to pass in a '#' (hash) character it will be treated as a fragment and get cut off by libcurl if provided literally. You will instead have to escape it by providing it as backslash and its ASCII value in hexadecimal: "\23".

DEFAULT

There is no default URL. If this option isn't set, no transfer can be performed.

SECURITY CONCERNS

Applications may at times find it convenient to allow users to specify URLs for various purposes and that string would then end up fed to this option.

Getting a URL from an external untrusted party will bring reasons for several security concerns:

If you have an application that runs as or in a server application, getting an unfiltered URL can easily trick your application to access a local resource instead of a remote. Protecting yourself against localhost accesses is very hard when accepting user provided URLs.

Such custom URLs can also access other ports than you planned as port numbers are part of the regular URL format. The combination of a local host and a custom port number can allow external users to play tricks with your local services.

Accepting external URLs may also use other protocols than http:// or other common ones. Restrict what accept with CURLOPT_PROTOCOLS.

User provided URLs can also be made to point to sites that redirect further on (possibly to other protocols too). Consider your CURLOPT_FOLLOWLOCATION and CURLOPT_REDIR_PROTOCOLS settings.

PROTOCOLS

All

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  curl_easy_perform(curl);
}

AVAILABILITY

POP3 and SMTP were added in 7.31.0

RETURN VALUE

Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

Note that curl_easy_setopt(3) won't actually parse the given string so given a bad URL, it will not be detected until curl_easy_perform(3) or similar is called.

SEE ALSO

CURLOPT_VERBOSE, CURLOPT_PROTOCOLS, CURLOPT_FORBID_REUSE, CURLOPT_FRESH_CONNECT, curl_easy_perform (3), CURLINFO_REDIRECT_URL

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.html0000644000175000017500000000535412652070415017047 00000000000000 CURLOPT_TCP_KEEPIDLE man page

NAME

CURLOPT_TCP_KEEPIDLE - set TCP keep-alive idle time wait

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPIDLE, long delay);

DESCRIPTION

Pass a long. Sets the delay, in seconds, that the operating system will wait while the connection is idle before sending keepalive probes. Not all operating systems support this option.

DEFAULT

?

PROTOCOLS

All

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* enable TCP keep-alive for this transfer */
  curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);
 
  /* set keep-alive idle time to 120 seconds */
  curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 120L);
 
  /* interval time between keep-alive probes: 60 seconds */
  curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Added in 7.25.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_TCP_KEEPALIVE, CURLOPT_TCP_KEEPINTVL

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.30000644000175000017500000000356712626067776017164 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_SERVER_CSEQ 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_SERVER_CSEQ \- get the next RTSP server CSeq .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SERVER_CSEQ, long *cseq); .SH DESCRIPTION Pass a pointer to a long to receive the next CSeq that will be expected by the application. Llistening for server initiated requests is currently unimplemented! Applications wishing to resume an RTSP session on another connection should retrieve this info before closing the active connection. .SH PROTOCOLS RTSP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_APPEND.pdf0000644000175000017500000000701712652070424015731 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…”moÚHÇßûSŒt/n}Š·»~^Ýé$78­ƒ)˜ÞEÉ ¹° ܛڦ(ß¡_¥ß±³k i/aáùÍ>£˜úôÏÅÆx3 à¡1<Ÿ ®¡,6ð6CƒP½Èîî‡À†@84mŒÑC¶7nÉål’¤ãlÇñhpGœ;»º˜Ë¼yœ7²­¶­iÙ£Œÿ¬«²Ü2ÿÉÞ£6Ç $H@…§ ²Ä £Èü¡ñ”{Ô‚eKƒ\Çföïd›Q—`q[3Åy† ß@–ù§BB¾ÝÊr¹. ­ ]I¨å¦j%|-dçô ……÷i¨£NoFéx:œ>­Mt\ò˺\»¥„?”oÔ]ý©ÌmW§£˜œëu§à·U^. yq¦Öòväwæï¨Éÿ`âéåd8ΆéH‡¦;}€m•ÍAaÆÃNa,Š´Œyod+k@P¥‡VE£•+ÖŸê¼~T¯;¶—’ºlZ™/¡º‡J…ÂzsO…³ÆCþ®¢_ä‘CP;¡ÛÔûz®Ö-…lµn¿UY<®‘÷»B{t¸Àò;ÏË¿_ÉvۢʵÎK¸ÊÆÐ ;úJ¥ñUÏê¹Z;l0Á]Þ3E3}ÊUƒ÷ÊÙ¾ô§IvLå$¹J;Ç=*Ï^aOz×ÑÜÅ 8“:ˆeSæ hšAz h;4`þaL.Óä¬Y‘Y ĉy…#þ;º'ñ¡v?o¥ì„ÁUäböbyaøbÌ-W(Ëc4¥©«ÓŠ>BtJ‹Qßã}îd˜Do‡É0»yžVÁq1ÆÓ6¸%ºiº%{SPì,î¼ÿÊÊ´]*„} ùiE)M ÌüôÛc·UPätõÚú¹`·dg³É>šÜAÿ>'Q2‹û[/uC{Ùîê~EÆóô=¬ïõõÔÈßì¶Ûªnåò»xÙÎFïG©éxä¯Ñ<Õã®.–UK_!$Ó8†(™¦§ÊŸ#¤ 'Épš™<@¡¸ é(AiÈÍY6ܶi¿9ˆ^íÏ]cdßg}ýNÞ'ñtvϯ&¦ÃHz}îÔÁfµ_xµP Ëeõ;‡¸ˆÔFÅ9e¦Å=O¸Ô#<€w»lÆ»ª¹ÇÑàÊUœðó¸ ʳendstream endobj 6 0 obj 878 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:12+01:00 2016-01-27T08:26:12+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001201 00000 n 0000003012 00000 n 0000001142 00000 n 0000000982 00000 n 0000000015 00000 n 0000000963 00000 n 0000001266 00000 n 0000001441 00000 n 0000001376 00000 n 0000001307 00000 n 0000001337 00000 n 0000001523 00000 n 0000001589 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<88C8E85348F460ABFE7FED559B4E6DC3><88C8E85348F460ABFE7FED559B4E6DC3>] >> startxref 3166 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.html0000644000175000017500000000451712652070415017423 00000000000000 CURLOPT_RTSP_TRANSPORT man page

NAME

CURLOPT_RTSP_TRANSPORT - set RTSP Transport: header

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_TRANSPORT,
                          char *transport);

DESCRIPTION

Pass a char * to tell libcurl what to pass for the Transport: header for this RTSP session. This is mainly a convenience method to avoid needing to set a custom Transport: header for every SETUP request. The application must set a Transport: header before issuing a SETUP request.

DEFAULT

NULL

PROTOCOLS

RTSP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_RTSP_REQUEST, CURLOPT_RTSP_SESSION_ID

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.html0000644000175000017500000000440312652070415017255 00000000000000 CURLOPT_OPENSOCKETDATA man page

NAME

CURLOPT_OPENSOCKETDATA - custom pointer passed to open socket callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_OPENSOCKETDATA, void *pointer);

DESCRIPTION

Pass a pointer that will be untouched by libcurl and passed as the first argument in the opensocket callback set with CURLOPT_OPENSOCKETFUNCTION.

DEFAULT

The default value of this parameter is NULL.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.17.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_OPENSOCKETFUNCTION, CURLOPT_SOCKOPTFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_BUFFERSIZE.30000644000175000017500000000404412626067776016035 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_BUFFERSIZE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_BUFFERSIZE \- set preferred receive buffer size .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_BUFFERSIZE, long size); .SH DESCRIPTION Pass a long specifying your preferred \fIsize\fP (in bytes) for the receive buffer in libcurl. The main point of this would be that the write callback gets called more often and with smaller chunks. This is just treated as a request, not an order. You cannot be guaranteed to actually get the given size. This size is by default set as big as possible (\fICURL_MAX_WRITE_SIZE\fP), so it only makes sense to use this option if you want it smaller. .SH DEFAULT CURL_MAX_WRITE_SIZE .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.10 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_MAX_RECV_SPEED "(3), " CURLOPT_WRITEFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLCERT.30000644000175000017500000000446612626067776015520 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLCERT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLCERT \- set SSL client certificate .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLCERT, char *cert); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. The string should be the file name of your client certificate. The default format is "P12" on Secure Transport and "PEM" on other engines, and can be changed with \fICURLOPT_SSLCERTTYPE(3)\fP. With NSS or Secure Transport, this can also be the nickname of the certificate you wish to authenticate with as it is named in the security database. If you want to use a file from the current directory, please precede it with "./" prefix, in order to avoid confusion with a nickname. When using a client certificate, you most likely also need to provide a private key with \fICURLOPT_SSLKEY(3)\fP. .SH DEFAULT NULL .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY If built TLS enabled. .SH RETURN VALUE Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSLCERTTYPE "(3), " CURLOPT_SSLKEY "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.pdf0000644000175000017500000000774112652070431016461 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœÍVmoÚVþί8ʾ˜*¾½¯~Ù¦I4¡*-¦[•Lˆ€<98Å&QþCÿÊþãν×ÛÉiª´‰(û¼>ç9/_€TÊïÕmçõÔ‡›¼Cá¦ó¥ÃÌK(¿V·ð&B@?ˆ®;V‡ÏÁ Bˆn;ÎÙ|:O¢ÅÛh2› {ÝèÏNȈ„ GëŽ å=t.œyôîÒ—]Xíwé"^æ‹<.²»¢ër’0PþH²mm«Dï;BJ7­Liw.%œa0+Œ5ÄXI¨t¸®Šø!¸Â3*#ÕrLŠÒÔǾ~~L“S"©.ãú5µ¡·ãQŠP¦Bü˜d»u¼ƒd ›dµ"ƒeQÄ·wDÃÜç€zø.ÞÂ>O¶7€–LV͘1V—y$0‘Í>Æ“Ù`֌ψ˜Øœ’í*ݯcøY#úZÿ#›_´8—è¶½²‘¯2”iƒ~i^Á«Ír»NãÓ'+©+"uЧf²Iñ²ûÓKqŸ÷ggÓÁ$ŒGe}˜²åy&‡É²*KHe‹B‰RFÞÉsXZï¶lCv Å&†{­È'óŽj¾Q[¦û8‡ë]v Wqš•ax& Oê‹’ž }Z•‡S(´¾ÕO%Á²$;†‰eè…m—iõßd Ü#LøÒ>¤GVÄ<¿p’+]Hò\G}¢ée˜…Ì9AÔíB©´„Ãòœ˜¸\q"0•:YC2¬"d ôe@|qèJç>64!Êϱ_eùj7;†Éˆ¨:ÙA'XŽU‘ÚÎh Ÿ(AIÞ×ëÉjf‹xM Ú ü˶é#6 Bç…®krmYÎèaÚ`òƒç7ç³þ³¯Z¿6œ¨ÎÅJë Ó<ÓmIL¤ 9¸º+4å²õ‡ÍÙxØ:¶q8Q‚ð]Þÿ½÷q2ì6Ið{<×c‡±p>.륂à™-Ô’•7]ViÒê}‚ã¹ÆõæfeîÎ`Ø{3¢Ï­ ˆAköÖëx­2Ÿà¨âßÎõ™ö£ùtŸºLàî÷˜ÓÎû%iŸ¦Œòq±ß•×j1þ`[sÅê=—ïïî²®>Û/Vp>ú0w±O~-ÆæLÒŠÛ¬x®Aša¿½ál|L¤U…Ö¢lBêk¤"ªY¢§MKèÈó(om]d‰6¶8;;kaÎTñÄžËqŸP½oCìN UZîŸè¥ÚuCI”ƒ‡ûûý8eÒ$/+ú2mªu~ÅÏßöƒ ÿendstream endobj 6 0 obj 1244 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:17+01:00 2016-01-27T08:26:17+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001568 00000 n 0000003458 00000 n 0000001509 00000 n 0000001349 00000 n 0000000015 00000 n 0000001329 00000 n 0000001633 00000 n 0000001887 00000 n 0000001822 00000 n 0000001754 00000 n 0000001674 00000 n 0000001704 00000 n 0000001969 00000 n 0000002035 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3612 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_MAXREDIRS.html0000644000175000017500000000552412652070415016514 00000000000000 CURLOPT_MAXREDIRS man page

NAME

CURLOPT_MAXREDIRS - maximum number of redirects allowed

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXREDIRS, long amount);

DESCRIPTION

Pass a long. The set number will be the redirection limit amount. If that many redirections have been followed, the next redirect will cause an error (CURLE_TOO_MANY_REDIRECTS). This option only makes sense if the CURLOPT_FOLLOWLOCATION is used at the same time.

Setting the limit to 0 will make libcurl refuse any redirect.

Set it to -1 for an infinite number of redirects.

DEFAULT

-1, unlimited

PROTOCOLS

HTTP(S)

EXAMPLE

curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/");
 
  /* enable redirect following */
  curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
 
  /* allow three redirects */
  curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 3L);
 
  /* Perform the request */
  curl_easy_perform(curl);
}

AVAILABILITY

Along with HTTP

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_FOLLOWLOCATION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.30000644000175000017500000000412712626067776017347 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING_SITE_BL 3 "4 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING_SITE_BL \- pipelining host blacklist .SH SYNOPSIS #include CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SITE_BL, char **hosts); .SH DESCRIPTION Pass a \fBhosts\fP array of char *, ending with a NULL entry. This is a list of sites that are blacklisted from pipelining, i.e sites that are known to not support HTTP pipelining. The array is copied by libcurl. Pass a NULL pointer to clear the blacklist. .SH DEFAULT The default value is NULL, which means that there is no blacklist. .SH PROTOCOLS HTTP(S) .SH EXAMPLE .nf site_blacklist[] = { "www.haxx.se", "www.example.com:1234", NULL }; curl_multi_setopt(m, CURLMOPT_PIPELINING_SITE_BL, site_blacklist); .fi .SH AVAILABILITY Added in 7.30.0 .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLMOPT_PIPELINING "(3), " CURLMOPT_PIPELINING_SERVER_BL "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.html0000644000175000017500000000423312652070415017334 00000000000000 CURLOPT_SSL_ENABLE_NPN man page

NAME

CURLOPT_SSL_ENABLE_NPN - enable NPN

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_NPN, long npn);

DESCRIPTION

Pass a long as parameter, 0 or 1 where 1 is for enable and 0 for disable. This option enables/disables NPN in the SSL handshake (if the SSL backend libcurl is built to use supports it), which can be used to negotiate http2.

DEFAULT

1, enabled

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.36.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SSL_ENABLE_ALPN, CURLOPT_SSL_OPTIONS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTP_VERSION.pdf0000644000175000017500000001121012652070433016734 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•Xínã¶ýï§ Ð¥Š˜+R_nqwë¢i];7V¶w‘"3±ºŠ”•ä¤é3´Òw¼3$%YvÒô"‹ V”fÎÌ9óÁýL\Ɖ‹?öwv?yw‘»fâ’»Éç ׇÄþÊîÉ7 ¼ ñAr;1ßp Å“1Iî'~ȼˆ$O“Kúþâ|±:K®¿O’³ëóóõéjyE½+‡d»º¸Vió|ݨ¶zh©\溅äUÙW¿u~I~˜L]&8¸ËM hX /$ÉbB—3çKNyÀ‚ØÉfBš;ɯ{ð…Ë|7"S.ðØ}3ù‹4*ËoŸ >&uÕVYUG¸Ü©ª€MÚŠì¥!Ž€MÙ”‡Lj ëËÕÙút=†£_ÑPèy™»"_c¢Þá_lûo|]øaò•šUðÎa.¯ôùj›–›B¼˜ÉRTåÝþ+ç_oaÿv¾~~z–€ÄDðÀððBg)¾£™ˆ™ ,Mcçn§#—y±›ãKú¨j‡k5xQiH‚…GŽ8 ¸µšû¾¼€‡æâ‡È-„|B IHSU*RÝ’v« "0ÞÒb§²QMVç7jCnTQuz µw Ô¹¶Ì™o,Ó'F’Þ;XÔGC·JÓÖ¡™±ôíáó.˜ÛÓc¦Í'Rä7H±Õ–F¬ÕøGfÔøˆ6¸1× ºBf0–tjð‡ï´ÎB72ö±Øý6oü)«T6ùM¡Ðá|–…jò\íÈ6QÎeÄü®º@-Öä£")¹ë>‹}¿Ì:2ª ©A¶UÉÈG‡kÂ5^lÊ›HBÎÜø7-:ñÇ'ºÖyÙÌVÍYIÆi 0lÓqH~«c|éÑ´Dð)c1j‰°¼|iøÕP}ŸE<î¨o¾0x WØ`í Íîᡪ[¦sHæy.„Ž0ÝØ×ž–U‹œ§­&~ \BAÊ ÊLT¦A\¿îš˜¨ÕguËz=åEAšÿ~¨óªÎÛüwMv­¦WZåp`Mºý-‡7¡SdUYªL'ª©HÞšÜt Æ-ô>¿Ûj¸eorÿû]ƒÓ.nkÏ~AÂØ‹LòÕ^ïS¹Ï„ÄOÍóv¿ !=¢«’æ“î3ºÿmÈmU;A@™ñ-",BàCÚÆ‡mtÔC¯—«åÜ„DëCãã,Ôäý¬Èf(—ÒíÚU5‚ úðf/ãµÙMkÈçMµkɪâ(( ºNëgìÍñH~¨S@¥ØB%ù’Ö¹#üÄÐÖ¨ÀO.ΗäƒÃ=eÈélq1·W¾ãá}Õîj{Ÿ_¯~ìëöK»¿ªÍ ¬ŒûÊÅòÇåÊñìJòóòz¥¯ŠøÜ-Ø›7ãùœÌëÕÇ!¢î6»^/(~¨ó˜ZÙÄÁÁj×á©þ¯ƒ“±YÜY† ¹M†4[œÎÖó}qt1?29õ\¼#è¡ãê‡@»ª†a…ê@ý±ÏÊ#òî$ÖN Øïõ¬w–y2ùüü'ês4endstream endobj 6 0 obj 1831 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:19+01:00 2016-01-27T08:26:19+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000002155 00000 n 0000004117 00000 n 0000002096 00000 n 0000001936 00000 n 0000000015 00000 n 0000001916 00000 n 0000002220 00000 n 0000002546 00000 n 0000002481 00000 n 0000002341 00000 n 0000002261 00000 n 0000002291 00000 n 0000002425 00000 n 0000002628 00000 n 0000002694 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [<67D22ED73F91D92C4255E2DC1EFC1749><67D22ED73F91D92C4255E2DC1EFC1749>] >> startxref 4271 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_RESUME_FROM.30000644000175000017500000000516712626067776016223 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RESUME_FROM 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_RESUME_FROM \- set a point to resume transfer from .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESUME_FROM, long from); .SH DESCRIPTION Pass a long as parameter. It contains the offset in number of bytes that you want the transfer to start from. Set this option to 0 to make the transfer start from the beginning (effectively disabling resume). For FTP, set this option to -1 to make the transfer start from the end of the target file (useful to continue an interrupted upload). When doing uploads with FTP, the resume position is where in the local/source file libcurl should try to resume the upload from and it will then append the source file to the remote target file. If you need to resume a transfer beyond the 2GB limit, use \fICURLOPT_RESUME_FROM_LARGE(3)\fP instead. .SH DEFAULT 0, not used .SH PROTOCOLS HTTP, FTP, SFTP, FILE .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com"); /* resume upload at byte index 200 */ curl_easy_setopt(curl, CURLOPT_RESUME_FROM, 200L); /* ask for upload */ curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); /* set total data amount to expect */ curl_easy_setopt(curl, CURLOPT_INFILESIZE, size_of_file); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_RESUME_FROM_LARGE "(3), " CURLOPT_RANGE "(3), " .BR CURLOPT_INFILESIZE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.html0000644000175000017500000000442012652070415017341 00000000000000 CURLOPT_SSL_FALSESTART man page

NAME

CURLOPT_SSL_FALSESTART - enable TLS false start

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_FALSESTART, long enable);

DESCRIPTION

Pass a long as parameter set to 1 to enable or 0 to disable.

This option determines whether libcurl should use false start during the TLS handshake. False start is a mode where a TLS client will start sending application data before verifying the server's Finished message, thus saving a round trip when performing a full handshake.

DEFAULT

0

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

Added in 7.42.0. This option is currently only supported by the NSS and Secure Transport (on iOS 7.0 or later, or OS X 10.9 or later) TLS backends.

RETURN VALUE

Returns CURLE_OK if false start is supported by the SSL backend, otherwise returns CURLE_NOT_BUILT_IN.

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.30000644000175000017500000000343512626067776017050 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTP_CONNECTCODE 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTP_CONNECTCODE \- get the CONNECT response code .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTP_CONNECTCODE, long *p); .SH DESCRIPTION Pass a pointer to a long to receive the last received HTTP proxy response code to a CONNECT request. The returned value will be zero if no such response code was available. .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.10.7 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLINFO_RESPONSE_CODE "(3), " .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLVERSION.30000644000175000017500000000523512626067776016103 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLVERSION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLVERSION \- set preferred TLS/SSL version .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLVERSION, long version); .SH DESCRIPTION Pass a long as parameter to control which version of SSL/TLS to attempt to use. Use one of the available defines for this purpose. The available options are: .RS .IP CURL_SSLVERSION_DEFAULT The default action. This will attempt to figure out the remote SSL protocol version. .IP CURL_SSLVERSION_TLSv1 TLSv1.x .IP CURL_SSLVERSION_SSLv2 SSLv2 .IP CURL_SSLVERSION_SSLv3 SSLv3 .IP CURL_SSLVERSION_TLSv1_0 TLSv1.0 (Added in 7.34.0) .IP CURL_SSLVERSION_TLSv1_1 TLSv1.1 (Added in 7.34.0) .IP CURL_SSLVERSION_TLSv1_2 TLSv1.2 (Added in 7.34.0) .RE .SH DEFAULT CURL_SSLVERSION_DEFAULT .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); /* ask libcurl to use TLS version 1.0 or later */ curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY SSLv2 is disabled by default since 7.18.1. Other SSL versions availability may vary depending on which backend libcurl has been built to use. SSLv3 is disabled by default since 7.39.0. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_USE_SSL "(3), " CURLOPT_HTTP_VERSION "(3), " .BR CURLOPT_IPRESOLVE "(3) " curl-7.47.0/docs/libcurl/opts/CURLOPT_USERPWD.html0000644000175000017500000000760412652070415016310 00000000000000 CURLOPT_USERPWD man page

NAME

CURLOPT_USERPWD - user name and password to use in authentication

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERPWD, char *userpwd);

DESCRIPTION

Pass a char * as parameter, pointing to a zero terminated login details string for the connection. The format of which is: [user name]:[password].

When using Kerberos V5 authentication with a Windows based server, you should specify the user name part with the domain name in order for the server to successfully obtain a Kerberos Ticket. If you don't then the initial part of the authentication handshake may fail.

When using NTLM, the user name can be specified simply as the user name without the domain name should the server be part of a single domain and forest.

To specify the domain name use either Down-Level Logon Name or UPN (User Principal Name) formats. For example, EXAMPLE\user and user@example.com respectively.

Some HTTP servers (on Windows) support inclusion of the domain for Basic authentication as well.

When using HTTP and CURLOPT_FOLLOWLOCATION, libcurl might perform several requests to possibly different hosts. libcurl will only send this user and password information to hosts using the initial host name (unless CURLOPT_UNRESTRICTED_AUTH is set), so if libcurl follows locations to other hosts it will not send the user and password to those. This is enforced to prevent accidental information leakage.

Use CURLOPT_HTTPAUTH to specify the authentication method for HTTP based connections or CURLOPT_LOGIN_OPTIONS to control IMAP, POP3 and SMTP options.

The user and password strings are not URL decoded, so there's no way to send in a user name containing a colon using this option. Use CURLOPT_USERNAME for that, or include it in the URL.

DEFAULT

NULL

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_USERNAME, CURLOPT_PASSWORD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_READFUNCTION.html0000644000175000017500000001071712652070415017037 00000000000000 CURLOPT_READFUNCTION man page

NAME

CURLOPT_READFUNCTION - read callback for data uploads

SYNOPSIS

#include <curl/curl.h>

size_t read_callback(char *buffer, size_t size, size_t nitems, void *instream);

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_READFUNCTION, read_callback);

DESCRIPTION

Pass a pointer to your callback function, as the prototype shows above.

This callback function gets called by libcurl as soon as it needs to read data in order to send it to the peer - like if you ask it to upload or post data to the server. The data area pointed at by the pointer buffer should be filled up with at most size multiplied with nmemb number of bytes by your function.

Your function must then return the actual number of bytes that it stored in that memory area. Returning 0 will signal end-of-file to the library and cause it to stop the current transfer.

If you stop the current transfer by returning 0 "pre-maturely" (i.e before the server expected it, like when you've said you will upload N bytes and you upload less than N bytes), you may experience that the server "hangs" waiting for the rest of the data that won't come.

The read callback may return CURL_READFUNC_ABORT to stop the current operation immediately, resulting in a CURLE_ABORTED_BY_CALLBACK error code from the transfer.

The callback can return CURL_READFUNC_PAUSE to cause reading from this connection to pause. See curl_easy_pause(3) for further details.

Bugs: when doing TFTP uploads, you must return the exact amount of data that the callback wants, or it will be considered the final packet by the server end and the transfer will end there.

If you set this callback pointer to NULL, or don't set it at all, the default internal read function will be used. It is doing an fread() on the FILE * userdata set with CURLOPT_READDATA.

DEFAULT

The default internal read callback is fread().

PROTOCOLS

This is used for all protocols when doing uploads.

EXAMPLE

Here's an example setting a read callback for reading that to upload to an FTP site: http://curl.haxx.se/libcurl/c/ftpupload.html

AVAILABILITY

CURL_READFUNC_PAUSE return code was added in 7.18.0 and CURL_READFUNC_ABORT was added in 7.12.1.

RETURN VALUE

This will return CURLE_OK.

SEE ALSO

CURLOPT_READDATA, CURLOPT_WRITEFUNCTION, CURLOPT_SEEKFUNCTION, CURLOPT_UPLOAD, CURLOPT_POST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.30000644000175000017500000000651012626067776016524 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FOLLOWLOCATION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FOLLOWLOCATION, long enable); .SH DESCRIPTION A long parameter set to 1 tells the library to follow any Location: header that the server sends as part of a HTTP header in a 3xx response. The Location: header can specify a relative or an absolute URL to follow. libcurl will issue another request for the new URL and follow new Location: headers all the way until no more such headers are returned. \fICURLOPT_MAXREDIRS(3)\fP can be used to limit the number of redirects libcurl will follow. libcurl limits what protocols it automatically follows to. The accepted protocols are set with \fICURLOPT_REDIR_PROTOCOLS(3)\fP. By default libcurl will allow all protocols on redirect except those disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are also disabled. When following a Location:, the 3xx response code that redirected it also dictates which request method it will use in the subsequent request: For 301, 302 and 303 responses libcurl will switch method to GET unless \fICURLOPT_POSTREDIR(3)\fP instructs libcurl otherwise. All other 3xx codes will make libcurl send the same method again. For users who think the existing location following is too naive, too simple or just lacks features, it is very easy to instead implement your own redirect follow logic with the use of \fIcurl_easy_getinfo(3)\fP's \fICURLINFO_REDIRECT_URL(3)\fP option instead of using \fICURLOPT_FOLLOWLOCATION(3)\fP. .SH DEFAULT 0, disabled .SH PROTOCOLS HTTP(S) .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* example.com is redirected, so we tell libcurl to follow redirection */ curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_perform(curl); } .fi .SH AVAILABILITY Along with HTTP .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_REDIR_PROTOCOLS "(3), " CURLOPT_PROTOCOLS "(3), " .BR CURLOPT_POSTREDIR "(3), " .BR CURLINFO_REDIRECT_URL "(3), ", CURLINFO_REDIRECT_COUNT "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.30000644000175000017500000000454212626067776017612 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_PIPELINING_SERVER_BL 3 "4 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options" .SH NAME CURLMOPT_PIPELINING_SERVER_BL \- pipelining server blacklist .SH SYNOPSIS #include CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SERVER_BL, char **servers); .SH DESCRIPTION Pass a \fBservers\fP array of char *, ending with a NULL entry. This is a list of server types prefixes (in the Server: HTTP header) that are blacklisted from pipelining, i.e server types that are known to not support HTTP pipelining. The array is copied by libcurl. Note that the comparison matches if the Server: header begins with the string in the blacklist, i.e "Server: Ninja 1.2.3" and "Server: Ninja 1.4.0" can both be blacklisted by having "Ninja" in the backlist. Pass a NULL pointer to clear the blacklist. .SH DEFAULT The default value is NULL, which means that there is no blacklist. .SH PROTOCOLS .SH EXAMPLE .nf server_blacklist[] = { "Microsoft-IIS/6.0", "nginx/0.8.54", NULL }; curl_multi_setopt(m, CURLMOPT_PIPELINING_SERVER_BL, server_blacklist); .fi .SH AVAILABILITY Added in 7.30.0 .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLMOPT_PIPELINING "(3), " CURLMOPT_PIPELINING_SITE_BL "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTPPORT.30000644000175000017500000000552512626067776015534 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTPPORT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTPPORT \- make FTP transfer active .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPPORT, char *spec); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. It specifies that the FTP transfer will be made actively and the given string will be used to get the IP address to use for the FTP PORT instruction. The PORT instruction tells the remote server to connect to our specified IP address. The string may be a plain IP address, a host name, a network interface name (under Unix) or just a '-' symbol to let the library use your system's default IP address. Default FTP operations are passive, and thus won't use PORT. The address can be followed by a ':' to specify a port, optionally followed by a '-' to specify a port range. If the port specified is 0, the operating system will pick a free port. If a range is provided and all ports in the range are not available, libcurl will report CURLE_FTP_PORT_FAILED for the handle. Invalid port/range settings are ignored. IPv6 addresses followed by a port or portrange have to be in brackets. IPv6 addresses without port/range specifier can be in brackets. Examples with specified ports: .nf eth0:0 192.168.1.2:32000-33000 curl.se:32123 [::1]:1234-4567 .fi You disable PORT again and go back to using the passive version by setting this option to NULL. .SH DEFAULT NULL .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Port range support was added in 7.19.5 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_FTP_USE_EPRT "(3), " CURLOPT_FTP_USE_EPSV "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PASSWORD.html0000644000175000017500000000471712652070415016423 00000000000000 CURLOPT_PASSWORD man page

NAME

CURLOPT_PASSWORD - password to use in authentication

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PASSWORD, char *pwd);

DESCRIPTION

Pass a char * as parameter, which should be pointing to the zero terminated password to use for the transfer.

The CURLOPT_PASSWORD option should be used in conjunction with the CURLOPT_USERNAME option.

DEFAULT

blank

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.1

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_USERPWD, CURLOPT_USERNAME, CURLOPT_HTTPAUTH, CURLOPT_PROXYAUTH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.pdf0000644000175000017500000000741712652070457017745 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUánÛ6þï§8`?&+R¢(b÷U¯ŽíÙJ·" Çbm²äJrмÃ^eï¸#%Y¶“´ƒËÇïûî»ãp WÚçf;x³p_ \¸|P³íc³…·1„úE|7höP „ôH(!Þ®­wW‹Éxúa¶ZÆ6¾v)§Öhaÿÿ:’¸L Ü'F<⯸#Ž£éòC´XÅãËèÆònlØìËl¥ÖÕÓê^Õi~WØó%‘Ò³Š]yÇéìLâñ&ùµ>2pñt?x)¿ÙคQD½ARIÉ5/ÇãñBp¼@§²¦#;þ Á8Ê —^s„ué÷½Ì%¾+À¡L/» ·WÔ0и<ƒÿ²…úAAnìó:ÍÌßʪ†Û§ZAZA©6*íP®yLÑr·Õ°$,”¡ß.$ à®AyQ$4AËÏÓÙ|9^ž’C-ZbÖi¾Éö‰‚Ÿu‘Þè/òð‹gXÐÉ ¾hho ŒyVdzë<ÉÔNz½lCHŠým¦àBK³»±2 œ± Žˆ¼–ïãy<žM5¸ƒV/’š¯4 [% ëhU¬aW¤y­J¨ üÓ¢ÁßM9ŽO Ì'<$ñÚ$Þ[ C\NÏjK?„4‡JmŠ<©ð7z¢(þ†»²Ø;Tõº¬¿mc<, þ—;Ÿõ&œ{Õídé­©4ÄxFkª1 u»‘àR"½®A¥/¢ZðÄ_4@ú~'çíl@—À:«Š¾) U>Ú”[XŒ\©¤Òeج3§i øDŠÓN´6ûl]7»KUí³šhÖR©>¿Æ¶„Âþ±—.$ R~O»ò15KŒðvNxÝ úšÚŒ»V^pf/cD„n[{,ù¹ŠZDv ŽZÈÖ«iu½Ô²^ÈÑÞ®sØ­ïyÞùÚ?ê—ù¢5ïq( p¸›L#.—FÉY ³ƒ Ì# ŸMÎæ†ƒ\„‡…ím”e/L¡ã¾þ]Î'QçàðÕž{ÔÓõj@¼7¯ñ`†Ï‡;^"ôˆ5†¹ÆjÖèôƒgyÀiËÝOFoÇ“qüù̳XeÏ8ñÙ(IT¢»W´È·©^[ØW‹)|²©‡ž ðn˜\Egíc¼ª÷e{÷E«ÙGHïŒs›;Qwµß튲VÉtï4WÓÓ™íqë÷éjf&¢Þ˜Øß¢Ë(‚Ñd9뉜C:Ÿðèöæn+ÎxŸˆƒ­-ãÝáiZ<5ÜNõ>q¥j$x*¾ „>KåP‰“on|ø ¼vna9|Ÿ¸¶C¹ÏB‹…0ÚßC ¥°0Õy¢xð~þ¾\MHendstream endobj 6 0 obj 1034 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:39+01:00 2016-01-27T08:26:39+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001358 00000 n 0000003248 00000 n 0000001299 00000 n 0000001139 00000 n 0000000015 00000 n 0000001119 00000 n 0000001423 00000 n 0000001677 00000 n 0000001612 00000 n 0000001544 00000 n 0000001464 00000 n 0000001494 00000 n 0000001759 00000 n 0000001825 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3402 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.html0000644000175000017500000000776612652070414020672 00000000000000 CURLOPT_CONV_FROM_UTF8_FUNCTION man page

NAME

CURLOPT_CONV_FROM_UTF8_FUNCTION - convert data from UTF8 to host encoding

SYNOPSIS

#include <curl/curl.h>
 
CURLcode conv_callback(char *ptr, size_t length);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONV_FROM_UTF8_FUNCTION,
                          conv_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

Applies to non-ASCII platforms. curl_version_info(3) will return the CURL_VERSION_CONV feature bit set if this option is provided.

The data to be converted is in a buffer pointed to by the ptr parameter. The amount of data to convert is indicated by the length parameter. The converted data overlays the input data in the buffer pointed to by the ptr parameter. CURLE_OK must be returned upon successful conversion. A CURLcode return value defined by curl.h, such as CURLE_CONV_FAILED, should be returned if an error was encountered.

CURLOPT_CONV_FROM_UTF8_FUNCTION converts to host encoding from UTF8 encoding. It is required only for SSL processing.

If you set a callback pointer to NULL, or don't set it at all, the built-in libcurl iconv functions will be used. If HAVE_ICONV was not defined when libcurl was built, and no callback has been established, conversion will return the CURLE_CONV_REQD error code.

If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined. For example:

 #define CURL_ICONV_CODESET_OF_HOST "IBM-1047"

The iconv code in libcurl will default the network and UTF8 codeset names as follows:

 #define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"

 #define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8"

You will need to override these definitions if they are different on your system.

DEFAULT

NULL

PROTOCOLS

TLS-based protocols.

EXAMPLE

TODO

AVAILABILITY

Available only if CURL_DOES_CONVERSIONS was defined when libcurl was built.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_CONV_TO_NETWORK_FUNCTION, CURLOPT_CONV_FROM_NETWORK_FUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLVERSION.pdf0000644000175000017500000001125712652070446016476 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµVënâFþï§8ÚþX…aÆwgÛJl–¨ì à¤]%2ö$¸klb›d£ªo°¯Òwì™ñp ¡IUUHÆgÎùÎõ;w@ *>ê͵ÖÈ…ÛR£p«ÝiL¾õˆæð>@O7Z}‡k€ë›Äó!˜kúéŨ7“ñ¸×~ׇ¸žï¡`k² xЮôËÎhÜô¯uóºѲH'<,'%¯òEÕh–O|ÏÖñO’g%lký-ø¨™–C £Öº£KØlRb0D!XÁßx›3 eÐ4y­ßÂTÈ1›Ø¾©ÔwÄùÆOƒ‹ºÐd†xMküÛ€¥+ ð  °(ø / CзPîÌY:/JtIz± a5™C< bü¹?Ž»ã](RDÂпK²(]ƾÑk‰/2ûQˆâžÕ £ežøZ¾‚£Y˜Å)?†ÞCšg·{دï^‚ÿ¡3>u‡*Qavg\†ëDøÄ³ë4\ée a ,aáœW¼€*‡(Ϫ"Oáa–D³=xß:ÒÂÐ á°ªø|Q‰ŸË’‰¼)í4E¤ÐþEÉ!ϸ¸WÍ8„«’ˆ ˜2U÷ÛP¶¥^$i8M9Äü[ÆK¸Éç,AØËb‘£Uö3Ë&Îkõ®ú ,ø‰ÔÂ|ƒ¸î&âu²Ÿ&pò¡sV;L‰][ÅX™ªõö…Bäò6ñºWõ^°†ÔDc†ãû«Œ]é˜ߠ-B©kêá2­ ŒHá+zþ¤évì¿Ý. ôcYÉ|žW\¤ {%¯ò³‰y´Q›ï©<ªTm×Õ/1Ó÷¬ž ›ª’‡ä«ôð:ðÿ½ñTG}ø/4˜Ïi0_«ABžÐç=¡p­·ãgJ’KL‹P5î^­ù@ŒØ×¼¹Z³qHóîè`ÔÛ™gª,mË凨gÛ-Z& OÍnÃ1ÝýªÝÌ1~\×5­MÿÝòÄ7 ÆV£êÑRc™^=¿«¸¬ijû‚bôAƒµNÃ$.uV u:è=! ‡þY;,¥·±Åœ†%¦`Õhå üÃñ1œÉïîy[<†ƒ¡‰ñ9¯"²Ÿ§ßùµ}>ìuTÍ0‚yà‡-J²éGP^¢=r7׺ÀUàÆ[ÍÞ¤iŸ¸ÄɆ°ðq ofUµ(OZ-¾f‚¯á|‘råó7+¶ÚÐbëå ¤ÉT¢«‰AjJDÛá,OCÁïæ›Ð´ˆ“R0Y ÓGÉ"ûÔ$¦£˜N\±ëÝJ’I‰û Ç™Á< 0 ¨EÊVÙA:\µ«¢T\0Ñî?Sê•äÔ$MªG˜‡¨ÐP´Ú‚gq‚Kf_îµ Ã5q©´žlÓ0úÒÀMÕ7d­,^×Ô W–)çL̯+j™¤»KȦ %I<$Fwƒaú„’v¯+}Ô .F}¸l0¸¾Ãôvní7*ÊójY¨%»3|‚¤^„ê¥Cà*—‹E^T<>Ü•àEÿSÐ0mý—þd W=q1Ë«-âv× V‘A'\BMfÛ¾El¹ðq™A™%¯Yë)ÇDþ:ö3~þáuOnendstream endobj 6 0 obj 1309 endobj 13 0 obj <> stream xœ‘ÉNÃ0†ï~Š9&v½ÅËP$ZE¤Ä.—EPJUÔ…’Vˆ·ÇNhoh#Û¿¿–=P€Æèò|ƒ•†eƒ(,ѱöº4ßÀ/ü:ýa 9h+ˆ±à7(¹TE9öµsEêß‘RDk‚п"Œ$ø/4MóÊ ËûY"f)ÌŸëzñÜ|×Íâ°û8¤˜KK¬É’pXí¶ œSŸü ©ç'ê+z*J$6‹UbÉ¡ °PQL£}âò® Wþ©£4(0ã-²÷›¸¼ïä¯q«”uî­íÕ%‰)¢íëëawÞë®ØK"Œ(ó_àô—8W¹+‹ÔrB©2aítÎÀaZƒ#Kªã¾°Òü\¯^â@¡ M1Ë2+I–0 £ã8e²%K%: Ü£‡?•Š#endstream endobj 14 0 obj 322 endobj 4 0 obj <> /Contents 5 0 R >> endobj 12 0 obj <> /Contents 13 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 12 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 15 0 obj <> endobj 16 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 17 0 obj <> endobj 18 0 obj <>stream 2016-01-27T08:26:30+01:00 2016-01-27T08:26:30+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 19 0000000000 65535 f 0000002216 00000 n 0000004096 00000 n 0000002150 00000 n 0000001828 00000 n 0000000015 00000 n 0000001394 00000 n 0000002281 00000 n 0000002525 00000 n 0000002460 00000 n 0000002322 00000 n 0000002352 00000 n 0000001988 00000 n 0000001414 00000 n 0000001808 00000 n 0000002391 00000 n 0000002421 00000 n 0000002607 00000 n 0000002673 00000 n trailer << /Size 19 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4250 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_REDIRECT_URL.30000644000175000017500000000363712626067776016414 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_URL 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_URL \- get the URL a redirect would go to .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_URL, char **urlp); .SH DESCRIPTION Pass a pointer to a char pointer to receive the URL a redirect \fIwould\fP take you to if you would enable \fICURLOPT_FOLLOWLOCATION(3)\fP. This can come very handy if you think using the built-in libcurl redirect logic isn't good enough for you but you would still prefer to avoid implementing all the magic of figuring out the new URL. .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.18.2 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.html0000644000175000017500000000527012652070415017237 00000000000000 CURLOPT_LOGIN_OPTIONS man page

NAME

CURLOPT_LOGIN_OPTIONS - set login options

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOGIN_OPTIONS, char *options);

DESCRIPTION

Pass a char * as parameter, which should be pointing to the zero terminated options string to use for the transfer.

For more information about the login options please see RFC 2384, RFC5092 and IETF draft draft-earhart-url-smtp-00.txt

CURLOPT_LOGIN_OPTIONS can be used to set protocol specific login options, such as the preferred authentication mechanism via "AUTH=NTLM" or "AUTH=*", and should be used in conjunction with the CURLOPT_USERNAME option.

DEFAULT

NULL

PROTOCOLS

Only IMAP, POP3 and SMTP support login options.

EXAMPLE

TODO

AVAILABILITY

Added in 7.34.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_USERNAME, CURLOPT_PASSWORD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTQUOTE.pdf0000644000175000017500000000744112652070440016364 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Uo›Hýߟb¤û£…-Ëòku§“Ü„Jn©qlÜ^Ÿ"ŒqÂ6 ­òúUî;Þì.¶e·‘eɘ™}3ïÍãlBÁ–¿þšoo§<Š ƒçU/¡¿äx—b@(¤ëΡ8pFBéfpoÜ̧q2I&É,½39áÜñCcž˜§Ü'ÔçóÒÕÀ§$ ýŽIi´0ØÂ„¼kª‡"/¢hë]kZŽg›zÞ”õVÀiyY“1F8Õ%ïåA®Ìpý}QdÙÄ¡ˆ0Ç86@¸'{°\†Á!XÌ—éÆxh¦ÿ`÷G=âq¦ËŸ"ùüØ»c×À¢Ž|më&^í\ò8‚ÿ`aÌæûty½ÙdÛ•€¶†¦ÛB¶n‹Ú§Ú&ÛŠuÑ(ä§x§E}*T³¯ãd2ÍN±©…Ëø­ÜæU·*à9Ø·ò<ý)ÃÒx^iÔy1ç³_¨Wpõ„ «âúlòÔ>õ5ˆ¶éòV—U)Z¸Ê7+±0¿ÔÇm4»™Ž&é(KlÈõ4U¿èi’(â$ô4A”¸N/%! ƒ]]nÕ4k¼©Êí¿ˆW#-V °Õk$Ô ÌÎÉØeB]%¢h¾™ÔE.mÇÀ‚š¤—ºkTú S–³×ñl®5ÅsWˆ–@Š}/« êmõËBñ_®a[CÑ4ˆ©ÎqŒM±Ò9Ǹwh@<Õ]µ’ɬ» ë|3 Ô£FV•‡64‰)Ö:5~æI?°kê]Ñ`¥U…Ç”¨I«BäM¹Äûuݘojï·À ‰Íö›·×Ç‚jìµ]<ÒŠ¶Áû%#Š|æPÂqµ¤BeÙÛRdË —â© ñeÒ {4±ÙÐcž‘!Ðå RÕ¶åöÇ1žÇ±&P¥ÈxrYƒï{íyn(Å…+ΩÛûŠ1œ«·T6Ö»ƒã³ §M›“2‚€¹éJ\zW_…1™ö(\¦P ôVc9Äö”¨Œ$…äp¦ÃH`û{¯ºIâ3G°äD™ëžø•¡tR”B¾€*úkøiGûå _]ÎôŠ2¹ÅÒmÒOÏ Ã_x0—‘‡Óä]…pøŽ~Œ|øí'aŒâá»Q5†ñ<:“÷q0_´]Ó¿¢‡ä£\w DËP¨=Äbu­XÑóñÇqb¢È¿ŒåÚ'Ú‹‚žE ãYr¤öÒ+ ‹»zÖGÈ¥™í×T-òõiY<Õ÷mçÜ &ÓèbqjcuúSmüðSâ«/3'¾.[•KéZÛ´¨çq—x ਃN£Š»‡] ²T”îð÷?#dL€endstream endobj 6 0 obj 1052 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:24+01:00 2016-01-27T08:26:24+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001376 00000 n 0000003266 00000 n 0000001317 00000 n 0000001157 00000 n 0000000015 00000 n 0000001137 00000 n 0000001441 00000 n 0000001695 00000 n 0000001630 00000 n 0000001562 00000 n 0000001482 00000 n 0000001512 00000 n 0000001777 00000 n 0000001843 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<94202D5C0F1F4483CCA0125CE9569785><94202D5C0F1F4483CCA0125CE9569785>] >> startxref 3420 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.30000644000175000017500000000505212626067776017607 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_IGNORE_CONTENT_LENGTH \- ignore content length .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IGNORE_CONTENT_LENGTH, long ignore); .SH DESCRIPTION If \fIignore\fP is set to 1L, ignore the Content-Length header in the HTTP response and ignore asking for or relying on it for FTP transfers. This is useful for HTTP with Apache 1.x (and similar servers) which will report incorrect content length for files over 2 gigabytes. If this option is used, curl will not be able to accurately report progress, and will simply stop the download when the server ends the connection. It is also useful with FTP when for example the file is growing while the transfer is in progress which otherwise will unconditionally cause libcurl to report error. Only use this option if strictly necessary. .SH DEFAULT 0 .SH PROTOCOLS HTTP .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* we know the server is silly, ignore content-length */ curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, 1L); curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.14.1. Support for FTP added in 7.46.0. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_HTTP_VERSION "(3), " CURLOPT_MAXFILESIZE_LARGE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.pdf0000644000175000017500000001242112652070442017266 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµXmoâFþί©jŸ`ã]¿¬}}‘HBzœL Ø§¶ rÀ÷;‡MiÔ¿p¥ÿ±³»Æ¥©ä(RHÌì³3Ï33žÝ/` †ø©>÷³)‡»¢cÀ]çK‡Ê/¡úXÜÃyˆ®x®:j ΀{&q=ï;Úŧ©?ž„óéàr8O¦zøG§g ÂEÇãÄt=W…ËN×…p×ÑÆ!Œ…™!l¨G<Çó” Ö°¹Ñ.Æ~0ÓÌ™‹í&ÇQñ8/â2(õ³p‘gjøO’g<ñá÷ðcíC_-ûõ>4;W¡0ê £³©‡DÏ\ô,Ó Ü…žéÈ5×ýÌ&¶gVX£xÞpÈÐ)ƒC2µÕkÉ{Á_£á þ¤6y™/ò´€(MsYHãÚ.^B™Ã&^&›xQâß’§ã¸¨mŒ©Gâʃ߮Ǔ`Ç!MT ß$Ù"Ý.cø^u&~‘õœa¾ r‘£Á©3ù¼[GÙ2»Oeü¶ÑEåèëE”¤HNºæÙÜ&å}T|žéß©@c6M.µ¬c¾Óá$ޝ+E¨­Rà™ø'Qí‚GÜ*Ñ(¡Žò±@” å:*a§Kñ¤òò• ûXzÊ]ôÍz}¸b;.mæï`Íâ‚ÀpÛ"^vq㤨7L“û¤,`'œ©EnÎ —pníCL[Ö¢–&·B:¸"$Pn¢¬XÅVRÂ*Ɇ@è òÀjÏl[¢ì ‘}rm‚»uœ)=¨±ï2†MXúM] Wcßë¶A Ãsµ_üñE_GÕ Ãq5!“ªW•Îu¿²af%ˆ–¨ -f“ÕhÇ`ª€â,ºMã%PÐ¥*ÇÆ(®?æ[á¾dЇx‘|]ÔÈÈò,}„ÛX­ž0äóбU<¨2DFPloEÅb4E‹ ‚zJ” dŸm‚6Ñóˆd{“#@Ãw7Úù#*¿Ò1­ j9Z´MKØ+·KÒ´qÌ$\,ÃBcgO¶¶‹{˜ÉZBF¹âQ?ó¬2Ö)v—»Ú_‹øŠ÷=XU5mâÕZü” Ã&·wa¥°L )&ÔqÐÿ¤|Ä¢Ã~¶›XQÃÑ3f7RRW1Ì ‡WCØZ ¸˜@´‰kä®|Z àØ‰Áè\™ŽÎi¥E^/ '9jbfy|ïôÓú5Eë6þ³]Y´~çÌû¾Üa{–á–£q˜¥2?Ÿ—¢ ª'²ãäEü<¡ºc«Ímº—g²îC’,)gZu9!,}œ¨W3i8Óáo1Ž ËU]h®Ãs‚õž±Qf[£|ÜfÀp²—„YupT ÂÎÏøó/ÝÝÏendstream endobj 6 0 obj 1378 endobj 14 0 obj <> stream xœ•T[oÚ0~ϯ8os*pmÇÎE{¢Òha`:M¥B41S 4 ë*mÿ}¶n몭ʃ“ø\¾ïœïœG ˜1Os&+ç|ÀCéxpj/¡9’\HmšráÔ>Aäá0¹rÐådÔ‡r6ê~èfÑ+¿9m‚9Èĉì…Q¨½dê´)COŠ%ÄÆŒáÈ¢Ú†inlnÑeÜO‘7u!ÙÙLÍËçY©ª|S¹mƵSä!ý±Ì×%¼Àp'¯ö ˜ÆÊÅÿc8d¶T4„Ðö|sIjpçg°™—%,×P}U ÓâÈW0_ƒr©À„úQ©b=Ï Ì·E¢àìÜ¢ dß‘g·èO^Sû§µg£Ì —†˜PAÑÃ÷[z7ußÛ0Œ›0H¾Îžaže¹ûÎaX>\`Öðy*D=LšR •. •T%T9|”r¨Á§öelø”¯á/Bìù:VÛ×nÿBý7Ð0Äü 2°-hÙÔ8ûì&Ëil/Ä;F¯´mC3Kó'¼ ü…Ø@cÓ 1ò1çÐ6-Ù¥Ò}ªb‘++B=nUY55­%pTÉMmZ—Ò„}§ë¾çü«Î‚…–èŒô@š¢è™4²Ô5ÂaƒØéAèì±3‚}Awjèõ;½~O~1÷Gí%Ãu‚&i£óNšªÔ¨<Àº¼÷JU†Ó–<¹f™¢|›¥°È ­¶.¬±WÕ¶hÖDw_Ãra»R¯X–Pn7›¼¨TÚ²SPN׃Øõú<˜ie÷âq\çnr½Ö4îv¡ÓÇ2§öKóT…¾#ºÙ+BÔÅðÅÑ”œvQïOæÚÜÛ%ÖŒ‘Ðá Íõ2;ÞcÙòÞHN·× 0qµ™ˆ8ˆFpµ]#”[®Üßu‘™p]é|ÒÏoîc”Hendstream endobj 15 0 obj 764 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:26+01:00 2016-01-27T08:26:26+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000002727 00000 n 0000004686 00000 n 0000002661 00000 n 0000002339 00000 n 0000000015 00000 n 0000001463 00000 n 0000002792 00000 n 0000003115 00000 n 0000003050 00000 n 0000002982 00000 n 0000002833 00000 n 0000002863 00000 n 0000002499 00000 n 0000001483 00000 n 0000002319 00000 n 0000002913 00000 n 0000002943 00000 n 0000003197 00000 n 0000003263 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4840 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIESESSION.30000644000175000017500000000400612626067776016404 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIESESSION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIESESSION \- start a new cookie session .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIESESSION, long init); .SH DESCRIPTION Pass a long set to 1 to mark this as a new cookie "session". It will force libcurl to ignore all cookies it is about to load that are "session cookies" from the previous session. By default, libcurl always stores and loads all cookies, independent if they are session cookies or not. Session cookies are cookies without expiry date and they are meant to be alive and existing for this "session" only. A "session" is usually defined in browser land for as long as you have your browser up, more or less. .SH DEFAULT 0 .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Along with HTTP .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_COOKIEFILE "(3), " CURLOPT_COOKIE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_KEYPASSWD.pdf0000644000175000017500000001007212652070434016330 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­VÝnÛ6¾÷S`7r³"õËmঠêV±<[n$ƒ¡ØL­Õ‘\InÐ>C_eï¸CŠ’,×¹ Xxxøï;?ü&¡`ÊŸ~®Ÿ¯æ|*&||Pµú±~‚×1øòCü8¨÷PðxÜ">‡øi`\-ça4‹WïƒÛÙ0þgà9ÄsÐ.Þ N ñóàÎ/ßÜÖýÖ‡b·IùmUŠ*ßWÃsLbšž/iž•Ðsùwün`Ùqxíôȕޕ =¯Œaô­Ð_…΂Ú+'ì¨z‹ì˜‡¶PÄFª®W¾-ð­“îÒu]žHûµ(ªôÇ“†LµFË8TðM¡D—yÖ™ãÇâLÛ±qÛÿØvNh¬õíÕ³éÇä½¢¾Ö¾Û¯[!áÔnÓh©V©ŒN«È\«©º0>êxMI˜žçÉ®®‹`º Ã3XŽ{Ël®QØ–¯Cdn“÷#ìY8WdZE1Dí™Ì"žé6¹}…' asÄa÷”4ÆXëq¸€‡DVû¾È«|ïÊ_ámÏ—p­þ'7cù˜E3 ‹ü¢ZŸãô8Žà¯ñÍ, ¹üûcõz’nÆ›Hóíøþ™iÉ¥e{š”Å®cúÝäD]‡6¥: ǯ'á$¾ís#ËÑÆ34 3Ò©=Þ¦%Ô3ž‡T'6vÅÏY>d66D›Ï™ì“ýîVêºzòö2ý=‚pmÀYtl~Ì›RàªcÛ(¦Ý”dÏñÛYÚ!Yˆ/ËXôœ¸5Û»ôAÞÀ0ë,˜ÃunÇÀ»É»Cxµ´ovÛ©¨tă?ñ÷8ëæöendstream endobj 6 0 obj 1333 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:20+01:00 2016-01-27T08:26:20+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001657 00000 n 0000003547 00000 n 0000001598 00000 n 0000001438 00000 n 0000000015 00000 n 0000001418 00000 n 0000001722 00000 n 0000001976 00000 n 0000001911 00000 n 0000001843 00000 n 0000001763 00000 n 0000001793 00000 n 0000002058 00000 n 0000002124 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3701 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.html0000644000175000017500000000421712652070414017024 00000000000000 CURLOPT_FNMATCH_DATA man page

NAME

CURLOPT_FNMATCH_DATA - custom pointer to fnmatch callback

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FNMATCH_DATA,
                          void *pointer);

DESCRIPTION

Pass a pointer that will be untouched by libcurl and passed as the ptr argument to the CURL_FNMATCH_FUNCTION(3).

DEFAULT

NULL

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.21.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_FNMATCH_FUNCTION, CURLOPT_WILDCARDMATCH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.30000644000175000017500000000367612626067776016405 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_EPSV 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_EPSV \- enable/disable use of EPSV .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPSV, long epsv); .SH DESCRIPTION Pass \fIepsv\fP as a long. If the value is 1, it tells curl to use the EPSV command when doing passive FTP downloads (which it does by default). Using EPSV means that it will first attempt to use EPSV before using PASV, but if you pass zero to this option, it will not try using EPSV, only plain PASV. If the server is an IPv6 host, this option will have no effect as of 7.12.3. .SH DEFAULT 1 .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Along with FTP .SH RETURN VALUE Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_FTP_USE_EPRT "(3), " CURLOPT_FTPPORT "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.html0000644000175000017500000000507612652070415020134 00000000000000 CURLMOPT_PIPELINING_SITE_BL man page

NAME

CURLMOPT_PIPELINING_SITE_BL - pipelining host blacklist

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SITE_BL, char **hosts);

DESCRIPTION

Pass a hosts array of char *, ending with a NULL entry. This is a list of sites that are blacklisted from pipelining, i.e sites that are known to not support HTTP pipelining. The array is copied by libcurl.

Pass a NULL pointer to clear the blacklist.

DEFAULT

The default value is NULL, which means that there is no blacklist.

PROTOCOLS

HTTP(S)

EXAMPLE

  site_blacklist[] =
  {
    "www.haxx.se",
    "www.example.com:1234",
    NULL
  };
 
  curl_multi_setopt(m, CURLMOPT_PIPELINING_SITE_BL, site_blacklist);

AVAILABILITY

Added in 7.30.0

RETURN VALUE

Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

CURLMOPT_PIPELINING, CURLMOPT_PIPELINING_SERVER_BL

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PIPEWAIT.html0000644000175000017500000000654712652070415016406 00000000000000 CURLOPT_PIPEWAIT man page

NAME

CURLOPT_PIPEWAIT - wait for pipelining/multiplexing

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PIPEWAIT, long wait);

DESCRIPTION

Set wait to 1L to tell libcurl to prefer to wait for a connection to confirm or deny that it can do pipelining or multiplexing before continuing.

When about to perform a new transfer that allows pipelining or multiplexing, libcurl will check for existing connections to re-use and pipeline on. If no such connection exists it will immediately continue and create a fresh new connection to use.

By setting this option to 1 - and having CURLMOPT_PIPELINE enabled for the multi handle this transfer is associated with - libcurl will instead wait for the connection to reveal if it is possible to pipeline/multiplex on before it continues. This enables libcurl to much better keep the number of connections to a minimum when using pipelining or multiplexing protocols.

The effect thus becomes that with this option set, libcurl prefers to wait and re-use an existing connection for pipelining rather than the opposite: prefer to open a new connection rather than waiting.

The waiting time is as long as it takes for the connection to get up and for libcurl to get the necessary response back that informs it about its protocol and support level.

DEFAULT

0 (off)

PROTOCOLS

HTTP(S)

EXAMPLE

AVAILABILITY

Added in 7.43.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_FORBID_REUSE, CURLOPT_FRESH_CONNECT, CURLMOPT_PIPELINING, CURLMOPT_MAX_HOST_CONNECTIONS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.pdf0000644000175000017500000001054112652070431017105 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•Wër›Fþ¯§ØI:Ö†]îm§3Š[%²¤J8iw4Ö U¿C_¥ïØs–tÉ¥;Æ1»ç|ç;ß¹è1(#~©g¼<_¸ä¾ä~ðiÀäK¢ñ†¼ဇïÍF\N\ߤžOÂÍÀ4© ¿ìï´‹›Åd6WWá|u5ž×AøëìòV3ouoËl%¢êiU‰ºx¨õ!· j®ÿI‹¼"_¹­ÿ¾ ÊxŠ‘ˆ¨o#(Ó!ád MGúo™ €L&í:ÐÃ{!pƒZ†K†Œãkq6ù‡T"qM’´„GQ>‘ºŒÐ a6ºâœQ»uõ(ð„àSîùž¥^”Ušß“¨×EB€£Õ^Cî8Ô〠òÚòít6_Ž—‡@¸ ¼ö]šÇÙ6ä'$÷9þ ëŸñ8·$'X\Àcòoå+òý:Ê“Lœús`Ô±;wYÑEq«ÿx3ØúË`y±ÏÃñlz@Ùg#™G{Ôy¶â­ªHD¤×Zdr˜¥ï1²[§ñºAÀŒVœ ÆÔÕæsŒú¦ï5'ÞiuA¶• ð(E¯ÁÕß™ E¿ ·ÚD[‰òQgõ=ÛÒD©Û6(Ö÷4Ú’9œúdˆlƒ–¨Æe„ë´"¬‰hîs_û+­êмq„~«b#”}eT”$Ý„· £Å':®#¹¶ikQUwŒsãÿ’½O™'„ƒ -ç”pl1Èø.ŸFYCW‚ÛÌv©ëóNÆVS ÷bÔ#Çp1Wu.mJK8%žåE¹ÈŸž‘[püQ¦ !×ig—¢ÑÇ\ôë•BSÝaêMã]B⨷zÏÎ *±Ýdà.ÌW™ÙÐ7E¹ßÑã¾ãÃP'gy†ÏÚÚ€Þ µd5ÒØ?X†$Q"‡6ü„]ú¬EyFOG¾Ë&þ•’¤m5£ α¶¼µÑM32°øÔšÆÓUo'a§Ò~b£º]×5»‰ôßúø!ÆMÍ ¢ezª¹rÇUR‚¥f•Õf!™õe‰5œvÍ»˜MŽV2ˆÉýÜüì~w€#ø}t=Ÿm {_ÜŒÂ3±Ö—3E¦íy'ñÐòñdç 9oJ}ôšŒú° êØLÅ®'£ãÉ8|{dÉ´ÀÇFFI"œq.ø¡ìë±Â¨ ›Ŕ¼Ö™ åî0m4¹ T¦NC†ó¢Þ–êA°š½"i³,¨ dûðP”µHÎe6o¦¯¦3Í›éj&O¼˜5ý–*–A@F“å¬äÒÞ‚<C‹nw›Ù¨½=ІdÌvG“Ÿ`ÎmƒkÇ1x;ùö÷ïå«ñ|5×] < WË׫ñüؾåÐn@÷ö‡&Ç °}X'Óm[t©éRC‡¹hû04ø$õr›ÍA·:Ë|áà7øúã¡®5endstream endobj 6 0 obj 1628 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:17+01:00 2016-01-27T08:26:17+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001952 00000 n 0000003842 00000 n 0000001893 00000 n 0000001733 00000 n 0000000015 00000 n 0000001713 00000 n 0000002017 00000 n 0000002271 00000 n 0000002206 00000 n 0000002138 00000 n 0000002058 00000 n 0000002088 00000 n 0000002353 00000 n 0000002419 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<0782EC3B75A660548FFF32D705A7DC1A><0782EC3B75A660548FFF32D705A7DC1A>] >> startxref 3996 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_PUSHDATA.pdf0000644000175000017500000000731612652070453016314 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVínÛ6ý¯§¸À~Ì.lFü’Hlà&ÊêV‘<›nWăáØJâU–]KZчÚ;ŽÔ§­$]`À„ÉËËsÏ9—ôW°Û|ªq½³.¦.<¤– ÖW ‹P ë¼U:@˜ uo•{0¸\I‘ vVïr>õo‰ZNæ³wW}õ·5ÄcPkKb$¨m¶©™%zö›Õ)™8ÛÄ`8¶IÃ"Œ› ÛÞ¢G}XçÇx¹Ëãl»L£lÈúCÂ$’‚÷ôí>I¡à/õ¾E@‰‹˜|=€òÔ¢[GKp1•š$¹á`ȸƒ(ƒ!uŠøà$G\Ò*Ïgæ[í“bùµ¤5P âf‘`d·`ÿ=´‡S„©å‚]T¹ß&Yt„l‡Ušcž>ÂzÇw«õ—ßiiØÁšXÑA¢È?û„“Ùxv^Š®¼.ã§m²ŽóM¿.Ìzü­ÀË@ùU뽎x"ä¢\„7«dGƒ®Ž?·”é"*^R±¢æ\ÇÁ? 5uhÙÀ›CI΢ÿËS¨¦Á‘'4\y³Ëéx¢Æað"³(+×°]w‹ƒ¸Cj«;û r\\ÙS×%H°Vl¥E{Œ ^¥¬Š­‚#Ù¨l6”L<ä»(ÉŒÂ:¾CCYíÊ3НçÁ¥©©±üI§3݈ öÚ1”†sRÉ2†\*jJ‚¿mã’}w‘†”¯£ ì§z¼ûñöÎx¶YÅ÷Ø'ñ÷¢^–TE4.…ûGÏ u&ÒuÕ¶œ‰Â4:³¦æU“Ùº Ëf%u«U_5niIЩ°ëº¦Ù+‘ƒ¹ïÿŒÉ´BÁh3}Ž[¹rHÍeAR¨ lÎ$¹¶ÓˆúŽÓ°¥ÆÑy§Ôdћղ½ˆÆûst3ñ½ çžØW…g7 ¯ \…k\ˆg®Bi"›Ó ¹¬ìÌ'÷«ÖÁá¸î˱?z;öÇêsÇp\»TtŒ4Úl´'¶ è;œ!ûǵÞö¦žšOøØÇ”!éàÞÈŸ{Åsð\É:>Êòcý~,ð½/¬W¾+°M!͇ý1‹6ÐwT8>aß!8ë} –aq3˜ÝÚô¨:ðEIfž#¶Õt¤x¶G»íI¥§/Öà<Ñ®kŒã‰çƒqð{'!ȯÍw[$¬ó}êc­°­Ù«Ùئˆð¤2ì"ÑÚzz}ùäÕäu—³ÂCýëÉ!ÕAÊ7¸¾QZ›4¯¥i¸:~ßz\_Š¢á'O€Ø˜©ÔÉ›fÊSÖúó&ç> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:35+01:00 2016-01-27T08:26:35+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001300 00000 n 0000003183 00000 n 0000001241 00000 n 0000001081 00000 n 0000000015 00000 n 0000001062 00000 n 0000001365 00000 n 0000001619 00000 n 0000001554 00000 n 0000001486 00000 n 0000001406 00000 n 0000001436 00000 n 0000001701 00000 n 0000001760 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<3E3D42014AA6F3C473588EE0196F054F><3E3D42014AA6F3C473588EE0196F054F>] >> startxref 3337 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.html0000644000175000017500000000457012652070415017517 00000000000000 CURLINFO_APPCONNECT_TIME man page

NAME

CURLINFO_APPCONNECT_TIME - get the time until the SSL/SSH handshake is completed

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME, double *timep);

DESCRIPTION

Pass a pointer to a double to receive the time, in seconds, it took from the start until the SSL/SSH connect/handshake to the remote host was completed. This time is most often very near to the CURLINFO_PRETRANSFER_TIME time, except for cases such as HTTP pipelining where the pretransfer time can be delayed due to waits in line for the pipeline and more.

See also the TIMES overview in the curl_easy_getinfo(3) man page.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_COOKIELIST.30000644000175000017500000000410312626067776016123 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_COOKIELIST 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_COOKIELIST \- get all known cookies .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_COOKIELIST, struct curl_slist **cookies); .SH DESCRIPTION Pass a pointer to a 'struct curl_slist *' to receive a linked-list of all cookies cURL knows (expired ones, too). Don't forget to call \fIcurl_slist_free_all(3)\fP on the list after it has been used. If there are no cookies (cookies for the handle have not been enabled or simply none have been received) 'struct curl_slist *' will be set to point to NULL. Since 7.43.0 cookies that were imported in the Set-Cookie format without a domain name are not exported by this option. .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.14.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.html0000644000175000017500000001147312652070415017124 00000000000000 CURLOPT_WILDCARDMATCH man page

NAME

CURLOPT_WILDCARDMATCH - enable directory wildcard transfers

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WILDCARDMATCH, long onoff);

DESCRIPTION

Set onoff to 1 if you want to transfer multiple files according to a file name pattern. The pattern can be specified as part of the CURLOPT_URL option, using an fnmatch-like pattern (Shell Pattern Matching) in the last part of URL (file name).

By default, libcurl uses its internal wildcard matching implementation. You can provide your own matching function by the CURLOPT_FNMATCH_FUNCTION option.

A brief introduction of its syntax follows:

* - ASTERISK

ftp://example.com/some/path/*.txt (for all txt's from the root directory)

? - QUESTION MARK

Question mark matches any (exactly one) character.

ftp://example.com/some/path/photo?.jpeg

[ - BRACKET EXPRESSION

The left bracket opens a bracket expression. The question mark and asterisk have no special meaning in a bracket expression. Each bracket expression ends by the right bracket and matches exactly one character. Some examples follow:

[a-zA-Z0-9] or [f-gF-G] - character interval

[abc] - character enumeration

[^abc] or [!abc] - negation

[[:name:]] class expression. Supported classes are alnum,lower, space, alpha, digit, print, upper, blank, graph, xdigit.

[][-!^] - special case - matches only '-', ']', '[', '!' or '^'. These characters have no special purpose.

[\[\]\\] - escape syntax. Matches '[', ']' or '´.

Using the rules above, a file name pattern can be constructed:

ftp://example.com/some/path/[a-z[:upper:]\\].jpeg

PROTOCOLS

This feature is only supported for FTP download.

EXAMPLE

See http://curl.haxx.se/libcurl/c/ftp-wildcard.html

AVAILABILITY

Added in 7.21.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_FNMATCH_FUNCTION, CURLOPT_URL

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_STDERR.30000644000175000017500000000357512626067776015404 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STDERR 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_STDERR \- redirect stderr to another stream .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STDERR, FILE *stream); .SH DESCRIPTION Pass a FILE * as parameter. Tell libcurl to use this \fIstream\fP instead of stderr when showing the progress meter and displaying \fICURLOPT_VERBOSE(3)\fP data. .SH DEFAULT stderr .SH PROTOCOLS All .SH EXAMPLE .nf CURL *curl = curl_easy_init(); FILE *filep = fopen("dump", "wb"); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); curl_easy_setopt(curl, CURLOPT_STDERR, filep); curl_easy_perform(curl); } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_VERBOSE "(3), " CURLOPT_NOPROGRESS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PRIVATE.html0000644000175000017500000000527212652070415016270 00000000000000 CURLOPT_PRIVATE man page

NAME

CURLOPT_PRIVATE - store a private pointer

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PRIVATE, void *pointer);

DESCRIPTION

Pass a void * as parameter, pointing to data that should be associated with this curl handle. The pointer can subsequently be retrieved using curl_easy_getinfo(3) with the CURLINFO_PRIVATE option. libcurl itself never does nothing with this data.

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

CURL *curl = curl_easy_init();
struct private secrets;
if(curl) {
  struct private *extracted;
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* store a pointer to our private struct */
  curl_easy_setopt(curl, CURLOPT_PRIVATE, &secrets);
 
  curl_easy_perform(curl);
 
  /* we can extract the private pointer again too */
  curl_easy_getinfo(curl, CURLINFO_PRIVATE, &extracted);
}

AVAILABILITY

Added in 7.10.3

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_VERBOSE, CURLOPT_STDERR

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.html0000644000175000017500000000510112652070415017645 00000000000000 CURLOPT_FTP_SKIP_PASV_IP man page

NAME

CURLOPT_FTP_SKIP_PASV_IP - ignore the IP address in the PASV response

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SKIP_PASV_IP, long skip);

DESCRIPTION

Pass a long. If skip is set to 1, it instructs libcurl to not use the IP address the server suggests in its 227-response to libcurl's PASV command when libcurl connects the data connection. Instead libcurl will re-use the same IP address it already uses for the control connection. But it will use the port number from the 227-response.

This option thus allows libcurl to work around broken server installations that due to NATs, firewalls or incompetence report the wrong IP address back.

This option has no effect if PORT, EPRT or EPSV is used instead of PASV.

DEFAULT

0

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.14.2

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_FTPPORT, CURLOPT_FTP_USE_EPRT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_ERRORBUFFER.html0000644000175000017500000001010612652070414016730 00000000000000 CURLOPT_ERRORBUFFER man page

NAME

CURLOPT_ERRORBUFFER - set error buffer for error messages

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ERRORBUFFER, char *buf);

DESCRIPTION

Pass a char * to a buffer that the libcurl may store human readable error messages in on failures or problems. This may be more helpful than just the return code from curl_easy_perform(3) and related functions. The buffer must be at least CURL_ERROR_SIZE bytes big.

You must keep the associated buffer available until libcurl no longer needs it. Failing to do so will cause very odd behavior or even crashes. libcurl will need it until you call curl_easy_cleanup(3) or you set the same option again to use a different pointer.

Consider CURLOPT_VERBOSE and CURLOPT_DEBUGFUNCTION to better debug and trace why errors happen.

If the library does not return an error, the buffer may not have been touched. Do not rely on the contents in those cases.

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

curl = curl_easy_init();
if(curl) {
  CURLcode res;
  char errbuf[CURL_ERROR_SIZE];
 
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* provide a buffer to store errors in */
  curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf);
 
  /* set the error buffer as empty before performing a request */
  errbuf[0] = 0;
 
  /* perform the request */
  res = curl_easy_perform(curl);
 
  /* if the request did not complete correctly, show the error
  information. if no detailed error information was written to errbuf
  show the more generic information from curl_easy_strerror instead.
  */
  if(res != CURLE_OK) {
    size_t len = strlen(errbuf);
    fprintf(stderr, "\nlibcurl: (%d) ", res);
    if(len)
      fprintf(stderr, "%s%s", errbuf,
              ((errbuf[len - 1] != '\n') ? "\n" : ""));
    else
      fprintf(stderr, "%s\n", curl_easy_strerror(res));
  }
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_DEBUGFUNCTION, CURLOPT_VERBOSE, curl_easy_strerror (3), curl_multi_strerror (3), curl_share_strerror (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.html0000644000175000017500000000423612652070415017436 00000000000000 CURLOPT_SSL_ENABLE_ALPN man page

NAME

CURLOPT_SSL_ENABLE_ALPN - enable ALPN

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_ALPN, long npn);

DESCRIPTION

Pass a long as parameter, 0 or 1 where 1 is for enable and 0 for disable. This option enables/disables ALPN in the SSL handshake (if the SSL backend libcurl is built to use supports it), which can be used to negotiate http2.

DEFAULT

1, enabled

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.36.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SSL_ENABLE_NPN, CURLOPT_SSL_OPTIONS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYAUTH.30000644000175000017500000000446612626067776016004 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYAUTH 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYAUTH \- set HTTP proxy authentication methods to try .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYAUTH, long bitmask); .SH DESCRIPTION Pass a long as parameter, which is set to a bitmask, to tell libcurl which HTTP authentication method(s) you want it to use for your proxy authentication. If more than one bit is set, libcurl will first query the site to see what authentication methods it supports and then pick the best one you allow it to use. For some methods, this will induce an extra network round-trip. Set the actual name and password with the \fICURLOPT_PROXYUSERPWD(3)\fP option. The bitmask can be constructed by or'ing together the bits fully listed and described in the \fICURLOPT_HTTPAUTH(3)\fP man page. .SH DEFAULT CURLAUTH_BASIC .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.10.7 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_NOT_BUILT_IN if the bitmask specified no supported authentication methods. .SH "SEE ALSO" .BR CURLOPT_PROXY "(3), " CURLOPT_PROXYTYPE "(3), " .BR CURLOPT_PROXYUSERPWD "(3), " CURLOPT_PROXYPORT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.pdf0000644000175000017500000001073212652070445016637 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…WírÛ6ý¯§ÀÌþÙ±`üNwvFq´»jTÉ•èd;öŽ¢`‹ Eª$Åï°û(}ÇÞ €ÔGët<E"€{î¹ç\þJ<ʈ‡ö3ß®1ynyü:`ú!±ù–¼Ë`A‚?dO³‡‘˜“8õi’’l;CÊC’÷ÎÍÝb:¿Í—Ëé#|Næ³åƒã?¸$ß7å£íËc+U½Sî‡õ¼Ø/E]µäµ­î³CrÁrÀ’š†ÇH68³‘ûàÃSÒ0õb¶8?ŽÝì—ðÜ£“!ãøØ{1ùH¿•Ü—k ¾ó¥¨bájTgX†fÈ"šèØËŸgóÛådyŽ@/ÑÑ¿U^î×’ü©¹Æè渜:)–×°à’ºýˆ|·Õº”WFÜ)ëꙬ µíç÷{àç`ß—7‹‰ÞŠ€l®ÿø­À5ší”&¡áúÞi["LÔC¡6𜨚(Y–¤,V˜ «z¯H»“yñ¿üœdDšä–Zz™gãu¨!R³¶Eƒ˜õh:»AJÓ$`ΧÇwãÑ2³»{Ñú #« &‰¥wUÛØU­ˆPJnw ¿î[ID…ÉúÔÇ= ¯ ¦gV_/‡ž Ôçwêæ³hê}µnÉHF€œ F¡^ÈÿEw×Û ÌçvÛ¡8žg–˜ß5†aÀc!ïåKã81V‰<ú€v ÒY2ê‘]S«:¯K rÆ1M¼Ä™<µ)Z+aR´ÕÍ”O9•Cƒ¤”y «öG8pdk̃V® ¤¥Ï‚*ÃAº_€2ïŠX0¤/²éÙ.[‡:³è$‹”ù&‹­x1”“ƒËP 1C"‡†IM¤ŽÐ³5á4í±ÄiM k»ª§ª^ªM½ÞÀ½-ž7Šä£•’M½“X%V \•rÛ9·õV’§.ײKÂLX˜)¬Ë„SÆm&˜~±ÝÁnY)¡í‚’O.3>⌳Éì_o‰èÍ  ÀR›Æ—ú´Éº+Öô—fáà¢äyzÆQ)ÛV‚•b :Éé °u JÂ(÷mÓ:Wâ´ÂaXc.f ]½`uUYçÅäÂJ­®@Œ¼Ô{‚Ýe“.–ô«ÈUùç…ºô<';$©+xÜîw»ºQÒý½hEœ^‘Ùr©5>ßIüÁ¸„3Z¯aiQèÍ€zoµ×õΑ}wf³ùãbüÑåÀ^Êcgþa|i<¤ì(›8xÅ,ÖE+@ $—#J’FZ÷ä.½0üFAñt#Ê\«„ä™n­ÔëÖ4ÒJäŸq/ó#u½)Á[Œ+€SDѱ41GÞ;‡l@û|sb°ÐSúªw±(zr“³ä´7²›}Óè+‰Ñ ñXï U:ì×åüf ]ŽÕOP*vA ºM|G—Z µZAú]30mDXH?6ñÀ{l¾H8 £‘óSË-ª¡uIú~Y­5í`'Aäñ> c}Ü¡5NU¬Ѽ<¸WöꪈüšK›O¥»)PúÉ„ç,Áɧ lc$Dz²0²Þ»J5û‰¸Ý¯Ê¢…ª€k–PTø¢ÈaSähFƃoÞ£Ãs#V¢å¢z£ –Б;¾¦çÃÃÛÝïŒð´±ÐZ7âìjS $ê ¶€àÕÑb2ÞÝ‚¹wšZ€ vÆ^y^o·õ› ºš£pÑɽ Õ‚2M•¹"`Ñ…} ÏO{µo¤õ†R»·×v4_¿ÒV^¯ë¼½nÛrw¢6j[¾2^?àüÓfö¦Ý9£;ãèhRöæàQ'?gšõ”ÉF"ã8öƒ^jž©Æ«CÖíÂBüÄø‰­(‡è©®Á<#ó£È}{ÝèâÜ̧%`NDpF¥3‚q æ€áJàUÝpüŸÑ·Óq'“äÕ 0›ŸÎ)¬³¸÷sËb˜$˜Ô‡0¢iiÛhH¶¹bFÉ蘯G#=q2½›L'ÙÏB©$ÉEÎÇ[ýæÛ¹Þ;‹qv·˜‘.‡iÄœÑôîò*8¦ ë%Ó¾¥ŒçHñ¤áh{½ã]é;Ê,¼›}˜Í]?t>ÍìlŽaФù1“Ñt9?&r édîwS†pê|/–8Å_Üipj?eê—ª«ócáyÔäÙ+ÑÍäößãÅãt²Ì.ŠÀˆýáÌ¡Ïàþ€Î‚I/¤‘AÚ]›1õanpat SÉx£ûa_ƒ¿Sz¥3> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:29+01:00 2016-01-27T08:26:29+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002070 00000 n 0000003963 00000 n 0000002011 00000 n 0000001851 00000 n 0000000015 00000 n 0000001831 00000 n 0000002135 00000 n 0000002389 00000 n 0000002324 00000 n 0000002256 00000 n 0000002176 00000 n 0000002206 00000 n 0000002471 00000 n 0000002540 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<61F344E2D01DB5084C0DA55141C31B18><61F344E2D01DB5084C0DA55141C31B18>] >> startxref 4117 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.pdf0000644000175000017500000001107412652070426017131 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœWÛrãÆ}çWLmP‘#Ì7oœ*îšëÐæŠ ÙÞH.EØ ÀÅ%ŠœÊøWüé¹€ AIq©J9ƒ™ÓÝçt|A&È‘?æo²\.}ôP ô0ø2 j™?ɽ`C ¿ˆ6ý A>E~Èp¢h7`{ðÏãàÖúp³œÍÑêÃ|ñy1¿Ž>N'³o®ï,vg£¤)³•ˆ«§U%êb_Û#ê:Øq| >¤E^¡Wž¶޾ŒL Ü”¢áЕ ˜‡¢ÙÀºÛo!X%.vC@£õÀú4±£_ŽB æŽF„ÊeGâ~6úmcù0ÜK\}°‹¹«v0SÏþK LnÒ7sìzahv¨õô^Ž’b/wQ¬âpâaŸõ´îô·q£º@Žà(dH] “>"ÔîëÏWóÅõôú4XH ÔúKš'Y³è¯Ï¥ü…·S˜¸ÊŸLBRÀ†~¡îÔºØÆù:ÃÊ4DÉ6.ÑÅpßÙï §ˆ”í7“ëËé"šÎ¯Nü,òE|HOˆƒ.ýž§\U(6w£¸Bû¸Œw¢¥Nw wÁƒöº„O¸íÂ6M¶¨ÚM¶F÷Õ[6M–é¤Ç`æûÝa2à3ŠyÜ#PW…bFi€ÿE U[TìEK`4­áÖ>ç|ŽÍQÀµ6(WgƒaÀÍbÕ¥‰LBÞ¬Ôyœ˜tÄ· ¶^X 8íSm•ûB<‰”P‚ixˆT­ú€VôÝÛ$ÄaèP«©U6‹2}Hó8C2k(­ U-âµÔG* éOj[–Þ—qù¤TOqèQ•ªie=<&Eè°•M–rˆÇˆC;dTÕà1Í }Ā᧽ Þï³4Q‘ò+NŠáQìt•×åpÎKQ>–i-ž 8Þ1ȪÖ8 :UX]ãÌÜ0@#)I ›z¾õ^$qS sH)Lº@sòî©jE×øWº`æ·MÎÐ:9zܯ¦êÝ- ™ù/Mž¨i½íS#ð±úÈÛnØ>·Fº=3׃ôtÓ´™þsò s<`uЂ´Š²!È’äE.¡«Ùxùmw4œ™;é!Ðb1ç-详66$´6µ¬*'ÅJ\Oï"ÐT•-(]•þ&`T(/dz!uP8´/Ó¢fôsãÐí´êèÓ^×Ë^œo*ÆX/ª†¬¡|}D7Ðv.f¬Ýê*®ªf‚ 3bô›( äÛkø¾ªK Á;$²Jµª‹R~A+ä„1ì:¬EÌ$D´|S”»êX§(¾/ŒÀïŸjÉÎ&¯åÕfê~tÇ" 8îQ„:ò ZŸÜÁ%u kP£^+ïuD†©K3gäO(é ìu‡-Ìl‰+˜^u[Y¥]Z9>òˆ^é³_Yº÷ž­¬ÿ' ËCþZa›ãΆœ´ÈCùœ .rÌÚí>p¡ÿŠTžmÛ0C(E|egjo£³}¨NÀ;Ù3»¤§úgnå>æÐ$ÍQÛ€`_ÅŸ;€é§ŽÍÃG×FÂ!i“fo4¥µ4nzÌ7«³è뙤–ïûì0 ¬«›Ùìˉ‡Y, Îãý ]Ò`P¸Ê[óÍwBÙ}Çk‡Ø‡ù¬gØv8: Ò'ÜY×m._D3ùiüi1ëyÝÎDu>](?úõ‘ÍKóLž4mrzPåÓÍ%w€qÿx9·=èÖRV++’8[ÝÛÔ±šM¹”«omDy ºã?ýfmìk%òõ›wŠ(ÑÅ­uî-å7§„?Côf[×û¯./… µƒ*2ëßñnŸ œ»7¦²Úµ^^h5¥ìöZÙxÞ¶n;„áåµíÀzÚtjs u:¤%zYìtÓ®: ¸Vɉ)7–âK# ‹\\j%è <<Ôîÿ{2ΆˆÐ™©ŠJÞ£ÂÙ´¸TÒ¡QÇɯòÊ·¦V&¯}¯þbýzéíΗ*û~Ë iðGVXÿ5šsƒàìý섨R—º§@ãNrB¶DÓÙøýt6>÷Ú–‹‚SN×k¡ ⃆1y]&·ÖrÝ,¯Ð6×ÖÐ#Öxv3Q?'¶hG»uSšwÔÉjþ=J5áºV5û}QÖÒ•éM7Wß_Ímy4À?^­æê…G> |ÖPÝkg¾‰Vó«O“OóeG`óŒŒÌçÔ†7çS†¿s»1L mÅd/€á'½öQ±ORSz+â=ªöq"°IÃqòˆ9wß3'4ž]Ï»<÷ÞÖÎÉÝ+"upñjJ OÏ"Þ±ZŸÕJïDp*Ì;;qÄ*ȸ {:u™y÷Á cdž%7„Wv‹„è»&GÔ!\%Z´"Ô$ü~þ1/oZendstream endobj 6 0 obj 1847 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:14+01:00 2016-01-27T08:26:14+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002171 00000 n 0000004061 00000 n 0000002112 00000 n 0000001952 00000 n 0000000015 00000 n 0000001932 00000 n 0000002236 00000 n 0000002490 00000 n 0000002425 00000 n 0000002357 00000 n 0000002277 00000 n 0000002307 00000 n 0000002572 00000 n 0000002638 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4215 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_TIMEOUT.pdf0000644000175000017500000001101212652070447016103 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•WÛnãÈ}×W46¡V›Ýdó’ õhÚÈ’#Ñ› âÀ ¥¶Å /’ä“ò©ê I]‹À€ ‘ͪÓÕ§N~!.eÄÅ?sÝ£ëuH^š‘K^F_FL=$æ²-È÷ ,ˆðFò<Òï0rÆb’£Ð§!#ÉÛèïÎÍýz±ºK“ùíluŸ<8ÞØluþ(Óæý±‘mõÚŽ'\¸ÔuC~dUÙK¯ÿ‘ü4š¸”3H² 1` ±@^@’ÅÈYNÇ¿Øð” *b %»‘s;'ÿ€æ.õÝLÇÇîE¤ä¿À‘"ý–‡‚´Y!I»—¤–_²iIÖ4Ï«1÷i ßy“;ÒV¤M?c¼ã G*ÄG8'tÂ)\›OËÕÝf¾9F§–(dÎo²r›v’üKvÿèþO¸œûjÃz[Á‚Ó’>¨GäÃ>-w¹¼:-(”‰S…âaL¹-ÔUޱUCF®™Uù¢JPÚ‡ñï5Þ£mqºl°µ³ÍÍz~—ÌWK\ ÇÆ„>µ Û¼K»´1„Î „`Ó@©IŽÒ†¼¦uZÈVÖd[•mš•Yù¢ñ0×rÒ4€óÕÐ lU4*0ã u™µ“¶Ñ€³(ì±p…pD‰¬š’]ìH[ò^4/†éXS!|“ä­OÂŽ²Cì<{“$m–ÍDUÎ ŠèÙJEàiÆ>CªWY§Ø3–| ‰qGR²¬ê°¼+Âù¾Î Õñ¹=ñ²ƒ¡}fw,p9ìª ů>^²MK•^éâEØ’:žL·}À˜ú~Ï &ÛÖ§\êÊ1a»EÖÂöÛhp¹lµwîÅ”…QÀµ.Ï—ùÔ¹¼zÂV¹â€vÇYyheCê¬ùLÒ§ªVù!ý³Ü¶ù;)UÑ€(IöÐìZ™àðß¡ ‡fpTÁŸ  ²¨ïA²¡¸8›ùÓÅú–4ÙK™ªW +IóÞ´²€yÞP àÌKr(³o“<ûÜw©Ï©¥l†'y®¥ŠÔ\€[d/ûÖ ÕYUeŸ$‚ÝA[ãAßp—Qf¢õz¸\ú嘇ÐAàL½ƃW» 7(Ô°WPõ ÍŸÉSÕîOQ¼Ø2å¢ö)$sÛzNûžþb¸ÇÛÍ¥ˆÐ<´[Ok‰;¸R‚ÿu Ï\æNšÔ}’§0Þ²<·õ¤z6ñ0†Æv· y‘V è¸ÔózhQÎöimèOž«šì`‘ Ï§× F> \bpZU†x—ÆRÌÃáXBˆ ˆY%B|Zaa@=È«‚„i”¶íÞ˴ȶøS7d /…}?ú"ÐZ´Mhª·¬ÝcÁp&²êøŽÍ¥Ä Å ±B?}2PbÙÀ@º±Q>kÕMÐß»¯Y£ñ«ì øqÛàß^óª–çL®8ãðb5†lqìr篛»Ùìããb~;O.RÙ¨gÉsuâc»ÿóPq›ùv1>XÏ7»à”ûfã5ù|–ú‘årŸïn=ö•còœÕëÙfóÃýò‡íÅŒÃÜÖ ª™¯¹,d©ÆUmæ3WB3ñ„“¯ÍÕ›™dŠ}ŒÆAl¥¾l‡BÄ#+DZòŒ¾åÕK¶¥ç†AD˜pè~08Œ ô%°”ÙiäLïÕS†[6öŽžñ‹¤CÒï-G†ÐEÝi}”Ïj>2;é!o;†®qɃó/YW`OßöÙvO ¬Å¶(¥užÚ°ȥ¡uL_å >à¤à¬lÛÖGfÈØSÄ6 ˜ww¨‡ 2BŸ)½à¹Ò„AÉ€ºb¾§*Æ|¨IhÄa©+bu«„¬:$àÓB7°èoV‹ó %Ž¡f]Ñœiž_°{C;ûÛôönqb±{w§é Ý¨˜˜U°o`U¥Äõài³çWÀIü&à ÛÎM.ÞéÍ-\®Èwû¶}ýÝõµ3SÍo)òn«â;Ì„¥5öùú¸H|ØJ¥] xÜí ݇kHo@ýZê3_Í"Am§\ñA§˜{îÂìzÂb\i'dŸ= ˜[ ½¸«†óÓ"ŠÎ>‡Ž»F[¹éÏdÚ3Á[ÙÍìùbúý|1O>ÌEZ z6X7¯ùnwøÖ;x ¸¼3%z?Kàò¡ù[Ï’ûõ’ü<Æñ ¼ÆýìDË_ kÙjó­8{\ýùWhº™ÍÈt±YõËNâ…SÀû/%¥³WDZ‚<„8±7«årv“X~œT÷ÿŒ¨¿àÛUl™¶ø¥ ¤FÜé,à4øYJ(“÷á _:¬5¸`ª!ßx„ˆ}*˜ÿ?°Q˜¯‚ûœ0 5KF¿ÿ©w8ôendstream endobj 6 0 obj 1804 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:31+01:00 2016-01-27T08:26:31+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002128 00000 n 0000004011 00000 n 0000002069 00000 n 0000001909 00000 n 0000000015 00000 n 0000001889 00000 n 0000002193 00000 n 0000002447 00000 n 0000002382 00000 n 0000002314 00000 n 0000002234 00000 n 0000002264 00000 n 0000002529 00000 n 0000002588 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<9B06741A57773B91DD0B31959677551F><9B06741A57773B91DD0B31959677551F>] >> startxref 4165 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.html0000644000175000017500000000445212652070415017615 00000000000000 CURLINFO_RTSP_SESSION_ID man page

NAME

CURLINFO_RTSP_SESSION_ID - get RTSP session ID

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SESSION_ID, char **id);

DESCRIPTION

Pass a pointer to a char pointer to receive a pointer to a string holding the most recent RTSP Session ID.

Applications wishing to resume an RTSP session on another connection should retrieve this info before closing the active connection.

The id pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call curl_easy_cleanup(3) on the corresponding CURL handle.

PROTOCOLS

RTSP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CHUNK_DATA.pdf0000644000175000017500000000726212652070425016426 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUín›HýÏS\©?Wñd†a`PW•›´n ¸6•E0½µÁ5°Ujßqg`ø°“t+K¶<\î=÷œsï|Œ`ùQ¿ñ^»œÛðk´ï©‚ú‰÷pŠ.¯ZýÛÛ¡ˆ;î5}¼œ{Á,\ß.ý÷«É ü[D„±æØÈ¡X¾®å©!Nhú(„‘ŒÃ2†pÄ6ê&Ò2æV¿ÓéÝâò¸[%Qþs•'Ev(CÃtÙ.þl³4‡óú…ï:Ô ˆ:¿_¿®Zõ€E´#.çŽ 9Lr04™…¨ CjUñ~/CÌ¡*Ï+Ï;î ŒLlÃÕãß&­Åj &Š~p‡ö߸«.xó®Ú,ó"ÛÃ!Û¦Er„"ƒb“Àu8ƒxS¦ß Žv»û(þ–×HûMËFÌh-Ä«B‹/~0[L§M š†^lÓxW®øS*v)¿Ðæu܄Ы;Ž3p®è]õ^n¢t½K.éùGÇŒÁ DÙsj*†Nõ¼ø§eȽôØÉ¶kx©È¹¼zL5-dY=&îb<ŸÎÂià+‡Vä BfQ¿°ÍǼªžçÕ% n,§L™UWÈηqx—Ë®G¥ØDüØîvpŸ@™Yo’5Üÿ„Ýö^ò ‚[8Dy.N£¼òÁ¡8Bt¶01lý¡Ü'i¡LRÍPÙПyâ^¥ÏÕu½ôÇ’”vvz+ƒqd5Zg- jÚ4ÔOëú“_§µiÒ¢'¤þµø‰t×J2fòÊJ"–˜í-ÕbIi5ʆEmõÔ [);R}Û¶iÇŠ¿ô¼§ ô`Ìæ …I+ÄulÕÈÐ@XÈ/Ý„´5 Šll5‹exgS(`;GDŒøÿàp?nfžÛ¸˜?ëâ°ƒA¨´{ b(¾çO¬HGF¶Õ$­f=©{{W(`±VÄ©7ºšzÓð˹ÐbÙrÞà©'w´^ oS°‘\‡¿îõVŸ»árîÃÇ¡&r,¢¼¥«,þ¸eŸåQ],î*xÛ¯ÕÄÔlsÈËÃ!;Éú¢¬:PØÖ”éŸüUP- ùbšHÕzV…ëÂÈ[]#g*œ®Äþȱe[rSön²‹ÓœDn´f7Þ¶y?M½Éx4ŸÜŒŽ)/WSÇoÏ("¦¼—%RQT\l&fȪÓ6KÇFb_áÁ0&Ò2]\§ïÊ LÌ*·ÙššÈLn¨}ŸÿóK]endstream endobj 6 0 obj 949 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:13+01:00 2016-01-27T08:26:13+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001272 00000 n 0000003155 00000 n 0000001213 00000 n 0000001053 00000 n 0000000015 00000 n 0000001034 00000 n 0000001337 00000 n 0000001591 00000 n 0000001526 00000 n 0000001458 00000 n 0000001378 00000 n 0000001408 00000 n 0000001673 00000 n 0000001732 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<27B549EB6EA0E6EC7E94F1661FD243E1><27B549EB6EA0E6EC7E94F1661FD243E1>] >> startxref 3309 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.html0000644000175000017500000000402012652070415017364 00000000000000 CURLINFO_SPEED_DOWNLOAD man page

NAME

CURLINFO_SPEED_DOWNLOAD - get download speed

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_DOWNLOAD, double *speed);

DESCRIPTION

Pass a pointer to a double to receive the average download speed that curl measured for the complete download. Measured in bytes/second.

PROTOCOLS

EXAMPLE

TODO

AVAILABILITY

Added in 7.4.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3), CURLINFO_SPEED_UPLOAD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.30000644000175000017500000000421312626067776016452 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOGIN_OPTIONS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOGIN_OPTIONS \- set login options .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOGIN_OPTIONS, char *options); .SH DESCRIPTION Pass a char * as parameter, which should be pointing to the zero terminated \fIoptions\fP string to use for the transfer. For more information about the login options please see RFC2384, RFC5092 and IETF draft draft-earhart-url-smtp-00.txt \fBCURLOPT_LOGIN_OPTIONS(3)\fP can be used to set protocol specific login options, such as the preferred authentication mechanism via "AUTH=NTLM" or "AUTH=*", and should be used in conjunction with the \fICURLOPT_USERNAME(3)\fP option. .SH DEFAULT NULL .SH PROTOCOLS Only IMAP, POP3 and SMTP support login options. .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.34.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_USERNAME "(3), " CURLOPT_PASSWORD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PIPEWAIT.30000644000175000017500000000543312626067776015616 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PIPEWAIT 3 "12 May 2015" "libcurl 7.43.0" "curl_easy_setopt options" .SH NAME CURLOPT_PIPEWAIT \- wait for pipelining/multiplexing .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PIPEWAIT, long wait); .SH DESCRIPTION Set \fIwait\fP to 1L to tell libcurl to prefer to wait for a connection to confirm or deny that it can do pipelining or multiplexing before continuing. When about to perform a new transfer that allows pipelining or multiplexing, libcurl will check for existing connections to re-use and pipeline on. If no such connection exists it will immediately continue and create a fresh new connection to use. By setting this option to 1 - and having \fICURLMOPT_PIPELINE\fP enabled for the multi handle this transfer is associated with - libcurl will instead wait for the connection to reveal if it is possible to pipeline/multiplex on before it continues. This enables libcurl to much better keep the number of connections to a minimum when using pipelining or multiplexing protocols. The effect thus becomes that with this option set, libcurl prefers to wait and re-use an existing connection for pipelining rather than the opposite: prefer to open a new connection rather than waiting. The waiting time is as long as it takes for the connection to get up and for libcurl to get the necessary response back that informs it about its protocol and support level. .SH DEFAULT 0 (off) .SH PROTOCOLS HTTP(S) .SH EXAMPLE .SH AVAILABILITY Added in 7.43.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_FORBID_REUSE "(3), " CURLOPT_FRESH_CONNECT "(3), " .BR CURLMOPT_PIPELINING "(3), " CURLMOPT_MAX_HOST_CONNECTIONS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIELIST.html0000644000175000017500000001313512652070414016617 00000000000000 CURLOPT_COOKIELIST man page

NAME

CURLOPT_COOKIELIST - add to or manipulate cookies held in memory

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIELIST,
                          char *cookie);

DESCRIPTION

Pass a char * to a cookie string.

Such a cookie can be either a single line in Netscape / Mozilla format or just regular HTTP-style header (Set-Cookie: ...) format. This will also enable the cookie engine. This adds that single cookie to the internal cookie store.

Exercise caution if you are using this option and multiple transfers may occur. If you use the Set-Cookie format and don't specify a domain then the cookie is sent for any domain (even after redirects are followed) and cannot be modified by a server-set cookie. If a server sets a cookie of the same name (or maybe you've imported one) then both will be sent on a future transfer to that server, likely not what you intended. To address these issues set a domain in Set-Cookie (doing that will include sub-domains) or use the Netscape format as shown in EXAMPLE.

Additionally, there are commands available that perform actions if you pass in these exact strings:

ALL

erases all cookies held in memory

SESS

erases all session cookies held in memory

FLUSH

writes all known cookies to the file specified by CURLOPT_COOKIEJAR

RELOAD

loads all cookies from the files specified by CURLOPT_COOKIEFILE

DEFAULT

NULL

PROTOCOLS

HTTP

EXAMPLE

/* This example shows an inline import of a cookie in Netscape format.
You can set the cookie as HttpOnly to prevent XSS attacks by prepending
#HttpOnly_ to the hostname. That may be useful if the cookie will later
be imported by a browser.
*/
 
#define SEP  "\t"  /* Tab separates the fields */
 
char *my_cookie =
  "example.com"    /* Hostname */
  SEP "FALSE"      /* Include subdomains */
  SEP "/"          /* Path */
  SEP "FALSE"      /* Secure */
  SEP "0"          /* Expiry in epoch time format. 0 == Session */
  SEP "foo"        /* Name */
  SEP "bar";       /* Value */
 
/* my_cookie is imported immediately via CURLOPT_COOKIELIST.
*/
curl_easy_setopt(curl, CURLOPT_COOKIELIST, my_cookie);
 
/* The list of cookies in cookies.txt will not be imported until right
before a transfer is performed. Cookies in the list that have the same
hostname, path and name as in my_cookie are skipped. That is because
libcurl has already imported my_cookie and it's considered a "live"
cookie. A live cookie won't be replaced by one read from a file.
*/
curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "cookies.txt");  /* import */
 
/* Cookies are exported after curl_easy_cleanup is called. The server
may have added, deleted or modified cookies by then. The cookies that
were skipped on import are not exported.
*/
curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "cookies.txt");  /* export */
 
res = curl_easy_perform(curl);  /* cookies imported from cookies.txt */
 
curl_easy_cleanup(curl);  /* cookies exported to cookies.txt */

AVAILABILITY

ALL was added in 7.14.1

SESS was added in 7.15.4

FLUSH was added in 7.17.1

RELOAD was added in 7.39.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_COOKIEFILE, CURLOPT_COOKIEJAR, CURLOPT_COOKIE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CERTINFO.pdf0000644000175000017500000000755012652070425016176 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}çW ЇP¸á’Kr- ((VDU¤v!P%±•H[¤’æú+ýÇÎ.o’â ÛÎîœ9sÎ,ŸÁ$Lùj>“½önîÁ¦ÔLØhÏU‹Ð|${xa—Dk­ÞCÁ³À6ᢽ¦_ÝÎ'Á,Z\ùóAô§æ ¨ia`´Ò<Š? ú¦=èÑxz<êöã’ãa·Hãòû¢L«â©D[ÇY‘—pzæÑ'Ív<ÂD}æÉI2Ÿa‹"’ J„#±Ìr‰ÃvÕžéHÆš2Œ:ÄvsÖg_þß—h™„™Ô’Ëf ýƒ@9£5øéó1-+à $é¡ÊþIâ*…,_‡},«QœcCPu WÂûi0 Çá9¢@è?ey²;®RøE÷N¾‘í¯2ÜbM´èm 1)0æ’ÛGµo·q¾Ú¥C¸¬EX^]ËvE¾©k@ðƒŸ_þÁ¯æãY4¦M#¨S÷á…"fq×A¸SÓd»ŽäX/KˆkªU†oi/w)ì²¥,ë*™—©62“ؼic™ôí¥ÄŒö ˜Jз&ÙÆY®¹‹»ÄmõªÇÕ6=¤‡³L–‡ ë"È—>#Ži·²Ìª-TÛ¬lP¯†-nø–ívÊm” Òmø»:ÄI¥¨c¦ –ÝÉŽ8W¨wEUB±>•`#aW1ÄËâˆ\mÓá•zñWSð±LWí¢k‘çi"O$!lÏ’z¢„z¶J¯ÒìãïrSËÕ^²tð¦o¶p‰É[n¾ª"mâÊý²ÑG³4‹«^Ô&”Z-ë*=`÷‘¼\ã×c™å›Ú Ôl”ÄbI›«z¯òÍ@‰ØåzZëVÍ…Z¹­ ±Ã¼s¼¤/“¬ªQs‘Æ•‚´M#Í"½!Ý <¦êdÃv(1]щûl ȟᬭFI½xj'ϬN=uÝxÉa\‰Ch+g}t«V1;©z–Y®í5«“¨c¸!;åyžÍ:´æ@Î|=›7˜Í™[®×ôذˆé¥Ž ‚ KhÙÄ3Ý–ä«`r1ϳ@ìl´ê#4F4 eŒê|–ÿûèólâ·£†ÿ降‚3¡5³Fÿ4Ü9œ¿p]Ùe“׃ctýÝÝpÚÊ}<½OÆÑýy©Ø›q~q‰H5¢üVŸžŠC…ž\*{Að”æèË!|ÌHɦa¨¼þ1¼É*XÆÉ_½ÔóUI^ÏúÜnçS¸P)D—ê£É­až6ŒO«ã¡¹|ýEpÙZ!{ôP!«o§7Ó``;ú—é"P·Ü˜ÕkõÐ÷a4 ƒ¾ñì.«‘tØ9ËøbÛfk å¾áùA˜Çí'{{r¼¸óçãëû™_?±œtŽQâòŽ4,îáLÇ Žë5Yíl÷ˆís`PÇxè8£>s°LÊTù¬ó•Gù‘ö¾þ  k”endstream endobj 6 0 obj 1123 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:13+01:00 2016-01-27T08:26:13+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001447 00000 n 0000003337 00000 n 0000001388 00000 n 0000001228 00000 n 0000000015 00000 n 0000001208 00000 n 0000001512 00000 n 0000001766 00000 n 0000001701 00000 n 0000001633 00000 n 0000001553 00000 n 0000001583 00000 n 0000001848 00000 n 0000001914 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<4C0E921A84D4799142B3ECA2C04906FF><4C0E921A84D4799142B3ECA2C04906FF>] >> startxref 3491 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.pdf0000644000175000017500000000757112652070454017036 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UÛnã6}÷W Ї•WÔmQÀ›UQw˵émƒM8k!‹^INè¯ô;¤$Ëv.…!‡œ3gÎ~‹P°Ô§ýM¶ƒóî«÷ƒïª7¡ýI¶ð‘c@¨øzМ¡Ø0‡„ øvàøÄ ?¾—Ëùd<ý5¾½Œ§<šò[~=‹n çfɾÌoŪzº½uV¬åд=Ë»:“E¯Ÿþ͘±)fK C0„y 㟠Œéhøñã.õˆÇÄÈÓq ù·#ô¶E\+“ÚjÛz2ü ˆ.eQ‹¢6ù0`„1;0žvBã9Aa" “ú$ÔY×Óx¶/Nsë×ø!+’|Ÿ øYqòA}‘Í/*Üvu9 R"1àg7zÞoVEš‹‹—Y»€d³*áýû¤¾þ„̼öS´¸œg|O¤™z Ë/Ÿ­TŒæ™‘ÐkX¶ˆãRE¥QU°‚̳j‰ÿhG+¥HDv’‡ºvWùíUêC.êF-Ö§k·A~ÚþÔØk¨q-•CÛ#u}ã±Èå*)È»o"© ðMVþ©¸‡CØ*ß „¶J¥ÑÀ&Ç2!Aت{]Ê­>{¦ ËVºøþyJ`¼†'¹×ú™.'“ ÈjØŠU¡Ò®j}¾åÃP•z®Ô¤YZ¼ÓÙb‡Zæ IÀÜVÉuuÄ<óž±@…+p¢H‘ñ¶*æaUYzT]†$´|¿½SIYµÂ¥ñü“©@n‘·dÙcÞ•²–‰Ìa_!£©BVš%M#=Ouæ¸ÔÇÉi7ö»,Õ}YEtrê»Ä£`*åã>߈flXg8!a6¥íñ¤>*J uiGE4âé÷˜å9Ü ÝUŠ^ÏŠ{¥Ä]ÙéÐnàûÊÍ‚6ÏñÐ)²íö9tŠZ`K·²|Ò­¾Z.8LcuÆ!N ïÃyë&Äàë^Ë6 ©ÕÑQ ¡Ôaª/ÔKk\Iáq# αqN-vÚ•1YåyCµº9u‰ëtº0zçHrÔÞ~×Xé {!#]Á²Ð=NdYŠj'‹TѤ­¦qÒw¥³êã »GV2›·Œºê5ÐckûA[ªiËÓJ5bñÛ!åw†}OÎlÓ¤„Žë<è7Îg7Æ¢«åUc‹þ]Í&Qg6᫦Æ{0ÔQ®Ô@ù7ú$^>{vL—©ÈC6 ³´+£/0ê‹CCóh×ìñdôq<óë3 «¹Á'=¥Ê¶²Ð‰ûv©_yÄ—ó)|Ró©1š,£ö™z^1Æ‹z_¶ont†¬±Îæ-VY5ƒ*Ò Àþ·Ëég¹ãNocýd¨ƒ…¬Éÿ>‰Q£É">ícHç/]cc3äYK‚^æZÕg–áß?ŒXq%j,ð”ü€úì*“²MÍtBŸ4¶”gwêì†ëëÈõКH§º8’ÕC;°±}Ì ñŠî€Z‰øàüü Âsµendstream endobj 6 0 obj 1140 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:36+01:00 2016-01-27T08:26:36+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001464 00000 n 0000003354 00000 n 0000001405 00000 n 0000001245 00000 n 0000000015 00000 n 0000001225 00000 n 0000001529 00000 n 0000001783 00000 n 0000001718 00000 n 0000001650 00000 n 0000001570 00000 n 0000001600 00000 n 0000001865 00000 n 0000001931 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<064EFB3D11A72928989AE7842D9113F7><064EFB3D11A72928989AE7842D9113F7>] >> startxref 3508 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.30000644000175000017500000000334212626067776016570 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOW_SPEED_TIME 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOW_SPEED_TIME \- set low speed limit time period .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOW_SPEED_TIME, long speedtime); .SH DESCRIPTION Pass a long as parameter. It contains the time in number seconds that the transfer speed should be below the \fICURLOPT_LOW_SPEED_LIMIT(3)\fP for the library to consider it too slow and abort. .SH DEFAULT 0, disabled .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_LOW_SPEED_LIMIT "(3), " CURLOPT_TIMEOUT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.pdf0000644000175000017500000001057512652070451017027 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•WínâFýÏSŒÔ5 žñ÷¶ªÄ&Þ]º(8›®’*2¶iÍú#4Õwì½ã±CØdWU¤x®gî9÷œ;—/D§Œèø£>£}o´tȶìédÛûÒcr‘¨hOÞàâƒ`ÓkÞaÄáÄñ êz$Ø÷ “:ŒÇÞ­vq½œÎÁý*Xúã«ûòþCp§w}ÕEzŸ„åã}™Tù¡ê¹¥S]w4øGäYI^¹ÿgð[o¨SÎàÀòñ êY˜’a“`ÚÓfãþV™E-Ï€4ƒ¸§]ùýà¯\§¦î!㸬cÖ/'Mþ%'Éê}Rˆ(LIYI¸'ÇDlwU³éICHcÈlêÊSWŸgóÅj²z~¶ ‘çj?ˆ,Jë8!¿ -#üEw¿b87%Ì)Ê!àœ¶;¹D~Ú…Yœ&ƒ—I*8µ ƒy”·d R{â Ø«v Iaó&ˆé* êÎ]©ÃOíÊäQf{žŠ¨rb%ÖIAÖIuL’ 4nÙß:5-2Dö ¬2ny³ƒØºðC,F|I‰’4šÃ—2K‘Å¢Ï-Ô£¡=ˆ¸†Š7‰‘M^4ï¢Q†E+†ºLb²~”;`¤NO€šÌ ¶£P@ņ2Wõ´% ʈ Ê<·Qwç6ŽŠoY «®zŒQn9ªz:µñED›T"EfÌ €›¥dþ݇¢êÌ´µ¤ìY™ÈX¡ê2\§ 9"gqŽïïë´xÖ†¸ÖЬ‘— ~jUôÐá.ṞkªÅ¢ê²÷¨¡ÃJKKÒÂA±–ýÜ™e¸äY–D²E 7í€ïº$bHE‚å +ò˜×X3¡q]¶¦æ tÊZe1YøÓÉl2{ß4—gÊcÚZ›[£-ƒ»ÐQNÄ¥Û2»àDHQ˜4eˈë©«Š0+7 Xdø(ÒU‚¦L}ˆÃ ô£d&²MN¶ð>Ôœ“˘2)0S6™ÙÜÐ-™A‚ÊTü©ˆSþnµ,éC;Ô™åiÿÀ¦è •Ȧ@vEùõòIÑ·”%¨¬;Û”Æwc¬¬ ±¨Aò Y¾» ŽeêÒ0‡"¯ò(OIœT¡HË7dWU‡òÍh„ŸÇ-Ý (â•kSÝS&¹Õ¨ÈGå!‰ÊQ±‰p;º«öé+©¿E!ò¢ÏñÚð\mØh±Ý õ“¨¥Ô@~ K+¥Ý#Ù€DààfÄ]îò:±va𿑬H‘”y]D -€qÈ D «d¢á2ì" U9JV9” ÀÁ$¦hvø»³ öàÎ ŒÚ\æõ:µÃ»¸¹¸ÜÎŒZMÔ1'å“ñ=êmçdÔhB¾-ZvÐö¦qƒW©‹ÙR‡jíí³5ƒN@©(Ãê(Ýìrª·ΕS;®a M)ìD— ÅG¦ ×=©@Þð`Q¦[mC{OZ{긫jß"•i ¹E )ßiaYÖ{i°gråÝ€69C6R&°hà` MÛ 6OÍ¢ ïšS†$ùRË‚£”×yµëú€Ç½Nhª'ÞõéwÆKÿ¢Á2e‹{Ìl³_ËU†NS:à¶Ñ^Ó Ëõ©K¡dÇ1Îý>Ù ÒEz¤±«¤I9¾3¥¨Ê$Ý4µÆv$ðŠè®¿#tÿdÓ]!ܪïžJÝr¯Â],ZÓhznÃÄ(ñ ¡º ÔÌ< ó´]G·ÛIåb>=ž€ðv€µÓw˜÷ÿ_-¦~ë²³ûõdZ ž2Û\Ûäq9W¥±\÷«ÉshzÙ†lÜ0þDÆOÈ@aSðµÉtüv2ŸÏ®h¢&œñìúÇ1´‘‡šÐã¾õV[úÁõrF>õLäžÍ´ñôÚWÅú2Ä'U]¨¹Û¿ŸÄ&†jQW ¨>`ûKâìMàõìãlÞ7,ífv?—3 ¾²û®0V¾OÆÓÕü ÈYΆÙKáÏ.Ï„ÀL¨RlÊ |ð|?¨ŠÑõÈW¶¼?ûZÀlûÿÙTrºÓLÆŠÒi;_ÜôôjhiÚxœÕÀ9y:ÿÆiÀ˜mw/ .ç3 §í4x²|Á‚ì \ÀÙv“`*Öø¢UÔY–áiÌ «ä@8 MÛìŒÈp#?èý?ÿg’¿½endstream endobj 6 0 obj 1663 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:33+01:00 2016-01-27T08:26:33+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001987 00000 n 0000003870 00000 n 0000001928 00000 n 0000001768 00000 n 0000000015 00000 n 0000001748 00000 n 0000002052 00000 n 0000002306 00000 n 0000002241 00000 n 0000002173 00000 n 0000002093 00000 n 0000002123 00000 n 0000002388 00000 n 0000002447 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<7D558413DC1556EC917B8793E83DCEA2><7D558413DC1556EC917B8793E83DCEA2>] >> startxref 4024 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_QUOTE.30000644000175000017500000000717612626067776015277 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_QUOTE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_QUOTE \- (S)FTP commands to run before transfer .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_QUOTE, struct curl_slist *cmds); .SH DESCRIPTION Pass a pointer to a linked list of FTP or SFTP commands to pass to the server prior to your request. This will be done before any other commands are issued (even before the CWD command for FTP). The linked list should be a fully valid list of 'struct curl_slist' structs properly filled in with text strings. Use \fIcurl_slist_append(3)\fP to append strings (commands) to the list, and clear the entire list afterwards with \fIcurl_slist_free_all(3)\fP. Disable this operation again by setting a NULL to this option. When speaking to a FTP server, prefix the command with an asterisk (*) to make libcurl continue even if the command fails as by default libcurl will stop at first failure. The set of valid FTP commands depends on the server (see RFC959 for a list of mandatory commands). The valid SFTP commands are: .RS .IP "chgrp group file" The chgrp command sets the group ID of the file named by the file operand to the group ID specified by the group operand. The group operand is a decimal integer group ID. .IP "chmod mode file" The chmod command modifies the file mode bits of the specified file. The mode operand is an octal integer mode number. .IP "chown user file" The chown command sets the owner of the file named by the file operand to the user ID specified by the user operand. The user operand is a decimal integer user ID. .IP "ln source_file target_file" The ln and symlink commands create a symbolic link at the target_file location pointing to the source_file location. .IP "mkdir directory_name" The mkdir command creates the directory named by the directory_name operand. .IP "pwd" The pwd command returns the absolute pathname of the current working directory. .IP "rename source target" The rename command renames the file or directory named by the source operand to the destination path named by the target operand. .IP "rm file" The rm command removes the file specified by the file operand. .IP "rmdir directory" The rmdir command removes the directory entry specified by the directory operand, provided it is empty. .IP "symlink source_file target_file" See ln. .RE .SH DEFAULT NULL .SH PROTOCOLS SFTP and FTP .SH EXAMPLE TODO .SH AVAILABILITY SFTP support added in 7.16.3. *-prefix for SFTP added in 7.24.0 .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_POSTQUOTE "(3), " CURLOPT_PREQUOTE "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.pdf0000644000175000017500000001000212652070452020316 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµVkoâFýί¸R?ª0™ÛcZUb³l—.Áœ}hS!ÇL‚+c³Ø$Íêìñ’4ýÐ "ÏÌ}œsîJPý©~£mï|áÂ]Þ£p×ûÖcfªŸh oÜàéÁm¯<ÃÀåàJ‹x‚m¯qµ˜^úó`u9ú¼ Á½!%6Q÷¸Œr<¬{}߬Q½Àêg£éêÂŸÍÆÁÄŸ-¯ûÖõ@or]B-§ÞöÉj{HŠx•«"Û€ß8Ks³UJVmýjÁœI½ó|!"ÅÐ.±üÇŸÚq¤U…½ëç-ˆ ¢. 1ï[1üÛðOÈc U˜ªì'•J!ÊÒTE fÇ0›a",HÏ„]~™ùóådy\7¶Y×ü]œFÉa­à'M͹þC6?ëí+Ÿö8á.UsQ†;Ÿpx].›0]'ê N€ø¾ÁÁ¢‚ `ÿ†3H²ôÎi1t ·Ù!-®?>ÅÀ4W÷ÿv¼¼XLæ:ZÅsJþŸÁb6Iâ9eIX9³ y¡)n³=ÕæÖ„GìêLUžA‘HfŸdäÄõh-sÒA‡[^›×1y7 gHÛµ‡‡8IàFÁ!Wks]‡Ö *e[oÉnŸSŽéŸqNµë–õ<0äk¿£+ˆS(²"L0IŒí›8C8” x7`6‘uú… £ ¤jð{ð+öëêˆQs‡X®¬º|ÈÛ.ÑmtVZ`šTyŽ©‘ðøFë«lÓ>Ô¡ ’.+QrH7jãÚIJ^hºÃ›)5$$iéf„ ËäÖ&ñ6. Î7%¯ŒÖÄ¢˜<þª+yÞK3Îð|Ã÷ Öd!Nt"a¬iˆ|êz’ Vµ Û°+¤Ð¶‚”í51j}fžæ%†‡!G«eR´2¥Ôjq!îkÍ<Š8Nôñ½‚PkuJ&‘“ª¼ûîì0Ozvµ'áM¢º¶E`r{±'‰s ð|2O'³Éì—¤ÎõÅ]bÕ¶Œ­ªTgY7ú)ùvÞ4ÙvXìQ°‹w*‰Sñ­h“å·(Ü™šqŽâ‚¼ê0ï*PÛ3§z亯ʹÛͭ¸ãªQ›¶*i{Ó&庮ՙRj»å”XæZÝ$²âT½™<Ç"TØÍ\Q] 6&¥›¢gð°‰qP·*Lµm„EE,.¦Y©¤Æ Ph-¡‡ìÐ;¹bŸ%ˆ.ކÁ©µæfZ†uò#¬K³@×\¯Õú5ç‹z˜,¯g.Üjœ†œPGš ~~Ç{•ŠZþôä¢CÜ%Ù Ù%É+uŒ?.çÓq}[x/Þßµ4Vë÷­_îxÞÓ7 [êM6­‹rxG¡}é@ §¹'ÓÑ›Ét|9ôWsA>ÒPkÿÆñ@ üs¯_û‹qpµ˜ÁdzÐÎCwº5=×2îWÅaê1Cºò?Ô“S¾Äiåä‡Ý.Ûz‘ýjãÕìÃÌèžc÷?ÍV¾¹‘õé4à +¾HÉr<†Ñtéß·*º¦\™ë‰˜VUOñ“³ãh˜Lú¬Ë¿÷—A׳O"KÙÞûmä¡%m¢Ù±ltk³X_mH,©áÄø(ǾmQǰßTpÜæ ¤¼±²{à­ú0`u˜S|ߥ—S|ï`zÓ8èý†Ÿ¿9FZendstream endobj 6 0 obj 1284 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:34+01:00 2016-01-27T08:26:34+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001608 00000 n 0000003491 00000 n 0000001549 00000 n 0000001389 00000 n 0000000015 00000 n 0000001369 00000 n 0000001673 00000 n 0000001927 00000 n 0000001862 00000 n 0000001794 00000 n 0000001714 00000 n 0000001744 00000 n 0000002009 00000 n 0000002068 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<5EFBE4C3BFE3AFF06BDD1824E678C74A><5EFBE4C3BFE3AFF06BDD1824E678C74A>] >> startxref 3645 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_ISSUERCERT.pdf0000644000175000017500000001055112652070434016450 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVënâFýÏSŒÔ5U˜õŒ¯£V•ج#±ë`j̶QR!c†à®±YÛl”>C^¥ïØo.C²j…ÈܾsÎwýŠLL)>ú;Û ÞÅzl&z|¹‰ôW¶Cï8à‹…d3Pwò(ò˜…}†’ÝÀ¸^Äa4K–“ù|Ä×AÕÁü:žÌ’I4Õî%Žòî´géÑ0þ£­Â _«ŽR”Iû¨­à÷ß¼®PËë]^‚Ö¨ië¼|Dàñ•*xÄìBâÜô5]œË/¨z¾v³±­Šµ|]ûNÎK4 nѦªwi‹ÑdƒÚ-G*Ô%AJ<ìȉ`ˆDŸ7\t…Ò¥ëu..¤ÐáÙ”>ÊDƒhõ;Úâ"U™–æeÓJ;{a×GÓÀR-À{äÛX0ß± ^ç›gy'WÁ GórÍÅ9¸ä2 GÍ#\j{ÚjÓTY.u}ÊÛ­¼Ö3½¯+iŒ9Äø–¯áÔê¹§FÉL¾b k‡†o…Prw(Ú|Th(]hئ‰M¯óÓ7é& "ÖUqA}æÛz³˜"•‚s¦7>M¤3l aíØ;ÀO[^KP r4B7^‚†üéw…ÞÔÕ¡Ùó ѪNËl‹*mÍ9VÅĵ•¿%%Ú¥_ ï<‘wT'“8(ýkpe# ÏЕB¢µ(«v+ÛâÎ QM¢O:µºt‡Ò´üÄ“›»YÄÇêzŠöeP÷Ü3eîÎwØ©Ÿò ˆ`Wó<Õq=:²¬Z@X6àýð¦ Ñ˜®Å¡5„S)¤±%ÜcŒP@yÊÂÌ¥¬ËnËÑa®…åu]ö¢¸©bH6ª€-ƒ8Z¢¿x®ÅÐÇš¿”ý(U,®@Ê<jÞjq$— täkZËW@ MûŽ-Ø~—„spQÓ7l%M@à{\áÙõ«‚´Ë( `ôˆEg]Fr7¡€]¡ª–v…%=XÁËdÝ,oƒÛH LÝ„H`\Ò)uoÜåCê˜Æ¦•וœÐ´Ï§%H:ÑlžDÁ`Ôõ¡«B>5‡Í @Ô3^²œ—-Úòt½%Ítá¼H2|àô'È @ãpbì"hºFp‡7“ðb*f>†A­ë²x\¿†\·cò®r9>ì¾~RöXQßÁ®R®ÈWbl…ªbyØB q˜æþ‡Q“ØRû˜‰D<$ƒßàó/¯n=endstream endobj 6 0 obj 1544 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:20+01:00 2016-01-27T08:26:20+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000001868 00000 n 0000003830 00000 n 0000001809 00000 n 0000001649 00000 n 0000000015 00000 n 0000001629 00000 n 0000001933 00000 n 0000002259 00000 n 0000002194 00000 n 0000002054 00000 n 0000001974 00000 n 0000002004 00000 n 0000002138 00000 n 0000002341 00000 n 0000002407 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [<159864D807F0D8A0505DF5A18C7FF74A><159864D807F0D8A0505DF5A18C7FF74A>] >> startxref 3984 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_URL.30000644000175000017500000003402412626067776015034 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_URL 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_URL \- provide the URL to use in the request .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_URL, char *URL); .SH DESCRIPTION Pass in a pointer to the \fIURL\fP to work with. The parameter should be a char * to a zero terminated string which must be URL-encoded in the following format: scheme://host:port/path For a greater explanation of the format please see RFC3986. libcurl doesn't validate the syntax or use this variable until the transfer is issued. Even if you set a crazy value here, \fIcurl_easy_setopt(3)\fP will still return \fICURLE_OK\fP. If the given URL is missing a scheme name (such as "http://" or "ftp://" etc) then libcurl will make a guess based on the host. If the outermost sub-domain name matches DICT, FTP, IMAP, LDAP, POP3 or SMTP then that protocol will be used, otherwise HTTP will be used. Since 7.45.0 guessing can be disabled by setting a default protocol, see \fICURLOPT_DEFAULT_PROTOCOL(3)\fP for details. Should the protocol, either that specified by the scheme or deduced by libcurl from the host name, not be supported by libcurl then \fICURLE_UNSUPPORTED_PROTOCOL\fP will be returned from either the \fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform(3)\fP functions when you call them. Use \fIcurl_version_info(3)\fP for detailed information of which protocols are supported by the build of libcurl you are using. \fICURLOPT_PROTOCOLS(3)\fP can be used to limit what protocols libcurl will use for this transfer, independent of what libcurl has been compiled to support. That may be useful if you accept the URL from an external source and want to limit the accessibility. \fICURLOPT_URL(3)\fP is the only option that \fBmust\fP be set before a transfer is started. The host part of the URL contains the address of the server that you want to connect to. This can be the fully qualified domain name of the server, the local network name of the machine on your network or the IP address of the server or machine represented by either an IPv4 or IPv6 address. For example: http://www.example.com/ http://hostname/ http://192.168.0.1/ http://[2001:1890:1112:1::20]/ It is also possible to specify the user name, password and any supported login options as part of the host, for the following protocols, when connecting to servers that require authentication: http://user:password@www.example.com ftp://user:password@ftp.example.com smb://domain%2fuser:password@server.example.com imap://user:password;options@mail.example.com pop3://user:password;options@mail.example.com smtp://user:password;options@mail.example.com At present only IMAP, POP3 and SMTP support login options as part of the host. For more information about the login options in URL syntax please see RFC2384, RFC5092 and IETF draft draft-earhart-url-smtp-00.txt (Added in 7.31.0). The port is optional and when not specified libcurl will use the default port based on the determined or specified protocol: 80 for HTTP, 21 for FTP and 25 for SMTP, etc. The following examples show how to specify the port: http://www.example.com:8080/ - This will connect to a web server using port 8080 rather than 80. smtp://mail.example.com:587/ - This will connect to a SMTP server on the alternative mail port. The path part of the URL is protocol specific and whilst some examples are given below this list is not conclusive: .IP HTTP The path part of a HTTP request specifies the file to retrieve and from what directory. If the directory is not specified then the web server's root directory is used. If the file is omitted then the default document will be retrieved for either the directory specified or the root directory. The exact resource returned for each URL is entirely dependent on the server's configuration. http://www.example.com - This gets the main page from the web server. http://www.example.com/index.html - This returns the main page by explicitly requesting it. http://www.example.com/contactus/ - This returns the default document from the contactus directory. .IP FTP The path part of an FTP request specifies the file to retrieve and from what directory. If the file part is omitted then libcurl downloads the directory listing for the directory specified. If the directory is omitted then the directory listing for the root / home directory will be returned. ftp://ftp.example.com - This retrieves the directory listing for the root directory. ftp://ftp.example.com/readme.txt - This downloads the file readme.txt from the root directory. ftp://ftp.example.com/libcurl/readme.txt - This downloads readme.txt from the libcurl directory. ftp://user:password@ftp.example.com/readme.txt - This retrieves the readme.txt file from the user's home directory. When a username and password is specified, everything that is specified in the path part is relative to the user's home directory. To retrieve files from the root directory or a directory underneath the root directory then the absolute path must be specified by prepending an additional forward slash to the beginning of the path. ftp://user:password@ftp.example.com//readme.txt - This retrieves the readme.txt from the root directory when logging in as a specified user. .IP SMTP The path part of a SMTP request specifies the host name to present during communication with the mail server. If the path is omitted then libcurl will attempt to resolve the local computer's host name. However, this may not return the fully qualified domain name that is required by some mail servers and specifying this path allows you to set an alternative name, such as your machine's fully qualified domain name, which you might have obtained from an external function such as gethostname or getaddrinfo. smtp://mail.example.com - This connects to the mail server at example.com and sends your local computer's host name in the HELO / EHLO command. smtp://mail.example.com/client.example.com - This will send client.example.com in the HELO / EHLO command to the mail server at example.com. .IP POP3 The path part of a POP3 request specifies the message ID to retrieve. If the ID is not specified then a list of waiting messages is returned instead. pop3://user:password@mail.example.com - This lists the available messages for the user pop3://user:password@mail.example.com/1 - This retrieves the first message for the user .IP IMAP The path part of an IMAP request not only specifies the mailbox to list (Added in 7.30.0) or select, but can also be used to check the UIDVALIDITY of the mailbox, to specify the UID, SECTION (Added in 7.30.0) and PARTIAL octets (Added in 7.37.0) of the message to fetch and to specify what messages to search for (Added in 7.37.0). imap://user:password@mail.example.com - Performs a top level folder list imap://user:password@mail.example.com/INBOX - Performs a folder list on the user's inbox imap://user:password@mail.example.com/INBOX/;UID=1 - Selects the user's inbox and fetches message 1 imap://user:password@mail.example.com/INBOX;UIDVALIDITY=50/;UID=2 - Selects the user's inbox, checks the UIDVALIDITY of the mailbox is 50 and fetches message 2 if it is imap://user:password@mail.example.com/INBOX/;UID=3/;SECTION=TEXT - Selects the user's inbox and fetches the text portion of message 3 imap://user:password@mail.example.com/INBOX/;UID=4/;PARTIAL=0.1024 - Selects the user's inbox and fetches the first 1024 octets of message 4 imap://user:password@mail.example.com/INBOX?NEW - Selects the user's inbox and checks for NEW messages imap://user:password@mail.example.com/INBOX?SUBJECT%20shadows - Selects the user's inbox and searches for messages containing "shadows" in the subject line For more information about the individual components of an IMAP URL please see RFC5092. .IP SCP The path part of a SCP request specifies the file to retrieve and from what directory. The file part may not be omitted. The file is taken as an absolute path from the root directory on the server. To specify a path relative to the user's home directory on the server, prepend ~/ to the path portion. If the user name is not embedded in the URL, it can be set with the \fICURLOPT_USERPWD(3)\fP or \fICURLOPT_USERNAME(3)\fP option. scp://user@example.com/etc/issue - This specifies the file /etc/issue scp://example.com/~/my-file - This specifies the file my-file in the user's home directory on the server .IP SFTP The path part of a SFTP request specifies the file to retrieve and from what directory. If the file part is omitted then libcurl downloads the directory listing for the directory specified. If the path ends in a / then a directory listing is returned instead of a file. If the path is omitted entirely then the directory listing for the root / home directory will be returned. If the user name is not embedded in the URL, it can be set with the \fICURLOPT_USERPWD(3)\fP or \fICURLOPT_USERNAME(3)\fP option. sftp://user:password@example.com/etc/issue - This specifies the file /etc/issue sftp://user@example.com/~/my-file - This specifies the file my-file in the user's home directory sftp://ssh.example.com/~/Documents/ - This requests a directory listing of the Documents directory under the user's home directory .IP SMB The path part of a SMB request specifies the file to retrieve and from what share and directory or the share to upload to and as such, may not be omitted. If the user name is not embedded in the URL, it can be set with the \fICURLOPT_USERPWD(3)\fP or \fICURLOPT_USERNAME(3)\fP option. If the user name is embedded in the URL then it must contain the domain name and as such, the backslash must be URL encoded as %2f. smb://server.example.com/files/issue - This specifies the file "issue" located in the root of the "files" share smb://server.example.com/files/ -T issue - This specifies the file "issue" will be uploaded to the root of the "files" share. .IP LDAP The path part of a LDAP request can be used to specify the: Distinguished Name, Attributes, Scope, Filter and Extension for a LDAP search. Each field is separated by a question mark and when that field is not required an empty string with the question mark separator should be included. ldap://ldap.example.com/o=My%20Organisation - This will perform a LDAP search with the DN as My Organisation. ldap://ldap.example.com/o=My%20Organisation?postalAddress - This will perform the same search but will only return postalAddress attributes. ldap://ldap.example.com/?rootDomainNamingContext - This specifies an empty DN and requests information about the rootDomainNamingContext attribute for an Active Directory server. For more information about the individual components of a LDAP URL please see RFC4516. .IP RTMP There's no official URL spec for RTMP so libcurl uses the URL syntax supported by the underlying librtmp library. It has a syntax where it wants a traditional URL, followed by a space and a series of space-separated name=value pairs. While space is not typically a "legal" letter, libcurl accepts them. When a user wants to pass in a '#' (hash) character it will be treated as a fragment and get cut off by libcurl if provided literally. You will instead have to escape it by providing it as backslash and its ASCII value in hexadecimal: "\\23". .SH DEFAULT There is no default URL. If this option isn't set, no transfer can be performed. .SH SECURITY CONCERNS Applications may at times find it convenient to allow users to specify URLs for various purposes and that string would then end up fed to this option. Getting a URL from an external untrusted party will bring reasons for several security concerns: If you have an application that runs as or in a server application, getting an unfiltered URL can easily trick your application to access a local resource instead of a remote. Protecting yourself against localhost accesses is very hard when accepting user provided URLs. Such custom URLs can also access other ports than you planned as port numbers are part of the regular URL format. The combination of a local host and a custom port number can allow external users to play tricks with your local services. Accepting external URLs may also use other protocols than http:// or other common ones. Restrict what accept with \fICURLOPT_PROTOCOLS(3)\fP. User provided URLs can also be made to point to sites that redirect further on (possibly to other protocols too). Consider your \fICURLOPT_FOLLOWLOCATION(3)\fP and \fICURLOPT_REDIR_PROTOCOLS(3)\fP settings. .SH PROTOCOLS All .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); curl_easy_perform(curl); } .fi .SH AVAILABILITY POP3 and SMTP were added in 7.31.0 .SH RETURN VALUE Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space. Note that \fIcurl_easy_setopt(3)\fP won't actually parse the given string so given a bad URL, it will not be detected until \fIcurl_easy_perform(3)\fP or similar is called. .SH "SEE ALSO" .BR CURLOPT_VERBOSE "(3), " CURLOPT_PROTOCOLS "(3), " .BR CURLOPT_FORBID_REUSE "(3), " CURLOPT_FRESH_CONNECT "(3), " .BR curl_easy_perform "(3), " .BR CURLINFO_REDIRECT_URL "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_USERNAME.pdf0000644000175000017500000001117312652070450016176 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•WÛnãÈ}×W4‡¥RO7Éæ ‚hÆš¬wdI‘¨ñv`Ðe1C‘Z’ZÇù†ý•ýÇ­ê )qœ ¶DöåÔ©S§«!ŒrÂð£ÿ'‡Áû•Ožë#σ_\¾$ú_r "àƒh7Ps8ñm⇠BÖÇÍj¶XF›õt5Fÿ6 ƒ0€¡Ñvà ʉ^÷Öäfú`9C’œªü1ë×Ç:mÊc3Ûns ~deQ“Ë5ÿý4p§ÜQk¶+áncFmHP Ä:v—r›ŒON™Op0Ãq\Pš¥n¦ø¼‹ÑfÔe>ÃTxÍòK8„ÄEˆ(ÈïäT§)âCJš¬ ñ©Ù§E“%1†#ñ_‚PcîÑ@BXßÍËõõúˆ"AXÊŠ$?mSòdî=þ¡û¿âpÛ%Ñl½S“ÆôÉ}¯È»}\lótÔ£H áb,#‰Óí¶É>®È;ŒÃ{þY<ƒ3~ÈÕtýqu½Œ®s.TbÞj· i T:u¼9·êšÄD! qMŽqš´’QÓGÁDzã:•£—.Å6êû,Ù“z_žò-yJÉ±Ì 7Å3& òDþ“Vð%­Y7éöÛŒîÊJlª¸¨Ç24ÎCÊy`¢¹·vM‹ž%6©é‡‰ahû†Õ„¶Ælø†; ”!™µqîIþÞ¢æŽUÙ”I™÷ÄGÉÝ3¬.a•'ÃBQ68Qî=6[žkÞjöYMT9ÂFÏ)¬Y‘—¬ÙKV™oÓJUàûg½ z2´ŸÇ½¼½j+ö,Xæ›ô©Í¨¤×.@(ïí€ÃW„t ajÌÜgå ¹ÙS¾â°´z‚„Öä‹èQ¡àÇä'sÁ¨ð´ì¬¬Ø–ò©O…Ó ê¥&O1Ò ”ÿНE@ýNVJŒà2¡´H„Ì1¾vbDlA`Âl“`ª Ý–‡8+dìƒzòy›ÊOi@fR]VÀ}«J Žë:†ç ‹ú”$i]ïNyþJʧ&FOÒ0Ý6Äè9F_,ð/H‹‚ãSß÷ 5ÉWÉŒ zoS›6”\ïÈ+³-‹TQ \+Tk(l𖆀r× Ì²˜KDŸY“Å9xCÊ>S,8pŠtf¤DÙË'ZZ½¿êíµ#]ÓC—T‹ÿÞŠ_Éê‚2æ;VœåT—äJˆNx0Õ“Þ<šÝŒz•˜Ä–b}L“ì7ÔKv8óq¿bQ€å©9˸|®øE'—a¢gh‰tù˜Z4/ÍSLMÞ®T "Һѡ0*-R<Ç–‘D%Ɇ?hN<8!yh´ ôod©À£¦™ô+U,ÈfFð/Åx–^Ø>ØŠñuëWùÊ¡ ÷@Ç·¡CpõË|v^+a É*Ÿ!ËsÜ´¾YÎÁw6H沂ÚÉŽ ›¹<™0òCÜÔôbÿ±^tGΧòL)|—·è«´ƒÀΔ®€ÇP8<§?On–³éÃÌ)rŽ_þ–b~Ôš”i)4™É„æÃq U¹ „}Cƽ•¿=W:•¶‡ÄUÞ[ëù1Š–FªI«¹ƒsô!#}ÍÖ«½ÔÀT}:K4Ÿ«HI5ºÊ‡¸Î’¾y‚˜_Ò<ï© š¥Ðèªnu.ÊZYjĽ…Õ±{•›ãº~Qõçøø™ä2/ŸÑÝT8"q^B½µgN[F#)E4 ut¶§ÃêB‹¡‰4çÏr„ºËY¯o‡6ÒåzÖbuõÖiY W‘Žçžk„4Ù¨†­Lw· c³³¨•ÙYˆ H0xÇmc|Êãâë·X.ÚÔåJÃp@;ªí™€Æ6´ùJ ‹ˆ,ÚMm‡úÌ7ÖÇŬ×åî€tHnʺù]„¦ÖƒÿÚbFî`*W ͘‚7î !ŽlwCb]×ä éîOp“ÍëÙäÃõì:ºëeú*7.ϰÉv«6Ÿbù¿c½·VÓh³š“/CŽ­ºÇ­Él3íI¶ „©{…UÚœ*}“š>.>“L•¹né ¹ÓNnGzÐfþy¾7‚ÙÖ­Ñ2΄~q,÷U'•¥ÞD‹O7ӛŠÊßx+¨ÝÚ]5Ǭ]#§+úà2ך¯öX8Xà„Jçò ü&+êÓ®µ¯ß’ ìˆìÓø'mœ¤ô‹÷sq~¹šNÉd¶^t<÷DÒëRû ª¼æª,Ëš].dC m ç–ã;`9®¶4:m9ývŸ™Âw7h×Gó7¦ {+¸8u!e F÷gVýØ Ï¥®ø6W—¸ SÖ6¨–ЏuÜÖEj'.~Öǵoh‹V§ÔÄÝ„lÎK‹us¿ Y-íxƒõÎ4•gOx†Zƒž– á½]*,è0~:Ć¬È„¸­EÉ‚œFƒÀç\pJendstream endobj 6 0 obj 1910 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:32+01:00 2016-01-27T08:26:32+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002234 00000 n 0000004124 00000 n 0000002175 00000 n 0000002015 00000 n 0000000015 00000 n 0000001995 00000 n 0000002299 00000 n 0000002553 00000 n 0000002488 00000 n 0000002420 00000 n 0000002340 00000 n 0000002370 00000 n 0000002635 00000 n 0000002701 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<8132958A83CD2843AE2C8B676CB7B897><8132958A83CD2843AE2C8B676CB7B897>] >> startxref 4278 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.pdf0000644000175000017500000001365212652070437017610 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•XÛnÜÈ}×W4sM›÷Ë:0 •e@EšX4…Ù£aÌ!ǼH,òþ•ücNõ…䌅 â¥ûÔ©S§ªùÙÜa6ýè¿ùöäí§ˆ=u'6{:ùvâÈ›LÿÉ·ì×Ät!]Ÿ¨w¹,J<',ÝžøÜ Xúròźøüéúv•>Ü®.oîn/þr™~ü|s‘^ÝÞÜ[Þý‚åC[=ˆ¬Û?t¢ovýbé6·íÈÂ?eSwì'+,þ‘þv²´¹ë`çÀãI@ؼ¥×'ÖÍùâ bÁ]'àAâoZœX½\¤ÿœEâÚÜ·#¶t\ºmÿ ?ûd–gUõ˜å_ÙºiY³uY?±®É¿.ÃvüÐ}'A@[ÛÒ y,¡Üý~s»º»º;$‘`¬?•u^ …`&ÂÞÒ/¾yO»>Řž~±úýNbÍD=lËÀ¶­?ä¾YÅå2)2&Š%ý}uùpµºøûÍ{{J‹9žÃñ¬=#@†’ð$qÃØ¢x[‘õ¢áf¬Û‰¼üž³«Ë›º9匾UYÑËéí¿n|¾ð°lì;ÖÅÅå*•oH„HRø ÆëìíÂõ g*&U.î„Ibž:d|„ù¸gYž‹]o‘Ú¬º„GŽA½FÎõù]j¨qcjj¬ZÐ%¨Î‘x$F$úæ³¼©CI¸;»ÕtKÁ·yìÙÎŒk«„mzúp9äjDðï|zÛá‘—ÄzY¨ÒDx'™ÛKRèúvÈ{UlôdV-ûƒ ¦ì”uÏÖŠÃ ±²mYíßI¦è”ÝŸ¶y£.ìÚ¦oò¦’†º+Ÿj°NwhJÔò†ÞÜš~Ñe0÷îPÍ#Ö™øzYacuÙ‘GWM Þ[Ï W_nÊ‚æU)ê~w&£ˆ§½òal7´»¦g*É2ÒWé:¥ß¢ëî9-§ØUºÎTç±›ÝË[ìt“ÕE%Îþ‡—Í#;jñîgîñáòîâÓÕŠ–9å«N²ÊF%Aèòé:Tó®AâDËú†í›¡yÛPËÊ>c/›2ß°nÓ UÁ¶YúP2tâÖ ¬—še1g…Çó|„UbÿX#\Æà Ã0fOVHº)»Q±'X¬¼¬ ¾*)Pa׋¬`Íš0*oulãö^LÕ¯öï†9Y]wÆÚ´¾NHñJlÛ¦ì^ èÀ³ˆ{£+Y„‰³ÐoèñÈç~`¶>Â…¤:л¾«ÅyÔ"T'.kNŒ’BëiØBîŠs/Á£¹Á†cI`Yà‰ò»èdÖäº!¼v´zБOþ+Cèí¥Ù÷Äý.kû2ª¬U=ŽjÞì!A¹¿2ÃØ6ŒüØ{Žøs\n{†zìH[£»C­‚ÐwØXm*8稱FþOZ«Ãíh¬/ÑJ•:Üí‘·e!¾S£BÃÔÌUƒÝÐQvÈ0”¦H!ÍÄfB>´ò:4)A$<4fwžô}sU °\!>w§žo=¶ª­ÃBIdâ¸]1qò( õRúiJcñÈ"gçGÌ,½(ÂðóÿŠ%N|s²Àà)•j9+˳]_YÞºm¶2ŒËà¥Äi‰&ú¬‚xØP·"oŽ[VÀ£0úÙL×B‡B ¥«[Žjãt´ f“J¬ ]úF¯0(äGÔDTêÆÑ%-—·Ÿ¯?ܤø{ssy‘ðµÈ ãí7”϶|z-ùÓ|ÔäF£HiÕ‡8݃~k˜VG0÷(ER˜YƘÝc…¥QŸ=Žö÷ÀýýjMC8êt<‘ÁMAÞ.ë¨üŒƒÀU¿¡De¼¨ØÔÿägj…Qá”O“Glf8BáKEÈ…GBôø¥_9\>M™ëiκã¡;Â;³3»é¡$ç…/G)ßÂ…?ð̲ ;÷ZŸ2{Ћ‰°ªab Åüüä†! m~†ú¨'ðeÿÀA2qLYçŸÕ¹š¸ÖMÄ¥áSݽžºË¬“£F¢(š×.µìB¬ÇœeC†Å&[8òYÏ%$RêéüÛ0ˆ®þ.òqÓçùAnþý¡¢¶+Ï> stream xœR]o›0}÷¯¸o3R¹³ üH3OJà KœnS:E] ]¦æ£…¨Ú¿Ÿ $MÚI›Œ„lŸ{î¹Ççr`nõÿåš¼ŸÄp_÷ä‘ðöúßr —Æw`îHWÃ!«fMBäÌ3™ÓÁl’c³(Æ:Ÿƒ‘6gùÀ ‹ü†7,÷O‹ê¶þ½¨«f»k<_H†ŒÅÔnVÛM ÿ`ð¾›++GY9¨¤SD`2Bõ×ôÓ8ÓÞ;âs”IfI¸pWvÏB'¦×Zsw‚a$-ÀnJB‡Yz9̆æ›g~N+1-—ï˜JWèXʲ*aµ¹ý°+9Qä[I>0q5s:Ñf6ÉáÚãAˆ*â4ÍfºŸãШ­=¾jöO½zQŒ`uÍÏ :‡`UC½ßí¶OMU^Àí¦ì³|”^ é—Üšç s…›mƒo=;SH§ZCšM‹—AÎ%ýåU?8¬ßÑYŸ†¢·Ò¹ßÙd¬ÙÕº}b©B±ƒïí›^œ7¹à%Q®¯'*%bj©xe$—“ÿe?’²bê·#aŒR'×ç|•Æ1JÞôòy»s_*†á17sú°úáòoscÌó­V¢¤<‚«ýãa;M=©p|ÚÏvý*Kå¶endstream endobj 15 0 obj 494 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:23+01:00 2016-01-27T08:26:23+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003392 00000 n 0000005351 00000 n 0000003326 00000 n 0000003004 00000 n 0000000015 00000 n 0000002398 00000 n 0000003457 00000 n 0000003780 00000 n 0000003715 00000 n 0000003647 00000 n 0000003498 00000 n 0000003528 00000 n 0000003164 00000 n 0000002418 00000 n 0000002984 00000 n 0000003578 00000 n 0000003608 00000 n 0000003862 00000 n 0000003928 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<2FA7B0F439A07BCD57B6EE636437DF12><2FA7B0F439A07BCD57B6EE636437DF12>] >> startxref 5505 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_LOCAL_PORT.pdf0000644000175000017500000000701412652070455016552 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUmo£Fþί© §°Ç²Ë˪U%.G%zĸ˜\%•åÇ ƒÏàžú£ú;»à×s®•¥8Þfž—™á38„‚£>ãw¹6Þæ¬:ÕñÙ úƯr ï ÕAñl ÏP\#¡€bm˜·÷yšL~Îæiv¥ói–[ÅŸ¥.¡!†Kƒ xP|1ÍâÉdO”»m=—‹îïùJöUóÜZ¶‹QB0³ÝôUÛtp%íÅ/c!q¼!ï˜M•³âRÄS"\p‰ðb›{xÁÀf¾~`©`GÅQx‚‰îbu~dê:„;ØÔÕ××)ºÄÓ‰N˜šÅ?«C—*ÚúÜQìMÙCÿ"¡^ô²ë¡nËE ›vÛC³[’ÛÂ)zê£&ˆžú$Ôég“l:Kfçh‘ÜéwUSÖ»¥„•ÄoÕòò“FË¡H*e‹_Yð¤ïàÍË¢YÖòæšß+®È1‡‡ì(á¡&XÜ@}˜zF¿mVðFñÝÆÂ^^}¡"ÕlݯŠVôŽk'Ý÷'iô.I“â᜺Íxxyhçh¹”K¨põçÛ\Í<.îó |´(ãDøÔŒÒûX¯´k”1^ö»í¸ãyöª¡†ýUÝn£ÚL.omï'&™Å<ó·É<Ó³£lÚžŒµ^ucÇ¥³ì¼O!]® ËÅ) ž0Û v%û¨—ôÍyZß'¾ïœvö¸“=> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:37+01:00 2016-01-27T08:26:37+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001205 00000 n 0000003009 00000 n 0000001146 00000 n 0000000986 00000 n 0000000015 00000 n 0000000967 00000 n 0000001270 00000 n 0000001445 00000 n 0000001380 00000 n 0000001311 00000 n 0000001341 00000 n 0000001527 00000 n 0000001586 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<520E011036BCAF4270204EEB29AEE1E4><520E011036BCAF4270204EEB29AEE1E4>] >> startxref 3163 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_RANGE.30000644000175000017500000000530312637071500015202 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RANGE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_RANGE \- set byte range to request .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANGE, char *range); .SH DESCRIPTION Pass a char * as parameter, which should contain the specified range you want to retrieve. It should be in the format "X-Y", where either X or Y may be left out and X and Y are byte indexes. HTTP transfers also support several intervals, separated with commas as in \fI"X-Y,N-M"\fP. Using this kind of multiple intervals will cause the HTTP server to send the response document in pieces (using standard MIME separation techniques). Unfortunately, the HTTP standard (RFC 7233 section 3.1) allows servers to ignore range requests so even when you set \fICURLOPT_RANGE\fP for a request, you may end up getting the full response sent back. For RTSP, the formatting of a range should follow RFC2326 Section 12.29. For RTSP, byte ranges are \fBnot\fP permitted. Instead, ranges should be given in npt, utc, or smpte formats. Pass a NULL to this option to disable the use of ranges. .SH DEFAULT NULL .SH PROTOCOLS HTTP, FTP, FILE, RTSP and SFTP. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* get the first 200 bytes */ curl_easy_setopt(curl, CURLOPT_RANGE, "0-199"); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY FILE since 7.18.0, RTSP since 7.20.0 .SH RETURN VALUE Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_RESUME_FROM "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.pdf0000644000175000017500000000711512652070446017034 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœU펛HüÏS´t? +{2 J.’³æ'{¼É*{²X›Ýå„Á1x£<Ô½ãõ `l'—;Y2²§¦»ª»ºù ”0 òÓ>×[íÅÜ…ÇJ£ð¨}Õ˜:„ö±ÞÂOþ!´æ××·ˆçƒØjúõrÆ3±AÂižGG¤Øh–¯`ß´/:b¦q´¸Ó­;Ö‡}¾J“êûªJërW#“SB©«ã¬,*¸û§x§Y&'¾Û> '“Ž(1¦Z#a ŸKÎ#›Ù„™0²u-K0•8Æ ÷­6܇@þßk5)±© #¼ŠÇ´‘pÁ‰y øUu¹…:Í‹´†V…¢}ÎyŒ˜C<•uqųÅtqž[AT^ý·¬Xç‡M ¯dÅ^È/òôZÂMD¨‰«†ÕºDÌeQïÔ\=%Å&O‡—%ež,øQÃP‘uø1wUï뺉ZåYUÃÕz»©îŒ— ÝSUŒ²Y“`q=Ÿª°ÿªl¶/峈kù^ÓJ¬Î-Ï J`WfEî¡.ñÇ “oYýÏ‚2ŸëÉ>Kîó´’¸]R©gý”vÝ(R]à{ÜÖË:KToD<7βlâPÞ³ð$‹>lõTò ܧÊl–íË>Ö ­ËyC\¦}(÷Û¤†W ~Gž˜Ý7]=Éékyv/µ@uØíÊ}])®ñBÜ΂ÁŸ'ÓÅ,Œ¯€ „A|ZÑÍ€À"MåE]ƒêMc¡ªŸì7’lÒ:ÉòŠƒ_qüÑ·=9èŸÙ¬ŽñR2i˜vtLÇêF1Ç™ê[¡˜ëº–}ìx´ ÃsFc6oYØ–b]3\7*ÏÈÄ*+{è±€ø˜ÓD Q§äë8¼'¤í#žH¿©~A%ø<þ0 ƒ–óÎÕYôLÐÌÝâÓ'q[2îy?ÙJ¾D³ÉÊÚJÙøú …Mp8kåëÓpüfNÅí¹<ìºÑ;[Uú8/‹ÇfJþÚ/ú<Ëy7ÃQð¦ÃeЮ¯E#>­ûvM«ø=dm&ÈªÎØéf¨¬Û€–Ñû(6,9²¶£ŠVÍâ‘7‹²&ÿ¹+ƒÆá"î•\4¢[oo…˜½ Æ“`~Q(4ŠßÖR½6†ç¡0“ãжÚý²ÿh0õf²ôelØÝsQÏ'œv+ì$òÈt"ß!–LjÓí&ß%–K¨1bœû6á:sáÝ¡K£¢ÛG?3*ÚGüüô(endstream endobj 6 0 obj 947 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:30+01:00 2016-01-27T08:26:30+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001270 00000 n 0000003074 00000 n 0000001211 00000 n 0000001051 00000 n 0000000015 00000 n 0000001032 00000 n 0000001335 00000 n 0000001510 00000 n 0000001445 00000 n 0000001376 00000 n 0000001406 00000 n 0000001592 00000 n 0000001651 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3228 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.html0000644000175000017500000000461112652070415017620 00000000000000 CURLOPT_TLSAUTH_PASSWORD man page

NAME

CURLOPT_TLSAUTH_PASSWORD - password to use for TLS authentication

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_PASSWORD, char *pwd);

DESCRIPTION

Pass a char * as parameter, which should point to the zero terminated password to use for the TLS authentication method specified with the CURLOPT_TLSAUTH_TYPE option. Requires that the CURLOPT_TLSAUTH_USERNAME option also be set.

DEFAULT

NULL

PROTOCOLS

All TLS-based protocols

EXAMPLE

TODO

AVAILABILITY

Added in 7.21.4

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_TLSAUTH_TYPE, CURLOPT_TLSAUTH_USERNAME

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.30000644000175000017500000000351312626067776016776 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ACCEPTTIMEOUT_MS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_ACCEPTTIMEOUT_MS \- timeout waiting for FTP server to connect back .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPTTIMEOUT_MS, long ms); .SH DESCRIPTION Pass a long telling libcurl the maximum number of milliseconds to wait for a server to connect back to libcurl when an active FTP connection is used. .SH DEFAULT If no timeout is set, the internal default of 60000 (one minute) will be used. .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.24.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.30000644000175000017500000000454212646662361016506 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RESPONSE_CODE 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RESPONSE_CODE \- get the last response code .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RESPONSE_CODE, long *codep); .SH DESCRIPTION Pass a pointer to a long to receive the last received HTTP, FTP or SMTP response code. This option was previously known as CURLINFO_HTTP_CODE in libcurl 7.10.7 and earlier. The stored value will be zero if no server response code has been received. Note that a proxy's CONNECT response should be read with \fICURLINFO_HTTP_CONNECTCODE(3)\fP and not this. Support for SMTP responses added in 7.25.0. .SH PROTOCOLS HTTP, FTP and SMTP .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { CURLcode res; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); res = curl_easy_perform(curl); if(res == CURLE_OK) { long response_code; curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code); } curl_easy_cleanup(curl); } .fi .SH AVAILABILITY Added in 7.10.8. CURLINFO_HTTP_CODE was added in 7.4.1. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLINFO_HTTP_CONNECTCODE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.pdf0000644000175000017500000000765712652070430020034 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VÛnÛF}×WLЇRµæryY¶EÙf%²¨JTÒÀ.ŠZY hÒ!)ý¨þcg—7QвE;œ9g.gô tBA—Ÿú=.<ßTB}‰á*@.»AõÇÇe„»<î´ëÕbêσõÍl¹^-½õ»©5dÑu‡iãéúz<4õêîú½w¯±ûáÐbq]¦E‡ F:1(Œ¿‹ø‰kI ̆`:ÐfãáÏHO©E,—!­`;Ðn½aðõˆ°¡Sw`D yü™Â¿ Òp“ˆËm\È+<$Ù&L_‡(ŒöB!íá!Àµ Wx–_fþ|9YöQ)…Hû)N£ä°ð›Lä¥ü"ûߥ¹aJ¢ÁÛ t”¡Íi®ïռ݇é6ð*;jÚ穾Pàm«Å’déCMø~økù˜Õéµoy½˜Ìƒ‰?“¦X.jUÕúÍy(mT½\­ªZ:±¾ò2ЊBá LvPb^Upª×žl›Xsë"Wë ÆIPÃ%¶kÒÚôù8.å.7»Ð¦ ÄÐ ˆK(E’*ÍPfp(Â:-9 Kx‰“ŠCþ÷È"²í&¯ƒ< Ø´@¨C˜Áø)Q¾‘‚,¯rɸA¸Ã›êÒèN«J Q.B5f€÷°‰Pw‚=’Á¿4C6{´ÚŽŠp'”Y)Ïð³ç¡aâ¤ê†æ±Ì,©æ£›>™Zís7t66•Ûd1›ÌÞýÒïql4nðº”Ø6W,†J"$ÌAÇ[‘‹-d›"C‚À{!ÆØq‰·/qí!ë'Ú4‰nM™U7˜„Ê(²ÔFWê;-/‡&v¸£eÅM¯\Ó´›NQá°ó Ø‡9¶DZŠ|'½r Ôõ^UgRNì~q´8-JLøXŠÓ¶(i5Cº|?^Ôr×Kœ+iè 3¬Û‰+dâ2—7ä”&HÌCÔ[]·¹&Öq—v®G¹yU#çn8ˆÓî ùuÚ-S¥Õ¥íxWê”JŬµØ°™SŸNƒ¶ç; ²‚Žã`Ó7Ú Ÿãèiè|QC0™‚@M âÔ XW¥ßÀoŒ8ºÝ¬…kz"ÁˆÙEŠq’ü‡÷×øv>õš6䯊]ÐÁ LökâÆ¯“eq~¶ÖF¦+-Ûh2§•.Œ?Á¸£¥Û¢MsL¦ã«Ét|ésÃ*0“Ÿ4çò°ù*¢vY¹xÌzòicët=W‰¦A¬3Ù¼Ó’ÕÂ%øDKËn–p˜Ù:À)ÚÊC޳|“))BÁy󅰯܎ô¶ð‚ÕbŸ†”¡&Ù·ÖÊ;éâ.Óh/0 ª *oí„X­#…)OOY^Ší…ÒÀÊp5û8óq3jŸgk_­0ù"%?\èžãéÒïÈœ¿7ÞýºpLR;¹šЋ¾ c·uèÿZÁÝmI™6¹»×ÁäÖóWÁIj(ÒqÏŒ˜Îåó³b7…ܨ=‡Ë‹?QËBå±4êÀ‡C þfPÎÍvˆ¨tåƒ?ñ󺆟°endstream endobj 6 0 obj 1201 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:16+01:00 2016-01-27T08:26:16+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001525 00000 n 0000003408 00000 n 0000001466 00000 n 0000001306 00000 n 0000000015 00000 n 0000001286 00000 n 0000001590 00000 n 0000001844 00000 n 0000001779 00000 n 0000001711 00000 n 0000001631 00000 n 0000001661 00000 n 0000001926 00000 n 0000001985 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<17C9AFA5AEE3D4D19AA30E7E2CEE6760><17C9AFA5AEE3D4D19AA30E7E2CEE6760>] >> startxref 3562 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.30000644000175000017500000000361712626067776017071 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSLENGINE_DEFAULT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSLENGINE_DEFAULT \- make SSL engine default .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLENGINE_DEFAULT, long val); .SH DESCRIPTION Pass a long set to 1 as parameter. Sets the actual crypto engine as the default for (asymmetric) crypto operations. If the crypto device cannot be set, \fICURLE_SSL_ENGINE_SETFAILED\fP is returned. .SH DEFAULT None .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY If built TLS enabled. .SH RETURN VALUE Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSLENGINE "(3), " CURLOPT_SSLCERT "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.30000644000175000017500000000325612626067776016637 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_REDIRECT_COUNT 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_REDIRECT_COUNT \- get the number of redirects .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_COUNT, long *countp); .SH DESCRIPTION Pass a pointer to a long to receive the total number of redirections that were actually followed. .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.9.7 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_IOCTLDATA.html0000644000175000017500000000433412652070415016460 00000000000000 CURLOPT_IOCTLDATA man page

NAME

CURLOPT_IOCTLDATA - custom pointer passed to I/O callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IOCTLDATA, void *pointer);

DESCRIPTION

Pass the pointer that will be untouched by libcurl and passed as the 3rd argument in the ioctl callback set with CURLOPT_IOCTLFUNCTION.

DEFAULT

By default, the value of this parameter is NULL.

PROTOCOLS

Used with HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.12.3

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_IOCTLFUNCTION, CURLOPT_SEEKFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.pdf0000644000175000017500000001072512652070453017371 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœÅWÛnÛF}×W,Ò‡R†µæ.ïM[@MÀ,©2•4 ¦h“ E2\*ŽQôò+ýÇÎìò&ÙIÚ'C0irwfgÎÌœ~ :eDÇ_}wƒ³¥CnÅ@'·ƒ&I} wä6¸øÂ¿(FNÏ ®GüÝ@{±ZNç óròjèÿ9éÔ²ˆl—:Lç áoÚxU/zˆ»ž[/N}\Ôå£Fýv³XÖ2¦\±©kèL-ŽÈÿn Í}2ï¤=êÙž§öÀƒeãžµöb>½ÒŒ«! ÷eº‰q¿Q•ÕpÄ-꺣ÁC’g‚ôÝùÃÿµó‡›µ­§s§u¢Ö™‡{Ζ„‡zFhd65L22l)2wº,jy-|ßE–ƒQºCFŒ«“ž"¤_q]o£Hþ!Ûèf‹®eXZ°O+R”y•‡yJªœìED’RÅH"È."ÉnI@DG»ˆdÁ.’‘=DŽÙ6EÀ$iÍå»Ù|qy~yàÚ€ô]’…é~‘1©ÎðBãŸq;ç¦ Å0‡ ÇIw%—ÈIdÛ4:=H¹ï{ g”O—puý”„qP’“è«ás…J?Ãbé|9¹|±<_øçóÙ1ôcˆª{ŸåCnR×î2’—ðNì‹"/«hÛaUA¢²ÌË:\mt9$µÉ[¶ƒHM6«Ùåj±˜/ýÉËãt†ÓÀæod³ÉúôyDz5<³ià‘%UÜÅQÖ¤¡<ÐplÝjpá"(Ñ™&‡ÒHÌ/J#pÇ6븢²d0ñâ ("h7xÚQ–»5,£1»#"*oòr×ö€Î(Ãu @ö¨l 2-Çí+Üq&_ÓØ8nÃÌP0a¦ÑVUˆáÙPê=@t›+†öã®>éâ}ßö]’¦äãCåê¦pÜ£[Dh Îe^pèÝ\µ]‹ºM¬µ»Dáx×Óª;¹SW\IunòfW ÈõÉÌÕ-mŸ¤%PÇÇ g› éµæ#'Èy:74´´I²›\tÈ.®TÄ;r¹Ï÷Sw¡œji­e€¢B"iËAòÆ!NHR×C.‡mߢDK‹qPáQ$(# HÀŒJ»°ûdºÍAo–WÈÜÙm$µ>Ö8?Ý÷ù iåjH›¹GÖ™ö6¶jÉmëi­Uq¾¯@swjã!Óµ|¦ï‚÷M8¥ˆ¬Æ, n»Ju¡€ÛA`…tû˜çØGD‚îAj÷Û(ÜÉhMP!çŒ*HRAidž‡ ¸ßÈÚ)È”Œ ÁñÀ“ÃÎÌ0`õ ÅmÃyØš;[@sÇhKH›­¦SÂ…„BËô¨Ý[ÿ¯€ƒ!G7)0^ç[Ç©†jF&ïÔGŽ8Õ-ï!¯q:ºmt¼z4$8×y7NÓGp¶{vL~_,¦“/ ª%ÉÜú©7N%YÃT=ŽàÎ)–â•Ü]ù/H\«5â쨂*Äà.QÙÛöÿ“3ÔeôpZÃ7Ý”·Sò,2K•è§`W¤ óÝ3´Df»QY}h¯üü6ê'–«`´ñÒ}$AeÛk*î|:þå|zî¿;LK¼a¹9Þn¡ü’Œ8‡Ò¯§ûZ[NüÕrFÞ ™C“Í´ñt59ž_탲Éfþºù¶©ù6éõzôåÛWþfþjs1¹˜/¦†‚;¸Ùpø;l§ºvSõZ)L -ë¬5˜V# ô6s8)ö7jØãŽö9L¢¬"qDAÕ탌1M|×í<÷z6µìÛÙf.?ú…½«çÛÃïµú¸œLÈxz9ï`Àºxƒé4MA¶Œffdä2j+Ë›®VG>LîjÌ%ãý-á:³¤ufKˆ •LüÁoðû— †›endstream endobj 6 0 obj 1744 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:35+01:00 2016-01-27T08:26:35+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002068 00000 n 0000003958 00000 n 0000002009 00000 n 0000001849 00000 n 0000000015 00000 n 0000001829 00000 n 0000002133 00000 n 0000002387 00000 n 0000002322 00000 n 0000002254 00000 n 0000002174 00000 n 0000002204 00000 n 0000002469 00000 n 0000002535 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<311FBC56A67799C303552E99DDFA22D9><311FBC56A67799C303552E99DDFA22D9>] >> startxref 4112 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_TIMECONDITION.pdf0000644000175000017500000001010512652070447016764 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VínÛ6ý笠è~Lb–E}`Ã7q0wŽåÙJ±¢ E¦cm²ÔXrƒîú*{Ç]RŸV“lX$ï½<÷œsõ”0 êSÿƇÑë• ňÂÃèqÄô"Ô?ñÞ„¸ÁSÂݨ:ÃÀµÀõ9ñ|#îü>>—·«y° 7áìfz,®fá,XÜü΄øtL72*>o YæKsl J(u ü“äY/6ÿ ߎƔX ÆXõ_¨’¸á|d,&æx\e‚Ÿc™ávdÜLÍðïÞ,Jlê˜Yj™ªªŸ/þƒB¦2.!γm¢*„]~„Êä á(O²(«à½jÆXΘ9ÄÓÙ×ïÁr=[Ÿ× ·èüÆI§§­„_<¯ÕÙÿª¶[¶¾–ª-Îqþ;½?í£l›Ê‹çÁ»€4Ïô îÌŸ oÔz5]_®fKuLåG´™¨À~¦îe¤öh¸}≠lJDÅ£(':*àctŒ²”Gu„ªöà1ì½íÕ]"aŽ1âxVé€û¤€­ü’Éöy‡©ýB ­ú€ñTvôV/ìeÕF&[D0êWËçÄ}g:X³c2¿vìÉ€y„Z¬9¬ñÉ´lâ{TQz’€—G•rKཉ™ˆï #?Ae9^•ºâœ‹Ø\(Õm[Ԡ̥{œpæ×¥ëÊÛ®of×7ÁÕz¶¸ðžÙ>aN}$?Á Ä㔽ñvñBL„Iˆ¦…š46ES@š(önGŒX¶£¯î%¤QQÂ!ß&_âHËIÖï*_R X–—¥ ûtñ®³›îF}š‡ZM>ðO–›–P†Â§ PdPœâ=þe”ÅH íÛr:JxJÒöQc.Ý-äë×1I}O².9vŸ‹¦yusËÅÜv«¹S]$™ï×e*¿ä:ÚNùŠ<“–.ÜÆµ>é5‡pµ_IÌò|¯A!KšE-$fÖÜõø§½Ì•2±Éybd“Óp¹—Ùz&s/ºÊÊZù¨Nv>ù„|G0,ùžnu[‡03¼¯åÔúÇXuyó}›½ºµ‚îRf€Â  Ûı[Ivvù`*éQ‹²L²]þœž=YÖbð””{dÊÐ1ÆÜÄ¡^Ûb¥“Ùâ:Ø´~»A©LÃJpÊqÞŠ9B_£zÊ à^©[ˆvJî8`ŽQVì´ò!•Ñ1ƒD‰ä_yÌÇ÷ŸK©Hd.v§J+M†¾‘|0^5a^5ý@a oÑœ0°VB×2Õ£CTÆû${ 5:ß×5…ZxÕ)Ÿ5à“Ûª,•²È–ÃÝzuÞy}’â…ëºÝ%&´S¸3(vîÛw¹ª+³¹WóÔrÜšDc‹P”­‚?!舆’§N£¡Ë`>ØxkëŠû- —zH“FBʤ>qÝ©„ö\Ê8;s¾t±ê;uZw×g‡Â:ç¿èa›·:­& úßõl>ý/Æ\âØ=̦Nn–ÕNÕïÅ©v¡K²Æú¯‚ºßÂó¾z=«Á#ºlж.pò&gZ¬c6Ÿ¼™Ígáû¡”·½N€“³Y2ÿΜÀ1ñ5Â%¶ÚÑVXëg5 oW xg2ŽsÝaúe`à=lVgJý;Ý¿ïÍp:…É|tÛÎã ßHt>®¦8ÞhO»ÛEk ø|Ìm´­*fšÜ+c—pœV&n¾M„Á\x{ÊÀ—ÜnÅÀT¨i8ú?ÿà@endstream endobj 6 0 obj 1344 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:31+01:00 2016-01-27T08:26:31+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001668 00000 n 0000003558 00000 n 0000001609 00000 n 0000001449 00000 n 0000000015 00000 n 0000001429 00000 n 0000001733 00000 n 0000001987 00000 n 0000001922 00000 n 0000001854 00000 n 0000001774 00000 n 0000001804 00000 n 0000002069 00000 n 0000002135 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<9D79D6FE8FE05C5B826288CC3C3E3600><9D79D6FE8FE05C5B826288CC3C3E3600>] >> startxref 3712 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.html0000644000175000017500000000422412652070415017562 00000000000000 CURLINFO_PROXYAUTH_AVAIL man page

NAME

CURLINFO_PROXYAUTH_AVAIL - get available HTTP proxy authentication methods

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXYAUTH_AVAIL, long *authp);

DESCRIPTION

Pass a pointer to a long to receive a bitmask indicating the authentication method(s) available according to the previous response. The meaning of the bits is explained in the CURLOPT_PROXYAUTH option for curl_easy_setopt(3).

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.10.8

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.html0000644000175000017500000000364712652070415017424 00000000000000 CURLINFO_REDIRECT_COUNT man page

NAME

CURLINFO_REDIRECT_COUNT - get the number of redirects

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_COUNT, long *countp);

DESCRIPTION

Pass a pointer to a long to receive the total number of redirections that were actually followed.

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.9.7

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.pdf0000644000175000017500000000745512652070425017634 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Uín£Výï§©? ‘}Ã嵪DlÒõ.×Á»]Å•E ^ÀåöUúŽ{%›ÈRì0—;gÎ93ó $BAbŸî;Ú .ç<Ô ß”¡ûŠ6pà“=Öƒö † †¥Ó‚`3Pˆ¤Að4¸Æ‹¹ëÏ‚ÕøÃÂû´r¼Éêzჩï-e)B´«òUÖÏ«:iÊm#ŽdM"’døOV5¼sƒøOðq0’ˆL1s„À,F,aStÜàÙâ¯X F©F4KA¼A<n1ø÷¨Y"ªdÀˆÊ,,1üoÀ‡ÿ óü>Œ!\7I!4UXÔküù”5)\3ü‘ÇQXÅ›°‰Ò6ݾQ˜ÏíWÏŸÝNoOQñ#‘ðKVDù.NàwÆÚ%ûCÒ?ØqYe…wB^¥»âq•ñª‡¸¾‹Ô"–©©B™Åp±mª¥ø'•xï¹K‚‹4,â<¾!ÅÖµ=ÒW`²åS‰Õ?qnÇóéŒ]ÇŽ¢¦Tk%}…‹YÈÎpQ-bj­¤wB]£ Û2+˜ M Ïå®:è´Þ3ÕžÒ,J¡NË]š4mU6eó¼MXH”5á©€ð¾ì=ÖâQ•hzg¢ïÉÙ´Lµ ^ƒ¢)-ÅôÁgAšÕ{ð45Ç–Äpÿ yvÏø‡°†ºÄpÈK «Ê5W7Un ÅÀ}’{·UøþR(+¨³í6‰—"Ï-Ì“fW(ÌåœJ½Ç-b˜í02=ÏÄ\ùŸNýGU…PÅhßÀÎÔuÞÙ’•¨LLý]Vªç&ÍСÈÃ"²:˜‚%Ó-¼M±z5_Ãw-Zˆ‚ªº`O].ÌVY¼Ñ” *«D–OÛºIòœsФ3›ÔèvÀ’êr“2Šd–ªÔ’wºvâ\w²‹²!]®Ÿ¯ÇÛ½õO»ìR?Ò¿LÝÉØžOnlÑRÛ=Œ?œ÷—jýúäÛwxz3&ÖuI>/‡uqõ§·_gR:¡ôŵ#ŸãðTP ½EÛÏHƒ(Ê3¢š†h5wÿÇ]2ÎYÝ›š²›œ`ð~þ·èJ{endstream endobj 6 0 obj 1064 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:13+01:00 2016-01-27T08:26:13+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001388 00000 n 0000003278 00000 n 0000001329 00000 n 0000001169 00000 n 0000000015 00000 n 0000001149 00000 n 0000001453 00000 n 0000001707 00000 n 0000001642 00000 n 0000001574 00000 n 0000001494 00000 n 0000001524 00000 n 0000001789 00000 n 0000001855 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<06B0534ED9B5AE8FF7607C39AC3AA543><06B0534ED9B5AE8FF7607C39AC3AA543>] >> startxref 3432 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.30000644000175000017500000000374112626067776017034 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_RTSP_SESSION_ID 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_RTSP_SESSION_ID \- get RTSP session ID .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_SESSION_ID, char **id); .SH DESCRIPTION Pass a pointer to a char pointer to receive a pointer to a string holding the most recent RTSP Session ID. Applications wishing to resume an RTSP session on another connection should retrieve this info before closing the active connection. The \fBid\fP pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the corresponding CURL handle. .SH PROTOCOLS RTSP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIESESSION.pdf0000644000175000017500000000742712652070426017006 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}çW ܇’…´á.o»hQ@vT‰bª4° ƒ–h› E:¼ÄÑ?ôWú]ÞDY!€´¹»3çœ93äW0 SþÚûf§½YyðPj&k×úÅÕj,ÃÛ‹ ø0÷×þz=.otëÆ€M]¤·qTîo˸ʟ*cÊ“˜¦§ã?Iž•ðãÃÆßá{mjF1áñÄC„#!Y.„ M¿œ?#\¥q„…0í¦ôðŸÌ$¶éÁ”2¹lJÔ§AÃPVQQAY,c0â¨èžC,ÞFÞÈ•&«M¨k²v!Ï¿$1”qY"³Áä)cˆÑF.ájÿúóe°\Ï×c°H­ªÿ”d›´ÞÆð›Ôñ¼Çß.[ñ—$69n8ÖùF-Á/Q¶MãÉi•'æÙ$YRÝ¿¢’c¼ H‡õ­¿¾XÍ—!“ù±,Ôiªr÷2ê„;<&ñ„R¾,Q^•±B•£³ð²‹Š/P=&¸Xöò[„‰¦º6áì¤þbÏ›øMÎÚ:œ˜Wðœ¤)ÜçÅ&†4¹“jÉœÉC–1D¸¶Q§JH*HJÅz‚¸¬ãDцNc÷è.¯î4¶9B»CÂ.ÔÜù×cx*b‹¶·ôoI^—IœïaßT6…àzT§Õ¤‡¥]PÉÖr]b9 ƒÆ”gpá£WH UÌ¶Š‰åyDÐÞþÄ´-%”Ä_²Ÿ ¶ñSŒ— u¸—àÛ.G¤Þ=„ý‚à¬ë¢ï‚^×¼€,¯¬žK庿Ÿ“êQJÛäÄ’ ¯ øý))öŠ‹JqÎǽ¼ªX²=À+AÙ»SˆÓh-q€vG™*étC2r¸+å&í\ÖH÷ ÷ á\¬~Gc8”Lj»ú÷¤¬ô;°±xoNȳto¸­7ˆ*w‹~Jmœh@Ùësv6$Ä!Üd»ÖûH¶.k¬¦tÔ¿Y¼ÅbÂ]‘ …Ìӟ˸€TÊ$q`—©Äû>¯á1ê­¦²3Ç!Ì{AzHŽHçuÑgäŽÝd¬Ÿ&°“m†ISÛ<5Œ>7ïÚ"86Wxp/µ[õÙUÓ¢R¶vú3×êܲ{”Ãx’Ì<ϳì~J™/Gôhä-W-Ûâí°a®×¶Ù”ÓiæMBÐ'dñL·{]‹£éŽ˜‚Pü†ËW€øÍ>.~çJþù‡¡]Ÿ¾ ZµÎ_¼I§¶;ûlRT[ñš}‚ÙÀË$®C»3_ÌÎç‹yøyLË`ÙÇÍ9S6“½ ¯s½ÖW~xµº„OµÐE.Õg‹+¿µÌ Ê«¸ª‹ö3¿ >¼"åÚ÷a¶Xö£xãå»ùâèS‚R>Ì`õ™2ÇÂTî0ŒÇáÆ¡„œýÎ!Ö”áœÇçSËñˆÛ¨Ò½<üè"¦1¥Ž#lâèÔƒ÷u ÇŒÒÈî­Ge(?ÔþÄßÿ4‹=endstream endobj 6 0 obj 1141 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:14+01:00 2016-01-27T08:26:14+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001465 00000 n 0000003276 00000 n 0000001406 00000 n 0000001246 00000 n 0000000015 00000 n 0000001226 00000 n 0000001530 00000 n 0000001705 00000 n 0000001640 00000 n 0000001571 00000 n 0000001601 00000 n 0000001787 00000 n 0000001853 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<2AF304598C7AE8128F6F4E1530173878><2AF304598C7AE8128F6F4E1530173878>] >> startxref 3430 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_LASTSOCKET.html0000644000175000017500000000527712652070415016730 00000000000000 CURLINFO_LASTSOCKET man page

NAME

CURLINFO_LASTSOCKET - get the last socket used

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_LASTSOCKET, long *socket);

DESCRIPTION

Deprecated since 7.45.0. Use CURLINFO_ACTIVESOCKET instead.

Pass a pointer to a long to receive the last socket used by this curl session. If the socket is no longer valid, -1 is returned. When you finish working with the socket, you must call curl_easy_cleanup() as usual and let libcurl close the socket and cleanup other resources associated with the handle. This is typically used in combination with CURLOPT_CONNECT_ONLY.

NOTE: this API is deprecated since it is not working on win64 where the SOCKET type is 64 bits large while its 'long' is 32 bits. Use the CURLINFO_ACTIVESOCKET instead, if possible.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.15.2

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3), CURLINFO_ACTIVESOCKET

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.html0000644000175000017500000000364112652070415017706 00000000000000 CURLINFO_RTSP_CLIENT_CSEQ man page

NAME

CURLINFO_RTSP_CLIENT_CSEQ - get the next RTSP client CSeq

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CLIENT_CSEQ, long *cseq);

DESCRIPTION

Pass a pointer to a long to receive the next CSeq that will be used by the application.

PROTOCOLS

RTSP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TCP_NODELAY.30000644000175000017500000000441312626067776016172 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_NODELAY 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_NODELAY \- set the TCP_NODELAY option .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_NODELAY, long nodelay); .SH DESCRIPTION Pass a long specifying whether the TCP_NODELAY option is to be set or cleared (1 = set, 0 = clear). The option is cleared by default. This will have no effect after the connection has been established. Setting this option will disable TCP's Nagle algorithm. The purpose of this algorithm is to try to minimize the number of small packets on the network (where "small packets" means TCP segments less than the Maximum Segment Size (MSS) for the network). Maximizing the amount of data sent per TCP segment is good because it amortizes the overhead of the send. However, in some cases small segments may need to be sent without delay. This is less efficient than sending larger amounts of data at a time, and can contribute to congestion on the network if overdone. .SH DEFAULT 0 .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_SOCKOPTFUNCTION "(3), " CURLOPT_TCP_KEEPALIVE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_WRITEDATA.30000644000175000017500000000517712626067776015725 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_WRITEDATA 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_WRITEDATA \- custom pointer passed to the write callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WRITEDATA, void *pointer); .SH DESCRIPTION A data \fIpointer\fP to pass to the write callback. If you use the \fICURLOPT_WRITEFUNCTION(3)\fP option, this is the pointer you'll get in that callback's 4th argument. If you don't use a write callback, you must make \fIpointer\fP a 'FILE *' (cast to 'void *') as libcurl will pass this to \fIfwrite(3)\fP when writing data. The internal \fICURLOPT_WRITEFUNCTION(3)\fP will write the data to the FILE * given with this option, or to stdout if this option hasn't been set. If you're using libcurl as a win32 DLL, you \fBMUST\fP use the \fICURLOPT_WRITEFUNCTION(3)\fP if you set this option or you will experience crashes. .SH DEFAULT By default, this is a FILE * to stdout. .SH PROTOCOLS Used for all protocols. .SH EXAMPLE A common technique is to use the write callback to store the incoming data into a dynamically growing allocated buffer, and then this \fICURLOPT_WRITEDATA(3)\fP is used to point to a struct or the buffer to store data in. Like in the getinmemory example: http://curl.haxx.se/libcurl/c/getinmemory.html .SH AVAILABILITY Available in all libcurl versions. This option was formerly known as \fICURLOPT_FILE\fP, the name \fICURLOPT_WRITEDATA(3)\fP was introduced in 7.9.7. .SH RETURN VALUE This will return CURLE_OK. .SH "SEE ALSO" .BR CURLOPT_WRITEFUNCTION "(3), " CURLOPT_READDATA "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.30000644000175000017500000001032212626067776016700 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KEYFUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_KEYFUNCTION \- callback for known host matching logic .SH SYNOPSIS .nf #include enum curl_khstat { CURLKHSTAT_FINE_ADD_TO_FILE, CURLKHSTAT_FINE, CURLKHSTAT_REJECT, /* reject the connection, return an error */ CURLKHSTAT_DEFER, /* do not accept it, but we can't answer right now so this causes a CURLE_DEFER error but otherwise the connection will be left intact etc */ }; enum curl_khmatch { CURLKHMATCH_OK, /* match */ CURLKHMATCH_MISMATCH, /* host found, key mismatch! */ CURLKHMATCH_MISSING, /* no matching host/key found */ }; struct curl_khkey { const char *key; /* points to a zero-terminated string encoded with base64 if len is zero, otherwise to the "raw" data */ size_t len; enum curl_khtype keytype; }; int ssh_keycallback(CURL *easy, const struct curl_khkey *knownkey, const struct curl_khkey *foundkey, enum curl_khmatch, void *clientp); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KEYFUNCTION, ssh_keycallback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. It gets called when the known_host matching has been done, to allow the application to act and decide for libcurl how to proceed. The callback will only be called if \fICURLOPT_SSH_KNOWNHOSTS(3)\fP is also set. This callback function gets passed the CURL handle, the key from the known_hosts file \fIknownkey\fP, the key from the remote site \fIfoundkey\fP, info from libcurl on the matching status and a custom pointer (set with \fICURLOPT_SSH_KEYDATA(3)\fP). It MUST return one of the following return codes to tell libcurl how to act: .IP CURLKHSTAT_FINE_ADD_TO_FILE The host+key is accepted and libcurl will append it to the known_hosts file before continuing with the connection. This will also add the host+key combo to the known_host pool kept in memory if it wasn't already present there. The adding of data to the file is done by completely replacing the file with a new copy, so the permissions of the file must allow this. .IP CURLKHSTAT_FINE The host+key is accepted libcurl will continue with the connection. This will also add the host+key combo to the known_host pool kept in memory if it wasn't already present there. .IP CURLKHSTAT_REJECT The host+key is rejected. libcurl will deny the connection to continue and it will be closed. .IP CURLKHSTAT_DEFER The host+key is rejected, but the SSH connection is asked to be kept alive. This feature could be used when the app wants to somehow return back and act on the host+key situation and then retry without needing the overhead of setting it up from scratch again. .SH DEFAULT NULL .SH PROTOCOLS SFTP and SCP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.6 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SSH_KEYDATA "(3), " CURLOPT_SSH_KNOWNHOSTS "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_TIMERDATA.pdf0000644000175000017500000000732012652070452016407 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœU펣6ýÏSXê%«‰ÇŒ±ZUÊfX);LHgÛÕL%$3¡%! £}¨¾c¯Á|äcº+¤ Ø×¾çž{Ïá+"˜"¢ýŽvÆí”£—Ì èÅøjÐréW´C$xjA>ÕЏ…¸°±'Üæp> ‰\Èу?½ëÉ¿Œ>Å”"‚cÛ#êœ\«U V_ s Ñ@ÅC=Ì(±ªfaW0ôh>™öSEÅ1YìŠ$Ù&Oy¯o9 ™ð'N÷:Gð§üÔB°-Š…ó㪴e¢… ¸  +`ÏFßa.¶Ô·Ý2~ܹˆa&l}σ¯Ö[ö,‚ÂQŸZåöÓÖ`µ0S›PiÑþµÙ! 9EÊ2‹,OwèÆû|sDyŠË,Sï<ÞÁB´L’Õ2ú»Ú­‘º. ¬‹½2ÏìË8œÌF³Óš€‚ºžŸâ}”ë úEuìVýàí¯%nÉ@¥qÑÒ§j½ß.÷ëdssÑÑw~ ×_öSstÚÑ›Ž”Óá'×车ç©÷ó%¶Ë1àoy¸ógÃéh"Gḓï*#ƒuÛs*„Ƴ̗m¦RX¦nWã9cÚÆn[Q·“ÛÍY7Š^ã|«öª[(©3¹6&Z g#øq>ª²šùïŸìÕs]©—ksT¬Z œbKíÊmœ5s÷' Ú§9ZÔ´ˆ¶›5Z}CI¼R“€V=ªôl ³È«ØtŸ|SÁªFˆ÷× ÍÞ•RW D-q3;¥–c"”ŠËÍG Ù±lóPï(TÝcYuìò؃9"”»æKѯ\Å¡ >.šï6û_›“‘ù¨í„9^©`ˆ£N#ï¹Ö>w¨LÄrm®wÙ Q ®¢œseBÇxß1™jŽíé™´\®«í[˜0Qj"”(lrZ6ôÔ­[? ƒ3Øp´@Iòþƒ‡Iàk0Ô{S?²…AmL™qj¾˜ç]1g¡"›lŠV§rˆÏLJ¸ŒÖjƒ£`$¿œO=Ø<äÐx*Ǭ×ÕDr,&ÿ_ë£9õå|:FŸ{Ôv°p©9æþÙØµ%Cü&/Žõ'mÞ£ø¹üJtD•‡CzÌ7ëf©çãûqØS)<昿aéPê4èë„o¶dæûhÌÂSétZqÝ).M‚±îGôæÌå\ì¶.×\9 ‡÷¾|ëNO}jÏïôTåêÛÅnÅ\í&ðéÍ÷ú”1á`fRŽ>{dê”48Í4Su•/ßàùH[8„endstream endobj 6 0 obj 979 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:34+01:00 2016-01-27T08:26:34+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001302 00000 n 0000003185 00000 n 0000001243 00000 n 0000001083 00000 n 0000000015 00000 n 0000001064 00000 n 0000001367 00000 n 0000001621 00000 n 0000001556 00000 n 0000001488 00000 n 0000001408 00000 n 0000001438 00000 n 0000001703 00000 n 0000001762 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3339 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.30000644000175000017500000000361512626067776016526 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SIZE_DOWNLOAD 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SIZE_DOWNLOAD \- get the number of downloaded bytes .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SIZE_DOWNLOAD, double *dlp); .SH DESCRIPTION Pass a pointer to a double to receive the total amount of bytes that were downloaded. The amount is only for the latest transfer and will be reset again for each new transfer. This counts actual payload data, what's also commonly called body. All meta and header data are excluded and will not be counted in this number. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.4.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.html0000644000175000017500000000560112652070414020075 00000000000000 CURLOPT_CLOSESOCKETFUNCTION man page

NAME

CURLOPT_CLOSESOCKETFUNCTION - callback to socket close replacement function

SYNOPSIS

#include <curl/curl.h>

int closesocket_callback(void *clientp, curl_socket_t item);

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CLOSESOCKETFUNCTION, closesocket_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

This callback function gets called by libcurl instead of the close(3) or closesocket(3) call when sockets are closed (not for any other file descriptors). This is pretty much the reverse to the CURLOPT_OPENSOCKETFUNCTION option. Return 0 to signal success and 1 if there was an error.

The clientp pointer is set with CURLOPT_CLOSESOCKETDATA. item is the socket libcurl wants to be closed.

DEFAULT

By default libcurl uses the standard socket close function.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.21.7

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_CLOSESOCKETDATA, CURLOPT_OPENSOCKETFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_NOPROXY.pdf0000644000175000017500000001010712652070436016135 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VÛnÛF}×W ЇR´á.¯Û”DAœÈ¢+Si »je± H…¤ª¤ß_é?vv—WÛmZ°¤½Í™3g.ŸÀ$LùWƇÑó•÷åÈ„ûѧU›PÄxâ_.„»‘¾CÁcàq‹øÂÃÈx¹^-‚«p³ ®Vãð÷ÑÔ$6„ñÈs‰o™òN¸Á¹gÊ jÓâ¾Þð¡„çÑ­qsgXwcˆOEºQùeSŠ*?Vã)sLbRÇÀIž•0°ø[ø¶5iÙ6aß²XÛ©¡2Êå‰ç+ŽNîH?§¶Í e0µ\ua9ë^rˆÃ­ú¡Ë¹\ïøaÃô`ŠWåöÿ!†ç  m[ÃŒß5™Þ1%aFRFSÇ"ÿüN¥€]^@yqò5†}^V¥†×÷Œ¢gž…ƒ²q}ƒð®/®‡ž ãß%Yœž¶~’y.ÿ‘ýÏ 3z³ÐnÆ9x¸;µÏöQ¶MÅd¶ï[:˜K slLq…?â9ò•ã7ˆû±\ÎûÄ죞e¹"ænüãc,æ×í±ðj~ýruq^Ë:RÔѲx‚‘«¨5Ή_#Gg\¥c£,!‚cžd•( ÊñÇŸ¢È’,ªÄʪH²{á^Ôß!F]'1Èwx!·JqŒ u!Å-¹#ƒ Yt%Tû¨RP„:ˆnIÛ²¼‚B|:%…€”JνËQ¼Û ˆ·Ôµ‰å5êûCmZè—«]e>÷m½ykdÉØ²]Lfìr•„Z¦1mÆÚS’²Ö¤Ø’ñÔáxÇg†t=ÏÒ/pNÒm[ˆšLf‹Êy·ÁÒ§œv8Œ$U9HÎK$¿?S>YŽC8í‚£(¢ƒ 2m¥/Ë%¬Ë·É¹S#žËi[G—ÊJâ=¢ ÙC‹iªÓl¨p;y›2éA#爫dȱGÚȵæØ|įÌlu~ËP×I>€îcjØnó™wÐ)qfã¬I†ï MJJø©@ÚU‘˜2N F¾f‹¢ ´ŽD‚Ö $w›"|ã¬@µVøKC“HÀòÓ_€¤*Eº#ðZU îÛ©* ÔU/‰1&±Im×ø޲TàŠM8wh½B0#à¬B1i=·©žù)U5rjSYú½^&xŽ6 ¼7ÁëÍåü2ãB3!QŸ°¶ Ý$c]Õë@”P:”n LåƒËàúFT"Iåi7fuIø'"«`/¢#6«(¤¦a0:yȹÓæs˜-®ƒŽç"ižáøç"“]N©M¿{mOŽ©¼‘„_'C«T4mýøï†QƒthO×SÖ Ö}QšÝûá›j´ezˆçv,ù8lZ¶CÜ^8Ò䣜Q¦–GÌñ”:·‰cà(þö”ÃV ø·Ûì¦ò½y8úÿþ¥4ëendstream endobj 6 0 obj 1445 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:22+01:00 2016-01-27T08:26:22+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001769 00000 n 0000003580 00000 n 0000001710 00000 n 0000001550 00000 n 0000000015 00000 n 0000001530 00000 n 0000001834 00000 n 0000002009 00000 n 0000001944 00000 n 0000001875 00000 n 0000001905 00000 n 0000002091 00000 n 0000002157 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<9A57C6255C156C5C6F7A42519AA29947><9A57C6255C156C5C6F7A42519AA29947>] >> startxref 3734 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.html0000644000175000017500000001054312652070415017565 00000000000000 CURLOPT_PROGRESSFUNCTION man page

NAME

CURLOPT_PROGRESSFUNCTION - callback to progress meter function

SYNOPSIS

#include <curl/curl.h>

int progress_callback(void *clientp,   double dltotal,   double dlnow,   double ultotal,   double ulnow);

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROGRESSFUNCTION, progress_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

We encourage users to use the newer CURLOPT_XFERINFOFUNCTION instead, if you can.

This function gets called by libcurl instead of its internal equivalent with a frequent interval. While data is being transferred it will be called very frequently, and during slow periods like when nothing is being transferred it can slow down to about one call per second.

clientp is the pointer set with CURLOPT_PROGRESSDATA, it is not used by libcurl but is only passed along from the application to the callback.

The callback gets told how much data libcurl will transfer and has transferred, in number of bytes. dltotal is the total number of bytes libcurl expects to download in this transfer. dlnow is the number of bytes downloaded so far. ultotal is the total number of bytes libcurl expects to upload in this transfer. ulnow is the number of bytes uploaded so far.

Unknown/unused argument values passed to the callback will be set to zero (like if you only download data, the upload size will remain 0). Many times the callback will be called one or more times first, before it knows the data sizes so a program must be made to handle that.

Returning a non-zero value from this callback will cause libcurl to abort the transfer and return CURLE_ABORTED_BY_CALLBACK.

If you transfer data with the multi interface, this function will not be called during periods of idleness unless you call the appropriate libcurl function that performs transfers.

CURLOPT_NOPROGRESS must be set to 0 to make this function actually get called.

DEFAULT

By default, libcurl has an internal progress meter. That's rarely wanted by users.

PROTOCOLS

All

EXAMPLE

http://curl.haxx.se/libcurl/c/progressfunc.html

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK.

SEE ALSO

CURLOPT_VERBOSE, CURLOPT_NOPROGRESS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYHEADER.html0000644000175000017500000000535312652070415016750 00000000000000 CURLOPT_PROXYHEADER man page

NAME

CURLOPT_PROXYHEADER - custom HTTP headers to pass to proxy

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYHEADER,
                          struct curl_slist *headers);

DESCRIPTION

Pass a pointer to a linked list of HTTP headers to pass in your HTTP request sent to a proxy. The rules for this list is identical to the CURLOPT_HTTPHEADER option's.

The headers set with this option is only ever used in requests sent to a proxy - when there's also a request sent to a host.

The first line in a request (containing the method, usually a GET or POST) is NOT a header and cannot be replaced using this option. Only the lines following the request-line are headers. Adding this method line in this list of headers will only cause your request to send an invalid header.

Pass a NULL to this to reset back to no custom headers.

DEFAULT

NULL

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.37.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_HEADEROPT, CURLOPT_HTTPHEADER

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PATH_AS_IS.30000644000175000017500000000451512626067776016106 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PATH_AS_IS 3 "17 Jun 2014" "libcurl 7.42.0" "curl_easy_setopt options" .SH NAME CURLOPT_PATH_AS_IS \- do not handle dot dot sequences .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PATH_AS_IS, long leaveit); .SH DESCRIPTION By setting the long \fIleaveit\fP to 1, to explicitly tell libcurl to not alter the given path before passing it on to the server. This tells libcurl to NOT squash sequences of "/../" or "/./" that may exist in the URL's path part and that is supposed to be removed according to RFC 3986 section 5.2.4. Some server implementations are known to (erroneously) require the dot dot sequences to remain in the path and some clients want to pass these on in order to try out server implementations. By default libcurl will merge such sequences before using the path. .SH DEFAULT 0 .SH PROTOCOLS All .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/../../etc/password"); curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, 1L); curl_easy_perform(curl); } .fi .SH AVAILABILITY Aded in 7.42.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_FILETIME.html0000644000175000017500000000472612652070415016450 00000000000000 CURLINFO_FILETIME man page

NAME

CURLINFO_FILETIME - get the remote time of the retrieved document

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FILETIME, long *timep);

DESCRIPTION

Pass a pointer to a long to receive the remote time of the retrieved document (in number of seconds since 1 jan 1970 in the GMT/UTC time zone). If you get -1, it can be because of many reasons (it might be unknown, the server might hide it or the server doesn't support the command that tells document time etc) and the time of the document is unknown.

Note that you must tell the server to collect this information before the transfer is made, by using the CURLOPT_FILETIME option to curl_easy_setopt(3) or you will unconditionally get a -1 back.

PROTOCOLS

HTTP(S), FTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.5

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_NETRC_FILE.html0000644000175000017500000000451412652070415016626 00000000000000 CURLOPT_NETRC_FILE man page

NAME

CURLOPT_NETRC_FILE - file name to read .netrc info from

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC_FILE, char *file);

DESCRIPTION

Pass a char * as parameter, pointing to a zero terminated string containing the full path name to the file you want libcurl to use as .netrc file. If this option is omitted, and CURLOPT_NETRC is set, libcurl will attempt to find a .netrc file in the current user's home directory.

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.10.9

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_NETRC, CURLOPT_USERNAME

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.30000644000175000017500000000420712626067776016214 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_SSL_CCC 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_SSL_CCC \- switch off SSL again with FTP after auth .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SSL_CCC, long how); .SH DESCRIPTION If enabled, this option makes libcurl use CCC (Clear Command Channel). It shuts down the SSL/TLS layer after authenticating. The rest of the control channel communication will be unencrypted. This allows NAT routers to follow the FTP transaction. Pass a long using one of the values below .IP CURLFTPSSL_CCC_NONE Don't attempt to use CCC. .IP CURLFTPSSL_CCC_PASSIVE Do not initiate the shutdown, but wait for the server to do it. Do not send a reply. .IP CURLFTPSSL_CCC_ACTIVE Initiate the shutdown and wait for a reply. .SH DEFAULT CURLFTPSSL_CCC_NONE .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.16.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_USE_SSL "(3), " CURLOPT_FTPSSLAUTH "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTFIELDS.pdf0000644000175000017500000001333312652070437016440 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•XënÛ8þï§àfT"Z$uíì,ÐMS47É&*°ÙfP(2]kbKª.u=ƒyƒy•yÇ=‡¤.vh‰ä¹|ç|ç£>‡2âàùn&³Û€|ª'ù4ù‰·“ÖùûÛùõMüñæú.~sy1}÷`‰‡)IÛjýQ&õîc-›¢l¦6÷ê8dE^“gvNŒ˜Øå L¥àIžÐÈCgÐè|b]½š¾çá-ó¨ p0^L¬wÓø§‘ëÜ¡®›q|í<ç/ùÔ¥L³åŽ,’&!MAð%þ®eõeÊ •í»û«ë›»Ë»}ÔeÝú{–§ëv!É?033ü‡®þ‰Ë¹«‚BÇÒfîA½"§«$_¬åÙ‘¼‘t•Tä´,êCx˜~ ú?Þ¾¾¸;¿½¼‰/¯¯ÐÈ6ót²x~“à•žN6œ‹¯·«®Ib쓤&eR%Ù@Æ`“ .®‚u JgeS§0ýâƒUdy“åŸ0ñÍJ’e»^÷ˆÔ2_,SoãøFT”²J°–(¹Ÿ28ÌaVÑ’M[7d“<)È„P…ƶTѺ< ^Äî3]u[I04ʾ2ÕdYT›¤iäB=ÝN#Eç[ÉŽìÀÜèA®7šªw8‡ÒA÷+™Ê¬«lkî”û¢K§«°¾H’ ri œ¨[cµJÖÙ#Ö Ùf¤¼hHZä{P†.äÞ5¹…SGò0 ;4ª†‘¹ª¼¬QGˆÀ£>älÜ8dA…‹(Kœ*;£\8Ývì»Ï"ã;$k´'¤ÁÈúf\.sx_à™J¤ëk²)±üòÑdÙ…Üó³¼<’ºn7=„€]‡!¤ÊÖA.¨†!„c=bcó-&Œ:«ÂŒ;àK¬FļÀýW׺œ=\†~†ð_㜎cf\tÕV”ð¸S.`URí^b$ˆV-?·àD”5ºf%)+©âÂ\‰ˆ&¯èŸPþ ¦Éz Ý¢ó9P;”´ï…º¤“²\g©êÒB{­Õ^ÈS‘f‰Š¯Jòz ùû-ÏꕬéÔö|†Ž¹€Èå*™rdnîZ_²¢­Àr޾BÏçŸà„«.úz\²†èJÝ|P‹!æÅeŒúœwEÒì1€º"YuýÉÇý©âÖ´†±)j–Ыg·Ì1œ„4 ûRìhòüúæþpÄì‘4s} ˆ3E(ÊÎ=ʃ®F°±H‹Í¦È×;õþ6~7W$XSr®0ßwT„:Ý,òÞÓmÖ¬@²EäõµÚㄼþöâÕë‹Ûcq ³ž0Tøæ‘AÇz_›fÙâlØ“ÿszãÀCÃNPdÀ8™¬N gê·g9­›–Ë À èmîOô…eÝš\„¨ž€eq¶#váЖA—çW#²9"uyD=§/êAQÈ:MJyÌSŒ]‡é Œ‰´_)RªZ’FY]•í;íF”uiù`ÑË©>ð³­t!õƒžeÓV9væZ5(!Ó.šØ`|»l_ÃYuSi€–1\T£Aµ&‡X1Hf7?­Nh4(£˜\P•îÐ÷‚+2µ.—fàcà°Kx}› 0ŒbŸeUØ»F*®Ðã/䑆Õ묞íÆ|Öz2j!ÛzG„æEÔ ;Ž÷å/zœ<ð°~»üúŒ>@NË`ð:39¶!x* „~ä8ޝÑÁ®éiúÐép¤øþJGúCe^½ŸÏQ´œœŸpljÞƒyî:d)Ó&Û‹œæºê9=„ah’‡Y<®ažiQ—/°êŠ¥þn ¶žðA\3²ß7]¨b-ËëF&‹=­eõBÉHš¹V›jÊ(=ÒÖfè–„Ý8ý“ôéoª¹¨]£Šõ6$_­–‘w —©€/0Ž„œ\|…8š—jÇMˆµò„¬Àø_Ÿ›N„hät Ðû¡`=hû°S)^ Û Ó$PS4 F:E-ÖÖŽÍ à”¦rPø4êŠ7ÁñÖ&kj*A…b³ÆBϾ 5B]¸qA6}\ƒñ;>„Ë„¾ÍàR,!†‘›q6g`…Èœ ³7ƒ{Q3Ã)jÔeÝÔ¨žrûæ4ch«g8ŠÓ•LŸHÑ6G4±†üHJžA ¦FÔ·žûF>øj~Ž¡€Ùÿ˜åP¹GÀ‰É‡R#EÝŒ‹#V}TH'ä5­î_GŒ@Õ4ÕôAÉsN/‡ýæÕ{3Aá.`2 —§N‚Ïã‚Álý Ä 59¾ueïf|sk¼pEh=\ÔL 6§ˆ.fê:&×C±€½»ÊYç×óƒÏàv~ Ž ^àÈÅ^½»™|ѪXPÜòýè»A–g̓…_” TŸ²åƒ Dô/ÐÙ=q[xiÌ^Õæ÷äd|ë>ùnøHŸ~°¾ý> stream xœu’[Oã0…ßý+æm v|K)5ºHÜTAé"V-,¤UÅ¿ÇNSZ!?Xñsæ8ïÀQ«ß'srØXxn ‡gòNDW„~›ÌáÈAü_²¾#À¦`s‰Y~NŒ@iÀ¯È-=5U}áÇõП–®:ÞQy—Àdù1OÚÏq;]¼ý_$,Õ9·4|¼¼½¶ðËÍäÞŸ&PgøIp’'˜ëh&6­b‘«ØWP$ÂA˜r4Z¤Á¬"´¬Š£²*ýuâÿ}ŸF£TÌ‚0ÊŠY¬³M@ä˜÷×Wñ¼ãŠ`Åð ÷³]¿™bÚ¢Š & fQÅ×Ñ4Κ\%B*Ì E5rÝx[Ca¢—fºX~ô¹¸q}¾ß¨÷=èÐ9(ªa½•íðöó-oÜNRƇ\Ö¥ðº™íðb㊓ÓÑàØ—õ`¨Që= “iHÑ3B¡ŠÅ[:{yŒÿX”y„ֹBM……³å+¤\¨.+edÏK#ÊyrÖŠoª endstream endobj 15 0 obj 398 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:23+01:00 2016-01-27T08:26:23+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003185 00000 n 0000005144 00000 n 0000003119 00000 n 0000002797 00000 n 0000000015 00000 n 0000002287 00000 n 0000003250 00000 n 0000003573 00000 n 0000003508 00000 n 0000003440 00000 n 0000003291 00000 n 0000003321 00000 n 0000002957 00000 n 0000002307 00000 n 0000002777 00000 n 0000003371 00000 n 0000003401 00000 n 0000003655 00000 n 0000003721 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 5298 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.30000644000175000017500000000412612626067776016757 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FNMATCH_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FNMATCH_FUNCTION \- wildcard matching function callback .SH SYNOPSIS .nf #include int fnmatch_callback(void *ptr, const char *pattern, const char *string); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FNMATCH_FUNCTION, fnmatch_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This callback is used for wildcard matching. Return \fICURL_FNMATCHFUNC_MATCH\fP if pattern matches the string, \fICURL_FNMATCHFUNC_NOMATCH\fP if not or \fICURL_FNMATCHFUNC_FAIL\fP if an error occurred. .SH DEFAULT NULL == an internal function for wildcard matching. .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.21.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_FNMATCH_DATA "(3), " CURLOPT_DEBUGFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.30000644000175000017500000000715112626067776016433 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_WRITEFUNCTION 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_WRITEFUNCTION \- set callback for writing received data .SH SYNOPSIS .nf #include size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WRITEFUNCTION, write_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This callback function gets called by libcurl as soon as there is data received that needs to be saved. \fIptr\fP points to the delivered data, and the size of that data is \fIsize\fP multiplied with \fInmemb\fP. The callback function will be passed as much data as possible in all invokes, but you must not make any assumptions. It may be one byte, it may be thousands. The maximum amount of body data that will be passed to the write callback is defined in the curl.h header file: \fICURL_MAX_WRITE_SIZE\fP (the usual default is 16K). If \fICURLOPT_HEADER(3)\fP is enabled, which makes header data get passed to the write callback, you can get up to \fICURL_MAX_HTTP_HEADER\fP bytes of header data passed into it. This usually means 100K. This function may be called with zero bytes data if the transferred file is empty. The data passed to this function will not be zero terminated! Set the \fIuserdata\fP argument with the \fICURLOPT_WRITEDATA(3)\fP option. Your callback should return the number of bytes actually taken care of. If that amount differs from the amount passed to your callback function, it'll signal an error condition to the library. This will cause the transfer to get aborted and the libcurl function used will return \fICURLE_WRITE_ERROR\fP. If your callback function returns CURL_WRITEFUNC_PAUSE it will cause this transfer to become paused. See \fIcurl_easy_pause(3)\fP for further details. Set this option to NULL to get the internal default function used instead of your callback. The internal default function will write the data to the FILE * given with \fICURLOPT_WRITEDATA(3)\fP. .SH DEFAULT libcurl will use 'fwrite' as a callback by default. .SH PROTOCOLS For all protocols .SH AVAILABILITY Support for the CURL_WRITEFUNC_PAUSE return code was added in version 7.18.0. .SH RETURN VALUE This will return CURLE_OK. .SH EXAMPLE A common technique is to use this callback to store the incoming data into a dynamically growing allocated buffer. Like in the getinmemory example: http://curl.haxx.se/libcurl/c/getinmemory.html .SH "SEE ALSO" .BR CURLOPT_WRITEDATA "(3), " CURLOPT_READFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FAILONERROR.30000644000175000017500000000437112626067776016156 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FAILONERROR 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FAILONERROR \- request failure on HTTP response >= 400 .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FAILONERROR, long fail); .SH DESCRIPTION A long parameter set to 1 tells the library to fail the request if the HTTP code returned is equal to or larger than 400. The default action would be to return the page normally, ignoring that code. This method is not fail-safe and there are occasions where non-successful response codes will slip through, especially when authentication is involved (response codes 401 and 407). You might get some amounts of headers transferred before this situation is detected, like when a "100-continue" is received as a response to a POST/PUT and a 401 or 407 is received immediately afterwards. When this option is used and an error is detected, it will cause the connection to get closed. .SH DEFAULT 0, do not fail on error .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Along with HTTP .SH RETURN VALUE Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_HTTP200ALIASES "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.pdf0000644000175000017500000001423312652070427017046 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœÅXÛnãÖ}×W ¡ö ïL‹ÎXÓ8-E¦“<…AS´ÅD"=$5÷ú+ýÇ®}.¼ÈJ Å3#ñp_×^{}f6̦?úßl7ùv²çfb³çÉ牙þ'Û±ïˆè‹äi¢Þ,tX»<ŠY²›Ü[ïïVóÅ2yxw›LEÄmá kq½šý4ýGòãDÁc/&ë‰ërW°ä€·îf·É'Ëý4eÙ¾Þ>äióúÐämõÒNÏßæ¶ZøPTeÃFȦÁP¤lÞk_1#ßõ{Ãòä¹Í@3ä# ©œ»±Ï]—»Ù°n.¦É¯(Î Ÿû±«l[×3ú¾/csÏÙ¹pè±­Rùƒ ƒbÿFªM[íXÓÖEùÌžªšÕùç}Þ´2Ö£¸ x$ã¸ýx³XÞ^ÝŽ£‘Gd$ÖŸŠ2Ûî×9û •ó[ú‹oþJÇ%óIòNÅ™U8s\ñOò{·IËõ6?×[„ÈÁõN$¤ZÁ}ªš‹Ê¦jgYW͘{nyúÁ&­Ù;ò§éŸU6ã¤.ëk¿œÝ¾_]-“«Å F;…¯ºy¢Ëtà7ò >š†¥ì¥*Ê6¯Y[áÃ?óºbø´+Ê´Íצ!iÃ^Ò:Ýåx4õ}4Ò ,®p$ žS1Ñwî“ÇÃÄúe“—ìµÚ³ µ{ÎY»ÉMKÌlª5{|e¨r û}ºršâ˜ÛA`‚|SóØutÍQÉÙƒ¹ôÑ•ÀQ–(69b2m* ®Ï(HY@‡m'êj¶®ÊoèÊu$þ#*±êWÛAø~ç#Âì¬Ý§Ûí«ISS.½Òäû±6vØöƤ7=ÀVñH€dù&õØÃˆzS_ò‘é˜;Q‡+´¸šâwâÀªSYéÇÁyÇTÁ6¬(ÑíÅVÈu¹»3ÏC¹½ «^7„j00ÒÙ~›ÖG½>cEËÅv˪rû*½8®‡†#ư`Ie ›¼l)ÄŒ8™¡é]áCUç&‰æ¯®ó'‰;t­t¿m€ÃÁBF}s7Ÿ+[ }¥ˆ•ei‰ª³}ƒ ´¼äYñô:ôþÝô›‰šÅùÄú!I–øìA¨¦àªlÚ<]³ê‰ým–0ÐÚ³‹Kv áxÉkðÜŽ¢¡÷ÙcJÞ´ù†3OÑ Š 8!¢§ýöŒr„*"É¿" û TqÓÝ q‘ëÀwª¼_Îæ³d6ªmgüÜÓSn}hÖ‡{Â60Q2ƒ!0ËúÁWéþ;Õ{ŒŒk cOÀ¼«6FGm°lõ kb'Y<â{œ Œwl;Ö¾¥Ö”]ŸRYmoÿ¼Á½\†Å㞣Zd|Ht6-ý èãO„Z‰<å=Ay;’ k`Ò«šážŒ„#Ôr¤XçP´ÙF±ìK]¡*tTÑŸ° ky<ÃD犟B‡AÇO÷–dÅ›Å÷‹Ë©§‰ðcÏ‚pß/„Èæ¡wêà¬5øÜ£Ø{b……‘èèŒlœ ~¹Àâ>x%V¡Öt!H·+aýÆz&Úš†žu®Öí×^xX®fóËÛ¾¼{‘I^D©¦ûmrŸ¹¹XÚÎQj4=8~£°Ñ|³0ÔD9±à´–õ]§¥¤È̆‰l]|ëõ¥‡1ûÂæ.Gy…‘bGË´Îúì—œz{ pôæ|5}uU>+’Y+†ÔtˆÒÔùË6Í5c"Šº_ç(߆¾/jVMtgJp¾T^´ße§"¸¸0éÏH†¶92pe^C” 1_Y2/‰ Ù[òžb¥Ï›V%㸰bЦíô-‹)o¨„.æ*f·¾fÃêŠnƒ…›~]e)Š1à!ÕÅZ S­q±ËÕ”€+Öp¬Ûáhý‡aöLO¿ ·¨èšlh Üý•@,Yµß®¡Ôš¦x$QQ•O—ÚG»ªÍASõ—© âÛ¾?¦k,Zª{JeàÚ67+Êâw}úö¼Q'؈‡Q§HÆlÔÝMyHn$tì’`ñ–1~w–…CÌ«;†ÑâN×å­BÎ:mSÎîÞ¦ƒ¡ŒÌ­k4Ä:/Ì`ØçE=[ÁG=ðÀ7˜AÁ–•¾ýˆà×£§býÚV¨2ôÁ¾Ü7P*s'sÀ%Ïvʼn~žéþ8¸Æy^‡Që÷„i¸´œa}kCZ‡IeX¢Vüh½| ƒ .#÷Ö s…áPò̯ÐBðÍÿ9=x…­Á#Ä¥Û0k” £¬HÞ]]_maÛolK“EÓìÉ;QÒY.–.Œ8Ap2ÀÕ,Y­Ñ '­õ<ü¯ô¡ÄߢŽåMÿ±°éHëÍ}Á¡5v4këX ƒ›‡úìxªøM]*„'5D°Û¶™Ñê6Æ>Û(4bÇ™½rù]­6Ô ¸«ùo$ï?æú‚âÚçýÆ"—õa ~ ½ºä`GZ–ä½ÅÅb)¯9µ¡öðw•{ëöšF:Ž¢áÀž/©³?¯>|O ½ðÿš;NÉœ°‹¼x§LÊŠmQš—ªÄÈ@Òt°8l ÔfpÓ#ÁB«õ×}™IÙCÂæ¨³J„Ç'·!¾­Ãë‹«ùÃêý²ß‰tKrúµ0IrÏsÆ‚\ßGàî!Ó4’Íþ¾¼é®mìꉰþF·8Î…FŸ F­‹¦ûµÄõÇ·w ÀI혮êÇ÷i‚L® (Ù÷v–tUB™È D¹TȆøFÈmð¸ïÇ÷-²÷%sºÕu?´ ²2K&?áÏ(Õendstream endobj 6 0 obj 2274 endobj 14 0 obj <> stream xœ}TÛnÛ8}×WÌÛR€ÍrHQ—G%QP·²åÊTwƒ´0\Gi¼hlײQôúÑ;”h9J‹…‰3çž¹|Á„}Ü{ýì½)#øÚx¾zß=lÁ½ÖÏpe( ¶?Ì£×å D¢Dñ8óìݳëªÌ‹¹Y^W ãcÌjdÅ´Ì>øŸÍ;y¢)Ñù°>¾-ëUósÙÔÇÝþè¥\ˆˆÑÇf·m`À`1eL@q‡y︞ÄZé pù¦LH½@«Ds¥`¬B›Én²[ßüë×A fíIŠÄ;`–Ví)Z-ö5—¡ŠÜinì©°‹ £(RŒQ¶a³*Ïmà+!!„'&W…8ƒMÓÑ0iþg"ÑÝp®`µ}€Å´ãš†„øÂ¹ìŸt:Ï3gÆÃb´&w—7ãPqtíÈn Wa»Ü—|Ab#{6ÛA+3ý饂‡Ï÷›äéÕ$Ÿ˜»a5¨uT@NOwÛ ›šÓ~¿;ëh6Ûu WÔÿ#˜[;οdÈEïÍ%0à‚ÿ{ݳ23U9ƒ>Rx"Kó*sÓñ»W!…t#ZÖÇÓÁ_¶,ÞÃæŽO5tc9P>rAÕìý¬ð-M"$û{¶¤±3›¹ÝG°;t;˜r9àÊ,‹Ûå4›¥ÿWßk´Idpñ»OK=ÛôÎw䈃ö¹gOõ¡†v$2ŒÙªÍ¶9=úÒ ’ûµÞÔÛ#<Õ«=4ûÕºæXQ±^Ô-² Ò|Q\|~Õ]çýdGìm–Þdå«êÓ°%®AÚÕ4BSØOÂe¡ÎŠ«âÆWíb ØÝ«Š%TýXào°cͽưÃû¶ùbw¬m—ˆ ŒZ'× #xwÚ‚´ØA¿N¤ÊŒ÷žÿŠˆv0endstream endobj 15 0 obj 774 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:15+01:00 2016-01-27T08:26:15+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003633 00000 n 0000005592 00000 n 0000003567 00000 n 0000003245 00000 n 0000000015 00000 n 0000002359 00000 n 0000003698 00000 n 0000004021 00000 n 0000003956 00000 n 0000003888 00000 n 0000003739 00000 n 0000003769 00000 n 0000003405 00000 n 0000002379 00000 n 0000003225 00000 n 0000003819 00000 n 0000003849 00000 n 0000004103 00000 n 0000004169 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 5746 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTREDIR.pdf0000644000175000017500000001112512652070440016326 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœWÛrãÆ}çWL9Tâ3ƒÁ%‰SEk¹±lZ”IÈŽKL© r´D¸(F•ÊøWü ¥•·T»”ˆ¹œîsútãñ(#þØÏåfp1 ɇzà‘ƒO¦û±ÜoXáÉãÀìa$ä$Œb’l¤\’d?¸s.og“éMr3'³ñ»«Ù —,wU~¯Òúù¾VM¹mÜ!—õ¼Ð?²²¨ÉëÝ'߆å .ZŽpÐX"d2p®Gîמ2Ie,^²8?ŽÝä?=àÜ£¾’!ãøØC´/Á’ßɺÄ}œJ}"—Ô7Þ9ûÆÐN™jPúFîS_Ä‘½rÙ² )ù.InžI*µÊ*µl ”ö!‹$|€ÐHožÿz=½™_ÍQCŒ±ó—¬X滕"Çd^àtý Ö׉Àh–%,8MöB?"gë´XåêüeªÏ!ƒìnÊËâyÈšMZ\¸{¼ÇzÈßç—³«›äjzK-& Y¯Dq“⼘FÒdŽQqÍH]CþìÕ¤)ɲ,šªÌ-+‚¸xñ"Ê›ö}ÞÉÌŠîP¦Í0#$]65Ô’W=6ªÒLÕ¤Y§ ù ¸_xìþ㤬àCÀ†z U::& bÞÄièké;éò#%#3 2jeâµ+¶i•n^¹Ïš5† +€"²pžpóʅ͉“æ;uH½®½$,™}Ž,Þkú4‘÷€Ú(Wê§ŸUAh·-ܦKW H¯‡3Ð8Užc>ɳ‡*­ž‘ÌäŒÌÞ_Bí }ÕG! e' ž‡ú„…SÃb¨kPŸr<ñÁ @ƒ¤(döH-LÄ4Œ-wΓêÉ„C.ý$ãqšªikìÓNÕÀfVÀ5ÿ÷¾Ù¯UAË'uyd«R'Á°l+·qù‡‡·ƒ"¯ÑDà$õè2ÏIwynbÎR‚Ç·”1—ÐZí¸†[ë¬n 96§¾;Âи½œSa·=Sò]Ç%…Tvì”{£q±Ý:ä:¬¸'¢ìVßÖªy¬mD‘½¡:†ë.VHq´ZQ•)"°Ö^€!Ù’®@ÁÏZ¸ B8E[ŸöeŒ¶ýÂèµÞ-×ðÍ‘¿éÖ%Á„ù±ÆxàÖ aÈòF¥Töã.‡V™? µån´Ë¼V¼aLYØ2Õï§“ÉÔ5Ãp~™L/G®ᯠrpD8Œu½2ð#h˜6ôå¼!ð>y4r¼·é–~dS³ÎG·&^Ä`CˆÖC&IÇÀ 3 Cáw“Š÷ކ›Y˸ˆ¬ñ ä4Ðë0ÁÓ„L”C ^Ðjêr:9™÷s (p–\8sHÙÛhÆÿýx39™ys×aÞ%gÚ¿éM‰Y‘ÁŒh'=\Ãdö¸pptìÿÁtØu„;çåt‰ß¦Jø8'_­›fû׋ åBîµþ›n¶¹¢ËróÞ„0skrvç\œaad9NëØlCû1ÛÈÙ…ÞaÁý<ãýÕxònHVi“~ÓT;¥ïýúøÖ×ða´µ£VÚÓö`«0uÝ ¯V0Èh°P8ÝÄÓ ÎÑQˆþ¢_ Ú9’à”^cL( þÒ/ ÌLìä•Þbì²UÕcYmZ*1üáá¶ÿÛ*‘QôâåêH]XI¾VÐèg3á¶þHÖŽlW“Ñ·W“«äד'¡¥GQ¦ŠLË­Vj…½$„Ò£ ûêÁŠöàö ?pÒš|, Ñ OÜwö`vÇo‹8Ëí¶È œ>Ïc_õn»-+ Qw!‘2Ò5:€G}‘P¤mïÆ4ޤˆ"=àåõh¯ó¿–´;g6Nng×äg— è’sF“Ûñ‰õJÖ«fWÙWáñýô’=jØwîÂ9×s´Yx{ýÃõÔŒ¿\ßOõkn„ûÏ:óñ˜Œ&óéñ Ö‡têêÖÐci¸Ñï|'^.ÁÂÚi ½þüd,†i.ðxoB:®ØõÀr&^7¨½púð6f ¶µRl7.t;ûT:,&ßï °†êwö«_bÆÉà'øùÔYv¨endstream endobj 6 0 obj 1872 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:24+01:00 2016-01-27T08:26:24+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002196 00000 n 0000004086 00000 n 0000002137 00000 n 0000001977 00000 n 0000000015 00000 n 0000001957 00000 n 0000002261 00000 n 0000002515 00000 n 0000002450 00000 n 0000002382 00000 n 0000002302 00000 n 0000002332 00000 n 0000002597 00000 n 0000002663 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<327E0F06D8D16B0F52E94BC0FFC1831F><327E0F06D8D16B0F52E94BC0FFC1831F>] >> startxref 4240 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_HEADEROPT.pdf0000644000175000017500000001052612652070432016273 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµWÛnÛF}×W,ЇRµÙ /»mQ@±D‰"©2 ì %ÚR#‹ŽHÅñ?ôWúÙ )ÉNÐ>|÷rfΙ3ÃÏ„QN~ÜïÙmçù4!7U‡‘›Îç7‰û5»%/2X ð‹ìºc÷p’’hI•&Ùm'8>›Ç“ìòUÚ?I§Ý쯎f4áLÀÚlÞ‰c’ÝwÎXuÈ‹.™m7«Ë"¯.«¢.ïênO„šj-øgY®+rpèŸÙëŽ cš„öÐæ(¼®Ç¨à€eP5@¥:B´½P&4ŒHOÆf˨‹®ã´tG½Mñû6JÁhÈÒã3 ý´*äƒüC ²( HA#sA(ilÏ?î뮈XPVf… {J+‡ XÏÉ«,›E‘Ï‹Meñì†"˜¤¡L1UfËéÇÑxr:8݇‘:ØÁOËõlµä7LösüA¿ãr’lØÉžÙ f%¬9äãÂ<"Ïùz¾*ŽÙÀèµH0úÝ hBø˜ŽVM¶š(Æüƒr}C®–õm^}ºèþú8T ¬±x'Ô“ôôx:˜dƒñȱÍ#KöaOòæZMUdïdTÉy ªŠäd…êE^“%þëÀòšxõÁŸÀ'$©Ä@hSÏ—aTJ`„ñ œï°ƒÔRó¹_Ö O*%Ù¢ õýþ±ŒSÇ>5·­BcÊyÈ݃m½ÍW«R˜Í\,µ{ôX®–{‰qÅ҃唻ؿ¤lÏOh,¤ÇjÃ6‡€ôi¶ Í7Å/-I˜m£ «„˳Ñàå =éþÜ ©JöYá€Ãy@ЫۛiÅ\d‚ÊÄ€ƒÔ¸<‘ꮘ-ÿ.æd¹¶sæOd‚&>ðF“P8Mc»4•>‹÷ËÕŠ\d[5‡ƒ7ĨY-§¡ÍÕ¦ø¼-ªº"W%0X—Pâ›/¸A!ÅÞÚ`9ð`üC±»MùuYÙï»!£Œ  êHͪ‹ëüjUÌŒnv£KUB„7™:n^b”‹ö)h³*¨–>«ÁÇo&Ü´³—‘uYÛThM!æùžª4 ªÐW”´qƒ¨ònü”±Dk”(†…–lvA•0Þ¾¾nÇ4ñ{峚*È4ìì¡_Í;Ù¦“n"тà?íwuGa¥¶S€áŠQruâå¸Sh \k_Ùù§.GÞÂ8(ªC†%ÿOŠ ‘x¹åÕn¥^®¡¨o {TźF™åÐpgÓCA^¶8E,4­‰²ÈÈ/@åö”àƒ1zEÊ0”Yyèd·c®<¥ W£øaS·ÛªÆ¢Á‡vvX’Ý4²$Ú¤%þS†ULɨ¬ çå×6æXá™>¢dëcëÝk¹hZWf:¾Ô;FéqF\õc{h‰ÙIkŒ[УÁà„—ð^ÃÓ­IœË+ì¯Ä[…½Þ˜Š!ÚŽVÀo“pï"mãx¿(Ö¶¬¸‚ÖÁ“Ö¯¤C?/—ÐÔ\¶Å(‹êÔÌ£Ô”·(<à9oJÿÁ<ãTÕèt¯H€‚z„M ¦¨Æœìcì A?i{×,QèìÞÖ¬©=u³¥+´ƒ”cä,:“Øax,ðÈÝæ¥KTšŠ„S·í½fžr<ѧ"–Þh†Y“È5Úr’$2ôÁ>òG… íý‘sÞH.‚Lt7¦û˜¡ŽHŽÝðqK‡š¿.7…É3¤ìqrwFk… •sU'N[=ÑÕ8#ã&˜7 o<<˜f!!"lB Ç'Æ] é‡þÛÉ0õK}sPÌZ\b‹³(NÆŽŠH©'Þ(4®lnCÆì¼ÐGÚ· 7ޏ/¬Á°ÿb0ddR •Ú{Íúó¹'§àïÇzLÓìl:"ïº0âåð ?ÿÍpÙendstream endobj 6 0 obj 1617 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:18+01:00 2016-01-27T08:26:18+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001941 00000 n 0000003831 00000 n 0000001882 00000 n 0000001722 00000 n 0000000015 00000 n 0000001702 00000 n 0000002006 00000 n 0000002260 00000 n 0000002195 00000 n 0000002127 00000 n 0000002047 00000 n 0000002077 00000 n 0000002342 00000 n 0000002408 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3985 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.30000644000175000017500000000522612626067776016436 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_STREAM_WEIGHT 3 "13 Sep 2015" "libcurl 7.46.0" "curl_easy_setopt options" .SH NAME CURLOPT_STREAM_WEIGHT \- set numerical stream weight .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_WEIGHT, long weight); .SH DESCRIPTION Set the long \fIweight\fP to a number between 1 and 256. When using HTTP/2, this option sets the individual weight for this particular stream used by the easy \fIhandle\fP. Setting and using weights only makes sense and is only usable when doing multiple streams over the same connections, which thus implies that you use \fICURLMOPT_PIPELINING(3)\fP. This option can be set during transfer and will then cause the updated weight info get sent to the server the next time a HTTP/2 frame is sent to the server. See section 5.3 of RFC 7540 for protocol details: https://httpwg.github.io/specs/rfc7540.html#StreamPriority Streams with the same parent should be allocated resources proportionally based on their weight. So if you have two streams going, stream A with weight 16 and stream B with weight 32, stream B will get two thirds (32/48) of the available bandwidth (assuming the server can send off the data equally for both streams). .SH DEFAULT If nothing is set, the HTTP/2 protocol itself will use its own default which is 16. .SH PROTOCOLS HTTP/2 .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.46.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_STREAM_DEPENDS "(3), " CURLOPT_STREAM_DEPENDS_E "(3), " .BR CURLOPT_PIPEWAIT "(3), " CURLMOPT_PIPELINING "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_MAIL_AUTH.pdf0000644000175000017500000001043112652070435016321 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…WínÛ6ýï§ °“ ›©o¬(à¦êÖ¶Éë4Ž0m·eRUù9,€3bõÄå7ŸÁòfzsAl×k¿¤yœ5Û„¼BÂ^â7ºÛ¹EÂÙ |!ÁÅì¹äôV,‘û(ßfÉð’UÛÆ†$ÞG%y Üê¿ý ñÛÉÍÕjº §ÁB‘ÏlÉýwÐ/£ŽsŸz¶dœQtZµª"9i^'%© øðOR>Ò<ª“-©ê2ÍïIT‘cTF‡–0¢E†ˆÔb¾¯¤¤a/1§.3üîFqß>­È)Í2r—¦‚ðpguLât÷H@½ EzÜ‚@ÎE5(qÉ­–nqý]ìÕÜÒ‘`CtŸ@ܨ&pï]‚‰”I=Ê‹£¼€ÛJR%åƒÎ  <ÛÒ =Û¦†á{JÔa–"zÙQÖÓA¢,+ô_ B8&— ã)[b=U$.FÅ1)!)¤òW$…%uÙTˆ5ÉuË€[]S{HË"?À„‡C“#É?#mÔ^©ÈaÔ➀ªzIómŠM~dòçx¾œMÚÚñþw˜‡=h ¦¦¹ö6P„Ùž÷G˜;»ÛW9ÎÆIÿ  ›µµ:ßLgÓðÓyr ¼½óšo· >ôKÑœëgm5 ׫ù¨3ÜÊaÚx¶ž\8JŸ²[dA¯’º)Õ»t² >¨1£æ1ÖxÕE Ót¨6­n*Süc± Ä£ O‚/ Á§e s|Æi*ð:Ü×›ùd¬`¦sª:¼»³èO©Ž/å]ý¤ ÁRºVWcž 9u~áH¨šÎÕ`û§ØNû$:‚AEqB¿óòc.pn?}¯N&d<» zžÏ{nÜàëb2óKㆠpPJ.lxxÖ§3°gÎ}QP’¦ù,Úˆ{\dÀ=›:팓öáRÓ…Š1Ûö-jkð?Äû&'à ¨V×h CMÂÁïðõw{óendstream endobj 6 0 obj 1556 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:21+01:00 2016-01-27T08:26:21+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001880 00000 n 0000003770 00000 n 0000001821 00000 n 0000001661 00000 n 0000000015 00000 n 0000001641 00000 n 0000001945 00000 n 0000002199 00000 n 0000002134 00000 n 0000002066 00000 n 0000001986 00000 n 0000002016 00000 n 0000002281 00000 n 0000002347 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<9921A07B20204CA4D3BEBAD1928EF08B><9921A07B20204CA4D3BEBAD1928EF08B>] >> startxref 3924 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_HEADER_SIZE.pdf0000644000175000017500000000676512652070454016651 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUmoÛ6þ®_qÀ>L*"–©bÃ5Ñ0¯ŽåZr·® Çfb ŠåJr‡ö?õ?îHɯqŠA€eñŽwÏóÜù (a@õÓ¿OÖëIEáÑúd1c„þµx‚79:Dz!°º= BBÉI$!²D@xù¿ÖGûz:F¿¦³ß’ø&™Ì²Á_ÉÍïXlër¦æÍ—Ù£j‹õC帞OíjÓÕº7:ç¿[.%Ã\ „" ‘¾FÃȇ–=Š=Z™O|Éa¾´ìÛÄÉÿ9ÂîQ"h.ó´™jÀñÂ7@ˆÐ_TP«¶.”…(˜oÒÈ€„~Ÿæ³±yÄX$ñ"‰Þ´\iS‡L;t«j¾TuÓa;"ƒrâ ÄÈ8fFé8d§4tOÁþ¡X/ÊíRÁÏZÝ×ú‡¬~1p„QFÓ[TèðLý;cƒW«ùzYª«‹ú_AY­á•Vbsçü„*Ÿ"6Pvho’ìz2çƒtt"ÖEäãù^I¢2MsØTźU5´~ø¯V UœÖkMY·‘nªùYA{PÕ ¤ì=Œ}…öª—ûÚÎËZ\]u5¹”FP]”ãRÓ …&p‹ênkµ„b ëíÓ=2À÷_ZÕçµæžO¼cõÆ“>­Ð£dÐ{N™‰ïz„úÒPHsH÷ > /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:36+01:00 2016-01-27T08:26:36+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001182 00000 n 0000002986 00000 n 0000001123 00000 n 0000000963 00000 n 0000000015 00000 n 0000000944 00000 n 0000001247 00000 n 0000001422 00000 n 0000001357 00000 n 0000001288 00000 n 0000001318 00000 n 0000001504 00000 n 0000001563 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3140 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.html0000644000175000017500000000517212652070415017132 00000000000000 CURLINFO_ACTIVESOCKET man page

NAME

CURLINFO_ACTIVESOCKET - get the active socket

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_ACTIVESOCKET,   curl_socket_t *socket);

DESCRIPTION

Pass a pointer to a curl_socket_t to receive the active socket used by this curl session. If the socket is no longer valid, CURL_SOCKET_BAD is returned. When you finish working with the socket, you must call curl_easy_cleanup(3) as usual on the easy handle and let libcurl close the socket and cleanup other resources associated with the handle. This is typically used in combination with CURLOPT_CONNECT_ONLY.

This option was added as a replacement for CURLINFO_LASTSOCKET since that one isn't working on all platforms.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.45.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3), CURLINFO_LASTSOCKET

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.pdf0000644000175000017500000000752212652070452020054 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}çW ЇRµÙåhQ@qØX Mª ¢B ©µÅ‚[$›æ#ú)ýÇÎ.¹ºÙV`Ø´³3gÎÙ9ãG „?ÃgVj¯ç.Ü7…{íQcò†¬„7 xâ‹äNëï0p p}“x>$¥öU¿¼™‡×ñ,Y]O>¯fÓYN£`Ñ»äj©›ËÑȦŒØÔ׳n[¬Ê®hóUÃÛú¡üÍëªÙEü8ןÉ{mL‰Á°z†à|G|[à3HBM&£Ÿ±%Ó8@}f÷ä?ÓÀ,1’~ŸxvO>#¾áBòMӛɕ $|ϘÈä1bø–?h†èND3ˆk»Ãé Å·¼(à–C×ð5¤ ´˜WÉ•–uWµB®ºk›yɱé#édKŒ™Ä§†ê‚J¬JÓ5duUñLO®ga |Ì{ÑÇ’=ô¦{”Ùž÷d-_Dîª fû:ù“}s”86S/nNÞLÃiòåDk›˜–ç;Òd½¾SKLJèù^¿êó ¹™GðqÄL‹øÓ'áM 7ès-c> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:33+01:00 2016-01-27T08:26:33+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001425 00000 n 0000003315 00000 n 0000001366 00000 n 0000001206 00000 n 0000000015 00000 n 0000001186 00000 n 0000001490 00000 n 0000001744 00000 n 0000001679 00000 n 0000001611 00000 n 0000001531 00000 n 0000001561 00000 n 0000001826 00000 n 0000001892 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3469 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.30000644000175000017500000000413612626067776016366 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYUSERPWD 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYUSERPWD \- user name and password to use for proxy authentication .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYUSERPWD, char *userpwd); .SH DESCRIPTION Pass a char * as parameter, which should be [user name]:[password] to use for the connection to the HTTP proxy. Both the name and the password will be URL decoded before use, so to include for example a colon in the user name you should encode it as %3A. (This is different to how \fICURLOPT_USERPWD(3)\fP is used - beware.) Use \fICURLOPT_PROXYAUTH(3)\fP to specify the authentication method. .SH DEFAULT This is NULL by default. .SH PROTOCOLS Used with all protocols that can use a proxy .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_PROXY "(3), " CURLOPT_PROXYTYPE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.html0000644000175000017500000000415212652070415020053 00000000000000 CURLOPT_PROXY_SERVICE_NAME man page

NAME

CURLOPT_PROXY_SERVICE_NAME - proxy service name

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_SERVICE_NAME, char *name);

DESCRIPTION

Pass a char * as parameter to a string holding the name of the service. The default service name is "HTTP". This option allows you to change it.

See above

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Added in 7.43.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_PROXY, CURLOPT_PROXYTYPE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_USE_SSL.html0000644000175000017500000000677512652070415016344 00000000000000 CURLOPT_USE_SSL man page

NAME

CURLOPT_USE_SSL - request using SSL / TLS for the transfer

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USE_SSL, long level);

DESCRIPTION

Pass a long using one of the values from below, to make libcurl use your desired level of SSL for the transfer.

These are all protocols that start out plain text and get "upgraded" to SSL using the STARTTLS command.

This is for enabling SSL/TLS when you use FTP, SMTP, POP3, IMAP etc.

CURLUSESSL_NONE

Don't attempt to use SSL.

CURLUSESSL_TRY

Try using SSL, proceed as normal otherwise.

CURLUSESSL_CONTROL

Require SSL for the control connection or fail with CURLE_USE_SSL_FAILED.

CURLUSESSL_ALL

Require SSL for all communication or fail with CURLE_USE_SSL_FAILED.

DEFAULT

CURLUSESSL_NONE

PROTOCOLS

FTP, SMTP, POP3, IMAP

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/dir/file.ext");
 
  /* require use of SSL for this, or fail */
  curl_easy_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_ALL);
 
  /* Perform the request */
  curl_easy_perform(curl);
}

AVAILABILITY

Added in 7.11.0. This option was known as CURLOPT_FTP_SSL up to 7.16.4, and the constants were known as CURLFTPSSL_*

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SSLVERSION, CURLOPT_SSL_OPTIONS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_IPRESOLVE.pdf0000644000175000017500000000731012652070434016327 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµVÛnã6}×W ÐzsI‰ºµEo¢b½«][I»H C•™Ø­,e-9?ªÿØ!EY–îö¥pÃÒðÌ™3‡C~F90õ1ßÙÆz;óá±²XŽk«œ´…RÙ†ŒÚ¹dH5Dª4tÛ¡bÂÐñôŠë‘ f*Ž»Ô ƒô)RÏ»*mFóaÈmõš5ÌOùpÆü Õ“ÌÖ{xY­³Œ§ð´-ë2+sxpAÃÀDn+, êv•Ô¥ô‰"Á!G•4ùçëÉt>ž÷IéMˆ|·.²|·”ð£’ñ­úGW?©p[@[É›†nVbÌ©Ò÷ú¼Y¥Å2—g:7u]@^°•U™c.‘÷ƒ¾Eü*š_ÎÆÓd<¹þWî£V™¼Èe»[\µh(p nÛ›çŽvHy&‘Þ$ß!ít+¿×mÀ¡ûåNl´øõýhÀ9'ItÍšJ^¸#WòÕ¶IºËë‹ÎpÍC•ñ¸ËX—ê|À|Çeš²/w[¨öU-7¶‚ºŠêÜ=»¾NøVœ°$³C«mªeCQ½ƒ¨wDÖ=»˜Oʱ^¬Ä!â¶™>‹®ªõ  ¨ý÷u:ÞÿBÇ;¡ÓßÔƒyÐÛØ?ã¸"0h!­¯F7Í–RIÍpµ=Ç7oãÎ¥ÝD@(îû~g¾ÿjŸ¯ŒŸéÌŽ&‰›Éöð¤Ò4†6en¨I¦ 4Óüìâ§^`*ÓW‹‹>&óµw‚ù<„è’@„¤î—Åq¥cŸ!†]òÔý„ùÔì‚|ý‡:±Á§ŽOÙ`È]7Ô%x½ù°+ÀÆy¦ÑÅÁ³\aE‰õ ~þ(üxendstream endobj 6 0 obj 1069 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:20+01:00 2016-01-27T08:26:20+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001393 00000 n 0000003197 00000 n 0000001334 00000 n 0000001174 00000 n 0000000015 00000 n 0000001154 00000 n 0000001458 00000 n 0000001633 00000 n 0000001568 00000 n 0000001499 00000 n 0000001529 00000 n 0000001715 00000 n 0000001774 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<5979AF6BD4E2C21E8A12862BE4FDE5EF><5979AF6BD4E2C21E8A12862BE4FDE5EF>] >> startxref 3351 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.html0000644000175000017500000000541112652070414017707 00000000000000 CURLOPT_CONNECTTIMEOUT_MS man page

NAME

CURLOPT_CONNECTTIMEOUT_MS - timeout for the connect phase

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT_MS, long timeout);

DESCRIPTION

Pass a long. It should contain the maximum time in milliseconds that you allow the connection phase to the server to take. This only limits the connection phase, it has no impact once it has connected. Set to zero to switch to the default built-in connection timeout - 300 seconds. See also the CURLOPT_TIMEOUT_MS option.

In unix-like systems, this might cause signals to be used unless CURLOPT_NOSIGNAL is set.

DEFAULT

300000

PROTOCOLS

All

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* complete connection within 10000 milliseconds */
  curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10000L);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_TIMEOUT, CURLOPT_LOW_SPEED_LIMIT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.html0000644000175000017500000000447712652070415017163 00000000000000 CURLOPT_FTP_USE_EPRT man page

NAME

CURLOPT_FTP_USE_EPRT - enable/disable use of EPRT with FTP

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPRT, long enabled);

DESCRIPTION

Pass a long. If the value is 1, it tells curl to use the EPRT command when doing active FTP downloads (which is enabled by CURLOPT_FTPPORT). Using EPRT means that it will first attempt to use EPRT before using PORT, but if you pass zero to this option, it will not try using EPRT, only plain PORT.

If the server is an IPv6 host, this option will have no effect as EPRT is necessary then.

DEFAULT

PROTOCOLS

EXAMPLE

AVAILABILITY

Added in 7.10.5

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_FTP_USE_EPSV, CURLOPT_FTPPORT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.30000644000175000017500000000501412626067776016642 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_SOCKETFUNCTION 3 "3 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options" .SH NAME CURLMOPT_SOCKETFUNCTION \- callback informed about what to wait for .SH SYNOPSIS .nf #include int 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 */ CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_SOCKETFUNCTION, socket_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. When the \fIcurl_multi_socket_action(3)\fP function runs, it informs the application about updates in the socket (file descriptor) status by doing none, one, or multiple calls to the \fBsocket_callback\fP. The callback gets status updates with changes since the previous time the callback was called. If the given callback pointer is NULL, no callback will be called. Set the callback's \fBuserp\fP argument with \fICURLMOPT_SOCKETDATA(3)\fP. See \fIcurl_multi_socket_action(3)\fP for more details on how the callback is used and should work. .SH DEFAULT NULL (no callback) .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.15.4 .SH RETURN VALUE Returns CURLM_OK. .SH "SEE ALSO" .BR CURLMOPT_SOCKETDATA "(3), " curl_multi_socket_action "(3), " .BR CURLMOPT_TIMERFUNCTION "(3) " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.pdf0000644000175000017500000000711712652070445017150 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Ua›Fýί©_pdï±»,°jUÉw¡ª®½N+‹³¹3ƒuêêìì²Æµ“æ„d v˜yïÍ›á x„‚§/û¿~vnf!<5ŽO·šC°ëg¸UéêÑéÞ¡2%'‘õì¸w‹Y’MÕj>OVq:P9‘ a %ƪÃ9á¨çÞß&ñ*¦K—/°>v«"oþ^5E[ïÛÁˆ xT¸xSÖUW™ÿTïN%ñƒ.óe>]xäFÕAKM¤Ð¸G¾'ã0ây/ë`OÇQA„ä6߇X??óeñ½F”éc¯#qŠ ây!ï±À?PTùî¼1/¡ „ Hd Î?¥Ùt>™_–5!¦¤ûCY­wÇM?iµnôÙþ¬Ã™*qÔ›кƘkA—æÞlój³+†×rjäÔzäCØÕÕTûj9øñ5äoãùÝl2U“,µÂSÑéþ Ó¼×[’Htj£¶Ð’ºMyW;o`Ÿòç¢-†$‘IÉÿ8êÞzõ€É€ø’¹úbÀšô\I=v®à› ÛâP oËëé?¨ Æé›²ÑO¨-†tî³QÍ=lL?5UŠEï]A¨ÏM‘²‚v[ª Zñf›î8:90±Èrp‹¥{6!"¥¬gW>ö‰òõçrŠn€wåƒn³¦ò0`z\BêË] m Ǧ€æ¸ßׇ¶²]†ð²-×[Xç<ú|£ãªÂÎE"‘ôT·eÞ†¢ïù$ŒúþmÛvÏHgÒï8âëáGš¢“Ô§§Y]tâéi±ƒÇÚÓDõbœ¤M†!÷/&Ð¥CÛ›Í+ˆ¦3 Èçõ±dhÍ1bÄÒ$Ìd}yÆIè§p—%WÉ $Bê1¹¿*5}HüÇøÃ4‰Oƒýï ¨3ÊõDu(ÞfV;EßXnRGöÕ´ÄëÇá¼è° –¼;IÆ·“d¢>]’æp?Š.õo6htwHx@¼ïs½wg±ZÌRø8 ÜÇñ¥î8YÄv|Mã‹öx°Ë>^eïÁÚߎ!ÝZºØ ÍÌv‹ô}šásOW™ÙCúŪnÉ«K7ŽaœÌ³3‘kHW‹RY¿âÇI¿Ö{Õ°ÑIYó-^æÆÒApÚJÙ;äW£Œ’@~•oÄ™_1üöÒÓ:ÀÖ„ØšBúD¸ø|w¬€á‚7`ýÞÑT§Š•ó^ÿZ0þÑendstream endobj 6 0 obj 949 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:29+01:00 2016-01-27T08:26:29+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001272 00000 n 0000003076 00000 n 0000001213 00000 n 0000001053 00000 n 0000000015 00000 n 0000001034 00000 n 0000001337 00000 n 0000001512 00000 n 0000001447 00000 n 0000001378 00000 n 0000001408 00000 n 0000001594 00000 n 0000001653 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<23BEE03EF773E3CBA7FE833705770877><23BEE03EF773E3CBA7FE833705770877>] >> startxref 3230 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_MAIL_FROM.30000644000175000017500000000403612626067776015737 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_FROM 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_FROM \- SMTP sender address .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_FROM, char *from); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. This should be used to specify the sender's email address when sending SMTP mail with libcurl. An originator email address should be specified with angled brackets (<>) around it, which if not specified will be added automatically. If this parameter is not specified then an empty address will be sent to the mail server which may cause the email to be rejected. .SH DEFAULT blank .SH PROTOCOLS SMTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_MAIL_RCPT "(3), " CURLOPT_MAIL_AUTH "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_EGDSOCKET.html0000644000175000017500000000421312652070414016457 00000000000000 CURLOPT_EGDSOCKET man page

NAME

CURLOPT_EGDSOCKET - set EGD socket path

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EGDSOCKET, char *path);

DESCRIPTION

Pass a char * to the zero terminated path name to the Entropy Gathering Daemon socket. It will be used to seed the random engine for SSL.

DEFAULT

NULL

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

If built TLS enabled. Only the OpenSSL and GnuTLS backends will use this.

RETURN VALUE

Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_RANDOM_FILE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.pdf0000644000175000017500000001550712652070453017031 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…XÛrÜ6}Ÿ¯@%â8L¼f·¶Ê‘ŠYÒJã‡-ikŠCb4L8ä„iµßà_ÙÜîÀËÈvJeOi}9çô¡þd.÷˜‹?æ3Û/ÞÞFì±]¸ìqñç£Ef>²=ûibübµ]èg< %’Ç [íRrWlõ¼¸wÎ?Ý^~¼¾Y­o>Ýýòó§«óÕÅõÕƒ#–,ë›r½ïË®X·ª«ÝòL.wÝÈ_ŠºjÙן^þ{õëâÌåƒ+3ˆ(ˆx`P2d«Ë…sõnyIÀªð ‘è*_8?,W¿OR.÷݈y—] ûËQ³ÿ±,-ËMšýÁº]Ú±ôphj< âð¼HÁ=ß\ô¤pMpZI¸ˆ“Ø,Ý;m½¤\½ÀirÊÅÕÏcB‰Ý¥ªBµ¬UÍÓÒóy¾£vèÛjé¡YÚgpÈ$ä1Ep÷¯«ë›»‹»yÂP“¬ó}QeeŸ+öwlÆ[üïþAaûTÃl—6ì u ¯Ý©4WÍzóRõû§íš>ëØÑjËÞìNY[üW­;†û–ƒ>à…ß:/Ý«o˜`‰ž§Ýt¬ ³¨&O­m—¨ìÍ!mTÕÂö âMþÞ¬ª´}Y†ôÂS*« vÌam"Á3¾å¸ ‘‰ užj š¢QäìM]=`Ÿ0â’a.¹Á^VCS^D'ônJ«¼T§_æÇ)ž¹C“_†mû*3—Ï!ä¹á?ï?Üß^Üà¡_ƒä¡ˆˆ3«]ÑŽyTþMåìy§*–²ŠørO„DÊPW„©Éó/¸¨Iàò õ÷x|¨•dµºy+_¥{WmTQ=j2äló”T†*ÐK×O*Nßâ.XÓ‚áÅ’GnŒpiy¾>@ ;û5êfŸ–ÐÙöù©¡ v Ð5HWß•'3Jß3#“>a”áKÚ§å1¥òs6ù¤·Ö{è¼5X&8fDÕ펎‰AR¡Ýæ™™ËxoúʆxDŸcÆÐ¤#îàuÞi·>1’—ƒã³\¦ -ÒC–êúƼÐåëëßt…OP4N,òl]Ó<×Ä-dœ˜uJÓs1mñtq÷=8˪îX^k~‚›­Tå–ÓøœI„È2ƒw ðº>8›xHÆÁÌBUgÝ3Æ"­%JÉ0PMéê »Åh‰œW¢É0…a Ø }~(, <¸:“á,ЇP8uqÈ Ä%ª>êŪ xzÉÆ %÷ý0æE`«3%•_òA®0¢øu‰Ì@%.i£Èùþœ_'YÚ¶#Ž ´­ëµ'hÙï .›%b™6d—?=}‚¶¦ØãÀlŠîÖ xŽæ*75•®¯ÕÛã¾­ÜN¦}¥o«»ZÙະ¶æÕ§ËKt¨X(MtŸ†ÛôÙ’"³ïp"ýøD“$ð¸'-˜p4}§« }Ἰÿà'l]·²ž~ÃV®O›ZØ/¿ïôÇ y ^׌"üzÒ:ܧùDS›…çæ ^ôÀDÎ&(þQ"|=C«ÝÀ°Åê™îz\kHšæ^»«›.ë;ÖÝ82N‘'ÁF&h¼Vmub{@Ž]„ÜG¥Åؾ@‚”ÒÀ3ÁMÒ'6:R¨³ˆíx.Ðd‚Æ—u Žn×ÔýãŽ, % ¬}ÖÜ–*ôŠ˜ÂFµÍ# ª<íR¨Ü"€Â €¿ä,âàoýKxàëÔ¾nȹUt»!ÆgUæ(HÚ¨cݱø§úóô±t“ÄàþÏ CÅ>‹@ì"]î²Ø úXÚÄ݉“À-w0YÞ¯S'%ãÁIõ`éA™€+žÀ¯>¬ÿ„ŸÿÛg%endstream endobj 6 0 obj 2087 endobj 14 0 obj <> stream xœWmsÓFþî_qÍLádìËÝé½L?˜`ŠA8i¢@™¨ãQd«Ø’‘ädR¦ÿ ?º{/z±¡ÀäC¢Û»ÝgwŸ}É'D CTüèßÉvpzé¢Õ€¢ƒO&…HÿJ¶èYážïY âòßĵÔA•Ä1ȲRp?"´™O‰':Ä;ÊÇóéü=d„}™nûmF’x³¹“h™æYZ'"/dÔЪ(A”Uè>Ûl ¶q²–W{€TdÓ¸zh¢$î ÛÂn Âoðm ÆÀF!"çsÇÃÀ€Û´ÉnEÑD‰X»uƒ‡ÆØd”â ˜/ÀP ê}™£¤e(.S8¨ÒòÎ`"安A§@½Úõí«”|YTFðóé TJlKV‡{ÌbMi]« õMm9máaKÇ^¹\×5»z™_ÁH„µ ¼xõ L—’¥ ZPÝÕ”sBu.ÏCtÞà&q©cjdgçÁ•²ÒÂbÄPÖÃñË0¼ˆð´®Hþ}ÊQ‘o¾qúÇäÍE0=4Ññ Ÿ¥½°lbvä¾ßõ«Ùe¾®f¼¯Ö_‘ÉRy¼…¯JT¸¨èû¬^£“ÜŸ á© •=Ö¤¬5Ÿå57MÄ#UÊÃ&¯GâQWìºÎ‡‚džTb–ƒG’9¸ÊþN5Ê÷ÛÅ:—Ð8FЉ1PyŸÔªß CZ††½K@Ù¬ñ]_Tµ€¦-gK4~–;ê±m¨ÿYµðp²ŽK¥y÷TH¤{úŒój%Œþ É“G‘!U>_Ì‚)ûZ~ÉÇpñðâöAD7 ltòË.®×'‘!Ÿe«H?}ôýNçÉv§àî©ÊÂ9‘ú O:Ô«]  @AUƒê²Ç›A;Òq´ð õ(m$Õ….>Æ$Ã9q¼v®MžFÆ oésƒ_Š!@qõs¯­º½¸Š¢`K?„«Ò è·€ÁÜj\źug÷ˆÕ’—5áîRT÷Yl;~ÀŠ.‚¦ !i¶š¦G­$Hͪإy„%³ÓåX5dyr{¢1 h„v_f5X.TƒUº뮋e–›õaIíÇM¸<—8N[†£³Î‚6JPbQyw9 §ÏRáqb¶÷à”3éì$D“~V*:3´)ôº‰>‡FZtôUì"Ü‘<2ž~ªÆÑÑkmë‹%/ÂòkôõÝntÔ‰deõõ}UÏ…+Mì€l¶ˆ ý£.ô°& î)ARìó:-Û ¶ç©iÖïü°;fvÝ_ŒCKY}«¬R=9›56gÁäÙ,˜…ïg PÓò¼Ã)4Y.arg9r‰eúíÙsƒ/–V‡}miífÜ—¹Ö«·ØY³•ÚåJŽ €ªýnW”°”Žä¤.^Ï_ÏÏ S/ïæ HäS¼Î‹ú»›ÅÕtŠ&ÁÕyçÍÑŒ> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:35+01:00 2016-01-27T08:26:35+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000004317 00000 n 0000006276 00000 n 0000004251 00000 n 0000003929 00000 n 0000000015 00000 n 0000002172 00000 n 0000004382 00000 n 0000004705 00000 n 0000004640 00000 n 0000004572 00000 n 0000004423 00000 n 0000004453 00000 n 0000004089 00000 n 0000002192 00000 n 0000003908 00000 n 0000004503 00000 n 0000004533 00000 n 0000004787 00000 n 0000004853 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<5F3CFA5344C306337C21D66F126AB9BE><5F3CFA5344C306337C21D66F126AB9BE>] >> startxref 6430 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTREDIR.html0000644000175000017500000000733512652070415016533 00000000000000 CURLOPT_POSTREDIR man page

NAME

CURLOPT_POSTREDIR - how to act on a HTTP POST redirect

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTREDIR,
                          long bitmask);

DESCRIPTION

Pass a bitmask to control how libcurl acts on redirects after POSTs that get a 301, 302 or 303 response back. A parameter with bit 0 set (value CURL_REDIR_POST_301) tells the library to respect RFC 7231 (section 6.4.2 to 6.4.4) and not convert POST requests into GET requests when following a 301 redirection. Setting bit 1 (value CURL_REDIR_POST_302) makes libcurl maintain the request method after a 302 redirect whilst setting bit 2 (value CURL_REDIR_POST_303) makes libcurl maintain the request method after a 303 redirect. The value CURL_REDIR_POST_ALL is a convenience define that sets all three bits.

The non-RFC behaviour is ubiquitous in web browsers, so the library does the conversion by default to maintain consistency. However, a server may require a POST to remain a POST after such a redirection. This option is meaningful only when setting CURLOPT_FOLLOWLOCATION.

DEFAULT

0

PROTOCOLS

HTTP(S)

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* a silly POST example */
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "data=true");
 
  /* example.com is redirected, so we tell libcurl to send POST on 301, 302 and
     303 HTTP response codes */
  curl_easy_setopt(curl, CURLOPT_POSTREDIR, CURL_REDIR_POST_ALL);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Added in 7.17.1. This option was known as CURLOPT_POST301 up to 7.19.0 as it only supported the 301 then. CURL_REDIR_POST_303 was added in 7.26.0.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_FOLLOWLOCATION, CURLOPT_POSTFIELDS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.30000644000175000017500000000363512626067776017347 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_STARTTRANSFER_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_STARTTRANSFER_TIME \- get the time until the first byte is received .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_STARTTRANSFER_TIME, double *timep); .SH DESCRIPTION Pass a pointer to a double to receive the time, in seconds, it took from the start until the first byte is received by libcurl. This includes \fICURLINFO_PRETRANSFER_TIME(3)\fP and also the time the server needs to calculate the result. See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.9.2 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.html0000644000175000017500000000537512652070415016657 00000000000000 CURLOPT_FTPSSLAUTH man page

NAME

CURLOPT_FTPSSLAUTH - set order in which to attempt TLS vs SSL when using FTP

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPSSLAUTH, long order);

DESCRIPTION

Pass a long using one of the values from below, to alter how libcurl issues "AUTH TLS" or "AUTH SSL" when FTP over SSL is activated. This is only interesting if CURLOPT_USE_SSL is also set.

Possible order values:

CURLFTPAUTH_DEFAULT

Allow libcurl to decide.

CURLFTPAUTH_SSL

Try "AUTH SSL" first, and only if that fails try "AUTH TLS".

CURLFTPAUTH_TLS

Try "AUTH TLS" first, and only if that fails try "AUTH SSL".

DEFAULT

CURLFTPAUTH_DEFAULT

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.12.2

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_USE_SSL, CURLOPT_FTP_SSL_CCC

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_NETRC.html0000644000175000017500000000760512652070415016033 00000000000000 CURLOPT_NETRC man page

NAME

CURLOPT_NETRC - request that .netrc is used

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC, long level);

DESCRIPTION

This parameter controls the preference level of libcurl between using user names and passwords from your ~/.netrc file, relative to user names and passwords in the URL supplied with CURLOPT_URL.

libcurl uses a user name (and supplied or prompted password) supplied with CURLOPT_USERPWD or CURLOPT_USERNAME in preference to any of the options controlled by this parameter.

Only machine name, user name and password are taken into account (init macros and similar things aren't supported).

libcurl does not verify that the file has the correct properties set (as the standard Unix ftp client does). It should only be readable by user.

level should be set to one of the values described below.

CURL_NETRC_OPTIONAL

The use of your ~/.netrc file is optional, and information in the URL is to be preferred. The file will be scanned for the host and user name (to find the password only) or for the host only, to find the first user name and password after that machine, which ever information is not specified in the URL.

Undefined values of the option will have this effect.

CURL_NETRC_IGNORED

The library will ignore the file and use only the information in the URL.

This is the default.

CURL_NETRC_REQUIRED

This value tells the library that use of the file is required, to ignore the information in the URL, and to search the file for the host only.

DEFAULT

CURL_NETRC_IGNORED

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_USERPWD, CURLOPT_USERNAME

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.pdf0000644000175000017500000001336112652070440017371 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXÛnãÈ}×W4‡¥R»»yO‚²G³ð®Ærdywv`PRÛb†"5¼X£ý†üJþ1U}!)Ù» زØì>uªêTU#ŒrÂðÇü]TF^ß\=$æÏzG.—° Â/–Ïý'¡ aìÒ(&ËÝÀ¹º_Ìæ·Ë§ÛÅpùïA ¨Å¬[n<¢ðqy<8óÓ»»O÷7WËëùÍ£ã>ɺ)³'™TǧJÖžŽ…Ã¾ÿ¤E^‘ÞÞÿZþ4p™OY ÷~oG0fTp@¶à1§±ØÇnRÏ'ðW½}3ÁÅ ×qŸú±kvý<Åï;›£ ɘ |Ì´1=X£Œûñò_²N²l•¬¿’º û²x)eU‘¬eIž›|ö)›ÎQÂQ–»/7óÛ»ë»SDj‰Bãü%Í×Y³‘äïHåþ¢Ûàrá‘ål°üðà¤yÝžÿdA=:¯Caé†|Xg©ÌëýHAòýö„MѬ2I6Y]ÔI6­ñɬ÷$/†? ëdz!¾áò0j9ëï϶mzÛ"ÖökØSøÎáqø7hŒˆÐ¤!]€Ñçáó¨‘Û$ßdrÔW…•wæ¥Ñ;ĘÿÄ+§wW‹ë[ÜÀÄ÷u¸½ã¡Û¤¥ ¦‘!æÁPHȾß@8@€‹¦ì"ÆÆÇˆ¶ézKªmÑd²Kjø§ÞJ„ Ä÷)¦r’¬ Í•Åãºõm²¼Ê ê™ÔØ)/¹¾KCK5§†»ó«$ÝÛ*jâX¿mÒ!_üäWɲB{àƒšK@G ]ç KÃ,gVODLCn€Xoýöiº¸¾ù4“Ø= ¯MØ4¯j™lF$}FÅ\Ûä‚ÿÀ~c ¤q,”9ËmZµ“YWŠy¹!«#ÉÒ†1»’♤°@9*O2"¿5©UŲð [–ûÞæ=–3H.rHë-¸ý¹„Mðµé«J)Ð5?2¢‰H¹Bšd”üºM1Ë’:!i¥í `±µ’D™^þà¬dš¿ºLòêY–%X”â©YFVÒÚø:äã0pdyl±dGåBÈ•$ÆåahÐúfù.‹¬½ù†lš­²BÉŽÝÀàYa}{Øwbëш3?€!-6°þõäm7T˜5‡þ˳™5\{t+s’õ€o{4Œ5cLÝw:† bzøñ(bÂe-ú͉ÇDØf€SzïqNãÀ>‚¼¨‡ª Å®S$Š`B+”Ý`U45)rí ²=¨äºÈ7TÇ|›,c»sÏÆ³cû¬60ê · ¤€yÊV EɆKŒg'Äð­ÕoŠæ°–ÏVgÜPÍÀ¥Æ˜É²óë¾msØ¥!õÅ’‡?g£tˆ‰ë9µþàyUÞ#/¦Ì²_£Ôœdî Ï cê¹~Üñà*€i ¢È³#Ù'¼h z&NÃ#É ¢ç²Ø)ê’ý>K׉’ Ð7üÊÊ5íê-†dhD¦[ 5¦.@·X+1Ì#M@ -K‡]Ç]¨–´aiô þJ¬©*µmº¨zd›TýüQ„Ìhv+x J¶:Ö²:+FÔumF›BÖEñ¦Q!tÝíR ð†Z„µÇùÁ-l9„Ž‹q!œï{¹VÔM¡ 9Ô²¬åä5*µ5G 8–Ça¿võLÁ>.ˆÂÖ”\'gÏàÕ ¸%V÷Óãï¦ÐÚìQÞJA®ŃnÀó{¬ã C4VyÆeÄ•kýøà$åÐ7ž-…]ÛÔü‚¶}0€ÿšñ´ŽæfÿgÜBçÿ!µÌe,j¾¥6€«•ÌŽQ£À<öκèÔ™%c—áo)sîó¯ªáÄóZÙàбÞô_4¹Òxæ1å¼4;,¸Ðóbí!dwgj 8Ïç¶b¢L³ßeYGk”šAÀ§*{]B§ÕzW‚^EðGÎó±§W.®Bœ:—¡QQ2¤cÌó©`V®Lè8cBõ0mœqh(#…Úx´J—x)w ø—=)ùœä¦:á{ +GYdt¬ûb-줨×y±“ÕûÔ˜fËVQ’]QB0ªÕÿ)«z+žñ«T0æ¡¥âÜû_M¯OPº†FT‰nÌ“Ù5Uî 6к·‡W’šwøLSºuSæXúèò±òÛ+„ Cß´b¸>4 ßH+ðiufã:ÁÖ¦ íuYë¬ë n©}SªÍ‰v ÀR:}š\ÎËéǧË/OW“ÙìÒtÚ3.8Év‹“«Î1‚z]Zý|šs D?eÇ܇*w-¼h_^ëW)Ú´ÍIuCª”‹80µQëãl‡”­åH³ÕöÏŠ-h¾zQaZ½iî°…Ÿå0fi„fï“rÛäÎǺǪ¦knYìË4©;O´çbàh»NÈÞT7œ*m#ô™=nZݘh-n(DV´F þÚ%¶[U± Aç!ÙåT¬ÚDëÒ’uÝ€•Gì kxê­ªÏï&ÏO&f|/2ÃXÌ={öä^ó‹ziî5DàÚr8ëZ³ÎVÃ0tÛP}p.A”¤Q`?vˆŒQK?öÐ-·ãÐéņ!ô]a[¨{m!4±–•¤þ¡ß?ÛX•ïÓˆETo‡¡è]ßIŠêÿÔìIßÞEàLÛ²¨ï©ÀrOë8Ah ŠBŒ!9_’y7öÂ\Ì;s^Ígg—2À:L^—ò“,{ëÑ“{„éo“Ï·³³ë¦ÞÕÁ¶®÷½0—:É÷ï´’Æë Ë<ÆÝÖ»ÌøÇÈws1>´$L~!Ý%˜À ;Z9׳Éåõìzùålð†žÏëRŒ´7 ÚSmKúþöƒÖßÇê-)> {j¿ BS Óåýâ†ü2ä.Tí€;“Ùýô,W{tiù×W†Ó§ùÏæÀ4g®Žl‡P(‚Xú¦¾ÃCòS“…O൞æ¸Ët9ø'üü–ü³endstream endobj 6 0 obj 2312 endobj 14 0 obj <> stream xœmÛNÂ@†ï÷)ær›ØaÝÝî¥j$„b»x†("Áp 1¾½»mAŒf.fÿ|óÏì!¢Íó é–a°${ÂëOhÓ|]çixp¯¤©á`+1µà6„öÆÅ ¹Ù¨ˆÜÑejS¯s/„§èî“Lh~[dey3öÜ]>œR9`~üXÏOÕ׬Zvï‡(‰õŠúËj·­à‚ýèúD2…L7ìÿˆÁ@§°Þ.ZÇRLøjXðBË,ƒëA™ÿ¨ƒÔ+b.jò©ëCVtó2ktç%0ŽºÖ]¯~ƒ¸F­™h“3l˜û!$CÆŒl½×3]…ÀÄþ!ÇÂhL%ÄÚˆ¹^=‡ÕAiE1WÊ&¨(7Ð?nA0žÔèDË–&(säÞÇ7Xz¿endstream endobj 15 0 obj 310 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:24+01:00 2016-01-27T08:26:24+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003207 00000 n 0000005166 00000 n 0000003141 00000 n 0000002819 00000 n 0000000015 00000 n 0000002397 00000 n 0000003272 00000 n 0000003595 00000 n 0000003530 00000 n 0000003462 00000 n 0000003313 00000 n 0000003343 00000 n 0000002979 00000 n 0000002417 00000 n 0000002799 00000 n 0000003393 00000 n 0000003423 00000 n 0000003677 00000 n 0000003743 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<319A1B9A3BD5A58C9967CD7327588245><319A1B9A3BD5A58C9967CD7327588245>] >> startxref 5320 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.pdf0000644000175000017500000000732012652070444016560 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVÛŽÚH}ç+JÚ‡5ÑÐÓ·/ÚÕJ„ñ(d›Å&Ù³Bpo¸›ŒòQùÇ­¶ÛÀÌn„„‘»ºëÔ9§ªù ”0 ê£ŸóuçzlÃSÞ¡ðÔùÚaå"èÇ| oc pÔ‹øs§ÚÃÀæ`»‚8.ÄëŽ1˜ŒýpÏ¢èÝìλ¿éÆÿtzŒ0ñd„Û¸+^¨—_>wŒ~ }FˇHFy#)135 ñÐ…ùa¿š¥Iþ}–§ÅvWt{\RdÛM¹ÿŽß7ÉMåÏ'¯R–ø)F»*àzìbõĕЀž)-"Lè «ŒZI"]¡Ïùà©÷ q«¢6ô/—š±+'R­qFhƒöÇ®É.®S-вÌm¶)Ò=[Ø%y®žÅ2L _t…LVù,"u>JD¹7ýóæl‹pA™Nš¬VÉüKU_›îš„s¬Ñ"NÝá(F§T sš† æ/Ùf¾:,Rø])}­¾Èò²fb¿"k¾Å€s'<”Kðf™l«ôêÒ ¿6¤rGË}Í šÝS/\}«pɳ x³«ø}èþvI…´Åà ÆÃQ< ƒâ_âÄ%í¬Ú»ŒØUK Ž |ë¢(µE’Þ'ëá”þG*a‘–®†Äžœ8M™Ë,¯ `ôØå’8–«É2tg" B£Ý¦Æs¶ZÁcZ-]@²Únž&3‰ërÛH÷I‘­œk ÊÏY±,A·p<Þ<æGU{%m&uˆÕôP[êÛI0PôÖíÛY-p¬•\JÅ,[­·ÕºÕ*I5ˆæªw]fíߟèfEtÛsKÛÕoXn (ÁmÛVcCc&¾ÿ‚k¬ŒÑX£0E‰¹ä–­ éqknéÅ0†°Îɱ©uBƒÐ?ë=„í"ó´£ÛxØC FÿƒÊû«ÿaä{G;¯Ú8OF“ö±qjö¤ã¼0\]YgS$›UŸ~lMlÔÃ’µ¤C¿ÿvèãû3Ù%ŽiÌqRh±@wf@É]býw­ScìÅ“q»L ‘-fôý‰§½zY2ƧÅa¯ï$oÞAö¹ô{uWA–C~Øí¶û"]\•|W“à.»BŸ‚YXN µq³-ˆÎõª‘çAߦ3^¼gª³ª¹/D=ååÝØ¢ÓE÷Þ’W§Y”UGLO3cyRO¬OÁ»0Š£3.[æÅé=Áõ'[§w­ãÔXeê2@…Mh·Ç¤ÄËGxc¿?l€SfVƒ°î¦ÎóâΟøù!Ó&pendstream endobj 6 0 obj 979 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:28+01:00 2016-01-27T08:26:28+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001302 00000 n 0000003185 00000 n 0000001243 00000 n 0000001083 00000 n 0000000015 00000 n 0000001064 00000 n 0000001367 00000 n 0000001621 00000 n 0000001556 00000 n 0000001488 00000 n 0000001408 00000 n 0000001438 00000 n 0000001703 00000 n 0000001762 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3339 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.pdf0000644000175000017500000000734112652070456017077 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UÛnÛF}çW Ї’¸áò¾hQ€±Y@,ª6° ¦V6[ŠdHÊnþ!¿Òììò¢‹+tÛÙ™3çœ~ƒP0Ä«ÿLwÊû¥bÀ£òE¡òútb ðÅñVéîPðLð˜E|ñN±lâQˆ_”;õêv9›ÎŽÖËðzº ¯âu<½ ïUë^ƒt_çkž4_׼͊m©é¦c¨eÕfeÑÀWµ?â_Ý &Åz)Âa‡0G ²\ˆgŠ:´ï±<¥q˜…(ã¢Þ„Züç~Ó ¶áNMqlÐ0Ã?€0¡}âÐf;Û²†$ϡ曬æ©À MË«¦+p„HGH:u‰/¬>Ï£Åjº:Å!C$õ»¬Hóý†Ã‚ ÷â<ý$ÂM[¶&ð¥%¼"ð^žÁ»§¤Øä|r lÊýCÎáh¤º×~@ªÞ@|®®–ÓE<æòNŽöÿ@¿HDŒ$žßéhJÙ’Û¦ª2+Z^C[â ~GyvRša¶?$qú$Ï>V¡h6ß>Ô±dˆP©l“\j5 µáiYlüŽ"–å_—„A€"Ùq‰‡:XÜ7‡&mB…Ë„¿sÌ´¯&€¹ Ì1ªæmÍûC`üñÀ± ‡o…%þLº’/#Ì÷<¦& ÖOê–oÈ©rºô»¨=ë-zp%n“ ÇE3-wUÎ[=°èPÒ ¡þÍä1}60§¦{‰f´önŸ·&;¦§!®A<º°£04çÈcSJÓ Ê}¸”±¾Ðó%õs&LÒ£&ýÐÞ©/™&6CÑJ"ä]ÓDÙ Úß}âÝ8QcØK”0‹ùC‚£It3ÓõÕad†}r°³ïàþ䑓׃iˆëÊbÙwn[~oNÓÅÝ(3é&1&õ‹bˆFL‹x†;l¨«hv¶tìųl{œ± ÏÿgÉ„¿7‹Y8Èà_×øƒZB¯ÄuÔ)®÷_mXÝf"r¬†aF7˜Á'mÈ í{W§³àÃt6?Ÿö&T¶±ÆÉ6¾3ëF¼·[½ÃYˆo—sø¤Q|î0—ªÁì6> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:38+01:00 2016-01-27T08:26:38+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001312 00000 n 0000003202 00000 n 0000001253 00000 n 0000001093 00000 n 0000000015 00000 n 0000001074 00000 n 0000001377 00000 n 0000001631 00000 n 0000001566 00000 n 0000001498 00000 n 0000001418 00000 n 0000001448 00000 n 0000001713 00000 n 0000001779 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<528E70AC259EA72D515C45F1BBC0A241><528E70AC259EA72D515C45F1BBC0A241>] >> startxref 3356 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.30000644000175000017500000000424112626067776017070 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_SKIP_PASV_IP 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_SKIP_PASV_IP \- ignore the IP address in the PASV response .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_SKIP_PASV_IP, long skip); .SH DESCRIPTION Pass a long. If \fIskip\fP is set to 1, it instructs libcurl to not use the IP address the server suggests in its 227-response to libcurl's PASV command when libcurl connects the data connection. Instead libcurl will re-use the same IP address it already uses for the control connection. But it will use the port number from the 227-response. This option thus allows libcurl to work around broken server installations that due to NATs, firewalls or incompetence report the wrong IP address back. This option has no effect if PORT, EPRT or EPSV is used instead of PASV. .SH DEFAULT 0 .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.14.2 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_FTPPORT "(3), " CURLOPT_FTP_USE_EPRT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.30000644000175000017500000000405512626067776016070 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTPSSLAUTH 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTPSSLAUTH \- set order in which to attempt TLS vs SSL when using FTP .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPSSLAUTH, long order); .SH DESCRIPTION Pass a long using one of the values from below, to alter how libcurl issues \&"AUTH TLS" or "AUTH SSL" when FTP over SSL is activated. This is only interesting if \fICURLOPT_USE_SSL(3)\fP is also set. Possible \fIorder\fP values: .IP CURLFTPAUTH_DEFAULT Allow libcurl to decide. .IP CURLFTPAUTH_SSL Try "AUTH SSL" first, and only if that fails try "AUTH TLS". .IP CURLFTPAUTH_TLS Try "AUTH TLS" first, and only if that fails try "AUTH SSL". .SH DEFAULT CURLFTPAUTH_DEFAULT .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.12.2 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_USE_SSL "(3), " CURLOPT_FTP_SSL_CCC "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPAUTH.pdf0000644000175000017500000001646312652070432016227 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥XínÛÈýï§l,µ°&~- 8±7qáØ®¥ »° ƒ&ÇשT½ÃöQúŽ=wfø%;ë-Љ"Rs?ϹçÎfsÁlúcþM×o®BöÐØìáàËP™ù']³·K¼ÑËûýÁB‡…±Ë£˜-×Ö»OWg—ËÛËåålùÛÁÜæ¾Ï–éAèñÀ#üd™XGŸè¡M~u‚ˆ{lùtpm-?ÜXîÍŒ¥Ûº¸•I³»md[mÚÙÜñm òªlØÄÜ¿–ÿì¹>ů˜ë¬OÓ+o®bÄÈcŸÂœ{žËm;fs7P?9?ÎòaÂ5G}<¡ï‡ü86÷ìÍ…£ÿŸ‰±»¬°ÿ0$‚Ñ1øPÁ [x%k–lÛ•,ÛšÍ]‹«n²yàèl,ñv¢Ëèè2:<ž0|çR ŒžyÉ]!)b¤³–ˆ´ieÆîdQ™ ê8aÛèrÓ‚ÇdfŸ8;Uá"Ñ~‡HÇÔʺ_÷¸ãúNWÄÀü¾‚ÉɪR9aÊp8dÍb|a;.Îduµ-³y[çÎÔáÔ)i»M V3*øMÒ4O3<áWòÞ®èUCZÂîðé{< ;Zï8äÓâäj®ªÐ=ïAüù¸'øÊ}‰81«( éM«Ÿô–Ã1ÿ\OLŸÏœº3°Ž>žhsÚí~T ¿GböÂÙ®àA`;ûg_ÎÀ qä{ÖÑbñy梿¸:~ÙˆËýŽ8Í|äšÃÃyà{-^ú¹ÒteÆ=Ñù`Õ`ñÀ ºdYÓnV¹Jئ®¾í&ga¦õ¼×ôGE*…öå~„ànd‹½â^^™ §e#o.~éF©¡ÕØíÿëxx„ßú£qíqoÃ:q oH£¹éù¡+s¤HPø±õiùáöíÌ5”x´8}§J2ÌøìD5j^¿Mš<ÝãoΖ!#“÷=’mѲtUå)Æ¥iB±3x%æRŒ•S!29o6µL2åÙ?#ûn¬Ú›ØŽ0œŠýš×Bœ&5oëH•íumôUŽxÛÕ®Þ=­d-ó,3í?ìÔû¸Æ ")ùnG¿žgØ7cÕ¤CÁELcEõ^p yfwð‚Š€ˆ-‡£ÀDš"P‹÷' ¨·Hðw+‰¿a@¹äÈMšlÚmMiÇ*X7Üðc0芗úâøôýÉb¹×©£~8Έè÷b6€;­ŸSÅ3ù{ §àñÕÏïœ@„*Ý9I’5Í´FbzÉN«¡a=Ñ|î*@áìÚ™ãiƒ²³™Ò×Éhzx£Lj¶œ:4­!ô›<«¡ÿB 7cމzä^[Û»8Q•$0é¡€ÕZ˜è©ã„ÖöHjVÙü¾9iVð Ò€Óp1…£9‡¦x·§'Ïð,œÿ z†KvzÂþt{…æ ˆÇ^u9óMb ñ¸ÐgÊBÍÙñ˜¾‚ž{'þ׿0`²ÕŽ3qÈGƒ2i%`uêÁjǺe‡ÆbzÄû±’I¡¬Ú÷£ê›Ïè2Œ8áí[ûòý¶Ù»±<1d:êÎçýák÷Gïô¤?L_@T9¡3@U`˜RšM÷0’¸ÏŠBfûa4©ª ÍLªzmÕÐhm‹‡Zà;§Ÿ¹ùzSì4©Oä§ânÒæiÑô×m^?þ ßƒ?(øc©96Þ(î5²ðC­‘KªÐ*™€Ô ÐynüœæÁà¾GpDù=µ€Þ8iâ ©Ô¡NðG©Éa]hPrWª¢¤EŽ1»ÆŸ¤Ñó“÷3ÏÖö–§G3!„µ|ŽË G¼z®é!Š­‡ªÍÈõkqIgaGÚ¿çš'EŒÉàwÛ6ÔÕïxfÌóý˜ò wsÖÞ”Ñ#r]µ=Ž„m ´‘5Ò»~GŽ-h¾Î­Æ‹s7¯-Z¶‘Bä3²:BÔóaî@A­tâð׉8œÌåm9Ùd»³%²@îf‚T«'¬m^d£VVR±Ùæ­ZùÞ/ó£ËSz^'ج ¼ ü1ÖV°fTMj°ž† ©…쌆G fO@~þqO-Ï>>̾pf§7žõÉÉÜMË–ÜÅç¶J+Ú„¦ b1vœWôÙs•½’´áGClÇ>æi]5Õ}‹Õ¶¥o1ÔµuÁ5bXÞ¹è#Òdœ,伖ͪ_‹¯XŽ¥U™Ê ú-_çăț[êrzqê¼G:Ù{Åy²lvÁRïsZç Tœ±ûºZƒ0è.A&{£›¥ûZ‚¬ÆìsQ„‰Ø¯¡V†ld¦å¹é\só„†ý‘.BñÇ«^Î ë»×¡®òâºWæ¤ÙÅF–‹ÅÙ!{_n—g êÜóÅ¢“ÖCš•Rµªj74aúƒ"=4!"3A°G8D‰4ÎÄ×,†@ð¢üT82îüYžEÇß~~ûŒW]¡¥ºBD&‹®_lUJ´K0L‘‡ñ%;ªek®”žòò.§Î”Ŧ¿*#¨«2»„ühÂ/®Ó³²kPóŒŒ {je$Ýȵt§SZ“ͦ0oëÎñ#îê‡.­tœÝJ5Åv /è†ü·ïÂÂñ}]¼tK¨~¢+}%zP{Qu¯¯@Ô¥M÷߉ °òUëM†ls¼nú,·U޵»M>×5õè’)œN+U+Ý›mS¿AìoʶXß“©-ŒÛ®–Žçt­÷\iÜÓ…q;•MC©CÝê­VU]ýƾÓ<ª¡VÿÞÏD½€ º$‹ËŸ®­M![l²ä!5„Ñö±o%y»É³ Ùî?'k‹€Øðú}ô)kÃñ Cwwmcn£¢0²¾uePzœ]”ìòbqú P)Ñä@³kZ¹n•ÿªEÍ}Š%ØO‡Hç ¬OyÑÙJ­Ì§ïß}8;Ç>”hD"P IN„~cÕSÈÐ|î„¿²¨Õ[d]ƒ`ˆ~ö¯¥.\{ÿB졾ŸwB5ÔÂNÐráöTz>EÙp÷söÒí6•0èïO#£õuéÍìÐ\M¯·Ð6ˆ^_ò“8¢ûk ôᎠ¹×ú˜q%]žÊ$Óµzv}å0¢B¦ºÊû~ÄwÄà‘ѹÃÉÝU MpÀ¸íxê‹Xrµ¬0bK É,§/v¨?Í‚ã5§êLè> stream xœ½V[“Ú6~÷¯Ð£Ý Š%ù¦GoÖih¼“dgÓaŒÑ‚°‰mv»ÿ!?ºG’î„·ÌÀHçòïÜôÙ˜ [~ºß|g¼úhÝ6Z? ¢.Q÷“ïÐM “»tñ!Mï¬ô›1²±ë¢47|{Œ ’® 3œËK[^Ð ú /ÀJŸ3ýðÕd_-”êíBdÍË¢mµo­umþUÙ 3w§ þ˜ÿøw½…”ùÛ6G#æÉ;[㨳\ ¼*W…ôˆ­‘kÛfº)´›Ì"óÀu̧¢ª6‡å7‘·¨­P¾Éʵ@E‰í¡èÉ".xð™)êFÁ¯ѶXʱF®GÄÃð È -”ˆËÍyúaNî• ’£RŠ`æp Uƒ‚o&ávÜÅ…ë`Ç÷»ŸÄ‘ Ž)Páte!Jˆu—åu…ÚMÖ"`Ìm·hYÈ?å Ž H|—&Hà`×£Z`¸ …húоȿƒ–”ÒuPìj…ó¥°˜àÜlª & ¢„÷‰+W’Ң͖[u–($ˆ¸ _eÉì=>6;´Õ.k‹¿@ [•@U ÙhÑOitW52>Ðêí^g~¾.Ø·1£þ5ö vˆÍ¯Ðÿp•a`+°]óŸ\ì[t“5E~ž Ž2S¢JxÞ/ÒBq ïsÃãØ¡9I (ö=Ï Á¾ONr£™IBÈyFŽICÿCn’IlhËËÞÀ¹ÈÎN´j^vËj‹Q2çpü¤ê™Iô̹ÜÕ ÛôóZÎÂh7`¦)ÊõV f/òâg.ãÚ€êöÒ豪!™}ðm¥û»÷qÆÕ¾®–B* C9ªEÓÖEÞŠ•6*ó[<¢²jßI@š® í^Kl×U ¨v*À\ÖÆ±]ÞN9Œk,Cy4F0ª<š·Ñû~@;Ê.ȇœÌ‘‰¾š›.¦ë‡Hœ«xزâ}ßgNÞk¹º±X7ÃÙøbåäi²Í»i‡Ña #tõünæŒ(¶]=û’%GD0B|ÛcÔwI<ÓTqÌå¦Ù/«_‰¾„ïâ¨oìà<ò¡äÌ49]5¤›væmÒÑéî©+‡KÉ£7ɺ®Û𠇸l칤 ÞÇáÍ8§÷çÁAž˜\TX¢Ö% W+(+XH>ßžª Žb#ýíµ\ÝŽféb¡gKí9õ 5¦Ìd'Æ8f*“¯›‘í©&Ö;vüð¸ø‚ð‡‹£#åFS r¨CŸûh$¿^b“4þ¸ø|óhm êæJá=˜Ó(O'è“EL]˜a<:­ÿ¦Ý=-¦v}÷2‰ÉŸ²yÕ€Ó)PO„ý¾ª¡ÁßtBóÉŸ“Ä’n¸MÍÏ“¼hÆÉdhûZù•žbОçhŠðÐQý”BoAÀœz9ǧ’ÎÇ“,’]Ö|ïæRV5ND)§³Â £rS­|­IgQ„Âx– -tÑý+mèfµs€´aÓ'_º!]Ÿ{]“ÛÒ Ôð}ˆæ§­`{6=¾â.zÞ;}ã©÷Ý›sh€Ü´{tóY4½û|{aÊVOÛK[#*_2ÐeÌv4 糊L­XW¯NØÅ½:ô4@õkDmâ(=掩<‰Rã/øü $Ú"endstream endobj 15 0 obj 1292 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:18+01:00 2016-01-27T08:26:18+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000004806 00000 n 0000006768 00000 n 0000004740 00000 n 0000004418 00000 n 0000000015 00000 n 0000003013 00000 n 0000004871 00000 n 0000005194 00000 n 0000005129 00000 n 0000005061 00000 n 0000004912 00000 n 0000004942 00000 n 0000004578 00000 n 0000003033 00000 n 0000004397 00000 n 0000004992 00000 n 0000005022 00000 n 0000005276 00000 n 0000005345 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 6922 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.html0000644000175000017500000000445612652070415017274 00000000000000 CURLINFO_EFFECTIVE_URL man page

NAME

CURLINFO_EFFECTIVE_URL - get the last used URL

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_EFFECTIVE_URL, char **urlp);

DESCRIPTION

Pass in a pointer to a char pointer and get the last used effective URL.

In cases when you've asked libcurl to follow redirects, it may very well not be the same value you set with CURLOPT_URL.

The urlp pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call curl_easy_cleanup(3) on the corresponding CURL handle.

PROTOCOLS

HTTP(S)

EXAMPLE

TODO

AVAILABILITY

Added in 7.4

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.html0000644000175000017500000000542212652070414017667 00000000000000 CURLOPT_DNS_CACHE_TIMEOUT man page

NAME

CURLOPT_DNS_CACHE_TIMEOUT - set life-time for DNS cache entries

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_CACHE_TIMEOUT, long age);

DESCRIPTION

Pass a long, this sets the timeout in seconds. Name resolves will be kept in memory and used for this number of seconds. Set to zero to completely disable caching, or set to -1 to make the cached entries remain forever. By default, libcurl caches this info for 60 seconds.

The name resolve functions of various libc implementations don't re-read name server information unless explicitly told so (for example, by calling res_init(3)). This may cause libcurl to keep using the older server even if DHCP has updated the server info, and this may look like a DNS cache issue to the casual libcurl-app user.

Note that DNS entries have a "TTL" property but libcurl doesn't use that. This DNS cache timeout is entirely speculative that a name will resolve to the same address for a certain small amount of time into the future.

DEFAULT

60

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_DNS_USE_GLOBAL_CACHE, CURLOPT_DNS_SERVERS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.pdf0000644000175000017500000001155112652070445017447 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…XënÛÆþ¯§XàüHî.¯=PU«XªEç4° ŠZIl(R!)+ê3ôUú޽ñ"7-ŒXÖr9ûÍÌ7ßÌæ ²1A¶øÑŸÉaðîÞG»j`£ÝàˀȇH$ô}±mê‚|Šüá DÑa@ )ŠÎƒGëæá~¾XFÏ«Õüù&úåùöáî&š-îž,ö4Dɩ̞y\]ž+^Çz8¦®mÛ·àKZäúÛ÷‡ÿ~ŒmL ›ªPáÐÀ˜‡¢ùÀº› ߀#ð”¸Ø €6ëÃtýÚqƒÚر}4&T<¶ÿ;úÁJмæC0 x™õµFIœeë8ùŒ¶E‰Gž‹]ðçyHl«È¶ðõÝÍ%† ¼w xÇÄÄ·út·X®f«>H¹E´þ•æIvÚpôÂwâÞÿWl§Žð;z«à'쩪ì9©¿>|Oòz+Þ¡—!té½ÕûÄ q¸ŽZ?U¼<ÖåÓðßwkø:}Æð>Î7}3y#ȉç6μÂIÇ»ñ!6éèýtus?[ cߊ‘}ÇQ‰Œöi…£P‘g™lJ­¢ü\É|eéZ¸ƒŽ…t’¸;ð¾mL1eêÌK¾AëK?¿"Z¶ã÷“ŒÑlÛ˜U'Úa`ÅZËø†.±NiV£x'¤ž=Ï× Ó¼ª…oc‡0Lé‘ÓŠó¢ÞóRÎ(ãò‚jáæö”'ÂÑ8Kë ‚…x]ñ¼ÆÒÔ¸+jÁZƦ,B¸êÈGHŠ!)ðºDu.Å©ì°Z[¡ó>Mö¨Ú§lƒq _ :–E]Ô—#†ÔµÎ9œ^˜*UG3æ`×ÓN¾pKã Aè€[ .s†¢”I t]fó*´ãµZVù1ÿõTÕhÍ!Å\‚Ló´N!8¿ÅŠ[禜s®LÅ[€},@8ÄÁ”¼i¾Ó9‘«-Հ΄ áUjSTò,®aÕÈw—öRBŠm¦SA°­ ¾pHIÖD‰2Ø -Õ®G È”]Â…ið(>³4Q>Âʡؤۋ ÀšƒcT“ñ%).¶*GÔ1óÝÖ-ƤŒ[â=áF?xE{®ÊئØ!fh*ûªDál×Dô—ñ‹p ª&õ âvé³Ð®iþFªœ-ÛШºáaŸ2[ÇÒÒê#_ÃcªU4hþãÙ 3B¬m,ÿ¤gå\FGÆŸì²hËeY”š>Ä3èðÁ eàÀ©’×§2‡ÜoËâ i¸›Cªêš޵ð“Wu¼ÎÒjîwÈ&1ˆ-hªª2^™@%^ªüžÓL2D>×ú Ní÷JžbI6ßÇ&U[‚ P³»Î!!ó­x-,]EÙ'˜y¡ž¥›ÄUªaK`è ,-‡$ÝáÛ J½–Ú¡bkˆØ¼øª¿×•Ã|Ûn+tõÜ1«j\¸nù´…¯ SËNècÒ袑Vx½Q¢c4Gè¬ä2L ‡6US[#êç¤EãˆG‰©wÇV•Öä]g]T3‚оÈ‹â¢Æ)^öNòe6LF›ö$e]çàT‚†55•«†8žµ+ ´Û²–‚Àl “\Øo=: M‰Ê@¬…N)ß5ÇLž ï¹há8Ø'MÜsŽx_=LZ~³Aˆv—¸ikØã·‰ tF:µç=SÂÀ½§âª‚‚Cae剬ãdv]P£8o­ùØq}“’"×¥Ôu17ìz3ŠpZÎçú£#€ïYg ÏŽ‹UÙn» à ŸÀ5" @õ¨`fáÛ.é=/h T€R†L;j¨ûŽb<ƒótš=Òì´ò帊ñ t’“‰LÃ|à¤à¼9®Žf*)26v4Þ1•ÜKüéò󈌌NN`ØôhåõA.ýÐ³Š¤UuH…㺡©EBtÔ ¡îÔÔ :z¸ŸÉ‰ýEËHû—¨6z²tùDWDmíR¾ qríÕbkWüiˆåÙÌq°éaâT_•‡ã²ª0ŠÛTƘ@ª°½ð¯]zB”8*ÝEDPc|Ìâ„Ké?¸ÏWÕg·EË/r°ÇÚò%£Îƒ&oª_•búú]â¨kž ¿žì)„ßvÃÞt«Q¹Ž¢;l&Ž¡ûäA>%â⥥”zÌhì¼í­Ø }ßg Ç­»‡ùü5–Þ-ly¯Q8,ÐÊR®•HgkéXDhÑÐ|Û3÷Ì›Åüê°CÀáô5uåÍWh ÞÈA:)²ê;E´º•¿g&âc¹X2øX}äuò1íù1ýeòa9ŸšDWPK¨¨uCÜ9Ìõ~¡ãíÁ«{öØ ÅÎæ4‘GùôMÚ°¯\bºÓl>ù~6ŸEŸú±D2'®®á“ÍFÕte0Þ½]cÔyèPýPÝÇ\æ^ßÇÍ<.dJÝ¡óñ|B[Ô¨:E s:þ‡ ú£u?îïÐÇ!ûLèk2˜ê·^GöËyLýÆôyñJUùé[)Èks¸<½ñáî§»Å<ùßÝóB^wÅ‹€õŸZ«éMæ«EË«dk¨ •À¨áim™W:í¤MŒ8f°ä¨5ê ¨¼vG÷äÓûÙí§åtzE¦‡à•É1ƒú¢ž~˜a½KÌ}Æ ˜Å‡c‚7M‹„èÇSŽ(dZ†Ìij“ƒÓhð3üü ’Ëendstream endobj 6 0 obj 2148 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:29+01:00 2016-01-27T08:26:29+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002472 00000 n 0000004362 00000 n 0000002413 00000 n 0000002253 00000 n 0000000015 00000 n 0000002233 00000 n 0000002537 00000 n 0000002791 00000 n 0000002726 00000 n 0000002658 00000 n 0000002578 00000 n 0000002608 00000 n 0000002873 00000 n 0000002939 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<73C22317A100A56992DABB57C2F0D4EC><73C22317A100A56992DABB57C2F0D4EC>] >> startxref 4516 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SASL_IR.pdf0000644000175000017500000000742612652070443016123 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Vír›Fý¯§¸3ýQȈ Ëò™v:Cl¥%A‚ ”4cw4­lR²@qó}•¾cï. Y²Sfb—{Ï=çÜ»ºPÐŧ¿æ›Ñë¹·ÍH‡ÛÑýˆÊEè/ùÞ¦¸ÁÒõ¨{‡‚c€ã1âznF®N ҇ѕr±˜‡Qœ.? —ÁüZa×*äû]¹äYómÙð¶Þ¶ªfX:ÑuGÁE]5ðÜkêŸéû‘†¡)&Ƀ‡ˆg ̆4)3_ýaã*µˆå1„–®FÊt¢¦_6tbêhÔËú³Há_àUvSrhxµ*ª[(ª¢-²v¼Ù"FŽàŸ]ÓÂ6ËÿR=â¹³ÞJœ'è4„§Q›¸MòyÅIœb’[$凢ÊËýŠÃÏ‚¨×â‹Üý"¶¦,S@ÍkÜpNäµ\‚WwYµ*ùøœÆ1”5ÒÕu­þ„dýÎËIr1â4ˆf"72O­Žøg0Ç™Ø#©÷ˆkuÄ£¦´#·i “É khï8|U “xžá(Y¹G. cY<e)I—ûž°ÞÖòyÃw_%ӆˈmêžÈ¨ðGl”e{¼­Ú"Ï„¿:Å/e”0Ú£Ò‰:Mæ` }i”èž+cbÀz·ÂÈaÇWûœËÕ~sƒë5l…M¶‚â¿ßó¦mDUù ²í¶ÄÜÂM=üu]–µHǘC,§Ç/ruøD¨f¿ÝÖ»VÜ %ºaÿcó*gåmxŽ(šMóFº†HÝ”Wá¡;2ª÷I¯”úK{q™Éë¯IâÇÞÌÒpŠ—He*iÚŠyÀ z׊CMØR’otDÍê–¿OwE‰ÔS?*i°vTºërÁÃN*_ÕPq¾ÜðÎæŒº{ÐÔpdØ¿‰E‹|¢Û¡hÇ5P7Ò5yVÁŠ·|·)ªN—5Ï4IÙî´ßÛ½HÞ6¼\òwtÕZžðÐ#Ü\j ád¸ðcÕC¨Œ¼  ý¬RÃSÈK9y×w’eºBD5iï?!W©˜„ý 3læô«azè°cЦt‡™‡FÔ»±ò] ñ¼‡`2 š˜dðŸ†UY£uŒ8º=ŒÓ‹(<^ˆÙCGBôGÖÃ÷]×ëUÆñ!0‚´ìÁˆ—£˜Ž/H¦iü´[Ê™üáOãp2 (÷»*=Vƒ¾=ôüeÔsn¹î“SE3=±óMHcJþGðìèĶh_„„ƒ'N(B1™éžšPñW+´=6ƒcˆ¼ Ý•2Ÿ¤‹ù >ª”á촩⇋Ioº§%ã~Ž&ïOÓÉ2úE7{ûþÃÎëýÍWcÉy·q1û0=¯|š-#9ÿÅ‹Uݾhðd2?L¢c!ç†iêáÒW‘`y,ÒßÎê hÌA$yüOƒbNÛ>ް“¸ïæ*Ó»‰MŸÄµ :¬‰cÄÂYÆNµ.æ0ZPÅѨeyJÁÿï÷˜@7AE¨I:ú?ÿ%}h³endstream endobj 6 0 obj 1140 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:27+01:00 2016-01-27T08:26:27+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001464 00000 n 0000003275 00000 n 0000001405 00000 n 0000001245 00000 n 0000000015 00000 n 0000001225 00000 n 0000001529 00000 n 0000001704 00000 n 0000001639 00000 n 0000001570 00000 n 0000001600 00000 n 0000001786 00000 n 0000001852 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<2E42A70ED3E47924FD800EBF8B9DD0DB><2E42A70ED3E47924FD800EBF8B9DD0DB>] >> startxref 3429 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPPOST.pdf0000644000175000017500000001057212652070433016247 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­WínÛ6ýï§ 2 ‘›õ­mà& êÖ±<[i$CÀÈL¬M–\‰j–wè«ìwIJ–?ÒfÀ1l^ñž{îá¹ôgd`‚ ñjÞ“Uïtæ¡Çªg ÇÞç‘‹¨yKVèm ¾ø"~è©gòLäö¯zžMÅO½íìj6ަñÝ»8žN£y|«Y·:Jê2»c´z¾«/Ö\˜Ž ÃÓàCZäzñ9ý÷ø}o›H“ŠPàÀ@,Åãž6êÇV‰ƒÀpñ¢§]†züÇlÓÀ¶á¡1Ų!°@E£jÍ’ôáñ%C«:ãéš–=åj]T%EÎYÎÕÖ[Xf@\ìËÜóëI4æ»dˆÌ®ýæIV/úYðr*þáå/"Ü´EQñ‰â1) fŸº[¹„N–4_d¬@œîÙØ .Ñú’=×Ù¤­xY'\m¸ä|-K:i‹»Õ:¬‹d«°óp~6MãQ4¡ÐOµå…c&Bdcì;ª-ÐדÜgY…²ô^`AÏEžD´ëbÇ7‚.Ö•±4çˆví8ˆ”S$JF²s¼@÷Ð1 |-rÇ4oê}ZRŽd ôa?e_Þ†UÀÕäÃ$Ò-[uàÓä.’yñT^pÜ$úöš0DÃñ<êªØ»ð·LLÓ‹Q8>ßsi[‘ÖÄå\ëïîëngfÛÛíÝ–ÄpÜÄu;Áñ)£`W1ÔZ±‡á~cè `'°±£½¯sdÂŒ•eÛ›áBÄFaÜû^ÿ°úendstream endobj 6 0 obj 1653 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:19+01:00 2016-01-27T08:26:19+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001977 00000 n 0000003867 00000 n 0000001918 00000 n 0000001758 00000 n 0000000015 00000 n 0000001738 00000 n 0000002042 00000 n 0000002296 00000 n 0000002231 00000 n 0000002163 00000 n 0000002083 00000 n 0000002113 00000 n 0000002378 00000 n 0000002444 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4021 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_AUTOREFERER.html0000644000175000017500000000415712652070414016741 00000000000000 CURLOPT_AUTOREFERER man page

NAME

CURLOPT_AUTOREFERER - automatically update the referer header

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_AUTOREFERER, long autorefer);

DESCRIPTION

Pass a parameter set to 1 to enable this. When enabled, libcurl will automatically set the Referer: header field in HTTP requests where it follows a Location: redirect.

DEFAULT

0, disabled

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Along with HTTP

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_REFERER, CURLOPT_FOLLOWLOCATION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.30000644000175000017500000000332712626067776016371 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_UPLOAD 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_UPLOAD \- get upload speed .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_UPLOAD, double *speed); .SH DESCRIPTION Pass a pointer to a double to receive the average upload speed that curl measured for the complete upload. Measured in bytes/second. .SH PROTOCOLS .SH EXAMPLE TODO .SH AVAILABILITY Added in .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLINFO_SPEED_DOWNLOAD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.html0000644000175000017500000000461312652070415017577 00000000000000 CURLOPT_TLSAUTH_USERNAME man page

NAME

CURLOPT_TLSAUTH_USERNAME - user name to use for TLS authentication

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLSAUTH_USERNAME, char *user);

DESCRIPTION

Pass a char * as parameter, which should point to the zero terminated username to use for the TLS authentication method specified with the CURLOPT_TLSAUTH_TYPE option. Requires that the CURLOPT_TLSAUTH_PASSWORD option also be set.

DEFAULT

NULL

PROTOCOLS

All TLS-based protocols

EXAMPLE

TODO

AVAILABILITY

Added in 7.21.4

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_TLSAUTH_TYPE, CURLOPT_TLSAUTH_PASSWORD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.30000644000175000017500000000337012626067776016462 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INTERLEAVEDATA 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_INTERLEAVEDATA \- custom pointer to RTSP interleave callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERLEAVEDATA, void *pointer); .SH DESCRIPTION This is the userdata \fIpointer\fP that will be passed to \fICURLOPT_INTERLEAVEFUNCTION(3)\fP when interleaved RTP data is received. .SH DEFAULT NULL .SH PROTOCOLS RTSP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_INTERLEAVEFUNCTION "(3), " CURLOPT_RTSP_REQUEST "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_FILETIME.30000644000175000017500000000420512626067776015657 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_FILETIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_FILETIME \- get the remote time of the retrieved document .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FILETIME, long *timep); .SH DESCRIPTION Pass a pointer to a long to receive the remote time of the retrieved document (in number of seconds since 1 jan 1970 in the GMT/UTC time zone). If you get -1, it can be because of many reasons (it might be unknown, the server might hide it or the server doesn't support the command that tells document time etc) and the time of the document is unknown. Note that you must tell the server to collect this information before the transfer is made, by using the \fICURLOPT_FILETIME(3)\fP option to \fIcurl_easy_setopt(3)\fP or you will unconditionally get a -1 back. .SH PROTOCOLS HTTP(S), FTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.5 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_LASTSOCKET.pdf0000644000175000017500000000774012652070455016536 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­VÛnã6|÷W ‘6—]Û¢€ÖQ7^˵•lIa(2««H^KÞ ÿÐ_é?ö’åKœ¶…ƒ8ÉÙᜡ¾% ¨ú´ßéSïý̅ǪGá±÷µÇô ´_é|ˆq‚§Ä½f —ƒë âù?õ,Ÿ0âçÞ­1¼žG“Ÿ£Å8˜ÇóhxÆw†¸3!Ýnò…Lª—Å£¬³â¡4ܦF¹®³²¨à­uæïñ/½%œáN)ññm…E8{Æ$0/;Ž2›Ø¾@|ñ²g| Íøäœ‹º0`\ Ó7áÂ_€¡^IÈ“ª†ªL¿˜¸'e–càÀ¶’KêËÁ ˜C<½÷üó$šÎGóczŠÞÝø.+Ò|»”ð£Òå½úEV?©éÜÒ¤°´Ä ¯t»Ócðn•Ë\öÏ)‡zpb+Eux«H?Wh¥\âz”zÍÀ­QðNõ‰ïS.èùÃ9š6%®@õ2œg£i<Š&o²½”ëL“Z.¡Bâ\bÙ„¸®d³ˆÑ¿zIìpuÜSPcnÂSoXSxÄs[®YQÕ2YUíôè8Jaœ1M:5|âÙÍ:ôˆã*kU ¬Ë¬¨åêÿÉ•JøR‘ÙQ]Æ<ÂQ•¶„Û–ø&¡îö@oRᲓmn#›¡úž-ìÍàþ}˜UÚPɪÂ^!0zÐîÔ+”œÚ„{ûÊŽÞkàÊ¢Ô¸‘Ã7ÅqµE‹ÔHòlÙ×L,f¡av½A˜å7èLÙÈz»)ä’À§•,à¥ÜŸEV­à¹C\n¾d(ÏsV¯NÀ1—pÑñnrÁõu™§-RO“ËÓÖÌZÛÔÍáú®íìW* žQ·FÞ62Q©–áØ}VWèèÆmQØœ·peã5Žáäð“$~^e¹Ú½‚ L[C™öB•\—ÔY¡¶lõ؆À0ùßò¢Ùv=6Ú=žz“MGñǸֺ‹¿é¬MKxºÍ-·e<àØmº“Œ(†¨Ë.ˆKÝE5ŒÆ'ŀߖÕhçg°Þ8áoÁÇé8ÜÅ’×\–g²8ÞÃ`BµcâR?ÆmÏ{uÑš ¾Û §QKÓ n ØÓ¢Ä±Ùî´GãàÃh<Š?sÃîqxúF°\êf‹Çù?s½5fa|=›ÀÉ„E|‡Áø:<9Ý=eœ¯ó«yÉÑ•:dåÞæåC¹¬Ú®×å» ¯¢™x=¹ÂfÂpû4YDú†S ±5È¿ÞÿaÁx퉜B:½ÖMŽ÷³}£<ááZÄíÙÐ>î—Å]‡îdß®dÕwaÿµÔQ;Ùöa;é$a¿ª‹/ ‚ؘÓê¥ÁjJî›Ê0¯#U™Ë5pT É®9˜*ƽ_ñó7{KÇ‹endstream endobj 6 0 obj 1243 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:37+01:00 2016-01-27T08:26:37+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001567 00000 n 0000003457 00000 n 0000001508 00000 n 0000001348 00000 n 0000000015 00000 n 0000001328 00000 n 0000001632 00000 n 0000001886 00000 n 0000001821 00000 n 0000001753 00000 n 0000001673 00000 n 0000001703 00000 n 0000001968 00000 n 0000002034 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3611 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLCERT.html0000644000175000017500000000543112652070415016272 00000000000000 CURLOPT_SSLCERT man page

NAME

CURLOPT_SSLCERT - set SSL client certificate

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLCERT, char *cert);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. The string should be the file name of your client certificate. The default format is "P12" on Secure Transport and "PEM" on other engines, and can be changed with CURLOPT_SSLCERTTYPE.

With NSS or Secure Transport, this can also be the nickname of the certificate you wish to authenticate with as it is named in the security database. If you want to use a file from the current directory, please precede it with "./" prefix, in order to avoid confusion with a nickname.

When using a client certificate, you most likely also need to provide a private key with CURLOPT_SSLKEY.

DEFAULT

NULL

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

If built TLS enabled.

RETURN VALUE

Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSLCERTTYPE, CURLOPT_SSLKEY

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROTOCOLS.pdf0000644000175000017500000001217512652070440016345 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµXÛnÛF}×W Ї†¹æòºì pl%V [ªÈ-¤@ $ÊfK‘ŠHÅ5ú ù•þcg–7I  a BÈáÙsæ²;³Agtú«~—›ÞÅÄ…û¼§Ã}ïcË—Pý,7ð:@A‚u¯ü†ƒk€ë™LxlzÊÕûÉp4æã‰üÙÓtfA°ì93…'Ð>Xõ4΄€à±§Œ‘™N6Ücžãy¥ }`‘ÍT¹ ý™bÎTXîwÉ< ó§yÙ¶P5ÂÝa’dªa1OØ–ò­`»ËŠl™%¹tɱÎCúw˜+ùÜÆþÀ?¦,MJº?Äé2Ù¯"ø™¢qAÿ°‡_ÉÜ@âÃRÏ2CƒÓhÍä+8{ÓUÆêU£Û° ~¤¤~)ÿ’,½‡E\lÂü¯™úS)áP­©2`Úë¾5ŒƒÁè®r>·Ë8Eù8l(xLTÙÄwJŽyaI¡x xÈ’=©ø@¶–‚£Ì]ܬçË¥å\i3?ƒUô9rƒ5ìóhuŽ Çy³`oâ"‡G"Ó¦-n肹®U C.T»ˆ™Ä lÂ'B„8EÈŠ]˜æëh'ƒŒy%Ks¼ò‚‚–/=UæN¢T¦¤ÍtÝÀ”Ìá)ÛC‘ÁCXiéu_êvXæ–¤>Eä×Þ0ˆ®¨,¯,€ŠùBÅêÒu×TöqRÐ"ù~»ÍvXðcR¢”ûˆ‚q\Tâ„®¦Ë8*¬ƒ¾Ø—ª1'˸W‚‹ü ,¡ë #“KÚEœ$e ßFËøó²ñcN¼²4y‚ETú¡¸c1Ëh@ôJ0ZS4BÔ²  Gö– ƒ×O˜k•“dËSÂ=J®cøHë‡Ëe´•[B©’ “5;OY:€˜–ÎÊa¦”ÕÃõª„ËêX™Æè3Sèß­Z‹7ûëür8<Ù f˜5FIm¦2ð#rQžÐ±ð¼iVl¶ÐIÿz09ÙH=›²ëùÌŽvþÃ}€q®uºËL‡3Œ“F_Í9xˆ(T»HVNX2¿ŒSíÄO‡› &œ¨6%NÂE5éYùÈñÐGž8::N"!Øÿ9ææ×ƒ+Y¹š$=ô7ß †ýŽƒqç€~·ˆoGã›þ¤[Ì› k݄رðÁíeÇ$ ±S’Se>¼VMê WAºr'|!p¿Ste>ÍnýKˆ]ûw¢:Õ©Üvîß#ðþ‹¢w½SôàeÑ_Ö5ÁKúÆï6i”¹Õñ®äw~ù·¯;ìxs÷o»Ýù ô‡wýŽ{˜ ŠöñôèY5|;>¾©ÐmKÈá¹U·¥—ïå[NY^Ý ŽéVo‡íÈÔ¶™4 ¹®kZGMúT¹Äf¾íÔiÊ‘Ž§_êúÖ¦¤È-$áV¬f0¸¾è t§¾À –ø¸FM’lX¿¯ŒÛ‡<ú¿_ÞŽ‡'W!ít]vÏrrùåàæ Nãb¦TÃ> stream xœ•TÛnÚ@}÷WÌ[×ÞìÕöªO$uU S³¤ª ²RpRªp 6Š*µÿÞݵ i¢"?XxfÎ93s†{ ˜±Oûž.¼Ó<‚ÛÊ#pëÝ{Ô¡}Mp¦MBl?诩¡1ˆDZ½ðÐù(O³.¹¯zÁôÔ 汊M¾žyÅq úÁC™†Ì¦›CV¡RMŽ-6gŒÎ³t8A|âÃt»¹+ÊëêWQ•õj]û¦Hqd~ÌWË öØ¿é‹'zÎb,äÿ³ï8]F:ŽbxhƒÄ?×2q_:ðïþ©äXѾÐq”¬$”5ƒˆÍcܶö`#ºø¤õ~ÃKHâ#æÓ¢é¯¡;ðcÖŠ¡Ášøï S3Ó2;²Ó”››Õfõ6åý¶¬j89µv6éþNÖMj³ ûÎ v3üÓ K«kj,­Œ¥í«í’⸕Nœ Q÷ ºOÒÁ¡4Xô^Ú=ë¥=ýÕÆ÷ÎC‚–´é¢;›•3˜/!¦ÑT¼Æ>Fy¢Gy®|Ê…™EÝt”8gïx\kóËz»iÏ )²K˜ß¸i5çó ªíz½ÚÔå¬×ËY›8ê_ö3ŸKô¥_ïö²¾-\®jÜr½¦ “ºé0Û5r(ééï O>ôòçGA¦âM“0j&½w‡#ffœÐ6îîµs¨Ä Cò¸©G1æuɋ͖Íú$ðîîÇènþÝšÊlЈP)•ÀQÛ%0B…›šy Ê,^¢½Ïæù žOÁendstream endobj 15 0 obj 603 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:24+01:00 2016-01-27T08:26:24+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000002579 00000 n 0000004538 00000 n 0000002513 00000 n 0000002191 00000 n 0000000015 00000 n 0000001476 00000 n 0000002644 00000 n 0000002967 00000 n 0000002902 00000 n 0000002834 00000 n 0000002685 00000 n 0000002715 00000 n 0000002351 00000 n 0000001496 00000 n 0000002171 00000 n 0000002765 00000 n 0000002795 00000 n 0000003049 00000 n 0000003115 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<937B9AB1BECBB7BB61F1A894A7A307EA><937B9AB1BECBB7BB61F1A894A7A307EA>] >> startxref 4692 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_OS_ERRNO.30000644000175000017500000000342312626067776015750 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_OS_ERRNO 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_OS_ERRNO \- get errno number from last connect failure .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_OS_ERRNO, long *errnop); .SH DESCRIPTION Pass a pointer to a long to receive the errno variable from a connect failure. Note that the value is only set on failure, it is not reset upon a successful operation. The number is OS and system specific. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.12.2 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.html0000644000175000017500000000647112652070415017506 00000000000000 CURLOPT_SSL_CIPHER_LIST man page

NAME

CURLOPT_SSL_CIPHER_LIST - specify ciphers to use for TLS

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CIPHER_LIST, char *list);

DESCRIPTION

Pass a char *, pointing to a zero terminated string holding the list of ciphers to use for the SSL connection. The list must be syntactically correct, it consists of one or more cipher strings separated by colons. Commas or spaces are also acceptable separators but colons are normally used, !, - and + can be used as operators.

For OpenSSL and GnuTLS valid examples of cipher lists include 'RC4-SHA', ´SHA1+DES´, 'TLSv1' and 'DEFAULT'. The default list is normally set when you compile OpenSSL.

You'll find more details about cipher lists on this URL:

 http://www.openssl.org/docs/apps/ciphers.html

For NSS, valid examples of cipher lists include 'rsa_rc4_128_md5', ´rsa_aes_128_sha´, etc. With NSS you don't add/remove ciphers. If one uses this option then all known ciphers are disabled and only those passed in are enabled.

You'll find more details about the NSS cipher lists on this URL:

 http://git.fedorahosted.org/cgit/mod_nss.git/plain/docs/mod_nss.html#Directives

DEFAULT

NULL, use internal default

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

If built TLS enabled.

RETURN VALUE

Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSLVERSION, CURLOPT_USE_SSL

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_PRIMARY_IP.30000644000175000017500000000422512626067776016176 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PRIMARY_IP 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PRIMARY_IP \- get IP address of last connection .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_IP, char **ip); .SH DESCRIPTION Pass a pointer to a char pointer to receive the pointer to a zero-terminated string holding the IP address of the most recent connection done with this \fBcurl\fP handle. This string may be IPv6 when that is enabled. Note that you get a pointer to a memory area that will be re-used at next request so you need to copy the string if you want to keep the information. The \fBip\fP pointer will be NULL or pointing to private memory you MUST NOT free - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the corresponding CURL handle. .SH PROTOCOLS .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLINFO_PRIMARY_PORT "(3), " CURLINFO_LOCAL_IP "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.30000644000175000017500000000412012626067776016315 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TRANSFERTEXT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TRANSFERTEXT \- request a text based transfer for FTP .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TRANSFERTEXT, long text); .SH DESCRIPTION A parameter set to 1 tells the library to use ASCII mode for FTP transfers, instead of the default binary transfer. For win32 systems it does not set the stdout to binary mode. This option can be usable when transferring text data between systems with different views on certain characters, such as newlines or similar. libcurl does not do a complete ASCII conversion when doing ASCII transfers over FTP. This is a known limitation/flaw that nobody has rectified. libcurl simply sets the mode to ASCII and performs a standard transfer. .SH DEFAULT 0, disabled .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Along with FTP .SH RETURN VALUE Returns CURLE_OK if FTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_CRLF "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.30000644000175000017500000000334712626067776016616 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_SPEED_DOWNLOAD 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_SPEED_DOWNLOAD \- get download speed .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_DOWNLOAD, double *speed); .SH DESCRIPTION Pass a pointer to a double to receive the average download speed that curl measured for the complete download. Measured in bytes/second. .SH PROTOCOLS .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.4.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLINFO_SPEED_UPLOAD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FAILONERROR.html0000644000175000017500000000515212652070414016734 00000000000000 CURLOPT_FAILONERROR man page

NAME

CURLOPT_FAILONERROR - request failure on HTTP response >= 400

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FAILONERROR, long fail);

DESCRIPTION

A long parameter set to 1 tells the library to fail the request if the HTTP code returned is equal to or larger than 400. The default action would be to return the page normally, ignoring that code.

This method is not fail-safe and there are occasions where non-successful response codes will slip through, especially when authentication is involved (response codes 401 and 407).

You might get some amounts of headers transferred before this situation is detected, like when a "100-continue" is received as a response to a POST/PUT and a 401 or 407 is received immediately afterwards.

When this option is used and an error is detected, it will cause the connection to get closed.

DEFAULT

0, do not fail on error

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Along with HTTP

RETURN VALUE

Returns CURLE_OK if HTTP is enabled, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_HTTP200ALIASES

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.30000644000175000017500000000674112626067776016765 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_XFERINFOFUNCTION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_XFERINFOFUNCTION \- callback to progress meter function .SH SYNOPSIS #include int progress_callback(void *clientp, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XFERINFOFUNCTION, progress_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This function gets called by libcurl instead of its internal equivalent with a frequent interval. While data is being transferred it will be called very frequently, and during slow periods like when nothing is being transferred it can slow down to about one call per second. \fIclientp\fP is the pointer set with \fICURLOPT_XFERINFODATA(3)\fP, it is not used by libcurl but is only passed along from the application to the callback. The callback gets told how much data libcurl will transfer and has transferred, in number of bytes. \fIdltotal\fP is the total number of bytes libcurl expects to download in this transfer. \fIdlnow\fP is the number of bytes downloaded so far. \fIultotal\fP is the total number of bytes libcurl expects to upload in this transfer. \fIulnow\fP is the number of bytes uploaded so far. Unknown/unused argument values passed to the callback will be set to zero (like if you only download data, the upload size will remain 0). Many times the callback will be called one or more times first, before it knows the data sizes so a program must be made to handle that. Returning a non-zero value from this callback will cause libcurl to abort the transfer and return \fICURLE_ABORTED_BY_CALLBACK\fP. If you transfer data with the multi interface, this function will not be called during periods of idleness unless you call the appropriate libcurl function that performs transfers. \fICURLOPT_NOPROGRESS(3)\fP must be set to 0 to make this function actually get called. .SH DEFAULT By default, libcurl has an internal progress meter. That's rarely wanted by users. .SH PROTOCOLS All .SH EXAMPLE http://curl.haxx.se/libcurl/c/progressfunc.html .SH AVAILABILITY Added in 7.32.0. This callback replaces \fICURLOPT_PROGRESSFUNCTION(3)\fP .SH RETURN VALUE Returns CURLE_OK. .SH "SEE ALSO" .BR CURLOPT_XFERINFODATA "(3), " CURLOPT_NOPROGRESS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYAUTH.pdf0000644000175000017500000001027712652070440016365 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­WÛnÛF}×W ЇµÞ ¯hQ@qX‰"©•İ ¦h‹D*¼ÀÑ?äWúÝ%EÉ‘]´ ø¢½Ì™3gά¿% ¨üªF›ÎùÔ…û¢Cá¾ó¥ÃÔ"Ô?¢ ¼ pƒ'?î:ú —ƒë âùl:ÆÅ|:O‚Ådjuº”XD‡áùî–cüI­1Âå³Ípl:ÆUærU{|â3Êõ‡Û—{®àòÆ7&DU¾^Äa±[q™mK³Ë-<âÙþ‘di¸þ Þî Æ‰Ë®M8g¾Ür>õ‘0âÛ’³®e Bt…£NŒzíU6f%ê›Þ÷åç-×áRºŒ«å$ù™¨Ê1¸„¿™„Ë ˜À6Ï¾î ¬ÊUœ–IJBa—«lY@™A™ï4ÚÃD™@4"vˆ§bήFãÉl0;N yh’ú%I£uµŒá7YÍsù¬~—Û9¦7ÔYGnx\íµ/Waº\Çg‡µ~±g‡[ˆ„ýœJ7,Á:Kïá6)7añùÆüõ{à:<¼îÏ.¦ƒI0êâ1[ëä'“pÀ'ž­£3TÒ¿QjaÛ0±*q.b3Oc² ü:ﳇ6!A¸pýöJO]¹J¢$…ª>Ö6l’;S•Ž×kX'·²ð ¶*…œÔÆQÔ½ÀPÛÔµš¬(Ž£ûw—Uð`"[”:ÌÓ¶*b¸ËrÀõü¤þˆÙµ…Cjƒ;Ødy %–²4–ˆë ÎZ° "ÿ–%|©â|‡›c(’2Vf a ‘f3Å(â ˧d!Šj»ÍòK.å})l“賺ù6Æ@ŠÌ/\¯3Ô¡@Y1e9'6µ4ñׯCb ùñ„Q–êWF]#«2U)ÌÓfB4Š˜À“¡µåPdBK‰5Ü[&ù渆Œ\!+Šˆ$]VQŒÀ!–}-óÒ¸|Ðl8‚XŒ7Â`\è{²ü3äY•.»ežl ̤B0Ù0*«p )ŠOQ± ‹¢®©åã©%Æ,Wr«ºþ|Êhãj–M¸SK›¶«ÔbQ8èÉMœp: ×ñý£fÖ¢æÄ´éò«ù¬?||½wå¶ÇfíoÐC‚h±¢×bŸw¥é,;œx”ën_ÅM/@„ÌÝ¢á`)ó**ã%Üî Ë_$ØŠevŒÇ¹VB‚¹«ÖëJ±%E˸ˆòäÿJREŒÂ¶çE3ÀNÃŽ‰‘ýWS£lÄnFHo~Ȋײr0¥ŒƒÄ5¨ímƒInÃû˜œ0wî×=2µ7 KÙ’è3‹aA»¥8Äô¬ãŽpëÕa°GÚ’¾èº®Ø»Æµ2ùžic¯0Û7æÁåâ•)ly§0z³ÁE-¯#÷=tÞVC«mŸ;ÍðïrBõ«Â0Þ#₸ÔiH½ 0LÊG”{˜FSg€ô?õÞO†ýÆþ½'í?Ú5«ýßx=®é´=ïÄ×;÷Ñ$ë–Ê«÷Úç—c®érc0ì½ ÁÕqrX'aaŒÆ¸õ5Ë¥®‹NEÜçs½6¦ý`>Á“ ‹øèò½á¼_—êû”Q†õh˜Æe•×·þbü’;ÕQºW•ÁkŽ—gõ¦ùèÝhlÊ0>åÆÇÑb¬Æ¬<™f8 ²¼1Õ‡NðR ª¿À#Õ* PQ8ç}îxÆ|04}.µfáçƒQ¿ñ€bGÉ7d"ÍZ$OŒ òoÒœõûÐÎÆ-™”ðÄ‹éb'}Ð"¯>*©+ߥ~SwågÇQ9#Â^ë>ÿ7pp5yôŒøoBûB}:øÇ®ÿ8¼­“ÿáãuQþ³I:åϺ6®&ã©)”À\#xÜ-ú>£1Ê@PŸ8ú–æIã"TBÍ.³mß"¶o·U œ2K]mí]‹É«úAçüúd7‚€endstream endobj 6 0 obj 1468 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:24+01:00 2016-01-27T08:26:24+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001792 00000 n 0000003682 00000 n 0000001733 00000 n 0000001573 00000 n 0000000015 00000 n 0000001553 00000 n 0000001857 00000 n 0000002111 00000 n 0000002046 00000 n 0000001978 00000 n 0000001898 00000 n 0000001928 00000 n 0000002193 00000 n 0000002259 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [(xBWS\032\022\004S\270b1zH}\235b)(xBWS\032\022\004S\270b1zH}\235b)] >> startxref 3836 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.html0000644000175000017500000000470412652070415020245 00000000000000 CURLOPT_MAX_SEND_SPEED_LARGE man page

NAME

CURLOPT_MAX_SEND_SPEED_LARGE - rate limit data upload speed

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAX_SEND_SPEED_LARGE,
                          curl_off_t maxspeed);

DESCRIPTION

Pass a curl_off_t as parameter with the maxspeed. If an upload exceeds this speed (counted in bytes per second) on cumulative average during the transfer, the transfer will pause to keep the average rate less than or equal to the parameter value. Defaults to unlimited speed.

This option doesn't affect transfer speeds done with FILE:// URLs.

DEFAULT

0, disabled

PROTOCOLS

All except file://

EXAMPLE

TODO

AVAILABILITY

Added in 7.15.5

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_MAX_RECV_SPEED_LARGE, CURLOPT_LOW_SPEED_LIMIT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.html0000644000175000017500000000476412652070414017174 00000000000000 CURLOPT_DNS_LOCAL_IP4 man page

NAME

CURLOPT_DNS_LOCAL_IP4 - IPv4 address to bind DNS resolves to

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP4, char *address);

DESCRIPTION

Set the local IPv4 address that the resolver should bind to. The argument should be of type char * and contain a single numerical IPv4 address as a string. Set this option to NULL to use the default setting (don't bind to a specific IP address).

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one.

Added in 7.33.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, CURLE_NOT_BUILT_IN if support was disabled at compile-time, or CURLE_BAD_FUNCTION_ARGUMENT when given a bad address.

SEE ALSO

CURLOPT_DNS_INTERFACE, CURLOPT_DNS_LOCAL_IP4

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.pdf0000644000175000017500000000735012652070437017072 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VÛnÛF}×W Ї’¹Þ —ä¢EÅfÅŒ¨JTÚÀ. Z¢-µ”¨ˆd‚üC¥ÿØY^us/`A»Ã™3gÎú3P€êOó½Ø ®§.¼ä /ƒÏV]BóµØÀÛ<}=êg¸\%ˆ§ Ú Œ›ù4'Ñc8ñdzðæÎnÍè÷Åc-Œs"<|0ZêCއ_Æ0‚¡£UˆG$£¼ŽáŠWÇ܆x0aQîÓÇ$ο=æI‘í Óâ¶"Ê“þXgÛ.Aø-zßcàÊ!ÊþïêÊU£•¸ž*ä(©©°léaƒ%œ*~|H©D“烯Ï{ 9%6uÁb¼ºþ?Üup9‘UOŒÐð_‹x”Õ´f²Ì‹l»l½-’=ìâÃÉl4;nYi[ün½]¤å2õ¯õ²ú©êÆ(¨9Xdp:ç‡ê Þ¬âí2M®.Nùûž+A5¦WFÜpv<ä«/gª}´âËÈÖKxÓ°õ`þP7wȃp«²=·þìf:šD£pÜȆÉZ58™Ä‡…eS™p”®žç×%m­çJÕopΈãq¯OÆëÑ«¸€¯ë4…§Êm‘•‹ÿé¤ë'Í9 ¿­$âŠUîó⽉e•òŒ—r“l Xo«K­™J2hBE¹8“Œ%ÑÂÂëd^sŠCEÅê¤3‹ÄS­ÆÏgün>¾Ñ¬vŽ<ØG® -%ä|FÜÄUG3z×ÌFÚ^e!Œe6ký5o¼GÑ¡µ‘¹ƒ«¨¾ ¢nf==f×uõ"¨[½7"dh™)Ê}óFòÃ;X?7žÑo*=ë¼Üí²}‘,¯*ßÕóñÝ84…4~£ôµÜõƒÛ¬øWUÌ|†Á,ì9™ÂëŽ:5“ƒûãðõwuœK:N»;ﻼ:§Éõ*à®]öc’˜”Äãgé-áI­M%qêÌíZrñÿBM U6‘†½/·Àñ5U%·;]Wcô£ÁÏøùÃ*,Çendstream endobj 6 0 obj 996 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:23+01:00 2016-01-27T08:26:23+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001319 00000 n 0000003209 00000 n 0000001260 00000 n 0000001100 00000 n 0000000015 00000 n 0000001081 00000 n 0000001384 00000 n 0000001638 00000 n 0000001573 00000 n 0000001505 00000 n 0000001425 00000 n 0000001455 00000 n 0000001720 00000 n 0000001786 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<94C0D57C775D001FC74D8988E51DF8CF><94C0D57C775D001FC74D8988E51DF8CF>] >> startxref 3363 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CRLF.html0000644000175000017500000000426012652070414015677 00000000000000 CURLOPT_CRLF man page

NAME

CURLOPT_CRLF - enable/disable CRLF conversion

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLF, long conv);

DESCRIPTION

Pass a long. If the value is set to 1 (one), libcurl converts Unix newlines to CRLF newlines on transfers. Disable this option again by setting the value to 0 (zero).

This is a legacy option of questionable use.

DEFAULT

0

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

SMTP since 7.40.0, other protocols since they were introduced

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_CONV_FROM_NETWORK_FUNCTION, CURLOPT_CONV_TO_NETWORK_FUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.pdf0000644000175000017500000001023312652070432016756 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VírÚFýÏSÜITdÌzWßšv:C2!!à‚H›±;Œ"£FHD+ìð}•¾cï~H»NÆ36fW{ι÷ܳú ”0 òÇüMw½Ëyw¢Gá®÷µÇÔ"˜?é^Ÿ!”_Ä›ž~†A`C9$Œ Þõœxøá¡wc]-ç“Ùu¼zÇ×6¥ÃÉx¸-n-ç¶é¡ÊW<Ç•àu¹¯ûÛ£„ÒÀ²²ð§ûÅïzJl†H)2Љ‘`SâÒÌ–ËTò~†6ü bÏÓls„$¯yU$u&ÏBÌ“86õ‘Æ¡ÄQGÝsØÉMšHD •ŽÅ§éìz1^œ«AíF‰õSV¤ùaÍáWYéKù‹l“ÛmWHªLKÜð¸·j ^n“bó‹gúpåõ½NÔÕ!­õY"ÏD /“—D¡ç*̇,Ï[à<û¢êˆW*sˆ¡jñúL©ç˜•\¥a›ÔjBS^ÕIVÀÑ ¹ãEmJ.Wq!ù,x‘ré-¥Év±în×6Ju*ˆCº%ðêzF³âêm&‡H~Æ“Žå¡j| ÆŠ¸‰wÝU Ï]—€ê„ãÚ$tZ—RªetN4F‘þPD›ÎRP’”‡¾\b5Ú®©!¶«:¿¼±â-ï†LØ ™Ø–ì²L`sÈó#”`2ê#ã5y”×1lT?Mý ÖƒIž¹¯Ê=¯ðÐò³B3ó}âx_—‚ënÇ|àbî¸n›ùV‡°Jö{^¬õs6ø¡‡¢ì4ºqæSUzÕEy= tQd&îæjSõŸD‘m[œ¯’<ï.¶Ø€°V!æ©Mú:)tPùNË0Ù|z¼ïÆ]â‡mø±¨™p¼®w ˆ©Ë´Ì%X"Äa‡HÈ~'¯;mA駇-/ øç„8{nAÍ[=EžÞ!êNè®7&é<7Ô·1‰P‰Q1\j™!æÀöÀ¬NâVcW{šA8-'kºœL~@ãznX¸Ž©%âÆè#NmìŴP¿¹x®f“G·:ÒŽGGDVðDF?\OFMú‡Ï^§qÇC‘5sózf æ…á“W¬É-š¬«Î˜áGvºððXs£Œ'ÃWãÉ8þt.;á¸axÞøáz­Ðÿø*õ}­7Ö|/çSøØg^>³†“åèÑ(u’q?¯•yífï!ÛhWÊ >ì÷e…ªcFoYNßOg}Ç\ALW3õ²"ŸÃY"êÙf,F#N³NÇ£&œ¾b­>Žæ ó&tR&‡‘fö,ºA~ ¿ؘP¾V—gŸeÎ`휀Ð>Ž–¹Ä³Xï¦8sa·µ“GâÞïøówP%ëendstream endobj 6 0 obj 1430 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:18+01:00 2016-01-27T08:26:18+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001754 00000 n 0000003644 00000 n 0000001695 00000 n 0000001535 00000 n 0000000015 00000 n 0000001515 00000 n 0000001819 00000 n 0000002073 00000 n 0000002008 00000 n 0000001940 00000 n 0000001860 00000 n 0000001890 00000 n 0000002155 00000 n 0000002221 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<90A5D18B25AC48ACCB418CD014D7034F><90A5D18B25AC48ACCB418CD014D7034F>] >> startxref 3798 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_NETRC.30000644000175000017500000000561712626067776015253 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_NETRC 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_NETRC \- request that .netrc is used .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_NETRC, long level); .SH DESCRIPTION This parameter controls the preference \fIlevel\fP of libcurl between using user names and passwords from your \fI~/.netrc\fP file, relative to user names and passwords in the URL supplied with \fICURLOPT_URL(3)\fP. libcurl uses a user name (and supplied or prompted password) supplied with \fICURLOPT_USERPWD(3)\fP or \fICURLOPT_USERNAME(3)\fP in preference to any of the options controlled by this parameter. Only machine name, user name and password are taken into account (init macros and similar things aren't supported). libcurl does not verify that the file has the correct properties set (as the standard Unix ftp client does). It should only be readable by user. \fIlevel\fP should be set to one of the values described below. .IP CURL_NETRC_OPTIONAL The use of your \fI~/.netrc\fP file is optional, and information in the URL is to be preferred. The file will be scanned for the host and user name (to find the password only) or for the host only, to find the first user name and password after that \fImachine\fP, which ever information is not specified in the URL. Undefined values of the option will have this effect. .IP CURL_NETRC_IGNORED The library will ignore the file and use only the information in the URL. This is the default. .IP CURL_NETRC_REQUIRED This value tells the library that use of the file is required, to ignore the information in the URL, and to search the file for the host only. .SH DEFAULT CURL_NETRC_IGNORED .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_USERPWD "(3), " CURLOPT_USERNAME "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.html0000644000175000017500000000551012652070415017272 00000000000000 CURLINFO_RESPONSE_CODE man page

NAME

CURLINFO_RESPONSE_CODE - get the last response code

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RESPONSE_CODE, long *codep);

DESCRIPTION

Pass a pointer to a long to receive the last received HTTP, FTP or SMTP response code. This option was previously known as CURLINFO_HTTP_CODE in libcurl 7.10.7 and earlier. The stored value will be zero if no server response code has been received. Note that a proxy's CONNECT response should be read with CURLINFO_HTTP_CONNECTCODE and not this.

Support for SMTP responses added in 7.25.0.

PROTOCOLS

HTTP, FTP and SMTP

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  CURLcode res;
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
  res = curl_easy_perform(curl);
  if(res == CURLE_OK) {
    long response_code;
    curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code);
  }
  curl_easy_cleanup(curl);
}

AVAILABILITY

Added in 7.10.8. CURLINFO_HTTP_CODE was added in 7.4.1.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3), CURLINFO_HTTP_CONNECTCODE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CHUNK_DATA.30000644000175000017500000000341212626067776016030 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CHUNK_DATA 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CHUNK_DATA \- custom pointer to the FTP chunk callbacks .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_DATA, void *pointer); .SH DESCRIPTION Pass a \fIpointer\fP that will be untouched by libcurl and passed as the ptr argument to the \fICURL_CHUNK_BGN_FUNCTION(3)\fP and \fICURL_CHUNK_END_FUNCTION(3)\fP. .SH DEFAULT NULL .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.21.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_CHUNK_BGN_FUNCTION "(3), " CURLOPT_WILDCARDMATCH "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.30000644000175000017500000000373712626067776016421 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FRESH_CONNECT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FRESH_CONNECT \- force a new connection to be used .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FRESH_CONNECT, long fresh); .SH DESCRIPTION Pass a long. Set to 1 to make the next transfer use a new (fresh) connection by force instead of trying to re-use an existing one. This option should be used with caution and only if you understand what it does as it may seriously impact performance. Related functionality is \fICURLOPT_FORBID_REUSE(3)\fP which makes sure the connection is closed after use so that it won't be re-used. Set \fIfresh\fP to 0 to have libcurl attempt re-using an existing connection (default behavior). .SH DEFAULT 0 .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_FORBID_REUSE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.30000644000175000017500000000551012626067776016775 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEFAULT_PROTOCOL 3 "18 Aug 2015" "libcurl 7.45.0" "curl_easy_setopt options" .SH NAME CURLOPT_DEFAULT_PROTOCOL \- default protocol to use if the URL is missing a scheme name .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEFAULT_PROTOCOL, char *protocol); .SH DESCRIPTION This option tells libcurl to use \fIprotocol\fP if the URL is missing a scheme name. Use one of these protocol (scheme) names: dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp An unknown or unsupported protocol causes error \fICURLE_UNSUPPORTED_PROTOCOL\fP when libcurl parses a schemeless URL. Parsing happens when \fIcurl_easy_perform(3)\fP or \fIcurl_multi_perform(3)\fP is called. The protocols supported by libcurl will vary depending on how it was built. Use \fIcurl_version_info(3)\fP if you need a list of protocol names supported by the build of libcurl that you are using. This option does not change the default proxy protocol (http). Without this option libcurl would make a guess based on the host, see \fICURLOPT_URL(3)\fP for details. .SH DEFAULT NULL (make a guess based on the host) .SH PROTOCOLS All .SH EXAMPLE .nf curl = curl_easy_init(); if(curl) { /* set a URL without a scheme */ curl_easy_setopt(curl, CURLOPT_URL, "example.com"); /* set the default protocol (scheme) for schemeless URLs */ curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https"); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.45.0 .SH RETURN VALUE CURLE_OK if the option is supported. CURLE_OUT_OF_MEMORY if there was insufficient heap space. CURLE_UNKNOWN_OPTION if the option is not supported. .SH "SEE ALSO" .BR CURLOPT_URL "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_WRITEDATA.pdf0000644000175000017500000001110212652070450016273 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXínÛ6ýï§ °–‹„I‰¤ºa€Û¸€;7É¥[‘ …*+±V[J%¹Ijï¸Ë/IV\t$ˆEò^ž{ιWþ‚|L¯~ìßt;:Y tW|t7ú2"ú!²Ò-zé>ˆoGfA‚"1,#oGÞë«åâü"þøÇrÏN'ñߣc‚ Aq:’öY$aS¼RŸRøôaäMc4Uë|µ†HŸš5œb¡×\{7»™ tWm>fIýô±Îšò¾™ÓÐǾ/<ø'/‹ Âÿ¿íâ3æcúáMP}ØH"µàdÁõq*Žƒc cÆõú³ÞA!#fÏy7SŸwÈQ¾@Ç„êÇÿ²6UŠCõìwÉþ“vÁaô‰yàë[îê¦Ü¢û2/š¬B÷I]g+Ô”¨Ygè¡Ê› ¥Éfó)I?›Tû·$¡ÄœAºKêòÃÙùÅåürÿV‚»ÑOy‘nv« ý¢*v¢~áõ¯:õÅ så´„ÊÞèGèÅ:)V›ìhXÏq  ü[Õ´í×óèk Q„ež2_¡›ÉÏÏ1`L`!zœÎ._/çñüüÌÆ‹¨!È<¦«®6–„ÚÚxI“˜XÄwª 0 ]Â6£ÎÒ®ò«°p¨¥ªêášb4¿EOåíêL=ÆÀå?'㛫³×ꆭzêÌ•Û4 þF‡G$¯Q^k23!€?Ò¡µ¢¡QµÊÔqÒO"E”Ko³AwYƒòJšöc-h†5Õ ¡(‘M¼úüç$pªiÖ(ÑSØõ* ®S¾Ûm³¢i!Z•ÅX­VQ¸Ö ðL¶aš]†àÐÛøJ°é· =´M´°HÀ°Ï-k½aŽ*pØÑ¦W~Ëç=0Ù:C2âQÔg÷›ùb†^ŒÑ—& Pdì\MíàGÌÙ…÷µ|.OÉc œÔh“R¢E9ÉPNÕº)‡¤¢Rõ³ÿVs€F +Ǽ‡uVhóâ­@X'I%ÇÈ£œC1-¥¾T ÜÑðÉf:¤`Œü: +@¡Ãèkš²*¶ª¼œÆ ¬è.·`CJ8rvhf¦z‘:N!J¡h}X<ôû±he5¨NMee„Ä ²m¾~ݬʨ嶿 ­“Ú0Ùy!È‚¹–Ô|Ú#LÛ-¼ ŠVl°'T)©Ã^ j„k´2ž XyUÎ¢ÊæÈ<1ä£èt±Ð:ÐÒ5¦ªá–!¨ÑñãÝÕe<  È©£1Df¶20µ8âä‡+Î0‘ÜÈîn°†‘ÆgdkeX¾¥ö,£ƒlôIy÷Y•gE .P%õ:«qïâm7á{ä%Pž¥:¬#»ÍôÊN0æX¦PÎUq[ÇîbŠ‹B5™˜ì¯½WOh•ÝN e²Û4­IC©,•[.}7é‹¥Í9`Ò¶5Ê…mÇ ?ðEU¯ó·RðTŸ;À_Ÿ/\2‚¬ƒ}‚_©QåÐN”áTeS¦å¦Æzt?ÁÙŸÓw‹™qò‹o÷æ´/BJ…ëʧuKÛn¡ÚM–®‹üË.CÚì\'8¾A°¬Ì3˜‚Ê­s3eV%@½z*’m®6<¡»J»&‹ÀâÚ®²¹ÓàÐ`¢ˆµhÖ¦×ÃÞ2M€E«h,™…þÚÛÝNh Ú¨ðn¡w¨:‚ý0jÇ!ÑIý(é;½ Ò‘ªX©ô Í¡µBü µžZB0 5¨[ðvðšÆ}·iÇÙšî‹v ½³sªn…HX7Õ.m”üÆÂ"˜óܹ€|&±/}¿ósf 0i‹d„.Ldû”³õÂh‘î9h—jåµ—å÷úQ4hÃrß-€ô`ŠÉ‹m¶-«'ePÞc²½ßd/Ѻiî_žØù8y|Äuvb-ô$=éíp»¯›íƽքR>'!>4‰Þ´®œ#0³ñûÞ›ÍCâž/¦¯æ‹yüÁQûze°@¶#œš·M{œ~EI_?¼=`J äù&ù´QjÐ v-BÏ⪷;êª ¶½dU­Þæ0Š{~û §Crº øÁ6«@BŸ‹ªEˆ¤÷jë\Ýõ ý`@YexÆ¢`0· 0⎺GMO$”éXÅ!?ëD0KÉ^°c£dÞ Àç|K5ü‡T£l~?uÚŸý¼‡d¯û÷oUç½[Øây]°¢©ÊÕ.åAÍް8à¶$dfVµ<»ö–³øjy†ÞO¶râMW3[ŽÆ«k«»g•5»ªÐïz³ç¿}ÏÚ/g34]\žwË'†½Ÿ@EúïùGûÇA4ÞáåN\Φ§®dQèÞÐeïKðù— ½¨@!¾ÿõ‘1!-5ä‚oòÞ¼áÄ"€ ØŸèaïjL·ow¢> 4ÀAÛU‰:o~‡ŸŒZz“endstream endobj 6 0 obj 1860 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:32+01:00 2016-01-27T08:26:32+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002184 00000 n 0000004067 00000 n 0000002125 00000 n 0000001965 00000 n 0000000015 00000 n 0000001945 00000 n 0000002249 00000 n 0000002503 00000 n 0000002438 00000 n 0000002370 00000 n 0000002290 00000 n 0000002320 00000 n 0000002585 00000 n 0000002644 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<46E79C2324043017BCBE449BF3CB8331><46E79C2324043017BCBE449BF3CB8331>] >> startxref 4221 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.30000644000175000017500000000404712626067776020712 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "4 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options" .SH NAME CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE \- size threshold for pipelining penalty .SH SYNOPSIS #include CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, long size); .SH DESCRIPTION Pass a long with a \fBsize\fP in bytes. If a pipelined connection is currently processing a request with a Content-Length larger than this \fICURLMOPT_CONTENT_LENGTH_PENALTY_SIZE(3)\fP, that pipeline will then not be considered for additional requests, even if it is shorter than \fICURLMOPT_MAX_PIPELINE_LENGTH(3)\fP. .SH DEFAULT The default value is 0, which means that the size penalization is inactive. .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.30.0 .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLMOPT_PIPELINING "(3), " CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PRIVATE.30000644000175000017500000000430712626067776015505 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PRIVATE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PRIVATE \- store a private pointer .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PRIVATE, void *pointer); .SH DESCRIPTION Pass a void * as parameter, pointing to data that should be associated with this curl handle. The pointer can subsequently be retrieved using \fIcurl_easy_getinfo(3)\fP with the CURLINFO_PRIVATE option. libcurl itself never does nothing with this data. .SH DEFAULT NULL .SH PROTOCOLS All .SH EXAMPLE .nf CURL *curl = curl_easy_init(); struct private secrets; if(curl) { struct private *extracted; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* store a pointer to our private struct */ curl_easy_setopt(curl, CURLOPT_PRIVATE, &secrets); curl_easy_perform(curl); /* we can extract the private pointer again too */ curl_easy_getinfo(curl, CURLINFO_PRIVATE, &extracted); } .fi .SH AVAILABILITY Added in 7.10.3 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_VERBOSE "(3), " CURLOPT_STDERR "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SERVICE_NAME.html0000644000175000017500000000413112652070415017047 00000000000000 CURLOPT_SERVICE_NAME man page

NAME

CURLOPT_SERVICE_NAME - SPNEGO service name

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SERVICE_NAME, char *name);

DESCRIPTION

Pass a char * as parameter to a string holding the name of the service. The default service name is "HTTP". This option allows you to change it.

See above

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Added in 7.43.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_PROXY, CURLOPT_PROXYTYPE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_READDATA.html0000644000175000017500000000615012652070415016317 00000000000000 CURLOPT_READDATA man page

NAME

CURLOPT_READDATA - custom pointer passed to the read callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_READDATA, void *pointer);

DESCRIPTION

Data pointer to pass to the file read function. If you use the CURLOPT_READFUNCTION option, this is the pointer you'll get as input in the 4th argument to the callback.

If you don't specify a read callback but instead rely on the default internal read function, this data must be a valid readable FILE * (cast to 'void *').

If you're using libcurl as a win32 DLL, you MUST use a CURLOPT_READFUNCTION if you set this option.

DEFAULT

By default, this is a FILE * to stdin.

PROTOCOLS

This is used for all protocols when sending data.

EXAMPLE

CURL *curl = curl_easy_init();
struct MyData this;
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* pass pointer that gets passed in to the
     CURLOPT_READFUNCTION callback */
  curl_easy_setopt(curl, CURLOPT_READDATA, &this);
 
  curl_easy_perform(curl);
}

AVAILABILITY

This option was once known by the older name CURLOPT_INFILE, the name CURLOPT_READDATA was introduced in 7.9.7.

RETURN VALUE

This will return CURLE_OK.

SEE ALSO

CURLOPT_READFUNCTION, CURLOPT_WRITEDATA

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_RESOLVE.html0000644000175000017500000000764012652070415016276 00000000000000 CURLOPT_RESOLVE man page

NAME

CURLOPT_RESOLVE - provide custom host name to IP address resolves

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESOLVE,
                          struct curl_slist *hosts);

DESCRIPTION

Pass a pointer to a linked list of strings with host name resolve information to use for requests with this handle. The linked list should be a fully valid list of struct curl_slist structs properly filled in. Use curl_slist_append(3) to create the list and curl_slist_free_all(3) to clean up an entire list.

Each single name resolve string should be written using the format HOST:PORT:ADDRESS where HOST is the name libcurl will try to resolve, PORT is the port number of the service where libcurl wants to connect to the HOST and ADDRESS is the numerical IP address. If libcurl is built to support IPv6, ADDRESS can of course be either IPv4 or IPv6 style addressing.

This option effectively pre-populates the DNS cache with entries for the host+port pair so redirects and everything that operations against the HOST+PORT will instead use your provided ADDRESS. Addresses set with CURL_RESOLVE will not time-out from the DNS cache like ordinary entries.

Remove names from the DNS cache again, to stop providing these fake resolves, by including a string in the linked list that uses the format "-HOST:PORT". The host name must be prefixed with a dash, and the host name and port number must exactly match what was already added previously. (Added in 7.42.0)

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

CURL *curl;
struct curl_slist *host = NULL;
host = curl_slist_append(NULL, "example.com:80:127.0.0.1");
 
curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_RESOLVE, host);
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
  res = curl_easy_perform(curl);
 
  /* always cleanup */
  curl_easy_cleanup(curl);
}
 
curl_slist_free_all(host);

AVAILABILITY

Added in 7.21.3. Removal support added in 7.42.0.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_IPRESOLVE, CURLOPT_DNS_CACHE_TIMEOUT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.pdf0000644000175000017500000001107712652070424017170 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•WÛnÛF}×W,Ò‡P¸á.¯›T›iœÈ’+Ñi¸hjm1¥H…Ê7¤ŸÒìì…¤$; –EwÎÌœ93üŒ,L%>ú;Ù ^Î}tW ,t7ø< ò&Ò_ÉýA .D·õ A>E>³qÀP´'—óÉì"ZŽ‡Ñ§ëc;°„a´P».Š““LÂéÉìôlúÛµa_QÒ”Ù’ÇÕnYñºØÖC“º–ÿ¤E^¡þØ¿¢w›XسձO&|›¦0%™dÌ\Ú´½$ø–OO%PKØ»¬=õ<×ûh©…ËG&¡â¶¥ãèPÙ 3Fý#0è_Äóø&㊛ºØÄuš OŠÍ¶äU‘¡â½¢ ´*†ÔÅ–Åã!ÏŠxUÉH±áâj:»Xœ-qJ‰Ñø)Í“¬Yqô³ÈíKñ¯æÔAÑd½P$اÿZÞB/Öq¾Êøh¯Žuå%ë¸D/xž\_ÿöi¸8™Ÿ]Dg³©.qU•žá"îªÃpàªÚ|4*ȧvŠârH ¢–w͆ç5ª¶ çãî°e\Çé›FV\ h©¾\×]È ¢žE4=àDÁ .hã‡TT„Cÿ<=ʤ؂µÒê÷âÒ*®c-™>ŒƒV0A{˜^¢u*+÷Ú-*XR”¹×{­å€,¸Žh­M¼ƒÛòK¯ h0<4] ‹©:Smh#JtÃ%ƒ¯ ¨Yœëà1™ ÛgØ&z´»ü€ÈÌi¹Qäæôr2iS-5mFå.¡Kr¿?­H/žÀR¢ø“5V€Î3‚X:óÓÄ3>ç¶wMDšþ0ÝRyUdi’B?ô3nUäÝìöÉPÊŸÞåEÉA¾\‘UÎÉ8C_3®JÄì»~pØO Q/çÀµówNn!‚Û¦Ì@ÏfVtþÎØ£sç:¾˜u‚jŒ/u— ׻õl_ßD].ö”Xäû¾ítùo ôs±% õ|=CL¨&ä_D=‹Ð¬óIÅ é÷ÍÙähçØ pô@D×þHøçøüb¶+PðÍ(ší‹RGÔÓ™N˜—\‡ ËΛȫšã¨_x¡ Ïí=›Œ=›œEW‡Á‰ñâÁÑæ»ßbb= bq…Pnàc«_Ý&|Ã4ùÀ^ìý`GühÌÃèr>E†Ä†®÷ˆ1ž\†ú©Ç9‚=ÂS°æ¼nJýº.gïQªÖ/TL„v„Œ´Ñåôýt6n˜E?¦Ë™ÜMÅ“ -#hVéWí\†>ø2ZÎÞ,ÏÃóÙƉVU{(uÚ áJ¨ eÜÖòq•o1m,z¤°B\»2˜æUs;¤Žz¡øš¤bE„9²…†½&øP$wÿÝ Ñx²˜õ$ž.Þ„ó®PGÅ÷@zÚY!gÍèðHØ›<Ï ž˜Zj>ÄþÏijôÁ‹×¾Ìv.–'³iN£åiø$x¼‘GîLj1qÝ›¯§Š"'^€€ž6¸št^W â£wMލE™v§S"Ž £ÁïðùÙÍgendstream endobj 6 0 obj 1758 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:12+01:00 2016-01-27T08:26:12+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000002082 00000 n 0000004044 00000 n 0000002023 00000 n 0000001863 00000 n 0000000015 00000 n 0000001843 00000 n 0000002147 00000 n 0000002473 00000 n 0000002408 00000 n 0000002268 00000 n 0000002188 00000 n 0000002218 00000 n 0000002352 00000 n 0000002555 00000 n 0000002621 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4198 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_ERRORBUFFER.30000644000175000017500000000636012626067776016157 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ERRORBUFFER 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_ERRORBUFFER \- set error buffer for error messages .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ERRORBUFFER, char *buf); .SH DESCRIPTION Pass a char * to a buffer that the libcurl may store human readable error messages in on failures or problems. This may be more helpful than just the return code from \fIcurl_easy_perform(3)\fP and related functions. The buffer \fBmust be at least CURL_ERROR_SIZE bytes big\fP. You must keep the associated buffer available until libcurl no longer needs it. Failing to do so will cause very odd behavior or even crashes. libcurl will need it until you call \fIcurl_easy_cleanup(3)\fP or you set the same option again to use a different pointer. Consider \fICURLOPT_VERBOSE(3)\fP and \fICURLOPT_DEBUGFUNCTION(3)\fP to better debug and trace why errors happen. If the library does not return an error, the buffer may not have been touched. Do not rely on the contents in those cases. .SH DEFAULT NULL .SH PROTOCOLS All .SH EXAMPLE .nf curl = curl_easy_init(); if(curl) { CURLcode res; char errbuf[CURL_ERROR_SIZE]; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* provide a buffer to store errors in */ curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf); /* set the error buffer as empty before performing a request */ errbuf[0] = 0; /* perform the request */ res = curl_easy_perform(curl); /* if the request did not complete correctly, show the error information. if no detailed error information was written to errbuf show the more generic information from curl_easy_strerror instead. */ if(res != CURLE_OK) { size_t len = strlen(errbuf); fprintf(stderr, "\\nlibcurl: (%d) ", res); if(len) fprintf(stderr, "%s%s", errbuf, ((errbuf[len - 1] != '\\n') ? "\\n" : "")); else fprintf(stderr, "%s\\n", curl_easy_strerror(res)); } } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_DEBUGFUNCTION "(3), " CURLOPT_VERBOSE "(3), " .BR curl_easy_strerror "(3), " curl_multi_strerror "(3), " .BR curl_share_strerror "(3) " curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.html0000644000175000017500000000550012652070415017174 00000000000000 CURLOPT_POSTFIELDSIZE man page

NAME

CURLOPT_POSTFIELDSIZE - size of POST data pointed to

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDSIZE, long size);

DESCRIPTION

If you want to post data to the server without having libcurl do a strlen() to measure the data size, this option must be used. When this option is used you can post fully binary data, which otherwise is likely to fail. If this size is set to -1, the library will use strlen() to get the size.

If you post more than 2GB, use CURLOPT_POSTFIELDSIZE_LARGE.

DEFAULT

-1

PROTOCOLS

HTTP

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  const char *data = "data to send";
 
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* size of the POST data */
  curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long) strlen(data));
 
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Along with HTTP

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_POSTFIELDS, CURLOPT_POSTFIELDSIZE_LARGE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.html0000644000175000017500000000425512652070414016762 00000000000000 CURLOPT_FTP_ACCOUNT man page

NAME

CURLOPT_FTP_ACCOUNT - set account info for FTP

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_ACCOUNT, char *account);

DESCRIPTION

Pass a pointer to a zero terminated string (or NULL to disable). When an FTP server asks for "account data" after user name and password has been provided, this data is sent off using the ACCT command.

DEFAULT

NULL

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.13.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_USERNAME, CURLOPT_PASSWORD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYPORT.html0000644000175000017500000000430112652070415016574 00000000000000 CURLOPT_PROXYPORT man page

NAME

CURLOPT_PROXYPORT - port number the proxy listens on

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPORT, long port);

DESCRIPTION

Pass a long with this option to set the proxy port to connect to unless it is specified in the proxy string CURLOPT_PROXY or uses the default one.

While this accepts a 'long', the port number is 16 bit so it can't be larger than 65535.

DEFAULT

0, not specified which makes it use the default port

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_PROXY, CURLOPT_PROXYTYPE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_APPEND.html0000644000175000017500000000414512652070414016122 00000000000000 CURLOPT_APPEND man page

NAME

CURLOPT_APPEND - enable appending to the remote file

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_APPEND, long append);

DESCRIPTION

A parameter set to 1 tells the library to append to the remote file instead of overwrite it. This is only useful when uploading to an FTP site.

DEFAULT

0

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

This option was known as CURLOPT_FTPAPPEND up to 7.16.4

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_DIRLISTONLY, CURLOPT_RESUME_FROM

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_XFERINFODATA.pdf0000644000175000017500000000734612652070451016641 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥U펛Fý笠RGëñ 0 ´U%²a+§Ä¸6ŽíV+ãµ[ Žlò}•¾cïÀ`°×ÛFªlùcæ2÷Üsνó (a@åK}Ç»Áx.à±Px|°zÔW¼ƒ×!Ør!\šg„cÛp7Ю—s?˜…÷n¼ùdz¼† FŒ0aŒ'ZDøX¸’‹:.> 47W†Ñ:Ä&œQ½‰191ms«ÝiÆÝâêÞ'Qñõ¾HÊ|_G:§þØæYÏ“ÿ¾í²Ì ”{ö&g]ÅhGŒçÖO.)™Ü"† #ê㧽ƒ8ᎡÎyçÉõŽ:“ 1½ÞþvÎŽ`uÂåžÎíàþwé1À¦¬Ù uUQæ;ØçÛ¬L°Š"YA™C¹I`ÈIQ@¥éCÿÙàí—Ê'¶…˜-b×Ù§Ál1Yœ–fXDz¾ÛfqZ­øIª6–dósÞ„ÐoêŽs 8Wõ®Þ‚W›([¥ÉÕ]¿ïøÑJ,ç%UQ§º^}>å`5=’òí ^)Žî†?>§Áà¼ÇÁoq=ŸÌÂI0U6a¼qÉ>fQ?«ò!>aÖ™‘ü¨IÇhÛa‚¨(MA:ãšn´"ßjå&*ái›¦ð@••yoP⇯n$Å€t¶ÂGE-ü_‡¢„è0ÄTŽm˜ÚcµK²¶Ùe[êÓô·‰- Ö÷´-7gðÑåúуÏL~³œ^KÞŽ=Ö›,x¸ÑöišAØÄÂlÒ9­Váf[¾£ ¢t‹­óÃíiw µfó¡I ¥ÂЂ_æÞb¡%†hZÎlmFꚊv«—` ",Çéã>õŽŽãLœÚçFÙ†Ë1KÊf¶”¹K5©š)ºe´£Àï€u¤…r&5ÂÜ"M ¬’õ©Š£*-áóPçZ”V äk”YÜG‡h—ÈÑ€¦Kß'5'gîïd±o5xf"<¡zl¤ã¨uj‚‚#TÝ ‚Z­¸×6?°Záñknš^èÂ>ïƒûnæ{/ΡMYî«ù}ùBŠd¬:b[¯«,&›r—*ιm?Ÿ÷ý¼R—¦uÝ÷½%´8k'ÍÄw_OüIøñÜáxm`±ñ³»Zacbë b {ÿ^õ­6÷Âå| ï‡Ì0‰c1Íõ—žÒì ó¤¬êŽôîƒ_ÿƒÔ…çë/‚.ìì¼—úù¼P‡ ˜½ëôêôDLhYÇÁü¿e“·±ÍˆÕÔN>¤T ¥#ƹc®1o« tÊÌš2óhI&òÂÁoøú3<ôendstream endobj 6 0 obj 994 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:33+01:00 2016-01-27T08:26:33+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001317 00000 n 0000003207 00000 n 0000001258 00000 n 0000001098 00000 n 0000000015 00000 n 0000001079 00000 n 0000001382 00000 n 0000001636 00000 n 0000001571 00000 n 0000001503 00000 n 0000001423 00000 n 0000001453 00000 n 0000001718 00000 n 0000001784 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3361 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CRLFILE.html0000644000175000017500000000607212652070414016234 00000000000000 CURLOPT_CRLFILE man page

NAME

CURLOPT_CRLFILE - specify a Certificate Revocation List file

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLFILE, char *file);

DESCRIPTION

Pass a char * to a zero terminated string naming a file with the concatenation of CRL (in PEM format) to use in the certificate validation that occurs during the SSL exchange.

When curl is built to use NSS or GnuTLS, there is no way to influence the use of CRL passed to help in the verification process. When libcurl is built with OpenSSL support, X509_V_FLAG_CRL_CHECK and X509_V_FLAG_CRL_CHECK_ALL are both set, requiring CRL check against all the elements of the certificate chain if a CRL file is passed.

This option makes sense only when used in combination with the CURLOPT_SSL_VERIFYPEER option.

A specific error code (CURLE_SSL_CRL_BADFILE) is defined with the option. It is returned when the SSL exchange fails because the CRL file cannot be loaded. A failure in certificate verification due to a revocation information found in the CRL does not trigger this specific error.

DEFAULT

NULL

PROTOCOLS

All TLS-based protocols

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSL_VERIFYPEER, CURLOPT_SSL_VERIFYHOST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.html0000644000175000017500000000460012652070414017153 00000000000000 CURLOPT_DNS_INTERFACE man page

NAME

CURLOPT_DNS_INTERFACE - set interface to speak DNS over

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_INTERFACE, char *ifname);

DESCRIPTION

Pass a char * as parameter. Set the name of the network interface that the DNS resolver should bind to. This must be an interface name (not an address). Set this option to NULL to use the default setting (don't bind to a specific interface).

DEFAULT

NULL

PROTOCOLS

EXAMPLE

TODO

AVAILABILITY

Added in 7.33.0. This option also requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one.

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_NOT_BUILT_IN if support was disabled at compile-time.

SEE ALSO

CURLOPT_DNS_SERVERS, CURLOPT_DNS_LOCAL_IP4

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_IPRESOLVE.30000644000175000017500000000371012626067776015740 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IPRESOLVE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_IPRESOLVE \- specify which IP protocol version to use .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IPRESOLVE, long resolve); .SH DESCRIPTION Allows an application to select what kind of IP addresses to use when resolving host names. This is only interesting when using host names that resolve addresses using more than one version of IP. The allowed values are: .IP CURL_IPRESOLVE_WHATEVER Default, resolves addresses to all IP versions that your system allows. .IP CURL_IPRESOLVE_V4 Resolve to IPv4 addresses. .IP CURL_IPRESOLVE_V6 Resolve to IPv6 addresses. .SH DEFAULT CURL_IPRESOLVE_WHATEVER .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_HTTP_VERSION "(3), " CURLOPT_SSLVERSION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_XFERINFODATA.html0000644000175000017500000000463312652070415017030 00000000000000 CURLOPT_XFERINFODATA man page

NAME

CURLOPT_XFERINFODATA - custom pointer passed to the progress callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XFERINFODATA, void *pointer);

DESCRIPTION

Pass a pointer that will be untouched by libcurl and passed as the first argument in the progress callback set with CURLOPT_XFERINFOFUNCTION.

This is an alias for CURLOPT_PROGRESSDATA.

DEFAULT

The default value of this parameter is NULL.

PROTOCOLS

All

EXAMPLE

http://curl.haxx.se/libcurl/c/progressfunc.html

AVAILABILITY

Added in 7.32.0

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_XFERINFOFUNCTION, CURLOPT_XFERINFOFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.pdf0000644000175000017500000001476712652070437017225 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµXínÛ8ýï§ œ•ƒˆI}¶3¸©»q›Än¢ $‹B‘™X[r%9©ggÞ ¯²ï¸—¤¨ÄI±ÀnıD‘÷ž{x! d‰ßê3^õ†gº+zºë}ëyUñ ½ a€/.„·=õ AE^À° pÕ£. zWÆáÅÙñt~™MNOÇïfo'‡Ç—×» x“/¿ð¨Ø~)x™­ËI [–gÀ—$K ôÒテz¦…)Ecˆ)€˜pàˆ°˜‹Âãžq:¼‚4à.q°1Áÿóžq2„_[IP Û–‡LBÅmKDþ\àèßbEë$Mù­77Ë$Fˆé ∥( °W­Ä·â–õ$>“º+ºØ—Ï/O§³óÉy70H£ ÊØKÒx¹™sô‹@m(þàÅob8µe®"à8ƒQ½–·Ðþ"JçK~ð¦€Å2õ³Ý*ƒƒ¸Î À6 |»º±ˆr´¯pº¸f~à?!ÀÔo¦¸¼Qù¶‘±m;~ šwãóóÉ,œLO;‹ì„iµÖòµp$ ²ªE"´Î’´ä9*3øò'Ï3ßVI•PҢ̓ôEZGy´âpK‚Œ=1T×ò±Mtj8¬—#HD58\OG)ºá¨„+?–¥0%ÊnÑ6Ûä-™23Á·æ!Ám˨ŸrŒ˜Ù6élc[Œ{>v[uj‡È°å°@ݸ2ªn³|•ˆ`X–ß×<P$êÏÆ'}”å¨ÿn|ÖÇrË‘ÀÅžÎTéÈ ÃnÎѲÈDâQªcS[@¯ª‹±M›ØdøUlÆfuœn¢‚»¶Ì¹Dв³Ky*(U[DÔqÑ"**—ó˜‹Ë7[ÔW·†Ã>„¹(kYÝ{Ó—ëcÏóÅtáþ•ñyÁS”6‡wY™D¥¤l³sÅùù1Š3(],Dê@Ö¶àù½D‡û¶­‰çyž 4‡!é\Ð/æy™üˆ!”¤ó$V³'e’9Oˤ”Õd“'ñ(ö}M,cjof^Ûd@}†!FÁez—:¾Î…±JÔ¿—y$r›g+HˆÒJJÀœÜBBhžA1ÒLrKÀiQã;<¸Ü" \¼ÀÕZ©y¥¡}7Ð+»je :jÒ  Õ’žgâºiYV+`µîAØî2TÕ[§ ß¾ß!Õ•!=$Ë%Šn²¼”q6VÖᲞ¢rÀÁ7€PìÁr‚-©¢ƒ’Tjw5¹·ó&q_]Ê+p`…L¡ëp}š¢URHÀ”Z«Ò=v:Ñ;QõÚñ`g#í ë§Ó IÇ6“рAo(5ÂÃ#`«•û.&:FÀ)çå&}ÂO5šúîJôûŠyŽí+•Ä©õit!ïOÕŒ©Ët<[=R#˜{ ¨|zq|ü4)ý:ŒÙY…ÍüJS¨ëUø˜Ä/|˜†hÚì"jæjNõ`;€8ì®ðŒ€B„>‚çY™ÅÙ²xŽÂpv~€ÞË¿““‘ø˜Mg >ÎOà"âe¼ÑNãßG'³ãG&¥ÕäT?—,ýµÕî“4f_5U1\Ar{-é në_Ðá=‡"y×&ˆ+=€Ô_”åºx=ª,Hô=Z­—ÇÙª/–úé\ÏZ Ê&ûƒ~«w[ÍF6†€ÙP E· Ú $žúŒG-pÎó~…‹I Zc9ÜGSI›ÿwº].>~øxþg–ôÆy?#þíýú(ón?\~ûtøu±£Ï—¬¼?;yÿúF?Tºô_ÐòSòM!@m Æ·ÎbØr‚Ҍ碭KåÊù· /Jc^iZ4¹®ÕHÍ’70ƬYbüý2S¯ Îxü{x68‚&Ä7¥_ë*L‹Âi CÈþ°ˆºö‘a×·H-ãJÄÁDµÝ‚ãêÂWª­»0q Û¾j«¯¶È%á|îÐÆâ4@w,8W$i ¬8­àŽbUá5,aÊ÷:s ÀÄÓ'I˜M¤NË‘Uʘfld¦[iÒÎBá 2 ÿÔàA¸vÆÐqë#Ô^«›o6Y–vj`ýÖëž·úNû•UþLyá|g‘Èܾ€Œ!j'€†5W¯™L8ƒN£ÉMí¢"%ë()6žPGiñd¥tMÿKt©ëÿÝ+C±A,úÓ¹«„¶Õœ+_ôèÛ•rj:® X&7ò¬#^*bk`Ǧ¾A=4ÚÜ! Èõìú GÄ<ã°÷ ~ÿçâåOendstream endobj 6 0 obj 2362 endobj 14 0 obj <> stream xœ•U]oâ8}ϯ¸Ò>¬³"®í|ïmÓS ,„®*f„1%[HÔ­´?a~ô\'NéÌH[Tì›sÏ=÷\û 0Ê©~.·ÆÅ؇§Ò`ðd|1x½ ú±ÜÂeŒZˆWFó_€Ú4!Þ£¡ ñ‹1#WÓq8Šç£Þ`]¦—ýÞÕ]ôø‰ØŸLXö›¹LÊ×y)«bW™–peÌ'ø#+ò~õºù9þhêB¼4l,üSƒüVšñ?ÈW9§vH7˜"DÖ‰p=X'å’<…ERJÏ™/‹TB*÷PPVû,‚U±‡C)šÕ"Y\(¬”yYn }*+°ÊÖZdy²…——ÓsU!6¡Òäø•;ù7Ùî6’.‹-ÝÏ5 e¯+Ü£®ßP%òõ­†€zv8zƒ*ŠÿA›½¡_3Â¥‚·I¼–€I6Ùžëý6 ì¸ZZ7 ³A¦b´–Ü¡®†:c>:ÊiSæ1q*gt¯dÚ&,‹¼J2lYk™ ÍSDTÀÓm Å鵦 iR%uW-*¹ÿ³©ŒÙÔ÷ŽÒ[êï2ºí  1 #LÎy³S˪bûFüÇŒÌ.MÛ%ÝI˜áºÑœSεö[A¸Šú©¢º1têò6†|®y |f·”Xcõ:{4¸þ9+LáB½‡8@4tÕ )çZØþ@Ó`NCãᄆ`ÔsyK£×ï^öú½øQíŸ £Km'xs© Ìw¨4•)d9øÔ)«­=DM&ýÜæ‡¸?©…¿Üe…“pÇÖáƒIò¢RÚÊÝ­'‹Í q.®^|ÐZ ½¯yp¬Ó?á¡à¶ ™V›R'ñ)뀢ò°Ûû ’Î9wÎY9ÜGçºGZVM¦]>ïÖ eVk+üе|6C†Â ˆÌÓò¢j)É”ÖmüyófdÅÓñLn;4ô8éö§‘~«m“ýffœ(Ÿñ†ÐXV‡½>ò¢ù𲨾ÈP/Ûö’#ΓûÔ{_ˆÅm¼XNR¯ñÁ&[¨ Ye¦Å]GDøÐ=<Àjë~:ž­Ñ„Šbã/ü|ªÃgendstream endobj 15 0 obj 1033 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:23+01:00 2016-01-27T08:26:23+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003981 00000 n 0000005940 00000 n 0000003915 00000 n 0000003593 00000 n 0000000015 00000 n 0000002447 00000 n 0000004046 00000 n 0000004369 00000 n 0000004304 00000 n 0000004236 00000 n 0000004087 00000 n 0000004117 00000 n 0000003753 00000 n 0000002467 00000 n 0000003572 00000 n 0000004167 00000 n 0000004197 00000 n 0000004451 00000 n 0000004517 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<12C45BEE1A614694C130AEC263DDE2D2><12C45BEE1A614694C130AEC263DDE2D2>] >> startxref 6094 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.pdf0000644000175000017500000000727012652070457017123 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Umo£Fþί© Q¼Ç.»¼¨U%.¡’ï|&µÉµ×¤²0¬_* >ƒëæGݼÙã8NZYŠ˜™çyæ™ý 6¡`«O÷mŒw–µaÃÒøjPýº¯lï ðÕƒda´9<^à?€dc<˜7÷“Ñpük<›ÿŒf·±åó÷ñ(¶þJ>”qâsLKrƒùÄs!9`Nxûh:dû]1“iý4[Êf].*kÀ„Ml*ÌjÛ¬«²†‹òª,ó=ÂY[ö¡=͘ÆÝci6° £Øf†(DA¡€ 8e„¹0p\UÀ‡Vò7R€qT8maóS¤žŸ`6á¶ÊÔk»…ò&üSCð 4+ å~3—;¨Wæ¡,ª4—9ÌŸYë¦Ï[ÅÔ%¾nhúeßM‡Óó¶tˆnÉüa]fÅ>—ð³böúCV¿¨pÆ!ÉUÛpVaÌùú\­Ò2/äõ%õ'/øK|×f?/$\åÅöÑúéÿ`ÜFÓ›Éð.ÆcÕªDE+Ò+îÒ^œ€ø¢•Æ&г®!…mµ.¤µ©ðŸ®ü½“™\Ÿ@q¹×ñ=®‹üƒáÏG€rNOµ1+U²I H7Õ¾l”„Z3”5mà wRIŠE¨`Ä~›ï»Ë?*M YIçâ¨yþÅ9]ùu UY<éîâà‰~ðÇÙ×÷¨vz¬Š;Á Û¥e½@"P@8¬‹æY¨qøÒ¥¥Äc5Óu *Q¦Ù JÙŠªff0æ’ è¬ežÑ¢CŽ/ºƒôdõ©ºÍ>Fä”J‰ì”s§%!f +*˜5{dv›>)Ž O›ôÈëšPN;ÑÌZSÂQHJé™Í´¨+,¹Ù(æ K‹B«ÊŸÚ6Û °âö=†Ïá᪎+©ÛÈ&ÕD®$ê¶Ó]AŠ2K ×Ó¿Úgù‰é²jÛ>GŽ…°5¼%Ð,và›äoPá©yòÇݤZîøº7ŽÛÊëš0b‹@ãˆ{Ì!žíW×M> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:39+01:00 2016-01-27T08:26:39+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001377 00000 n 0000003181 00000 n 0000001318 00000 n 0000001158 00000 n 0000000015 00000 n 0000001138 00000 n 0000001442 00000 n 0000001617 00000 n 0000001552 00000 n 0000001483 00000 n 0000001513 00000 n 0000001699 00000 n 0000001758 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3335 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_SOCKETDATA.html0000644000175000017500000000447712652070415016723 00000000000000 CURLMOPT_SOCKETDATA man page

NAME

CURLMOPT_SOCKETDATA - custom pointer passed to the socket callback

SYNOPSIS

#include <curl/curl.h>
 
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_SOCKETDATA, void *pointer);

DESCRIPTION

A data pointer to pass to the socket callback set with the CURLMOPT_SOCKETFUNCTION option.

This pointer will not be touched by libcurl but will only be passed in to the socket callbacks's userp argument.

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.15.4

RETURN VALUE

Returns CURLM_OK.

SEE ALSO

CURLMOPT_SOCKETFUNCTION, curl_multi_socket_action (3), CURLMOPT_TIMERFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.pdf0000644000175000017500000000751612652070432016607 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…–íŽâ6†ÿsGêMªÁç;jU)˰*»,P¦]1ÊÏ6$lâ,š‹Ú{ì±ã™­@Áö9ï{üø8_Á  ñQ¿é~p½ôà±ð8ø: rÔOº‡÷1NðÅñà]CÁ3Á ,âïŽCL âã`­VËé|o>Ä‹MM7£ÑèN³îtH›*ß°¤~ÚÔŒ—®MÇ †áiø•E o-ÕÿŽ?†1)&KQK€ZHà9– ñt ÍBýÊÇQê'°Pb¼hŸÇzüÏ…xÓ ¶áÁšbØŠ_ ß¡>f<ÝAù ˜Ä‘¡]“`¾6ôC$FÚ””X~à·k-šBò¨Û$ðËÑ’¬ŒµŒÉg$ ßIO='CÓˆç 8—ø2Eôe6_D“¨ï(ýÚOY‘æÍ–Á¯¢¸×â‹ì~“ŠmYá--qÂóâßÉ!øy—Ûœ]½Vú+¬¨ët¹ÖZ^°+u¦§ïô_^qA zaáf–“E<™ÏÞrÚ܉ɰ"¹ÏÙö ø.«¡öÉ¿b15<¬©ª¿Xå·Ä±òì^8„¦f öíå,©`Tî÷èFè³`ùN`¡Þ5¼†-Zq?;ÐŽæc€Æ¯ãiyòĪº.çI«Óe=o%+x–&<+ Ħb5GpdÈ´,xUæ¶ðy¿o 9½\ä9Ü3h V¤ÕÓ³­ΓxsÐ{]kËq¼ZÎàV§ìR-œ®ÆŠŸ—–q>ãM¥^ Æ›ù'ÈÚ®¢îì“us8”7†ìórâjöi6×ñîýs¶™Ë»G,ÄSô«½ÝˆÆc§ÑüläÙ.t÷ä*‹{²_¢K`ØòÕåª ¹®av}õâÖÅ`¡.Þ‡DXÅ¿?« ¥>ìEä!2+ß̺§Õ]èË#†>¤ŽØÄÑðåécS€‰dpû²Ü·q<ø?ÿ–9endstream endobj 6 0 obj 1203 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:17+01:00 2016-01-27T08:26:17+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001527 00000 n 0000003331 00000 n 0000001468 00000 n 0000001308 00000 n 0000000015 00000 n 0000001288 00000 n 0000001592 00000 n 0000001767 00000 n 0000001702 00000 n 0000001633 00000 n 0000001663 00000 n 0000001849 00000 n 0000001908 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<33F7ADCFF3F20FC66CECB2490E6BE6AF><33F7ADCFF3F20FC66CECB2490E6BE6AF>] >> startxref 3485 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIEJAR.pdf0000644000175000017500000001112112652070426016261 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•WíŽÛ¶ýï§ Ú•›õIáœÓ:qì­-§ ²ÅB–¹±Yr%¹[ßgÈ«Üwì ?$[ÙÛ X »1Éá™3gÎЛ2bãþ߯Bò¡ØäÃà“‹DÿJäy 8~? ÔFB‡„‘KyDâÃÀºÙ¬æËÛøþf¹|=›¾Æ£‹"ØïGCŸÄƒ÷Ödug¹wC’žªü^$õù¾Myl†cÇ·©Í| þ“•EMúA_ \ØÃ]Ô„ÂÛÆ6u`IjPiä#Ú±ç9ÔóÉØ ä‰Å7Û¸ùÔL¤7Sü¼ËÒ±©g‡dÌ\¶ò>žàÚ¡ 0ÈÿÈç\"9Ò”¤nÊJ´,?e¢†$òk\€gÌÊåíëw‹åíz¶¾Æ ·Èû­o³"ÍO;A~@Ö¾ÇèþGÜîx$žâg ]Zž>±wr‰<Û'Å.£/hÅ4˜@#’<ƒ\0•»á¾†üÅt}³šÝƳåBWùªOdq›´äG”ûŠz Úw_«®I¢`¶§Ìq¹.’†Õg ô`G]0&ƒ%µÎeDþ+ª’4¢:dEÒˆ%ñ>«Éc–çä|’$BnLj"hà†ú>‘wbÄBÆÔÂ{+Û"Éä±ÊA”pAɧ¢: ¤õX\¨€4{!ù;ö†ÛÊ‹²ˆ+ Ž"Í>‹TÓã^=>BNmîix]Ó\$ÅéØ6CÇ¢#ÞÂR#r0{ EÙ‚K@®·Rˆ|À=Âe‰yÚ‚ª*¡Ø[#Ƈ³Ê„!¸Óeâ2UÌoÆß¨.fŸu#’Ù'WJaÌ¥AhÊè㑎|r¸Ã¾¾aßuÖ¡…j½]yj(ÙÔYñ‡”•@™ê’šm'Ìɇ²’›$$æpêûN¯ëkQ×p~Dàxö@ÎåIžC†dù‘õWr8Qež«Nw¨ÊÌ9jØÖcr!¦ˆz®©ŠU¦‰Ä—5=MÊ ¡O·™Qäá’”°µ×÷VÒ¤{ÌØ$öA4¤EC’4-«,åça€²´‹F4„öDAf}æIf%¨ºÙ' ɵÐw¥¨‹ïðn½Bvp@m 5ÕEkcËcÅŠ'ÅÕI'€”ŒˆÏi—:µk"šUåG'F>&• ¦H¶êñÀÐ@gC×fÔ·#KKT†;gm`¢zA-‡(Øw}+¶@ABN/¯OPÆ#rª…¶Ã¶ÇNhãe­Å]{ëËÙ|úDS2€!€*é©ÚRØ8Ë Ц×ÉËžLU Јšy§^äµÅØšE®½Ë‰¸‘›¸ œQ·#ÅfʃTŸøE[ÝYèFÒÁzí0 –ÿ;K ™9Ð:ÒÝpÔªM¶AQJ».£6 lÆÓ_ìØ;–(½ ¢ª·ijí}ÄA¯ï7õz;]=_®Ÿ,,lEYõƒ1ê¸Ášp/¦Ï‡LÕÍO/7‹œ*º’oÄC]z¯šP’€]œ€DáRSn·&ø®b¡*¤Ï•d—ÕÇ<9«æ`¸œÀœy m/Ç´šq•S£ºŠb+ ˜bfu¶EWb·MÒOÒ÷$œm)÷ÃæcYã¦3ÉœÏI5§d¬­4¤ .0}'•þíúÞ4‚„`…Ôî¦$âx0޲„˜IÙ‘µhÆ7ª  ¾Ü–5{Ä’€=Ø&' Ž2…~7ðÀ õsÓéžó¸­Å…𑆮×Ò¶ØÌç_q»Ò(<—ë¹à¡®ùØ¡¶¯œd“e{§ãÒÐîš`9ï==v8: ?ÇñíW€L›¼¹OÍpçÿ÷w8JU£x±Ô„ùœ?ñŽpg{òªúdò–toz;ƒÁÏæ“ç³ù,~×ëh4Èùuí'y }„’"_Ïõ½µšÆ›Õ‚¼2fjÀ¬É|3íµv—2Î{¦&ÎJ4§J·™Þ/_ã“/Äæ«OG%Ñ‘^Þ,^/–CM¿.î—ò‘ÛAÝ#°gyÆŸ+ƒh›ø~ùòþÍôÍrê7ÏxD;žq¨w<òl롹Žàଵs-(Gcä_Óð|;=¨‡­ZŸÓ {‘I}LRAŸø¦Ààñâú—ßs¦S2™¯—»=i|9>û““cDU^i§£ëXpU˜\zá®CEøzkwþÛXóÙ:îC³ý" t&hÍqÁæU ̘ )|fÇÌ÷#ú É«SA˜’L¯mP†¡¦ñàøù9Cendstream endobj 6 0 obj 1776 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:14+01:00 2016-01-27T08:26:14+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000002100 00000 n 0000004062 00000 n 0000002041 00000 n 0000001881 00000 n 0000000015 00000 n 0000001861 00000 n 0000002165 00000 n 0000002491 00000 n 0000002426 00000 n 0000002286 00000 n 0000002206 00000 n 0000002236 00000 n 0000002370 00000 n 0000002573 00000 n 0000002639 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4216 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.pdf0000644000175000017500000001040412652070433017327 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVÛnÛF}×W Ò‡´æò"’mS@±åB‰,©4 –V[^^š(Eÿ ¿ÒìÌ.©k$س—3gÎÌÙ`0}êßEÒº˜ºðP´ xh}lq„úg‘À«xô`ÕR{8¸&¸¾Å<‚¤ez¬ Á§Öíòv:O‚ù`t=ögƒ_úóaoúcÿN³îtXTy<a±¢Ì6¥Þ1ƒ†«áQ–ðÕýú¯ÁëVÇ`&Ç[ÊGPÌw—…†-mÔÓŸcås| ±Ë–vÓ׃ß²0 f.t¸IaãëØá@¸PD_d+(×¢tS•ðw, Ì0˜.1 ›3¸ÝÕVçºÂëð.ó$šÙûÑx2ÌŽ1É%öM”.âj)à{b삾ØúZnÚ2M‚ºÈpÁ)£w2/ÖaºŒEûQ>ÛHS×i.ü És(›ù¾éj«¹Lr¾Ó¿û„¸Á2ºêÏ.§ƒI0KÊ`]Ç$¢µwk‘Bµ‰³p¥6<†‹$+2]ж:‡îº&ëúݺž5´“» f¹( C¥T¬³*^½€ªKº q qtOɧuXÊZ cÒžáhŸ7bQâÒƒJ+ÉqTºÑõNô²AT0ÖQ(8¾Æ•€¤*J° ‚P)Órq½YgU¹?NÌ6Qò»UŒ‚ØÜ!™wLî2Ó‚)£×™” “A,—½ß˜W2ê€g¼ìJQô=»œœázÌrê…írw‚Ë\Ï0¼:@¹«†,?©œCÜí@œ RµöQÂ+âšM!ñìå–Y¾Õ»u“±fxŠä ©YàjiA9»ÌÛ‘Q—0¥Æ.ëÊ‘ l®*>èŽFi[¶~T’|:¼¾´9©¾Í`.2´S6¢Q$a §7$ÕÂZ©ÒØÆ.ÅC^=æpÛ³k”x²Ê„ .²„x€E˜ªº@ÕF«­Ô²ªA‹²ËÃD”"‡•ªJ‡Û¾p,dÚyÓ ázªÛ†6¾i®RùPOñyPçe& H³*A~ÖNÌΔõàï©“Ð>%ûx´¢Ñ]µX–5Ü÷d„ .Ê*Œã­$²MMSR«JÒ2ÏâóiåÝoe'«ì,—ÙgmJÙå"$Þâø>\üŽ•Užm¸×Mi?–†LÓJ•¥¢V B¥d½)kËHÍIϱµ•È „IVáOn!¦«°,"ϳ¼`OyÁUÿºîgÇ–Ô!"ŸÛ E½[•¡¬]ÍìZn;f÷ÍC£Áu]ËÞÙÉ-É\uØ£8&Ó†m© ÚxQ#ÐŽÉ Ç—0Þ]jZÌ5ºÉ^އ'–†¸}bï}æ&Lå¸%j·OqÓÿ¹w3öu Hù”ÏË;ŒÒͼ wÓztÍhu'g,¾DþDµ>aÊ¡¤¼Vsj*å…ʆƒõÎ#¦ÿìÚðlUn¾½¸@§q”Ü>‡É& Ûìb)Š2JCê)V†¹îÃÔØÃ—gõþ¯‹&ñnÕ²ì]µ›íOî={$O‡> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:19+01:00 2016-01-27T08:26:19+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000001767 00000 n 0000003729 00000 n 0000001708 00000 n 0000001548 00000 n 0000000015 00000 n 0000001528 00000 n 0000001832 00000 n 0000002158 00000 n 0000002093 00000 n 0000001953 00000 n 0000001873 00000 n 0000001903 00000 n 0000002037 00000 n 0000002240 00000 n 0000002306 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3883 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.30000644000175000017500000000644612626067776020507 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONV_FROM_NETWORK_FUNCTION \- convert data from network to host encoding .SH SYNOPSIS .nf #include CURLcode conv_callback(char *ptr, size_t length); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONV_FROM_NETWORK_FUNCTION, conv_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. Applies to non-ASCII platforms. \fIcurl_version_info(3)\fP will return the CURL_VERSION_CONV feature bit set if this option is provided. The data to be converted is in a buffer pointed to by the \fIptr\fP parameter. The amount of data to convert is indicated by the \fIlength\fP parameter. The converted data overlays the input data in the buffer pointed to by the ptr parameter. \fICURLE_OK\fP must be returned upon successful conversion. A CURLcode return value defined by curl.h, such as \fICURLE_CONV_FAILED\fP, should be returned if an error was encountered. \fBCURLOPT_CONV_FROM_NETWORK_FUNCTION\fP converts to host encoding from the network encoding. It is used when commands or ASCII data are received over the network. If you set a callback pointer to NULL, or don't set it at all, the built-in libcurl iconv functions will be used. If HAVE_ICONV was not defined when libcurl was built, and no callback has been established, conversion will return the CURLE_CONV_REQD error code. If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined. For example: \&#define CURL_ICONV_CODESET_OF_HOST "IBM-1047" The iconv code in libcurl will default the network and UTF8 codeset names as follows: \&#define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1" \&#define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8" You will need to override these definitions if they are different on your system. .SH DEFAULT NULL .SH PROTOCOLS FTP, SMTP, IMAP, POP3 .SH EXAMPLE TODO .SH AVAILABILITY Available only if \fBCURL_DOES_CONVERSIONS\fP was defined when libcurl was built. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_CONV_TO_NETWORK_FUNCTION "(3), " CURLOPT_CONV_FROM_UTF8_FUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.html0000644000175000017500000000550512652070415017160 00000000000000 CURLOPT_HTTP200ALIASES man page

NAME

CURLOPT_HTTP200ALIASES - specify alternative matches for HTTP 200 OK

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTP200ALIASES,
                          struct curl_slist *aliases);

DESCRIPTION

Pass a pointer to a linked list of aliases to be treated as valid HTTP 200 responses. Some servers respond with a custom header response line. For example, SHOUTcast servers respond with "ICY 200 OK". Also some very old Icecast 1.3.x servers will respond like that for certain user agent headers or in absence of such. By including this string in your list of aliases, the response will be treated as a valid HTTP header line such as "HTTP/1.0 200 OK".

The linked list should be a fully valid list of struct curl_slist structs, and be properly filled in. Use curl_slist_append(3) to create the list and curl_slist_free_all(3) to clean up an entire list.

The alias itself is not parsed for any version strings. The protocol is assumed to match HTTP 1.0 when an alias match.

DEFAULT

NULL

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.10.3

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_HTTP_VERSION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_POST.html0000644000175000017500000001113612652070415015737 00000000000000 CURLOPT_POST man page

NAME

CURLOPT_POST - request a HTTP POST

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POST, long post);

DESCRIPTION

A parameter set to 1 tells libcurl to do a regular HTTP post. This will also make the library use a "Content-Type: application/x-www-form-urlencoded" header. (This is by far the most commonly used POST method).

Use one of CURLOPT_POSTFIELDS or CURLOPT_COPYPOSTFIELDS options to specify what data to post and CURLOPT_POSTFIELDSIZE or CURLOPT_POSTFIELDSIZE_LARGE to set the data size.

Optionally, you can provide data to POST using the CURLOPT_READFUNCTION and CURLOPT_READDATA options but then you must make sure to not set CURLOPT_POSTFIELDS to anything but NULL. When providing data with a callback, you must transmit it using chunked transfer-encoding or you must set the size of the data with the CURLOPT_POSTFIELDSIZE or CURLOPT_POSTFIELDSIZE_LARGE options. To enable chunked encoding, you simply pass in the appropriate Transfer-Encoding header, see the post-callback.c example.

You can override the default POST Content-Type: header by setting your own with CURLOPT_HTTPHEADER.

Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with CURLOPT_HTTPHEADER as usual.

If you use POST to a HTTP 1.1 server, you can send data without knowing the size before starting the POST if you use chunked encoding. You enable this by adding a header like "Transfer-Encoding: chunked" with CURLOPT_HTTPHEADER. With HTTP 1.0 or without chunked transfer, you must specify the size in the request.

When setting CURLOPT_POST to 1, it will automatically set CURLOPT_NOBODY to 0.

If you issue a POST request and then want to make a HEAD or GET using the same re-used handle, you must explicitly set the new request type using CURLOPT_NOBODY or CURLOPT_HTTPGET or similar.

DEFAULT

0, disabled

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Along with HTTP

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_POSTFIELDS, CURLOPT_HTTPPOST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.30000644000175000017500000000351212626067776016636 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_HTTPAUTH_AVAIL 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_HTTPAUTH_AVAIL \- get available HTTP authentication methods .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTPAUTH_AVAIL, long *authp); .SH DESCRIPTION Pass a pointer to a long to receive a bitmask indicating the authentication method(s) available according to the previous response. The meaning of the bits is explained in the \fICURLOPT_HTTPAUTH(3)\fP option for \fIcurl_easy_setopt(3)\fP. .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.10.8 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FILETIME.html0000644000175000017500000000432512652070414016351 00000000000000 CURLOPT_FILETIME man page

NAME

CURLOPT_FILETIME - get the modification time of the remote resource

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FILETIME, long gettime);

DESCRIPTION

Pass a long. If it is 1, libcurl will attempt to get the modification time of the remote document in this operation. This requires that the remote server sends the time or replies to a time querying command. The curl_easy_getinfo(3) function with the CURLINFO_FILETIME argument can be used after a transfer to extract the received time (if any).

DEFAULT

0

PROTOCOLS

HTTP, FTP, SFTP, FILE

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

curl_easy_getinfo (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.30000644000175000017500000000627612626067776017066 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_CTX_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_CTX_FUNCTION \- SSL context callback for OpenSSL or wolfSSL/CyaSSL .SH SYNOPSIS .nf #include CURLcode ssl_ctx_callback(CURL *curl, void *ssl_ctx, void *userptr); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CTX_FUNCTION, ssl_ctx_callback); .SH DESCRIPTION This option only works for libcurl powered by OpenSSL or wolfSSL/CyaSSL. If libcurl was built against another SSL library this functionality is absent. Pass a pointer to your callback function, which should match the prototype shown above. This callback function gets called by libcurl just before the initialization of an SSL connection after having processed all other SSL related options to give a last chance to an application to modify the behaviour of the SSL initialization. The \fIssl_ctx\fP parameter is actually a pointer to the SSL library's \fISSL_CTX\fP. If an error is returned from the callback no attempt to establish a connection is made and the perform operation will return the callback's error code. Set the \fIuserptr\fP argument with the \fICURLOPT_SSL_CTX_DATA(3)\fP option. This function will get called on all new connections made to a server, during the SSL negotiation. The SSL_CTX pointer will be a new one every time. To use this properly, a non-trivial amount of knowledge of your SSL library is necessary. For example, you can use this function to call library-specific callbacks to add additional validation code for certificates, and even to change the actual URI of a HTTPS request (example used in the lib509 test case). See also the example section for a replacement of the key, certificate and trust file settings. .SH DEFAULT NULL .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.11.0 for OpenSSL. Added in 7.42.0 for wolfSSL/CyaSSL. Other SSL backends not supported. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SSL_CTX_DATA "(3), " CURLOPT_SSL_VERIFYPEER "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_SOCKETDATA.pdf0000644000175000017500000000737412652070452016530 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•VínÚHýÏSŒ´?jª0™/Ïx´«•hâJ´¦`ª­’ã ìœÆ¦QjßqïØã iºB1s=÷Üsν㯈`ŠˆùØßx×»œ*tŸ÷ºï}íÑrÙŸx‡ÞEà™…è¯^õ EŠ!¥9ö4Šv=çj> nÂI´˜…WýèºýÝPL)Šb8ÐÅTÂSÑÚ,2X|ê9à M)C<ìRª!°¦® ºuî~×Gñá1]ìi±]äI‘=ýs &ÔuàÏ6Ûçè ÁŸÑ‡§âA¨ò–UˆÖ&àrª¬]CÃ@¸sAÑ€Ëòqç$»šÛƒn|³ÞòÇD¡eåöO×€eØ5{ŒBù Üã6;x„V¤bñÙ=dÛ}‘<¢‡ež'kTd¨Ø$(ÏâúP!Š;Iâeš®–°f<®™*• Ø%öÊ´³/ãp2ÍŽKFêò~Ùîãô°NÐoFÂKó…7¿—e¶þ8ƒˆ3ïªMôv³Ü¯Óäâ\â7] Vô%-gÇ_|k8ÓPOË—“m×è­eë®ÿkU]—®\ ç´D\û³«éhÂq'ß³” ×­T@'ÕÚâYË*%u¯Ó6x- ®)æž¶èoÐÔ¨{¤­ÆZ3éuµEÀ0zÚe…n³JgÚ¤'œ¿Ÿ¯L‘M{tƒëaYc­º—næžÄ o†±P¢re´Ùæ)Ÿ¶iŠöYV  ?Äpèê;J·+c ´ê3cQ¡CQÅfûô» ¶nÞîŠ65q¦ ±°ÊB^^ªÛá!cÂ$¡«+Î[¹MY °dž® >ä €a”0îåp+Jê ƒ¹b»NÉÓ¤8<Ö·á"üøšµf¾†Á,<ö|çÀúÿ¼õ¹èÞœÇBxÜeuctG}}ûP!¡3ËØ Ž“)QXªŸ=¿Ånü©<¨áXz­=Îê`pqËg^$­Ö;«ë¾žK0*5&G÷24ˆ¬½ÆÇµMݳOp5²oˆµF…íÃŒ0P¼|r€DMõ>Áç? Z‰endstream endobj 6 0 obj 1022 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:34+01:00 2016-01-27T08:26:34+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001346 00000 n 0000003229 00000 n 0000001287 00000 n 0000001127 00000 n 0000000015 00000 n 0000001107 00000 n 0000001411 00000 n 0000001665 00000 n 0000001600 00000 n 0000001532 00000 n 0000001452 00000 n 0000001482 00000 n 0000001747 00000 n 0000001806 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<06965384C094DAA2178E1B55637DAAC8><06965384C094DAA2178E1B55637DAAC8>] >> startxref 3383 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.html0000644000175000017500000000645712652070414017370 00000000000000 CURLOPT_ACCEPT_ENCODING man page

NAME

CURLOPT_ACCEPT_ENCODING - enables automatic decompression of HTTP downloads

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ACCEPT_ENCODING, char *enc);

DESCRIPTION

Pass a char * argument specifying what encoding you'd like.

Sets the contents of the Accept-Encoding: header sent in a HTTP request, and enables decoding of a response when a Content-Encoding: header is received. Three encodings are supported: identity, which does nothing, deflate which requests the server to compress its response using the zlib algorithm, and gzip which requests the gzip algorithm.

If a zero-length string is set like "", then an Accept-Encoding: header containing all built-in supported encodings is sent.

You can also opt to just include the Accept-Encoding: header in your request with CURLOPT_HTTPHEADER but then there will be no automatic decompressing when receiving data.

This is a request, not an order; the server may or may not do it. This option must be set (to any non-NULL value) or else any unsolicited encoding done by the server is ignored. See the special file lib/README.encoding for further details.

DEFAULT

NULL

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

This option was called CURLOPT_ENCODING before 7.21.6

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_TRANSFER_ENCODING, CURLOPT_HTTPHEADER, CURLOPT_HTTP_CONTENT_DECODING

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.30000644000175000017500000000345712626067776017041 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RTSP_CLIENT_CSEQ 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_RTSP_CLIENT_CSEQ \- set the RTSP client CSEQ number .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RTSP_CLIENT_CSEQ, long cseq); .SH DESCRIPTION Pass a long to set the the CSEQ number to issue for the next RTSP request. Useful if the application is resuming a previously broken connection. The CSEQ will increment from this new number henceforth. .SH DEFAULT 0 .SH PROTOCOLS RTSP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.20.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_RTSP_SERVER_CSEQ "(3), " CURLOPT_RTSP_REQUEST "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.pdf0000644000175000017500000001001712652070447017453 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}×W Ї…µá.—7´( ÈL«D‘T‰NØ…AS´Å–".™ÀÕìÌ’%¹‰A@îîÌ™3gfö3XŒƒEO÷ìG¯×<¨‘£Ï#®¡ûJöð& >½ˆîGíž/°™@´qÎl¢¯£kczµž/WÑm´ž,6oÃõm¸˜./g‹_o ûÆ„¤©òÛ4VO·*­ËÇÚ Çb–åø'+ ß7`þ½-&8:NW€¸Xà4Û…h>2󆂫ÜaN`#Üh;2>„fô÷Q ÂbÒò`Ì-[/ ‡!VÿÀ}YÁoQ´‚È´% áU\¨û´‚°HÊmVÂ+™°-Þ¾÷™/y›½ð6»7…CÃ6ð•g»aÝWå^ó6-‹ÉÎ<•Í¡z‰Ý£ÕêõlæöºÃškìØ"騸6t%MLÇ1¦Ó>oKGMR"ïŽÛÓîZmⵞ.¤`"ð_HÚQè[WYBÁîӸЅ„Ù¡°(îº0 L‡ ¸Ç$?¤“3×ö5z×(øpµ‰èø6¥f‚™LÑPª-mã:†¸ª²“zç>fGtQ_tqJÆÉ&eT ½6TfJŽãûFQkvtÞ…`žpú˜ÑS’g˜*Ö‚µ¸üÀÈ6#)‘æN\I‡ÉŸ‹èÐp¸`ö‹„ çU°‹†ŸmHj\îÙdØ7ÉrÔ<Ö ’¥k¸­ô¶îJ¬Z]±mHJoÑ/ÚÑi%Ë^—áÛŽxGêˆqV\öÄL®ÚVG»1'(¦vu>ð1’rèyž}Ђaµ­õ›Vë‚lIÇ'\¯ãp,˜åšÄe˃Ca3Ïrû‰;]ÎϦbÄ€‚øyHøçäÃjöJô¿9y¢*÷£çrÙ±åøþ³+Ãs;ÞˆT©ãš|„ÉÖ°Ã{ÅÍæ“7³ù,út¦Á–èã¤yâØA}`á{8Š˜ûýX¯u]­ðÑät½p¹1™_…gÍe÷§uSu—¦ðvù²v(µ—)Ý1z‘^hA¶¯ïKy,n—z°ÓÁ¢¬_”æ& a2ß,‡@Î!õ—l•vð³~yÞ*iäô¹Ò½ôâÔ6ºv‡jï­“p†{ÍeØÙ>»áY¬Ÿ%G¦ugG´cÛ ˜Û‚îG˜‡÷Xf™cî8dŽ·ÌwMÂâRã–qs2F£ßñùºŠóïendstream endobj 6 0 obj 1297 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:31+01:00 2016-01-27T08:26:31+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001621 00000 n 0000003504 00000 n 0000001562 00000 n 0000001402 00000 n 0000000015 00000 n 0000001382 00000 n 0000001686 00000 n 0000001940 00000 n 0000001875 00000 n 0000001807 00000 n 0000001727 00000 n 0000001757 00000 n 0000002022 00000 n 0000002081 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<8875A9145A55BA776FC265893B151FE7><8875A9145A55BA776FC265893B151FE7>] >> startxref 3658 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.pdf0000644000175000017500000000751712652070437017017 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUms›FþίØq?4âÄñ*ê¦3rBR%D¨NšZ F'‹ÂKT·ÓŸÔÿؽ,K¶ëŒfŒaowŸÝ}ö¹/  ÿµÏx+ fÜ”’7Ò‰ #´x !òáZj|(8:8®A†.„[É´ÈB¸—®ä——3?˜†Ëi0_=ÿÕ|ü›·…q]¤K•·Ë’Uù®RTÝÒˆ¦92¾$yVÂÓÎÊïá[IÕˆN1aŒx\ÄC\‹C2l}IžŒ”ï±´R‹X®0Õ$¿÷”ðó½t˜š*Õ¹Y㨠ÿB™üÅ _ÿ«¨Š`—'YÅVPåMÔ{0TÄ¡R› EÚù§I0çÇÉÅ‘Xþ.Éâ´^1ø‘÷eÀÿÍOü¸nŠz8¨8ǧ}[ô6Q¶JYÿñ®õ!ͳQÁB9ÇÎüÖWÞüål< ÇÁä)¸”šÝLx¼†Û¼†½âwHmW޲ û­)«¦IøRm”¬øªPOé®Ì Ø'Õ&¯+ØD E_×±å¯ bL“k^"¬rˆ ¬Š”e ù‚a¶Xv]0N„æõôñ5)#88_Òˆe[\Ø»j¹ÛÑ\3¨K¶"ðqÃ2á­ÿãQIe øu¦·pdQq+Òõa¿Iâ 䘿Ø'%ã~iò‡‚Ô¨iË Ï#ZrRN>yu³˜ÓY‹Á4$¨n;mTh–+&„ÜeÔ±Íî$åeàŸì5‚vÅÆÏa8}ˆ÷ëèýÔ÷žÚ¸ƒ2AO¬Ç‹{BdIÅ qνåd½¹ ò7rϺC£¨Vo¢zb}^ÀY·¡%ËVgç½á»óPiø—ƒÂà£g›ªÚý00„£2ä?£í.e$ηgßyлSOÎÖƒ‚ö±ÙÛgó(ÚB暆UvÁ.”FßZÕüö}hܹó=·+Öy±í:Ê­ê¡£ÿ´µ†Ã÷ÐÑx9M1Âш¤ۢݾýÑÅØ‡ŸNË"†‰ Ž˜0zÎ5ž'ו<óÂËÙ>(Ô@¶©<ò/=1šÇȆçYUíì-ƒw¬E!Põn—xíõ¯œöÈåäÝ$PŒ–'Ë@\ Ü/Ë+Ò¦zú~ô<ùóàPÇÉýøp`'MÂP´ÛH¡NýãXh·mí¤í$®cN³ïÅU S'E‘Õ-b7=ë..‡Ñ•Z–kK¦¼­QqñŠm0ï”Cˆ“J¿àï?„ïˆÒendstream endobj 6 0 obj 1105 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:23+01:00 2016-01-27T08:26:23+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001429 00000 n 0000003312 00000 n 0000001370 00000 n 0000001210 00000 n 0000000015 00000 n 0000001190 00000 n 0000001494 00000 n 0000001748 00000 n 0000001683 00000 n 0000001615 00000 n 0000001535 00000 n 0000001565 00000 n 0000001830 00000 n 0000001889 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3466 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.html0000644000175000017500000000567612652070415017567 00000000000000 CURLOPT_STREAM_DEPENDS_E man page

NAME

CURLOPT_STREAM_DEPENDS_E - set stream this transfer depends on execlusively

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_DEPENDS_E, CURL *dephandle);

DESCRIPTION

Pass a CURL * pointer in dephandle to identify the stream within the same connection that this stream is depending upon exclusively. That means it depends on it and sets the Exclusive bit.

The spec says "Including a dependency expresses a preference to allocate resources to the identified stream rather than to the dependent stream."

Setting a dependency with the exclusive flag for a reprioritized stream causes all the dependencies of the new parent stream to become dependent on the reprioritized stream.

This option can be set during transfer.

dephandle must not be the same as handle, that will cause this function to return an error. It must be another easy handle, and it also needs to be a handle of a transfer that will be sent over the same HTTP/2 connection for this option to have an actual effect.

DEFAULT

NULL

PROTOCOLS

HTTP/2

EXAMPLE

TODO

AVAILABILITY

Added in 7.46.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_STREAM_WEIGHT, CURLOPT_STREAM_DEPENDS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/Makefile.am0000644000175000017500000006013212626067776015131 00000000000000#*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at http://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. # ########################################################################### AUTOMAKE_OPTIONS = foreign no-dependencies man_MANS = CURLOPT_ACCEPT_ENCODING.3 CURLOPT_ACCEPTTIMEOUT_MS.3 \ CURLOPT_ADDRESS_SCOPE.3 CURLOPT_APPEND.3 CURLOPT_AUTOREFERER.3 \ CURLOPT_BUFFERSIZE.3 CURLOPT_CAINFO.3 CURLOPT_CAPATH.3 \ CURLOPT_CERTINFO.3 CURLOPT_CHUNK_BGN_FUNCTION.3 CURLOPT_CHUNK_DATA.3 \ CURLOPT_CHUNK_END_FUNCTION.3 CURLOPT_CLOSESOCKETDATA.3 \ CURLOPT_CLOSESOCKETFUNCTION.3 CURLOPT_CONNECT_ONLY.3 \ CURLOPT_CONNECTTIMEOUT.3 CURLOPT_CONNECTTIMEOUT_MS.3 \ CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 CURLOPT_CONV_FROM_UTF8_FUNCTION.3 \ CURLOPT_CONV_TO_NETWORK_FUNCTION.3 CURLOPT_COOKIE.3 \ CURLOPT_COOKIEFILE.3 CURLOPT_COOKIEJAR.3 CURLOPT_COOKIELIST.3 \ CURLOPT_COOKIESESSION.3 CURLOPT_COPYPOSTFIELDS.3 CURLOPT_CRLF.3 \ CURLOPT_CRLFILE.3 CURLOPT_CUSTOMREQUEST.3 CURLOPT_DEBUGDATA.3 \ CURLOPT_DEBUGFUNCTION.3 CURLOPT_DIRLISTONLY.3 \ CURLOPT_DNS_CACHE_TIMEOUT.3 CURLOPT_DNS_INTERFACE.3 \ CURLOPT_DNS_LOCAL_IP4.3 CURLOPT_DNS_LOCAL_IP6.3 CURLOPT_DNS_SERVERS.3 \ CURLOPT_DNS_USE_GLOBAL_CACHE.3 CURLOPT_EGDSOCKET.3 \ CURLOPT_ERRORBUFFER.3 CURLOPT_EXPECT_100_TIMEOUT_MS.3 \ CURLOPT_FAILONERROR.3 CURLOPT_FILETIME.3 CURLOPT_FNMATCH_DATA.3 \ CURLOPT_FNMATCH_FUNCTION.3 CURLOPT_FOLLOWLOCATION.3 \ CURLOPT_FORBID_REUSE.3 CURLOPT_FRESH_CONNECT.3 CURLOPT_FTP_ACCOUNT.3 \ CURLOPT_FTP_ALTERNATIVE_TO_USER.3 CURLOPT_FTP_CREATE_MISSING_DIRS.3 \ CURLOPT_FTP_FILEMETHOD.3 CURLOPT_FTPPORT.3 \ CURLOPT_FTP_RESPONSE_TIMEOUT.3 CURLOPT_FTP_SKIP_PASV_IP.3 \ CURLOPT_FTPSSLAUTH.3 CURLOPT_FTP_SSL_CCC.3 CURLOPT_FTP_USE_EPRT.3 \ CURLOPT_FTP_USE_EPSV.3 CURLOPT_FTP_USE_PRET.3 \ CURLOPT_GSSAPI_DELEGATION.3 CURLOPT_HEADER.3 CURLOPT_HEADERDATA.3 \ CURLOPT_HEADERFUNCTION.3 CURLOPT_HEADEROPT.3 CURLOPT_HTTP200ALIASES.3 \ CURLOPT_HTTPAUTH.3 CURLOPT_HTTP_CONTENT_DECODING.3 CURLOPT_HTTPGET.3 \ CURLOPT_HTTPHEADER.3 CURLOPT_HTTPPOST.3 CURLOPT_HTTPPROXYTUNNEL.3 \ CURLOPT_HTTP_TRANSFER_DECODING.3 CURLOPT_HTTP_VERSION.3 \ CURLOPT_IGNORE_CONTENT_LENGTH.3 CURLOPT_INFILESIZE.3 \ CURLOPT_INFILESIZE_LARGE.3 CURLOPT_INTERFACE.3 \ CURLOPT_INTERLEAVEDATA.3 CURLOPT_INTERLEAVEFUNCTION.3 \ CURLOPT_IOCTLDATA.3 CURLOPT_IOCTLFUNCTION.3 CURLOPT_IPRESOLVE.3 \ CURLOPT_ISSUERCERT.3 CURLOPT_KEYPASSWD.3 CURLOPT_KRBLEVEL.3 \ CURLOPT_LOCALPORT.3 CURLOPT_LOCALPORTRANGE.3 CURLOPT_LOGIN_OPTIONS.3 \ CURLOPT_LOW_SPEED_LIMIT.3 CURLOPT_LOW_SPEED_TIME.3 CURLOPT_MAIL_AUTH.3 \ CURLOPT_MAIL_FROM.3 CURLOPT_MAIL_RCPT.3 CURLOPT_MAXCONNECTS.3 \ CURLOPT_MAXFILESIZE.3 CURLOPT_MAXFILESIZE_LARGE.3 \ CURLOPT_MAX_RECV_SPEED_LARGE.3 CURLOPT_MAXREDIRS.3 \ CURLOPT_MAX_SEND_SPEED_LARGE.3 CURLOPT_NETRC.3 CURLOPT_NETRC_FILE.3 \ CURLOPT_NEW_DIRECTORY_PERMS.3 CURLOPT_NEW_FILE_PERMS.3 \ CURLOPT_NOBODY.3 CURLOPT_NOPROGRESS.3 CURLOPT_NOPROXY.3 \ CURLOPT_NOSIGNAL.3 CURLOPT_OPENSOCKETDATA.3 \ CURLOPT_OPENSOCKETFUNCTION.3 CURLOPT_PASSWORD.3 \ CURLOPT_PINNEDPUBLICKEY.3 CURLOPT_PORT.3 CURLOPT_POST.3 \ CURLOPT_POSTFIELDS.3 CURLOPT_POSTFIELDSIZE.3 \ CURLOPT_POSTFIELDSIZE_LARGE.3 CURLOPT_POSTQUOTE.3 CURLOPT_POSTREDIR.3 \ CURLOPT_PREQUOTE.3 CURLOPT_PRIVATE.3 CURLOPT_PROGRESSDATA.3 \ CURLOPT_PROGRESSFUNCTION.3 CURLOPT_PROTOCOLS.3 CURLOPT_PROXY.3 \ CURLOPT_PROXYAUTH.3 CURLOPT_PROXYHEADER.3 CURLOPT_PROXYPASSWORD.3 \ CURLOPT_PROXYPORT.3 CURLOPT_PROXY_TRANSFER_MODE.3 CURLOPT_PROXYTYPE.3 \ CURLOPT_PROXYUSERNAME.3 CURLOPT_PROXYUSERPWD.3 CURLOPT_PUT.3 \ CURLOPT_QUOTE.3 CURLOPT_RANDOM_FILE.3 CURLOPT_RANGE.3 \ CURLOPT_READDATA.3 CURLOPT_READFUNCTION.3 CURLOPT_REDIR_PROTOCOLS.3 \ CURLOPT_REFERER.3 CURLOPT_RESOLVE.3 CURLOPT_RESUME_FROM.3 \ CURLOPT_RESUME_FROM_LARGE.3 CURLOPT_RTSP_CLIENT_CSEQ.3 \ CURLOPT_RTSP_REQUEST.3 CURLOPT_RTSP_SERVER_CSEQ.3 \ CURLOPT_RTSP_SESSION_ID.3 CURLOPT_RTSP_STREAM_URI.3 \ CURLOPT_RTSP_TRANSPORT.3 CURLOPT_SASL_IR.3 CURLOPT_SEEKDATA.3 \ CURLOPT_SEEKFUNCTION.3 CURLOPT_SHARE.3 CURLOPT_SOCKOPTDATA.3 \ CURLOPT_SOCKOPTFUNCTION.3 CURLOPT_SOCKS5_GSSAPI_NEC.3 \ CURLOPT_SOCKS5_GSSAPI_SERVICE.3 CURLOPT_SSH_AUTH_TYPES.3 \ CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 CURLOPT_SSH_KEYDATA.3 \ CURLOPT_SSH_KEYFUNCTION.3 CURLOPT_SSH_KNOWNHOSTS.3 \ CURLOPT_SSH_PRIVATE_KEYFILE.3 CURLOPT_SSH_PUBLIC_KEYFILE.3 \ CURLOPT_SSLCERT.3 CURLOPT_SSLCERTTYPE.3 CURLOPT_SSL_CIPHER_LIST.3 \ CURLOPT_SSL_CTX_DATA.3 CURLOPT_SSL_CTX_FUNCTION.3 \ CURLOPT_SSL_ENABLE_ALPN.3 CURLOPT_SSL_ENABLE_NPN.3 CURLOPT_SSLENGINE.3 \ CURLOPT_SSLENGINE_DEFAULT.3 CURLOPT_SSL_FALSESTART.3 CURLOPT_SSLKEY.3 \ CURLOPT_SSLKEYTYPE.3 CURLOPT_SSL_OPTIONS.3 \ CURLOPT_SSL_SESSIONID_CACHE.3 CURLOPT_SSL_VERIFYHOST.3 \ CURLOPT_SSL_VERIFYPEER.3 CURLOPT_SSL_VERIFYSTATUS.3 \ CURLOPT_SSLVERSION.3 CURLOPT_STDERR.3 CURLOPT_TCP_KEEPALIVE.3 \ CURLOPT_TCP_KEEPIDLE.3 CURLOPT_TCP_KEEPINTVL.3 CURLOPT_TCP_NODELAY.3 \ CURLOPT_TELNETOPTIONS.3 CURLOPT_TFTP_BLKSIZE.3 CURLOPT_TIMECONDITION.3 \ CURLOPT_TIMEOUT.3 CURLOPT_TIMEOUT_MS.3 CURLOPT_TIMEVALUE.3 \ CURLOPT_TLSAUTH_PASSWORD.3 CURLOPT_TLSAUTH_TYPE.3 \ CURLOPT_TLSAUTH_USERNAME.3 CURLOPT_TRANSFER_ENCODING.3 \ CURLOPT_TRANSFERTEXT.3 CURLOPT_UNRESTRICTED_AUTH.3 CURLOPT_UPLOAD.3 \ CURLOPT_URL.3 CURLOPT_USERAGENT.3 CURLOPT_USERNAME.3 CURLOPT_USERPWD.3 \ CURLOPT_USE_SSL.3 CURLOPT_VERBOSE.3 CURLOPT_WILDCARDMATCH.3 \ CURLOPT_WRITEDATA.3 CURLOPT_WRITEFUNCTION.3 CURLOPT_XFERINFODATA.3 \ CURLOPT_XFERINFOFUNCTION.3 CURLOPT_XOAUTH2_BEARER.3 \ CURLOPT_STREAM_DEPENDS.3 CURLOPT_STREAM_DEPENDS_E.3 \ CURLOPT_STREAM_WEIGHT.3 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 CURLMOPT_MAXCONNECTS.3 \ CURLMOPT_MAX_HOST_CONNECTIONS.3 CURLMOPT_MAX_PIPELINE_LENGTH.3 \ CURLMOPT_MAX_TOTAL_CONNECTIONS.3 CURLMOPT_PIPELINING.3 \ CURLMOPT_PIPELINING_SERVER_BL.3 CURLMOPT_PIPELINING_SITE_BL.3 \ CURLMOPT_SOCKETDATA.3 CURLMOPT_SOCKETFUNCTION.3 CURLMOPT_TIMERDATA.3 \ CURLMOPT_TIMERFUNCTION.3 CURLOPT_UNIX_SOCKET_PATH.3 \ CURLOPT_PATH_AS_IS.3 CURLOPT_PROXY_SERVICE_NAME.3 \ CURLOPT_SERVICE_NAME.3 CURLOPT_PIPEWAIT.3 CURLMOPT_PUSHDATA.3 \ CURLMOPT_PUSHFUNCTION.3 CURLOPT_DEFAULT_PROTOCOL.3 \ CURLINFO_ACTIVESOCKET.3 CURLINFO_APPCONNECT_TIME.3 CURLINFO_CERTINFO.3 \ CURLINFO_CONDITION_UNMET.3 CURLINFO_CONNECT_TIME.3 \ CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 CURLINFO_CONTENT_LENGTH_UPLOAD.3 \ CURLINFO_CONTENT_TYPE.3 CURLINFO_COOKIELIST.3 CURLINFO_EFFECTIVE_URL.3 \ CURLINFO_FILETIME.3 CURLINFO_FTP_ENTRY_PATH.3 CURLINFO_HEADER_SIZE.3 \ CURLINFO_HTTPAUTH_AVAIL.3 CURLINFO_HTTP_CONNECTCODE.3 \ CURLINFO_LASTSOCKET.3 CURLINFO_LOCAL_IP.3 CURLINFO_LOCAL_PORT.3 \ CURLINFO_NAMELOOKUP_TIME.3 CURLINFO_NUM_CONNECTS.3 CURLINFO_OS_ERRNO.3 \ CURLINFO_PRETRANSFER_TIME.3 CURLINFO_PRIMARY_IP.3 \ CURLINFO_PRIMARY_PORT.3 CURLINFO_PRIVATE.3 CURLINFO_PROXYAUTH_AVAIL.3 \ CURLINFO_REDIRECT_COUNT.3 CURLINFO_REDIRECT_TIME.3 \ CURLINFO_REDIRECT_URL.3 CURLINFO_REQUEST_SIZE.3 \ CURLINFO_RESPONSE_CODE.3 CURLINFO_RTSP_CLIENT_CSEQ.3 \ CURLINFO_RTSP_CSEQ_RECV.3 CURLINFO_RTSP_SERVER_CSEQ.3 \ CURLINFO_RTSP_SESSION_ID.3 CURLINFO_SIZE_DOWNLOAD.3 \ CURLINFO_SIZE_UPLOAD.3 CURLINFO_SPEED_DOWNLOAD.3 \ CURLINFO_SPEED_UPLOAD.3 CURLINFO_SSL_ENGINES.3 \ CURLINFO_SSL_VERIFYRESULT.3 CURLINFO_STARTTRANSFER_TIME.3 \ CURLINFO_TLS_SESSION.3 CURLINFO_TOTAL_TIME.3 HTMLPAGES = CURLOPT_ACCEPT_ENCODING.html CURLOPT_ACCEPTTIMEOUT_MS.html \ CURLOPT_ADDRESS_SCOPE.html CURLOPT_APPEND.html \ CURLOPT_AUTOREFERER.html CURLOPT_BUFFERSIZE.html CURLOPT_CAINFO.html \ CURLOPT_CAPATH.html CURLOPT_CERTINFO.html \ CURLOPT_CHUNK_BGN_FUNCTION.html CURLOPT_CHUNK_DATA.html \ CURLOPT_CHUNK_END_FUNCTION.html CURLOPT_CLOSESOCKETDATA.html \ CURLOPT_CLOSESOCKETFUNCTION.html CURLOPT_CONNECT_ONLY.html \ CURLOPT_CONNECTTIMEOUT.html CURLOPT_CONNECTTIMEOUT_MS.html \ CURLOPT_CONV_FROM_NETWORK_FUNCTION.html \ CURLOPT_CONV_FROM_UTF8_FUNCTION.html \ CURLOPT_CONV_TO_NETWORK_FUNCTION.html CURLOPT_COOKIE.html \ CURLOPT_COOKIEFILE.html CURLOPT_COOKIEJAR.html CURLOPT_COOKIELIST.html \ CURLOPT_COOKIESESSION.html CURLOPT_COPYPOSTFIELDS.html \ CURLOPT_CRLF.html CURLOPT_CRLFILE.html CURLOPT_CUSTOMREQUEST.html \ CURLOPT_DEBUGDATA.html CURLOPT_DEBUGFUNCTION.html \ CURLOPT_DIRLISTONLY.html CURLOPT_DNS_CACHE_TIMEOUT.html \ CURLOPT_DNS_INTERFACE.html CURLOPT_DNS_LOCAL_IP4.html \ CURLOPT_DNS_LOCAL_IP6.html CURLOPT_DNS_SERVERS.html \ CURLOPT_DNS_USE_GLOBAL_CACHE.html CURLOPT_EGDSOCKET.html \ CURLOPT_ERRORBUFFER.html CURLOPT_EXPECT_100_TIMEOUT_MS.html \ CURLOPT_FAILONERROR.html CURLOPT_FILETIME.html \ CURLOPT_FNMATCH_DATA.html CURLOPT_FNMATCH_FUNCTION.html \ CURLOPT_FOLLOWLOCATION.html CURLOPT_FORBID_REUSE.html \ CURLOPT_FRESH_CONNECT.html CURLOPT_FTP_ACCOUNT.html \ CURLOPT_FTP_ALTERNATIVE_TO_USER.html \ CURLOPT_FTP_CREATE_MISSING_DIRS.html CURLOPT_FTP_FILEMETHOD.html \ CURLOPT_FTPPORT.html CURLOPT_FTP_RESPONSE_TIMEOUT.html \ CURLOPT_FTP_SKIP_PASV_IP.html CURLOPT_FTPSSLAUTH.html \ CURLOPT_FTP_SSL_CCC.html CURLOPT_FTP_USE_EPRT.html \ CURLOPT_FTP_USE_EPSV.html CURLOPT_FTP_USE_PRET.html \ CURLOPT_GSSAPI_DELEGATION.html CURLOPT_HEADER.html \ CURLOPT_HEADERDATA.html CURLOPT_HEADERFUNCTION.html \ CURLOPT_HEADEROPT.html CURLOPT_HTTP200ALIASES.html \ CURLOPT_HTTPAUTH.html CURLOPT_HTTP_CONTENT_DECODING.html \ CURLOPT_HTTPGET.html CURLOPT_HTTPHEADER.html CURLOPT_HTTPPOST.html \ CURLOPT_HTTPPROXYTUNNEL.html CURLOPT_HTTP_TRANSFER_DECODING.html \ CURLOPT_HTTP_VERSION.html CURLOPT_IGNORE_CONTENT_LENGTH.html \ CURLOPT_INFILESIZE.html CURLOPT_INFILESIZE_LARGE.html \ CURLOPT_INTERFACE.html CURLOPT_INTERLEAVEDATA.html \ CURLOPT_INTERLEAVEFUNCTION.html CURLOPT_IOCTLDATA.html \ CURLOPT_IOCTLFUNCTION.html CURLOPT_IPRESOLVE.html \ CURLOPT_ISSUERCERT.html CURLOPT_KEYPASSWD.html CURLOPT_KRBLEVEL.html \ CURLOPT_LOCALPORT.html CURLOPT_LOCALPORTRANGE.html \ CURLOPT_LOGIN_OPTIONS.html CURLOPT_LOW_SPEED_LIMIT.html \ CURLOPT_LOW_SPEED_TIME.html CURLOPT_MAIL_AUTH.html \ CURLOPT_MAIL_FROM.html CURLOPT_MAIL_RCPT.html CURLOPT_MAXCONNECTS.html \ CURLOPT_MAXFILESIZE.html CURLOPT_MAXFILESIZE_LARGE.html \ CURLOPT_MAX_RECV_SPEED_LARGE.html CURLOPT_MAXREDIRS.html \ CURLOPT_MAX_SEND_SPEED_LARGE.html CURLOPT_NETRC.html \ CURLOPT_NETRC_FILE.html CURLOPT_NEW_DIRECTORY_PERMS.html \ CURLOPT_NEW_FILE_PERMS.html CURLOPT_NOBODY.html \ CURLOPT_NOPROGRESS.html CURLOPT_NOPROXY.html CURLOPT_NOSIGNAL.html \ CURLOPT_OPENSOCKETDATA.html CURLOPT_OPENSOCKETFUNCTION.html \ CURLOPT_PASSWORD.html CURLOPT_PINNEDPUBLICKEY.html CURLOPT_PORT.html \ CURLOPT_POST.html CURLOPT_POSTFIELDS.html CURLOPT_POSTFIELDSIZE.html \ CURLOPT_POSTFIELDSIZE_LARGE.html CURLOPT_POSTQUOTE.html \ CURLOPT_POSTREDIR.html CURLOPT_PREQUOTE.html CURLOPT_PRIVATE.html \ CURLOPT_PROGRESSDATA.html CURLOPT_PROGRESSFUNCTION.html \ CURLOPT_PROTOCOLS.html CURLOPT_PROXY.html CURLOPT_PROXYAUTH.html \ CURLOPT_PROXYHEADER.html CURLOPT_PROXYPASSWORD.html \ CURLOPT_PROXYPORT.html CURLOPT_PROXY_TRANSFER_MODE.html \ CURLOPT_PROXYTYPE.html CURLOPT_PROXYUSERNAME.html \ CURLOPT_PROXYUSERPWD.html CURLOPT_PUT.html CURLOPT_QUOTE.html \ CURLOPT_RANDOM_FILE.html CURLOPT_RANGE.html CURLOPT_READDATA.html \ CURLOPT_READFUNCTION.html CURLOPT_REDIR_PROTOCOLS.html \ CURLOPT_REFERER.html CURLOPT_RESOLVE.html CURLOPT_RESUME_FROM.html \ CURLOPT_RESUME_FROM_LARGE.html CURLOPT_RTSP_CLIENT_CSEQ.html \ CURLOPT_RTSP_REQUEST.html CURLOPT_RTSP_SERVER_CSEQ.html \ CURLOPT_RTSP_SESSION_ID.html CURLOPT_RTSP_STREAM_URI.html \ CURLOPT_RTSP_TRANSPORT.html CURLOPT_SASL_IR.html CURLOPT_SEEKDATA.html \ CURLOPT_SEEKFUNCTION.html CURLOPT_SHARE.html CURLOPT_SOCKOPTDATA.html \ CURLOPT_SOCKOPTFUNCTION.html CURLOPT_SOCKS5_GSSAPI_NEC.html \ CURLOPT_SOCKS5_GSSAPI_SERVICE.html CURLOPT_SSH_AUTH_TYPES.html \ CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html CURLOPT_SSH_KEYDATA.html \ CURLOPT_SSH_KEYFUNCTION.html CURLOPT_SSH_KNOWNHOSTS.html \ CURLOPT_SSH_PRIVATE_KEYFILE.html CURLOPT_SSH_PUBLIC_KEYFILE.html \ CURLOPT_SSLCERT.html CURLOPT_SSLCERTTYPE.html \ CURLOPT_SSL_CIPHER_LIST.html CURLOPT_SSL_CTX_DATA.html \ CURLOPT_SSL_CTX_FUNCTION.html CURLOPT_SSL_ENABLE_ALPN.html \ CURLOPT_SSL_ENABLE_NPN.html CURLOPT_SSLENGINE.html \ CURLOPT_SSLENGINE_DEFAULT.html CURLOPT_SSL_FALSESTART.html \ CURLOPT_SSLKEY.html CURLOPT_SSLKEYTYPE.html CURLOPT_SSL_OPTIONS.html \ CURLOPT_SSL_SESSIONID_CACHE.html CURLOPT_SSL_VERIFYHOST.html \ CURLOPT_SSL_VERIFYPEER.html CURLOPT_SSL_VERIFYSTATUS.html \ CURLOPT_SSLVERSION.html CURLOPT_STDERR.html CURLOPT_TCP_KEEPALIVE.html \ CURLOPT_TCP_KEEPIDLE.html CURLOPT_TCP_KEEPINTVL.html \ CURLOPT_TCP_NODELAY.html CURLOPT_TELNETOPTIONS.html \ CURLOPT_TFTP_BLKSIZE.html CURLOPT_TIMECONDITION.html \ CURLOPT_TIMEOUT.html CURLOPT_TIMEOUT_MS.html CURLOPT_TIMEVALUE.html \ CURLOPT_TLSAUTH_PASSWORD.html CURLOPT_TLSAUTH_TYPE.html \ CURLOPT_TLSAUTH_USERNAME.html CURLOPT_TRANSFER_ENCODING.html \ CURLOPT_TRANSFERTEXT.html CURLOPT_UNRESTRICTED_AUTH.html \ CURLOPT_UPLOAD.html CURLOPT_URL.html CURLOPT_USERAGENT.html \ CURLOPT_USERNAME.html CURLOPT_USERPWD.html CURLOPT_USE_SSL.html \ CURLOPT_VERBOSE.html CURLOPT_WILDCARDMATCH.html CURLOPT_WRITEDATA.html \ CURLOPT_WRITEFUNCTION.html CURLOPT_XFERINFODATA.html \ CURLOPT_XFERINFOFUNCTION.html CURLOPT_XOAUTH2_BEARER.html \ CURLOPT_STREAM_DEPENDS.html CURLOPT_STREAM_DEPENDS_E.html \ CURLOPT_STREAM_WEIGHT.html CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.html \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.html CURLMOPT_MAXCONNECTS.html \ CURLMOPT_MAX_HOST_CONNECTIONS.html CURLMOPT_MAX_PIPELINE_LENGTH.html \ CURLMOPT_MAX_TOTAL_CONNECTIONS.html CURLMOPT_PIPELINING.html \ CURLMOPT_PIPELINING_SERVER_BL.html CURLMOPT_PIPELINING_SITE_BL.html \ CURLMOPT_SOCKETDATA.html CURLMOPT_SOCKETFUNCTION.html \ CURLMOPT_TIMERDATA.html CURLMOPT_TIMERFUNCTION.html \ CURLOPT_UNIX_SOCKET_PATH.html CURLOPT_PATH_AS_IS.html \ CURLOPT_PROXY_SERVICE_NAME.html CURLOPT_SERVICE_NAME.html \ CURLOPT_PIPEWAIT.html CURLMOPT_PUSHDATA.html \ CURLMOPT_PUSHFUNCTION.html CURLOPT_DEFAULT_PROTOCOL.html \ CURLINFO_ACTIVESOCKET.html CURLINFO_APPCONNECT_TIME.html \ CURLINFO_CERTINFO.html CURLINFO_CONDITION_UNMET.html \ CURLINFO_CONNECT_TIME.html CURLINFO_CONTENT_LENGTH_DOWNLOAD.html \ CURLINFO_CONTENT_LENGTH_UPLOAD.html CURLINFO_CONTENT_TYPE.html \ CURLINFO_COOKIELIST.html CURLINFO_EFFECTIVE_URL.html \ CURLINFO_FILETIME.html CURLINFO_FTP_ENTRY_PATH.html \ CURLINFO_HEADER_SIZE.html CURLINFO_HTTPAUTH_AVAIL.html \ CURLINFO_HTTP_CONNECTCODE.html CURLINFO_LASTSOCKET.html \ CURLINFO_LOCAL_IP.html CURLINFO_LOCAL_PORT.html \ CURLINFO_NAMELOOKUP_TIME.html CURLINFO_NUM_CONNECTS.html \ CURLINFO_OS_ERRNO.html CURLINFO_PRETRANSFER_TIME.html \ CURLINFO_PRIMARY_IP.html CURLINFO_PRIMARY_PORT.html \ CURLINFO_PRIVATE.html CURLINFO_PROXYAUTH_AVAIL.html \ CURLINFO_REDIRECT_COUNT.html CURLINFO_REDIRECT_TIME.html \ CURLINFO_REDIRECT_URL.html CURLINFO_REQUEST_SIZE.html \ CURLINFO_RESPONSE_CODE.html CURLINFO_RTSP_CLIENT_CSEQ.html \ CURLINFO_RTSP_CSEQ_RECV.html CURLINFO_RTSP_SERVER_CSEQ.html \ CURLINFO_RTSP_SESSION_ID.html CURLINFO_SIZE_DOWNLOAD.html \ CURLINFO_SIZE_UPLOAD.html CURLINFO_SPEED_DOWNLOAD.html \ CURLINFO_SPEED_UPLOAD.html CURLINFO_SSL_ENGINES.html \ CURLINFO_SSL_VERIFYRESULT.html CURLINFO_STARTTRANSFER_TIME.html \ CURLINFO_TLS_SESSION.html CURLINFO_TOTAL_TIME.html PDFPAGES = CURLOPT_ACCEPT_ENCODING.pdf CURLOPT_ACCEPTTIMEOUT_MS.pdf \ CURLOPT_ADDRESS_SCOPE.pdf CURLOPT_APPEND.pdf CURLOPT_AUTOREFERER.pdf \ CURLOPT_BUFFERSIZE.pdf CURLOPT_CAINFO.pdf CURLOPT_CAPATH.pdf \ CURLOPT_CERTINFO.pdf CURLOPT_CHUNK_BGN_FUNCTION.pdf \ CURLOPT_CHUNK_DATA.pdf CURLOPT_CHUNK_END_FUNCTION.pdf \ CURLOPT_CLOSESOCKETDATA.pdf CURLOPT_CLOSESOCKETFUNCTION.pdf \ CURLOPT_CONNECT_ONLY.pdf CURLOPT_CONNECTTIMEOUT.pdf \ CURLOPT_CONNECTTIMEOUT_MS.pdf CURLOPT_CONV_FROM_NETWORK_FUNCTION.pdf \ CURLOPT_CONV_FROM_UTF8_FUNCTION.pdf \ CURLOPT_CONV_TO_NETWORK_FUNCTION.pdf CURLOPT_COOKIE.pdf \ CURLOPT_COOKIEFILE.pdf CURLOPT_COOKIEJAR.pdf CURLOPT_COOKIELIST.pdf \ CURLOPT_COOKIESESSION.pdf CURLOPT_COPYPOSTFIELDS.pdf CURLOPT_CRLF.pdf \ CURLOPT_CRLFILE.pdf CURLOPT_CUSTOMREQUEST.pdf CURLOPT_DEBUGDATA.pdf \ CURLOPT_DEBUGFUNCTION.pdf CURLOPT_DIRLISTONLY.pdf \ CURLOPT_DNS_CACHE_TIMEOUT.pdf CURLOPT_DNS_INTERFACE.pdf \ CURLOPT_DNS_LOCAL_IP4.pdf CURLOPT_DNS_LOCAL_IP6.pdf \ CURLOPT_DNS_SERVERS.pdf CURLOPT_DNS_USE_GLOBAL_CACHE.pdf \ CURLOPT_EGDSOCKET.pdf CURLOPT_ERRORBUFFER.pdf \ CURLOPT_EXPECT_100_TIMEOUT_MS.pdf CURLOPT_FAILONERROR.pdf \ CURLOPT_FILETIME.pdf CURLOPT_FNMATCH_DATA.pdf \ CURLOPT_FNMATCH_FUNCTION.pdf CURLOPT_FOLLOWLOCATION.pdf \ CURLOPT_FORBID_REUSE.pdf CURLOPT_FRESH_CONNECT.pdf \ CURLOPT_FTP_ACCOUNT.pdf CURLOPT_FTP_ALTERNATIVE_TO_USER.pdf \ CURLOPT_FTP_CREATE_MISSING_DIRS.pdf CURLOPT_FTP_FILEMETHOD.pdf \ CURLOPT_FTPPORT.pdf CURLOPT_FTP_RESPONSE_TIMEOUT.pdf \ CURLOPT_FTP_SKIP_PASV_IP.pdf CURLOPT_FTPSSLAUTH.pdf \ CURLOPT_FTP_SSL_CCC.pdf CURLOPT_FTP_USE_EPRT.pdf \ CURLOPT_FTP_USE_EPSV.pdf CURLOPT_FTP_USE_PRET.pdf \ CURLOPT_GSSAPI_DELEGATION.pdf CURLOPT_HEADER.pdf \ CURLOPT_HEADERDATA.pdf CURLOPT_HEADERFUNCTION.pdf \ CURLOPT_HEADEROPT.pdf CURLOPT_HTTP200ALIASES.pdf CURLOPT_HTTPAUTH.pdf \ CURLOPT_HTTP_CONTENT_DECODING.pdf CURLOPT_HTTPGET.pdf \ CURLOPT_HTTPHEADER.pdf CURLOPT_HTTPPOST.pdf \ CURLOPT_HTTPPROXYTUNNEL.pdf CURLOPT_HTTP_TRANSFER_DECODING.pdf \ CURLOPT_HTTP_VERSION.pdf CURLOPT_IGNORE_CONTENT_LENGTH.pdf \ CURLOPT_INFILESIZE.pdf CURLOPT_INFILESIZE_LARGE.pdf \ CURLOPT_INTERFACE.pdf CURLOPT_INTERLEAVEDATA.pdf \ CURLOPT_INTERLEAVEFUNCTION.pdf CURLOPT_IOCTLDATA.pdf \ CURLOPT_IOCTLFUNCTION.pdf CURLOPT_IPRESOLVE.pdf CURLOPT_ISSUERCERT.pdf \ CURLOPT_KEYPASSWD.pdf CURLOPT_KRBLEVEL.pdf CURLOPT_LOCALPORT.pdf \ CURLOPT_LOCALPORTRANGE.pdf CURLOPT_LOGIN_OPTIONS.pdf \ CURLOPT_LOW_SPEED_LIMIT.pdf CURLOPT_LOW_SPEED_TIME.pdf \ CURLOPT_MAIL_AUTH.pdf CURLOPT_MAIL_FROM.pdf CURLOPT_MAIL_RCPT.pdf \ CURLOPT_MAXCONNECTS.pdf CURLOPT_MAXFILESIZE.pdf \ CURLOPT_MAXFILESIZE_LARGE.pdf CURLOPT_MAX_RECV_SPEED_LARGE.pdf \ CURLOPT_MAXREDIRS.pdf CURLOPT_MAX_SEND_SPEED_LARGE.pdf \ CURLOPT_NETRC.pdf CURLOPT_NETRC_FILE.pdf \ CURLOPT_NEW_DIRECTORY_PERMS.pdf CURLOPT_NEW_FILE_PERMS.pdf \ CURLOPT_NOBODY.pdf CURLOPT_NOPROGRESS.pdf CURLOPT_NOPROXY.pdf \ CURLOPT_NOSIGNAL.pdf CURLOPT_OPENSOCKETDATA.pdf \ CURLOPT_OPENSOCKETFUNCTION.pdf CURLOPT_PASSWORD.pdf \ CURLOPT_PINNEDPUBLICKEY.pdf CURLOPT_PORT.pdf CURLOPT_POST.pdf \ CURLOPT_POSTFIELDS.pdf CURLOPT_POSTFIELDSIZE.pdf \ CURLOPT_POSTFIELDSIZE_LARGE.pdf CURLOPT_POSTQUOTE.pdf \ CURLOPT_POSTREDIR.pdf CURLOPT_PREQUOTE.pdf CURLOPT_PRIVATE.pdf \ CURLOPT_PROGRESSDATA.pdf CURLOPT_PROGRESSFUNCTION.pdf \ CURLOPT_PROTOCOLS.pdf CURLOPT_PROXY.pdf CURLOPT_PROXYAUTH.pdf \ CURLOPT_PROXYHEADER.pdf CURLOPT_PROXYPASSWORD.pdf \ CURLOPT_PROXYPORT.pdf CURLOPT_PROXY_TRANSFER_MODE.pdf \ CURLOPT_PROXYTYPE.pdf CURLOPT_PROXYUSERNAME.pdf \ CURLOPT_PROXYUSERPWD.pdf CURLOPT_PUT.pdf CURLOPT_QUOTE.pdf \ CURLOPT_RANDOM_FILE.pdf CURLOPT_RANGE.pdf CURLOPT_READDATA.pdf \ CURLOPT_READFUNCTION.pdf CURLOPT_REDIR_PROTOCOLS.pdf \ CURLOPT_REFERER.pdf CURLOPT_RESOLVE.pdf CURLOPT_RESUME_FROM.pdf \ CURLOPT_RESUME_FROM_LARGE.pdf CURLOPT_RTSP_CLIENT_CSEQ.pdf \ CURLOPT_RTSP_REQUEST.pdf CURLOPT_RTSP_SERVER_CSEQ.pdf \ CURLOPT_RTSP_SESSION_ID.pdf CURLOPT_RTSP_STREAM_URI.pdf \ CURLOPT_RTSP_TRANSPORT.pdf CURLOPT_SASL_IR.pdf CURLOPT_SEEKDATA.pdf \ CURLOPT_SEEKFUNCTION.pdf CURLOPT_SHARE.pdf CURLOPT_SOCKOPTDATA.pdf \ CURLOPT_SOCKOPTFUNCTION.pdf CURLOPT_SOCKS5_GSSAPI_NEC.pdf \ CURLOPT_SOCKS5_GSSAPI_SERVICE.pdf CURLOPT_SSH_AUTH_TYPES.pdf \ CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdf CURLOPT_SSH_KEYDATA.pdf \ CURLOPT_SSH_KEYFUNCTION.pdf CURLOPT_SSH_KNOWNHOSTS.pdf \ CURLOPT_SSH_PRIVATE_KEYFILE.pdf CURLOPT_SSH_PUBLIC_KEYFILE.pdf \ CURLOPT_SSLCERT.pdf CURLOPT_SSLCERTTYPE.pdf \ CURLOPT_SSL_CIPHER_LIST.pdf CURLOPT_SSL_CTX_DATA.pdf \ CURLOPT_SSL_CTX_FUNCTION.pdf CURLOPT_SSL_ENABLE_ALPN.pdf \ CURLOPT_SSL_ENABLE_NPN.pdf CURLOPT_SSLENGINE.pdf \ CURLOPT_SSLENGINE_DEFAULT.pdf CURLOPT_SSL_FALSESTART.pdf \ CURLOPT_SSLKEY.pdf CURLOPT_SSLKEYTYPE.pdf CURLOPT_SSL_OPTIONS.pdf \ CURLOPT_SSL_SESSIONID_CACHE.pdf CURLOPT_SSL_VERIFYHOST.pdf \ CURLOPT_SSL_VERIFYPEER.pdf CURLOPT_SSL_VERIFYSTATUS.pdf \ CURLOPT_SSLVERSION.pdf CURLOPT_STDERR.pdf CURLOPT_TCP_KEEPALIVE.pdf \ CURLOPT_TCP_KEEPIDLE.pdf CURLOPT_TCP_KEEPINTVL.pdf \ CURLOPT_TCP_NODELAY.pdf CURLOPT_TELNETOPTIONS.pdf \ CURLOPT_TFTP_BLKSIZE.pdf CURLOPT_TIMECONDITION.pdf CURLOPT_TIMEOUT.pdf \ CURLOPT_TIMEOUT_MS.pdf CURLOPT_TIMEVALUE.pdf \ CURLOPT_TLSAUTH_PASSWORD.pdf CURLOPT_TLSAUTH_TYPE.pdf \ CURLOPT_TLSAUTH_USERNAME.pdf CURLOPT_TRANSFER_ENCODING.pdf \ CURLOPT_TRANSFERTEXT.pdf CURLOPT_UNRESTRICTED_AUTH.pdf \ CURLOPT_UPLOAD.pdf CURLOPT_URL.pdf CURLOPT_USERAGENT.pdf \ CURLOPT_USERNAME.pdf CURLOPT_USERPWD.pdf CURLOPT_USE_SSL.pdf \ CURLOPT_VERBOSE.pdf CURLOPT_WILDCARDMATCH.pdf CURLOPT_WRITEDATA.pdf \ CURLOPT_WRITEFUNCTION.pdf CURLOPT_XFERINFODATA.pdf \ CURLOPT_XFERINFOFUNCTION.pdf CURLOPT_XOAUTH2_BEARER.pdf \ CURLOPT_STREAM_DEPENDS.pdf CURLOPT_STREAM_DEPENDS_E.pdf \ CURLOPT_STREAM_WEIGHT.pdf CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdf \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.pdf CURLMOPT_MAXCONNECTS.pdf \ CURLMOPT_MAX_HOST_CONNECTIONS.pdf CURLMOPT_MAX_PIPELINE_LENGTH.pdf \ CURLMOPT_MAX_TOTAL_CONNECTIONS.pdf CURLMOPT_PIPELINING.pdf \ CURLMOPT_PIPELINING_SERVER_BL.pdf CURLMOPT_PIPELINING_SITE_BL.pdf \ CURLMOPT_SOCKETDATA.pdf CURLMOPT_SOCKETFUNCTION.pdf \ CURLMOPT_TIMERDATA.pdf CURLMOPT_TIMERFUNCTION.pdf \ CURLOPT_UNIX_SOCKET_PATH.pdf CURLOPT_PATH_AS_IS.pdf \ CURLOPT_PROXY_SERVICE_NAME.pdf CURLOPT_SERVICE_NAME.pdf \ CURLOPT_PIPEWAIT.pdf CURLMOPT_PUSHDATA.pdf CURLMOPT_PUSHFUNCTION.pdf \ CURLOPT_DEFAULT_PROTOCOL.pdf CURLINFO_ACTIVESOCKET.pdf \ CURLINFO_APPCONNECT_TIME.pdf CURLINFO_CERTINFO.pdf \ CURLINFO_CONDITION_UNMET.pdf CURLINFO_CONNECT_TIME.pdf \ CURLINFO_CONTENT_LENGTH_DOWNLOAD.pdf \ CURLINFO_CONTENT_LENGTH_UPLOAD.pdf CURLINFO_CONTENT_TYPE.pdf \ CURLINFO_COOKIELIST.pdf CURLINFO_EFFECTIVE_URL.pdf \ CURLINFO_FILETIME.pdf CURLINFO_FTP_ENTRY_PATH.pdf \ CURLINFO_HEADER_SIZE.pdf CURLINFO_HTTPAUTH_AVAIL.pdf \ CURLINFO_HTTP_CONNECTCODE.pdf CURLINFO_LASTSOCKET.pdf \ CURLINFO_LOCAL_IP.pdf CURLINFO_LOCAL_PORT.pdf \ CURLINFO_NAMELOOKUP_TIME.pdf CURLINFO_NUM_CONNECTS.pdf \ CURLINFO_OS_ERRNO.pdf CURLINFO_PRETRANSFER_TIME.pdf \ CURLINFO_PRIMARY_IP.pdf CURLINFO_PRIMARY_PORT.pdf CURLINFO_PRIVATE.pdf \ CURLINFO_PROXYAUTH_AVAIL.pdf CURLINFO_REDIRECT_COUNT.pdf \ CURLINFO_REDIRECT_TIME.pdf CURLINFO_REDIRECT_URL.pdf \ CURLINFO_REQUEST_SIZE.pdf CURLINFO_RESPONSE_CODE.pdf \ CURLINFO_RTSP_CLIENT_CSEQ.pdf CURLINFO_RTSP_CSEQ_RECV.pdf \ CURLINFO_RTSP_SERVER_CSEQ.pdf CURLINFO_RTSP_SESSION_ID.pdf \ CURLINFO_SIZE_DOWNLOAD.pdf CURLINFO_SIZE_UPLOAD.pdf \ CURLINFO_SPEED_DOWNLOAD.pdf CURLINFO_SPEED_UPLOAD.pdf \ CURLINFO_SSL_ENGINES.pdf CURLINFO_SSL_VERIFYRESULT.pdf \ CURLINFO_STARTTRANSFER_TIME.pdf CURLINFO_TLS_SESSION.pdf \ CURLINFO_TOTAL_TIME.pdf CLEANFILES = $(HTMLPAGES) $(PDFPAGES) EXTRA_DIST = $(man_MANS) $(HTMLPAGES) $(PDFPAGES) MAN2HTML= roffit --mandir=. < $< >$@ SUFFIXES = .3 .html html: $(HTMLPAGES) .3.html: $(MAN2HTML) pdf: $(PDFPAGES) .3.pdf: @(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \ groff -Tps -man $< >$$foo.ps; \ ps2pdf $$foo.ps $@; \ rm $$foo.ps; \ echo "converted $< to $@") mancheck: @cd $(top_srcdir)/docs/libcurl/opts && ls `awk -F, '!/OBSOLETE/ && /^ CINIT/ { a=substr($$1, 9); print "CURLOPT_" a ".3"}' $(top_srcdir)/include/curl/curl.h` curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLCERT.pdf0000644000175000017500000001036512652070444016103 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœuVíŽÚFýÏS\mÔD0ñøÛmU‰l•„ Þ¤«Ýjå5ÃâÄØÄ6I·Ï°¯Òwì½ã16,ÏøÞ{ι__Agtú¨ßxÛ{½pá±ìéðØûÚãòÔO¼…7!^ðèA¸îÕïpp p}“y>„Ûžvy½˜Ìæáýr9¹ ýðsÏs˜cúÞ W=×e6‡ð{ïV ï4ó®ñ¾HïET>Ý—¢ÊwUhX>ó=[Ã?Iž•pbòïð}ÏtLfûµIeˆ\ ufpŒ#Æ0} “ù6E:´l<0ah:ò…éˆ.ëtÛhÇT†®zÞ"4tfé. ¹!_B3˜MFŽjáåÁ]Áƒ€ >§24 ùžò}Ñ‘^ºÑ‘Eeb(ÑZ†ÇœCÚéÌT$«Da¢Õ•XÓe¬Çl*®úuqEû´‚u^l£ ’.æÜ¸€<ƒ¥@å„}Ób¾o¸Zeå./*@áñZp%¯åx"{L2QäYe„(Æ y+Y…ÃÆ{#Å÷¤ÚÔòr½­!ÃÓŽŽÓ* oæÁ¡x;Ű˜å4|« ɇ5aQ)ŸñðSÒÃã¾ß$&wÕ¦Ë%äE»ÍtÝáìÔ I"„QZæpYi„£ÿm­’Žð=)72¡öx˜U‰,bIKJ« SÇBüPž%R²½‚$“ÆK .©ž`UÑCT¢Ìãuí§ï“TާE˜5èp_ ÌbJ«u‘oëÐöEA9µJ Wyñ$1˜ç5¦g0§é–ƒ]KEÖª–b;°+D…&ötÝ>` l¼ÄqÁ^_Ðõç"/VªÀšN\÷ä¢é¯ßòn¥ª‡ ¦Vž­÷%öúÚpt`¾ÖžÛÓ¬ÑÜd.9Eó iG2dí¾ì§IÞ6/+H“/u¥!"K52cÕªˆô©Ö=¨"ØyƒÎ-Gû–¬ˆí]‘ÔÚ".ÙŠ¸é1Óo ÷[·qÏ÷šÌ•/G-Œ{8SL%†Åô:M<¡Î‡©a0×·ššyYSÔ'-«SSªoèÔ7ø¡›JûÜœ)2—ÄggƦ±Îºò;ŦŽ$§›ÏqŒ®kµ°¶\5Z ÇtÕé¤m›m Ċ뺦uˆyz=™œN'Œù¢é¦§Æá¸ ÈÐÀ¤••¯ÍB˜µ”¢ÞºÓ$âålr2D1lã°Žó}”¦86—@õ¸¢´¨ò8OË_à0œ/ðN~¯Fô3ŸÍMüY^áCU|†Ò#Á_£«ù$h²Ãûဠ[ܤ4ªA¼)¾mÏ;³òøtóàd©3môÚõ‡ö›7I0žŒÞŒ'ãðæ¤Û4‚¼#jn5ìN}N›šÅµ}‚㆘YôŠ“Åòcð·Ú"¯SøØç4‰°&×zë%œä“{£¶Õ¾P[ap?ûɺëy ®§¦’ ÃÇðmEš´S÷3¹a,Ç!Ëy> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:28+01:00 2016-01-27T08:26:28+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001844 00000 n 0000003734 00000 n 0000001785 00000 n 0000001625 00000 n 0000000015 00000 n 0000001605 00000 n 0000001909 00000 n 0000002163 00000 n 0000002098 00000 n 0000002030 00000 n 0000001950 00000 n 0000001980 00000 n 0000002245 00000 n 0000002311 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<10CFAF81584A882F48D7CD751F0BBB53><10CFAF81584A882F48D7CD751F0BBB53>] >> startxref 3888 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.html0000644000175000017500000000740212652070415017637 00000000000000 CURLOPT_SSL_CTX_FUNCTION man page

NAME

CURLOPT_SSL_CTX_FUNCTION - SSL context callback for OpenSSL or wolfSSL/CyaSSL

SYNOPSIS

#include <curl/curl.h>
 
CURLcode ssl_ctx_callback(CURL *curl, void *ssl_ctx, void *userptr);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_CTX_FUNCTION,
                          ssl_ctx_callback);

DESCRIPTION

This option only works for libcurl powered by OpenSSL or wolfSSL/CyaSSL. If libcurl was built against another SSL library this functionality is absent.

Pass a pointer to your callback function, which should match the prototype shown above.

This callback function gets called by libcurl just before the initialization of an SSL connection after having processed all other SSL related options to give a last chance to an application to modify the behaviour of the SSL initialization. The ssl_ctx parameter is actually a pointer to the SSL library's SSL_CTX. If an error is returned from the callback no attempt to establish a connection is made and the perform operation will return the callback's error code. Set the userptr argument with the CURLOPT_SSL_CTX_DATA option.

This function will get called on all new connections made to a server, during the SSL negotiation. The SSL_CTX pointer will be a new one every time.

To use this properly, a non-trivial amount of knowledge of your SSL library is necessary. For example, you can use this function to call library-specific callbacks to add additional validation code for certificates, and even to change the actual URI of a HTTPS request (example used in the lib509 test case). See also the example section for a replacement of the key, certificate and trust file settings.

DEFAULT

NULL

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

Added in 7.11.0 for OpenSSL. Added in 7.42.0 for wolfSSL/CyaSSL. Other SSL backends not supported.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SSL_CTX_DATA, CURLOPT_SSL_VERIFYPEER

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.pdf0000644000175000017500000000670612652070456017525 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Tën›0þÏSiHÕx66kÓ¤,cRVYpwÑ:E)q[& i [ûP{ÇÙ†„\:MHØç—süÀúé¾Ù½õræÃmma¸µ,b6¡ûd÷ðV¨€@/ˆ«Í!à;àsŠâ޲Ǘ³h¿Oæ³øiyas'– GAü¶¾Û"ÎÇÑ$ŒÅ|œ†Ÿ®lz5€l³.ærQ?Íoe“—7Õ`è¸aìÛժɫ²†½ê?Ä‹bqÚV¶¦Æ0ÄÈ! \¦°s…qWÃR/õ2¹ñHGbD\äîj~ õzÏÙÁˆa†ÄÑÛ¸%³Ê3pé1øŠ4wJ9 ñÀeöc:CCVä²l`œÊÃìª:ÒCÁ”~‹“i:I‘™ƒÊ~‘—Y±YJx­}©_èîwˆÈg-æ¬R1'¢_™=8»[”ËBžïKîrĹã³;‡¢*oá,«åÃÕàÕÿð¿ Óñl2“$îì!nëÎ3\¦‹1ngK]ÃVU^6r M¥þê×Zf2?(K”¡˜´‰™þ³IhzÃrw=ÚYÚ¥ù>¶Æ(ÿ ü΋®%lj¹„ë'cêbµ*òl¡{=CŸø.btO‚鬃ÈhÐAp<5GÂÐAØåg" Ùát(ò±·íÌq¥]ïP½!AܧŒí4œ‰ž«ƒH°UÃN§míceAу ¿Ž>N£p+jðO¯D•P­~{Ê;³¬P¹Ap:…ŒëÈÝi* 3Ã}ôú¡Ts繤ÈžD£·“h"¾Ž€2š2uÆþtÚ£åRù”—à#UŸÞïÍïö,—³>Uæ{ÄE—agé)e/›Íº»˜Âyrùéˆö‚¼†z³ZUëF.ÏAMTx_ÄÉ€ºö—xž˜QЉeÕ<×>‡Ó†0ŠÒ¤'r éx¢Ž—ÛÕŸ!Ÿò ÕÜ—ç‡eÕ©ž‡·²÷…kÙ(‚‡êû‘“RC¤ìeÌCÌìùµ®£ì`¬µÃAfN¢:¤+@ÒýNÂ=¹Gq1i4P%¶ z%Ö'õüÐß°¢endstream endobj 6 0 obj 812 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:38+01:00 2016-01-27T08:26:38+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001135 00000 n 0000002939 00000 n 0000001076 00000 n 0000000916 00000 n 0000000015 00000 n 0000000897 00000 n 0000001200 00000 n 0000001375 00000 n 0000001310 00000 n 0000001241 00000 n 0000001271 00000 n 0000001457 00000 n 0000001516 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<931FD22B5AA0A06C4A3AB1819B6B62FD><931FD22B5AA0A06C4A3AB1819B6B62FD>] >> startxref 3093 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PORT.pdf0000644000175000017500000000761512652070437015556 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ}VënÛ6þï§ °‘›%u'6 pupçÆž-w+’!Pd&V#K®.3ò{•½ã/’,×ĉH~7ê+"˜"">ú;ÙÞ­|ôRz}Q9ˆôW²G×Lăèy¤ÖPä[Èg6Šö#ãf³š/–Ñãr±2£/#a‡ &FÛs°ï è8º7¢Ã~0QÒ”Ù#«·ÇŠ×Å¡6'–Ã0c¶ÿ¤E^¡ÓzEFv@p ëé*bŸ Á d3W`œ8. Øhb{rÁÝTL&bu±Ël]èc(ž÷Ü,‚⣠µäð) »¢Â€›ý[uµa¹g³@Řרäû¢æèP”5Ê›ý/Q] £I‰Q”¯è˜Ö;ÉqHZ&.`ñp wZ¾[,׳õ20láþæIÖl9úYèûNü»_$r®ø$L8×ÿA¡wq¾Íøx þ•Yøü\ð[kG±†F4FY¯®©{Âß(òÍùÁüI!?%i ƒ`=ÉÛp}³š-£Ùâî{< &U[ïÒ ©Ä R©”è%hµV+g5-%Lã…²²*xóÄQ½ãß1.)òœ'5ü9Fi^Õ<Þ¢âY.(rŽªOÒøÆä3R&•1Lm§#¡ÒQ”rΖ?C0!¾mÄMV«-ŸõhSAµCYÔERdXFÅØTMœeoàŽN¥ ÑõºTŽßzKˆz›5èKSÕ(ƒLjd°s’B Ž»4Ù©]!lˆžL*N¤å˜ BÃ~…i9êá±’%âÃ!K“X: òB&°Õ£Òß¼ƒÄ°°ÀÑe)Ô»¸ÆR(|n‹ÐJ[l´?viÆíyœ$üP2t%VRê`ËéÜ´™\–A¯Æ0çÔF¨Ñ(a€zè)í†àj%ù…ö)$¸_<‘õN§^bm¡{’¢í€RÆüµ[g x'nÁ #´µÌumD–¡$®Ä¨lòIî9âeY”¦«ýÀ:ˆïA<;]ï5BWœ^ ‘Q§µhºQìDu¯´<Û×£ó¨CÙ!AÖ÷ý>Ø÷Æõ[—gê2•géü´}üjÊxyÁa´-jôKDäÙo9,Wš‚cK  Ï×ÁŸXÐ3•ï‹-úÎlcŸxm/¸YÌϺ(pf@âüxnÄÉÇ’ÒÀJfUœóøU„~¬ÿ5dÀ#üsúq9ÛÄC]OÚz´¸Ô^Û…6Ë ‚  3»Ý„§ò 6¦ŸÐtpa¹´m³ùôz6ŸEŸ‡Ú@ l':<ӬŬ’Üü÷8Uߌުo¿ë«vÕ!ÔŠ¯Âh³ºCŸL蕘yÔ˜Î7¡–ò‚6+^7¥~]¿]¸aN5_‡!šÎ׋~ÚY½öâ[G·áj5Ô^cœV|ù2–Í®#}ß•º ¯ÅM¿ùõýæîFÞkC6Ô±°|Sw û ^a{ªd–>‰›ùØö11'Ôu”kP}hrdêÈâN—t*J…Ñèwøüêz‡ endstream endobj 6 0 obj 1160 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:23+01:00 2016-01-27T08:26:23+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001484 00000 n 0000003374 00000 n 0000001425 00000 n 0000001265 00000 n 0000000015 00000 n 0000001245 00000 n 0000001549 00000 n 0000001803 00000 n 0000001738 00000 n 0000001670 00000 n 0000001590 00000 n 0000001620 00000 n 0000001885 00000 n 0000001951 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<7718E283862CF6F8A3F28B077A3BD8AB><7718E283862CF6F8A3F28B077A3BD8AB>] >> startxref 3528 %%EOF curl-7.47.0/docs/libcurl/opts/Makefile.in0000644000175000017500000012355512647016301015130 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at http://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. # ########################################################################### VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs/libcurl/opts ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ $(top_srcdir)/m4/curl-override.m4 \ $(top_srcdir)/m4/curl-reentrant.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/xc-am-iface.m4 \ $(top_srcdir)/m4/xc-cc-check.m4 \ $(top_srcdir)/m4/xc-lt-iface.m4 \ $(top_srcdir)/m4/xc-translit.m4 \ $(top_srcdir)/m4/xc-val-flgs.m4 \ $(top_srcdir)/m4/zz40-xc-ovr.m4 \ $(top_srcdir)/m4/zz50-xc-ovr.m4 \ $(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \ $(top_builddir)/include/curl/curlbuild.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = depcomp = am__depfiles_maybe = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man3dir = $(mandir)/man3 am__installdirs = "$(DESTDIR)$(man3dir)" MANS = $(man_MANS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@ CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@ CURLVERSION = @CURLVERSION@ CURL_CA_BUNDLE = @CURL_CA_BUNDLE@ CURL_CFLAG_EXTRAS = @CURL_CFLAG_EXTRAS@ CURL_DISABLE_DICT = @CURL_DISABLE_DICT@ CURL_DISABLE_FILE = @CURL_DISABLE_FILE@ CURL_DISABLE_FTP = @CURL_DISABLE_FTP@ CURL_DISABLE_GOPHER = @CURL_DISABLE_GOPHER@ CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@ CURL_DISABLE_IMAP = @CURL_DISABLE_IMAP@ CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@ CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@ CURL_DISABLE_POP3 = @CURL_DISABLE_POP3@ CURL_DISABLE_PROXY = @CURL_DISABLE_PROXY@ CURL_DISABLE_RTSP = @CURL_DISABLE_RTSP@ CURL_DISABLE_SMB = @CURL_DISABLE_SMB@ CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@ CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@ CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@ CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@ CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_LIBS@ CURL_NETWORK_LIBS = @CURL_NETWORK_LIBS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBCURL_LIBS = @LIBCURL_LIBS@ LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@ LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@ LIBMETALINK_LIBS = @LIBMETALINK_LIBS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MANOPT = @MANOPT@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ NROFF = @NROFF@ NSS_LIBS = @NSS_LIBS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ PKGADD_NAME = @PKGADD_NAME@ PKGADD_PKG = @PKGADD_PKG@ PKGADD_VENDOR = @PKGADD_VENDOR@ PKGCONFIG = @PKGCONFIG@ RANDOM_FILE = @RANDOM_FILE@ RANLIB = @RANLIB@ REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_AXTLS = @USE_AXTLS@ USE_CYASSL = @USE_CYASSL@ USE_DARWINSSL = @USE_DARWINSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ libext = @libext@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = foreign no-dependencies man_MANS = CURLOPT_ACCEPT_ENCODING.3 CURLOPT_ACCEPTTIMEOUT_MS.3 \ CURLOPT_ADDRESS_SCOPE.3 CURLOPT_APPEND.3 CURLOPT_AUTOREFERER.3 \ CURLOPT_BUFFERSIZE.3 CURLOPT_CAINFO.3 CURLOPT_CAPATH.3 \ CURLOPT_CERTINFO.3 CURLOPT_CHUNK_BGN_FUNCTION.3 CURLOPT_CHUNK_DATA.3 \ CURLOPT_CHUNK_END_FUNCTION.3 CURLOPT_CLOSESOCKETDATA.3 \ CURLOPT_CLOSESOCKETFUNCTION.3 CURLOPT_CONNECT_ONLY.3 \ CURLOPT_CONNECTTIMEOUT.3 CURLOPT_CONNECTTIMEOUT_MS.3 \ CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 CURLOPT_CONV_FROM_UTF8_FUNCTION.3 \ CURLOPT_CONV_TO_NETWORK_FUNCTION.3 CURLOPT_COOKIE.3 \ CURLOPT_COOKIEFILE.3 CURLOPT_COOKIEJAR.3 CURLOPT_COOKIELIST.3 \ CURLOPT_COOKIESESSION.3 CURLOPT_COPYPOSTFIELDS.3 CURLOPT_CRLF.3 \ CURLOPT_CRLFILE.3 CURLOPT_CUSTOMREQUEST.3 CURLOPT_DEBUGDATA.3 \ CURLOPT_DEBUGFUNCTION.3 CURLOPT_DIRLISTONLY.3 \ CURLOPT_DNS_CACHE_TIMEOUT.3 CURLOPT_DNS_INTERFACE.3 \ CURLOPT_DNS_LOCAL_IP4.3 CURLOPT_DNS_LOCAL_IP6.3 CURLOPT_DNS_SERVERS.3 \ CURLOPT_DNS_USE_GLOBAL_CACHE.3 CURLOPT_EGDSOCKET.3 \ CURLOPT_ERRORBUFFER.3 CURLOPT_EXPECT_100_TIMEOUT_MS.3 \ CURLOPT_FAILONERROR.3 CURLOPT_FILETIME.3 CURLOPT_FNMATCH_DATA.3 \ CURLOPT_FNMATCH_FUNCTION.3 CURLOPT_FOLLOWLOCATION.3 \ CURLOPT_FORBID_REUSE.3 CURLOPT_FRESH_CONNECT.3 CURLOPT_FTP_ACCOUNT.3 \ CURLOPT_FTP_ALTERNATIVE_TO_USER.3 CURLOPT_FTP_CREATE_MISSING_DIRS.3 \ CURLOPT_FTP_FILEMETHOD.3 CURLOPT_FTPPORT.3 \ CURLOPT_FTP_RESPONSE_TIMEOUT.3 CURLOPT_FTP_SKIP_PASV_IP.3 \ CURLOPT_FTPSSLAUTH.3 CURLOPT_FTP_SSL_CCC.3 CURLOPT_FTP_USE_EPRT.3 \ CURLOPT_FTP_USE_EPSV.3 CURLOPT_FTP_USE_PRET.3 \ CURLOPT_GSSAPI_DELEGATION.3 CURLOPT_HEADER.3 CURLOPT_HEADERDATA.3 \ CURLOPT_HEADERFUNCTION.3 CURLOPT_HEADEROPT.3 CURLOPT_HTTP200ALIASES.3 \ CURLOPT_HTTPAUTH.3 CURLOPT_HTTP_CONTENT_DECODING.3 CURLOPT_HTTPGET.3 \ CURLOPT_HTTPHEADER.3 CURLOPT_HTTPPOST.3 CURLOPT_HTTPPROXYTUNNEL.3 \ CURLOPT_HTTP_TRANSFER_DECODING.3 CURLOPT_HTTP_VERSION.3 \ CURLOPT_IGNORE_CONTENT_LENGTH.3 CURLOPT_INFILESIZE.3 \ CURLOPT_INFILESIZE_LARGE.3 CURLOPT_INTERFACE.3 \ CURLOPT_INTERLEAVEDATA.3 CURLOPT_INTERLEAVEFUNCTION.3 \ CURLOPT_IOCTLDATA.3 CURLOPT_IOCTLFUNCTION.3 CURLOPT_IPRESOLVE.3 \ CURLOPT_ISSUERCERT.3 CURLOPT_KEYPASSWD.3 CURLOPT_KRBLEVEL.3 \ CURLOPT_LOCALPORT.3 CURLOPT_LOCALPORTRANGE.3 CURLOPT_LOGIN_OPTIONS.3 \ CURLOPT_LOW_SPEED_LIMIT.3 CURLOPT_LOW_SPEED_TIME.3 CURLOPT_MAIL_AUTH.3 \ CURLOPT_MAIL_FROM.3 CURLOPT_MAIL_RCPT.3 CURLOPT_MAXCONNECTS.3 \ CURLOPT_MAXFILESIZE.3 CURLOPT_MAXFILESIZE_LARGE.3 \ CURLOPT_MAX_RECV_SPEED_LARGE.3 CURLOPT_MAXREDIRS.3 \ CURLOPT_MAX_SEND_SPEED_LARGE.3 CURLOPT_NETRC.3 CURLOPT_NETRC_FILE.3 \ CURLOPT_NEW_DIRECTORY_PERMS.3 CURLOPT_NEW_FILE_PERMS.3 \ CURLOPT_NOBODY.3 CURLOPT_NOPROGRESS.3 CURLOPT_NOPROXY.3 \ CURLOPT_NOSIGNAL.3 CURLOPT_OPENSOCKETDATA.3 \ CURLOPT_OPENSOCKETFUNCTION.3 CURLOPT_PASSWORD.3 \ CURLOPT_PINNEDPUBLICKEY.3 CURLOPT_PORT.3 CURLOPT_POST.3 \ CURLOPT_POSTFIELDS.3 CURLOPT_POSTFIELDSIZE.3 \ CURLOPT_POSTFIELDSIZE_LARGE.3 CURLOPT_POSTQUOTE.3 CURLOPT_POSTREDIR.3 \ CURLOPT_PREQUOTE.3 CURLOPT_PRIVATE.3 CURLOPT_PROGRESSDATA.3 \ CURLOPT_PROGRESSFUNCTION.3 CURLOPT_PROTOCOLS.3 CURLOPT_PROXY.3 \ CURLOPT_PROXYAUTH.3 CURLOPT_PROXYHEADER.3 CURLOPT_PROXYPASSWORD.3 \ CURLOPT_PROXYPORT.3 CURLOPT_PROXY_TRANSFER_MODE.3 CURLOPT_PROXYTYPE.3 \ CURLOPT_PROXYUSERNAME.3 CURLOPT_PROXYUSERPWD.3 CURLOPT_PUT.3 \ CURLOPT_QUOTE.3 CURLOPT_RANDOM_FILE.3 CURLOPT_RANGE.3 \ CURLOPT_READDATA.3 CURLOPT_READFUNCTION.3 CURLOPT_REDIR_PROTOCOLS.3 \ CURLOPT_REFERER.3 CURLOPT_RESOLVE.3 CURLOPT_RESUME_FROM.3 \ CURLOPT_RESUME_FROM_LARGE.3 CURLOPT_RTSP_CLIENT_CSEQ.3 \ CURLOPT_RTSP_REQUEST.3 CURLOPT_RTSP_SERVER_CSEQ.3 \ CURLOPT_RTSP_SESSION_ID.3 CURLOPT_RTSP_STREAM_URI.3 \ CURLOPT_RTSP_TRANSPORT.3 CURLOPT_SASL_IR.3 CURLOPT_SEEKDATA.3 \ CURLOPT_SEEKFUNCTION.3 CURLOPT_SHARE.3 CURLOPT_SOCKOPTDATA.3 \ CURLOPT_SOCKOPTFUNCTION.3 CURLOPT_SOCKS5_GSSAPI_NEC.3 \ CURLOPT_SOCKS5_GSSAPI_SERVICE.3 CURLOPT_SSH_AUTH_TYPES.3 \ CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 CURLOPT_SSH_KEYDATA.3 \ CURLOPT_SSH_KEYFUNCTION.3 CURLOPT_SSH_KNOWNHOSTS.3 \ CURLOPT_SSH_PRIVATE_KEYFILE.3 CURLOPT_SSH_PUBLIC_KEYFILE.3 \ CURLOPT_SSLCERT.3 CURLOPT_SSLCERTTYPE.3 CURLOPT_SSL_CIPHER_LIST.3 \ CURLOPT_SSL_CTX_DATA.3 CURLOPT_SSL_CTX_FUNCTION.3 \ CURLOPT_SSL_ENABLE_ALPN.3 CURLOPT_SSL_ENABLE_NPN.3 CURLOPT_SSLENGINE.3 \ CURLOPT_SSLENGINE_DEFAULT.3 CURLOPT_SSL_FALSESTART.3 CURLOPT_SSLKEY.3 \ CURLOPT_SSLKEYTYPE.3 CURLOPT_SSL_OPTIONS.3 \ CURLOPT_SSL_SESSIONID_CACHE.3 CURLOPT_SSL_VERIFYHOST.3 \ CURLOPT_SSL_VERIFYPEER.3 CURLOPT_SSL_VERIFYSTATUS.3 \ CURLOPT_SSLVERSION.3 CURLOPT_STDERR.3 CURLOPT_TCP_KEEPALIVE.3 \ CURLOPT_TCP_KEEPIDLE.3 CURLOPT_TCP_KEEPINTVL.3 CURLOPT_TCP_NODELAY.3 \ CURLOPT_TELNETOPTIONS.3 CURLOPT_TFTP_BLKSIZE.3 CURLOPT_TIMECONDITION.3 \ CURLOPT_TIMEOUT.3 CURLOPT_TIMEOUT_MS.3 CURLOPT_TIMEVALUE.3 \ CURLOPT_TLSAUTH_PASSWORD.3 CURLOPT_TLSAUTH_TYPE.3 \ CURLOPT_TLSAUTH_USERNAME.3 CURLOPT_TRANSFER_ENCODING.3 \ CURLOPT_TRANSFERTEXT.3 CURLOPT_UNRESTRICTED_AUTH.3 CURLOPT_UPLOAD.3 \ CURLOPT_URL.3 CURLOPT_USERAGENT.3 CURLOPT_USERNAME.3 CURLOPT_USERPWD.3 \ CURLOPT_USE_SSL.3 CURLOPT_VERBOSE.3 CURLOPT_WILDCARDMATCH.3 \ CURLOPT_WRITEDATA.3 CURLOPT_WRITEFUNCTION.3 CURLOPT_XFERINFODATA.3 \ CURLOPT_XFERINFOFUNCTION.3 CURLOPT_XOAUTH2_BEARER.3 \ CURLOPT_STREAM_DEPENDS.3 CURLOPT_STREAM_DEPENDS_E.3 \ CURLOPT_STREAM_WEIGHT.3 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 CURLMOPT_MAXCONNECTS.3 \ CURLMOPT_MAX_HOST_CONNECTIONS.3 CURLMOPT_MAX_PIPELINE_LENGTH.3 \ CURLMOPT_MAX_TOTAL_CONNECTIONS.3 CURLMOPT_PIPELINING.3 \ CURLMOPT_PIPELINING_SERVER_BL.3 CURLMOPT_PIPELINING_SITE_BL.3 \ CURLMOPT_SOCKETDATA.3 CURLMOPT_SOCKETFUNCTION.3 CURLMOPT_TIMERDATA.3 \ CURLMOPT_TIMERFUNCTION.3 CURLOPT_UNIX_SOCKET_PATH.3 \ CURLOPT_PATH_AS_IS.3 CURLOPT_PROXY_SERVICE_NAME.3 \ CURLOPT_SERVICE_NAME.3 CURLOPT_PIPEWAIT.3 CURLMOPT_PUSHDATA.3 \ CURLMOPT_PUSHFUNCTION.3 CURLOPT_DEFAULT_PROTOCOL.3 \ CURLINFO_ACTIVESOCKET.3 CURLINFO_APPCONNECT_TIME.3 CURLINFO_CERTINFO.3 \ CURLINFO_CONDITION_UNMET.3 CURLINFO_CONNECT_TIME.3 \ CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 CURLINFO_CONTENT_LENGTH_UPLOAD.3 \ CURLINFO_CONTENT_TYPE.3 CURLINFO_COOKIELIST.3 CURLINFO_EFFECTIVE_URL.3 \ CURLINFO_FILETIME.3 CURLINFO_FTP_ENTRY_PATH.3 CURLINFO_HEADER_SIZE.3 \ CURLINFO_HTTPAUTH_AVAIL.3 CURLINFO_HTTP_CONNECTCODE.3 \ CURLINFO_LASTSOCKET.3 CURLINFO_LOCAL_IP.3 CURLINFO_LOCAL_PORT.3 \ CURLINFO_NAMELOOKUP_TIME.3 CURLINFO_NUM_CONNECTS.3 CURLINFO_OS_ERRNO.3 \ CURLINFO_PRETRANSFER_TIME.3 CURLINFO_PRIMARY_IP.3 \ CURLINFO_PRIMARY_PORT.3 CURLINFO_PRIVATE.3 CURLINFO_PROXYAUTH_AVAIL.3 \ CURLINFO_REDIRECT_COUNT.3 CURLINFO_REDIRECT_TIME.3 \ CURLINFO_REDIRECT_URL.3 CURLINFO_REQUEST_SIZE.3 \ CURLINFO_RESPONSE_CODE.3 CURLINFO_RTSP_CLIENT_CSEQ.3 \ CURLINFO_RTSP_CSEQ_RECV.3 CURLINFO_RTSP_SERVER_CSEQ.3 \ CURLINFO_RTSP_SESSION_ID.3 CURLINFO_SIZE_DOWNLOAD.3 \ CURLINFO_SIZE_UPLOAD.3 CURLINFO_SPEED_DOWNLOAD.3 \ CURLINFO_SPEED_UPLOAD.3 CURLINFO_SSL_ENGINES.3 \ CURLINFO_SSL_VERIFYRESULT.3 CURLINFO_STARTTRANSFER_TIME.3 \ CURLINFO_TLS_SESSION.3 CURLINFO_TOTAL_TIME.3 HTMLPAGES = CURLOPT_ACCEPT_ENCODING.html CURLOPT_ACCEPTTIMEOUT_MS.html \ CURLOPT_ADDRESS_SCOPE.html CURLOPT_APPEND.html \ CURLOPT_AUTOREFERER.html CURLOPT_BUFFERSIZE.html CURLOPT_CAINFO.html \ CURLOPT_CAPATH.html CURLOPT_CERTINFO.html \ CURLOPT_CHUNK_BGN_FUNCTION.html CURLOPT_CHUNK_DATA.html \ CURLOPT_CHUNK_END_FUNCTION.html CURLOPT_CLOSESOCKETDATA.html \ CURLOPT_CLOSESOCKETFUNCTION.html CURLOPT_CONNECT_ONLY.html \ CURLOPT_CONNECTTIMEOUT.html CURLOPT_CONNECTTIMEOUT_MS.html \ CURLOPT_CONV_FROM_NETWORK_FUNCTION.html \ CURLOPT_CONV_FROM_UTF8_FUNCTION.html \ CURLOPT_CONV_TO_NETWORK_FUNCTION.html CURLOPT_COOKIE.html \ CURLOPT_COOKIEFILE.html CURLOPT_COOKIEJAR.html CURLOPT_COOKIELIST.html \ CURLOPT_COOKIESESSION.html CURLOPT_COPYPOSTFIELDS.html \ CURLOPT_CRLF.html CURLOPT_CRLFILE.html CURLOPT_CUSTOMREQUEST.html \ CURLOPT_DEBUGDATA.html CURLOPT_DEBUGFUNCTION.html \ CURLOPT_DIRLISTONLY.html CURLOPT_DNS_CACHE_TIMEOUT.html \ CURLOPT_DNS_INTERFACE.html CURLOPT_DNS_LOCAL_IP4.html \ CURLOPT_DNS_LOCAL_IP6.html CURLOPT_DNS_SERVERS.html \ CURLOPT_DNS_USE_GLOBAL_CACHE.html CURLOPT_EGDSOCKET.html \ CURLOPT_ERRORBUFFER.html CURLOPT_EXPECT_100_TIMEOUT_MS.html \ CURLOPT_FAILONERROR.html CURLOPT_FILETIME.html \ CURLOPT_FNMATCH_DATA.html CURLOPT_FNMATCH_FUNCTION.html \ CURLOPT_FOLLOWLOCATION.html CURLOPT_FORBID_REUSE.html \ CURLOPT_FRESH_CONNECT.html CURLOPT_FTP_ACCOUNT.html \ CURLOPT_FTP_ALTERNATIVE_TO_USER.html \ CURLOPT_FTP_CREATE_MISSING_DIRS.html CURLOPT_FTP_FILEMETHOD.html \ CURLOPT_FTPPORT.html CURLOPT_FTP_RESPONSE_TIMEOUT.html \ CURLOPT_FTP_SKIP_PASV_IP.html CURLOPT_FTPSSLAUTH.html \ CURLOPT_FTP_SSL_CCC.html CURLOPT_FTP_USE_EPRT.html \ CURLOPT_FTP_USE_EPSV.html CURLOPT_FTP_USE_PRET.html \ CURLOPT_GSSAPI_DELEGATION.html CURLOPT_HEADER.html \ CURLOPT_HEADERDATA.html CURLOPT_HEADERFUNCTION.html \ CURLOPT_HEADEROPT.html CURLOPT_HTTP200ALIASES.html \ CURLOPT_HTTPAUTH.html CURLOPT_HTTP_CONTENT_DECODING.html \ CURLOPT_HTTPGET.html CURLOPT_HTTPHEADER.html CURLOPT_HTTPPOST.html \ CURLOPT_HTTPPROXYTUNNEL.html CURLOPT_HTTP_TRANSFER_DECODING.html \ CURLOPT_HTTP_VERSION.html CURLOPT_IGNORE_CONTENT_LENGTH.html \ CURLOPT_INFILESIZE.html CURLOPT_INFILESIZE_LARGE.html \ CURLOPT_INTERFACE.html CURLOPT_INTERLEAVEDATA.html \ CURLOPT_INTERLEAVEFUNCTION.html CURLOPT_IOCTLDATA.html \ CURLOPT_IOCTLFUNCTION.html CURLOPT_IPRESOLVE.html \ CURLOPT_ISSUERCERT.html CURLOPT_KEYPASSWD.html CURLOPT_KRBLEVEL.html \ CURLOPT_LOCALPORT.html CURLOPT_LOCALPORTRANGE.html \ CURLOPT_LOGIN_OPTIONS.html CURLOPT_LOW_SPEED_LIMIT.html \ CURLOPT_LOW_SPEED_TIME.html CURLOPT_MAIL_AUTH.html \ CURLOPT_MAIL_FROM.html CURLOPT_MAIL_RCPT.html CURLOPT_MAXCONNECTS.html \ CURLOPT_MAXFILESIZE.html CURLOPT_MAXFILESIZE_LARGE.html \ CURLOPT_MAX_RECV_SPEED_LARGE.html CURLOPT_MAXREDIRS.html \ CURLOPT_MAX_SEND_SPEED_LARGE.html CURLOPT_NETRC.html \ CURLOPT_NETRC_FILE.html CURLOPT_NEW_DIRECTORY_PERMS.html \ CURLOPT_NEW_FILE_PERMS.html CURLOPT_NOBODY.html \ CURLOPT_NOPROGRESS.html CURLOPT_NOPROXY.html CURLOPT_NOSIGNAL.html \ CURLOPT_OPENSOCKETDATA.html CURLOPT_OPENSOCKETFUNCTION.html \ CURLOPT_PASSWORD.html CURLOPT_PINNEDPUBLICKEY.html CURLOPT_PORT.html \ CURLOPT_POST.html CURLOPT_POSTFIELDS.html CURLOPT_POSTFIELDSIZE.html \ CURLOPT_POSTFIELDSIZE_LARGE.html CURLOPT_POSTQUOTE.html \ CURLOPT_POSTREDIR.html CURLOPT_PREQUOTE.html CURLOPT_PRIVATE.html \ CURLOPT_PROGRESSDATA.html CURLOPT_PROGRESSFUNCTION.html \ CURLOPT_PROTOCOLS.html CURLOPT_PROXY.html CURLOPT_PROXYAUTH.html \ CURLOPT_PROXYHEADER.html CURLOPT_PROXYPASSWORD.html \ CURLOPT_PROXYPORT.html CURLOPT_PROXY_TRANSFER_MODE.html \ CURLOPT_PROXYTYPE.html CURLOPT_PROXYUSERNAME.html \ CURLOPT_PROXYUSERPWD.html CURLOPT_PUT.html CURLOPT_QUOTE.html \ CURLOPT_RANDOM_FILE.html CURLOPT_RANGE.html CURLOPT_READDATA.html \ CURLOPT_READFUNCTION.html CURLOPT_REDIR_PROTOCOLS.html \ CURLOPT_REFERER.html CURLOPT_RESOLVE.html CURLOPT_RESUME_FROM.html \ CURLOPT_RESUME_FROM_LARGE.html CURLOPT_RTSP_CLIENT_CSEQ.html \ CURLOPT_RTSP_REQUEST.html CURLOPT_RTSP_SERVER_CSEQ.html \ CURLOPT_RTSP_SESSION_ID.html CURLOPT_RTSP_STREAM_URI.html \ CURLOPT_RTSP_TRANSPORT.html CURLOPT_SASL_IR.html CURLOPT_SEEKDATA.html \ CURLOPT_SEEKFUNCTION.html CURLOPT_SHARE.html CURLOPT_SOCKOPTDATA.html \ CURLOPT_SOCKOPTFUNCTION.html CURLOPT_SOCKS5_GSSAPI_NEC.html \ CURLOPT_SOCKS5_GSSAPI_SERVICE.html CURLOPT_SSH_AUTH_TYPES.html \ CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.html CURLOPT_SSH_KEYDATA.html \ CURLOPT_SSH_KEYFUNCTION.html CURLOPT_SSH_KNOWNHOSTS.html \ CURLOPT_SSH_PRIVATE_KEYFILE.html CURLOPT_SSH_PUBLIC_KEYFILE.html \ CURLOPT_SSLCERT.html CURLOPT_SSLCERTTYPE.html \ CURLOPT_SSL_CIPHER_LIST.html CURLOPT_SSL_CTX_DATA.html \ CURLOPT_SSL_CTX_FUNCTION.html CURLOPT_SSL_ENABLE_ALPN.html \ CURLOPT_SSL_ENABLE_NPN.html CURLOPT_SSLENGINE.html \ CURLOPT_SSLENGINE_DEFAULT.html CURLOPT_SSL_FALSESTART.html \ CURLOPT_SSLKEY.html CURLOPT_SSLKEYTYPE.html CURLOPT_SSL_OPTIONS.html \ CURLOPT_SSL_SESSIONID_CACHE.html CURLOPT_SSL_VERIFYHOST.html \ CURLOPT_SSL_VERIFYPEER.html CURLOPT_SSL_VERIFYSTATUS.html \ CURLOPT_SSLVERSION.html CURLOPT_STDERR.html CURLOPT_TCP_KEEPALIVE.html \ CURLOPT_TCP_KEEPIDLE.html CURLOPT_TCP_KEEPINTVL.html \ CURLOPT_TCP_NODELAY.html CURLOPT_TELNETOPTIONS.html \ CURLOPT_TFTP_BLKSIZE.html CURLOPT_TIMECONDITION.html \ CURLOPT_TIMEOUT.html CURLOPT_TIMEOUT_MS.html CURLOPT_TIMEVALUE.html \ CURLOPT_TLSAUTH_PASSWORD.html CURLOPT_TLSAUTH_TYPE.html \ CURLOPT_TLSAUTH_USERNAME.html CURLOPT_TRANSFER_ENCODING.html \ CURLOPT_TRANSFERTEXT.html CURLOPT_UNRESTRICTED_AUTH.html \ CURLOPT_UPLOAD.html CURLOPT_URL.html CURLOPT_USERAGENT.html \ CURLOPT_USERNAME.html CURLOPT_USERPWD.html CURLOPT_USE_SSL.html \ CURLOPT_VERBOSE.html CURLOPT_WILDCARDMATCH.html CURLOPT_WRITEDATA.html \ CURLOPT_WRITEFUNCTION.html CURLOPT_XFERINFODATA.html \ CURLOPT_XFERINFOFUNCTION.html CURLOPT_XOAUTH2_BEARER.html \ CURLOPT_STREAM_DEPENDS.html CURLOPT_STREAM_DEPENDS_E.html \ CURLOPT_STREAM_WEIGHT.html CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.html \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.html CURLMOPT_MAXCONNECTS.html \ CURLMOPT_MAX_HOST_CONNECTIONS.html CURLMOPT_MAX_PIPELINE_LENGTH.html \ CURLMOPT_MAX_TOTAL_CONNECTIONS.html CURLMOPT_PIPELINING.html \ CURLMOPT_PIPELINING_SERVER_BL.html CURLMOPT_PIPELINING_SITE_BL.html \ CURLMOPT_SOCKETDATA.html CURLMOPT_SOCKETFUNCTION.html \ CURLMOPT_TIMERDATA.html CURLMOPT_TIMERFUNCTION.html \ CURLOPT_UNIX_SOCKET_PATH.html CURLOPT_PATH_AS_IS.html \ CURLOPT_PROXY_SERVICE_NAME.html CURLOPT_SERVICE_NAME.html \ CURLOPT_PIPEWAIT.html CURLMOPT_PUSHDATA.html \ CURLMOPT_PUSHFUNCTION.html CURLOPT_DEFAULT_PROTOCOL.html \ CURLINFO_ACTIVESOCKET.html CURLINFO_APPCONNECT_TIME.html \ CURLINFO_CERTINFO.html CURLINFO_CONDITION_UNMET.html \ CURLINFO_CONNECT_TIME.html CURLINFO_CONTENT_LENGTH_DOWNLOAD.html \ CURLINFO_CONTENT_LENGTH_UPLOAD.html CURLINFO_CONTENT_TYPE.html \ CURLINFO_COOKIELIST.html CURLINFO_EFFECTIVE_URL.html \ CURLINFO_FILETIME.html CURLINFO_FTP_ENTRY_PATH.html \ CURLINFO_HEADER_SIZE.html CURLINFO_HTTPAUTH_AVAIL.html \ CURLINFO_HTTP_CONNECTCODE.html CURLINFO_LASTSOCKET.html \ CURLINFO_LOCAL_IP.html CURLINFO_LOCAL_PORT.html \ CURLINFO_NAMELOOKUP_TIME.html CURLINFO_NUM_CONNECTS.html \ CURLINFO_OS_ERRNO.html CURLINFO_PRETRANSFER_TIME.html \ CURLINFO_PRIMARY_IP.html CURLINFO_PRIMARY_PORT.html \ CURLINFO_PRIVATE.html CURLINFO_PROXYAUTH_AVAIL.html \ CURLINFO_REDIRECT_COUNT.html CURLINFO_REDIRECT_TIME.html \ CURLINFO_REDIRECT_URL.html CURLINFO_REQUEST_SIZE.html \ CURLINFO_RESPONSE_CODE.html CURLINFO_RTSP_CLIENT_CSEQ.html \ CURLINFO_RTSP_CSEQ_RECV.html CURLINFO_RTSP_SERVER_CSEQ.html \ CURLINFO_RTSP_SESSION_ID.html CURLINFO_SIZE_DOWNLOAD.html \ CURLINFO_SIZE_UPLOAD.html CURLINFO_SPEED_DOWNLOAD.html \ CURLINFO_SPEED_UPLOAD.html CURLINFO_SSL_ENGINES.html \ CURLINFO_SSL_VERIFYRESULT.html CURLINFO_STARTTRANSFER_TIME.html \ CURLINFO_TLS_SESSION.html CURLINFO_TOTAL_TIME.html PDFPAGES = CURLOPT_ACCEPT_ENCODING.pdf CURLOPT_ACCEPTTIMEOUT_MS.pdf \ CURLOPT_ADDRESS_SCOPE.pdf CURLOPT_APPEND.pdf CURLOPT_AUTOREFERER.pdf \ CURLOPT_BUFFERSIZE.pdf CURLOPT_CAINFO.pdf CURLOPT_CAPATH.pdf \ CURLOPT_CERTINFO.pdf CURLOPT_CHUNK_BGN_FUNCTION.pdf \ CURLOPT_CHUNK_DATA.pdf CURLOPT_CHUNK_END_FUNCTION.pdf \ CURLOPT_CLOSESOCKETDATA.pdf CURLOPT_CLOSESOCKETFUNCTION.pdf \ CURLOPT_CONNECT_ONLY.pdf CURLOPT_CONNECTTIMEOUT.pdf \ CURLOPT_CONNECTTIMEOUT_MS.pdf CURLOPT_CONV_FROM_NETWORK_FUNCTION.pdf \ CURLOPT_CONV_FROM_UTF8_FUNCTION.pdf \ CURLOPT_CONV_TO_NETWORK_FUNCTION.pdf CURLOPT_COOKIE.pdf \ CURLOPT_COOKIEFILE.pdf CURLOPT_COOKIEJAR.pdf CURLOPT_COOKIELIST.pdf \ CURLOPT_COOKIESESSION.pdf CURLOPT_COPYPOSTFIELDS.pdf CURLOPT_CRLF.pdf \ CURLOPT_CRLFILE.pdf CURLOPT_CUSTOMREQUEST.pdf CURLOPT_DEBUGDATA.pdf \ CURLOPT_DEBUGFUNCTION.pdf CURLOPT_DIRLISTONLY.pdf \ CURLOPT_DNS_CACHE_TIMEOUT.pdf CURLOPT_DNS_INTERFACE.pdf \ CURLOPT_DNS_LOCAL_IP4.pdf CURLOPT_DNS_LOCAL_IP6.pdf \ CURLOPT_DNS_SERVERS.pdf CURLOPT_DNS_USE_GLOBAL_CACHE.pdf \ CURLOPT_EGDSOCKET.pdf CURLOPT_ERRORBUFFER.pdf \ CURLOPT_EXPECT_100_TIMEOUT_MS.pdf CURLOPT_FAILONERROR.pdf \ CURLOPT_FILETIME.pdf CURLOPT_FNMATCH_DATA.pdf \ CURLOPT_FNMATCH_FUNCTION.pdf CURLOPT_FOLLOWLOCATION.pdf \ CURLOPT_FORBID_REUSE.pdf CURLOPT_FRESH_CONNECT.pdf \ CURLOPT_FTP_ACCOUNT.pdf CURLOPT_FTP_ALTERNATIVE_TO_USER.pdf \ CURLOPT_FTP_CREATE_MISSING_DIRS.pdf CURLOPT_FTP_FILEMETHOD.pdf \ CURLOPT_FTPPORT.pdf CURLOPT_FTP_RESPONSE_TIMEOUT.pdf \ CURLOPT_FTP_SKIP_PASV_IP.pdf CURLOPT_FTPSSLAUTH.pdf \ CURLOPT_FTP_SSL_CCC.pdf CURLOPT_FTP_USE_EPRT.pdf \ CURLOPT_FTP_USE_EPSV.pdf CURLOPT_FTP_USE_PRET.pdf \ CURLOPT_GSSAPI_DELEGATION.pdf CURLOPT_HEADER.pdf \ CURLOPT_HEADERDATA.pdf CURLOPT_HEADERFUNCTION.pdf \ CURLOPT_HEADEROPT.pdf CURLOPT_HTTP200ALIASES.pdf CURLOPT_HTTPAUTH.pdf \ CURLOPT_HTTP_CONTENT_DECODING.pdf CURLOPT_HTTPGET.pdf \ CURLOPT_HTTPHEADER.pdf CURLOPT_HTTPPOST.pdf \ CURLOPT_HTTPPROXYTUNNEL.pdf CURLOPT_HTTP_TRANSFER_DECODING.pdf \ CURLOPT_HTTP_VERSION.pdf CURLOPT_IGNORE_CONTENT_LENGTH.pdf \ CURLOPT_INFILESIZE.pdf CURLOPT_INFILESIZE_LARGE.pdf \ CURLOPT_INTERFACE.pdf CURLOPT_INTERLEAVEDATA.pdf \ CURLOPT_INTERLEAVEFUNCTION.pdf CURLOPT_IOCTLDATA.pdf \ CURLOPT_IOCTLFUNCTION.pdf CURLOPT_IPRESOLVE.pdf CURLOPT_ISSUERCERT.pdf \ CURLOPT_KEYPASSWD.pdf CURLOPT_KRBLEVEL.pdf CURLOPT_LOCALPORT.pdf \ CURLOPT_LOCALPORTRANGE.pdf CURLOPT_LOGIN_OPTIONS.pdf \ CURLOPT_LOW_SPEED_LIMIT.pdf CURLOPT_LOW_SPEED_TIME.pdf \ CURLOPT_MAIL_AUTH.pdf CURLOPT_MAIL_FROM.pdf CURLOPT_MAIL_RCPT.pdf \ CURLOPT_MAXCONNECTS.pdf CURLOPT_MAXFILESIZE.pdf \ CURLOPT_MAXFILESIZE_LARGE.pdf CURLOPT_MAX_RECV_SPEED_LARGE.pdf \ CURLOPT_MAXREDIRS.pdf CURLOPT_MAX_SEND_SPEED_LARGE.pdf \ CURLOPT_NETRC.pdf CURLOPT_NETRC_FILE.pdf \ CURLOPT_NEW_DIRECTORY_PERMS.pdf CURLOPT_NEW_FILE_PERMS.pdf \ CURLOPT_NOBODY.pdf CURLOPT_NOPROGRESS.pdf CURLOPT_NOPROXY.pdf \ CURLOPT_NOSIGNAL.pdf CURLOPT_OPENSOCKETDATA.pdf \ CURLOPT_OPENSOCKETFUNCTION.pdf CURLOPT_PASSWORD.pdf \ CURLOPT_PINNEDPUBLICKEY.pdf CURLOPT_PORT.pdf CURLOPT_POST.pdf \ CURLOPT_POSTFIELDS.pdf CURLOPT_POSTFIELDSIZE.pdf \ CURLOPT_POSTFIELDSIZE_LARGE.pdf CURLOPT_POSTQUOTE.pdf \ CURLOPT_POSTREDIR.pdf CURLOPT_PREQUOTE.pdf CURLOPT_PRIVATE.pdf \ CURLOPT_PROGRESSDATA.pdf CURLOPT_PROGRESSFUNCTION.pdf \ CURLOPT_PROTOCOLS.pdf CURLOPT_PROXY.pdf CURLOPT_PROXYAUTH.pdf \ CURLOPT_PROXYHEADER.pdf CURLOPT_PROXYPASSWORD.pdf \ CURLOPT_PROXYPORT.pdf CURLOPT_PROXY_TRANSFER_MODE.pdf \ CURLOPT_PROXYTYPE.pdf CURLOPT_PROXYUSERNAME.pdf \ CURLOPT_PROXYUSERPWD.pdf CURLOPT_PUT.pdf CURLOPT_QUOTE.pdf \ CURLOPT_RANDOM_FILE.pdf CURLOPT_RANGE.pdf CURLOPT_READDATA.pdf \ CURLOPT_READFUNCTION.pdf CURLOPT_REDIR_PROTOCOLS.pdf \ CURLOPT_REFERER.pdf CURLOPT_RESOLVE.pdf CURLOPT_RESUME_FROM.pdf \ CURLOPT_RESUME_FROM_LARGE.pdf CURLOPT_RTSP_CLIENT_CSEQ.pdf \ CURLOPT_RTSP_REQUEST.pdf CURLOPT_RTSP_SERVER_CSEQ.pdf \ CURLOPT_RTSP_SESSION_ID.pdf CURLOPT_RTSP_STREAM_URI.pdf \ CURLOPT_RTSP_TRANSPORT.pdf CURLOPT_SASL_IR.pdf CURLOPT_SEEKDATA.pdf \ CURLOPT_SEEKFUNCTION.pdf CURLOPT_SHARE.pdf CURLOPT_SOCKOPTDATA.pdf \ CURLOPT_SOCKOPTFUNCTION.pdf CURLOPT_SOCKS5_GSSAPI_NEC.pdf \ CURLOPT_SOCKS5_GSSAPI_SERVICE.pdf CURLOPT_SSH_AUTH_TYPES.pdf \ CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.pdf CURLOPT_SSH_KEYDATA.pdf \ CURLOPT_SSH_KEYFUNCTION.pdf CURLOPT_SSH_KNOWNHOSTS.pdf \ CURLOPT_SSH_PRIVATE_KEYFILE.pdf CURLOPT_SSH_PUBLIC_KEYFILE.pdf \ CURLOPT_SSLCERT.pdf CURLOPT_SSLCERTTYPE.pdf \ CURLOPT_SSL_CIPHER_LIST.pdf CURLOPT_SSL_CTX_DATA.pdf \ CURLOPT_SSL_CTX_FUNCTION.pdf CURLOPT_SSL_ENABLE_ALPN.pdf \ CURLOPT_SSL_ENABLE_NPN.pdf CURLOPT_SSLENGINE.pdf \ CURLOPT_SSLENGINE_DEFAULT.pdf CURLOPT_SSL_FALSESTART.pdf \ CURLOPT_SSLKEY.pdf CURLOPT_SSLKEYTYPE.pdf CURLOPT_SSL_OPTIONS.pdf \ CURLOPT_SSL_SESSIONID_CACHE.pdf CURLOPT_SSL_VERIFYHOST.pdf \ CURLOPT_SSL_VERIFYPEER.pdf CURLOPT_SSL_VERIFYSTATUS.pdf \ CURLOPT_SSLVERSION.pdf CURLOPT_STDERR.pdf CURLOPT_TCP_KEEPALIVE.pdf \ CURLOPT_TCP_KEEPIDLE.pdf CURLOPT_TCP_KEEPINTVL.pdf \ CURLOPT_TCP_NODELAY.pdf CURLOPT_TELNETOPTIONS.pdf \ CURLOPT_TFTP_BLKSIZE.pdf CURLOPT_TIMECONDITION.pdf CURLOPT_TIMEOUT.pdf \ CURLOPT_TIMEOUT_MS.pdf CURLOPT_TIMEVALUE.pdf \ CURLOPT_TLSAUTH_PASSWORD.pdf CURLOPT_TLSAUTH_TYPE.pdf \ CURLOPT_TLSAUTH_USERNAME.pdf CURLOPT_TRANSFER_ENCODING.pdf \ CURLOPT_TRANSFERTEXT.pdf CURLOPT_UNRESTRICTED_AUTH.pdf \ CURLOPT_UPLOAD.pdf CURLOPT_URL.pdf CURLOPT_USERAGENT.pdf \ CURLOPT_USERNAME.pdf CURLOPT_USERPWD.pdf CURLOPT_USE_SSL.pdf \ CURLOPT_VERBOSE.pdf CURLOPT_WILDCARDMATCH.pdf CURLOPT_WRITEDATA.pdf \ CURLOPT_WRITEFUNCTION.pdf CURLOPT_XFERINFODATA.pdf \ CURLOPT_XFERINFOFUNCTION.pdf CURLOPT_XOAUTH2_BEARER.pdf \ CURLOPT_STREAM_DEPENDS.pdf CURLOPT_STREAM_DEPENDS_E.pdf \ CURLOPT_STREAM_WEIGHT.pdf CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.pdf \ CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.pdf CURLMOPT_MAXCONNECTS.pdf \ CURLMOPT_MAX_HOST_CONNECTIONS.pdf CURLMOPT_MAX_PIPELINE_LENGTH.pdf \ CURLMOPT_MAX_TOTAL_CONNECTIONS.pdf CURLMOPT_PIPELINING.pdf \ CURLMOPT_PIPELINING_SERVER_BL.pdf CURLMOPT_PIPELINING_SITE_BL.pdf \ CURLMOPT_SOCKETDATA.pdf CURLMOPT_SOCKETFUNCTION.pdf \ CURLMOPT_TIMERDATA.pdf CURLMOPT_TIMERFUNCTION.pdf \ CURLOPT_UNIX_SOCKET_PATH.pdf CURLOPT_PATH_AS_IS.pdf \ CURLOPT_PROXY_SERVICE_NAME.pdf CURLOPT_SERVICE_NAME.pdf \ CURLOPT_PIPEWAIT.pdf CURLMOPT_PUSHDATA.pdf CURLMOPT_PUSHFUNCTION.pdf \ CURLOPT_DEFAULT_PROTOCOL.pdf CURLINFO_ACTIVESOCKET.pdf \ CURLINFO_APPCONNECT_TIME.pdf CURLINFO_CERTINFO.pdf \ CURLINFO_CONDITION_UNMET.pdf CURLINFO_CONNECT_TIME.pdf \ CURLINFO_CONTENT_LENGTH_DOWNLOAD.pdf \ CURLINFO_CONTENT_LENGTH_UPLOAD.pdf CURLINFO_CONTENT_TYPE.pdf \ CURLINFO_COOKIELIST.pdf CURLINFO_EFFECTIVE_URL.pdf \ CURLINFO_FILETIME.pdf CURLINFO_FTP_ENTRY_PATH.pdf \ CURLINFO_HEADER_SIZE.pdf CURLINFO_HTTPAUTH_AVAIL.pdf \ CURLINFO_HTTP_CONNECTCODE.pdf CURLINFO_LASTSOCKET.pdf \ CURLINFO_LOCAL_IP.pdf CURLINFO_LOCAL_PORT.pdf \ CURLINFO_NAMELOOKUP_TIME.pdf CURLINFO_NUM_CONNECTS.pdf \ CURLINFO_OS_ERRNO.pdf CURLINFO_PRETRANSFER_TIME.pdf \ CURLINFO_PRIMARY_IP.pdf CURLINFO_PRIMARY_PORT.pdf CURLINFO_PRIVATE.pdf \ CURLINFO_PROXYAUTH_AVAIL.pdf CURLINFO_REDIRECT_COUNT.pdf \ CURLINFO_REDIRECT_TIME.pdf CURLINFO_REDIRECT_URL.pdf \ CURLINFO_REQUEST_SIZE.pdf CURLINFO_RESPONSE_CODE.pdf \ CURLINFO_RTSP_CLIENT_CSEQ.pdf CURLINFO_RTSP_CSEQ_RECV.pdf \ CURLINFO_RTSP_SERVER_CSEQ.pdf CURLINFO_RTSP_SESSION_ID.pdf \ CURLINFO_SIZE_DOWNLOAD.pdf CURLINFO_SIZE_UPLOAD.pdf \ CURLINFO_SPEED_DOWNLOAD.pdf CURLINFO_SPEED_UPLOAD.pdf \ CURLINFO_SSL_ENGINES.pdf CURLINFO_SSL_VERIFYRESULT.pdf \ CURLINFO_STARTTRANSFER_TIME.pdf CURLINFO_TLS_SESSION.pdf \ CURLINFO_TOTAL_TIME.pdf CLEANFILES = $(HTMLPAGES) $(PDFPAGES) EXTRA_DIST = $(man_MANS) $(HTMLPAGES) $(PDFPAGES) MAN2HTML = roffit --mandir=. < $< >$@ SUFFIXES = .3 .html all: all-am .SUFFIXES: .SUFFIXES: .3 .html .pdf $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/libcurl/opts/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign docs/libcurl/opts/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-man3: $(man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(man_MANS)'; \ test -n "$(man3dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man3dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man3dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.3[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \ done; } uninstall-man3: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man3dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.3[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(MANS) installdirs: for dir in "$(DESTDIR)$(man3dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html-am: info: info-am info-am: install-data-am: install-man install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man3 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-man uninstall-man: uninstall-man3 .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-man3 install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-man \ uninstall-man3 .PRECIOUS: Makefile html: $(HTMLPAGES) .3.html: $(MAN2HTML) pdf: $(PDFPAGES) .3.pdf: @(foo=`echo $@ | sed -e 's/\.[0-9]$$//g'`; \ groff -Tps -man $< >$$foo.ps; \ ps2pdf $$foo.ps $@; \ rm $$foo.ps; \ echo "converted $< to $@") mancheck: @cd $(top_srcdir)/docs/libcurl/opts && ls `awk -F, '!/OBSOLETE/ && /^ CINIT/ { a=substr($$1, 9); print "CURLOPT_" a ".3"}' $(top_srcdir)/include/curl/curl.h` # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: curl-7.47.0/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.pdf0000644000175000017500000001002212652070447016742 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VÛnÛF}×W Ò‡’µá’K.‰GiÈ¢*RIº0hi1‘H…—é7ôWú½´d7Ë]Μ™sæ,?ƒC(8ògþ¯÷£Kê‘FŸGTm‚ù·ÞÃË„òAz7ÒïPà.ðÈ#aé~d¯–³x‘Þ¤³db§GÜ'u\<™nFŒéýèOk•þv“^-¦×–wmú­v7"«¿ÞÔ¢)=vYD¢È³p‘—E GaÿJߌ<Ï!<Ôa£É¬c‡¸­o„xIäKÈcæø„G0öõÞ\Atä9ê?òL¼Ë©|>”ê:„9ÆÔ•ÛŽ.á’ÏH2Ú#K܃¬m¶¢hòu&K½h¶å¦VEƒCPcPAH®æñ"¹Hލ# „õC^¬wíFÀϲ{/ä²ýEwæ¥Ï5Äu‰gN|­¶àù6+6;qj‰\Þ×rëmVÁóæëA\Û?}ù«ir¾¼X¤ñÜPA}ÍÄU,²žˆ„¾î?’ç0Ùd«®!ƒC™¨ )qñ·¨JÀÕ>/²Fl nª¼øY ‡¬Ê°¹¢R= \†X#uœn`ˆ%é@8%eÔllE©Þ–ín·6Ôwj5Ð9V¥¹n¨äô@VG4¤=ÊJ‚4Qòž%ËÅ3¢†²_3dz¹°”=1µ³ T0Ù÷Nôƒa²)`)öe#`!cQî‘ 0Cfeu}¯žFÄó¢nFÊjs*Å»²R%!®ø§@ yË×ç¾ã3UŹvpx»‰Ï|-~Ô ªÒ¦r¼ýÈú’oD û¶i³ÝišünËf µ:³Í”€zY(‚hÏ|¨3X_’]÷l¹á½ô8,Ô¥Ô€XW¢! ÈEÄL1ïG„yNGpÙÌ«#tˆe´¦ø•-? ƒFDƒ^'g_‡0êÕ!>V_7ªm^àð —ø®ÊíêRÙ¶GÏ5uÌHàÌ™œ‹òA3Œ«dºœÛ.Ç–5¹4~§ç±·å€×ï¤PlN¡(XÐ5ò©\Ž«r-ìW¡Ï¬I’¼·]É3 ¬xùꩤc× Ñqû±6¶Mtò‡VÁÝ#«xm,Âg¡‰†¡œ¬´ QƒÜx´xÜìΆY~eÅ9÷Xåv—Ÿã8²¬ÅÒÀ`ž‚A±…7M»Äñ#E`œB|$I'讌óxvâÕˆ;B ìØ&»’ÙmV 5BM¹.wõwNÿ˜\.fÓÎOÃÿõÓ4~(ón¬¬W±é¤†OÜŠ‘<Ùg“ ×#1yà ‰Ü>íLæb6yy1»H¯L`z ©òæêp]•z¨B¹VæKi™Xmñ41­'G`¯ÐþoUFœ '¨v¤6G×Þå·òªƒûýæ×¢•î†&D‘$3ý¸óÕZÛ³rÁf‹ˆ îm)z‡q´ËO&›2EíXh(8x}IOØ·‰3Ÿ ËiºZÎáM|Pk2[MOFh Ï‹¦­ÌWÏô&~+-TÞ?z¬¤_×ÝÝrÒŠõÁÕüí<¶=ßz?¿‰Õ,_,ʆ|÷kc:…É,‰‡jN!=2ŠîkG›íÌâò´.Šf؉FYÇÙqÄ|ËdTmHœÉþSmHXHgHâÀÒGÇç$DSöôÍ+“uráÄCSµÇÔ÷#4b ?ß´¸˜Agý˜SjšŽ~ÇßíÖpendstream endobj 6 0 obj 1293 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:31+01:00 2016-01-27T08:26:31+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001617 00000 n 0000003507 00000 n 0000001558 00000 n 0000001398 00000 n 0000000015 00000 n 0000001378 00000 n 0000001682 00000 n 0000001936 00000 n 0000001871 00000 n 0000001803 00000 n 0000001723 00000 n 0000001753 00000 n 0000002018 00000 n 0000002084 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<8D59735BE87B8678F1E14CC9B9EE10E8><8D59735BE87B8678F1E14CC9B9EE10E8>] >> startxref 3661 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIEJAR.30000644000175000017500000000525512626067776015704 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COOKIEJAR 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_COOKIEJAR \- file name to store cookies to .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEJAR, char *filename); .SH DESCRIPTION Pass a \fIfilename\fP as char *, zero terminated. This will make libcurl write all internally known cookies to the specified file when \fIcurl_easy_cleanup(3)\fP is called. If no cookies are known, no file will be created. Specify "-" as filename to instead have the cookies written to stdout. Using this option also enables cookies for this session, so if you for example follow a location it will make matching cookies get sent accordingly. Note that libcurl doesn't read any cookies from the cookie jar. If you want to read cookies from a file, use \fICURLOPT_COOKIEFILE(3)\fP. If the cookie jar file can't be created or written to (when the \fIcurl_easy_cleanup(3)\fP is called), libcurl will not and cannot report an error for this. Using \fICURLOPT_VERBOSE(3)\fP or \fICURLOPT_DEBUGFUNCTION(3)\fP will get a warning to display, but that is the only visible feedback you get about this possibly lethal situation. Since 7.43.0 cookies that were imported in the Set-Cookie format without a domain name are not exported by this option. .SH DEFAULT NULL .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Along with HTTP .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_COOKIEFILE "(3), " CURLOPT_COOKIE "(3), " .BR CURLOPT_COOKIELIST "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PUT.30000644000175000017500000000346312626067776015045 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PUT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PUT \- make a HTTP PUT request .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PUT, long put); .SH DESCRIPTION A parameter set to 1 tells the library to use HTTP PUT to transfer data. The data should be set with \fICURLOPT_READDATA(3)\fP and \fICURLOPT_INFILESIZE(3)\fP. This option is \fBdeprecated\fP since version 7.12.1. Use \fICURLOPT_UPLOAD(3)\fP! .SH DEFAULT 0, disabled .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Deprecated since 7.12.1. Do not use. .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_UPLOAD "(3), " CURLOPT_HTTPGET "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.pdf0000644000175000017500000000763512652070454017312 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVoâFýŸO1Rÿ¨‰ÂÆk¯×»jU‰»ãTîP0w’ qf·Ææl“(ªß±³kóë” )ŽíÝ™7oÞ›õw° [ÿªk¸mÝM|Xç-Ö­ï-j^Bu ·ð.ÀB?V­rß_ºDH¶­Gëýl2è?Žæƒñ¼7 &mî›zÒz˜ÛŸZJ(… lQ*‰ça`Ù²ºA;øëçq¨”å GÛƒàCÿþd¹Om÷Y GãizZ òQgý%a¼_*øU÷òNÿ!›ß nÁ Ü”õ‡)®¹h÷“y7›E²ŒÕí•fsï’$ׄÑ7Û{ áf‘ÁÍæà©ýKYÃq¹®ÇOËýЛ¾ŸôÇA4¬tA½RWJ/™%UÓp‡àºVžÃvi”*ƒ"ÅçèI¦BäAMßu(V…zV:TÓpFè¡ß‡|Ç™ò"‹’5lÒx©¯ÅF•BHWæÿF‚Í¢€(×ÏK ›ø´.Á>J¢"ZÄeœ8ú¦{‰–j ûVØËF%§ëµÎ˜&ˆÎ•©mZ¨FZÂ'’óªO(D£r_' [¾éam^rÔ]J\ŸÖÝÝ ä¼H3¥YÎXän£•)ŵ9šIj)Û’nU±Ñ1ÂK–&k¢[Öÿs¥3ñ5¤2®úÌäá‡÷H™Sv¡†ðÅ1|S%´´j»éE »¬îºSv£ƒEêùXVTHÁªÈâÉÄν¦{¸ŸMŽôZ—8:»¦Cúõú`uì ^®±š)leJA¢Ð9¬ðviºX’çrÂ8;%O'q\RAíÚŒ0WV²µ—‡±Z$ûÝaÎ6ì Iêé­¥‚: Ó ›¹K£X3Ê©@.}K9Êžùv<©e®(}„ºõ+F;;Òà0jläßæõ?œM9œ7ÒwÙ(ä'kŠg‚ƒ)Þ]+üZïÏîýxЫm.~8N‚uõ<(q}Ug›'Ä•Jꕇl¸Ìff÷ 4§HÜ£µÀúƒî»þ <œ–‹GšËÄ©[­îR;ííc"Â|mû’ Añ„ÎþAÕ ¶§ÆÜx(Ðî%ìÊÉrÌÉ£5é³É¾´)JGrju³^µë’\¯Š}V} ôæ£Ïèp#šò#A;9ßïviV¨å­iL¹p6üŒq=ëëp>2S]oLÒ‚¼ÐšözÐLGMsÏ!Ÿem§ú6JÏêðñs/Üž†Å¬¼ù^içªÀO»äSB/Bá¹-ð+¡ã ôl ¯žÐ>aŒØíõ> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:36+01:00 2016-01-27T08:26:36+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001507 00000 n 0000003390 00000 n 0000001448 00000 n 0000001288 00000 n 0000000015 00000 n 0000001268 00000 n 0000001572 00000 n 0000001826 00000 n 0000001761 00000 n 0000001693 00000 n 0000001613 00000 n 0000001643 00000 n 0000001908 00000 n 0000001967 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3544 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.html0000644000175000017500000000632612652070415017033 00000000000000 CURLOPT_SSL_OPTIONS man page

NAME

CURLOPT_SSL_OPTIONS - set SSL behavior options

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_OPTIONS, long bitmask);

DESCRIPTION

Pass a long with a bitmask to tell libcurl about specific SSL behaviors.

CURLSSLOPT_ALLOW_BEAST tells libcurl to not attempt to use any workarounds for a security flaw in the SSL3 and TLS1.0 protocols. If this option isn't used or this bit is set to 0, the SSL layer libcurl uses may use a work-around for this flaw although it might cause interoperability problems with some (older) SSL implementations. WARNING: avoiding this work-around lessens the security, and by setting this option to 1 you ask for exactly that. This option is only supported for DarwinSSL, NSS and OpenSSL.

Added in 7.44.0:

CURLSSLOPT_NO_REVOKE tells libcurl to disable certificate revocation checks for those SSL backends where such behavior is present. Currently this option is only supported for WinSSL (the native Windows SSL library), with an exception in the case of Windows' Untrusted Publishers blacklist which it seems can't be bypassed. This option may have broader support to accommodate other SSL backends in the future. http://curl.haxx.se/docs/ssl-compared.html

DEFAULT

0

PROTOCOLS

All TLS-based protocols

EXAMPLE

TODO

AVAILABILITY

Added in 7.25.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_SSLVERSION, CURLOPT_SSL_CIPHER_LIST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_REFERER.html0000644000175000017500000000530212652070415016242 00000000000000 CURLOPT_REFERER man page

NAME

CURLOPT_REFERER - set the HTTP referer header

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_REFERER, char *where);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. It will be used to set the Referer: header in the http request sent to the remote server. This can be used to fool servers or scripts. You can also set any custom header with CURLOPT_HTTPHEADER.

DEFAULT

NULL

PROTOCOLS

HTTP

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* tell it where we found the link to this place */
  curl_easy_setopt(curl, CURLOPT_REFERER, "http://example.com/aboutme.html");
 
  curl_easy_perform(curl);
}

AVAILABILITY

If built with HTTP support

RETURN VALUE

Returns CURLE_OK if HTTP support is enabled, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_USERAGENT, CURLOPT_HTTPHEADER

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.pdf0000644000175000017500000000663512652070457016704 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…TénÚ@þï§©L„7»öúR«JnâJ4¦`Ò¦¡B\›`»QªïØÙµ@h#KÞٙG „Oó=[+—}–…Ba©<*LBó5[çñ"Z(õ¶¶kÇ…h­¨WÃ~Ðé~ǃÎ<ìa+ú…™,âØÍnÛ€èIyP½ë‘jŒZ0«¶é8žÏãe\&Ù"oiºI ¥¶šoÊ$Ï 8“÷gôE1 “P£N¼K' j”è Ͱ‹€‰k Ì猸 –¼ÐõD,aÌ$¦»Ktë‹÷ª:%œÚ 1]ÓüD µ ©@¹Š!«ÖÓx ùªMšOæñ¦Ïe\HüÇè–ÆP) bpß {ƒÎàŠ ‘0ÔwI6K«y „~—⃬>ŠpC(ÑE r–cÌ+‰Gò .V“lžÆísœ¸®n#6ÌójšÆpQsØŒZïßÂí®ú^Ô »#̬ 9Ã¥7Ù;áÇl|( ˜À&O²,süÓÀÀßÛx'G‰™Î o®R"[Lý±91-×m"äùJä*')LÖy••Â%i:7)á)ÞÆ{×HmÄK¾Ì᢭œ{ý7œ¦¢ná€ÈŠšN¨éʲaá–n›Z»Þ» ƒË5lYÛà|/–—¦¯±iï÷n{¿“Çù§îÑ3„Ž5ˆkù ›Žsfˆ\¹¯†a”KZÞ& ‡Æ2YÃ]íÞ§NЉî¹áØk¼-Õ›‹!I2° 'ìÿTÔ¾ û]¸k1ѯS½`è7Íùš1ÆÇeµm6Š?o YÈ9­7 $Õf“oËxÞŽ&pØ½éŠ W¿uÇ¡ìjq1ËKòæ û>xÁ <9…t:œ- 3]5?áasÜ®Óh*·]û8-Vµ,ºSý¸ˆK$x,¾Íäâ?N¥1×!è.Ç=Íkxi2‰„œÐ–ÆL®;ªî€W-AG %ß·°´Ì”¯øü6Ç™’endstream endobj 6 0 obj 771 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:39+01:00 2016-01-27T08:26:39+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001094 00000 n 0000002898 00000 n 0000001035 00000 n 0000000875 00000 n 0000000015 00000 n 0000000856 00000 n 0000001159 00000 n 0000001334 00000 n 0000001269 00000 n 0000001200 00000 n 0000001230 00000 n 0000001416 00000 n 0000001475 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<5A65132DF1FC9399685D20FB793D5868><5A65132DF1FC9399685D20FB793D5868>] >> startxref 3052 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.pdf0000644000175000017500000000761512652070453017331 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ}Uo£Fýߟb¤þÑåoØå×¢V•|9Nçžc\C®=%•EðÚ¦‡Á8i>T¿cgl'9Y2Ø 3ïͼyûLÊÀTŸîšn—sÖõÀ„õàû€é‡Ð]Ò-¼1@¨?âÕ }‡ÇÁó-*|ˆ·&¨iCü8¸%W7óÉxú1\Œf³«p: ®âE<¾îˆug@º¯ò…Lê§ÅZ6Y±*!wLR,jøáËÆßñI9Ú)Bòõ…Êr!ž ÈtdüŒ,ð)s¨ã[ˆ4^Èu`Äÿô8p“Ú¦CÆÕcS7üš„&ÛJØM–ëŸQ4¹Œ¢O°IŠe½I¾©œ:ªºÅmjÛmõ["3IR“‘:Õ$4Bá8Àr»Ëe#—-̯¡%ðÖG¨.:4ú: gÑ8zÎùwlÈOY‘æû¥„_U³/ÕÝü¦ÁÙºIŠiZbÀ‹aÜégðN1Êåś㸀e¹¿Ï%¼S-ÙÝ¿`ÛÏp»=Ì‚èj>žÅãpªpà ™ÓŽðü³DÅèùTtb”q_Ï©®!]™¬ )ñG‡ï+™b¯û˜Å©åX‡$v—äÃUP*®/Ä©Ð1ÝÀ/ + –i‰CÆ{TBY~ƒUUnµê&©šWDñC„9õM~¤WÈ´¹ìKÆÃŠ\áÀ@Æ0ò šÆð§L0R6=Ùø”Û6k£lêªw[´•Ü–„MY7ð¨2 äH«ÝФFtà¨1ô]N¹ïx“Õ­ÄñºUIÊU# x0°A¦é "«'(d¢ÛŽ\5¦Ë93»â¼õNLê™Íƒx>šFƒyo›Ÿé—!ÇïXáðLÖbm' f㘜ü›Ê]«²‚4©e õ>ÝúÇ3Øe;™gEV¬áq#+©²«dS%E=líãP¨¿û·d¥´¤¨§I÷–2Ožä–{­«Gƒ©õµ]’dM­e¤†¡K´u%àT±s•¤º‰$þ•׺Y ˆGPâ¢Å)<ê2\îÖdO÷\ø¢óR=d²ç-8 ë ‘Gí,¤èëƒSO˜]'QmŸCbŒú–/ z`øØbîâ˜;/8XîiJÂ¡Þ ð{µKÖÈö…kaê:=˜Í»µ´-¡IØ”»^§õ!§¦Ó.fCxl·¨gº¿ 'g¦7D.ž…>{PÜ(Ï_qо®g“ààâMŠO0˜¥æÕ‚ø¶KM!^BCÛW‘ÇjÖžŠdôF'Z&ö†uÜÉx2z?žŒã¯g S¶±Æ³3j´\¢(Q~è>5Ìõ–àÚÝ̧ðÅ`®ËÈhrœôDãe³¯ºS8X„Ÿ![ié¶§³²…z¿Û•úÆ…Özx3ý< Ë!N¡6yõbQ6´«õæ4¢ €Ñ$ ODÎ!Q(w\DÇ'åϦÞQ×D‹÷âyZ¬êº{í%®eƒŸwßc”½H5d¾ÀÄ#Ù¥v /ÏîU"œ‡mã<Ðìm. £ý8Õ(í£†™Êă?ðó?n¶tendstream endobj 6 0 obj 1167 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:35+01:00 2016-01-27T08:26:35+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001491 00000 n 0000003374 00000 n 0000001432 00000 n 0000001272 00000 n 0000000015 00000 n 0000001252 00000 n 0000001556 00000 n 0000001810 00000 n 0000001745 00000 n 0000001677 00000 n 0000001597 00000 n 0000001627 00000 n 0000001892 00000 n 0000001951 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<4585F0BF45B6CA151AE1FD9DA03C32D6><4585F0BF45B6CA151AE1FD9DA03C32D6>] >> startxref 3528 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PUT.pdf0000644000175000017500000000736612652070441015440 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…U›FýߟbªþQ¨ìÍ.°°¨U%r&b\{6½«,ÎÞ;»õ¯Ü(ªß±³ ›»´²t>³;3ï½y3<% ¨þÔßË]ïÕ4€Ç¢Gá±÷Ôcæê¯å^K¼ ôùЫb¡KDr‡!”òsïÖº™O“t"“¹¼³Ü;–§|»PYñeQ¨òp,íÃ)¡4°ðÇæ°/ bÿ!ßõ”8 ³/±xˆÅIÈu}×™ô¬qd‡xñ”qÂC1ÉUÏúÛòÏ ´% `À}L5ÂK€ð첿tˆC¸NX”:u6•½Õg¦ŒÃŒ\ú±”ÐÁ¹z:©¢¬*^@0î—aUŸ1û4N'³ÑìR©YßnöËíi¥àG­Ö+ý‡¬2À<ÃWƒ^ðBWÍ;s߯³ýj«ú—Z¢B5-‡»„5õ·gR ¥¢>8ìáx*ïìžSrBŸ„—”†ñìf:šÈQ:®ô ýºY/ЋŽç’Ø.&ÂZJ쎎¦dy¶S¥ÊYAy@ƒ•j»- \+Ønîó,ÿ¢Ÿ oýñw™gûâÃVY™x[ÿÅúpÚ®à^™|Ÿ7庢Äh½ë¡y+æ(Ú@_xT?gàFÊi ‡æ˜7Ð$|F„6Ñ‘lÙá4O++wíè´qر*T7tCÑ¢2õGã7£$ž~_HɘCœÆ°Ä t½:ÐÎi> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:25+01:00 2016-01-27T08:26:25+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001340 00000 n 0000003223 00000 n 0000001281 00000 n 0000001121 00000 n 0000000015 00000 n 0000001101 00000 n 0000001405 00000 n 0000001659 00000 n 0000001594 00000 n 0000001526 00000 n 0000001446 00000 n 0000001476 00000 n 0000001741 00000 n 0000001800 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3377 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.html0000644000175000017500000000465112652070415020254 00000000000000 CURLOPT_MAX_RECV_SPEED_LARGE man page

NAME

CURLOPT_MAX_RECV_SPEED_LARGE - rate limit data download speed

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAX_RECV_SPEED_LARGE,
                          curl_off_t speed);

DESCRIPTION

Pass a curl_off_t as parameter. If a download exceeds this speed (counted in bytes per second) on cumulative average during the transfer, the transfer will pause to keep the average rate less than or equal to the parameter value. Defaults to unlimited speed.

This option doesn't affect transfer speeds done with FILE:// URLs.

DEFAULT

0, disabled

PROTOCOLS

All but file://

EXAMPLE

AVAILABILITY

Added in 7.15.5

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_MAX_SEND_SPEED_LARGE, CURLOPT_LOW_SPEED_LIMIT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_ISSUERCERT.html0000644000175000017500000000603412652070415016643 00000000000000 CURLOPT_ISSUERCERT man page

NAME

CURLOPT_ISSUERCERT - issuer SSL certificate filename

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ISSUERCERT, char *file);

DESCRIPTION

Pass a char * to a zero terminated string naming a file holding a CA certificate in PEM format. If the option is set, an additional check against the peer certificate is performed to verify the issuer is indeed the one associated with the certificate provided by the option. This additional check is useful in multi-level PKI where one needs to enforce that the peer certificate is from a specific branch of the tree.

This option makes sense only when used in combination with the CURLOPT_SSL_VERIFYPEER option. Otherwise, the result of the check is not considered as failure.

A specific error code (CURLE_SSL_ISSUER_ERROR) is defined with the option, which is returned if the setup of the SSL/TLS session has failed due to a mismatch with the issuer of peer certificate (CURLOPT_SSL_VERIFYPEER has to be set too for the check to fail). (Added in 7.19.0)

DEFAULT

NULL

PROTOCOLS

All TLS-based protocols

EXAMPLE

TODO

AVAILABILITY

If built TLS enabled

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_CRLFILE, CURLOPT_SSL_VERIFYPEER

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.html0000644000175000017500000001525512652070415017222 00000000000000 CURLMOPT_PUSHFUNCTION man page

NAME

CURLMOPT_PUSHFUNCTION - callback that approves or denies server pushes

SYNOPSIS

#include <curl/curl.h>
 
char *curl_pushheader_bynum(struct curl_pushheaders *h, size_t num);
char *curl_pushheader_byname(struct curl_pushheaders *h, const char *name);
 
int curl_push_callback(CURL *parent,
                       CURL *easy,
                       size_t num_headers,
                       struct curl_pushheaders *headers,
                       void *userp);
 
CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PUSHFUNCTION,
                            curl_push_callback func);

DESCRIPTION

This callback gets called when a new HTTP/2 stream is being pushed by the server (using the PUSH_PROMISE frame). If no push callback is set, all offered pushes will be denied automatically.

CALLBACK DESCRIPTION

The callback gets its arguments like this:

parent is the handle of the stream on which this push arrives. The new handle has been duphandle()d from the parent, meaning that it has gotten all its options inherited. It is then up to the application to alter any options if desired.

easy is a newly created handle that represents this upcoming transfer.

num_headers is the number of name+value pairs that was received and can be accessed

headers is a handle used to access push headers using the accessor functions described below. This only accesses and provides the PUSH_PROMISE headers, the normal response headers will be provided in the header callback as usual.

userp is the pointer set with CURLMOPT_PUSHDATA

If the callback returns CURL_PUSH_OK, the 'easy' handle will be added to the multi handle, the callback must not do that by itself.

The callback can access PUSH_PROMISE headers with two accessor functions. These functions can only be used from within this callback and they can only access the PUSH_PROMISE headers. The normal response headers will be passed to the header callback for pushed streams just as for normal streams.

curl_pushheader_bynum

Returns the header at index 'num' (or NULL). The returned pointer points to a "name:value" string that will be freed when this callback returns.

curl_pushheader_byname

Returns the value for the given header name (or NULL). This is a shortcut so that the application doesn't have to loop through all headers to find the one it is interested in. The data pointed will be freed when this callback returns. If more than one header field use the same name, this returns only the first one.

CALLBACK RETURN VALUE

CURL_PUSH_OK (0)

The application has accepted the stream and it can now start receiving data, the ownership of the CURL handle has been taken over by the application.

CURL_PUSH_DENY (1)

The callback denies the stream and no data for this will reach the application, the easy handle will be destroyed by libcurl.

*

All other return codes are reserved for future use.

DEFAULT

NULL, no callback

PROTOCOLS

HTTP(S) (HTTP/2 only)

EXAMPLE

/* only allow pushes for file names starting with "push-" */
int push_callback(CURL *parent,
                  CURL *easy,
                  size_t num_headers,
                  struct curl_pushheaders *headers,
                  void *userp)
{
  char *headp;
  int *transfers = (int *)userp;
  FILE *out;
  headp = curl_pushheader_byname(headers, ":path");
  if(headp && !strncmp(headp, "/push-", 6)) {
    fprintf(stderr, "The PATH is %s\n", headp);
 
    /* save the push here */
    out = fopen("pushed-stream", "wb");
 
    /* write to this file */
    curl_easy_setopt(easy, CURLOPT_WRITEDATA, out);
 
    (*transfers)++; /* one more */
 
    return CURL_PUSH_OK;
  }
  return CURL_PUSH_DENY;
}
 
curl_multi_setopt(multi, CURLMOPT_PUSHFUNCTION, push_callback);
curl_multi_setopt(multi, CURLMOPT_PUSHDATA, &counter);

AVAILABILITY

Added in 7.44.0

RETURN VALUE

Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

CURLMOPT_PUSHDATA, CURLMOPT_PIPELINING, CURLOPT_PIPEWAIT, RFC 7540

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.html0000644000175000017500000000523012652070415017517 00000000000000 CURLOPT_HTTPPROXYTUNNEL man page

NAME

CURLOPT_HTTPPROXYTUNNEL - tunnel through HTTP proxy

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPPROXYTUNNEL, long tunnel);

DESCRIPTION

Set the parameter to 1 to make libcurl tunnel all operations through the HTTP proxy. There is a big difference between using a proxy and to tunnel through it. If you don't know what this means, you probably don't want this tunneling option.

Tunneling essentially means that a CONNECT is sent to the proxy, asking it to connect to a remote host on a specific port number and then the traffic is just passed through the proxy. Proxies tend to whitelist specific port numbers it allows CONNECT requests to and often only port 80 and 443 are allowed.

When using this, it only makes sense to use CURLOPT_PROXYTYPE set to a HTTP proxy.

DEFAULT

0

PROTOCOLS

All network protocols

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_PROXY, CURLOPT_PROXYTYPE, CURLOPT_PROXYPORT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_STDERR.html0000644000175000017500000000460112652070415016154 00000000000000 CURLOPT_STDERR man page

NAME

CURLOPT_STDERR - redirect stderr to another stream

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STDERR, FILE *stream);

DESCRIPTION

Pass a FILE * as parameter. Tell libcurl to use this stream instead of stderr when showing the progress meter and displaying CURLOPT_VERBOSE data.

DEFAULT

stderr

PROTOCOLS

All

EXAMPLE

CURL *curl = curl_easy_init();
FILE *filep = fopen("dump", "wb");
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
  curl_easy_setopt(curl, CURLOPT_STDERR, filep);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_VERBOSE, CURLOPT_NOPROGRESS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.pdf0000644000175000017500000001017612652070433020200 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVírÚFýÏSì¤?*y`½«o5mgˆ#'$ rAN“š#‹Ô‰H"ÄÓéôUú޽û!dpcwÀÖ {÷î½çœ=WŸÁþQÏtÓ;Ÿ¸hU÷Zõ>÷¨XDê‘nЋ<þC¼ìÉ=¹r}{>Š7½íâzFWñ|ôjM‚ùE4Žƒq<ƒñ«øõL3gºN ÃÀ„jé®Êç,©ïæ5kÊmƒà/+‹Zÿ'×ïñ›Þ€`ƒÂñ)TçCuØ·y¦ƒâ°§‡ú÷ЬRÛ¾ EÇ‹žö.Ðã?îµcl ¨!–=ýƒ²UQV ¥eѰ¢A9+VÍZf¼WÂjP{"çôã8ºšŽ¦Ç‹yèwY‘æ»C?rhÎù?¼þ™‡–è…W•–p ÝL,¡³uR,rÖG–ß@ûpj^+ÕÏLþ°Jè½&^Ó‹Éè*Eãoö1ZÊ%JÔš©K=OB£‰ÃtÓÕ˜àï 6lC†¤Û÷´¬FÐ%jJDÃ~‹|³fèB¢?úhÍ’«PVˆÅ×q|…*VoAQ .íΤþ”AÇ˲Bð­X~7àåL[†éµ]y6D–Ê )›*)ê%«jÌwA•¦É#ã³-^C©ðÝÕl¹ËÅQÅ>ƒê†Û$…²(þŠf/§Î6YžTÐ[õE§ö=ÛÒ ïLGûu–®a[žC}Û²j ©´¬*–6'’ã‡yÑ!/Ǧ¢ð¿sV£˜†ÛAm.ÃÂÄ¥Téÿ ºÂ6O!Ãó=K-VÆJ4'n‡-SqÌñß]ìš„xžlqbr{×°£ÑðämVx,úB³²§¢lÐ-q›3Îj’ÂRÒm·Ûª\uu_ð&öZ’&ÛǶa±t£mao A0¿(uÃÆ„¸¦¶/ò2 k&EqÀÚ7@}bÅ¢ €jèBÁXÀ)/ôfЖÝQÃ{Iòºl ¼rMˆüœn¦S~²ai_“Í6—2*øÎUUÊÔ&Á¦ß©Ü*ßs©ñjS+3¾Ý"¢¤QBHÅá >\×QôH„,¸FŽã@´Ïà(w ¥b‘ñf“€KèåÙ­`Q,°ªqÙ -‰ "*`ßrD󨲴5@JMª;ݱվGlñep)Ê&ضÑUÁÍà‰B‚ÃwWað-k•¦$½^°õÓ½Q åáÒ´l9sLåO0ƒƒëß<˜¾2®ðè£gë¦Ùþp~®t 7Jê§åæ?©»+ÚùÚ3ô©à¦¾Â2ÁøÁVBû¦3 ¦ÁáZÚš”{ "½“™eÇ–ãû*M?;¤#òF¤äòdzs) Ëï˜xªùÿž›0º÷lY7ÓÂüœ[n7\ÿRâµ=ïÁ Êó\à–`wø ;ìØ´µßQ8|1 GñÇc}7¦åL®ábÁÜ:\ j¦Mw[q­ÛA–t–ƒ ~\™7Ú$ˆ¯'cô^§&X‚Cµaxœ ðN©Ïš]UÔÓ`½åÁ­› µ¬ˆîó2ðzüv馭ý:žGâ=ƒo„‘ñ¤‘Lƒ ÃiÔ5rò^Ò²Ëïáü}0™>x‰¡&ÅN«'ñ†Ù?·9iùh¾~¸…Átô[0‡“W'÷— ?È:Ò0gÍó±#1kMØÅð6Bôµmß¶¯·ov2µ ÖÁv(ÏĽ_àó/*1pendstream endobj 6 0 obj 1401 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:19+01:00 2016-01-27T08:26:19+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001725 00000 n 0000003615 00000 n 0000001666 00000 n 0000001506 00000 n 0000000015 00000 n 0000001486 00000 n 0000001790 00000 n 0000002044 00000 n 0000001979 00000 n 0000001911 00000 n 0000001831 00000 n 0000001861 00000 n 0000002126 00000 n 0000002192 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<9A8703A584B655427002EFBDE4854EAA><9A8703A584B655427002EFBDE4854EAA>] >> startxref 3769 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.30000644000175000017500000000706612626067776016601 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_VERIFYPEER 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_VERIFYPEER \- verify the peer's SSL certificate .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_VERIFYPEER, long verify); .SH DESCRIPTION Pass a long as parameter to enable or disable. This option determines whether curl verifies the authenticity of the peer's certificate. A value of 1 means curl verifies; 0 (zero) means it doesn't. When negotiating a TLS or SSL connection, the server sends a certificate indicating its identity. Curl verifies whether the certificate is authentic, i.e. that you can trust that the server is who the certificate says it is. This trust is based on a chain of digital signatures, rooted in certification authority (CA) certificates you supply. curl uses a default bundle of CA certificates (the path for that is determined at build time) and you can specify alternate certificates with the \fICURLOPT_CAINFO(3)\fP option or the \fICURLOPT_CAPATH(3)\fP option. When \fICURLOPT_SSL_VERIFYPEER(3)\fP is enabled, and the verification fails to prove that the certificate is authentic, the connection fails. When the option is zero, the peer certificate verification succeeds regardless. Authenticating the certificate is not enough to be sure about the server. You typically also want to ensure that the server is the server you mean to be talking to. Use \fICURLOPT_SSL_VERIFYHOST(3)\fP for that. The check that the host name in the certificate is valid for the host name you're connecting to is done independently of the \fICURLOPT_SSL_VERIFYPEER(3)\fP option. WARNING: disabling verification of the certificate allows bad guys to man-in-the-middle the communication without you knowing it. Disabling verification makes the communication insecure. Just having encryption on a transfer is not enough as you cannot be sure that you are communicating with the correct end-point. .SH DEFAULT By default, curl assumes a value of 1. .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); /* Set the default value: strict certificate check please */ curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L); curl_easy_perform(curl); } .fi .SH AVAILABILITY If built TLS enabled. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SSL_VERIFYHOST "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.30000644000175000017500000000405712626067776017056 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_GSSAPI_DELEGATION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_GSSAPI_DELEGATION \- set allowed GSS-API delegation .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_GSSAPI_DELEGATION, long level); .SH DESCRIPTION Set the long parameter \fIlevel\fP to CURLGSSAPI_DELEGATION_FLAG to allow unconditional GSSAPI credential delegation. The delegation is disabled by default since 7.21.7. Set the parameter to CURLGSSAPI_DELEGATION_POLICY_FLAG to delegate only if the OK-AS-DELEGATE flag is set in the service ticket in case this feature is supported by the GSS-API implementation and the definition of GSS_C_DELEG_POLICY_FLAG was available at compile-time. .SH DEFAULT CURLGSSAPI_DELEGATION_NONE .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.22.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_HTTPAUTH "(3), " CURLOPT_PROXYAUTH "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.html0000644000175000017500000000657312652070415017225 00000000000000 CURLOPT_STREAM_WEIGHT man page

NAME

CURLOPT_STREAM_WEIGHT - set numerical stream weight

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_STREAM_WEIGHT, long weight);

DESCRIPTION

Set the long weight to a number between 1 and 256.

When using HTTP/2, this option sets the individual weight for this particular stream used by the easy handle. Setting and using weights only makes sense and is only usable when doing multiple streams over the same connections, which thus implies that you use CURLMOPT_PIPELINING.

This option can be set during transfer and will then cause the updated weight info get sent to the server the next time a HTTP/2 frame is sent to the server.

See section 5.3 of RFC 7540 for protocol details: https://httpwg.github.io/specs/rfc7540.html#StreamPriority

Streams with the same parent should be allocated resources proportionally based on their weight. So if you have two streams going, stream A with weight 16 and stream B with weight 32, stream B will get two thirds (32/48) of the available bandwidth (assuming the server can send off the data equally for both streams).

DEFAULT

If nothing is set, the HTTP/2 protocol itself will use its own default which is 16.

PROTOCOLS

HTTP/2

EXAMPLE

TODO

AVAILABILITY

Added in 7.46.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_STREAM_DEPENDS, CURLOPT_STREAM_DEPENDS_E, CURLOPT_PIPEWAIT, CURLMOPT_PIPELINING

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_AUTOREFERER.pdf0000644000175000017500000000702312652070424016542 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…U펛:ýÏSŒÔ?Pm\Œ1íÕ•è–UÓÒKœn«Ý«ˆvÃ,E}‡¾JßñŽ Išl« "{> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:12+01:00 2016-01-27T08:26:12+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001205 00000 n 0000003016 00000 n 0000001146 00000 n 0000000986 00000 n 0000000015 00000 n 0000000967 00000 n 0000001270 00000 n 0000001445 00000 n 0000001380 00000 n 0000001311 00000 n 0000001341 00000 n 0000001527 00000 n 0000001593 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<01653C3405CD5D0E3B812138DC6CB52B><01653C3405CD5D0E3B812138DC6CB52B>] >> startxref 3170 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_APPEND.30000644000175000017500000000337612626067776015347 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_APPEND 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_APPEND \- enable appending to the remote file .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_APPEND, long append); .SH DESCRIPTION A parameter set to 1 tells the library to append to the remote file instead of overwrite it. This is only useful when uploading to an FTP site. .SH DEFAULT 0 .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY This option was known as CURLOPT_FTPAPPEND up to 7.16.4 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_DIRLISTONLY "(3), " CURLOPT_RESUME_FROM "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPGET.pdf0000644000175000017500000000771312652070433016104 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VaoÛ6ýî_At&MR¢$®Û§ÑV·®åÙr» EQbµ²åXòºbØOÚÜ‘¢,[NWˆ‘¼÷îîÝ£ŸÁùÑÏdÝÌ<ôXözì=õ¨ZDú‘¬Ñe|ù"zèÕg(òò„}¢uÏ㘹(úÜ»1^-fãpÝ¾Ž¢é¯A´4쥉’ý.¿MãòËm™VŶ2-Æ &Ä3àŸ¬Ø”è¹cæÑ›žE0£’°à’† pãž1šßmX¥saµè¾g¼ ÌèãiF°C¬€ ˆ»Ônë}ÓæYG8¥ÄǶç6Åv˜§ gÐâ¬BŸ³|7_3躺Rùè§# Î6°ôG8'w‚SgKµnµ¿Á}yÛØsë–oZˆG½XUÕö‡Á˜ËúÛÆ_ñz›§8)Ö/'Ö—ÂàB-x†¼‰ õi•¬jﺶfô-ܳ«‚ú`±¼1Úši$ S¶¨P;õ KBÓt¾¹VvÑ&ÍG<¶õ¦¦P/Ú:ÊøG«ûþÙµ~Ò5©ÐÚ?‡ïѰ ÁîabÑxx9¢ëŽ7qN<”WØBµRŽÿÿš¹1fA´˜MÐ{“Ú0¦.LéxtF´ÕìO«ýNÿ– n÷ÒðÕÍ +÷Ûm±«Òû¾4 ½e1y; M[ áÃä6T׫<·)*üÜ­|ò³#Ðp<Û<ºŒNÝ̵Ù\wr¶ýýªŒ¨ ]—œ™¤²0‡Ôô‡Wݰ†YøgaAM°"UåR¸CUÄ<»SÓL> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:19+01:00 2016-01-27T08:26:19+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001553 00000 n 0000003436 00000 n 0000001494 00000 n 0000001334 00000 n 0000000015 00000 n 0000001314 00000 n 0000001618 00000 n 0000001872 00000 n 0000001807 00000 n 0000001739 00000 n 0000001659 00000 n 0000001689 00000 n 0000001954 00000 n 0000002013 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3590 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.30000644000175000017500000000454612626067776017115 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_CACHE_TIMEOUT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_CACHE_TIMEOUT \- set life-time for DNS cache entries .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_CACHE_TIMEOUT, long age); .SH DESCRIPTION Pass a long, this sets the timeout in seconds. Name resolves will be kept in memory and used for this number of seconds. Set to zero to completely disable caching, or set to -1 to make the cached entries remain forever. By default, libcurl caches this info for 60 seconds. The name resolve functions of various libc implementations don't re-read name server information unless explicitly told so (for example, by calling \fIres_init(3)\fP). This may cause libcurl to keep using the older server even if DHCP has updated the server info, and this may look like a DNS cache issue to the casual libcurl-app user. Note that DNS entries have a "TTL" property but libcurl doesn't use that. This DNS cache timeout is entirely speculative that a name will resolve to the same address for a certain small amount of time into the future. .SH DEFAULT 60 .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_DNS_USE_GLOBAL_CACHE "(3), " CURLOPT_DNS_SERVERS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_RANDOM_FILE.30000644000175000017500000000327712626067776016157 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_RANDOM_FILE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_RANDOM_FILE \- specify a source for random data .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANDOM_FILE, char *path); .SH DESCRIPTION Pass a char * to a zero terminated file name. The file will be used to read from to seed the random engine for SSL and more. .SH DEFAULT NULL, not used .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_EGDSOCKET "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.html0000644000175000017500000000500312652070415017400 00000000000000 CURLOPT_SSH_KNOWNHOSTS man page

NAME

CURLOPT_SSH_KNOWNHOSTS - file name holding the SSH known hosts

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KNOWNHOSTS, char *fname);

DESCRIPTION

Pass a pointer to a zero terminated string holding the file name of the known_host file to use. The known_hosts file should use the OpenSSH file format as supported by libssh2. If this file is specified, libcurl will only accept connections with hosts that are known and present in that file, with a matching public key. Use CURLOPT_SSH_KEYFUNCTION to alter the default behavior on host and key (mis)matching.

DEFAULT

NULL

PROTOCOLS

SFTP and SCP

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.6

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSH_AUTH_TYPES, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.pdf0000644000175000017500000000677712652070455017456 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUo£FýŸO1Rÿ(œÂ»,°¨U%Ρ:÷|àÚäÚSRYŽÙ8TÀI¯ß©ß±³ vlçG+$c³Ã¼7oÞŒïÁ!u ÷Õñ~Àº5X÷Õ‡0ÜVwð!ád7Fÿ…€AºD„Ý‚ø=—æèb6'?§‹Y6]ŒÒ$‰GÙ(=¯L÷ʂն)rÙ~[¬eWT7µe3Ï1ëMWÔU o¿mý‘ýbØa1WH)DJ$ô+ñ'†™DÖ÷XžRx¡‹L³Ü0?ÇVöçA Ì!Ü À¦L;ŠúëÌá@²ÐÝJžB#Û ò•°ªsÙ§>àb#›úDhìù×$ÎÇóc:D£›ßÕªÜæ~Tê¼Wäö'θ.J1S@ÏÕ»ÒgðîvYå¥<{]¿3(ëj ï6WÖ¨ÐtÏãùh6žfã4QPnêõj¿@}ºT1Zï¯Wó í³ma ›º¨:Ù@WãÍ¿5r%‹£ü”QbZ‚6¤xÐí1TO=/<…ÁƔ˶{!) CNL¥Î\|â÷„™ó‡(³C1QHØ4õ_ߎ›Þ—óä‡û­l;¢ÁV„þ‘».Í Y6²Û6•ÌáÁbqœÀ5—åVÂcQ–p-áoÙÔPÜ@UC»]Ýž >ZÔ1—(é~t8?„ïØ>6„ÔW”ËëR’ç^e¡G|q`€él»BËÁ óƒAD›%R=Í Ýƒ15ówã6J''v·±¹ËùÞ9Ê ÿ18ñïÑçé$Þ5T¼êÂì‰uUç{çú1"{B<Û6Z#÷hæp]Wô¢§ºâ{;WšãIôa<g_‹Cø\ˆãuå96º¨ ¼]ë¥9‹³‹Y_,êrúÔŒ&±nôK%c¼¶R¿1ãEúIÙFm¨~“BÑ¢ƒ6›ºéd~¸†À‹äS’Z®gþ–,R=ä½ßк=Öëk,Ž!šÌÓ§BNº°ß=³x>M“y¼P‹çD)޶§ƒšz§ŸçC8ßw½/ÍÓ…§Ç†r߬O¤ 8 ÜPüß̉[Ù¡fÇ4Jž“D9Ð…ø§Á±C¼çW×*ö˜sâX6õ8&m×Àêiš|?T%Š3ãW¼þ­€âfendstream endobj 6 0 obj 869 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:37+01:00 2016-01-27T08:26:37+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001192 00000 n 0000002996 00000 n 0000001133 00000 n 0000000973 00000 n 0000000015 00000 n 0000000954 00000 n 0000001257 00000 n 0000001432 00000 n 0000001367 00000 n 0000001298 00000 n 0000001328 00000 n 0000001514 00000 n 0000001573 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3150 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.pdf0000644000175000017500000000743212652070443016540 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVën£Fþï§© Š'seµªäMXÉÖ¸6Þvµ©,b“Ø-¯öú*}Çž ÆqªªŠÇÃá\¾Ë™|ESDÌOó¹Ú nf =炞_´zˆšÕ½ !À5áÓ ~‡"ÅÒ»…»Áëv1óƒi¸œ·÷6ÓXk¦,8¸³? †SŠÂäfØ \›C‡/k¢‘þõMˆ‹%„Õ1BW/¾@…‹?ØhU’eåß—y\dûÂ2I0!Ê‚/Û,ÍQ¯Sœi‚µªóÕ-A©¶#&±jËý—–êFª¢µ ¸™i€ki é`.(r§zar’Ib©y“è£gÎ;hÁ‚(4¤Ì<þ_˜¶}3,«é(&]篺F À%´~@j„˼ÈvhŸmÓ"> "Cû(ÏÍgž­þ´a>B…cpF«(I#84ô‡§ŠaÆa»UÑùçI0çýYšfNë‡mºJÊuŒ~2äÞ˜_xós5„@¡?¯j(VÄœóÿP=BW›(]'ñuŸ}N.ÀÅ\…‰óß n}Ư¿µ¸i˜ªÃÌʶktÕ ö`ÿXÏx —suÇ7¿§á8˜4¢²–Ðh¦ÑiaÙTÆL³ª:°Õ%)9ÚSa—ð†W«éì zŠ—è.Yc°bèe›$è1FeZdåj¯Ñãw”l î0®4§c£¿y¢ƒ eµ>—»8-Ð6­žVºݺ’ËžnW³"5æ\´¿l‹ÍÙDà Ö*õÌÂ$Ô°ü~1¹5 Öî¬uÙî,)€Îüš$*Ý#é}CŽn%ˆ¥â˜b´hVìÆÕÌáÇã‡-i] †g¥T7jã¹`ZÇO•»ˆâVT&úf3iEI£ì €Üæ€ú!ÚÅÆ–ðe²ð}|Áz•pŽ#LgÍ‚WP=ªãžc˜H]i(QÐöË8VÄ9î§ÛÀ?s-Œ¬a†Ž¯Q’\ÐüiÞo£Sß;jÝ}Sëa×åÆuwAƒµtÝ «V›È¶š¡DÔ~þt²¿=GÒ£›ÇþèÝØ‡Ÿû³‰\@S~¬Ñz b9+ 5È¿ÏúÅšyáb6AŸlÊÖµFþÂ;ãÉȳ¸(i~&xαÓí£woÜ÷›•vX³}ªìV߀F!y¹ßg‡"^_Ïž¯¸´8õ“·\Lî'-þ:Yõ†:ó\BŒwEÓ¬¸à&®àßqzxùó  íãðöMw4õ+?Kìö®ãë~n(í8=Mö`êML¯ËÛW€‚×ÜWi‡Ü•À> "±S7|܈ –;ÈbiØ1„}(SÄবz­™¨Iå…ƒ_àç.¾KÝendstream endobj 6 0 obj 1045 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:27+01:00 2016-01-27T08:26:27+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001369 00000 n 0000003259 00000 n 0000001310 00000 n 0000001150 00000 n 0000000015 00000 n 0000001130 00000 n 0000001434 00000 n 0000001688 00000 n 0000001623 00000 n 0000001555 00000 n 0000001475 00000 n 0000001505 00000 n 0000001770 00000 n 0000001836 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<003C6B04651678879D965EA5F4AB9EC4><003C6B04651678879D965EA5F4AB9EC4>] >> startxref 3413 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.pdf0000644000175000017500000001034412652070451020220 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœWÛrÛ6}×W`¦•Z !^Ài§3Š£ÔJdIµè\&îx(¶ØR¤"RQüQýÇî¼ÉNìŒÇ–%€Ø³{Ξ…>‹2báOõm{/.=rWô,r×ûÜcz‘T/Ñ–¼ `ƒÄ‚Ûžy†ÏTú$ØöúgW—³‹Å2¸¹¸9_¬‚›³Å|>9 ¦‹ùêº/®ƒàŸ“œz¶Ïq¯öéÍö–ÉM¡Ê|WøMò¬À­Ò¦ÌqXµõÇŽY”3À\àRßAÄ#îºÔ'#áê³æcÜká6æPÇUŒ‹ ~Þ&Ê-j[1þ<òÈ6üJ²Ãv­ö$¿%Qže*Ò‘2'!)’ì.Ud“¥ Õ èFÌ¥R[}œ/–«éê‘ÞbÐü”dQzˆù«øÿÐ͸Û$˜õu8êXáŽrØú¨Þ×f‘ü² ³8UCòdŽC’æÙÝàçB˜õúìõà7xÿD¯&«³Ë韯bŽáç9-ÆŸÊJ%RèDŠJˆ°˜I'QXª¶Žx˜=¶¢€º Tâ Ý LR!¬z ZA0j7‚Ø(MjEè1IS²VäP¨˜„À(,C„d{Ø’p›²9/,p˜©üP¤÷ h•éÄF¸¬sµ¨Ã˜Îê)‘ë~hþY«óFDáVaøj!÷¿’]¾o€îÂd= ä5®M…+ëZ:&h¾'*Œ6$ÓõJÉÛŒJ×âUöÇ¢­ ô"óýjA#’ "ìNJ®ç¢ “ BÙ$k”ž© VVêÈÌóMI¹hBGÝÐRø¬ÆïM75#‡F¤É6)5aë{£ fÕt F½'­ÄdÄ}›z’5‚|d0‚rOžJÉ‘ /_ÖRzßõΚÂ{ž§‘o ûmR=¡â¡!W…VB-6(VŒÌƒº’ÊÖªV£|«@µóéÆZǪá|év˜vµ¤5‡@å4jŒá:U”LoTQXT¶*hʸœ.'³é|:ÿ³)S§Ñ¸ ý[-ˆÊððø&Êý=²¸Kv*M2E’[] -px( wø¶WRRÓNŽG9¡×iYs®‘ðT¬4p œÛ¼VTMyj`‹«hÊØ™Œ ‡?WÏô ©5¦4µ*Ö@%´T-‚Oýó|ÀjYžèÕàïàMkˆÀƒ#}QÛ„âm(€S%»’Û®qy’7mεe~ÂF_‡Ñ¿ÇO}éy~?ÜÇPÐ|» Ëd¤Iy¯q€pí‘Ìò©ÇÝ Ç°èäk3€Q{@Y¢,AÂÀ›EŽcsµx\ ì®Z*ÅY ¸¶Å~@B£–h { ³‡j3£ž,G)˜Úš[È4+Jƈ´µŸ<kfÝf‚ù‡*4ÚªžôDWž°¿Ò¡™µ@g•þZPÓÞaZäfdÜ»}þõ¾{/šÈµ+˜u”<¬%±ÚÃs³«û9n’hÓ â †6a#F}n2¿®4æØÚÒÀÍ}f× _™Z Zk7s…W­ÎÚ‰Ù…Z›vC®õÌ-gyYË\ÈÊì¹ëU*qj9f ,²hB§x–[Ïè³ÅìÁ% 0û¢EqËëþªÖÕwÑL>Œ/–³I}O‘ß½§-&° ”W‹ªdŽ”ï ¶;›hXY['7~GÚ )à:¬¶›élür:›t„ƒs÷@Çq bI2âQ0êg*ÿ©9 ®.çäÝ€ ›ú.ëgWmßJö«ò°‡Á¤mÿfñ¶öhscGɇÞBÐÜQÓfãÕüí|1ÀÒ±ûïç7 }ħ¡miðû×àÉ„Œg«Å©uw¨èóêªú@̆¯µnµ½  —ºí­çävœ¸°¤õ1‹à›Ϻ×åSðM F³|„ü(ÇQæ êšZ׳˜ô€Iv\Lœ>óÈ›CF¸Ål]8»é†GM‚Þ_ðó? ‰™ˆendstream endobj 6 0 obj 1510 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:33+01:00 2016-01-27T08:26:33+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001834 00000 n 0000003717 00000 n 0000001775 00000 n 0000001615 00000 n 0000000015 00000 n 0000001595 00000 n 0000001899 00000 n 0000002153 00000 n 0000002088 00000 n 0000002020 00000 n 0000001940 00000 n 0000001970 00000 n 0000002235 00000 n 0000002294 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<722B395AB73E27FC3351F526898EF4B3><722B395AB73E27FC3351F526898EF4B3>] >> startxref 3871 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.30000644000175000017500000000441112626067776016413 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTFIELDSIZE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTFIELDSIZE \- size of POST data pointed to .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTFIELDSIZE, long size); .SH DESCRIPTION If you want to post data to the server without having libcurl do a strlen() to measure the data size, this option must be used. When this option is used you can post fully binary data, which otherwise is likely to fail. If this size is set to -1, the library will use strlen() to get the size. If you post more than 2GB, use \fICURLOPT_POSTFIELDSIZE_LARGE(3)\fP. .SH DEFAULT -1 .SH PROTOCOLS HTTP .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { const char *data = "data to send"; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* size of the POST data */ curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long) strlen(data)); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data); curl_easy_perform(curl); } .fi .SH AVAILABILITY Along with HTTP .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_POSTFIELDS "(3), " CURLOPT_POSTFIELDSIZE_LARGE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.pdf0000644000175000017500000000771212652070441020014 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥VínâFýÏS\©?j*2ë™ñØm[‰M¼*»(8û¡¥B Á±Yl’¦ïÔwì±Ç’mUUQBÄŒçž{ιgü\BÁÕ?õçò¾ójÀ]Ñqá®óµCÍ"ÔË{xã†P¯;Õ3ä$”ßwœË›ép<‰“i7þ½sáâeÇg„‡2ÄýñªãŒ?é5W/P¸Ü.|q>/âi4{M×ã«hîðy·K=A\*œåa¿]¨¤xZªÌw%àošgnðˆ ÅqíßâwMqæ‡Ä•ÿRûåÒU ŒJ½ÿÕTbëD Ýý!BÂ÷Íó£~{° BòúÜëHßÒÆ•ÀefùÿðuŽþ‚d·SÙ ÞÆ(÷IV¬Õîó•‚2¬ë|»}þÇSê¸!Jñ8óIhNŸ}'³Áì?¶k±—fËíÿQKóJÿ!›Ÿõv†] «æ–ºú¹ts³?l’lµU=8báûV7‘ÐÿÈA¶yv*Kn·j5ï¾~Þ(“x®8jô*š]N“x0Õ"PQ þBÓ“¤"õ1"æâG´pQ@b0¬¡Ü(xè24°p'Ù¤ Z s'ÏÔ¼Ûƒ¿PÛmÛôV“¥—Í.|þTȹs›fÉþ PÉþìr0˜wª(yåzY5Ç*\¡ð5.ÇRÀ KÂCš Ì_bôIcN¸ÞŒsœ'ig²wÛå\'ð)1%LóŒ_0»ÉØ.Eâ_—O;õS¢ÑUÿ¦ºÝJLàc—K<[P'-7ùA7XñQâÃ=ýTZVmPœ/ßc¶J„'M'·Jש)t‘?Õ>ï™+µÖPÎ½Ú Éa["Å•¨kÇÐ#aÚT°þ³VŠ£Oq“G‘Ç}ÂûÐ&) Ë¡ªÉC"½Ú“kh°®Õ²„ÇÊuZÏ¥¡ÞøŒ#NÏkœÕÁˆ±cÄ];äM#³H)ñ}+ÒÃ×õÔ#$Ç1XšÕ=zi“”º„d»5ʧ é?ìvù¾Öb­’ò°WäùÜ„>V9žš·5"ÓíR'›¤žÅÛ¿1«T;¿FÃ|ԫøÙÒ«/ÞRâö`•f”Ÿã1CiÑ´ùÉÃ:$˜°†WTîÇ0nJ£‡×·I}9že¢—§ÁSѨEÌO‚Í$Z¥Ô‘ˆ’0 rëÅý®Ug“7ϼÉ¡K‚££OýëÉ0²¥ÃofTܶH¹ÆX¹×’ˆ0|~¡yRïlªiå<Óoÿ´wŠì Zóê †ý7ƒá þ|6'‚pkœÐÖ_­Ô Ò „NÜÖó‹3â›é>tMùÔéo" /µŒD ÀÎT¡}³Â\)ÑbüÒ*…«—“¾•ÝÕªxýÔoFïG†”‹„̳¹ˆŠ„£ÅØÜö¼ú†Át׉ƒ /¨ocÞ0í"NiH 3 ˆíÄØ³(‚þp6n·‰ý7‡Q¾üÖcqž©èi¥5ñ×;­Š |ßeg¡©o‘ÓâÒkM÷ÒñÍh Ox! Û·žÞØR›‰‘įìaïÉ€ðׅ̈́ÀªÂÁWµw‡ ˜K=c¯oªŠâίøó7£ª»¢endstream endobj 6 0 obj 1228 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:25+01:00 2016-01-27T08:26:25+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001552 00000 n 0000003435 00000 n 0000001493 00000 n 0000001333 00000 n 0000000015 00000 n 0000001313 00000 n 0000001617 00000 n 0000001871 00000 n 0000001806 00000 n 0000001738 00000 n 0000001658 00000 n 0000001688 00000 n 0000001953 00000 n 0000002012 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3589 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.html0000644000175000017500000000553112652070415020372 00000000000000 CURLMOPT_PIPELINING_SERVER_BL man page

NAME

CURLMOPT_PIPELINING_SERVER_BL - pipelining server blacklist

SYNOPSIS

#include <curl/curl.h>

CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_PIPELINING_SERVER_BL, char **servers);

DESCRIPTION

Pass a servers array of char *, ending with a NULL entry. This is a list of server types prefixes (in the Server: HTTP header) that are blacklisted from pipelining, i.e server types that are known to not support HTTP pipelining. The array is copied by libcurl.

Note that the comparison matches if the Server: header begins with the string in the blacklist, i.e "Server: Ninja 1.2.3" and "Server: Ninja 1.4.0" can both be blacklisted by having "Ninja" in the backlist.

Pass a NULL pointer to clear the blacklist.

DEFAULT

The default value is NULL, which means that there is no blacklist.

PROTOCOLS

EXAMPLE

  server_blacklist[] =
  {
    "Microsoft-IIS/6.0",
    "nginx/0.8.54",
    NULL
  };
 
  curl_multi_setopt(m, CURLMOPT_PIPELINING_SERVER_BL, server_blacklist);

AVAILABILITY

Added in 7.30.0

RETURN VALUE

Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not.

SEE ALSO

CURLMOPT_PIPELINING, CURLMOPT_PIPELINING_SITE_BL

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_IPRESOLVE.html0000644000175000017500000000511412652070415016521 00000000000000 CURLOPT_IPRESOLVE man page

NAME

CURLOPT_IPRESOLVE - specify which IP protocol version to use

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IPRESOLVE, long resolve);

DESCRIPTION

Allows an application to select what kind of IP addresses to use when resolving host names. This is only interesting when using host names that resolve addresses using more than one version of IP. The allowed values are:

CURL_IPRESOLVE_WHATEVER

Default, resolves addresses to all IP versions that your system allows.

CURL_IPRESOLVE_V4

Resolve to IPv4 addresses.

CURL_IPRESOLVE_V6

Resolve to IPv6 addresses.

DEFAULT

CURL_IPRESOLVE_WHATEVER

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_HTTP_VERSION, CURLOPT_SSLVERSION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.html0000644000175000017500000000433412652070415017227 00000000000000 CURLINFO_REQUEST_SIZE man page

NAME

CURLINFO_REQUEST_SIZE - get size of sent request

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REQUEST_SIZE, long *sizep);

DESCRIPTION

Pass a pointer to a long to receive the total size of the issued requests. This is so far only for HTTP requests. Note that this may be more than one request if CURLOPT_FOLLOWLOCATION is enabled.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.4.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3), CURLINFO_HEADER_SIZE, CURLINFO_SIZE_DOWNLOAD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.30000644000175000017500000000332412626067776016407 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_ADDRESS_SCOPE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_ADDRESS_SCOPE \- set scope for local IPv6 addresses .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_ADDRESS_SCOPE, long scope); .SH DESCRIPTION Pass a long specifying the scope_id value to use when connecting to IPv6 link-local or site-local addresses. .SH DEFAULT 0 .SH PROTOCOLS All, when using IPv6 .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.pdf0000644000175000017500000000734512652070425017177 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•U뎛FþÏS©? Ñz–™Úª’ã%’³\§v+‹ÅìÚ-6Ž\Þ!¯Òwì™áâË:I+K¶ ‡3ßù.‡÷` ¦ü´¿éF»ž x*5ž´÷U7¡ýI7ð2ÆW^ˆµæ ‚ð8q=ˆ7š>šOƒh/FA4ógÑèÖoŒø/m@ ¥§e‚x>/åE†?jú0†¡,3U‰Klj²¦†akUs§ßëüÞ€´Þç‹,)?/ʬ*v•1`¶ILSèøg]lK¸ˆáÏøõó(áîÑ­æ0±Ú“×S™ ž-ÉX¶C¸î¨úð¨‘Ml·}ÞøòúDfË0 LÝþ_ìõx±ÕP”˜Äÿì8¡ÜkÇ5.‹õ¶Êö°KÊ2[BU@µÊ ,Ò¿ ªÈäzVAšei’ç Þ‘žNM=—˜Âwˆ«N½ £Él<;Ié&üa½Móz™Á/RÇkùEV¿ª),ˆƒ†‚´À‚sïÕ-x±J¶Ë<»º¬òª8eþŠÆ-g§*_}è9óÈ1_H×^ìÒñŽ™àÂ!Ž8bâÆŸ¦ãI<ŽÂÖ7Ônls•Ir|°ÝžLo@—%$Í‘ÔìÒ'ˆãv¸[`g¤Sâ0JÛ’j•TðqçðA½­Š:]¡ðŸ!_?Hªiíì”Ê_öe‰jË8#N×Lk\ôTo²më­ªWv9xÈs•‡ŽÝ3ÁŽÕ Þ‹ú"´ju6"Çä»m/EãÕ<I~ûp-'áÞò¨“çr1Ë%Ì:‘ëU+“m¹*MXK­Ž¾á¼!F£ 5s¸hïq/ß‚T\ÁûaïôIZf}Ä’:¯àƒÁl=Éë ŠG¤q]¢ ûd“ÉxâŸpäBô”{:ô“i Þâ <µžhí1`Ä´=ÅtCÔCÅÍ*L§ÛL£(8K-Në!üS±îô!z(35§4ÛUð%Ï~úFÿá›Iàwap¿†8:Ù\Š7Q+íºö¯'+ûÓ¤RVø·GKEulÚÅf _ŽƒqüîÌ;6nr<ãÄ£ÃåƒF¸Iˆ¸°Žf½Ó§~<Ÿ†ðÖ Ü"žCõa0÷[†žŒõYUïÛW—¿ˆnaý¨"Õ¼Ò¤Êz·+öU¶¼RIm çámÜÖ‘Ú5òÁmQ}×13߇a0‹ƒœ©ð¼Ñå²nW6¯É«Óžx¤ãô+¶kMüð›]å>}Þv`áV§hIË´‰Óp×-0A¸ ¦1 ¶íYÄÖ©¯ë-0“ZŠ «÷:•­üXû ?ÿ?P5´endstream endobj 6 0 obj 993 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:13+01:00 2016-01-27T08:26:13+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001316 00000 n 0000003206 00000 n 0000001257 00000 n 0000001097 00000 n 0000000015 00000 n 0000001078 00000 n 0000001381 00000 n 0000001635 00000 n 0000001570 00000 n 0000001502 00000 n 0000001422 00000 n 0000001452 00000 n 0000001717 00000 n 0000001783 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<4FAB8E8E73F1E2B218D544E8272A8258><4FAB8E8E73F1E2B218D544E8272A8258>] >> startxref 3360 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.html0000644000175000017500000000462412652070415020122 00000000000000 CURLOPT_SSL_SESSIONID_CACHE man page

NAME

CURLOPT_SSL_SESSIONID_CACHE - enable/disable use of the SSL session-ID cache

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_SESSIONID_CACHE,
                         long enabled);

DESCRIPTION

Pass a long set to 0 to disable libcurl's use of SSL session-ID caching. Set this to 1 to enable it. By default all transfers are done using the cache enabled. While nothing ever should get hurt by attempting to reuse SSL session-IDs, there seem to be or have been broken SSL implementations in the wild that may require you to disable this in order for you to succeed.

DEFAULT

1

PROTOCOLS

All TLS-based

EXAMPLE

TODO

AVAILABILITY

Added in 7.16.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_DNS_CACHE_TIMEOUT, CURLOPT_SSLVERSION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_LOCALPORT.pdf0000644000175000017500000000743412652070434016325 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VënÛ6þï§8À~L"–IIĆjª nU˳™bE2ЬÆ^e©µäy‡½ÊÞq‡”ä[¼bĤ¿Û9ÔW „5Ÿþ;ߌ^ÍxlFG_GÌ.Bÿ•oàµÆ ¡ùAuÏ0<'¡½9×7ó$éû$½Ž’Y:ë?±ŽG›õrä3"è§Ñ­£ï~7†|·-y¾oжþÒŽ]O(¢Béà?ëºjàEÍ?ôÛª+Ú—2g¹”x ¡äˆT!R¢¤ë ‰ \îÛ¦‘ÙLÍ>&‰T¼/ô>6¿Hz”€Ë<»|‰G¤-sDÒÑÿ4ûúXÂç*ìVhG½h¡¬ó¬„/õ¶…j·y(¶ÐÖ°k øTo¡©óÏcOiÀq³%|ʇIExˆÀ|Ú#§él1YœâGºöïÖU^î–üdeþÕÏ–täò7œ;rg—à‡UV-Ëâê¥ßÙ‘¼a„ùY´:4|}åAoN˜™éI:íýf²³ûçY¶?V‘p8•°Àï|hÈЉꑀ^­@¾ ´«â‚;õ'»`Áxª@úÆFtli-3‹y]UEnBÛ×˳ ŠnÓºÂõk½t-š¥‡ùètzXW™yžÖíªÓ‚Ñž•OIÈÖl°`2Õñü—^nx†aá7'º>èî¡t(ï;æ(ìQ´o)JYPh:<×;ȶl ¤°)ª%òéâz†’™6â å×å^HüƒGzM½G2¢Î'kà©(KxZJŽwC:ó|3žP8Y¹^;ØX%ð¥ä’\h*Ì®=ñ8mƒ¸ÒdÙv³bbP1º±«Ì4j?K<Ÿýj¢÷âX™ÀAÀÅ^zËu“=”(ªkGÀÓ*k‹“t+FSøû«8<Šxè÷ ù¶ÝŸ‰*3:ô¢c²ûÜ´ÅÆÈV}nŒbWÅËŽcBêi0›÷P·0$qêÛº®G¨ì‚’jHS“€úÃX½N“³Á„š)á BT–ºß?Âÿ½Ÿ%ñ KøŸ]¯ÓKÃÆy“öfÉ0¼pA(³sšñTXZшN†¹d=wg’D¯'ÉD<å†)à" <Ý”‹–Ënà|Ä”|›ë­3õÍ|jâÌQ>s¢ä&î#{ò¼hwÛþªŒïÓwÿ#å"Ž!JéaÛi½Û—7·w²èÛõ “8:†ÚV¾:-'û>õ¾5½d—f¼Hü}ÐǾbæÚÙ5mª+å½àr> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:20+01:00 2016-01-27T08:26:20+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001371 00000 n 0000003261 00000 n 0000001312 00000 n 0000001152 00000 n 0000000015 00000 n 0000001132 00000 n 0000001436 00000 n 0000001690 00000 n 0000001625 00000 n 0000001557 00000 n 0000001477 00000 n 0000001507 00000 n 0000001772 00000 n 0000001838 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3415 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_USERPWD.pdf0000644000175000017500000001165512652070450016115 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…XírâÈýÏStU~Œ˜2½j}k“J…3Yïb Æ™²§\²F;BbXâ<þJÞ1çv·„ÀΦ<5¶Q«ûÞsÎ=÷¶¿3“ fÒ—þžl{?Ì}ö\õLöÜûÞò!Óß’-ûaA@DëžzG0ßb~hó dѶç Z,:öîËùx:‹—‹Ñ|vwý`Ø}–öùcW/UZ—»º?°\“›¦oà—¬,*öÖký¯ÑϽÉ-CÄ"º†í±hÜ3&Ãþ;„§Âånh#´hÕ3nGýè×NЖÉÓgaÑcóÍHÙØ¡J÷¬ˆ·)‹‹ÛÅUuì‡< -/0ÊýŠÕ%-aYÁâC½I‹:Kb _zÞñ „ÇÎâËd:[Ü,΃’Kd@ÆŸ²"É«”ý…úþ㛿ÒrË‘yR¬I‰—H>ÈGìýçéÕ%ŽW,ÙÄ{öž2ÛWý?¯?ˆôz´ø8¿™E7Ó ð…«°#êYLk$ú!\…=èò _£ªX¬Ogq4÷¶N÷2+îûò5‹ 4kW»v?„gyaØné…rÏ2æÅ3³§û’aÃmVÄuºbyù fVigyŪzO+×åž*–”E‘&Dg~ÇçÛ¸–9 do‹ q”kvÜdɆeÕì¾Æ×ï•,„IŠøÊ%õÀÒ”òÞßwdB‡ÿÒ·\n _éþ ÑVì³{!vÌê ’¹“Y¦‹­GV¬JŠPøÜµM¡?=Vì)®/bú»>¡Ó¤|@ P§™°‚…_$aùhÿî)UIŽpÏkUiÈÌÆÓ¿ßL§rj^¼²Nß±lЇ×û2g7·ÃYÇø½æÈ«Y×ó]¯mÓ™-E±¸E"úú¤ˆ¡!,kb0)©*¿7¢·ÅäÙŽ“•1®ïS)@ºP¬Rºn¬¤ÖIÁé;íw¾ª6j¶}SAÑ·|eh”GåÁr‘ÇÀo £ ±Dê–C^gL°w2ƒXI àÛvp>{%e^­g@ò*yÎÞP ¦*Ç}e¸Mú$ áyÆðvôfõ‹†5µÆõõ÷æ‚–Qs’æ\Û½MY0œÜ½Q}jTï¨ÁkE;®+ñµ}ECõõÓqÔŠà!UµïûvëçÆd9¿åìb7›ë(;Ðc§å5¢XÜtUG˜FlÚžiÙÜ7½¦N?NÇ7X„"ŽS ·d߈RšFwÑ<;·Ë臰yËÊõTæÁ«¿ `í¢ƒ>á*ÝÛ~fÃS^&÷ܶߌ‡nÆ7Ñ—‹ªÅhÐi@Æ0obVÎÙÈúxºcNìêKõ \AZÑF¨Í>Š–ó ûÜ6úˆ'Œáx9ºPf›yZöú¯&£Çé/hÄÍMŠÄª?^FÓO·£Ûé¼ã0–gq»m‘_2ÜQMc]wªÍ©=ï *~¦ ôp'A·)ªÃºmx¿'™Òx Ž“”¿õçX`·*£ŽÓBç^­Ð-Eûª^©ž4ä² ¯Î7Å™žg¾šñf}2¬ÀqŒábq'¯\ÂñŒéüúòóäÞdxj|¹§‡c=À¼`2ýÍ"w Üq~>Ì rs§­)A[¢Þ?ðõ__6úendstream endobj 6 0 obj 2216 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:32+01:00 2016-01-27T08:26:32+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002540 00000 n 0000004430 00000 n 0000002481 00000 n 0000002321 00000 n 0000000015 00000 n 0000002301 00000 n 0000002605 00000 n 0000002859 00000 n 0000002794 00000 n 0000002726 00000 n 0000002646 00000 n 0000002676 00000 n 0000002941 00000 n 0000003007 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4584 %%EOF curl-7.47.0/docs/libcurl/opts/CURLMOPT_SOCKETDATA.30000644000175000017500000000347312626067776016135 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_SOCKETDATA 3 "3 Nov 2014" "libcurl 7.39.0" "curl_multi_setopt options" .SH NAME CURLMOPT_SOCKETDATA \- custom pointer passed to the socket callback .SH SYNOPSIS .nf #include CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_SOCKETDATA, void *pointer); .SH DESCRIPTION A data \fIpointer\fP to pass to the socket callback set with the \fICURLMOPT_SOCKETFUNCTION(3)\fP option. This pointer will not be touched by libcurl but will only be passed in to the socket callbacks's \fBuserp\fP argument. .SH DEFAULT NULL .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.15.4 .SH RETURN VALUE Returns CURLM_OK. .SH "SEE ALSO" .BR CURLMOPT_SOCKETFUNCTION "(3), " curl_multi_socket_action "(3), " .BR CURLMOPT_TIMERFUNCTION "(3) " curl-7.47.0/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.pdf0000644000175000017500000001167212652070426020471 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•XërÛ¸þ¯§Àd,™‘° ’à¶ÓÅ‘gµQ$¯D;ÍÄ -Q»©ðbÕ}†¾Jß±ç¼Ê²='qD€À¹}ßùŽ~ƒ2bàOõ{sü²tÉ÷|`ïƒ&Iõks |Ø ð¿¨wqMâzñƒoÚÕír¶¸ñ×W‹ùÝúz©sƒ†ki‹Ïë[ÿZ¬¯oçWþt1¿×¬{]ÿ‡ÿû€ N¹ gùÛ¶)³xùÓ:‹ôXø¥I®ûÿ¸6ulµï…{<ñÊ=#ƒš ¬Ü€8A=ý™¼ê’‘åH æc¼ËÀ}̦¶gU–}žàóÖÓ _cæ+]pœü—lÒ¤¶ˆÙx‘iJkÔEac€GMá ^-dÙE@vYz x&)R²Oó‚„É&ÝFÉweaß9‡š¬t¨‡¬¾Î7«éªï ø^9¢ý%›¸Ü†ä¯˜‹_ðºÿn‡süÙÀ¯|…Cé :ÊlO{\o‚8~6Þk›}‘÷Ç"“~šTzÉ8§Ì©œæ—‚ŠŽ—Ñ¿ÃuAâ0ù^ìïõ¿à®³-jØd„Ô±V÷Ÿ•˽\"ï÷A²Ã!¹”ÆgIJ;¡ºšt¾à„;ûAfëDøãduµœÞà±Òø:É£}t’-šêÎsc%E˜a–ŸÒ2#µdW&DÅœöÑfOò}ZÆ[r øPìCrÌÒ"-žŽ!.馭<¤ý¢³,Nmç­¢£Ò àÖñ‡`å4ÐÆÇc…9Z˜¤Éh¼ºšNÉ1Š]šrªjŒ5cÀ…žÁkeîÃL÷¨ç™ŽÐrpi%»´Ål3aSËvj0ž¢8&YX”Y"Æ<¯ï&Ë]&›ìÂVCòÒ„˜ÙÄÝ@ó!ÌaA¢œåÑøDOgrµÇhn©´Å ‚»Òmn”H¿~nãêB!Ø®xÍáo‹ 5ä7Ù&uLÁªõr‡Ï5„aÔ‡í TUlåÝOèüY”…K…e×|Šì!8Í`n³dÁ!„"“÷+¡2<Ê-£6„ú-!SÛnõ‚Ò2ŽÞ5áÀXt‹ž&õÄ[Ô†¡2´Àq‘d†KEï€D‹ËQ²6Fà¢ûÀw\Ôî)9ãm—ڿ쿼ã5ÿ-êpÎÚœ»k:È/ìMw ˪Ü?dìÒÞ9ܤÌtÌ7k(žr €(9–U{ˆ$dI1ȵ©Åÿ«¤óuQgÀ¤–ǤÑPS¤8ãåu£“_4j_©“õâS?)x‚ͪ=x“)o:”ÐÜa é`ayˆæåfæù®ŒŸ—›Ã¨x+üÄŠ:?CÊ¡Dv|¹aXÞ¹ M«©ØæQ†Ð¢žÓ¤9ˆË°)Y‹³ÉhÛð?‰*VÕJ‡hÿžù9;èÈ›IÕ¶tÆlmv»iÒ£ 3¾ÔW¿iªIt£ Ô$$̲4#'U½1È¥ž(±÷ÔܧúR@ŽÛïÅÝkzxþ¬Åžñ¹Éôì;Ï#ˆxoq(ƒ²cŽògb¨£“êG”L~1¡!ö’•…?ʼ&i?èbdµšaCÀ‚ä!ÐHTÿ›î°3l#AÛž;}{~;› ³M“Ÿ¡I˜€(I± hš¹5Ž‹¼ã ·\Æj¢0Wµ*ìTp ü‰ãapæ©&UFq1ØÇÑÖ‰jÙ^g tj„>îZFcÔðš…JWäDöW(•2Ç lÀ¡æÝ›Ê.ÁocY¶v7YOeë=aGœYXJI ´¤ pÚ‡­'e ”®YûÊÜ/k8¿á•Wxy ‚0ÒÀYU\R8—“?>VB–±B…|!,ÐëU ”,UOáЋ½¸^ÿ¶XùDR^çRY¨ýôL·¹À5÷\˾Q lIZ¦ÍZoaatÕ¿‚Ã1Uiõ jóÍÚOòÆ×ì{7ýð/wß)ÑF–KYUH®,Œ §¹øqÓ­;¯ø7 ¶SÀ2àÛp' Ɇ e\ÈÐ'aqjž¦ÙŸ²0$Æ1üÄú¨çÐÇ(~Uò_Ua^%Z{ÕçùÄÿÒÔÅòø¿Za{#öNž‡É~ù„ëÅR² >rm9LhïàãH¨wG &oF/Š_{eÝÄ•§®sÛ Wª~&$ û¾=Xf r1¼¹*¹H‘€TÆa¯¾`F©_z ^J&¨îm´ÓÍJBƒÂQ$&jŠÉŸò"<Ð c” ó–i{½QêºòÆF}ˆx¦^«¯Æ·j:ÄA»š×MǪõé¬ÕmmÛÁÀ¸®kñfCŠ~>7Ë­6ãfYYÁ-Qx¹Â$ϰ%qi Ÿ,š;M˜˜Œ¦-_-fg#7˜í¼O5þl5z€uÕ ·IãzŒzѺÉßÇŸof“:íâÅYÓo![k í㢊¢-ÄóoG¸‡;›Û0ØJ‡ïHûM äÅiyv:˜Î¦þ×Ê&—Ÿ ”I¢Q–p¦©«ñ#éT•M†;Tt¢¸>TÍ9Úµq‘´y_f®?.&+IÓj0\Õ!:³†ƒŽ¨çÊ >ÛiNÌ·Ýz·D[ï»r†aZª—1õIö²‹•ïx¨àš(Ó–ÿv9'wºš¦g·“3 Õ¦öËZ^WàíLµyy<¦8o¨fª6ÞÎ?Í:Pé—ùz!¿²À¡g_²²Wu«É„Œg«E? ]“zÂÐ×™@˜‰*N­Õ&pêËj¯F³üN`Ø¿ ¿Ûõœöª…+u'L®švª¸WàìÑ€äK$.ušãµ®= »µÚi±µNt)~3Ä¡•…uy)Ã’>b¶íqjkÌ#¿— µÂ¥q¼á †'MüÁðó?Ü&•Ùendstream endobj 6 0 obj 2229 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:14+01:00 2016-01-27T08:26:14+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002553 00000 n 0000004443 00000 n 0000002494 00000 n 0000002334 00000 n 0000000015 00000 n 0000002314 00000 n 0000002618 00000 n 0000002872 00000 n 0000002807 00000 n 0000002739 00000 n 0000002659 00000 n 0000002689 00000 n 0000002954 00000 n 0000003020 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4597 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYPORT.30000644000175000017500000000344512626067776016023 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROXYPORT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROXYPORT \- port number the proxy listens on .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPORT, long port); .SH DESCRIPTION Pass a long with this option to set the proxy port to connect to unless it is specified in the proxy string \fICURLOPT_PROXY(3)\fP or uses the default one. While this accepts a 'long', the port number is 16 bit so it can't be larger than 65535. .SH DEFAULT 0, not specified which makes it use the default port .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_PROXY "(3), " CURLOPT_PROXYTYPE "(3), " curl-7.47.0/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.30000644000175000017500000000456412626067776016277 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLMOPT_MAXCONNECTS 3 "17 Jun 2014" "libcurl 7.37.0" "curl_multi_setopt options" .SH NAME CURLMOPT_MAXCONNECTS \- set size of connection cache .SH SYNOPSIS #include CURLMcode curl_multi_setopt(CURLM *handle, CURLMOPT_MAXCONNECTS, long max); .SH DESCRIPTION Pass a long indicating the \fBmax\fP. The set number will be used as the maximum amount of simultaneously open connections that libcurl may keep in its connection cache after completed use. By default libcurl will enlarge the size for each added easy handle to make it fit 4 times the number of added easy handles. By setting this option, you can prevent the cache size from growing beyond the limit set by you. When the cache is full, curl closes the oldest one in the cache to prevent the number of open connections from increasing. This option is for the multi handle's use only, when using the easy interface you should instead use the \fICURLOPT_MAXCONNECTS(3)\fP option. See \fICURLMOPT_MAX_TOTAL_CONNECTIONS(3)\fP for limiting the number of active connections. .SH DEFAULT See DESCRIPTION .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.16.3 .SH RETURN VALUE Returns CURLM_OK if the option is supported, and CURLM_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLMOPT_MAX_HOST_CONNECTIONS "(3), " .BR CURLOPT_MAXCONNECTS "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.html0000644000175000017500000000400212652070415017141 00000000000000 CURLINFO_SPEED_UPLOAD man page

NAME

CURLINFO_SPEED_UPLOAD - get upload speed

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_SPEED_UPLOAD, double *speed);

DESCRIPTION

Pass a pointer to a double to receive the average upload speed that curl measured for the complete upload. Measured in bytes/second.

PROTOCOLS

EXAMPLE

TODO

AVAILABILITY

Added in

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3), CURLINFO_SPEED_DOWNLOAD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TIMEVALUE.html0000644000175000017500000000407312652070415016507 00000000000000 CURLOPT_TIMEVALUE man page

NAME

CURLOPT_TIMEVALUE - set time value for conditional

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEVALUE, long val);

DESCRIPTION

Pass a long val as parameter. This should be the time counted as seconds since 1 Jan 1970, and the time will be used in a condition as specified with CURLOPT_TIMECONDITION.

DEFAULT

0

PROTOCOLS

HTTP, FTP, RTSP, and FILE

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_TIMECONDITION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPHEADER.pdf0000644000175000017500000001477012652070433016416 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­XÛnãF}×WôfLV‡Í;“Í^G“LÖc9¶Œd0³ÐRÛâE*$5Žÿ!¿²ÿ¸§úFJö$ÀbaÀ¶ÈVWuÕ©S§úWæsÁ|ú1WÛÉW×){è&>{˜ü:ê%3V[ö%dô`y?Ñß, Xš‡<ËÙr;‰#.b¶|œ¼óÎo¯/WË?,—W?ÌϾ›_¿÷Â÷S¶Ú·ÕYtO:Ù7»~: bŸû~êáCÙÔûÌ7§ÿZþ8™ù<0µ‚'9<áyL΄ [^L¼Ë³é œÇ[ó8áàr=ñÞ̧Ë\|ù)›‰€^ûäï î²ÿ0x»¾Ù2zÎ6²X˶ӻÌÏ`&ž)s7o/W7¯oª%Ê ÷ײ^Uûµd£`|E¿øæï´<ˆÔ9È™UƒÇÁz¯^±/7E½®äé ¡:e]ßîW½þjW•]åÚï÷ÓoŸ?ðü»ùÍùõë«åëÅ%yƒ`S6W/Ÿâª 5*Ú9ÏbkŸgYªÐu¬`»¦¬{Ù²¾Á‡ª¬?NaÚqîÉ5SÎ5÷±¥•»¢SûD ÚO*óAð$Ï3‰ÊöF,¾jZ¶k›ßžXY³§fßê=[ùë^v=W‡ Ò€ÇQv˜ö%™(¶Rû²*jv'Ù¾ƒs÷Øò®é7lÓà lfÏî/´iÄÃP¸ÔùN&aʳHhGiA ãaÜmš}µ&;»ßWÕû4 bT@”{EUº°¨Sëd©zËžûæüÞ³$‚-MqTëƒYÜÑv²…Áß« Þ”5g·Ôß¾ùê,È3 vlžŠÝNÖk]ö2Ø RmN M R¸jeÑK•Iu,ÄñÈ^.ðÕМëÝØÚ}; žçAàIù¡¨ªF–3žƒéÄ™®$Ò¹ßÁ&“u_¶ÚÎ^ßDX±^³B##AÆÒ`3R»hLÂû¢geÇ€Ù>–d²–-¶VÀPx¹{Âöwä>S¯áðmòˆ¶[Á÷ÓÄ$åôÉ•Pm¶½ð [6µdeU9L–u×Ã%:‚4p3ò[Ä kž;ž©*ì ׈I×j¤¡£B99[­ä®ÿú„½÷ðr]ôlªdµåÃP-ÁA(Pz²jª¦~?=U†*ÇÈòá‚b«Ø-¿|ç9ã8¨t]vÅÇÙÏÓ0Ç™ÓÄ#Çú W±¿Ê •!¹_K•l0V4Lª½ÇÍ¿˜'©# <Ž53(>9EÁîªb5øì˜†R×Êms@u"ÅÂlæ}’ÎÈ, ž lÂÖP;Þ—³¥N{F V“4áqŠže²;°¦yÐ Cí÷åò„hÕ–ÿ OHŒz"Ûª#f écþ;yóôƒ2õ©UT9éä¶4ûñ¡= Ѓ°9&Þ³5mpj*Þ𽟆–þŽY 5!rÃÞ½Ç="³¼¹0¹Æ8jâüúâÕ Áß–5Õâ)êdUбm!DZÅŠ{¬Ó5ã'ávÕìÆû¡½Ž2óÔ;v†mÌ E˜N`°®!ô C‚’)!‡ˆçl×9ô;P”^õQŽàD©±q;ð“!†°>$†¢mö$JàQ¥¨ýþ€ Õ4TvÇAŽÏíæz´8˜@?ÃqIŒ¸®»Ç¦wòžˆH7îªzÒ„Û÷?¨»tœ€¦vB’4íYˆLA@¤½<šèäòöâB7Ïø‡@¹+Véu\=öYvQæÔ^ÆFÀCg¢TEáh[Å Žå,¹lŠ#sÓò0Ó¹òI²/|A‚±]š%˜Ú~µï»/l‡5#óqÌýœûVg:fX,þùzþBMCR9Ú+%ënìÀf3 Ä–£Bqª!VS¿ŸÜü¨"eLÖC7j:ifÅuèà„ ·òD›N’Pky.¬Á®˜IÂC?òêâÀ Ÿ'6®•‰}y„D9:åQZ(4“8tkD¢åA.M&@nGmÙÀ®s°S`¼o\ëôzêš©I%dΗ—óó¥¡^ÛY€£!°Ø ‰q’h&þú(8y"üà(W׿ìŠZ(¹ ‹_†í1æp|;¾z)÷±KÄAç èšÈîþ¼sŽÛØèªJÙÒ£IzxôˆÄÝŽÞ©íÔ6•ªÊ;‰‚‡dS*ïSÙ´ÓØH>>’¿î}2ËÆ÷Gs8ôzù–Rs>¿¾üìE’ooÞyÿxbky?%Ïý ô (ÒÓŽÛÕÛX€o;§•¬!ŸJ'4G"tÊFêàg¡Ð¤ êÆ«7ã¸#°6în,` ÷ƒ™Ž­i¸½{Ò>êžÃÙ[eÅ;†n^Úk¾ €º|À0c®UÌu æºÙ&gO®PQ§¥†žý©($‰ûß HzšêZ®z7Ua*Ä$Ôa 0ÜPèÛ£$3s?@Š·pdÎvªõ·qK!ƒæ³–l«ú3Uëö»]£e"Ù@CòHÈc’ÜŽ Ú|WOf$0ÏZÿ¶x¢»‚]kiF«T †jøœJõpX„e¸ä6CÆBCÂáÎñU?*NÉx(ífÐ^À|àèèø¨ÉV$ oG¶Ïo¤HÎÆÿ§Z¥R¥R¼E®êG‘IG2q4[)N¥<)Ån<•rºÐÕ´¥v~] NÏñÅë+fº¡$¯°V¸+¡³[(’õæÂ#HB;5_,ÛÃÉ)ciš†‘£pR>rs=Pt˜™LIj¢0 =A-–lál‚íS?±wíç‹‹#¾‚Û9ü!"øG濜½¹º˜–øÜ•=ûRÑØ·£›r °˜ è®{¸PáN\ýþVéAºWö# f–!PgÓ™ˆcb쉔ý¸¯Y€é^ëîà‚ÌÍ—“Ÿðó_Ûcêpendstream endobj 6 0 obj 2699 endobj 14 0 obj <> stream xœSÛn›@}ç+Fyé™5 ËeSõ¤Hu⚯ÓFqe{íPa «7õß» ØI¬¦BìÌœ9sæì˜˜€©žî;_ký؃U¥™°Ò4Ò¡ûÌ×pÊe‚¯øRkkxxÌÆ>¾ÖЉü›v‹Î&ñ0ºä³œ_~ƒ÷ae}ÒUu ÿ7Á£@=P8mñ“²Rl–Åf½“HEùq§LKc¹b–dYKD¦@ÿÔ!Ô÷¢…d¥Kiu”¤9÷MŒ½Òè·Þ Øñ}àsi&çÇÌQ.QË2,û*S昴Y[p ª2UebבXfƒ6§ƒá€ß¨ø»9ئ²A×´Ý~PAVä+H*PZ@ZÈ“»L,ÚâC"Äm‰Ü¢8ä“x×:±)f.AÁp6ƒ=¶l*:3Å¢Þn:o†³èÒå¾eµ-ËbS‹E’|Ñ¥LF£H·;S}ÍäÂÑHÕåE»V/Dã0„`8Žç8d´3ÁÙdÌuâaÆCÑÇ8¼Ò%¦Úš„2ô|&Bl±NêæZõZ0lê·Onqc3Ý6ÛyäÑ!°¤Îì×ïq/ãÆ<&¦Ê ®Ä lG/úÜŘ¥‚„b·‹Ü{óÔ²°ííÍØ}æjaÏ7É?ÈIò®kZäþ†ÅT&{¦`kfaBÀ ”`·Õ.KïÔMOòænÇa;ˆxp¾ÍÁ’;jD¤îN7KA…\»’ÏÎ9slendstream endobj 15 0 obj 698 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:19+01:00 2016-01-27T08:26:19+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003982 00000 n 0000005941 00000 n 0000003916 00000 n 0000003594 00000 n 0000000015 00000 n 0000002784 00000 n 0000004047 00000 n 0000004370 00000 n 0000004305 00000 n 0000004237 00000 n 0000004088 00000 n 0000004118 00000 n 0000003754 00000 n 0000002804 00000 n 0000003574 00000 n 0000004168 00000 n 0000004198 00000 n 0000004452 00000 n 0000004518 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<33F57D79F6B34CEA03B0D26F9C46A52C><33F57D79F6B34CEA03B0D26F9C46A52C>] >> startxref 6095 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.30000644000175000017500000000425112626067776016346 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_ACTIVESOCKET 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_ACTIVESOCKET \- get the active socket .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_ACTIVESOCKET, curl_socket_t *socket); .SH DESCRIPTION Pass a pointer to a curl_socket_t to receive the active socket used by this curl session. If the socket is no longer valid, \fICURL_SOCKET_BAD\fP is returned. When you finish working with the socket, you must call \fIcurl_easy_cleanup(3)\fP as usual on the easy handle and let libcurl close the socket and cleanup other resources associated with the handle. This is typically used in combination with \fICURLOPT_CONNECT_ONLY(3)\fP. This option was added as a replacement for \fICURLINFO_LASTSOCKET(3)\fP since that one isn't working on all platforms. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.45.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLINFO_LASTSOCKET "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.html0000644000175000017500000001004612652070414021256 00000000000000 CURLOPT_CONV_FROM_NETWORK_FUNCTION man page

NAME

CURLOPT_CONV_FROM_NETWORK_FUNCTION - convert data from network to host encoding

SYNOPSIS

#include <curl/curl.h>
 
CURLcode conv_callback(char *ptr, size_t length);
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONV_FROM_NETWORK_FUNCTION,
                          conv_callback);

DESCRIPTION

Pass a pointer to your callback function, which should match the prototype shown above.

Applies to non-ASCII platforms. curl_version_info(3) will return the CURL_VERSION_CONV feature bit set if this option is provided.

The data to be converted is in a buffer pointed to by the ptr parameter. The amount of data to convert is indicated by the length parameter. The converted data overlays the input data in the buffer pointed to by the ptr parameter. CURLE_OK must be returned upon successful conversion. A CURLcode return value defined by curl.h, such as CURLE_CONV_FAILED, should be returned if an error was encountered.

CURLOPT_CONV_FROM_NETWORK_FUNCTION converts to host encoding from the network encoding. It is used when commands or ASCII data are received over the network.

If you set a callback pointer to NULL, or don't set it at all, the built-in libcurl iconv functions will be used. If HAVE_ICONV was not defined when libcurl was built, and no callback has been established, conversion will return the CURLE_CONV_REQD error code.

If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined. For example:

 #define CURL_ICONV_CODESET_OF_HOST "IBM-1047"

The iconv code in libcurl will default the network and UTF8 codeset names as follows:

 #define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1"

 #define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8"

You will need to override these definitions if they are different on your system.

DEFAULT

NULL

PROTOCOLS

FTP, SMTP, IMAP, POP3

EXAMPLE

TODO

AVAILABILITY

Available only if CURL_DOES_CONVERSIONS was defined when libcurl was built.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_CONV_TO_NETWORK_FUNCTION, CURLOPT_CONV_FROM_UTF8_FUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.30000644000175000017500000000356112626067776020127 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "1 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_CONTENT_LENGTH_DOWNLOAD \- get content-length of download .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD, double *content_length); .SH DESCRIPTION Pass a pointer to a double to receive the content-length of the download. This is the value read from the Content-Length: field. Since 7.19.4, this returns -1 if the size isn't known. .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.6.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " .BR CURLINFO_CONTENT_LENGTH_UPLOAD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.pdf0000644000175000017500000001054612652070427017503 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…WÛnÛF}×W,Ò‡P¹ÙåryA‹²­6NeË•è ]´´²XS¤Â%í¸ÿÔìì…¤$' ؉¸œ9sæÌ™ÕD0EDýØ¿Ëíàý,Dr@ÐÃàË€ê‡ÈþYnÑi"õA²˜w( =Æ G1J¶çìf6™^'‹ó«ùâl4LþD1&N&«¥ØóPò<¸uÎ>ŒÉÅåxz“Ü9ìnˆ–M•/D*_RÔ宺'˜Ðÿde!ÑQè¿“/13±_ET¹]‚= À–€;Ü8æ ºË¢3Ž\èW¯4P¢ÎQŽy܆¼«Ïû’=‚}"—zê1±•ÂòÉ>ô‚rPž­…[g[Öe…à$Z¦Ë@¢¨«LH]ËÂÒ8Ò8柯¦×ó‹ù!}D#q~ÊŠeÞ¬úEÑø^ý›_ÕqÏGÉd¼38—%œ9fúN?Bï6i±ÊÅÉ1ϾîÛ¯Êp¹"Œù ÂNòŽÈ‡!‘}P(}wßM ÇÍà{Õžçg³‹ëäbze{H¹iá7*¿N»Œ1Ž¬Î ëQdº#%JQéOP½É¤ê†„ ¤ºQ65Ê ølY+‰ÑU ª„,ó§!A—-$zÎòÝ ô8ŒqqƱÓ/nŶ¬^ð†)Vº¹:KÑl]M’«Aµ‚ÁD îyàÜ‹ •ë>ñ4R—è_Q•êï²ÜîrQ‹ü­2™ÞçBë%SU@ iN»TýÞ¦ºÏ˜³P÷ƒp„–vQï±ò°– ¢N’ à­¡þm µA-ê]JöXÛF·*Ý×÷"]}®§;QÅö(×G!ŠjmüFª0:µØõû¶Î˪ŸHõ˜ì œX©ÕdÚäõ L×½Ò´)DšdźÔýHG³éèÙgÅU£¡¨ æ¨(öù™-4hë‡Ô,Š cóàÖiŠ¥q)hëÓгâI«¬l¤ˆ2ÕÓ-°œšƒ«²x«µYhI6S]íuŽ„m&áV"]¨RTJ©ÈI\mulÔ¹ÆUºéq½ã¨ñu/Å‘ßJƒr=;Î.Ï–Y ¬Ë|…d‰îE¨nlCO¼þX¿ñ5U5ž ûèEžƒ^­Œ4ßÏ(±†˜²ÐêÁ©ÄžmÄ}±Ž\dEVwv¾ç°psËÉÝ£Dµ}›ªÔ0Œ(`DA/Ž;R€¤§*•¡O{ÕM°M®ŽUîÃÚŠ¿¯rJ ¯T~ëÙ„†I;ësG—áï¸ã”Y8»F›T¢f·Jk˜GÓô×Çqì…m“O´ßÔmµyY>B±VJ‰IZ ŽHÏ;~=@¯V¢yÒ-¢LÊF(®jm²Ió–A3ó^Ä 3þÑîKwŠT ŒsÇŒó1ÎrUÖq“Özßµî²I‡o{QRbÒjžâؾú$À´ßô˜L¿3›àÖI’É´«Ê¨êt?¤Úž}§©»î¯J!í˜ù˜†¡éRñºAköG:æ­uJÞêª_ÙÝÞ/Œõw¬\Ei£¨³J¸Ü‰e“Ã\ì² Â¼Ó/ˆÀoëî ÚÑ~Æl\Ågj†_¯¥Þ¬`"}õÜ·(ëE+À ¡w‘ï”õžÉžTÕ*dºZA@©3EKàU­¹…aFé¶lŠZù›¾Èd…Q‹.‹ÆJy·¬›º©þƪöüoíŽ L1mûìŒnLhå¤öfæ¬mÏ$éˆê]Aц!ëdêä ®gƒÏ"˺´÷ub­mš i/HîtÏéäèfæ*)3¿‡1Êóàÿ5º¼žŒ[‘Dß½ð$= °ÚšÖùԲţèõ}×ÕÉ.›"ÕÈiô õw_à?à´½Ë]LF§“‹äóamÐæC޾´³Y%­µ<§ûsŃVÉ΋|M‡Í§Nt­¿ÌÆÉÍì }R&Pg4¹ÛÛò7¸™ Ðý¦0^Lÿøçóñ&óiì0ÞáÝþf>^ü>™ž‚§ƒÖý°¨ë1·î ×ã#`T}ÉhéÐ;ìä0 :^“ÍÇ3ðT“çÓx6? öî¯BCy  \m"¸š¨­Â%ðÚ¡K9}Ì¢M> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:15+01:00 2016-01-27T08:26:15+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001964 00000 n 0000003847 00000 n 0000001905 00000 n 0000001745 00000 n 0000000015 00000 n 0000001725 00000 n 0000002029 00000 n 0000002283 00000 n 0000002218 00000 n 0000002150 00000 n 0000002070 00000 n 0000002100 00000 n 0000002365 00000 n 0000002424 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<5FABC1BCB777FE75CC918E5AFD331E07><5FABC1BCB777FE75CC918E5AFD331E07>] >> startxref 4001 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_LOCALPORT.html0000644000175000017500000000445112652070415016513 00000000000000 CURLOPT_LOCALPORT man page

NAME

CURLOPT_LOCALPORT - set local port number to use for socket

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOCALPORT, long port);

DESCRIPTION

Pass a long. This sets the local port number of the socket used for the connection. This can be used in combination with CURLOPT_INTERFACE and you are recommended to use CURLOPT_LOCALPORTRANGE as well when this option is set. Valid port numbers are 1 - 65535.

DEFAULT

0, disabled - use whatever the system thinks is fine

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.15.2

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_LOCALPORTRANGE, CURLOPT_INTERFACE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.html0000644000175000017500000000500412652070415017253 00000000000000 CURLOPT_PROXYPASSWORD man page

NAME

CURLOPT_PROXYPASSWORD - password to use with proxy authentication

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXYPASSWORD, char *pwd);

DESCRIPTION

Pass a char * as parameter, which should be pointing to the zero terminated password to use for authentication with the proxy.

The CURLOPT_PROXYPASSWORD option should be used in conjunction with the CURLOPT_PROXYUSERNAME option.

DEFAULT

blank

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.1

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_PASSWORD, CURLOPT_PROXYUSERNAME, CURLOPT_HTTPAUTH, CURLOPT_PROXYAUTH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.30000644000175000017500000001236312626067776016370 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DEBUGFUNCTION 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_DEBUGFUNCTION \- debug callback .SH SYNOPSIS .nf #include typedef enum { CURLINFO_TEXT = 0, CURLINFO_HEADER_IN, /* 1 */ CURLINFO_HEADER_OUT, /* 2 */ CURLINFO_DATA_IN, /* 3 */ CURLINFO_DATA_OUT, /* 4 */ CURLINFO_SSL_DATA_IN, /* 5 */ CURLINFO_SSL_DATA_OUT, /* 6 */ CURLINFO_END } curl_infotype; int debug_callback(CURL *handle, curl_infotype type, char *data, size_t size, void *userptr); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEBUGFUNCTION, debug_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. \fICURLOPT_DEBUGFUNCTION(3)\fP replaces the standard debug function used when \fICURLOPT_VERBOSE(3)\fP is in effect. This callback receives debug information, as specified in the \fItype\fP argument. This function must return 0. The \fIdata\fP pointed to by the char * passed to this function WILL NOT be zero terminated, but will be exactly of the \fIsize\fP as told by the \fIsize\fP argument. The \fIuserptr\fP argument is the pointer set with \fICURLOPT_DEBUGDATA(3)\fP. Available curl_infotype values: .IP CURLINFO_TEXT The data is informational text. .IP CURLINFO_HEADER_IN The data is header (or header-like) data received from the peer. .IP CURLINFO_HEADER_OUT The data is header (or header-like) data sent to the peer. .IP CURLINFO_DATA_IN The data is protocol data received from the peer. .IP CURLINFO_DATA_OUT The data is protocol data sent to the peer. .IP CURLINFO_SSL_DATA_OUT The data is SSL/TLS (binary) data sent to the peer. .IP CURLINFO_SSL_DATA_IN The data is SSL/TLS (binary) data received from the peer. .SH DEFAULT NULL .SH PROTOCOLS All .SH EXAMPLE .nf static void dump(const char *text, FILE *stream, unsigned char *ptr, size_t size) { size_t i; size_t c; unsigned int width=0x10; fprintf(stream, "%s, %10.10ld bytes (0x%8.8lx)\\n", text, (long)size, (long)size); for(i=0; i=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:'.', stream); fputc('\\n', stream); /* newline */ } } static int my_trace(CURL *handle, curl_infotype type, char *data, size_t size, void *userp) { const char *text; (void)handle; /* prevent compiler warning */ switch (type) { case CURLINFO_TEXT: fprintf(stderr, "== Info: %s", data); default: /* in case a new one is introduced to shock us */ return 0; case CURLINFO_HEADER_OUT: text = "=> Send header"; break; case CURLINFO_DATA_OUT: text = "=> Send data"; break; case CURLINFO_SSL_DATA_OUT: text = "=> Send SSL data"; break; case CURLINFO_HEADER_IN: text = "<= Recv header"; break; case CURLINFO_DATA_IN: text = "<= Recv data"; break; case CURLINFO_SSL_DATA_IN: text = "<= Recv SSL data"; break; } dump(text, stderr, (unsigned char *)data, size); return 0; } int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace); /* the DEBUGFUNCTION has no effect until we enable VERBOSE */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* example.com is redirected, so we tell libcurl to follow redirection */ curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/"); res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } return 0; } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_VERBOSE "(3), " CURLOPT_DEBUGDATA "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.30000644000175000017500000000555112626067776016544 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_COPYPOSTFIELDS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_COPYPOSTFIELDS \- have libcurl copy data to POST .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COPYPOSTFIELDS, char *data); .SH DESCRIPTION Pass a char * as parameter, which should be the full \fIdata\fP to post in a HTTP POST operation. It behaves as the \fICURLOPT_POSTFIELDS(3)\fP option, but the original data is instead copied by the library, allowing the application to overwrite the original data after setting this option. Because data are copied, care must be taken when using this option in conjunction with \fICURLOPT_POSTFIELDSIZE(3)\fP or \fICURLOPT_POSTFIELDSIZE_LARGE(3)\fP: If the size has not been set prior to \fICURLOPT_COPYPOSTFIELDS(3)\fP, the data is assumed to be a zero terminated string; else the stored size informs the library about the byte count to copy. In any case, the size must not be changed after \fICURLOPT_COPYPOSTFIELDS(3)\fP, unless another \fICURLOPT_POSTFIELDS(3)\fP or \fICURLOPT_COPYPOSTFIELDS(3)\fP option is issued. .SH DEFAULT NULL .SH PROTOCOLS HTTP(S) .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { char local_buffer[1024]="data to send"; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* size of the data to copy from the buffer and send in the request */ curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 12L); /* send data from the local stack */ curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, local_buffer); curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.17.1 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_POSTFIELDS "(3), " CURLOPT_POSTFIELDSIZE "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.30000644000175000017500000000352412626067776017003 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_PROXYAUTH_AVAIL 3 "12 Sep 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_PROXYAUTH_AVAIL \- get available HTTP proxy authentication methods .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PROXYAUTH_AVAIL, long *authp); .SH DESCRIPTION Pass a pointer to a long to receive a bitmask indicating the authentication method(s) available according to the previous response. The meaning of the bits is explained in the \fICURLOPT_PROXYAUTH(3)\fP option for \fIcurl_easy_setopt(3)\fP. .SH PROTOCOLS HTTP(S) .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.10.8 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.30000644000175000017500000000363412626067776016374 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_USE_EPRT 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_USE_EPRT \- enable/disable use of EPRT with FTP .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_USE_EPRT, long enabled); .SH DESCRIPTION Pass a long. If the value is 1, it tells curl to use the EPRT command when doing active FTP downloads (which is enabled by \fICURLOPT_FTPPORT(3)\fP). Using EPRT means that it will first attempt to use EPRT before using PORT, but if you pass zero to this option, it will not try using EPRT, only plain PORT. If the server is an IPv6 host, this option will have no effect as EPRT is necessary then. .SH DEFAULT .SH PROTOCOLS .SH EXAMPLE .SH AVAILABILITY Added in 7.10.5 .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_FTP_USE_EPSV "(3), " CURLOPT_FTPPORT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.pdf0000644000175000017500000001164512652070452017434 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœXënÛÊþ¯§X¤(BÒŠ÷ËéPl¥Q£ˆªDŸ“@>hje±¡H…KùRôú*}ÇÎì.IIvb4°aÁäîìÌ73ß|«oD§ÑñG}&»Î`î‘;ÞÑÉ]ç[Ç/‰úHvä] ||m:rA<“xEý€D»Žvy=Ÿ„³hu=^-ÂË£h5ëFÿìô j$J:†P݇­Ñº£ #|§ËçÔ4‚@¾0 êÙ$zè,µ7šuÓ%É¡ÌV,æO+Ϊb_uû¦£S]÷4ø'-rN^>ú÷èïíÙfàP÷•£ÕÂgŸãŠÁ<€°ià`ä}Û¨a’¾åŠ ÓakÉ¡N`)CŸFø¼EÌÔ©­{¤[ñõOAeRçÿË9G>×%€¬"×yúHÖÅ.Ns‹äk×Ðá±Àæ42°Iu\t©/L/¾LÃÙb¼8¯£øCš'ÙaÍÈŸ1CüC·®B'2̤€ç¼¯ÈÅ6Î×ë}'o[8,âΫÙë‘d—äbWۛãÇ1Z.@dÅx5Z\ÎdzhN¿&B]£<¾Í'Õ–‘g¤Ø<‡7 A`º>`ÌIÌIRä9K°J Ë×û"Í+AŽïÑúJªB%ÄÐëómZN.’%ày–,ʦ=êùº¡ÒqƒO]`S/62¼Æ¾K£·µý“‚uK™E,„@K9™^O&=Q«ô¾ø-P†¥€‚Àò—*šÖ$4%#ë”#žkJ†€În_=^•i~GÒ,#%㇬"°;†×eY”$®ÀÒ@C{$­äʼ¨ÐX_€ˆÎLdDK Oøn²D/p*öÉš… LO„úÆÀDÆ×PXX¯â0•QÈ™Èß3›oÁt»cÕØ¦+ 2Œ…W,^£/ŒW`:å[Œ7&Ñåì¸VÀx,0®mÕ KÛ‚W”, ýÄ~¾r””,®·×Ô,b”3¶FÓ€l‘ÝqŠéûÔ¨û Ø¡®¡€zÐ^¦zÑ^MOÏcÈD,˜O¨ô5ð¨$‡HÂòÞíâÇtwØÉ*ÏX~àâåÓÝCš÷È$Í¢E—à9üºGI˜“Œ—dŸÅÕ¦(w³½Kï¶¹e„)Ž6„û¸Ô-pÏŽ ¨é¾­^åYËPÓmÛ0Îe¶îSÛ¯C€z5|ø¬,Ÿ„£v=vø!ÙB“·<#Ò|E݈êaßj^&C¨:]û¢Þ?ÞÔ%£ãècåüÃ^ÁôñÃ~_”6Œôç‡~Àt€.ügCg6WàÙ„ët …†Ÿ[„ìf^~9åO®Ùrƒ}äì6>IiQ׳üz­£ÖÞCD5¡ 7€Æt×®óQÔù5Û‘×¼Ül]jºážysú“¥¢~bA³Ðÿˆ"$¡_”)ËEs`:cþU6à^ ÊYy߅ȃ@75Ø ÍÕWR†.ÑÍ“^\j5Ä$ae…4ð2ñy–`Ù‰û‚ó˜…¾0ˆÅèiÔ{…u‰€Âº‹áµR `_‰Óµ<õvÒNÊ6{˜ƈ]DZԮØFøh8 ÎU4Ov,Οj Ô TóàÉ®_§->ËWUfºžª¥¾ DV~‘°6õt·V—áäL“@üd·“Èu™!06¤¶*’"ã@†£=&l_àòŸŒý2ˆ:xÍDM)v+Ê'’õ, Úq9êqûáXŠøµúÒ¢H¨¹f„ïºM“õއtà;ukŸ†Í6WåÚqõš~{³ö0¢){ב&œY’K?A0|[2ŒBŽjÓ¥Žïž•î>.«49󒇦Šò+¹Ñ¤´“©giI‹É š,È}×´Ñg[ºŽóŠßt_ÍùèóðÓlr¦ˆtäßÒÊ«¸ˆ(p_`óê|ÛsP&5 íSq8ç$Û¡¾Ó,¶Õb ¤øä4FYÕòü„×8;m©Ý¥ù£bG5|IÊCŽÔ#0ë+&š à Úí9n ØF=áf:§dß €M>`IÞ\íàTà?”0ÿ€æ~A×Özò>—ÛâÉÕöñíÃt ê×ýö#½ýæ,7Jv÷M×–· óÿòhœóf[U{èˬHâ ÅÆ ±ÚÆhPË“L1Þð°yØVQ PܲŸ|O\å Ë¥–U×Ïö2ªEõ Û@D¦ -¾—Z£µáÁM®F >* ÐÂF-BÀ;_M"`¤@œ@§uÁ@à[¶v‡ã@½CnŸ*ÆUˆ¾EÅ*®e‘¨*ð êNÊŒ?A]ípÝ>íc.oYºK«ÕÁYm,5¼¬Ór³&Áò-+ò»<‚At·BWWU±:]=®®ÆóÑeԅ΀‡¾Î¥r¦ 36$ýåßGômÛ"ZͯÂéDª L¬ˆÎôÀf{A÷8tdièþï"ùR×k<ßáÚ܈KKðô_¬PÿÝt±"²gÙf°Yþ¸>®ÎžŒO}û“mòö'ºäè>zÖKmpAÞáØò…ÝÙ^¥ (WÑIœ¥Py•f¢RàÊ“ÄåZ$\:M.õ·Žï¿ðíÅ-£hblø+i¿Æ0qž5ë'ÃwãÉ8:S€Ào–íû§µ(ï#ØT§/ݽ۳—Ú|]ϧä×.Ü)©6œ\Î4q;"`=«¥ú¦g´ ?’t#â–K3¹¥°“ ¯§§a×r´ß¦«P\óq#(°W‡Öb4"ÃÉ"<ÕGS«.p6šÊêx=½|þM‚áA[Ô‚AhäÞÙ…ÅA3å °Î €Hh¶{j;´³OMT<À'®Ä(Ko±€U º}®§Y… PMݰEÌvÓ£EÀÏÿÌóQendstream endobj 6 0 obj 2208 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:34+01:00 2016-01-27T08:26:34+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002532 00000 n 0000004422 00000 n 0000002473 00000 n 0000002313 00000 n 0000000015 00000 n 0000002293 00000 n 0000002597 00000 n 0000002851 00000 n 0000002786 00000 n 0000002718 00000 n 0000002638 00000 n 0000002668 00000 n 0000002933 00000 n 0000002999 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<66129121CD25A60766F2FC11EB110475><66129121CD25A60766F2FC11EB110475>] >> startxref 4576 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.html0000644000175000017500000000410712652070415017626 00000000000000 CURLINFO_HTTP_CONNECTCODE man page

NAME

CURLINFO_HTTP_CONNECTCODE - get the CONNECT response code

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_HTTP_CONNECTCODE, long *p);

DESCRIPTION

Pass a pointer to a long to receive the last received HTTP proxy response code to a CONNECT request. The returned value will be zero if no such response code was available.

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.10.7

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLINFO_RESPONSE_CODE, curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROGRESSDATA.30000644000175000017500000000343412626067776016271 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PROGRESSDATA 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PROGRESSDATA \- custom pointer passed to the progress callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROGRESSDATA, void *pointer); .SH DESCRIPTION Pass a \fIpointer\fP that will be untouched by libcurl and passed as the first argument in the progress callback set with \fICURLOPT_PROGRESSFUNCTION(3)\fP. .SH DEFAULT The default value of this parameter is NULL. .SH PROTOCOLS All .SH EXAMPLE http://curl.haxx.se/libcurl/c/progressfunc.html .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_PROGRESSFUNCTION "(3), " CURLOPT_XFERINFOFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_RANGE.pdf0000644000175000017500000001106712652070441015615 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Wínã¶ýï§ rT^ØŒ(Šúèà¦vë^;vm¹Ø )E¦cumÉ+R›÷ öUúŽ’’,%Ù bÄ"gÎÌœ93úˆlL­~ªÏ䨻\ùèQôlôØûØ#ú!ª>’#ú!‚ú"ÚõÌ‚|ù!ÅAˆ¢c/`ØñPôÔ»µ®6«ÙbݯF×?ï,z×GIYîy,žï—ùIö‡³±mûü“æ™@¯/õ~é mìp€ÿüã)\ÍzÖõ¨ÿ@†§„aR€m{Ö|ÜþhvlìÚ>G=¶Ê.Hô\èáYrTÄÙ#G2GÿXr!©–ï!8Ú×úæz±\O×]úˆöfý'Í’C¹åè[•„Kõï¿WÇW¡$9x™¤;ý½ÛÇÙöÀÝ P² ôNýë‰ø”?Ž×W«é2š.®•gÈ*a&©o ^ÆêŒNkˆf’jcßc:sB ¸rŽbNq¹ä…ºD®¾`Ïsƒª ƒ§Æ"qp¸g›®áÌ>MöHìóò°EIžÉ8ÍÜs$NO1±ƒ.g]Š)± "Þ´I4¥Sц¹iö¬JúéEùÎäʃJº ý fŒR˃LOÞ‰u8 $.×<Õ‰êÂJ@VçNt´ ÐUpð­î\œ@ú8ÚæIyä@f ý)å èÎ*5Z!q±ÕHk³5ç°K´Ýùt>®ó bŠ$OöYªÔë®Ñ&JÊ2ƒZžµîàè,×ôÈ&y&íú6ÁUHÚjrâO)øL´C¨ ˆ||8ä ž„I©þWt“¹iR°°†oò“>fyQ+p%¿`&G/˜iCÁÂ.3!&eäe;d-áa˜£êvæ™PZ£Ü Ý»^-ÉíJ|àbÏmìAŠA+ÌmZµ¹*uyB\JÃ= 趃 +»ÕpB(><ÄÉ܉ݚä ô-d_§8Ðt@±jw¥N£h½¬’T]ó0!aøVíù«Ç¥º¬FÖtùN…ª‹T)ö.W¥¯èb/åéëËKÞèþŒ0‹1,Ê“ §Ú /ß)…Õœü\‰ÛÖK”@ï.ÁuèßÜVkõ…=¹0+õÙÁ’ª¥ªÁ­eþ ÖOæd½23l¢·þ_‘œÁ«·šOU#hm´F¿¡Ñ™ˆ°Î0R“b:ý0M£›nÅ e°'tç H,pÁV‘päÌǶ" SÒâøš0õ3ða¿A—6º[k5Ž6«kô[ŸÀ®zÄÍ6ãêÖÌYqYÕ{Þø~ñ_z"Êv¡D«úzÝ/&÷óñ|±j7Ó,¬ñ‘ÙÖN¶Ä™f ª•¶ýš›µôÎ)Ê]³›|NR5]÷<>Á Fœð·šƒÂþßV¯õxŒF³õ¢;-ζÞ{ÇëÍ||?Yõ©m-æ/rB(HE]?ý¢;0”ð|õ=|›‹1xHt«ù˜úP‘!a,t1³ˆ~)3 9qµq·&¢L£Þ¯ðó7_Áendstream endobj 6 0 obj 1842 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:25+01:00 2016-01-27T08:26:25+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002166 00000 n 0000004056 00000 n 0000002107 00000 n 0000001947 00000 n 0000000015 00000 n 0000001927 00000 n 0000002231 00000 n 0000002485 00000 n 0000002420 00000 n 0000002352 00000 n 0000002272 00000 n 0000002302 00000 n 0000002567 00000 n 0000002633 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<05E8FBCDD9CC7BA34DE371BDF0140DCB><05E8FBCDD9CC7BA34DE371BDF0140DCB>] >> startxref 4210 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.pdf0000644000175000017500000000737512652070456017406 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœÅU[ÚF~÷¯8Rj¢õ¬gÆ·Q«JdCµ$S0Û¬B…¼0»¸ÛÁf›ü¨þÇž_0°iZ)BâvîßùÎçO` ¶zÕŸ«q=õá©0lx2>T¡þXíàu„ú#z4ª >_pˆv†y3ŸŽ†ãŸÃådÚ‹~7,›8­ Ï#·UH´6Ìðƒ¶Q”:Äæ"¨là¹ýi˜÷}˜+7[û"¨ÍêøèvÙ¯3pW™™CÛ]ÿĉ4‰™M\®4‡£…É=XöÛ¥Œ‹/Ë'Y&écÖ³˜kÛöÍ,/“,- ;ÎoÑÛvÆ}âŠo8N3D 2£B¹\On‡W-Èr°¸§ÆL.6ÏëDïêÿã^(ÇöÁ¢L›ÿëBÿïÁmæpn âÏE·òsܦ„b§6$Ûøa+á6Š&ï³Ï_ >”™–É*V{‡,7Ùº¨€éBÊ#±Áéu¦Ùý8œÌ†³Sñ¾ï’tµ=¬%ü¨Øv­ÞÈæ'åÎÇQ…ï*C‡ 6.´ ^mât½•W'\üþÈD×%Þ·db³+Øfé¼RPæ‹Þ—àqÑEïÍ`v3N¢a8®×HÝŠÆ/ 9én3pëâÄáÕTE1äY’–re†?t;øm/W29ÉOi@l·MásG§x–õÐVÁÙÝvH¬S9%å..þ€$]k²¨ù2f*sÊP*\ҞͿ4^­²ýZ×ÈtîzÄ·yƒ ®Ô©$Mõïe{‚ùæs’ œ¼ÈQÅ$í;§*Wö¨[~HÊ’dÖAŸómœ¤rÃ)-x×Sj7ÂàS"üºCEÆp«2ÏglDáÕ“«å·£ß÷;ôIp¶è¶¶Ž(¡Ümp¥Îð˜í+¯¶E‹ ª0i8s¼©B–õBf_àjÛÌä’µÕÒé²ö82ê3cž_Ÿ‰ÅYB3%Œ <’‰ãâ¼FsoÂÑ™dX [î[Wâ´0gM»§wÔéfð¡ÿ~24ü¾z?Qؽ_Z³ß|ÖïÁ ¡<ÛjèfWgпƒ£0¥-”µO¦þëáhÝŸNˆ0rk4Ü­Ò¬×ß|‚Eƒžõ£9Dóéîz”#g=jöGóAÍÓË‘Ñ_–‡}ý,ÃwTܯ „ì/yžíK¹¾”ÙÚq>~7{Ü5/C-O*0ÍJR×úê6fƒôG³ð8ÈyKç2ßcJ\afgsø S{š¹W§i±ªçµÚ}Îõ3šSB/RYTxœ–ƒO5§jo›<¨D¸Ÿ=‹º.&6?“90lTwé´L¦*Ï 2~Á×ß-&‚Œendstream endobj 6 0 obj 1023 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:38+01:00 2016-01-27T08:26:38+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001347 00000 n 0000003230 00000 n 0000001288 00000 n 0000001128 00000 n 0000000015 00000 n 0000001108 00000 n 0000001412 00000 n 0000001666 00000 n 0000001601 00000 n 0000001533 00000 n 0000001453 00000 n 0000001483 00000 n 0000001748 00000 n 0000001807 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3384 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIEFILE.html0000644000175000017500000000651312652070414016565 00000000000000 CURLOPT_COOKIEFILE man page

NAME

CURLOPT_COOKIEFILE - file name to read cookies from

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_COOKIEFILE, char *filename);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. It should point to the file name of your file holding cookie data to read. The cookie data can be in either the old Netscape / Mozilla cookie data format or just regular HTTP-style headers dumped to a file.

It also enables the cookie engine, making libcurl parse and send cookies on subsequent requests with this handle.

Given an empty or non-existing file or by passing the empty string ("") to this option, you can enable the cookie engine without reading any initial cookies.

This option only reads cookies. To make libcurl write cookies to file, see CURLOPT_COOKIEJAR.

Exercise caution if you are using this option and multiple transfers may occur. If you use the Set-Cookie format and don't specify a domain then the cookie is sent for any domain (even after redirects are followed) and cannot be modified by a server-set cookie. If a server sets a cookie of the same name then both will be sent on a future transfer to that server, likely not what you intended. To address these issues set a domain in Set-Cookie (doing that will include sub-domains) or use the Netscape format.

If you use this option multiple times, you just add more files to read. Subsequent files will add more cookies.

DEFAULT

NULL

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

As long as HTTP is supported

RETURN VALUE

Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_COOKIE, CURLOPT_COOKIEJAR

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLENGINE.pdf0000644000175000017500000000756212652070445016321 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Vmo£Fþί© '{³Ë;mUÉ—Ö ®¯’Ê"°Žið¾(ý ÷Wú;»€ß’»Ê’W0»3Ï<óÌ,Ÿ€Tüº5}R.f<Ö …G哤º%}‚÷1npÅ‹x¥´g8:8žA\â'ŶˆnCü¬Ü©—‹YMãå|øá/ãпW{ Ò]µYò¤~YÖ¼)·6Ô-J(uT|ÈË¢†·jÆ”!%:Ã@)âðñ,ÅÀ¢†#í{„ŽVfË3^œ)êÄ×⿎€ë”˜Ô!Ó…™ ´¯Á¿€øŸyÁ!ÏxÑä_xÕz; ?ÄøCfW†›ß†Ñt>žŸ•[d@õ»¼H7»ŒÃO‚‹ ñGÖ?‹íº)ó`Ò7œsu/MðnÙ†^35€tTð.ÏŒoÀ¼òç—³ñ4G¡Ì2«%ö ÈÓDì‘ÔzĵZb±Ô“ìÕ5$°-ó¢á4%>üëðé)/’†gP7U^f޹žköipøû„xf›y^gæ/ûs.±Ã9"1Ó ŽC¡˜ QŽWÇIe\Ó­ðç<Å×IQ”àdS&ÏïŌѾ—-ƒÐ.BÛ¹¾Õ²UÕ2Œ4Ã#ž§;j|-«îü~X&1úŒó*Þ쪂gäVAà†s¢ÃëŽËt[)™½F‹6_‘M×ÙºZkïY: Œ:Žc˜{ù†‹ øŸ®Î:¦ávÕÐmm2ÎP'Ôj¥ÅícêXj÷‰_FÁYÓ#lq˜§³f„òŒƒ9<$B ÛªlÊ´ÜÔ?À¯q<àZþ'#±L£©Ë|‚/7é[”çáÿ1šL¿W–ûÕ–Ži0CH°Mâ*êø¶\÷ÕœšžØ¹&Êb¶9}„ÑJl‹uÜ©ã`ô~ŒãÛSn°†éžwêøAc¨5×dê.ß4’)^$!§Vv_KþNùñbÂG&ñl¦Ž‚…&ÖèEGÙ ü3©Øöîñ—Ñ ä+Å\ï¶Û²Â!6謋ð&”,ÔÂ&ìÆtÖ’ñ{¸Œä`^°ñPÊi7ìô5è¢-âet½œø“hÖνnЏDß÷ämŽ-MÕU#³iif„1ÚÑÜñ·æÇq%›ÕvUœ~yQïVšn¶íû%Íqš'[¨·IÊßâ”9XëøJó}óè ½31½ºˆ–GmÝJ ûÖ8íiŒ§wòópÀ}«¥qЛ‡Ù(¿§`«m÷dã¹ñÏ„‡ß*†õÊÖo @=y¸HÊ7ùƒ¸€ÁÁE¨6d–å™ÄR™vè”™’> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:29+01:00 2016-01-27T08:26:29+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001457 00000 n 0000003347 00000 n 0000001398 00000 n 0000001238 00000 n 0000000015 00000 n 0000001218 00000 n 0000001522 00000 n 0000001776 00000 n 0000001711 00000 n 0000001643 00000 n 0000001563 00000 n 0000001593 00000 n 0000001858 00000 n 0000001924 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3501 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FORBID_REUSE.30000644000175000017500000000374712626067776016312 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FORBID_REUSE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FORBID_REUSE \- make connection get closed at once after use .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FORBID_REUSE, long close); .SH DESCRIPTION Pass a long. Set \fIclose\fP to 1 to make libcurl explicitly close the connection when done with the transfer. Normally, libcurl keeps all connections alive when done with one transfer in case a succeeding one follows that can re-use them. This option should be used with caution and only if you understand what it does as it can seriously impact performance. Set to 0 to have libcurl keep the connection open for possible later re-use (default behavior). .SH DEFAULT 0 .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_FRESH_CONNECT "(3), " CURLOPT_MAXCONNECTS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_MAIL_AUTH.30000644000175000017500000000473112626067776015737 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAIL_AUTH 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAIL_AUTH \- SMTP authentication address .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAIL_AUTH, char *auth); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. This will be used to specify the authentication address (identity) of a submitted message that is being relayed to another server. This optional parameter allows co-operating agents in a trusted environment to communicate the authentication of individual messages and should only be used by the application program, using libcurl, if the application is itself a mail server acting in such an environment. If the application is operating as such and the AUTH address is not known or is invalid, then an empty string should be used for this parameter. Unlike \fICURLOPT_MAIL_FROM(3)\fP and \fICURLOPT_MAIL_RCPT(3)\fP, the address should not be specified within a pair of angled brackets (<>). However, if an empty string is used then a pair of brackets will be sent by libcurl as required by RFC2554. .SH DEFAULT NULL .SH PROTOCOLS SMTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.25.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_MAIL_FROM "(3), " CURLOPT_MAIL_RCPT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PORT.30000644000175000017500000000376212626067776015163 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_PORT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_PORT \- set remote port number to work with .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PORT, long number); .SH DESCRIPTION This option sets \fInumber\fP to be the remote port number to connect to, instead of the one specified in the URL or the default port for the used protocol. Usually, you just let the URL decide which port to use but this allows the application to override that. While this option accepts a 'long', a port number is usually a 16 bit number and therefore using a port number over 65535 will cause a run-time error. .SH DEFAULT By default this is 0 which makes it not used. .SH PROTOCOLS Used for all protocols that speak to a port number. .SH EXAMPLE TODO .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_STDERR "(3), " CURLOPT_DEBUGFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.30000644000175000017500000000336212626067776016172 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_KEYDATA 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_KEYDATA \- pointer to pass to the SSH key callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_KEYDATA, void *pointer); .SH DESCRIPTION Pass a void * as parameter. This \fIpointer\fP will be passed along verbatim to the callback set with \fICURLOPT_SSH_KEYFUNCTION(3)\fP. .SH DEFAULT NULL .SH PROTOCOLS SFTP and SCP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.6 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SSH_KEYDATA "(3), " CURLOPT_SSH_KNOWNHOSTS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_NOSIGNAL.pdf0000644000175000017500000001064212652070437016176 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…WínÛ6ýï§ °“ ›II”°a@šf«[×É¥E‘ #Ñ‘Yr%º™jï¸ËI¶‡u&uyxî¹ç^}E>&È×î3ÛL^_sôÔM|ô4ù:!f¹lƒÞ¤°!Ö?¤ë‰}† NOŽ”n&Þùíõòò*}X]Þ,~[MÓ?'1ÇIìëÝi>‰bœ„(}™ÜygË{ÝOQ¶k«)ºýC'U³UÓ9 }¾”MÝ¡“x¤ï', ±Ïl¼>Š>hîcJE iNZOæAÀ0œ?g‘ybu¦7ûz q˜ô‘>^èßÇûQ>GsBõ²oAŸÀaNÊúuÏ剪B]ùT‹ ¢Î«²~2 !”9‰pl¾ù²º¼ºYÜo¶˜£½Ê:«v¹D?k®^ë¸øEo§J—“ô•–5°ç”Î{³„^4rvJ( ü UMý„šºYO)K‚È[ßOú?äo/nίWéârõŸàk»D|·–`QP‹aýÎ3‡’Ø[»Ãú)ȆÆv(2ðÊ€[>ê{¢—è®…vD¢6”àHo…äú3t¼ýzÌ:\†õ‘½]Y¥©B(TÖ:M¡l;Ô´ᩉ˜ÿ~ÄM îãc2¡ÛC:£]¼32ÐF°qó jÐ#l•µBðUmÛ&“]‡QZ¶P|+d+õÀßè˜ ‡:F6¡$À1HÙB}ÙŒPc½ÅaÕGÆk¥Ê¹*Z)r™£]]þ…Äv[•™pWhP§4ó °×†ùª2— Œaƃ£šñT¹‘ÍN¡¾¢¥Êf8UèÛª¤÷$•ÒŸŽl bB, Å.~tW8’B(D4É=N„Ô@]ó1Ä2¹++e6,Bžë\´9ªÅF¢VvMõMŸJX„i:²dë’N “³ Þ-ÎÔÀ$ÿ‹âžb{ãn”g“JôR”•´Ù&ûIpíÄÊ[#;ÄŒGÁp+°¾¤G¦Ú/ˆg½`Æ’8è«Lvh[‰Lâé<òaͧÞ9$£Ìe ”‘jÇš¡\ga,/GV6HWÁ P-#ƒŠà^Æ+uh‘=Ouð|FÖ¹ÖŽydÎ8Å$HNìUÖâ±=uû:+Z°†]‡Þ®nÀžšçݶ›ié¹=ª'y ¨)#¡¾m/0^K´YÚÒ¼«8Ë71Š9Io:ñJ I#Q4ôœcÃ"„õı½ %h#(ènW—æy0‘Xç0 qŸÀTŒ™…þÂúÞéuÏV¹ûNɦ.Ô@͸«ÅÕEÁ™­Å0 ãž_c…¨0+P‘Ú—Roëìåqþ¥€jRí^ëAí…»W0šp "öÑ3gÚÜ'‰¢ž¸f87ÁC«M¸kµ¹ÎáÆø¬<ºH+Zø@¿ƒrÄÿW7Jzµ2PÌy4Àæ¢ÑØÎxBXàD}]Q>0và~`ö;oš¡‘¶NLÖ´5ØQ&:m FÙÅ€:°Qælhç=R·6æŒwóÄÞõÀZ£¬mÍAsµÐ±è‚ÀîΚZµ¢Ýk•5Ð rÙ•­ÄhQ#‘ç¥îj3°)íGÇÃØ Ž~hHgÓDäsæÝ¦ïVéòãÃç7§^ä8â)0[Ð;¸v­\#VvUîf¡+áüÝò­5N ‘÷q7Ùy¤`9¶h¿3þê²Æå@þ ú²9»5«D߯e’F¬o¢ËtÈÁx1- Î9Z§ç»aÿ{ô?D£Ï±Ù8û„Æw€…¤âbyöf±\¤_ŽçY@³^|LÈYž[§ã0å}Ÿ‰;ïú"½½^¡OS¢ß"Mäöâ$kãÔ û¥Úµîýçâáò*×ÖQÇh·Ý‚;Ê|f*Ôn¼]}€ÆæóêáÒ æúAA°k»p„žZͽùÂTm:'0]8ô àÞïjDÁÜmŠúw$¢¯y‘N~‡¿|,Î endstream endobj 6 0 obj 1700 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:23+01:00 2016-01-27T08:26:23+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002024 00000 n 0000003907 00000 n 0000001965 00000 n 0000001805 00000 n 0000000015 00000 n 0000001785 00000 n 0000002089 00000 n 0000002343 00000 n 0000002278 00000 n 0000002210 00000 n 0000002130 00000 n 0000002160 00000 n 0000002425 00000 n 0000002484 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<3E7D6F3F3AAFEF191C3D7C85C32D6BEA><3E7D6F3F3AAFEF191C3D7C85C32D6BEA>] >> startxref 4061 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.pdf0000644000175000017500000000773312652070441017047 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥VÛnÛF}×W,Ї’µær¹K.ZPlQ"‹ªD%1ìB )Êb+“ IÁq¿¡¿Òìì./’"Çi ºíeÎ93s†Ÿ‘… ²ä«þŒzçSÝ—= Ý÷>÷ˆZDõGü€^‡°Á“„«ž>Ck#WPì >ôŒ‹ùtLÂÅdj†¿÷úvP÷¸©'<Ø.{FðI®Yr8Ø¢íÂõ|æOÇr‘ Ì™þ—,8 {7ÆàÊ¿5è­‰â]±Y$Qù´(“*ßVfßf–_Ò<+цßÂw-›;˜²0Ü4 (kÃ5·ØDÈýçS`Á¤ }*츨O¹ºw<èîe˜ ZÇ»òåÿz6€²à±Õòÿ‘ÍÒâàF£]™(‹TåòZåÚù—'íªu’UiIÁ½CR„ØØ¡€ŽcOÅž]ƒÉl8;$œ?¤Y¼Ù-ô³Ì͹|Ãë_äv¨Œ4Ã8‡ ǹ»UKèÕ:Ê–›äl?{?v¹s ùw¹;Óy#‚aµ@ãuT WR©Í­ù“¦tÀÞ"{Ô/ýÙÅt8 ‡Á¸Î aº NÈ0‰ZhBFÕ Â”{2IFY¢i(*Ñ6*C•J'ìÉ]pcîY ٳǎ¬™çŠzaÆkT®óÝf‰î´ÍSÈhv/³ ÙE&|IЇ4‹ªdyºäƪˆ²²¯¨"0!^ÃæÆX4Æ ¼W"’°q2GœcA„8™$~”!$<æ¶X§¨+°K,["˜­^R• ò—;õ{‰ÒLVw•Çùæ¨ÀÑcZ­åAM’lÓŽ£j ¼AÛ­©%• ‚•óaŽJ`ªÙpì4Þ6‰ÓÕ“¦Ûk•å£)ä…Ü3òB‰¯âk–Äj,”zØ­¥yÎ,?)ªmªt˜Â–åRc0›}4m†-âp#˜^ž˜»˜t×â¯{€R¨GzÐoj\ÌQÚ€ƒ â4e:˜kq%„ÚülNk¡ŒQØâî0ÈNr]—:m÷Üm¢ìXøŽNêÕÅes·.•¾-&TÊ‚mP›b×â_£##Ü€tH®ò²zˆÿip5ù'xÏzBØá Tš‡FqÔŠ1Ïûz¬8Bîl£IaÅkðu#rÀ©ÉÃÑàõp4 ¯ÉA*¨ãµ]mék–KÝ3PêÛ\oŒ©ΧcôÁ$…c0šûG5ÕQæíÄž&Õ®¨G²¿Þ£t¥Ej”–¨Üm·yuVošßS†–m|/å½òd–Wg(/T\©+pñ<\oWþU  |R©M< Ó§éÔ” «J×ò°»Æfên^'E‚ºî—N³r·2íÚ þŠSp´N¢-*·QœàSóÓeòQco~ú>ŒfA§óQ‘<Óýße©Ó…1HdVd댦õ»žB‰Æp”/œ"²ÁÜ„#š«TiK À´.&’:ùÞ{Ûk߆á¤1ÉʃIÙM>m)M߈î11|{Tàðƾ¼ïÌLü±¡ïÈ¡Þz4@]Ð|¿-ÞTÒËõÕ Ü ,–Zó½ ܤwò :“ºØ2aƒgLfÀÓç»]†lH®’ßi Mµ¯ö~…×?Äàfendstream endobj 6 0 obj 1238 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:25+01:00 2016-01-27T08:26:25+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001562 00000 n 0000003452 00000 n 0000001503 00000 n 0000001343 00000 n 0000000015 00000 n 0000001323 00000 n 0000001627 00000 n 0000001881 00000 n 0000001816 00000 n 0000001748 00000 n 0000001668 00000 n 0000001698 00000 n 0000001963 00000 n 0000002029 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<80A147F28DA983BF8ACDCDE922A1DC78><80A147F28DA983BF8ACDCDE922A1DC78>] >> startxref 3606 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.pdf0000644000175000017500000000730112652070431016561 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ}UÛnÛF}çW Ò‡’†µá^xC‹ŠMJhQ•¨¸FT4IYl%R!©í7ôWú]®nްLípΙ9gf?ƒM(Øò£¿³­ñvêÁskØðl|6¨:ý•má]‚¾ü!Yý;<^À‰@²5Ì›ù4Š'Éò.™,‡Vò‡áÄ¥6ÃÐ$7D@ÉWã“ysÏÇÉÂä ²}³Yiûײ-ºz×Y†‘AÀM|(명˴¿'ï Îâê´çÉ$æÀ&Œ"Ÿ éH—Žd<Ô!ŒÃ€»ê­±"hË8Z” ¸ÔFóP{æÛ’] é‡`ZtûF¯íp€r¥LدsåèýnW7tz4Ç–„ lf>Œ—±Ú òͪn®DŠúkÏ“e|·¼ïã©õãa2(õq+à±´˜c›«~bûöQBW’ÛuÑ ¦3`®oâ`–U»_YLô;ñŸ¬”3¸.Ò´»4+^êaÏóm†0Œfñ©Ï—;]#óY8[ToàáýË.S‰r˜9uÑ]_&EL×=uÊ;±<.¯&ag³ ³ØT¸f<½} `ä0Ng†ï3Üïx·Ï½)ŸäÅ‚âzh@—‘câ•û~_C•\'ÊTabüŠŸÿûŠ˜endstream endobj 6 0 obj 1055 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:17+01:00 2016-01-27T08:26:17+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001379 00000 n 0000003190 00000 n 0000001320 00000 n 0000001160 00000 n 0000000015 00000 n 0000001140 00000 n 0000001444 00000 n 0000001619 00000 n 0000001554 00000 n 0000001485 00000 n 0000001515 00000 n 0000001701 00000 n 0000001767 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<7609CC408CAE83400169F2C1400B7A3B><7609CC408CAE83400169F2C1400B7A3B>] >> startxref 3344 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXY.html0000644000175000017500000001133112652070415016070 00000000000000 CURLOPT_PROXY man page

NAME

CURLOPT_PROXY - set proxy to use

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY, char *proxy);

DESCRIPTION

Set the proxy to use for the upcoming request. The parameter should be a char * to a zero terminated string holding the host name or dotted numerical IP address. A numerical IPv6 address must be written within [brackets].

To specify port number in this string, append :[port] to the end of the host name. The proxy's port number may optionally be specified with the separate option CURLOPT_PROXYPORT. If not specified, libcurl will default to using port 1080 for proxies.

The proxy string may be prefixed with [scheme]:// to specify which kind of proxy is used. Use socks4://, socks4a://, socks5:// or socks5h:// (the last one to enable socks5 and asking the proxy to do the resolving, also known as CURLPROXY_SOCKS5_HOSTNAME type) to request the specific SOCKS version to be used. No protocol specified, http:// and all others will be treated as HTTP proxies.

Without a scheme prefix, CURLOPT_PROXYTYPE can be used to specify which kind of proxy the string identifies.

When you tell the library to use a HTTP proxy, libcurl will transparently convert operations to HTTP even if you specify an FTP URL etc. This may have an impact on what other features of the library you can use, such as CURLOPT_QUOTE and similar FTP specifics that don't work unless you tunnel through the HTTP proxy. Such tunneling is activated with CURLOPT_HTTPPROXYTUNNEL.

libcurl respects the environment variables http_proxy, ftp_proxy, all_proxy etc, if any of those are set. The CURLOPT_PROXY option does however override any possibly set environment variables.

Setting the proxy string to "" (an empty string) will explicitly disable the use of a proxy, even if there is an environment variable set for it.

A proxy host string can also include protocol scheme (http://) and embedded user + password.

DEFAULT

Default is NULL, meaning no proxy is used.

When you set a host name to use, do not assume that there's any particular single port number used widely for proxies. Specify it!

PROTOCOLS

All except file://. Note that some protocols don't do very well over proxy.

EXAMPLE

TODO

AVAILABILITY

Since 7.14.1 the proxy environment variable names can include the protocol scheme.

Since 7.21.7 the proxy string supports the socks protocols as "schemes".

RETURN VALUE

Returns CURLE_OK if proxies are supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_PROXYPORT, CURLOPT_HTTPPROXYTUNNEL, CURLOPT_PROXYTYPE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.pdf0000644000175000017500000000710612652070442017422 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UíŽÚFý笠Rÿ˜h™x<3þP«J„¸‰ƒ‰=le+ÄšaqklÖÙæ¡ú޼ÀF+æúÞsî¹÷ø,„ÁR¯þšî·± µaÁƒñh`}ý%ÝÃ;.<õßÝ=\\Ÿ Ͼ7Ìé2£_Å#þ·ÁäKòa3d˘'ã›É“Åj΂9_M“àóIîF¶U¾ëúǪMyhFc›Y¦ü’•E CÞ¿øƒ`ŒˆÛå}1›ª>¶eÅT‚ö%hä3…{L䇾w>Q‘–  1Ÿô9?êÿ¬m!j¹0ƶ:¶:&æ#ß·ÝK(ðH.ÐìœÅ@šg¢h@Çíþ^TšÖ%NYÏAž”|G‹d–œÃÒ!’ùKV¤y»ð›jä[õv¿«p› þ¦œ–2æ²×wúÞìÖÅ&7ϺíX—¤n /‹Hkñx7úõ5ÜïƒdÏ|Í{M0ë$yÃb}RÃGë´À;]¿ëÖ]ñ¦<5V½ŸõQeuÝ Ø–•>,ÄHJkY.1ÿmzÃÐRäbßïºìD‘ ɾ١nZÎÄqrè™@ôÂ0ê©”rÔ}Lû¥5'K}ŠUû-±Óê…ü„dTiìº.¡']­p<’EÜC ÄëYÙŽÛÓÛÈbÚ8̈Ct*häZÎqa§Q˜ôIœ 8ùÌ€&@caïhPf²¸ÆI½.bü9ù´ƒã4{?f>`ÅD}Wå}Ôw”yÞµ9Q_Ežª©ÆSÍ}r ƒWI†ó0 'ïfáŒ=7)¡²Æó¡5'›ØÈÉ$¯óÍŒ¾Œçp;ÂD ƒÍI¸ ú¿¦,ãEÓV½]«èãq£:—Ëu{8ÈÙ›fÓ.ççш0óË|i³P7eƒ^õÅ €I˜D‘KHƒ—µùkCKéÒ0uÌÛ ÖÎvÁ ËÇ—}\-ýT¹9¯"A8ŽÕ«pU¨³˜U,ó꟒Ý2Høe‚‘K¯ŠŒ •û0¦CN—?Ïî•oKåˆ+•cÆ|Š˜)ŸqÚlÉE'§§¥À*UÀÏòõ?àú’endstream endobj 6 0 obj 940 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:26+01:00 2016-01-27T08:26:26+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001263 00000 n 0000003067 00000 n 0000001204 00000 n 0000001044 00000 n 0000000015 00000 n 0000001025 00000 n 0000001328 00000 n 0000001503 00000 n 0000001438 00000 n 0000001369 00000 n 0000001399 00000 n 0000001585 00000 n 0000001644 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<37217EAE6366C43F4364F5B5A8784CF6><37217EAE6366C43F4364F5B5A8784CF6>] >> startxref 3221 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_RESUME_FROM.pdf0000644000175000017500000001047312652070442016605 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•WmsÚFþί¸I?Dxà|§wõm†$8%ņ‚œ6 F†Ã(A§:´ÓпÒÿØÝ; Hâv»{þ@å„áOù¹Ø´.'¹Ï[ŒÜ·>´¸:$åÇbCž…`àã᪥ïpâ™Ä ,ê$Ü´Œç·“áhÎ'ýéíu~5i‡ïÀ‘G¬ÃeËv©I‡Ö[ct=3¬Y›,Š]2Q¾ŸçBf[ÙŒyügiNÎþ¾jY–IM_{­œa´.£&4 X x»¶ éZ®ºqÓCc†vÜ¡N`•ž®ûø}§É¨Í<Òå&3ý‘Íù‡@$"Û,N%‘Ù‰¼Ø"wQš¯ÄެvÙF¡?ƘºÜ¥¾B0}s3OÓcÊDa0¾ŠÓER,ù¹»Ä_tý=š›6 ‡­ðB#\d`sJïL‘‹u”.Ñù¹¶bß‚|:$ÉÒ{zÖþæ1Ü/úÓç“Á8ŒnÊ:pG—á9Œ£ýõKq0êØ2lä9°¨‚G9ÙF»h#¤Øá‹2[¹õXA)€·´-fSÇ TW6 ¼a“¥2ŠAPr-H¶j›6 Ó3VX´8%i±¹ƒe+r·—Í"IöYAÚ9 |#²®…ç2ÚIEU‘»œûí ʸ§’š ¼çD ï2üµ‰Þ«âQ 5AB_iA Ù`ʳ<Ϋtš8j ßhsÈÎwlã>NÓˆœb¥ðqǦ®[¹_‰…ŒêÅ=åùï¢Þôß®jŸ¯»!Ù“eœGw †ÑŠŸµ)¹jCc18F¶#WáXÇ$}j E'?Dî˜çó£ì»6ÔÊókJWMã„Î.oð JA+ÀíRËbüœO¨ªéW¾À¦H—¨ UøH©;>õ¸{­Ëœ{¨ð߉®‹\¬ŠÑ,@uqZ¥ 2Pñ®ØJ±Ti™®C-ó—Ql“,Zy*àw•ÛŸ×"%Ë éÕ9yˆåZ‘úòtÐÒ1Ð]Q*”ú¶ËÊŠ¢[­GH§œOÛ,‡ÀæÃZ춦›d‹(¹Ì³b·*³$¾Ã‰BòuV$K`l9ª\¸uT"-jþ+\“ ³‡Ä’H:äÉJn¿¾¼ÔÒÇåþ1Úl¡ÙæIµÚõãÁ¸¼¨š¦ìXX‚¸a$,„®Ø‚Vô+²>š5Yx®¿eŒ\\–³Q+øï˜#تø1V`f”¿'+Ø-%Nˆõ´¤ Á£¼Œ‡£¶U.ÉÞ‹áÃc&Ð DÁÇÌd”e$#m²B¿íLããö'†V›U×ê±Èƒ›+Ñtðk¿Còø1ÏVsfýi£ c±ƒì6åüPˆ\6sl„ÙjËJ!è¦{PˆñW9(ß?7û‡‰­„Ù{Mêç1Ì×áµü{ÏÃAøæXÚ +ËöëMÖKª7…~9TJy¨ß}œ7ÛjŸŸw•ãQ-Ë­2釷“òº;'p¹ÑÞöO¦nã­9²Ø•ÿGô磙rÓ~Ÿô†ÓQmvìïS+ÀªWÀ î™Ô®¦—ZcÇ×­i8¸îݼ<™ûß^j¥T ¸çÖ™;øÉ,_®uu®ÕÂ÷¨åQÖîrÇ ð™ OÕWE =Ém•±}ñ]õÃÖOðó/8vÁCendstream endobj 6 0 obj 1590 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:26+01:00 2016-01-27T08:26:26+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001914 00000 n 0000003804 00000 n 0000001855 00000 n 0000001695 00000 n 0000000015 00000 n 0000001675 00000 n 0000001979 00000 n 0000002233 00000 n 0000002168 00000 n 0000002100 00000 n 0000002020 00000 n 0000002050 00000 n 0000002315 00000 n 0000002381 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<7815CF470ADF6193037F8552B709E246><7815CF470ADF6193037F8552B709E246>] >> startxref 3958 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SASL_IR.30000644000175000017500000000406012626067776015523 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SASL_IR 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SASL_IR \- enable sending initial response in first packet .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SASL_IR, long enable); .SH DESCRIPTION Pass a long. If the value is 1, curl will send the initial response to the server in the first authentication packet in order to reduce the number of ping pong requests. Only applicable to the following supporting SASL authentication mechanisms: * Login * Plain * GSSAPI * NTLM * OAuth 2.0 Note: Whilst IMAP supports this option there is no need to explicitly set it, as libcurl can determine the feature itself when the server supports the SASL-IR CAPABILITY. .SH DEFAULT 0 .SH PROTOCOLS IMAP, POP3 and SMTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.31.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_MAIL_AUTH "(3), " CURLOPT_MAIL_FROM "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.30000644000175000017500000000402512626067776017460 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAX_SEND_SPEED_LARGE \- rate limit data upload speed .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAX_SEND_SPEED_LARGE, curl_off_t maxspeed); .SH DESCRIPTION Pass a curl_off_t as parameter with the \fImaxspeed\fP. If an upload exceeds this speed (counted in bytes per second) on cumulative average during the transfer, the transfer will pause to keep the average rate less than or equal to the parameter value. Defaults to unlimited speed. This option doesn't affect transfer speeds done with FILE:// URLs. .SH DEFAULT 0, disabled .SH PROTOCOLS All except file:// .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.15.5 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_MAX_RECV_SPEED_LARGE "(3), " CURLOPT_LOW_SPEED_LIMIT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.pdf0000644000175000017500000000711612652070445017246 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…UÚFýߟb¤þc"ØÛ^{W­*qW%qlKÚè¨ßᆳ 6:õCõ;f×^Lðµ9!ðÎμyóæù+`D›ýÝ<97³+ãóÕ!Í!ØŸÍÜ* Ìõà´wÉ ž÷n1‹’©ZÍçÑ*ŒêoGpøRêXµuh€hêÙ¹wÇ·Q¸GÓxé²å6§ã~•¥Õ?«*«ËC=QŽ&ÜÕò²¨ —ú/õÎa„!ÆÛÔ½„¦ô#J4®†-5l$¹A>bR"BaÄüæb<6ÁØÄޏd6á‡Ð<¿tL1òp#}Uã¶*ÆÆ»€!+Òõ>ó¯AÝãëŒ>MÉùç8™Î'óëÂMHSÔý)/6ûÓ6ƒ_ a7æ í~5áÔ9êM iSê˜>§ËæÞìÒb»Ï†}F vâùìCØ—Å#‡b9øù5èoÃùÝl2U“$¶ÜÞRÿmLÓŽr‰„ ¹! «nUAÚÖN+8¤Çô)«³cÓ%òy3Q!÷|ÒÞ¼w‡¸PŸ#‰™{$Ï Ø&=ÈÜÊÏÝeÇLk6¯à¡<ž£ÙÐÇæÁ6¯Ìj§CZáÙ¨êÆVí M‹„ Ú)5øóê]šW0\W»ô‹o4xŠgPÙÒ½PkŒPyn+è­ÓÍ—DRpÆÝLCÞçk3`ÓÌz@Í®Ä=åûêNUÕép(uy½ áy—ov°I Xgæ|kâŠÌ.Aœ 豬ó´Îš=ì¡@tƒÛÕõ¢Vž?ÂoVܦ+NœuѲg6Å.õY`O#Õ‘q‘ŽQSÌ»Ú>— ít¶¯ šÎ, 5€ˆ§KjçjJŽ(ÂVx‰‚¤+O °vƒ»$ê­¥î@jH&÷w¥¦¯ ÿ˜FáyCÄÿnˆºàÐ&GÎ&÷6±Üq!^›'MdWÍPì5}?ÁÅäô4|Nlóî$ßN¢‰ú|Ýœ 󄏿{¼ÝjÙhuˆùÿ¸×{wªÅ,†OÂ<$}⎣Eh}äeË:>«OGëôá*yVþvµÐ­¤³í°ÙÚ6p¿í^îñ*i È\,ʽj·a¨·yž\éCêY¤Y³ÎÞãÎÏ;Ò¼ïFÕ¼††×©ueßÇgê¿OÞï)ŒP‚|ù"߈‘é93ýÞõ[œg3Ѓў4Î¥‡¸«_ïNPmì V¯Ó31™Bå|ÔŸoV þ endstream endobj 6 0 obj 948 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:29+01:00 2016-01-27T08:26:29+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001271 00000 n 0000003075 00000 n 0000001212 00000 n 0000001052 00000 n 0000000015 00000 n 0000001033 00000 n 0000001336 00000 n 0000001511 00000 n 0000001446 00000 n 0000001377 00000 n 0000001407 00000 n 0000001593 00000 n 0000001652 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<3D404E2DB2C1F123BE7EBBD316303978><3D404E2DB2C1F123BE7EBBD316303978>] >> startxref 3229 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPHEADER.30000644000175000017500000001113712626067776016022 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_HTTPHEADER 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_HTTPHEADER \- set custom HTTP headers .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPHEADER, struct curl_slist *headers); .SH DESCRIPTION Pass a pointer to a linked list of HTTP headers to pass to the server and/or proxy in your HTTP request. The same list can be used for both host and proxy requests! The linked list should be a fully valid list of \fBstruct curl_slist\fP structs properly filled in. Use \fIcurl_slist_append(3)\fP to create the list and \fIcurl_slist_free_all(3)\fP to clean up an entire list. If you add a header that is otherwise generated and used by libcurl internally, your added one will be used instead. If you add a header with no content as in 'Accept:' (no data on the right side of the colon), the internally used header will get disabled. With this option you can add new headers, replace internal headers and remove internal headers. To add a header with no content (nothing to the right side of the colon), use the form 'MyHeader;' (note the ending semicolon). The headers included in the linked list \fBmust not\fP be CRLF-terminated, because libcurl adds CRLF after each header item. Failure to comply with this will result in strange bugs because the server will most likely ignore part of the headers you specified. The first line in a request (containing the method, usually a GET or POST) is not a header and cannot be replaced using this option. Only the lines following the request-line are headers. Adding this method line in this list of headers will only cause your request to send an invalid header. Use \fICURLOPT_CUSTOMREQUEST(3)\fP to change the method. When this option is passed to \fIcurl_easy_setopt(3)\fP, libcurl will not copy the entire list so you \fBmust\fP keep it around until you no longer use this \fIhandle\fP for a transfer before you call \fIcurl_slist_free_all(3)\fP on the list. Pass a NULL to this option to reset back to no custom headers. The most commonly replaced headers have "shortcuts" in the options \fICURLOPT_COOKIE(3)\fP, \fICURLOPT_USERAGENT(3)\fP and \fICURLOPT_REFERER(3)\fP. We recommend using those. There's an alternative option that sets or replaces headers only for requests that are sent with CONNECT to a proxy: \fICURLOPT_PROXYHEADER(3)\fP. Use \fICURLOPT_HEADEROPT(3)\fP to control the behavior. .SH SECURITY CONCERNS By default, this option makes libcurl send the given headers in all HTTP requests done by this handle. You should therefore use this option with caution if you for example connect to the remote site using a proxy and a CONNECT request, you should to consider if that proxy is supposed to also get the headers. They may be private or otherwise sensitive to leak. Use \fICURLOPT_HEADEROPT(3)\fP to make the headers only get sent to where you intend them to get sent. .SH DEFAULT NULL .SH PROTOCOLS HTTP .SH EXAMPLE .nf CURL *curl = curl_easy_init(); struct curl_slist *list = NULL; if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); list = curl_slist_append(list, "Shoesize: 10"); list = curl_slist_append(list, "Accept:"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list); curl_easy_perform(curl); curl_slist_free_all(list); /* free the list again */ } .fi .SH AVAILABILITY As long as HTTP is enabled .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_CUSTOMREQUEST "(3), " CURLOPT_HEADEROPT "(3), " .BR CURLOPT_PROXYHEADER "(3), " CURLOPT_HEADER "(3)" curl-7.47.0/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.30000644000175000017500000000511012626067776016737 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_INFILESIZE_LARGE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_INFILESIZE_LARGE \- set size of the input file to send off .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INFILESIZE_LARGE, curl_off_t filesize); .SH DESCRIPTION When uploading a file to a remote site, \fIfilesize\fP should be used to tell libcurl what the expected size of the input file is. This value must be passed as a \fBcurl_off_t\fP. For uploading using SCP, this option or \fICURLOPT_INFILESIZE(3)\fP is mandatory. To unset this value again, set it to -1. When sending emails using SMTP, this command can be used to specify the optional SIZE parameter for the MAIL FROM command. This option does not limit how much data libcurl will actually send, as that is controlled entirely by what the read callback returns, but telling one value and sending a different amount may lead to errors. .SH DEFAULT Unset .SH PROTOCOLS Many .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_off_t uploadsize = FILE_SIZE; curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/destination.tar.gz"); curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, uploadsize); curl_easy_perform(curl); } .fi .SH AVAILABILITY SMTP support added in 7.23.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_INFILESIZE "(3), " CURLOPT_UPLOAD "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_DEBUGDATA.html0000644000175000017500000000432312652070414016431 00000000000000 CURLOPT_DEBUGDATA man page

NAME

CURLOPT_DEBUGDATA - custom pointer for debug callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEBUGDATA, void *pointer);

DESCRIPTION

Pass a pointer to whatever you want passed in to your CURLOPT_DEBUGFUNCTION in the last void * argument. This pointer is not used by libcurl, it is only passed to the callback.

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

http://curl.haxx.se/libcurl/c/debug.html

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_STDERR, CURLOPT_DEBUGFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_MAXREDIRS.30000644000175000017500000000442612626067776015733 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAXREDIRS 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAXREDIRS \- maximum number of redirects allowed .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXREDIRS, long amount); .SH DESCRIPTION Pass a long. The set number will be the redirection limit \fIamount\fP. If that many redirections have been followed, the next redirect will cause an error (\fICURLE_TOO_MANY_REDIRECTS\fP). This option only makes sense if the \fICURLOPT_FOLLOWLOCATION(3)\fP is used at the same time. Setting the limit to 0 will make libcurl refuse any redirect. Set it to -1 for an infinite number of redirects. .SH DEFAULT -1, unlimited .SH PROTOCOLS HTTP(S) .SH EXAMPLE .nf curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/"); /* enable redirect following */ curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); /* allow three redirects */ curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 3L); /* Perform the request */ curl_easy_perform(curl); } .fi .SH AVAILABILITY Along with HTTP .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_FOLLOWLOCATION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.pdf0000644000175000017500000000765512652070431017010 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VkoâFýί©bWav~ªU%’xUv P㬺Z*ä˜!¸5vÖ¥ü¨þÇÞC²Z!aÆwÎ9÷Ü3ùЦˆÈ—þL£w¡‹žªAO£¯#ª‘þHè&‚ žü!ÚÚg(rr}Ž=E‡w0wPt}1nÂÙbmÞ‡Áê÷Ííb>n£µÁ×&Jš2Ûˆ¸:m*Qϵ9f6Á„¸ü‘y…¾ÿ°ùWôa4&˜Q80<>àÁ¾-!É£g#c>1¯€¬RÛ>˜ÑvdÜfô÷€#Ø".S&—‰Dý6hôÚe"PŒr!k0l«êÇ.ÕÕ‰\iOµ0uÓ Ež‹D²Buj*±m  %{ê±Õçùb¹š®^b†¯ñSš'Y³èW)ç;ù†÷¿)x–’ArI Øp)÷Z-¡Ÿ÷q¾ÍÄõÛbƒ„š&§.¶=Íæ:ëiºØõñzšOhWŠj¿6yM;+ì½»`uN—Ñt1—»¡¡ÔnûùÕeÜêcÏnO p_5­ª 3Àh%j)3•o‡øŸ¶Y.÷T[Ôwnõ ¦o»=—õZï…ì7xˆfÿBå2Ϋ(e[3H3öø H熵q¶ÇÌs}½¢5BÉÙ'í¯4¯joQ±ƒ£N)( 4J1V 1ΰÏüޯزX‹S¡É@µ°ïÙ5­jùt‘ lŽm üèS#Ú§j Uû¢É¶Ñ1­÷(‰µ®€'³JwèT4¨É·¢¬jùóq×(­Ñ¶ y_•ÑLOÐ!>¡J”iÑT²Äá9Njô,J`xˆó]iƒ‚9¸z$Y\Š]“+Aâ,­áÑ v¾ )Ñ~ð=ì -cïÙEx3½Û„ÁÃ*hóáżP$êù]k¥~J²ã>MöÊ!Ð|Ÿ9ž„ª¦¨†®z’%Y!5Šwµ(ÛôaÜÂ8mª ´MJ`*®´G”»]މ¶ï£~4™%ç†.¬ì±dÛIDz=Xõ2&BJ'Ó¡µï@°)óíŠïJ“»@j¯ BOÎ@·Í{é±}üb¹‹y'YÛ¢oeÃ|³¿µ%Ÿ>Ê”Aq]‹Ãs-MÛTÒ‚½/}æö¾è»6¶b'›àÙÜ6â&«Á”‡Ja3¾¥E¹6±f1ŒÊ$ã‘ò^³°-O+éS«ã:yP«TÞ3ún`ïvõôÎbIA\×åVŸDä­h`X†‚¥3Ç‚C\}Œt¿¬E„ý ®âtÁt»˜]„>`öÄÅ}QÕ?ü9¹_΂®­Þw³5Z ƒŠvλ[hµlÏ{uÏŽÁ¶°³?MŠj)^“OhræE°cÓîœÎ&7ÓÙ4ú|1¡6æ–×Ï’1É:Ì:š»D=ßPï×SõZ ÛÅ–ÜÑ#Ô. ƒè!œ£O&… öjLfÁÅ„ ´ EÝ”ú¿‘`³øøÍWA€&³Õâ¼í¢Þ[¡u™W÷Š©<»nûà¸ò÷1ç2Ô„gzä`V]LÌ1µmÓ .úÐäˆj)fVï,*KÑèxý,D…;endstream endobj 6 0 obj 1199 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:17+01:00 2016-01-27T08:26:17+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001523 00000 n 0000003406 00000 n 0000001464 00000 n 0000001304 00000 n 0000000015 00000 n 0000001284 00000 n 0000001588 00000 n 0000001842 00000 n 0000001777 00000 n 0000001709 00000 n 0000001629 00000 n 0000001659 00000 n 0000001924 00000 n 0000001983 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<3FCB09B85441A8EE0D446D8F78D2C0B9><3FCB09B85441A8EE0D446D8F78D2C0B9>] >> startxref 3560 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_INFILESIZE.html0000644000175000017500000000642112652070415016614 00000000000000 CURLOPT_INFILESIZE man page

NAME

CURLOPT_INFILESIZE - set size of the input file to send off

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INFILESIZE, long filesize);

DESCRIPTION

When uploading a file to a remote site, filesize should be used to tell libcurl what the expected size of the input file is. This value must be passed as a long. See also CURLOPT_INFILESIZE_LARGE for sending files larger than 2GB.

For uploading using SCP, this option or CURLOPT_INFILESIZE_LARGE is mandatory.

To unset this value again, set it to -1.

When sending emails using SMTP, this command can be used to specify the optional SIZE parameter for the MAIL FROM command.

This option does not limit how much data libcurl will actually send, as that is controlled entirely by what the read callback returns, but telling one value and sending a different amount may lead to errors.

DEFAULT

Unset

PROTOCOLS

Many

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  long uploadsize = FILE_SIZE;
 
  curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/destination.tar.gz");
 
  curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
 
  curl_easy_setopt(curl, CURLOPT_INFILESIZE, uploadsize);
 
  curl_easy_perform(curl);
}

AVAILABILITY

SMTP support added in 7.23.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_INFILESIZE_LARGE, CURLOPT_UPLOAD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.pdf0000644000175000017500000001034312652070442017513 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•WërÚFþÏSœiDx`½«»š¦3$‘ 丩ÝadXŒˆ.uÜNß ¯ÒwìÙ] !ˆãf˜=çû¾s[>% ¨x•ŸóMëtâÀ]Ö¢p×úÔbò!”ó ¼ ÐÀ_Ë–:ÃÀÑÁñ âzlZÚ«ËÉ`4fzyáÏÎ&íàwtäÏBë`Ñrˆë@pߺÖF³AorîßhÆMæEºžñ0{˜eÏ£FF™C,æyåó?ø^*u3U>X?À"ÊÂÛµp®úå¦MàL˜‹n7u½´LRéßÔ bïúR; ÆŠ½%; ÕQ;Ù^TÏ¥´Ì*#Ô“ÊKÚe MK¯Ô#UE(ê2ªïœºÞ“’òx!jD–A˜¶Q%Ïsµ;òÏš£ºEÆ—ÅZ`˜cÁEqÁ!Œ«ú°‰í5&’†ƒ†§i±ÍùŠí: ¨žÄڶ4¹Zñ‰ÐWYdpå+Ê=…rÑ-âUZ:5I‹Ò¦Þޤ-GºàXŽ·m’ER>ò~ÅS.ÚA\'óp}š%E:ç’Þ:ºí Ù*)Ö Ôè‰Ê¬Š¢u܃i[Ot¥+qtA”#‰õZ<‹!Ün…¬Ân/J˜K›$¯Åv ³R›<5Š_ûgeI[Ø–(Î »´Ô¨w© ‹)׉nNùt쬇›èÇqPæª~iâ$LûBMüGÑŒ'%Ó`¶¹í”Å×Õ µTMíBc³8Ô®vÜ«Ñà`¯ záÔxÞª¡pL–ç]ìÖª*ÎöKß²«Ò×gš:ÓGΜ55÷±@ý,c.Ñ­=©ü_zãÿØ U­£¡¬Ç{{2Š#Ü’b—‰.ÒÅFÕ¢åÜzxuù {æ‰]¨Êv¶k‹pî³~0›Ž.ü7#ÕÌ8‹UÑx8Zª®»z¾£Ý-|5ñ,‹þäG!ŒÒèj֛ήüÁ@mæú‚p|/ßÔ÷üèÀwË|ûÃéi½>‡›-öÍ<Ù|W-{áìôDq®G „å`­D舿²èǽ\*ÚC‚«Ÿ¿„“SµNôÿ ­yUÁ¡X_U¥¯@*Þg˜}„e’V01ø³o}9(m]ËÔz¯;ÀÍ¥âJ'y¸†E˜‡n’B]%õÏ[\–MÞOFîϰô§ý_ýŠj•{àÙÃ1O‘জ}Ÿ žåû4÷"m•eUÚÂMwWÚÚßåp³\÷øJ½?˜Ä”W ­÷êË5ÎJÛbußö^öýàC³'±° ÓmÎ}­·Xà6ÃâàH ôëcñZ›øÁådïÛb‡x6ÓzƒK¿íǽö> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:26+01:00 2016-01-27T08:26:26+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001925 00000 n 0000003736 00000 n 0000001866 00000 n 0000001706 00000 n 0000000015 00000 n 0000001686 00000 n 0000001990 00000 n 0000002165 00000 n 0000002100 00000 n 0000002031 00000 n 0000002061 00000 n 0000002247 00000 n 0000002313 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [<5D52A2532581ADEE52D0902E59B4AD1F><5D52A2532581ADEE52D0902E59B4AD1F>] >> startxref 3890 %%EOF curl-7.47.0/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.pdf0000644000175000017500000000734412652070454017236 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœÅUÛŽÛ6}×WèCå`ÅERÑ¢€³q±N˵émƒ¸0´w­Ö–KÞ6•ìºøšö)(ø6·3gÎŒ?!äê§yO6Öí4@Ï¥å¢gë“EŒ5oɽ–àêä“UÇx(‡Éeßͧ£áøçhy/å¤'ÿ°sŽdb»¡«£djÙý¹6ºÚ@ 8ac÷˾‰#˜š8a¯±=ôƒÜ.È 1eHþe}´‡£…M=”ìw륊ËÏËgUeùSÑs<&°¹]l«¬ÈKt õwùö€Õó9fþ·€Úl¨ñˆÐ.·S¬bÁ5±c>Ð)C}2>ÊÅ1´Iõ~ ?LÄs1säϘÿ—Q¸z Ð$ú‚€x·}šx ui—þ%îRL k Ù:~\+¤a£x_­T^eI¬‡†6ªZiY÷}Ì™Gf A‡w&ËìÃ8šÌ†³SŽ€Ò–Ÿï²> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:36+01:00 2016-01-27T08:26:36+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001322 00000 n 0000003205 00000 n 0000001263 00000 n 0000001103 00000 n 0000000015 00000 n 0000001084 00000 n 0000001387 00000 n 0000001641 00000 n 0000001576 00000 n 0000001508 00000 n 0000001428 00000 n 0000001458 00000 n 0000001723 00000 n 0000001782 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<2129B57B9BA2292F2895EF29DB2A2277><2129B57B9BA2292F2895EF29DB2A2277>] >> startxref 3359 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FORBID_REUSE.html0000644000175000017500000000457212652070414017067 00000000000000 CURLOPT_FORBID_REUSE man page

NAME

CURLOPT_FORBID_REUSE - make connection get closed at once after use

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FORBID_REUSE, long close);

DESCRIPTION

Pass a long. Set close to 1 to make libcurl explicitly close the connection when done with the transfer. Normally, libcurl keeps all connections alive when done with one transfer in case a succeeding one follows that can re-use them. This option should be used with caution and only if you understand what it does as it can seriously impact performance.

Set to 0 to have libcurl keep the connection open for possible later re-use (default behavior).

DEFAULT

0

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_FRESH_CONNECT, CURLOPT_MAXCONNECTS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.html0000644000175000017500000000372312652070415017235 00000000000000 CURLINFO_PRIMARY_PORT man page

NAME

CURLINFO_PRIMARY_PORT - get the latest destination port number

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRIMARY_PORT, long *portp);

DESCRIPTION

Pass a pointer to a long to receive the destination port of the most recent connection done with this curl handle.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.21.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.30000644000175000017500000000412112626067776016501 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_LOCALPORTRANGE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_LOCALPORTRANGE \- number of additional local ports to try .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOCALPORTRANGE, long range); .SH DESCRIPTION Pass a long. The \fIrange\fP argument is the number of attempts libcurl will make to find a working local port number. It starts with the given \fICURLOPT_LOCALPORT(3)\fP and adds one to the number for each retry. Setting this option to 1 or below will make libcurl do only one try for the exact port number. Port numbers by nature are scarce resources that will be busy at times so setting this value to something too low might cause unnecessary connection setup failures. .SH DEFAULT 1 .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.15.2 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_LOCALPORT "(3), " CURLOPT_INTERFACE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.pdf0000644000175000017500000001163612652070443016662 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…XÛnãÈ}×Wt°C $šÍ;‘ €Æ£A¼£•›ÞdaM¶,f(RKRëøöWò9ÕݼHöl`òÔìêSU§NUëWf™œYô£_Óýäâ&`ÏÍÄbÏ“_'\.2ý’îÙ§„ôA¼¨=œ6 "Ç #ï'®krÅ/“{ãòîfµ¹Žo—˯_îÖ—ñÕfý`8S–ëâQ$Íëc#ÚêÐNç¶g™–x“Weþ»wú¯øÇÉÜ2mŽãR ‰€ÆŒ<äø,^MŒõbú`•{¦9gã§å4þ÷¾m™®°9·iÙ"ÌïBfÿeÇFÔ,MŠâ)I¿±mU³FˆoyùÌò¿‡cËš¶É^0‚4¦9÷ÍPB¸ýe½¹¾½º="‘ Œò2-Ž™`¡]Ðs÷WzÜv¥oY¼`I-X»¬í±.YZe¢‘ÈèCB×ãmØÇ „NXMâ÷Æ™ø½2Ľ£›¯Ó9ÜÈŒ"Ã’A~ÿ¹/Ò”' Ä\Åmqµbœ`:¾éû–­-Å`ÞNa8ôÏHòBBe›“ uR6[Def¹ÏÍ`÷0\.Ö1½a6ƒíV+ò' VŸ—4)?Ȱ™Á}3ðª{£}šÚÒSÇ™;CÓþˆÓŸ—·—7W×´UúkÉúOßç÷uBÏÈhGfØ'¤iXÂBÛŠ½VÇq½Ë”TaÆ^vyºcÍ®:Û'-Þ—uÕVíëAЂd¼”,yª:©PxÇ5=_'÷71Âa‡QèêSúàxŽtiƒLø’äñ.oz0ìY´Ä(2öôÚèeõá5a©¨Ûq¨š\nÂÿx, ¹ º²'A:“ÑÎ-¡p!P“¦•ÀÔg]4Qî/ô1Ø„–®H‹("ñ&u ¿tþ©EsÜÃþñPT çƒÑµÚb-ɨlàŽ^—^µÐ”—¼UQ.«zŸòÑ> €¹„ÖèôÔä‚¡Xd²«–!~IÑT]Øài-Á­Ðt¢N5°“+åxÉKrAêe'J–%mÂv "$¯>m 'dN‰_¢ò P‰B[ ‘5´ö$äcZfô‰](“g™ÎÀnZ~ ™—&“Ùß'¯8üpÀ‘ M%£ÆþÇ×ìú.F=²ëÍm¬¢–°ý±hóù!!‚¢—&’ {Ñîªl† J%ôÉG Tå1`‡P”@? ;xÜrT˜þ“7-á(Òª,…¢(×BsªbEÒ ‘QÀÛ¦H¥EÕ Ù´4 §EŸk8 ¡ÏräÙ D³#ò¼H¡,nTõ7Å7¹Ë1]z,xaËí:²ØöUȹiSK·:«Ò5ƒJI l1¼#7òVÕ ‰,–í9Ò^€ÄÑ¡2f·ãƒ/ ž«f7U|–éKÙ¢!ûj+ëG¶hnÉ^ $@²$r`ÏäU¤Ÿbu”ä‹âLT/Ñ"É}’¬zmÆJM=±_hžùÓÛ –Í9 óè­AêœÆz<ÊÝî€ÅšVh®ÖWDÛwº:\ 5ƒFÈ œ¾;ߟ^á§*;î¡ìÐægH…ßõÝj%;Ô±¤æÛ ów'èë Øu$`(†íw‰š£ú’´9Åh¾rÓSŠGq’7PE‰Øé™|üBìÕæ2^uwԷͪ®‹s;B‡¥ ‰å™þxÀÒý&À”‚Ì͹çEÐ}ƒûìÇcÉlÜŸd´Ü¾¼äWËxòwüü!œ#Qendstream endobj 6 0 obj 2201 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:27+01:00 2016-01-27T08:26:27+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002525 00000 n 0000004415 00000 n 0000002466 00000 n 0000002306 00000 n 0000000015 00000 n 0000002286 00000 n 0000002590 00000 n 0000002844 00000 n 0000002779 00000 n 0000002711 00000 n 0000002631 00000 n 0000002661 00000 n 0000002926 00000 n 0000002992 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<0E3162E224421FF8BA96D87993395D51><0E3162E224421FF8BA96D87993395D51>] >> startxref 4569 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SERVICE_NAME.30000644000175000017500000000343112626067776016270 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SERVICE_NAME 3 "17 Jun 2015" "libcurl 7.43.0" "curl_easy_setopt options" .SH NAME CURLOPT_SERVICE_NAME \- SPNEGO service name .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SERVICE_NAME, char *name); .SH DESCRIPTION Pass a char * as parameter to a string holding the \fIname\fP of the service. The default service name is "HTTP". This option allows you to change it. ..SH DEFAULT See above .SH PROTOCOLS Most .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.43.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_PROXY "(3), " CURLOPT_PROXYTYPE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_HTTPAUTH.html0000644000175000017500000001562712652070415016424 00000000000000 CURLOPT_HTTPAUTH man page

NAME

CURLOPT_HTTPAUTH - set HTTP server authentication methods to try

SYNOPSIS

#include <curl/curl.h>
 
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HTTPAUTH, long bitmask);

DESCRIPTION

Pass a long as parameter, which is set to a bitmask, to tell libcurl which authentication method(s) you want it to use speaking to the remote server.

The available bits are listed below. If more than one bit is set, libcurl will first query the site to see which authentication methods it supports and then pick the best one you allow it to use. For some methods, this will induce an extra network round-trip. Set the actual name and password with the CURLOPT_USERPWD option or with the CURLOPT_USERNAME and the CURLOPT_PASSWORD options.

For authentication with a proxy, see CURLOPT_PROXYAUTH.

CURLAUTH_BASIC

HTTP Basic authentication. This is the default choice, and the only method that is in wide-spread use and supported virtually everywhere. This sends the user name and password over the network in plain text, easily captured by others.

CURLAUTH_DIGEST

HTTP Digest authentication. Digest authentication is defined in RFC 2617 and is a more secure way to do authentication over public networks than the regular old-fashioned Basic method.

CURLAUTH_DIGEST_IE

HTTP Digest authentication with an IE flavor. Digest authentication is defined in RFC 2617 and is a more secure way to do authentication over public networks than the regular old-fashioned Basic method. The IE flavor is simply that libcurl will use a special "quirk" that IE is known to have used before version 7 and that some servers require the client to use.

CURLAUTH_NEGOTIATE

HTTP Negotiate (SPNEGO) authentication. Negotiate authentication is defined in RFC 4559 and is the most secure way to perform authentication over HTTP.

You need to build libcurl with a suitable GSS-API library or SSPI on Windows for this to work.

CURLAUTH_NTLM

HTTP NTLM authentication. A proprietary protocol invented and used by Microsoft. It uses a challenge-response and hash concept similar to Digest, to prevent the password from being eavesdropped.

You need to build libcurl with either OpenSSL, GnuTLS or NSS support for this option to work, or build libcurl on Windows with SSPI support.

CURLAUTH_NTLM_WB

NTLM delegating to winbind helper. Authentication is performed by a separate binary application that is executed when needed. The name of the application is specified at compile time but is typically /usr/bin/ntlm_auth

Note that libcurl will fork when necessary to run the winbind application and kill it when complete, calling waitpid() to await its exit when done. On POSIX operating systems, killing the process will cause a SIGCHLD signal to be raised (regardless of whether CURLOPT_NOSIGNAL is set), which must be handled intelligently by the application. In particular, the application must not unconditionally call wait() in its SIGCHLD signal handler to avoid being subject to a race condition. This behavior is subject to change in future versions of libcurl.

CURLAUTH_ANY

This is a convenience macro that sets all bits and thus makes libcurl pick any it finds suitable. libcurl will automatically select the one it finds most secure.

CURLAUTH_ANYSAFE

This is a convenience macro that sets all bits except Basic and thus makes libcurl pick any it finds suitable. libcurl will automatically select the one it finds most secure.

CURLAUTH_ONLY

This is a meta symbol. OR this value together with a single specific auth value to force libcurl to probe for un-restricted auth and if not, only that single auth algorithm is acceptable.

DEFAULT

CURLAUTH_BASIC

PROTOCOLS

HTTP

EXAMPLE

TODO

AVAILABILITY

Option Added in 7.10.6.

CURLAUTH_DIGEST_IE was added added in 7.19.3

CURLAUTH_ONLY was added in 7.21.3

CURLAUTH_NTLM_WB was added in 7.22.0

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_NOT_BUILT_IN if the bitmask specified no supported authentication methods.

SEE ALSO

CURLOPT_PROXYAUTH, CURLOPT_USERPWD

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CRLFILE.30000644000175000017500000000506312626067776015453 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CRLFILE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CRLFILE \- specify a Certificate Revocation List file .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CRLFILE, char *file); .SH DESCRIPTION Pass a char * to a zero terminated string naming a \fIfile\fP with the concatenation of CRL (in PEM format) to use in the certificate validation that occurs during the SSL exchange. When curl is built to use NSS or GnuTLS, there is no way to influence the use of CRL passed to help in the verification process. When libcurl is built with OpenSSL support, X509_V_FLAG_CRL_CHECK and X509_V_FLAG_CRL_CHECK_ALL are both set, requiring CRL check against all the elements of the certificate chain if a CRL file is passed. This option makes sense only when used in combination with the \fICURLOPT_SSL_VERIFYPEER(3)\fP option. A specific error code (\fICURLE_SSL_CRL_BADFILE\fP) is defined with the option. It is returned when the SSL exchange fails because the CRL file cannot be loaded. A failure in certificate verification due to a revocation information found in the CRL does not trigger this specific error. .SH DEFAULT NULL .SH PROTOCOLS All TLS-based protocols .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSL_VERIFYPEER "(3), " CURLOPT_SSL_VERIFYHOST "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.html0000644000175000017500000000450312652070415017112 00000000000000 CURLOPT_TFTP_BLKSIZE man page

NAME

CURLOPT_TFTP_BLKSIZE - TFTP block size

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TFTP_BLKSIZE, long blocksize);

DESCRIPTION

Specify blocksize to use for TFTP data transmission. Valid range as per RFC 2348 is 8-65464 bytes. The default of 512 bytes will be used if this option is not specified. The specified block size will only be used pending support by the remote server. If the server does not return an option acknowledgement or returns an option acknowledgement with no blksize, the default of 512 bytes will be used.

DEFAULT

512

PROTOCOLS

TFTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.19.4

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_MAXFILESIZE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_UPLOAD.30000644000175000017500000000566712626067776015371 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_UPLOAD 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_UPLOAD \- enable data upload .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_UPLOAD, long upload); .SH DESCRIPTION The long parameter \fIupload\fP set to 1 tells the library to prepare for and perform an upload. The \fICURLOPT_READDATA(3)\fP and \fICURLOPT_INFILESIZE(3)\fP or \fICURLOPT_INFILESIZE_LARGE(3)\fP options are also interesting for uploads. If the protocol is HTTP, uploading means using the PUT request unless you tell libcurl otherwise. Using PUT with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with \fICURLOPT_HTTPHEADER(3)\fP as usual. If you use PUT to a HTTP 1.1 server, you can upload data without knowing the size before starting the transfer if you use chunked encoding. You enable this by adding a header like "Transfer-Encoding: chunked" with \fICURLOPT_HTTPHEADER(3)\fP. With HTTP 1.0 or without chunked transfer, you must specify the size. .SH DEFAULT 0, default is download .SH PROTOCOLS Most .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { /* we want to use our own read function */ curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback); /* enable uploading */ curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); /* specify target */ curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/dir/to/newfile"); /* now specify which pointer to pass to our callback */ curl_easy_setopt(curl, CURLOPT_READDATA, hd_src); /* Set the size of the file to upload */ curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, (curl_off_t)fsize); /* Now run off and do what you've been told! */ curl_easy_perform(curl); } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_PUT "(3), " CURLOPT_READFUNCTION "(3), " .BR CURLOPT_INFILESIZE_LARGE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_MAXCONNECTS.html0000644000175000017500000000563512652070415016743 00000000000000 CURLOPT_MAXCONNECTS man page

NAME

CURLOPT_MAXCONNECTS - maximum connection cache size

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAXCONNECTS, long amount);

DESCRIPTION

Pass a long. The set amount will be the maximum number of simultaneously open persistent connections that libcurl may cache in the pool associated with this handle. The default is 5, and there isn't much point in changing this value unless you are perfectly aware of how this works and changes libcurl's behaviour. This concerns connections using any of the protocols that support persistent connections.

When reaching the maximum limit, curl closes the oldest one in the cache to prevent increasing the number of open connections.

If you already have performed transfers with this curl handle, setting a smaller CURLOPT_MAXCONNECTS than before may cause open connections to get closed unnecessarily.

If you add this easy handle to a multi handle, this setting is not acknowledged, and you must instead use curl_multi_setopt(3) and the CURLMOPT_MAXCONNECTS option.

DEFAULT

5

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLMOPT_MAXCONNECTS, CURLOPT_MAXREDIRS

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.html0000644000175000017500000000457612652070415017005 00000000000000 CURLOPT_SSLCERTTYPE man page

NAME

CURLOPT_SSLCERTTYPE - specify type of the client SSL certificate

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLCERTTYPE, char *type);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. The string should be the format of your certificate. Supported formats are "PEM" and "DER", except with Secure Transport. OpenSSL (versions 0.9.3 and later) and Secure Transport (on iOS 5 or later, or OS X 10.7 or later) also support "P12" for PKCS#12-encoded files.

DEFAULT

"PEM"

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

If built TLS enabled. Added in 7.9.3

RETURN VALUE

Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSLCERT, CURLOPT_SSLKEY

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_PROXYPORT.pdf0000644000175000017500000000741512652070441016411 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­–ínÛ6†ÿë*ìGäÁbHQ$Elà¦àÖ<[éj$CàÈj¬M–\KF–{Ø­ô{H}Úq‘ ÄŽHžóžç|P_Áý©¿£­u9—è±°z´¾XÔ,¢ú+Ú¢7!lðõƒð³U¡HºH*†}…­e_Ý̧Á,¼ŸÍ៖C°‡ÂÈ.f¾òa¸¶ìà“^#zz˜°va9 Ì1W`"”ªž ŠGá“uk‡w6» è°OïãUñ|_Äe¾+ŽË &DÚðO’gê©ø#|×Ê`Dbᾢⶒ!´Eå×>3.UúÀå\¬¸áx®‡)WÈaÂX¾u–9æŠÕ?ŒõóŽ  ²ˆDuÍòÿƒs½xDпîÚc.Å’Wω¦jçûe‡íC¼Gå&F»}þ÷3J“¢ŒdžU’ûáR@ãr-°oÌ/–×Ál1YG0šÈ~H²(=¬cô³NÝ¥þƒ7¿¹ã´ =ÊaÃijïÌúq³ÊÖi<ì'ö¢Eäz „þ[BpJz/QìùG8DigAb`ehÄî?½ÃX”=0oÇ‹«ùdN‚ëÚ3åUùœ4[µnöy#Ëu¥ñ\h…Ríÿ))7ª²cÊ•9Z½ìi…úi”gY™Ÿ‡,ÁDR"8Wìâ(ù'^£$ë*Ê}’=VaQR tŒ–WJTvÅÖO€‹#Mf–U' UXÒæ(©º<ߣCFÙ:þ<À„zÂ^Ò 2ÆU3ÂÌQú¨£kH·íï›$+0«(Šw¥&vQçÊÖì.†U¼½š‡ÝT SäO´Ê.Œƒ¦“<……jFCù0ДbvœšmUS‘fÃj? ¾vHíGÓQ« ίTŸ áÚv¿`~­Ár]ŽÚ0é5G7f•êYWOW0Y¯NÃ|Xל”’yMom2DY^vEð´I¢ Ú®þjIǦP m d‚¨r ñ‹Fô"é*„ùu/ºBÖ³×q1y©Ë:QÐÍ&†%͸¼ ¦'#"WJ‹=JÓ3mØ×1þ4ú0›Ž›öó¿Û~ap®ëí·Aœûþ™É¯ôÎ֛ΌgÂ}DÝ%Iœ6÷Îd:z3™NÂåI'pÌ<ðÑ…Öh®&BÓ^Oݘ  JÆîsñ—ØÓ;Z…u‹ÍÇáÍü}Pæa%¨=šÞŒë”ža3Ëþ¾VÇ÷ÁûW˜/Æc4š.‚nÛ‰½ïŒQ5ô¹9.šr Mê Y5Ì|{Q¢cô‡ËÙÉõÍ१»™;çð6bî#‡ùðêRõ\š<è« IÌ$&‡r®<Ìm*Ñ»C†\h;ƒßk«ŸjSãÐú >ß´KVÌendstream endobj 6 0 obj 1032 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:25+01:00 2016-01-27T08:26:25+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001356 00000 n 0000003246 00000 n 0000001297 00000 n 0000001137 00000 n 0000000015 00000 n 0000001117 00000 n 0000001421 00000 n 0000001675 00000 n 0000001610 00000 n 0000001542 00000 n 0000001462 00000 n 0000001492 00000 n 0000001757 00000 n 0000001823 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3400 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.pdf0000644000175000017500000001016212652070444017756 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­VínÛ6ý笠èL*b†¤DQ†nª n˳åvA2ª-×jÉ•ädy‡¼ÊÞq—Ô—ítë~ bÄäý:÷Üsù(a@Õ§þ^ÞõΧ>= Ÿz_{LBýµ¼ƒW!^pÕáºWÙ0¤g׃ð®g\̧£`.f³7‹ÉtøÞ ?÷úŒ0á²ç bYT†«ž1Õ!UŒÎ<¯:ðˆgCøÐ»1üÅ;ÿúr8òo ëÖ„å>ß.â¨x\q™íJ³Ï%”JÿI²´€gÑÿßvṋi~'øIL>UçêæùÔÃâ‰'Tý}›ZDHè[Ž6:‚Ϫ^ùê÷7N‰MÑŒq}ü?FZ]âð >°Ë“&{¡L\I\·õuµ¾<Â\ϵëƒ2†/µÓvÌ&NŠX:XüO]2’Xâ0•m ë,, ¢}¹©ê?„ŽKŽ!6DE]ƒÉl8;† ‘m`ú!I—Ûý*†_ ÎÕ²ùU]çH–Q…ã2à §,¹ÕGðr¥«m|öœ#?0DzDŠÿL‘3 çñº†.7Q/Ÿ¶qÝÅ·æÏÏ«gØ…®ô×þìb:œ„Ã`|„û7a˜¶Í­3„Q=1FQ@U°Ë’´LÒOPfUI0ÚÌ®eaAÍ,Ô¹co3b·¤PÝ|Ìöù3R ‡P!ÝïJ%Xñæ9»pÞŒJü¨Î$qÔmd,q¬ÖÇA†¦t€ÜX§z°u îËNs)+a_Ä«3Ø&`¯M„ž2OÑ~[ˆ‡¶®z¢bQIw[”|\ùç¤(6çÉj±*¢ch\LLºÝD(qPr•¬¡ÜÄ Œ!NM …̥¸Oò,½‹ÓîM.P¯<׈ò$úˆc’jVϹ Ÿ÷E /ª€/ Iµ3¬!W¦«$—e–?B²®T­É¢Nºš<¦ˆ:&*ñðå1¬R{ªBxШPiY¾êïò¬Dÿ 8¥ênw‰ÙŽº Îr]Ë$ÎUGô›ÙÂù˜˜5³Ù‡×•Vvíò@ú7fy>" „cMÉeÍa»ºïx—Ù­4ÎkÝÄŠjæŽ%ëÓQ7É] Š‚RJËn¼1Ä&ÆŸ»m”¤ñ ¢WZº:ÈëNïã¿ÇŽ”·ÒŸLëìmË­E•;² Ïqˆ4‡Œ „ õÉ-"©Ó ÇE0:‘G,×Ãüíc Ì.ÉæÓìbò `ƒ¬üßW“‘ß ¤û²vI1KAQ¥ô:¨Q®ûýè©›m4ÕœJ¥ï¡Û•ØGG°† ÃÑàÕp4 ¯+ÅvZ¶ë:X­°E8'’` öïµÞS?œOÇðÞd–M<‡ƒÑÜ?¡eW2JºSMõ4.÷yý¶ðÁ;¨Ç¼zsè ÞïvY®‡§º4¿¦ ãQn|/-ïÊó ²\ÇU‘êÍ…Žçá"¸\\ùWÁWîG6s oð:A¡Æº> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 13 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 15 0 obj <>stream 2016-01-27T08:26:28+01:00 2016-01-27T08:26:28+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 16 0000000000 65535 f 0000001621 00000 n 0000003583 00000 n 0000001562 00000 n 0000001402 00000 n 0000000015 00000 n 0000001382 00000 n 0000001686 00000 n 0000002012 00000 n 0000001947 00000 n 0000001807 00000 n 0000001727 00000 n 0000001757 00000 n 0000001891 00000 n 0000002094 00000 n 0000002160 00000 n trailer << /Size 16 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3737 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_COOKIELIST.pdf0000644000175000017500000001455412652070426016435 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœWÛnÛH}×W4<¡Œ¨Íæ3›¼QF±´$°E¶,N(RæÆÑ|C~eÿq«úBRÎe+2»»NŸª:uø±)#6þèÏl?ºº É£ÙäqôLjɇDd{ò¯Dø‡d;R{ Æ.b’ìGM#‡$O£{ëæýÝ|±Ln‹ßfÓùl•¬-w=&Ù±)x*N‚·õ¡Oߦ¶Zð¥¨+A¾³süŸäíhbS‡A¨ Ä€„Æ>‚q’ÌGÖíõø€‡§Ì§~ìÀ$Yï¦ãä÷tǦž’ sð±x¿—ü—¤yNÚšÔ Ù§Uq8–iËIVן .ÈŽ—9)*²çûº9©HÀ4a$„ÕÇÛÅr5[‘K$ë§¢ÊÊcÎÉ? +üEwÿÄ厇wK.¥Y kžs¸–Èå.­ò’¿üƒãÐŽ£Èz)i ü.p¶Kr©.µÿòõ=˜Íùuºº¹›-“Ùâ—B>˜¯ÒñK-S\#ÓÈ×邤D…EvS’ÙzÀh`–*XϲÑÀœÔ6EõH%fcO-È)PæuuÌvND²´"NxÑîx°½ä¤,*Ž©¼å­ÈÒ'Wä]ýWQ–)ÙÖÍ>m±~?Š–4ŒëÚ4t…c2Ö#HCÞ$Ér"Úœ»ãiÎ Ïl1E´¹rÓÚZñvr#ñýL(¥Ð#*(%É®ä p´5áUºS»¹¯º^Õ*à! Õ×Ò‹€cÜRT-oª´D8b®+_¯mÝp ý£êÍš~†ÿcvwÑÐõäÞd…@6ر¤Ø’S}$iÃÉCC8€£Ú™@I’ý±l‹BoÒJly# ¡N¤Î ޝNÎF®Bò#^:“dSG=dŒúÇôÃí©«­ó€ä(K=³*£¡ô9°ÃHÞG'¡æuõBvõC©3báÇúðV *Úñ¢È5ÜØ¸Î:ð¬Øž ¶òzŸBMŽj˜2`FðªÅCÀ³P,r¨š{œòþ‚¸$2Ô¹k‹Ÿ5 ëS;Ž uò³“kGž~X¥Ã“mwœB…@‰çEóVÈ„n벬qy ÃÏA‘1¾‡GØqOªcû’dú­ª[l¹}_xN6HàÍŸ² ]H®¬%„TƱ®¸{k§™£d¶5{™GaQ{à{+ú¯·’k‘î9©ð×Ú’ê}P£/ÌQœ9£QpF™deâ9 ™¹ŽT¡ûCÝ´pº±T¹ÝÔíN5)ĩŪ'Ûc{lúŠW]ˆ½©ïîD04Cïìò.õ1P,¸= Ö˲CÑ0Žl#Å'EY¶›“ÊAΟ0¶%ö}•óTBrÎâžóZ¥Ð !…mò™Ê`ž7\ ¦p…+Ž‹·í‹þõ=\çµj-1CM7µEmÓ¡FqŸ‰N;Ó”rWñ'túáúÝr>¥2Z°®ó¼@ÅIËò„2Feн˜ÆÌî˜l;&CXƒqÀe½gõf=iª»Ë‘ÇD ÐA¦T†sõuo¥–h@~à Þ¤™ò5Z&)Pª„Hಖ#ß³>Ã:¢&šøYÕ)óuÃ~úÞ[×óù¾úTL* pÛï9ÉM„;•}XMW+Øì:l¸>êô±^Ï߯ާýh¿·žš¢ÕG|ª ? ?Ì1?æ$=w¾UQµ¿3Ô\ÏWSsžõUÔ. é§ø½Štu!_°ml¡%tRé, lÃÌéÒ×°^ü=T+ž¡Ùù!{€dúùP4'lK~¨á­-ö]c¹¯^­PcI£›I&žmT¾,6øLÀ'u¡æû±G}‹Åäí±"ŽÍ<¹ÍëÔŠ!²i2ú7üü*¡ŽSendstream endobj 6 0 obj 1974 endobj 14 0 obj <> stream xœVÛrâ8}÷Wtñ9…ËwÕÔ>0YRKÂÀ,8³5•lQDðŽÁŒm’áòÑÛò ‡$S)«uÔ}NŸ–‚I˜êS}/6ÚÅć‡L3áAû©±bª¯Å>‡¨áJ+÷0ð-ð¹MáFóLX>iwäòv2 g—ãñÍ ?LÃ{bßë°Ø§ñLŠì0Ëdžìrݰ\“š¦OðO”l3xg§þox­9 Ûƒp‰9ÇLû_¡³J’☦I.Îa$6Î/Šx†Ù µð¼ œ‹´óI7˜ïpÊüMgŒQ“yDÄûf›á‚a9ê˜;´9ÌIò#’emvIšË%þØÈe$rà1oä­ûV„¨ÑÏ4rÊÀ}ñ¤ûÖþ3Í¢.„ qN}Ž„cJ¤»ÑÃÿøÜ¢~`²j¡Nó^ÿ¤" —]¿.EU®%ÄQ–C²‚2 ÚÖ?iþ+‡§(Ža›ä0—ÇZ÷Û<Š!Ö¹B&s¹JR òTl³•L3;™âS$…Âå;¯Ì×"‡µÀ¢ l¹¢,Ër©[•eR[IJ%äÇúêz¼Ž(Ö.C…ËDòÀP2cë$Ë·¸Ö…È× ¶KPA‰U˜zö#ÚíTª¡J ³ŸË…Øg.‰£¹Ò³Í@Ä©ËÑ‹åg-™ŸZ•ÙâXÚÂnT–2E$8* © q}ê3³†x” §VÀ§Zè”Õ{.5í¦ú2) =8u<êáæW4·ô¨Õ$X9«,ñIÇäMærLû¬èâªTÇAÕ w$Ÿë–2·‰L‹¸Ø2©ëVIË],XõüÉV‚bVi²AžcI‹”™Pç((Ÿ*û~Ì4Wƒa¿ V;w” ·œ ¥„µÉ•+ÊÙ€KuêÖ:SÅ9Œüª$«[ü˜Ã"–b»ß©¶Yˆ8.Û{J¦:skÊáC6âpÚöå^­rKñAÈr)—]XÊXªŒ’6É2zÆŸµ‘WôÚ¶L¥~¨LW0블q<³¢öŽ<É£ PšE€r?’€Ýů&¡=Ã>®ÈµîªQë:¤7ù2åi¦o—§½–(ÅZþh)PÍšòÐ6R3Õj»-Öp5¶êã§ö8®Tm0áâkeØ aúŒWAž¼u”Á¨J׋ Çû“rW]¡Û¡ T;Pðg:ER½oÐkšM乬 ƒaïó`8¿«õÖ}ìRÛÁC*}«L{Ã!Z˜Ýl5ÍT©ièS¬‹é•×ãtú~¤K&òjx;ý«5NBýè¤?ëvå¥ÞŸïâÛœšÅ¦—ôØÞ‘ÞNFêÂVˆoûծ𻆔Ld¾O«×Šþl|Ѫ¸“Ê× eál¿+åëVA·£›Q™8:†ü3ša?Æ#µ­ÑEóµý]߆³ñÕìKÿËxÒºX@-§’ß#_vÈ*o HFY3ð+ÑÖÊ™WÜòRÜ^Ù~…V=ñÉó"’[¼J¥ØA¶Ã™Jß ùØî‘@T¸½át\¶ Åy=JO: k±ëa^¼’u_báQ^3ÖN߯u«'ª)‡±Ÿà¾Ì‘+?6‘G,ÃæÈÞ•–íS¯Ì¯¾ä±ÿ|ì?t£Ëñuƒ0×û-XhìòÓ³+> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R ] /Count 2 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 18 0 obj <> endobj 19 0 obj <>stream 2016-01-27T08:26:14+01:00 2016-01-27T08:26:14+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 20 0000000000 65535 f 0000003842 00000 n 0000005801 00000 n 0000003776 00000 n 0000003454 00000 n 0000000015 00000 n 0000002059 00000 n 0000003907 00000 n 0000004230 00000 n 0000004165 00000 n 0000004097 00000 n 0000003948 00000 n 0000003978 00000 n 0000003614 00000 n 0000002079 00000 n 0000003433 00000 n 0000004028 00000 n 0000004058 00000 n 0000004312 00000 n 0000004378 00000 n trailer << /Size 20 /Root 1 0 R /Info 2 0 R /ID [<7273B9F3026929D5630D7829C1BE40E1><7273B9F3026929D5630D7829C1BE40E1>] >> startxref 5955 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_EGDSOCKET.30000644000175000017500000000352612626067776015705 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_EGDSOCKET 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_EGDSOCKET \- set EGD socket path .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_EGDSOCKET, char *path); .SH DESCRIPTION Pass a char * to the zero terminated path name to the Entropy Gathering Daemon socket. It will be used to seed the random engine for SSL. .SH DEFAULT NULL .SH PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. .SH EXAMPLE TODO .SH AVAILABILITY If built TLS enabled. Only the OpenSSL and GnuTLS backends will use this. .SH RETURN VALUE Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_RANDOM_FILE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.30000644000175000017500000000636312626067776020102 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONV_FROM_UTF8_FUNCTION \- convert data from UTF8 to host encoding .SH SYNOPSIS .nf #include CURLcode conv_callback(char *ptr, size_t length); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONV_FROM_UTF8_FUNCTION, conv_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. Applies to non-ASCII platforms. \fIcurl_version_info(3)\fP will return the CURL_VERSION_CONV feature bit set if this option is provided. The data to be converted is in a buffer pointed to by the \fIptr\fP parameter. The amount of data to convert is indicated by the \fIlength\fP parameter. The converted data overlays the input data in the buffer pointed to by the ptr parameter. \fICURLE_OK\fP must be returned upon successful conversion. A CURLcode return value defined by curl.h, such as \fICURLE_CONV_FAILED\fP, should be returned if an error was encountered. \fBCURLOPT_CONV_FROM_UTF8_FUNCTION\fP converts to host encoding from UTF8 encoding. It is required only for SSL processing. If you set a callback pointer to NULL, or don't set it at all, the built-in libcurl iconv functions will be used. If HAVE_ICONV was not defined when libcurl was built, and no callback has been established, conversion will return the CURLE_CONV_REQD error code. If HAVE_ICONV is defined, CURL_ICONV_CODESET_OF_HOST must also be defined. For example: \&#define CURL_ICONV_CODESET_OF_HOST "IBM-1047" The iconv code in libcurl will default the network and UTF8 codeset names as follows: \&#define CURL_ICONV_CODESET_OF_NETWORK "ISO8859-1" \&#define CURL_ICONV_CODESET_FOR_UTF8 "UTF-8" You will need to override these definitions if they are different on your system. .SH DEFAULT NULL .SH PROTOCOLS TLS-based protocols. .SH EXAMPLE TODO .SH AVAILABILITY Available only if \fBCURL_DOES_CONVERSIONS\fP was defined when libcurl was built. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_CONV_TO_NETWORK_FUNCTION "(3), " CURLOPT_CONV_FROM_NETWORK_FUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_PATH_AS_IS.pdf0000644000175000017500000001020512652070452016466 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVmsÚFþίØq?DdÌ¡Óéµo3Ø!- DÚŽÝaqµBÂ’ˆãéô'õ?v÷$!IÝé8ñ w·÷ì³Ï>{ 3:}U?Ãm§?sà>ïèpßyèpµÕp W>npéÝ)Ïpp p<Á\ümG»^ÌÆÓyÓõïô8ãü°cYÌÀÍþª£ |ZÑéSn0ƒ{^¹` æYà?vnµ—ƒùr4¿ÓÄ]Â}/e?-sY¤»¢Û3,éÜÒð(Mrh®üÍÓÜ)„Ã\þÌ­Gw)È:­Ò¾þÌÃL¨u§gr‡™ô„­ŽMM<‹Yž¨Â½Òç I†ÎLÝ7ÔòÿfG'fj°ð7¬RHÒ6A²Š%þU¨ÿ¹|ØË$”y ¢Ÿë‚™±™«nšÿ:™ÞÌGóc¼˜^õ«( ãýJ·T‚>}c›ïi»a‚?.“ SÜpZ¢;µ/Kt—­½h’6„ÇìçÒ®3¾„8Mî!–AU#nÑ^Çb¶Ð딇 3\Ï5«…¨¸ë~sN‰p æØ-J^ ç׳Ñ?šN¾Ä *ÏñT-®žî¢ˆV±‘ _yˆëÕ)Çe¶eÕ™ ö2*Nä@…W%p«)ðKÀï²ËMæyº¡}ÚÅQñ2Ž!Ž>Û´‡êÄ…ÌÔý÷Q©þšî Òk›ƒYŽ{ÎN²ks[*8”ª«R Š |ë4“° òœRŽ HBw«’.°n¢æéVËeöQeáš\“YE®ëŽÐ˜Â‰]æ–ÁýM”«Üòvr“)jËã–€³D­?oãu\§føa䛦 ]ÃEŸ±þ¤ý†¿› €mð 4wL„aÖénYÙOQ^@”(ZQ¹•â,E«ÍÑèìêFÎDuäE-MdÞ;J$î‚ k–¬JQ^2gÙÌk¦6çûÝ.Í动ø !“ÛôHø®Á„ðÜÓòžw4°8óš3a˜f+%Þf¯¯Wlä.$Kô#f²Ò£Ð7,40êyʘcheÒót+¡,2V–;Tdˆ¶»XneR¥5(™?’T•œ£Lî©CªT•Œîðt–&2Ýçñº~†UŒð0ÕàÌÝèR`Ê2•H«øm"oµñN”ç„7Œ#—Ãc—ëZ‰$MArI’Æ€H 5j;{‚t_ÀAÊžá|&ËRÑþË[ò„•\clšOžìãâ êÇÛw‹À]ZåÚ=Ò·Û‚­zlŸ×¦BàËè'ÎuìZ¯k‰šª[pæxÜCç¦ nzžS¨¡ßù ¿þ ;endstream endobj 6 0 obj 1415 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:34+01:00 2016-01-27T08:26:34+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001739 00000 n 0000003622 00000 n 0000001680 00000 n 0000001520 00000 n 0000000015 00000 n 0000001500 00000 n 0000001804 00000 n 0000002058 00000 n 0000001993 00000 n 0000001925 00000 n 0000001845 00000 n 0000001875 00000 n 0000002140 00000 n 0000002199 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3776 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.30000644000175000017500000000567112626067776016420 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_IOCTLFUNCTION 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_IOCTLFUNCTION \- callback for I/O operations .SH SYNOPSIS .nf #include typedef enum { CURLIOE_OK, /* I/O operation successful */ CURLIOE_UNKNOWNCMD, /* command was unknown to callback */ CURLIOE_FAILRESTART, /* failed to restart the read */ CURLIOE_LAST /* never use */ } curlioerr; typedef enum { CURLIOCMD_NOP, /* no operation */ CURLIOCMD_RESTARTREAD, /* restart the read stream from start */ CURLIOCMD_LAST /* never use */ } curliocmd; curlioerr ioctl_callback(CURL *handle, int cmd, void *clientp); CURLcode curl_easy_setopt(CURL *handle, CURLOPT_IOCTLFUNCTION, ioctl_callback); .SH DESCRIPTION Pass a pointer to your callback function, which should match the prototype shown above. This callback function gets called by libcurl when something special I/O-related needs to be done that the library can't do by itself. For now, rewinding the read data stream is the only action it can request. The rewinding of the read data stream may be necessary when doing a HTTP PUT or POST with a multi-pass authentication method. The callback MUST return \fICURLIOE_UNKNOWNCMD\fP if the input \fIcmd\fP is not \fICURLIOCMD_RESTARTREAD\fP. The \fIclientp\fP argument to the callback is set with the \fICURLOPT_IOCTLDATA(3)\fP option. This option is deprecated! Do not use it. Use \fICURLOPT_SEEKFUNCTION(3)\fP instead to provide seeking! If \fICURLOPT_SEEKFUNCTION(3)\fP is set, this parameter will be ignored when seeking. .SH DEFAULT By default, this parameter is set to NULL. Not used. .SH PROTOCOLS Used with HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.12.3 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_IOCTLDATA "(3), " CURLOPT_SEEKFUNCTION "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSLENGINE.html0000644000175000017500000000446712652070415016512 00000000000000 CURLOPT_SSLENGINE man page

NAME

CURLOPT_SSLENGINE - set SSL engine identifier

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLENGINE, char *id);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. It will be used as the identifier for the crypto engine you want to use for your private key.

If the crypto device cannot be loaded, CURLE_SSL_ENGINE_NOTFOUND is returned.

DEFAULT

NULL

PROTOCOLS

All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.

EXAMPLE

TODO

AVAILABILITY

If built TLS enabled.

RETURN VALUE

Returns CURLE_OK if TLS is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SSLENGINE_DEFAULT, CURLOPT_SSLKEY

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.30000644000175000017500000000451012626067776016402 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TCP_KEEPALIVE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TCP_KEEPALIVE \- enable TCP keep-alive probing .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TCP_KEEPALIVE, long probe); .SH DESCRIPTION Pass a long. If set to 1, TCP keepalive probes will be sent. The delay and frequency of these probes can be controlled by the \fICURLOPT_TCP_KEEPIDLE(3)\fP and \fICURLOPT_TCP_KEEPINTVL(3)\fP options, provided the operating system supports them. Set to 0 (default behavior) to disable keepalive probes .SH DEFAULT 0 .SH PROTOCOLS All .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* enable TCP keep-alive for this transfer */ curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L); /* keep-alive idle time to 120 seconds */ curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 120L); /* interval time between keep-alive probes: 60 seconds */ curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 60L); curl_easy_perform(curl); } .fi .SH AVAILABILITY Added in 7.25.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_TCP_KEEPIDLE "(3), " CURLOPT_TCP_KEEPINTVL "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.html0000644000175000017500000000410712652070415017465 00000000000000 CURLINFO_RTSP_CSEQ_RECV man page

NAME

CURLINFO_RTSP_CSEQ_RECV - get the recently received CSeq

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RTSP_CSEQ_RECV, long *cseq);

DESCRIPTION

Pass a pointer to a long to receive the most recently received CSeq from the server. If your application encounters a CURLE_RTSP_CSEQ_ERROR then you may wish to troubleshoot and/or fix the CSeq mismatch by peeking at this value.

PROTOCOLS

RTSP

EXAMPLE

TODO

AVAILABILITY

Added in 7.20.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.pdf0000644000175000017500000000776512652070456017122 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVoÛ6ýߟâÐ+UDŒHýÞÖnª¢^˳•nE2ªÍÄêÉ•ä¤Ù°´ï¸#%[–œ´ƒÈÉ»wwï=ê3”!?Ísy;8¹pS ¸|0µÍcy ¯"ÜàÉD׃ú —ƒë›Ôó!º˜õD÷ƒKrv1&oÂÅ,˜OÃÉåÕjŸzvÝhƒº>WÝ,Kˆa“'Y% ¨rü¡à·B,EÒ‰Ïp¶mÕ!5šwª}§épÖOÓŽ¥Ôò1ÕÀXrѤ\ž“ˆ¹ç{MF²z{˜Æf»4$Ц»cL­:Ôq|¿Y=yÓcÔÄs-:¥M!/`~ŽÏo(D뤄šòp/Ã0צ¾ç6¡ãRÕbq“:{š’M¡ª`1îP x­¹»$ß–éü™å·©a¸&¹Ï >Ô[,¨fu’Aš|”¬—"\@ˆ‹4…Ò§®j÷]j4ã%4ê”lM§.å Ê*/Ä îêì¾Gât+à>ISø(à/Qäµ€M·¿×N­ H®!Ë¡ÅÆ,l†mäN§q°Ær> ‘5o ¡¡‘cã7¿3qãhÚ2¡£¦³¢0É+$Ù:®$Y‹üËÃs%>êÊ-ˇí7w,)ÏÚÚMjZÎŽ%ádœE-ÐroÓ•¬¹ñ P­k`F##»ŒZ|ßÒŸŠØú^Ç?˜‹%즯 ‘£ËriRIIqš=º´iDÛÍ&/*¸î³EºZáÌ.•c£ß°´é¬™ezªåŽÛ_çÈ_A #÷íB»†³óâ³pÜsDQß5-kߎ·ðèÍyøˆìÐ7ƒö‹“íU—‚]±ìƒj‚߇çÓqð¤?׫TòòÀ‚“,©®ˆ´S¥FåÔÉõ‘;ð‚û]ÖîÄPÔÅž«Ñ‹KÒÆ*E…6PŸ­]<œF |œÀ³uUm~8=käü%¾Ý¤‚.óÛg2»d?Á°pQà˜owh¤å+pjßK•!X„ïŽp*{Þñb!+´ä‘›§ÅúØó}'H@oóüÓ‹ºLEœm7‡xû»‘¶ç]ùfâÃR ¾‡aK=ƒ:{c&£ñðÕh<Š>ô…w‹… _.ɰU¦ôèc6z¯ùÔ÷¹ƒ^ב’EUãyð%™ÑÅlï5f¢Ý9Œ ÇAsꘌ¸_TÛ¢yC’#4Lù^Ò\#x¡”µÎÅêD‰ Þx1y7 5Ó&¿M¡ºÜA9mõ-„d0ÏÃVH}H}r(ëG&y¯×¢®¹—°rµ“nXu·î´|$îÀÐ=Ùÿõ¤·öHàøÒúQuÓ³(Z½Î‡ZuÕíÍiYÔÐtf[Ü#܃áö8֝зöŽÇd  üŠŸÿ×û6endstream endobj 6 0 obj 1271 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:38+01:00 2016-01-27T08:26:38+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001595 00000 n 0000003478 00000 n 0000001536 00000 n 0000001376 00000 n 0000000015 00000 n 0000001356 00000 n 0000001660 00000 n 0000001914 00000 n 0000001849 00000 n 0000001781 00000 n 0000001701 00000 n 0000001731 00000 n 0000001996 00000 n 0000002055 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<22FC864582597E168A140F077D22DF16><22FC864582597E168A140F077D22DF16>] >> startxref 3632 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_FTPPORT.html0000644000175000017500000000652312652070414016313 00000000000000 CURLOPT_FTPPORT man page

NAME

CURLOPT_FTPPORT - make FTP transfer active

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTPPORT, char *spec);

DESCRIPTION

Pass a pointer to a zero terminated string as parameter. It specifies that the FTP transfer will be made actively and the given string will be used to get the IP address to use for the FTP PORT instruction.

The PORT instruction tells the remote server to connect to our specified IP address. The string may be a plain IP address, a host name, a network interface name (under Unix) or just a '-' symbol to let the library use your system's default IP address. Default FTP operations are passive, and thus won't use PORT.

The address can be followed by a ':' to specify a port, optionally followed by a '-' to specify a port range. If the port specified is 0, the operating system will pick a free port. If a range is provided and all ports in the range are not available, libcurl will report CURLE_FTP_PORT_FAILED for the handle. Invalid port/range settings are ignored. IPv6 addresses followed by a port or portrange have to be in brackets. IPv6 addresses without port/range specifier can be in brackets.

Examples with specified ports:

  eth0:0
  192.168.1.2:32000-33000
  curl.se:32123
  [::1]:1234-4567

You disable PORT again and go back to using the passive version by setting this option to NULL.

DEFAULT

NULL

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Port range support was added in 7.19.5

RETURN VALUE

Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_FTP_USE_EPRT, CURLOPT_FTP_USE_EPSV

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SHARE.pdf0000644000175000017500000001023012652070443015614 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…VínÛ6ý笠À~T*bV$õ‰ ÜÔCݺqf+ÅŠd‹ŽÕÊRjÊ òP{Ç]’¢e;[‰e]Þ{ι_ü¡èO÷¹¼™'p¯Ü¾¨y Ý¿åÞæhêòÕÀž¡0H2NÒ òÍ IÆ \{çWóéì2¿]¼ÍÇ7¿ña¹ÛV·R¨§[%Ûæ¡õ‡, H$>”M­àù!ÿïüÃ`F1ÀãgŸd‘†Àcȧïbä¿BÈø–F$Ê8ÂÊ‹÷iìç_³€„ACÊôë@£< ÿ€zËrõj-¶Ö¢.* m;%­³ƒèC ?¤1IM´Å—‹Ùåb²8ŽiLL<ï—²^V»BÂoZ†7úYÿ®ÍYhhh,Ë Neº1¯àµ…sv,’}\¼‡×óÿ+ŠñœïÆ‹óùä2ŸÌ.tlT–FVØÿÀ|)´‘6#id…e„kĨžR ,_8‘)IãÔ^{’ϱ&Ò0ó¤IåA>b'!ë²Õi-Ð%<ˆ­ØÈVnµó¤:"à„sgNò=2ÊIÈCçFçn³S-~?¢JƒˆÐ4vlâŽÍ w½ÓŒPÒSÆRÖ°ÜJÑÊîž4Ô­)Œ4Ã2Ž²Þœ[—e³S°U…Et¢Ô') ãЉ}홼[Ét—ROÞ–uÙö}±ãl% Óœ¥N–EÏ€‘²Žf%b–AÛ–õ=´ëRíº3x,àF|³rw!(6Bì˶wLI”ÐÌ Ž~4p'8v :—PˆVÀjÛlÌ“ÉIÑÙ˜d0ªebûv$ïGY«VŠš|󱊚 òÁÂÜev†8z £ªzÇø¯Ñ§ËéØmßô/ùìpÓî¦á½›uzEiúìö7Ä AË}4-«ÝÒ£Ï0êiXÜÔÐÉtôv2ä_޹é]¦é5‡ÙöžÛvâh Æóû¤žK%¸ßÖ# ì‚›ó«ù|ö)ISo4½ŸÌÒmæ²Ým»»ñøvöñ¥‹èx £ébv¼Hü¹ëãùlöqrrGΰèž”òg6Õ¥ØO '±m©ª¼3k0!z9øCEYH"&ðaW hh/-ûš¢ÚÕ8ü‰Ÿ`ÌGjendstream endobj 6 0 obj 1434 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:27+01:00 2016-01-27T08:26:27+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001758 00000 n 0000003641 00000 n 0000001699 00000 n 0000001539 00000 n 0000000015 00000 n 0000001519 00000 n 0000001823 00000 n 0000002077 00000 n 0000002012 00000 n 0000001944 00000 n 0000001864 00000 n 0000001894 00000 n 0000002159 00000 n 0000002218 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3795 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.30000644000175000017500000000640012626067776016335 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_WILDCARDMATCH 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_WILDCARDMATCH \- enable directory wildcard transfers .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_WILDCARDMATCH, long onoff); .SH DESCRIPTION Set \fIonoff\fP to 1 if you want to transfer multiple files according to a file name pattern. The pattern can be specified as part of the \fICURLOPT_URL(3)\fP option, using an fnmatch-like pattern (Shell Pattern Matching) in the last part of URL (file name). By default, libcurl uses its internal wildcard matching implementation. You can provide your own matching function by the \fICURLOPT_FNMATCH_FUNCTION(3)\fP option. A brief introduction of its syntax follows: .RS .IP "* - ASTERISK" \&ftp://example.com/some/path/\fB*.txt\fP (for all txt's from the root directory) .RE .RS .IP "? - QUESTION MARK" Question mark matches any (exactly one) character. \&ftp://example.com/some/path/\fBphoto?.jpeg\fP .RE .RS .IP "[ - BRACKET EXPRESSION" The left bracket opens a bracket expression. The question mark and asterisk have no special meaning in a bracket expression. Each bracket expression ends by the right bracket and matches exactly one character. Some examples follow: \fB[a-zA-Z0\-9]\fP or \fB[f\-gF\-G]\fP \- character interval \fB[abc]\fP - character enumeration \fB[^abc]\fP or \fB[!abc]\fP - negation \fB[[:\fP\fIname\fP\fB:]]\fP class expression. Supported classes are \fBalnum\fP,\fBlower\fP, \fBspace\fP, \fBalpha\fP, \fBdigit\fP, \fBprint\fP, \fBupper\fP, \fBblank\fP, \fBgraph\fP, \fBxdigit\fP. \fB[][-!^]\fP - special case \- matches only '\-', ']', '[', '!' or '^'. These characters have no special purpose. \fB[\\[\\]\\\\]\fP - escape syntax. Matches '[', ']' or '\\'. Using the rules above, a file name pattern can be constructed: \&ftp://example.com/some/path/\fB[a-z[:upper:]\\\\].jpeg\fP .RE .PP .SH PROTOCOLS This feature is only supported for FTP download. .SH EXAMPLE See http://curl.haxx.se/libcurl/c/ftp-wildcard.html .SH AVAILABILITY Added in 7.21.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_FNMATCH_FUNCTION "(3), " CURLOPT_URL "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_RANDOM_FILE.html0000644000175000017500000000376212652070415016737 00000000000000 CURLOPT_RANDOM_FILE man page

NAME

CURLOPT_RANDOM_FILE - specify a source for random data

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RANDOM_FILE, char *path);

DESCRIPTION

Pass a char * to a zero terminated file name. The file will be used to read from to seed the random engine for SSL and more.

DEFAULT

NULL, not used

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_EGDSOCKET

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.30000644000175000017500000000431212626067776017126 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CONNECTTIMEOUT_MS 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CONNECTTIMEOUT_MS \- timeout for the connect phase .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT_MS, long timeout); .SH DESCRIPTION Pass a long. It should contain the maximum time in milliseconds that you allow the connection phase to the server to take. This only limits the connection phase, it has no impact once it has connected. Set to zero to switch to the default built-in connection timeout - 300 seconds. See also the \fICURLOPT_TIMEOUT_MS(3)\fP option. In unix-like systems, this might cause signals to be used unless \fICURLOPT_NOSIGNAL(3)\fP is set. .SH DEFAULT 300000 .SH PROTOCOLS All .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* complete connection within 10000 milliseconds */ curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10000L); curl_easy_perform(curl); } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_TIMEOUT "(3), " CURLOPT_LOW_SPEED_LIMIT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.30000644000175000017500000000423712646662361017231 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSH_PUBLIC_KEYFILE \- set public key file for SSH auth .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_PUBLIC_KEYFILE, char *filename); .SH DESCRIPTION Pass a char * pointing to a \fIfilename\fP for your public key. If not used, libcurl defaults to \fB$HOME/.ssh/id_dsa.pub\fP if the HOME environment variable is set, and just "id_dsa.pub" in the current directory if HOME is not set. If NULL (or an empty string) is passed, libcurl will pass no public key to libssh2, which then tries to compute it from the private key. This is known to work with libssh2 1.4.0+ linked against OpenSSL. .SH DEFAULT NULL .SH PROTOCOLS SFTP and SCP .SH EXAMPLE TODO .SH AVAILABILITY The "" trick was added in 7.26.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_SSH_PRIVATE_KEYFILE "(3), " CURLOPT_SSH_AUTH_TYPES "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.pdf0000644000175000017500000000725412652070430016633 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUmoâFþî_1R¿˜(l¼»^¿¨U%•;Ǧ°Üõ”TÈ1N ›Ã¦§ûQýõÚ8®oB Ä;žç™gæ™ý¡`©Oón»© ¯¥aÁ«ñÉ õ!4_éÞH ðÔùbèw(¸ \ŸÏ¹5Íá|ƹ¸=J)±¨cÊáO‹QïWùÖèSB)ÈÔ aÌ —ê!ÇŸ s aГ¿!âA-¦clJ„¯bÍ'“?õ =ì7‹,)¿,ʬ*vU¯Ï„…hÂÄÖE^ÂÎ\—p[çk8!Ö‘§Ä£¾ÿï9i&u £}p7õQ â ¥QߎBìs§ŽN ¬‡7yõ¼Ó–YĶ\èS¦ŽÿŸ¨GÞŒuÆÔ[Gæ¦ ð,ª¬ºäCY[Øë¼ÊöPð’o“*]Ašl6ÏIú»¦{Z)u}â ¤ì¯F˜}ŒâÉl<;¯ …hª2¿[çéæ°ÌàÕÊ;õ‡¬~¬Û CCÞèÂÓc.»ýTÁÍ*É—›ì.BZž}M!æÛXíhñmÛ^uÔg¶G,ÿXÂÅñ-Ÿx§ ®—pÓè÷ÔûþŠ\øÓ;Qk̆ÓñDŽã¨¤BÓå&É)¬Ð¸‚x6¯±Ë’®y«¤‚ÏëÍž38äUqHWÙž¿Àfý¬TTvIYâӤĸ vÕ’½ÂàBÛe«^Û,¯Ô``¸.ŽZ OœuA8cçÓ«ÃÕ¿nÌý<ªrµ‡T“Nv‹Íˆï6 ׆ÍSç§òÝ7² Û«ûŒ±Ô¦­æÑ-t•6sx Ê£œÕ×u•yÕ£y~M¥nKKc2mXؼfAmÄiåë3béfÆâ#&ãĵœv ãðÂ2HÛG‘{9ùÁ/ƒ‡I´“ä}s’dGƒr5ršÄ(nôžwe©ù*òˆ¦dµµÞŸØ;àÚÚhތñüx^6‚Ûž×òÑÞ,—8‹ë\¢–Öß×úhN9ŸFð¾G¹M|‡šƒp\ TW2ÆgÕaß\Á"~ë—zêõµëÊÃnWì«ly[›CΣwQÜãÂü-âÚ¨êż¨HƒõÍnÌ‚á,î ¹¤t¶½pCù>sÏLréýÁO/¡Ûóäˆí8íëò‡£á`:jP> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:16+01:00 2016-01-27T08:26:16+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001266 00000 n 0000003149 00000 n 0000001207 00000 n 0000001047 00000 n 0000000015 00000 n 0000001028 00000 n 0000001331 00000 n 0000001585 00000 n 0000001520 00000 n 0000001452 00000 n 0000001372 00000 n 0000001402 00000 n 0000001667 00000 n 0000001726 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<4A60998A2B97B1E2C4D3FE93369F79AB><4A60998A2B97B1E2C4D3FE93369F79AB>] >> startxref 3303 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CHUNK_DATA.html0000644000175000017500000000430212652070414016607 00000000000000 CURLOPT_CHUNK_DATA man page

NAME

CURLOPT_CHUNK_DATA - custom pointer to the FTP chunk callbacks

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CHUNK_DATA, void *pointer);

DESCRIPTION

Pass a pointer that will be untouched by libcurl and passed as the ptr argument to the CURL_CHUNK_BGN_FUNCTION(3) and CURL_CHUNK_END_FUNCTION(3).

DEFAULT

NULL

PROTOCOLS

FTP

EXAMPLE

TODO

AVAILABILITY

Added in 7.21.0

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_CHUNK_BGN_FUNCTION, CURLOPT_WILDCARDMATCH

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.30000644000175000017500000000377212626067776017476 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_MAX_RECV_SPEED_LARGE \- rate limit data download speed .SH SYNOPSIS .nf #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_MAX_RECV_SPEED_LARGE, curl_off_t speed); .SH DESCRIPTION Pass a curl_off_t as parameter. If a download exceeds this \fIspeed\fP (counted in bytes per second) on cumulative average during the transfer, the transfer will pause to keep the average rate less than or equal to the parameter value. Defaults to unlimited speed. This option doesn't affect transfer speeds done with FILE:// URLs. .SH DEFAULT 0, disabled .SH PROTOCOLS All but file:// .SH EXAMPLE .SH AVAILABILITY Added in 7.15.5 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_MAX_SEND_SPEED_LARGE "(3), " CURLOPT_LOW_SPEED_LIMIT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_UPLOAD.pdf0000644000175000017500000001120612652070450015740 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•WërâÈþÏStœSÐt«u\ªØ1“eÃË›LÆ)J†fÐZ F—e½[yƒ}•¼cÎén]ÀN<[T,µÎå;ß9çÓÂ(' ?æ{µë>ù\ôùÜûÒãê&1_«ù&‚^ˆ6=ý '¾MüPÐ $Ñ®g½»[Ìæ7Ñòîf6ïG?ô| †p2Z÷üº$:ö>Yã«{KÜ÷ɪÊÓ¥Œ‹§e!ËìPö‡¶Ë(ã®ÿ$Ù¾ 'ÿ}מKÝ@¬í §!£6‡ Vc1ÒÐÅ0‡ŽÃiH†ÂS\ñ,Ãcì„Âú0Áëmv6£óÉÛx›é¨Ob.eÌù‘ûø!•d—1©i¯U¬§‘@CîÑ@9¼ýx=¿¹ÞžºUG”Kë÷É~•VkIþˆ ðÝþÛ‰f½èh•Á™sïÕ-òfïשg‘sǃÈ$ÍöŸMÄ÷ý?¼ôÕäöÝbzMç×ÿ+nNý0@¸¬h+µùCœÇ;YÊ\?Ùy(ð¨Í„á†e`;5kSæÜœ€ÔH™åJ™¦)Ñ~òÇù^>äI²ÉrY“ƒÌáç~›ü(ˆÎB°CFEX;”†ŠJ ¨ç‹¦ »Åd|ue˜&|dÇiàÕä¶ÆQK-F†6=!—+ìú{÷˜NTÊÿôúýt6¹þsò‚IÎ5›³s¨9§¬áúsƒËÙxñ—ͺø £„óUÚº9oˆ|êú  ƒ…æ@œIöP{Y” p«£ËQP2ݨ"ò¬ÌVYJ’‚|E7Šã€P€PÚ̃R˜¬AÕŘ ?¬CcXð¨l£§Œ!ªÀßèåæ."¹üRA ¤Ú§²(ÈSV).©l`¹ñw[Þ~ak‘ ,äǤTùL´·;eM“r«¢'Æi²;¤‰Ô­ I² ‰ÉÅ䧃\•o[6\e{¤’d+ã5ôÆeÚ2T9 (¦ÛäL?¶9 1hR6Y¬€åë¤PC¨ÜŽÆ¨*ŽP;l³0Òó6€Òìœp˜Í·@úÉâ%fØmˆ¡khWqª rH NqXáTà`OAÍvaƒÆ[Ø ™ÿˆOs' a¨¥óÔC«žO4]3â©EGy17>Õ°h¶éÑŒ©gUI÷Yßv Ã"ùY’ ä„ßeœ—憚‡0þÀ%ì·†ÝóôB(sàØFæ$i³Zm«ýc?„nt…kÉ5ìÑ`’}ÎàF`lfe¨j=<‘x­X›ÊÁd{ÔëŽ ô†¤€U*L.êIäšÔÛ«1‰ò“² œfÔ`´z‡P[4NLŒoUøCc[Á €SLÔüy”ëB4Öõ¤À¯/È $eNð:ǬeGïñ–luš~ø{w…sÑq/tY:­È œºìMiBf ,M]?ƒ4Ê´êÛÔiÆó)ÁÚ) %ÜU0K èédó¤[Íó*q:Cj‚QÇÿY®ï î®cF4S×h|§û U‡ÉÝö`è黳vù´°a }ßMí>Yl@ÖrÓÇá‰â%®ÒÇîûA_:î¿F¾Ü,L¬ŽÓ0±lÏ7ÂÚvC•ü<"ó&2Æóš54Ÿ©H.„h[ª}ÈŠòÔ&ÿ¸™©·VŽèh1¤&ùŸ:Z)Ù' ”P÷à̱QUYÉæÞ NÁ™ÜB7zCŽ’Uk;°Û+9¢Æ{•@W°ë‚°h`älªý ÷$y3RpZÏU^iÕ*Œ÷w×ïP_ ”å*NÓ‡xõˆA^凑˜éQ5ë|\šP¾æJ A0 A>«õ_+/Áa7¡ØY†<´>ƒ3)ý‡‹Ù€\lÊÃÛÑHö¹!ÛO1,JIWÙn´NòQ™öRáÚ¾uü5•§QaH0»/Q˜aí;ÝMéqVD“Äq›¬¶ä)A¢4c *¾±~5Ò˜šêe°à°vm~Mñ®L‹r®çˆK=#Pࢭà8"c£pÔ¡€ºm ƒmGߘkëe‘¯ I‡6ƒF«·ª&7@r‹Ê¸Þc™VU¿ârÉêõ§“úúrkÃÑ'–Ù¦áùfYÞ÷7èóy‘®»E²©íÖ%Ê»%bõåjawPA…Ü ’MÜU}v+¹Aæ¯3(k\âú½¬×–2á9ÔoNžTXýk¾µ‚–cWÃH¹ÐÒõïj Œñù $0¯õ°ÐÕi¦…õoÃ7ž¿’vt½5Çß“öåðÜZËXÓÙø›él}]]Ÿ:žâ½‰Ð¼ü.&ÑÝâš|ßç86> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:32+01:00 2016-01-27T08:26:32+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000002245 00000 n 0000004135 00000 n 0000002186 00000 n 0000002026 00000 n 0000000015 00000 n 0000002006 00000 n 0000002310 00000 n 0000002564 00000 n 0000002499 00000 n 0000002431 00000 n 0000002351 00000 n 0000002381 00000 n 0000002646 00000 n 0000002712 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 4289 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.30000644000175000017500000000346412626067776016657 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_SSL_ENABLE_ALPN 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_SSL_ENABLE_ALPN \- enable ALPN .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_ALPN, long npn); .SH DESCRIPTION Pass a long as parameter, 0 or 1 where 1 is for enable and 0 for disable. This option enables/disables ALPN in the SSL handshake (if the SSL backend libcurl is built to use supports it), which can be used to negotiate http2. .SH DEFAULT 1, enabled .SH PROTOCOLS HTTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.36.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_SSL_ENABLE_NPN "(3), " CURLOPT_SSL_OPTIONS "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_HEADER.html0000644000175000017500000000552212652070415016104 00000000000000 CURLOPT_HEADER man page

NAME

CURLOPT_HEADER - pass headers to the data stream

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADER, long onoff);

DESCRIPTION

Pass in onoff set to 1 to tell the library to include the header in the body output for requests with this handle. This option is relevant for protocols that actually have headers or other meta-data (like HTTP and FTP).

When asking to get the header info passed to the same callback as the body, it is not possible to accurately separate them again without detailed knowledge about the protocol in use.

It is often better to use CURLOPT_HEADERFUNCTION to get the header data separately.

While named confusingly similar, CURLOPT_HTTPHEADER is used to set custom HTTP headers!

DEFAULT

0

PROTOCOLS

Most

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
 
  curl_easy_perform(curl);
}

RETURN VALUE

Returns CURLE_OK.

SEE ALSO

CURLOPT_HEADERFUNCTION, CURLOPT_HTTPHEADER

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.html0000644000175000017500000000534712652070414017320 00000000000000 CURLOPT_CONNECTTIMEOUT man page

NAME

CURLOPT_CONNECTTIMEOUT - timeout for the connect phase

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CONNECTTIMEOUT, long timeout);

DESCRIPTION

Pass a long. It should contain the maximum time in seconds that you allow the connection phase to the server to take. This only limits the connection phase, it has no impact once it has connected. Set to zero to switch to the default built-in connection timeout - 300 seconds. See also the CURLOPT_TIMEOUT option.

In unix-like systems, this might cause signals to be used unless CURLOPT_NOSIGNAL is set.

DEFAULT

300

PROTOCOLS

All

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
 
  /* complete connection within 10 seconds */
  curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10L);
 
  curl_easy_perform(curl);
}

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_TIMEOUT, CURLOPT_LOW_SPEED_LIMIT

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_TIMEOUT.30000644000175000017500000000533412626067776015522 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_TIMEOUT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_TIMEOUT \- set maximum time the request is allowed to take .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT, long timeout); .SH DESCRIPTION Pass a long as parameter containing \fItimeout\fP - the maximum time in seconds that you allow the libcurl transfer operation to take. Normally, name lookups can take a considerable time and limiting operations to less than a few minutes risk aborting perfectly normal operations. This option may cause libcurl to use the SIGALRM signal to timeout system calls. In unix-like systems, this might cause signals to be used unless \fICURLOPT_NOSIGNAL(3)\fP is set. If both \fICURLOPT_TIMEOUT(3)\fP and \fICURLOPT_TIMEOUT_MS(3)\fP are set, the value set last will be used. Since this puts a hard limit for how long time a request is allowed to take, it has limited use in dynamic use cases with varying transfer times. You are then advised to explore \fICURLOPT_LOW_SPEED_LIMIT(3)\fP, \fICURLOPT_LOW_SPEED_TIME(3)\fP or using \fICURLOPT_PROGRESSFUNCTION(3)\fP to implement your own timeout logic. .SH DEFAULT Default timeout is 0 (zero) which means it never times out during transfer. .SH PROTOCOLS All .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* complete within 20 seconds */ curl_easy_setopt(curl, CURLOPT_TIMEOUT, 20L); curl_easy_perform(curl); } .fi .SH AVAILABILITY Always .SH RETURN VALUE Returns CURLE_OK .SH "SEE ALSO" .BR CURLOPT_TIMEOUT_MS "(3), " .BR CURLOPT_CONNECTTIMEOUT "(3), " CURLOPT_LOW_SPEED_LIMIT "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_HEADERDATA.html0000644000175000017500000000467112652070415016542 00000000000000 CURLOPT_HEADERDATA man page

NAME

CURLOPT_HEADERDATA - pointer to pass to header callback

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADERDATA, void *pointer);

DESCRIPTION

Pass a pointer to be used to write the header part of the received data to.

If CURLOPT_WRITEFUNCTION or CURLOPT_HEADERFUNCTION is used, pointer will be passed in to the respective callback.

If neither of those options are set, pointer must be a valid FILE * and it will be used by a plain fwrite() to write headers to.

DEFAULT

NULL

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_HEADERFUNCTION, CURLOPT_WRITEFUNCTION

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_PRIMARY_IP.pdf0000644000175000017500000000772212652070455016575 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœVín£FýÏSŒÔÅQ˜e€µªäͺ’w‰qm¼m´©,ObZ›q'Mß©ïØ;×±ÓYŠc¸Ü{î9çÞá Ù˜ [}šïto¼[è±4lôh<DßDÍWºGïc`êBü`ÔÏ8(à.fÅ{üY-ÂéìÇh=_LoÇ‹Qü›Áì3Î 8ÞÔÃŽ‡âã‹y·žÎïM÷~„Òc±[‹¤|]?Š*ËäÈr¨mBMy¨2™—è<ï¯ñGÃõL½:oŸM•´lì”^x1§ ²å¹;.²\_?3«`[ÅŠ)w›\·u½oÕ±±gÈ"Žºm×ðÏùTæú A'þI6›B”%’h—”Jež‹Tõ¤[ÂXñ1Ó –w³h¾œ.‡Ptˆ†a~“åéî¸è{Åß;õoPáŠáЈ¯j©„˜ Šïõ=tµMòÍN\_ìS݉F 4+Ž\›`JŽ®ÓŽ;Ž=—³VˆmR ««ìp?ú®†>èÐó1ç']~˜,oÓyË“JlPYYþˆ¶r·QßÄ ¡q@Ù†uÞÂÊš\Eï%FAÎO}ƒ62è%«¶2+{ŽõPûA£„ÒüÂÈ6³»N\¿éD{£òµ°÷É+úª?ûèe+r(–Tî‹<ùºŒf²uœà€ö-YMðÄ«<êY8Sf/ö²xEI!’:óK¶Û©‚…°Ž%°—rÞñh»>TòóŠš§£ŠJ©«äƒä©<èç°¯BA>`J‰Í×]a¬=ÒÚV´gµ2.cØ¥ôlêU¡—Q¦ \3e âïpÁâ 5VÃUì%ÖÓcÆ[1úöT$†=SPÎCÝe;Fn·%¯¥i¶ C$sk{It(Zo;µ·5sM™çÓÙ!¬Ÿ×J´b¨ÞnWËÍ¢š@Ô4±nØÌø¡§ÏÁnÔ,„@Ê*%v‰ %†ö d­ùtt3í,§É®1'±ÛÎa7tJ›ýÆJw"ɇn»÷\1޳kyL™k RYÀŒd®Oï¹Æâ—‰À!â{'i¾hHô\¦Û„Ëš6-Û”ëZQŒ¢Ž ÇÅí·çÇM.ëžÌ×ëšžü2¾‡“v±ÜtqŸš¸jUÕ‰?DõÀaÊØ§W‘]'fë£ÖFýI2ø”´²MÃñûi8ïÎLH±ë160¿9Þl@Ô,G&Ûol÷“ó당˜Ä«Å }×ÃÜ'æ8\MšSï²eˆÕ±hŽúÉ:úƒ¨Õ¬_Ôê)‡ƒ,`·^#³ \Í>_]jþ<[Gú Qæ²ÂÿyÂN&h.£á =…t~jŽœæ—g}zëj§^Óú>ì£nZúÄ¥¨ Á!û°ÄÉÿMuù"¢Øæ¶Ç÷<‚_¼þŸ!&.ƒ×²©by°7YïÝ®LÝŒCõj0tŒÚü"Ì—§®Ã(pܰºË¾ªþÁFpÏY„R—›Pf +Ô~5T¯'¢Mbã'øü ;ˆendstream endobj 6 0 obj 1236 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:37+01:00 2016-01-27T08:26:37+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001560 00000 n 0000003443 00000 n 0000001501 00000 n 0000001341 00000 n 0000000015 00000 n 0000001321 00000 n 0000001625 00000 n 0000001879 00000 n 0000001814 00000 n 0000001746 00000 n 0000001666 00000 n 0000001696 00000 n 0000001961 00000 n 0000002020 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<495137E2E6FB63FC8CFA79A62C1D7AFB><495137E2E6FB63FC8CFA79A62C1D7AFB>] >> startxref 3597 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_PASSWORD.pdf0000644000175000017500000000756012652070437016233 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•Vín›HýÏS\i,DfÊðvµ’›PÕ­m¼ö¸i”¬,‚qL×°¬Ýgè«ô÷Î0€ã¤V–l䙹÷Ü{î9ÃW0ƒäoò¨¼™{ðP)<(_*Aþ$ð–áŸÿÁ6Js†‚g‚XÄ€=*·êår>Žfl5ÓS.×Ú_ìƒâ›Ä÷ ~„­×%¦숻£ùÕjÝiÊÝ*«VUZûZÓMÇPñ!+ò ú <˜eÚÄõšX·MŽ€aZ]<±O7ˆIV‚¨DM‡×mÃ#Žºåòêt¨±/X2î£q«‰¬NBþ_°i< :5ù²Ñð¼\Åt}¾Ã>®ª£†¹ j»jQ®¡.àP¥åêmš×Yó*ä§@ N]â 8‹›i4[ŒOA‰-úK–'»Ã:…ßy3ßð/²ýƒo7m`c…]4p“÷œ÷ûN,ÁÅ6Î×»t§uÃÀz΋@²K¸Ø×wÚo¯¡¿ —óÑŒ¢)G„ÔP§aæ…JfqÇH@|GòQUËœWØÙ2~Lë´-°‰o¾<08öÄš|‚vf¶Y²…j[vk¸Oa_dHCþÀ¹AJàߴć´|Ìò¸N×?&qS”â@]ÆyµA(ŽMß±UÒ Åú :'±mÚ°GVD>±¬€¶¸ú®ûØiߦM×M§ÉüdºO”HQ~¶,gžKñ¨Hñœ”‰ˆ×|î’"ÿrȱzÌê-/á.XÈÆ®å"œO5ÓC8®«'áKpt‹HGKfƒ4 ~2ïä\8¶ÏCµÔ–Q‡K±Jq=)TÓµ¤¨cÖ}GÌó<ËîÜïâüïWpÌæ†m ÔÆDžl„ŽRpšæF ¢.©iÏp[߸ŒÆg"EÜé‘LŠª~Høy8™ÃV,þÅÂz8´UËU$;æøþ ð]6ÞX[Ô5ü½"®ÓN:ߎÆ#vó´8¤Â²1Ç©/ªÃõº™5à0П×z«ÎC¶œOá“F-‹c?^†gcÕ—Œšr÷§õ¡”÷C¸Š>B¶z”£ŸUPöû¢Dä¦åôã4Òx¼0Ôëé*¦ÄOæE=€¢yy¦±¢ÊÀK¶ŠÞ­&á$šk¿¶fCQ¼(l)‘›Lã7֦ǛöQB©!Û'ï‹mZ¦pì|},Ë«ÃF39 ÓS¿%^ °Mã=Tû8IÉ ÎJ=ì¹sz7„! Ç‹¨ïóÙœ xv}uÆ !®ï†e¡èÁÓ@(x¿Óâ¹РAŽnðÌ—¸†_‹k¶™Û°ï›µ^ÀÛèÄêÞ¤´ãônÏÞŸUeÛù?Éu‘”¿`²¶qw¦ÀÓÚÜ{ZZÕè³Ô•váJ¯087(…›!,Oeôg_…Ü„¶°øÞa9qOFi—Ýó[%f!dM§Žƒ÷Ÿ£â+χC&^‚»s&¡Ã)âç?ªcp7endstream endobj 6 0 obj 1131 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:23+01:00 2016-01-27T08:26:23+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001455 00000 n 0000003345 00000 n 0000001396 00000 n 0000001236 00000 n 0000000015 00000 n 0000001216 00000 n 0000001520 00000 n 0000001774 00000 n 0000001709 00000 n 0000001641 00000 n 0000001561 00000 n 0000001591 00000 n 0000001856 00000 n 0000001922 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3499 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_POSTQUOTE.30000644000175000017500000000375012626067776015777 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_POSTQUOTE 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_POSTQUOTE \- (S)FTP commands to run after the transfer .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_POSTQUOTE, struct curl_slist *cmds); .SH DESCRIPTION Pass a pointer to a linked list of FTP or SFTP commands to pass to the server after your FTP transfer request. The commands will only be run if no error occurred. The linked list should be a fully valid list of struct curl_slist structs properly filled in as described for \fICURLOPT_QUOTE(3)\fP. Disable this operation again by setting a NULL to this option. .SH DEFAULT NULL .SH PROTOCOLS SFTP and FTP .SH EXAMPLE TODO .SH AVAILABILITY If support for the protocols are built-in. .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_QUOTE "(3), " CURLOPT_PREQUOTE "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_USERAGENT.30000644000175000017500000000421312626067776015724 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_USERAGENT 3 "17 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_USERAGENT \- set HTTP user-agent header .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_USERAGENT, char *ua); .SH DESCRIPTION Pass a pointer to a zero terminated string as parameter. It will be used to set the User-Agent: header in the HTTP request sent to the remote server. This can be used to fool servers or scripts. You can also set any custom header with \fICURLOPT_HTTPHEADER(3)\fP. .SH DEFAULT NULL, no User-Agent: header is used by default. .SH PROTOCOLS HTTP, HTTPS .SH EXAMPLE .nf CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); curl_easy_setopt(curl, CURLOPT_USERAGENT, "Dark Secret Ninja/1.0"); curl_easy_perform(curl); } .fi .SH AVAILABILITY As long as HTTP is supported .SH RETURN VALUE Returns CURLE_OK if HTTP is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_REFERER "(3), " CURLOPT_HTTPHEADER "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_INTERFACE.html0000644000175000017500000000550012652070415016450 00000000000000 CURLOPT_INTERFACE man page

NAME

CURLOPT_INTERFACE - source interface for outgoing traffic

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_INTERFACE, char *interface);

DESCRIPTION

Pass a char * as parameter. This sets the interface name to use as outgoing network interface. The name can be an interface name, an IP address, or a host name.

If the parameter starts with "if!" then it is treated as only as interface name and no attempt will ever be named to do treat it as an IP address or to do name resolution on it. If the parameter starts with "host!" it is treated as either an IP address or a hostname. Hostnames are resolved synchronously. Using the if! format is highly recommended when using the multi interfaces to avoid allowing the code to block. If "if!" is specified but the parameter does not match an existing interface, CURLE_INTERFACE_FAILED is returned from the libcurl function used to perform the transfer.

DEFAULT

NULL, use whatever the TCP stack finds suitable

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

The "if!" and "host!" syntax was added in 7.24.0.

RETURN VALUE

Returns CURLE_OK on success or CURLE_OUT_OF_MEMORY if there was insufficient heap space.

SEE ALSO

CURLOPT_SOCKOPTFUNCTION, CURLOPT_TCP_NODELAY

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.html0000644000175000017500000000460312652070414017172 00000000000000 CURLOPT_FRESH_CONNECT man page

NAME

CURLOPT_FRESH_CONNECT - force a new connection to be used

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FRESH_CONNECT, long fresh);

DESCRIPTION

Pass a long. Set to 1 to make the next transfer use a new (fresh) connection by force instead of trying to re-use an existing one. This option should be used with caution and only if you understand what it does as it may seriously impact performance.

Related functionality is CURLOPT_FORBID_REUSE which makes sure the connection is closed after use so that it won't be re-used.

Set fresh to 0 to have libcurl attempt re-using an existing connection (default behavior).

DEFAULT

0

PROTOCOLS

Most

EXAMPLE

TODO

AVAILABILITY

Always

RETURN VALUE

Returns CURLE_OK

SEE ALSO

CURLOPT_FORBID_REUSE

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLINFO_CONNECT_TIME.html0000644000175000017500000000407712652070415017160 00000000000000 CURLINFO_CONNECT_TIME man page

NAME

CURLINFO_CONNECT_TIME - get the time until connect

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME, double *timep);

DESCRIPTION

Pass a pointer to a double to receive the total time in seconds from the start until the connection to the remote host (or proxy) was completed.

See also the TIMES overview in the curl_easy_getinfo(3) man page.

PROTOCOLS

All

EXAMPLE

TODO

AVAILABILITY

Added in 7.4.1

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

curl_easy_getinfo (3), curl_easy_setopt (3)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.30000644000175000017500000000351412626067776016177 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_FTP_ACCOUNT 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_FTP_ACCOUNT \- set account info for FTP .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_ACCOUNT, char *account); .SH DESCRIPTION Pass a pointer to a zero terminated string (or NULL to disable). When an FTP server asks for "account data" after user name and password has been provided, this data is sent off using the ACCT command. .SH DEFAULT NULL .SH PROTOCOLS FTP .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.13.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. .SH "SEE ALSO" .BR CURLOPT_USERNAME "(3), " CURLOPT_PASSWORD "(3), " curl-7.47.0/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.30000644000175000017500000000403612626067776016733 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLINFO_APPCONNECT_TIME 3 "28 Aug 2015" "libcurl 7.44.0" "curl_easy_getinfo options" .SH NAME CURLINFO_APPCONNECT_TIME \- get the time until the SSL/SSH handshake is completed .SH SYNOPSIS #include CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME, double *timep); .SH DESCRIPTION Pass a pointer to a double to receive the time, in seconds, it took from the start until the SSL/SSH connect/handshake to the remote host was completed. This time is most often very near to the \fICURLINFO_PRETRANSFER_TIME(3)\fP time, except for cases such as HTTP pipelining where the pretransfer time can be delayed due to waits in line for the pipeline and more. See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page. .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.19.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.30000644000175000017500000000412512626067776016405 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_DNS_LOCAL_IP6 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_DNS_LOCAL_IP6 \- IPv6 address to bind DNS resolves to .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DNS_LOCAL_IP6, char *address); .SH DESCRIPTION Set the local IPv6 \fIaddress\fP that the resolver should bind to. The argument should be of type char * and contain a single IPv6 address as a string. Set this option to NULL to use the default setting (don't bind to a specific IP address). .SH DEFAULT NULL .SH PROTOCOLS All .SH EXAMPLE TODO .SH AVAILABILITY This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. Added in 7.33.0 .SH RETURN VALUE Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, CURLE_NOT_BUILT_IN if support was disabled at compile-time, or CURLE_BAD_FUNCTION_ARGUMENT when given a bad address. .SH "SEE ALSO" .BR CURLOPT_DNS_INTERFACE "(3), " CURLOPT_DNS_LOCAL_IP4 "(3), " curl-7.47.0/docs/libcurl/opts/CURLOPT_DIRLISTONLY.html0000644000175000017500000000603612652070414016770 00000000000000 CURLOPT_DIRLISTONLY man page

NAME

CURLOPT_DIRLISTONLY - ask for names only in a directory listing

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DIRLISTONLY, long listonly);

DESCRIPTION

For FTP and SFTP based URLs a parameter set to 1 tells the library to list the names of files in a directory, rather than performing a full directory listing that would normally include file sizes, dates etc.

For POP3 a parameter of 1 tells the library to list the email message or messages on the POP3 server. This can be used to change the default behaviour of libcurl, when combined with a URL that contains a message ID, to perform a "scan listing" which can then be used to determine the size of an email.

Note: For FTP this causes a NLST command to be sent to the FTP server. Beware that some FTP servers list only files in their response to NLST; they might not include subdirectories and symbolic links.

Setting this option to 1 also implies a directory listing even if the URL doesn't end with a slash, which otherwise is necessary.

Do NOT use this option if you also use CURLOPT_WILDCARDMATCH as it will effectively break that feature then.

DEFAULT

0, disabled

PROTOCOLS

FTP, SFTP and POP3

EXAMPLE

TODO

AVAILABILITY

This option was known as CURLOPT_FTPLISTONLY up to 7.16.4. POP3 is supported since 7.21.5.

RETURN VALUE

Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.

SEE ALSO

CURLOPT_CUSTOMREQUEST

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.pdf0000644000175000017500000000714412652070443017466 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ…Uín›HýÏS\iª0™>´«]Q‡®Üãœm•¬,Äaƒk°Ú<Ô¾ãÞü§I„Æs‡{ιçÞù”0 òžéJ9ŸÙ°l Kå›ÂºEé >ÄàÈ?â{¥ßÃÀ6ÀvMⸯæj@ü]¹QGóYNãEŽ.#±ø3мéx1ñG·ªy«AºÝ”‹ãõ?óhendstream endobj 6 0 obj 970 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 10 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 12 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:27+01:00 2016-01-27T08:26:27+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001293 00000 n 0000003097 00000 n 0000001234 00000 n 0000001074 00000 n 0000000015 00000 n 0000001055 00000 n 0000001358 00000 n 0000001533 00000 n 0000001468 00000 n 0000001399 00000 n 0000001429 00000 n 0000001615 00000 n 0000001674 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3251 %%EOF curl-7.47.0/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.30000644000175000017500000000352512626067776016604 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH CURLOPT_CLOSESOCKETDATA 3 "16 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" .SH NAME CURLOPT_CLOSESOCKETDATA \- pointer passed to the socket close callback .SH SYNOPSIS #include CURLcode curl_easy_setopt(CURL *handle, CURLOPT_CLOSESOCKETDATA, void *pointer); .SH DESCRIPTION Pass a \fIpointer\fP that will be untouched by libcurl and passed as the first argument in the closesocket callback set with \fICURLOPT_CLOSESOCKETFUNCTION(3)\fP. .SH DEFAULT The default value of this parameter is NULL. .SH PROTOCOLS All except file: .SH EXAMPLE TODO .SH AVAILABILITY Added in 7.21.7 .SH RETURN VALUE Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. .SH "SEE ALSO" .BR CURLOPT_CLOSESOCKETFUNCTION "(3), " CURLOPT_OPENSOCKETFUNCTION "(3), " curl-7.47.0/docs/libcurl/curl_getdate.30000644000175000017500000001040612626067776014635 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_getdate 3 "12 Aug 2005" "libcurl 7.0" "libcurl Manual" .SH NAME curl_getdate - Convert a date string to number of seconds .SH SYNOPSIS .B #include .sp .BI "time_t curl_getdate(char *" datestring ", time_t *"now " );" .ad .SH DESCRIPTION \fIcurl_getdate(3)\fP returns the number of seconds since the Epoch, January 1st 1970 00:00:00 in the UTC time zone, for the date and time that the \fIdatestring\fP parameter specifies. The \fInow\fP parameter is not used, pass a NULL there. .SH PARSING DATES AND TIMES A "date" is a string containing several items separated by whitespace. The order of the items is immaterial. A date string may contain many flavors of items: .TP 0.8i .B calendar date items Can be specified several ways. Month names can only be three-letter english abbreviations, numbers can be zero-prefixed and the year may use 2 or 4 digits. Examples: 06 Nov 1994, 06-Nov-94 and Nov-94 6. .TP .B time of the day items This string specifies the time on a given day. You must specify it with 6 digits with two colons: HH:MM:SS. To not include the time in a date string, will make the function assume 00:00:00. Example: 18:19:21. .TP .B time zone items Specifies international time zone. There are a few acronyms supported, but in general you should instead use the specific relative time compared to UTC. Supported formats include: -1200, MST, +0100. .TP .B day of the week items Specifies a day of the week. Days of the week may be spelled out in full (using english): `Sunday', `Monday', etc or they may be abbreviated to their first three letters. This is usually not info that adds anything. .TP .B pure numbers If a decimal number of the form YYYYMMDD appears, then YYYY is read as the year, MM as the month number and DD as the day of the month, for the specified calendar date. .PP .SH EXAMPLES .nf Sun, 06 Nov 1994 08:49:37 GMT Sunday, 06-Nov-94 08:49:37 GMT Sun Nov 6 08:49:37 1994 06 Nov 1994 08:49:37 GMT 06-Nov-94 08:49:37 GMT Nov 6 08:49:37 1994 06 Nov 1994 08:49:37 06-Nov-94 08:49:37 1994 Nov 6 08:49:37 GMT 08:49:37 06-Nov-94 Sunday 94 6 Nov 08:49:37 1994 Nov 6 06-Nov-94 Sun Nov 6 94 1994.Nov.6 Sun/Nov/6/94/GMT Sun, 06 Nov 1994 08:49:37 CET 06 Nov 1994 08:49:37 EST Sun, 12 Sep 2004 15:05:58 -0700 Sat, 11 Sep 2004 21:32:11 +0200 20040912 15:05:58 -0700 20040911 +0200 .fi .SH STANDARDS This parser was written to handle date formats specified in RFC 822 (including the update in RFC 1123) using time zone name or time zone delta and RFC 850 (obsoleted by RFC 1036) and ANSI C's asctime() format. These formats are the only ones RFC 7231 says HTTP applications may use. .SH RETURN VALUE This function returns -1 when it fails to parse the date string. Otherwise it returns the number of seconds as described. If the year is larger than 2037 on systems with 32 bit time_t, this function will return 0x7fffffff (since that is the largest possible signed 32 bit number). Having a 64 bit time_t is not a guarantee that dates beyond 03:14:07 UTC, January 19, 2038 will work fine. On systems with a 64 bit time_t but with a crippled mktime(), \fIcurl_getdate(3)\fP will return -1 in this case. .SH "SEE ALSO" .BR curl_easy_escape "(3), " curl_easy_unescape "(3), " .BR CURLOPT_TIMECONDITION "(3), " CURLOPT_TIMEVALUE "(3) " curl-7.47.0/docs/libcurl/curl_share_init.html0000644000175000017500000000441412652070414016127 00000000000000 curl_share_init man page

NAME

curl_share_init - Create a shared object

SYNOPSIS

#include <curl/curl.h>

CURLSH *curl_share_init( );

DESCRIPTION

This function returns a CURLSH handle to be used as input to all the other share-functions, sometimes referred to as a share handle in some places in the documentation. This init call MUST have a corresponding call to curl_share_cleanup when all operations using the share are complete.

This share handle is what you pass to curl using the CURLOPT_SHARE(3) option with curl_easy_setopt, to make that specific curl handle use the data in this share.

RETURN VALUE

If this function returns NULL, something went wrong (out of memory, etc.) and therefore the share object was not created.

SEE ALSO

curl_share_cleanup, curl_share_setopt

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_version_info.html0000644000175000017500000002357612652070414016514 00000000000000 curl_version_info man page

NAME

curl_version_info - returns run-time libcurl version info

SYNOPSIS

#include <curl/curl.h>

curl_version_info_data *curl_version_info( CURLversion type );

DESCRIPTION

Returns a pointer to a filled in static struct with information about various features in the running version of libcurl. type should be set to the version of this functionality by the time you write your program. This way, libcurl will always return a proper struct that your program understands, while programs in the future might get a different struct. CURLVERSION_NOW will be the most recent one for the library you have installed:

  data = curl_version_info(CURLVERSION_NOW);

Applications should use this information to judge if things are possible to do or not, instead of using compile-time checks, as dynamic/DLL libraries can be changed independent of applications.

The curl_version_info_data struct looks like this

typedef struct {
  CURLversion age;          /* see description below */
 
  /* when 'age' is 0 or higher, the members below also exist: */
  const char *version;      /* human readable string */
  unsigned int version_num; /* numeric representation */
  const char *host;         /* human readable string */
  int features;             /* bitmask, see below */
  char *ssl_version;        /* human readable string */
  long ssl_version_num;     /* not used, always zero */
  const char *libz_version; /* human readable string */
  const char * const *protocols; /* protocols */
 
  /* when 'age' is 1 or higher, the members below also exist: */
  const char *ares;         /* human readable string */
  int ares_num;             /* number */
 
  /* when 'age' is 2 or higher, the member below also exists: */
  const char *libidn;       /* human readable string */
 
  /* when 'age' is 3 or higher (7.16.1 or later), the members below also
     exist  */
  int iconv_ver_num;       /* '_libiconv_version' if iconv support enabled */
 
  const char *libssh_version; /* human readable string */
 
} curl_version_info_data;

age describes what the age of this struct is. The number depends on how new the libcurl you're using is. You are however guaranteed to get a struct that you have a matching struct for in the header, as you tell libcurl your "age" with the input argument.

version is just an ascii string for the libcurl version.

version_num is a 24 bit number created like this: <8 bits major number> | <8 bits minor number> | <8 bits patch number>. Version 7.9.8 is therefore returned as 0x070908.

host is an ascii string showing what host information that this libcurl was built for. As discovered by a configure script or set by the build environment.

features can have none, one or more bits set, and the currently defined bits are:

CURL_VERSION_IPV6

supports IPv6

CURL_VERSION_KERBEROS4

supports Kerberos V4 (when using FTP)

CURL_VERSION_KERBEROS5

supports Kerberos V5 authentication for FTP, IMAP, POP3, SMTP and SOCKSv5 proxy (Added in 7.40.0)

CURL_VERSION_SSL

supports SSL (HTTPS/FTPS) (Added in 7.10)

CURL_VERSION_LIBZ

supports HTTP deflate using libz (Added in 7.10)

CURL_VERSION_NTLM

supports HTTP NTLM (added in 7.10.6)

CURL_VERSION_GSSNEGOTIATE

supports HTTP GSS-Negotiate (added in 7.10.6)

CURL_VERSION_DEBUG

libcurl was built with debug capabilities (added in 7.10.6)

CURL_VERSION_CURLDEBUG

libcurl was built with memory tracking debug capabilities. This is mainly of interest for libcurl hackers. (added in 7.19.6)

CURL_VERSION_ASYNCHDNS

libcurl was built with support for asynchronous name lookups, which allows more exact timeouts (even on Windows) and less blocking when using the multi interface. (added in 7.10.7)

CURL_VERSION_SPNEGO

libcurl was built with support for SPNEGO authentication (Simple and Protected GSS-API Negotiation Mechanism, defined in RFC 2478.) (added in 7.10.8)

CURL_VERSION_LARGEFILE

libcurl was built with support for large files. (Added in 7.11.1)

CURL_VERSION_IDN

libcurl was built with support for IDNA, domain names with international letters. (Added in 7.12.0)

CURL_VERSION_SSPI

libcurl was built with support for SSPI. This is only available on Windows and makes libcurl use Windows-provided functions for Kerberos, NTLM, SPNEGO and Digest authentication. It also allows libcurl to use the current user credentials without the app having to pass them on. (Added in 7.13.2)

CURL_VERSION_GSSAPI

libcurl was built with support for GSS-API. This makes libcurl use provided functions for Kerberos and SPNEGO authentication. It also allows libcurl to use the current user credentials without the app having to pass them on. (Added in 7.38.0)

CURL_VERSION_CONV

libcurl was built with support for character conversions, as provided by the CURLOPT_CONV_* callbacks. (Added in 7.15.4)

CURL_VERSION_TLSAUTH_SRP

libcurl was built with support for TLS-SRP. (Added in 7.21.4)

CURL_VERSION_NTLM_WB

libcurl was built with support for NTLM delegation to a winbind helper. (Added in 7.22.0)

CURL_VERSION_HTTP2

libcurl was built with support for HTTP2. (Added in 7.33.0)

CURL_VERSION_UNIX_SOCKETS

libcurl was built with support for Unix domain sockets. (Added in 7.40.0)

CURL_VERSION_PSL

libcurl was built with support for Mozilla's Public Suffix List. This makes libcurl ignore cookies with a domain that's on the list. (Added in 7.47.0)

ssl_version is an ASCII string for the OpenSSL version used. If libcurl has no SSL support, this is NULL.

ssl_version_num is always 0.

libz_version is an ASCII string (there is no numerical version). If libcurl has no libz support, this is NULL.

protocols is a pointer to an array of char * pointers, containing the names protocols that libcurl supports (using lowercase letters). The protocol names are the same as would be used in URLs. The array is terminated by a NULL entry.

RETURN VALUE

A pointer to a curl_version_info_data struct.

SEE ALSO

curl_version

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_strequal.30000644000175000017500000000437312626067776015066 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_strequal 3 "30 April 2004" "libcurl 7.12" "libcurl Manual" .SH NAME curl_strequal, curl_strnequal - case insensitive string comparisons .SH SYNOPSIS .B #include .sp .BI "int curl_strequal(char *" str1 ", char *" str2 ");" .sp .BI "int curl_strenqual(char *" str1 ", char *" str2 ", size_t " len ");" .SH DESCRIPTION The .B curl_strequal() function compares the two strings \fIstr1\fP and \fIstr2\fP, ignoring the case of the characters. It returns a non-zero (TRUE) integer if the strings are identical. .sp The \fBcurl_strnequal()\fP function is similar, except it only compares the first \fIlen\fP characters of \fIstr1\fP. .sp These functions are provided by libcurl to enable applications to compare strings in a truly portable manner. There are no standard portable case insensitive string comparison functions. These two work on all platforms. .SH AVAILABILITY These functions will be removed from the public libcurl API in a near future. They will instead be made "available" by source code access only, and then as curlx_strequal() and curlx_strenqual(). .SH RETURN VALUE Non-zero if the strings are identical. Zero if they're not. .SH "SEE ALSO" .BR strcmp "(3), " strcasecmp "(3)" curl-7.47.0/docs/libcurl/curl_easy_getinfo.30000644000175000017500000001751612626067776015705 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH curl_easy_getinfo 3 "11 Feb 2009" "libcurl 7.19.4" "libcurl Manual" .SH NAME curl_easy_getinfo - extract information from a curl handle .SH SYNOPSIS .B #include .B "CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );" .SH DESCRIPTION Request internal information from the curl session with this function. The third argument \fBMUST\fP be a pointer to a long, a pointer to a char *, a pointer to a struct curl_slist * or a pointer to a double (as this documentation describes further down). The data pointed-to will be filled in accordingly and can be relied upon only if the function returns CURLE_OK. Use this function AFTER a performed transfer if you want to get transfer related data. You should not free the memory returned by this function unless it is explicitly mentioned below. .SH AVAILABLE INFORMATION The following information can be extracted: .IP CURLINFO_EFFECTIVE_URL Last used URL. See \fICURLINFO_EFFECTIVE_URL(3)\fP .IP CURLINFO_RESPONSE_CODE Last received response code. See \fICURLINFO_RESPONSE_CODE(3)\fP .IP CURLINFO_HTTP_CONNECTCODE Last proxy CONNECT response code. See \fICURLINFO_HTTP_CONNECTCODE(3)\fP .IP CURLINFO_FILETIME Remote time of the retrieved document. See \fICURLINFO_FILETIME(3)\fP .IP CURLINFO_TOTAL_TIME Total time of previous transfer. See \fICURLINFO_TOTAL_TIME(3)\fP .IP CURLINFO_NAMELOOKUP_TIME Time from start until name resolving completed. See \fICURLINFO_NAMELOOKUP_TIME(3)\fP .IP CURLINFO_CONNECT_TIME Time from start until remote host or proxy completed. See \fICURLINFO_CONNECT_TIME(3)\fP .IP CURLINFO_APPCONNECT_TIME Time from start until SSL/SSH handshake completed. See \fICURLINFO_APPCONNECT_TIME(3)\fP .IP CURLINFO_PRETRANSFER_TIME Time from start until just before the transfer begins. See \fICURLINFO_PRETRANSFER_TIME(3)\fP .IP CURLINFO_STARTTRANSFER_TIME Time from start until just when the first byte is received. See \fICURLINFO_STARTTRANSFER_TIME(3)\fP .IP CURLINFO_REDIRECT_TIME Time taken for all redirect steps before the final transfer. See \fICURLINFO_REDIRECT_TIME(3)\fP .IP CURLINFO_REDIRECT_COUNT Total number of redirects that were followed. See \fICURLINFO_REDIRECT_COUNT(3)\fP .IP CURLINFO_REDIRECT_URL URL a redirect would take you to, had you enabled redirects. See \fICURLINFO_REDIRECT_URL(3)\fP .IP CURLINFO_SIZE_UPLOAD Number of bytes uploaded. See \fICURLINFO_SIZE_UPLOAD(3)\fP .IP CURLINFO_SIZE_DOWNLOAD Number of bytes downloaded. See \fICURLINFO_SIZE_DOWNLOAD(3)\fP .IP CURLINFO_SPEED_DOWNLOAD Average download speed. See \fICURLINFO_SPEED_DOWNLOAD(3)\fP .IP CURLINFO_SPEED_UPLOAD Average upload speed. See \fICURLINFO_SPEED_UPLOAD(3)\fP .IP CURLINFO_HEADER_SIZE Number of bytes of all headers received. See \fICURLINFO_HEADER_SIZE(3)\fP .IP CURLINFO_REQUEST_SIZE Number of bytes sent in the issued HTTP requests. See \fICURLINFO_REQUEST_SIZE(3)\fP .IP CURLINFO_SSL_VERIFYRESULT Certificate verification result. See \fICURLINFO_SSL_VERIFYRESULT(3)\fP .IP CURLINFO_SSL_ENGINES A list of OpenSSL crypto engines. See \fICURLINFO_SSL_ENGINES(3)\fP .IP CURLINFO_CONTENT_LENGTH_DOWNLOAD Content length from the Content-Length header. See \fICURLINFO_CONTENT_LENGTH_DOWNLOAD(3)\fP .IP CURLINFO_CONTENT_LENGTH_UPLOAD Upload size. See \fICURLINFO_CONTENT_LENGTH_UPLOAD(3)\fP .IP CURLINFO_CONTENT_TYPE Content type from the Content-Type header. See \fICURLINFO_CONTENT_TYPE(3)\fP .IP CURLINFO_PRIVATE User's private data pointer. See \fICURLINFO_PRIVATE(3)\fP .IP CURLINFO_HTTPAUTH_AVAIL Available HTTP authentication methods. See \fICURLINFO_HTTPAUTH_AVAIL(3)\fP .IP CURLINFO_PROXYAUTH_AVAIL Available HTTP proxy authentication methods. See \fICURLINFO_PROXYAUTH_AVAIL(3)\fP .IP CURLINFO_OS_ERRNO The errno from the last failure to connect. See \fICURLINFO_OS_ERRNO(3)\fP .IP CURLINFO_NUM_CONNECTS Number of new successful connections used for previous transfer. See \fICURLINFO_NUM_CONNECTS(3)\fP .IP CURLINFO_PRIMARY_IP IP address of the last connection. See \fICURLINFO_PRIMARY_IP(3)\fP .IP CURLINFO_PRIMARY_PORT Port of the last connection. See \fICURLINFO_PRIMARY_PORT(3)\fP .IP CURLINFO_LOCAL_IP Local-end IP address of last connection. See \fICURLINFO_LOCAL_IP(3)\fP .IP CURLINFO_LOCAL_PORT Local-end port of last connection. See \fICURLINFO_LOCAL_PORT(3)\fP .IP CURLINFO_COOKIELIST List of all known cookies. See \fICURLINFO_COOKIELIST(3)\fP .IP CURLINFO_LASTSOCKET Last socket used. See \fICURLINFO_LASTSOCKET(3)\fP .IP CURLINFO_ACTIVESOCKET The session's active socket. See \fICURLINFO_ACTIVESOCKET(3)\fP .IP CURLINFO_FTP_ENTRY_PATH The entry path after logging in to an FTP server. See \fICURLINFO_FTP_ENTRY_PATH(3)\fP .IP CURLINFO_CERTINFO Certificate chain. See \fICURLINFO_CERTINFO(3)\fP .IP CURLINFO_TLS_SESSION TLS session info that can be used for further processing. See \fICURLINFO_TLS_SESSION(3)\fP .IP CURLINFO_CONDITION_UNMET Whether or not a time conditional was met. See \fICURLINFO_CONDITION_UNMET(3)\fP .IP CURLINFO_RTSP_SESSION_ID RTSP session ID. See \fICURLINFO_RTSP_SESSION_ID(3)\fP .IP CURLINFO_RTSP_CLIENT_CSEQ RTSP CSeq that will next be used. See \fICURLINFO_RTSP_CLIENT_CSEQ(3)\fP .IP CURLINFO_RTSP_SERVER_CSEQ RTSP CSeq that will next be expected. See \fICURLINFO_RTSP_SERVER_CSEQ(3)\fP .IP CURLINFO_RTSP_CSEQ_RECV RTSP CSeq last received. See \fICURLINFO_RTSP_CSEQ_RECV(3)\fP .SH TIMES .nf An overview of the six time values available from curl_easy_getinfo() curl_easy_perform() | |--NAMELOOKUP |--|--CONNECT |--|--|--APPCONNECT |--|--|--|--PRETRANSFER |--|--|--|--|--STARTTRANSFER |--|--|--|--|--|--TOTAL |--|--|--|--|--|--REDIRECT .fi .IP NAMELOOKUP \fICURLINFO_NAMELOOKUP_TIME\fP. The time it took from the start until the name resolving was completed. .IP CONNECT \fICURLINFO_CONNECT_TIME\fP. The time it took from the start until the connect to the remote host (or proxy) was completed. .IP APPCONNECT \fICURLINFO_APPCONNECT_TIME\fP. The time it took from the start until the SSL connect/handshake with the remote host was completed. (Added in in 7.19.0) .IP PRETRANSFER \fICURLINFO_PRETRANSFER_TIME\fP. The time it took from the start until the file transfer is just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved. .IP STARTTRANSFER \fICURLINFO_STARTTRANSFER_TIME\fP. The time it took from the start until the first byte is received by libcurl. .IP TOTAL \fICURLINFO_TOTAL_TIME\fP. Total time of the previous request. .IP REDIRECT \fICURLINFO_REDIRECT_TIME\fP. The time it took for all redirection steps include name lookup, connect, pretransfer and transfer before final transaction was started. So, this is zero if no redirection took place. .SH RETURN VALUE If the operation was successful, CURLE_OK is returned. Otherwise an appropriate error code will be returned. .SH "SEE ALSO" .BR curl_easy_setopt "(3)" curl-7.47.0/docs/libcurl/curl_multi_remove_handle.pdf0000644000175000017500000000756112652070421017635 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥VÛnã6}×W Ї•1ËD‰hQ Ýú!E.[GiQd‹@+˶YÊJ²ƒüC?ºCêJ;mŠI gæœ93Ão@ ªº¿ÉÎ9_°© ç›ÃÌ!t’ü¡A¨?Dk§½Ã à(ABÑÎq“}•?îöy“=V鮜E9sôïC”82 T*…·¢•ãR}Hõ"›sO¥„{û8‡ãˆF¿Œ!…P„Šw"ZqºŒ9SÚî|©.Q¾F<÷¸Gds!͵›‹Áó‰¯ú8× ý}dŠSâÑæŒ›ãÿOÕôôYÃNÝP"м³&ÂØRˆµ'ƆIÂe]¨b ÅQb¸l®Æõ+tÑÖU¹ƒLþP§u•E wʧø/GÈ’„ÆÿÝ7·Ÿï.ïlfÈž•ï²"É÷«~Ðüœë_dû£ÉÕp帟î—W×I‰Ç~3¬Ð€éýzŸð±õÕ~<ý>¦ˆ¹·›}ŠI…¼Ž^Ü}Z^~Ž.ooþãò¸N\` ºË—“€±ÓœëxÓK³E’ÀçíáœX¨ìV!C6ˆ©«£]^Æ¡ªw?k§ïc>”ñ^J\熌 šmzäT ~ÃÎØÒj!³½‡CÁH4Í]èXíÁ6«á%ËsØÅO–'AÀzˆi3)¸4”cÚ&ëm õsšd§+H'¢þšžöé{OJ+sÇãC{Ó)=˜vÛ(mœ“öSL+©«m2â¦$»²,šªÌ‰‰Á¨æ æºVŽ ”Jê÷mZèJX€¶q ðà–”„ÒÂ…ÃK;;Á¶ÓÂ/üŽçךMœDŒ+Ë4Æ™í ûÕ™øËЬ±IlMÿ¿\IìË·\ū՛ۊá»c°ßss’¸­=/ìxè9 Öm2–9õǹ,¯Çæ“•WÉðÃÛ÷ Φ~ 2ýe9¿âÏ?¡énendstream endobj 6 0 obj 1142 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:09+01:00 2016-01-27T08:26:09+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001466 00000 n 0000003346 00000 n 0000001407 00000 n 0000001247 00000 n 0000000015 00000 n 0000001227 00000 n 0000001531 00000 n 0000001785 00000 n 0000001720 00000 n 0000001652 00000 n 0000001572 00000 n 0000001602 00000 n 0000001867 00000 n 0000001923 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<2EE0B567A52D8F24E9F30F8B11C2EC92><2EE0B567A52D8F24E9F30F8B11C2EC92>] >> startxref 3500 %%EOF curl-7.47.0/docs/libcurl/curl_multi_setopt.30000644000175000017500000000643412626067776015756 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_setopt 3 "4 Nov 2014" "libcurl 7.39.0" "libcurl Manual" .SH NAME curl_multi_setopt \- set options for a curl multi handle .SH SYNOPSIS #include CURLMcode curl_multi_setopt(CURLM * multi_handle, CURLMoption option, param); .SH DESCRIPTION \fIcurl_multi_setopt(3)\fP is used to tell a libcurl multi handle how to behave. By using the appropriate options to \fIcurl_multi_setopt(3)\fP, you can change libcurl's behaviour when using that multi handle. All options are set with the \fIoption\fP followed by the parameter \fIparam\fP. That parameter can be a \fBlong\fP, a \fBfunction pointer\fP, an \fBobject pointer\fP or a \fBcurl_off_t\fP type, depending on what the specific option expects. Read this manual carefully as bad input values may cause libcurl to behave badly! You can only set one option in each function call. .SH OPTIONS .IP CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE See \fICURLMOPT_CHUNK_LENGTH_PENALTY_SIZE(3)\fP .IP CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE See \fICURLMOPT_CONTENT_LENGTH_PENALTY_SIZE(3)\fP .IP CURLMOPT_MAX_HOST_CONNECTIONS See \fICURLMOPT_MAX_HOST_CONNECTIONS(3)\fP .IP CURLMOPT_MAX_PIPELINE_LENGTH See \fICURLMOPT_MAX_PIPELINE_LENGTH(3)\fP .IP CURLMOPT_MAX_TOTAL_CONNECTIONS See \fICURLMOPT_MAX_TOTAL_CONNECTIONS(3)\fP .IP CURLMOPT_MAXCONNECTS See \fICURLMOPT_MAXCONNECTS(3)\fP .IP CURLMOPT_PIPELINING See \fICURLMOPT_PIPELINING(3)\fP .IP CURLMOPT_PIPELINING_SITE_BL See \fICURLMOPT_PIPELINING_SITE_BL(3)\fP .IP CURLMOPT_PIPELINING_SERVER_BL See \fICURLMOPT_PIPELINING_SERVER_BL(3)\fP .IP CURLMOPT_PUSHFUNCTION See \fICURLMOPT_PUSHFUNCTION(3)\fP .IP CURLMOPT_PUSHDATA See \fICURLMOPT_PUSHDATA(3)\fP .IP CURLMOPT_SOCKETFUNCTION See \fICURLMOPT_SOCKETFUNCTION(3)\fP .IP CURLMOPT_SOCKETDATA See \fICURLMOPT_SOCKETDATA(3)\fP .IP CURLMOPT_TIMERFUNCTION See \fICURLMOPT_TIMERFUNCTION(3)\fP .IP CURLMOPT_TIMERDATA See \fICURLMOPT_TIMERDATA(3)\fP .SH RETURNS The standard CURLMcode for multi interface error codes. Note that it returns a CURLM_UNKNOWN_OPTION if you try setting an option that this version of libcurl doesn't know of. .SH AVAILABILITY This function was added in libcurl 7.15.4. .SH "SEE ALSO" .BR curl_multi_cleanup "(3), " curl_multi_init "(3), " .BR curl_multi_socket "(3), " curl_multi_info_read "(3)" curl-7.47.0/docs/libcurl/curl_easy_reset.pdf0000644000175000017500000000716512652070422015757 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœUÛŽÛ6}×W ЇREÄ%©{[p²~pàxS[ ð#Ñ+eeɱ¤5’oèGw(JYË›´@a@‚y™9sΙÑg`”Ó¿áî­«u÷ÅàÞúlñ~†Wº‡— ˆôB²³Ì¡€0viC²·¸ˆ( 9Y[’vÇòƒ’Í—GÕ¨öޏw6”ÅG½n;Âg”±¼‘U'KøÞaû¯äµå0*8ÆN1uŒ©iìëì.&YZd5³F´¸Ë}êÇ."J2‹¼™Ûɧ3¬‚Q…àp¡·™Æw 0oY–PÚ¢®¨w GÈШ¦ÁUÈe••Ê$8Cä $‡4êlÞ¯nÞn›§cêù©¨Ò²Ëü®ƒ_éÍÿÐÇ­V$¼¾ÄÇz,1¦±©oKŠìœ1›Gİöêv½„_zâ®ÖœR!,!n.á÷ü„Ô¶ïìßž—Æ£˜úT×”w=ß¼Z/Þ&‹›Õ”é§ °gz­œ¢*ÚB–ÅWÕL>{$Õó\n 苃…‹ºkÊ/ uAæ%4•« úBM)ÐÖÐæ 2µ³9#²+[x´…GãˆùD–j($yÙº¶2}0γžÛbKt¨iàFîñÑÊVl há„y´y]¢ÿWpÊU5®ë¥O]ÓBzTx#ƒSÑæ—‚ˆ0¢?0þ$¤fÉ8Âi€¬Gl`‡ÐÞ#®RßEE> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:10+01:00 2016-01-27T08:26:10+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001214 00000 n 0000003094 00000 n 0000001155 00000 n 0000000995 00000 n 0000000015 00000 n 0000000976 00000 n 0000001279 00000 n 0000001533 00000 n 0000001468 00000 n 0000001400 00000 n 0000001320 00000 n 0000001350 00000 n 0000001615 00000 n 0000001671 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3248 %%EOF curl-7.47.0/docs/libcurl/curl_easy_duphandle.30000644000175000017500000000443412626067776016211 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_easy_duphandle 3 "19 Sep 2014" "libcurl" "libcurl Manual" .SH NAME curl_easy_duphandle - Clone a libcurl session handle .SH SYNOPSIS .B #include .BI "CURL *curl_easy_duphandle(CURL *"handle ");" .SH DESCRIPTION This function will return a new curl handle, a duplicate, using all the options previously set in the input curl \fIhandle\fP. Both handles can subsequently be used independently and they must both be freed with \fIcurl_easy_cleanup(3)\fP. All strings that the input handle has been told to point to (as opposed to copy) with previous calls to \fIcurl_easy_setopt(3)\fP using char * inputs, will be pointed to by the new handle as well. You must therefore make sure to keep the data around until both handles have been cleaned up. The new handle will \fBnot\fP inherit any state information, no connections, no SSL sessions and no cookies. \fBNote\fP that even in multi-threaded programs, this function must be called in a synchronous way, the input handle may not be in use when cloned. .SH RETURN VALUE If this function returns NULL, something went wrong and no valid handle was returned. .SH "SEE ALSO" .BR curl_easy_init "(3)," curl_easy_cleanup "(3)," curl_easy_reset "(3)," .BR curl_global_init "(3)" curl-7.47.0/docs/libcurl/curl_easy_escape.html0000644000175000017500000000564212652070414016267 00000000000000 curl_easy_escape man page

NAME

curl_easy_escape - URL encodes the given string

SYNOPSIS

#include <curl/curl.h>

char *curl_easy_escape( CURL * curl , const char * string , int length );

DESCRIPTION

This function converts the given input string to a URL encoded string and returns that as a new allocated string. All input characters that are not a-z, A-Z, 0-9, '-', '.', '_' or '~' are converted to their "URL escaped" version (%NN where NN is a two-digit hexadecimal number).

If length is set to 0 (zero), curl_easy_escape uses strlen() on the input string to find out the size.

You must curl_free the returned string when you're done with it.

AVAILABILITY

Added in 7.15.4 and replaces the old curl_escape function.

RETURN VALUE

A pointer to a zero terminated string or NULL if it failed.

EXAMPLE

CURL *curl = curl_easy_init();
if(curl) {
  char *output = curl_easy_escape(curl, "data to convert", 15);
  if(output) {
    printf("Encoded: %s\n", output);
    curl_free(output);
  }
}

SEE ALSO

curl_easy_unescape, curl_free, RFC 3986

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_easy_pause.30000644000175000017500000001222512626067776015357 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_easy_pause 3 "17 Dec 2007" "libcurl 7.18.0" "libcurl Manual" .SH NAME curl_easy_pause - pause and unpause a connection .SH SYNOPSIS .B #include .BI "CURLcode curl_easy_pause(CURL *"handle ", int "bitmask " );" .SH DESCRIPTION Using this function, you can explicitly mark a running connection to get paused, and you can unpause a connection that was previously paused. A connection can be paused by using this function or by letting the read or the write callbacks return the proper magic return code (\fICURL_READFUNC_PAUSE\fP and \fICURL_WRITEFUNC_PAUSE\fP). A write callback that returns pause signals to the library that it couldn't take care of any data at all, and that data will then be delivered again to the callback when the writing is later unpaused. While it may feel tempting, take care and notice that you cannot call this function from another thread. To unpause, you may for example call it from the progress callback (\fICURLOPT_PROGRESSFUNCTION(3)\fP), which gets called at least once per second, even if the connection is paused. When this function is called to unpause reading, the chance is high that you will get your write callback called before this function returns. The \fBhandle\fP argument is of course identifying the handle that operates on the connection you want to pause or unpause. The \fBbitmask\fP argument is a set of bits that sets the new state of the connection. The following bits can be used: .IP CURLPAUSE_RECV Pause receiving data. There will be no data received on this connection until this function is called again without this bit set. Thus, the write callback (\fICURLOPT_WRITEFUNCTION(3)\fP) won't be called. .IP CURLPAUSE_SEND Pause sending data. There will be no data sent on this connection until this function is called again without this bit set. Thus, the read callback (\fICURLOPT_READFUNCTION(3)\fP) won't be called. .IP CURLPAUSE_ALL Convenience define that pauses both directions. .IP CURLPAUSE_CONT Convenience define that unpauses both directions. .SH RETURN VALUE CURLE_OK (zero) means that the option was set properly, and a non-zero return code means something wrong occurred after the new state was set. See the \fIlibcurl-errors(3)\fP man page for the full list with descriptions. .SH LIMITATIONS The pausing of transfers does not work with protocols that work without network connectivity, like FILE://. Trying to pause such a transfer, in any direction, will cause problems in the worst case or an error in the best case. .SH AVAILABILITY This function was added in libcurl 7.18.0. Before this version, there was no explicit support for pausing transfers. .SH "USAGE WITH THE MULTI-SOCKET INTERFACE" Before libcurl 7.32.0, when a specific handle was unpaused with this function, there was no particular forced rechecking or similar of the socket's state, which made the continuation of the transfer get delayed until next multi-socket call invoke or even longer. Alternatively, the user could forcibly call for example curl_multi_socket_all(3) - with a rather hefty performance penalty. Starting in libcurl 7.32.0, unpausing a transfer will schedule a timeout trigger for that handle 1 millisecond into the future, so that a curl_multi_socket_action( ... CURL_SOCKET_TIMEOUT) can be used immediately afterwards to get the transfer going again as desired. .SH "MEMORY USE" When pausing a read by returning the magic return code from a write callback, the read data is already in libcurl's internal buffers so it'll have to keep it in an allocated buffer until the reading is again unpaused using this function. If the downloaded data is compressed and is asked to get uncompressed automatically on download, libcurl will continue to uncompress the entire downloaded chunk and it will cache the data uncompressed. This has the side- effect that if you download something that is compressed a lot, it can result in a very large data amount needing to be allocated to save the data during the pause. This said, you should probably consider not using paused reading if you allow libcurl to uncompress data automatically. .SH "SEE ALSO" .BR curl_easy_cleanup "(3), " curl_easy_reset "(3)" curl-7.47.0/docs/libcurl/curl_multi_fdset.html0000644000175000017500000001167412652070414016327 00000000000000 curl_multi_fdset man page

NAME

curl_multi_fdset - extracts file descriptor information from a multi handle

SYNOPSIS

#include <curl/curl.h>
 
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);

DESCRIPTION

This function extracts file descriptor information from a given multi_handle. libcurl returns its fd_set sets. The application can use these to select() on, but be sure to FD_ZERO them before calling this function as curl_multi_fdset only adds its own descriptors, it doesn't zero or otherwise remove any others. The curl_multi_perform function should be called as soon as one of them is ready to be read from or written to.

If the read_fd_set argument is not a null pointer, it points to an object of type fd_set that on returns specifies the file descriptors to be checked for being ready to read.

If the write_fd_set argument is not a null pointer, it points to an object of type fd_set that on return specifies the file descriptors to be checked for being ready to write.

If the exc_fd_set argument is not a null pointer, it points to an object of type fd_set that on return specifies the file descriptors to be checked for error conditions pending.

If no file descriptors are set by libcurl, max_fd will contain -1 when this function returns. Otherwise it will contain the highest descriptor number libcurl set. When libcurl returns -1 in max_fd, it is because libcurl currently does something that isn't possible for your application to monitor with a socket and unfortunately you can then not know exactly when the current action is completed using select(). You then need to wait a while before you proceed and call curl_multi_perform anyway. How long to wait? We suggest 100 milliseconds at least, but you may want to test it out in your own particular conditions to find a suitable value.

When doing select(), you should use curl_multi_timeout to figure out how long to wait for action. Call curl_multi_perform even if no activity has been seen on the fd_sets after the timeout expires as otherwise internal retries and timeouts may not work as you'd think and want.

If one of the sockets used by libcurl happens to be larger than what can be set in an fd_set, which on POSIX systems means that the file descriptor is larger than FD_SETSIZE, then libcurl will try to not set it. Setting a too large file descriptor in an fd_set implies an out of bounds write which can cause crashes, or worse. The effect of NOT storing it will possibly save you from the crash, but will make your program NOT wait for sockets it should wait for...

RETURN VALUE

CURLMcode type, general libcurl multi interface error code. See libcurl-errors

SEE ALSO

curl_multi_cleanup, curl_multi_init, curl_multi_wait, curl_multi_timeout, curl_multi_perform, select (2)

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_multi_strerror.pdf0000644000175000017500000000655112652070422016706 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœTÛn›@}ç+FêC¡*›Ýå¶«V•HêWÄIm)rªˆ`bSÙ8ᢨýúÎ.ØÆ—´·Ë™3gæ(a@ÕÕ=Ó•q6`^æÆ‹Áô!ttç1õ#~2Z‡@:DHˆWc.a>įÆÔL›rù°j–uþPÕeV–ëòÞtî-Xæê̲¹G ¥y™M²„·¬ñ7æ„3Ì‘"‰ˆô “E†9 ­÷ˆO™G<é ²xf˜—+þÙÃÌ)qi6ãê˜*œ§`‚ eV7eø'/æ0˪´ÌÕkk®gYº‡ÅF06ó‰Ð¹'w£«ëÉp²3ëðvÙÍwy‘.›YŸ„3u#‹/Ê\DFü9\U é")áÃ>P‹ B™ÇL´}W„]ÜŒ£KOÑv6ftÓ0)PÍÌT»¹ž¢ßA·¢Yuæ[ ‚ðŽÅ{ëÓq­Œ†ñÝ>“¨mÇÅ$}ýN‘˼ڑöjI"%÷…™ s³YËE7rÆ íµú”t§æxߌGpk1Ç%ÒgfÝ ´'^[ãqwÍðy[®€IÙ•³Î‹:+¡^c+gåðk•IàÚÖ’cánÐ!z5@M®Þš¨©Ù•i뙈®ý«ºç Â\ºU·Z1÷cbJßßXt›,Kª_íàa`éðƒÁ;ÈHâÓ þ;GµHzñ·cNñ÷lÂ%.G•õ²iMr‰ª¤ÒÝãGËÀBb¹ç&÷!|.Sê긮¿ÙŸLEÄÆw¼þ稚®endstream endobj 6 0 obj 715 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <>stream 2016-01-27T08:26:10+01:00 2016-01-27T08:26:10+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 14 0000000000 65535 f 0000001038 00000 n 0000002846 00000 n 0000000979 00000 n 0000000819 00000 n 0000000015 00000 n 0000000800 00000 n 0000001103 00000 n 0000001357 00000 n 0000001292 00000 n 0000001224 00000 n 0000001144 00000 n 0000001174 00000 n 0000001423 00000 n trailer << /Size 14 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3000 %%EOF curl-7.47.0/docs/libcurl/curl_share_init.pdf0000644000175000017500000000737712652070421015745 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ}UÛnã6}×W ЇʋˆË‹.$ZpS›…㤶\ HŠ@‘éX[[òêR#ÿÐî’,ÅÙ-ŒÄ/sΜ93ü ”0 æÓ}§çã2‚—Ê¡ðâ|u˜Ý„î+=À¯1f!Þ:í‡H "ć JxñÉypÓ¦Ü?U»¤ÔOYžÕ®xœÀ>{6ë”P¹·IÞ${øÖáÉ_ñgÇÀ c§­š¨À ‹â¹ã.¦“‘-î²€J £x㸷³IüeÄ•SâÓ<ÆÍ65ü.é×¥Nj ØÕ Ï_tZ·‘FÐb{,$ÒB­þ\ÜݯnVñŽ^æþåé¾ÙhøÙ ~4ÿÈîsœû&‡øÃƒ{½^ÎWŸàÙӄI·W'?Y)þ‡Åo³Õõòæ>¾¹[¼Í| ÂWÌfï² ¶MžÖY‘C©ë¦Ì+L»c±KòÍ^C]À³†¦B!’ ²üØÔf-Ùï¡Þi(ð_Ù*åõ±ª+¨Šƒ®³ƒ® ‰˜l@IØaÿc ›VÖ.\†] $U‹|ã™}OHIB鿵K–¿´uÑ*Ìh'±ÏIÐy~""´·dXÅt¯ÑãÇ®„}a$'Œ)Õ18ítn¥-Žº´©V(½Á4´2™¿´8÷ºÖÄeÜ'!ÏiÓÖõ‚±+BÖ¡Xbx@ÉBÛ4ñåݶÞåa’ð èÙÙú\øŠ*ú!F{£R§]RÃkÑÀ1©*Si£ÉÌA&C‚ÙâÞÝÇO«OÓå¬o@Å>Ž‚¾jGëßSVï.‚z"RDúâ܃¶,:©^Ÿ*]ã½slS:;Zz¼è Êúz^Õî+¢”p‹ƒ­`ïžuKþ…RD Ýý^Òú,©BW*ÕÝi=e”ªŽ:ÍþM[•ºNÀ¦k½ŸÔIÛ¨«5y?X‘ fÁƒ»œÅëåþ˜0á£Ë™;¯göæ¶g¤,›m‹ôn4,Öóy×Ú;SÆö#œÊ>ºÎ…b }(Ê×V)­H{¬âJ„ƒía¯S‚ÏæoΉ€ôeFzÝœ7z[”zÔÄ6ío‚{‚+°såOɨ6Œ‘`([•vgˆ¢ä¸6Nûl¾¡y ͯÑ#0›Át¾ºûÞ#0 ØsJ1õýÁ Ð(g’Ö©Woã"lxNã]hÁ1tkó‹ÈQ@Ô0rÎ=àqÆñmÏi—O÷JCD0çh¤ gfšwätзîî6šà” {ç ì×™Y™ÅÎïøùú.>Èendstream endobj 6 0 obj 1028 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 13 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:09+01:00 2016-01-27T08:26:09+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001352 00000 n 0000003232 00000 n 0000001293 00000 n 0000001133 00000 n 0000000015 00000 n 0000001113 00000 n 0000001417 00000 n 0000001671 00000 n 0000001606 00000 n 0000001538 00000 n 0000001458 00000 n 0000001488 00000 n 0000001753 00000 n 0000001809 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 3386 %%EOF curl-7.47.0/docs/libcurl/libcurl-multi.pdf0000644000175000017500000002705412652070421015351 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ•ZÛ’ÛÆ}߯˜ò‹@×rŒÁ ny“å­Š\²äXL\ªUJ…%±KdA€À¥ùʧäszn¸”””dq—f¦»OŸ>Ýð,ä‚…ôÇ~®wW?ü–²‡þ*dW\ }‘ÙõŽý¸Â }±º¿2Ï–F,Í%Ïr¶Ú]‰(æi³Õñ*¨«»õ¡«—»C=TùqÁìW‹Õ¿®"‘ó0ޱÄjƒýè}#«š¡ìîés‘…ÂÜ2]¹X—ìùêôÈ2äX˜­Ö8hŽƒò<¦³.£DñHÆl)Z,xû’îéFó8—f“à—ú~42 ¹ S¶ÑxÌÙÎì?lÛj{xL«¥zK½ØmpQíañÏÕÏf·È_ìK6lK63:çy%¨™!¤ —"á™>íO7ï_ýöú×Õëwoçdž•îÈt+½ÚV=Ãߢa­u”ÐVOdžYûŸJï—œGYž){¡{ªô%É¥ušôV¶ )C†iÐlõ±) zñ(ã™ÈsAzGil˜.•vxʇEºœ ÖaÖýì-"D”{$Å®*UÃNí¡c¯Ø¾kºb×s¶Ú–]É ü×ïËuõyÍvE£˜ð\æÎ8u¤ôRûâ¡ìÙ}Û±²XoÙý¡YUÛ°]ÙÐg¹¡hY»ú cdFÃ!;?÷Åhh„HH룠î[²Ò„S„.ž‚Ç2õ÷X‡¡íª¢öèÆ\åʦNÓ^¾`ëv·¯ËAo²”QÊ3¥F¼¤™ñœ[ ­óÛ®jر¶>E³¹p\‘)ždòì¸eÑŸ.5‰x*òËG=+ÌŠÂ8ÿßÁeÙ%¸j\fÁý0ILÅs¿4yÁ€n8:¿qYŠ…Þe·Á˜½™’0ÇõÂù7†5Vßß/ëÚ£¦'°|-ÿ56÷]ùùÏ…ÀѲX@˜v>æ“~Ž_` ûŽ!ÞýøóÍ«ÕëܼÿAÜ‚¾rŠöÜ—]ÏúÒ%· †rÓo„â6耠⮪«¡Bö ÛbÐf“3Ý~B“‡öÛ´e߼ЉDòØn Ù•@©sk·¨ ‰¯Ái’V‚²8›Ö8tWTM}ú‹E¾D}aKŠå¹J„¾MpvÓw5BÀ¾Ûêú»Ë€Ž¤rŒ¦’ÈÑŒ>+öûºZ𴱇f;m@5ü~4ìƒäÁO eXÑ?ú»z·Õ¬ø<”Ã}‰7ÅPpm-2Õ×"pNä8ë+ú±hÊöçwEÓëPZìõÅŽ8µ+ ƒ¬ö0ÀC”åÕ`h‚lî(‡Ñ¼åâÅê "K9~µX‡GÌa¤?Ìpî––õó‚'‰xN'ÜmP`kü†]ñ·zð" •dž}ƪp㺫öà¨^;’™G{í¦,7×&ËÒÏ”¡¥]pS°]×î!ž°`»7åÞëÆÉÊ(Hëgâ)óeÏ€”žø„]±Ô%©—s%}4Ø@õžÔµ(²-€“¼ÃѨ£œ®¬¯bè¤ÔG´ý·k¤4¦@\™ã­â©¡¯xèë+m"M|fžKÒ& UjrXŸ²#} ÐBgBC# ¢=6Ïa+:ù-é× Ì(-u,âº6ɇn’ZC(Ól~êÛõ£n5—‘°\T¡ƒ0r¬€Ž»²)?£DuíŽQåÔļæ¶úÜ®˜èâuÏîZ¤ß“Á^š¢×Rã6†- !Èý{¨zñÒecuŠ aéO>ë75qÓôÀ¹ogjiî«ÓqÍd¤[äºGŒM ¨H¦$©Û°9ûÝV[³2jЈ²W&¶pÀEE70ÒZÉ~ O£æÕÎ15k)∣ˆZdƒbbãÁßIDÍó¨Á$*™@q:c©Ã8%‹¥éÍrä°Ë¹ëÑ e»Z¤é’Kˆì¥äEã#|ºŒÉ»G´ÝîBöæ!ﵺztSÖyÙPÎâ¹£PSc_wÁK‰-1£sÕPÝ­ÑÄacôS3Ådz” ßÐÏHÓŒÃD" ëzßšvØ¿ºÓžî—ð©_(BÑâ“$9è¦ûJ`°oËa!<#² }˜½ž •oÑÊáŒé%¢ˆòRFœ‘ •âvc"û‰ÜÅȹÿn‡™›hnâÝÙ)×ûø4GqNC5‡HÈÌ-£ÒŽfê–Iê¶Í„]KcͶyþ²Å³ç×ÈÔA»eó8ôM<ôåù<” jš_˜‡‹êÒ¤ }J¬œ/uRjÒÞ–õ^‘nO±¨×òd®í*ƒC3TµŸ›Q¯Jo\–*æú¼Àòvdèp$r‘à³ÿOà}¹g¼ª/*1ôÅÍêêoøó_;ß­endstream endobj 6 0 obj 3269 endobj 14 0 obj <> stream xœ½Z[Û6~Ÿ_AìKäŘ©ûã¶èÙM›nê (’Å@#ÓudÉ•ä™ú?äGï¹”d;}*ÄK$Ïõ;ß9œßE(•ñÇ~V‡»o>db?Ü…b÷û¢‡Â~Tñí^Èñ‹ÍîŽ×(‘i‘‘Ì ±9Ü)ÈL'bóz4õcuê›õáÔŒõç ú¼ö«Õæ·;­ & l±ÙÂy¸€^u;š~‡¯Ä‰Ty¨ø•ùÎeeÄõî¸d­u.u”ˆu”ÒÆ2Liͧ <›º*ǺkÅðÔš­¨Ê¦q‰r¿Še‘'Q”u+ÅæÉˆ®Ùš^üã§·bìDYUÝöžÄφò`à—ºÝ‹zXýwó/° ­q¢(“ !‹àþ$èÃn;˜Ñ‹;Y3+d–Çöýñ©Ið H_Ý­c•É0ŒÄZizÃüÏC|VHn)èkm4öe5b·}€á³ï^UPæ4°´Lc*|ÓõâØ5 ýކðy×£àý½ñã¹íÈy2Ñ)©X:'¯¯^(•Ê"M'™R’éÉ´d:­v¦§#à Ò5ŠC™‡©SWéYX cY=‹C½EkÌV”ãhZô¦ßv#ùt_ ¤÷bjGƒ<‘Jœ»IÎH†™÷˜àÜÀ}·ïË*L*å l”«IeCªÅÕíñ4 ˆ+ZÝ­4Rê൅­ê5øR³/Ñf…òŠ/åÌ—jáˈ-0ñ¥1bk†ª¯c†+ÇYÖÃÑäãOE…Œ²ø:þðÝît+ 0ª­’ [3tâÉ4ǵ¯5˜ì²R‰ U‘/õC¿éËdžŀ­Y[ Äzò&éq4}ÝmÉdd©YôQÄÉ -t,6ïâðúÀâ¿™KË(׹ŠE8€±Ì@¦jO‡Gˆån¡TCÞ÷§¶E ÁصߨÇÁ:µì)RðŒN§ÝÙ/ûÓBp¸e»gã4’IXLaœ²(Ÿ‚Þ”d2Ìn²iU¶âËþÔÑpÒ+fÒ­ œOpPú”°f ²Jñf•@œ„qàÿßÀ·ð¸íFq0eK®@9ÞÝan10 §ª2ð;5R¼Gu{qèzR{yò¡<Ã`eCªÒÎ *ŒiÃ#f •È\G¹‹àœßÁTiÌ@uAü„E<=£5^êÁ9¨%÷ŒŠ&B¼A%´R²pÛ””ëÒ,Ëõ2Äh»n¦Ö¤7š…ÖœB,—qÁÊlê@åŸÉ,Œ,8¤PáØ€€„u‹Qȵ¤|DïQi0#à’?ðñcò¯µ; †þÁêCÝp„Åa,z÷išS±ÓôÓ<#P”‡~e„ç×"_§CpU朖kö‡­€†2]óv¤€ìÍxêA+ a(÷ÆêW 8³‡h§:Ñ›•FèNƒ×—Ž üB¼³Òº „Ÿ£:gðÁM‰öª[ëBê8“J…_:W…žƒwû Н'MÖ¬Bù]$()Ù«I˜°dê5 öózMõ0è·\!Öˆ!i‹Ù‹z%*§Í! …¼j÷Í”ú蟟÷$ç\nxÊ¡1;ô퓸›¡.Q)~ų£,”™òÌ&‘ˆ”`Æ÷“7÷êäÁC·p ¥/õÙMߨ¥óoQ¸øœK…ù/òHê8õ•|ˆP¾Ó4@Y Kw_Ìov>´–±OD­\52ÈñÖùÀ$Â8^_”ø¡j &Žž{h€Ô5NË6;ì&K ö¹KþÞ äoZ\ŒnêÇæ ÌY¢MFÜ"Ál/|éæVX8c1>ŠtÆhˆúu¿Â•E»Öú‚ó«HÉT_S.ØaaßëRaŽI`O‡c!Øz<(-2o®‰¥”’éU„Ä5š Êô,DÜ&Ì¢]%¼·n¼$·œ…šì}¥Þ ¯fÑ…W1Òœñ?òÛ•GGa˜Šôár pQ¸° @FF‘¸{œÌ+HÎ¥ yòº%ÀbÆs+¾pFkéÔ•¥>þ¼Y:gîñ²˜yæ^àÝœÁ÷(ù‚ )íLfŽeïÒ¬ptâúOreaÌÌ3]´ŸÌ-Rk³l<@ªßîƒþìPs.¶/Ë †¨E¢Q¤’ˆ;q:boä¼9¯Rê¢c©Xsˆ6mþþ)x»ã^b¥B@j(ÁËXY.J¹ñ•ék¦±’©‚q+Y·Ú.G+øÌa ˆRöp‘Ø#ÌyŽ0 §ï¡ä†‘ \\Áv©§ò©ì¦ºëeÙõÛži bÖŽJfv%µæW)ê€ 4Aì£2phê,rã ÈóÏ–;,á@ß%…΀¬a·ÖÀ·`´¡ƒ¶±³Xǃ}+1mhÃcå[úÖæ Ý4~¨žºº2ŸWrÊ3‰ìx‡ý¼•"¹ÆTÿáã»UÔ=‰U°yûðóûïþýýæjX2ÕÈ® ]5O¶ä’ýY—ÍÒs|(‰·ÝÈš8—ªˆÝ, ZqÛ—xª×í¸mSq·@aʽ.Ð ©Ù‰*Òø®EcûŸ‡ dIº€Œpx>÷5Rpô ì_q4C:øyHMá¢BGÝ}×|/Ù¿iGÇÁ®TAyr,þDh8ÚX¹Ã ØQÛ§zÿ´¶}uÙV†Ç]”€HŠå3ñÂÔNûN ’v zÄÏR>õ¾­¿T˜æÛz‡íœlp8È1äqY~, +Ÿ”öH*Çò›{×ÉÔÊ×,ek°©º¶5äÍA^ÆØed½ùË+…ÆÔ‹zà¬'bg3ŒÐ”¡?.’ª¢®kéb¼q9ñs6&Ášñ8™(@h‡R¿ðù×[U̬JÛ#€âLªï>~x÷ÃûŸ6QþùñÇï6oßÿH°éŸmÞþðý|ÄD ‰Š“Æ_ZØyâwá+ ñ‰ç.‹(2#,ò®Š¤J/Xư+Ëö/óÄ>àñ§[¾¬Êçrn)8Õx/‚F"|<-ÍéYúÞvàw#aÊuš‡“}Žê‹ ˆt^X0?^q/È«gj*TZ8t¦ù©–ò˜²«àB™@;uïËyAÎð ~ÐòÐNÁLÄ×ÒT¦‰k®_jn½qãÜ5O*Ô_Ûx*9wŽpíŽÁå&v IŸØ%®E½׳y µ%ž`ìë³ynQjH:³Oc(&õ³åÜvë&~¯l™ß¸„} kS…JÐÚÛ $4ô€¼\JØ‹\Ýç×ÎgØÁÓ6ä¼É<ÑÂq9O»&i±fÛ4g†®TvåŽ_9ÍÕWpV 6øLQLÙoðµ¾ ^C ¥Ä¦ÄES¡Óœ¤¸Rg.<ŽÓà#@?«ÍüÒ†[² £kÅ o'Ë¿vnÖ‡#Ÿ¬Ÿ1‡ÅÅ‰Ä mEŒ¡ÉæP 5õ$¶"óìK2jΉð^Îq | ¨ÚPÕŒŽP΢6ƒÚ:E­Ò•Ì„êc”Íȼû8 ðÊ„ün ¥= McWfÖ7ûlH0 ¹•ƒô¸§ :gÆ­ʱkã@³<ÍQ²<³ö¦¡^^u,é~i/hó(q©ýbÜyÙ5~¶ üÌ´ƒ !@j}ëba&³ìÿlfß· %Ù'qS©…2p"´™l`¯å4dÊlpÇÜl,SD+Žçcšž™ÅÀþ|9|†ÂûÙö×#~\oûeúj5kÚ•Zbov½ú4O_ß¾¡ØÚVm9PÿdíQ6˜ÇŸƒ¦~vó-@y¤ üµgP?^¨yCØ›jÞc‘tkSV4›õCˆÈ,ó˽x^L ­/õ¢;…{aðBžK,ÉtâÀdSÛÀBé´×HP<9ãø_Ä©y ÿm8=âýñ£þ†@çÙZg˜—öÞ }m¯Ð‰@yÊŠØU'•2¹–í0dµíZùu/¨½ f{@½ç£qB1@¤q:Ÿ¾/厲–€ý–oX!im5?w4®\w‚Óô£ó½éˆ®0Ìd9³Ž#É”6ÇùòBJUPô@¬.þBågsè=ŒýÃ@ãßoîþ?ÿ|`¾endstream endobj 15 0 obj 3523 endobj 19 0 obj <> stream xœµVÛn7}߯˜·¬‹^’{Í[bmZ×n£ ‚Â) zEY[¯v•½DÖ?ä£;CîMŽ¢…(,‡‡gfÎÌð+xŒƒG¿~ÍöÎåÇǃGç«ÃÍ&ôK¶‡÷)Äô!Ý:ö ‡H@”H'î.‰Ò£ãùCÖÕÅrßmþÅ•_ÐZ¤;‚'Ì „H7x0†—­®·dâŒÇ·&sd•iøŽ,…ˆ™,eH§ÜbUõ^•™fæZÒk'd±L Ôç.áTuooœ%/Èœ€3Ïc{qÄxoûMƒ" l„d^˜ôä/66›Þ^~äm® ht ÕvªÜº¹ MÈTa‚pù‘{}8XäûÏ%×îk÷M•Ï(KÄ-a=1÷IlbÅž7l´÷*kóªÃ2e-,Šâž¶{ÌÛ÷¹Ï„€%&Lz’ܹs¯>}¼¾_ß^ýºJïÓ¿­n?¥Æ£¼„v§É=m7 êÝÇn¯ËöÐSÒ¿Ò_y,’HÀ¾GCxPÙScþ!¤j ¾1QêeÓÚ£ô9 ‹Cv-å0«Ê6/; mõZx¹—Prÿçèú1óˆ®Ê²ªÞäåcq‚c¯3ã5§ƒ\„höGŸ¤ÕYÞž šL¦aÌø(7#dÓ&<cåõaqMÔ{wŒ’QT±œEÐñÃèѹ$žÕá«‘«jž KbŸK%Q=.¸Ç<$®ÊQÒåT¨ò­¡Ùæ{]u­YkÐ 0Ï‹¤û|ÈkÝ0£„%·1^JŸ… Ô¿­ç ‘c7½s± ×= Íÿf§žL¥Ö¨›sû“#è÷×AÝB¿½¼„¶ï'ç´^b¤sŒDŽ«ë›UzŽqÞM°|i†–²^­àÝõúv²=ï$wã{O×øˆht„nU7/šk€ƒÌ$ëšö{qމW†£¨'TÕœ^€ÀгÍqÓ•ôa•:àï`Ñü9endstream endobj 20 0 obj 1319 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 18 0 obj <> /Contents 19 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R 18 0 R ] /Count 3 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 8 0 obj <> endobj 23 0 obj <> endobj 24 0 obj <>stream 2016-01-27T08:26:09+01:00 2016-01-27T08:26:09+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 25 0000000000 65535 f 0000008959 00000 n 0000011012 00000 n 0000008886 00000 n 0000008402 00000 n 0000000015 00000 n 0000003354 00000 n 0000009024 00000 n 0000009438 00000 n 0000009373 00000 n 0000009305 00000 n 0000009065 00000 n 0000009095 00000 n 0000008562 00000 n 0000003374 00000 n 0000006969 00000 n 0000009145 00000 n 0000009175 00000 n 0000008724 00000 n 0000006990 00000 n 0000008381 00000 n 0000009225 00000 n 0000009255 00000 n 0000009520 00000 n 0000009589 00000 n trailer << /Size 25 /Root 1 0 R /Info 2 0 R /ID [<9377CE04B8E5E1629167A4AAE69B5130><9377CE04B8E5E1629167A4AAE69B5130>] >> startxref 11166 %%EOF curl-7.47.0/docs/libcurl/curl_unescape.30000644000175000017500000000415112626067776015023 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_unescape 3 "22 March 2001" "libcurl 7.7" "libcurl Manual" .SH NAME curl_unescape - URL decodes the given string .SH SYNOPSIS .B #include .sp .BI "char *curl_unescape( const char *" url ", int "length " );" .ad .SH DESCRIPTION Obsolete function. Use \fIcurl_easy_unescape(3)\fP instead! This function will convert the given URL encoded input string to a "plain string" and return that as a new allocated string. All input characters that are URL encoded (%XX where XX is a two-digit hexadecimal number) will be converted to their plain text versions. If the 'length' argument is set to 0, curl_unescape() will use strlen() on the input 'url' string to find out the size. You must \fIcurl_free(3)\fP the returned string when you're done with it. .SH AVAILABILITY Since 7.15.4, \fIcurl_easy_unescape(3)\fP should be used. This function will be removed in a future release. .SH RETURN VALUE A pointer to a zero terminated string or NULL if it failed. .SH "SEE ALSO" .br curl_easy_escape "(3)," curl_easy_unescape "(3)," curl_free "(3)," RFC 2396 curl-7.47.0/docs/libcurl/curl_version.30000644000175000017500000000321112626067776014701 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_version 3 "5 March 2001" "libcurl 7.0" "libcurl Manual" .SH NAME curl_version - returns the libcurl version string .SH SYNOPSIS .B #include .sp .BI "char *curl_version( );" .ad .SH DESCRIPTION Returns a human readable string with the version number of libcurl and some of its important components (like OpenSSL version). We recommend using \fIcurl_version_info(3)\fP instead! .SH RETURN VALUE A pointer to a zero terminated string. The string resides in a statically allocated buffer and must not be freed by the caller. .SH "SEE ALSO" .BR curl_version_info "(3)" curl-7.47.0/docs/libcurl/curl_multi_remove_handle.30000644000175000017500000000400212626067776017235 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .TH curl_multi_remove_handle 3 "6 March 2002" "libcurl 7.9.5" "libcurl Manual" .SH NAME curl_multi_remove_handle - remove an easy handle from a multi session .SH SYNOPSIS #include CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *easy_handle); .ad .SH DESCRIPTION Removes a given \fIeasy_handle\fP from the \fImulti_handle\fP. This will make the specified easy handle be removed from this multi handle's control. When the easy handle has been removed from a multi stack, it is again perfectly legal to invoke \fIcurl_easy_perform(3)\fP on this easy handle. Removing an easy handle while being used is perfectly legal and will effectively halt the transfer in progress involving that easy handle. All other easy handles and transfers will remain unaffected. .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. .SH "SEE ALSO" .BR curl_multi_cleanup "(3)," curl_multi_init "(3), " .BR curl_multi_add_handle "(3) " curl-7.47.0/docs/libcurl/curl_version_info.30000644000175000017500000001606612633553325015714 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH curl_version_info 3 "2 Nov 2014" "libcurl 7.40.0" "libcurl Manual" .SH NAME curl_version_info - returns run-time libcurl version info .SH SYNOPSIS .B #include .sp .BI "curl_version_info_data *curl_version_info( CURLversion "type ");" .ad .SH DESCRIPTION Returns a pointer to a filled in static struct with information about various features in the running version of libcurl. \fItype\fP should be set to the version of this functionality by the time you write your program. This way, libcurl will always return a proper struct that your program understands, while programs in the future might get a different struct. \fBCURLVERSION_NOW\fP will be the most recent one for the library you have installed: data = curl_version_info(CURLVERSION_NOW); Applications should use this information to judge if things are possible to do or not, instead of using compile-time checks, as dynamic/DLL libraries can be changed independent of applications. The curl_version_info_data struct looks like this .nf typedef struct { CURLversion age; /* see description below */ /* when 'age' is 0 or higher, the members below also exist: */ const char *version; /* human readable string */ unsigned int version_num; /* numeric representation */ const char *host; /* human readable string */ int features; /* bitmask, see below */ char *ssl_version; /* human readable string */ long ssl_version_num; /* not used, always zero */ const char *libz_version; /* human readable string */ const char * const *protocols; /* protocols */ /* when 'age' is 1 or higher, the members below also exist: */ const char *ares; /* human readable string */ int ares_num; /* number */ /* when 'age' is 2 or higher, the member below also exists: */ const char *libidn; /* human readable string */ /* when 'age' is 3 or higher (7.16.1 or later), the members below also exist */ int iconv_ver_num; /* '_libiconv_version' if iconv support enabled */ const char *libssh_version; /* human readable string */ } curl_version_info_data; .fi \fIage\fP describes what the age of this struct is. The number depends on how new the libcurl you're using is. You are however guaranteed to get a struct that you have a matching struct for in the header, as you tell libcurl your "age" with the input argument. \fIversion\fP is just an ascii string for the libcurl version. \fIversion_num\fP is a 24 bit number created like this: <8 bits major number> | <8 bits minor number> | <8 bits patch number>. Version 7.9.8 is therefore returned as 0x070908. \fIhost\fP is an ascii string showing what host information that this libcurl was built for. As discovered by a configure script or set by the build environment. \fIfeatures\fP can have none, one or more bits set, and the currently defined bits are: .RS .IP CURL_VERSION_IPV6 supports IPv6 .IP CURL_VERSION_KERBEROS4 supports Kerberos V4 (when using FTP) .IP CURL_VERSION_KERBEROS5 supports Kerberos V5 authentication for FTP, IMAP, POP3, SMTP and SOCKSv5 proxy (Added in 7.40.0) .IP CURL_VERSION_SSL supports SSL (HTTPS/FTPS) (Added in 7.10) .IP CURL_VERSION_LIBZ supports HTTP deflate using libz (Added in 7.10) .IP CURL_VERSION_NTLM supports HTTP NTLM (added in 7.10.6) .IP CURL_VERSION_GSSNEGOTIATE supports HTTP GSS-Negotiate (added in 7.10.6) .IP CURL_VERSION_DEBUG libcurl was built with debug capabilities (added in 7.10.6) .IP CURL_VERSION_CURLDEBUG libcurl was built with memory tracking debug capabilities. This is mainly of interest for libcurl hackers. (added in 7.19.6) .IP CURL_VERSION_ASYNCHDNS libcurl was built with support for asynchronous name lookups, which allows more exact timeouts (even on Windows) and less blocking when using the multi interface. (added in 7.10.7) .IP CURL_VERSION_SPNEGO libcurl was built with support for SPNEGO authentication (Simple and Protected GSS-API Negotiation Mechanism, defined in RFC 2478.) (added in 7.10.8) .IP CURL_VERSION_LARGEFILE libcurl was built with support for large files. (Added in 7.11.1) .IP CURL_VERSION_IDN libcurl was built with support for IDNA, domain names with international letters. (Added in 7.12.0) .IP CURL_VERSION_SSPI libcurl was built with support for SSPI. This is only available on Windows and makes libcurl use Windows-provided functions for Kerberos, NTLM, SPNEGO and Digest authentication. It also allows libcurl to use the current user credentials without the app having to pass them on. (Added in 7.13.2) .IP CURL_VERSION_GSSAPI libcurl was built with support for GSS-API. This makes libcurl use provided functions for Kerberos and SPNEGO authentication. It also allows libcurl to use the current user credentials without the app having to pass them on. (Added in 7.38.0) .IP CURL_VERSION_CONV libcurl was built with support for character conversions, as provided by the CURLOPT_CONV_* callbacks. (Added in 7.15.4) .IP CURL_VERSION_TLSAUTH_SRP libcurl was built with support for TLS-SRP. (Added in 7.21.4) .IP CURL_VERSION_NTLM_WB libcurl was built with support for NTLM delegation to a winbind helper. (Added in 7.22.0) .IP CURL_VERSION_HTTP2 libcurl was built with support for HTTP2. (Added in 7.33.0) .IP CURL_VERSION_UNIX_SOCKETS libcurl was built with support for Unix domain sockets. (Added in 7.40.0) .IP CURL_VERSION_PSL libcurl was built with support for Mozilla's Public Suffix List. This makes libcurl ignore cookies with a domain that's on the list. (Added in 7.47.0) .RE \fIssl_version\fP is an ASCII string for the OpenSSL version used. If libcurl has no SSL support, this is NULL. \fIssl_version_num\fP is always 0. \fIlibz_version\fP is an ASCII string (there is no numerical version). If libcurl has no libz support, this is NULL. \fIprotocols\fP is a pointer to an array of char * pointers, containing the names protocols that libcurl supports (using lowercase letters). The protocol names are the same as would be used in URLs. The array is terminated by a NULL entry. .SH RETURN VALUE A pointer to a curl_version_info_data struct. .SH "SEE ALSO" \fIcurl_version(3)\fP curl-7.47.0/docs/libcurl/curl_global_init_mem.pdf0000644000175000017500000001034012652070422016722 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœµWÛnã6}÷W°èC¥ fHê¾- ¤Û`‘"»Ù&Ú‡".Z¦m5º­(ÅMÿ¡ÿÜáE’í$(º‹Â€í˜ÔÌ™™3g&ŸÁõ²ŸY9;»‰ÐFÎÚÌ>Ϩ>Dö#+ÑO)\ˆÕézfž¡(b(J<'(-áн¥»Ù“õmq¿)ê%/îó*ïîKQ.oá¢"_ªCw΂ ‰œ÷¼êy^}Âý=ýe6'˜Qð’ˆ@à$P8¼¥W3çùûà†Sà ñ[ºš9ï/Üô=ÔŒ`ŸDhN™:& é‹@ѽӿ `‘:Éy‘KÞåu…vy·Ep±nŸPÆ‹bɳi|훺9 q¬ÁÜþöáúãíåítÍ`á8ßæUVô+~P.ÏÔÞþ¨®« W³ôäÎyûéæ*«áÎËÙ*êjãÎBœ¿ùFžêÌ1 .Ô×1æp×Ùý•§Ê•9[·O–à˜fs)Ätu­ni’Øcýð<ްï:†¤µêˆ…Ø ŒùÖW"Ç)!‡Æd×®úfzRî¡ÎެfD’`ŽA,ÜïŸW‰zÉ~¥~¾¸}{sù1½¼þpÈŸ©XÇo˜žns‰Ö}•f¸`˜PêÔíƒDÂ¥>N/qþäYW쯒w™æ©o,¦iE‚ùöXó 4ÙÚ†ØNŽ4|áÈü/qß!õaµlź~!)Bq¨ý¦µQ^bѱ—ívãeá)ÀÍf˜„`ÖFœw èºÝ çÑezô{N­¢hºVµcþkÑ*__ƒõ¤ÇY5x©Žx÷;ƒªfVŽS9šq¼Ç‘W 3ŽáðK£µ`Ç€Ÿšmy‹NŽææÂÉ /Aù‡Ã#PÓ¤ûxŒŸ/Ì¿Nö §+,ËSô¿0<{-‰fó8ñð}š}J8$©åvÿ›{`þÛ`·šæ;èCN[P3¡'ö·B€ªCá×05@»-ï EAà8ˆ·³UiµÔ3?_xX)ÂŽµ€µòÜUËx1ç“^{Ì’ò|ïQ:k&8líyÓষ–®c%Œ h¢ž?Py  Ì§C?Ió•hõÔkì*²±7±¿°Ï Bbe<бŸ„(Ès­€9(³vD©» À%C-vÝRÝæ¸Ê‰NÉR!Qßè"Ø}´ºçÇØó&^ñ!aPŒ;6øÌÜg/›6hØœ¾y^Ùaböo[ZÃòÛ‹ t~u{ýê¿Çô<\9ÃGñ8â5uOMQEÚqËÞ·–[«¾9ÚaáúÊd¶Ï:ÖFj{@pîœ^M〥÷ü 1XmuÁýp`ªL]¤³_áõ‰í èendstream endobj 6 0 obj 1509 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 9 0 obj <> endobj 13 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <>stream 2016-01-27T08:26:10+01:00 2016-01-27T08:26:10+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 15 0000000000 65535 f 0000001833 00000 n 0000003713 00000 n 0000001774 00000 n 0000001614 00000 n 0000000015 00000 n 0000001594 00000 n 0000001898 00000 n 0000002224 00000 n 0000002087 00000 n 0000002019 00000 n 0000001939 00000 n 0000001969 00000 n 0000002168 00000 n 0000002290 00000 n trailer << /Size 15 /Root 1 0 R /Info 2 0 R /ID [<46BBD0B86C9059B92A1103373127C638><46BBD0B86C9059B92A1103373127C638>] >> startxref 3867 %%EOF curl-7.47.0/docs/libcurl/curl_share_setopt.html0000644000175000017500000001247612652070414016511 00000000000000 curl_share_setopt man page

NAME

curl_share_setopt - Set options for a shared object

SYNOPSIS

#include <curl/curl.h>

CURLSHcode curl_share_setopt(CURLSH *share, CURLSHoption option, parameter);

DESCRIPTION

Set the option to parameter for the given share.

OPTIONS

CURLSHOPT_LOCKFUNC

The parameter must be a pointer to a function matching the following prototype:

void lock_function(CURL *handle, curl_lock_data data, curl_lock_access access, void *userptr);

data defines what data libcurl wants to lock, and you must make sure that only one lock is given at any time for each kind of data.

access defines what access type libcurl wants, shared or single.

userptr is the pointer you set with CURLSHOPT_USERDATA.

CURLSHOPT_UNLOCKFUNC

The parameter must be a pointer to a function matching the following prototype:

void unlock_function(CURL *handle, curl_lock_data data, void *userptr);

data defines what data libcurl wants to unlock, and you must make sure that only one lock is given at any time for each kind of data.

userptr is the pointer you set with CURLSHOPT_USERDATA.

CURLSHOPT_SHARE

The parameter specifies a type of data that should be shared. This may be set to one of the values described below.

CURL_LOCK_DATA_COOKIE

Cookie data will be shared across the easy handles using this shared object.

CURL_LOCK_DATA_DNS

Cached DNS hosts will be shared across the easy handles using this shared object. Note that when you use the multi interface, all easy handles added to the same multi handle will share DNS cache by default without this having to be used!

CURL_LOCK_DATA_SSL_SESSION

SSL session IDs will be shared across the easy handles using this shared object. This will reduce the time spent in the SSL handshake when reconnecting to the same server. Note SSL session IDs are reused within the same easy handle by default.

CURLSHOPT_UNSHARE

This option does the opposite of CURLSHOPT_SHARE. It specifies that the specified parameter will no longer be shared. Valid values are the same as those for CURLSHOPT_SHARE.

CURLSHOPT_USERDATA

The parameter allows you to specify a pointer to data that will be passed to the lock_function and unlock_function each time it is called.

RETURN VALUE

CURLSHE_OK (zero) means that the option was set properly, non-zero means an error occurred as <curl/curl.h> defines. See the libcurl-errors.3 man page for the full list with descriptions.

SEE ALSO

curl_share_cleanup, curl_share_init

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_easy_reset.html0000644000175000017500000000437312652070414016151 00000000000000 curl_easy_reset man page

NAME

curl_easy_reset - reset all options of a libcurl session handle

SYNOPSIS

#include <curl/curl.h>

void curl_easy_reset(CURL *handle );

DESCRIPTION

Re-initializes all options previously set on a specified CURL handle to the default values. This puts back the handle to the same state as it was in when it was just created with curl_easy_init.

It does not change the following information kept in the handle: live connections, the Session ID cache, the DNS cache, the cookies and shares.

AVAILABILITY

This function was added in libcurl 7.12.1

RETURN VALUE

Nothing

SEE ALSO

curl_easy_init, curl_easy_cleanup, curl_easy_setopt, curl_easy_duphandle

This HTML page was made with roffit. curl-7.47.0/docs/libcurl/curl_slist_free_all.html0000644000175000017500000000315112652070414016766 00000000000000 curl_slist_free_all man page

NAME

curl_slist_free_all - free an entire curl_slist list

SYNOPSIS

#include <curl/curl.h>

void curl_slist_free_all(struct curl_slist * list);

DESCRIPTION

curl_slist_free_all() removes all traces of a previously built curl_slist linked list.

RETURN VALUE

Nothing.

SEE ALSO

curl_slist_append

This HTML page was made with roffit. curl-7.47.0/docs/curl-config.html0000644000175000017500000001274312652070414013535 00000000000000 curl-config man page

NAME

curl-config - Get information about a libcurl installation

SYNOPSIS

curl-config [options]

DESCRIPTION

curl-config displays information about the curl and libcurl installation.

OPTIONS

--ca

Displays the built-in path to the CA cert bundle this libcurl uses.

--cc

Displays the compiler used to build libcurl.

--cflags

Set of compiler options (CFLAGS) to use when compiling files that use libcurl. Currently that is only the include path to the curl include files.

--checkfor [version]

Specify the oldest possible libcurl version string you want, and this script will return 0 if the current installation is new enough or it returns 1 and outputs a text saying that the current version is not new enough. (Added in 7.15.4)

--configure

Displays the arguments given to configure when building curl.

--feature

Lists what particular main features the installed libcurl was built with. At the time of writing, this list may include SSL, KRB4 or IPv6. Do not assume any particular order. The keywords will be separated by newlines. There may be none, one, or several keywords in the list.

--help

Displays the available options.

--libs

Shows the complete set of libs and other linker options you will need in order to link your application with libcurl.

--prefix

This is the prefix used when libcurl was installed. Libcurl is then installed in $prefix/lib and its header files are installed in $prefix/include and so on. The prefix is set with "configure --prefix".

--protocols

Lists what particular protocols the installed libcurl was built to support. At the time of writing, this list may include HTTP, HTTPS, FTP, FTPS, FILE, TELNET, LDAP, DICT. Do not assume any particular order. The protocols will be listed using uppercase and are separated by newlines. There may be none, one, or several protocols in the list. (Added in 7.13.0)

--static-libs

Shows the complete set of libs and other linker options you will need in order to link your application with libcurl statically. (Added in 7.17.1)

--version

Outputs version information about the installed libcurl.

--vernum

Outputs version information about the installed libcurl, in numerical mode. This outputs the version number, in hexadecimal, with 8 bits for each part; major, minor, patch. So that libcurl 7.7.4 would appear as 070704 and libcurl 12.13.14 would appear as 0c0d0e... Note that the initial zero might be omitted. (This option was broken in the 7.15.0 release.)

EXAMPLES

What linker options do I need when I link with libcurl?

  $ curl-config --libs

What compiler options do I need when I compile using libcurl functions?

  $ curl-config --cflags

How do I know if libcurl was built with SSL support?

  $ curl-config --feature | grep SSL

What's the installed libcurl version?

  $ curl-config --version

How do I build a single file with a one-line command?

  $ `curl-config --cc --cflags` -o example example.c `curl-config --libs`

SEE ALSO

curl (1)

This HTML page was made with roffit. curl-7.47.0/docs/KNOWN_BUGS0000644000175000017500000002740412626067776012120 00000000000000These are problems known to exist at the time of this release. Feel free to join in and help us correct one or more of these! Also be sure to check the changelog of the current development status, as one or more of these problems may have been fixed since this was written! 91. "curl_easy_perform hangs with imap and PolarSSL" https://github.com/bagder/curl/issues/334 90. IMAP "SEARCH ALL" truncates output on large boxes. "A quick search of the code reveals that pingpong.c contains some truncation code, at line 408, when it deems the server response to be too large truncating it to 40 characters" http://curl.haxx.se/bug/view.cgi?id=1366 89. Disabling HTTP Pipelining when there are ongoing transfers can lead to heap corruption and crash. http://curl.haxx.se/bug/view.cgi?id=1411 88. libcurl doesn't support CURLINFO_FILETIME for SFTP transfers and thus curl's -R option also doesn't work then. 87. -J/--remote-header-name doesn't decode %-encoded file names. RFC6266 details how it should be done. The can of worm is basically that we have no charset handling in curl and ascii >=128 is a challenge for us. Not to mention that decoding also means that we need to check for nastiness that is attempted, like "../" sequences and the like. Probably everything to the left of any embedded slashes should be cut off. http://curl.haxx.se/bug/view.cgi?id=1294 86. The disconnect commands (LOGOUT and QUIT) may not be sent by IMAP, POP3 and SMTP if a failure occurs during the authentication phase of a connection. 85. Wrong STARTTRANSFER timer accounting for POST requests Timer works fine with GET requests, but while using POST the time for CURLINFO_STARTTRANSFER_TIME is wrong. While using POST CURLINFO_STARTTRANSFER_TIME minus CURLINFO_PRETRANSFER_TIME is near to zero every time. https://github.com/bagder/curl/issues/218 http://curl.haxx.se/bug/view.cgi?id=1213 84. CURLINFO_SSL_VERIFYRESULT is only implemented for the OpenSSL and NSS backends, so relying on this information in a generic app is flaky. 82. When building with the Windows Borland compiler, it fails because the "tlib" tool doesn't support hyphens (minus signs) in file names and we have such in the build. http://curl.haxx.se/bug/view.cgi?id=1222 81. When using -J (with -O), automatically resumed downloading together with "-C -" fails. Without -J the same command line works! This happens because the resume logic is worked out before the target file name (and thus its pre-transfer size) has been figured out! http://curl.haxx.se/bug/view.cgi?id=1169 80. Curl doesn't recognize certificates in DER format in keychain, but it works with PEM. http://curl.haxx.se/bug/view.cgi?id=1065 79. SMTP. When sending data to multiple recipients, curl will abort and return failure if one of the recipients indicate failure (on the "RCPT TO" command). Ordinary mail programs would proceed and still send to the ones that can receive data. This is subject for change in the future. http://curl.haxx.se/bug/view.cgi?id=1116 75. NTLM authentication involving unicode user name or password only works properly if built with UNICODE defined together with the WinSSL/schannel backend. The original problem was mentioned in: http://curl.haxx.se/mail/lib-2009-10/0024.html http://curl.haxx.se/bug/view.cgi?id=896 The WinSSL/schannel version verified to work as mentioned in http://curl.haxx.se/mail/lib-2012-07/0073.html 73. if a connection is made to a FTP server but the server then just never sends the 220 response or otherwise is dead slow, libcurl will not acknowledge the connection timeout during that phase but only the "real" timeout - which may surprise users as it is probably considered to be the connect phase to most people. Brought up (and is being misunderstood) in: http://curl.haxx.se/bug/view.cgi?id=856 72. "Pausing pipeline problems." http://curl.haxx.se/mail/lib-2009-07/0214.html 70. Problem re-using easy handle after call to curl_multi_remove_handle http://curl.haxx.se/mail/lib-2009-07/0249.html 68. "More questions about ares behavior". http://curl.haxx.se/mail/lib-2009-08/0012.html 67. When creating multipart formposts. The file name part can be encoded with something beyond ascii but currently libcurl will only pass in the verbatim string the app provides. There are several browsers that already do this encoding. The key seems to be the updated draft to RFC2231: https://tools.ietf.org/html/draft-reschke-rfc2231-in-http-02 66. When using telnet, the time limitation options don't work. http://curl.haxx.se/bug/view.cgi?id=846 65. When doing FTP over a socks proxy or CONNECT through HTTP proxy and the multi interface is used, libcurl will fail if the (passive) TCP connection for the data transfer isn't more or less instant as the code does not properly wait for the connect to be confirmed. See test case 564 for a first shot at a test case. 63. When CURLOPT_CONNECT_ONLY is used, the handle cannot reliably be re-used for any further requests or transfers. The work-around is then to close that handle with curl_easy_cleanup() and create a new. Some more details: http://curl.haxx.se/mail/lib-2009-04/0300.html 61. If an upload using Expect: 100-continue receives an HTTP 417 response, it ought to be automatically resent without the Expect:. A workaround is for the client application to redo the transfer after disabling Expect:. http://curl.haxx.se/mail/archive-2008-02/0043.html 60. libcurl closes the connection if an HTTP 401 reply is received while it is waiting for the the 100-continue response. http://curl.haxx.se/mail/lib-2008-08/0462.html 58. It seems sensible to be able to use CURLOPT_NOBODY and CURLOPT_FAILONERROR with FTP to detect if a file exists or not, but it is not working: http://curl.haxx.se/mail/lib-2008-07/0295.html 56. When libcurl sends CURLOPT_POSTQUOTE commands when connected to a SFTP server using the multi interface, the commands are not being sent correctly and instead the connection is "cancelled" (the operation is considered done) prematurely. There is a half-baked (busy-looping) patch provided in the bug report but it cannot be accepted as-is. See http://curl.haxx.se/bug/view.cgi?id=748 55. libcurl fails to build with MIT Kerberos for Windows (KfW) due to KfW's library header files exporting symbols/macros that should be kept private to the KfW library. See ticket #5601 at http://krbdev.mit.edu/rt/ 52. Gautam Kachroo's issue that identifies a problem with the multi interface where a connection can be re-used without actually being properly SSL-negotiated: http://curl.haxx.se/mail/lib-2008-01/0277.html 49. If using --retry and the transfer timeouts (possibly due to using -m or -y/-Y) the next attempt doesn't resume the transfer properly from what was downloaded in the previous attempt but will truncate and restart at the original position where it was at before the previous failed attempt. See http://curl.haxx.se/mail/lib-2008-01/0080.html and Mandriva bug report https://qa.mandriva.com/show_bug.cgi?id=22565 48. If a CONNECT response-headers are larger than BUFSIZE (16KB) when the connection is meant to be kept alive (like for NTLM proxy auth), the function will return prematurely and will confuse the rest of the HTTP protocol code. This should be very rare. 43. There seems to be a problem when connecting to the Microsoft telnet server. http://curl.haxx.se/bug/view.cgi?id=649 41. When doing an operation over FTP that requires the ACCT command (but not when logging in), the operation will fail since libcurl doesn't detect this and thus fails to issue the correct command: http://curl.haxx.se/bug/view.cgi?id=635 39. Steffen Rumler's Race Condition in Curl_proxyCONNECT: http://curl.haxx.se/mail/lib-2007-01/0045.html 38. Kumar Swamy Bhatt's problem in ftp/ssl "LIST" operation: http://curl.haxx.se/mail/lib-2007-01/0103.html 35. Both SOCKS5 and SOCKS4 proxy connections are done blocking, which is very bad when used with the multi interface. 34. The SOCKS4 connection codes don't properly acknowledge (connect) timeouts. Also see #12. According to bug #1556528, even the SOCKS5 connect code does not do it right: http://curl.haxx.se/bug/view.cgi?id=604 31. "curl-config --libs" will include details set in LDFLAGS when configure is run that might be needed only for building libcurl. Further, curl-config --cflags suffers from the same effects with CFLAGS/CPPFLAGS. 26. NTLM authentication using SSPI (on Windows) when (lib)curl is running in "system context" will make it use wrong(?) user name - at least when compared to what winhttp does. See http://curl.haxx.se/bug/view.cgi?id=535 23. SOCKS-related problems: B) libcurl doesn't support FTPS over a SOCKS proxy. E) libcurl doesn't support active FTP over a SOCKS proxy We probably have even more bugs and lack of features when a SOCKS proxy is used. 21. FTP ASCII transfers do not follow RFC959. They don't convert the data accordingly (not for sending nor for receiving). RFC 959 section 3.1.1.1 clearly describes how this should be done: The sender converts the data from an internal character representation to the standard 8-bit NVT-ASCII representation (see the Telnet specification). The receiver will convert the data from the standard form to his own internal form. Since 7.15.4 at least line endings are converted. 16. FTP URLs passed to curl may contain NUL (0x00) in the RFC 1738 , , and components, encoded as "%00". The problem is that curl_unescape does not detect this, but instead returns a shortened C string. From a strict FTP protocol standpoint, NUL is a valid character within RFC 959 , so the way to handle this correctly in curl would be to use a data structure other than a plain C string, one that can handle embedded NUL characters. From a practical standpoint, most FTP servers would not meaningfully support NUL characters within RFC 959 , anyway (e.g., Unix pathnames may not contain NUL). 14. Test case 165 might fail on a system which has libidn present, but with an old iconv version (2.1.3 is a known bad version), since it doesn't recognize the charset when named ISO8859-1. Changing the name to ISO-8859-1 makes the test pass, but instead makes it fail on Solaris hosts that use its native iconv. 13. curl version 7.12.2 fails on AIX if compiled with --enable-ares. The workaround is to combine --enable-ares with --disable-shared 12. When connecting to a SOCKS proxy, the (connect) timeout is not properly acknowledged after the actual TCP connect (during the SOCKS "negotiate" phase). 10. To get HTTP Negotiate (SPNEGO) authentication to work fine, you need to provide a (fake) user name (this concerns both curl and the lib) because the code wrongly only considers authentication if there's a user name provided. http://curl.haxx.se/bug/view.cgi?id=440 How? http://curl.haxx.se/mail/lib-2004-08/0182.html 8. Doing resumed upload over HTTP does not work with '-C -', because curl doesn't do a HEAD first to get the initial size. This needs to be done manually for HTTP PUT resume to work, and then '-C [index]'. 6. libcurl ignores empty path parts in FTP URLs, whereas RFC1738 states that such parts should be sent to the server as 'CWD ' (without an argument). The only exception to this rule, is that we knowingly break this if the empty part is first in the path, as then we use the double slashes to indicate that the user wants to reach the root dir (this exception SHALL remain even when this bug is fixed). 5. libcurl doesn't treat the content-length of compressed data properly, as it seems HTTP servers send the *uncompressed* length in that header and libcurl thinks of it as the *compressed* length. Some explanations are here: http://curl.haxx.se/mail/lib-2003-06/0146.html curl-7.47.0/docs/SSLCERTS0000644000175000017500000001613012626067776011640 00000000000000SSL Certificate Verification ============================ SSL is TLS ---------- SSL is the old name. It is called TLS these days. Native SSL ---------- If libcurl was built with Schannel or Secure Transport support (the native SSL libraries included in Windows and Mac OS X), then this does not apply to you. Scroll down for details on how the OS-native engines handle SSL certificates. If you're not sure, then run "curl -V" and read the results. If the version string says "WinSSL" in it, then it was built with Schannel support. It is about trust ----------------- This system is about trust. In your local CA cert bundle you have certs from *trusted* Certificate Authorities that you then can use to verify that the server certificates you see are valid. They're signed by one of the CAs you trust. Which CAs do you trust? You can decide to trust the same set of companies your operating system trusts, or the set one of the known browsers trust. That's basically trust via someone else you trust. You should just be aware that modern operating systems and browsers are setup to trust *hundreds* of companies and recent years several such CAs have been found untrustworthy. Certificate Verification ------------------------ libcurl performs peer SSL certificate verification by default. This is done by using CA cert bundle that the SSL library can use to make sure the peer's server certificate is valid. If you communicate with HTTPS, FTPS or other TLS-using servers using certificates that are signed by CAs present in the bundle, you can be sure that the remote server really is the one it claims to be. If the remote server uses a self-signed certificate, if you don't install a CA cert bundle, if the server uses a certificate signed by a CA that isn't included in the bundle you use or if the remote host is an impostor impersonating your favorite site, and you want to transfer files from this server, do one of the following: 1. Tell libcurl to *not* verify the peer. With libcurl you disable this with `curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, FALSE);` With the curl command line tool, you disable this with -k/--insecure. 2. Get a CA certificate that can verify the remote server and use the proper option to point out this CA cert for verification when connecting. For libcurl hackers: `curl_easy_setopt(curl, CURLOPT_CAPATH, capath);` With the curl command line tool: --cacert [file] 3. Add the CA cert for your server to the existing default CA cert bundle. The default path of the CA bundle used can be changed by running configure with the --with-ca-bundle option pointing out the path of your choice. To do this, you need to get the CA cert for your server in PEM format and then append that to your CA cert bundle. If you use Internet Explorer, this is one way to get extract the CA cert for a particular server: - View the certificate by double-clicking the padlock - Find out where the CA certificate is kept (Certificate> Authority Information Access>URL) - Get a copy of the crt file using curl - Convert it from crt to PEM using the openssl tool: openssl x509 -inform DES -in yourdownloaded.crt \ -out outcert.pem -text - Append the 'outcert.pem' to the CA cert bundle or use it stand-alone as described below. If you use the 'openssl' tool, this is one way to get extract the CA cert for a particular server: - `openssl s_client -connect xxxxx.com:443 |tee logfile` - type "QUIT", followed by the "ENTER" key - The certificate will have "BEGIN CERTIFICATE" and "END CERTIFICATE" markers. - If you want to see the data in the certificate, you can do: "openssl x509 -inform PEM -in certfile -text -out certdata" where certfile is the cert you extracted from logfile. Look in certdata. - If you want to trust the certificate, you can append it to your cert bundle or use it stand-alone as described. Just remember that the security is no better than the way you obtained the certificate. 4. If you're using the curl command line tool, you can specify your own CA cert path by setting the environment variable `CURL_CA_BUNDLE` to the path of your choice. If you're using the curl command line tool on Windows, curl will search for a CA cert file named "curl-ca-bundle.crt" in these directories and in this order: 1. application's directory 2. current working directory 3. Windows System directory (e.g. C:\windows\system32) 4. Windows Directory (e.g. C:\windows) 5. all directories along %PATH% 5. Get a better/different/newer CA cert bundle! One option is to extract the one a recent Firefox browser uses by running 'make ca-bundle' in the curl build tree root, or possibly download a version that was generated this way for you: [CA Extract](http://curl.haxx.se/docs/caextract.html) Neglecting to use one of the above methods when dealing with a server using a certificate that isn't signed by one of the certificates in the installed CA cert bundle, will cause SSL to report an error ("certificate verify failed") during the handshake and SSL will then refuse further communication with that server. Certificate Verification with NSS --------------------------------- If libcurl was built with NSS support, then depending on the OS distribution, it is probably required to take some additional steps to use the system-wide CA cert db. RedHat ships with an additional module, libnsspem.so, which enables NSS to read the OpenSSL PEM CA bundle. This library is missing in OpenSuSE, and without it, NSS can only work with its own internal formats. NSS also has a new [database format](https://wiki.mozilla.org/NSS_Shared_DB). Starting with version 7.19.7, libcurl automatically adds the 'sql:' prefix to the certdb directory (either the hardcoded default /etc/pki/nssdb or the directory configured with SSL_DIR environment variable). To check which certdb format your distribution provides, examine the default certdb location: /etc/pki/nssdb; the new certdb format can be identified by the filenames cert9.db, key4.db, pkcs11.txt; filenames of older versions are cert8.db, key3.db, secmod.db. Certificate Verification with Schannel and Secure Transport ----------------------------------------------------------- If libcurl was built with Schannel (Microsoft's native TLS engine) or Secure Transport (Apple's native TLS engine) support, then libcurl will still perform peer certificate verification, but instead of using a CA cert bundle, it will use the certificates that are built into the OS. These are the same certificates that appear in the Internet Options control panel (under Windows) or Keychain Access application (under OS X). Any custom security rules for certificates will be honored. Schannel will run CRL checks on certificates unless peer verification is disabled. Secure Transport on iOS will run OCSP checks on certificates unless peer verification is disabled. Secure Transport on OS X will run either OCSP or CRL checks on certificates if those features are enabled, and this behavior can be adjusted in the preferences of Keychain Access. curl-7.47.0/docs/LICENSE-MIXING0000644000175000017500000001302512626067776012451 00000000000000 License Mixing with apps, libcurl and Third Party Libraries =========================================================== libcurl can be built to use a fair amount of various third party libraries, libraries that are written and provided by other parties that are distributed using their own licenses. Even libcurl itself contains code that may cause problems to some. This document attempts to describe what licenses libcurl and the other libraries use and what possible dilemmas linking and mixing them all can lead to for end users. I am not a lawyer and this is not legal advice! One common dilemma is that GPL[1]-licensed code is not allowed to be linked with code licensed under the Original BSD license (with the announcement clause). You may still build your own copies that use them all, but distributing them as binaries would be to violate the GPL license - unless you accompany your license with an exception[2]. This particular problem was addressed when the Modified BSD license was created, which does not have the announcement clause that collides with GPL. libcurl http://curl.haxx.se/docs/copyright.html Uses an MIT (or Modified BSD)-style license that is as liberal as possible. OpenSSL https://www.openssl.org/source/license.html (May be used for SSL/TLS support) Uses an Original BSD-style license with an announcement clause that makes it "incompatible" with GPL. You are not allowed to ship binaries that link with OpenSSL that includes GPL code (unless that specific GPL code includes an exception for OpenSSL - a habit that is growing more and more common). If OpenSSL's licensing is a problem for you, consider using another TLS library. GnuTLS http://www.gnutls.org/ (May be used for SSL/TLS support) Uses the LGPL[3] license. If this is a problem for you, consider using another TLS library. Also note that GnuTLS itself depends on and uses other libs (libgcrypt and libgpg-error) and they too are LGPL- or GPL-licensed. WolfSSL https://www.wolfssl.com/ (May be used for SSL/TLS support) Uses the GPL[1] license or a propietary license. If this is a problem for you, consider using another TLS library. NSS https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS (May be used for SSL/TLS support) Is covered by the MPL[4] license, the GPL[1] license and the LGPL[3] license. You may choose to license the code under MPL terms, GPL terms, or LGPL terms. These licenses grant you different permissions and impose different obligations. You should select the license that best meets your needs. axTLS http://axtls.sourceforge.net/ (May be used for SSL/TLS support) Uses a Modified BSD-style license. mbedTLS https://tls.mbed.org/ (May be used for SSL/TLS support) Uses the GPL[1] license or a propietary license. If this is a problem for you, consider using another TLS library. BoringSSL https://boringssl.googlesource.com/ (May be used for SSL/TLS support) As an OpenSSL fork, it has the same license as that. libressl http://www.libressl.org/ (May be used for SSL/TLS support) As an OpenSSL fork, it has the same license as that. c-ares http://daniel.haxx.se/projects/c-ares/license.html (Used for asynchronous name resolves) Uses an MIT license that is very liberal and imposes no restrictions on any other library or part you may link with. zlib http://www.zlib.net/zlib_license.html (Used for compressed Transfer-Encoding support) Uses an MIT-style license that shouldn't collide with any other library. MIT Kerberos http://web.mit.edu/kerberos/www/dist/ (May be used for GSS support) MIT licensed, that shouldn't collide with any other parts. Heimdal http://www.h5l.org (May be used for GSS support) Heimdal is Original BSD licensed with the announcement clause. GNU GSS https://www.gnu.org/software/gss/ (May be used for GSS support) GNU GSS is GPL licensed. Note that you may not distribute binary curl packages that uses this if you build curl to also link and use any Original BSD licensed libraries! libidn http://josefsson.org/libidn/ (Used for IDNA support) Uses the GNU Lesser General Public License [3]. LGPL is a variation of GPL with slightly less aggressive "copyleft". This license requires more requirements to be met when distributing binaries, see the license for details. Also note that if you distribute a binary that includes this library, you must also include the full LGPL license text. Please properly point out what parts of the distributed package that the license addresses. OpenLDAP http://www.openldap.org/software/release/license.html (Used for LDAP support) Uses a Modified BSD-style license. Since libcurl uses OpenLDAP as a shared library only, I have not heard of anyone that ships OpenLDAP linked with libcurl in an app. libssh2 http://www.libssh2.org/ (Used for scp and sftp support) libssh2 uses a Modified BSD-style license. [1] = GPL - GNU General Public License: https://www.gnu.org/licenses/gpl.html [2] = https://www.gnu.org/licenses/gpl-faq.html#GPLIncompatibleLibs details on how to write such an exception to the GPL [3] = LGPL - GNU Lesser General Public License: https://www.gnu.org/licenses/lgpl.html [4] = MPL - Mozilla Public License: https://www.mozilla.org/MPL/ curl-7.47.0/docs/HTTP2.md0000644000175000017500000000752312633553325011630 00000000000000HTTP/2 with curl ================ [HTTP/2 Spec](https://www.rfc-editor.org/rfc/rfc7540.txt) [http2 explained](http://daniel.haxx.se/http2/) Build prerequisites ------------------- - nghttp2 - OpenSSL, NSS, GnutTLS or PolarSSL with a new enough version [nghttp2](https://nghttp2.org/) ------------------------------- libcurl uses this 3rd party library for the low level protocol handling parts. The reason for this is that HTTP/2 is much more complex at that layer than HTTP/1.1 (which we implement on our own) and that nghttp2 is an already existing and well functional library. We require at least version 1.0.0. Over an http:// URL ------------------- If `CURLOPT_HTTP_VERSION` is set to `CURL_HTTP_VERSION_2_0`, libcurl will include an upgrade header in the initial request to the host to allow upgrading to HTTP/2. Possibly we can later introduce an option that will cause libcurl to fail if not possible to upgrade. Possibly we introduce an option that makes libcurl use HTTP/2 at once over http:// Over an https:// URL -------------------- If `CURLOPT_HTTP_VERSION` is set to `CURL_HTTP_VERSION_2_0`, libcurl will use ALPN (or NPN) to negotiate which protocol to continue with. Possibly introduce an option that will cause libcurl to fail if not possible to use HTTP/2. Consider options to explicitly disable ALPN and/or NPN. ALPN is the TLS extension that HTTP/2 is expected to use. The NPN extension is for a similar purpose, was made prior to ALPN and is used for SPDY so early HTTP/2 servers are implemented using NPN before ALPN support is widespread. SSL libs -------- The challenge is the ALPN and NPN support and all our different SSL backends. You may need a fairly updated SSL library version for it to provide the necessary TLS features. Right now we support: - OpenSSL: ALPN and NPN - NSS: ALPN and NPN - GnuTLS: ALPN - PolarSSL: ALPN Multiplexing ------------ Starting in 7.43.0, libcurl fully supports HTTP/2 multiplexing, which is the term for doing multiple independent transfers over the same physical TCP connection. To take advantage of multiplexing, you need to use the multi interface and set `CURLMOPT_PIPELINING` to `CURLPIPE_MULTIPLEX`. With that bit set, libcurl will attempt to re-use existing HTTP/2 connections and just add a new stream over that when doing subsequent parallel requests. While libcurl sets up a connection to a HTTP server there is a period during which it doesn't know if it can pipeline or do multiplexing and if you add new transfers in that period, libcurl will default to start new connections for those transfers. With the new option `CURLOPT_PIPEWAIT` (added in 7.43.0), you can ask that a transfer should rather wait and see in case there's a connection for the same host in progress that might end up being possible to multiplex on. It favours keeping the number of connections low to the cost of slightly longer time to first byte transferred. Applications ------------ We hide HTTP/2's binary nature and convert received HTTP/2 traffic to headers in HTTP 1.1 style. This allows applications to work unmodified. curl tool --------- curl offers the `--http2` command line option to enable use of HTTP/2 HTTP Alternative Services ------------------------- Alt-Svc is a suggested extension with a corresponding frame (ALTSVC) in HTTP/2 that tells the client about an alternative "route" to the same content for the same origin server that you get the response from. A browser or long-living client can use that hint to create a new connection asynchronously. For libcurl, we may introduce a way to bring such clues to the applicaton and/or let a subsequent request use the alternate route automatically. [Spec](https://tools.ietf.org/html/draft-ietf-httpbis-alt-svc-05) TODO ---- - Implement "prior-knowledge" HTTP/2 connections over clear text so that curl can connect with HTTP/2 at once without 1.1+Upgrade. curl-7.47.0/docs/README.win320000644000175000017500000000157012626067776012276 00000000000000 _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| README.win32 Read the README file first. Curl has been compiled, built and run on all sorts of Windows and win32 systems. While not being the main develop target, a fair share of curl users are win32-based. The unix-style man pages are tricky to read on windows, so therefore are all those pages converted to HTML as well as pdf, and included in the release archives. The main curl.1 man page is also "built-in" in the command line tool. Use a command line similar to this in order to extract a separate text file: curl -M >manual.txt Read the INSTALL file for instructions how to compile curl self. curl-7.47.0/docs/mk-ca-bundle.html0000644000175000017500000001403212652070414013555 00000000000000 mk-ca-bundle man page

NAME

mk-ca-bundle - convert mozilla's certdata.txt to PEM format

SYNOPSIS

mk-ca-bundle [bilnpqstuv] [outputfile]

DESCRIPTION

The mk-ca-bundle tool downloads the certdata.txt file from Mozilla's source tree over HTTP, then parses certdata.txt and extracts certificates into PEM format. By default, only CA root certificates trusted to issue SSL server authentication certificates are extracted. These are then processed with the OpenSSL commandline tool to produce the final ca-bundle file.

The default outputfile name is ca-bundle.crt. By setting it to '-' (a single dash) you will get the output sent to STDOUT instead of a file.

The PEM format this scripts uses for output makes the result readily available for use by just about all OpenSSL or GnuTLS powered applications, such as curl, wget and more.

OPTIONS

The following options are supported:

-b

backup an existing version of outputfilename

-d [name]

specify which Mozilla tree to pull certdata.txt from (or a custom URL). Valid names are: aurora, beta, central, mozilla, nss, release (default). They are shortcuts for which source tree to get the cert data from.

-f

force rebuild even if certdata.txt is current (Added in version 1.17)

-i

print version info about used modules

-l

print license info about certdata.txt

-n

no download of certdata.txt (to use existing)

-p [purposes]:[levels]

list of Mozilla trust purposes and levels for certificates to include in output. Takes the form of a comma separated list of purposes, a colon, and a comma separated list of levels. The default is to include all certificates trusted to issue SSL Server certificates (SERVER_AUTH:TRUSTED_DELEGATOR).

(Added in version 1.21, Perl only)

Valid purposes are:

ALL, DIGITAL_SIGNATURE, NON_REPUDIATION, KEY_ENCIPHERMENT, DATA_ENCIPHERMENT, KEY_AGREEMENT, KEY_CERT_SIGN, CRL_SIGN, SERVER_AUTH (default), CLIENT_AUTH, CODE_SIGNING, EMAIL_PROTECTION, IPSEC_END_SYSTEM, IPSEC_TUNNEL, IPSEC_USER, TIME_STAMPING, STEP_UP_APPROVED

Valid trust levels are:

ALL, TRUSTED_DELEGATOR (default), NOT_TRUSTED, MUST_VERIFY_TRUST, TRUSTED

-q

be really quiet (no progress output at all)

-t

include plain text listing of certificates

-s [algorithms]

comma separated list of signature algorithms with which to hash/fingerprint each certificate and output when run in plain text mode.

(Added in version 1.21, Perl only)

Valid algorithms are:

ALL, NONE, MD5 (default), SHA1, SHA256, SHA384, SHA512

-u

unlink (remove) certdata.txt after processing

-v

be verbose and print out processed CAs

EXIT STATUS

Returns 0 on success. Returns 1 if it fails to download data.

CERTDATA FORMAT

The file format used by Mozilla for this trust information seems to be documented here:

http://p11-glue.freedesktop.org/doc/storing-trust-policy/storing-trust-existing.html

SEE ALSO

curl (1)

HISTORY

mk-ca-bundle is a command line tool that is shipped as part of every curl and libcurl release (see http://curl.haxx.se/). It was originally based on the parse-certs script written by Roland Krikava and was later much improved by Guenter Knauf. This manual page was initially written by Jan Schaumann <jschauma@netmeister.org>.

This HTML page was made with roffit. curl-7.47.0/docs/index.html0000644000175000017500000000113012612142152012413 00000000000000 Index to Curl documentation

Index to Curl documentation

Programs

curl-config
curl

Tutorial

The Art Of Scripting HTTP Requests Using Curl (plain text)

libcurl

See the libcurl section curl-7.47.0/docs/INTERNALS0000644000175000017500000012514312626067776011742 00000000000000Table of Contents ================= - [Intro](#intro) - [git](#git) - [Portability](#Portability) - [Windows vs Unix](#winvsunix) - [Library](#Library) - [`Curl_connect`](#Curl_connect) - [`Curl_do`](#Curl_do) - [`Curl_readwrite`](#Curl_readwrite) - [`Curl_done`](#Curl_done) - [`Curl_disconnect`](#Curl_disconnect) - [HTTP(S)](#http) - [FTP](#ftp) - [Kerberos](#kerberos) - [TELNET](#telnet) - [FILE](#file) - [SMB](#smb) - [LDAP](#ldap) - [E-mail](#email) - [General](#general) - [Persistent Connections](#persistent) - [multi interface/non-blocking](#multi) - [SSL libraries](#ssl) - [Library Symbols](#symbols) - [Return Codes and Informationals](#returncodes) - [AP/ABI](#abi) - [Client](#client) - [Memory Debugging](#memorydebug) - [Test Suite](#test) - [Asynchronous name resolves](#asyncdns) - [c-ares](#cares) - [`curl_off_t`](#curl_off_t) - [curlx](#curlx) - [Content Encoding](#contentencoding) - [hostip.c explained](#hostip) - [Track Down Memory Leaks](#memoryleak) - [`multi_socket`](#multi_socket) - [Structs in libcurl](#structs) curl internals ============== This project is split in two. The library and the client. The client part uses the library, but the library is designed to allow other applications to use it. The largest amount of code and complexity is in the library part. git === All changes to the sources are committed to the git repository as soon as they're somewhat verified to work. Changes shall be committed as independently as possible so that individual changes can be easier spotted and tracked afterwards. Tagging shall be used extensively, and by the time we release new archives we should tag the sources with a name similar to the released version number. Portability =========== We write curl and libcurl to compile with C89 compilers. On 32bit and up machines. Most of libcurl assumes more or less POSIX compliance but that's not a requirement. We write libcurl to build and work with lots of third party tools, and we want it to remain functional and buildable with these and later versions (older versions may still work but is not what we work hard to maintain): Dependencies ------------ - OpenSSL 0.9.7 - GnuTLS 1.2 - zlib 1.1.4 - libssh2 0.16 - c-ares 1.6.0 - libidn 0.4.1 - cyassl 2.0.0 - openldap 2.0 - MIT Kerberos 1.2.4 - GSKit V5R3M0 - NSS 3.14.x - axTLS 1.2.7 - PolarSSL 1.3.0 - Heimdal ? - nghttp2 1.0.0 Operating Systems ----------------- On systems where configure runs, we aim at working on them all - if they have a suitable C compiler. On systems that don't run configure, we strive to keep curl running fine on: - Windows 98 - AS/400 V5R3M0 - Symbian 9.1 - Windows CE ? - TPF ? Build tools ----------- When writing code (mostly for generating stuff included in release tarballs) we use a few "build tools" and we make sure that we remain functional with these versions: - GNU Libtool 1.4.2 - GNU Autoconf 2.57 - GNU Automake 1.7 - GNU M4 1.4 - perl 5.004 - roffit 0.5 - groff ? (any version that supports "groff -Tps -man [in] [out]") - ps2pdf (gs) ? Windows vs Unix =============== There are a few differences in how to program curl the unix way compared to the Windows way. The four perhaps most notable details are: 1. Different function names for socket operations. In curl, this is solved with defines and macros, so that the source looks the same at all places except for the header file that defines them. The macros in use are sclose(), sread() and swrite(). 2. Windows requires a couple of init calls for the socket stuff. That's taken care of by the `curl_global_init()` call, but if other libs also do it etc there might be reasons for applications to alter that behaviour. 3. The file descriptors for network communication and file operations are not easily interchangeable as in unix. We avoid this by not trying any funny tricks on file descriptors. 4. When writing data to stdout, Windows makes end-of-lines the DOS way, thus destroying binary data, although you do want that conversion if it is text coming through... (sigh) We set stdout to binary under windows Inside the source code, We make an effort to avoid `#ifdef [Your OS]`. All conditionals that deal with features *should* instead be in the format `#ifdef HAVE_THAT_WEIRD_FUNCTION`. Since Windows can't run configure scripts, we maintain a `curl_config-win32.h` file in lib directory that is supposed to look exactly as a `curl_config.h` file would have looked like on a Windows machine! Generally speaking: always remember that this will be compiled on dozens of operating systems. Don't walk on the edge. Library ======= (See `LIBCURL-STRUCTS` for a separate document describing all major internal structs and their purposes.) There are plenty of entry points to the library, namely each publicly defined function that libcurl offers to applications. All of those functions are rather small and easy-to-follow. All the ones prefixed with `curl_easy` are put in the lib/easy.c file. `curl_global_init_()` and `curl_global_cleanup()` should be called by the application to initialize and clean up global stuff in the library. As of today, it can handle the global SSL initing if SSL is enabled and it can init the socket layer on windows machines. libcurl itself has no "global" scope. All printf()-style functions use the supplied clones in lib/mprintf.c. This makes sure we stay absolutely platform independent. [ `curl_easy_init()`][2] allocates an internal struct and makes some initializations. The returned handle does not reveal internals. This is the 'SessionHandle' struct which works as an "anchor" struct for all `curl_easy` functions. All connections performed will get connect-specific data allocated that should be used for things related to particular connections/requests. [`curl_easy_setopt()`][1] takes three arguments, where the option stuff must be passed in pairs: the parameter-ID and the parameter-value. The list of options is documented in the man page. This function mainly sets things in the 'SessionHandle' struct. `curl_easy_perform()` is just a wrapper function that makes use of the multi API. It basically calls `curl_multi_init()`, `curl_multi_add_handle()`, `curl_multi_wait()`, and `curl_multi_perform()` until the transfer is done and then returns. Some of the most important key functions in url.c are called from multi.c when certain key steps are to be made in the transfer operation. Curl_connect() -------------- Analyzes the URL, it separates the different components and connects to the remote host. This may involve using a proxy and/or using SSL. The `Curl_resolv()` function in lib/hostip.c is used for looking up host names (it does then use the proper underlying method, which may vary between platforms and builds). When `Curl_connect` is done, we are connected to the remote site. Then it is time to tell the server to get a document/file. `Curl_do()` arranges this. This function makes sure there's an allocated and initiated 'connectdata' struct that is used for this particular connection only (although there may be several requests performed on the same connect). A bunch of things are inited/inherited from the SessionHandle struct. Curl_do() --------- `Curl_do()` makes sure the proper protocol-specific function is called. The functions are named after the protocols they handle. The protocol-specific functions of course deal with protocol-specific negotiations and setup. They have access to the `Curl_sendf()` (from lib/sendf.c) function to send printf-style formatted data to the remote host and when they're ready to make the actual file transfer they call the `Curl_Transfer()` function (in lib/transfer.c) to setup the transfer and returns. If this DO function fails and the connection is being re-used, libcurl will then close this connection, setup a new connection and re-issue the DO request on that. This is because there is no way to be perfectly sure that we have discovered a dead connection before the DO function and thus we might wrongly be re-using a connection that was closed by the remote peer. Some time during the DO function, the `Curl_setup_transfer()` function must be called with some basic info about the upcoming transfer: what socket(s) to read/write and the expected file transfer sizes (if known). Curl_readwrite() ---------------- Called during the transfer of the actual protocol payload. During transfer, the progress functions in lib/progress.c are called at a frequent interval (or at the user's choice, a specified callback might get called). The speedcheck functions in lib/speedcheck.c are also used to verify that the transfer is as fast as required. Curl_done() ----------- Called after a transfer is done. This function takes care of everything that has to be done after a transfer. This function attempts to leave matters in a state so that `Curl_do()` should be possible to call again on the same connection (in a persistent connection case). It might also soon be closed with `Curl_disconnect()`. Curl_disconnect() ----------------- When doing normal connections and transfers, no one ever tries to close any connections so this is not normally called when `curl_easy_perform()` is used. This function is only used when we are certain that no more transfers is going to be made on the connection. It can be also closed by force, or it can be called to make sure that libcurl doesn't keep too many connections alive at the same time. This function cleans up all resources that are associated with a single connection. HTTP(S) ======= HTTP offers a lot and is the protocol in curl that uses the most lines of code. There is a special file (lib/formdata.c) that offers all the multipart post functions. base64-functions for user+password stuff (and more) is in (lib/base64.c) and all functions for parsing and sending cookies are found in (lib/cookie.c). HTTPS uses in almost every means the same procedure as HTTP, with only two exceptions: the connect procedure is different and the function used to read or write from the socket is different, although the latter fact is hidden in the source by the use of `Curl_read()` for reading and `Curl_write()` for writing data to the remote server. `http_chunks.c` contains functions that understands HTTP 1.1 chunked transfer encoding. An interesting detail with the HTTP(S) request, is the `Curl_add_buffer()` series of functions we use. They append data to one single buffer, and when the building is done the entire request is sent off in one single write. This is done this way to overcome problems with flawed firewalls and lame servers. FTP === The `Curl_if2ip()` function can be used for getting the IP number of a specified network interface, and it resides in lib/if2ip.c. `Curl_ftpsendf()` is used for sending FTP commands to the remote server. It was made a separate function to prevent us programmers from forgetting that they must be CRLF terminated. They must also be sent in one single write() to make firewalls and similar happy. Kerberos -------- Kerberos support is mainly in lib/krb5.c and lib/security.c but also `curl_sasl_sspi.c` and `curl_sasl_gssapi.c` for the email protocols and `socks_gssapi.c` and `socks_sspi.c` for SOCKS5 proxy specifics. TELNET ====== Telnet is implemented in lib/telnet.c. FILE ==== The file:// protocol is dealt with in lib/file.c. SMB === The smb:// protocol is dealt with in lib/smb.c. LDAP ==== Everything LDAP is in lib/ldap.c and lib/openldap.c E-mail ====== The e-mail related source code is in lib/imap.c, lib/pop3.c and lib/smtp.c. General ======= URL encoding and decoding, called escaping and unescaping in the source code, is found in lib/escape.c. While transferring data in Transfer() a few functions might get used. `curl_getdate()` in lib/parsedate.c is for HTTP date comparisons (and more). lib/getenv.c offers `curl_getenv()` which is for reading environment variables in a neat platform independent way. That's used in the client, but also in lib/url.c when checking the proxy environment variables. Note that contrary to the normal unix getenv(), this returns an allocated buffer that must be free()ed after use. lib/netrc.c holds the .netrc parser lib/timeval.c features replacement functions for systems that don't have gettimeofday() and a few support functions for timeval conversions. A function named `curl_version()` that returns the full curl version string is found in lib/version.c. Persistent Connections ====================== The persistent connection support in libcurl requires some considerations on how to do things inside of the library. - The 'SessionHandle' struct returned in the [`curl_easy_init()`][2] call must never hold connection-oriented data. It is meant to hold the root data as well as all the options etc that the library-user may choose. - The 'SessionHandle' struct holds the "connection cache" (an array of pointers to 'connectdata' structs). - This enables the 'curl handle' to be reused on subsequent transfers. - When libcurl is told to perform a transfer, it first checks for an already existing connection in the cache that we can use. Otherwise it creates a new one and adds that the cache. If the cache is full already when a new connection is added added, it will first close the oldest unused one. - When the transfer operation is complete, the connection is left open. Particular options may tell libcurl not to, and protocols may signal closure on connections and then they won't be kept open of course. - When `curl_easy_cleanup()` is called, we close all still opened connections, unless of course the multi interface "owns" the connections. The curl handle must be re-used in order for the persistent connections to work. multi interface/non-blocking ============================ The multi interface is a non-blocking interface to the library. To make that interface work as good as possible, no low-level functions within libcurl must be written to work in a blocking manner. (There are still a few spots violating this rule.) One of the primary reasons we introduced c-ares support was to allow the name resolve phase to be perfectly non-blocking as well. The FTP and the SFTP/SCP protocols are examples of how we adapt and adjust the code to allow non-blocking operations even on multi-stage command- response protocols. They are built around state machines that return when they would otherwise block waiting for data. The DICT, LDAP and TELNET protocols are crappy examples and they are subject for rewrite in the future to better fit the libcurl protocol family. SSL libraries ============= Originally libcurl supported SSLeay for SSL/TLS transports, but that was then extended to its successor OpenSSL but has since also been extended to several other SSL/TLS libraries and we expect and hope to further extend the support in future libcurl versions. To deal with this internally in the best way possible, we have a generic SSL function API as provided by the vtls/vtls.[ch] system, and they are the only SSL functions we must use from within libcurl. vtls is then crafted to use the appropriate lower-level function calls to whatever SSL library that is in use. For example vtls/openssl.[ch] for the OpenSSL library. Library Symbols =============== All symbols used internally in libcurl must use a `Curl_` prefix if they're used in more than a single file. Single-file symbols must be made static. Public ("exported") symbols must use a `curl_` prefix. (There are exceptions, but they are to be changed to follow this pattern in future versions.) Public API functions are marked with `CURL_EXTERN` in the public header files so that all others can be hidden on platforms where this is possible. Return Codes and Informationals =============================== I've made things simple. Almost every function in libcurl returns a CURLcode, that must be `CURLE_OK` if everything is OK or otherwise a suitable error code as the curl/curl.h include file defines. The very spot that detects an error must use the `Curl_failf()` function to set the human-readable error description. In aiding the user to understand what's happening and to debug curl usage, we must supply a fair amount of informational messages by using the `Curl_infof()` function. Those messages are only displayed when the user explicitly asks for them. They are best used when revealing information that isn't otherwise obvious. API/ABI ======= We make an effort to not export or show internals or how internals work, as that makes it easier to keep a solid API/ABI over time. See docs/libcurl/ABI for our promise to users. Client ====== main() resides in `src/tool_main.c`. `src/tool_hugehelp.c` is automatically generated by the mkhelp.pl perl script to display the complete "manual" and the src/tool_urlglob.c file holds the functions used for the URL-"globbing" support. Globbing in the sense that the {} and [] expansion stuff is there. The client mostly messes around to setup its 'config' struct properly, then it calls the `curl_easy_*()` functions of the library and when it gets back control after the `curl_easy_perform()` it cleans up the library, checks status and exits. When the operation is done, the ourWriteOut() function in src/writeout.c may be called to report about the operation. That function is using the `curl_easy_getinfo()` function to extract useful information from the curl session. It may loop and do all this several times if many URLs were specified on the command line or config file. Memory Debugging ================ The file lib/memdebug.c contains debug-versions of a few functions. Functions such as malloc, free, fopen, fclose, etc that somehow deal with resources that might give us problems if we "leak" them. The functions in the memdebug system do nothing fancy, they do their normal function and then log information about what they just did. The logged data can then be analyzed after a complete session, memanalyze.pl is the perl script present in tests/ that analyzes a log file generated by the memory tracking system. It detects if resources are allocated but never freed and other kinds of errors related to resource management. Internally, definition of preprocessor symbol DEBUGBUILD restricts code which is only compiled for debug enabled builds. And symbol CURLDEBUG is used to differentiate code which is _only_ used for memory tracking/debugging. Use -DCURLDEBUG when compiling to enable memory debugging, this is also switched on by running configure with --enable-curldebug. Use -DDEBUGBUILD when compiling to enable a debug build or run configure with --enable-debug. curl --version will list 'Debug' feature for debug enabled builds, and will list 'TrackMemory' feature for curl debug memory tracking capable builds. These features are independent and can be controlled when running the configure script. When --enable-debug is given both features will be enabled, unless some restriction prevents memory tracking from being used. Test Suite ========== The test suite is placed in its own subdirectory directly off the root in the curl archive tree, and it contains a bunch of scripts and a lot of test case data. The main test script is runtests.pl that will invoke test servers like httpserver.pl and ftpserver.pl before all the test cases are performed. The test suite currently only runs on unix-like platforms. You'll find a description of the test suite in the tests/README file, and the test case data files in the tests/FILEFORMAT file. The test suite automatically detects if curl was built with the memory debugging enabled, and if it was it will detect memory leaks, too. Asynchronous name resolves ========================== libcurl can be built to do name resolves asynchronously, using either the normal resolver in a threaded manner or by using c-ares. [c-ares][3] ------ ### Build libcurl to use a c-ares 1. ./configure --enable-ares=/path/to/ares/install 2. make ### c-ares on win32 First I compiled c-ares. I changed the default C runtime library to be the single-threaded rather than the multi-threaded (this seems to be required to prevent linking errors later on). Then I simply build the areslib project (the other projects adig/ahost seem to fail under MSVC). Next was libcurl. I opened lib/config-win32.h and I added a: `#define USE_ARES 1` Next thing I did was I added the path for the ares includes to the include path, and the libares.lib to the libraries. Lastly, I also changed libcurl to be single-threaded rather than multi-threaded, again this was to prevent some duplicate symbol errors. I'm not sure why I needed to change everything to single-threaded, but when I didn't I got redefinition errors for several CRT functions (malloc, stricmp, etc.) `curl_off_t` ========== curl_off_t is a data type provided by the external libcurl include headers. It is the type meant to be used for the [`curl_easy_setopt()`][1] options that end with LARGE. The type is 64bit large on most modern platforms. curlx ===== The libcurl source code offers a few functions by source only. They are not part of the official libcurl API, but the source files might be useful for others so apps can optionally compile/build with these sources to gain additional functions. We provide them through a single header file for easy access for apps: "curlx.h" `curlx_strtoofft()` ------------------- A macro that converts a string containing a number to a curl_off_t number. This might use the curlx_strtoll() function which is provided as source code in strtoofft.c. Note that the function is only provided if no strtoll() (or equivalent) function exist on your platform. If curl_off_t is only a 32 bit number on your platform, this macro uses strtol(). `curlx_tvnow()` --------------- returns a struct timeval for the current time. `curlx_tvdiff()` -------------- returns the difference between two timeval structs, in number of milliseconds. `curlx_tvdiff_secs()` --------------------- returns the same as curlx_tvdiff but with full usec resolution (as a double) Future ------ Several functions will be removed from the public curl_ name space in a future libcurl release. They will then only become available as curlx_ functions instead. To make the transition easier, we already today provide these functions with the curlx_ prefix to allow sources to get built properly with the new function names. The functions this concerns are: - `curlx_getenv` - `curlx_strequal` - `curlx_strnequal` - `curlx_mvsnprintf` - `curlx_msnprintf` - `curlx_maprintf` - `curlx_mvaprintf` - `curlx_msprintf` - `curlx_mprintf` - `curlx_mfprintf` - `curlx_mvsprintf` - `curlx_mvprintf` - `curlx_mvfprintf` Content Encoding ================ ## About content encodings [HTTP/1.1][4] specifies that a client may request that a server encode its response. This is usually used to compress a response using one of a set of commonly available compression techniques. These schemes are 'deflate' (the zlib algorithm), 'gzip' and 'compress'. A client requests that the sever perform an encoding by including an Accept-Encoding header in the request document. The value of the header should be one of the recognized tokens 'deflate', ... (there's a way to register new schemes/tokens, see sec 3.5 of the spec). A server MAY honor the client's encoding request. When a response is encoded, the server includes a Content-Encoding header in the response. The value of the Content-Encoding header indicates which scheme was used to encode the data. A client may tell a server that it can understand several different encoding schemes. In this case the server may choose any one of those and use it to encode the response (indicating which one using the Content-Encoding header). It's also possible for a client to attach priorities to different schemes so that the server knows which it prefers. See sec 14.3 of RFC 2616 for more information on the Accept-Encoding header. ## Supported content encodings The 'deflate' and 'gzip' content encoding are supported by libcurl. Both regular and chunked transfers work fine. The zlib library is required for this feature. ## The libcurl interface To cause libcurl to request a content encoding use: [`curl_easy_setopt`][1](curl, [`CURLOPT_ACCEPT_ENCODING`][5], string) where string is the intended value of the Accept-Encoding header. Currently, libcurl only understands how to process responses that use the "deflate" or "gzip" Content-Encoding, so the only values for [`CURLOPT_ACCEPT_ENCODING`][5] that will work (besides "identity," which does nothing) are "deflate" and "gzip" If a response is encoded using the "compress" or methods, libcurl will return an error indicating that the response could not be decoded. If is NULL no Accept-Encoding header is generated. If is a zero-length string, then an Accept-Encoding header containing all supported encodings will be generated. The [`CURLOPT_ACCEPT_ENCODING`][5] must be set to any non-NULL value for content to be automatically decoded. If it is not set and the server still sends encoded content (despite not having been asked), the data is returned in its raw form and the Content-Encoding type is not checked. ## The curl interface Use the [--compressed][6] option with curl to cause it to ask servers to compress responses using any format supported by curl. hostip.c explained ================== The main compile-time defines to keep in mind when reading the host*.c source file are these: ## `CURLRES_IPV6` this host has getaddrinfo() and family, and thus we use that. The host may not be able to resolve IPv6, but we don't really have to take that into account. Hosts that aren't IPv6-enabled have CURLRES_IPV4 defined. ## `CURLRES_ARES` is defined if libcurl is built to use c-ares for asynchronous name resolves. This can be Windows or *nix. ## `CURLRES_THREADED` is defined if libcurl is built to use threading for asynchronous name resolves. The name resolve will be done in a new thread, and the supported asynch API will be the same as for ares-builds. This is the default under (native) Windows. If any of the two previous are defined, `CURLRES_ASYNCH` is defined too. If libcurl is not built to use an asynchronous resolver, `CURLRES_SYNCH` is defined. ## host*.c sources The host*.c sources files are split up like this: - hostip.c - method-independent resolver functions and utility functions - hostasyn.c - functions for asynchronous name resolves - hostsyn.c - functions for synchronous name resolves - asyn-ares.c - functions for asynchronous name resolves using c-ares - asyn-thread.c - functions for asynchronous name resolves using threads - hostip4.c - IPv4 specific functions - hostip6.c - IPv6 specific functions The hostip.h is the single united header file for all this. It defines the `CURLRES_*` defines based on the config*.h and curl_setup.h defines. Track Down Memory Leaks ======================= ## Single-threaded Please note that this memory leak system is not adjusted to work in more than one thread. If you want/need to use it in a multi-threaded app. Please adjust accordingly. ## Build Rebuild libcurl with -DCURLDEBUG (usually, rerunning configure with --enable-debug fixes this). 'make clean' first, then 'make' so that all files actually are rebuilt properly. It will also make sense to build libcurl with the debug option (usually -g to the compiler) so that debugging it will be easier if you actually do find a leak in the library. This will create a library that has memory debugging enabled. ## Modify Your Application Add a line in your application code: `curl_memdebug("dump");` This will make the malloc debug system output a full trace of all resource using functions to the given file name. Make sure you rebuild your program and that you link with the same libcurl you built for this purpose as described above. ## Run Your Application Run your program as usual. Watch the specified memory trace file grow. Make your program exit and use the proper libcurl cleanup functions etc. So that all non-leaks are returned/freed properly. ## Analyze the Flow Use the tests/memanalyze.pl perl script to analyze the dump file: tests/memanalyze.pl dump This now outputs a report on what resources that were allocated but never freed etc. This report is very fine for posting to the list! If this doesn't produce any output, no leak was detected in libcurl. Then the leak is mostly likely to be in your code. `multi_socket` ============== Implementation of the `curl_multi_socket` API The main ideas of this API are simply: 1 - The application can use whatever event system it likes as it gets info from libcurl about what file descriptors libcurl waits for what action on. (The previous API returns `fd_sets` which is very select()-centric). 2 - When the application discovers action on a single socket, it calls libcurl and informs that there was action on this particular socket and libcurl can then act on that socket/transfer only and not care about any other transfers. (The previous API always had to scan through all the existing transfers.) The idea is that [`curl_multi_socket_action()`][7] calls a given callback with information about what socket to wait for what action on, and the callback only gets called if the status of that socket has changed. We also added a timer callback that makes libcurl call the application when the timeout value changes, and you set that with [`curl_multi_setopt()`][9] and the [`CURLMOPT_TIMERFUNCTION`][10] option. To get this to work, Internally, there's an added a struct to each easy handle in which we store an "expire time" (if any). The structs are then "splay sorted" so that we can add and remove times from the linked list and yet somewhat swiftly figure out both how long time there is until the next nearest timer expires and which timer (handle) we should take care of now. Of course, the upside of all this is that we get a [`curl_multi_timeout()`][8] that should also work with old-style applications that use [`curl_multi_perform()`][11]. We created an internal "socket to easy handles" hash table that given a socket (file descriptor) return the easy handle that waits for action on that socket. This hash is made using the already existing hash code (previously only used for the DNS cache). To make libcurl able to report plain sockets in the socket callback, we had to re-organize the internals of the [`curl_multi_fdset()`][12] etc so that the conversion from sockets to `fd_sets` for that function is only done in the last step before the data is returned. I also had to extend c-ares to get a function that can return plain sockets, as that library too returned only `fd_sets` and that is no longer good enough. The changes done to c-ares are available in c-ares 1.3.1 and later. Structs in libcurl ================== This section should cover 7.32.0 pretty accurately, but will make sense even for older and later versions as things don't change drastically that often. ## SessionHandle The SessionHandle handle struct is the one returned to the outside in the external API as a "CURL *". This is usually known as an easy handle in API documentations and examples. Information and state that is related to the actual connection is in the 'connectdata' struct. When a transfer is about to be made, libcurl will either create a new connection or re-use an existing one. The particular connectdata that is used by this handle is pointed out by SessionHandle->easy_conn. Data and information that regard this particular single transfer is put in the SingleRequest sub-struct. When the SessionHandle struct is added to a multi handle, as it must be in order to do any transfer, the ->multi member will point to the `Curl_multi` struct it belongs to. The ->prev and ->next members will then be used by the multi code to keep a linked list of SessionHandle structs that are added to that same multi handle. libcurl always uses multi so ->multi *will* point to a `Curl_multi` when a transfer is in progress. ->mstate is the multi state of this particular SessionHandle. When `multi_runsingle()` is called, it will act on this handle according to which state it is in. The mstate is also what tells which sockets to return for a specific SessionHandle when [`curl_multi_fdset()`][12] is called etc. The libcurl source code generally use the name 'data' for the variable that points to the SessionHandle. When doing multiplexed HTTP/2 transfers, each SessionHandle is associated with an individual stream, sharing the same connectdata struct. Multiplexing makes it even more important to keep things associated with the right thing! ## connectdata A general idea in libcurl is to keep connections around in a connection "cache" after they have been used in case they will be used again and then re-use an existing one instead of creating a new as it creates a significant performance boost. Each 'connectdata' identifies a single physical connection to a server. If the connection can't be kept alive, the connection will be closed after use and then this struct can be removed from the cache and freed. Thus, the same SessionHandle can be used multiple times and each time select another connectdata struct to use for the connection. Keep this in mind, as it is then important to consider if options or choices are based on the connection or the SessionHandle. Functions in libcurl will assume that connectdata->data points to the SessionHandle that uses this connection (for the moment). As a special complexity, some protocols supported by libcurl require a special disconnect procedure that is more than just shutting down the socket. It can involve sending one or more commands to the server before doing so. Since connections are kept in the connection cache after use, the original SessionHandle may no longer be around when the time comes to shut down a particular connection. For this purpose, libcurl holds a special dummy `closure_handle` SessionHandle in the `Curl_multi` struct to use when needed. FTP uses two TCP connections for a typical transfer but it keeps both in this single struct and thus can be considered a single connection for most internal concerns. The libcurl source code generally use the name 'conn' for the variable that points to the connectdata. ## Curl_multi Internally, the easy interface is implemented as a wrapper around multi interface functions. This makes everything multi interface. `Curl_multi` is the multi handle struct exposed as "CURLM *" in external APIs. This struct holds a list of SessionHandle structs that have been added to this handle with [`curl_multi_add_handle()`][13]. The start of the list is ->easyp and ->num_easy is a counter of added SessionHandles. ->msglist is a linked list of messages to send back when [`curl_multi_info_read()`][14] is called. Basically a node is added to that list when an individual SessionHandle's transfer has completed. ->hostcache points to the name cache. It is a hash table for looking up name to IP. The nodes have a limited life time in there and this cache is meant to reduce the time for when the same name is wanted within a short period of time. ->timetree points to a tree of SessionHandles, sorted by the remaining time until it should be checked - normally some sort of timeout. Each SessionHandle has one node in the tree. ->sockhash is a hash table to allow fast lookups of socket descriptor to which SessionHandle that uses that descriptor. This is necessary for the `multi_socket` API. ->conn_cache points to the connection cache. It keeps track of all connections that are kept after use. The cache has a maximum size. ->closure_handle is described in the 'connectdata' section. The libcurl source code generally use the name 'multi' for the variable that points to the Curl_multi struct. ## Curl_handler Each unique protocol that is supported by libcurl needs to provide at least one `Curl_handler` struct. It defines what the protocol is called and what functions the main code should call to deal with protocol specific issues. In general, there's a source file named [protocol].c in which there's a "struct `Curl_handler` `Curl_handler_[protocol]`" declared. In url.c there's then the main array with all individual `Curl_handler` structs pointed to from a single array which is scanned through when a URL is given to libcurl to work with. ->scheme is the URL scheme name, usually spelled out in uppercase. That's "HTTP" or "FTP" etc. SSL versions of the protcol need its own `Curl_handler` setup so HTTPS separate from HTTP. ->setup_connection is called to allow the protocol code to allocate protocol specific data that then gets associated with that SessionHandle for the rest of this transfer. It gets freed again at the end of the transfer. It will be called before the 'connectdata' for the transfer has been selected/created. Most protocols will allocate its private 'struct [PROTOCOL]' here and assign SessionHandle->req.protop to point to it. ->connect_it allows a protocol to do some specific actions after the TCP connect is done, that can still be considered part of the connection phase. Some protocols will alter the connectdata->recv[] and connectdata->send[] function pointers in this function. ->connecting is similarly a function that keeps getting called as long as the protocol considers itself still in the connecting phase. ->do_it is the function called to issue the transfer request. What we call the DO action internally. If the DO is not enough and things need to be kept getting done for the entire DO sequence to complete, ->doing is then usually also provided. Each protocol that needs to do multiple commands or similar for do/doing need to implement their own state machines (see SCP, SFTP, FTP). Some protocols (only FTP and only due to historical reasons) has a separate piece of the DO state called `DO_MORE`. ->doing keeps getting called while issuing the transfer request command(s) ->done gets called when the transfer is complete and DONE. That's after the main data has been transferred. ->do_more gets called during the `DO_MORE` state. The FTP protocol uses this state when setting up the second connection. ->`proto_getsock` ->`doing_getsock` ->`domore_getsock` ->`perform_getsock` Functions that return socket information. Which socket(s) to wait for which action(s) during the particular multi state. ->disconnect is called immediately before the TCP connection is shutdown. ->readwrite gets called during transfer to allow the protocol to do extra reads/writes ->defport is the default report TCP or UDP port this protocol uses ->protocol is one or more bits in the `CURLPROTO_*` set. The SSL versions have their "base" protocol set and then the SSL variation. Like "HTTP|HTTPS". ->flags is a bitmask with additional information about the protocol that will make it get treated differently by the generic engine: - `PROTOPT_SSL` - will make it connect and negotiate SSL - `PROTOPT_DUAL` - this protocol uses two connections - `PROTOPT_CLOSEACTION` - this protocol has actions to do before closing the connection. This flag is no longer used by code, yet still set for a bunch protocol handlers. - `PROTOPT_DIRLOCK` - "direction lock". The SSH protocols set this bit to limit which "direction" of socket actions that the main engine will concern itself about. - `PROTOPT_NONETWORK` - a protocol that doesn't use network (read file:) - `PROTOPT_NEEDSPWD` - this protocol needs a password and will use a default one unless one is provided - `PROTOPT_NOURLQUERY` - this protocol can't handle a query part on the URL (?foo=bar) ## conncache Is a hash table with connections for later re-use. Each SessionHandle has a pointer to its connection cache. Each multi handle sets up a connection cache that all added SessionHandles share by default. ## Curl_share The libcurl share API allocates a `Curl_share` struct, exposed to the external API as "CURLSH *". The idea is that the struct can have a set of own versions of caches and pools and then by providing this struct in the `CURLOPT_SHARE` option, those specific SessionHandles will use the caches/pools that this share handle holds. Then individual SessionHandle structs can be made to share specific things that they otherwise wouldn't, such as cookies. The `Curl_share` struct can currently hold cookies, DNS cache and the SSL session cache. ## CookieInfo This is the main cookie struct. It holds all known cookies and related information. Each SessionHandle has its own private CookieInfo even when they are added to a multi handle. They can be made to share cookies by using the share API. [1]: http://curl.haxx.se/libcurl/c/curl_easy_setopt.html [2]: http://curl.haxx.se/libcurl/c/curl_easy_init.html [3]: http://c-ares.haxx.se/ [4]: https://tools.ietf.org/html/rfc7230 "RFC 7230" [5]: http://curl.haxx.se/libcurl/c/CURLOPT_ACCEPT_ENCODING.html [6]: http://curl.haxx.se/docs/manpage.html#--compressed [7]: http://curl.haxx.se/libcurl/c/curl_multi_socket_action.html [8]: http://curl.haxx.se/libcurl/c/curl_multi_timeout.html [9]: http://curl.haxx.se/libcurl/c/curl_multi_setopt.html [10]: http://curl.haxx.se/libcurl/c/CURLMOPT_TIMERFUNCTION.html [11]: http://curl.haxx.se/libcurl/c/curl_multi_perform.html [12]: http://curl.haxx.se/libcurl/c/curl_multi_fdset.html [13]: http://curl.haxx.se/libcurl/c/curl_multi_add_handle.html [14]: http://curl.haxx.se/libcurl/c/curl_multi_info_read.html curl-7.47.0/docs/THANKS0000644000175000017500000004611012652070173011347 00000000000000 This project has been alive for many years. Countless people have provided feedback that have improved curl. Here follows a list of people that have contributed (a-z order). If you have contributed but are missing here, please let us know! Aaro Koskinen Aaron Oneal Aaron Orenstein Abram Pousada Adam D. Moss Adam Light Adam Piggott Adam Sampson Adam Tkac Adrian Schuur Adriano Meirelles Ajit Dhumale Aki Koskinen Akos Pasztory Alan Pinstein Albert Chin-A-Young Albert Choy Ale Vesely Alejandro Alvarez Ayllon Aleksandar Milivojevic Aleksey Tulinov Alessandro Ghedini Alessandro Vesely Alex Bligh Alex Fishman Alex Gruz Alex McLellan Alex Neblett Alex Suykov Alex Vinnik Alex aka WindEagle Alexander Beedie Alexander Dyagilev Alexander Elgert Alexander Klauer Alexander Kourakos Alexander Krasnostavsky Alexander Lazic Alexander Pepper Alexander Peslyak Alexander Zhuravlev Alexey Borzov Alexey Pesternikov Alexey Simak Alexey Zakhlestin Alexis Carvalho Alfred Gebert Allen Pulsifer Alona Rossen Amol Pattekar Amr Shahin Anatoli Tubman Anders Bakken Anders Gustafsson Anders Havn Andi Jahja Andre Guibert de Bruet Andre Heinecke Andreas Damm Andreas Faerber Andreas Farber Andreas Malzahn Andreas Ntaflos Andreas Olsson Andreas Rieke Andreas Schuldei Andreas Wurf Andrei Benea Andrei Cipu Andrei Kurushin Andrej E Baranov Andrew Benham Andrew Biggs Andrew Bushnell Andrew Francis Andrew Fuller Andrew Kurushin Andrew Moise Andrew Wansink Andrew de los Reyes Andrey Labunets Andrii Moiseiev Andrés García Andy Cedilnik Andy Serpa Andy Tsouladze Angus Mackay Anthon Pang Anthony Avina Anthony Bryan Anthony G. Basile Antoine Calando Anton Bychkov Anton Kalmykov Anton Malov Anton Yabchinskiy Arkadiusz Miskiewicz Armel Asselin Arnaud Compan Arnaud Ebalard Arthur Murray Arve Knudsen Arvid Norberg Ashish Shukla Ask Bjørn Hansen Askar Safin Ates Goral Augustus Saunders Avery Fay Axel Tillequin Balaji Parasuram Balaji Salunke Balint Szilakszi Barry Abrahamson Bart Whiteley Bas Mevissen Ben Boeckel Ben Darnell Ben Greear Ben Madsen Ben Noordhuis Ben Van Hof Ben Winslow Benbuck Nason Benjamin Gerard Benjamin Gilbert Benjamin Johnson Benjamin Kircher Benoit Neil Benoit Sigoure Bernard Leak Bernhard Reutner-Fischer Bert Huijben Bertrand Demiddelaer Bertrand Simonnet Bill Doyle Bill Egert Bill Hoffman Bill Middlecamp Bill Nagel Bjoern Sikora Bjorn Augustsson Bjorn Reese Björn Stenberg Blaise Potard Bob Relyea Bob Richmond Bob Schader Bogdan Nicula Brad Burdick Brad Harder Brad Hards Brad King Brad Spencer Bradford Bruce Brandon Casey Brandon Wang Brendan Jurd Brent Beardsley Brian Akins Brian Chrisman Brian Dessent Brian J. Murrell Brian Prodoehl Brian R Duffy Brian Ulm Brock Noland Bruce Mitchener Bruno Thomsen Bruno de Carvalho Bryan Henderson Bryan Kemp Byrial Jensen Cameron Kaiser Camille Moncelier Caolan McNamara Carlo Wood Carsten Lange Casey O'Donnell Catalin Patulea Chad Monroe Chandrakant Bagul Charles Kerr Charles Romestant Chen Prog Chih-Chung Chang Chris "Bob Bob" Chris Araman Chris Combes Chris Conlon Chris Deidun Chris Flerackers Chris Gaukroger Chris Maltby Chris Mumford Chris Smowton Chris Young Christian Grothoff Christian Hägele Christian Krause Christian Kurz Christian Robottom Reis Christian Schmitz Christian Stewart Christian Vogt Christian Weisgerber Christophe Demory Christophe Legry Christopher Conroy Christopher Palow Christopher R. Palmer Christopher Stone Ciprian Badescu Claes Jakobsson Clarence Gardner Clemens Gruber Clifford Wolf Cody Jones Cody Mack Colby Ranger Colin Blair Colin Hogben Colin Watson Colm Buckley Constantine Sapuntzakis Cory Nelson Craig A West Craig Davison Craig Markwardt Cris Bailiff Cristian Rodríguez Curt Bogmine Cyrill Osterwalder Cédric Connes Cédric Deltheil D. Flinkmann Da-Yoon Chung Dag Ekengren Dagobert Michelsen Damian Dixon Damien Adant Dan Becker Dan C Dan Fandrich Dan Locks Dan Nelson Dan Petitt Dan Torop Dan Zitter Daniel Black Daniel Cater Daniel Egger Daniel Hwang Daniel Johnson Daniel Kahn Gillmor Daniel Lee Hwang Daniel Melani Daniel Mentz Daniel Schauenberg Daniel Seither Daniel Shahaf Daniel Steinberg Daniel Stenberg Daniel Theron Daniel at touchtunes Darryl House Darshan Mody Dave Dribin Dave Halbakken Dave Hamilton Dave May Dave Reisner Dave Thompson Dave Vasilevsky Davey Shafik David Bau David Binderman David Blaikie David Byron David Cohen David Eriksson David Houlder David Hull David J Meyer David James David Kierznowski David Kimdon David Lang David LeBlanc David McCreedy David Meyer David Odin David Phillips David Rosenstrauch David Ryskalczyk David Shaw David Strauss David Tarendash David Thiel David Walser David Woodhouse David Wright David Yan Dengminwen Denis Feklushkin Dennis Clarke Derek Higgins Detlef Schmier Didier Brisebourg Diego Casorran Dilyan Palauzov Dima Barsky Dima Tisnek Dimitar Boevski Dimitre Dimitrov Dimitrios Siganos Dimitris Sarris Dinar Dirk Eddelbuettel Dirk Manske Dmitri Shubin Dmitriy Sergeyev Dmitry Bartsevich Dmitry Eremin-Solenikov Dmitry Falko Dmitry Kurochkin Dmitry Popov Dmitry Rechkin Dmitry S. Baikov Dolbneff A.V Domenico Andreoli Dominick Meglio Dominique Leuenberger Doug Kaufman Doug Porter Douglas Creager Douglas E. Wegscheid Douglas Kilpatrick Douglas R. Horner Douglas Steinwand Dov Murik Drake Arconis Duane Cathey Duncan Mac-Vicar Prett Dustin Boswell Dylan Ellicott Dylan Salisbury Early Ehlinger Ebenezer Ikonne Ed Morley Edin Kadribasic Eduard Bloch Edward Rudd Edward Sheldrake Eelco Dolstra Eetu Ojanen Egon Eckert Eldar Zaitov Ellis Pritchard Elmira A Semenova Emanuele Bovisio Emil Lerner Emil Romanus Emiliano Ida Enrico Scholz Enrik Berkhan Eric Cooper Eric Hu Eric Landes Eric Lavigne Eric Lubin Eric Melville Eric Mertens Eric Rautman Eric Ridge Eric S. Raymond Eric Thelin Eric Vergnaud Eric Wong Eric Young Erick Nuwendam Erik Janssen Erik Johansson Ernest Beinrohr Erwan Legrand Erwin Authried Ethan Glasser Camp Eugene Kotlyarov Evan Jordan Evgeny Turnaev Eygene Ryabinkin Fabian Frank Fabian Hiernaux Fabian Keil Fabrizio Ammollo Fedor Karpelevitch Feist Josselin Felix Yan Felix von Leitner Feng Tu Flavio Medeiros Florian Schoppmann Florian Weimer Forrest Cahoon Francisco Moraes Frank Gevaerts Frank Hempel Frank Keeney Frank McGeough Frank Meier Frank Ticheler Frank Van Uffelen FrantiÅ¡ek KuÄera François Charlier Fred Machado Fred New Fred Noz Fred Stluka Frederic Lepied Fredrik Thulin Gabriel Kuri Gabriel Sjoberg Garrett Holmstrom Gary Maxwell Gautam Kachroo Gautam Mani Gavrie Philipson Gaz Iqbal Gaël Portay Geoff Beier Georg Horn Georg Huettenegger Georg Lippitsch Georg Wicherski Gerd v. Egidy Gergely Nagy Gerhard Herre Gerrit Bruchhäuser Ghennadi Procopciuc Giancarlo Formicuccia Giaslas Georgios Gil Weber Gilad Gilbert Ramirez Jr. Gilles Blanc Gisle Vanem Giuseppe Attardi Giuseppe D'Ambrosio Glen A Johnson Jr. Glen Nakamura Glen Scott Glenn Sheridan Gordon Marler Gorilla Maguila Grant Erickson Grant Pannell Greg Hewgill Greg Morse Greg Onufer Greg Pratt Greg Zavertnik Grigory Entin Guenole Bescon Guenter Knauf Guido Berhoerster Guillaume Arluison Gunter Knauf Gustaf Hui Gustavo Grieco Gwenole Beauchesne Gökhan Åžengün Götz Babin-Ebell Hamish Mackenzie Hang Kin Lau Hang Su Hanno Böck Hanno Kranzhoff Hans Steegers Hans-Jurgen May Hardeep Singh Haris Okanovic Harshal Pradhan Hauke Duden He Qin Heikki Korpela Heinrich Ko Heinrich Schaefer Helwing Lutz Hendrik Visage Henrik Storner Henry Ludemann Herve Amblard Hidemoto Nakada Ho-chi Chen Hoi-Ho Chan Hongli Lai Howard Chu Hubert Kario Hzhijun Ian D Allen Ian Ford Ian Gulliver Ian Lynagh Ian Turner Ian Wilkes Ignacio Vazquez-Abrams Igor Franchuk Igor Novoseltsev Igor Polyakov Iida Yosiaki Ilguiz Latypov Ilja van Sprundel Immanuel Gregoire Inca R Ingmar Runge Ingo Ralf Blum Ingo Wilken Isaac Boukris Ishan SinghLevett Ivo Bellin Salarin Jack Zhang Jacky Lam Jacob Meuser Jacob Moshenko Jactry Zeng Jad Chamcham Jakub Zakrzewski James Bursa James Cheng James Clancy James Cone James Dury James Gallagher James Griffiths James Housley James MacMillan Jamie Lokier Jamie Newton Jamie Wilkinson Jan Ehrhardt Jan Koen Annot Jan Kunder Jan Schaumann Jan Van Boghout Jared Jennings Jared Lundell Jari Aalto Jari Sundell Jason Glasgow Jason Liu Jason McDonald Jason S. Priebe Javier Barroso Javier G. Sogo Jay Austin Jayesh A Shah Jaz Fresh Jean Jacques Drouin Jean-Claude Chauve Jean-Francois Bertrand Jean-Francois Durand Jean-Louis Lemaire Jean-Marc Ranger Jean-Noël Rouvignac Jean-Philippe Barrette-LaPierre Jeff Connelly Jeff Hodges Jeff Johnson Jeff King Jeff Lawson Jeff Phillips Jeff Pohlmeyer Jeff Weber Jens Rantil Jeremy Friesner Jeremy Huddleston Jeremy Lin Jeroen Koekkoek Jeroen Ooms Jerome Muffat-Meridol Jerome Robert Jerome Vouillon Jerry Krinock Jerry Wu Jes Badwal Jesper Jensen Jesse Noller Jie He Jim Drash Jim Freeman Jim Hollinger Jim Meyering Jiri Dvorak Jiri Hruska Jiri Jaburek Jiri Malak Jocelyn Jaubert Joe Halpin Joe Malicki Joe Mason Joel Chen Joel Depooter Jofell Gallardo Johan Anderson Johan Lantz Johan Nilsson Johan van Selst Johannes Bauer Johannes Ernst Johannes Schindelin John Bradshaw John Coffey John Crow John Dennis John Dunn John E. Malmberg John Gardiner Myers John Janssen John Joseph Bachir John Kelly John Kohl John Lask John Levon John Lightsey John Marino John Marshall John McGowan John P. McCaskey John Suprock John Wilkinson John-Mark Bell Johnny Luong Jon Grubbs Jon Nelson Jon Sargeant Jon Seymour Jon Spencer Jon Torrey Jon Travis Jon Turner Jonas Forsman Jonas Minnberg Jonas Schnelli Jonatan Lander Jonatan Vela Jonathan Cardoso Machado Jonathan Cardoso Machado Machado Jonathan Hseu Jonathan Nieder Jongki Suwandi Jose Alf Jose Kahan Josef Wolf Josh Kapell Joshua Kwan Josue Andrade Gomes Juan Barreto Juan F. Codagnone Juan Ignacio Hervás Judson Bishop Juergen Wilke Jukka Pihl Julian Noble Julian Ospald Julian Taylor Julien Chaffraix Julien Nabet Julien Royer Jun-ichiro itojun Hagino Jurij Smakov Justin Ehlert Justin Fletcher Justin Karneges Justin Maggard Jörg Mueller-Tolk Jörn Hartroth K. R. Walker Kai Engert Kai Sommerfeld Kai-Uwe Rommel Kalle Vahlman Kamil Dudka Kang Lin Kang-Jin Lee Karl Moerder Karol Pietrzak Kaspar Brand Katie Wang Kees Cook Keith MacDonald Keith McGuigan Keith Mok Ken Hirsch Ken Rastatter Kenny To Kent Boortz Keshav Krity Kevin Baughman Kevin Fisk Kevin Lussier Kevin Reed Kevin Roth Kim Rinnewitz Kim Vandry Kimmo Kinnunen Kjell Ericson Kjetil Jacobsen Klevtsov Vadim Konstantin Isakov Kris Kennaway Krishnendu Majumdar Krister Johansen Kristian Gunstone Kristian Köhntopp Kurt Fankhauser Kyle J. McKay Kyle L. Huff Kyle Sallee Lachlan O'Dea Larry Campbell Larry Fahnoe Larry Lin Larry Stone Lars Buitinck Lars Gustafsson Lars J. Aas Lars Johannesen Lars Nilsson Lars Torben Wilson Lau Hang Kin Laurent Rabret Lauri Kasanen Legoff Vincent Lehel Bernadt Leif W Leith Bade Len Krause Lenaic Lefever Lenny Rachitsky Leon Winter Leonardo Rosati Liam Healy Lijo Antony Linas Vepstas Lindley French Ling Thio Linus Nielsen Feltzing Lior Kaplan Lisa Xu Liviu Chircu Liza Alenchery Lluís Batlle i Rossell Loic Dachary Loren Kirkby Luan Cestari Luca Altea Lucas Adamski Lucas Pardue Ludek Finstrle Ludovico Cavedon Lukas Ruzicka Lukasz Czekierda Luke Amery Luke Call Luke Dashjr Luong Dinh Dung Lyndon Hill Maciej Karpiuk Maciej Puzio Maciej W. Rozycki Maks Naumov Maksim Stsepanenka Mamoru Tasaka Mandy Wu Manfred Schwarb Manuel Massing Marc Boucher Marc Deslauriers Marc Doughty Marc Hesse Marc Hoersken Marc Kleine-Budde Marc Renault Marcel Raad Marcel Roelofs Marcelo Juchem Marcin Adamski Marcin Gryszkalis Marcin Konicki Marco G. Salvagno Marco Maggi Marcus Sundberg Marcus Webster Mario Schroeder Mark Brand Mark Butler Mark Davies Mark Eichin Mark Incley Mark Karpeles Mark Lentczner Mark Salisbury Mark Snelling Mark Tully Markus Duft Markus Elfring Markus Koetter Markus Moeller Markus Oberhumer Martijn Koster Martin C. Martin Martin Drasar Martin Hager Martin Hedenfalk Martin Jansen Martin Lemke Martin Skinner Martin Storsjo Marty Kuhrt Maruko Massimiliano Ziccardi Massimo Callegari Mateusz Loskot Mathias Axelsson Mats Lidell Matt Arsenault Matt Ford Matt Kraai Matt Veenstra Matt Witherspoon Matt Wixson Matteo Rocco Matthew Blain Matthew Clarke Matthew Hall Matthias Bolte Maurice Barnum Mauro Iorio Max Katsev Maxim Ivanov Maxim Perenesenko Maxim Prohorov Maxime Larocque Mehmet Bozkurt Mekonikum Melissa Mears Mettgut Jamalla Michael Benedict Michael Calmer Michael Cronenworth Michael Curtis Michael Day Michael Goffioul Michael Jahn Michael Jerris Michael Kalinin Michael Kaufmann Michael Mealling Michael Mueller Michael Osipov Michael Smith Michael Stapelberg Michael Stillwell Michael Wallner Michal Bonino Michal Marek MichaÅ‚ Fita MichaÅ‚ Górny MichaÅ‚ Kowalczyk MichaÅ‚ Piechowski Michel Promonet Michele Bini Miguel Angel Miguel Diaz Mihai Ionescu Mikael Johansson Mikael Sennerholm Mike Bytnar Mike Crowe Mike Dobbs Mike Giancola Mike Hasselberg Mike Henshaw Mike Hommey Mike Mio Mike Power Mike Protts Mike Revi Miklos Nemeth Miroslav Spousta Mitz Wark Mohamed Lrhazi Mohammad AlSaleh Mohun Biswas Mostyn Bramley-Moore Myk Taylor Nach M. S. Nagai H Nathan Coulter Nathan O'Sullivan Nathanael Nerode Nathaniel Waisbrot Naveen Chandran Naveen Noel Neil Bowers Neil Dunbar Neil Spring Nic Roets Nicholas Maniscalco Nick Gimbrone Nick Humfrey Nick Zitzmann Nico Baggus Nicolas Berloquin Nicolas Croiset Nicolas François Niels van Tongeren Nikita Schmidt Nikitinskit Dmitriy Niklas Angebrand Nikolai Kondrashov Nikos Mavrogiannopoulos Ning Dong Nir Soffer Nis Jorgensen Nobuhiro Ban Nodak Sodak Norbert Frese Norbert Kett Norbert Novotny Ofer Ola Mork Olaf Flebbe Olaf Stüben Oliver Gondža Oliver Kuckertz Oliver Schindler Olivier Berger Orange Tsai Oren Souroujon Oren Tirosh Orgad Shaneh Ori Avtalion Oscar Koeroo Oscar Norlander P R Schaffner Paolo Piacentini Paras Sethia Pascal Terjan Pasha Kuznetsov Pasi Karkkainen Pat Ray Patrice Guerin Patricia Muscalu Patrick Bihan-Faou Patrick McManus Patrick Monnerat Patrick Rapin Patrick Scott Patrick Smith Patrick Watson Patrik Thunstrom Pau Garcia i Quiles Paul Donohue Paul Harrington Paul Howarth Paul Marks Paul Marquis Paul Moore Paul Nolan Paul Oliver Paul Querna Paul Saab Pavel Cenek Pavel Orehov Pavel Raiskup Pawel A. Gajda Pawel Kierski Pedro Larroy Pedro Neves Peter Bray Peter Forret Peter Gal Peter Heuchert Peter Hjalmarsson Peter Korsgaard Peter Lamberg Peter Laser Peter O'Gorman Peter Pentchev Peter Silva Peter Su Peter Sylvester Peter Todd Peter Verhas Peter Wang Peter Wu Peter Wullinger Peteris Krumins Petr Bahula Petr Novak Petr Pisar Phil Blundell Phil Karn Phil Lisiecki Phil Pellouchoud Philip Craig Philip Gladstone Philip Langdale Philippe Hameau Philippe Raoult Philippe Vaucher Pierre Pierre Brico Pierre Chapuis Pierre Joye Pierre Ynard Pooyan McSporran Pramod Sharma Prash Dush Priyanka Shah Puneet Pawaia Quagmire Quanah Gibson-Mount Quinn Slack Radu Simionescu Rafa Muyo Rafael Sagula Rafayel Mkrtchyan Rafaël Carré Rainer Canavan Rainer Jung Rainer Koenig Rajesh Naganathan Rajkumar Mandal Ralf S. Engelschall Ralph Beckmann Ralph Mitchell Ramana Mokkapati Randy McMurchy Ravi Pratap Ray Dassen Ray Pekowski Ray Satiro Razvan Cojocaru Reinout van Schouwen Remi Gacogne Renato Botelho Renaud Chaillat Renaud Duhaut Renaud Guillard Rene Bernhardt Rene Rebe Reuven Wachtfogel Reza Arbab Ricardo Cadime Rich Burridge Rich Gray Rich Rauenzahn Richard Archer Richard Atterer Richard Bramante Richard Clayton Richard Cooper Richard Gorton Richard Hosking Richard Michael Richard Moore Richard Prescott Richard Silverman Richard van den Berg Rick Jones Rick Richardson Rob Crittenden Rob Davies Rob Jones Rob Stanzel Rob Ward Robert A. Monat Robert B. Harris Robert D. Young Robert Foreman Robert Iakobashvili Robert Olson Robert Schumann Robert Weaver Robert Wruck Robin Cornelius Robin Johnson Robin Kay Robson Braga Araujo Rodney Simmons Rodric Glaser Rodrigo Silva Roger Leigh Roland Blom Roland Krikava Roland Zimmermann Rolland Dudemaine Roman Koifman Roman Mamedov Romulo A. Ceccon Ron Parker Ron Zapp Rosimildo da Silva Roy Shan Rune Kleveland Ruslan Gazizov Rutger Hofman Ryan Braud Ryan Chan Ryan Nelson Ryan Schmidt Rémy Léone S. Moonesamy Salvador Dávila Salvatore Sorrentino Sam Deane Sam Hurst Sam Roth Sam Schanken Sampo Kellomaki Samuel Díaz García Samuel Listopad Samuel Thibault Sander Gates Sandor Feldi Santhana Todatry Saqib Ali Sara Golemon Saran Neti Sascha Swiercy Saul good Scott Bailey Scott Barrett Scott Cantor Scott Davis Scott McCreary Sean Boudreau Sebastian Pohlschmidt Sebastian Rasmussen Senthil Raja Velu Sergei Nikulov Sergey Tatarincev Sergio Ballestrero Seshubabu Pasam Sh Diao Shao Shuchao Sharad Gupta Shard Shawn Landden Shawn Poulson Shmulik Regev Siddhartha Prakash Jain Sidney San Martin Siegfried Gyuricsko Simon Dick Simon Josefsson Simon Liu Song Ma Sonia Subramanian Spacen Jasset Spiridonoff A.V Spork Schivago Stadler Stephan Stan van de Burgt Stanislav Ivochkin Stefan Bühler Stefan Eissing Stefan Esser Stefan Krause Stefan Neis Stefan Teleman Stefan Tomanek Stefan Ulrich Steinar H. Gunderson Stephan Bergmann Stephen Collyer Stephen Kick Stephen More Sterling Hughes Steve Green Steve H Truong Steve Havelka Steve Holme Steve Lhomme Steve Little Steve Marx Steve Oliphant Steve Roskowski Steven Bazyl Steven G. Johnson Steven Gu Steven M. Schweda Steven Parkes Stoned Elipot Sune Ahlgren Sven Anders Sven Neuhaus Sven Wegener Svyatoslav Mishyn Symeon Paraschoudis Sébastien Willemijns T. Bharath T. Yamada TJ Saunders Tae Hyoung Ahn Taneli Vahakangas Tanguy Fautre Tatsuhiro Tsujikawa Temprimus Terri Oda Thomas Braun Thomas Glanzmann Thomas J. Moore Thomas Klausner Thomas L. Shinnick Thomas Lopatic Thomas Ruecker Thomas Schwinge Thomas Tonino Thorsten Schöning Tiit Pikma Till Maas Tim Ansell Tim Baker Tim Bartley Tim Chen Tim Costello Tim Harder Tim Heckman Tim Newsome Tim Rühsen Tim Sneddon Tim Stack Tim Starling Timo Sirainen Tinus van den Berg Tobias Markus Tobias Rundström Tobias Stoeckmann Toby Peterson Todd A Ouska Todd Kulesza Todd Vierling Tom Benoist Tom Donovan Tom Grace Tom Lee Tom Mattison Tom Moers Tom Mueller Tom Regner Tom Sparrow Tom Wright Tom Zerucha Tomas Hoger Tomas Mlcoch Tomas Pospisek Tomas Szepe Tomas Tomecek Tomasz Kojm Tomasz Lacki Tommie Gannert Tommy Tam Ton Voon Toni Moreno Toon Verwaest Tor Arntsen Torsten Foertsch Toshio Kuratomi Toshiyuki Maezawa Traian Nicolescu Troels Walsted Hansen Troy Engel Tupone Alfredo Tyler Hall Török Edwin Ulf Härnhammar Ulf Samuelsson Ulrich Doehner Ulrich Telle Ulrich Zadow Venkat Akella Victor Snezhko Vijay Panghal Vikram Saxena Viktor Szakáts Ville Skyttä Vilmos Nebehaj Vincent Bronner Vincent Le Normand Vincent Penquerc'h Vincent Sanders Vincent Torri Vlad Grachov Vlad Ureche Vladimir Grishchenko Vladimir Lazarenko Vojtech Janota Vojtech Minarik VojtÄ›ch Král Vsevolod Novikov W. Mark Kubacki Waldek Kozba Walter J. Mack Ward Willats Warren Menzer Wayne Haigh Werner Koch Wesley Laxton Wesley Miaw Wez Furlong Wilfredo Sanchez Will Dietz Willem Sparreboom William Ahern Wojciech Zwiefka Wouter Van Rooy Wu Yongzheng Xavier Bouchoux Xiangbin Li Yaakov Selkowitz Yamada Yasuharu Yang Tse Yarram Sunil Yasuharu Yamada Yehezkel Horowitz Yehoshua Hershberg Yi Huang Yingwei Liu Yousuke Kimoto Yukihiro Kawada Yun SangHo Yuriy Sosov Yves Arrouye Yves Lejeune Zdenek Pavlas Zekun Ni Zmey Petroff Zvi Har'El nk swalkaus at yahoo.com tommink[at]post.pl Å tefan Kremeň Ðикита Дорохин curl-7.47.0/docs/HTTP-COOKIES0000644000175000017500000001070512626067776012251 00000000000000Updated: July 3, 2012 (http://curl.haxx.se/docs/http-cookies.html) _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| HTTP Cookies 1. HTTP Cookies 1.1 Cookie overview 1.2 Cookies saved to disk 1.3 Cookies with curl the command line tool 1.4 Cookies with libcurl 1.5 Cookies with javascript ============================================================================== 1. HTTP Cookies 1.1 Cookie overview HTTP cookies are pieces of 'name=contents' snippets that a server tells the client to hold and then the client sends back those the server on subsequent requests to the same domains/paths for which the cookies were set. Cookies are either "session cookies" which typically are forgotten when the session is over which is often translated to equal when browser quits, or the cookies aren't session cookies they have expiration dates after which the client will throw them away. Cookies are set to the client with the Set-Cookie: header and are sent to servers with the Cookie: header. For a very long time, the only spec explaining how to use cookies was the original Netscape spec from 1994: http://curl.haxx.se/rfc/cookie_spec.html In 2011, RFC6265 (https://www.ietf.org/rfc/rfc6265.txt) was finally published and details how cookies work within HTTP. 1.2 Cookies saved to disk Netscape once created a file format for storing cookies on disk so that they would survive browser restarts. curl adopted that file format to allow sharing the cookies with browsers, only to see browsers move away from that format. Modern browsers no longer use it, while curl still does. The netscape cookie file format stores one cookie per physical line in the file with a bunch of associated meta data, each field separated with TAB. That file is called the cookiejar in curl terminology. When libcurl saves a cookiejar, it creates a file header of its own in which there is a URL mention that will link to the web version of this document. 1.3 Cookies with curl the command line tool curl has a full cookie "engine" built in. If you just activate it, you can have curl receive and send cookies exactly as mandated in the specs. Command line options: -b, --cookie tell curl a file to read cookies from and start the cookie engine, or if it isn't a file it will pass on the given string. -b name=var works and so does -b cookiefile. -j, --junk-session-cookies when used in combination with -b, it will skip all "session cookies" on load so as to appear to start a new cookie session. -c, --cookie-jar tell curl to start the cookie engine and write cookies to the given file after the request(s) 1.4 Cookies with libcurl libcurl offers several ways to enable and interface the cookie engine. These options are the ones provided by the native API. libcurl bindings may offer access to them using other means. CURLOPT_COOKIE Is used when you want to specify the exact contents of a cookie header to send to the server. CURLOPT_COOKIEFILE Tell libcurl to activate the cookie engine, and to read the initial set of cookies from the given file. Read-only. CURLOPT_COOKIEJAR Tell libcurl to activate the cookie engine, and when the easy handle is closed save all known cookies to the given cookiejar file. Write-only. CURLOPT_COOKIELIST Provide detailed information about a single cookie to add to the internal storage of cookies. Pass in the cookie as a HTTP header with all the details set, or pass in a line from a netscape cookie file. This option can also be used to flush the cookies etc. CURLINFO_COOKIELIST Extract cookie information from the internal cookie storage as a linked list. 1.5 Cookies with javascript These days a lot of the web is built up by javascript. The webbrowser loads complete programs that render the page you see. These javascript programs can also set and access cookies. Since curl and libcurl are plain HTTP clients without any knowledge of or capability to handle javascript, such cookies will not be detected or used. Often, if you want to mimic what a browser does on such web sites, you can record web browser HTTP traffic when using such a site and then repeat the cookie operations using curl or libcurl. curl-7.47.0/docs/README.netware0000644000175000017500000000200012626067776012766 00000000000000 _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| README.netware Read the README file first. Curl has been successfully compiled with gcc / nlmconv on different flavours of Linux as well as with the official Metrowerks CodeWarrior compiler. While not being the main development target, a continuously growing share of curl users are NetWare-based, specially also consuming the lib from PHP. The unix-style man pages are tricky to read on windows, so therefore are all those pages converted to HTML as well as pdf, and included in the release archives. The main curl.1 man page is also "built-in" in the command line tool. Use a command line similar to this in order to extract a separate text file: curl -M >manual.txt Read the INSTALL file for instructions how to compile curl self. curl-7.47.0/docs/TheArtOfHttpScripting0000644000175000017500000007101512626067776014600 00000000000000 _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| The Art Of Scripting HTTP Requests Using Curl 1. HTTP Scripting 1.1 Background 1.2 The HTTP Protocol 1.3 See the Protocol 1.4 See the Timing 1.5 See the Response 2. URL 2.1 Spec 2.2 Host 2.3 Port number 2.4 User name and password 2.5 Path part 3. Fetch a page 3.1 GET 3.2 HEAD 3.3 Multiple URLs in a single command line 3.4 Multiple HTTP methods in a single command line 4. HTML forms 4.1 Forms explained 4.2 GET 4.3 POST 4.4 File Upload POST 4.5 Hidden Fields 4.6 Figure Out What A POST Looks Like 5. HTTP upload 5.1 PUT 6. HTTP Authentication 6.1 Basic Authentication 6.2 Other Authentication 6.3 Proxy Authentication 6.4 Hiding credentials 7. More HTTP Headers 7.1 Referer 7.2 User Agent 8. Redirects 8.1 Location header 8.2 Other redirects 9. Cookies 9.1 Cookie Basics 9.2 Cookie options 10. HTTPS 10.1 HTTPS is HTTP secure 10.2 Certificates 11. Custom Request Elements 11.1 Modify method and headers 11.2 More on changed methods 12. Web Login 12.1 Some login tricks 13. Debug 13.1 Some debug tricks 14. References 14.1 Standards 14.2 Sites ============================================================================== 1. HTTP Scripting 1.1 Background This document assumes that you're familiar with HTML and general networking. The increasing amount of applications moving to the web has made "HTTP Scripting" more frequently requested and wanted. To be able to automatically extract information from the web, to fake users, to post or upload data to web servers are all important tasks today. Curl is a command line tool for doing all sorts of URL manipulations and transfers, but this particular document will focus on how to use it when doing HTTP requests for fun and profit. I'll assume that you know how to invoke 'curl --help' or 'curl --manual' to get basic information about it. Curl is not written to do everything for you. It makes the requests, it gets the data, it sends data and it retrieves the information. You probably need to glue everything together using some kind of script language or repeated manual invokes. 1.2 The HTTP Protocol HTTP is the protocol used to fetch data from web servers. It is a very simple protocol that is built upon TCP/IP. The protocol also allows information to get sent to the server from the client using a few different methods, as will be shown here. HTTP is plain ASCII text lines being sent by the client to a server to request a particular action, and then the server replies a few text lines before the actual requested content is sent to the client. The client, curl, sends a HTTP request. The request contains a method (like GET, POST, HEAD etc), a number of request headers and sometimes a request body. The HTTP server responds with a status line (indicating if things went well), response headers and most often also a response body. The "body" part is the plain data you requested, like the actual HTML or the image etc. 1.3 See the Protocol Using curl's option --verbose (-v as a short option) will display what kind of commands curl sends to the server, as well as a few other informational texts. --verbose is the single most useful option when it comes to debug or even understand the curl<->server interaction. Sometimes even --verbose is not enough. Then --trace and --trace-ascii offer even more details as they show EVERYTHING curl sends and receives. Use it like this: curl --trace-ascii debugdump.txt http://www.example.com/ 1.4 See the Timing Many times you may wonder what exactly is taking all the time, or you just want to know the amount of milliseconds between two points in a transfer. For those, and other similar situations, the --trace-time option is what you need. It'll prepend the time to each trace output line: curl --trace-ascii d.txt --trace-time http://example.com/ 1.5 See the Response By default curl sends the response to stdout. You need to redirect it somewhere to avoid that, most often that is done with -o or -O. 2. URL 2.1 Spec The Uniform Resource Locator format is how you specify the address of a particular resource on the Internet. You know these, you've seen URLs like http://curl.haxx.se or https://yourbank.com a million times. RFC 3986 is the canonical spec. And yeah, the formal name is not URL, it is URI. 2.2 Host The host name is usually resolved using DNS or your /etc/hosts file to an IP address and that's what curl will communicate with. Alternatively you specify the IP address directly in the URL instead of a name. For development and other trying out situation, you can point out a different IP address for a host name than what would otherwise be used, by using curl's --resolve option: curl --resolve www.example.org:80:127.0.0.1 http://www.example.org/ 2.3 Port number Each protocol curl supports operate on a default port number, be it over TCP or in some cases UDP. Normally you don't have to take that into consideration, but at times you run test servers on other ports or similar. Then you can specify the port number in the URL with a colon and a number immediately following the host name. Like when doing HTTP to port 1234: curl http://www.example.org:1234/ The port number you specify in the URL is the number that the server uses to offer its services. Sometimes you may use a local proxy, and then you may need to specify that proxy's port number separate on what curl needs to connect to locally. Like when using a HTTP proxy on port 4321: curl --proxy http://proxy.example.org:4321 http://remote.example.org/ 2.4 User name and password Some services are setup to require HTTP authentication and then you need to provide name and password which then is transferred to the remote site in various ways depending on the exact authentication protocol used. You can opt to either insert the user and password in the URL or you can provide them separately: curl http://user:password@example.org/ or curl -u user:password http://example.org/ You need to pay attention that this kind of HTTP authentication is not what is usually done and requested by user-oriented web sites these days. They tend to use forms and cookies instead. 2.5 Path part The path part is just sent off to the server to request that it sends back the associated response. The path is what is to the right side of the slash that follows the host name and possibly port number. 3. Fetch a page 3.1 GET The simplest and most common request/operation made using HTTP is to get a URL. The URL could itself refer to a web page, an image or a file. The client issues a GET request to the server and receives the document it asked for. If you issue the command line curl http://curl.haxx.se you get a web page returned in your terminal window. The entire HTML document that that URL holds. All HTTP replies contain a set of response headers that are normally hidden, use curl's --include (-i) option to display them as well as the rest of the document. 3.2 HEAD You can ask the remote server for ONLY the headers by using the --head (-I) option which will make curl issue a HEAD request. In some special cases servers deny the HEAD method while others still work, which is a particular kind of annoyance. The HEAD method is defined and made so that the server returns the headers exactly the way it would do for a GET, but without a body. It means that you may see a Content-Length: in the response headers, but there must not be an actual body in the HEAD response. 3.3 Multiple URLs in a single command line A single curl command line may involve one or many URLs. The most common case is probably to just use one, but you can specify any amount of URLs. Yes any. No limits. You'll then get requests repeated over and over for all the given URLs. Example, send two GETs: curl http://url1.example.com http://url2.example.com If you use --data to POST to the URL, using multiple URLs means that you send that same POST to all the given URLs. Example, send two POSTs: curl --data name=curl http://url1.example.com http://url2.example.com 3.4 Multiple HTTP methods in a single command line Sometimes you need to operate on several URLs in a single command line and do different HTTP methods on each. For this, you'll enjoy the --next option. It is basically a separator that separates a bunch of options from the next. All the URLs before --next will get the same method and will get all the POST data merged into one. When curl reaches the --next on the command line, it'll sort of reset the method and the POST data and allow a new set. Perhaps this is best shown with a few examples. To send first a HEAD and then a GET: curl -I http://example.com --next http://example.com To first send a POST and then a GET: curl -d score=10 http://example.com/post.cgi --next http://example.com/results.html 4. HTML forms 4.1 Forms explained Forms are the general way a web site can present a HTML page with fields for the user to enter data in, and then press some kind of 'OK' or 'submit' button to get that data sent to the server. The server then typically uses the posted data to decide how to act. Like using the entered words to search in a database, or to add the info in a bug track system, display the entered address on a map or using the info as a login-prompt verifying that the user is allowed to see what it is about to see. Of course there has to be some kind of program in the server end to receive the data you send. You cannot just invent something out of the air. 4.2 GET A GET-form uses the method GET, as specified in HTML like: In your favorite browser, this form will appear with a text box to fill in and a press-button labeled "OK". If you fill in '1905' and press the OK button, your browser will then create a new URL to get for you. The URL will get "junk.cgi?birthyear=1905&press=OK" appended to the path part of the previous URL. If the original form was seen on the page "www.hotmail.com/when/birth.html", the second page you'll get will become "www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK". Most search engines work this way. To make curl do the GET form post for you, just enter the expected created URL: curl "http://www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK" 4.3 POST The GET method makes all input field names get displayed in the URL field of your browser. That's generally a good thing when you want to be able to bookmark that page with your given data, but it is an obvious disadvantage if you entered secret information in one of the fields or if there are a large amount of fields creating a very long and unreadable URL. The HTTP protocol then offers the POST method. This way the client sends the data separated from the URL and thus you won't see any of it in the URL address field. The form would look very similar to the previous one:
And to use curl to post this form with the same data filled in as before, we could do it like: curl --data "birthyear=1905&press=%20OK%20" \ http://www.example.com/when.cgi This kind of POST will use the Content-Type application/x-www-form-urlencoded and is the most widely used POST kind. The data you send to the server MUST already be properly encoded, curl will not do that for you. For example, if you want the data to contain a space, you need to replace that space with %20 etc. Failing to comply with this will most likely cause your data to be received wrongly and messed up. Recent curl versions can in fact url-encode POST data for you, like this: curl --data-urlencode "name=I am Daniel" http://www.example.com If you repeat --data several times on the command line, curl will concatenate all the given data pieces - and put a '&' symbol between each data segment. 4.4 File Upload POST Back in late 1995 they defined an additional way to post data over HTTP. It is documented in the RFC 1867, why this method sometimes is referred to as RFC1867-posting. This method is mainly designed to better support file uploads. A form that allows a user to upload a file could be written like this in HTML:
This clearly shows that the Content-Type about to be sent is multipart/form-data. To post to a form like this with curl, you enter a command line like: curl --form upload=@localfilename --form press=OK [URL] 4.5 Hidden Fields A very common way for HTML based application to pass state information between pages is to add hidden fields to the forms. Hidden fields are already filled in, they aren't displayed to the user and they get passed along just as all the other fields. A similar example form with one visible field, one hidden field and one submit button could look like:
To post this with curl, you won't have to think about if the fields are hidden or not. To curl they're all the same: curl --data "birthyear=1905&press=OK&person=daniel" [URL] 4.6 Figure Out What A POST Looks Like When you're about fill in a form and send to a server by using curl instead of a browser, you're of course very interested in sending a POST exactly the way your browser does. An easy way to get to see this, is to save the HTML page with the form on your local disk, modify the 'method' to a GET, and press the submit button (you could also change the action URL if you want to). You will then clearly see the data get appended to the URL, separated with a '?'-letter as GET forms are supposed to. 5. HTTP upload 5.1 PUT The perhaps best way to upload data to a HTTP server is to use PUT. Then again, this of course requires that someone put a program or script on the server end that knows how to receive a HTTP PUT stream. Put a file to a HTTP server with curl: curl --upload-file uploadfile http://www.example.com/receive.cgi 6. HTTP Authentication 6.1 Basic Authentication HTTP Authentication is the ability to tell the server your username and password so that it can verify that you're allowed to do the request you're doing. The Basic authentication used in HTTP (which is the type curl uses by default) is *plain* *text* based, which means it sends username and password only slightly obfuscated, but still fully readable by anyone that sniffs on the network between you and the remote server. To tell curl to use a user and password for authentication: curl --user name:password http://www.example.com 6.2 Other Authentication The site might require a different authentication method (check the headers returned by the server), and then --ntlm, --digest, --negotiate or even --anyauth might be options that suit you. 6.3 Proxy Authentication Sometimes your HTTP access is only available through the use of a HTTP proxy. This seems to be especially common at various companies. A HTTP proxy may require its own user and password to allow the client to get through to the Internet. To specify those with curl, run something like: curl --proxy-user proxyuser:proxypassword curl.haxx.se If your proxy requires the authentication to be done using the NTLM method, use --proxy-ntlm, if it requires Digest use --proxy-digest. If you use any one these user+password options but leave out the password part, curl will prompt for the password interactively. 6.4 Hiding credentials Do note that when a program is run, its parameters might be possible to see when listing the running processes of the system. Thus, other users may be able to watch your passwords if you pass them as plain command line options. There are ways to circumvent this. It is worth noting that while this is how HTTP Authentication works, very many web sites will not use this concept when they provide logins etc. See the Web Login chapter further below for more details on that. 7. More HTTP Headers 7.1 Referer A HTTP request may include a 'referer' field (yes it is misspelled), which can be used to tell from which URL the client got to this particular resource. Some programs/scripts check the referer field of requests to verify that this wasn't arriving from an external site or an unknown page. While this is a stupid way to check something so easily forged, many scripts still do it. Using curl, you can put anything you want in the referer-field and thus more easily be able to fool the server into serving your request. Use curl to set the referer field with: curl --referer http://www.example.come http://www.example.com 7.2 User Agent Very similar to the referer field, all HTTP requests may set the User-Agent field. It names what user agent (client) that is being used. Many applications use this information to decide how to display pages. Silly web programmers try to make different pages for users of different browsers to make them look the best possible for their particular browsers. They usually also do different kinds of javascript, vbscript etc. At times, you will see that getting a page with curl will not return the same page that you see when getting the page with your browser. Then you know it is time to set the User Agent field to fool the server into thinking you're one of those browsers. To make curl look like Internet Explorer 5 on a Windows 2000 box: curl --user-agent "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" [URL] Or why not look like you're using Netscape 4.73 on an old Linux box: curl --user-agent "Mozilla/4.73 [en] (X11; U; Linux 2.2.15 i686)" [URL] 8. Redirects 8.1 Location header When a resource is requested from a server, the reply from the server may include a hint about where the browser should go next to find this page, or a new page keeping newly generated output. The header that tells the browser to redirect is Location:. Curl does not follow Location: headers by default, but will simply display such pages in the same manner it display all HTTP replies. It does however feature an option that will make it attempt to follow the Location: pointers. To tell curl to follow a Location: curl --location http://www.example.com If you use curl to POST to a site that immediately redirects you to another page, you can safely use --location (-L) and --data/--form together. Curl will only use POST in the first request, and then revert to GET in the following operations. 8.2 Other redirects Browser typically support at least two other ways of redirects that curl doesn't: first the html may contain a meta refresh tag that asks the browser to load a specific URL after a set number of seconds, or it may use javascript to do it. 9. Cookies 9.1 Cookie Basics The way the web browsers do "client side state control" is by using cookies. Cookies are just names with associated contents. The cookies are sent to the client by the server. The server tells the client for what path and host name it wants the cookie sent back, and it also sends an expiration date and a few more properties. When a client communicates with a server with a name and path as previously specified in a received cookie, the client sends back the cookies and their contents to the server, unless of course they are expired. Many applications and servers use this method to connect a series of requests into a single logical session. To be able to use curl in such occasions, we must be able to record and send back cookies the way the web application expects them. The same way browsers deal with them. 9.2 Cookie options The simplest way to send a few cookies to the server when getting a page with curl is to add them on the command line like: curl --cookie "name=Daniel" http://www.example.com Cookies are sent as common HTTP headers. This is practical as it allows curl to record cookies simply by recording headers. Record cookies with curl by using the --dump-header (-D) option like: curl --dump-header headers_and_cookies http://www.example.com (Take note that the --cookie-jar option described below is a better way to store cookies.) Curl has a full blown cookie parsing engine built-in that comes to use if you want to reconnect to a server and use cookies that were stored from a previous connection (or hand-crafted manually to fool the server into believing you had a previous connection). To use previously stored cookies, you run curl like: curl --cookie stored_cookies_in_file http://www.example.com Curl's "cookie engine" gets enabled when you use the --cookie option. If you only want curl to understand received cookies, use --cookie with a file that doesn't exist. Example, if you want to let curl understand cookies from a page and follow a location (and thus possibly send back cookies it received), you can invoke it like: curl --cookie nada --location http://www.example.com Curl has the ability to read and write cookie files that use the same file format that Netscape and Mozilla once used. It is a convenient way to share cookies between scripts or invokes. The --cookie (-b) switch automatically detects if a given file is such a cookie file and parses it, and by using the --cookie-jar (-c) option you'll make curl write a new cookie file at the end of an operation: curl --cookie cookies.txt --cookie-jar newcookies.txt \ http://www.example.com 10. HTTPS 10.1 HTTPS is HTTP secure There are a few ways to do secure HTTP transfers. The by far most common protocol for doing this is what is generally known as HTTPS, HTTP over SSL. SSL encrypts all the data that is sent and received over the network and thus makes it harder for attackers to spy on sensitive information. SSL (or TLS as the latest version of the standard is called) offers a truckload of advanced features to allow all those encryptions and key infrastructure mechanisms encrypted HTTP requires. Curl supports encrypted fetches when built to use a TLS library and it can be built to use one out of a fairly large set of libraries - "curl -V" will show which one your curl was built to use (if any!). To get a page from a HTTPS server, simply run curl like: curl https://secure.example.com 10.2 Certificates In the HTTPS world, you use certificates to validate that you are the one you claim to be, as an addition to normal passwords. Curl supports client- side certificates. All certificates are locked with a pass phrase, which you need to enter before the certificate can be used by curl. The pass phrase can be specified on the command line or if not, entered interactively when curl queries for it. Use a certificate with curl on a HTTPS server like: curl --cert mycert.pem https://secure.example.com curl also tries to verify that the server is who it claims to be, by verifying the server's certificate against a locally stored CA cert bundle. Failing the verification will cause curl to deny the connection. You must then use --insecure (-k) in case you want to tell curl to ignore that the server can't be verified. More about server certificate verification and ca cert bundles can be read in the SSLCERTS document, available online here: http://curl.haxx.se/docs/sslcerts.html At times you may end up with your own CA cert store and then you can tell curl to use that to verify the server's certificate: curl --cacert ca-bundle.pem https://example.com/ 11. Custom Request Elements 11.1 Modify method and headers Doing fancy stuff, you may need to add or change elements of a single curl request. For example, you can change the POST request to a PROPFIND and send the data as "Content-Type: text/xml" (instead of the default Content-Type) like this: curl --data "" --header "Content-Type: text/xml" \ --request PROPFIND url.com You can delete a default header by providing one without content. Like you can ruin the request by chopping off the Host: header: curl --header "Host:" http://www.example.com You can add headers the same way. Your server may want a "Destination:" header, and you can add it: curl --header "Destination: http://nowhere" http://example.com 11.2 More on changed methods It should be noted that curl selects which methods to use on its own depending on what action to ask for. -d will do POST, -I will do HEAD and so on. If you use the --request / -X option you can change the method keyword curl selects, but you will not modify curl's behavior. This means that if you for example use -d "data" to do a POST, you can modify the method to a PROPFIND with -X and curl will still think it sends a POST. You can change the normal GET to a POST method by simply adding -X POST in a command line like: curl -X POST http://example.org/ ... but curl will still think and act as if it sent a GET so it won't send any request body etc. 12. Web Login 12.1 Some login tricks While not strictly just HTTP related, it still cause a lot of people problems so here's the executive run-down of how the vast majority of all login forms work and how to login to them using curl. It can also be noted that to do this properly in an automated fashion, you will most certainly need to script things and do multiple curl invokes etc. First, servers mostly use cookies to track the logged-in status of the client, so you will need to capture the cookies you receive in the responses. Then, many sites also set a special cookie on the login page (to make sure you got there through their login page) so you should make a habit of first getting the login-form page to capture the cookies set there. Some web-based login systems features various amounts of javascript, and sometimes they use such code to set or modify cookie contents. Possibly they do that to prevent programmed logins, like this manual describes how to... Anyway, if reading the code isn't enough to let you repeat the behavior manually, capturing the HTTP requests done by your browsers and analyzing the sent cookies is usually a working method to work out how to shortcut the javascript need. In the actual
tag for the login, lots of sites fill-in random/session or otherwise secretly generated hidden tags and you may need to first capture the HTML code for the login form and extract all the hidden fields to be able to do a proper login POST. Remember that the contents need to be URL encoded when sent in a normal POST. 13. Debug 13.1 Some debug tricks Many times when you run curl on a site, you'll notice that the site doesn't seem to respond the same way to your curl requests as it does to your browser's. Then you need to start making your curl requests more similar to your browser's requests: * Use the --trace-ascii option to store fully detailed logs of the requests for easier analyzing and better understanding * Make sure you check for and use cookies when needed (both reading with --cookie and writing with --cookie-jar) * Set user-agent to one like a recent popular browser does * Set referer like it is set by the browser * If you use POST, make sure you send all the fields and in the same order as the browser does it. A very good helper to make sure you do this right, is the LiveHTTPHeader tool that lets you view all headers you send and receive with Mozilla/Firefox (even when using HTTPS). Chrome features similar functionality out of the box among the developer's tools. A more raw approach is to capture the HTTP traffic on the network with tools such as ethereal or tcpdump and check what headers that were sent and received by the browser. (HTTPS makes this technique inefficient.) 14. References 14.1 Standards RFC 7230 is a must to read if you want in-depth understanding of the HTTP protocol RFC 3986 explains the URL syntax RFC 1867 defines the HTTP post upload format RFC 6525 defines how HTTP cookies work 14.2 Sites http://curl.haxx.se is the home of the cURL project curl-7.47.0/docs/INSTALL.devcpp0000644000175000017500000003013412626067776012764 00000000000000DevCpp-Mingw Install & Compilation Sept 2005 ================================== Reference Emails available at curl@haxx.se: Libcurl Install and Use Issues Awaiting an Answer for Win 32 Install res = curl_easy_perform(curl); Error Makefile Issues Having previously done a thorough review of what was available that met my requirements under GPL, I settled for Libcurl as the software of choice for many reasons not the least of which was the support. Background ---------- This quest started when I innocently tried to incorporate the libcurl library into my simple source code. I figured that a few easy steps would accomplish this without major headaches. I had no idea that I would be facing an almost insurmountable challenge. The main problem lies in two areas. First the bulk of support for libcurl exists for a Unix/linux command line environments. This is of little help when it comes to Windows O/S. Secondly the help that does exist for the Windows O/S focused around mingw through a command line argument environment. You may ask "Why is this a problem?" I'm using a Windows O/S with DevCpp. For those of you who are unfamiliar with DevCpp, it is a window shell GUI that replaces the command line environment for gcc. A definite improvement that I am unwilling to give up. However using DevCpp presented its own set of issues. Inadvertently I also made some careless errors such as compiling the 7.14 version of Makefile with an older version of source code. Thanks to Dan Fandrich for picking this up. I did eventually with the help of Daniel, Phillipe and others manage to implement successfully (the only mingw available version) curl-7.13.0-win32-ssl-devel-mingw32 into the DevCpp environment. Only the dynamic libcurl.dll libcurldll.a libraries worked. The static library which I was interested in did not. Furthermore when I tried to implement one of the examples included with the curl package (get info.c) it caused the executable to crash. Tracing the bug I found it in the code and function res = curl_easy_perform(curl);. At this point I had to make a choice as to whether invest my limited time-energy resource to fixing the bug or to compile the new version available. After searching the archives I found a very similar or the same bug reported from version 7.12x on. Daniel did inform me that he thought that this bug had been fixed with the latest version. So I proceeded to compile the latest SSL version where I faced other challenges. In order to make this process unremarkable for others using the same environment I decided to document the process so that others will find it routine. It would be a shame if newbies could not implement this excellent package for their use. I would like to thank the many others in this forum and in the DevCpp forum for their help. Without your help I may either have given up or it would have taken me many times longer to achieve success. The Cookbook Approach --------------------- This discussion will be confined to a SSL static library compilation and installation. Limited mention and comments will be inserted where appropriate to help with non-SSL, dynamic libraries and executables. Using Makefile from DevCpp to compile Libcurl libraries Preamble -------- Using the latest version release - curl-7.14.0.tar.gz. Curl source code is platform independent. This simply means that the source code can be compiled for any Operating System (Linux/Unix Windows etc. and variations of thereof). The first thing to note is that inside curl-7.14.0 you will find two folders lib and src. Both contain Makefile.m32 (required for win mingw library or exe compilation) files which are different. The main difference between these two folders and the makefiles is that the src folder contents are used to compile an executable file(curl.exe) while the lib folder contents are used to compile a static (libcurl.a) and dynamic (libcurl.dll & libcurldll.a) file that can be used to compile libcurl with your own source code so that one can use and access all libcurl functions. Before we start please make sure that DevCpp is installed properly. In particular make sure you have no spaces in the name of any of the directories and subdirectories where DevCpp is installed. Failure to comply with the install instructions may produce erratic behaviour in DevCpp. For further info check the following sites http://aditsu.freeunixhost.com/dev-cpp-faq.html https://sourceforge.net/p/dev-cpp/discussion/48211/thread/2a85ea46 As I have mentioned before I will confine this to the SSL Library compilations but the process is very similar for compilation of the executable - curl.exe; just substitute the src folder makefile in its stead. First use a text processor Notepad, or your own favourite text processor. To engage your favourite text processor, select Makefile.m32 click once with your mouse on file icon; icon turns blue, press the shift key and right-click on mouse, menu appears select "Open with", select your favourite text processor. Next read the contents of Makefile.m32. It includes instructions on its use. Method I - DOS Command Line --------------------------- Note - The only reason I have included this method is that Method II which is the preferred method for compiling does not allow for the setting of option switches (e.g. SSL = 1 or SSL =0). At least that's what they tell me at the Dev-Cpp forum. 1 - Make a copy of (D:\Dev-Cpp\bin) bin folder and name it "bin Original" place it in the Dev-Cpp installed directory (D:\Dev-Cpp\ for this example) 2 - Copy the entire contents of the LIB folder of curl-7.14.0.tar.gz or zip version into the bin folder above (D:\Dev-Cpp\bin). The reason being is that the make.exe file resides in this folder. Make.exe will use - Makefile.m32, Makefile.inc, and the source code included in the lib folder to compile the source code. There is a PATH issue with make.exe that remains unresolved at least for me. Unless the entire source code to be compiled is placed entirely within the directory of make.exe an error message will be generated - "file xxxx.yyy not available". 3- Go to Dev-Cpp\bin and double click on make .exe. You will see a DOS window quickly pop up and close very quickly. Not to worry! Please do not skip this step. 4- Click on the start button\Programs\MS-DOS Prompt.Once the DOS Window is up Type the disk drive letter (e.g. E: ) engage the enter button. The path should automatically take you to the directory of the make.exe file. 5- To compile the source code simply type at the DOS prompt make -f Makefile.m32 as per instructions contained in the Makefile.m32 file (use any text processor to read instructions). I don't believe that this makefile allows for the option of non SSL. Ignore any warnings. 6- Collect and make copies of libcurl.a, libcurl.dll, libcurldll.a and any *.o compilations you might need in another directory outside of the bin directory as you will need this files shortly to set up libcurl for use with Dev-cpp. For most apps *.o is not required. Later on we will show what to do with these files. 7- You are finished but before closing we need to do cleanup - erase the bin folder and rename the "bin Original" folder created in step 1 to bin. Note to compile a curl executable the process is probably similar but instead of using the LIB folder contents use the SRC folder contents and Makefiles in curl-7.14.0.tar.gz. File directories relative placements must be respected for compiling to take place successfully. This may not be possible with the PATH problem that make.exe experiences. If anyone has solved this PATH issue and please make sure it actually works on Win 9x/2000/XP before letting me know. Then please let me or Daniel in on the solution so that it can be included with these instructions. Thanks. or Method II - Dev-Cpp GUI ----------------------- 1- Copy the entire contents of the LIB folder of curl-7.14.0.tar.gz or zip version into any folder outside of (Dev-Cpp\bin). 2- Drop the File/New/click on Project. 3- New Project Dialogue box appears. Double click on the Static Library. 4- Create Project Dialogue box appears. Select the LIB folder location to place and locate your Project File Name. Placing the Project File Name elsewhere may cause problems (PATH issue problem again). 5- Drop down the Project/Project Options. Project Options Dialogue box appears. 6- Select the Makefile tab in the Project Options Dialogue Box. Check Box - Use Custom Makefile. Click on the Folder icon at the extreme right of the Check Box. Select Makefile.m32 in the folder wherever you have placed the contents of the LIB Folder. Press OK and close the Dialogue Box. 7- Drop the Menu Project/Click on Add to Project. Open File Dialogue Box appears. The Dialogue Box should open in the folder wherever you have placed the contents of the LIB Folder. If not go there. 8- Select Crtl-A to select all files in the LIB folder. Click on open to add files and close box. Wait till all files are added. This may take 30 seconds or longer. 9- Drop the Menu Execute/Click on Compile. 10- That's it. The following steps must be completed if Curl is to work properly ================================================================= LIB folder inclusions (*.a placement) ------------------------------------- 1- Refer to Method I - DOS Command Line point # 6 Take libcurl.a, libcurldll.a and install it in the directory C( or whichever drive Dev is installed) :\Dev-Cpp\lib. Include Folder -------------- 1- Create a new folder by the name of curl (do not change the name curl to some other name as it will cause major issues) in the directory C:\Dev-Cpp\include. 2- Copy the entire contents of the curl folder of curl-7.14.0.tar.gz or zip version into the newly created curl directory - C:\Dev-Cpp\include\curl. Links To Include And Lib Folder ------------------------------- 1- Drop the Menu - Tools\Compiler Options\Directories\Libraries. Make sure that C( or whichever drive Dev is installed):\DEV-CPP\lib is included. 2- Next select the Menu - Tools\Compiler Options\Directories\C Includes. Make sure that C:\DEV-CPP\include and C:\Dev-Cpp\include\curl are included. 3- Next select the Menu - Tools\Compiler Options\Directories\C++ Includes. Make sure that C:\DEV-CPP\include and C:\Dev-Cpp\include\curl are included. Linker Links ------------ 1- Drop the Menu - Tools\Compiler Options\Directories\Compiler. 2- Make sure that the box "Add these commands to the linker command line" is checked. 3- Include in the white space immediately below the box referred in 2 -lcurl -lws2_32. SSL Files --------- 1- Get the latest openSSL (as of time of this writing) openssl-0.9.7e-win32-bin.zip for the minimalist package of the openssl-0.9.7e binaries ported to MS Windows 95/98/NT/XP using the MingW32/GCC-3.1 development environment. The file may be downloaded at http://curl.haxx.se/download/. 2- Open the above zip file. You will find two files - SDL.dll, SDL_mixer.dll. Install them in the directory C:\WINDOWS\SYSTEM32 for Win 9x users and c:\winnt\system32 for NT-family users. Multithreading Files -------------------- To be completed #define ------- 1- Make sure that your program includes the following - #define CURL_STATICLIB must be declared FIRST before any other define functions may be added. Otherwise you may experience link errors. 2- Don't forget to include #include "curl/curl.h". e.g. #define CURL_STATICLIB #include #include "curl/curl.h" #include #include #include etc... Static or Dynamic Library ------------------------- The above steps apply for the use by a static library. Should you choose to use a dynamic library you will be required to perform these additional steps. 1- Refer to Method I - DOS Command Line point # 6. Install libcurl.dll in the directory C:\WINDOWS\SYSTEM32 for Win 9x users and c:\winnt\system32 for NT-family users. 2- Refer to Linker Links point 3 - Replace -lcurl with -lcurldll. Voila you're done. The non-SSL static Library build may not be possible to use at least as of the time of this writing - v7.14. Check reference emails - Phillipe and I found it impossible to fully compile as certain files were missing for linking. No big loss as SSL is a major plus. Hope this Helps Tom curl-7.47.0/docs/SECURITY0000644000175000017500000001127612626067776011653 00000000000000 _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| curl security for developers ============================ This document is intended to provide guidance to curl developers on how security vulnerabilities should be handled. Publishing Information ---------------------- All known and public curl or libcurl related vulnerabilities are listed on [the curl web site security page](http://curl.haxx.se/docs/security.html). Security vulnerabilities should not be entered in the project's public bug tracker unless the necessary configuration is in place to limit access to the issue to only the reporter and the project's security team. Vulnerability Handling ---------------------- The typical process for handling a new security vulnerability is as follows. No information should be made public about a vulnerability until it is formally announced at the end of this process. That means, for example that a bug tracker entry must NOT be created to track the issue since that will make the issue public and it should not be discussed on any of the project's public mailing lists. Also messages associated with any commits should not make any reference to the security nature of the commit if done prior to the public announcement. - The person discovering the issue, the reporter, reports the vulnerability privately to `curl-security@haxx.se`. That's an email alias that reaches a handful of selected and trusted people. - Messages that do not relate to the reporting or managing of an undisclosed security vulnerability in curl or libcurl are ignored and no further action is required. - A person in the security team sends an e-mail to the original reporter to acknowledge the report. - The security team investigates the report and either rejects it or accepts it. - If the report is rejected, the team writes to the reporter to explain why. - If the report is accepted, the team writes to the reporter to let him/her know it is accepted and that they are working on a fix. - The security team discusses the problem, works out a fix, considers the impact of the problem and suggests a release schedule. This discussion should involve the reporter as much as possible. - The release of the information should be "as soon as possible" and is most often synced with an upcoming release that contains the fix. If the reporter, or anyone else, thinks the next planned release is too far away then a separate earlier release for security reasons should be considered. - Write a security advisory draft about the problem that explains what the problem is, its impact, which versions it affects, solutions or workarounds, when the release is out and make sure to credit all contributors properly. - Request a CVE number from distros@openwall[1] when also informing and preparing them for the upcoming public security vulnerability announcement - attach the advisory draft for information. Note that 'distros' won't accept an embargo longer than 19 days. - Update the "security advisory" with the CVE number. - The security team commits the fix in a private branch. The commit message should ideally contain the CVE number. This fix is usually also distributed to the 'distros' mailing list to allow them to use the fix prior to the public announcement. - At the day of the next release, the private branch is merged into the master branch and pushed. Once pushed, the information is accessible to the public and the actual release should follow suit immediately afterwards. - The project team creates a release that includes the fix. - The project team announces the release and the vulnerability to the world in the same manner we always announce releases. It gets sent to the curl-announce, curl-library and curl-users mailing lists. - The security web page on the web site should get the new vulnerability mentioned. [1] = http://oss-security.openwall.org/wiki/mailing-lists/distros CURL-SECURITY (at haxx dot se) ------------------------------ Who is on this list? There are a couple of criteria you must meet, and then we might ask you to join the list or you can ask to join it. It really isn't very formal. We basically only require that you have a long-term presence in the curl project and you have shown an understanding for the project and its way of working. You must've been around for a good while and you should have no plans in vanishing in the near future. We do not make the list of partipants public mostly because it tends to vary somewhat over time and a list somewhere will only risk getting outdated. curl-7.47.0/docs/examples/0000755000175000017500000000000012652071257012334 500000000000000curl-7.47.0/docs/examples/htmltidy.c0000644000175000017500000000764712626067776014310 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Download a document and use libtidy to parse the HTML. * */ /* * LibTidy => http://tidy.sourceforge.net */ #include #include #include #include /* curl write callback, to fill tidy's input buffer... */ uint write_cb(char *in, uint size, uint nmemb, TidyBuffer *out) { uint r; r = size * nmemb; tidyBufAppend( out, in, r ); return(r); } /* Traverse the document tree */ void dumpNode(TidyDoc doc, TidyNode tnod, int indent ) { TidyNode child; for ( child = tidyGetChild(tnod); child; child = tidyGetNext(child) ) { ctmbstr name = tidyNodeGetName( child ); if ( name ) { /* if it has a name, then it's an HTML tag ... */ TidyAttr attr; printf( "%*.*s%s ", indent, indent, "<", name); /* walk the attribute list */ for ( attr=tidyAttrFirst(child); attr; attr=tidyAttrNext(attr) ) { printf(tidyAttrName(attr)); tidyAttrValue(attr)?printf("=\"%s\" ", tidyAttrValue(attr)):printf(" "); } printf( ">\n"); } else { /* if it doesn't have a name, then it's probably text, cdata, etc... */ TidyBuffer buf; tidyBufInit(&buf); tidyNodeGetText(doc, child, &buf); printf("%*.*s\n", indent, indent, buf.bp?(char *)buf.bp:""); tidyBufFree(&buf); } dumpNode( doc, child, indent + 4 ); /* recursive */ } } int main(int argc, char **argv ) { CURL *curl; char curl_errbuf[CURL_ERROR_SIZE]; TidyDoc tdoc; TidyBuffer docbuf = {0}; TidyBuffer tidy_errbuf = {0}; int err; if ( argc == 2) { curl = curl_easy_init(); curl_easy_setopt(curl, CURLOPT_URL, argv[1]); curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, curl_errbuf); curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_cb); tdoc = tidyCreate(); tidyOptSetBool(tdoc, TidyForceOutput, yes); /* try harder */ tidyOptSetInt(tdoc, TidyWrapLen, 4096); tidySetErrorBuffer( tdoc, &tidy_errbuf ); tidyBufInit(&docbuf); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &docbuf); err=curl_easy_perform(curl); if ( !err ) { err = tidyParseBuffer(tdoc, &docbuf); /* parse the input */ if ( err >= 0 ) { err = tidyCleanAndRepair(tdoc); /* fix any problems */ if ( err >= 0 ) { err = tidyRunDiagnostics(tdoc); /* load tidy error buffer */ if ( err >= 0 ) { dumpNode( tdoc, tidyGetRoot(tdoc), 0 ); /* walk the tree */ fprintf(stderr, "%s\n", tidy_errbuf.bp); /* show errors */ } } } } else fprintf(stderr, "%s\n", curl_errbuf); /* clean-up */ curl_easy_cleanup(curl); tidyBufFree(&docbuf); tidyBufFree(&tidy_errbuf); tidyRelease(tdoc); return(err); } else printf( "usage: %s \n", argv[0] ); return(0); } curl-7.47.0/docs/examples/evhiperfifo.c0000644000175000017500000002761712626067776014757 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * multi socket interface together with libev * */ /* Example application source code using the multi socket interface to * download many files at once. * * This example features the same basic functionality as hiperfifo.c does, * but this uses libev instead of libevent. * * Written by Jeff Pohlmeyer, converted to use libev by Markus Koetter Requires libev and a (POSIX?) system that has mkfifo(). This is an adaptation of libcurl's "hipev.c" and libevent's "event-test.c" sample programs. When running, the program creates the named pipe "hiper.fifo" Whenever there is input into the fifo, the program reads the input as a list of URL's and creates some new easy handles to fetch each URL via the curl_multi "hiper" API. Thus, you can try a single URL: % echo http://www.yahoo.com > hiper.fifo Or a whole bunch of them: % cat my-url-list > hiper.fifo The fifo buffer is handled almost instantly, so you can even add more URL's while the previous requests are still being downloaded. Note: For the sake of simplicity, URL length is limited to 1023 char's ! This is purely a demo app, all retrieved data is simply discarded by the write callback. */ #include #include #include #include #include #include #include #include #include #include #include #include #define DPRINT(x...) printf(x) #define MSG_OUT stdout /* Send info to stdout, change to stderr if you want */ /* Global information, common to all connections */ typedef struct _GlobalInfo { struct ev_loop *loop; struct ev_io fifo_event; struct ev_timer timer_event; CURLM *multi; int still_running; FILE* input; } GlobalInfo; /* Information associated with a specific easy handle */ typedef struct _ConnInfo { CURL *easy; char *url; GlobalInfo *global; char error[CURL_ERROR_SIZE]; } ConnInfo; /* Information associated with a specific socket */ typedef struct _SockInfo { curl_socket_t sockfd; CURL *easy; int action; long timeout; struct ev_io ev; int evset; GlobalInfo *global; } SockInfo; static void timer_cb(EV_P_ struct ev_timer *w, int revents); /* Update the event timer after curl_multi library calls */ static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g) { DPRINT("%s %li\n", __PRETTY_FUNCTION__, timeout_ms); ev_timer_stop(g->loop, &g->timer_event); if (timeout_ms > 0) { double t = timeout_ms / 1000; ev_timer_init(&g->timer_event, timer_cb, t, 0.); ev_timer_start(g->loop, &g->timer_event); }else timer_cb(g->loop, &g->timer_event, 0); return 0; } /* Die if we get a bad CURLMcode somewhere */ static void mcode_or_die(const char *where, CURLMcode code) { if ( CURLM_OK != code ) { const char *s; switch ( code ) { case CURLM_BAD_HANDLE: s="CURLM_BAD_HANDLE"; break; case CURLM_BAD_EASY_HANDLE: s="CURLM_BAD_EASY_HANDLE"; break; case CURLM_OUT_OF_MEMORY: s="CURLM_OUT_OF_MEMORY"; break; case CURLM_INTERNAL_ERROR: s="CURLM_INTERNAL_ERROR"; break; case CURLM_UNKNOWN_OPTION: s="CURLM_UNKNOWN_OPTION"; break; case CURLM_LAST: s="CURLM_LAST"; break; default: s="CURLM_unknown"; break; case CURLM_BAD_SOCKET: s="CURLM_BAD_SOCKET"; fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s); /* ignore this error */ return; } fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s); exit(code); } } /* Check for completed transfers, and remove their easy handles */ static void check_multi_info(GlobalInfo *g) { char *eff_url; CURLMsg *msg; int msgs_left; ConnInfo *conn; CURL *easy; CURLcode res; fprintf(MSG_OUT, "REMAINING: %d\n", g->still_running); while ((msg = curl_multi_info_read(g->multi, &msgs_left))) { if (msg->msg == CURLMSG_DONE) { easy = msg->easy_handle; res = msg->data.result; curl_easy_getinfo(easy, CURLINFO_PRIVATE, &conn); curl_easy_getinfo(easy, CURLINFO_EFFECTIVE_URL, &eff_url); fprintf(MSG_OUT, "DONE: %s => (%d) %s\n", eff_url, res, conn->error); curl_multi_remove_handle(g->multi, easy); free(conn->url); curl_easy_cleanup(easy); free(conn); } } } /* Called by libevent when we get action on a multi socket */ static void event_cb(EV_P_ struct ev_io *w, int revents) { DPRINT("%s w %p revents %i\n", __PRETTY_FUNCTION__, w, revents); GlobalInfo *g = (GlobalInfo*) w->data; CURLMcode rc; int action = (revents&EV_READ?CURL_POLL_IN:0)| (revents&EV_WRITE?CURL_POLL_OUT:0); rc = curl_multi_socket_action(g->multi, w->fd, action, &g->still_running); mcode_or_die("event_cb: curl_multi_socket_action", rc); check_multi_info(g); if ( g->still_running <= 0 ) { fprintf(MSG_OUT, "last transfer done, kill timeout\n"); ev_timer_stop(g->loop, &g->timer_event); } } /* Called by libevent when our timeout expires */ static void timer_cb(EV_P_ struct ev_timer *w, int revents) { DPRINT("%s w %p revents %i\n", __PRETTY_FUNCTION__, w, revents); GlobalInfo *g = (GlobalInfo *)w->data; CURLMcode rc; rc = curl_multi_socket_action(g->multi, CURL_SOCKET_TIMEOUT, 0, &g->still_running); mcode_or_die("timer_cb: curl_multi_socket_action", rc); check_multi_info(g); } /* Clean up the SockInfo structure */ static void remsock(SockInfo *f, GlobalInfo *g) { printf("%s \n", __PRETTY_FUNCTION__); if ( f ) { if ( f->evset ) ev_io_stop(g->loop, &f->ev); free(f); } } /* Assign information to a SockInfo structure */ static void setsock(SockInfo*f, curl_socket_t s, CURL*e, int act, GlobalInfo*g) { printf("%s \n", __PRETTY_FUNCTION__); int kind = (act&CURL_POLL_IN?EV_READ:0)|(act&CURL_POLL_OUT?EV_WRITE:0); f->sockfd = s; f->action = act; f->easy = e; if ( f->evset ) ev_io_stop(g->loop, &f->ev); ev_io_init(&f->ev, event_cb, f->sockfd, kind); f->ev.data = g; f->evset=1; ev_io_start(g->loop, &f->ev); } /* Initialize a new SockInfo structure */ static void addsock(curl_socket_t s, CURL *easy, int action, GlobalInfo *g) { SockInfo *fdp = calloc(sizeof(SockInfo), 1); fdp->global = g; setsock(fdp, s, easy, action, g); curl_multi_assign(g->multi, s, fdp); } /* CURLMOPT_SOCKETFUNCTION */ static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp) { DPRINT("%s e %p s %i what %i cbp %p sockp %p\n", __PRETTY_FUNCTION__, e, s, what, cbp, sockp); GlobalInfo *g = (GlobalInfo*) cbp; SockInfo *fdp = (SockInfo*) sockp; const char *whatstr[]={ "none", "IN", "OUT", "INOUT", "REMOVE"}; fprintf(MSG_OUT, "socket callback: s=%d e=%p what=%s ", s, e, whatstr[what]); if ( what == CURL_POLL_REMOVE ) { fprintf(MSG_OUT, "\n"); remsock(fdp, g); } else { if ( !fdp ) { fprintf(MSG_OUT, "Adding data: %s\n", whatstr[what]); addsock(s, e, what, g); } else { fprintf(MSG_OUT, "Changing action from %s to %s\n", whatstr[fdp->action], whatstr[what]); setsock(fdp, s, e, what, g); } } return 0; } /* CURLOPT_WRITEFUNCTION */ static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data) { size_t realsize = size * nmemb; ConnInfo *conn = (ConnInfo*) data; (void)ptr; (void)conn; return realsize; } /* CURLOPT_PROGRESSFUNCTION */ static int prog_cb (void *p, double dltotal, double dlnow, double ult, double uln) { ConnInfo *conn = (ConnInfo *)p; (void)ult; (void)uln; fprintf(MSG_OUT, "Progress: %s (%g/%g)\n", conn->url, dlnow, dltotal); return 0; } /* Create a new easy handle, and add it to the global curl_multi */ static void new_conn(char *url, GlobalInfo *g ) { ConnInfo *conn; CURLMcode rc; conn = calloc(1, sizeof(ConnInfo)); memset(conn, 0, sizeof(ConnInfo)); conn->error[0]='\0'; conn->easy = curl_easy_init(); if ( !conn->easy ) { fprintf(MSG_OUT, "curl_easy_init() failed, exiting!\n"); exit(2); } conn->global = g; conn->url = strdup(url); curl_easy_setopt(conn->easy, CURLOPT_URL, conn->url); curl_easy_setopt(conn->easy, CURLOPT_WRITEFUNCTION, write_cb); curl_easy_setopt(conn->easy, CURLOPT_WRITEDATA, conn); curl_easy_setopt(conn->easy, CURLOPT_VERBOSE, 1L); curl_easy_setopt(conn->easy, CURLOPT_ERRORBUFFER, conn->error); curl_easy_setopt(conn->easy, CURLOPT_PRIVATE, conn); curl_easy_setopt(conn->easy, CURLOPT_NOPROGRESS, 0L); curl_easy_setopt(conn->easy, CURLOPT_PROGRESSFUNCTION, prog_cb); curl_easy_setopt(conn->easy, CURLOPT_PROGRESSDATA, conn); curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_TIME, 3L); curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_LIMIT, 10L); fprintf(MSG_OUT, "Adding easy %p to multi %p (%s)\n", conn->easy, g->multi, url); rc = curl_multi_add_handle(g->multi, conn->easy); mcode_or_die("new_conn: curl_multi_add_handle", rc); /* note that the add_handle() will set a time-out to trigger very soon so that the necessary socket_action() call will be called by this app */ } /* This gets called whenever data is received from the fifo */ static void fifo_cb(EV_P_ struct ev_io *w, int revents) { char s[1024]; long int rv=0; int n=0; GlobalInfo *g = (GlobalInfo *)w->data; do { s[0]='\0'; rv=fscanf(g->input, "%1023s%n", s, &n); s[n]='\0'; if ( n && s[0] ) { new_conn(s,g); /* if we read a URL, go get it! */ } else break; } while ( rv != EOF ); } /* Create a named pipe and tell libevent to monitor it */ static int init_fifo (GlobalInfo *g) { struct stat st; static const char *fifo = "hiper.fifo"; curl_socket_t sockfd; fprintf(MSG_OUT, "Creating named pipe \"%s\"\n", fifo); if ( lstat (fifo, &st) == 0 ) { if ( (st.st_mode & S_IFMT) == S_IFREG ) { errno = EEXIST; perror("lstat"); exit (1); } } unlink(fifo); if ( mkfifo (fifo, 0600) == -1 ) { perror("mkfifo"); exit (1); } sockfd = open(fifo, O_RDWR | O_NONBLOCK, 0); if ( sockfd == -1 ) { perror("open"); exit (1); } g->input = fdopen(sockfd, "r"); fprintf(MSG_OUT, "Now, pipe some URL's into > %s\n", fifo); ev_io_init(&g->fifo_event, fifo_cb, sockfd, EV_READ); ev_io_start(g->loop, &g->fifo_event); return(0); } int main(int argc, char **argv) { GlobalInfo g; CURLMcode rc; (void)argc; (void)argv; memset(&g, 0, sizeof(GlobalInfo)); g.loop = ev_default_loop(0); init_fifo(&g); g.multi = curl_multi_init(); ev_timer_init(&g.timer_event, timer_cb, 0., 0.); g.timer_event.data = &g; g.fifo_event.data = &g; curl_multi_setopt(g.multi, CURLMOPT_SOCKETFUNCTION, sock_cb); curl_multi_setopt(g.multi, CURLMOPT_SOCKETDATA, &g); curl_multi_setopt(g.multi, CURLMOPT_TIMERFUNCTION, multi_timer_cb); curl_multi_setopt(g.multi, CURLMOPT_TIMERDATA, &g); /* we don't call any curl_multi_socket*() function yet as we have no handles added! */ ev_loop(g.loop, 0); curl_multi_cleanup(g.multi); return 0; } curl-7.47.0/docs/examples/imap-store.c0000644000175000017500000000530712633553325014505 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example showing how to modify the properties of an e-mail * */ #include #include /* This is a simple example showing how to modify an existing mail using * libcurl's IMAP capabilities with the STORE command. * * Note that this example requires libcurl 7.30.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is the mailbox folder to select */ curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/INBOX"); /* Set the STORE command with the Deleted flag for message 1. Note that * you can use the STORE command to set other flags such as Seen, Answered, * Flagged, Draft and Recent. */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "STORE 1 +Flags \\Deleted"); /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); else { /* Set the EXPUNGE command, although you can use the CLOSE command if you * don't want to know the result of the STORE */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "EXPUNGE"); /* Perform the second custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/version-check.pl0000755000175000017500000000522612626067776015375 00000000000000#!/usr/bin/env perl #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2010, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at http://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 script accepts a source file as input on the command line. # # It first loads the 'symbols-in-versions' document and stores a lookup # table for all known symbols for which version they were introduced. # # It then scans the given source file to dig up all symbols starting with CURL. # Finally, it sorts the internal list of found symbols (using the version # number as sort key) and then it outputs the most recent version number and # the symbols from that version that are used. # # Usage: # # version-check.pl [source file] # open(S, "<../libcurl/symbols-in-versions") || die; my %doc; my %rem; while() { if(/(^CURL[^ \n]*) *(.*)/) { my ($sym, $rest)=($1, $2); my @a=split(/ +/, $rest); $doc{$sym}=$a[0]; # when it was introduced if($a[2]) { # this symbol is documented to have been present the last time # in this release $rem{$sym}=$a[2]; } } } close(S); sub age { my ($ver)=@_; my @s=split(/\./, $ver); return $s[0]*10000+$s[1]*100+$s[2]; } my %used; open(C, "<$ARGV[0]") || die; while() { if(/\W(CURL[_A-Z0-9v]+)\W/) { #print "$1\n"; $used{$1}++; } } close(C); sub sortversions { my $r = age($doc{$a}) <=> age($doc{$b}); if(!$r) { $r = $a cmp $b; } return $r; } my @recent = reverse sort sortversions keys %used; # the most recent symbol my $newsym = $recent[0]; # the most recent version my $newver = $doc{$newsym}; print "The scanned source uses these symbols introduced in $newver:\n"; for my $w (@recent) { if($doc{$w} eq $newver) { printf " $w\n"; next; } last; } curl-7.47.0/docs/examples/imap-delete.c0000644000175000017500000000410112633553325014602 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example showing how to delete a folder * */ #include #include /* This is a simple example showing how to delete an existing mailbox folder * using libcurl's IMAP capabilities. * * Note that this example requires libcurl 7.30.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is just the server URL */ curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com"); /* Set the DELETE command specifing the existing folder */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE FOLDER"); /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/Makefile.inc0000644000175000017500000000465012652070733014467 00000000000000#*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at http://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. # ########################################################################### # These are all libcurl example programs to be test compiled check_PROGRAMS = 10-at-a-time anyauthput cookie_interface debug fileupload \ fopen ftpget ftpgetresp ftpupload getinfo getinmemory http-post httpput \ https multi-app multi-debugcallback multi-double multi-post multi-single \ persistant post-callback postit2 sepheaders simple simplepost simplessl \ sendrecv httpcustomheader certinfo chkspeed ftpgetinfo ftp-wildcard \ smtp-mail smtp-multi smtp-ssl smtp-tls smtp-vrfy smtp-expn rtsp \ externalsocket resolve progressfunc pop3-retr pop3-list pop3-uidl \ pop3-dele pop3-top pop3-stat pop3-noop pop3-ssl pop3-tls pop3-multi \ imap-list imap-lsub imap-fetch imap-store imap-append imap-examine \ imap-search imap-create imap-delete imap-copy imap-noop imap-ssl \ imap-tls imap-multi url2file sftpget ftpsget postinmemory http2-download \ http2-upload http2-serverpush getredirect # These examples require external dependencies that may not be commonly # available on POSIX systems, so don't bother attempting to compile them here. COMPLICATED_EXAMPLES = curlgtk.c curlx.c htmltitle.cpp cacertinmem.c \ ftpuploadresume.c ghiper.c hiperfifo.c htmltidy.c multithread.c \ opensslthreadlock.c sampleconv.c synctime.c threaded-ssl.c evhiperfifo.c \ smooth-gtk-thread.c version-check.pl href_extractor.c asiohiper.cpp \ multi-uv.c xmlstream.c usercertinmem.c sessioninfo.c curl-7.47.0/docs/examples/imap-copy.c0000644000175000017500000000455412633553325014326 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example showing how to copy an e-mail from one folder to another * */ #include #include /* This is a simple example showing how to copy a mail from one mailbox folder * to another using libcurl's IMAP capabilities. * * Note that this example requires libcurl 7.30.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is source mailbox folder to select */ curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/INBOX"); /* Set the COPY command specifing the message ID and destination folder */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "COPY 1 FOLDER"); /* Note that to perform a move operation you will need to perform the copy, * then mark the original mail as Deleted and EXPUNGE or CLOSE. Please see * imap-store.c for more information on deleting messages. */ /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/README0000644000175000017500000000311512633553325013134 00000000000000 _ _ ____ _ ___| | | | _ \| | / __| | | | |_) | | | (__| |_| | _ <| |___ \___|\___/|_| \_\_____| This directory is for libcurl programming examples. They are meant to show some simple steps on how you can build your own application to take full advantage of libcurl. If you end up with other small but still useful example sources, please mail them for submission in future packages and on the web site. BUILDING The Makefile.example is an example makefile that could be used to build these examples. Just edit the file according to your system and requirements first. Most examples should build fine using a command line like this: $ `curl-config --cc --cflags --libs` -o example example.c Some compilers don't like having the arguments in this order but instead want you do reorganize them like: $ `curl-config --cc` -o example example.c `curl-config --cflags --libs` *PLEASE* do not use the curl.haxx.se site as a test target for your libcurl applications/experiments. Even if some of the examples use that site as a URL at some places, it doesn't mean that the URLs work or that we expect you to actually torture our web site with your tests! Thanks. EXAMPLES Each example source code file is designed to be and work stand-alone and rather self-explanatory. The examples may at times lack the level of error checks you need in a real world, but that is then only for the sake of readability: to make the code smaller and easier to follow. curl-7.47.0/docs/examples/makefile.dj0000644000175000017500000000312612626067776014366 00000000000000#*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at http://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. # ########################################################################### TOPDIR = ../.. include $(TOPDIR)/packages/DOS/common.dj CFLAGS += -DFALSE=0 -DTRUE=1 LIBS = $(TOPDIR)/lib/libcurl.a ifeq ($(USE_SSL),1) LIBS += $(OPENSSL_ROOT)/lib/libssl.a $(OPENSSL_ROOT)/lib/libcrypt.a endif ifeq ($(USE_IDNA),1) LIBS += $(LIBIDN_ROOT)/lib/dj_obj/libidn.a -liconv endif LIBS += $(WATT32_ROOT)/lib/libwatt.a $(ZLIB_ROOT)/libz.a include Makefile.inc PROGRAMS = $(patsubst %,%.exe,$(check_PROGRAMS)) all: $(PROGRAMS) @echo Welcome to libcurl example program %.exe: %.c $(CC) $(CFLAGS) -o $@ $^ $(LIBS) @echo clean vclean realclean: - rm -f $(PROGRAMS) depend.dj -include depend.dj curl-7.47.0/docs/examples/ftpgetresp.c0000644000175000017500000000473012626067776014623 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include #include /* * Similar to ftpget.c but also stores the received response-lines * in a separate file using our own callback! * */ static size_t write_response(void *ptr, size_t size, size_t nmemb, void *data) { FILE *writehere = (FILE *)data; return fwrite(ptr, size, nmemb, writehere); } int main(void) { CURL *curl; CURLcode res; FILE *ftpfile; FILE *respfile; /* local file name to store the file as */ ftpfile = fopen("ftp-list", "wb"); /* b is binary, needed on win32 */ /* local file name to store the FTP server's response lines in */ respfile = fopen("ftp-responses", "wb"); /* b is binary, needed on win32 */ curl = curl_easy_init(); if(curl) { /* Get a file listing from sunet */ curl_easy_setopt(curl, CURLOPT_URL, "ftp://ftp.example.com/"); curl_easy_setopt(curl, CURLOPT_WRITEDATA, ftpfile); /* If you intend to use this on windows with a libcurl DLL, you must use CURLOPT_WRITEFUNCTION as well */ curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, write_response); curl_easy_setopt(curl, CURLOPT_HEADERDATA, respfile); res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } fclose(ftpfile); /* close the local file */ fclose(respfile); /* close the response file */ return 0; } curl-7.47.0/docs/examples/rtsp.c0000644000175000017500000002054312642477635013425 00000000000000/* * Copyright (c) 2011, Jim Hollinger * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of Jim Hollinger nor the names of its contributors * may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ /* * A basic RTSP transfer * */ #include #include #include #if defined (WIN32) # include /* _getch() */ #else # include # include static int _getch(void) { struct termios oldt, newt; int ch; tcgetattr( STDIN_FILENO, &oldt ); newt = oldt; newt.c_lflag &= ~( ICANON | ECHO ); tcsetattr( STDIN_FILENO, TCSANOW, &newt ); ch = getchar(); tcsetattr( STDIN_FILENO, TCSANOW, &oldt ); return ch; } #endif #include #define VERSION_STR "V1.0" /* error handling macros */ #define my_curl_easy_setopt(A, B, C) \ if ((res = curl_easy_setopt((A), (B), (C))) != CURLE_OK) \ fprintf(stderr, "curl_easy_setopt(%s, %s, %s) failed: %d\n", \ #A, #B, #C, res); #define my_curl_easy_perform(A) \ if ((res = curl_easy_perform((A))) != CURLE_OK) \ fprintf(stderr, "curl_easy_perform(%s) failed: %d\n", #A, res); /* send RTSP OPTIONS request */ static void rtsp_options(CURL *curl, const char *uri) { CURLcode res = CURLE_OK; printf("\nRTSP: OPTIONS %s\n", uri); my_curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, uri); my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_OPTIONS); my_curl_easy_perform(curl); } /* send RTSP DESCRIBE request and write sdp response to a file */ static void rtsp_describe(CURL *curl, const char *uri, const char *sdp_filename) { CURLcode res = CURLE_OK; FILE *sdp_fp = fopen(sdp_filename, "wt"); printf("\nRTSP: DESCRIBE %s\n", uri); if (sdp_fp == NULL) { fprintf(stderr, "Could not open '%s' for writing\n", sdp_filename); sdp_fp = stdout; } else { printf("Writing SDP to '%s'\n", sdp_filename); } my_curl_easy_setopt(curl, CURLOPT_WRITEDATA, sdp_fp); my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_DESCRIBE); my_curl_easy_perform(curl); my_curl_easy_setopt(curl, CURLOPT_WRITEDATA, stdout); if (sdp_fp != stdout) { fclose(sdp_fp); } } /* send RTSP SETUP request */ static void rtsp_setup(CURL *curl, const char *uri, const char *transport) { CURLcode res = CURLE_OK; printf("\nRTSP: SETUP %s\n", uri); printf(" TRANSPORT %s\n", transport); my_curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, uri); my_curl_easy_setopt(curl, CURLOPT_RTSP_TRANSPORT, transport); my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_SETUP); my_curl_easy_perform(curl); } /* send RTSP PLAY request */ static void rtsp_play(CURL *curl, const char *uri, const char *range) { CURLcode res = CURLE_OK; printf("\nRTSP: PLAY %s\n", uri); my_curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, uri); my_curl_easy_setopt(curl, CURLOPT_RANGE, range); my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_PLAY); my_curl_easy_perform(curl); } /* send RTSP TEARDOWN request */ static void rtsp_teardown(CURL *curl, const char *uri) { CURLcode res = CURLE_OK; printf("\nRTSP: TEARDOWN %s\n", uri); my_curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, (long)CURL_RTSPREQ_TEARDOWN); my_curl_easy_perform(curl); } /* convert url into an sdp filename */ static void get_sdp_filename(const char *url, char *sdp_filename) { const char *s = strrchr(url, '/'); strcpy(sdp_filename, "video.sdp"); if (s != NULL) { s++; if (s[0] != '\0') { sprintf(sdp_filename, "%s.sdp", s); } } } /* scan sdp file for media control attribute */ static void get_media_control_attribute(const char *sdp_filename, char *control) { int max_len = 256; char *s = malloc(max_len); FILE *sdp_fp = fopen(sdp_filename, "rt"); control[0] = '\0'; if (sdp_fp != NULL) { while (fgets(s, max_len - 2, sdp_fp) != NULL) { sscanf(s, " a = control: %s", control); } fclose(sdp_fp); } free(s); } /* main app */ int main(int argc, char * const argv[]) { #if 1 const char *transport = "RTP/AVP;unicast;client_port=1234-1235"; /* UDP */ #else const char *transport = "RTP/AVP/TCP;unicast;client_port=1234-1235"; /* TCP */ #endif const char *range = "0.000-"; int rc = EXIT_SUCCESS; char *base_name = NULL; printf("\nRTSP request %s\n", VERSION_STR); printf(" Project web site: http://code.google.com/p/rtsprequest/\n"); printf(" Requires cURL V7.20 or greater\n\n"); /* check command line */ if ((argc != 2) && (argc != 3)) { base_name = strrchr(argv[0], '/'); if (base_name == NULL) { base_name = strrchr(argv[0], '\\'); } if (base_name == NULL) { base_name = argv[0]; } else { base_name++; } printf("Usage: %s url [transport]\n", base_name); printf(" url of video server\n"); printf(" transport (optional) specifier for media stream protocol\n"); printf(" default transport: %s\n", transport); printf("Example: %s rtsp://192.168.0.2/media/video1\n\n", base_name); rc = EXIT_FAILURE; } else { const char *url = argv[1]; char *uri = malloc(strlen(url) + 32); char *sdp_filename = malloc(strlen(url) + 32); char *control = malloc(strlen(url) + 32); CURLcode res; get_sdp_filename(url, sdp_filename); if (argc == 3) { transport = argv[2]; } /* initialize curl */ res = curl_global_init(CURL_GLOBAL_ALL); if (res == CURLE_OK) { curl_version_info_data *data = curl_version_info(CURLVERSION_NOW); CURL *curl; fprintf(stderr, " cURL V%s loaded\n", data->version); /* initialize this curl session */ curl = curl_easy_init(); if (curl != NULL) { my_curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L); my_curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L); my_curl_easy_setopt(curl, CURLOPT_HEADERDATA, stdout); my_curl_easy_setopt(curl, CURLOPT_URL, url); /* request server options */ sprintf(uri, "%s", url); rtsp_options(curl, uri); /* request session description and write response to sdp file */ rtsp_describe(curl, uri, sdp_filename); /* get media control attribute from sdp file */ get_media_control_attribute(sdp_filename, control); /* setup media stream */ sprintf(uri, "%s/%s", url, control); rtsp_setup(curl, uri, transport); /* start playing media stream */ sprintf(uri, "%s/", url); rtsp_play(curl, uri, range); printf("Playing video, press any key to stop ..."); _getch(); printf("\n"); /* teardown session */ rtsp_teardown(curl, uri); /* cleanup */ curl_easy_cleanup(curl); curl = NULL; } else { fprintf(stderr, "curl_easy_init() failed\n"); } curl_global_cleanup(); } else { fprintf(stderr, "curl_global_init(%s) failed: %d\n", "CURL_GLOBAL_ALL", res); } free(control); free(sdp_filename); free(uri); } return rc; } curl-7.47.0/docs/examples/cookie_interface.c0000644000175000017500000000770512626067776015736 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Import and export cookies with COOKIELIST. * */ #include #include #include #include #include #include static void print_cookies(CURL *curl) { CURLcode res; struct curl_slist *cookies; struct curl_slist *nc; int i; printf("Cookies, curl knows:\n"); res = curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &cookies); if (res != CURLE_OK) { fprintf(stderr, "Curl curl_easy_getinfo failed: %s\n", curl_easy_strerror(res)); exit(1); } nc = cookies, i = 1; while (nc) { printf("[%d]: %s\n", i, nc->data); nc = nc->next; i++; } if (i == 1) { printf("(none)\n"); } curl_slist_free_all(cookies); } int main(void) { CURL *curl; CURLcode res; curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if (curl) { char nline[256]; curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/"); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); curl_easy_setopt(curl, CURLOPT_COOKIEFILE, ""); /* just to start the cookie engine */ res = curl_easy_perform(curl); if (res != CURLE_OK) { fprintf(stderr, "Curl perform failed: %s\n", curl_easy_strerror(res)); return 1; } print_cookies(curl); printf("Erasing curl's knowledge of cookies!\n"); curl_easy_setopt(curl, CURLOPT_COOKIELIST, "ALL"); print_cookies(curl); printf("-----------------------------------------------\n" "Setting a cookie \"PREF\" via cookie interface:\n"); #ifdef WIN32 #define snprintf _snprintf #endif /* Netscape format cookie */ snprintf(nline, sizeof(nline), "%s\t%s\t%s\t%s\t%lu\t%s\t%s", ".google.com", "TRUE", "/", "FALSE", (unsigned long)time(NULL) + 31337UL, "PREF", "hello google, i like you very much!"); res = curl_easy_setopt(curl, CURLOPT_COOKIELIST, nline); if (res != CURLE_OK) { fprintf(stderr, "Curl curl_easy_setopt failed: %s\n", curl_easy_strerror(res)); return 1; } /* HTTP-header style cookie. If you use the Set-Cookie format and don't specify a domain then the cookie is sent for any domain and will not be modified, likely not what you intended. Starting in 7.43.0 any-domain cookies will not be exported either. For more information refer to the CURLOPT_COOKIELIST documentation. */ snprintf(nline, sizeof(nline), "Set-Cookie: OLD_PREF=3d141414bf4209321; " "expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com"); res = curl_easy_setopt(curl, CURLOPT_COOKIELIST, nline); if (res != CURLE_OK) { fprintf(stderr, "Curl curl_easy_setopt failed: %s\n", curl_easy_strerror(res)); return 1; } print_cookies(curl); res = curl_easy_perform(curl); if (res != CURLE_OK) { fprintf(stderr, "Curl perform failed: %s\n", curl_easy_strerror(res)); return 1; } } else { fprintf(stderr, "Curl init failed!\n"); return 1; } curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/sampleconv.c0000644000175000017500000000650012642477725014601 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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 a simple example showing how a program on a non-ASCII platform * would invoke callbacks to do its own codeset conversions instead of * using the built-in iconv functions in libcurl. * */ /* The IBM-1047 EBCDIC codeset is used for this example but the code would be similar for other non-ASCII codesets. Three callback functions are created below: my_conv_from_ascii_to_ebcdic, my_conv_from_ebcdic_to_ascii, and my_conv_from_utf8_to_ebcdic The "platform_xxx" calls represent platform-specific conversion routines. */ #include #include CURLcode my_conv_from_ascii_to_ebcdic(char *buffer, size_t length) { char *tempptrin, *tempptrout; size_t bytes = length; int rc; tempptrin = tempptrout = buffer; rc = platform_a2e(&tempptrin, &bytes, &tempptrout, &bytes); if (rc == PLATFORM_CONV_OK) { return(CURLE_OK); } else { return(CURLE_CONV_FAILED); } } CURLcode my_conv_from_ebcdic_to_ascii(char *buffer, size_t length) { char *tempptrin, *tempptrout; size_t bytes = length; int rc; tempptrin = tempptrout = buffer; rc = platform_e2a(&tempptrin, &bytes, &tempptrout, &bytes); if (rc == PLATFORM_CONV_OK) { return(CURLE_OK); } else { return(CURLE_CONV_FAILED); } } CURLcode my_conv_from_utf8_to_ebcdic(char *buffer, size_t length) { char *tempptrin, *tempptrout; size_t bytes = length; int rc; tempptrin = tempptrout = buffer; rc = platform_u2e(&tempptrin, &bytes, &tempptrout, &bytes); if (rc == PLATFORM_CONV_OK) { return(CURLE_OK); } else { return(CURLE_CONV_FAILED); } } int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* use platform-specific functions for codeset conversions */ curl_easy_setopt(curl, CURLOPT_CONV_FROM_NETWORK_FUNCTION, my_conv_from_ascii_to_ebcdic); curl_easy_setopt(curl, CURLOPT_CONV_TO_NETWORK_FUNCTION, my_conv_from_ebcdic_to_ascii); curl_easy_setopt(curl, CURLOPT_CONV_FROM_UTF8_FUNCTION, my_conv_from_utf8_to_ebcdic); res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(curl); } return 0; } curl-7.47.0/docs/examples/fileupload.c0000644000175000017500000000523612626067776014566 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Upload to a file:// URL * */ #include #include #include #include int main(void) { CURL *curl; CURLcode res; struct stat file_info; double speed_upload, total_time; FILE *fd; fd = fopen("debugit", "rb"); /* open file to upload */ if(!fd) { return 1; /* can't continue */ } /* to get the file size */ if(fstat(fileno(fd), &file_info) != 0) { return 1; /* can't continue */ } curl = curl_easy_init(); if(curl) { /* upload to this place */ curl_easy_setopt(curl, CURLOPT_URL, "file:///home/dast/src/curl/debug/new"); /* tell it to "upload" to the URL */ curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); /* set where to read from (on Windows you need to use READFUNCTION too) */ curl_easy_setopt(curl, CURLOPT_READDATA, fd); /* and give the size of the upload (optional) */ curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, (curl_off_t)file_info.st_size); /* enable verbose for easier tracing */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } else { /* now extract transfer info */ curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD, &speed_upload); curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &total_time); fprintf(stderr, "Speed: %.3f bytes/sec during %.3f seconds\n", speed_upload, total_time); } /* always cleanup */ curl_easy_cleanup(curl); } return 0; } curl-7.47.0/docs/examples/httpput.c0000644000175000017500000000722612626067776014153 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * HTTP PUT with easy interface and read callback * */ #include #include #include #include /* * This example shows a HTTP PUT operation. PUTs a file given as a command * line argument to the URL also given on the command line. * * This example also uses its own read callback. * * Here's an article on how to setup a PUT handler for Apache: * http://www.apacheweek.com/features/put */ static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *stream) { size_t retcode; curl_off_t nread; /* in real-world cases, this would probably get this data differently as this fread() stuff is exactly what the library already would do by default internally */ retcode = fread(ptr, size, nmemb, stream); nread = (curl_off_t)retcode; fprintf(stderr, "*** We read %" CURL_FORMAT_CURL_OFF_T " bytes from file\n", nread); return retcode; } int main(int argc, char **argv) { CURL *curl; CURLcode res; FILE * hd_src ; struct stat file_info; char *file; char *url; if(argc < 3) return 1; file= argv[1]; url = argv[2]; /* get the file size of the local file */ stat(file, &file_info); /* get a FILE * of the same file, could also be made with fdopen() from the previous descriptor, but hey this is just an example! */ hd_src = fopen(file, "rb"); /* In windows, this will init the winsock stuff */ curl_global_init(CURL_GLOBAL_ALL); /* get a curl handle */ curl = curl_easy_init(); if(curl) { /* we want to use our own read function */ curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback); /* enable uploading */ curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); /* HTTP PUT please */ curl_easy_setopt(curl, CURLOPT_PUT, 1L); /* specify target URL, and note that this URL should include a file name, not only a directory */ curl_easy_setopt(curl, CURLOPT_URL, url); /* now specify which file to upload */ curl_easy_setopt(curl, CURLOPT_READDATA, hd_src); /* provide the size of the upload, we specicially typecast the value to curl_off_t since we must be sure to use the correct data size */ curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, (curl_off_t)file_info.st_size); /* Now run off and do what you've been told! */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } fclose(hd_src); /* close the local file */ curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/debug.c0000644000175000017500000001013112626067776013516 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Show how CURLOPT_DEBUGFUNCTION can be used. * */ #include #include struct data { char trace_ascii; /* 1 or 0 */ }; static void dump(const char *text, FILE *stream, unsigned char *ptr, size_t size, char nohex) { size_t i; size_t c; unsigned int width=0x10; if(nohex) /* without the hex output, we can fit more on screen */ width = 0x40; fprintf(stream, "%s, %10.10ld bytes (0x%8.8lx)\n", text, (long)size, (long)size); for(i=0; i=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:'.'); /* check again for 0D0A, to avoid an extra \n if it's at width */ if (nohex && (i+c+2 < size) && ptr[i+c+1]==0x0D && ptr[i+c+2]==0x0A) { i+=(c+3-width); break; } } fputc('\n', stream); /* newline */ } fflush(stream); } static int my_trace(CURL *handle, curl_infotype type, char *data, size_t size, void *userp) { struct data *config = (struct data *)userp; const char *text; (void)handle; /* prevent compiler warning */ switch (type) { case CURLINFO_TEXT: fprintf(stderr, "== Info: %s", data); default: /* in case a new one is introduced to shock us */ return 0; case CURLINFO_HEADER_OUT: text = "=> Send header"; break; case CURLINFO_DATA_OUT: text = "=> Send data"; break; case CURLINFO_SSL_DATA_OUT: text = "=> Send SSL data"; break; case CURLINFO_HEADER_IN: text = "<= Recv header"; break; case CURLINFO_DATA_IN: text = "<= Recv data"; break; case CURLINFO_SSL_DATA_IN: text = "<= Recv SSL data"; break; } dump(text, stderr, (unsigned char *)data, size, config->trace_ascii); return 0; } int main(void) { CURL *curl; CURLcode res; struct data config; config.trace_ascii = 1; /* enable ascii tracing */ curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, my_trace); curl_easy_setopt(curl, CURLOPT_DEBUGDATA, &config); /* the DEBUGFUNCTION has no effect until we enable VERBOSE */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* example.com is redirected, so we tell libcurl to follow redirection */ curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/"); res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } return 0; } curl-7.47.0/docs/examples/ftpget.c0000644000175000017500000000516012626067776013727 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include #include /* * Get a single file from an FTP server. * */ struct FtpFile { const char *filename; FILE *stream; }; static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) { struct FtpFile *out=(struct FtpFile *)stream; if(out && !out->stream) { /* open file for writing */ out->stream=fopen(out->filename, "wb"); if(!out->stream) return -1; /* failure, can't open file to write */ } return fwrite(buffer, size, nmemb, out->stream); } int main(void) { CURL *curl; CURLcode res; struct FtpFile ftpfile={ "curl.tar.gz", /* name to store the file as if successful */ NULL }; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(curl) { /* * You better replace the URL with one that works! */ curl_easy_setopt(curl, CURLOPT_URL, "ftp://ftp.example.com/pub/www/utilities/curl/curl-7.9.2.tar.gz"); /* Define our callback to get called when there's data to be written */ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite); /* Set a pointer to our struct to pass to the callback */ curl_easy_setopt(curl, CURLOPT_WRITEDATA, &ftpfile); /* Switch on full protocol/debug output */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(curl); if(CURLE_OK != res) { /* we failed */ fprintf(stderr, "curl told us %d\n", res); } } if(ftpfile.stream) fclose(ftpfile.stream); /* close the local file */ curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/pop3-retr.c0000644000175000017500000000367212633553325014263 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * POP3 example showing how to retrieve e-mails * */ #include #include /* This is a simple example showing how to retrieve mail using libcurl's POP3 * capabilities. * * Note that this example requires libcurl 7.20.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This will retrieve message 1 from the user's mailbox */ curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com/1"); /* Perform the retr */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/pop3-stat.c0000644000175000017500000000421512633553325014254 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * POP3 example showing how to obtain message statistics * */ #include #include /* This is a simple example showing how to obtain message statistics using * libcurl's POP3 capabilities. * * Note that this example requires libcurl 7.26.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is just the server URL */ curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com"); /* Set the STAT command */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "STAT"); /* Do not perform a transfer as the data is in the response */ curl_easy_setopt(curl, CURLOPT_NOBODY, 1L); /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/ftpgetinfo.c0000644000175000017500000000563112626067776014606 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include #include #include /* * Checks a single file's size and mtime from an FTP server. * */ static size_t throw_away(void *ptr, size_t size, size_t nmemb, void *data) { (void)ptr; (void)data; /* we are not interested in the headers itself, so we only return the size we would have saved ... */ return (size_t)(size * nmemb); } int main(void) { char ftpurl[] = "ftp://ftp.example.com/gnu/binutils/binutils-2.19.1.tar.bz2"; CURL *curl; CURLcode res; long filetime = -1; double filesize = 0.0; const char *filename = strrchr(ftpurl, '/') + 1; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, ftpurl); /* No download if the file */ curl_easy_setopt(curl, CURLOPT_NOBODY, 1L); /* Ask for filetime */ curl_easy_setopt(curl, CURLOPT_FILETIME, 1L); /* No header output: TODO 14.1 http-style HEAD output for ftp */ curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, throw_away); curl_easy_setopt(curl, CURLOPT_HEADER, 0L); /* Switch on full protocol/debug output */ /* curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); */ res = curl_easy_perform(curl); if(CURLE_OK == res) { /* http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html */ res = curl_easy_getinfo(curl, CURLINFO_FILETIME, &filetime); if((CURLE_OK == res) && (filetime >= 0)) { time_t file_time = (time_t)filetime; printf("filetime %s: %s", filename, ctime(&file_time)); } res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &filesize); if((CURLE_OK == res) && (filesize>0.0)) printf("filesize %s: %0.0f bytes\n", filename, filesize); } else { /* we failed */ fprintf(stderr, "curl told us %d\n", res); } /* always cleanup */ curl_easy_cleanup(curl); } curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/cacertinmem.c0000644000175000017500000001451712626067776014733 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * CA cert in memory with OpenSSL to get a HTTPS page. * */ #include #include #include size_t writefunction( void *ptr, size_t size, size_t nmemb, void *stream) { fwrite(ptr,size,nmemb,stream); return(nmemb*size); } static CURLcode sslctx_function(CURL * curl, void * sslctx, void * parm) { X509_STORE * store; X509 * cert=NULL; BIO * bio; char * mypem = /* www.cacert.org */ "-----BEGIN CERTIFICATE-----\n"\ "MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\n"\ "IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\n"\ "IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA\n"\ "Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO\n"\ "BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi\n"\ "MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ\n"\ "ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\n"\ "CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ\n"\ "8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6\n"\ "zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y\n"\ "fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7\n"\ "w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc\n"\ "G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k\n"\ "epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q\n"\ "laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ\n"\ "QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU\n"\ "fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826\n"\ "YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w\n"\ "ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY\n"\ "gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe\n"\ "MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0\n"\ "IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy\n"\ "dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw\n"\ "czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0\n"\ "dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl\n"\ "aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC\n"\ "AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg\n"\ "b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB\n"\ "ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc\n"\ "nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg\n"\ "18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c\n"\ "gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl\n"\ "Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY\n"\ "sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T\n"\ "SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF\n"\ "CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum\n"\ "GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk\n"\ "zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW\n"\ "omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD\n"\ "-----END CERTIFICATE-----\n"; /* get a BIO */ bio=BIO_new_mem_buf(mypem, -1); /* use it to read the PEM formatted certificate from memory into an X509 * structure that SSL can use */ PEM_read_bio_X509(bio, &cert, 0, NULL); if (cert == NULL) printf("PEM_read_bio_X509 failed...\n"); /* get a pointer to the X509 certificate store (which may be empty!) */ store=SSL_CTX_get_cert_store((SSL_CTX *)sslctx); /* add our certificate to this store */ if (X509_STORE_add_cert(store, cert)==0) printf("error adding certificate\n"); /* decrease reference counts */ X509_free(cert); BIO_free(bio); /* all set to go */ return CURLE_OK ; } int main(void) { CURL * ch; CURLcode rv; rv=curl_global_init(CURL_GLOBAL_ALL); ch=curl_easy_init(); rv=curl_easy_setopt(ch,CURLOPT_VERBOSE, 0L); rv=curl_easy_setopt(ch,CURLOPT_HEADER, 0L); rv=curl_easy_setopt(ch,CURLOPT_NOPROGRESS, 1L); rv=curl_easy_setopt(ch,CURLOPT_NOSIGNAL, 1L); rv=curl_easy_setopt(ch,CURLOPT_WRITEFUNCTION, *writefunction); rv=curl_easy_setopt(ch,CURLOPT_WRITEDATA, stdout); rv=curl_easy_setopt(ch,CURLOPT_HEADERFUNCTION, *writefunction); rv=curl_easy_setopt(ch,CURLOPT_HEADERDATA, stderr); rv=curl_easy_setopt(ch,CURLOPT_SSLCERTTYPE,"PEM"); rv=curl_easy_setopt(ch,CURLOPT_SSL_VERIFYPEER,1L); rv=curl_easy_setopt(ch, CURLOPT_URL, "https://www.example.com/"); /* first try: retrieve page without cacerts' certificate -> will fail */ rv=curl_easy_perform(ch); if (rv==CURLE_OK) printf("*** transfer succeeded ***\n"); else printf("*** transfer failed ***\n"); /* second try: retrieve page using cacerts' certificate -> will succeed * load the certificate by installing a function doing the nescessary * "modifications" to the SSL CONTEXT just before link init */ rv=curl_easy_setopt(ch,CURLOPT_SSL_CTX_FUNCTION, *sslctx_function); rv=curl_easy_perform(ch); if (rv==CURLE_OK) printf("*** transfer succeeded ***\n"); else printf("*** transfer failed ***\n"); curl_easy_cleanup(ch); curl_global_cleanup(); return rv; } curl-7.47.0/docs/examples/imap-lsub.c0000644000175000017500000000412112633553325014307 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example to list the subscribed folders * */ #include #include /* This is a simple example showing how to list the subscribed folders within * an IMAP mailbox. * * Note that this example requires libcurl 7.30.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is just the server URL */ curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com"); /* Set the LSUB command. Note the syntax is very similar to that of a LIST command. */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "LSUB \"\" *"); /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/pop3-dele.c0000644000175000017500000000423512633553325014214 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * POP3 example showing how to delete e-mails * */ #include #include /* This is a simple example showing how to delete an existing mail using * libcurl's POP3 capabilities. * * Note that this example requires libcurl 7.26.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* You can specify the message either in the URL or DELE command */ curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com/1"); /* Set the DELE command */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELE"); /* Do not perform a transfer as DELE returns no data */ curl_easy_setopt(curl, CURLOPT_NOBODY, 1L); /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/sepheaders.c0000644000175000017500000000525112642500220014530 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Simple HTTP GET that stores the headers in a separate file * */ #include #include #include #include static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) { int written = fwrite(ptr, size, nmemb, (FILE *)stream); return written; } int main(void) { CURL *curl_handle; static const char *headerfilename = "head.out"; FILE *headerfile; static const char *bodyfilename = "body.out"; FILE *bodyfile; curl_global_init(CURL_GLOBAL_ALL); /* init the curl session */ curl_handle = curl_easy_init(); /* set URL to get */ curl_easy_setopt(curl_handle, CURLOPT_URL, "http://example.com"); /* no progress meter please */ curl_easy_setopt(curl_handle, CURLOPT_NOPROGRESS, 1L); /* send all data to this function */ curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_data); /* open the header file */ headerfile = fopen(headerfilename, "wb"); if(!headerfile) { curl_easy_cleanup(curl_handle); return -1; } /* open the body file */ bodyfile = fopen(bodyfilename, "wb"); if(!bodyfile) { curl_easy_cleanup(curl_handle); fclose(headerfile); return -1; } /* we want the headers be written to this file handle */ curl_easy_setopt(curl_handle, CURLOPT_HEADERDATA, headerfile); /* we want the body be written to this file handle instead of stdout */ curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, bodyfile); /* get it! */ curl_easy_perform(curl_handle); /* close the header file */ fclose(headerfile); /* close the body file */ fclose(bodyfile); /* cleanup curl stuff */ curl_easy_cleanup(curl_handle); return 0; } curl-7.47.0/docs/examples/pop3-uidl.c0000644000175000017500000000404512633553325014237 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * POP3 example to list the contents of a mailbox by unique ID * */ #include #include /* This is a simple example using libcurl's POP3 capabilities to list the * contents of a mailbox by unique ID. * * Note that this example requires libcurl 7.26.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is just the server URL */ curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com"); /* Set the UIDL command */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "UIDL"); /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/ghiper.c0000644000175000017500000002735512626067776013726 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * multi socket API usage together with with glib2 * */ /* Example application source code using the multi socket interface to * download many files at once. * * Written by Jeff Pohlmeyer Requires glib-2.x and a (POSIX?) system that has mkfifo(). This is an adaptation of libcurl's "hipev.c" and libevent's "event-test.c" sample programs, adapted to use glib's g_io_channel in place of libevent. When running, the program creates the named pipe "hiper.fifo" Whenever there is input into the fifo, the program reads the input as a list of URL's and creates some new easy handles to fetch each URL via the curl_multi "hiper" API. Thus, you can try a single URL: % echo http://www.yahoo.com > hiper.fifo Or a whole bunch of them: % cat my-url-list > hiper.fifo The fifo buffer is handled almost instantly, so you can even add more URL's while the previous requests are still being downloaded. This is purely a demo app, all retrieved data is simply discarded by the write callback. */ #include #include #include #include #include #include #include #include #define MSG_OUT g_print /* Change to "g_error" to write to stderr */ #define SHOW_VERBOSE 0 /* Set to non-zero for libcurl messages */ #define SHOW_PROGRESS 0 /* Set to non-zero to enable progress callback */ /* Global information, common to all connections */ typedef struct _GlobalInfo { CURLM *multi; guint timer_event; int still_running; } GlobalInfo; /* Information associated with a specific easy handle */ typedef struct _ConnInfo { CURL *easy; char *url; GlobalInfo *global; char error[CURL_ERROR_SIZE]; } ConnInfo; /* Information associated with a specific socket */ typedef struct _SockInfo { curl_socket_t sockfd; CURL *easy; int action; long timeout; GIOChannel *ch; guint ev; GlobalInfo *global; } SockInfo; /* Die if we get a bad CURLMcode somewhere */ static void mcode_or_die(const char *where, CURLMcode code) { if ( CURLM_OK != code ) { const char *s; switch (code) { case CURLM_BAD_HANDLE: s="CURLM_BAD_HANDLE"; break; case CURLM_BAD_EASY_HANDLE: s="CURLM_BAD_EASY_HANDLE"; break; case CURLM_OUT_OF_MEMORY: s="CURLM_OUT_OF_MEMORY"; break; case CURLM_INTERNAL_ERROR: s="CURLM_INTERNAL_ERROR"; break; case CURLM_BAD_SOCKET: s="CURLM_BAD_SOCKET"; break; case CURLM_UNKNOWN_OPTION: s="CURLM_UNKNOWN_OPTION"; break; case CURLM_LAST: s="CURLM_LAST"; break; default: s="CURLM_unknown"; } MSG_OUT("ERROR: %s returns %s\n", where, s); exit(code); } } /* Check for completed transfers, and remove their easy handles */ static void check_multi_info(GlobalInfo *g) { char *eff_url; CURLMsg *msg; int msgs_left; ConnInfo *conn; CURL *easy; CURLcode res; MSG_OUT("REMAINING: %d\n", g->still_running); while ((msg = curl_multi_info_read(g->multi, &msgs_left))) { if (msg->msg == CURLMSG_DONE) { easy = msg->easy_handle; res = msg->data.result; curl_easy_getinfo(easy, CURLINFO_PRIVATE, &conn); curl_easy_getinfo(easy, CURLINFO_EFFECTIVE_URL, &eff_url); MSG_OUT("DONE: %s => (%d) %s\n", eff_url, res, conn->error); curl_multi_remove_handle(g->multi, easy); free(conn->url); curl_easy_cleanup(easy); free(conn); } } } /* Called by glib when our timeout expires */ static gboolean timer_cb(gpointer data) { GlobalInfo *g = (GlobalInfo *)data; CURLMcode rc; rc = curl_multi_socket_action(g->multi, CURL_SOCKET_TIMEOUT, 0, &g->still_running); mcode_or_die("timer_cb: curl_multi_socket_action", rc); check_multi_info(g); return FALSE; } /* Update the event timer after curl_multi library calls */ static int update_timeout_cb(CURLM *multi, long timeout_ms, void *userp) { struct timeval timeout; GlobalInfo *g=(GlobalInfo *)userp; timeout.tv_sec = timeout_ms/1000; timeout.tv_usec = (timeout_ms%1000)*1000; MSG_OUT("*** update_timeout_cb %ld => %ld:%ld ***\n", timeout_ms, timeout.tv_sec, timeout.tv_usec); g->timer_event = g_timeout_add(timeout_ms, timer_cb, g); return 0; } /* Called by glib when we get action on a multi socket */ static gboolean event_cb(GIOChannel *ch, GIOCondition condition, gpointer data) { GlobalInfo *g = (GlobalInfo*) data; CURLMcode rc; int fd=g_io_channel_unix_get_fd(ch); int action = (condition & G_IO_IN ? CURL_CSELECT_IN : 0) | (condition & G_IO_OUT ? CURL_CSELECT_OUT : 0); rc = curl_multi_socket_action(g->multi, fd, action, &g->still_running); mcode_or_die("event_cb: curl_multi_socket_action", rc); check_multi_info(g); if(g->still_running) { return TRUE; } else { MSG_OUT("last transfer done, kill timeout\n"); if (g->timer_event) { g_source_remove(g->timer_event); } return FALSE; } } /* Clean up the SockInfo structure */ static void remsock(SockInfo *f) { if (!f) { return; } if (f->ev) { g_source_remove(f->ev); } g_free(f); } /* Assign information to a SockInfo structure */ static void setsock(SockInfo*f, curl_socket_t s, CURL*e, int act, GlobalInfo*g) { GIOCondition kind = (act&CURL_POLL_IN?G_IO_IN:0)|(act&CURL_POLL_OUT?G_IO_OUT:0); f->sockfd = s; f->action = act; f->easy = e; if (f->ev) { g_source_remove(f->ev); } f->ev=g_io_add_watch(f->ch, kind, event_cb,g); } /* Initialize a new SockInfo structure */ static void addsock(curl_socket_t s, CURL *easy, int action, GlobalInfo *g) { SockInfo *fdp = g_malloc0(sizeof(SockInfo)); fdp->global = g; fdp->ch=g_io_channel_unix_new(s); setsock(fdp, s, easy, action, g); curl_multi_assign(g->multi, s, fdp); } /* CURLMOPT_SOCKETFUNCTION */ static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp) { GlobalInfo *g = (GlobalInfo*) cbp; SockInfo *fdp = (SockInfo*) sockp; static const char *whatstr[]={ "none", "IN", "OUT", "INOUT", "REMOVE" }; MSG_OUT("socket callback: s=%d e=%p what=%s ", s, e, whatstr[what]); if (what == CURL_POLL_REMOVE) { MSG_OUT("\n"); remsock(fdp); } else { if (!fdp) { MSG_OUT("Adding data: %s%s\n", what&CURL_POLL_IN?"READ":"", what&CURL_POLL_OUT?"WRITE":"" ); addsock(s, e, what, g); } else { MSG_OUT( "Changing action from %d to %d\n", fdp->action, what); setsock(fdp, s, e, what, g); } } return 0; } /* CURLOPT_WRITEFUNCTION */ static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data) { size_t realsize = size * nmemb; ConnInfo *conn = (ConnInfo*) data; (void)ptr; (void)conn; return realsize; } /* CURLOPT_PROGRESSFUNCTION */ static int prog_cb (void *p, double dltotal, double dlnow, double ult, double uln) { ConnInfo *conn = (ConnInfo *)p; MSG_OUT("Progress: %s (%g/%g)\n", conn->url, dlnow, dltotal); return 0; } /* Create a new easy handle, and add it to the global curl_multi */ static void new_conn(char *url, GlobalInfo *g ) { ConnInfo *conn; CURLMcode rc; conn = g_malloc0(sizeof(ConnInfo)); conn->error[0]='\0'; conn->easy = curl_easy_init(); if (!conn->easy) { MSG_OUT("curl_easy_init() failed, exiting!\n"); exit(2); } conn->global = g; conn->url = g_strdup(url); curl_easy_setopt(conn->easy, CURLOPT_URL, conn->url); curl_easy_setopt(conn->easy, CURLOPT_WRITEFUNCTION, write_cb); curl_easy_setopt(conn->easy, CURLOPT_WRITEDATA, &conn); curl_easy_setopt(conn->easy, CURLOPT_VERBOSE, (long)SHOW_VERBOSE); curl_easy_setopt(conn->easy, CURLOPT_ERRORBUFFER, conn->error); curl_easy_setopt(conn->easy, CURLOPT_PRIVATE, conn); curl_easy_setopt(conn->easy, CURLOPT_NOPROGRESS, SHOW_PROGRESS?0L:1L); curl_easy_setopt(conn->easy, CURLOPT_PROGRESSFUNCTION, prog_cb); curl_easy_setopt(conn->easy, CURLOPT_PROGRESSDATA, conn); curl_easy_setopt(conn->easy, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(conn->easy, CURLOPT_CONNECTTIMEOUT, 30L); curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_LIMIT, 1L); curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_TIME, 30L); MSG_OUT("Adding easy %p to multi %p (%s)\n", conn->easy, g->multi, url); rc =curl_multi_add_handle(g->multi, conn->easy); mcode_or_die("new_conn: curl_multi_add_handle", rc); /* note that the add_handle() will set a time-out to trigger very soon so that the necessary socket_action() call will be called by this app */ } /* This gets called by glib whenever data is received from the fifo */ static gboolean fifo_cb (GIOChannel *ch, GIOCondition condition, gpointer data) { #define BUF_SIZE 1024 gsize len, tp; gchar *buf, *tmp, *all=NULL; GIOStatus rv; do { GError *err=NULL; rv = g_io_channel_read_line (ch,&buf,&len,&tp,&err); if ( buf ) { if (tp) { buf[tp]='\0'; } new_conn(buf,(GlobalInfo*)data); g_free(buf); } else { buf = g_malloc(BUF_SIZE+1); while (TRUE) { buf[BUF_SIZE]='\0'; g_io_channel_read_chars(ch,buf,BUF_SIZE,&len,&err); if (len) { buf[len]='\0'; if (all) { tmp=all; all=g_strdup_printf("%s%s", tmp, buf); g_free(tmp); } else { all = g_strdup(buf); } } else { break; } } if (all) { new_conn(all,(GlobalInfo*)data); g_free(all); } g_free(buf); } if ( err ) { g_error("fifo_cb: %s", err->message); g_free(err); break; } } while ( (len) && (rv == G_IO_STATUS_NORMAL) ); return TRUE; } int init_fifo(void) { struct stat st; const char *fifo = "hiper.fifo"; int socket; if (lstat (fifo, &st) == 0) { if ((st.st_mode & S_IFMT) == S_IFREG) { errno = EEXIST; perror("lstat"); exit (1); } } unlink (fifo); if (mkfifo (fifo, 0600) == -1) { perror("mkfifo"); exit (1); } socket = open (fifo, O_RDWR | O_NONBLOCK, 0); if (socket == -1) { perror("open"); exit (1); } MSG_OUT("Now, pipe some URL's into > %s\n", fifo); return socket; } int main(int argc, char **argv) { GlobalInfo *g; CURLMcode rc; GMainLoop*gmain; int fd; GIOChannel* ch; g=g_malloc0(sizeof(GlobalInfo)); fd=init_fifo(); ch=g_io_channel_unix_new(fd); g_io_add_watch(ch,G_IO_IN,fifo_cb,g); gmain=g_main_loop_new(NULL,FALSE); g->multi = curl_multi_init(); curl_multi_setopt(g->multi, CURLMOPT_SOCKETFUNCTION, sock_cb); curl_multi_setopt(g->multi, CURLMOPT_SOCKETDATA, g); curl_multi_setopt(g->multi, CURLMOPT_TIMERFUNCTION, update_timeout_cb); curl_multi_setopt(g->multi, CURLMOPT_TIMERDATA, g); /* we don't call any curl_multi_socket*() function yet as we have no handles added! */ g_main_loop_run(gmain); curl_multi_cleanup(g->multi); return 0; } curl-7.47.0/docs/examples/persistant.c0000644000175000017500000000423712626067776014636 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * re-using handles to do HTTP persistent connections * */ #include #include #include int main(void) { CURL *curl; CURLcode res; curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); curl_easy_setopt(curl, CURLOPT_HEADER, 1L); /* get the first document */ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/"); /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* get another document from the same server using the same connection */ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/docs/"); /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } return 0; } curl-7.47.0/docs/examples/chkspeed.c0000644000175000017500000001434312626067776014227 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Show transfer timing info after download completes. * */ /* Example source code to show how the callback function can be used to * download data into a chunk of memory instead of storing it in a file. * After successful download we use curl_easy_getinfo() calls to get the * amount of downloaded bytes, the time used for the whole download, and * the average download speed. * On Linux you can create the download test files with: * dd if=/dev/urandom of=file_1M.bin bs=1M count=1 * */ #include #include #include #include #include #define URL_BASE "http://speedtest.your.domain/" #define URL_1M URL_BASE "file_1M.bin" #define URL_2M URL_BASE "file_2M.bin" #define URL_5M URL_BASE "file_5M.bin" #define URL_10M URL_BASE "file_10M.bin" #define URL_20M URL_BASE "file_20M.bin" #define URL_50M URL_BASE "file_50M.bin" #define URL_100M URL_BASE "file_100M.bin" #define CHKSPEED_VERSION "1.0" static size_t WriteCallback(void *ptr, size_t size, size_t nmemb, void *data) { /* we are not interested in the downloaded bytes itself, so we only return the size we would have saved ... */ (void)ptr; /* unused */ (void)data; /* unused */ return (size_t)(size * nmemb); } int main(int argc, char *argv[]) { CURL *curl_handle; CURLcode res; int prtall = 0, prtsep = 0, prttime = 0; const char *url = URL_1M; char *appname = argv[0]; if (argc > 1) { /* parse input parameters */ for (argc--, argv++; *argv; argc--, argv++) { if (strncasecmp(*argv, "-", 1) == 0) { if (strncasecmp(*argv, "-H", 2) == 0) { fprintf(stderr, "\rUsage: %s [-m=1|2|5|10|20|50|100] [-t] [-x] [url]\n", appname); exit(1); } else if (strncasecmp(*argv, "-V", 2) == 0) { fprintf(stderr, "\r%s %s - %s\n", appname, CHKSPEED_VERSION, curl_version()); exit(1); } else if (strncasecmp(*argv, "-A", 2) == 0) { prtall = 1; } else if (strncasecmp(*argv, "-X", 2) == 0) { prtsep = 1; } else if (strncasecmp(*argv, "-T", 2) == 0) { prttime = 1; } else if (strncasecmp(*argv, "-M=", 3) == 0) { long m = strtol((*argv)+3, NULL, 10); switch(m) { case 1: url = URL_1M; break; case 2: url = URL_2M; break; case 5: url = URL_5M; break; case 10: url = URL_10M; break; case 20: url = URL_20M; break; case 50: url = URL_50M; break; case 100: url = URL_100M; break; default: fprintf(stderr, "\r%s: invalid parameter %s\n", appname, *argv + 3); exit(1); } } else { fprintf(stderr, "\r%s: invalid or unknown option %s\n", appname, *argv); exit(1); } } else { url = *argv; } } } /* print separator line */ if (prtsep) { printf("-------------------------------------------------\n"); } /* print localtime */ if (prttime) { time_t t = time(NULL); printf("Localtime: %s", ctime(&t)); } /* init libcurl */ curl_global_init(CURL_GLOBAL_ALL); /* init the curl session */ curl_handle = curl_easy_init(); /* specify URL to get */ curl_easy_setopt(curl_handle, CURLOPT_URL, url); /* send all data to this function */ curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, WriteCallback); /* some servers don't like requests that are made without a user-agent field, so we provide one */ curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "libcurl-speedchecker/" CHKSPEED_VERSION); /* get it! */ res = curl_easy_perform(curl_handle); if(CURLE_OK == res) { double val; /* check for bytes downloaded */ res = curl_easy_getinfo(curl_handle, CURLINFO_SIZE_DOWNLOAD, &val); if((CURLE_OK == res) && (val>0)) printf("Data downloaded: %0.0f bytes.\n", val); /* check for total download time */ res = curl_easy_getinfo(curl_handle, CURLINFO_TOTAL_TIME, &val); if((CURLE_OK == res) && (val>0)) printf("Total download time: %0.3f sec.\n", val); /* check for average download speed */ res = curl_easy_getinfo(curl_handle, CURLINFO_SPEED_DOWNLOAD, &val); if((CURLE_OK == res) && (val>0)) printf("Average download speed: %0.3f kbyte/sec.\n", val / 1024); if (prtall) { /* check for name resolution time */ res = curl_easy_getinfo(curl_handle, CURLINFO_NAMELOOKUP_TIME, &val); if((CURLE_OK == res) && (val>0)) printf("Name lookup time: %0.3f sec.\n", val); /* check for connect time */ res = curl_easy_getinfo(curl_handle, CURLINFO_CONNECT_TIME, &val); if((CURLE_OK == res) && (val>0)) printf("Connect time: %0.3f sec.\n", val); } } else { fprintf(stderr, "Error while fetching '%s' : %s\n", url, curl_easy_strerror(res)); } /* cleanup curl stuff */ curl_easy_cleanup(curl_handle); /* we're done with libcurl, so clean it up */ curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/externalsocket.c0000644000175000017500000001064212626067776015472 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * An example demonstrating how an application can pass in a custom * socket to libcurl to use. This example also handles the connect itself. * */ #include #include #include #include #ifdef WIN32 #include #include #include #define close closesocket #else #include /* socket types */ #include /* socket definitions */ #include #include /* inet (3) funtions */ #include /* misc. Unix functions */ #endif #include /* The IP address and port number to connect to */ #define IPADDR "127.0.0.1" #define PORTNUM 80 #ifndef INADDR_NONE #define INADDR_NONE 0xffffffff #endif static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) { int written = fwrite(ptr, size, nmemb, (FILE *)stream); return written; } static curl_socket_t opensocket(void *clientp, curlsocktype purpose, struct curl_sockaddr *address) { curl_socket_t sockfd; (void)purpose; (void)address; sockfd = *(curl_socket_t *)clientp; /* the actual externally set socket is passed in via the OPENSOCKETDATA option */ return sockfd; } static int sockopt_callback(void *clientp, curl_socket_t curlfd, curlsocktype purpose) { (void)clientp; (void)curlfd; (void)purpose; /* This return code was added in libcurl 7.21.5 */ return CURL_SOCKOPT_ALREADY_CONNECTED; } int main(void) { CURL *curl; CURLcode res; struct sockaddr_in servaddr; /* socket address structure */ curl_socket_t sockfd; #ifdef WIN32 WSADATA wsaData; int initwsa; if((initwsa = WSAStartup(MAKEWORD(2,0), &wsaData)) != 0) { printf("WSAStartup failed: %d\n", initwsa); return 1; } #endif curl = curl_easy_init(); if(curl) { /* * Note that libcurl will internally think that you connect to the host * and port that you specify in the URL option. */ curl_easy_setopt(curl, CURLOPT_URL, "http://99.99.99.99:9999"); /* Create the socket "manually" */ if( (sockfd = socket(AF_INET, SOCK_STREAM, 0)) == CURL_SOCKET_BAD ) { printf("Error creating listening socket.\n"); return 3; } memset(&servaddr, 0, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(PORTNUM); if (INADDR_NONE == (servaddr.sin_addr.s_addr = inet_addr(IPADDR))) return 2; if(connect(sockfd,(struct sockaddr *) &servaddr, sizeof(servaddr)) == -1) { close(sockfd); printf("client error: connect: %s\n", strerror(errno)); return 1; } /* no progress meter please */ curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L); /* send all data to this function */ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); /* call this function to get a socket */ curl_easy_setopt(curl, CURLOPT_OPENSOCKETFUNCTION, opensocket); curl_easy_setopt(curl, CURLOPT_OPENSOCKETDATA, &sockfd); /* call this function to set options for the socket */ curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION, sockopt_callback); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1); res = curl_easy_perform(curl); curl_easy_cleanup(curl); if(res) { printf("libcurl error: %d\n", res); return 4; } } return 0; } curl-7.47.0/docs/examples/multi-double.c0000644000175000017500000001001012626067776015026 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * multi interface code doing two parallel HTTP transfers * */ #include #include /* somewhat unix-specific */ #include #include /* curl stuff */ #include /* * Simply download two HTTP files! */ int main(void) { CURL *http_handle; CURL *http_handle2; CURLM *multi_handle; int still_running; /* keep number of running handles */ http_handle = curl_easy_init(); http_handle2 = curl_easy_init(); /* set options */ curl_easy_setopt(http_handle, CURLOPT_URL, "http://www.example.com/"); /* set options */ curl_easy_setopt(http_handle2, CURLOPT_URL, "http://localhost/"); /* init a multi stack */ multi_handle = curl_multi_init(); /* add the individual transfers */ curl_multi_add_handle(multi_handle, http_handle); curl_multi_add_handle(multi_handle, http_handle2); /* we start some action by calling perform right away */ curl_multi_perform(multi_handle, &still_running); do { struct timeval timeout; int rc; /* select() return code */ CURLMcode mc; /* curl_multi_fdset() return code */ fd_set fdread; fd_set fdwrite; fd_set fdexcep; int maxfd = -1; long curl_timeo = -1; FD_ZERO(&fdread); FD_ZERO(&fdwrite); FD_ZERO(&fdexcep); /* set a suitable timeout to play around with */ timeout.tv_sec = 1; timeout.tv_usec = 0; curl_multi_timeout(multi_handle, &curl_timeo); if(curl_timeo >= 0) { timeout.tv_sec = curl_timeo / 1000; if(timeout.tv_sec > 1) timeout.tv_sec = 1; else timeout.tv_usec = (curl_timeo % 1000) * 1000; } /* get file descriptors from the transfers */ mc = curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd); if(mc != CURLM_OK) { fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc); break; } /* On success the value of maxfd is guaranteed to be >= -1. We call select(maxfd + 1, ...); specially in case of (maxfd == -1) there are no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ if(maxfd == -1) { #ifdef _WIN32 Sleep(100); rc = 0; #else /* Portable sleep for platforms other than Windows. */ struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ rc = select(0, NULL, NULL, NULL, &wait); #endif } else { /* Note that on some platforms 'timeout' may be modified by select(). If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } switch(rc) { case -1: /* select error */ break; case 0: default: /* timeout or readable/writable sockets */ curl_multi_perform(multi_handle, &still_running); break; } } while(still_running); curl_multi_cleanup(multi_handle); curl_easy_cleanup(http_handle); curl_easy_cleanup(http_handle2); return 0; } curl-7.47.0/docs/examples/imap-ssl.c0000644000175000017500000000635612633553325014157 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example using SSL * */ #include #include /* This is a simple example showing how to fetch mail using libcurl's IMAP * capabilities. It builds on the imap-fetch.c example adding transport * security to protect the authentication details from being snooped. * * Note that this example requires libcurl 7.30.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This will fetch message 1 from the user's inbox. Note the use of * imaps:// rather than imap:// to request a SSL based connection. */ curl_easy_setopt(curl, CURLOPT_URL, "imaps://imap.example.com/INBOX/;UID=1"); /* If you want to connect to a site who isn't using a certificate that is * signed by one of the certs in the CA bundle you have, you can skip the * verification of the server's certificate. This makes the connection * A LOT LESS SECURE. * * If you have a CA cert for the server stored someplace else than in the * default bundle, then the CURLOPT_CAPATH option might come handy for * you. */ #ifdef SKIP_PEER_VERIFICATION curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); #endif /* If the site you're connecting to uses a different host name that what * they have mentioned in their server certificate's commonName (or * subjectAltName) fields, libcurl will refuse to connect. You can skip * this check, but this will make the connection less secure. */ #ifdef SKIP_HOSTNAME_VERIFICATION curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); #endif /* Since the traffic will be encrypted, it is very useful to turn on debug * information within libcurl to see what is happening during the * transfer */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* Perform the fetch */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/imap-create.c0000644000175000017500000000407712633553325014617 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example showing how to create a new folder * */ #include #include /* This is a simple example showing how to create a new mailbox folder using * libcurl's IMAP capabilities. * * Note that this example requires libcurl 7.30.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is just the server URL */ curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com"); /* Set the CREATE command specifing the new folder name */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "CREATE FOLDER"); /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/multi-debugcallback.c0000644000175000017500000001370412626067776016334 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * multi interface and debug callback * */ #include #include /* somewhat unix-specific */ #include #include /* curl stuff */ #include typedef char bool; #define TRUE 1 static void dump(const char *text, FILE *stream, unsigned char *ptr, size_t size, bool nohex) { size_t i; size_t c; unsigned int width=0x10; if(nohex) /* without the hex output, we can fit more on screen */ width = 0x40; fprintf(stream, "%s, %10.10ld bytes (0x%8.8lx)\n", text, (long)size, (long)size); for(i=0; i=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:'.'); /* check again for 0D0A, to avoid an extra \n if it's at width */ if (nohex && (i+c+2 < size) && ptr[i+c+1]==0x0D && ptr[i+c+2]==0x0A) { i+=(c+3-width); break; } } fputc('\n', stream); /* newline */ } fflush(stream); } static int my_trace(CURL *handle, curl_infotype type, unsigned char *data, size_t size, void *userp) { const char *text; (void)userp; (void)handle; /* prevent compiler warning */ switch (type) { case CURLINFO_TEXT: fprintf(stderr, "== Info: %s", data); default: /* in case a new one is introduced to shock us */ return 0; case CURLINFO_HEADER_OUT: text = "=> Send header"; break; case CURLINFO_DATA_OUT: text = "=> Send data"; break; case CURLINFO_HEADER_IN: text = "<= Recv header"; break; case CURLINFO_DATA_IN: text = "<= Recv data"; break; } dump(text, stderr, data, size, TRUE); return 0; } /* * Simply download a HTTP file. */ int main(void) { CURL *http_handle; CURLM *multi_handle; int still_running; /* keep number of running handles */ http_handle = curl_easy_init(); /* set the options (I left out a few, you'll get the point anyway) */ curl_easy_setopt(http_handle, CURLOPT_URL, "http://www.example.com/"); curl_easy_setopt(http_handle, CURLOPT_DEBUGFUNCTION, my_trace); curl_easy_setopt(http_handle, CURLOPT_VERBOSE, 1L); /* init a multi stack */ multi_handle = curl_multi_init(); /* add the individual transfers */ curl_multi_add_handle(multi_handle, http_handle); /* we start some action by calling perform right away */ curl_multi_perform(multi_handle, &still_running); do { struct timeval timeout; int rc; /* select() return code */ CURLMcode mc; /* curl_multi_fdset() return code */ fd_set fdread; fd_set fdwrite; fd_set fdexcep; int maxfd = -1; long curl_timeo = -1; FD_ZERO(&fdread); FD_ZERO(&fdwrite); FD_ZERO(&fdexcep); /* set a suitable timeout to play around with */ timeout.tv_sec = 1; timeout.tv_usec = 0; curl_multi_timeout(multi_handle, &curl_timeo); if(curl_timeo >= 0) { timeout.tv_sec = curl_timeo / 1000; if(timeout.tv_sec > 1) timeout.tv_sec = 1; else timeout.tv_usec = (curl_timeo % 1000) * 1000; } /* get file descriptors from the transfers */ mc = curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd); if(mc != CURLM_OK) { fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc); break; } /* On success the value of maxfd is guaranteed to be >= -1. We call select(maxfd + 1, ...); specially in case of (maxfd == -1) there are no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ if(maxfd == -1) { #ifdef _WIN32 Sleep(100); rc = 0; #else /* Portable sleep for platforms other than Windows. */ struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ rc = select(0, NULL, NULL, NULL, &wait); #endif } else { /* Note that on some platforms 'timeout' may be modified by select(). If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } switch(rc) { case -1: /* select error */ still_running = 0; printf("select() returns error, this is badness\n"); break; case 0: default: /* timeout or readable/writable sockets */ curl_multi_perform(multi_handle, &still_running); break; } } while(still_running); curl_multi_cleanup(multi_handle); curl_easy_cleanup(http_handle); return 0; } curl-7.47.0/docs/examples/simplepost.c0000644000175000017500000000352412642500356014617 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Very simple HTTP POST * */ #include #include #include int main(void) { CURL *curl; CURLcode res; static const char *postthis="moo mooo moo moo"; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postthis); /* if we don't provide POSTFIELDSIZE, libcurl will strlen() by itself */ curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)strlen(postthis)); /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } return 0; } curl-7.47.0/docs/examples/postinmemory.c0000644000175000017500000000664612642477302015201 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Make a HTTP POST with data from memory and receive response in memory. * */ #include #include #include #include struct MemoryStruct { char *memory; size_t size; }; static size_t WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp) { size_t realsize = size * nmemb; struct MemoryStruct *mem = (struct MemoryStruct *)userp; mem->memory = realloc(mem->memory, mem->size + realsize + 1); if(mem->memory == NULL) { /* out of memory! */ printf("not enough memory (realloc returned NULL)\n"); return 0; } memcpy(&(mem->memory[mem->size]), contents, realsize); mem->size += realsize; mem->memory[mem->size] = 0; return realsize; } int main(void) { CURL *curl; CURLcode res; struct MemoryStruct chunk; static const char *postthis="Field=1&Field=2&Field=3"; chunk.memory = malloc(1); /* will be grown as needed by realloc above */ chunk.size = 0; /* no data at this point */ curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.org/"); /* send all data to this function */ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback); /* we pass our 'chunk' struct to the callback function */ curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk); /* some servers don't like requests that are made without a user-agent field, so we provide one */ curl_easy_setopt(curl, CURLOPT_USERAGENT, "libcurl-agent/1.0"); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postthis); /* if we don't provide POSTFIELDSIZE, libcurl will strlen() by itself */ curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)strlen(postthis)); /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } else { /* * Now, our chunk.memory points to a memory block that is chunk.size * bytes big and contains the remote file. * * Do something nice with it! */ printf("%s\n",chunk.memory); } /* always cleanup */ curl_easy_cleanup(curl); free(chunk.memory); /* we're done with libcurl, so clean it up */ curl_global_cleanup(); } return 0; } curl-7.47.0/docs/examples/10-at-a-time.c0000644000175000017500000001211612626067776014431 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Source code using the multi interface to download many * files, with a capped maximum amount of simultaneous transfers. * * Written by Michael Wallner */ #include #include #include #ifndef WIN32 # include #endif #include static const char *urls[] = { "http://www.microsoft.com", "http://www.opensource.org", "http://www.google.com", "http://www.yahoo.com", "http://www.ibm.com", "http://www.mysql.com", "http://www.oracle.com", "http://www.ripe.net", "http://www.iana.org", "http://www.amazon.com", "http://www.netcraft.com", "http://www.heise.de", "http://www.chip.de", "http://www.ca.com", "http://www.cnet.com", "http://www.news.com", "http://www.cnn.com", "http://www.wikipedia.org", "http://www.dell.com", "http://www.hp.com", "http://www.cert.org", "http://www.mit.edu", "http://www.nist.gov", "http://www.ebay.com", "http://www.playstation.com", "http://www.uefa.com", "http://www.ieee.org", "http://www.apple.com", "http://www.symantec.com", "http://www.zdnet.com", "http://www.fujitsu.com", "http://www.supermicro.com", "http://www.hotmail.com", "http://www.ecma.com", "http://www.bbc.co.uk", "http://news.google.com", "http://www.foxnews.com", "http://www.msn.com", "http://www.wired.com", "http://www.sky.com", "http://www.usatoday.com", "http://www.cbs.com", "http://www.nbc.com", "http://slashdot.org", "http://www.bloglines.com", "http://www.techweb.com", "http://www.newslink.org", "http://www.un.org", }; #define MAX 10 /* number of simultaneous transfers */ #define CNT sizeof(urls)/sizeof(char*) /* total number of transfers to do */ static size_t cb(char *d, size_t n, size_t l, void *p) { /* take care of the data here, ignored in this example */ (void)d; (void)p; return n*l; } static void init(CURLM *cm, int i) { CURL *eh = curl_easy_init(); curl_easy_setopt(eh, CURLOPT_WRITEFUNCTION, cb); curl_easy_setopt(eh, CURLOPT_HEADER, 0L); curl_easy_setopt(eh, CURLOPT_URL, urls[i]); curl_easy_setopt(eh, CURLOPT_PRIVATE, urls[i]); curl_easy_setopt(eh, CURLOPT_VERBOSE, 0L); curl_multi_add_handle(cm, eh); } int main(void) { CURLM *cm; CURLMsg *msg; long L; unsigned int C=0; int M, Q, U = -1; fd_set R, W, E; struct timeval T; curl_global_init(CURL_GLOBAL_ALL); cm = curl_multi_init(); /* we can optionally limit the total amount of connections this multi handle uses */ curl_multi_setopt(cm, CURLMOPT_MAXCONNECTS, (long)MAX); for (C = 0; C < MAX; ++C) { init(cm, C); } while (U) { curl_multi_perform(cm, &U); if (U) { FD_ZERO(&R); FD_ZERO(&W); FD_ZERO(&E); if (curl_multi_fdset(cm, &R, &W, &E, &M)) { fprintf(stderr, "E: curl_multi_fdset\n"); return EXIT_FAILURE; } if (curl_multi_timeout(cm, &L)) { fprintf(stderr, "E: curl_multi_timeout\n"); return EXIT_FAILURE; } if (L == -1) L = 100; if (M == -1) { #ifdef WIN32 Sleep(L); #else sleep(L / 1000); #endif } else { T.tv_sec = L/1000; T.tv_usec = (L%1000)*1000; if (0 > select(M+1, &R, &W, &E, &T)) { fprintf(stderr, "E: select(%i,,,,%li): %i: %s\n", M+1, L, errno, strerror(errno)); return EXIT_FAILURE; } } } while ((msg = curl_multi_info_read(cm, &Q))) { if (msg->msg == CURLMSG_DONE) { char *url; CURL *e = msg->easy_handle; curl_easy_getinfo(msg->easy_handle, CURLINFO_PRIVATE, &url); fprintf(stderr, "R: %d - %s <%s>\n", msg->data.result, curl_easy_strerror(msg->data.result), url); curl_multi_remove_handle(cm, e); curl_easy_cleanup(e); } else { fprintf(stderr, "E: CURLMsg (%d)\n", msg->msg); } if (C < CNT) { init(cm, C++); U++; /* just to prevent it from remaining at 0 if there are more URLs to get */ } } } curl_multi_cleanup(cm); curl_global_cleanup(); return EXIT_SUCCESS; } curl-7.47.0/docs/examples/pop3-ssl.c0000644000175000017500000000635112633553325014105 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * POP3 example using SSL * */ #include #include /* This is a simple example showing how to retrieve mail using libcurl's POP3 * capabilities. It builds on the pop3-retr.c example adding transport * security to protect the authentication details from being snooped. * * Note that this example requires libcurl 7.20.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This will retrieve message 1 from the user's mailbox. Note the use of * pop3s:// rather than pop3:// to request a SSL based connection. */ curl_easy_setopt(curl, CURLOPT_URL, "pop3s://pop.example.com/1"); /* If you want to connect to a site who isn't using a certificate that is * signed by one of the certs in the CA bundle you have, you can skip the * verification of the server's certificate. This makes the connection * A LOT LESS SECURE. * * If you have a CA cert for the server stored someplace else than in the * default bundle, then the CURLOPT_CAPATH option might come handy for * you. */ #ifdef SKIP_PEER_VERIFICATION curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); #endif /* If the site you're connecting to uses a different host name that what * they have mentioned in their server certificate's commonName (or * subjectAltName) fields, libcurl will refuse to connect. You can skip * this check, but this will make the connection less secure. */ #ifdef SKIP_HOSTNAME_VERIFICATION curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); #endif /* Since the traffic will be encrypted, it is very useful to turn on debug * information within libcurl to see what is happening during the * transfer */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* Perform the retr */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/progressfunc.c0000644000175000017500000001010212642530217015125 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Use the progress callbacks, old and/or new one depending on available * libcurl version. * */ #include #include #define STOP_DOWNLOAD_AFTER_THIS_MANY_BYTES 6000 #define MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL 3 struct myprogress { double lastruntime; CURL *curl; }; /* this is how the CURLOPT_XFERINFOFUNCTION callback works */ static int xferinfo(void *p, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) { struct myprogress *myp = (struct myprogress *)p; CURL *curl = myp->curl; double curtime = 0; curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &curtime); /* under certain circumstances it may be desirable for certain functionality to only run every N seconds, in order to do this the transaction time can be used */ if((curtime - myp->lastruntime) >= MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL) { myp->lastruntime = curtime; fprintf(stderr, "TOTAL TIME: %f \r\n", curtime); } fprintf(stderr, "UP: %" CURL_FORMAT_CURL_OFF_T " of %" CURL_FORMAT_CURL_OFF_T " DOWN: %" CURL_FORMAT_CURL_OFF_T " of %" CURL_FORMAT_CURL_OFF_T "\r\n", ulnow, ultotal, dlnow, dltotal); if(dlnow > STOP_DOWNLOAD_AFTER_THIS_MANY_BYTES) return 1; return 0; } /* for libcurl older than 7.32.0 (CURLOPT_PROGRESSFUNCTION) */ static int older_progress(void *p, double dltotal, double dlnow, double ultotal, double ulnow) { return xferinfo(p, (curl_off_t)dltotal, (curl_off_t)dlnow, (curl_off_t)ultotal, (curl_off_t)ulnow); } int main(void) { CURL *curl; CURLcode res = CURLE_OK; struct myprogress prog; curl = curl_easy_init(); if(curl) { prog.lastruntime = 0; prog.curl = curl; curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/"); curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, older_progress); /* pass the struct pointer into the progress function */ curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, &prog); #if LIBCURL_VERSION_NUM >= 0x072000 /* xferinfo was introduced in 7.32.0, no earlier libcurl versions will compile as they won't have the symbols around. If built with a newer libcurl, but running with an older libcurl: curl_easy_setopt() will fail in run-time trying to set the new callback, making the older callback get used. New libcurls will prefer the new callback and instead use that one even if both callbacks are set. */ curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, xferinfo); /* pass the struct pointer into the xferinfo function, note that this is an alias to CURLOPT_PROGRESSDATA */ curl_easy_setopt(curl, CURLOPT_XFERINFODATA, &prog); #endif curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L); res = curl_easy_perform(curl); if(res != CURLE_OK) fprintf(stderr, "%s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/threaded-ssl.c0000644000175000017500000001050612642500741014773 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Show the required mutex callback setups for GnuTLS and OpenSSL when using * libcurl multi-threaded. * */ /* A multi-threaded example that uses pthreads and fetches 4 remote files at * once over HTTPS. The lock callbacks and stuff assume OpenSSL or GnuTLS * (libgcrypt) so far. * * OpenSSL docs for this: * http://www.openssl.org/docs/crypto/threads.html * gcrypt docs for this: * http://gnupg.org/documentation/manuals/gcrypt/Multi_002dThreading.html */ #define USE_OPENSSL /* or USE_GNUTLS accordingly */ #include #include #include #define NUMT 4 /* we have this global to let the callback get easy access to it */ static pthread_mutex_t *lockarray; #ifdef USE_OPENSSL #include static void lock_callback(int mode, int type, char *file, int line) { (void)file; (void)line; if (mode & CRYPTO_LOCK) { pthread_mutex_lock(&(lockarray[type])); } else { pthread_mutex_unlock(&(lockarray[type])); } } static unsigned long thread_id(void) { unsigned long ret; ret=(unsigned long)pthread_self(); return(ret); } static void init_locks(void) { int i; lockarray=(pthread_mutex_t *)OPENSSL_malloc(CRYPTO_num_locks() * sizeof(pthread_mutex_t)); for (i=0; i #include GCRY_THREAD_OPTION_PTHREAD_IMPL; void init_locks(void) { gcry_control(GCRYCTL_SET_THREAD_CBS); } #define kill_locks() #endif /* List of URLs to fetch.*/ const char * const urls[]= { "https://www.example.com/", "https://www2.example.com/", "https://www3.example.com/", "https://www4.example.com/", }; static void *pull_one_url(void *url) { CURL *curl; curl = curl_easy_init(); curl_easy_setopt(curl, CURLOPT_URL, url); /* this example doesn't verify the server's certificate, which means we might be downloading stuff from an impostor */ curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); curl_easy_perform(curl); /* ignores error */ curl_easy_cleanup(curl); return NULL; } int main(int argc, char **argv) { pthread_t tid[NUMT]; int i; int error; (void)argc; /* we don't use any arguments in this example */ (void)argv; /* Must initialize libcurl before any threads are started */ curl_global_init(CURL_GLOBAL_ALL); init_locks(); for(i=0; i< NUMT; i++) { error = pthread_create(&tid[i], NULL, /* default attributes please */ pull_one_url, (void *)urls[i]); if(0 != error) fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error); else fprintf(stderr, "Thread %d, gets %s\n", i, urls[i]); } /* now wait for all threads to terminate */ for(i=0; i< NUMT; i++) { error = pthread_join(tid[i], NULL); fprintf(stderr, "Thread %d terminated\n", i); } kill_locks(); return 0; } curl-7.47.0/docs/examples/imap-search.c0000644000175000017500000000455212633553325014617 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example showing how to search for new e-mails * */ #include #include /* This is a simple example showing how to search for new messages using * libcurl's IMAP capabilities. * * Note that this example requires libcurl 7.30.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is mailbox folder to select */ curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/INBOX"); /* Set the SEARCH command specifing what we want to search for. Note that * this can contain a message sequence set and a number of search criteria * keywords including flags such as ANSWERED, DELETED, DRAFT, FLAGGED, NEW, * RECENT and SEEN. For more information about the search criteria please * see RFC-3501 section 6.4.4. */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "SEARCH NEW"); /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/http-post.c0000644000175000017500000000376612626067776014412 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * simple HTTP POST using the easy interface * */ #include #include int main(void) { CURL *curl; CURLcode res; /* In windows, this will init the winsock stuff */ curl_global_init(CURL_GLOBAL_ALL); /* get a curl handle */ curl = curl_easy_init(); if(curl) { /* First set the URL that is about to receive our POST. This URL can just as well be a https:// URL if that is what should receive the data. */ curl_easy_setopt(curl, CURLOPT_URL, "http://postit.example.com/moo.cgi"); /* Now specify the POST data */ curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=daniel&project=curl"); /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/getinmemory.c0000644000175000017500000000635212626067776015001 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Shows how the write callback function can be used to download data into a * chunk of memory instead of storing it in a file. * */ #include #include #include #include struct MemoryStruct { char *memory; size_t size; }; static size_t WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp) { size_t realsize = size * nmemb; struct MemoryStruct *mem = (struct MemoryStruct *)userp; mem->memory = realloc(mem->memory, mem->size + realsize + 1); if(mem->memory == NULL) { /* out of memory! */ printf("not enough memory (realloc returned NULL)\n"); return 0; } memcpy(&(mem->memory[mem->size]), contents, realsize); mem->size += realsize; mem->memory[mem->size] = 0; return realsize; } int main(void) { CURL *curl_handle; CURLcode res; struct MemoryStruct chunk; chunk.memory = malloc(1); /* will be grown as needed by the realloc above */ chunk.size = 0; /* no data at this point */ curl_global_init(CURL_GLOBAL_ALL); /* init the curl session */ curl_handle = curl_easy_init(); /* specify URL to get */ curl_easy_setopt(curl_handle, CURLOPT_URL, "http://www.example.com/"); /* send all data to this function */ curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback); /* we pass our 'chunk' struct to the callback function */ curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)&chunk); /* some servers don't like requests that are made without a user-agent field, so we provide one */ curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "libcurl-agent/1.0"); /* get it! */ res = curl_easy_perform(curl_handle); /* check for errors */ if(res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } else { /* * Now, our chunk.memory points to a memory block that is chunk.size * bytes big and contains the remote file. * * Do something nice with it! */ printf("%lu bytes retrieved\n", (long)chunk.size); } /* cleanup curl stuff */ curl_easy_cleanup(curl_handle); free(chunk.memory); /* we're done with libcurl, so clean it up */ curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/getinfo.c0000644000175000017500000000317212626067776014072 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Use getinfo to get content-type after completed transfer. * */ #include #include int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/"); res = curl_easy_perform(curl); if(CURLE_OK == res) { char *ct; /* ask for the content-type */ res = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &ct); if((CURLE_OK == res) && ct) printf("We received Content-Type: %s\n", ct); } /* always cleanup */ curl_easy_cleanup(curl); } return 0; } curl-7.47.0/docs/examples/sessioninfo.c0000644000175000017500000000605312642500266014757 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Uses the CURLINFO_TLS_SESSION data. * */ /* Note that this example currently requires cURL to be linked against GnuTLS (and this program must also be linked against -lgnutls). */ #include #include #include static CURL *curl; static size_t wrfu(void *ptr, size_t size, size_t nmemb, void *stream) { const struct curl_tlssessioninfo *info; unsigned int cert_list_size; const gnutls_datum_t *chainp; CURLcode res; (void)stream; (void)ptr; res = curl_easy_getinfo(curl, CURLINFO_TLS_SESSION, &info); if(!res) { switch(info->backend) { case CURLSSLBACKEND_GNUTLS: /* info->internals is now the gnutls_session_t */ chainp = gnutls_certificate_get_peers(info->internals, &cert_list_size); if((chainp) && (cert_list_size)) { unsigned int i; for(i = 0; i < cert_list_size; i++) { gnutls_x509_crt_t cert; gnutls_datum_t dn; if(GNUTLS_E_SUCCESS == gnutls_x509_crt_init(&cert)) { if(GNUTLS_E_SUCCESS == gnutls_x509_crt_import(cert, &chainp[i], GNUTLS_X509_FMT_DER)) { if(GNUTLS_E_SUCCESS == gnutls_x509_crt_print(cert, GNUTLS_CRT_PRINT_FULL, &dn)) { fprintf(stderr, "Certificate #%d: %.*s", i, dn.size, dn.data); gnutls_free(dn.data); } } gnutls_x509_crt_deinit(cert); } } } break; case CURLSSLBACKEND_NONE: default: break; } } return size * nmemb; } int main(void) { curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.com/"); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, wrfu); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L); (void) curl_easy_perform(curl); curl_easy_cleanup(curl); } curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/multi-post.c0000644000175000017500000001216012626067776014551 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * using the multi interface to do a multipart formpost without blocking * */ #include #include #include #include int main(void) { CURL *curl; CURLM *multi_handle; int still_running; struct curl_httppost *formpost=NULL; struct curl_httppost *lastptr=NULL; struct curl_slist *headerlist=NULL; static const char buf[] = "Expect:"; /* Fill in the file upload field. This makes libcurl load data from the given file name when curl_easy_perform() is called. */ curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "sendfile", CURLFORM_FILE, "postit2.c", CURLFORM_END); /* Fill in the filename field */ curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "filename", CURLFORM_COPYCONTENTS, "postit2.c", CURLFORM_END); /* Fill in the submit field too, even if this is rarely needed */ curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "submit", CURLFORM_COPYCONTENTS, "send", CURLFORM_END); curl = curl_easy_init(); multi_handle = curl_multi_init(); /* initialize custom header list (stating that Expect: 100-continue is not wanted */ headerlist = curl_slist_append(headerlist, buf); if(curl && multi_handle) { /* what URL that receives this POST */ curl_easy_setopt(curl, CURLOPT_URL, "http://www.example.com/upload.cgi"); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist); curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost); curl_multi_add_handle(multi_handle, curl); curl_multi_perform(multi_handle, &still_running); do { struct timeval timeout; int rc; /* select() return code */ CURLMcode mc; /* curl_multi_fdset() return code */ fd_set fdread; fd_set fdwrite; fd_set fdexcep; int maxfd = -1; long curl_timeo = -1; FD_ZERO(&fdread); FD_ZERO(&fdwrite); FD_ZERO(&fdexcep); /* set a suitable timeout to play around with */ timeout.tv_sec = 1; timeout.tv_usec = 0; curl_multi_timeout(multi_handle, &curl_timeo); if(curl_timeo >= 0) { timeout.tv_sec = curl_timeo / 1000; if(timeout.tv_sec > 1) timeout.tv_sec = 1; else timeout.tv_usec = (curl_timeo % 1000) * 1000; } /* get file descriptors from the transfers */ mc = curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd); if(mc != CURLM_OK) { fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc); break; } /* On success the value of maxfd is guaranteed to be >= -1. We call select(maxfd + 1, ...); specially in case of (maxfd == -1) there are no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ if(maxfd == -1) { #ifdef _WIN32 Sleep(100); rc = 0; #else /* Portable sleep for platforms other than Windows. */ struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ rc = select(0, NULL, NULL, NULL, &wait); #endif } else { /* Note that on some platforms 'timeout' may be modified by select(). If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } switch(rc) { case -1: /* select error */ break; case 0: default: /* timeout or readable/writable sockets */ printf("perform!\n"); curl_multi_perform(multi_handle, &still_running); printf("running: %d!\n", still_running); break; } } while(still_running); curl_multi_cleanup(multi_handle); /* always cleanup */ curl_easy_cleanup(curl); /* then cleanup the formpost chain */ curl_formfree(formpost); /* free slist */ curl_slist_free_all (headerlist); } return 0; } curl-7.47.0/docs/examples/http2-upload.c0000644000175000017500000002264212633553325014751 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Multiplexed HTTP/2 uploads over a single connection * */ #include #include #include #include #include /* somewhat unix-specific */ #include #include /* curl stuff */ #include #ifndef CURLPIPE_MULTIPLEX /* This little trick will just make sure that we don't enable pipelining for libcurls old enough to not have this symbol. It is _not_ defined to zero in a recent libcurl header. */ #define CURLPIPE_MULTIPLEX 0 #endif #define NUM_HANDLES 1000 void *curl_hnd[NUM_HANDLES]; int num_transfers; /* a handle to number lookup, highly ineffective when we do many transfers... */ static int hnd2num(CURL *hnd) { int i; for(i=0; i< num_transfers; i++) { if(curl_hnd[i] == hnd) return i; } return 0; /* weird, but just a fail-safe */ } static void dump(const char *text, int num, unsigned char *ptr, size_t size, char nohex) { size_t i; size_t c; unsigned int width=0x10; if(nohex) /* without the hex output, we can fit more on screen */ width = 0x40; fprintf(stderr, "%d %s, %ld bytes (0x%lx)\n", num, text, (long)size, (long)size); for(i=0; i=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:'.'); /* check again for 0D0A, to avoid an extra \n if it's at width */ if (nohex && (i+c+2 < size) && ptr[i+c+1]==0x0D && ptr[i+c+2]==0x0A) { i+=(c+3-width); break; } } fputc('\n', stderr); /* newline */ } } static int my_trace(CURL *handle, curl_infotype type, char *data, size_t size, void *userp) { char timebuf[20]; const char *text; int num = hnd2num(handle); static time_t epoch_offset; static int known_offset; struct timeval tv; time_t secs; struct tm *now; (void)handle; /* prevent compiler warning */ (void)userp; gettimeofday(&tv, NULL); if(!known_offset) { epoch_offset = time(NULL) - tv.tv_sec; known_offset = 1; } secs = epoch_offset + tv.tv_sec; now = localtime(&secs); /* not thread safe but we don't care */ snprintf(timebuf, sizeof(timebuf), "%02d:%02d:%02d.%06ld", now->tm_hour, now->tm_min, now->tm_sec, (long)tv.tv_usec); switch (type) { case CURLINFO_TEXT: fprintf(stderr, "%s [%d] Info: %s", timebuf, num, data); default: /* in case a new one is introduced to shock us */ return 0; case CURLINFO_HEADER_OUT: text = "=> Send header"; break; case CURLINFO_DATA_OUT: text = "=> Send data"; break; case CURLINFO_SSL_DATA_OUT: text = "=> Send SSL data"; break; case CURLINFO_HEADER_IN: text = "<= Recv header"; break; case CURLINFO_DATA_IN: text = "<= Recv data"; break; case CURLINFO_SSL_DATA_IN: text = "<= Recv SSL data"; break; } dump(text, num, (unsigned char *)data, size, 1); return 0; } struct input { FILE *in; size_t bytes_read; /* count up */ CURL *hnd; }; static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userp) { struct input *i = userp; size_t retcode = fread(ptr, size, nmemb, i->in); i->bytes_read += retcode; return retcode; } struct input indata[NUM_HANDLES]; static void setup(CURL *hnd, int num, const char *upload) { FILE *out; char url[256]; char filename[128]; struct stat file_info; curl_off_t uploadsize; sprintf(filename, "dl-%d", num); out = fopen(filename, "wb"); sprintf(url, "https://localhost:8443/upload-%d", num); /* get the file size of the local file */ stat(upload, &file_info); uploadsize = file_info.st_size; indata[num].in = fopen(upload, "rb"); indata[num].hnd = hnd; /* write to this file */ curl_easy_setopt(hnd, CURLOPT_WRITEDATA, out); /* we want to use our own read function */ curl_easy_setopt(hnd, CURLOPT_READFUNCTION, read_callback); /* read from this file */ curl_easy_setopt(hnd, CURLOPT_READDATA, &indata[num]); /* provide the size of the upload */ curl_easy_setopt(hnd, CURLOPT_INFILESIZE_LARGE, uploadsize); /* send in the URL to store the upload as */ curl_easy_setopt(hnd, CURLOPT_URL, url); /* upload please */ curl_easy_setopt(hnd, CURLOPT_UPLOAD, 1L); /* send it verbose for max debuggaility */ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L); curl_easy_setopt(hnd, CURLOPT_DEBUGFUNCTION, my_trace); /* HTTP/2 please */ curl_easy_setopt(hnd, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0); /* we use a self-signed test server, skip verification during debugging */ curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYHOST, 0L); #if (CURLPIPE_MULTIPLEX > 0) /* wait for pipe connection to confirm */ curl_easy_setopt(hnd, CURLOPT_PIPEWAIT, 1L); #endif curl_hnd[num] = hnd; } /* * Upload all files over HTTP/2, using the same physical connection! */ int main(int argc, char **argv) { CURL *easy[NUM_HANDLES]; CURLM *multi_handle; int i; int still_running; /* keep number of running handles */ const char *filename = "index.html"; if(argc > 1) /* if given a number, do that many transfers */ num_transfers = atoi(argv[1]); if(argc > 2) /* if given a file name, upload this! */ filename = argv[2]; if(!num_transfers || (num_transfers > NUM_HANDLES)) num_transfers = 3; /* a suitable low default */ /* init a multi stack */ multi_handle = curl_multi_init(); for(i=0; i= 0) { timeout.tv_sec = curl_timeo / 1000; if(timeout.tv_sec > 1) timeout.tv_sec = 1; else timeout.tv_usec = (curl_timeo % 1000) * 1000; } /* get file descriptors from the transfers */ mc = curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd); if(mc != CURLM_OK) { fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc); break; } /* On success the value of maxfd is guaranteed to be >= -1. We call select(maxfd + 1, ...); specially in case of (maxfd == -1) there are no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ if(maxfd == -1) { #ifdef _WIN32 Sleep(100); rc = 0; #else /* Portable sleep for platforms other than Windows. */ struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ rc = select(0, NULL, NULL, NULL, &wait); #endif } else { /* Note that on some platforms 'timeout' may be modified by select(). If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } switch(rc) { case -1: /* select error */ break; case 0: default: /* timeout or readable/writable sockets */ curl_multi_perform(multi_handle, &still_running); break; } } while(still_running); curl_multi_cleanup(multi_handle); for(i=0; i, 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 http://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. * ***************************************************************************/ /* * FTP wildcard pattern matching * */ #include #include struct callback_data { FILE *output; }; static long file_is_coming(struct curl_fileinfo *finfo, struct callback_data *data, int remains); static long file_is_downloaded(struct callback_data *data); static size_t write_it(char *buff, size_t size, size_t nmemb, void *cb_data); int main(int argc, char **argv) { int rc = CURLE_OK; /* curl easy handle */ CURL *handle; /* help data */ struct callback_data data = { 0 }; /* global initialization */ rc = curl_global_init(CURL_GLOBAL_ALL); if(rc) return rc; /* initialization of easy handle */ handle = curl_easy_init(); if(!handle) { curl_global_cleanup(); return CURLE_OUT_OF_MEMORY; } /* turn on wildcard matching */ curl_easy_setopt(handle, CURLOPT_WILDCARDMATCH, 1L); /* callback is called before download of concrete file started */ curl_easy_setopt(handle, CURLOPT_CHUNK_BGN_FUNCTION, file_is_coming); /* callback is called after data from the file have been transferred */ curl_easy_setopt(handle, CURLOPT_CHUNK_END_FUNCTION, file_is_downloaded); /* this callback will write contents into files */ curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, write_it); /* put transfer data into callbacks */ curl_easy_setopt(handle, CURLOPT_CHUNK_DATA, &data); curl_easy_setopt(handle, CURLOPT_WRITEDATA, &data); /* curl_easy_setopt(handle, CURLOPT_VERBOSE, 1L); */ /* set an URL containing wildcard pattern (only in the last part) */ if(argc == 2) curl_easy_setopt(handle, CURLOPT_URL, argv[1]); else curl_easy_setopt(handle, CURLOPT_URL, "ftp://example.com/test/*"); /* and start transfer! */ rc = curl_easy_perform(handle); curl_easy_cleanup(handle); curl_global_cleanup(); return rc; } static long file_is_coming(struct curl_fileinfo *finfo, struct callback_data *data, int remains) { printf("%3d %40s %10luB ", remains, finfo->filename, (unsigned long)finfo->size); switch(finfo->filetype) { case CURLFILETYPE_DIRECTORY: printf(" DIR\n"); break; case CURLFILETYPE_FILE: printf("FILE "); break; default: printf("OTHER\n"); break; } if(finfo->filetype == CURLFILETYPE_FILE) { /* do not transfer files >= 50B */ if(finfo->size > 50) { printf("SKIPPED\n"); return CURL_CHUNK_BGN_FUNC_SKIP; } data->output = fopen(finfo->filename, "w"); if(!data->output) { return CURL_CHUNK_BGN_FUNC_FAIL; } } return CURL_CHUNK_BGN_FUNC_OK; } static long file_is_downloaded(struct callback_data *data) { if(data->output) { printf("DOWNLOADED\n"); fclose(data->output); data->output = 0x0; } return CURL_CHUNK_END_FUNC_OK; } static size_t write_it(char *buff, size_t size, size_t nmemb, void *cb_data) { struct callback_data *data = cb_data; size_t written = 0; if(data->output) written = fwrite(buff, size, nmemb, data->output); else /* listing output */ written = fwrite(buff, size, nmemb, stdout); return written; } curl-7.47.0/docs/examples/pop3-tls.c0000644000175000017500000000673212633553325014111 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * POP3 example using TLS * */ #include #include /* This is a simple example showing how to retrieve mail using libcurl's POP3 * capabilities. It builds on the pop3-retr.c example adding transport * security to protect the authentication details from being snooped. * * Note that this example requires libcurl 7.20.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This will retrieve message 1 from the user's mailbox */ curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com/1"); /* In this example, we'll start with a plain text connection, and upgrade * to Transport Layer Security (TLS) using the STLS command. Be careful of * using CURLUSESSL_TRY here, because if TLS upgrade fails, the transfer * will continue anyway - see the security discussion in the libcurl * tutorial for more details. */ curl_easy_setopt(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL); /* If your server doesn't have a valid certificate, then you can disable * part of the Transport Layer Security protection by setting the * CURLOPT_SSL_VERIFYPEER and CURLOPT_SSL_VERIFYHOST options to 0 (false). * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); * That is, in general, a bad idea. It is still better than sending your * authentication details in plain text though. * Instead, you should get the issuer certificate (or the host certificate * if the certificate is self-signed) and add it to the set of certificates * that are known to libcurl using CURLOPT_CAINFO and/or CURLOPT_CAPATH. See * docs/SSLCERTS for more information. */ curl_easy_setopt(curl, CURLOPT_CAINFO, "/path/to/certificate.pem"); /* Since the traffic will be encrypted, it is very useful to turn on debug * information within libcurl to see what is happening during the * transfer */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* Perform the retr */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/ftpupload.c0000644000175000017500000001075112626067776014436 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include #include #include #include #include #include #include #ifdef WIN32 #include #else #include #endif /* * Performs an FTP upload and renames the file just after a successful * transfer. * */ #define LOCAL_FILE "/tmp/uploadthis.txt" #define UPLOAD_FILE_AS "while-uploading.txt" #define REMOTE_URL "ftp://example.com/" UPLOAD_FILE_AS #define RENAME_FILE_TO "renamed-and-fine.txt" /* NOTE: if you want this example to work on Windows with libcurl as a DLL, you MUST also provide a read callback with CURLOPT_READFUNCTION. Failing to do so will give you a crash since a DLL may not use the variable's memory when passed in to it from an app like this. */ static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *stream) { curl_off_t nread; /* in real-world cases, this would probably get this data differently as this fread() stuff is exactly what the library already would do by default internally */ size_t retcode = fread(ptr, size, nmemb, stream); nread = (curl_off_t)retcode; fprintf(stderr, "*** We read %" CURL_FORMAT_CURL_OFF_T " bytes from file\n", nread); return retcode; } int main(void) { CURL *curl; CURLcode res; FILE *hd_src; struct stat file_info; curl_off_t fsize; struct curl_slist *headerlist=NULL; static const char buf_1 [] = "RNFR " UPLOAD_FILE_AS; static const char buf_2 [] = "RNTO " RENAME_FILE_TO; /* get the file size of the local file */ if(stat(LOCAL_FILE, &file_info)) { printf("Couldnt open '%s': %s\n", LOCAL_FILE, strerror(errno)); return 1; } fsize = (curl_off_t)file_info.st_size; printf("Local file size: %" CURL_FORMAT_CURL_OFF_T " bytes.\n", fsize); /* get a FILE * of the same file */ hd_src = fopen(LOCAL_FILE, "rb"); /* In windows, this will init the winsock stuff */ curl_global_init(CURL_GLOBAL_ALL); /* get a curl handle */ curl = curl_easy_init(); if(curl) { /* build a list of commands to pass to libcurl */ headerlist = curl_slist_append(headerlist, buf_1); headerlist = curl_slist_append(headerlist, buf_2); /* we want to use our own read function */ curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback); /* enable uploading */ curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); /* specify target */ curl_easy_setopt(curl,CURLOPT_URL, REMOTE_URL); /* pass in that last of FTP commands to run after the transfer */ curl_easy_setopt(curl, CURLOPT_POSTQUOTE, headerlist); /* now specify which file to upload */ curl_easy_setopt(curl, CURLOPT_READDATA, hd_src); /* Set the size of the file to upload (optional). If you give a *_LARGE option you MUST make sure that the type of the passed-in argument is a curl_off_t. If you use CURLOPT_INFILESIZE (without _LARGE) you must make sure that to pass in a type 'long' argument. */ curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, (curl_off_t)fsize); /* Now run off and do what you've been told! */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* clean up the FTP commands list */ curl_slist_free_all (headerlist); /* always cleanup */ curl_easy_cleanup(curl); } fclose(hd_src); /* close the local file */ curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/smtp-tls.c0000644000175000017500000001424412633553325014210 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * SMTP example using TLS * */ #include #include #include /* This is a simple example showing how to send mail using libcurl's SMTP * capabilities. It builds on the smtp-mail.c example to add authentication * and, more importantly, transport security to protect the authentication * details from being snooped. * * Note that this example requires libcurl 7.20.0 or above. */ #define FROM "" #define TO "" #define CC "" static const char *payload_text[] = { "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n", "To: " TO "\r\n", "From: " FROM "(Example User)\r\n", "Cc: " CC "(Another example User)\r\n", "Message-ID: \r\n", "Subject: SMTP TLS example message\r\n", "\r\n", /* empty line to divide headers from body, see RFC5322 */ "The body of the message starts here.\r\n", "\r\n", "It could be a lot of lines, could be MIME encoded, whatever.\r\n", "Check RFC5322.\r\n", NULL }; struct upload_status { int lines_read; }; static size_t payload_source(void *ptr, size_t size, size_t nmemb, void *userp) { struct upload_status *upload_ctx = (struct upload_status *)userp; const char *data; if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) { return 0; } data = payload_text[upload_ctx->lines_read]; if(data) { size_t len = strlen(data); memcpy(ptr, data, len); upload_ctx->lines_read++; return len; } return 0; } int main(void) { CURL *curl; CURLcode res = CURLE_OK; struct curl_slist *recipients = NULL; struct upload_status upload_ctx; upload_ctx.lines_read = 0; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is the URL for your mailserver. Note the use of port 587 here, * instead of the normal SMTP port (25). Port 587 is commonly used for * secure mail submission (see RFC4403), but you should use whatever * matches your server configuration. */ curl_easy_setopt(curl, CURLOPT_URL, "smtp://mainserver.example.net:587"); /* In this example, we'll start with a plain text connection, and upgrade * to Transport Layer Security (TLS) using the STARTTLS command. Be careful * of using CURLUSESSL_TRY here, because if TLS upgrade fails, the transfer * will continue anyway - see the security discussion in the libcurl * tutorial for more details. */ curl_easy_setopt(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL); /* If your server doesn't have a valid certificate, then you can disable * part of the Transport Layer Security protection by setting the * CURLOPT_SSL_VERIFYPEER and CURLOPT_SSL_VERIFYHOST options to 0 (false). * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); * That is, in general, a bad idea. It is still better than sending your * authentication details in plain text though. * Instead, you should get the issuer certificate (or the host certificate * if the certificate is self-signed) and add it to the set of certificates * that are known to libcurl using CURLOPT_CAINFO and/or CURLOPT_CAPATH. See * docs/SSLCERTS for more information. */ curl_easy_setopt(curl, CURLOPT_CAINFO, "/path/to/certificate.pem"); /* Note that this option isn't strictly required, omitting it will result in * libcurl sending the MAIL FROM command with empty sender data. All * autoresponses should have an empty reverse-path, and should be directed * to the address in the reverse-path which triggered them. Otherwise, they * could cause an endless loop. See RFC 5321 Section 4.5.5 for more details. */ curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM); /* Add two recipients, in this particular case they correspond to the * To: and Cc: addressees in the header, but they could be any kind of * recipient. */ recipients = curl_slist_append(recipients, TO); recipients = curl_slist_append(recipients, CC); curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); /* We're using a callback function to specify the payload (the headers and * body of the message). You could just use the CURLOPT_READDATA option to * specify a FILE pointer to read from. */ curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source); curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx); curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); /* Since the traffic will be encrypted, it is very useful to turn on debug * information within libcurl to see what is happening during the transfer. */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* Send the message */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Free the list of recipients */ curl_slist_free_all(recipients); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/https.c0000644000175000017500000000504312626067776013600 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Simple HTTPS GET * */ #include #include int main(void) { CURL *curl; CURLcode res; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/"); #ifdef SKIP_PEER_VERIFICATION /* * If you want to connect to a site who isn't using a certificate that is * signed by one of the certs in the CA bundle you have, you can skip the * verification of the server's certificate. This makes the connection * A LOT LESS SECURE. * * If you have a CA cert for the server stored someplace else than in the * default bundle, then the CURLOPT_CAPATH option might come handy for * you. */ curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); #endif #ifdef SKIP_HOSTNAME_VERIFICATION /* * If the site you're connecting to uses a different host name that what * they have mentioned in their server certificate's commonName (or * subjectAltName) fields, libcurl will refuse to connect. You can skip * this check, but this will make the connection less secure. */ curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); #endif /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/resolve.c0000644000175000017500000000362012642477553014110 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Use CURLOPT_RESOLVE to feed custom IP addresses for given host name + port * number combinations. * */ #include #include int main(void) { CURL *curl; CURLcode res = CURLE_OK; struct curl_slist *host = NULL; /* Each single name resolve string should be written using the format HOST:PORT:ADDRESS where HOST is the name libcurl will try to resolve, PORT is the port number of the service where libcurl wants to connect to the HOST and ADDRESS is the numerical IP address */ host = curl_slist_append(NULL, "example.com:80:127.0.0.1"); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_RESOLVE, host); curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(curl); } curl_slist_free_all(host); return (int)res; } curl-7.47.0/docs/examples/imap-tls.c0000644000175000017500000000674412633553325014161 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example using TLS * */ #include #include /* This is a simple example showing how to fetch mail using libcurl's IMAP * capabilities. It builds on the imap-fetch.c example adding transport * security to protect the authentication details from being snooped. * * Note that this example requires libcurl 7.30.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This will fetch message 1 from the user's inbox */ curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/INBOX/;UID=1"); /* In this example, we'll start with a plain text connection, and upgrade * to Transport Layer Security (TLS) using the STARTTLS command. Be careful * of using CURLUSESSL_TRY here, because if TLS upgrade fails, the transfer * will continue anyway - see the security discussion in the libcurl * tutorial for more details. */ curl_easy_setopt(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL); /* If your server doesn't have a valid certificate, then you can disable * part of the Transport Layer Security protection by setting the * CURLOPT_SSL_VERIFYPEER and CURLOPT_SSL_VERIFYHOST options to 0 (false). * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); * curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); * That is, in general, a bad idea. It is still better than sending your * authentication details in plain text though. * Instead, you should get the issuer certificate (or the host certificate * if the certificate is self-signed) and add it to the set of certificates * that are known to libcurl using CURLOPT_CAINFO and/or CURLOPT_CAPATH. See * docs/SSLCERTS for more information. */ curl_easy_setopt(curl, CURLOPT_CAINFO, "/path/to/certificate.pem"); /* Since the traffic will be encrypted, it is very useful to turn on debug * information within libcurl to see what is happening during the * transfer */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* Perform the fetch */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/simple.c0000644000175000017500000000327012642476725013723 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Very simple HTTP GET * */ #include #include int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* example.com is redirected, so we tell libcurl to follow redirection */ curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } return 0; } curl-7.47.0/docs/examples/multi-uv.c0000644000175000017500000001374112626067776014224 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * multi_socket API using libuv * */ /* Example application code using the multi socket interface to download multiple files at once, but instead of using curl_multi_perform and curl_multi_wait, which uses select(), we use libuv. It supports epoll, kqueue, etc. on unixes and fast IO completion ports on Windows, which means, it should be very fast on all platforms.. Written by Clemens Gruber, based on an outdated example from uvbook and some tests from libuv. Requires libuv and (of course) libcurl. See http://nikhilm.github.com/uvbook/ for more information on libuv. */ #include #include #include #include uv_loop_t *loop; CURLM *curl_handle; uv_timer_t timeout; typedef struct curl_context_s { uv_poll_t poll_handle; curl_socket_t sockfd; } curl_context_t; curl_context_t* create_curl_context(curl_socket_t sockfd) { curl_context_t *context; context = (curl_context_t *) malloc(sizeof *context); context->sockfd = sockfd; uv_poll_init_socket(loop, &context->poll_handle, sockfd); context->poll_handle.data = context; return context; } void curl_close_cb(uv_handle_t *handle) { curl_context_t *context = (curl_context_t *) handle->data; free(context); } void destroy_curl_context(curl_context_t *context) { uv_close((uv_handle_t *) &context->poll_handle, curl_close_cb); } void add_download(const char *url, int num) { char filename[50]; FILE *file; CURL *handle; sprintf(filename, "%d.download", num); file = fopen(filename, "w"); if(!file) { fprintf(stderr, "Error opening %s\n", filename); return; } handle = curl_easy_init(); curl_easy_setopt(handle, CURLOPT_WRITEDATA, file); curl_easy_setopt(handle, CURLOPT_PRIVATE, file); curl_easy_setopt(handle, CURLOPT_URL, url); curl_multi_add_handle(curl_handle, handle); fprintf(stderr, "Added download %s -> %s\n", url, filename); } static void check_multi_info(void) { int running_handles; char *done_url; CURLMsg *message; int pending; FILE *file; while((message = curl_multi_info_read(curl_handle, &pending))) { switch(message->msg) { case CURLMSG_DONE: curl_easy_getinfo(message->easy_handle, CURLINFO_EFFECTIVE_URL, &done_url); curl_easy_getinfo(message->easy_handle, CURLINFO_PRIVATE, &file); printf("%s DONE\n", done_url); curl_multi_remove_handle(curl_handle, message->easy_handle); curl_easy_cleanup(message->easy_handle); if(file) { fclose(file); } break; default: fprintf(stderr, "CURLMSG default\n"); break; } } } void curl_perform(uv_poll_t *req, int status, int events) { int running_handles; int flags = 0; curl_context_t *context; char *done_url; CURLMsg *message; int pending; uv_timer_stop(&timeout); if(events & UV_READABLE) flags |= CURL_CSELECT_IN; if(events & UV_WRITABLE) flags |= CURL_CSELECT_OUT; context = (curl_context_t *) req; curl_multi_socket_action(curl_handle, context->sockfd, flags, &running_handles); check_multi_info(); } void on_timeout(uv_timer_t *req, int status) { int running_handles; curl_multi_socket_action(curl_handle, CURL_SOCKET_TIMEOUT, 0, &running_handles); check_multi_info(); } void start_timeout(CURLM *multi, long timeout_ms, void *userp) { if(timeout_ms <= 0) timeout_ms = 1; /* 0 means directly call socket_action, but we'll do it in a bit */ uv_timer_start(&timeout, on_timeout, timeout_ms, 0); } int handle_socket(CURL *easy, curl_socket_t s, int action, void *userp, void *socketp) { curl_context_t *curl_context; if(action == CURL_POLL_IN || action == CURL_POLL_OUT) { if(socketp) { curl_context = (curl_context_t *) socketp; } else { curl_context = create_curl_context(s); } curl_multi_assign(curl_handle, s, (void *) curl_context); } switch(action) { case CURL_POLL_IN: uv_poll_start(&curl_context->poll_handle, UV_READABLE, curl_perform); break; case CURL_POLL_OUT: uv_poll_start(&curl_context->poll_handle, UV_WRITABLE, curl_perform); break; case CURL_POLL_REMOVE: if(socketp) { uv_poll_stop(&((curl_context_t*)socketp)->poll_handle); destroy_curl_context((curl_context_t*) socketp); curl_multi_assign(curl_handle, s, NULL); } break; default: abort(); } return 0; } int main(int argc, char **argv) { loop = uv_default_loop(); if(argc <= 1) return 0; if(curl_global_init(CURL_GLOBAL_ALL)) { fprintf(stderr, "Could not init cURL\n"); return 1; } uv_timer_init(loop, &timeout); curl_handle = curl_multi_init(); curl_multi_setopt(curl_handle, CURLMOPT_SOCKETFUNCTION, handle_socket); curl_multi_setopt(curl_handle, CURLMOPT_TIMERFUNCTION, start_timeout); while(argc-- > 1) { add_download(argv[argc], argc); } uv_run(loop, UV_RUN_DEFAULT); curl_multi_cleanup(curl_handle); return 0; } curl-7.47.0/docs/examples/httpcustomheader.c0000644000175000017500000000443612626067776016026 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * HTTP request with custom modified, removed and added headers * */ #include #include int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { struct curl_slist *chunk = NULL; /* Remove a header curl would otherwise add by itself */ chunk = curl_slist_append(chunk, "Accept:"); /* Add a custom header */ chunk = curl_slist_append(chunk, "Another: yes"); /* Modify a header curl otherwise adds differently */ chunk = curl_slist_append(chunk, "Host: example.com"); /* Add a header with "blank" contents to the right of the colon. Note that we're then using a semicolon in the string we pass to curl! */ chunk = curl_slist_append(chunk, "X-silly-header;"); /* set our custom set of headers */ res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk); curl_easy_setopt(curl, CURLOPT_URL, "localhost"); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); /* free the custom headers */ curl_slist_free_all(chunk); } return 0; } curl-7.47.0/docs/examples/imap-fetch.c0000644000175000017500000000370012633553325014435 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example showing how to retreieve e-mails * */ #include #include /* This is a simple example showing how to fetch mail using libcurl's IMAP * capabilities. * * Note that this example requires libcurl 7.30.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This will fetch message 1 from the user's inbox */ curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/INBOX/;UID=1"); /* Perform the fetch */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/pop3-multi.c0000644000175000017500000001142412633553325014433 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * POP3 example using the multi interface * */ #include #include #include /* This is a simple example showing how to retrieve mail using libcurl's POP3 * capabilities. It builds on the pop3-retr.c example to demonstrate how to use * libcurl's multi interface. * * Note that this example requires libcurl 7.20.0 or above. */ #define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000 static struct timeval tvnow(void) { struct timeval now; /* time() returns the value of time in seconds since the epoch */ now.tv_sec = (long)time(NULL); now.tv_usec = 0; return now; } static long tvdiff(struct timeval newer, struct timeval older) { return (newer.tv_sec - older.tv_sec) * 1000 + (newer.tv_usec - older.tv_usec) / 1000; } int main(void) { CURL *curl; CURLM *mcurl; int still_running = 1; struct timeval mp_start; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(!curl) return 1; mcurl = curl_multi_init(); if(!mcurl) return 2; /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This will retrieve message 1 from the user's mailbox */ curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com/1"); /* Tell the multi stack about our easy handle */ curl_multi_add_handle(mcurl, curl); /* Record the start time which we can use later */ mp_start = tvnow(); /* We start some action by calling perform right away */ curl_multi_perform(mcurl, &still_running); while(still_running) { struct timeval timeout; fd_set fdread; fd_set fdwrite; fd_set fdexcep; int maxfd = -1; int rc; CURLMcode mc; /* curl_multi_fdset() return code */ long curl_timeo = -1; /* Initialise the file descriptors */ FD_ZERO(&fdread); FD_ZERO(&fdwrite); FD_ZERO(&fdexcep); /* Set a suitable timeout to play around with */ timeout.tv_sec = 1; timeout.tv_usec = 0; curl_multi_timeout(mcurl, &curl_timeo); if(curl_timeo >= 0) { timeout.tv_sec = curl_timeo / 1000; if(timeout.tv_sec > 1) timeout.tv_sec = 1; else timeout.tv_usec = (curl_timeo % 1000) * 1000; } /* get file descriptors from the transfers */ mc = curl_multi_fdset(mcurl, &fdread, &fdwrite, &fdexcep, &maxfd); if(mc != CURLM_OK) { fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc); break; } /* On success the value of maxfd is guaranteed to be >= -1. We call select(maxfd + 1, ...); specially in case of (maxfd == -1) there are no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ if(maxfd == -1) { #ifdef _WIN32 Sleep(100); rc = 0; #else /* Portable sleep for platforms other than Windows. */ struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ rc = select(0, NULL, NULL, NULL, &wait); #endif } else { /* Note that on some platforms 'timeout' may be modified by select(). If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } if(tvdiff(tvnow(), mp_start) > MULTI_PERFORM_HANG_TIMEOUT) { fprintf(stderr, "ABORTING: Since it seems that we would have run forever.\n"); break; } switch(rc) { case -1: /* select error */ break; case 0: /* timeout */ default: /* action */ curl_multi_perform(mcurl, &still_running); break; } } /* Always cleanup */ curl_multi_remove_handle(mcurl, curl); curl_multi_cleanup(mcurl); curl_easy_cleanup(curl); curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/certinfo.c0000644000175000017500000000457512626067776014260 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Extract lots of TLS certificate info. * */ #include #include static size_t wrfu(void *ptr, size_t size, size_t nmemb, void *stream) { (void)stream; (void)ptr; return size * nmemb; } int main(void) { CURL *curl; CURLcode res; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.com/"); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, wrfu); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L); curl_easy_setopt(curl, CURLOPT_CERTINFO, 1L); res = curl_easy_perform(curl); if(!res) { union { struct curl_slist *to_info; struct curl_certinfo *to_certinfo; } ptr; ptr.to_info = NULL; res = curl_easy_getinfo(curl, CURLINFO_CERTINFO, &ptr.to_info); if(!res && ptr.to_info) { int i; printf("%d certs!\n", ptr.to_certinfo->num_of_certs); for(i = 0; i < ptr.to_certinfo->num_of_certs; i++) { struct curl_slist *slist; for(slist = ptr.to_certinfo->certinfo[i]; slist; slist = slist->next) printf("%s\n", slist->data); } } } curl_easy_cleanup(curl); } curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/htmltitle.cpp0000644000175000017500000001427212626067776015010 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Get a web page, extract the title with libxml. * */ // Written by Lars Nilsson // // GNU C++ compile command line suggestion (edit paths accordingly): // // g++ -Wall -I/opt/curl/include -I/opt/libxml/include/libxml2 htmltitle.cpp \ // -o htmltitle -L/opt/curl/lib -L/opt/libxml/lib -lcurl -lxml2 #include #include #include #include #include #include // // Case-insensitive string comparison // #ifdef _MSC_VER #define COMPARE(a, b) (!stricmp((a), (b))) #else #define COMPARE(a, b) (!strcasecmp((a), (b))) #endif // // libxml callback context structure // struct Context { Context(): addTitle(false) { } bool addTitle; std::string title; }; // // libcurl variables for error strings and returned data static char errorBuffer[CURL_ERROR_SIZE]; static std::string buffer; // // libcurl write callback function // static int writer(char *data, size_t size, size_t nmemb, std::string *writerData) { if (writerData == NULL) return 0; writerData->append(data, size*nmemb); return size * nmemb; } // // libcurl connection initialization // static bool init(CURL *&conn, char *url) { CURLcode code; conn = curl_easy_init(); if (conn == NULL) { fprintf(stderr, "Failed to create CURL connection\n"); exit(EXIT_FAILURE); } code = curl_easy_setopt(conn, CURLOPT_ERRORBUFFER, errorBuffer); if (code != CURLE_OK) { fprintf(stderr, "Failed to set error buffer [%d]\n", code); return false; } code = curl_easy_setopt(conn, CURLOPT_URL, url); if (code != CURLE_OK) { fprintf(stderr, "Failed to set URL [%s]\n", errorBuffer); return false; } code = curl_easy_setopt(conn, CURLOPT_FOLLOWLOCATION, 1L); if (code != CURLE_OK) { fprintf(stderr, "Failed to set redirect option [%s]\n", errorBuffer); return false; } code = curl_easy_setopt(conn, CURLOPT_WRITEFUNCTION, writer); if (code != CURLE_OK) { fprintf(stderr, "Failed to set writer [%s]\n", errorBuffer); return false; } code = curl_easy_setopt(conn, CURLOPT_WRITEDATA, &buffer); if (code != CURLE_OK) { fprintf(stderr, "Failed to set write data [%s]\n", errorBuffer); return false; } return true; } // // libxml start element callback function // static void StartElement(void *voidContext, const xmlChar *name, const xmlChar **attributes) { Context *context = (Context *)voidContext; if (COMPARE((char *)name, "TITLE")) { context->title = ""; context->addTitle = true; } (void) attributes; } // // libxml end element callback function // static void EndElement(void *voidContext, const xmlChar *name) { Context *context = (Context *)voidContext; if (COMPARE((char *)name, "TITLE")) context->addTitle = false; } // // Text handling helper function // static void handleCharacters(Context *context, const xmlChar *chars, int length) { if (context->addTitle) context->title.append((char *)chars, length); } // // libxml PCDATA callback function // static void Characters(void *voidContext, const xmlChar *chars, int length) { Context *context = (Context *)voidContext; handleCharacters(context, chars, length); } // // libxml CDATA callback function // static void cdata(void *voidContext, const xmlChar *chars, int length) { Context *context = (Context *)voidContext; handleCharacters(context, chars, length); } // // libxml SAX callback structure // static htmlSAXHandler saxHandler = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, StartElement, EndElement, NULL, Characters, NULL, NULL, NULL, NULL, NULL, NULL, NULL, cdata, NULL }; // // Parse given (assumed to be) HTML text and return the title // static void parseHtml(const std::string &html, std::string &title) { htmlParserCtxtPtr ctxt; Context context; ctxt = htmlCreatePushParserCtxt(&saxHandler, &context, "", 0, "", XML_CHAR_ENCODING_NONE); htmlParseChunk(ctxt, html.c_str(), html.size(), 0); htmlParseChunk(ctxt, "", 0, 1); htmlFreeParserCtxt(ctxt); title = context.title; } int main(int argc, char *argv[]) { CURL *conn = NULL; CURLcode code; std::string title; // Ensure one argument is given if (argc != 2) { fprintf(stderr, "Usage: %s \n", argv[0]); exit(EXIT_FAILURE); } curl_global_init(CURL_GLOBAL_DEFAULT); // Initialize CURL connection if (!init(conn, argv[1])) { fprintf(stderr, "Connection initializion failed\n"); exit(EXIT_FAILURE); } // Retrieve content for the URL code = curl_easy_perform(conn); curl_easy_cleanup(conn); if (code != CURLE_OK) { fprintf(stderr, "Failed to get '%s' [%s]\n", argv[1], errorBuffer); exit(EXIT_FAILURE); } // Parse the (assumed) HTML code parseHtml(buffer, title); // Display the extracted title printf("Title: %s\n", title.c_str()); return EXIT_SUCCESS; } curl-7.47.0/docs/examples/simplessl.c0000644000175000017500000001107012642500466014430 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Shows HTTPS usage with client certs and optional ssl engine use. * */ #include #include /* some requirements for this to work: 1. set pCertFile to the file with the client certificate 2. if the key is passphrase protected, set pPassphrase to the passphrase you use 3. if you are using a crypto engine: 3.1. set a #define USE_ENGINE 3.2. set pEngine to the name of the crypto engine you use 3.3. set pKeyName to the key identifier you want to use 4. if you don't use a crypto engine: 4.1. set pKeyName to the file name of your client key 4.2. if the format of the key file is DER, set pKeyType to "DER" !! verify of the server certificate is not implemented here !! **** This example only works with libcurl 7.9.3 and later! **** */ int main(void) { int i; CURL *curl; CURLcode res; FILE *headerfile; const char *pPassphrase = NULL; static const char *pCertFile = "testcert.pem"; static const char *pCACertFile="cacert.pem"; const char *pKeyName; const char *pKeyType; const char *pEngine; #ifdef USE_ENGINE pKeyName = "rsa_test"; pKeyType = "ENG"; pEngine = "chil"; /* for nChiper HSM... */ #else pKeyName = "testkey.pem"; pKeyType = "PEM"; pEngine = NULL; #endif headerfile = fopen("dumpit", "w"); curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(curl) { /* what call to write: */ curl_easy_setopt(curl, CURLOPT_URL, "HTTPS://your.favourite.ssl.site"); curl_easy_setopt(curl, CURLOPT_HEADERDATA, headerfile); for(i = 0; i < 1; i++) /* single-iteration loop, just to break out from */ { if (pEngine) /* use crypto engine */ { if (curl_easy_setopt(curl, CURLOPT_SSLENGINE,pEngine) != CURLE_OK) { /* load the crypto engine */ fprintf(stderr,"can't set crypto engine\n"); break; } if (curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT,1L) != CURLE_OK) { /* set the crypto engine as default */ /* only needed for the first time you load a engine in a curl object... */ fprintf(stderr,"can't set crypto engine as default\n"); break; } } /* cert is stored PEM coded in file... */ /* since PEM is default, we needn't set it for PEM */ curl_easy_setopt(curl,CURLOPT_SSLCERTTYPE,"PEM"); /* set the cert for client authentication */ curl_easy_setopt(curl,CURLOPT_SSLCERT,pCertFile); /* sorry, for engine we must set the passphrase (if the key has one...) */ if (pPassphrase) curl_easy_setopt(curl,CURLOPT_KEYPASSWD,pPassphrase); /* if we use a key stored in a crypto engine, we must set the key type to "ENG" */ curl_easy_setopt(curl,CURLOPT_SSLKEYTYPE,pKeyType); /* set the private key (file or ID in engine) */ curl_easy_setopt(curl,CURLOPT_SSLKEY,pKeyName); /* set the file with the certs vaildating the server */ curl_easy_setopt(curl,CURLOPT_CAINFO,pCACertFile); /* disconnect if we can't validate server's cert */ curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,1L); /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* we are done... */ } /* always cleanup */ curl_easy_cleanup(curl); } curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/ftpsget.c0000644000175000017500000000562512626067776014120 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is * furnished to do so, under the terms of the COPYING file. * * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * ***************************************************************************/ #include #include /* * Get a single file from an FTPS server. * */ struct FtpFile { const char *filename; FILE *stream; }; static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) { struct FtpFile *out=(struct FtpFile *)stream; if(out && !out->stream) { /* open file for writing */ out->stream=fopen(out->filename, "wb"); if(!out->stream) return -1; /* failure, can't open file to write */ } return fwrite(buffer, size, nmemb, out->stream); } int main(void) { CURL *curl; CURLcode res; struct FtpFile ftpfile={ "yourfile.bin", /* name to store the file as if successful */ NULL }; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(curl) { /* * You better replace the URL with one that works! Note that we use an * FTP:// URL with standard explicit FTPS. You can also do FTPS:// URLs if * you want to do the rarer kind of transfers: implicit. */ curl_easy_setopt(curl, CURLOPT_URL, "ftp://user@server/home/user/file.txt"); /* Define our callback to get called when there's data to be written */ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite); /* Set a pointer to our struct to pass to the callback */ curl_easy_setopt(curl, CURLOPT_WRITEDATA, &ftpfile); /* We activate SSL and we require it for both control and data */ curl_easy_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_ALL); /* Switch on full protocol/debug output */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(curl); if(CURLE_OK != res) { /* we failed */ fprintf(stderr, "curl told us %d\n", res); } } if(ftpfile.stream) fclose(ftpfile.stream); /* close the local file */ curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/imap-examine.c0000644000175000017500000000416412633553325014777 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example showing how to obtain information about a folder * */ #include #include /* This is a simple example showing how to obtain information about a mailbox * folder using libcurl's IMAP capabilities via the EXAMINE command. * * Note that this example requires libcurl 7.30.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is just the server URL */ curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com"); /* Set the EXAMINE command specifing the mailbox folder */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "EXAMINE OUTBOX"); /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/multithread.c0000644000175000017500000000513412626067776014761 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * A multi-threaded example that uses pthreads to fetch several files at once * */ #include #include #include #define NUMT 4 /* List of URLs to fetch. If you intend to use a SSL-based protocol here you MUST setup the OpenSSL callback functions as described here: http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION */ const char * const urls[NUMT]= { "http://curl.haxx.se/", "ftp://cool.haxx.se/", "http://www.contactor.se/", "www.haxx.se" }; static void *pull_one_url(void *url) { CURL *curl; curl = curl_easy_init(); curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_perform(curl); /* ignores error */ curl_easy_cleanup(curl); return NULL; } /* int pthread_create(pthread_t *new_thread_ID, const pthread_attr_t *attr, void * (*start_func)(void *), void *arg); */ int main(int argc, char **argv) { pthread_t tid[NUMT]; int i; int error; /* Must initialize libcurl before any threads are started */ curl_global_init(CURL_GLOBAL_ALL); for(i=0; i< NUMT; i++) { error = pthread_create(&tid[i], NULL, /* default attributes please */ pull_one_url, (void *)urls[i]); if(0 != error) fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error); else fprintf(stderr, "Thread %d, gets %s\n", i, urls[i]); } /* now wait for all threads to terminate */ for(i=0; i< NUMT; i++) { error = pthread_join(tid[i], NULL); fprintf(stderr, "Thread %d terminated\n", i); } return 0; } curl-7.47.0/docs/examples/multi-single.c0000644000175000017500000000615112626067776015050 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * using the multi interface to do a single download * */ #include #include /* somewhat unix-specific */ #include #include /* curl stuff */ #include #ifdef _WIN32 #define WAITMS(x) Sleep(x) #else /* Portable sleep for platforms other than Windows. */ #define WAITMS(x) \ struct timeval wait = { 0, (x) * 1000 }; \ (void)select(0, NULL, NULL, NULL, &wait); #endif /* * Simply download a HTTP file. */ int main(void) { CURL *http_handle; CURLM *multi_handle; int still_running; /* keep number of running handles */ int repeats = 0; curl_global_init(CURL_GLOBAL_DEFAULT); http_handle = curl_easy_init(); /* set the options (I left out a few, you'll get the point anyway) */ curl_easy_setopt(http_handle, CURLOPT_URL, "http://www.example.com/"); /* init a multi stack */ multi_handle = curl_multi_init(); /* add the individual transfers */ curl_multi_add_handle(multi_handle, http_handle); /* we start some action by calling perform right away */ curl_multi_perform(multi_handle, &still_running); do { CURLMcode mc; /* curl_multi_wait() return code */ int numfds; /* wait for activity, timeout or "nothing" */ mc = curl_multi_wait(multi_handle, NULL, 0, 1000, &numfds); if(mc != CURLM_OK) { fprintf(stderr, "curl_multi_wait() failed, code %d.\n", mc); break; } /* 'numfds' being zero means either a timeout or no file descriptors to wait for. Try timeout on first occurrence, then assume no file descriptors and no file descriptors to wait for means wait for 100 milliseconds. */ if(!numfds) { repeats++; /* count number of repeated zero numfds */ if(repeats > 1) { WAITMS(100); /* sleep 100 milliseconds */ } } else repeats = 0; curl_multi_perform(multi_handle, &still_running); } while(still_running); curl_multi_remove_handle(multi_handle, http_handle); curl_easy_cleanup(http_handle); curl_multi_cleanup(multi_handle); curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/sftpget.c0000644000175000017500000000640412642500320014063 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Gets a file using an SFTP URL. * */ #include #include /* define this to switch off the use of ssh-agent in this program */ #undef DISABLE_SSH_AGENT /* * This is an example showing how to get a single file from an SFTP server. * It delays the actual destination file creation until the first write * callback so that it won't create an empty file in case the remote file * doesn't exist or something else fails. */ struct FtpFile { const char *filename; FILE *stream; }; static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream) { struct FtpFile *out=(struct FtpFile *)stream; if(out && !out->stream) { /* open file for writing */ out->stream=fopen(out->filename, "wb"); if(!out->stream) return -1; /* failure, can't open file to write */ } return fwrite(buffer, size, nmemb, out->stream); } int main(void) { CURL *curl; CURLcode res; struct FtpFile ftpfile={ "yourfile.bin", /* name to store the file as if successful */ NULL }; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(curl) { /* * You better replace the URL with one that works! */ curl_easy_setopt(curl, CURLOPT_URL, "sftp://user@server/home/user/file.txt"); /* Define our callback to get called when there's data to be written */ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite); /* Set a pointer to our struct to pass to the callback */ curl_easy_setopt(curl, CURLOPT_WRITEDATA, &ftpfile); #ifndef DISABLE_SSH_AGENT /* We activate ssh agent. For this to work you need to have ssh-agent running (type set | grep SSH_AGENT to check) or pageant on Windows (there is an icon in systray if so) */ curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, CURLSSH_AUTH_AGENT); #endif /* Switch on full protocol/debug output */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(curl); if(CURLE_OK != res) { /* we failed */ fprintf(stderr, "curl told us %d\n", res); } } if(ftpfile.stream) fclose(ftpfile.stream); /* close the local file */ curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/imap-append.c0000644000175000017500000000717212633553325014622 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example showing how to send e-mails * */ #include #include #include /* This is a simple example showing how to send mail using libcurl's IMAP * capabilities. * * Note that this example requires libcurl 7.30.0 or above. */ #define FROM "" #define TO "" #define CC "" static const char *payload_text[] = { "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n", "To: " TO "\r\n", "From: " FROM "(Example User)\r\n", "Cc: " CC "(Another example User)\r\n", "Message-ID: \r\n", "Subject: IMAP example message\r\n", "\r\n", /* empty line to divide headers from body, see RFC5322 */ "The body of the message starts here.\r\n", "\r\n", "It could be a lot of lines, could be MIME encoded, whatever.\r\n", "Check RFC5322.\r\n", NULL }; struct upload_status { int lines_read; }; static size_t payload_source(void *ptr, size_t size, size_t nmemb, void *userp) { struct upload_status *upload_ctx = (struct upload_status *)userp; const char *data; if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) { return 0; } data = payload_text[upload_ctx->lines_read]; if(data) { size_t len = strlen(data); memcpy(ptr, data, len); upload_ctx->lines_read++; return len; } return 0; } int main(void) { CURL *curl; CURLcode res = CURLE_OK; struct upload_status upload_ctx; upload_ctx.lines_read = 0; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This will create a new message 100. Note that you should perform an * EXAMINE command to obtain the UID of the next message to create and a * SELECT to ensure you are creating the message in the OUTBOX. */ curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/100"); /* In this case, we're using a callback function to specify the data. You * could just use the CURLOPT_READDATA option to specify a FILE pointer to * read from. */ curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source); curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx); curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); /* Perform the append */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/imap-noop.c0000644000175000017500000000400412633553325014315 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example showing how to perform a noop * */ #include #include /* This is a simple example showing how to perform a noop using libcurl's IMAP * capabilities. * * Note that this example requires libcurl 7.30.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is just the server URL */ curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com"); /* Set the NOOP command */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "NOOP"); /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/postit2.c0000644000175000017500000000710212642477374014035 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * HTTP Multipart formpost with file upload and two additional parts. * */ /* Example code that uploads a file name 'foo' to a remote script that accepts * "HTML form based" (as described in RFC1738) uploads using HTTP POST. * * The imaginary form we'll fill in looks like: * * * Enter file: * Enter file name: * * * * This exact source code has not been verified to work. */ #include #include #include int main(int argc, char *argv[]) { CURL *curl; CURLcode res; struct curl_httppost *formpost=NULL; struct curl_httppost *lastptr=NULL; struct curl_slist *headerlist=NULL; static const char buf[] = "Expect:"; curl_global_init(CURL_GLOBAL_ALL); /* Fill in the file upload field */ curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "sendfile", CURLFORM_FILE, "postit2.c", CURLFORM_END); /* Fill in the filename field */ curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "filename", CURLFORM_COPYCONTENTS, "postit2.c", CURLFORM_END); /* Fill in the submit field too, even if this is rarely needed */ curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "submit", CURLFORM_COPYCONTENTS, "send", CURLFORM_END); curl = curl_easy_init(); /* initialize custom header list (stating that Expect: 100-continue is not wanted */ headerlist = curl_slist_append(headerlist, buf); if(curl) { /* what URL that receives this POST */ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/examplepost.cgi"); if ( (argc == 2) && (!strcmp(argv[1], "noexpectheader")) ) /* only disable 100-continue header if explicitly requested */ curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist); curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost); /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); /* then cleanup the formpost chain */ curl_formfree(formpost); /* free slist */ curl_slist_free_all (headerlist); } return 0; } curl-7.47.0/docs/examples/smtp-multi.c0000644000175000017500000001575312633553325014546 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * SMTP example using the multi interface * */ #include #include /* This is an example showing how to send mail using libcurl's SMTP * capabilities. It builds on the smtp-mail.c example to demonstrate how to use * libcurl's multi interface. * * Note that this example requires libcurl 7.20.0 or above. */ #define FROM "" #define TO "" #define CC "" #define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000 static const char *payload_text[] = { "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n", "To: " TO "\r\n", "From: " FROM "(Example User)\r\n", "Cc: " CC "(Another example User)\r\n", "Message-ID: \r\n", "Subject: SMTP multi example message\r\n", "\r\n", /* empty line to divide headers from body, see RFC5322 */ "The body of the message starts here.\r\n", "\r\n", "It could be a lot of lines, could be MIME encoded, whatever.\r\n", "Check RFC5322.\r\n", NULL }; struct upload_status { int lines_read; }; static size_t payload_source(void *ptr, size_t size, size_t nmemb, void *userp) { struct upload_status *upload_ctx = (struct upload_status *)userp; const char *data; if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) { return 0; } data = payload_text[upload_ctx->lines_read]; if(data) { size_t len = strlen(data); memcpy(ptr, data, len); upload_ctx->lines_read++; return len; } return 0; } static struct timeval tvnow(void) { struct timeval now; /* time() returns the value of time in seconds since the epoch */ now.tv_sec = (long)time(NULL); now.tv_usec = 0; return now; } static long tvdiff(struct timeval newer, struct timeval older) { return (newer.tv_sec - older.tv_sec) * 1000 + (newer.tv_usec - older.tv_usec) / 1000; } int main(void) { CURL *curl; CURLM *mcurl; int still_running = 1; struct timeval mp_start; struct curl_slist *recipients = NULL; struct upload_status upload_ctx; upload_ctx.lines_read = 0; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(!curl) return 1; mcurl = curl_multi_init(); if(!mcurl) return 2; /* This is the URL for your mailserver */ curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.com"); /* Note that this option isn't strictly required, omitting it will result in * libcurl sending the MAIL FROM command with empty sender data. All * autoresponses should have an empty reverse-path, and should be directed * to the address in the reverse-path which triggered them. Otherwise, they * could cause an endless loop. See RFC 5321 Section 4.5.5 for more details. */ curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM); /* Add two recipients, in this particular case they correspond to the * To: and Cc: addressees in the header, but they could be any kind of * recipient. */ recipients = curl_slist_append(recipients, TO); recipients = curl_slist_append(recipients, CC); curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); /* We're using a callback function to specify the payload (the headers and * body of the message). You could just use the CURLOPT_READDATA option to * specify a FILE pointer to read from. */ curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source); curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx); curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); /* Tell the multi stack about our easy handle */ curl_multi_add_handle(mcurl, curl); /* Record the start time which we can use later */ mp_start = tvnow(); /* We start some action by calling perform right away */ curl_multi_perform(mcurl, &still_running); while(still_running) { struct timeval timeout; fd_set fdread; fd_set fdwrite; fd_set fdexcep; int maxfd = -1; int rc; CURLMcode mc; /* curl_multi_fdset() return code */ long curl_timeo = -1; /* Initialise the file descriptors */ FD_ZERO(&fdread); FD_ZERO(&fdwrite); FD_ZERO(&fdexcep); /* Set a suitable timeout to play around with */ timeout.tv_sec = 1; timeout.tv_usec = 0; curl_multi_timeout(mcurl, &curl_timeo); if(curl_timeo >= 0) { timeout.tv_sec = curl_timeo / 1000; if(timeout.tv_sec > 1) timeout.tv_sec = 1; else timeout.tv_usec = (curl_timeo % 1000) * 1000; } /* get file descriptors from the transfers */ mc = curl_multi_fdset(mcurl, &fdread, &fdwrite, &fdexcep, &maxfd); if(mc != CURLM_OK) { fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc); break; } /* On success the value of maxfd is guaranteed to be >= -1. We call select(maxfd + 1, ...); specially in case of (maxfd == -1) there are no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ if(maxfd == -1) { #ifdef _WIN32 Sleep(100); rc = 0; #else /* Portable sleep for platforms other than Windows. */ struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ rc = select(0, NULL, NULL, NULL, &wait); #endif } else { /* Note that on some platforms 'timeout' may be modified by select(). If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } if(tvdiff(tvnow(), mp_start) > MULTI_PERFORM_HANG_TIMEOUT) { fprintf(stderr, "ABORTING: Since it seems that we would have run forever.\n"); break; } switch(rc) { case -1: /* select error */ break; case 0: /* timeout */ default: /* action */ curl_multi_perform(mcurl, &still_running); break; } } /* Free the list of recipients */ curl_slist_free_all(recipients); /* Always cleanup */ curl_multi_remove_handle(mcurl, curl); curl_multi_cleanup(mcurl); curl_easy_cleanup(curl); curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/smtp-mail.c0000644000175000017500000001135312633553325014326 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * SMTP example showing how to send e-mails * */ #include #include #include /* This is a simple example showing how to send mail using libcurl's SMTP * capabilities. For an example of using the multi interface please see * smtp-multi.c. * * Note that this example requires libcurl 7.20.0 or above. */ #define FROM "" #define TO "" #define CC "" static const char *payload_text[] = { "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n", "To: " TO "\r\n", "From: " FROM "(Example User)\r\n", "Cc: " CC "(Another example User)\r\n", "Message-ID: \r\n", "Subject: SMTP example message\r\n", "\r\n", /* empty line to divide headers from body, see RFC5322 */ "The body of the message starts here.\r\n", "\r\n", "It could be a lot of lines, could be MIME encoded, whatever.\r\n", "Check RFC5322.\r\n", NULL }; struct upload_status { int lines_read; }; static size_t payload_source(void *ptr, size_t size, size_t nmemb, void *userp) { struct upload_status *upload_ctx = (struct upload_status *)userp; const char *data; if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) { return 0; } data = payload_text[upload_ctx->lines_read]; if(data) { size_t len = strlen(data); memcpy(ptr, data, len); upload_ctx->lines_read++; return len; } return 0; } int main(void) { CURL *curl; CURLcode res = CURLE_OK; struct curl_slist *recipients = NULL; struct upload_status upload_ctx; upload_ctx.lines_read = 0; curl = curl_easy_init(); if(curl) { /* This is the URL for your mailserver */ curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.com"); /* Note that this option isn't strictly required, omitting it will result in * libcurl sending the MAIL FROM command with empty sender data. All * autoresponses should have an empty reverse-path, and should be directed * to the address in the reverse-path which triggered them. Otherwise, they * could cause an endless loop. See RFC 5321 Section 4.5.5 for more details. */ curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM); /* Add two recipients, in this particular case they correspond to the * To: and Cc: addressees in the header, but they could be any kind of * recipient. */ recipients = curl_slist_append(recipients, TO); recipients = curl_slist_append(recipients, CC); curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); /* We're using a callback function to specify the payload (the headers and * body of the message). You could just use the CURLOPT_READDATA option to * specify a FILE pointer to read from. */ curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source); curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx); curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); /* Send the message */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Free the list of recipients */ curl_slist_free_all(recipients); /* curl won't send the QUIT command until you call cleanup, so you should be * able to re-use this connection for additional messages (setting * CURLOPT_MAIL_FROM and CURLOPT_MAIL_RCPT as required, and calling * curl_easy_perform() again. It may not be a good idea to keep the * connection open for a very long time though (more than a few minutes may * result in the server timing out the connection), and you do want to clean * up in the end. */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/curlgtk.c0000644000175000017500000000560112626067776014111 00000000000000/***************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (c) 2000 David Odin (aka DindinX) for MandrakeSoft */ /* * use the libcurl in a gtk-threaded application * */ #include #include #include GtkWidget *Bar; size_t my_write_func(void *ptr, size_t size, size_t nmemb, FILE *stream) { return fwrite(ptr, size, nmemb, stream); } size_t my_read_func(void *ptr, size_t size, size_t nmemb, FILE *stream) { return fread(ptr, size, nmemb, stream); } int my_progress_func(GtkWidget *bar, double t, /* dltotal */ double d, /* dlnow */ double ultotal, double ulnow) { /* printf("%d / %d (%g %%)\n", d, t, d*100.0/t);*/ gdk_threads_enter(); gtk_progress_set_value(GTK_PROGRESS(bar), d*100.0/t); gdk_threads_leave(); return 0; } void *my_thread(void *ptr) { CURL *curl; CURLcode res; FILE *outfile; gchar *url = ptr; curl = curl_easy_init(); if(curl) { outfile = fopen("test.curl", "w"); curl_easy_setopt(curl, CURLOPT_URL, url); curl_easy_setopt(curl, CURLOPT_WRITEDATA, outfile); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_write_func); curl_easy_setopt(curl, CURLOPT_READFUNCTION, my_read_func); curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L); curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, my_progress_func); curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, Bar); res = curl_easy_perform(curl); fclose(outfile); /* always cleanup */ curl_easy_cleanup(curl); } return NULL; } int main(int argc, char **argv) { GtkWidget *Window, *Frame, *Frame2; GtkAdjustment *adj; /* Must initialize libcurl before any threads are started */ curl_global_init(CURL_GLOBAL_ALL); /* Init thread */ g_thread_init(NULL); gtk_init(&argc, &argv); Window = gtk_window_new(GTK_WINDOW_TOPLEVEL); Frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(Frame), GTK_SHADOW_OUT); gtk_container_add(GTK_CONTAINER(Window), Frame); Frame2 = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(Frame2), GTK_SHADOW_IN); gtk_container_add(GTK_CONTAINER(Frame), Frame2); gtk_container_set_border_width(GTK_CONTAINER(Frame2), 5); adj = (GtkAdjustment*)gtk_adjustment_new(0, 0, 100, 0, 0, 0); Bar = gtk_progress_bar_new_with_adjustment(adj); gtk_container_add(GTK_CONTAINER(Frame2), Bar); gtk_widget_show_all(Window); if (!g_thread_create(&my_thread, argv[1], FALSE, NULL) != 0) g_warning("can't create the thread"); gdk_threads_enter(); gtk_main(); gdk_threads_leave(); return 0; } curl-7.47.0/docs/examples/xmlstream.c0000644000175000017500000001155712642501225014435 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Stream-parse a document using the streaming Expat parser. * */ /* Written by David Strauss * * Expat => http://www.libexpat.org/ * * gcc -Wall -I/usr/local/include xmlstream.c -lcurl -lexpat -o xmlstream * */ #include #include #include #include #include #include struct MemoryStruct { char *memory; size_t size; }; struct ParserStruct { int ok; size_t tags; size_t depth; struct MemoryStruct characters; }; static void startElement(void *userData, const XML_Char *name, const XML_Char **atts) { struct ParserStruct *state = (struct ParserStruct *) userData; state->tags++; state->depth++; /* Get a clean slate for reading in character data. */ free(state->characters.memory); state->characters.memory = NULL; state->characters.size = 0; } static void characterDataHandler(void *userData, const XML_Char *s, int len) { struct ParserStruct *state = (struct ParserStruct *) userData; struct MemoryStruct *mem = &state->characters; mem->memory = realloc(mem->memory, mem->size + len + 1); if(mem->memory == NULL) { /* Out of memory. */ fprintf(stderr, "Not enough memory (realloc returned NULL).\n"); state->ok = 0; return; } memcpy(&(mem->memory[mem->size]), s, len); mem->size += len; mem->memory[mem->size] = 0; } static void endElement(void *userData, const XML_Char *name) { struct ParserStruct *state = (struct ParserStruct *) userData; state->depth--; printf("%5lu %10lu %s\n", state->depth, state->characters.size, name); } static size_t parseStreamCallback(void *contents, size_t length, size_t nmemb, void *userp) { XML_Parser parser = (XML_Parser) userp; size_t real_size = length * nmemb; struct ParserStruct *state = (struct ParserStruct *) XML_GetUserData(parser); /* Only parse if we're not already in a failure state. */ if (state->ok && XML_Parse(parser, contents, real_size, 0) == 0) { int error_code = XML_GetErrorCode(parser); fprintf(stderr, "Parsing response buffer of length %lu failed with error code %d (%s).\n", real_size, error_code, XML_ErrorString(error_code)); state->ok = 0; } return real_size; } int main(void) { CURL *curl_handle; CURLcode res; XML_Parser parser; struct ParserStruct state; /* Initialize the state structure for parsing. */ memset(&state, 0, sizeof(struct ParserStruct)); state.ok = 1; /* Initialize a namespace-aware parser. */ parser = XML_ParserCreateNS(NULL, '\0'); XML_SetUserData(parser, &state); XML_SetElementHandler(parser, startElement, endElement); XML_SetCharacterDataHandler(parser, characterDataHandler); /* Initialize a libcurl handle. */ curl_global_init(CURL_GLOBAL_ALL ^ CURL_GLOBAL_SSL); curl_handle = curl_easy_init(); curl_easy_setopt(curl_handle, CURLOPT_URL, "http://www.w3schools.com/xml/simple.xml"); curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, parseStreamCallback); curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)parser); printf("Depth Characters Closing Tag\n"); /* Perform the request and any follow-up parsing. */ res = curl_easy_perform(curl_handle); if(res != CURLE_OK) { fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); } else if (state.ok) { /* Expat requires one final call to finalize parsing. */ if (XML_Parse(parser, NULL, 0, 1) == 0) { int error_code = XML_GetErrorCode(parser); fprintf(stderr, "Finalizing parsing failed with error code %d (%s).\n", error_code, XML_ErrorString(error_code)); } else { printf(" --------------\n"); printf(" %lu tags total\n", state.tags); } } /* Clean up. */ free(state.characters.memory); XML_ParserFree(parser); curl_easy_cleanup(curl_handle); curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/asiohiper.cpp0000644000175000017500000003106112626067776014760 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2012 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * demonstrate the use of multi socket interface with boost::asio * */ /* * This program is in c++ and uses boost::asio instead of libevent/libev. * Requires boost::asio, boost::bind and boost::system * * This is an adaptation of libcurl's "hiperfifo.c" and "evhiperfifo.c" * sample programs. This example implements a subset of the functionality from * hiperfifo.c, for full functionality refer hiperfifo.c or evhiperfifo.c * * Written by Lijo Antony based on hiperfifo.c by Jeff Pohlmeyer * * When running, the program creates an easy handle for a URL and * uses the curl_multi API to fetch it. * * Note: * For the sake of simplicity, URL is hard coded to "www.google.com" * * This is purely a demo app, all retrieved data is simply discarded by the write * callback. */ #include #include #include #define MSG_OUT stdout /* Send info to stdout, change to stderr if you want */ /* boost::asio related objects * using global variables for simplicity */ boost::asio::io_service io_service; boost::asio::deadline_timer timer(io_service); std::map socket_map; /* Global information, common to all connections */ typedef struct _GlobalInfo { CURLM *multi; int still_running; } GlobalInfo; /* Information associated with a specific easy handle */ typedef struct _ConnInfo { CURL *easy; char *url; GlobalInfo *global; char error[CURL_ERROR_SIZE]; } ConnInfo; static void timer_cb(const boost::system::error_code & error, GlobalInfo *g); /* Update the event timer after curl_multi library calls */ static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g) { fprintf(MSG_OUT, "\nmulti_timer_cb: timeout_ms %ld", timeout_ms); /* cancel running timer */ timer.cancel(); if(timeout_ms > 0) { /* update timer */ timer.expires_from_now(boost::posix_time::millisec(timeout_ms)); timer.async_wait(boost::bind(&timer_cb, _1, g)); } else { /* call timeout function immediately */ boost::system::error_code error; /*success*/ timer_cb(error, g); } return 0; } /* Die if we get a bad CURLMcode somewhere */ static void mcode_or_die(const char *where, CURLMcode code) { if(CURLM_OK != code) { const char *s; switch(code) { case CURLM_CALL_MULTI_PERFORM: s = "CURLM_CALL_MULTI_PERFORM"; break; case CURLM_BAD_HANDLE: s = "CURLM_BAD_HANDLE"; break; case CURLM_BAD_EASY_HANDLE: s = "CURLM_BAD_EASY_HANDLE"; break; case CURLM_OUT_OF_MEMORY: s = "CURLM_OUT_OF_MEMORY"; break; case CURLM_INTERNAL_ERROR: s = "CURLM_INTERNAL_ERROR"; break; case CURLM_UNKNOWN_OPTION: s = "CURLM_UNKNOWN_OPTION"; break; case CURLM_LAST: s = "CURLM_LAST"; break; default: s = "CURLM_unknown"; break; case CURLM_BAD_SOCKET: s = "CURLM_BAD_SOCKET"; fprintf(MSG_OUT, "\nERROR: %s returns %s", where, s); /* ignore this error */ return; } fprintf(MSG_OUT, "\nERROR: %s returns %s", where, s); exit(code); } } /* Check for completed transfers, and remove their easy handles */ static void check_multi_info(GlobalInfo *g) { char *eff_url; CURLMsg *msg; int msgs_left; ConnInfo *conn; CURL *easy; CURLcode res; fprintf(MSG_OUT, "\nREMAINING: %d", g->still_running); while((msg = curl_multi_info_read(g->multi, &msgs_left))) { if(msg->msg == CURLMSG_DONE) { easy = msg->easy_handle; res = msg->data.result; curl_easy_getinfo(easy, CURLINFO_PRIVATE, &conn); curl_easy_getinfo(easy, CURLINFO_EFFECTIVE_URL, &eff_url); fprintf(MSG_OUT, "\nDONE: %s => (%d) %s", eff_url, res, conn->error); curl_multi_remove_handle(g->multi, easy); free(conn->url); curl_easy_cleanup(easy); free(conn); } } } /* Called by asio when there is an action on a socket */ static void event_cb(GlobalInfo *g, boost::asio::ip::tcp::socket *tcp_socket, int action) { fprintf(MSG_OUT, "\nevent_cb: action=%d", action); CURLMcode rc; rc = curl_multi_socket_action(g->multi, tcp_socket->native_handle(), action, &g->still_running); mcode_or_die("event_cb: curl_multi_socket_action", rc); check_multi_info(g); if(g->still_running <= 0) { fprintf(MSG_OUT, "\nlast transfer done, kill timeout"); timer.cancel(); } } /* Called by asio when our timeout expires */ static void timer_cb(const boost::system::error_code & error, GlobalInfo *g) { if(!error) { fprintf(MSG_OUT, "\ntimer_cb: "); CURLMcode rc; rc = curl_multi_socket_action(g->multi, CURL_SOCKET_TIMEOUT, 0, &g->still_running); mcode_or_die("timer_cb: curl_multi_socket_action", rc); check_multi_info(g); } } /* Clean up any data */ static void remsock(int *f, GlobalInfo *g) { fprintf(MSG_OUT, "\nremsock: "); if(f) { free(f); } } static void setsock(int *fdp, curl_socket_t s, CURL*e, int act, GlobalInfo*g) { fprintf(MSG_OUT, "\nsetsock: socket=%d, act=%d, fdp=%p", s, act, fdp); std::map::iterator it = socket_map.find(s); if(it == socket_map.end()) { fprintf(MSG_OUT, "\nsocket %d is a c-ares socket, ignoring", s); return; } boost::asio::ip::tcp::socket * tcp_socket = it->second; *fdp = act; if(act == CURL_POLL_IN) { fprintf(MSG_OUT, "\nwatching for socket to become readable"); tcp_socket->async_read_some(boost::asio::null_buffers(), boost::bind(&event_cb, g, tcp_socket, act)); } else if (act == CURL_POLL_OUT) { fprintf(MSG_OUT, "\nwatching for socket to become writable"); tcp_socket->async_write_some(boost::asio::null_buffers(), boost::bind(&event_cb, g, tcp_socket, act)); } else if(act == CURL_POLL_INOUT) { fprintf(MSG_OUT, "\nwatching for socket to become readable & writable"); tcp_socket->async_read_some(boost::asio::null_buffers(), boost::bind(&event_cb, g, tcp_socket, act)); tcp_socket->async_write_some(boost::asio::null_buffers(), boost::bind(&event_cb, g, tcp_socket, act)); } } static void addsock(curl_socket_t s, CURL *easy, int action, GlobalInfo *g) { /* fdp is used to store current action */ int *fdp = (int *) calloc(sizeof(int), 1); setsock(fdp, s, easy, action, g); curl_multi_assign(g->multi, s, fdp); } /* CURLMOPT_SOCKETFUNCTION */ static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp) { fprintf(MSG_OUT, "\nsock_cb: socket=%d, what=%d, sockp=%p", s, what, sockp); GlobalInfo *g = (GlobalInfo*) cbp; int *actionp = (int *) sockp; const char *whatstr[] = { "none", "IN", "OUT", "INOUT", "REMOVE"}; fprintf(MSG_OUT, "\nsocket callback: s=%d e=%p what=%s ", s, e, whatstr[what]); if(what == CURL_POLL_REMOVE) { fprintf(MSG_OUT, "\n"); remsock(actionp, g); } else { if(!actionp) { fprintf(MSG_OUT, "\nAdding data: %s", whatstr[what]); addsock(s, e, what, g); } else { fprintf(MSG_OUT, "\nChanging action from %s to %s", whatstr[*actionp], whatstr[what]); setsock(actionp, s, e, what, g); } } return 0; } /* CURLOPT_WRITEFUNCTION */ static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data) { size_t written = size * nmemb; char* pBuffer = (char *) malloc(written + 1); strncpy(pBuffer, (const char *)ptr, written); pBuffer[written] = '\0'; fprintf(MSG_OUT, "%s", pBuffer); free(pBuffer); return written; } /* CURLOPT_PROGRESSFUNCTION */ static int prog_cb(void *p, double dltotal, double dlnow, double ult, double uln) { ConnInfo *conn = (ConnInfo *)p; (void)ult; (void)uln; fprintf(MSG_OUT, "\nProgress: %s (%g/%g)", conn->url, dlnow, dltotal); fprintf(MSG_OUT, "\nProgress: %s (%g)", conn->url, ult); return 0; } /* CURLOPT_OPENSOCKETFUNCTION */ static curl_socket_t opensocket(void *clientp, curlsocktype purpose, struct curl_sockaddr *address) { fprintf(MSG_OUT, "\nopensocket :"); curl_socket_t sockfd = CURL_SOCKET_BAD; /* restrict to IPv4 */ if(purpose == CURLSOCKTYPE_IPCXN && address->family == AF_INET) { /* create a tcp socket object */ boost::asio::ip::tcp::socket *tcp_socket = new boost::asio::ip::tcp::socket(io_service); /* open it and get the native handle*/ boost::system::error_code ec; tcp_socket->open(boost::asio::ip::tcp::v4(), ec); if(ec) { /* An error occurred */ std::cout << std::endl << "Couldn't open socket [" << ec << "][" << ec.message() << "]"; fprintf(MSG_OUT, "\nERROR: Returning CURL_SOCKET_BAD to signal error"); } else { sockfd = tcp_socket->native_handle(); fprintf(MSG_OUT, "\nOpened socket %d", sockfd); /* save it for monitoring */ socket_map.insert(std::pair(sockfd, tcp_socket)); } } return sockfd; } /* CURLOPT_CLOSESOCKETFUNCTION */ static int closesocket(void *clientp, curl_socket_t item) { fprintf(MSG_OUT, "\nclosesocket : %d", item); std::map::iterator it = socket_map.find(item); if(it != socket_map.end()) { delete it->second; socket_map.erase(it); } return 0; } /* Create a new easy handle, and add it to the global curl_multi */ static void new_conn(char *url, GlobalInfo *g) { ConnInfo *conn; CURLMcode rc; conn = (ConnInfo *) calloc(1, sizeof(ConnInfo)); conn->easy = curl_easy_init(); if(!conn->easy) { fprintf(MSG_OUT, "\ncurl_easy_init() failed, exiting!"); exit(2); } conn->global = g; conn->url = strdup(url); curl_easy_setopt(conn->easy, CURLOPT_URL, conn->url); curl_easy_setopt(conn->easy, CURLOPT_WRITEFUNCTION, write_cb); curl_easy_setopt(conn->easy, CURLOPT_WRITEDATA, &conn); curl_easy_setopt(conn->easy, CURLOPT_VERBOSE, 1L); curl_easy_setopt(conn->easy, CURLOPT_ERRORBUFFER, conn->error); curl_easy_setopt(conn->easy, CURLOPT_PRIVATE, conn); curl_easy_setopt(conn->easy, CURLOPT_NOPROGRESS, 1L); curl_easy_setopt(conn->easy, CURLOPT_PROGRESSFUNCTION, prog_cb); curl_easy_setopt(conn->easy, CURLOPT_PROGRESSDATA, conn); curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_TIME, 3L); curl_easy_setopt(conn->easy, CURLOPT_LOW_SPEED_LIMIT, 10L); /* call this function to get a socket */ curl_easy_setopt(conn->easy, CURLOPT_OPENSOCKETFUNCTION, opensocket); /* call this function to close a socket */ curl_easy_setopt(conn->easy, CURLOPT_CLOSESOCKETFUNCTION, closesocket); fprintf(MSG_OUT, "\nAdding easy %p to multi %p (%s)", conn->easy, g->multi, url); rc = curl_multi_add_handle(g->multi, conn->easy); mcode_or_die("new_conn: curl_multi_add_handle", rc); /* note that the add_handle() will set a time-out to trigger very soon so that the necessary socket_action() call will be called by this app */ } int main(int argc, char **argv) { GlobalInfo g; CURLMcode rc; (void)argc; (void)argv; memset(&g, 0, sizeof(GlobalInfo)); g.multi = curl_multi_init(); curl_multi_setopt(g.multi, CURLMOPT_SOCKETFUNCTION, sock_cb); curl_multi_setopt(g.multi, CURLMOPT_SOCKETDATA, &g); curl_multi_setopt(g.multi, CURLMOPT_TIMERFUNCTION, multi_timer_cb); curl_multi_setopt(g.multi, CURLMOPT_TIMERDATA, &g); new_conn((char *)"www.google.com", &g); /* add a URL */ /* enter io_service run loop */ io_service.run(); curl_multi_cleanup(g.multi); fprintf(MSG_OUT, "\ndone.\n"); return 0; } curl-7.47.0/docs/examples/curlx.c0000644000175000017500000003741412626067776013602 00000000000000/* curlx.c Authors: Peter Sylvester, Jean-Paul Merlin This is a little program to demonstrate the usage of - an ssl initialisation callback setting a user key and trustbases coming from a pkcs12 file - using an ssl application callback to find a URI in the certificate presented during ssl session establishment. */ /* * demonstrates use of SSL context callback, requires OpenSSL * */ /* * Copyright (c) 2003 The OpenEvidence Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions, the following disclaimer, * and the original OpenSSL and SSLeay Licences below. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions, the following disclaimer * and the original OpenSSL and SSLeay Licences below in * the documentation and/or other materials provided with the * distribution. * * 3. All advertising materials mentioning features or use of this * software must display the following acknowledgments: * "This product includes software developed by the Openevidence Project * for use in the OpenEvidence Toolkit. (http://www.openevidence.org/)" * This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com)." * * 4. The names "OpenEvidence Toolkit" and "OpenEvidence Project" must not be * used to endorse or promote products derived from this software without * prior written permission. For written permission, please contact * openevidence-core@openevidence.org. * * 5. Products derived from this software may not be called "OpenEvidence" * nor may "OpenEvidence" appear in their names without prior written * permission of the OpenEvidence Project. * * 6. Redistributions of any form whatsoever must retain the following * acknowledgments: * "This product includes software developed by the OpenEvidence Project * for use in the OpenEvidence Toolkit (http://www.openevidence.org/) * This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/)" * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com)." * * THIS SOFTWARE IS PROVIDED BY THE OpenEvidence PROJECT ``AS IS'' AND ANY * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenEvidence PROJECT OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. * ==================================================================== * * This product includes software developed by the OpenSSL Project * for use in the OpenSSL Toolkit (http://www.openssl.org/) * This product includes cryptographic software written by Eric Young * (eay@cryptsoft.com). This product includes software written by Tim * Hudson (tjh@cryptsoft.com). * */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static const char *curlx_usage[]={ "usage: curlx args\n", " -p12 arg - tia file ", " -envpass arg - environement variable which content the tia private key password", " -out arg - output file (response)- default stdout", " -in arg - input file (request)- default stdin", " -connect arg - URL of the server for the connection ex: www.openevidence.org", " -mimetype arg - MIME type for data in ex : application/timestamp-query or application/dvcs -default application/timestamp-query", " -acceptmime arg - MIME type acceptable for the response ex : application/timestamp-response or application/dvcs -default none", " -accesstype arg - an Object identifier in an AIA/SIA method, e.g. AD_DVCS or ad_timestamping", NULL }; /* ./curlx -p12 psy.p12 -envpass XX -in request -verbose -accesstype AD_DVCS -mimetype application/dvcs -acceptmime application/dvcs -out response */ /* * We use this ZERO_NULL to avoid picky compiler warnings, * when assigning a NULL pointer to a function pointer var. */ #define ZERO_NULL 0 /* This is a context that we pass to all callbacks */ typedef struct sslctxparm_st { unsigned char * p12file ; const char * pst ; PKCS12 * p12 ; EVP_PKEY * pkey ; X509 * usercert ; STACK_OF(X509) * ca ; CURL * curl; BIO * errorbio; int accesstype ; int verbose; } sslctxparm; /* some helper function. */ static char *i2s_ASN1_IA5STRING( ASN1_IA5STRING *ia5) { char *tmp; if(!ia5 || !ia5->length) return NULL; tmp = OPENSSL_malloc(ia5->length + 1); memcpy(tmp, ia5->data, ia5->length); tmp[ia5->length] = 0; return tmp; } /* A conveniance routine to get an access URI. */ static unsigned char *my_get_ext(X509 * cert, const int type, int extensiontype) { int i; STACK_OF(ACCESS_DESCRIPTION) * accessinfo ; accessinfo = X509_get_ext_d2i(cert, extensiontype, NULL, NULL) ; if (!sk_ACCESS_DESCRIPTION_num(accessinfo)) return NULL; for (i = 0; i < sk_ACCESS_DESCRIPTION_num(accessinfo); i++) { ACCESS_DESCRIPTION * ad = sk_ACCESS_DESCRIPTION_value(accessinfo, i); if (OBJ_obj2nid(ad->method) == type) { if (ad->location->type == GEN_URI) { return i2s_ASN1_IA5STRING(ad->location->d.ia5); } return NULL; } } return NULL; } /* This is an application verification call back, it does not perform any addition verification but tries to find a URL in the presented certificat. If found, this will become the URL to be used in the POST. */ static int ssl_app_verify_callback(X509_STORE_CTX *ctx, void *arg) { sslctxparm * p = (sslctxparm *) arg; int ok; if (p->verbose > 2) BIO_printf(p->errorbio,"entering ssl_app_verify_callback\n"); if ((ok= X509_verify_cert(ctx)) && ctx->cert) { unsigned char * accessinfo ; if (p->verbose > 1) X509_print_ex(p->errorbio,ctx->cert,0,0); if (accessinfo = my_get_ext(ctx->cert,p->accesstype ,NID_sinfo_access)) { if (p->verbose) BIO_printf(p->errorbio,"Setting URL from SIA to: %s\n", accessinfo); curl_easy_setopt(p->curl, CURLOPT_URL,accessinfo); } else if (accessinfo = my_get_ext(ctx->cert,p->accesstype, NID_info_access)) { if (p->verbose) BIO_printf(p->errorbio,"Setting URL from AIA to: %s\n", accessinfo); curl_easy_setopt(p->curl, CURLOPT_URL,accessinfo); } } if (p->verbose > 2) BIO_printf(p->errorbio,"leaving ssl_app_verify_callback with %d\n", ok); return(ok); } /* This is an example of an curl SSL initialisation call back. The callback sets: - a private key and certificate - a trusted ca certificate - a preferred cipherlist - an application verification callback (the function above) */ static CURLcode sslctxfun(CURL * curl, void * sslctx, void * parm) { sslctxparm * p = (sslctxparm *) parm; SSL_CTX * ctx = (SSL_CTX *) sslctx ; if (!SSL_CTX_use_certificate(ctx,p->usercert)) { BIO_printf(p->errorbio, "SSL_CTX_use_certificate problem\n"); goto err; } if (!SSL_CTX_use_PrivateKey(ctx,p->pkey)) { BIO_printf(p->errorbio, "SSL_CTX_use_PrivateKey\n"); goto err; } if (!SSL_CTX_check_private_key(ctx)) { BIO_printf(p->errorbio, "SSL_CTX_check_private_key\n"); goto err; } SSL_CTX_set_quiet_shutdown(ctx,1); SSL_CTX_set_cipher_list(ctx,"RC4-MD5"); SSL_CTX_set_mode(ctx, SSL_MODE_AUTO_RETRY); X509_STORE_add_cert(SSL_CTX_get_cert_store(ctx), sk_X509_value(p->ca, sk_X509_num(p->ca)-1)); SSL_CTX_set_verify_depth(ctx,2); SSL_CTX_set_verify(ctx,SSL_VERIFY_PEER,ZERO_NULL); SSL_CTX_set_cert_verify_callback(ctx, ssl_app_verify_callback, parm); return CURLE_OK ; err: ERR_print_errors(p->errorbio); return CURLE_SSL_CERTPROBLEM; } int main(int argc, char **argv) { BIO* in=NULL; BIO* out=NULL; char * outfile = NULL; char * infile = NULL ; int tabLength=100; char *binaryptr; char* mimetype; char* mimetypeaccept=NULL; char* contenttype; const char** pp; unsigned char* hostporturl = NULL; BIO * p12bio ; char **args = argv + 1; unsigned char * serverurl; sslctxparm p; char *response; CURLcode res; struct curl_slist * headers=NULL; int badarg=0; binaryptr = malloc(tabLength); p.verbose = 0; p.errorbio = BIO_new_fp (stderr, BIO_NOCLOSE); curl_global_init(CURL_GLOBAL_DEFAULT); /* we need some more for the P12 decoding */ OpenSSL_add_all_ciphers(); OpenSSL_add_all_digests(); ERR_load_crypto_strings(); while (*args && *args[0] == '-') { if (!strcmp (*args, "-in")) { if (args[1]) { infile=*(++args); } else badarg=1; } else if (!strcmp (*args, "-out")) { if (args[1]) { outfile=*(++args); } else badarg=1; } else if (!strcmp (*args, "-p12")) { if (args[1]) { p.p12file = *(++args); } else badarg=1; } else if (strcmp(*args,"-envpass") == 0) { if (args[1]) { p.pst = getenv(*(++args)); } else badarg=1; } else if (strcmp(*args,"-connect") == 0) { if (args[1]) { hostporturl = *(++args); } else badarg=1; } else if (strcmp(*args,"-mimetype") == 0) { if (args[1]) { mimetype = *(++args); } else badarg=1; } else if (strcmp(*args,"-acceptmime") == 0) { if (args[1]) { mimetypeaccept = *(++args); } else badarg=1; } else if (strcmp(*args,"-accesstype") == 0) { if (args[1]) { if ((p.accesstype = OBJ_obj2nid(OBJ_txt2obj(*++args,0))) == 0) badarg=1; } else badarg=1; } else if (strcmp(*args,"-verbose") == 0) { p.verbose++; } else badarg=1; args++; } if (mimetype==NULL || mimetypeaccept == NULL) badarg = 1; if (badarg) { for (pp=curlx_usage; (*pp != NULL); pp++) BIO_printf(p.errorbio,"%s\n",*pp); BIO_printf(p.errorbio,"\n"); goto err; } /* set input */ if ((in=BIO_new(BIO_s_file())) == NULL) { BIO_printf(p.errorbio, "Error setting input bio\n"); goto err; } else if (infile == NULL) BIO_set_fp(in,stdin,BIO_NOCLOSE|BIO_FP_TEXT); else if (BIO_read_filename(in,infile) <= 0) { BIO_printf(p.errorbio, "Error opening input file %s\n", infile); BIO_free(in); goto err; } /* set output */ if ((out=BIO_new(BIO_s_file())) == NULL) { BIO_printf(p.errorbio, "Error setting output bio.\n"); goto err; } else if (outfile == NULL) BIO_set_fp(out,stdout,BIO_NOCLOSE|BIO_FP_TEXT); else if (BIO_write_filename(out,outfile) <= 0) { BIO_printf(p.errorbio, "Error opening output file %s\n", outfile); BIO_free(out); goto err; } p.errorbio = BIO_new_fp (stderr, BIO_NOCLOSE); if (!(p.curl = curl_easy_init())) { BIO_printf(p.errorbio, "Cannot init curl lib\n"); goto err; } if (!(p12bio = BIO_new_file(p.p12file , "rb"))) { BIO_printf(p.errorbio, "Error opening P12 file %s\n", p.p12file); goto err; } if (!(p.p12 = d2i_PKCS12_bio (p12bio, NULL))) { BIO_printf(p.errorbio, "Cannot decode P12 structure %s\n", p.p12file); goto err; } p.ca= NULL; if (!(PKCS12_parse (p.p12, p.pst, &(p.pkey), &(p.usercert), &(p.ca) ) )) { BIO_printf(p.errorbio,"Invalid P12 structure in %s\n", p.p12file); goto err; } if (sk_X509_num(p.ca) <= 0) { BIO_printf(p.errorbio,"No trustworthy CA given.%s\n", p.p12file); goto err; } if (p.verbose > 1) X509_print_ex(p.errorbio,p.usercert,0,0); /* determine URL to go */ if (hostporturl) { serverurl = malloc(9+strlen(hostporturl)); sprintf(serverurl,"https://%s",hostporturl); } else if (p.accesstype != 0) { /* see whether we can find an AIA or SIA for a given access type */ if (!(serverurl = my_get_ext(p.usercert,p.accesstype,NID_info_access))) { int j=0; BIO_printf(p.errorbio,"no service URL in user cert " "cherching in others certificats\n"); for (j=0;j\n", serverurl); curl_easy_setopt(p.curl, CURLOPT_URL, serverurl); /* Now specify the POST binary data */ curl_easy_setopt(p.curl, CURLOPT_POSTFIELDS, binaryptr); curl_easy_setopt(p.curl, CURLOPT_POSTFIELDSIZE,(long)tabLength); /* pass our list of custom made headers */ contenttype = malloc(15+strlen(mimetype)); sprintf(contenttype,"Content-type: %s",mimetype); headers = curl_slist_append(headers,contenttype); curl_easy_setopt(p.curl, CURLOPT_HTTPHEADER, headers); if (p.verbose) BIO_printf(p.errorbio, "Service URL: <%s>\n", serverurl); { FILE *outfp; BIO_get_fp(out,&outfp); curl_easy_setopt(p.curl, CURLOPT_WRITEDATA, outfp); } res = curl_easy_setopt(p.curl, CURLOPT_SSL_CTX_FUNCTION, sslctxfun) ; if (res != CURLE_OK) BIO_printf(p.errorbio,"%d %s=%d %d\n", __LINE__, "CURLOPT_SSL_CTX_FUNCTION",CURLOPT_SSL_CTX_FUNCTION,res); curl_easy_setopt(p.curl, CURLOPT_SSL_CTX_DATA, &p); { int lu; int i=0; while ((lu = BIO_read (in,&binaryptr[i],tabLength-i)) >0 ) { i+=lu; if (i== tabLength) { tabLength+=100; binaryptr=realloc(binaryptr,tabLength); /* should be more careful */ } } tabLength = i; } /* Now specify the POST binary data */ curl_easy_setopt(p.curl, CURLOPT_POSTFIELDS, binaryptr); curl_easy_setopt(p.curl, CURLOPT_POSTFIELDSIZE,(long)tabLength); /* Perform the request, res will get the return code */ BIO_printf(p.errorbio,"%d %s %d\n", __LINE__, "curl_easy_perform", res = curl_easy_perform(p.curl)); { int result =curl_easy_getinfo(p.curl,CURLINFO_CONTENT_TYPE,&response); if( mimetypeaccept && p.verbose) if(!strcmp(mimetypeaccept,response)) BIO_printf(p.errorbio,"the response has a correct mimetype : %s\n", response); else BIO_printf(p.errorbio,"the response doesn\'t have an acceptable " "mime type, it is %s instead of %s\n", response,mimetypeaccept); } /*** code d'erreur si accept mime ***, egalement code return HTTP != 200 ***/ /* free the header list*/ curl_slist_free_all(headers); /* always cleanup */ curl_easy_cleanup(p.curl); BIO_free(in); BIO_free(out); return (EXIT_SUCCESS); err: BIO_printf(p.errorbio,"error"); exit(1); } curl-7.47.0/docs/examples/pop3-top.c0000644000175000017500000000413412633553325014103 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * POP3 example showing how to retreive only the headers of an e-mail * */ #include #include /* This is a simple example showing how to retrieve only the headers of a mail * using libcurl's POP3 capabilities. * * Note that this example requires libcurl 7.26.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is just the server URL */ curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com"); /* Set the TOP command for message 1 to only include the headers */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "TOP 1 0"); /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/smtp-ssl.c0000644000175000017500000001331612633553325014206 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * SMTP example using SSL * */ #include #include #include /* This is a simple example showing how to send mail using libcurl's SMTP * capabilities. It builds on the smtp-mail.c example to add authentication * and, more importantly, transport security to protect the authentication * details from being snooped. * * Note that this example requires libcurl 7.20.0 or above. */ #define FROM "" #define TO "" #define CC "" static const char *payload_text[] = { "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n", "To: " TO "\r\n", "From: " FROM "(Example User)\r\n", "Cc: " CC "(Another example User)\r\n", "Message-ID: \r\n", "Subject: SMTP SSL example message\r\n", "\r\n", /* empty line to divide headers from body, see RFC5322 */ "The body of the message starts here.\r\n", "\r\n", "It could be a lot of lines, could be MIME encoded, whatever.\r\n", "Check RFC5322.\r\n", NULL }; struct upload_status { int lines_read; }; static size_t payload_source(void *ptr, size_t size, size_t nmemb, void *userp) { struct upload_status *upload_ctx = (struct upload_status *)userp; const char *data; if((size == 0) || (nmemb == 0) || ((size*nmemb) < 1)) { return 0; } data = payload_text[upload_ctx->lines_read]; if(data) { size_t len = strlen(data); memcpy(ptr, data, len); upload_ctx->lines_read++; return len; } return 0; } int main(void) { CURL *curl; CURLcode res = CURLE_OK; struct curl_slist *recipients = NULL; struct upload_status upload_ctx; upload_ctx.lines_read = 0; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is the URL for your mailserver. Note the use of smtps:// rather * than smtp:// to request a SSL based connection. */ curl_easy_setopt(curl, CURLOPT_URL, "smtps://mainserver.example.net"); /* If you want to connect to a site who isn't using a certificate that is * signed by one of the certs in the CA bundle you have, you can skip the * verification of the server's certificate. This makes the connection * A LOT LESS SECURE. * * If you have a CA cert for the server stored someplace else than in the * default bundle, then the CURLOPT_CAPATH option might come handy for * you. */ #ifdef SKIP_PEER_VERIFICATION curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); #endif /* If the site you're connecting to uses a different host name that what * they have mentioned in their server certificate's commonName (or * subjectAltName) fields, libcurl will refuse to connect. You can skip * this check, but this will make the connection less secure. */ #ifdef SKIP_HOSTNAME_VERIFICATION curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); #endif /* Note that this option isn't strictly required, omitting it will result in * libcurl sending the MAIL FROM command with empty sender data. All * autoresponses should have an empty reverse-path, and should be directed * to the address in the reverse-path which triggered them. Otherwise, they * could cause an endless loop. See RFC 5321 Section 4.5.5 for more details. */ curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM); /* Add two recipients, in this particular case they correspond to the * To: and Cc: addressees in the header, but they could be any kind of * recipient. */ recipients = curl_slist_append(recipients, TO); recipients = curl_slist_append(recipients, CC); curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); /* We're using a callback function to specify the payload (the headers and * body of the message). You could just use the CURLOPT_READDATA option to * specify a FILE pointer to read from. */ curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source); curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx); curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L); /* Since the traffic will be encrypted, it is very useful to turn on debug * information within libcurl to see what is happening during the * transfer */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* Send the message */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Free the list of recipients */ curl_slist_free_all(recipients); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/Makefile.m320000644000175000017500000001707312626067776014340 00000000000000#*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at http://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. # ########################################################################### # ## Makefile for building curl examples with MingW (GCC-3.2 or later) ## and optionally OpenSSL (1.0.2a), libssh2 (1.5), zlib (1.2.8), librtmp (2.4) ## ## Usage: mingw32-make -f Makefile.m32 CFG=-feature1[-feature2][-feature3][...] ## Example: mingw32-make -f Makefile.m32 CFG=-zlib-ssl-spi-winidn ## ## Hint: you can also set environment vars to control the build, f.e.: ## set ZLIB_PATH=c:/zlib-1.2.8 ## set ZLIB=1 # ########################################################################### # Edit the path below to point to the base of your Zlib sources. ifndef ZLIB_PATH ZLIB_PATH = ../../../zlib-1.2.8 endif # Edit the path below to point to the base of your OpenSSL package. ifndef OPENSSL_PATH OPENSSL_PATH = ../../../openssl-1.0.2a endif # Edit the path below to point to the base of your LibSSH2 package. ifndef LIBSSH2_PATH LIBSSH2_PATH = ../../../libssh2-1.5.0 endif # Edit the path below to point to the base of your librtmp package. ifndef LIBRTMP_PATH LIBRTMP_PATH = ../../../librtmp-2.4 endif # Edit the path below to point to the base of your libidn package. ifndef LIBIDN_PATH LIBIDN_PATH = ../../../libidn-1.32 endif # Edit the path below to point to the base of your MS IDN package. # Microsoft Internationalized Domain Names (IDN) Mitigation APIs 1.1 # https://www.microsoft.com/en-us/download/details.aspx?id=734 ifndef WINIDN_PATH WINIDN_PATH = ../../../Microsoft IDN Mitigation APIs endif # Edit the path below to point to the base of your Novell LDAP NDK. ifndef LDAP_SDK LDAP_SDK = c:/novell/ndk/cldapsdk/win32 endif # Edit the path below to point to the base of your nghttp2 package. ifndef NGHTTP2_PATH NGHTTP2_PATH = ../../../nghttp2-1.0.0 endif PROOT = ../.. # Edit the path below to point to the base of your c-ares package. ifndef LIBCARES_PATH LIBCARES_PATH = $(PROOT)/ares endif # Edit the var below to set to your architecture or set environment var. ifndef ARCH ifeq ($(findstring x86_64,$(shell $(CC) -dumpmachine)),x86_64) ARCH = w64 else ARCH = w32 endif endif CC = $(CROSSPREFIX)gcc CFLAGS = -g -O2 -Wall CFLAGS += -fno-strict-aliasing ifeq ($(ARCH),w64) CFLAGS += -m64 -D_AMD64_ LDFLAGS += -m64 RCFLAGS += -F pe-x86-64 else CFLAGS += -m32 LDFLAGS += -m32 RCFLAGS += -F pe-i386 endif # comment LDFLAGS below to keep debug info LDFLAGS = -s RC = $(CROSSPREFIX)windres RCFLAGS = --include-dir=$(PROOT)/include -O COFF -i # Platform-dependent helper tool macros ifeq ($(findstring /sh,$(SHELL)),/sh) DEL = rm -f $1 RMDIR = rm -fr $1 MKDIR = mkdir -p $1 COPY = -cp -afv $1 $2 #COPYR = -cp -afr $1/* $2 COPYR = -rsync -aC $1/* $2 TOUCH = touch $1 CAT = cat ECHONL = echo "" DL = ' else ifeq "$(OS)" "Windows_NT" DEL = -del 2>NUL /q /f $(subst /,\,$1) RMDIR = -rd 2>NUL /q /s $(subst /,\,$1) else DEL = -del 2>NUL $(subst /,\,$1) RMDIR = -deltree 2>NUL /y $(subst /,\,$1) endif MKDIR = -md 2>NUL $(subst /,\,$1) COPY = -copy 2>NUL /y $(subst /,\,$1) $(subst /,\,$2) COPYR = -xcopy 2>NUL /q /y /e $(subst /,\,$1) $(subst /,\,$2) TOUCH = copy 2>&1>NUL /b $(subst /,\,$1) +,, CAT = type ECHONL = $(ComSpec) /c echo. endif ######################################################## ## Nothing more to do below this line! ifeq ($(findstring -dyn,$(CFG)),-dyn) DYN = 1 endif ifeq ($(findstring -ares,$(CFG)),-ares) ARES = 1 endif ifeq ($(findstring -rtmp,$(CFG)),-rtmp) RTMP = 1 SSL = 1 ZLIB = 1 endif ifeq ($(findstring -ssh2,$(CFG)),-ssh2) SSH2 = 1 SSL = 1 ZLIB = 1 endif ifeq ($(findstring -ssl,$(CFG)),-ssl) SSL = 1 endif ifeq ($(findstring -zlib,$(CFG)),-zlib) ZLIB = 1 endif ifeq ($(findstring -idn,$(CFG)),-idn) IDN = 1 endif ifeq ($(findstring -winidn,$(CFG)),-winidn) WINIDN = 1 endif ifeq ($(findstring -sspi,$(CFG)),-sspi) SSPI = 1 endif ifeq ($(findstring -ldaps,$(CFG)),-ldaps) LDAPS = 1 endif ifeq ($(findstring -ipv6,$(CFG)),-ipv6) IPV6 = 1 endif ifeq ($(findstring -metalink,$(CFG)),-metalink) METALINK = 1 endif ifeq ($(findstring -winssl,$(CFG)),-winssl) WINSSL = 1 SSPI = 1 endif ifeq ($(findstring -nghttp2,$(CFG)),-nghttp2) NGHTTP2 = 1 endif INCLUDES = -I. -I$(PROOT) -I$(PROOT)/include -I$(PROOT)/lib ifdef DYN curl_DEPENDENCIES = $(PROOT)/lib/libcurldll.a $(PROOT)/lib/libcurl.dll curl_LDADD = -L$(PROOT)/lib -lcurldll else curl_DEPENDENCIES = $(PROOT)/lib/libcurl.a curl_LDADD = -L$(PROOT)/lib -lcurl CFLAGS += -DCURL_STATICLIB LDFLAGS += -static endif ifdef ARES ifndef DYN curl_DEPENDENCIES += $(LIBCARES_PATH)/libcares.a endif CFLAGS += -DUSE_ARES curl_LDADD += -L"$(LIBCARES_PATH)" -lcares endif ifdef RTMP CFLAGS += -DUSE_LIBRTMP curl_LDADD += -L"$(LIBRTMP_PATH)/librtmp" -lrtmp -lwinmm endif ifdef NGHTTP2 CFLAGS += -DUSE_NGHTTP2 curl_LDADD += -L"$(NGHTTP2_PATH)/lib" -lnghttp2 endif ifdef SSH2 CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H curl_LDADD += -L"$(LIBSSH2_PATH)/win32" -lssh2 endif ifdef SSL ifndef OPENSSL_LIBPATH OPENSSL_LIBS = -lssl -lcrypto ifeq "$(wildcard $(OPENSSL_PATH)/out)" "$(OPENSSL_PATH)/out" OPENSSL_LIBPATH = $(OPENSSL_PATH)/out ifdef DYN OPENSSL_LIBS = -lssl32 -leay32 endif endif ifeq "$(wildcard $(OPENSSL_PATH)/lib)" "$(OPENSSL_PATH)/lib" OPENSSL_LIBPATH = $(OPENSSL_PATH)/lib endif endif ifndef DYN OPENSSL_LIBS += -lgdi32 -lcrypt32 endif CFLAGS += -DUSE_OPENSSL curl_LDADD += -L"$(OPENSSL_LIBPATH)" $(OPENSSL_LIBS) endif ifdef ZLIB INCLUDES += -I"$(ZLIB_PATH)" CFLAGS += -DHAVE_LIBZ -DHAVE_ZLIB_H curl_LDADD += -L"$(ZLIB_PATH)" -lz endif ifdef IDN CFLAGS += -DUSE_LIBIDN curl_LDADD += -L"$(LIBIDN_PATH)/lib" -lidn else ifdef WINIDN CFLAGS += -DUSE_WIN32_IDN curl_LDADD += -L"$(WINIDN_PATH)" -lnormaliz endif endif ifdef SSPI CFLAGS += -DUSE_WINDOWS_SSPI ifdef WINSSL CFLAGS += -DUSE_SCHANNEL endif endif ifdef IPV6 CFLAGS += -DENABLE_IPV6 -D_WIN32_WINNT=0x0501 endif ifdef LDAPS CFLAGS += -DHAVE_LDAP_SSL endif ifdef USE_LDAP_NOVELL CFLAGS += -DCURL_HAS_NOVELL_LDAPSDK curl_LDADD += -L"$(LDAP_SDK)/lib/mscvc" -lldapsdk -lldapssl -lldapx endif ifdef USE_LDAP_OPENLDAP CFLAGS += -DCURL_HAS_OPENLDAP_LDAPSDK curl_LDADD += -L"$(LDAP_SDK)/lib" -lldap -llber endif ifndef USE_LDAP_NOVELL ifndef USE_LDAP_OPENLDAP curl_LDADD += -lwldap32 endif endif curl_LDADD += -lws2_32 # Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines include Makefile.inc check_PROGRAMS := $(patsubst %,%.exe,$(strip $(check_PROGRAMS))) check_PROGRAMS += ftpuploadresume.exe synctime.exe .PRECIOUS: %.o all: $(check_PROGRAMS) %.exe: %.o $(curl_DEPENDENCIES) $(CC) $(LDFLAGS) -o $@ $< $(curl_LDADD) %.o: %.c $(CC) $(INCLUDES) $(CFLAGS) -c $< %.res: %.rc $(RC) $(RCFLAGS) $< -o $@ clean: @$(call DEL, $(check_PROGRAMS:.exe=.o)) distclean vclean: clean @$(call DEL, $(check_PROGRAMS)) curl-7.47.0/docs/examples/smtp-vrfy.c0000644000175000017500000000517512633553325014377 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * SMTP example showing how to verify an e-mail address * */ #include #include #include /* This is a simple example showing how to verify an e-mail address from an * SMTP server. * * Notes: * * 1) This example requires libcurl 7.34.0 or above. * 2) Not all email servers support this command and even if your email server * does support it, it may respond with a 252 response code even though the * address doesn't exist. */ int main(void) { CURL *curl; CURLcode res; struct curl_slist *recipients = NULL; curl = curl_easy_init(); if(curl) { /* This is the URL for your mailserver */ curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.com"); /* Note that the CURLOPT_MAIL_RCPT takes a list, not a char array */ recipients = curl_slist_append(recipients, ""); curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); /* Perform the VRFY */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Free the list of recipients */ curl_slist_free_all(recipients); /* Curl won't send the QUIT command until you call cleanup, so you should * be able to re-use this connection for additional requests. It may not be * a good idea to keep the connection open for a very long time though * (more than a few minutes may result in the server timing out the * connection) and you do want to clean up in the end. */ curl_easy_cleanup(curl); } return 0; } curl-7.47.0/docs/examples/anyauthput.c0000644000175000017500000001217412626067776014643 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * HTTP PUT upload with authentiction using "any" method. libcurl picks the * one the server supports/wants. * */ #include #include #ifdef WIN32 # include #else # ifdef __VMS typedef int intptr_t; # endif # if !defined(_AIX) && !defined(__sgi) && !defined(__osf__) # include # endif # include #endif #include #include #ifdef _MSC_VER # ifdef _WIN64 typedef __int64 intptr_t; # else typedef int intptr_t; # endif #endif #include #if LIBCURL_VERSION_NUM < 0x070c03 #error "upgrade your libcurl to no less than 7.12.3" #endif #ifndef TRUE #define TRUE 1 #endif #if defined(_AIX) || defined(__sgi) || defined(__osf__) #ifndef intptr_t #define intptr_t long #endif #endif /* * This example shows a HTTP PUT operation with authentiction using "any" * type. It PUTs a file given as a command line argument to the URL also given * on the command line. * * Since libcurl 7.12.3, using "any" auth and POST/PUT requires a set ioctl * function. * * This example also uses its own read callback. */ /* ioctl callback function */ static curlioerr my_ioctl(CURL *handle, curliocmd cmd, void *userp) { intptr_t fd = (intptr_t)userp; (void)handle; /* not used in here */ switch(cmd) { case CURLIOCMD_RESTARTREAD: /* mr libcurl kindly asks as to rewind the read data stream to start */ if(-1 == lseek(fd, 0, SEEK_SET)) /* couldn't rewind */ return CURLIOE_FAILRESTART; break; default: /* ignore unknown commands */ return CURLIOE_UNKNOWNCMD; } return CURLIOE_OK; /* success! */ } /* read callback function, fread() look alike */ static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *stream) { size_t retcode; curl_off_t nread; intptr_t fd = (intptr_t)stream; retcode = read(fd, ptr, size * nmemb); nread = (curl_off_t)retcode; fprintf(stderr, "*** We read %" CURL_FORMAT_CURL_OFF_T " bytes from file\n", nread); return retcode; } int main(int argc, char **argv) { CURL *curl; CURLcode res; intptr_t hd ; struct stat file_info; char *file; char *url; if(argc < 3) return 1; file= argv[1]; url = argv[2]; /* get the file size of the local file */ hd = open(file, O_RDONLY) ; fstat(hd, &file_info); /* In windows, this will init the winsock stuff */ curl_global_init(CURL_GLOBAL_ALL); /* get a curl handle */ curl = curl_easy_init(); if(curl) { /* we want to use our own read function */ curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback); /* which file to upload */ curl_easy_setopt(curl, CURLOPT_READDATA, (void*)hd); /* set the ioctl function */ curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION, my_ioctl); /* pass the file descriptor to the ioctl callback as well */ curl_easy_setopt(curl, CURLOPT_IOCTLDATA, (void*)hd); /* enable "uploading" (which means PUT when doing HTTP) */ curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L) ; /* specify target URL, and note that this URL should also include a file name, not only a directory (as you can do with GTP uploads) */ curl_easy_setopt(curl,CURLOPT_URL, url); /* and give the size of the upload, this supports large file sizes on systems that have general support for it */ curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, (curl_off_t)file_info.st_size); /* tell libcurl we can use "any" auth, which lets the lib pick one, but it also costs one extra round-trip and possibly sending of all the PUT data twice!!! */ curl_easy_setopt(curl, CURLOPT_HTTPAUTH, (long)CURLAUTH_ANY); /* set user name and password for the authentication */ curl_easy_setopt(curl, CURLOPT_USERPWD, "user:password"); /* Now run off and do what you've been told! */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } close(hd); /* close the local file */ curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/Makefile.netware0000644000175000017500000002544412626067776015405 00000000000000################################################################# # ## Makefile for building curl.nlm (NetWare version - gnu make) ## Use: make -f Makefile.netware ## ## Comments to: Guenter Knauf http://www.gknw.net/phpbb # ################################################################# # Edit the path below to point to the base of your Novell NDK. ifndef NDKBASE NDKBASE = c:/novell endif # Edit the path below to point to the base of your Zlib sources. ifndef ZLIB_PATH ZLIB_PATH = ../../../zlib-1.2.8 endif # Edit the path below to point to the base of your OpenSSL package. ifndef OPENSSL_PATH OPENSSL_PATH = ../../../openssl-1.0.2a endif # Edit the path below to point to the base of your LibSSH2 package. ifndef LIBSSH2_PATH LIBSSH2_PATH = ../../../libssh2-1.5.0 endif # Edit the path below to point to the base of your axTLS package. ifndef AXTLS_PATH AXTLS_PATH = ../../../axTLS-1.2.7 endif # Edit the path below to point to the base of your libidn package. ifndef LIBIDN_PATH LIBIDN_PATH = ../../../libidn-1.32 endif # Edit the path below to point to the base of your librtmp package. ifndef LIBRTMP_PATH LIBRTMP_PATH = ../../../librtmp-2.4 endif # Edit the path below to point to the base of your fbopenssl package. ifndef FBOPENSSL_PATH FBOPENSSL_PATH = ../../fbopenssl-0.4 endif # Edit the path below to point to the base of your c-ares package. ifndef LIBCARES_PATH LIBCARES_PATH = ../../ares endif ifndef INSTDIR INSTDIR = ..$(DS)..$(DS)curl-$(LIBCURL_VERSION_STR)-bin-nw endif # Edit the vars below to change NLM target settings. TARGET = examples VERSION = $(LIBCURL_VERSION) COPYR = Copyright (C) $(LIBCURL_COPYRIGHT_STR) DESCR = cURL ($(LIBARCH)) MTSAFE = YES STACK = 8192 SCREEN = Example Program # Comment the line below if you dont want to load protected automatically. # LDRING = 3 # Uncomment the next line to enable linking with POSIX semantics. # POSIXFL = 1 # Edit the var below to point to your lib architecture. ifndef LIBARCH LIBARCH = LIBC endif # must be equal to NDEBUG or DEBUG, CURLDEBUG ifndef DB DB = NDEBUG endif # Optimization: -O or debugging: -g ifeq ($(DB),NDEBUG) OPT = -O2 OBJDIR = release else OPT = -g OBJDIR = debug endif # The following lines defines your compiler. ifdef CWFolder METROWERKS = $(CWFolder) endif ifdef METROWERKS # MWCW_PATH = $(subst \,/,$(METROWERKS))/Novell Support MWCW_PATH = $(subst \,/,$(METROWERKS))/Novell Support/Metrowerks Support CC = mwccnlm else CC = gcc endif PERL = perl # Here you can find a native Win32 binary of the original awk: # http://www.gknw.net/development/prgtools/awk-20100523.zip AWK = awk CP = cp -afv MKDIR = mkdir # RM = rm -f # If you want to mark the target as MTSAFE you will need a tool for # generating the xdc data for the linker; here's a minimal tool: # http://www.gknw.net/development/prgtools/mkxdc.zip MPKXDC = mkxdc # LIBARCH_U = $(shell $(AWK) 'BEGIN {print toupper(ARGV[1])}' $(LIBARCH)) LIBARCH_L = $(shell $(AWK) 'BEGIN {print tolower(ARGV[1])}' $(LIBARCH)) # Include the version info retrieved from curlver.h -include $(OBJDIR)/version.inc # Global flags for all compilers CFLAGS += $(OPT) -D$(DB) -DNETWARE -DHAVE_CONFIG_H -nostdinc ifeq ($(CC),mwccnlm) LD = mwldnlm LDFLAGS = -nostdlib $< $(PRELUDE) $(LDLIBS) -o $@ -commandfile LIBEXT = lib CFLAGS += -gccinc -inline off -opt nointrinsics -proc 586 CFLAGS += -relax_pointers #CFLAGS += -w on ifeq ($(LIBARCH),LIBC) ifeq ($(POSIXFL),1) PRELUDE = $(NDK_LIBC)/imports/posixpre.o else PRELUDE = $(NDK_LIBC)/imports/libcpre.o endif CFLAGS += -align 4 else # PRELUDE = $(NDK_CLIB)/imports/clibpre.o # to avoid the __init_* / __deinit_* whoes dont use prelude from NDK PRELUDE = "$(MWCW_PATH)/libraries/runtime/prelude.obj" # CFLAGS += -include "$(MWCW_PATH)/headers/nlm_clib_prefix.h" CFLAGS += -align 1 endif else LD = nlmconv LDFLAGS = -T LIBEXT = a CFLAGS += -m32 CFLAGS += -fno-builtin -fno-strict-aliasing ifeq ($(findstring gcc,$(CC)),gcc) CFLAGS += -fpcc-struct-return endif CFLAGS += -Wall # -pedantic ifeq ($(LIBARCH),LIBC) ifeq ($(POSIXFL),1) PRELUDE = $(NDK_LIBC)/imports/posixpre.gcc.o else PRELUDE = $(NDK_LIBC)/imports/libcpre.gcc.o endif else # PRELUDE = $(NDK_CLIB)/imports/clibpre.gcc.o # to avoid the __init_* / __deinit_* whoes dont use prelude from NDK # http://www.gknw.net/development/mk_nlm/gcc_pre.zip PRELUDE = $(NDK_ROOT)/pre/prelude.o CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h endif endif NDK_ROOT = $(NDKBASE)/ndk ifndef NDK_CLIB NDK_CLIB = $(NDK_ROOT)/nwsdk endif ifndef NDK_LIBC NDK_LIBC = $(NDK_ROOT)/libc endif ifndef NDK_LDAP NDK_LDAP = $(NDK_ROOT)/cldapsdk/netware endif CURL_INC = ../../include CURL_LIB = ../../lib INCLUDES = -I$(CURL_INC) ifeq ($(findstring -static,$(CFG)),-static) LINK_STATIC = 1 endif ifeq ($(findstring -ares,$(CFG)),-ares) WITH_ARES = 1 endif ifeq ($(findstring -rtmp,$(CFG)),-rtmp) WITH_RTMP = 1 WITH_SSL = 1 WITH_ZLIB = 1 endif ifeq ($(findstring -ssh2,$(CFG)),-ssh2) WITH_SSH2 = 1 WITH_SSL = 1 WITH_ZLIB = 1 endif ifeq ($(findstring -axtls,$(CFG)),-axtls) WITH_AXTLS = 1 WITH_SSL = else ifeq ($(findstring -ssl,$(CFG)),-ssl) WITH_SSL = 1 endif endif ifeq ($(findstring -zlib,$(CFG)),-zlib) WITH_ZLIB = 1 endif ifeq ($(findstring -idn,$(CFG)),-idn) WITH_IDN = 1 endif ifeq ($(findstring -ipv6,$(CFG)),-ipv6) ENABLE_IPV6 = 1 endif ifdef LINK_STATIC LDLIBS = $(CURL_LIB)/libcurl.$(LIBEXT) ifdef WITH_ARES LDLIBS += $(LIBCARES_PATH)/libcares.$(LIBEXT) endif else MODULES = libcurl.nlm IMPORTS = @$(CURL_LIB)/libcurl.imp endif ifdef WITH_SSH2 # INCLUDES += -I$(LIBSSH2_PATH)/include ifdef LINK_STATIC LDLIBS += $(LIBSSH2_PATH)/nw/libssh2.$(LIBEXT) else MODULES += libssh2.nlm IMPORTS += @$(LIBSSH2_PATH)/nw/libssh2.imp endif endif ifdef WITH_RTMP # INCLUDES += -I$(LIBRTMP_PATH) ifdef LINK_STATIC LDLIBS += $(LIBRTMP_PATH)/librtmp/librtmp.$(LIBEXT) endif endif ifdef WITH_SSL INCLUDES += -I$(OPENSSL_PATH)/outinc_nw_$(LIBARCH_L) LDLIBS += $(OPENSSL_PATH)/out_nw_$(LIBARCH_L)/ssl.$(LIBEXT) LDLIBS += $(OPENSSL_PATH)/out_nw_$(LIBARCH_L)/crypto.$(LIBEXT) IMPORTS += GetProcessSwitchCount RunningProcess else ifdef WITH_AXTLS INCLUDES += -I$(AXTLS_PATH)/inc ifdef LINK_STATIC LDLIBS += $(AXTLS_PATH)/lib/libaxtls.$(LIBEXT) else MODULES += libaxtls.nlm IMPORTS += $(AXTLS_PATH)/lib/libaxtls.imp endif endif endif ifdef WITH_ZLIB # INCLUDES += -I$(ZLIB_PATH) ifdef LINK_STATIC LDLIBS += $(ZLIB_PATH)/nw/$(LIBARCH)/libz.$(LIBEXT) else MODULES += libz.nlm IMPORTS += @$(ZLIB_PATH)/nw/$(LIBARCH)/libz.imp endif endif ifdef WITH_IDN # INCLUDES += -I$(LIBIDN_PATH)/include LDLIBS += $(LIBIDN_PATH)/lib/libidn.$(LIBEXT) endif ifeq ($(LIBARCH),LIBC) INCLUDES += -I$(NDK_LIBC)/include # INCLUDES += -I$(NDK_LIBC)/include/nks # INCLUDES += -I$(NDK_LIBC)/include/winsock CFLAGS += -D_POSIX_SOURCE else INCLUDES += -I$(NDK_CLIB)/include/nlm # INCLUDES += -I$(NDK_CLIB)/include endif ifndef DISABLE_LDAP # INCLUDES += -I$(NDK_LDAP)/$(LIBARCH_L)/inc endif CFLAGS += $(INCLUDES) ifeq ($(MTSAFE),YES) XDCOPT = -n endif ifeq ($(MTSAFE),NO) XDCOPT = -u endif ifdef XDCOPT XDCDATA = $(OBJDIR)/$(TARGET).xdc endif ifeq ($(findstring /sh,$(SHELL)),/sh) DL = ' DS = / PCT = % #-include $(NDKBASE)/nlmconv/ncpfs.inc else DS = \\ PCT = %% endif # Makefile.inc provides the CSOURCES and HHEADERS defines include Makefile.inc check_PROGRAMS := $(patsubst %,%.nlm,$(strip $(check_PROGRAMS))) .PRECIOUS: $(OBJDIR)/%.o $(OBJDIR)/%.def $(OBJDIR)/%.xdc all: prebuild $(check_PROGRAMS) prebuild: $(OBJDIR) $(OBJDIR)/version.inc $(OBJDIR)/%.o: %.c @echo Compiling $< $(CC) $(CFLAGS) -c $< -o $@ $(OBJDIR)/version.inc: $(CURL_INC)/curl/curlver.h $(OBJDIR) @echo Creating $@ @$(AWK) -f ../../packages/NetWare/get_ver.awk $< > $@ install: $(INSTDIR) all @$(CP) $(check_PROGRAMS) $(INSTDIR) clean: -$(RM) -r $(OBJDIR) distclean vclean: clean -$(RM) $(check_PROGRAMS) $(OBJDIR) $(INSTDIR): @$(MKDIR) $@ %.nlm: $(OBJDIR)/%.o $(OBJDIR)/%.def $(XDCDATA) @echo Linking $@ @-$(RM) $@ @$(LD) $(LDFLAGS) $(OBJDIR)/$(@:.nlm=.def) $(OBJDIR)/%.xdc: Makefile.netware @echo Creating $@ @$(MPKXDC) $(XDCOPT) $@ $(OBJDIR)/%.def: Makefile.netware @echo $(DL)# DEF file for linking with $(LD)$(DL) > $@ @echo $(DL)# Do not edit this file - it is created by Make!$(DL) >> $@ @echo $(DL)# All your changes will be lost!!$(DL) >> $@ @echo $(DL)#$(DL) >> $@ @echo $(DL)copyright "$(COPYR)"$(DL) >> $@ @echo $(DL)description "$(DESCR) $(notdir $(@:.def=)) Example"$(DL) >> $@ @echo $(DL)version $(VERSION)$(DL) >> $@ ifdef NLMTYPE @echo $(DL)type $(NLMTYPE)$(DL) >> $@ endif ifdef STACK @echo $(DL)stack $(STACK)$(DL) >> $@ endif ifdef SCREEN @echo $(DL)screenname "$(DESCR) $(notdir $(@:.def=)) $(SCREEN)"$(DL) >> $@ else @echo $(DL)screenname "DEFAULT"$(DL) >> $@ endif ifneq ($(DB),NDEBUG) @echo $(DL)debug$(DL) >> $@ endif @echo $(DL)threadname "_$(notdir $(@:.def=))"$(DL) >> $@ ifdef XDCDATA @echo $(DL)xdcdata $(XDCDATA)$(DL) >> $@ endif ifeq ($(LDRING),0) @echo $(DL)flag_on 16$(DL) >> $@ endif ifeq ($(LDRING),3) @echo $(DL)flag_on 512$(DL) >> $@ endif ifeq ($(LIBARCH),CLIB) @echo $(DL)start _Prelude$(DL) >> $@ @echo $(DL)exit _Stop$(DL) >> $@ @echo $(DL)import @$(NDK_CLIB)/imports/clib.imp$(DL) >> $@ @echo $(DL)import @$(NDK_CLIB)/imports/threads.imp$(DL) >> $@ @echo $(DL)import @$(NDK_CLIB)/imports/nlmlib.imp$(DL) >> $@ @echo $(DL)import @$(NDK_CLIB)/imports/socklib.imp$(DL) >> $@ @echo $(DL)module clib$(DL) >> $@ ifndef DISABLE_LDAP @echo $(DL)import @$(NDK_LDAP)/clib/imports/ldapsdk.imp$(DL) >> $@ @echo $(DL)import @$(NDK_LDAP)/clib/imports/ldapssl.imp$(DL) >> $@ # @echo $(DL)import @$(NDK_LDAP)/clib/imports/ldapx.imp$(DL) >> $@ @echo $(DL)module ldapsdk ldapssl$(DL) >> $@ endif else ifeq ($(POSIXFL),1) @echo $(DL)flag_on 4194304$(DL) >> $@ endif @echo $(DL)flag_on 64$(DL) >> $@ @echo $(DL)pseudopreemption$(DL) >> $@ ifeq ($(findstring posixpre,$(PRELUDE)),posixpre) @echo $(DL)start POSIX_Start$(DL) >> $@ @echo $(DL)exit POSIX_Stop$(DL) >> $@ @echo $(DL)check POSIX_CheckUnload$(DL) >> $@ else @echo $(DL)start _LibCPrelude$(DL) >> $@ @echo $(DL)exit _LibCPostlude$(DL) >> $@ @echo $(DL)check _LibCCheckUnload$(DL) >> $@ endif @echo $(DL)import @$(NDK_LIBC)/imports/libc.imp$(DL) >> $@ @echo $(DL)import @$(NDK_LIBC)/imports/netware.imp$(DL) >> $@ @echo $(DL)module libc$(DL) >> $@ ifndef DISABLE_LDAP @echo $(DL)import @$(NDK_LDAP)/libc/imports/lldapsdk.imp$(DL) >> $@ @echo $(DL)import @$(NDK_LDAP)/libc/imports/lldapssl.imp$(DL) >> $@ # @echo $(DL)import @$(NDK_LDAP)/libc/imports/lldapx.imp$(DL) >> $@ @echo $(DL)module lldapsdk lldapssl$(DL) >> $@ endif endif ifdef MODULES @echo $(DL)module $(MODULES)$(DL) >> $@ endif ifdef EXPORTS @echo $(DL)export $(EXPORTS)$(DL) >> $@ endif ifdef IMPORTS @echo $(DL)import $(IMPORTS)$(DL) >> $@ endif ifeq ($(findstring nlmconv,$(LD)),nlmconv) @echo $(DL)input $(PRELUDE)$(DL) >> $@ @echo $(DL)input $(@:.def=.o)$(DL) >> $@ ifdef LDLIBS @echo $(DL)input $(LDLIBS)$(DL) >> $@ endif @echo $(DL)output $(notdir $(@:.def=.nlm))$(DL) >> $@ endif curl-7.47.0/docs/examples/url2file.c0000644000175000017500000000466612642501101014141 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Download a given URL into a local file named page.out. * */ #include #include #include #include static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) { size_t written = fwrite(ptr, size, nmemb, (FILE *)stream); return written; } int main(int argc, char *argv[]) { CURL *curl_handle; static const char *pagefilename = "page.out"; FILE *pagefile; if(argc < 2 ) { printf("Usage: %s \n", argv[0]); return 1; } curl_global_init(CURL_GLOBAL_ALL); /* init the curl session */ curl_handle = curl_easy_init(); /* set URL to get here */ curl_easy_setopt(curl_handle, CURLOPT_URL, argv[1]); /* Switch on full protocol/debug output while testing */ curl_easy_setopt(curl_handle, CURLOPT_VERBOSE, 1L); /* disable progress meter, set to 0L to enable and disable debug output */ curl_easy_setopt(curl_handle, CURLOPT_NOPROGRESS, 1L); /* send all data to this function */ curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, write_data); /* open the file */ pagefile = fopen(pagefilename, "wb"); if (pagefile) { /* write the page body to this file handle */ curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, pagefile); /* get it! */ curl_easy_perform(curl_handle); /* close the header file */ fclose(pagefile); } /* cleanup curl stuff */ curl_easy_cleanup(curl_handle); return 0; } curl-7.47.0/docs/examples/synctime.c0000644000175000017500000003077612642500641014261 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Set your system time from a remote HTTP server's Date: header. * */ /* This example code only builds as-is on Windows. * * While Unix/Linux user, you do not need this software. * You can achieve the same result as synctime using curl, awk and date. * Set proxy as according to your network, but beware of proxy Cache-Control. * * To set your system clock, root access is required. * # date -s "`curl -sI http://nist.time.gov/timezone.cgi?UTC/s/0 \ * | awk -F': ' '/Date: / {print $2}'`" * * To view remote webserver date and time. * $ curl -sI http://nist.time.gov/timezone.cgi?UTC/s/0 \ * | awk -F': ' '/Date: / {print $2}' * * Synchronising your computer clock via Internet time server usually relies * on DAYTIME, TIME, or NTP protocols. These protocols provide good accurate * time synchronisation but it does not work very well through a * firewall/proxy. Some adjustment has to be made to the firewall/proxy for * these protocols to work properly. * * There is an indirect method. Since most webserver provide server time in * their HTTP header, therefore you could synchronise your computer clock * using HTTP protocol which has no problem with firewall/proxy. * * For this software to work, you should take note of these items. * 1. Your firewall/proxy must allow your computer to surf internet. * 2. Webserver system time must in sync with the NTP time server, * or at least provide an accurate time keeping. * 3. Webserver HTTP header does not provide the milliseconds units, * so there is no way to get very accurate time. * 4. This software could only provide an accuracy of +- a few seconds, * as Round-Trip delay time is not taken into consideration. * Compensation of network, firewall/proxy delay cannot be simply divide * the Round-Trip delay time by half. * 5. Win32 SetSystemTime() API will set your computer clock according to * GMT/UTC time. Therefore your computer timezone must be properly set. * 6. Webserver data should not be cached by the proxy server. Some * webserver provide Cache-Control to prevent caching. * * References: * http://tf.nist.gov/timefreq/service/its.htm * http://tf.nist.gov/timefreq/service/firewall.htm * * Usage: * This software will synchronise your computer clock only when you issue * it with --synctime. By default, it only display the webserver's clock. * * Written by: Frank (contributed to libcurl) * * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. * * IN NO EVENT SHALL THE AUTHOR OF THIS SOFTWARE BE LIABLE FOR * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE * OF THIS SOFTWARE. * */ #include #include #ifndef __CYGWIN__ #include #endif #include #define MAX_STRING 256 #define MAX_STRING1 MAX_STRING+1 #define SYNCTIME_UA "synctime/1.0" typedef struct { char http_proxy[MAX_STRING1]; char proxy_user[MAX_STRING1]; char timeserver[MAX_STRING1]; } conf_t; const char DefaultTimeServer[3][MAX_STRING1] = { "http://pool.ntp.org/", "http://nist.time.gov/", "http://www.google.com/" }; const char *DayStr[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; const char *MthStr[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; int ShowAllHeader; int AutoSyncTime; SYSTEMTIME SYSTime; SYSTEMTIME LOCALTime; #define HTTP_COMMAND_HEAD 0 #define HTTP_COMMAND_GET 1 size_t SyncTime_CURL_WriteOutput(void *ptr, size_t size, size_t nmemb, void *stream) { fwrite(ptr, size, nmemb, stream); return(nmemb*size); } size_t SyncTime_CURL_WriteHeader(void *ptr, size_t size, size_t nmemb, void *stream) { int i, RetVal; char TmpStr1[26], TmpStr2[26]; if (ShowAllHeader == 1) fprintf(stderr, "%s", (char *)(ptr)); if (strncmp((char *)(ptr), "Date:", 5) == 0) { if (ShowAllHeader == 0) fprintf(stderr, "HTTP Server. %s", (char *)(ptr)); if (AutoSyncTime == 1) { *TmpStr1 = 0; *TmpStr2 = 0; if (strlen((char *)(ptr)) > 50) /* Can prevent buffer overflow to TmpStr1 & 2? */ AutoSyncTime = 0; else { RetVal = sscanf ((char *)(ptr), "Date: %s %hu %s %hu %hu:%hu:%hu", TmpStr1, &SYSTime.wDay, TmpStr2, &SYSTime.wYear, &SYSTime.wHour, &SYSTime.wMinute, &SYSTime.wSecond); if (RetVal == 7) { SYSTime.wMilliseconds = 500; /* adjust to midpoint, 0.5 sec */ for (i=0; i<12; i++) { if (strcmp(MthStr[i], TmpStr2) == 0) { SYSTime.wMonth = i+1; break; } } AutoSyncTime = 3; /* Computer clock will be adjusted */ } else { AutoSyncTime = 0; /* Error in sscanf() fields conversion */ } } } } if (strncmp((char *)(ptr), "X-Cache: HIT", 12) == 0) { fprintf(stderr, "ERROR: HTTP Server data is cached." " Server Date is no longer valid.\n"); AutoSyncTime = 0; } return(nmemb*size); } void SyncTime_CURL_Init(CURL *curl, char *proxy_port, char *proxy_user_password) { if (strlen(proxy_port) > 0) curl_easy_setopt(curl, CURLOPT_PROXY, proxy_port); if (strlen(proxy_user_password) > 0) curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, proxy_user_password); #ifdef SYNCTIME_UA curl_easy_setopt(curl, CURLOPT_USERAGENT, SYNCTIME_UA); #endif curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, *SyncTime_CURL_WriteOutput); curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, *SyncTime_CURL_WriteHeader); } int SyncTime_CURL_Fetch(CURL *curl, char *URL_Str, char *OutFileName, int HttpGetBody) { FILE *outfile; CURLcode res; outfile = NULL; if (HttpGetBody == HTTP_COMMAND_HEAD) curl_easy_setopt(curl, CURLOPT_NOBODY, 1L); else { outfile = fopen(OutFileName, "wb"); curl_easy_setopt(curl, CURLOPT_WRITEDATA, outfile); } curl_easy_setopt(curl, CURLOPT_URL, URL_Str); res = curl_easy_perform(curl); if (outfile != NULL) fclose(outfile); return res; /* (CURLE_OK) */ } void showUsage(void) { fprintf(stderr, "SYNCTIME: Synchronising computer clock with time server" " using HTTP protocol.\n"); fprintf(stderr, "Usage : SYNCTIME [Option]\n"); fprintf(stderr, "Options :\n"); fprintf(stderr, " --server=WEBSERVER Use this time server instead" " of default.\n"); fprintf(stderr, " --showall Show all HTTP header.\n"); fprintf(stderr, " --synctime Synchronising computer clock" " with time server.\n"); fprintf(stderr, " --proxy-user=USER[:PASS] Set proxy username and" " password.\n"); fprintf(stderr, " --proxy=HOST[:PORT] Use HTTP proxy on given" " port.\n"); fprintf(stderr, " --help Print this help.\n"); fprintf(stderr, "\n"); return; } int conf_init(conf_t *conf) { int i; *conf->http_proxy = 0; for (i=0; iproxy_user[i] = 0; /* Clean up password from memory */ *conf->timeserver = 0; return 1; } int main(int argc, char *argv[]) { CURL *curl; conf_t conf[1]; int OptionIndex; struct tm *lt; struct tm *gmt; time_t tt; time_t tt_local; time_t tt_gmt; double tzonediffFloat; int tzonediffWord; char timeBuf[61]; char tzoneBuf[16]; int RetValue; OptionIndex = 0; ShowAllHeader = 0; /* Do not show HTTP Header */ AutoSyncTime = 0; /* Do not synchronise computer clock */ RetValue = 0; /* Successful Exit */ conf_init(conf); if (argc > 1) { while (OptionIndex < argc) { if (strncmp(argv[OptionIndex], "--server=", 9) == 0) snprintf(conf->timeserver, MAX_STRING, "%s", &argv[OptionIndex][9]); if (strcmp(argv[OptionIndex], "--showall") == 0) ShowAllHeader = 1; if (strcmp(argv[OptionIndex], "--synctime") == 0) AutoSyncTime = 1; if (strncmp(argv[OptionIndex], "--proxy-user=", 13) == 0) snprintf(conf->proxy_user, MAX_STRING, "%s", &argv[OptionIndex][13]); if (strncmp(argv[OptionIndex], "--proxy=", 8) == 0) snprintf(conf->http_proxy, MAX_STRING, "%s", &argv[OptionIndex][8]); if ((strcmp(argv[OptionIndex], "--help") == 0) || (strcmp(argv[OptionIndex], "/?") == 0)) { showUsage(); return 0; } OptionIndex++; } } if (*conf->timeserver == 0) /* Use default server for time information */ snprintf(conf->timeserver, MAX_STRING, "%s", DefaultTimeServer[0]); /* Init CURL before usage */ curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); if (curl) { SyncTime_CURL_Init(curl, conf->http_proxy, conf->proxy_user); /* Calculating time diff between GMT and localtime */ tt = time(0); lt = localtime(&tt); tt_local = mktime(lt); gmt = gmtime(&tt); tt_gmt = mktime(gmt); tzonediffFloat = difftime(tt_local, tt_gmt); tzonediffWord = (int)(tzonediffFloat/3600.0); if ((double)(tzonediffWord * 3600) == tzonediffFloat) snprintf(tzoneBuf, 15, "%+03d'00'", tzonediffWord); else snprintf(tzoneBuf, 15, "%+03d'30'", tzonediffWord); /* Get current system time and local time */ GetSystemTime(&SYSTime); GetLocalTime(&LOCALTime); snprintf(timeBuf, 60, "%s, %02d %s %04d %02d:%02d:%02d.%03d, ", DayStr[LOCALTime.wDayOfWeek], LOCALTime.wDay, MthStr[LOCALTime.wMonth-1], LOCALTime.wYear, LOCALTime.wHour, LOCALTime.wMinute, LOCALTime.wSecond, LOCALTime.wMilliseconds); fprintf(stderr, "Fetch: %s\n\n", conf->timeserver); fprintf(stderr, "Before HTTP. Date: %s%s\n\n", timeBuf, tzoneBuf); /* HTTP HEAD command to the Webserver */ SyncTime_CURL_Fetch(curl, conf->timeserver, "index.htm", HTTP_COMMAND_HEAD); GetLocalTime(&LOCALTime); snprintf(timeBuf, 60, "%s, %02d %s %04d %02d:%02d:%02d.%03d, ", DayStr[LOCALTime.wDayOfWeek], LOCALTime.wDay, MthStr[LOCALTime.wMonth-1], LOCALTime.wYear, LOCALTime.wHour, LOCALTime.wMinute, LOCALTime.wSecond, LOCALTime.wMilliseconds); fprintf(stderr, "\nAfter HTTP. Date: %s%s\n", timeBuf, tzoneBuf); if (AutoSyncTime == 3) { /* Synchronising computer clock */ if (!SetSystemTime(&SYSTime)) { /* Set system time */ fprintf(stderr, "ERROR: Unable to set system time.\n"); RetValue = 1; } else { /* Successfully re-adjusted computer clock */ GetLocalTime(&LOCALTime); snprintf(timeBuf, 60, "%s, %02d %s %04d %02d:%02d:%02d.%03d, ", DayStr[LOCALTime.wDayOfWeek], LOCALTime.wDay, MthStr[LOCALTime.wMonth-1], LOCALTime.wYear, LOCALTime.wHour, LOCALTime.wMinute, LOCALTime.wSecond, LOCALTime.wMilliseconds); fprintf(stderr, "\nNew System's Date: %s%s\n", timeBuf, tzoneBuf); } } /* Cleanup before exit */ conf_init(conf); curl_easy_cleanup(curl); } return RetValue; } curl-7.47.0/docs/examples/fopen.c0000644000175000017500000003330412626067776013546 00000000000000/***************************************************************************** * * This example source code introduces a c library buffered I/O interface to * URL reads it supports fopen(), fread(), fgets(), feof(), fclose(), * rewind(). Supported functions have identical prototypes to their normal c * lib namesakes and are preceaded by url_ . * * Using this code you can replace your program's fopen() with url_fopen() * and fread() with url_fread() and it become possible to read remote streams * instead of (only) local files. Local files (ie those that can be directly * fopened) will drop back to using the underlying clib implementations * * See the main() function at the bottom that shows an app that retrives from a * specified url using fgets() and fread() and saves as two output files. * * Copyright (c) 2003 Simtec Electronics * * Re-implemented by Vincent Sanders with extensive * reference to original curl example code * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * This example requires libcurl 7.9.7 or later. */ /* * implements an fopen() abstraction allowing reading from URLs * */ #include #include #ifndef WIN32 # include #endif #include #include #include enum fcurl_type_e { CFTYPE_NONE=0, CFTYPE_FILE=1, CFTYPE_CURL=2 }; struct fcurl_data { enum fcurl_type_e type; /* type of handle */ union { CURL *curl; FILE *file; } handle; /* handle */ char *buffer; /* buffer to store cached data*/ size_t buffer_len; /* currently allocated buffers length */ size_t buffer_pos; /* end of data in buffer*/ int still_running; /* Is background url fetch still in progress */ }; typedef struct fcurl_data URL_FILE; /* exported functions */ URL_FILE *url_fopen(const char *url,const char *operation); int url_fclose(URL_FILE *file); int url_feof(URL_FILE *file); size_t url_fread(void *ptr, size_t size, size_t nmemb, URL_FILE *file); char * url_fgets(char *ptr, size_t size, URL_FILE *file); void url_rewind(URL_FILE *file); /* we use a global one for convenience */ CURLM *multi_handle; /* curl calls this routine to get more data */ static size_t write_callback(char *buffer, size_t size, size_t nitems, void *userp) { char *newbuff; size_t rembuff; URL_FILE *url = (URL_FILE *)userp; size *= nitems; rembuff=url->buffer_len - url->buffer_pos; /* remaining space in buffer */ if(size > rembuff) { /* not enough space in buffer */ newbuff=realloc(url->buffer,url->buffer_len + (size - rembuff)); if(newbuff==NULL) { fprintf(stderr,"callback buffer grow failed\n"); size=rembuff; } else { /* realloc succeeded increase buffer size*/ url->buffer_len+=size - rembuff; url->buffer=newbuff; } } memcpy(&url->buffer[url->buffer_pos], buffer, size); url->buffer_pos += size; return size; } /* use to attempt to fill the read buffer up to requested number of bytes */ static int fill_buffer(URL_FILE *file, size_t want) { fd_set fdread; fd_set fdwrite; fd_set fdexcep; struct timeval timeout; int rc; CURLMcode mc; /* curl_multi_fdset() return code */ /* only attempt to fill buffer if transactions still running and buffer * doesn't exceed required size already */ if((!file->still_running) || (file->buffer_pos > want)) return 0; /* attempt to fill buffer */ do { int maxfd = -1; long curl_timeo = -1; FD_ZERO(&fdread); FD_ZERO(&fdwrite); FD_ZERO(&fdexcep); /* set a suitable timeout to fail on */ timeout.tv_sec = 60; /* 1 minute */ timeout.tv_usec = 0; curl_multi_timeout(multi_handle, &curl_timeo); if(curl_timeo >= 0) { timeout.tv_sec = curl_timeo / 1000; if(timeout.tv_sec > 1) timeout.tv_sec = 1; else timeout.tv_usec = (curl_timeo % 1000) * 1000; } /* get file descriptors from the transfers */ mc = curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd); if(mc != CURLM_OK) { fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc); break; } /* On success the value of maxfd is guaranteed to be >= -1. We call select(maxfd + 1, ...); specially in case of (maxfd == -1) there are no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ if(maxfd == -1) { #ifdef _WIN32 Sleep(100); rc = 0; #else /* Portable sleep for platforms other than Windows. */ struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ rc = select(0, NULL, NULL, NULL, &wait); #endif } else { /* Note that on some platforms 'timeout' may be modified by select(). If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } switch(rc) { case -1: /* select error */ break; case 0: default: /* timeout or readable/writable sockets */ curl_multi_perform(multi_handle, &file->still_running); break; } } while(file->still_running && (file->buffer_pos < want)); return 1; } /* use to remove want bytes from the front of a files buffer */ static int use_buffer(URL_FILE *file, size_t want) { /* sort out buffer */ if((file->buffer_pos - want) <=0) { /* ditch buffer - write will recreate */ free(file->buffer); file->buffer=NULL; file->buffer_pos=0; file->buffer_len=0; } else { /* move rest down make it available for later */ memmove(file->buffer, &file->buffer[want], (file->buffer_pos - want)); file->buffer_pos -= want; } return 0; } URL_FILE *url_fopen(const char *url,const char *operation) { /* this code could check for URLs or types in the 'url' and basically use the real fopen() for standard files */ URL_FILE *file; (void)operation; file = malloc(sizeof(URL_FILE)); if(!file) return NULL; memset(file, 0, sizeof(URL_FILE)); if((file->handle.file=fopen(url,operation))) file->type = CFTYPE_FILE; /* marked as URL */ else { file->type = CFTYPE_CURL; /* marked as URL */ file->handle.curl = curl_easy_init(); curl_easy_setopt(file->handle.curl, CURLOPT_URL, url); curl_easy_setopt(file->handle.curl, CURLOPT_WRITEDATA, file); curl_easy_setopt(file->handle.curl, CURLOPT_VERBOSE, 0L); curl_easy_setopt(file->handle.curl, CURLOPT_WRITEFUNCTION, write_callback); if(!multi_handle) multi_handle = curl_multi_init(); curl_multi_add_handle(multi_handle, file->handle.curl); /* lets start the fetch */ curl_multi_perform(multi_handle, &file->still_running); if((file->buffer_pos == 0) && (!file->still_running)) { /* if still_running is 0 now, we should return NULL */ /* make sure the easy handle is not in the multi handle anymore */ curl_multi_remove_handle(multi_handle, file->handle.curl); /* cleanup */ curl_easy_cleanup(file->handle.curl); free(file); file = NULL; } } return file; } int url_fclose(URL_FILE *file) { int ret=0;/* default is good return */ switch(file->type) { case CFTYPE_FILE: ret=fclose(file->handle.file); /* passthrough */ break; case CFTYPE_CURL: /* make sure the easy handle is not in the multi handle anymore */ curl_multi_remove_handle(multi_handle, file->handle.curl); /* cleanup */ curl_easy_cleanup(file->handle.curl); break; default: /* unknown or supported type - oh dear */ ret=EOF; errno=EBADF; break; } free(file->buffer);/* free any allocated buffer space */ free(file); return ret; } int url_feof(URL_FILE *file) { int ret=0; switch(file->type) { case CFTYPE_FILE: ret=feof(file->handle.file); break; case CFTYPE_CURL: if((file->buffer_pos == 0) && (!file->still_running)) ret = 1; break; default: /* unknown or supported type - oh dear */ ret=-1; errno=EBADF; break; } return ret; } size_t url_fread(void *ptr, size_t size, size_t nmemb, URL_FILE *file) { size_t want; switch(file->type) { case CFTYPE_FILE: want=fread(ptr,size,nmemb,file->handle.file); break; case CFTYPE_CURL: want = nmemb * size; fill_buffer(file,want); /* check if theres data in the buffer - if not fill_buffer() * either errored or EOF */ if(!file->buffer_pos) return 0; /* ensure only available data is considered */ if(file->buffer_pos < want) want = file->buffer_pos; /* xfer data to caller */ memcpy(ptr, file->buffer, want); use_buffer(file,want); want = want / size; /* number of items */ break; default: /* unknown or supported type - oh dear */ want=0; errno=EBADF; break; } return want; } char *url_fgets(char *ptr, size_t size, URL_FILE *file) { size_t want = size - 1;/* always need to leave room for zero termination */ size_t loop; switch(file->type) { case CFTYPE_FILE: ptr = fgets(ptr, (int)size, file->handle.file); break; case CFTYPE_CURL: fill_buffer(file,want); /* check if theres data in the buffer - if not fill either errored or * EOF */ if(!file->buffer_pos) return NULL; /* ensure only available data is considered */ if(file->buffer_pos < want) want = file->buffer_pos; /*buffer contains data */ /* look for newline or eof */ for(loop=0;loop < want;loop++) { if(file->buffer[loop] == '\n') { want=loop+1;/* include newline */ break; } } /* xfer data to caller */ memcpy(ptr, file->buffer, want); ptr[want]=0;/* allways null terminate */ use_buffer(file,want); break; default: /* unknown or supported type - oh dear */ ptr=NULL; errno=EBADF; break; } return ptr;/*success */ } void url_rewind(URL_FILE *file) { switch(file->type) { case CFTYPE_FILE: rewind(file->handle.file); /* passthrough */ break; case CFTYPE_CURL: /* halt transaction */ curl_multi_remove_handle(multi_handle, file->handle.curl); /* restart */ curl_multi_add_handle(multi_handle, file->handle.curl); /* ditch buffer - write will recreate - resets stream pos*/ free(file->buffer); file->buffer=NULL; file->buffer_pos=0; file->buffer_len=0; break; default: /* unknown or supported type - oh dear */ break; } } /* Small main program to retrive from a url using fgets and fread saving the * output to two test files (note the fgets method will corrupt binary files if * they contain 0 chars */ int main(int argc, char *argv[]) { URL_FILE *handle; FILE *outf; size_t nread; char buffer[256]; const char *url; if(argc < 2) url="http://192.168.7.3/testfile";/* default to testurl */ else url=argv[1];/* use passed url */ /* copy from url line by line with fgets */ outf=fopen("fgets.test","w+"); if(!outf) { perror("couldn't open fgets output file\n"); return 1; } handle = url_fopen(url, "r"); if(!handle) { printf("couldn't url_fopen() %s\n", url); fclose(outf); return 2; } while(!url_feof(handle)) { url_fgets(buffer,sizeof(buffer),handle); fwrite(buffer,1,strlen(buffer),outf); } url_fclose(handle); fclose(outf); /* Copy from url with fread */ outf=fopen("fread.test","w+"); if(!outf) { perror("couldn't open fread output file\n"); return 1; } handle = url_fopen("testfile", "r"); if(!handle) { printf("couldn't url_fopen() testfile\n"); fclose(outf); return 2; } do { nread = url_fread(buffer, 1, sizeof(buffer), handle); fwrite(buffer,1,nread,outf); } while(nread); url_fclose(handle); fclose(outf); /* Test rewind */ outf=fopen("rewind.test","w+"); if(!outf) { perror("couldn't open fread output file\n"); return 1; } handle = url_fopen("testfile", "r"); if(!handle) { printf("couldn't url_fopen() testfile\n"); fclose(outf); return 2; } nread = url_fread(buffer, 1,sizeof(buffer), handle); fwrite(buffer,1,nread,outf); url_rewind(handle); buffer[0]='\n'; fwrite(buffer,1,1,outf); nread = url_fread(buffer, 1,sizeof(buffer), handle); fwrite(buffer,1,nread,outf); url_fclose(handle); fclose(outf); return 0;/* all done */ } curl-7.47.0/docs/examples/multi-app.c0000644000175000017500000001217312642501420014321 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * A basic application source code using the multi interface doing two * transfers in parallel. * */ #include #include /* somewhat unix-specific */ #include #include /* curl stuff */ #include /* * Download a HTTP file and upload an FTP file simultaneously. */ #define HANDLECOUNT 2 /* Number of simultaneous transfers */ #define HTTP_HANDLE 0 /* Index for the HTTP transfer */ #define FTP_HANDLE 1 /* Index for the FTP transfer */ int main(void) { CURL *handles[HANDLECOUNT]; CURLM *multi_handle; int still_running; /* keep number of running handles */ int i; CURLMsg *msg; /* for picking up messages with the transfer status */ int msgs_left; /* how many messages are left */ /* Allocate one CURL handle per transfer */ for (i=0; i= 0) { timeout.tv_sec = curl_timeo / 1000; if(timeout.tv_sec > 1) timeout.tv_sec = 1; else timeout.tv_usec = (curl_timeo % 1000) * 1000; } /* get file descriptors from the transfers */ mc = curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd); if(mc != CURLM_OK) { fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc); break; } /* On success the value of maxfd is guaranteed to be >= -1. We call select(maxfd + 1, ...); specially in case of (maxfd == -1) there are no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ if(maxfd == -1) { #ifdef _WIN32 Sleep(100); rc = 0; #else /* Portable sleep for platforms other than Windows. */ struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ rc = select(0, NULL, NULL, NULL, &wait); #endif } else { /* Note that on some platforms 'timeout' may be modified by select(). If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } switch(rc) { case -1: /* select error */ break; case 0: /* timeout */ default: /* action */ curl_multi_perform(multi_handle, &still_running); break; } } while(still_running); /* See how the transfers went */ while ((msg = curl_multi_info_read(multi_handle, &msgs_left))) { if (msg->msg == CURLMSG_DONE) { int idx, found = 0; /* Find out which handle this message is about */ for (idx=0; idxeasy_handle == handles[idx]); if(found) break; } switch (idx) { case HTTP_HANDLE: printf("HTTP transfer completed with status %d\n", msg->data.result); break; case FTP_HANDLE: printf("FTP transfer completed with status %d\n", msg->data.result); break; } } } curl_multi_cleanup(multi_handle); /* Free the CURL handles */ for (i=0; i, 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 http://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. * ***************************************************************************/ /* * Upload to FTP, resuming failed transfers. * */ #include #include #include #if defined(_MSC_VER) && (_MSC_VER < 1300) # error _snscanf requires MSVC 7.0 or later. #endif /* The MinGW headers are missing a few Win32 function definitions, you shouldn't need this if you use VC++ */ #if defined(__MINGW32__) && !defined(__MINGW64__) int __cdecl _snscanf(const char * input, size_t length, const char * format, ...); #endif /* parse headers for Content-Length */ size_t getcontentlengthfunc(void *ptr, size_t size, size_t nmemb, void *stream) { int r; long len = 0; /* _snscanf() is Win32 specific */ r = _snscanf(ptr, size * nmemb, "Content-Length: %ld\n", &len); if (r) /* Microsoft: we don't read the specs */ *((long *) stream) = len; return size * nmemb; } /* discard downloaded data */ size_t discardfunc(void *ptr, size_t size, size_t nmemb, void *stream) { return size * nmemb; } /* read data to upload */ size_t readfunc(void *ptr, size_t size, size_t nmemb, void *stream) { FILE *f = stream; size_t n; if (ferror(f)) return CURL_READFUNC_ABORT; n = fread(ptr, size, nmemb, f) * size; return n; } int upload(CURL *curlhandle, const char * remotepath, const char * localpath, long timeout, long tries) { FILE *f; long uploaded_len = 0; CURLcode r = CURLE_GOT_NOTHING; int c; f = fopen(localpath, "rb"); if (f == NULL) { perror(NULL); return 0; } curl_easy_setopt(curlhandle, CURLOPT_UPLOAD, 1L); curl_easy_setopt(curlhandle, CURLOPT_URL, remotepath); if (timeout) curl_easy_setopt(curlhandle, CURLOPT_FTP_RESPONSE_TIMEOUT, timeout); curl_easy_setopt(curlhandle, CURLOPT_HEADERFUNCTION, getcontentlengthfunc); curl_easy_setopt(curlhandle, CURLOPT_HEADERDATA, &uploaded_len); curl_easy_setopt(curlhandle, CURLOPT_WRITEFUNCTION, discardfunc); curl_easy_setopt(curlhandle, CURLOPT_READFUNCTION, readfunc); curl_easy_setopt(curlhandle, CURLOPT_READDATA, f); curl_easy_setopt(curlhandle, CURLOPT_FTPPORT, "-"); /* disable passive mode */ curl_easy_setopt(curlhandle, CURLOPT_FTP_CREATE_MISSING_DIRS, 1L); curl_easy_setopt(curlhandle, CURLOPT_VERBOSE, 1L); for (c = 0; (r != CURLE_OK) && (c < tries); c++) { /* are we resuming? */ if (c) { /* yes */ /* determine the length of the file already written */ /* * With NOBODY and NOHEADER, libcurl will issue a SIZE * command, but the only way to retrieve the result is * to parse the returned Content-Length header. Thus, * getcontentlengthfunc(). We need discardfunc() above * because HEADER will dump the headers to stdout * without it. */ curl_easy_setopt(curlhandle, CURLOPT_NOBODY, 1L); curl_easy_setopt(curlhandle, CURLOPT_HEADER, 1L); r = curl_easy_perform(curlhandle); if (r != CURLE_OK) continue; curl_easy_setopt(curlhandle, CURLOPT_NOBODY, 0L); curl_easy_setopt(curlhandle, CURLOPT_HEADER, 0L); fseek(f, uploaded_len, SEEK_SET); curl_easy_setopt(curlhandle, CURLOPT_APPEND, 1L); } else { /* no */ curl_easy_setopt(curlhandle, CURLOPT_APPEND, 0L); } r = curl_easy_perform(curlhandle); } fclose(f); if (r == CURLE_OK) return 1; else { fprintf(stderr, "%s\n", curl_easy_strerror(r)); return 0; } } int main(int c, char **argv) { CURL *curlhandle = NULL; curl_global_init(CURL_GLOBAL_ALL); curlhandle = curl_easy_init(); upload(curlhandle, "ftp://user:pass@example.com/path/file", "C:\\file", 0, 3); curl_easy_cleanup(curlhandle); curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/pop3-noop.c0000644000175000017500000000416012633553325014253 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * POP3 example showing how to perform a noop * */ #include #include /* This is a simple example showing how to perform a noop using libcurl's POP3 * capabilities. * * Note that this example requires libcurl 7.26.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This is just the server URL */ curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com"); /* Set the NOOP command */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "NOOP"); /* Do not perform a transfer as NOOP returns no data */ curl_easy_setopt(curl, CURLOPT_NOBODY, 1L); /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/href_extractor.c0000644000175000017500000000517412626067776015462 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2012 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Uses the "Streaming HTML parser" to extract the href pieces in a streaming * manner from a downloaded HTML. * */ /* * The HTML parser is found at http://code.google.com/p/htmlstreamparser/ */ #include #include #include static size_t write_callback(void *buffer, size_t size, size_t nmemb, void *hsp) { size_t realsize = size * nmemb, p; for (p = 0; p < realsize; p++) { html_parser_char_parse(hsp, ((char *)buffer)[p]); if (html_parser_cmp_tag(hsp, "a", 1)) if (html_parser_cmp_attr(hsp, "href", 4)) if (html_parser_is_in(hsp, HTML_VALUE_ENDED)) { html_parser_val(hsp)[html_parser_val_length(hsp)] = '\0'; printf("%s\n", html_parser_val(hsp)); } } return realsize; } int main(int argc, char *argv[]) { char tag[1], attr[4], val[128]; CURL *curl; HTMLSTREAMPARSER *hsp; if (argc != 2) { printf("Usage: %s URL\n", argv[0]); return EXIT_FAILURE; } curl = curl_easy_init(); hsp = html_parser_init(); html_parser_set_tag_to_lower(hsp, 1); html_parser_set_attr_to_lower(hsp, 1); html_parser_set_tag_buffer(hsp, tag, sizeof(tag)); html_parser_set_attr_buffer(hsp, attr, sizeof(attr)); html_parser_set_val_buffer(hsp, val, sizeof(val)-1); curl_easy_setopt(curl, CURLOPT_URL, argv[1]); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, hsp); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_perform(curl); curl_easy_cleanup(curl); html_parser_cleanup(hsp); return EXIT_SUCCESS; } curl-7.47.0/docs/examples/usercertinmem.c0000644000175000017500000002175512642501137015306 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 2013 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* /* Example using an in memory PEM user certificate and RSA key to retrieve an * https page. * */ /* Written by Ishan SinghLevett, based on Theo Borm's cacertinmem.c. * Note that to maintain simplicity this example does not use a CA certificate * for peer verification. However, some form of peer verification * must be used in real circumstances when a secure connection is required. */ #include #include #include #include #include static size_t writefunction(void *ptr, size_t size, size_t nmemb, void *stream) { fwrite(ptr,size,nmemb,stream); return(nmemb*size); } static CURLcode sslctx_function(CURL *curl, void *sslctx, void *parm) { X509 *cert = NULL; BIO *bio = NULL; BIO *kbio = NULL; RSA *rsa = NULL; int ret; const char *mypem = /* www.cacert.org */ "-----BEGIN CERTIFICATE-----\n"\ "MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\n"\ "IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\n"\ "IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA\n"\ "Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO\n"\ "BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi\n"\ "MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ\n"\ "ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\n"\ "CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ\n"\ "8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6\n"\ "zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y\n"\ "fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7\n"\ "w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc\n"\ "G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k\n"\ "epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q\n"\ "laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ\n"\ "QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU\n"\ "fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826\n"\ "YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w\n"\ "ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY\n"\ "gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe\n"\ "MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0\n"\ "IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy\n"\ "dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw\n"\ "czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0\n"\ "dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl\n"\ "aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC\n"\ "AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg\n"\ "b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB\n"\ "ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc\n"\ "nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg\n"\ "18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c\n"\ "gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl\n"\ "Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY\n"\ "sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T\n"\ "SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF\n"\ "CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum\n"\ "GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk\n"\ "zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW\n"\ "omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD\n"\ "-----END CERTIFICATE-----\n"; /*replace the XXX with the actual RSA key*/ const char *mykey = "-----BEGIN RSA PRIVATE KEY-----\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"\ "-----END RSA PRIVATE KEY-----\n"; (void)curl; /* avoid warnings */ (void)parm; /* avoid warnings */ /* get a BIO */ bio = BIO_new_mem_buf((char *)mypem, -1); if (bio == NULL) { printf("BIO_new_mem_buf failed\n"); } /* use it to read the PEM formatted certificate from memory into an X509 * structure that SSL can use */ cert = PEM_read_bio_X509(bio, NULL, 0, NULL); if (cert == NULL) { printf("PEM_read_bio_X509 failed...\n"); } /*tell SSL to use the X509 certificate*/ ret = SSL_CTX_use_certificate((SSL_CTX*)sslctx, cert); if (ret != 1) { printf("Use certificate failed\n"); } /*create a bio for the RSA key*/ kbio = BIO_new_mem_buf((char *)mykey, -1); if (kbio == NULL) { printf("BIO_new_mem_buf failed\n"); } /*read the key bio into an RSA object*/ rsa = PEM_read_bio_RSAPrivateKey(kbio, NULL, 0, NULL); if (rsa == NULL) { printf("Failed to create key bio\n"); } /*tell SSL to use the RSA key from memory*/ ret = SSL_CTX_use_RSAPrivateKey((SSL_CTX*)sslctx, rsa); if (ret != 1) { printf("Use Key failed\n"); } /* free resources that have been allocated by openssl functions */ if (bio) BIO_free(bio); if (kbio) BIO_free(kbio); if (rsa) RSA_free(rsa); if (cert) X509_free(cert); /* all set to go */ return CURLE_OK ; } int main(void) { CURL *ch; CURLcode rv; rv = curl_global_init(CURL_GLOBAL_ALL); ch = curl_easy_init(); rv = curl_easy_setopt(ch,CURLOPT_VERBOSE, 0L); rv = curl_easy_setopt(ch,CURLOPT_HEADER, 0L); rv = curl_easy_setopt(ch,CURLOPT_NOPROGRESS, 1L); rv = curl_easy_setopt(ch,CURLOPT_NOSIGNAL, 1L); rv = curl_easy_setopt(ch,CURLOPT_WRITEFUNCTION, *writefunction); rv = curl_easy_setopt(ch,CURLOPT_WRITEDATA, stdout); rv = curl_easy_setopt(ch,CURLOPT_HEADERFUNCTION, *writefunction); rv = curl_easy_setopt(ch,CURLOPT_HEADERDATA, stderr); rv = curl_easy_setopt(ch,CURLOPT_SSLCERTTYPE,"PEM"); /* both VERIFYPEER and VERIFYHOST are set to 0 in this case because there is no CA certificate*/ rv = curl_easy_setopt(ch,CURLOPT_SSL_VERIFYPEER, 0L); rv = curl_easy_setopt(ch,CURLOPT_SSL_VERIFYHOST, 0L); rv = curl_easy_setopt(ch, CURLOPT_URL, "https://www.example.com/"); rv = curl_easy_setopt(ch, CURLOPT_SSLKEYTYPE, "PEM"); /* first try: retrieve page without user certificate and key -> will fail */ rv = curl_easy_perform(ch); if (rv==CURLE_OK) { printf("*** transfer succeeded ***\n"); } else { printf("*** transfer failed ***\n"); } /* second try: retrieve page using user certificate and key -> will succeed * load the certificate and key by installing a function doing the necessary * "modifications" to the SSL CONTEXT just before link init */ rv = curl_easy_setopt(ch,CURLOPT_SSL_CTX_FUNCTION, *sslctx_function); rv = curl_easy_perform(ch); if (rv==CURLE_OK) { printf("*** transfer succeeded ***\n"); } else { printf("*** transfer failed ***\n"); } curl_easy_cleanup(ch); curl_global_cleanup(); return rv; } curl-7.47.0/docs/examples/imap-multi.c0000644000175000017500000001143112633553325014476 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example using the multi interface * */ #include #include #include /* This is a simple example showing how to fetch mail using libcurl's IMAP * capabilities. It builds on the imap-fetch.c example to demonstrate how to * use libcurl's multi interface. * * Note that this example requires libcurl 7.30.0 or above. */ #define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000 static struct timeval tvnow(void) { struct timeval now; /* time() returns the value of time in seconds since the epoch */ now.tv_sec = (long)time(NULL); now.tv_usec = 0; return now; } static long tvdiff(struct timeval newer, struct timeval older) { return (newer.tv_sec - older.tv_sec) * 1000 + (newer.tv_usec - older.tv_usec) / 1000; } int main(void) { CURL *curl; CURLM *mcurl; int still_running = 1; struct timeval mp_start; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(!curl) return 1; mcurl = curl_multi_init(); if(!mcurl) return 2; /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This will fetch message 1 from the user's inbox */ curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com/INBOX/;UID=1"); /* Tell the multi stack about our easy handle */ curl_multi_add_handle(mcurl, curl); /* Record the start time which we can use later */ mp_start = tvnow(); /* We start some action by calling perform right away */ curl_multi_perform(mcurl, &still_running); while(still_running) { struct timeval timeout; fd_set fdread; fd_set fdwrite; fd_set fdexcep; int maxfd = -1; int rc; CURLMcode mc; /* curl_multi_fdset() return code */ long curl_timeo = -1; /* Initialise the file descriptors */ FD_ZERO(&fdread); FD_ZERO(&fdwrite); FD_ZERO(&fdexcep); /* Set a suitable timeout to play around with */ timeout.tv_sec = 1; timeout.tv_usec = 0; curl_multi_timeout(mcurl, &curl_timeo); if(curl_timeo >= 0) { timeout.tv_sec = curl_timeo / 1000; if(timeout.tv_sec > 1) timeout.tv_sec = 1; else timeout.tv_usec = (curl_timeo % 1000) * 1000; } /* get file descriptors from the transfers */ mc = curl_multi_fdset(mcurl, &fdread, &fdwrite, &fdexcep, &maxfd); if(mc != CURLM_OK) { fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc); break; } /* On success the value of maxfd is guaranteed to be >= -1. We call select(maxfd + 1, ...); specially in case of (maxfd == -1) there are no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ if(maxfd == -1) { #ifdef _WIN32 Sleep(100); rc = 0; #else /* Portable sleep for platforms other than Windows. */ struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ rc = select(0, NULL, NULL, NULL, &wait); #endif } else { /* Note that on some platforms 'timeout' may be modified by select(). If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } if(tvdiff(tvnow(), mp_start) > MULTI_PERFORM_HANG_TIMEOUT) { fprintf(stderr, "ABORTING: Since it seems that we would have run forever.\n"); break; } switch(rc) { case -1: /* select error */ break; case 0: /* timeout */ default: /* action */ curl_multi_perform(mcurl, &still_running); break; } } /* Always cleanup */ curl_multi_remove_handle(mcurl, curl); curl_multi_cleanup(mcurl); curl_easy_cleanup(curl); curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/Makefile.am0000644000175000017500000000435312626067776014331 00000000000000#*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2012, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at http://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. # ########################################################################### AUTOMAKE_OPTIONS = foreign nostdinc EXTRA_DIST = README Makefile.example Makefile.inc Makefile.m32 \ Makefile.netware makefile.dj $(COMPLICATED_EXAMPLES) # Specify our include paths here, and do it relative to $(top_srcdir) and # $(top_builddir), to ensure that these paths which belong to the library # being currently built and tested are searched before the library which # might possibly already be installed in the system. # # $(top_builddir)/include/curl for generated curlbuild.h included from curl.h # $(top_builddir)/include for generated curlbuild.h inc. from lib/curl_setup.h # $(top_srcdir)/include is for libcurl's external include files AM_CPPFLAGS = -I$(top_builddir)/include/curl \ -I$(top_builddir)/include \ -I$(top_srcdir)/include LIBDIR = $(top_builddir)/lib # Avoid libcurl obsolete stuff AM_CPPFLAGS += -DCURL_NO_OLDIES if USE_CPPFLAG_CURL_STATICLIB AM_CPPFLAGS += -DCURL_STATICLIB endif # Prevent LIBS from being used for all link targets LIBS = $(BLANK_AT_MAKETIME) # Dependencies if USE_EXPLICIT_LIB_DEPS LDADD = $(LIBDIR)/libcurl.la @LIBCURL_LIBS@ else LDADD = $(LIBDIR)/libcurl.la endif # Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines include Makefile.inc all: $(check_PROGRAMS) curl-7.47.0/docs/examples/imap-list.c0000644000175000017500000000412212633553325014316 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * IMAP example to list the folders within a mailbox * */ #include #include /* This is a simple example showing how to list the folders within an IMAP * mailbox. * * Note that this example requires libcurl 7.30.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This will list the folders within the user's mailbox. If you want to * list the folders within a specific folder, for example the inbox, then * specify the folder as a path in the URL such as /INBOX */ curl_easy_setopt(curl, CURLOPT_URL, "imap://imap.example.com"); /* Perform the list */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/Makefile.in0000644000175000017500000021304412652071051014315 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2012, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at http://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. # ########################################################################### #*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at http://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. # ########################################################################### VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @USE_CPPFLAG_CURL_STATICLIB_TRUE@am__append_1 = -DCURL_STATICLIB check_PROGRAMS = 10-at-a-time$(EXEEXT) anyauthput$(EXEEXT) \ cookie_interface$(EXEEXT) debug$(EXEEXT) fileupload$(EXEEXT) \ fopen$(EXEEXT) ftpget$(EXEEXT) ftpgetresp$(EXEEXT) \ ftpupload$(EXEEXT) getinfo$(EXEEXT) getinmemory$(EXEEXT) \ http-post$(EXEEXT) httpput$(EXEEXT) https$(EXEEXT) \ multi-app$(EXEEXT) multi-debugcallback$(EXEEXT) \ multi-double$(EXEEXT) multi-post$(EXEEXT) \ multi-single$(EXEEXT) persistant$(EXEEXT) \ post-callback$(EXEEXT) postit2$(EXEEXT) sepheaders$(EXEEXT) \ simple$(EXEEXT) simplepost$(EXEEXT) simplessl$(EXEEXT) \ sendrecv$(EXEEXT) httpcustomheader$(EXEEXT) certinfo$(EXEEXT) \ chkspeed$(EXEEXT) ftpgetinfo$(EXEEXT) ftp-wildcard$(EXEEXT) \ smtp-mail$(EXEEXT) smtp-multi$(EXEEXT) smtp-ssl$(EXEEXT) \ smtp-tls$(EXEEXT) smtp-vrfy$(EXEEXT) smtp-expn$(EXEEXT) \ rtsp$(EXEEXT) externalsocket$(EXEEXT) resolve$(EXEEXT) \ progressfunc$(EXEEXT) pop3-retr$(EXEEXT) pop3-list$(EXEEXT) \ pop3-uidl$(EXEEXT) pop3-dele$(EXEEXT) pop3-top$(EXEEXT) \ pop3-stat$(EXEEXT) pop3-noop$(EXEEXT) pop3-ssl$(EXEEXT) \ pop3-tls$(EXEEXT) pop3-multi$(EXEEXT) imap-list$(EXEEXT) \ imap-lsub$(EXEEXT) imap-fetch$(EXEEXT) imap-store$(EXEEXT) \ imap-append$(EXEEXT) imap-examine$(EXEEXT) \ imap-search$(EXEEXT) imap-create$(EXEEXT) imap-delete$(EXEEXT) \ imap-copy$(EXEEXT) imap-noop$(EXEEXT) imap-ssl$(EXEEXT) \ imap-tls$(EXEEXT) imap-multi$(EXEEXT) url2file$(EXEEXT) \ sftpget$(EXEEXT) ftpsget$(EXEEXT) postinmemory$(EXEEXT) \ http2-download$(EXEEXT) http2-upload$(EXEEXT) \ http2-serverpush$(EXEEXT) getredirect$(EXEEXT) subdir = docs/examples ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curl-compilers.m4 \ $(top_srcdir)/m4/curl-confopts.m4 \ $(top_srcdir)/m4/curl-functions.m4 \ $(top_srcdir)/m4/curl-openssl.m4 \ $(top_srcdir)/m4/curl-override.m4 \ $(top_srcdir)/m4/curl-reentrant.m4 $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/xc-am-iface.m4 \ $(top_srcdir)/m4/xc-cc-check.m4 \ $(top_srcdir)/m4/xc-lt-iface.m4 \ $(top_srcdir)/m4/xc-translit.m4 \ $(top_srcdir)/m4/xc-val-flgs.m4 \ $(top_srcdir)/m4/zz40-xc-ovr.m4 \ $(top_srcdir)/m4/zz50-xc-ovr.m4 \ $(top_srcdir)/m4/zz60-xc-ovr.m4 $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/lib/curl_config.h \ $(top_builddir)/include/curl/curlbuild.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = 10_at_a_time_SOURCES = 10-at-a-time.c 10_at_a_time_OBJECTS = 10-at-a-time.$(OBJEXT) 10_at_a_time_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@10_at_a_time_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@10_at_a_time_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = anyauthput_SOURCES = anyauthput.c anyauthput_OBJECTS = anyauthput.$(OBJEXT) anyauthput_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@anyauthput_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@anyauthput_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la certinfo_SOURCES = certinfo.c certinfo_OBJECTS = certinfo.$(OBJEXT) certinfo_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@certinfo_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@certinfo_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la chkspeed_SOURCES = chkspeed.c chkspeed_OBJECTS = chkspeed.$(OBJEXT) chkspeed_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@chkspeed_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@chkspeed_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la cookie_interface_SOURCES = cookie_interface.c cookie_interface_OBJECTS = cookie_interface.$(OBJEXT) cookie_interface_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@cookie_interface_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@cookie_interface_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la debug_SOURCES = debug.c debug_OBJECTS = debug.$(OBJEXT) debug_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@debug_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@debug_DEPENDENCIES = $(LIBDIR)/libcurl.la externalsocket_SOURCES = externalsocket.c externalsocket_OBJECTS = externalsocket.$(OBJEXT) externalsocket_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@externalsocket_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@externalsocket_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la fileupload_SOURCES = fileupload.c fileupload_OBJECTS = fileupload.$(OBJEXT) fileupload_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@fileupload_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@fileupload_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la fopen_SOURCES = fopen.c fopen_OBJECTS = fopen.$(OBJEXT) fopen_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@fopen_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@fopen_DEPENDENCIES = $(LIBDIR)/libcurl.la ftp_wildcard_SOURCES = ftp-wildcard.c ftp_wildcard_OBJECTS = ftp-wildcard.$(OBJEXT) ftp_wildcard_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@ftp_wildcard_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@ftp_wildcard_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la ftpget_SOURCES = ftpget.c ftpget_OBJECTS = ftpget.$(OBJEXT) ftpget_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@ftpget_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@ftpget_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la ftpgetinfo_SOURCES = ftpgetinfo.c ftpgetinfo_OBJECTS = ftpgetinfo.$(OBJEXT) ftpgetinfo_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@ftpgetinfo_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@ftpgetinfo_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la ftpgetresp_SOURCES = ftpgetresp.c ftpgetresp_OBJECTS = ftpgetresp.$(OBJEXT) ftpgetresp_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@ftpgetresp_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@ftpgetresp_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la ftpsget_SOURCES = ftpsget.c ftpsget_OBJECTS = ftpsget.$(OBJEXT) ftpsget_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@ftpsget_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@ftpsget_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la ftpupload_SOURCES = ftpupload.c ftpupload_OBJECTS = ftpupload.$(OBJEXT) ftpupload_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@ftpupload_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@ftpupload_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la getinfo_SOURCES = getinfo.c getinfo_OBJECTS = getinfo.$(OBJEXT) getinfo_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@getinfo_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@getinfo_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la getinmemory_SOURCES = getinmemory.c getinmemory_OBJECTS = getinmemory.$(OBJEXT) getinmemory_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@getinmemory_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@getinmemory_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la getredirect_SOURCES = getredirect.c getredirect_OBJECTS = getredirect.$(OBJEXT) getredirect_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@getredirect_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@getredirect_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la http_post_SOURCES = http-post.c http_post_OBJECTS = http-post.$(OBJEXT) http_post_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@http_post_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@http_post_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la http2_download_SOURCES = http2-download.c http2_download_OBJECTS = http2-download.$(OBJEXT) http2_download_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@http2_download_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@http2_download_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la http2_serverpush_SOURCES = http2-serverpush.c http2_serverpush_OBJECTS = http2-serverpush.$(OBJEXT) http2_serverpush_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@http2_serverpush_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@http2_serverpush_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la http2_upload_SOURCES = http2-upload.c http2_upload_OBJECTS = http2-upload.$(OBJEXT) http2_upload_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@http2_upload_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@http2_upload_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la httpcustomheader_SOURCES = httpcustomheader.c httpcustomheader_OBJECTS = httpcustomheader.$(OBJEXT) httpcustomheader_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@httpcustomheader_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@httpcustomheader_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la httpput_SOURCES = httpput.c httpput_OBJECTS = httpput.$(OBJEXT) httpput_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@httpput_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@httpput_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la https_SOURCES = https.c https_OBJECTS = https.$(OBJEXT) https_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@https_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@https_DEPENDENCIES = $(LIBDIR)/libcurl.la imap_append_SOURCES = imap-append.c imap_append_OBJECTS = imap-append.$(OBJEXT) imap_append_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_append_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_append_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la imap_copy_SOURCES = imap-copy.c imap_copy_OBJECTS = imap-copy.$(OBJEXT) imap_copy_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_copy_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_copy_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la imap_create_SOURCES = imap-create.c imap_create_OBJECTS = imap-create.$(OBJEXT) imap_create_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_create_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_create_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la imap_delete_SOURCES = imap-delete.c imap_delete_OBJECTS = imap-delete.$(OBJEXT) imap_delete_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_delete_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_delete_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la imap_examine_SOURCES = imap-examine.c imap_examine_OBJECTS = imap-examine.$(OBJEXT) imap_examine_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_examine_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_examine_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la imap_fetch_SOURCES = imap-fetch.c imap_fetch_OBJECTS = imap-fetch.$(OBJEXT) imap_fetch_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_fetch_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_fetch_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la imap_list_SOURCES = imap-list.c imap_list_OBJECTS = imap-list.$(OBJEXT) imap_list_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_list_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_list_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la imap_lsub_SOURCES = imap-lsub.c imap_lsub_OBJECTS = imap-lsub.$(OBJEXT) imap_lsub_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_lsub_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_lsub_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la imap_multi_SOURCES = imap-multi.c imap_multi_OBJECTS = imap-multi.$(OBJEXT) imap_multi_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_multi_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_multi_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la imap_noop_SOURCES = imap-noop.c imap_noop_OBJECTS = imap-noop.$(OBJEXT) imap_noop_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_noop_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_noop_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la imap_search_SOURCES = imap-search.c imap_search_OBJECTS = imap-search.$(OBJEXT) imap_search_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_search_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_search_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la imap_ssl_SOURCES = imap-ssl.c imap_ssl_OBJECTS = imap-ssl.$(OBJEXT) imap_ssl_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_ssl_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_ssl_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la imap_store_SOURCES = imap-store.c imap_store_OBJECTS = imap-store.$(OBJEXT) imap_store_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_store_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_store_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la imap_tls_SOURCES = imap-tls.c imap_tls_OBJECTS = imap-tls.$(OBJEXT) imap_tls_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@imap_tls_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@imap_tls_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la multi_app_SOURCES = multi-app.c multi_app_OBJECTS = multi-app.$(OBJEXT) multi_app_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@multi_app_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@multi_app_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la multi_debugcallback_SOURCES = multi-debugcallback.c multi_debugcallback_OBJECTS = multi-debugcallback.$(OBJEXT) multi_debugcallback_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@multi_debugcallback_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@multi_debugcallback_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la multi_double_SOURCES = multi-double.c multi_double_OBJECTS = multi-double.$(OBJEXT) multi_double_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@multi_double_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@multi_double_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la multi_post_SOURCES = multi-post.c multi_post_OBJECTS = multi-post.$(OBJEXT) multi_post_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@multi_post_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@multi_post_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la multi_single_SOURCES = multi-single.c multi_single_OBJECTS = multi-single.$(OBJEXT) multi_single_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@multi_single_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@multi_single_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la persistant_SOURCES = persistant.c persistant_OBJECTS = persistant.$(OBJEXT) persistant_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@persistant_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@persistant_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la pop3_dele_SOURCES = pop3-dele.c pop3_dele_OBJECTS = pop3-dele.$(OBJEXT) pop3_dele_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@pop3_dele_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@pop3_dele_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la pop3_list_SOURCES = pop3-list.c pop3_list_OBJECTS = pop3-list.$(OBJEXT) pop3_list_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@pop3_list_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@pop3_list_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la pop3_multi_SOURCES = pop3-multi.c pop3_multi_OBJECTS = pop3-multi.$(OBJEXT) pop3_multi_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@pop3_multi_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@pop3_multi_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la pop3_noop_SOURCES = pop3-noop.c pop3_noop_OBJECTS = pop3-noop.$(OBJEXT) pop3_noop_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@pop3_noop_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@pop3_noop_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la pop3_retr_SOURCES = pop3-retr.c pop3_retr_OBJECTS = pop3-retr.$(OBJEXT) pop3_retr_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@pop3_retr_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@pop3_retr_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la pop3_ssl_SOURCES = pop3-ssl.c pop3_ssl_OBJECTS = pop3-ssl.$(OBJEXT) pop3_ssl_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@pop3_ssl_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@pop3_ssl_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la pop3_stat_SOURCES = pop3-stat.c pop3_stat_OBJECTS = pop3-stat.$(OBJEXT) pop3_stat_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@pop3_stat_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@pop3_stat_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la pop3_tls_SOURCES = pop3-tls.c pop3_tls_OBJECTS = pop3-tls.$(OBJEXT) pop3_tls_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@pop3_tls_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@pop3_tls_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la pop3_top_SOURCES = pop3-top.c pop3_top_OBJECTS = pop3-top.$(OBJEXT) pop3_top_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@pop3_top_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@pop3_top_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la pop3_uidl_SOURCES = pop3-uidl.c pop3_uidl_OBJECTS = pop3-uidl.$(OBJEXT) pop3_uidl_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@pop3_uidl_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@pop3_uidl_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la post_callback_SOURCES = post-callback.c post_callback_OBJECTS = post-callback.$(OBJEXT) post_callback_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@post_callback_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@post_callback_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la postinmemory_SOURCES = postinmemory.c postinmemory_OBJECTS = postinmemory.$(OBJEXT) postinmemory_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@postinmemory_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@postinmemory_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la postit2_SOURCES = postit2.c postit2_OBJECTS = postit2.$(OBJEXT) postit2_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@postit2_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@postit2_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la progressfunc_SOURCES = progressfunc.c progressfunc_OBJECTS = progressfunc.$(OBJEXT) progressfunc_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@progressfunc_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@progressfunc_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la resolve_SOURCES = resolve.c resolve_OBJECTS = resolve.$(OBJEXT) resolve_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@resolve_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@resolve_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la rtsp_SOURCES = rtsp.c rtsp_OBJECTS = rtsp.$(OBJEXT) rtsp_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@rtsp_DEPENDENCIES = $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@rtsp_DEPENDENCIES = $(LIBDIR)/libcurl.la sendrecv_SOURCES = sendrecv.c sendrecv_OBJECTS = sendrecv.$(OBJEXT) sendrecv_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@sendrecv_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@sendrecv_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la sepheaders_SOURCES = sepheaders.c sepheaders_OBJECTS = sepheaders.$(OBJEXT) sepheaders_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@sepheaders_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@sepheaders_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la sftpget_SOURCES = sftpget.c sftpget_OBJECTS = sftpget.$(OBJEXT) sftpget_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@sftpget_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@sftpget_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la simple_SOURCES = simple.c simple_OBJECTS = simple.$(OBJEXT) simple_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@simple_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@simple_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la simplepost_SOURCES = simplepost.c simplepost_OBJECTS = simplepost.$(OBJEXT) simplepost_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@simplepost_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@simplepost_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la simplessl_SOURCES = simplessl.c simplessl_OBJECTS = simplessl.$(OBJEXT) simplessl_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@simplessl_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@simplessl_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la smtp_expn_SOURCES = smtp-expn.c smtp_expn_OBJECTS = smtp-expn.$(OBJEXT) smtp_expn_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@smtp_expn_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@smtp_expn_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la smtp_mail_SOURCES = smtp-mail.c smtp_mail_OBJECTS = smtp-mail.$(OBJEXT) smtp_mail_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@smtp_mail_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@smtp_mail_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la smtp_multi_SOURCES = smtp-multi.c smtp_multi_OBJECTS = smtp-multi.$(OBJEXT) smtp_multi_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@smtp_multi_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@smtp_multi_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la smtp_ssl_SOURCES = smtp-ssl.c smtp_ssl_OBJECTS = smtp-ssl.$(OBJEXT) smtp_ssl_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@smtp_ssl_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@smtp_ssl_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la smtp_tls_SOURCES = smtp-tls.c smtp_tls_OBJECTS = smtp-tls.$(OBJEXT) smtp_tls_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@smtp_tls_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@smtp_tls_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la smtp_vrfy_SOURCES = smtp-vrfy.c smtp_vrfy_OBJECTS = smtp-vrfy.$(OBJEXT) smtp_vrfy_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@smtp_vrfy_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@smtp_vrfy_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la url2file_SOURCES = url2file.c url2file_OBJECTS = url2file.$(OBJEXT) url2file_LDADD = $(LDADD) @USE_EXPLICIT_LIB_DEPS_FALSE@url2file_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_FALSE@ $(LIBDIR)/libcurl.la @USE_EXPLICIT_LIB_DEPS_TRUE@url2file_DEPENDENCIES = \ @USE_EXPLICIT_LIB_DEPS_TRUE@ $(LIBDIR)/libcurl.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = 10-at-a-time.c anyauthput.c certinfo.c chkspeed.c \ cookie_interface.c debug.c externalsocket.c fileupload.c \ fopen.c ftp-wildcard.c ftpget.c ftpgetinfo.c ftpgetresp.c \ ftpsget.c ftpupload.c getinfo.c getinmemory.c getredirect.c \ http-post.c http2-download.c http2-serverpush.c http2-upload.c \ httpcustomheader.c httpput.c https.c imap-append.c imap-copy.c \ imap-create.c imap-delete.c imap-examine.c imap-fetch.c \ imap-list.c imap-lsub.c imap-multi.c imap-noop.c imap-search.c \ imap-ssl.c imap-store.c imap-tls.c multi-app.c \ multi-debugcallback.c multi-double.c multi-post.c \ multi-single.c persistant.c pop3-dele.c pop3-list.c \ pop3-multi.c pop3-noop.c pop3-retr.c pop3-ssl.c pop3-stat.c \ pop3-tls.c pop3-top.c pop3-uidl.c post-callback.c \ postinmemory.c postit2.c progressfunc.c resolve.c rtsp.c \ sendrecv.c sepheaders.c sftpget.c simple.c simplepost.c \ simplessl.c smtp-expn.c smtp-mail.c smtp-multi.c smtp-ssl.c \ smtp-tls.c smtp-vrfy.c url2file.c DIST_SOURCES = 10-at-a-time.c anyauthput.c certinfo.c chkspeed.c \ cookie_interface.c debug.c externalsocket.c fileupload.c \ fopen.c ftp-wildcard.c ftpget.c ftpgetinfo.c ftpgetresp.c \ ftpsget.c ftpupload.c getinfo.c getinmemory.c getredirect.c \ http-post.c http2-download.c http2-serverpush.c http2-upload.c \ httpcustomheader.c httpput.c https.c imap-append.c imap-copy.c \ imap-create.c imap-delete.c imap-examine.c imap-fetch.c \ imap-list.c imap-lsub.c imap-multi.c imap-noop.c imap-search.c \ imap-ssl.c imap-store.c imap-tls.c multi-app.c \ multi-debugcallback.c multi-double.c multi-post.c \ multi-single.c persistant.c pop3-dele.c pop3-list.c \ pop3-multi.c pop3-noop.c pop3-retr.c pop3-ssl.c pop3-stat.c \ pop3-tls.c pop3-top.c pop3-uidl.c post-callback.c \ postinmemory.c postit2.c progressfunc.c resolve.c rtsp.c \ sendrecv.c sepheaders.c sftpget.c simple.c simplepost.c \ simplessl.c smtp-expn.c smtp-mail.c smtp-multi.c smtp-ssl.c \ smtp-tls.c smtp-vrfy.c url2file.c am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.inc \ $(top_srcdir)/depcomp README DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BLANK_AT_MAKETIME = @BLANK_AT_MAKETIME@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@ CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CPPFLAG_CURL_STATICLIB = @CPPFLAG_CURL_STATICLIB@ CURLVERSION = @CURLVERSION@ CURL_CA_BUNDLE = @CURL_CA_BUNDLE@ CURL_CFLAG_EXTRAS = @CURL_CFLAG_EXTRAS@ CURL_DISABLE_DICT = @CURL_DISABLE_DICT@ CURL_DISABLE_FILE = @CURL_DISABLE_FILE@ CURL_DISABLE_FTP = @CURL_DISABLE_FTP@ CURL_DISABLE_GOPHER = @CURL_DISABLE_GOPHER@ CURL_DISABLE_HTTP = @CURL_DISABLE_HTTP@ CURL_DISABLE_IMAP = @CURL_DISABLE_IMAP@ CURL_DISABLE_LDAP = @CURL_DISABLE_LDAP@ CURL_DISABLE_LDAPS = @CURL_DISABLE_LDAPS@ CURL_DISABLE_POP3 = @CURL_DISABLE_POP3@ CURL_DISABLE_PROXY = @CURL_DISABLE_PROXY@ CURL_DISABLE_RTSP = @CURL_DISABLE_RTSP@ CURL_DISABLE_SMB = @CURL_DISABLE_SMB@ CURL_DISABLE_SMTP = @CURL_DISABLE_SMTP@ CURL_DISABLE_TELNET = @CURL_DISABLE_TELNET@ CURL_DISABLE_TFTP = @CURL_DISABLE_TFTP@ CURL_LT_SHLIB_VERSIONED_FLAVOUR = @CURL_LT_SHLIB_VERSIONED_FLAVOUR@ CURL_NETWORK_AND_TIME_LIBS = @CURL_NETWORK_AND_TIME_LIBS@ CURL_NETWORK_LIBS = @CURL_NETWORK_LIBS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ENABLE_SHARED = @ENABLE_SHARED@ ENABLE_STATIC = @ENABLE_STATIC@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ HAVE_GNUTLS_SRP = @HAVE_GNUTLS_SRP@ HAVE_LDAP_SSL = @HAVE_LDAP_SSL@ HAVE_LIBZ = @HAVE_LIBZ@ HAVE_OPENSSL_SRP = @HAVE_OPENSSL_SRP@ IDN_ENABLED = @IDN_ENABLED@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IPV6_ENABLED = @IPV6_ENABLED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBCURL_LIBS = @LIBCURL_LIBS@ LIBMETALINK_CPPFLAGS = @LIBMETALINK_CPPFLAGS@ LIBMETALINK_LDFLAGS = @LIBMETALINK_LDFLAGS@ LIBMETALINK_LIBS = @LIBMETALINK_LIBS@ LIBOBJS = @LIBOBJS@ # Prevent LIBS from being used for all link targets LIBS = $(BLANK_AT_MAKETIME) LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MANOPT = @MANOPT@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ NROFF = @NROFF@ NSS_LIBS = @NSS_LIBS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PERL = @PERL@ PKGADD_NAME = @PKGADD_NAME@ PKGADD_PKG = @PKGADD_PKG@ PKGADD_VENDOR = @PKGADD_VENDOR@ PKGCONFIG = @PKGCONFIG@ RANDOM_FILE = @RANDOM_FILE@ RANLIB = @RANLIB@ REQUIRE_LIB_DEPS = @REQUIRE_LIB_DEPS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SSL_ENABLED = @SSL_ENABLED@ SSL_LIBS = @SSL_LIBS@ STRIP = @STRIP@ SUPPORT_FEATURES = @SUPPORT_FEATURES@ SUPPORT_PROTOCOLS = @SUPPORT_PROTOCOLS@ USE_ARES = @USE_ARES@ USE_AXTLS = @USE_AXTLS@ USE_CYASSL = @USE_CYASSL@ USE_DARWINSSL = @USE_DARWINSSL@ USE_GNUTLS = @USE_GNUTLS@ USE_GNUTLS_NETTLE = @USE_GNUTLS_NETTLE@ USE_LIBRTMP = @USE_LIBRTMP@ USE_LIBSSH2 = @USE_LIBSSH2@ USE_MBEDTLS = @USE_MBEDTLS@ USE_NGHTTP2 = @USE_NGHTTP2@ USE_NSS = @USE_NSS@ USE_OPENLDAP = @USE_OPENLDAP@ USE_POLARSSL = @USE_POLARSSL@ USE_SCHANNEL = @USE_SCHANNEL@ USE_UNIX_SOCKETS = @USE_UNIX_SOCKETS@ USE_WINDOWS_SSPI = @USE_WINDOWS_SSPI@ VERSION = @VERSION@ VERSIONNUM = @VERSIONNUM@ ZLIB_LIBS = @ZLIB_LIBS@ ZSH_FUNCTIONS_DIR = @ZSH_FUNCTIONS_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ libext = @libext@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = foreign nostdinc EXTRA_DIST = README Makefile.example Makefile.inc Makefile.m32 \ Makefile.netware makefile.dj $(COMPLICATED_EXAMPLES) # Specify our include paths here, and do it relative to $(top_srcdir) and # $(top_builddir), to ensure that these paths which belong to the library # being currently built and tested are searched before the library which # might possibly already be installed in the system. # # $(top_builddir)/include/curl for generated curlbuild.h included from curl.h # $(top_builddir)/include for generated curlbuild.h inc. from lib/curl_setup.h # $(top_srcdir)/include is for libcurl's external include files # Avoid libcurl obsolete stuff AM_CPPFLAGS = -I$(top_builddir)/include/curl -I$(top_builddir)/include \ -I$(top_srcdir)/include -DCURL_NO_OLDIES $(am__append_1) LIBDIR = $(top_builddir)/lib @USE_EXPLICIT_LIB_DEPS_FALSE@LDADD = $(LIBDIR)/libcurl.la # Dependencies @USE_EXPLICIT_LIB_DEPS_TRUE@LDADD = $(LIBDIR)/libcurl.la @LIBCURL_LIBS@ # These examples require external dependencies that may not be commonly # available on POSIX systems, so don't bother attempting to compile them here. COMPLICATED_EXAMPLES = curlgtk.c curlx.c htmltitle.cpp cacertinmem.c \ ftpuploadresume.c ghiper.c hiperfifo.c htmltidy.c multithread.c \ opensslthreadlock.c sampleconv.c synctime.c threaded-ssl.c evhiperfifo.c \ smooth-gtk-thread.c version-check.pl href_extractor.c asiohiper.cpp \ multi-uv.c xmlstream.c usercertinmem.c sessioninfo.c all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/Makefile.inc $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign docs/examples/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign docs/examples/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(srcdir)/Makefile.inc $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list 10-at-a-time$(EXEEXT): $(10_at_a_time_OBJECTS) $(10_at_a_time_DEPENDENCIES) $(EXTRA_10_at_a_time_DEPENDENCIES) @rm -f 10-at-a-time$(EXEEXT) $(AM_V_CCLD)$(LINK) $(10_at_a_time_OBJECTS) $(10_at_a_time_LDADD) $(LIBS) anyauthput$(EXEEXT): $(anyauthput_OBJECTS) $(anyauthput_DEPENDENCIES) $(EXTRA_anyauthput_DEPENDENCIES) @rm -f anyauthput$(EXEEXT) $(AM_V_CCLD)$(LINK) $(anyauthput_OBJECTS) $(anyauthput_LDADD) $(LIBS) certinfo$(EXEEXT): $(certinfo_OBJECTS) $(certinfo_DEPENDENCIES) $(EXTRA_certinfo_DEPENDENCIES) @rm -f certinfo$(EXEEXT) $(AM_V_CCLD)$(LINK) $(certinfo_OBJECTS) $(certinfo_LDADD) $(LIBS) chkspeed$(EXEEXT): $(chkspeed_OBJECTS) $(chkspeed_DEPENDENCIES) $(EXTRA_chkspeed_DEPENDENCIES) @rm -f chkspeed$(EXEEXT) $(AM_V_CCLD)$(LINK) $(chkspeed_OBJECTS) $(chkspeed_LDADD) $(LIBS) cookie_interface$(EXEEXT): $(cookie_interface_OBJECTS) $(cookie_interface_DEPENDENCIES) $(EXTRA_cookie_interface_DEPENDENCIES) @rm -f cookie_interface$(EXEEXT) $(AM_V_CCLD)$(LINK) $(cookie_interface_OBJECTS) $(cookie_interface_LDADD) $(LIBS) debug$(EXEEXT): $(debug_OBJECTS) $(debug_DEPENDENCIES) $(EXTRA_debug_DEPENDENCIES) @rm -f debug$(EXEEXT) $(AM_V_CCLD)$(LINK) $(debug_OBJECTS) $(debug_LDADD) $(LIBS) externalsocket$(EXEEXT): $(externalsocket_OBJECTS) $(externalsocket_DEPENDENCIES) $(EXTRA_externalsocket_DEPENDENCIES) @rm -f externalsocket$(EXEEXT) $(AM_V_CCLD)$(LINK) $(externalsocket_OBJECTS) $(externalsocket_LDADD) $(LIBS) fileupload$(EXEEXT): $(fileupload_OBJECTS) $(fileupload_DEPENDENCIES) $(EXTRA_fileupload_DEPENDENCIES) @rm -f fileupload$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fileupload_OBJECTS) $(fileupload_LDADD) $(LIBS) fopen$(EXEEXT): $(fopen_OBJECTS) $(fopen_DEPENDENCIES) $(EXTRA_fopen_DEPENDENCIES) @rm -f fopen$(EXEEXT) $(AM_V_CCLD)$(LINK) $(fopen_OBJECTS) $(fopen_LDADD) $(LIBS) ftp-wildcard$(EXEEXT): $(ftp_wildcard_OBJECTS) $(ftp_wildcard_DEPENDENCIES) $(EXTRA_ftp_wildcard_DEPENDENCIES) @rm -f ftp-wildcard$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ftp_wildcard_OBJECTS) $(ftp_wildcard_LDADD) $(LIBS) ftpget$(EXEEXT): $(ftpget_OBJECTS) $(ftpget_DEPENDENCIES) $(EXTRA_ftpget_DEPENDENCIES) @rm -f ftpget$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ftpget_OBJECTS) $(ftpget_LDADD) $(LIBS) ftpgetinfo$(EXEEXT): $(ftpgetinfo_OBJECTS) $(ftpgetinfo_DEPENDENCIES) $(EXTRA_ftpgetinfo_DEPENDENCIES) @rm -f ftpgetinfo$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ftpgetinfo_OBJECTS) $(ftpgetinfo_LDADD) $(LIBS) ftpgetresp$(EXEEXT): $(ftpgetresp_OBJECTS) $(ftpgetresp_DEPENDENCIES) $(EXTRA_ftpgetresp_DEPENDENCIES) @rm -f ftpgetresp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ftpgetresp_OBJECTS) $(ftpgetresp_LDADD) $(LIBS) ftpsget$(EXEEXT): $(ftpsget_OBJECTS) $(ftpsget_DEPENDENCIES) $(EXTRA_ftpsget_DEPENDENCIES) @rm -f ftpsget$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ftpsget_OBJECTS) $(ftpsget_LDADD) $(LIBS) ftpupload$(EXEEXT): $(ftpupload_OBJECTS) $(ftpupload_DEPENDENCIES) $(EXTRA_ftpupload_DEPENDENCIES) @rm -f ftpupload$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ftpupload_OBJECTS) $(ftpupload_LDADD) $(LIBS) getinfo$(EXEEXT): $(getinfo_OBJECTS) $(getinfo_DEPENDENCIES) $(EXTRA_getinfo_DEPENDENCIES) @rm -f getinfo$(EXEEXT) $(AM_V_CCLD)$(LINK) $(getinfo_OBJECTS) $(getinfo_LDADD) $(LIBS) getinmemory$(EXEEXT): $(getinmemory_OBJECTS) $(getinmemory_DEPENDENCIES) $(EXTRA_getinmemory_DEPENDENCIES) @rm -f getinmemory$(EXEEXT) $(AM_V_CCLD)$(LINK) $(getinmemory_OBJECTS) $(getinmemory_LDADD) $(LIBS) getredirect$(EXEEXT): $(getredirect_OBJECTS) $(getredirect_DEPENDENCIES) $(EXTRA_getredirect_DEPENDENCIES) @rm -f getredirect$(EXEEXT) $(AM_V_CCLD)$(LINK) $(getredirect_OBJECTS) $(getredirect_LDADD) $(LIBS) http-post$(EXEEXT): $(http_post_OBJECTS) $(http_post_DEPENDENCIES) $(EXTRA_http_post_DEPENDENCIES) @rm -f http-post$(EXEEXT) $(AM_V_CCLD)$(LINK) $(http_post_OBJECTS) $(http_post_LDADD) $(LIBS) http2-download$(EXEEXT): $(http2_download_OBJECTS) $(http2_download_DEPENDENCIES) $(EXTRA_http2_download_DEPENDENCIES) @rm -f http2-download$(EXEEXT) $(AM_V_CCLD)$(LINK) $(http2_download_OBJECTS) $(http2_download_LDADD) $(LIBS) http2-serverpush$(EXEEXT): $(http2_serverpush_OBJECTS) $(http2_serverpush_DEPENDENCIES) $(EXTRA_http2_serverpush_DEPENDENCIES) @rm -f http2-serverpush$(EXEEXT) $(AM_V_CCLD)$(LINK) $(http2_serverpush_OBJECTS) $(http2_serverpush_LDADD) $(LIBS) http2-upload$(EXEEXT): $(http2_upload_OBJECTS) $(http2_upload_DEPENDENCIES) $(EXTRA_http2_upload_DEPENDENCIES) @rm -f http2-upload$(EXEEXT) $(AM_V_CCLD)$(LINK) $(http2_upload_OBJECTS) $(http2_upload_LDADD) $(LIBS) httpcustomheader$(EXEEXT): $(httpcustomheader_OBJECTS) $(httpcustomheader_DEPENDENCIES) $(EXTRA_httpcustomheader_DEPENDENCIES) @rm -f httpcustomheader$(EXEEXT) $(AM_V_CCLD)$(LINK) $(httpcustomheader_OBJECTS) $(httpcustomheader_LDADD) $(LIBS) httpput$(EXEEXT): $(httpput_OBJECTS) $(httpput_DEPENDENCIES) $(EXTRA_httpput_DEPENDENCIES) @rm -f httpput$(EXEEXT) $(AM_V_CCLD)$(LINK) $(httpput_OBJECTS) $(httpput_LDADD) $(LIBS) https$(EXEEXT): $(https_OBJECTS) $(https_DEPENDENCIES) $(EXTRA_https_DEPENDENCIES) @rm -f https$(EXEEXT) $(AM_V_CCLD)$(LINK) $(https_OBJECTS) $(https_LDADD) $(LIBS) imap-append$(EXEEXT): $(imap_append_OBJECTS) $(imap_append_DEPENDENCIES) $(EXTRA_imap_append_DEPENDENCIES) @rm -f imap-append$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_append_OBJECTS) $(imap_append_LDADD) $(LIBS) imap-copy$(EXEEXT): $(imap_copy_OBJECTS) $(imap_copy_DEPENDENCIES) $(EXTRA_imap_copy_DEPENDENCIES) @rm -f imap-copy$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_copy_OBJECTS) $(imap_copy_LDADD) $(LIBS) imap-create$(EXEEXT): $(imap_create_OBJECTS) $(imap_create_DEPENDENCIES) $(EXTRA_imap_create_DEPENDENCIES) @rm -f imap-create$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_create_OBJECTS) $(imap_create_LDADD) $(LIBS) imap-delete$(EXEEXT): $(imap_delete_OBJECTS) $(imap_delete_DEPENDENCIES) $(EXTRA_imap_delete_DEPENDENCIES) @rm -f imap-delete$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_delete_OBJECTS) $(imap_delete_LDADD) $(LIBS) imap-examine$(EXEEXT): $(imap_examine_OBJECTS) $(imap_examine_DEPENDENCIES) $(EXTRA_imap_examine_DEPENDENCIES) @rm -f imap-examine$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_examine_OBJECTS) $(imap_examine_LDADD) $(LIBS) imap-fetch$(EXEEXT): $(imap_fetch_OBJECTS) $(imap_fetch_DEPENDENCIES) $(EXTRA_imap_fetch_DEPENDENCIES) @rm -f imap-fetch$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_fetch_OBJECTS) $(imap_fetch_LDADD) $(LIBS) imap-list$(EXEEXT): $(imap_list_OBJECTS) $(imap_list_DEPENDENCIES) $(EXTRA_imap_list_DEPENDENCIES) @rm -f imap-list$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_list_OBJECTS) $(imap_list_LDADD) $(LIBS) imap-lsub$(EXEEXT): $(imap_lsub_OBJECTS) $(imap_lsub_DEPENDENCIES) $(EXTRA_imap_lsub_DEPENDENCIES) @rm -f imap-lsub$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_lsub_OBJECTS) $(imap_lsub_LDADD) $(LIBS) imap-multi$(EXEEXT): $(imap_multi_OBJECTS) $(imap_multi_DEPENDENCIES) $(EXTRA_imap_multi_DEPENDENCIES) @rm -f imap-multi$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_multi_OBJECTS) $(imap_multi_LDADD) $(LIBS) imap-noop$(EXEEXT): $(imap_noop_OBJECTS) $(imap_noop_DEPENDENCIES) $(EXTRA_imap_noop_DEPENDENCIES) @rm -f imap-noop$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_noop_OBJECTS) $(imap_noop_LDADD) $(LIBS) imap-search$(EXEEXT): $(imap_search_OBJECTS) $(imap_search_DEPENDENCIES) $(EXTRA_imap_search_DEPENDENCIES) @rm -f imap-search$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_search_OBJECTS) $(imap_search_LDADD) $(LIBS) imap-ssl$(EXEEXT): $(imap_ssl_OBJECTS) $(imap_ssl_DEPENDENCIES) $(EXTRA_imap_ssl_DEPENDENCIES) @rm -f imap-ssl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_ssl_OBJECTS) $(imap_ssl_LDADD) $(LIBS) imap-store$(EXEEXT): $(imap_store_OBJECTS) $(imap_store_DEPENDENCIES) $(EXTRA_imap_store_DEPENDENCIES) @rm -f imap-store$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_store_OBJECTS) $(imap_store_LDADD) $(LIBS) imap-tls$(EXEEXT): $(imap_tls_OBJECTS) $(imap_tls_DEPENDENCIES) $(EXTRA_imap_tls_DEPENDENCIES) @rm -f imap-tls$(EXEEXT) $(AM_V_CCLD)$(LINK) $(imap_tls_OBJECTS) $(imap_tls_LDADD) $(LIBS) multi-app$(EXEEXT): $(multi_app_OBJECTS) $(multi_app_DEPENDENCIES) $(EXTRA_multi_app_DEPENDENCIES) @rm -f multi-app$(EXEEXT) $(AM_V_CCLD)$(LINK) $(multi_app_OBJECTS) $(multi_app_LDADD) $(LIBS) multi-debugcallback$(EXEEXT): $(multi_debugcallback_OBJECTS) $(multi_debugcallback_DEPENDENCIES) $(EXTRA_multi_debugcallback_DEPENDENCIES) @rm -f multi-debugcallback$(EXEEXT) $(AM_V_CCLD)$(LINK) $(multi_debugcallback_OBJECTS) $(multi_debugcallback_LDADD) $(LIBS) multi-double$(EXEEXT): $(multi_double_OBJECTS) $(multi_double_DEPENDENCIES) $(EXTRA_multi_double_DEPENDENCIES) @rm -f multi-double$(EXEEXT) $(AM_V_CCLD)$(LINK) $(multi_double_OBJECTS) $(multi_double_LDADD) $(LIBS) multi-post$(EXEEXT): $(multi_post_OBJECTS) $(multi_post_DEPENDENCIES) $(EXTRA_multi_post_DEPENDENCIES) @rm -f multi-post$(EXEEXT) $(AM_V_CCLD)$(LINK) $(multi_post_OBJECTS) $(multi_post_LDADD) $(LIBS) multi-single$(EXEEXT): $(multi_single_OBJECTS) $(multi_single_DEPENDENCIES) $(EXTRA_multi_single_DEPENDENCIES) @rm -f multi-single$(EXEEXT) $(AM_V_CCLD)$(LINK) $(multi_single_OBJECTS) $(multi_single_LDADD) $(LIBS) persistant$(EXEEXT): $(persistant_OBJECTS) $(persistant_DEPENDENCIES) $(EXTRA_persistant_DEPENDENCIES) @rm -f persistant$(EXEEXT) $(AM_V_CCLD)$(LINK) $(persistant_OBJECTS) $(persistant_LDADD) $(LIBS) pop3-dele$(EXEEXT): $(pop3_dele_OBJECTS) $(pop3_dele_DEPENDENCIES) $(EXTRA_pop3_dele_DEPENDENCIES) @rm -f pop3-dele$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pop3_dele_OBJECTS) $(pop3_dele_LDADD) $(LIBS) pop3-list$(EXEEXT): $(pop3_list_OBJECTS) $(pop3_list_DEPENDENCIES) $(EXTRA_pop3_list_DEPENDENCIES) @rm -f pop3-list$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pop3_list_OBJECTS) $(pop3_list_LDADD) $(LIBS) pop3-multi$(EXEEXT): $(pop3_multi_OBJECTS) $(pop3_multi_DEPENDENCIES) $(EXTRA_pop3_multi_DEPENDENCIES) @rm -f pop3-multi$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pop3_multi_OBJECTS) $(pop3_multi_LDADD) $(LIBS) pop3-noop$(EXEEXT): $(pop3_noop_OBJECTS) $(pop3_noop_DEPENDENCIES) $(EXTRA_pop3_noop_DEPENDENCIES) @rm -f pop3-noop$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pop3_noop_OBJECTS) $(pop3_noop_LDADD) $(LIBS) pop3-retr$(EXEEXT): $(pop3_retr_OBJECTS) $(pop3_retr_DEPENDENCIES) $(EXTRA_pop3_retr_DEPENDENCIES) @rm -f pop3-retr$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pop3_retr_OBJECTS) $(pop3_retr_LDADD) $(LIBS) pop3-ssl$(EXEEXT): $(pop3_ssl_OBJECTS) $(pop3_ssl_DEPENDENCIES) $(EXTRA_pop3_ssl_DEPENDENCIES) @rm -f pop3-ssl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pop3_ssl_OBJECTS) $(pop3_ssl_LDADD) $(LIBS) pop3-stat$(EXEEXT): $(pop3_stat_OBJECTS) $(pop3_stat_DEPENDENCIES) $(EXTRA_pop3_stat_DEPENDENCIES) @rm -f pop3-stat$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pop3_stat_OBJECTS) $(pop3_stat_LDADD) $(LIBS) pop3-tls$(EXEEXT): $(pop3_tls_OBJECTS) $(pop3_tls_DEPENDENCIES) $(EXTRA_pop3_tls_DEPENDENCIES) @rm -f pop3-tls$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pop3_tls_OBJECTS) $(pop3_tls_LDADD) $(LIBS) pop3-top$(EXEEXT): $(pop3_top_OBJECTS) $(pop3_top_DEPENDENCIES) $(EXTRA_pop3_top_DEPENDENCIES) @rm -f pop3-top$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pop3_top_OBJECTS) $(pop3_top_LDADD) $(LIBS) pop3-uidl$(EXEEXT): $(pop3_uidl_OBJECTS) $(pop3_uidl_DEPENDENCIES) $(EXTRA_pop3_uidl_DEPENDENCIES) @rm -f pop3-uidl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(pop3_uidl_OBJECTS) $(pop3_uidl_LDADD) $(LIBS) post-callback$(EXEEXT): $(post_callback_OBJECTS) $(post_callback_DEPENDENCIES) $(EXTRA_post_callback_DEPENDENCIES) @rm -f post-callback$(EXEEXT) $(AM_V_CCLD)$(LINK) $(post_callback_OBJECTS) $(post_callback_LDADD) $(LIBS) postinmemory$(EXEEXT): $(postinmemory_OBJECTS) $(postinmemory_DEPENDENCIES) $(EXTRA_postinmemory_DEPENDENCIES) @rm -f postinmemory$(EXEEXT) $(AM_V_CCLD)$(LINK) $(postinmemory_OBJECTS) $(postinmemory_LDADD) $(LIBS) postit2$(EXEEXT): $(postit2_OBJECTS) $(postit2_DEPENDENCIES) $(EXTRA_postit2_DEPENDENCIES) @rm -f postit2$(EXEEXT) $(AM_V_CCLD)$(LINK) $(postit2_OBJECTS) $(postit2_LDADD) $(LIBS) progressfunc$(EXEEXT): $(progressfunc_OBJECTS) $(progressfunc_DEPENDENCIES) $(EXTRA_progressfunc_DEPENDENCIES) @rm -f progressfunc$(EXEEXT) $(AM_V_CCLD)$(LINK) $(progressfunc_OBJECTS) $(progressfunc_LDADD) $(LIBS) resolve$(EXEEXT): $(resolve_OBJECTS) $(resolve_DEPENDENCIES) $(EXTRA_resolve_DEPENDENCIES) @rm -f resolve$(EXEEXT) $(AM_V_CCLD)$(LINK) $(resolve_OBJECTS) $(resolve_LDADD) $(LIBS) rtsp$(EXEEXT): $(rtsp_OBJECTS) $(rtsp_DEPENDENCIES) $(EXTRA_rtsp_DEPENDENCIES) @rm -f rtsp$(EXEEXT) $(AM_V_CCLD)$(LINK) $(rtsp_OBJECTS) $(rtsp_LDADD) $(LIBS) sendrecv$(EXEEXT): $(sendrecv_OBJECTS) $(sendrecv_DEPENDENCIES) $(EXTRA_sendrecv_DEPENDENCIES) @rm -f sendrecv$(EXEEXT) $(AM_V_CCLD)$(LINK) $(sendrecv_OBJECTS) $(sendrecv_LDADD) $(LIBS) sepheaders$(EXEEXT): $(sepheaders_OBJECTS) $(sepheaders_DEPENDENCIES) $(EXTRA_sepheaders_DEPENDENCIES) @rm -f sepheaders$(EXEEXT) $(AM_V_CCLD)$(LINK) $(sepheaders_OBJECTS) $(sepheaders_LDADD) $(LIBS) sftpget$(EXEEXT): $(sftpget_OBJECTS) $(sftpget_DEPENDENCIES) $(EXTRA_sftpget_DEPENDENCIES) @rm -f sftpget$(EXEEXT) $(AM_V_CCLD)$(LINK) $(sftpget_OBJECTS) $(sftpget_LDADD) $(LIBS) simple$(EXEEXT): $(simple_OBJECTS) $(simple_DEPENDENCIES) $(EXTRA_simple_DEPENDENCIES) @rm -f simple$(EXEEXT) $(AM_V_CCLD)$(LINK) $(simple_OBJECTS) $(simple_LDADD) $(LIBS) simplepost$(EXEEXT): $(simplepost_OBJECTS) $(simplepost_DEPENDENCIES) $(EXTRA_simplepost_DEPENDENCIES) @rm -f simplepost$(EXEEXT) $(AM_V_CCLD)$(LINK) $(simplepost_OBJECTS) $(simplepost_LDADD) $(LIBS) simplessl$(EXEEXT): $(simplessl_OBJECTS) $(simplessl_DEPENDENCIES) $(EXTRA_simplessl_DEPENDENCIES) @rm -f simplessl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(simplessl_OBJECTS) $(simplessl_LDADD) $(LIBS) smtp-expn$(EXEEXT): $(smtp_expn_OBJECTS) $(smtp_expn_DEPENDENCIES) $(EXTRA_smtp_expn_DEPENDENCIES) @rm -f smtp-expn$(EXEEXT) $(AM_V_CCLD)$(LINK) $(smtp_expn_OBJECTS) $(smtp_expn_LDADD) $(LIBS) smtp-mail$(EXEEXT): $(smtp_mail_OBJECTS) $(smtp_mail_DEPENDENCIES) $(EXTRA_smtp_mail_DEPENDENCIES) @rm -f smtp-mail$(EXEEXT) $(AM_V_CCLD)$(LINK) $(smtp_mail_OBJECTS) $(smtp_mail_LDADD) $(LIBS) smtp-multi$(EXEEXT): $(smtp_multi_OBJECTS) $(smtp_multi_DEPENDENCIES) $(EXTRA_smtp_multi_DEPENDENCIES) @rm -f smtp-multi$(EXEEXT) $(AM_V_CCLD)$(LINK) $(smtp_multi_OBJECTS) $(smtp_multi_LDADD) $(LIBS) smtp-ssl$(EXEEXT): $(smtp_ssl_OBJECTS) $(smtp_ssl_DEPENDENCIES) $(EXTRA_smtp_ssl_DEPENDENCIES) @rm -f smtp-ssl$(EXEEXT) $(AM_V_CCLD)$(LINK) $(smtp_ssl_OBJECTS) $(smtp_ssl_LDADD) $(LIBS) smtp-tls$(EXEEXT): $(smtp_tls_OBJECTS) $(smtp_tls_DEPENDENCIES) $(EXTRA_smtp_tls_DEPENDENCIES) @rm -f smtp-tls$(EXEEXT) $(AM_V_CCLD)$(LINK) $(smtp_tls_OBJECTS) $(smtp_tls_LDADD) $(LIBS) smtp-vrfy$(EXEEXT): $(smtp_vrfy_OBJECTS) $(smtp_vrfy_DEPENDENCIES) $(EXTRA_smtp_vrfy_DEPENDENCIES) @rm -f smtp-vrfy$(EXEEXT) $(AM_V_CCLD)$(LINK) $(smtp_vrfy_OBJECTS) $(smtp_vrfy_LDADD) $(LIBS) url2file$(EXEEXT): $(url2file_OBJECTS) $(url2file_DEPENDENCIES) $(EXTRA_url2file_DEPENDENCIES) @rm -f url2file$(EXEEXT) $(AM_V_CCLD)$(LINK) $(url2file_OBJECTS) $(url2file_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/10-at-a-time.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/anyauthput.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/certinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chkspeed.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cookie_interface.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/externalsocket.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileupload.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fopen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftp-wildcard.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftpget.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftpgetinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftpgetresp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftpsget.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ftpupload.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getinfo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getinmemory.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getredirect.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http-post.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http2-download.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http2-serverpush.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http2-upload.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/httpcustomheader.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/httpput.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/https.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-append.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-copy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-create.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-delete.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-examine.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-fetch.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-lsub.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-multi.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-noop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-search.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-ssl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-store.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imap-tls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-app.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-debugcallback.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-double.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-post.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi-single.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/persistant.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-dele.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-multi.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-noop.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-retr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-ssl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-stat.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-tls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-top.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pop3-uidl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/post-callback.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/postinmemory.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/postit2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progressfunc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resolve.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtsp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sendrecv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sepheaders.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sftpget.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simplepost.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simplessl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smtp-expn.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smtp-mail.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smtp-multi.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smtp-ssl.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smtp-tls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smtp-vrfy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url2file.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \ ctags ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines all: $(check_PROGRAMS) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: curl-7.47.0/docs/examples/smtp-expn.c0000644000175000017500000000507412633553325014361 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * SMTP example showing how to expand an e-mail mailing list * */ #include #include #include /* This is a simple example showing how to expand an e-mail mailing list. * * Notes: * * 1) This example requires libcurl 7.34.0 or above. * 2) Not all email servers support this command. */ int main(void) { CURL *curl; CURLcode res; struct curl_slist *recipients = NULL; curl = curl_easy_init(); if(curl) { /* This is the URL for your mailserver */ curl_easy_setopt(curl, CURLOPT_URL, "smtp://mail.example.com"); /* Note that the CURLOPT_MAIL_RCPT takes a list, not a char array */ recipients = curl_slist_append(recipients, "Friends"); curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients); /* Set the EXPN command */ curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "EXPN"); /* Perform the custom request */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Free the list of recipients */ curl_slist_free_all(recipients); /* Curl won't send the QUIT command until you call cleanup, so you should * be able to re-use this connection for additional requests. It may not be * a good idea to keep the connection open for a very long time though * (more than a few minutes may result in the server timing out the * connection) and you do want to clean up in the end. */ curl_easy_cleanup(curl); } return 0; } curl-7.47.0/docs/examples/hiperfifo.c0000644000175000017500000002720412626067776014414 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * multi socket API usage with libevent 2 * */ /* Example application source code using the multi socket interface to download many files at once. Written by Jeff Pohlmeyer Requires libevent version 2 and a (POSIX?) system that has mkfifo(). This is an adaptation of libcurl's "hipev.c" and libevent's "event-test.c" sample programs. When running, the program creates the named pipe "hiper.fifo" Whenever there is input into the fifo, the program reads the input as a list of URL's and creates some new easy handles to fetch each URL via the curl_multi "hiper" API. Thus, you can try a single URL: % echo http://www.yahoo.com > hiper.fifo Or a whole bunch of them: % cat my-url-list > hiper.fifo The fifo buffer is handled almost instantly, so you can even add more URL's while the previous requests are still being downloaded. Note: For the sake of simplicity, URL length is limited to 1023 char's ! This is purely a demo app, all retrieved data is simply discarded by the write callback. */ #include #include #include #include #include #include #include #include #include #include #include #include #define MSG_OUT stdout /* Send info to stdout, change to stderr if you want */ /* Global information, common to all connections */ typedef struct _GlobalInfo { struct event_base *evbase; struct event *fifo_event; struct event *timer_event; CURLM *multi; int still_running; FILE* input; } GlobalInfo; /* Information associated with a specific easy handle */ typedef struct _ConnInfo { CURL *easy; char *url; GlobalInfo *global; char error[CURL_ERROR_SIZE]; } ConnInfo; /* Information associated with a specific socket */ typedef struct _SockInfo { curl_socket_t sockfd; CURL *easy; int action; long timeout; struct event *ev; int evset; GlobalInfo *global; } SockInfo; /* Update the event timer after curl_multi library calls */ static int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo *g) { struct timeval timeout; (void)multi; /* unused */ timeout.tv_sec = timeout_ms/1000; timeout.tv_usec = (timeout_ms%1000)*1000; fprintf(MSG_OUT, "multi_timer_cb: Setting timeout to %ld ms\n", timeout_ms); evtimer_add(g->timer_event, &timeout); return 0; } /* Die if we get a bad CURLMcode somewhere */ static void mcode_or_die(const char *where, CURLMcode code) { if ( CURLM_OK != code ) { const char *s; switch (code) { case CURLM_BAD_HANDLE: s="CURLM_BAD_HANDLE"; break; case CURLM_BAD_EASY_HANDLE: s="CURLM_BAD_EASY_HANDLE"; break; case CURLM_OUT_OF_MEMORY: s="CURLM_OUT_OF_MEMORY"; break; case CURLM_INTERNAL_ERROR: s="CURLM_INTERNAL_ERROR"; break; case CURLM_UNKNOWN_OPTION: s="CURLM_UNKNOWN_OPTION"; break; case CURLM_LAST: s="CURLM_LAST"; break; default: s="CURLM_unknown"; break; case CURLM_BAD_SOCKET: s="CURLM_BAD_SOCKET"; fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s); /* ignore this error */ return; } fprintf(MSG_OUT, "ERROR: %s returns %s\n", where, s); exit(code); } } /* Check for completed transfers, and remove their easy handles */ static void check_multi_info(GlobalInfo *g) { char *eff_url; CURLMsg *msg; int msgs_left; ConnInfo *conn; CURL *easy; CURLcode res; fprintf(MSG_OUT, "REMAINING: %d\n", g->still_running); while ((msg = curl_multi_info_read(g->multi, &msgs_left))) { if (msg->msg == CURLMSG_DONE) { easy = msg->easy_handle; res = msg->data.result; curl_easy_getinfo(easy, CURLINFO_PRIVATE, &conn); curl_easy_getinfo(easy, CURLINFO_EFFECTIVE_URL, &eff_url); fprintf(MSG_OUT, "DONE: %s => (%d) %s\n", eff_url, res, conn->error); curl_multi_remove_handle(g->multi, easy); free(conn->url); curl_easy_cleanup(easy); free(conn); } } } /* Called by libevent when we get action on a multi socket */ static void event_cb(int fd, short kind, void *userp) { GlobalInfo *g = (GlobalInfo*) userp; CURLMcode rc; int action = (kind & EV_READ ? CURL_CSELECT_IN : 0) | (kind & EV_WRITE ? CURL_CSELECT_OUT : 0); rc = curl_multi_socket_action(g->multi, fd, action, &g->still_running); mcode_or_die("event_cb: curl_multi_socket_action", rc); check_multi_info(g); if ( g->still_running <= 0 ) { fprintf(MSG_OUT, "last transfer done, kill timeout\n"); if (evtimer_pending(g->timer_event, NULL)) { evtimer_del(g->timer_event); } } } /* Called by libevent when our timeout expires */ static void timer_cb(int fd, short kind, void *userp) { GlobalInfo *g = (GlobalInfo *)userp; CURLMcode rc; (void)fd; (void)kind; rc = curl_multi_socket_action(g->multi, CURL_SOCKET_TIMEOUT, 0, &g->still_running); mcode_or_die("timer_cb: curl_multi_socket_action", rc); check_multi_info(g); } /* Clean up the SockInfo structure */ static void remsock(SockInfo *f) { if (f) { if (f->evset) event_free(f->ev); free(f); } } /* Assign information to a SockInfo structure */ static void setsock(SockInfo*f, curl_socket_t s, CURL*e, int act, GlobalInfo*g) { int kind = (act&CURL_POLL_IN?EV_READ:0)|(act&CURL_POLL_OUT?EV_WRITE:0)|EV_PERSIST; f->sockfd = s; f->action = act; f->easy = e; if (f->evset) event_free(f->ev); f->ev = event_new(g->evbase, f->sockfd, kind, event_cb, g); f->evset = 1; event_add(f->ev, NULL); } /* Initialize a new SockInfo structure */ static void addsock(curl_socket_t s, CURL *easy, int action, GlobalInfo *g) { SockInfo *fdp = calloc(sizeof(SockInfo), 1); fdp->global = g; setsock(fdp, s, easy, action, g); curl_multi_assign(g->multi, s, fdp); } /* CURLMOPT_SOCKETFUNCTION */ static int sock_cb(CURL *e, curl_socket_t s, int what, void *cbp, void *sockp) { GlobalInfo *g = (GlobalInfo*) cbp; SockInfo *fdp = (SockInfo*) sockp; const char *whatstr[]={ "none", "IN", "OUT", "INOUT", "REMOVE" }; fprintf(MSG_OUT, "socket callback: s=%d e=%p what=%s ", s, e, whatstr[what]); if (what == CURL_POLL_REMOVE) { fprintf(MSG_OUT, "\n"); remsock(fdp); } else { if (!fdp) { fprintf(MSG_OUT, "Adding data: %s\n", whatstr[what]); addsock(s, e, what, g); } else { fprintf(MSG_OUT, "Changing action from %s to %s\n", whatstr[fdp->action], whatstr[what]); setsock(fdp, s, e, what, g); } } return 0; } /* CURLOPT_WRITEFUNCTION */ static size_t write_cb(void *ptr, size_t size, size_t nmemb, void *data) { size_t realsize = size * nmemb; ConnInfo *conn = (ConnInfo*) data; (void)ptr; (void)conn; return realsize; } /* CURLOPT_PROGRESSFUNCTION */ static int prog_cb (void *p, double dltotal, double dlnow, double ult, double uln) { ConnInfo *conn = (ConnInfo *)p; (void)ult; (void)uln; fprintf(MSG_OUT, "Progress: %s (%g/%g)\n", conn->url, dlnow, dltotal); return 0; } /* Create a new easy handle, and add it to the global curl_multi */ static void new_conn(char *url, GlobalInfo *g ) { ConnInfo *conn; CURLMcode rc; conn = calloc(1, sizeof(ConnInfo)); memset(conn, 0, sizeof(ConnInfo)); conn->error[0]='\0'; conn->easy = curl_easy_init(); if (!conn->easy) { fprintf(MSG_OUT, "curl_easy_init() failed, exiting!\n"); exit(2); } conn->global = g; conn->url = strdup(url); curl_easy_setopt(conn->easy, CURLOPT_URL, conn->url); curl_easy_setopt(conn->easy, CURLOPT_WRITEFUNCTION, write_cb); curl_easy_setopt(conn->easy, CURLOPT_WRITEDATA, conn); curl_easy_setopt(conn->easy, CURLOPT_VERBOSE, 1L); curl_easy_setopt(conn->easy, CURLOPT_ERRORBUFFER, conn->error); curl_easy_setopt(conn->easy, CURLOPT_PRIVATE, conn); curl_easy_setopt(conn->easy, CURLOPT_NOPROGRESS, 0L); curl_easy_setopt(conn->easy, CURLOPT_PROGRESSFUNCTION, prog_cb); curl_easy_setopt(conn->easy, CURLOPT_PROGRESSDATA, conn); fprintf(MSG_OUT, "Adding easy %p to multi %p (%s)\n", conn->easy, g->multi, url); rc = curl_multi_add_handle(g->multi, conn->easy); mcode_or_die("new_conn: curl_multi_add_handle", rc); /* note that the add_handle() will set a time-out to trigger very soon so that the necessary socket_action() call will be called by this app */ } /* This gets called whenever data is received from the fifo */ static void fifo_cb(int fd, short event, void *arg) { char s[1024]; long int rv=0; int n=0; GlobalInfo *g = (GlobalInfo *)arg; (void)fd; /* unused */ (void)event; /* unused */ do { s[0]='\0'; rv=fscanf(g->input, "%1023s%n", s, &n); s[n]='\0'; if ( n && s[0] ) { new_conn(s,arg); /* if we read a URL, go get it! */ } else break; } while ( rv != EOF); } /* Create a named pipe and tell libevent to monitor it */ static const char *fifo = "hiper.fifo"; static int init_fifo (GlobalInfo *g) { struct stat st; curl_socket_t sockfd; fprintf(MSG_OUT, "Creating named pipe \"%s\"\n", fifo); if (lstat (fifo, &st) == 0) { if ((st.st_mode & S_IFMT) == S_IFREG) { errno = EEXIST; perror("lstat"); exit (1); } } unlink(fifo); if (mkfifo (fifo, 0600) == -1) { perror("mkfifo"); exit (1); } sockfd = open(fifo, O_RDWR | O_NONBLOCK, 0); if (sockfd == -1) { perror("open"); exit (1); } g->input = fdopen(sockfd, "r"); fprintf(MSG_OUT, "Now, pipe some URL's into > %s\n", fifo); g->fifo_event = event_new(g->evbase, sockfd, EV_READ|EV_PERSIST, fifo_cb, g); event_add(g->fifo_event, NULL); return (0); } static void clean_fifo(GlobalInfo *g) { event_free(g->fifo_event); fclose(g->input); unlink(fifo); } int main(int argc, char **argv) { GlobalInfo g; (void)argc; (void)argv; memset(&g, 0, sizeof(GlobalInfo)); g.evbase = event_base_new(); init_fifo(&g); g.multi = curl_multi_init(); g.timer_event = evtimer_new(g.evbase, timer_cb, &g); /* setup the generic multi interface options we want */ curl_multi_setopt(g.multi, CURLMOPT_SOCKETFUNCTION, sock_cb); curl_multi_setopt(g.multi, CURLMOPT_SOCKETDATA, &g); curl_multi_setopt(g.multi, CURLMOPT_TIMERFUNCTION, multi_timer_cb); curl_multi_setopt(g.multi, CURLMOPT_TIMERDATA, &g); /* we don't call any curl_multi_socket*() function yet as we have no handles added! */ event_base_dispatch(g.evbase); /* this, of course, won't get called since only way to stop this program is via ctrl-C, but it is here to show how cleanup /would/ be done. */ clean_fifo(&g); event_free(g.timer_event); event_base_free(g.evbase); curl_multi_cleanup(g.multi); return 0; } curl-7.47.0/docs/examples/pop3-list.c0000644000175000017500000000367412633553325014264 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * POP3 example to list the contents of a mailbox * */ #include #include /* This is a simple example using libcurl's POP3 capabilities to list the * contents of a mailbox. * * Note that this example requires libcurl 7.20.0 or above. */ int main(void) { CURL *curl; CURLcode res = CURLE_OK; curl = curl_easy_init(); if(curl) { /* Set username and password */ curl_easy_setopt(curl, CURLOPT_USERNAME, "user"); curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret"); /* This will list every message of the given mailbox */ curl_easy_setopt(curl, CURLOPT_URL, "pop3://pop.example.com"); /* Perform the list */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* Always cleanup */ curl_easy_cleanup(curl); } return (int)res; } curl-7.47.0/docs/examples/http2-download.c0000644000175000017500000001724512633553325015277 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * Multiplexed HTTP/2 downloads over a single connection * */ #include #include #include /* somewhat unix-specific */ #include #include /* curl stuff */ #include #ifndef CURLPIPE_MULTIPLEX /* This little trick will just make sure that we don't enable pipelining for libcurls old enough to not have this symbol. It is _not_ defined to zero in a recent libcurl header. */ #define CURLPIPE_MULTIPLEX 0 #endif #define NUM_HANDLES 1000 void *curl_hnd[NUM_HANDLES]; int num_transfers; /* a handle to number lookup, highly ineffective when we do many transfers... */ static int hnd2num(CURL *hnd) { int i; for(i=0; i< num_transfers; i++) { if(curl_hnd[i] == hnd) return i; } return 0; /* weird, but just a fail-safe */ } static void dump(const char *text, int num, unsigned char *ptr, size_t size, char nohex) { size_t i; size_t c; unsigned int width=0x10; if(nohex) /* without the hex output, we can fit more on screen */ width = 0x40; fprintf(stderr, "%d %s, %ld bytes (0x%lx)\n", num, text, (long)size, (long)size); for(i=0; i=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:'.'); /* check again for 0D0A, to avoid an extra \n if it's at width */ if (nohex && (i+c+2 < size) && ptr[i+c+1]==0x0D && ptr[i+c+2]==0x0A) { i+=(c+3-width); break; } } fputc('\n', stderr); /* newline */ } } static int my_trace(CURL *handle, curl_infotype type, char *data, size_t size, void *userp) { const char *text; int num = hnd2num(handle); (void)handle; /* prevent compiler warning */ (void)userp; switch (type) { case CURLINFO_TEXT: fprintf(stderr, "== %d Info: %s", num, data); default: /* in case a new one is introduced to shock us */ return 0; case CURLINFO_HEADER_OUT: text = "=> Send header"; break; case CURLINFO_DATA_OUT: text = "=> Send data"; break; case CURLINFO_SSL_DATA_OUT: text = "=> Send SSL data"; break; case CURLINFO_HEADER_IN: text = "<= Recv header"; break; case CURLINFO_DATA_IN: text = "<= Recv data"; break; case CURLINFO_SSL_DATA_IN: text = "<= Recv SSL data"; break; } dump(text, num, (unsigned char *)data, size, 1); return 0; } static void setup(CURL *hnd, int num) { FILE *out; char filename[128]; sprintf(filename, "dl-%d", num); out = fopen(filename, "wb"); /* write to this file */ curl_easy_setopt(hnd, CURLOPT_WRITEDATA, out); /* set the same URL */ curl_easy_setopt(hnd, CURLOPT_URL, "https://localhost:8443/index.html"); /* send it verbose for max debuggaility */ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L); curl_easy_setopt(hnd, CURLOPT_DEBUGFUNCTION, my_trace); /* HTTP/2 please */ curl_easy_setopt(hnd, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0); /* we use a self-signed test server, skip verification during debugging */ curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYHOST, 0L); #if (CURLPIPE_MULTIPLEX > 0) /* wait for pipe connection to confirm */ curl_easy_setopt(hnd, CURLOPT_PIPEWAIT, 1L); #endif curl_hnd[num] = hnd; } /* * Simply download two files over HTTP/2, using the same physical connection! */ int main(int argc, char **argv) { CURL *easy[NUM_HANDLES]; CURLM *multi_handle; int i; int still_running; /* keep number of running handles */ if(argc > 1) /* if given a number, do that many transfers */ num_transfers = atoi(argv[1]); if(!num_transfers || (num_transfers > NUM_HANDLES)) num_transfers = 3; /* a suitable low default */ /* init a multi stack */ multi_handle = curl_multi_init(); for(i=0; i= 0) { timeout.tv_sec = curl_timeo / 1000; if(timeout.tv_sec > 1) timeout.tv_sec = 1; else timeout.tv_usec = (curl_timeo % 1000) * 1000; } /* get file descriptors from the transfers */ mc = curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd); if(mc != CURLM_OK) { fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc); break; } /* On success the value of maxfd is guaranteed to be >= -1. We call select(maxfd + 1, ...); specially in case of (maxfd == -1) there are no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ if(maxfd == -1) { #ifdef _WIN32 Sleep(100); rc = 0; #else /* Portable sleep for platforms other than Windows. */ struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ rc = select(0, NULL, NULL, NULL, &wait); #endif } else { /* Note that on some platforms 'timeout' may be modified by select(). If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } switch(rc) { case -1: /* select error */ break; case 0: default: /* timeout or readable/writable sockets */ curl_multi_perform(multi_handle, &still_running); break; } } while(still_running); curl_multi_cleanup(multi_handle); for(i=0; i, 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 http://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. * ***************************************************************************/ /* * Show how to extract Location: header and URL to redirect to. * */ #include #include int main(void) { CURL *curl; CURLcode res; char *location; long response_code; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* example.com is redirected, figure out the redirection! */ /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); else { res = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code); if((res == CURLE_OK) && ((code / 100) != 3)) { /* a redirect implies a 3xx response code */ fprintf(stderr, "Not a redirect.\n"); } else { res = curl_easy_getinfo(curl, CURLINFO_REDIRECT_URL, &location); if((res == CURLE_OK) && location) { /* This is the new absolute URL that you could redirect to, even if * the Location: response header may have been a relative URL. */ printf("Redirected to: %s\n", location); } } } /* always cleanup */ curl_easy_cleanup(curl); } return 0; } curl-7.47.0/docs/examples/opensslthreadlock.c0000644000175000017500000000533312626067776016164 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * one way to set the necessary OpenSSL locking callbacks if you want to do * multi-threaded transfers with HTTPS/FTPS with libcurl built to use OpenSSL. * */ /* * This is not a complete stand-alone example. * * Author: Jeremy Brown */ #include #include #include #define MUTEX_TYPE pthread_mutex_t #define MUTEX_SETUP(x) pthread_mutex_init(&(x), NULL) #define MUTEX_CLEANUP(x) pthread_mutex_destroy(&(x)) #define MUTEX_LOCK(x) pthread_mutex_lock(&(x)) #define MUTEX_UNLOCK(x) pthread_mutex_unlock(&(x)) #define THREAD_ID pthread_self( ) void handle_error(const char *file, int lineno, const char *msg){ fprintf(stderr, "** %s:%d %s\n", file, lineno, msg); ERR_print_errors_fp(stderr); /* exit(-1); */ } /* This array will store all of the mutexes available to OpenSSL. */ static MUTEX_TYPE *mutex_buf= NULL; static void locking_function(int mode, int n, const char * file, int line) { if (mode & CRYPTO_LOCK) MUTEX_LOCK(mutex_buf[n]); else MUTEX_UNLOCK(mutex_buf[n]); } static unsigned long id_function(void) { return ((unsigned long)THREAD_ID); } int thread_setup(void) { int i; mutex_buf = malloc(CRYPTO_num_locks( ) * sizeof(MUTEX_TYPE)); if (!mutex_buf) return 0; for (i = 0; i < CRYPTO_num_locks( ); i++) MUTEX_SETUP(mutex_buf[i]); CRYPTO_set_id_callback(id_function); CRYPTO_set_locking_callback(locking_function); return 1; } int thread_cleanup(void) { int i; if (!mutex_buf) return 0; CRYPTO_set_id_callback(NULL); CRYPTO_set_locking_callback(NULL); for (i = 0; i < CRYPTO_num_locks( ); i++) MUTEX_CLEANUP(mutex_buf[i]); free(mutex_buf); mutex_buf = NULL; return 1; } curl-7.47.0/docs/examples/sendrecv.c0000644000175000017500000000770512642500135014231 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * An example of curl_easy_send() and curl_easy_recv() usage. * */ #include #include #include /* Auxiliary function that waits on the socket. */ static int wait_on_socket(curl_socket_t sockfd, int for_recv, long timeout_ms) { struct timeval tv; fd_set infd, outfd, errfd; int res; tv.tv_sec = timeout_ms / 1000; tv.tv_usec= (timeout_ms % 1000) * 1000; FD_ZERO(&infd); FD_ZERO(&outfd); FD_ZERO(&errfd); FD_SET(sockfd, &errfd); /* always check for error */ if(for_recv) { FD_SET(sockfd, &infd); } else { FD_SET(sockfd, &outfd); } /* select() returns the number of signalled sockets or -1 */ res = select(sockfd + 1, &infd, &outfd, &errfd, &tv); return res; } int main(void) { CURL *curl; CURLcode res; /* Minimalistic http request */ const char *request = "GET / HTTP/1.0\r\nHost: example.com\r\n\r\n"; curl_socket_t sockfd; /* socket */ long sockextr; size_t iolen; curl_off_t nread; /* A general note of caution here: if you're using curl_easy_recv() or curl_easy_send() to implement HTTP or _any_ other protocol libcurl supports "natively", you're doing it wrong and you should stop. This example uses HTTP only to show how to use this API, it does not suggest that writing an application doing this is sensible. */ curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); /* Do not do the transfer - only connect to host */ curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 1L); res = curl_easy_perform(curl); if(CURLE_OK != res) { printf("Error: %s\n", strerror(res)); return 1; } /* Extract the socket from the curl handle - we'll need it for waiting. * Note that this API takes a pointer to a 'long' while we use * curl_socket_t for sockets otherwise. */ res = curl_easy_getinfo(curl, CURLINFO_LASTSOCKET, &sockextr); if(CURLE_OK != res) { printf("Error: %s\n", curl_easy_strerror(res)); return 1; } sockfd = sockextr; /* wait for the socket to become ready for sending */ if(!wait_on_socket(sockfd, 0, 60000L)) { printf("Error: timeout.\n"); return 1; } puts("Sending request."); /* Send the request. Real applications should check the iolen * to see if all the request has been sent */ res = curl_easy_send(curl, request, strlen(request), &iolen); if(CURLE_OK != res) { printf("Error: %s\n", curl_easy_strerror(res)); return 1; } puts("Reading response."); /* read the response */ for(;;) { char buf[1024]; wait_on_socket(sockfd, 1, 60000L); res = curl_easy_recv(curl, buf, 1024, &iolen); if(CURLE_OK != res) break; nread = (curl_off_t)iolen; printf("Received %" CURL_FORMAT_CURL_OFF_T " bytes.\n", nread); } /* always cleanup */ curl_easy_cleanup(curl); } return 0; } curl-7.47.0/docs/examples/smooth-gtk-thread.c0000644000175000017500000001414212642500542015754 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2016, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * A multi threaded application that uses a progress bar to show * status. It uses Gtk+ to make a smooth pulse. * */ /* * Written by Jud Bishop after studying the other examples provided with * libcurl. * * To compile (on a single line): * gcc -ggdb `pkg-config --cflags --libs gtk+-2.0` -lcurl -lssl -lcrypto * -lgthread-2.0 -dl smooth-gtk-thread.c -o smooth-gtk-thread */ #include #include #include #include #include #include #define NUMT 4 pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; int j = 0; gint num_urls = 9; /* Just make sure this is less than urls[]*/ const char * const urls[]= { "90022", "90023", "90024", "90025", "90026", "90027", "90028", "90029", "90030" }; size_t write_file(void *ptr, size_t size, size_t nmemb, FILE *stream) { /* printf("write_file\n"); */ return fwrite(ptr, size, nmemb, stream); } /* http://xoap.weather.com/weather/local/46214?cc=*&dayf=5&unit=i */ void *pull_one_url(void *NaN) { CURL *curl; CURLcode res; gchar *http; FILE *outfile; /* Stop threads from entering unless j is incremented */ pthread_mutex_lock(&lock); while ( j < num_urls ) { printf("j = %d\n", j); http = g_strdup_printf("xoap.weather.com/weather/local/%s?cc=*&dayf=5&unit=i\n", urls[j]); printf( "http %s", http ); curl = curl_easy_init(); if(curl) { outfile = fopen(urls[j], "w"); /* printf("fopen\n"); */ /* Set the URL and transfer type */ curl_easy_setopt(curl, CURLOPT_URL, http); /* Write to the file */ curl_easy_setopt(curl, CURLOPT_WRITEDATA, outfile); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_file); j++; /* critical line */ pthread_mutex_unlock(&lock); res = curl_easy_perform(curl); fclose(outfile); printf("fclose\n"); curl_easy_cleanup(curl); } g_free (http); /* Adds more latency, testing the mutex.*/ sleep(1); } /* end while */ return NULL; } gboolean pulse_bar(gpointer data) { gdk_threads_enter(); gtk_progress_bar_pulse (GTK_PROGRESS_BAR (data)); gdk_threads_leave(); /* Return true so the function will be called again; * returning false removes this timeout function. */ return TRUE; } void *create_thread(void *progress_bar) { pthread_t tid[NUMT]; int i; int error; /* Make sure I don't create more threads than urls. */ for(i=0; i < NUMT && i < num_urls ; i++) { error = pthread_create(&tid[i], NULL, /* default attributes please */ pull_one_url, NULL); if(0 != error) fprintf(stderr, "Couldn't run thread number %d, errno %d\n", i, error); else fprintf(stderr, "Thread %d, gets %s\n", i, urls[i]); } /* Wait for all threads to terminate. */ for(i=0; i < NUMT && i < num_urls; i++) { error = pthread_join(tid[i], NULL); fprintf(stderr, "Thread %d terminated\n", i); } /* This stops the pulsing if you have it turned on in the progress bar section */ g_source_remove(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(progress_bar), "pulse_id"))); /* This destroys the progress bar */ gtk_widget_destroy(progress_bar); /* [Un]Comment this out to kill the program rather than pushing close. */ /* gtk_main_quit(); */ return NULL; } static gboolean cb_delete(GtkWidget *window, gpointer data) { gtk_main_quit(); return FALSE; } int main(int argc, char **argv) { GtkWidget *top_window, *outside_frame, *inside_frame, *progress_bar; /* Must initialize libcurl before any threads are started */ curl_global_init(CURL_GLOBAL_ALL); /* Init thread */ g_thread_init(NULL); gdk_threads_init (); gdk_threads_enter (); gtk_init(&argc, &argv); /* Base window */ top_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); /* Frame */ outside_frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(outside_frame), GTK_SHADOW_OUT); gtk_container_add(GTK_CONTAINER(top_window), outside_frame); /* Frame */ inside_frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(inside_frame), GTK_SHADOW_IN); gtk_container_set_border_width(GTK_CONTAINER(inside_frame), 5); gtk_container_add(GTK_CONTAINER(outside_frame), inside_frame); /* Progress bar */ progress_bar = gtk_progress_bar_new(); gtk_progress_bar_pulse (GTK_PROGRESS_BAR (progress_bar)); /* Make uniform pulsing */ gint pulse_ref = g_timeout_add (300, pulse_bar, progress_bar); g_object_set_data(G_OBJECT(progress_bar), "pulse_id", GINT_TO_POINTER(pulse_ref)); gtk_container_add(GTK_CONTAINER(inside_frame), progress_bar); gtk_widget_show_all(top_window); printf("gtk_widget_show_all\n"); g_signal_connect(G_OBJECT (top_window), "delete-event", G_CALLBACK(cb_delete), NULL); if (!g_thread_create(&create_thread, progress_bar, FALSE, NULL) != 0) g_warning("can't create the thread"); gtk_main(); gdk_threads_leave(); printf("gdk_threads_leave\n"); return 0; } curl-7.47.0/docs/examples/http2-serverpush.c0000644000175000017500000002070412633553325015670 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * HTTP/2 server push * */ #include #include #include /* somewhat unix-specific */ #include #include /* curl stuff */ #include #ifndef CURLPIPE_MULTIPLEX #error "too old libcurl, can't do HTTP/2 server push!" #endif static void dump(const char *text, unsigned char *ptr, size_t size, char nohex) { size_t i; size_t c; unsigned int width=0x10; if(nohex) /* without the hex output, we can fit more on screen */ width = 0x40; fprintf(stderr, "%s, %ld bytes (0x%lx)\n", text, (long)size, (long)size); for(i=0; i=0x20) && (ptr[i+c]<0x80)?ptr[i+c]:'.'); /* check again for 0D0A, to avoid an extra \n if it's at width */ if (nohex && (i+c+2 < size) && ptr[i+c+1]==0x0D && ptr[i+c+2]==0x0A) { i+=(c+3-width); break; } } fputc('\n', stderr); /* newline */ } } static int my_trace(CURL *handle, curl_infotype type, char *data, size_t size, void *userp) { const char *text; (void)handle; /* prevent compiler warning */ (void)userp; switch (type) { case CURLINFO_TEXT: fprintf(stderr, "== Info: %s", data); default: /* in case a new one is introduced to shock us */ return 0; case CURLINFO_HEADER_OUT: text = "=> Send header"; break; case CURLINFO_DATA_OUT: text = "=> Send data"; break; case CURLINFO_SSL_DATA_OUT: text = "=> Send SSL data"; break; case CURLINFO_HEADER_IN: text = "<= Recv header"; break; case CURLINFO_DATA_IN: text = "<= Recv data"; break; case CURLINFO_SSL_DATA_IN: text = "<= Recv SSL data"; break; } dump(text, (unsigned char *)data, size, 1); return 0; } static void setup(CURL *hnd) { FILE *out = fopen("dl", "wb"); /* write to this file */ curl_easy_setopt(hnd, CURLOPT_WRITEDATA, out); /* set the same URL */ curl_easy_setopt(hnd, CURLOPT_URL, "https://localhost:8443/index.html"); /* send it verbose for max debuggaility */ curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L); curl_easy_setopt(hnd, CURLOPT_DEBUGFUNCTION, my_trace); /* HTTP/2 please */ curl_easy_setopt(hnd, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0); /* we use a self-signed test server, skip verification during debugging */ curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYHOST, 0L); #if (CURLPIPE_MULTIPLEX > 0) /* wait for pipe connection to confirm */ curl_easy_setopt(hnd, CURLOPT_PIPEWAIT, 1L); #endif } /* called when there's an incoming push */ static int server_push_callback(CURL *parent, CURL *easy, size_t num_headers, struct curl_pushheaders *headers, void *userp) { char *headp; size_t i; int *transfers = (int *)userp; char filename[128]; FILE *out; static unsigned int count = 0; (void)parent; /* we have no use for this */ sprintf(filename, "push%u", count++); /* here's a new stream, save it in a new file for each new push */ out = fopen(filename, "wb"); /* write to this file */ curl_easy_setopt(easy, CURLOPT_WRITEDATA, out); fprintf(stderr, "**** push callback approves stream %u, got %d headers!\n", count, (int)num_headers); for(i=0; i= 0) { timeout.tv_sec = curl_timeo / 1000; if(timeout.tv_sec > 1) timeout.tv_sec = 1; else timeout.tv_usec = (curl_timeo % 1000) * 1000; } /* get file descriptors from the transfers */ mc = curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd); if(mc != CURLM_OK) { fprintf(stderr, "curl_multi_fdset() failed, code %d.\n", mc); break; } /* On success the value of maxfd is guaranteed to be >= -1. We call select(maxfd + 1, ...); specially in case of (maxfd == -1) there are no fds ready yet so we call select(0, ...) --or Sleep() on Windows-- to sleep 100ms, which is the minimum suggested value in the curl_multi_fdset() doc. */ if(maxfd == -1) { #ifdef _WIN32 Sleep(100); rc = 0; #else /* Portable sleep for platforms other than Windows. */ struct timeval wait = { 0, 100 * 1000 }; /* 100ms */ rc = select(0, NULL, NULL, NULL, &wait); #endif } else { /* Note that on some platforms 'timeout' may be modified by select(). If you need access to the original value save a copy beforehand. */ rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); } switch(rc) { case -1: /* select error */ break; case 0: default: /* timeout or readable/writable sockets */ curl_multi_perform(multi_handle, &still_running); break; } /* * A little caution when doing server push is that libcurl itself has * created and added one or more easy handles but we need to clean them up * when we are done. */ do { int msgq = 0;; m = curl_multi_info_read(multi_handle, &msgq); if(m && (m->msg == CURLMSG_DONE)) { CURL *e = m->easy_handle; transfers--; curl_multi_remove_handle(multi_handle, e); curl_easy_cleanup(e); } } while(m); } while(transfers); /* as long as we have transfers going */ curl_multi_cleanup(multi_handle); return 0; } curl-7.47.0/docs/examples/post-callback.c0000644000175000017500000001127612626067776015162 00000000000000/*************************************************************************** * _ _ ____ _ * Project ___| | | | _ \| | * / __| | | | |_) | | * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms * are also available at http://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. * ***************************************************************************/ /* * An example source code that issues a HTTP POST and we provide the actual * data through a read callback. * */ #include #include #include const char data[]="this is what we post to the silly web server"; struct WriteThis { const char *readptr; long sizeleft; }; static size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userp) { struct WriteThis *pooh = (struct WriteThis *)userp; if(size*nmemb < 1) return 0; if(pooh->sizeleft) { *(char *)ptr = pooh->readptr[0]; /* copy one single byte */ pooh->readptr++; /* advance pointer */ pooh->sizeleft--; /* less data left */ return 1; /* we return 1 byte at a time! */ } return 0; /* no more data left to deliver */ } int main(void) { CURL *curl; CURLcode res; struct WriteThis pooh; pooh.readptr = data; pooh.sizeleft = (long)strlen(data); /* In windows, this will init the winsock stuff */ res = curl_global_init(CURL_GLOBAL_DEFAULT); /* Check for errors */ if(res != CURLE_OK) { fprintf(stderr, "curl_global_init() failed: %s\n", curl_easy_strerror(res)); return 1; } /* get a curl handle */ curl = curl_easy_init(); if(curl) { /* First set the URL that is about to receive our POST. */ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/index.cgi"); /* Now specify we want to POST data */ curl_easy_setopt(curl, CURLOPT_POST, 1L); /* we want to use our own read function */ curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback); /* pointer to pass to our read function */ curl_easy_setopt(curl, CURLOPT_READDATA, &pooh); /* get verbose debug output please */ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); /* If you use POST to a HTTP 1.1 server, you can send data without knowing the size before starting the POST if you use chunked encoding. You enable this by adding a header like "Transfer-Encoding: chunked" with CURLOPT_HTTPHEADER. With HTTP 1.0 or without chunked transfer, you must specify the size in the request. */ #ifdef USE_CHUNKED { struct curl_slist *chunk = NULL; chunk = curl_slist_append(chunk, "Transfer-Encoding: chunked"); res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk); /* use curl_slist_free_all() after the *perform() call to free this list again */ } #else /* Set the expected POST size. If you want to POST large amounts of data, consider CURLOPT_POSTFIELDSIZE_LARGE */ curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, pooh.sizeleft); #endif #ifdef DISABLE_EXPECT /* Using POST with HTTP 1.1 implies the use of a "Expect: 100-continue" header. You can disable this header with CURLOPT_HTTPHEADER as usual. NOTE: if you want chunked transfer too, you need to combine these two since you can only set one list of headers with CURLOPT_HTTPHEADER. */ /* A less good option would be to enforce HTTP 1.0, but that might also have other implications. */ { struct curl_slist *chunk = NULL; chunk = curl_slist_append(chunk, "Expect:"); res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, chunk); /* use curl_slist_free_all() after the *perform() call to free this list again */ } #endif /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } curl_global_cleanup(); return 0; } curl-7.47.0/docs/examples/Makefile.example0000644000175000017500000000356212626067776015370 00000000000000#*************************************************************************** # _ _ ____ _ # Project ___| | | | _ \| | # / __| | | | |_) | | # | (__| |_| | _ <| |___ # \___|\___/|_| \_\_____| # # Copyright (C) 1998 - 2011, Daniel Stenberg, , et al. # # This software is licensed as described in the file COPYING, which # you should have received as part of this distribution. The terms # are also available at http://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. # ########################################################################### # What to call the final executable TARGET = example # Which object files that the executable consists of OBJS= ftpget.o # What compiler to use CC = gcc # Compiler flags, -g for debug, -c to make an object file CFLAGS = -c -g # This should point to a directory that holds libcurl, if it isn't # in the system's standard lib dir # We also set a -L to include the directory where we have the openssl # libraries LDFLAGS = -L/home/dast/lib -L/usr/local/ssl/lib # We need -lcurl for the curl stuff # We need -lsocket and -lnsl when on Solaris # We need -lssl and -lcrypto when using libcurl with SSL support # We need -lpthread for the pthread example LIBS = -lcurl -lsocket -lnsl -lssl -lcrypto # Link the target with all objects and libraries $(TARGET) : $(OBJS) $(CC) -o $(TARGET) $(OBJS) $(LDFLAGS) $(LIBS) # Compile the source files into object files ftpget.o : ftpget.c $(CC) $(CFLAGS) $< curl-7.47.0/docs/curl.pdf0000644000175000017500000033055412652070416012104 00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ­XÙrÛ¼¾÷S ­©$˜àNßt²8;¶ãZêt2Š/ ²XS¤ÂŲ’ÉäUúŽýÀMq’Þt<#Kpöï;üÌl.˜MÍÿåöäì.då‰ÍN>Ÿ½ÈšË-{=ƈÌÖ'æŒ`¡ÃÂØåQÌfÛF< }6ÛŸÌ­e]¤Ÿ,ñiÄÞàÛhâx1#ߺ–Y-SÖ-îg?™ØÜ±„Š*xì“7`³«ëæÕèVaUøÜ]hž­N¬ë‹Ñìß››{vÈ&¡e›ÌÐV°ÿ°ªY¹V“ìŸwWæØ@ÏŠ&"à‘–;ýxóávz9í·5¶4’Ðy¾«’<+ïÍ6a7û¸ÅQcãê8ç÷/UÆÙ×ë}{1}swy;»üpó[Õ/¼vÛ1úlxÚ滑«Už§øè½_ÉJ²u‘oY^Ђd¥*žHžbîûѪ G.®NIqÜh°Æ5-šl@‹N5m‡î2ÉXž)–¯YµQ¬¬w»¼¨ÔŠíŠ¼Ê—yZ²OÖÛË7³#5"t¹z­šw½ÁEµ½¼º³w³[}¦Ùq{‚žL<ŽØ¢ ˜Ã…m¬Â‘é˜ýíÃíû‹»1{?3<ØF»mó>mã÷½v»HT³0ÓR.¯_Ÿö±©‹„5¾†Èëp §¯Þê³!w‚nåyp9@Ì[yºbO¯¹„•öàÛWCKm·s4Ý~¸uÍ'~ÜÑÆØæ¡¶Î\·Z…>s¯-ñ]/ŠìVßlz|&àBô†NûSÎÀƒ¹õæv$à”mÈ“F¼'"îF]aO›”â˜CçD ×:l@^ŽÎîõë1›^¿žÒç± 0äÞ ±¿$bC\×:ų‹«›‹“ÙŠÍ`Ú§g3Ôò2ßnéðµReò¡ª¤ýÒláV^<²}Rmòºb5Ðeœ@©ïvÎ&Y¥ ¹$þàÚVx[ìˆl˜ýaè9>ä è%D/´8Œy­á~Sàu™ærE ƒÞu äÉò±diòhpf·•î‚Dƒë»aÊ<¯ÃY‘?Z莵+LÖ€sV%KI–k²zGZ  Ø./±w:5õ*B‡ÇNÜ2B×ržeJ{_ŽÑü1Qøò=U=Sª¬·jÌ®U%Ó${ëLlóBqöªd‡¼F”Óü¥ØB¥yÀ'G\ÏCS#û1«zgWj9-w5{â¬Þ.`â¸Vr¢»~„jŠŽ[KUÃHcÅV>š’Óêýpˆ uYÜ4¯ ¶QÈX¹K²?i= aÛ§ž@±jš(ÕÚ.×…`‡®µWjnq@^zy .—iÚÅnä4¥8)T*‰vá‡6–³©Rº‚ýÊñ"jƦFæ'ËEc>j3èÑíðH:WHM’–ü'ݶzá ³u=7zÑÑæÁ XyÈ*ù¬½mÚÄd¥v*[¡ä8û„™"¯OGø;AdÁíï¨ Ù_Êe‘èÖÌ’ŒÝ½{Ãò€78äšµ¬9&Š&]Ô^útÕË_¤KfH”Z&ëÛÖi•ìRmvI­t'‹ª¤ŠÑ›}‘TÔi5Z•š`ϰGÕÈÆ”D?ä|SU»ó³³2©ÿŠ6:®ö¿ù¸ÚJ}ãà!ã‘ßóhX,aèƒ"­Ÿk•‘2Ø%ÓÝs×V¨çpdf­[õü~`O/o­ÍÀ'oJ$zÏÔ¹˜ aÞóêY#*äzèûýÛî¡ÿS@tvÞrŽÁU LY_T‘—¦ 'Í®—¦¥ª•öJääKgU›¹u£JBBYéyÕ'ck‹pwJNµCªÐã`_ÐBáIuë‰Îk{^1ù+Y¦F¢A/\G»Pr¹a9È´87’Çãqç^S2;f5êÃ]9x§(ó[y1‘õp&‹å&9¶Úõ‡3ů͞ "Ç÷gO:$dxž"çÞýUôW9^Œ—ßø¦Ú¦G¸šÄvçÄÇÜPbè‰ß£Ì¡ñ¢#b‡¶ïàfâÐIòÑÉb§Gòç’¬m^gU‡I°A5hßh)J7ôcCÁ}§Žûáddbü…«VË j ¨–MaU‰¤f€îVà±Îž"ó˜D†­cn鱘Üûy±kûM…ü_™ †Uj·kš8t« Õè¨KT"1…jÊÌ”‰ˆ@Hîÿ¨«8°›jÓõÊ‚ JsPíîKFÛï÷£‘ŒdfŽaréùý6`ƒ=­&-Þ3Ù :ÊÛ C˜X´±~T͆ÔЮ]Vëa†¼ÐíF«-23¬EjyÛf'¢|_ÈEz`ù"3(Ñ)±gF–'eÆ2ÂiFGt–çƒOo\°]e0ñlð¬?ÙК ³×(zêÒM[åõ ðsW¦äQì<²Ù;Š}¸deî†ÁúJª‡bÌ/”"ÒÂ’Š J7Ù´D¥æPD¬y“-7’&hTiôv'´BéùG£A¦ãvnàDãi5H–MW³¸çT6 p¹¥Îú—Ó1;ýë©KOÿ8mPánf›ùm‘ë£Â­§d¥´Ó—·OûB7äÓ>Ù"ñoïòsë9é·&±ke¦²µyt—ú]Íø¤Cècþ‘;ºk«b F’2î)ÚPRnÂ<Ò³”ë[GX&·`Ã+g` —Ó'¤0ýÛ€¬+?ú±Í×*²ÏÏÝ?;¾ª6öýÙqS¦ÂÐáåZ~ËZ­;t‡jgAÈÃwõýy¬_™¹[‚Mdµ* Dz?¢en“‡MÕÜÏl/9¢ª.M4©VèÚåz^{íÒbé–ƒArm.uÂ’˜÷H‡¾ã˜+˜@³qüI®×¼ô"(M‰öo;²$žÏÐŽ*•MjúµÁ]IGÞ¸5¢ÛŽEcú;ý+ò½¾öh,1µ7&4M³;¬˜xhíƒîB/Ü®½°~„!ƒ#÷-×f7ùQ‚]|qÛ ÿ“3ì£ÍSǶ¹˜Ù0A{.f'ÿÀß%mgÃendstream endobj 6 0 obj 2330 endobj 14 0 obj <> stream xœ­XÉrÜȽ÷WTpƒv%ìËa;d&¤!-õœÈ9€j6,,=XØä?ð£ý2«P@SŸ ªÉF¡*——/_Ö“¾ðèŸùÜ7›wŸSñ8l<ñ¸ùcãóCa>öøû 2úbwØèw|‘"ÍC™åb×lü4“Y‹Ýysçì§¾¾wüû­ø~ÛºA”Ë<‹OE;µ°·¿ï~Ù„‰pñ³+q8¿}ì†Q´E£1ŒE?Ví£8WãQ\Æ“¼â×ñE]‹b¦F‰—nç­ïIϧhG1vb8©â«øçîvëû>ž$Žäã‚Hì>n<>·û‹6WoXv¢ñ Þc”8‹‘O8á4ú²q®(ÄoŸ?JñaÕ ÚËû2 ž¶AìuU£²«‡—v,öcµ/êúE컞‰‚L&IŒpÂ}ÇÝîþ³qçï\?°AqzµéDñð"Š–ÖÁÞo_¦™ç›^zäÑ?–}p稢…_ÛAòÒЙØîªFU”lŠK`À{ï>ç&Ïi,ÃÙ´'e7ÎeæYdô/ô`_æxlžÖÕƒê‹Z§#IñØïÕi${ë§¡LráRZà¬Lâ€^%yUsâ|ôÊ¥”ì»¶E<ª.º^4S=V§Z‰WüŒ=<=¨~¸C'F:óQ ¢FG.”>²ß„Q,c?™c÷ºÄ.”©ÌA­ÄCß5ØL‰¸dÃÃ8—AÍirÕ?Ñ?Áž^ ßELçšP½v‡°˜Y›3ƒx'ŽE[Çâ«…²¤Ø)QÍ©ïlš8ñAèËпÌO “4Ò9 ²%GðxæÉ(óźˆ£}Rª”âæk¦ùÐAt-ÀZv­Âo]ÞÈ ’TÆ”´5BQoûêU•´pG¼Ù¹A/E]a úe_´€EµUâs<+ÕŠAŠžÊ…Ó^qšà©Î’ŸÉtv³3O|í匳¯O2i™Ç„P7ä°ÀE¦2]·Ÿ·!Bžx±só¯Ïï¿|ŸÞïÞæ€/Ð&¢2Ë0K˜¶]ßpY—Õpª‹ªwäë±W`ŒFH}9õ„Àî„r`à^ÃËlÀÀ$`M7¹ºƒEpCŠký ³ÿÑDKˆåT9phÁYUƒ–ŸJÔê0^ 5îåöGKzQzÁyÖ^Î7EUFÖÀæ¦jQ¹à›R€H§b¹¦ªó!²dÉi PLyò¿ó„òlÈö¯HõÊD¦Qf×Df YsP,E»DŽ}­˜¾Š‡n"^РLÁˆÞJ™j"9÷põ=ß‚Q£Ã÷,{¥27µë :ŃÁü ¥Ò^oÒ ªïðu®¦þó/÷‚Ð馺Ä"¬œNlL?Áú¦zt$ý8¤Ó/Êêípž€ íãxôó9³«†è…)7ÄoI¼ùónw+no¾ìþ¸ým‡ÿ˜#€“vha‰X·¬¸ÿÙöpcÿ¨iÉt# O§xætjé·jFé臣ÚÍï¿Þo¯…Û‰;ÍïdÒP5U]ôÛ86½ÛåíL¯pV½×3è–‘kèûtÝ%å„»À‚ ²Sú½á„†.ZjèQ}Ï]¡_sgÚV»NÂ[déÖ¢¢‰smbN½¢Ê]eäê¡è¯æfÌ ÀÞúÀ¤Îã„(è¼m#ÓÀ¯ 9Yèa$gäº?¼iÊ–#h°è+Õ–ß!È ƒ` ‚tnnwn~ýòM!Ì½ïæ¤›1Ë5Ýì¹gôb<¯KBÌ2sW.µ q  MïÓEB¢æÏšâÎyé °<ç0rx‡À—¾mºP8Û˜DÀˆBв¬èK°š‘h“È·~ì<&…Í ´´¶’%QÄjÑÙÒŽ¼¼Ò-Î-aòa®™3gŽ–KÆ¢nÍ$Œ"Ûx£H³ÓsÑœ¨$šâÅ6E¿ž?œÀi±Ws³Ôlg¶3ðÑÕs]`$°˜!öh‰rvõZ5møx´;‡"BÔ¥mú°Q§`#Úá3°²I‘Ü]$.É ®È†ŒB ê~UvÓÃEˆ— Ì‚S úæ룞W}%f ˜°™ìoc$¾j†¢`ò;ïi쇉Þù g÷ ¨0¬ˆ3f<1•@ýhh/¡÷(‘ô½Ûc{!¸¬Ä$B‘m^„m™ç3ÛëØzib{Ñ ºXÈ~â[¦&,ðp ‘eÁT!µeYy²Æº*öGÝ«¬#)›'2±_×Ö4F?õó¹Äª¯¶µ)ÒÈGŸÏü‹öuçè c9eÌ€dËņô€UÑ÷ùÈÉsŸÑv‹´ôàãÓ61™¼å’5¶ó¡…Ôoià¸æ}º®VÅ’»< Zêé¦È\}jxo¡PýÎÆC_H"ËCdã‹Ð·Ú¬À)ªVÙ°¡‰z>s†‹™ïÚÎ}CÕЦ™Ÿ´4Ðè4\ë¾’’p_„N’šÒ§ØN¬ÞÇ\×þ3ÆNÝõn ^Ì%CA¯pßOñÞÜËÎz泈nú,éÄšr‰rè² òÿ]p4C¸TÙÅÒúr‚®‡È´eöàÖÄÅOª^pñújsŽIû:&gÓH^÷‹êš;Úw[5LØx(«ƒfdH(7¼, s…i áíÍ $6ÛOÃØ5Ö@}l¤ÿÛR´a"=þ5×#Çñ…s ú;çÞ¡!ì~+vÛÔ({õ6Ñ<¦‘ ™ û¬¬Ç)’:U T¶|¡§ LW?é÷!¿ƒRg6Ìÿ?æÏVÃp6ˆïf½@ ë×ÞÆ1ä8þ™­±Ô@!ð´^ÙKÏs™Z±B‹´z¿ð †IqØlfu$Ù­À8b& ?òi‚Rîk¾ì­«}OÉgF)*ddÖwX(Ÿ„j Äy˜Öž’¶NUëëëét"!ZßmŽ1 M.¤0é²+hDÜ"lA’ÉØ =ñëÅŒ„øe¹Ø ¾3†ÝÂè ‡¼æýnóoüû/£Ê*endstream endobj 15 0 obj 2717 endobj 19 0 obj <> stream xœÕXÛnÜÈ}Ÿ¯hèe9H³›÷dwűc²â¬fVzȖĈCŽÙ¤dåœΩnÞf$e7Àb@¶.ÓÍêª:§ªNó3ó=Î|ú~æ»Õ«v£W>»Y}^q³È†ùŽý~ƒ )}°¹^Ùg8KK²ÀK3¶Ù­x’zi±ÍÃê““÷muåð«5{ßÖ®3/K#烬{Y±iyýÍŸVAÌ\üß+ÇuëÆ­÷õzóOó1ô1÷R“a祖ÛJ±îV±‹ls~Émæ¾ð¸­abùÒ©Z—Mí™í¥fª&Û>²B]¯¹ïù<ŒÙW+¯YUnÉ9ö€Gj¶]‹aG_bÇCÙÝ2Y³ËËsãº;ž;xê#ÊÐx C­lá©ì˜î÷û¦í491yÒk놜=Üûn³ùÈëV›ƒq !˜snš®”vÓ>wØ8ºd1˜µPú´jï×<$XBGµ¬èÛ²¾a·]·×XÔ”5í™(B:_9WÎYQÀç²f‰Äžü¾Y¹§ØKgeõA? ¬#KÏÎ' É“Ì ÀÌâSÄ@¤LÄ鳈©,²°b‰Ä‹Âl$…Yhž i’6ì€qô_€$çfÿw(ODш¥ˆÃ—±´;90Œü”¹nWé{~$RpëÄ•ƒÜ¡Âß®ydK¤is¥™¿¡¤lïͺŸpŒü`ÜûÂnUMÉ03:ùla­Ú55`‚3xÂC€6m°F®áùžå«Ä̽¿Ó¢O <ðâhª³¹nz–~8ió^"¦<;;£”ÑÚ«¸?4>€‰`8bÈçÛMé¼ÇuNž½( ¦ÕÑ€Iqè!Cäî –äŽäb`µSGgpkéðqäcâñ1N>YDZÞÔ]ÛT†T ðÂlo×´Ší[•—ZUìÊA Òæ¹#Æ©úÇŒÝÊün*]UöA¦Ñ}N°WÊZÁ`Š,xÂËâ!š{ƒ•ðÌJ扔š­YúäTÍÚ ™,p®scÃ$ Ý{¬3džvµö â<üZR^åµ®îœބÏQ(áÁÿ{Ā?;áI§/$<¤„—ûûð0ßÎæÆmÇcªª9¿­ÒMu¿¨:‡ùØ]T½LAdé° >=þþã}ÈdQÀ †kêêqi‹ /Nž6¸Ì ƒEe£YÔMÇ®›v)änO"ƒ‡ÄC¸"ƒwE!Ç¿bÈñ¯røbÈ’B–û½²£a9»Edd1Êêíæã«K|Cmý Å(ôd‰ûª‘Å)º:R´“wF^§ð0É&Á¥–Èc)Úã(~šl×<%b§ÎêØW¸ ¦vJ¬¹fÍQ‹OB/ŒÅA÷Ÿtx§}hËεE•@|îÜH‡Š»DÁ¼·#i(p:½h”®¿±Õs‹*ÆÔX²Ý|(Ddœúã—Rw§°‰Ò«*¶U,oZaFH†œÀÃqŒr?3^\СFÿ™ þ[ÞPí–7uÓZ•¨Ñ!LÝ&âÙQs XAQ;£[çU_PxFž//ß=[àŸ÷Œ°–íÔX\y£êŽ}kèŽtá÷Óµk$FlEˆAÚ¤¸ÜcÂ_?š<þ¨m#¤»Nä# âAI¹g ÓD½ ‚‘²&2é,<ê®üYývÐ]y&ÄXHÛÊ}°hjÅ^ÿñ½föVa<Èõz(“Ä_Hz+è *_U¾œ c¢…Úêô‚„q<»2#°“Í¿Àù RëÄc[àY–Ñi Qí4 f *r>¦/Ì,]ê¼)Q%ë;Mhä¼Éå)F@Û6=esúÐN/ß*K"ó'$r>÷DÂlï4ü£€IìÊJ7Db­æ«Ã±zŒé¢>ªÇwD§[”­Åjb™«dè£(í¼é[­¬À›À1º=b“)ʹ鎷¦AÍ h.?Ù $:5ØS“˜JêŽÆ"%ÃƒÈ èVwP"®¬©°eßÝ>©ƒLD£ð a³N†J:˜_ohêÒ°&;à™K†ÿmcʼ젯OÑR £SÈÕ]W‡‘M䎂ëžÁoh]ºÄ·¼’åÎÌ–IDñÏTŽúÚÂlÑ=H×|îþ¦só[•ß™²4ýPï!”‹ëžo.»8jó›OŽEØd³×lßຸE}•uÑçÆfMc(Âݼ•T݃õ9Å`ŠÃ‘Ï‘­®¦½c†³.躟]Ì4ÀÁÎú«÷ʶõÑà“óòkþ|ŽO!ñJ\‡«\ÑRZø ¨:]‡¶R—ù!—qñOPâ/\Ù¢±ï¸nQÞLï‹`“„Å %ýÒ½o¾ñÕ]µ[è…¡‘?! ž¹î‘¥ÉEèÝÐß#9ËšµõÄ‘M5Šž¦G3¬§VÃLÕàtTL€Iġզ˜eR-¸6»f~mà4VU U·Í­ Ã씺X®hºî䣡mÙÚn03xëV!;I…`zfN÷P€´ Ҷμ*ie×£°Í¾j"Ug²Æ^8½$ä©z ú$jEM 2óA¶¸äš‹„mhöéÃimã¢-##KvýNµ–¶¦=-^9–Õ³*}KM7oš»R±okèÊï(ìïµçÙQ«úh¥b9Rk㘯ÃIlÞ¹$œÞI´g!Ahš ŠµzœMà¾?\@ò¹äùË}Ùôº"sU´óˆ{bª¾ûya¹˜Ñ¸3è"Þ4™Ì¾æ¢÷F¯²“KÕ¹¯M¿=aUY+›UžÐŒMF°EbÕÊfŒiÀx«Æ¡ µ½áO.ŒTÁ„ ‚IŸ}xÿûëš”`çìüÇ7üw£Š L¤n€q—΢Թ8›'?tB:Öö'çÃ1ÚJCcLœ L€x0;ÝØ_pŒÞ¡3´1g ¢ˆ²Ñ |va•ôÐKD€_‚ixŠ¥ð>>ág58ÈÌÅûÍfõ|ý1‘‘¢endstream endobj 20 0 obj 2396 endobj 24 0 obj <> stream xœYÛŽÛÈ}×W4ü2T0äð~Á^¯ãÅN`[ÎCòÀå^à¾í XYÉÆUÃÅ„>vÃ4ðü8´®;ŸÊéà ò"õÁH~¨;I\…¢jîÆ»GÜÎ\ëÔ´-;”µç)}‘Ï4°žójö<ð’0fê|¤i¨DOa©Än¢mÁ®6‚‡òLáÛ—]}F¼Ô­‚ÌG²é2g1ÞЃ óòÈŸ ¥…¶ÔSô§@!°¶mºRR NÜÛ$ܽ | ç$öü07—q_Ý2×mE¥¾Ñ¯Zà'``_GzÁc¨c;ÑJɄʳúŸºGžŸ¥žXÒ0ZàçØ–ðü·Íæw¶Ç÷¼˜èÕ©o¸ªòÈï^‹#/¥ÍØlßSyB0^!*•&ìX‡#¯š/'Eb}³ ê8œên)úìË ïQj#€‹e£ð^R¸£ôØ1%W7:õ”¼£ˆ˜à nÚÓÜ‹ƒÌ†T—^ü"µ¡R¥iϽյý$“yîùQ1e²šoáþQö—7I#¼kd“©!—À>GQÄ£—ŸÞ|¯HýÐ2G\èÈò¾jàJUŽÒ9ÊÊKêÃ`Íc+›#a£/»aG©%Ô‹ ”HfR}rµŠ‚·Wñî{y…~„¨ äV?Üçò»xOqADš ¢$ôâd¢óæù|J!Ÿ"øúeðÓ?”e”u`oï£Z"uûç¯Þ¿ ~0È»%·Šƒ­aöŽK÷…©) C-ºM( *D ƹ!fGKÆ*¨)è„ßÝ&jq@Ü’‰NƒÆ/¼pQ_^’'šÛf^SlÜIr^èˆú¹ŠIAÈIBKÅõõŠ} ¬²Ç4PG‰—ú‰…Ò'~y²Δëtå2W ÛäPòdQ7 I9(íDÛª‚È©DâÜ?Éu#:ñý•¢Y•]'$ÕÙAÔª¾·ˆ‘¦$õŠ$±aùà ¼ÿ´F–áRôªRÒg.U)îÀ¥ Çîw_é(ºí¶¥ò‡%S§S^^{7:07Å‚èvöÕ5lݵm:ÃhýJ÷Ý ¹ŸXE%“ ‹íF9ösQižÖ¬?A{6‡¼·M8£4d ´¢°oÛ)?ª-Í'®S 0óÒÜ÷§T„V+$H8‘M"€¦ÛÕ¼ö NrÝQvib)$7o[€"Ã+Yxm ®{È Ï ¡Å™dÅ Û›a9á\NUBE¹(皚ଠ%zr;Öˆç¸uõ'…"±ElÛUŽw%`kÒ5¤­~e)Åv"ߪ¹%Z-‡»ÜÌU„¦rÐ5ä?­ŸêQ6jJ–!€O s ‹GÄJ)úäç/Ôð‚[UÓ¨{ÌøàüºùýîÕ_õ¯½˜˜ØÎpýóß•— ïìù»÷÷Þ •rö3/Ëlt¼_çÜ¢vý‰›{ƒ†dÛ¸[¹@bžåÅ,ª”7O¾V[*I$§Òµ¯{¾ûJçhtXòD_4׎RFÏ~ç#ÿéù3Ò4s¶ÐÛ aY]ÊRWŠkµÕÿ`™”.ל’ÄÎgI,¤ ‚¬tQ?H~<Å5®Šù”w[Mera ..´Wi }³N }:oÛAVà+•ô ÂЃA²©.Õhõ $d¥¤¹Y£ånÍwʧZ ’Ù¾¦«½šxMãÛ¼3\䦿\èàˆ“-ŠZ¥£ŸŠÈãFÅM\tm&оþNß7ˆl©¦™âó삊7nêSL[7;W> Q¡á¥ªv)£W‘3óŃ3ŒPååðD/ƒÇ¦êwqÍÃ¥´‚kñ,Ãn¯>Oìm\·nר ?ˆS‡R7#OEd>-ò!VìYbQM–®Ï§ÁÀr4Yéø:öG!Œ‰ÊÆBÏF¨†I>¬5w„Y ÈÌ(À÷DVR<",¼×ÚùÒ$FßI:†e®äfT áXåT-ƒŠ>=Å ^¦cŽý#¢ïg‘#>Ÿ¯]¼ÌÆÅP^6ûüŽsE Wf U’E”:ÛÔ᥅Á ,Z„»lYÂW*›ýHòºùÏ—‹4¢±]ö;#èPz¤o©PNk|‰PÉ©àiŒ kµÓ€Q*áD‚âUM[qä}©'3µ{ +‘4…¹æNuÎpq•ÔÍ*x’hVByx±P«5¬•ó,E.cø9šÔ bq(Äo. =&a^T:¤Ù¹nuõn9UCp5×ÍCðõÀg§ ¥!\ƒ rLêÇZäh‰ñt¢%O Äpv´¶;äð‹ºö·ì™ûìv¡S¿6€’Žî_2nGå8ŽÍ¨L}U$hiÉcIUDÛ­Yô®%ˆ—¢å{–Žä_ÏŠ¥i±ø ?q³$!ÛÔ*Ì-L礹4¾îÜÏ¡;+i"M §Tå¤YF*Å?Ä™(¿å£;Ã?ã—Oœ¾€1¾ÐŽº6ìÛ¶‹{pZâéÿžœ.z˜ºÒ÷ç(Ȇºè!»Ó”d?ŠjQ •húg#«Û æ³»·|“˜M4DT£Õ»S;Ê—šô'635äÀéå­‘Ýäk;«µ g«×,òwså¢-þ´Å5t[{¼ìàÉ'VãÿÍjT|Ç**Ö¢ng*Ã7.œÏ uÖ‡­Ùܸ‘Ü/Æ9/ôÆ; LN8·+“ÍñHeY‰‘ñ¨å YÙ3aì ?©2¶û1b²TiÙòíaí^tŽèo&†O«Í_@ÍÂÌWƒ4»woí&¾OxVV³ÙxlEY;ȼ(·o9{¥§ôŸjŒòK½ Ì'åw…TÔí<Ímæ[P–’K®åq”wj±OùWÂàË£Úµ¬”ˆR,rÄ¨ïÆ¾e ßD¹ ÿ5È#LÑÈgoÄrÌ #ü'šÊ8üŠ#¡ï«µ¹d°˜Þy¹Yýÿþàìnendstream endobj 25 0 obj 3087 endobj 29 0 obj <> stream xœÍXÛnÜÈ}×W4`Å Äï—…7Hâ¬wÈkG3Nì  È W¼™MJžðGçTwó2# ÉS°¤vwõ©sNUñ3s¸Ëúg~æõÅõmÌîå…Ãî/>_¸êKf~ä5ûã$ôÁn¡×¸,öXœúø-@À¶ëÑ“.WþÉÚnopçm'òò«ìéPæ‡iZ:•Š%o›FätCÎvÛé!¬ñ·¤öGö¨ŽLž¦Ó³ª,TäÓÇS81w½DÅc¶âìVd;\!Bs„>±CVV’¾R ¸½ùž¶½¾u)ÝØ÷æb÷ÛÖa:ùýõõÓÓÓ&ö‘Ñ °xÛ‰FÊŠ·ý:N”X÷×E›Ëë¬ëäµ>l£ò䇡®TÞByàp'ð)p:ê—ív†"ë+(mE¹ßx!ÎRk/zÑ Õag {‡ èjYS°Ÿšqw³Õ¨îG$z‚v½'®ª¡BÑWô#îû:<úZ=¹ËA0œÔY6¬0º\Cä#*ßÕ™Y`º/¾€qº~`e¶:Î6Ï›”aE+0‘ ŒLÏ„9–_×mñO Ëé÷®ÊÊF#;}LXþæO%!o™…ü6´ÿFX—ÿU]µu× ‰GÎ…äľÒÏ»Ý{(éV|öÎØ²ˆáG×6’N)›{un»WqdÕ}ۗá–Êb˜»®íDI¼Ù‰ø1tã¦úF.÷ÍÙ‚ ó­ÝâöÍ¥Âè-âaäMQƒµQ¬]olVQ"Oc Þð:Òô%ü)6Š^ŠþQeÏóS¦æXÚ?R‘A²R4ôа±1wÃzc q¥.­bœv˜bÔñ©ìô‚–Ñ¢ïA¸ÐP“fFg¹R.eS²Ûq`¯¤ÀGŹ:<Š”õÃá¿”õX+vÂÌó¤ÒÛ9ªZµ˜»‘ʃy<š0~ÊìžÌLÄÅ.OW¡î€æk¹Zæò LZ­ÙdÉ}‡ì‹T¤C?AxÉ1J©Nñyzþ‘y mà6UY—ƒ\9¸­IáxÈÓŠ‰¶2KÝ2)®˜lY¹×Ì4¸¢D€®¦"Ü—'ü¤‚xÁ‰}îÓ¾çrlºåúúgŠÂ3Ô)Û‚•ƒ(Êf̦xšv˜¿Q‡¸!°u“ ßìñnƶe“ŸÖaÛƒ¨ð›«¿h†„½$Dbî°«=dy.:@R æÕ0˜Gx=Ê ÀpsÚÎ&SÃI[A’ªƒ–æÊC‡{sŽ-»¾b¶]g_õ£“AF.¹ÀÌб.×ãð‡é´ÿ›¶¤Ù ì¢ì幃P3õïÑèè@-dûW8“ šØö ´Ü&DZí)BP”—„§i¯1tR©›€Óp¿ µ²js\A‚å-þ>”¢ÏzÚØC‰ üI¹F>€ .:Q(?¨yä$<ï£uÌ6^äð8,Ù(f(ˆ=ˆ6ˆÜ‰ú®kê‹`*iO©ÓkŒŒ|_¯òÜfä¿ ‰»gAWªO¢’°Åžg¸; “ð?Úök5•Ÿ{P穵7Y­h#q,݉µ=i{¾!n.‰òQáþÅbwC¨ZWÓ¢‰ ÂÈÎá* ès »–åh´ÛÄ3Ûu‹¡©Ð‹ºÄœýRµÂŠ’È›Ý{ o‹Ÿ:ÍÚîÒ˜+®–ó8qœé‹þø BžøÎÜzÙö~è ÕG%h'­, èYƒ¡cö–Và/¢û¨TWí7¶ †Y¯ÛfFk>ôÖfó²êvó†êÐë[ü„2Ç®j3póƒèSÙ ¼ýÛ–}²Þm¯ýÔù´ÑÑ W C”ºÉˆ0f¼„YQh74 ¦Tègõ»¯@ö ÿ=+Ùžhòèvk{„lÑt½ï[Õ°¦^l=–<–Ñ:yï|KÖÙ µ’±×¢ʯ9åýVLÀxJ‘ ¼u.`í –dR©çë¶ËI™7Ô©«V¡ÎŽjúÑþà¥.ƒÎ[4uMQ>`Ú šó*Ñ7èU×h|Z…梉KÝ“Ð('ÑYëLúþ’IcÎú:'üÇUbæÆZÀ´âoÒ¢ rXdCÆ^ÑÿϘ‘ê9~é÷B÷pBO¤_©¿¥å8&cïßmw€WwꃪƌÖ醖ž$”=}5ÑëF&À'JÞ>¤ãMú½*7~@„Ž­fXy;îÄ3kÒØ0—"ç{ÚÀ7E¿p40í,.í.niÝõ*×è’œdr ̆…OˆûdWáÜ34o@¥QEßüóîíÒ€êÜu¿oÀïв;uC ár„vÏqôÄ_J•Mã70AoáQÌóŒ^¨Z d»LšªEà¨ÊTc#ÂÕ:5 êÓ·‡cw]Uj™]±1ÁÛt;‹Æ^ ÁÊŽI‘­ª›¯1Ñ@O0|ŒK¡?wÜCû܈½RË~³²ö`/ܾ²gÒ'PÕâí* ÓèA,KsÆÏŽD‡Œ£‰ü²‚mEðÓíÆÓv¥I(“g{S[èÌMÞÌÎd^–g[b´;+ë]ÒŒÙÇi›Õû€§³j„íb7˜ËYIÕºn•)šHï6¸tš:¨¤¹J ü!;-Inàóx †[CðG2s9ãïˇIÛaêêY$Àʹoã»M€¹ÔI<ôH+m«R3!HwUìîÆ^`Þº+›LýyÛ³m8½m±®ŽëÑÏIQ§zj™<´cEꕃz&ÅK½Øiºs&¨R‹Ìñ¬XšðÈ80éÇLl·‚Ÿ(·›®úa=ëÆ3ÏMKw{c«É^wÖó0D gÚ~¾ ÜŠfj*–¸•áÒr¥^IÉ6=‚Ðe=k‚èvì5ô¦·HYc.šbÊCg¶ðc‹PCî9¡µ_[8¦ˆ™Ù0n$AC$çJY·T¸éu^‹)S¿’4¬ÏÛº&·­ÊF\-Ø•4pÌEÉÌÀr=ÁêõŠg š"dÇMëÇí½è…¨ih¤€ãàpÑïly¬ïÚŠ {D1ÖÞziŒîЬ)EÅð§|Àæ?Tí(—³éÚÖS;7ËÐÔi’-¢å½h0 ¤ÌŽØŸÆæA±ªm$îü°î“C”ñi— …N&ÞUxß­c›:J$ƒÞº'<ÐI£×ô¦‘D—y }hùû¥Õo¤ôÙÕ)î^¼åpoÒŽçqó.ÈqÒ3?î.þŠÿ^È«zendstream endobj 30 0 obj 2634 endobj 34 0 obj <> stream xœ­XÛŽÛF|×Wtòbj1êM6/ ;˜]g/ œ]ÇÖÂ3yàPœcŠTHʲþÁ½uúFRÒ°ÇÃf÷¹TÕ©æïÌçóéù·Ø-¾{—°§~á³§Åï‹@=dæŸbÇþ¾Æ‚”~±~\èw––d!O3¶Þ-‚$åi"Ùú¸¸óŠCWß{Áý’½ÆOË•ˆ2ž¥Òû9oyÍÜãå¯ëŸØfÆl½Yø\&1íàýøÈNíõCÞ lØ–l“9;VÃVý¯.‡¡ìØíú_Wöë·í¡Þ°‡’åìK]²&ß•lhñ0ߌ;tÕPªí»vh‹¶fz5aFýÞò‡˜¥Ž‘¦o©ö­ÿrç­·ÀX»Wiâ§-:~¢÷‘2;5Å!HY"cÝ•n;}¶;\Ø¿×ë·¬§Èú²Ù¨P°WÕ°êIÍÒ×mû±|ª§›†8þ¡Ôȯj]Y´@¤Ò”ªî ÝBuRfGQ:‡ ®á7l}±/­-V¼U1î»úM ĸwr?´0¹óÆÆä¨„RqÕ‹T†ÒËOc+ô~½®ó*“"Hõ{³¸š3Þª'úªŠùÏõ[:9¢"a“¥›aR=‘ú~êt‰ÞBºO´B­ôòü‡ªÉ»ÓÕî¼{¨Ï¢dÝëñ\.é}†`×'–÷£);Ò´ê9÷ƒ(ö>]NâU”½¢äÒ·¥Æ°­uˆÁÏÛgòJÃ;î:)‘òlì-O±êOqJä*´–¦ð ˜4Õ#æ3¶© ¥•­jWÕšé+ûšÛY _ÜåMƒ£óþ\=$G­æ¶C#cÞY‰qž„V86-áΔ:C?Šr?h‘Æ<'Û”ŠÌŽobàåèïh°”Šíh(rQËÚfÞ‘â„ð¼=âJwV“îÀ‡É0› hÂéc›9Û" {tM_a|·™2>u:êvêq¢=Ã…Ò?Âû‡#Çžc>íšhg¦-Uû±­ëV· I½£™EìK°)mÈa¡Pj…LhSöEW=(0SáÀ!R" FÒk‹„žIàÄâªW¦CÉTÇ׿»‚.ŸÔ&VŒr|95±áØ''7S/ä¥Ðd|VB ajpç2aDrF‡)èfn<Š#›áÃA;q_ȹ/˜úOýØ·Qê± m€ Õ¥=lgNu¥³ÎÈåJ×ã_MÕ]QUþý³r¬ß¥ÀUóM>Œ·u Ú†Ê}]ØÓæËÔi$¡ï 'zhÖ%F’ÆÁGÓÛí‡ðÁîûÄ©±¶Gš±Ì}æ;NQ—{eøï—7“:›a ïŸõJõTÛPÛôŠZnQúö¿ï×Ë$‚èÄíP€«ù*1-ºóèƒ6 Ôh‰Î h¢ôB˜QË!~ÝZLûa~+| PÏa Óš¬¿àÏÿ/oZìendstream endobj 35 0 obj 2411 endobj 39 0 obj <> stream xœÝYËvãÆÝó+zg0Gh£ïsŸL2ò#žØÊˆöf”H´(d@€€’ùÎ?çV?𠤌““Uޤ ººêÖ­[O,à‚ôg?w‡Õ—ïS¶ïWÛ¯>­„¾ÈìÇîÀþ´Á ý°¹_™gK%Kóg9ÛV"Íx–Æló´úàíN]}牻5û3¾­}å<Ïbï¯Es*j6^^ÿ}ó—ÌøaÂ6åÊkŠƒú㯵¢Ïõæ+üì I—ž¤‚Œ{›‡ªgOU]³CñQßÄ]Ú­â„g„kdJíèZ@¿ ɃX¸ X›ÕmQ²² vßµ6<(¶¯è~‰õ3AÀƒ0¶Ï<*·¤‹9—YžEöbóë´RÈÓÐ.DKíq­ØW5»úTVÍžÍÂXò<‰„5vn¬2¶±¹ÜíéiZIðHŒ›­«Fõwë+öÓûw¾jvm©öeð(ž1ŽCíÒðP &ES²cÑ÷¬XÛ°ªÑѸùñvc¼ è ¬¥<nË|3w$I¤óRî`±Ø^ =ì3õ‰’ÞWû†Ç£jJU^±Nõ§zðµ›"άtr3H…«Òùò½,üdÂÂï¢åþ€œš]—>ÐãïÚfPÍ@ÏIž™„Îà+O]äøs˜Äaì.´ƒb:JƒÛ`§£šaýñ>ò5ѾþrT»A•lhÙVÍQšLD 3·Ã^Qwª(Ïë$ây.SëRð©`¬]ðýRÕÊâ!лÀC’»hï‹Ñùœ‡$“ã ù|wýóõ;“É( dè<ðnÕpWóXÎöøà¸P"ðî 4¦Ú±ãA¡)R½ê×°ˆ<öTÇž(„€‚WÔu»–v¿O&Rzƒzçn‡Ø‚Ïî«›M*,¡Zb×TOFOp‚í:UUQ÷œýÔ»4Ô%NP•ñdúµ(jˆpS‚ô-&ð}ðŽm]íJïŒ= |¾}–«8Ýâ³¹‘Khæ^SNÛÔgúN˜ùñ{ÿÍ­ÿöúÝõ7oÈ„ hfÙôtdÒ´¹fÿ,ö¥^ Ž©¾_ËØ¥L£¯Ú¡p«ÝG›¾˜§c±«áJo6ŒŸlïé¡Ú=h˜¢¯ ÔÞƒ¤ŠúÀL$Lx^™R,eóqß1欆‹Úe•®§\ÌÐðTÌY4³ýÁ;÷k?‹$•Š÷X¤)+J*èlÊh½<Ç£#ôž†Ÿ9ƒSeRQ¾XxIüÛ £¸%4AÁX°UµWý`û¶M^nH»ó¾Ýln ®›b[ô/{«Ÿ`Å ™D­î H¦[|¥{Çòëwê`‰ùØ©EÅ„1<ÍMËžµkrÉÔšl@$h@ÙH 5DÝkAWa˜PDÐ϶]i”ÃVQ‹êá!kÎd¦&åô)Šgú¡fžì#>´§ªS„ô]­ äM›ICžŒUG>Ùþ3hžÃž(x Ñá¶jLØ4ÁéFÖvÉ9ñg¤Uœ¯þÉIC{L Ã÷‰W—lšLP½óÁkzUÀŒ UÓ±î Nk<­!ó<Š@rv«p©î ªç~åèÞ“_~3Ô‡‹õ#éñ®.öÃ#‘¥®`@­£ÀÛ·è ƒ²«9SèÏrlþpô2F)—£/Es&h.ÝÑ%álÜ·ø£ÆJ¥%`i’6H=70£cˆè»{“BD|CKDrýÅ/DFÆŸAº×Au šâ•¡[À¯]O:O9»–ýÔÇÑE1÷T¨¾:v®¤Gy&ÒÜ$úÎûZõfÔµ3tÉ{Í1Æ„^k¡Ò×ë›÷–¿²³Ó£C.\l73V ¹Ä†ÆF™Â-Ù;˜Ð}4ÉtåC劑7»…©Aµ‡ÛÁP¶Z‹ï†KÝÙ+2+>*öõ¼íƳò³N̆®hzßæÝtj0d©ïºWÔÍDf‚1å¨I}Þ&ȉ@FŸiè&Ô®ÇÁJ_c,Œ54+×­HúÚ9êŠ ó@ÔIîê;(Lc¤­òméíÜ@6Š@Ÿ2N¾ùqéL›‚(±CÍX6W$uˆ)"Ö ôCº“"’Üí&ºyx1¥ºÝUûÄvž)¥D,ò2i‚yn­Sgήç[‹ƒq› ¯ÄŒ×/Ê —¥í¦Ïê ¦ßt!È,}ÕDî¨éQkAR\S®£ÚEÍGH Êðt«L?@®ÔË_ŽP¨Õ"QfïÇÚa"æùÓ¤0sôUÑGqs-Ñm@RG©Íµ}aQ€©b¼ÉJºº*zŽXÚƒèŸÚëe÷™,Æ(ýIîšö¦)ñ°$q²!å·Ú ÑÐõÔ0tÇ ©(œnØ´‹œéhñÜ{¥•âóf‘æÈ~4f”å®]ÌØ )L³±òÔC±¹™+ÄÀvÂLwB‰Mcÿn-ê$©wÖw“PüaNÈvãöäÊNF0º!ô MÌ5øF«r’ß5»ˆK—ý…ÿ‡ÉL°q~±–זб^£œºÁ´šuÓj.^/Ô„R8©cÿfVQF7;à]ù£#”xŒÏÜGÿØ^¢#L憡À3̃ÕÔ³I!?x@¯€H–Ç^°gñ2ÔïÝÁœ|á,^艽PMéžëÍêoøû4äendstream endobj 40 0 obj 3063 endobj 44 0 obj <> stream xœíYÛ’ÛÆ}߯˜l ¦XÌந\•ØJ¬d-+"]IJëJ Á!P¸kæ”Îé¹ WÛoyH©´K虾ž>ÝúÈ€³þØßåþêö]ÆvýUÈvW¯¸~Èì¯rÏ~¿Â 9}±Ú^Î2Á²" ò‚­öW<˃-|A‘'Þ·²9Êš?¬þt¥ÌÇßÕ—CÚóýMÓûÕá1õåfÓ±—ÕAP}ÿåbõÏ+? 2¶*µ$ç­=éÛ"ÈhG§\«ãÕæF6´l]5ú=?“==¨†í凪ٱ×oSöõ›%ëÔÇ£ê‡þ†õ-ä€êì k»jWùZ%}«Õ&4>hä Ø¶k÷¬zfo Ø ÇÈnÁ³ ("áíŽ{Õ ¬hõ†­ñŒõP¤VF'¦=%b¶º#»Â”îXýæ½·¢³ÛÃPµV¬ÂÛFݺZk«ŸÚ÷QâÉž­" Â0‹¼cUì©p!dÚúqÁ<±§:¶–å‡Ç«£#ûãáÐvCo,jª“t±¶I+H¸3 åJ_’:ö0}NÕk?¶M}Âqå>©`á'aèÝ{¿Ûl^iXDQÚüðu Ó 'ç¾·éÑ«Î(Ì“ ÷óˆÞÌÆe˜‰ Rnst©LHëªX»Õ¡O%Ñ©”2Š{­V?(¹¡WI¬?áŸ{¶Q[šL ,6óâ€ÛÔ“Çz0îA–ÄQå!7xN×o]´U¯“*‚&ù,¯‚ˆs-1%K¯A€z:”e»ßKäØ[D‰5ÇýšlØË“5²Ø¤‰¬ázˆî*[L¤ª)Äù™UÎ{Ô ‹ §«©¨D^ä±}ØÈ±Ú¸D"ì÷ZëÛw<´8‘YÈ ëïÅKÊßhõ¥yÕ!Љ\ûc^BžÜHE%‘%“o­Øÿ ÁóÕ óýNmU=_~ÿîN;uÊõ0HÓ\;òÞûfµz 4^âfsïõ;$É·$ÅEˆX8àLÓÂD`§®¡Æ¶íöÚ@ª’¦ãL±l,xÕ†YuZ‹€ÓåU^.C‚Õ”9<È2´ó€ÜXÊÆä©Îk“Á”Î,«|‘Ç™)’Ø4ŽoÈ#(R£Ä”_‰@ä³Â™'’È`À¿åŽ*¯l]¯½/’ ï¯ÔtÕ“Úù3 xE”[Õý;ºµnKí¡‹{SÄ/qFžÚ£1òp  ¸þ­<íµóéK]–"†š©˜p‹çÆHÄ™$ЮŒŸSú¾$ EêTRå¼@“4¶eýÞ£: [)œ¥F‚ÞÂà¡S a‘ï±j=£›tk¬¶mëºÅsï ŒÝYc_0ël ²N•(,‚8Š?rèX8]<X?ÊShx^øÎ3ýÐQO&Ÿ9–5ê䆩3ìâQñt%Ï€ =¹Zh*RDÞö¤µÖŠ ¸—‡.I¥MÛ|1;ñN]~ýŒj É]n¿÷àH(Z5ÕPãLáLÏ´o_„)D˜Oð…£^o~èÚÂ'mbn\A{f[ø’;Ü8T{º¢{š¤–Ò(¤/ÈõFNŸGY€z™7ÔW”À¥BËxI?«Oˆ®zÿâ û~Â̶ÛüpÙM¡bšY„Y.ï0:ØŠ4Á„§¤=U×ýHÄ i£UVŸ`uYWă&Ø'p ;5 ”Ò|E°@´¼aÀOÐ0Û-Í­ç,L6-®éÔó×’Ü{èÚ¡-ÛÚ0±Ù}û#œ_vßþù«å¯qŽ>Vm¡/i°TÐ_Áʈ*¥Èá÷¦§NpcP?(lOo«¯¾}&/›Å`±M[éØOíT(ôJœ;¢PðØ£-Qͮҭ"-xå…I#5vw6Å-Œ3Š2 éL êsõ Yäqü<§Ëá˜U667„6“¬«ó NÄ$6fƒw| »u ¨…¾¯ VÀÞ´ƒrLzÊz( L¨r=ÅâZGZ¿kûä¡stE˜’L Ø\YÈyMÎÊ~8GŠI8yå4eψnøê3ÉY¶ ý&’¿ùòâ²Kñ ulººÎ[ƒ@›0]¢ÇÓ ÎŽÈDé¹³ùŒbŽ˜jÓU¶=‘-{ä÷FQ‚Eõi‘ÚLvx€¨…(ð×*‘eºv+âN\cha¸“Ü-ˆ‡IäI"ÉÚco–Kª9"_ìôÍÍYÜ Ô5ŽfiªòC#÷Ê1lãmßÀ40k¤z:C ªf¼r#Ie^þ©A"®õͨ™EºÞÖµ¹u¿#^'»J®‘pPø_¿~Çî©~!êÈ}”;Ÿ·m‹ÏP0:]nÕPÞ>T·MßoÖ÷‹€ÙÚ$Õ ®p¶o7GÜwî¿Æ»µúðIsâYš‹\ ÆóŸÊóªÖúk'Ó=¨Íû •N$Ù¼Z…¡ÀººEÿÞh=‰<‘ù4KGøŽ„eà2ëtÄv¶UÁŽºç.‡¶;ÙÙÁ˜ÀÓþMOY(¯3 ;›ÿ,†eaa1lìôú’¨˜;<ãf¬›¿C·3:1‘WësÆHè5U鮾6tÈៜt{Ùû8ÆŠ0ùå½äsì(åiî?1}z„¾æcßi†93e­îÓx `è.nÌ#­Ñó^uN^Ûª¹¡3t§—4ö¹:ŽB̉q1•L\ð²ÍWMÙR…Í~®åå+Á6>yÌ­³àx£C?'ë„Ê.Ô¤¨G¤–¡Ù·õ†‘6×ç  Wd?EÑI›Üj£9 nìŽÙªG1Ht:­ùIYÂË•°&x·{6§ÆÂÙ½÷îõò+j ß½¹Cµ…ÞßõZl x¾Óèké"QÃ3ºh;¥‹H43Õ9àÖ“Ê岈f%áðÃ:,Zð•”-·\´UŒˆò輈©0i3m(ˆÉFŽò{OS`àái8î(d_Ñ9«Ò­-ͨj{¬Ïö}fû Ñ-á ØŠØèjÇ… ðX„â"8ÞÛm|­—øñ|màÙnm°œæƒÿºÚÅØ«fèÚƒÛGs3¾‚pwúãd®öƒs¨¤ÖJZ-Õž<Û–Ý–I8\né‰ÙÔ›·«a%š£ÀsìœDtv#‡6@j[Ë'Ú¦Q¥ ‹fÏù|·)xä© –ïwäI}"9Ó¦Ö íiÏ“ÇVGŒœÁÂEÿ Dz€²zX âä^¢Ì Á±YÍ7¹âl‹h¾!ŠÉ" „åôΫÕÕ_ðç?XÕnendstream endobj 45 0 obj 2925 endobj 49 0 obj <> stream xœÅYÝrÛº¾÷S éE¨Ž…ÓLf’OÎOþ+s.âN¢ ‹ E*$eG}†ž­®q5c/àÓl.£œçY¼Öõ^Wlx<ûûâ×3•°9ü]¬`s»z>73_w¦èEÎûrkš}Ïžt¦hêU÷tX&¤]Æ“$Å¥ÁUðóbñ¶}­¿–Ûý–áRVÖÌ­dýF÷ìÐì™®ªf¶øÇ™â×g"Oy”äp0°Üø0´"žÉÔ}޳¾a·v©ä*Š=A2ëƒ.{¶nZ¦úÛöe½7¬5Ý®©;Ãn7¦ÆåJÄ“ÈBpÙõ3۲مE¡{|llcôÊ´x0|­5_ö¦ë9{~`+³Fã2É!äXV9!«÷UoÑg·e?f"䡈ëtS‡·Ï2™XlÊŽ5»¾lj¦‹ÂìÀ•)Ê-Äõf&#žç2 tý‰ýg¥ýº¾Ùu°!–x—zÜÂPxÜÊúúNDÎ ‡Õ+×¹ †Ý„diêa°4°gk SÚWà…Ã…=·ÛÉ\Þüôêâ!*øÙ™þÜæ¸iw $•6®Ë)ã * ³#ÎKße}½9/„Üt¿AEÔl‡ŸæÁޏûz€°©V“x ¾ˆ,ãñÔðcж +®lHažy|™)T/–ƒ c©ÀD­W- €^pÛ¹ S9ÒYÇ֓Ф÷}Lt‘¯šæ³«¥îŒÍ Îw\I>_R?Ã&¡‡(Úþû9Ð=Å8¥–Á”3[Jmrƒe¶*3}ÓhÜ„›£R"¢˜Çx_}1-îx‡SžfYЖöc&‚º'®Z5ȹjH®’ë#¦?ôN-²ó÷YdMûj$ûÉ;è„Åm-$©ÙØZµ>&‚‚„öî†\¹Ü®l=r0æ)nqìbÐT؃誩¯ÄÐÅÇy@¯Õ²w¤Ð\{â-/ÏS®K1<ø™td=@GzÉ\B¿¬'2%-ï$‰’¾žaÿA6Aé0´o./<«Êe«èR´[ƒ&Gºà¼|Êà¸*ô)›K{,gµóÝo/.ÿ 'Û6«=pó*€ êªÄ–w Hmm̪s¥6çñi» :¬Á¤‰L¡±WÑ“ìSr••Õ*/£>Õmƒê;;  ¶;ÓV‡Y‘>¸ÌU1lèrþ}Õž’ÿQ¶­´—í1)ïð„br§€‹ôð1åm§^rghî‰t§u¢ à-|Y= âÌ—ÏÀ•p+ßà´øK«l$s®û=ø^ÀY8Lµò®Ý[ <;ÝjlÑ­-@ Ø=xüˆhøµY$’g™MPþ>@Äcü)íOõàjvÚ.t'­‚#rÂÃDŽ£‹¢”Ú*‡åú¸‰Èc‰?®pEÂ',5N±KØ·;SC0‰>cp¬/}ZÊ"™xË YrÒÆƒ ‚sºy€“À\˜‰¾ïˆÔ^Á<ðg”<Œ ùâSk`þذ}_VeØïvU ,ôÎsÎ> 94õè½Ýä,CÅÓAf<Õé%?]« ƒìy„ñ³*ð}ÍFN ¯Ü¾3Ï3O5òd¾£Åˆ¸_aZ¤?å‘Oa´;ØêÏTÕ’H>‚xÒl.§šŒ30bl£ ÛBÓZCØ@JCÅ&hÜ|«õ­(¡ºU˜NpH‹¾ ì^0µ¥é/dæ ^ª²] …¦‘ñœĞmS]û ÇÐvrO BიŸ¾“.Ü¢i§#yûõ®æÚ~Ò²žzÜ\&™›ÛIIDœówéîpìD¶¼®ñÕŽÔ¯Þ§é"†ÐgÐ¥êtvhC™Ÿÿ~¹?™˜w%pdµÛ/?ùC–L4ÏIï=is¸Þ°ÏÉcUY°cƒ €#}'¯‚i“3a8&¸Aé)é°<ŠÇŠ“ç⾊™÷ƒŠ38w"`ÐùfÀ\xÿ¾M3[ñ° ”ﯛB©û¹o U<Ê)£¡ñ“¡9?êÂtRˆÒ)×£¨´?Ÿ”_EÞŽã¦Ìí¦„ŒG3Ìn¬z÷E<ïцӗ$A™ð×p'‚úÝè¯â*™Ä––Cc°à½‡/J8FÔGC¨Ø€C= C÷µß.¡Ë…!e©;“DŽðOÕ1ßM]4X’»–qâÕÅÆUêïôèÑ£ï6#]ávÏþúÝîÏe"½6ØË³ÚP4\7}I…^ƒŽ\â°Ÿu–Ò²3­k`™Ô-û^Á»P}t[T¯`è²ÖñJº‹º‡âFx¥ 5É@ò4..ž ˆÁxœNWЦ«{ã­ ›T:¦·{wŒx¬Rò$ôâߪ­m*ÒñÌ­ÿÚ·º@<×m³%YpÁUÁ»,k )Ï ˜ƒ±„Œ)(MÀà±Í {™Šqâ“$þ$“ ä£ê'ê†Jêá\'ž@+Æ'w$ýÑ­ÈùtN^6-5cø!G×Xb1ºGà]ƒJ×õßXîÔ~h¤é%ÞçÀêžk‡@÷Úi· Ë~\P0P×7¹…."´ãÈп½¬÷ÈUDÿååoeÏÙô*U¹×q–ÂWè^=<öyÙT빿AÂoG†Ñ5 ð£m[.—{Ø!½p§·ö “q©‹ÏCÕ¶Yf/MÉ!Kúÿ¹M•´bIÕ÷c€ÿ5ƒÐ–3(Êà1²7ÍCæãàˆ¼‡"Ø¥AënÃM<Ëñ‹ÅÙßàÏ¿©l1Oendstream endobj 50 0 obj 2747 endobj 54 0 obj <> stream xœ•XkoÛÈý®_1ÈS…8æû±MŠ´ÁºÝ"»I#è"îŠIL(Rá±Ýßþçž;’2R´ ÖÌyÝǹçžáæqŸyôc>ËóêöCÊŽrå±ãêËÊWƒÌ|”gö§&dô`wXé5>K–æ!Ïr¶;¯ü4ãY³ÝÃê£SŽ}sïø÷kößÖnå<Ïbç碋†MÃëîþº æâwW­×-E?¸r(†Q®wŸÔ˜Иǃ$¡Ý{g»}‹­wjBÀ=<÷ì”T šFªcØÐ±¯k?âyîŽèëÃN‚é#XwÐÿ‰“bŒ32 þVƒ`û'6ʺ=ª)oæç[½öƒø2 9(\c‡5V[qïŸ ÎÞ½Ù¾§/ 6#Ãßn™ÀqÜó£ÄyD+ë®åj£ Â0<ñŸöØýî£óÙXÃÖË€i ßD[ìQ±¢­æ“iB>HÑV£¬nµuˆ 2S®ü<çI¨£å|-(€=ϹŸåY¤>:M]±{Gð#';Mì/u/*˜ß yéZ)6¬Öѳ˜®>0ð€†`Î]”‡*wGLbQ1̆È4à©—Û,Fy¤&_gãTH¶¢Åq´„|R¦g<÷âÜúÔ™1_»•™çŸÅÂ×0œ|uª ëzÖv³0­h s/JQÛýtü‚ˆg‘ÝôërÓ »Ú”¼S®…ãÔ.Éäqi§Æ1b.ç0g&åI’çY^7’«…ö±Kx©V>ÏÂ\ÅlGH©ö{ÑÍëZü©Ï—Fœñ¨©[eÝ»‹hQHöçv$D˜~ÙnÙ¾(?ëÊJx˜ÀFZ¦“hq ãU%*š—øÀGâ[ µca–añìQÊ#Ÿ{(x5Hu’ 7 l®{Xû¼çNÑHAÕß3h=$9ünõ§^è[àä^ôò‘ÔÃ:W(ÕLÁª±·ÕM8!òT|VÖxiˆ`wªL½<[®Cx vî*ÁN¢bhùDÊ  øqd©lj„Ÿ=ÔÀ–Þ†ª”Î/.  VC”ºžàcÏV´eMU5£¨"hüpBÖŠ÷èD@•pgÆäÝ„'?@y%ù”­Zž‰³²8 ‚-ˆM*ø*ß› Ë5yòRÿÏ)/XßÄG}}¡¸´ì"zøqÖƒ‡~_E˜¸OhÒC)¡¥»ÿÁ„VBíV`.r¸‰ª‚Ôé‹ÅŒß;D˜ï¶,åÕy"éuðxJG–«0Ƙ[êÛtëlä±Ó¿›¾nÿ¡í4ŪW,càÀ£|:ð´U”†ES¿¿_CqÆCp³Á±šQ4ÁT4~’ò8¼*œÃ†éâqŠº™ fj—¾mBÙíÞä;M刦3Y7:º÷د‡Ë8îÃ\„m™ŸED¶Åz¹%gÑ÷]GlÆÎ¤ «®Tw{1 4K5+&KcÚ½ãdªe¦n‡r±²Ð õpb‡©&a:5>ŒŸ±g?µ ïþL¢¢Bjä¡ó‘ϳ ¡‡jð"ëƒåæ¼Þlí#ÉØZÒé•hjÛ65íƒÃ$¹¦ý€'´Ësêï‹j®µ šÀ®êJ[A¡¢ÕEkÔ Üè©úÎ0ö­Ônüü-Õ -TN²CÖNuy‚€ÈáF’Ýã½ ‚¶0Ï•…ar´Ü½ai}47EùªyO²ñÒt…Z€Ëƾn‹þ >cd»×7èÙq¨ù‚²aèâ0W)Ô]b[Î4_t})”í7&7ŒLÕü©âŠ~ŽÐ}{T³ð¯æÞZnÙ&r%PÊ©&[ÐÎk´‡#EUC$Í•¤ÈHŠØ–w÷i¶욦S¡åZ)Žr`G¡…¾1Q[¨êþ{²Ù•ë§ó¾k´Õ^Êýpq¡ÈÒDì%å^°ª>¬’KQîP¿-‚ƒ6ò@†×ª^R¥QåižyÍÎ"J ¸B„ÓÒ\b!µÊ4œ¢<ÍÒã‚VÇ 3CYhw¹VF:ùÂt£³õR;ILÚbX^Ù7Ñè›Ý§ïPR•˜û­šÌ1½¾G½“7?>$ 6žì©{¤CÊ ÐG« ó©?†y` V©`ÍÕm Ý{"VôP ’,ô…%\\X6Ëf“øo)L‘ì6@uà  ónL–4Ìõ\U¹i¨ [ÅIôŒn;C·¨«[µo¥iz¯_·è3?9·ró&C½¨€ÿ‹w9O'%ugbDׇ ÉÈÄW¯¯ŽxxX'±ÃÏO³/”YL”¼ìÎVIdJ;Úíç{›¯Ñ¶Ã tUÂéÐHÉDÕTH*ßr¯À19ЂeŠŠn<.ÁÓÔÅÒÈ´c'4†öªÌVvuÊÔ'/^ºè³åÐ% ®¿·X=Œ-È›T9nQ´#5]9^”èî…¦;[ÔšdDÅ.5xÇËú\7…Nš¨&B?ij/ ¿zàÈZÍ"ghg%ä<Éb 5!*£YÐ?ƒ0~Þ…¾ƒÈú_ÂÞ°èá@—…½4¡K™¹^ûú^îüÚ¦E‚†ý ÎX.ù9ŸäÕG§0r ñÑoº€K”ëu‡¡ÎMÆ\O§7M7k^š9†_ÝlˆppÙ,ÚVLAêTf »x^ # °4°Öÿ;²_<ˆý«×u[i&á§áÜü^k¹å–½`Øk†ò3追¦^(Qm-–'êÊy¤vÛ=?Õ¼)y~ú¯ÝBÅüÖÞsç‘®à5Ý^J\Rb¦ Å®¶´L3×m I“B+WSc¯6¬©MSÑ…aƧ۶Z޼°ÐEa*br£($éGZ7ѦÒûSº‚UÖ¨NPÐc¿tËc‚_B«¾KÒ5O¡•xdŠ­©¡I?îVÃÏX+ endstream endobj 55 0 obj 2554 endobj 59 0 obj <> stream xœXÛrÛÈ}×WLé…`Šc0¸îfSq¹â”×qDj·*Ò>@ÀPD 4Z«ØÎé™Á€¤d;å‹(èîé>çt7>3Ÿ æÓû³Ø]¼ºNØC᳇‹ÏB_döG±c[㆔¾Xo.Ì3‚%K2ÉÓŒ­w"IyšDlýxq뇮¾óÄÝœ½Á§ù23ž¥‘÷sÞòš¹ËóßÖÿ„á̆Á¥ŒÙº¼Ðæëÿ{Íx"² žqÝ'?Þò-»ü£V?ýµn‹¼Æ§ñ¯Éwê'ú¯jöm?\2XâE»#kËÑ"ÒnÞm˜}äÕ>¶¬h›!¯šžÍtÀq éH¸Ï·Þ¬ëódÒëfú¾¾‰¾òƒñ®g V lwèv¯ØçC;¨’Ý?±²=Ü×j©¿èY]}š ßS?œ¥b)øŒ\ ßÉÇ”Š»»Ë1øè‚ÏSNðË·ÓÒvÆ× }ýÞ1ûV 3ƒ‹`òäýrö-ß>ã@W÷Ćm>°jÃòÓ:Uý×2º`ycJ—‘â")ƒÔÆøTÒES0}‹°Žl°¶c÷yñ©¯ó~Ë«a[5DépƒHp‰hE0áІ抭ú"ߛ؜NO¯ÿtë­”b›C{Ssq_D™÷{¾Û×ÀCÞ”¬TÀ`Ý3ã•ýüúÃÍ\º‚Ä{ýžk¤xë-rÐmX‘7äöÐÃçîPL±¡Ú©ž£\D©¥ˆyjŠ´Ü ûe^í¡Øm™ùoš¾Éœ‰gHëÎ{»þÿºU "cøõªûB÷ ?äqláNd†ú8UÞêÙI¼Ý—K–o\E”Ó颳î󾜓:øaÜ•l›÷8 î»v©Ïº}$ýKUªr !dŸ0Ñ+8k7GÔÍ2.Òl¬þæ0Ußç©ôÅH×¾jt¶_ëT§Qè½y³†ìv“³;ïu T“„ É}+^KC`ý‘  G•Á']•Þ€zk¢ xÙ˜¾(SÆÄÚ ”Rq¡ˆp¶Fu=–› É„Gáó"×Èw“Õ‰ïHòxâìW½/‡v©Kõg›ƒ¿øÇ<ó‘O[ ÁÃ48Á o3T\#«D }‚›ÕÕµ.úG  Ä¬;²# €^¯VcÚ¢¹QUé#TàÒ$x¬Œ®‚HÒ*´GpÕÁÊ$à"˜bVY ò*tpCËÖto „…¡ƒÃa5˜‘÷¨TiD^j"OaÊc‡¯_M’\ˆÀÙPKë’(¨gÓïÛn0!a>"¾´Ic„ïóÀƈœË òöXÍ¢HŠ1‚nÇQ×W 4gE]? Õ Õ(ŽZ˜K¦°8VPsìÖ»\½[_E ïfýKÀAѨª9>’Ù©¡«ÔÙâ¢>*…‰ë jŠ=äQ|ÚÚ·ßÖ‰M×î´«)òsBF<!õ9DÊ}ùŒ E§ðز¬ºþ\í¨ìÁ¯VÏ%JFß²›ë÷¯Ú½êrMm„¹fºé.U¶ªof¶÷ÍâBB¸d6Be(ŽÕGÄ~æàÖu¨Lý¤‚÷{¥™®[ŽN¤¤EÈP+‡ ÔDuú®€'IdOS‡ÏÅ”f$&Šüt,D0NkTÄ\Ê¡¾÷j›ÏêŠS·=ª‘Š¡´C5È£ŸE“‘X'ôäìÆª¨Ó¿…y^SÕ ò’åàvû,š¢ K„)Û‘Âïª^DÑÀÖ¸êÞ½ÐÐvjض%»5?Ÿu4žªÔÌy]‹È¨pöYj¿muIÅ5h΋­™=¨ wÞ Æ>(…@Æ£:Sÿ4ÔR‘ðRk›¤Ç×Sý!xÑø=òoCÈõãJ)F-òKshh\‡gÝ£mÐ÷J÷‡v£É²ië“*‰O{Z\C8åg%Ž¿×úL¡ Û4—ºüë£x,ÏSG™[J+qy¤r"•o~ý;›ˆD“‚γ¦Ò>‡BÚÉçá´sÑèº^> £ˆŸÇÚÜL™Ž¸tl@T±ÉÛõ{ÎÞÙà¼Tj϶â1LJ}>6g›ú(ƃGMÏvÚ)ðXo¿SÐwfh™%1 ðÄСlïˆè â}Æ¥sýTËwMÙv?Îô‡¿ÛÖœÕZIcŽšŽw?^OV ´£ªP”fŒ{û†‰D¦¬ÏŸzÚI&¸”À‹¡T ¤h§èýS1Jµ™Ó¬ChÊQsvO:qL°Pó‰–©§`舰“‰‰i!ø…[M;æpÓN²… “3ô4­Æ øš×КIXÊ–­ÞýçjÁ®¯Ö× ¶Ò, H“ɘ‘ø]35z9Ã*ÊÀicb@›ÊÙÆåF}?8·z@¦ ´nM¾äÒ?o§gº­¡Ÿ›> Á)žÕ]óXOÇ‘Œ< €.µV¢¿™Uö¨Äé´§›ì’pPzݰ¶¡S `õSÔà”øI§¦<ËcmA?GRyÙ´Ýçzº4-#ÐÛãGËî ê'ÒÎK‰›Í1/Uó“‚ô¯¦½: õŽEº®5J ^Ýͧ¼õíNMÒ§5¾í¦.§§Ç}]å ¡ª>ӜҚ­td§%‡Ájfö³„’ÕZè|í±ÖÃIðl nöBÏ:^„^^hlX¾<«Ÿ8íf7-R§¦‘ÖµHš}ÞM‚åO G»m©445íiµæ¶ávx§ªH›¡gžð$zÁoešc"‚ñ®Ñ·×Gm­Î—gAé‚Wn`µ#«CĪ[‚’ãJjèqâ/§‘½ÞâþxóÝÜNŠ6MÅ2†Œœ¯ûÃWVoп=ÍÔ>øÞ¦uëuVY%» ´ˆþÐÛwB·¯[bRX×—_„`§8}5DÊtRéùÄ,ô «¥_ÙÓë—Ø*ïÿ¹ÉFØÜÜ$óµ3’UÓ‹Ž–Ú¶ÁÀ«%£³›­õA²)[=°4L5@b¡Ê@´©Ç¯ ¬ ­;nÿIì¦3Ò$»ÆX9\»ó*7¹N§y(¡LÓ„Áe›cW„tèn]€žÚƒy¤%rœ|íQÌ*Óv$¥çü˜'®¾G‘"MóÍby4ÔKéû/BÆàÔ¤´ùÃÜÀ =¥jøé4¸ R÷Fãc~TÓtŒžQzà G£|ø\lH3|™¹+¥S3<é5jjìCgðqõqõËØ X\÷1)I37À¾^ýb†¥@š.“žÐþä PâZ¾×ÔªïMÖ¦jwÇÛcOµ^ž&wø}}#Ýôî›ÑDÆý9d]—GžôÙ‡Ö.lv]ÃéÞ'½Í'±,ÖÛš‡²1!覫õÅ¿ñçMpd{endstream endobj 60 0 obj 2549 endobj 64 0 obj <> stream xœ•YÛrãÆ}×WLù…`J„1ƒ{Åv²Qd{S[‘¸I¹$?@ÄPBh—•ÊìGçôÜPk»Rë2w‰ÁL_NŸ>=ü…>gý1Ÿ›ÝÅ—·){ê/ötñËW™ùØìØ_ÖXÑëí…~‡³T°4ý,gëÝO3?Kc¶>^Ü{›CW?xüaÉ®ð·åJD¹Ÿg±÷÷¢95s—?¯ÿ†y`vÆŽ«0aëò“ûþe¹þ÷äXø"ÉsçäU=;ô²ôiá*NôóOüLí±Zm‡ýªÿPíWû¢YU{ZˆV\¨Mü4ÚâïÛõ ì]/2•§ž¬µ¡lhYÓtž%{{ʲìdß«ö²{YòÈÏó˜{²cýáéIöCϪ†UøÀÂ}Ûл­Ún¡|}…l½¹£ÀB¡òú20 œûigag¨~s÷O¶iw+åp _±õ†û׫vES²ã³l´›¶iäfÐö–ÅPØoª¶ñÙÛ¦dQê¥Ç ^wreí‹ÝÌãj “é¼w&EÝáí…§gÛ¶S¯aÿ¡këÙ9Þ›²”%Å%õ0ô/.DD[­ÿpï­Ÿ‘ÍvO‹ÙsÑ#æLn—"ö%ÞÛ°jËn~¼U\QLTœDŽÝtœ¸eʨõ%»#™à뀛ßÜÒáÇ&ÈIhÁ„vi‘Ú]«cÔ°!Ž'°»÷nƒ=ø£ã׸e.`n’Pž–\dØ*ò|m°à(WàÜwr8e˜Ÿc2 °mœÏ0ÙK$¹`7·×k‚„Êù£D$ì  ŠG`7åzW‚ЃG«¯áÆÃÒgW² ¤§pÎâpî/Ùê“ñAoé,ͳDÅ»ìàKy äür¨:‚NE lVý€ƒŠ®tBJ,Ù mwbuÕUóÔ3äûHÎáó°g´°lUXbä4pNÀ*uÞ±©Û¢¤S…€‚µ²ËÞÍ›i=eI fiD$vm)ýå*oPÍGÃO«(Õ¯¾"–¾^m6›óôå‰â—¾÷¨¥««+ýª–EÇ®L(®ž TGwÏT§ö˜`Ô8“Ðx¬ ëîîÝ—ëww¬.Nàšb;ÐÿxÒ Õ¦ Xj.´»ŒF¥Ú¨56A%×Y¥jcTžÚ u¨èàQ²C#›MwÚàZ¦ µ¨k žûY$œ¹)׿öìe÷9W5„ÄÄܬ }®Ñè½Y³nLQî‚óó½Ú¼yµšô`™;ϼmk-ñE¦vÉPÓ¹ŒwÆíiEà¶O5U „û¡+š¾0TEA*A>Du¨…0ßÑ&‡zPÐ!@ké+ƒC®h% Q%šð"­y*9þâìùwS„†‘¥))uós­‘ Ÿ'±dÀY2ï•iâ¡[ME×"Û²¹× AO wÝ#0˜’tâSÖQÿ5ô«ÃÙ=…n#ëê¯ýÿòuôÈ9üý7V/å„ó|BIqÀÿßꓦ5Ò2Å ¯ ƒÈOGiü¼H¶s‚5‚Q¢øš¬(>ªHETM5T¦} lŒ¦‹LóR1˜î ^+Øxl.ÙãU¢´Æap­ç¸ä88HC¯¨ׄ•ñ,õ“ÄQJ,LÐGÊ]ýRq®³²“ûúDgV m»v§YÑîêÌt/pG+vP)³˜îLëMT‘ø‚ç¹U>þzZÜ‘êó¶€é¶$¯3(ÝÙ¦*–2€÷SçðZw4}#6Q‚Ó*6KwA1ÖJ§0q¢˜œEÊŒÚÀÔïXoùÊño4 Êr‹|[‰FëOU§øêÔÜ>ïOÜÒdV!·¦iÛÞbñC´X·OP·Q¥£OnµG‰ÞЍ1u”6iº±Ÿæ‰uÈ5'·˜ÌImËè%Äœ5´Va^ñ”ƒv<Ë|!\TÐW2ÝæH{¸–¥5¯µ\çΰ;[|~ÚTxÇ -±H‹­ ¨FoòÙ·Ó¢"1¶6³¦¨j 1{0É×iqpªäñ-M[XV¶²o2‰î!VŽt>ôc€…º¶êöû¶3‘Á“åÂFF.29vjœÖ¦)úš¾½åÿøž‹mІA«9@º÷q) 选¬Pè䮵ú\×*Ï)Ä327â{Fç÷^Yiñ{M±ˆï uc×ÂjLÚ”zµ> ÀÀð9/‚¶ÛA~vDì«cÌ×úßœ—ƒ€˜ÐåðýZÕÃ]µ«ê¢3‚cÒ‚3øëF5}ÂŒ–&£*|KÆ^þñó-ŒÎ¶³Ü:Є"Û¢>+Ú[’äG‰ÎÔᓤŸAê ÿ‚$Ó2]¤ÐïÜÆÜt{ôã8˜4›0õÑïÐAèŒÅŸŠè_-H v`]¥ÿé;:{ñÇá´—_/¬MUãlE{ÊÁÏÅ<ý"ÃS„Û°j¢O%®n4²XÍÁœfB3îzm?miäÆ`c´·—›ª¨ÙN I^jòÚKh¼\ˆIKµ=©R9¦-"Š\~&»øßõª1½“¬’`²dàéjîäB«»@1!^>nÒ3|ƒMÚ–™šÛî¦Èœ›RŒù÷H_=VÈòi‰IƒŽg:þ»â„~¹©J(ìS==¯uÏ2D>—|*·È= F©ßÊ‚Š £øö\¡ŸþVxÆ1Ù€Ž'±/â±,ï½ÕÓ%[­žêö±¥ÙÞÓ…>ïN¹TÆë€þX ›ggœªNšƒóÄ©ÜaRfI–É(!¾xûŽÑ±3Hø Ÿý‹îHNíœ<è¡UŸx©¾TœGPÛž´;Zn6½=JM~°{ox=·0¥QËAM.ÿùïýÏ`Èá“ ˆRpiâ½-X¸sêŠÂrº v=éAZCÖ[ŸýÐ*MX Z_è ?ÎR›Ã~<¯G’Šk"TI-— a AÖÎ9<½´Å-œ(ìúýtvÂwQ‚`’£ÀXoû€ˆ¨Às¿ev$Ît3wšvžZ8!25Ý^0”fKªn;EKF„¾¿}«Û0ž س÷ þ+¤Á½úNáíõK”kù®@z9Í¿îg»âƒæ¨<דe(Ü,èÉbvµ@“a`·ÖÆJx(}’¥‚À9é¤~9´*ÉZzi^YaF7›vÕåÙ19“…®2éýp^t§ù6qBvZÚî¼¾AO"Ëçûƒ²1óJ„úC¿y5tbp‹¢(wÂ.Ñš´š¡"-ͨϲï®×꺈î"&Wh”ë›ïÆgªªÔðz¬€ñ£Jd$P{ñxPd. ˆ €1c:ȇ^ß_˜[P+ZŠý^6„:‡µw*Wø‹?¡ßIj¸âÓ5¯HÍž¾º¤¦¤¥ÛÛ­srÓî(JØiõörtm<Ü:þÛF|ýæ¯(a]ôž Œï.O¹CÜÛí ÄVô†Ì`ž££Ú,ýúx 9Á†j'¡Ú†úlúÔÑÅQ#íÎæ.ÿ=ÊMAwƇ¦l©j ʯ!M .¡»fðFukd ˜]Ï»ç¸;ÏÖ¢‘Ža8š*'¬r Ï´¬lzy9—«Šò5éШáò ´µ¾‹dJ9<4<¢*°‚䳓g<ÿ™&€ûKuªV ËØŒôV¿†°m¦_¿'&x†MPy_éÏoÎ9,åÙ\¹^ĬÁÌ[ÀQÕlêƒy•G¶¤Ô/t}L™RňµÅdh‡ \p;s{Å³Ï ¯?ÍH0“òÜÔ¤’$Ó6†¡%®6½Â*Á  ÃS3u²`Œ| 8ìá,˜C™(*›¤'КĥŸôRšÈ&P(JºPßúó¼"-£Ÿ#ܯ!¤Á•`˜,KÒI>rse€åT%†ÎT[oPNø®7?³è ˆ6uð C0–b´Áƒ(‡Éê%TicÍq:€ÍYs¦ B3SOž^Ü..08'np¤;„S@€×ü2=ãÇt¡’ºî'Ï•mL·ó)ϼ9Oh3L‹5‰Ý[]µùPÑhÃa;{Ÿr*ÜeÊDåÑÕ_œ»ò¹hltI`"ÔÑÕ2,[Ÿý´äzî¹´›_6ÐÛ#L.™Y”êdÚû°b3¦r–•Þi»¹¬Â;*¡);úá ËÕ¯Gâ»XÆÎ2”š"LŸÝ¾šœÃ”†7+rm‘ÍDz¤êþÄ„Vå$JB}S%tïÑ/±êñm°ш$óc/ P º›6éöÕÍëbZ}¶áæP¦·ƒÄW‹®×ÿÀŸÿã'endstream endobj 65 0 obj 3229 endobj 69 0 obj <> stream xœmXÙrÛØ}çWÜ(SÄöE™š*ŶFryEfj’’ò—", ±ˆV¾Á¿’Ìé» íò"Šúörúôi|ew™CôÏ|·8¿‹ÙS·pØÓâë•™þ‘ïØßÖ¸!¡/Ö›…zÆe±ÇâÔçIÊÖ»…'<‰C¶>,î­|h«Ë}X²·ø´´½ åiZ¿gõUl¼¼üÏúÃfl?bëbáðÔ‹É‚UÖ½hkܺY!ZöøÊžÊåúË" ¹ã:)Î×÷Gòþ—²~bkžÊr±uÏe¿m†žå lá÷¦fýV°¶|Úö¬+ Ášü&oª¦^±¬ce}Áìk:Æ6çØ®G'¹øÍ“']7]qÆÙ͆½6ëD](3C×7;ã0ÎêÆ~!kžp!:Æ”/MeÕ èÑš•}gÜÁ {Ä÷¢Ý•uÖ‹BÙʤ[Æ’vË‘v:±+uÝo)’ÿ]³³Ùo¥Köµ´ü×3Ö7ÊÝÓKGº°õGJj¤’JeÂáUÅvÙóòÍÂç]ÉaÈÝÈsU<–èèa‡.¸.ÓÈ«I Á²ªkÌ‘çw®£3:Ü‹Œõ{˾\1Û:Ôãzľeg*"ò3â¾Î õ$F/SîÃûÀ$þ4ï8%q Ú²º8ñÂx:oÏóóþyúÒÊOLp¢ã$£çíÒ-±ç>¬¥žG "Ï'7|'‘cl5û¾lêN¥ÌM<îSÆz€€©¬YÌý˜;+‰öZˆ|w}x2ºaïåÐj¾½Ú <'>DˆkLŽeúùˆzˆÆ€·ÄAuͨ¾½.£€8°¸*ˆ‡ j9p¡Á•–m1w;Ýn8<‰‘G©"w°°šñ †|)ÕžÁP”mÒ•}yTE×K¡]ÂqXi+/ðbr=æAzæs’’š$@ HOÏé<$žòf÷b×ߢ´ªˆÈ`à€(UÁãq¤[#&¸öç­g@¥”™wCÕ—è[Ö— tÊÕl¢âç®A O°%*ãõM´»)ÚTg8æÍ-Šï<ô7‚°Ñ©‰‚‡M™Þ»"d¿à¿_%D&ÂÝ4VãòÁúüööüóÕúêðv <:NZYGÓ³ë[*6Šg=wi)K¾‘»qjÎ7#ûQ:*7…«£3rm½¾Ä„ä5tÖŠX /M>Ю»R>*“´SVÔ÷”ãrɹNÙq¿ÞPÂ(°ãlÛýp–­ó+úwóñ=Òv%À?$vŠ?©o Ü=fØÅhÄûFdýÐ’RH¸~ùNýÜ4Üõ“ ÷R±¡»ä¬{‚TÃBE•`²Ç|Z¢qZë04¸Œ³ Èd޳?HÉa*Æ,íb/am¥8R>.ˆÜ‹²Ã´}•|J( SLU²Ý5Eù]©&9¤e®¤O½ØúIYh o?6KW/Q´ÿBÕÿUÞ>«Ÿ(_nñ@Óî(ÚšÕC§z¦ÛcD~—ü- Ó˘8NÉ0gÿÆ9ôEbaE!q!è¦ù­¡JonId´4B¥ÊÔxöäËòfýVÎ.aMáa¨%§‘\5ͳì×±°vâ½èÜþ4¢ß:®Y5‡Ã”ÍZô]ží¬ÎUjgF­›Í‘âWH*ÀÐG# ÚÆ3;êË|GËúzCj.¹‰«R7µ·2¬wCˆ.IècÛ}¡¶û2ÔÏh–Žú³y.YÌIËINHKbUf¦ì”nG´$Ÿµ¶i±fú]Ù$1p¸¬+a’üd]ù>uàã¶á$Jn¡#~\›èõБÍ›Ž7‘]¹ô±N$nbõ…,‹£¶(H‰Ð ö•k Ú»Ô Äá鉚ßg:g&â3âh¸£Ÿue ¯l›K}‚ˆ?. ‘¾ý\eLÓÍœvoÑL’™ØŒïk64iée!ñH­´)–?-bÀ:f¹:tó\á8:¾ŽÞ'L*‹˜j4Î××=E¢—̯Sîyl15îÑ*î>zÕ‚€&atÈæã:Ϲ·À\…ÎýIj!5„œ†ãXy}³¤¹t&ø;¯j3§Ñž‡ZZêc b1Ÿ³Ú‚½RÒæå†«ÙÄ?r[þõ¢ªºŸ¼’r¡s’ÈäÚþ»5#ïÊíÆ·s/Þ\º˜·ž)JU€`®O7½_/þ?ÿ`»  endstream endobj 70 0 obj 2799 endobj 74 0 obj <> stream xœXkoÛÈý®_1p˜*LšïGÐpw³hÚì:u쇸X0ÔÈbC‘ 9²¬ÿàÝsïR’³[tØ^rfîëÜ{Îð›ò½@ùôÏþ®6³ë»L= 3_=̾Í~©ì¯j£þ¶À‚œ,V3Ù¨,TYyy¡›Yå^ž%j±Ÿ}vª]ßÜ;Áý\ý€¿æn^‘'ÎÏe»+5½žÿ{ñŽq£T-–3g±Ö½¾œ/þ3 ½, Ô¢š…)ûˆ·Ÿ¡‡YäùEàt%ïõyIäeEÊ*ß £P¼0Fo¶F™N-uÕ-µzíúÛN·•Ô½sÐÖ­2k­¶}7br2vë¥^ªçF«¶Üè+5tXRªÛšºkÕ¦<Ðr—pYNÆÝ dóbšŽP‡n§öµY«¾„‰^íZ=ÙxÚêÊœX<9‰pƒÔË9î×+åºu;hdLSZøµò¿c÷ÎÇïÊâÄIXJp}~¸Q•îMý\•¯æA!yܵKd^D‡c¾$B/ÅXüé³³Ô«yà{¾ŸEN¹kŒ'¹Ú”_ñذùÌ7ü= „=NBóÈ÷òhLöaO/yPÁÛpTÐ5èd ••Á|ä҇В¥gsÅAXSŒÊ-pŽPx8·Û“æ\ëºWÛ²Çx1èQµÙ †\¨ÏpßZ°à$·t8†ž¦†[Šâ7ÚEÖl_yA±½a[VX\uM×^) ÎÃŒ-›A õCë©÷:Ø%tœ[y€®;C5ŽvqjÂéË ÿØféQ ¤d±š^çñØ`m=ÓÀË‚ØiÍ #ø`„(á~ dWš 3$ò#RãT@Ðí ÇQ·µ©AWËn÷;—å°Ö’Z}è®x‡N‘Û¨«5ÒVq¾-ˆF¤ØŒv4-ß­^’²E:ÈæÈžêÃäѱ”Ø=rˆ¥¤dkÃë–G€Ñ‚©ÍÙ_öH³Î´Ý{Œ÷f¯u+s<SE/híÄON:eÂ×ñ' Ñ4äÞ§ô×î%=%ÉqIÕ•‚ú':¨Ž9¼(÷­ìuˆ™ ­&D5”QTBè%[‘€­…pÁ/À7ö”Æj+ý9XKõéîýwA]±lmµH²qmmŽZLtÁ$x¸ÑÆY交÷Ï…ƒ]p^#ÉöC¾í ‘ÌPo¶¶"£ê#i&bΠ=pûVøO}Ä® o»”Øu_é4YOž“Nz#¢þE]ü¡ê¹@EˆB…Ò~%–g-Bo…™˜×SÜu’`¬×#÷±–tü(à¾ê“1EÓp–ì­¥w»-ÉñXé}y ä8Ét_±zó<ûqìQ8Úv¿ç§dyRŒs¨ºù<ŠLܪµÆè`YªQ&ù,“Oh“ê„-…P¯d (l’Æ/*»ê ÉE¯Éy/ª±:)r@ì[$ÚY, (³xÛ”4y©ßÊü•wA"¤M—M¹½ôµf~y „ÂwèÈeÝ_¼QïŒQǰùv ýö÷۟ߎÂI\á'š å1®yãz¬íŒµO§K³ˆ“Ðw- õ(¨2§ìkj@°ÖO| ,’€n‚ôÒ\I‹Áóm¶û]½¼wÀÿ©­ŸÜ¦þÊñF¸Ýæ œ—Þp„–ΓÏ"õaÀ=‹@$J¶×f×C&R”#)ËÓc4\0¤Ž$š…­0_à…qž¿Ôh´á…F#]6ùæc®Á‰,Ûõ=¥ sý1zz5°³÷sšÐ xllšŽäP·Kn½è‹Æ)I’Ô^b9•\ÃU¾ùðáGÑ6¼þ„`ÙgrOunêÆÆޱG¦ý#–w¤¾WV|Pê_޼^> stream xœÍYkoÛÈýî_1ßLµâ„Ã7Ó`tãmÜõ¦n¬lSØÅ‚"GkŠTHÊZ÷CA~tϾl§ Š(Ø5œ¹sÏ=wô‰9\0‡þ™ßÙîäÅûˆÝ¶'»=ùt"Ô‡ÌüÊvì÷+,ˆéÁjs¢ß,rY”x- u¸ÀèìÄ ¸HŽa¹u/i ‡>H¸ã5óM‡³W­Äiyû:(æ~ì81Ns•<½'ž´²ƒÍ[m=KÉÚJfê£JÊ\ùÓÈ]ZT¬ÈáÍZnêFâµ*/ª[vG'y"à¥1ÅxAôN¸=Gè‚ cǽdûÁñ0ðÌšÑÖ¦^#¨i•ëØ!î±1X²—MÚQnÚ‡¶“;dZÙ€:ˆ¼$Ö‹¯aI³pËÖhóbÁ£¨«à1ŸâJûPlWß_þòãÙÙåù›‹3ÊÆøàÝêç ÖÖÙÝB8Ü~hÉ΀«e7ÖN¦mrQT‡_—€R†À°×ç—&lu¡ lõ›këí¥ýá£Ú”Ý,8›bu›¶¬ª)¦}b)ž¬Ø¨­^¼NÏqõ®ÚvUë*KÜ06)G%é—zöUFtŒq$•6‡ý¯ó5ôG\ÄÜ7Pöˆ8€UüÖ¡ûó ¢5löAµÌržø< ñ•š¦]]…àUì²TÉ(Ó!®$;eÙó°·a‡ªÝˬø,s½ÒØ‘#d±RP´Î¹p|îøÁPKÊÐa†Cž’•âªvº`å{Õ¯ê¡;”“u7uVLìAs–‹‡3ÎòMdo¬««‹WWoAÞ—M_C®²#@2<§çŸûô Gt’=²?àŽ+†JÌQðàó´Ô£@ >s®-Pa•î$g¯Ë²VxK[Ç–=ÔâÌ}S/= Ñ¤ç žô®M¡Ëþd:ÎU–=ëÁ„=¢Þ~—'j ¬û5VÕ®2â‘èô„Þ‘Ô´8ûA±úépU718{ÂÂ5¬4-Q–(ÖŽ€¤öʺ¦ºálê>r±XG" ´Õ¼ÈqrKW7¹l^²Ó¾àm»}Qä¿4mzºœ>È銨†ï)Ÿ,ãý ¾8=¡J½øwz:©O—²ó•ŽûM5©Â$m>:¸ã§¨Cmu'ÄBÿQ†’€Çq0Ÿ3Ð@ñL<ÆC¼:ÉØ¥ÝCR¥‚ ±: „¢V.µ Ó"ÄËH÷78`úMÀ É¢‚ÒMó4Qw^/+§"²‘ŸEC3+‹u“6lMJøP”Þmû1!fGZóLÆ Öü¾:B5îÞ/TG&Œ}³z·«+Î>´ò‰BE¼¨÷ÜþY‡›æÕA‰.íI¬½pˆ5Tíý\ÁG!¤ŽÕÂWM²S&¦ÔÁƒNi¥¤N­Ô‰jÐÆ/¸Ô™7ï±û­÷Í3å’ÙvY´]W¥ê ÞÓ 8ã/ F«If`xÇS–YW73¬ Hû0â?źë9±™*´N\ÐÔ0g O$•5ì¾è£jœ{!~ÐÀú>Â:<#µ 등³/%-©˜?-±5bbëj˘ùFŸOZ›CI¥€bmÃŽ´:ôù }WÇ&­Ô4Àvi¶-*iCôè=pO'éS”îã`±¶¨2½¬ª›28‹£­NêQhâà™Q@L•è1}0MêR¶Õéä5´HìæÝa*`㉀ u›%rk;qÚ䬬ë;"Ï ™ŠbU8Px-‹»©iQB­Ü™FžX†lÌæª,ÅV”ùwW+*w{œÃO][;jˆöZ]žtô'í„ Ý«AÆYd«§2Dþâüjµˆ|‹kË=7è í]ÝÉ—ìªÞI•½ÉÀ<­B:SH¤{'Ó8«h@~ís¹¤ÓÉfµ³ËcÍÆnH‘î¡ÿ»)ôA½b€¾iæ­YI_[ùÂAeøÇsìP!˜ô¢9TYyÈIá¬mƒƒi̤±˜3¼To}Ø­ë²Èà]u§çSÁ8êƒrc]þéÒ닽‘4jhÄ@"¾QP£­’mšzÇ襥¦´ÇMP,>änziAC|ö^61uU0$ðýÙêýØP^&‡2mt?­SÑMMZ IÚã CG¶é-ÖäLểõ+²Žš­&À"ï#€E.©3·Å?ðuh ,=9tÿCáÖÐR!„çkC®Ú"Dä´ˆ‡¹ä#Q±’ôˆ6©·a :þtä+Êïtá¹a2×ò1Ä^ÇÏQoàDZ7¡ÞgîaUÔ*’aìÃù› ]‰F+/šÜFš$û¤šl-Y[™Ø¥*AêJÏF‘H\v ð‘ËÐx6ŒôHUÀ}dŠÄÜglÑz‹_Ý–Ý|on;^÷¶3åû}dÛ'¿«uÝø˜î’A4ƒl0#šIlÂn F™$q§’.7:]n¿À¹ý Qû4òMºñ…êÆµVÞófŒ÷‚°WðoW«Ëôã uz¾™#¢ˆÚH-@:Bk7DC¹M×€»ú‘œaJ4ÓÐÆÁs•w ߌ=«Nó‘£<ŸX®}¡¤;DqèôÄGŽè®¼‘t½Ë¦þÚZ<ö¡8‘‘ t•¦ˆWÌ‹/Ùà3Å™2ïãÇ‘¡³:—7‹åLk)]dr‹ñʼn•Ý88I†!9!ƒÑ2Ž8´öÈø¢ðnÀC_‘ MÛå¾0wÚ¦n £T&¬‰¾“Žèö¬Gäqv9.ÆÛ¸2ͤ¾šÔ5z+ø£<º€ “¾KØ!Ê4йŤŒÔOï Ôz"g”/ö9íGáî˜sïLï–ÛiQûb¼œ¡tµºq@Ž™Ì >ùJ‚n 'Ñ3¨mQ‹Qµ.AWîUB“ű2"åÑ0kd¶¹ES­ØŽdzË2äSŠ­ÑZ4›#Ó"¢*h1ÛÖTæçÔg°ƒjĬÓððÛ›\FfüiÍ5^wrIß_MIÐŽKê.GÓ)‘«hHU/ë\ÚNôeÙ­žK7’1‚ã÷Šendstream endobj 80 0 obj 3057 endobj 84 0 obj <> stream xœÍYÛ’ÛÆ}çWLž¬î—ÊU²Kv[¶b1•ríú‡KdA€ÆâòôÑ9=7\%ÎS*¥Ò’EfzºOŸ>Ýüù^À|ú§_«ÓêÕ/{+Ÿ=®~_òK¦_ªûf‹9}°=¬Ô3ËB–‘—l{ZYîåY¶—Õ½S}óàkö-Þ­Ý0.¼"Oœ÷e;– ³_¯Ûþu…mÜ(eÛýÊ9tMÓ­·ÿ\…vªVAî¥Q‘ã4|{ï\vë0ñ=ßÏœë(ŸõiU˜yaPj•O8¢nÙpä´×«__[ÁÚ|ÚÏuOå³Û¯£ {¦¹Ã÷u¿––F‰#äÓ­Ø”šSœî<Ô]ëÑþn…^„K„±4À+”þqä­¼*S× ²f禬[öýÛ-{€_zÆ¥=aû}U¸^žå<—§sÃÙ‡Ÿ?n–~øûöa½aõ ÍÓ¸AH^Zdò¡KÝ4lßÉÓ­ãÓÂó_ß’Öæê2r¨±ñRGXH¶Õùü_¶ÛøZœ»Vpv!'~9¥`‘lð'Üe‘yì|F^Ç5çYë !»YÕíiÇqâ”v,[ùlìù$…ïe‰ ªs•׸ä }“$ÖaÁѰãùYn¼Q’®è¹+¸Ž†ŽXŒk$Áòò£ÁåIß"ðc/·.VÛS·¯?ó=;ñáØí5VqY@åÇ•ók·¾ÖÓ<”öâK‹cg¬¦‹„^„›¨´'”-x£Ò‰ ÄMu,ÛG.Ík»Ö¥Õ´>-üP""ÏSàvWu=…›È ã _ÞŠ6Þ»U9àf* #|Çrøê&ß`µWDúB®{îÄ8¨E&¯¢Ü‹ð¡^´¹Ù!¹y8\>#¦‡‘K·¤8ßbCïÝ`ÎP À&­S/×G7õNúøõç†M‹@WÆ+^«tzs>+ô ƒ•_ÈÕÀ*­÷Z…Hú¨âKX¥%©‰}¿¯Û²¿ªÈVÝéD,ÑÔ-ðJï®Ý¨ ûȉ)´y®Bæ·Ltc_q7ä@ V^ÄPeT_—6RLq3Aò ¦–{ø^¨È8W*­éYä±þ¢áíÀº»Ðf0´7ö»d?<ÃûR:‡ú“22 ¼ÌЧ#Ùaò!ÞP\¨¤É*m ŸÙÎléQk†úÄÅFÞ¨)‘õbT­(õÃÅNºø,÷j?ÏcåOÏÀq-ˆ@dÇ¥µ8ûÍyÂ@á™(Q±SI•“áKtêÁ…W8{-Μï_@¬)pϼªWyT®ú4žØÐ—­8 •åô8ùÔŸvˆû•ˆŽá XÊ\™»»„¾W„—'±si›®Ü ¶ñ,ß{l‹¨hºÓ›[ýTxàå0ö\í06TȦc¹ðzà‡È±ÄXéÇ?qB³õ3È#K{ær<{®ÏÜdí¨Vyèe‘)’Î~Ú5$Š ÕO‹‡2°°ï›Ìä×9ùú~LV(ò%d[ßój‡JÈ#PÝÙŽ`¯Ãžzñ,¤ºï‡#ü:ÊoŠÓ&+ q"º§N£ÈâôÞáµIƒ˜D¤Ô\ú˜êfÎ…KòFª!q©:^ja*.é•nlö¶§bŸ¥^Ré¤v²XBËÙ”7ɦ »(_$•ø é%Õ.²×¡„ Ñ¡×,û~>©IT x™ ÈÀMÁ½$×ä1”mÙåX÷‘Qã™ì¦¬\\Üêiˆ!=WÓâ7ª1ÚKæÊj3m‘À›~SˆUªÙ;±7ÁIÈYeÛ\Ù»÷o>У(Õ±.<˜­ó›‹éÄÔ±þü!’Jþã{1ž¥J\\Êcß©yÊ‚ŸN¿Fh²PÝUþdE„KÙ”‡öm®Jp¹ëtÞ.=‡þòU %~ùî[‚"7ò]â£" ß½Ý~Çö}yÔ_——ý±ì—&ÇòPB:íybÒ¯wÐ[1(c †)øÑ‰|ö“jAµö ÁL‰¢ ç¾2¿¿‰§ò§m, RZôv»úþý ±ÔÊ endstream endobj 85 0 obj 3061 endobj 89 0 obj <> stream xœ½X]oãº}÷¯ ö¥r1¢>,i±(Ð{‘ {‘Ý›&îâ>(¨«¯DÅIÃþèž!)YŠ\´E€Ä¡DÎÌ™™s†þÎ<.˜G?öï¶ZœßÄì¡[xìañ}!ôCfÿl+öÓ/$´°Þ-ÌÁbŸÅiÀ“”­«…ˆžÄ[wζoË#6Kö3>-]?LyšDΗ¬î³’—ÿ\ÿ²À1n°bëƱÛé*µw=«gÅ6Îó\欨Ỹ{›%_®ÿµðC¶¾Z8ŸwL=köªhj†O}‡·;¹üÝÂEppg»H}îGpœ'I»=½Ìý$MBû …[ª¨dw†%+³N±¦–ìP”%»—ú\mÙAÌ£¹bŽÕu«¬(ݬWìS–ç­ìº?ЫʾŒû"ÔÁmœÛ/ëks»—Ûb÷Â2ÖõC)™ÝÉÙš"šÚeªa}œ#K²VÅ6ÓQÛÀªÈiY½X˜'ÓWÓõïïœfG¶úûªP g"Ô.{80Sܽ„¬•eöb,fu3-ÀlŸ–"rd»Œ"îyqàp7›ƒYŠüˆRDèëà_A´k›ê=ˆ~ã*ðPèL qÀÓY‚}¦¸®ÆÜ‹OÎYäSI#®™«paˆÓq®z”Ÿbú˜å¥;ÖßN*7ôí$1«¦di.4º²¶3<³o›-1]öZÁÖ¯CÀBxªÕNý—é¼+õæ3õ÷먖룅ðI+Œ—ò Ô9ÍÝÓ<§½ MQ#úÃÅ£°ïnð ‹’(„Úe-˜¨ßï›$ýýc)¬hü iz¢’ýÑqŸ{É ûdÀ€3ŸVEÛ6` "0¤›&B”8L;3hÂ…ÇA½™Oþ!OæX’KoÍ=- t…ÑÐ g³ 4ò° Ÿˆ•â•Ú©¤4Ž&„†Â6Î@µÃ ÝLoKzÆ4SS6Ÿ­EcÔê½ÉÚ)Êì¾”$EŸ•©Ý¬ì“ã„”vœÀ¼ ²9.˜,ˆÉ³l§ôt&í噿A0 »µkBÅ©a˜L.­±IͲ$XûRâ6B#˜œ—_¡:Yî¨iíñ Í”Ãç˜ ÑLŤÛÇ1 [ɪi_ôº¹34­~`ºÔž6#-ÝÙ õÒÌõ/(ŸjúÕÀÅsFþRWöÔ“àѪQs¿?B w ý­…^¿èH!Xi:ÔБØ£Rûçç‡Ãa¹.Å“‹Œ6ÍØùDýÍâÈ/¶$}Û,Y6ܨËÎ{)FÎ犬›g¢fo!£GSvùùê‚pWͶ)ÁÁùùfùÑèâxÙ, ܬ™IçûȘ3 Ë›a¿ l˜çι.eOkJ•ùjb÷Êm*²¢£ÖÐZM-«/tì@:˜FãíË1í‰Fö[’ã}…†8V×Cß[aÚ áÚòà¯09ǾšëšA?À‡`d Ê{v:î6ý‰â`"¦—.Ö‹?ãç? ^v5endstream endobj 90 0 obj 2099 endobj 94 0 obj <> stream xœYÛrÜÆ}çWLù…@Šcw¿)Žb;ÉJ¸¶ËE¦RX,–‹ ¬p!ÅÐGçô\p£d;)©ŠÔ.ÐÓÓ}úôéÖæsÁ|úc~端ÿ™°‡þÊgW®„ú’™Å™ýy‡Rú`w¼Òï–H–dO3¶;_‰$åi±ÝÓÕSŒ]}ïˆ{—}‹ß\O†ÏÒÈy“7c^³ék÷_»¿]ÁŒÄlw¸< YpÚ#NUÏžºj¨šÎ^Õ}Ëšv(ñy>°êèîþ—„o} %ý~ÁŽãyçrÈëªy¯³ž‡?3OåÍak…î Äd¥jŠz<”#þ¹¬<λ’}y`CûP§²£—Á“8³çÝlN‹ñ®ï§ä4ëÒSU×l¯AÌb%Ì’¾òy–%Ê“ê¡i»òÀÙŽ"ˆ¿û²ÈáÓöNv*óCÙáËá,YWö—¶ÁÚ|WæïÙ@vÉ»¾ì‚…¨Óãt8ùw€çíþtçX{s‹ƒ5þ©.Ù¡ì‹®Úë'Ëøæ†òþÄŠSY¼×§]á;yUs… Ò9tĽóê`¬&\&Ü¿!wö®²2™8cU,pCúgœÂDÓʺÚ[4Ðï]Þ=»q¨ßâƒ@OÄ<Õ©hn˜ç5åÐtYõ 2¬œÈ))>Où²WÐf}‘76RË|ÃqaÒ}çp²ï¸‰ˆc§PnÌi—1}n±qïlL<˜¡sçüû·m¥<šmµ û…¬IɃÄLÕZu±d…¶Lù3©ˆºk+W©Ï}?±¦û}éÓBr)­õö T]Y m÷ÌŽmÇêö6›ü¬¡,“ˆ‡Q¸Àrªy€PwÉûþ‰C‰ËØ=#5Wt ¬Ï—ªÈëúY#õ×Ý;†KÿÔT9ûᨿxª†û~·{§¯’­Qǯah뵘¯ãóP [È”cÖ²É÷µŽ‹.I@HÈEMFI¨ï1"~Í׆ªm8»-·àH2ž„6*”Žˆ'Af?-î 9Mžkžy8嘮}櫺§«Û2ÄÇç|àŠ”õÀ¨¬hÏ—å¢ËäŠGÕmD€ÚŠfðÚ²oTþ%|ÍtÀº /ƒÊ¿çsibÉÔÄÌCî"ŠGVÎqQËé”RIVŸÈH©z8 ìRvçªï´žÝ;ÕÀúS;Öåø¾deETËžtQ瑜lEõÁcˆÇC׎Üv œÝ»„h4!úæMç±êÚÆÓùÏðus;#‘ìÑ•8¿Rùÿêûß¼þŠàg:ûÜÒ%N+è»q„ cG“[ÀcôDÁyõÁ½6‰À&ssBèCÇ IÕðè â®8pJÔR_!w¸…‹÷|?Ìœ¹úýóÔ®èÁ¡Œ-e< nã?vÚ^=雄 !mBËa¼°|ƒTÐIšZÿé|ß–¡F[]{±°ÏPZ”^„ªÏ–¥‡·©¦ñƒB|΋SÕI v•/çÔö?´g œêºò©bý°ëós_ÖGêHcÜkϻΗ0;rçLÌ„ÏURÁCìÚBR:¡Ó—EWׯuÛ¾§lUuÞÁóoL˜2&O$1§>C ¬›[±­÷š8µÏŸ9ŸNuAâYHdo“ŒU—»s¼·ªÍµÞÞ•d#ÊœñèJÓà4  ÿµªÅÎ_ªž€ß«ì)BQüES–TRN@Ô$±?SY¦iñ1ú×kÜ¡ˆò!§F]œÆæ=‚C Ù”EÙ÷¹ê%<¶ZS³[&yœlØ­Bë$:“~Bßšíç]WiÁ4Ýõ™Y»3³gªîM+U•… ôœýÔªðžL­Ã®4{¡ôêû4Ðô¥ ¦B}i¥¹°¸ØÓè ¿F†Á*ÜÅÐ@¯1¡ö&ŠyÈ—æKMÃÆ!A»©HäÐ#µRÝ¿º‚*þµ#ÓBpTÁãÌ£>b8k8ÏÓb–È—TEœNU8q€‰+¶YË}½(­àœ€H8nõß1ñ¥·"ôoD.D²ÈžQ 3Mø”yüÝ"øm¦¿MGÉ2T[îwÆ2ZŠé&PiJÞ­ÚJ:w‹›%ì¢$SåIz‘2ö±(/¦vž‘—K×ê–‰?V<Ð):ý“ïû¶ˆ†®¬A6ÄÃ]? WŸ\\ÁS‹;¸8<ÉB§æ6‹D‡± ³¤™5@ÑlÉ9˜¡‘Ÿl(õfÚ `¥ópê- ÿÚjß2­nõß¹“.Z¬\¨[_‹a%¾!Aý¥,ªã3þaUbÊ t³|РA0¦]$e’°FÿB†÷åŠ1ÄǡÅÀ‰Äéòz;³Yä ì¨ ÔèÜ6Ášu·æ= S=ÂZtPG$tnt ¨ÂÖ}[`Šòm¸ëgÛlø š$—Þ•Hä®ùþfª…Ø´ó¨ˆ2<ÑY½,©vÀ(æÉ<Š})€dI•„&ÇXM©F+‚Â/še`gTçy\ö+̓)Ì­,Œ8DÌËD¼„@ùXKyoykrôÏG=/ò6½ˆ4GHZõ+R $ 'ò±¨Ç¾Z-9ž9C(ÖáØ¢Œÿ°òõ¥‰5=<}!*”ÞœöTùž(eÿ¼‰È8éÓUOÚ¨¢pÝ^æ;à"K~“´÷«é:‹³ùôÄ =¦k¼Ÿó÷.5H™ ÇhO®ùhìó‡¥ ý‰í–‘X@1årZÒtE¢éL"Rm*fp.³(•l’ŸÍâvú€˜n¬“gîB³´NfBõÌ”=m$ØC;TùPnd8íÂhsqï²×–áoK=B¶›wÐÇnß½}ýÝxj³|Pæh¥¦^øäfvg†ÁV ¥¹ŒQÒ#Ÿ1J+ðäÇçù Yó9½ ~ÓxÆË¥sÃȺmè¯n»À†²ž6 :dAŠž–Yr„zöå rìÊ#ænœ]úéAEHê“îöusUÛC5~w{ë½z÷5ÿÛ[üìÇË¥í®[$ˆ">›vÎ?ëfKš–6cÄ:éÞ„t(²À_áòNøí7¶, 7çU4²Ò—%mh1³k C?[»zý¨]îí]¾V!xëì© úD†vû‹NÍg‹‚»Qð8èjŠÖT[$˜EB‹¦œµ@óñé¬ßP¦v&}ÈÇL¤ÉTêz°óFšDímµüΦí-Zƒåv-fQëéÄ’ÎãRÁ‹¯Zè͈5ƒ0‘ÎkžÚ-u\Ñ”"€Þ©ŸõÆBÒ÷ÅUšS[à·3ŸadâAæÍge£¶ï9»öFöÍ5iâ²iLJ“ašÅZb^|ª‘ ˆÔxìÚóB…̽7¡½¥½¾7®£(h‰%×LhÖ[ Þ`¡}ì~OwLÈ4†:Ã2ª „äª)¦kq£¬û4ÿ [¦D7Ãz PÛ²ÌÔ¢ð÷U ªsÙÏÂŒ}ê´ú²†Mk„T‹åxA®­g }W–—¼Þ(üæSëXxá‘óLu·Þ„ŒJ1mÜO‚Ï~L`[ þ33z0ÃÌ«ƒœž:Ü´ÌÝ}û¸l0Þë:|öÏìP•û2pò„¦Ø l&ÏvV¦µ­œÅ¥Lþ·a9³ úÒ¨ü»²¯ÿ?ðw'dHE¹˜)²&¨ÛF¤ùY¼ L3+çCº1ÈÆ ¾Týj–J8xÆw4A9ÏÞ¶fò4Ê¿*årp2ŸŠŒÚŠÞr€ù˜Hé¡×»«àÏ/…ÀÁendstream endobj 95 0 obj 3063 endobj 99 0 obj <> stream xœ…Xk¯ÛÆý®_±µ?˜ Ä5—oA&vPvÒÚJ‹à:(j%±—"e’²,ùîî™ÙåC׌ عyœ9s†ï…'•ðèÏþ_Oß$bß-<±_¼_(~)ìÅQ|·Æ‚”¬w ³G‰ÄIÈ4ëãB%©L“H¬/‹;§8·Õ;G½[Šïñkéúa&³4r^çõ9¯Äøzùëú —¬X ç±Xoν^®ÿ [ð4“A¥!.¤ú”W%½£M½W™Ti–Ú÷æýtÚ(ySkU WÅ2åç®[7n§»®lêrK‹`‚«|zé‘ÍäóÎyûö¼y^vù¦ÒìÀ^,ÔÍH2™£Ýy4Cù2@XøùÓiÑìöN÷åsQäÅ¡¬÷réFY*#;ß]ÅVï8:*J¥§Ì~2(dƒòsÕ‹¼ªDßæu·Óm'òV‹mSkqîp˜è ×)?š| •â#èV-ÅM¯±8ïÅåPµºéÉÑšsµú6ر'S/¾ ¶/3¥>x»ŸB ¤Ž.„dî×½8œÛ^l®"ï{}<õlv#Z}F˜ncÔ­È¡ÖX£RP$“Kq¢ î:­tÄF‹MÛÜ/•'=/K]óyåñT飮û¼Ç±(k:U\J8Ê!8æW\ÿþ\"–׿LGmmÊÞд[ÝšÌàöWä!œÙ5í°¡;…Ö[)Þ9Ûnõ–6%€ó€÷' ?ä]R¼q ¿¹ c‹j•ˆºÇQÏ<é«,³ÝçóÚ˜"~çô¸¬9‘k¢Î„†âLÞ’1¿ ¦ae‘“ãçPÑìÊÓ7ÊŠ;S22ìÞ–ÆDa$³Øóí2x­k„ Ð”2—“„É0sÄÎ~x^?(ÇSÛ|¼ŠoQ—üË­Ê®ÿëÃÊ 2Sß7Çc+Oy›“ÿ´˜JìÐt}G.ˆ¡šœ¹à3 nÓ, (ú~"£,¢¸*—À±ô³Yåèx–g‚,Qd IëNº(?!Шá+½ÄY#M]]^EÞçËÄ缂c™eþà•“wóšñ¢h¼Î÷ !jÀâ7¢8ÀߢÙ{`ËxâÂÕeNBafÓi1ŸÆÑ9æ=ˆ c6ᨭD^£ðw´[©TÆCIïtÑ? _DnB柒/‚`ËÈÀ{–ƒ„L)i ½$UY¿˜Ç!¢áàÆ@›+·ì,Ò¨PÂÖ ÈŽqq+òNè’x8Ø6ǧ„ 8¡¬uºd…Z¿y ʾÓÕNŠ–*2Ä‚¦‚ÀññP7ó£­ûØÚ¦d6Ø&Z‰ª)òJÍQ\–¨ÎÌó‡i—-ž^ÏV>K=“ Ë岌#GÎm–¾çœ{F;½fÃâLÆc`ñ¦j¬i慵̗‘í |ÖÈ^´4Aâ!ËžÅ!qZ&ÃwKSÅÊK$Sò¬’ûêhËÖ3Î{*´íôïëõ?ÑO_Ô?®_½ùÁ®û²`v–‚ è /ÄQ÷‡þóÙ¸/JýéêHôVwå¾FÒÑ_^—Öe»zêï‰qºmºf×sXKfEÞöòå[qÑpZû‹嚎E”™¦ã ÷Jñ’qÆìrjKÝçí•~÷MÑT+Ñ>è¢1qüµªi;íêz_Ö *ªÛƒÒÁW_=È8Ÿù2ŽÓ)áï[(êh4ÞÒô-Ò9b“S<î•eKÄà‡ŒUêz}G‰‚ï÷%¶ƒx7ú†¦<>”(«$”= +êmo·+ò¨‹æÜæ{-l3‚ ©¯ê½öJRèrh(›`Ôœ/%~!WçMUìöÔ) ˜‘èØKo›×—QÒèuËÑöD0Ï˽îz. Óê×ßÜ9/wì™)r?N¼îwMÖl•­aÇ gùS©_ûI u54/=s¢É£orý™ÕCÛ†ô¦aû¯ƒb…KÖrsˆ3 N«ÕVÄ«rÓ¼7&ËIàœKˆQö`DÛùt.¤øù Æ‘Œ†¹ÿ¶-€.˜)Á¶s¹cV¡‡³4 Fÿ> å)•ÄßptdSÇÔ)m”t êÞ™à2¢­‰¦}ø¨¢Ä“íP2¤½û‘º~ˆºP¢´üè«ÄäÓ—G˺€Z˧–äŠÑt®%S`œÚH¦ÍJ¸nsîO`÷o?Uú3=䧦¥ÿ§-!(íJøÎ‹”R}výoÁX’45˜á÷?¨ßÝýJ»všªäˆ!£$fÊ£ãe*´ÌP!„“¤$õäñ ¹ª&‰4 ‹á®\Ôçã­×Šnc˜ÕMFPPU =â)×sZ2œf¨¤ž?Œ÷åmÉEÙUÑ ÐêS•0‚Jc~ˆ–aqSã@G ?¤–B²³àç7¯p?Ѭ$¤xUÞôRJAfƒÖå ‰"g^ÔÏìøI4B[pfX‡¾?={úôw`aÕ_xp 9ͲCBY"¸x„ ýöXÉþcÿȸ ç¡t·-"çséŸaóŽÁ‰FCø:Ôùý’'† rô3s—ç£iwÞ˜N†®H+ý!éß;åF¿Ž†?V¿=öÿ͸?3ý—fK¼Ÿ4åù8e?‚ÉÃ(ì`R#wçµ™“Ò«çGy˜ ߯ýt’7?‰J’öòàe0Š:AÎ;®C~Û¼Ã@f_­uSÇ>&·xbÖ(2íî-ø(¯ºf˜ÑgA!ú±?ÑyÑ.Až‡ž¡1à¸Û²³Ò=d÷“¾o¹Ò±AA5-meÿX,BŒ·ò „ tÒÒ]¦ª®æƒ†fÞ!ÊÊ‘oçŠ\)¬Â(2’‹ ywµ_,YÑÊàá$ˆp?qŸ@dæ¢33Í6ïP„\µf”œÎ±#=Ý >7ö…éñ'¢ÉV1T»¤Ø?›“ä‹,™ÛÀ|¢ Ø·eô›!‘¶ø<‚þPâ7Xò²xxq ¾¡ëù¨‹{Ý“–þi$|<ƬÊ3j³ÚÔFL_kâ›`Ý9¶9¬Ìð”ƒÆð¤8Ó!#íí¤ýœ6©Žõ­5<Âô,ˆ˜Ùº|©2³ùå gjlˆx>ö<_nÅ®EÓ½ûrüZÇ…à‡©¼å[u·•Pÿ<…*d:´/Þ¼Z›tÕi[2 B®Ffø¾©;HBs„ò° X‚aÊG 1ãyéO3éÚ„ØžÐÝÖtœLíÆ¸2\rë˶Þ)›ú4i¤¾Á^ÌJÄÎ|þrÈÆHÁ$Å·÷‚¡&¯¶w !Q6êùrx ³»N'|Ò;*VR“æI–šÖø}“Ã$”q26®?e³­ Ô4Çz±õ íÃt ÒHfÎN³ƒý‰be•Røã'Š»2 Gr¿76Ý~¾ùJ’’Ï9ÛvÅ!¯÷óH“^AÐ’$çD#–†Ð@a˜SÊÚBÄ7Ê#¤ñÖÆ©ÐcŒK‡cíg•{\>™˜°ñ£•‰eÊ4}0aŒ…{B6êÚ±z[âÈ, |gÆs· Uhú#0ÿ—ïÿb…GŠçÂíyômc|[‚y ˜eäžø±±ß©L”²±<ü¹³OUí›J£_e´èÅzñ/üý£4endstream endobj 100 0 obj 2745 endobj 104 0 obj <> stream xœ­YÙnÛH}×W šš6+Ü— 1@ÚF2Èâq v?ÐTÉb›"’ŠâèžskcÉÉL¿ ü [dUÝåÜsÏ-fY@?ú³Ù¯ž_çì~Zì~õyʇL4{ös… ú¢Ú®Ôšåˢ%«ö«0/x‘§¬:­n¼æ8v·^x»f—ømíGIÉË"õÞÕý±î˜}¼þ½úç ÛøqƪÍ*àQœÐ^µ£`íÄú}º~Ë6¢6mÏ6C/ØÐ³y'ØŸ`}½œ½Ù²vf»zb‹6ŒlÀóQ®=VŠ ;Ôã<±aK+×Õ«0bÕ[¸K§Ñ&òÁ«ˆÃ‡f<òvy'ZЃ0áyX–úAÛu8aÃŽVO>ì… Ö,Zã‡1–ùiÌ“”!rÝo=Ôg…xgÙò¸_ÎJyTX#êGvœÌÄ1Ãanœ¶¯{w« àYa¬ž—w§v/¤¥Äþ¸¿C¨DkbÃq”–jÏ$æeª—~vÏ[–E¢(oã(ãóÃŒò[ßê㼋ü;Qb¤wbzɧ·Þ›w/¯´ù‰ŒS”óh‰ÅÅ•ëA`] €ÐëH݇«ø‚}|W]k¢i·Ò­Ÿåy¬’©Žsfƃá¾õߢg[ æƒö9Uéyêü—Ÿ+w8­T¯YÄ6‰ñ ½‘ä<ñ‹‰ÒBXA!ýÜ65e³Ê¨-$D¢!MmtªÁ¤Aû‡1éA¦F&‘JEÛTÜx}»ŽƒŒ½é(kLEõ _EÊÃ܆›Nb|²kÆãêªP&…NóHWa Èªrá’Q%!¡$ 5U·Þ"´ìëy&ï›f%-Í»þõ’eypp:áíÊ{³=«Wüv¤pOÄ4¶ÀʈÒþõ5‚7g*\IT¬«'D\x" º“™ÚhÆÜÓä¬ãðõÑ߉zG~RŸÿ8/Æ€ç…ì­÷º’õôêë<ÖL¯‚‡mßtÇ ° £ø|°âlã^‚–Ò»5“g*”FE,‹ ObþÛRU!/ƒ84ÀÌéu*Úƒô&UÖ*ÿ(Ì8^jÄ’_}²Ç~9^qJ3Tî-ù‰5ˆ½,£Üsœž¨T‘³VQ%ümer‘¹HQcZð$0ç}©Ü…Ž!Šß@`žà<Í@5©cšrÞ}Á|2ÍÒÅèiij(3á¼;šHÄʀ°ÁÜ®£4{”Þ´]Ø Ìy¥…-?•0ÐÀ~ô5™§¼Èbì(=Ù/5“€Ý#ëÚ•æ”7« 4X&¡9^€ŒÒ]©ôúK‡ŒRŸhëiëLeäÃû÷¯.+®I¡‹ºÒi]R‚²IŸ¯I€yêY€Nd 2¥\A¨e¶ Q’°H,Ò¥§]=SbÝeu3“<Å~ }‡i–ð2“ÂFêUqûú%Œ3 „´”Y®“ í¼Llo©ã`QƒLµáä\½Ù<Å¡«a²$ oxæ[¿kQõûzTAKâCêqAAYxÊõ¸Èx¸ô”§…Œ³G‡N»áØmpÄqR˜,5²r4Ûäúa>'XNnqË•KhµÛ Œ{è+3Üyé57“«¬—,Å„` ´PA>‘‡©¸¦Ƕ¾IevžÅQÌDZWœèÈ $áEl=øŸêMB´J%›HÊ‘@€¦%4ö2M¥¯UîkEK7Ô[ø^B…œ¾†=e¯µè–‘“¨zè‡u”JN¼Ót¶’Ð ÓéhÖêï(ì…f³Ô;ë;•c„îÙ²ñìÝÜ Pe+‘D½ ï9ßmL:IfR¼ôà[‰Ød&œ*#æÃ ªñ‚䀣~o½— ðÎÀ$ S|&D€Ò½ùØ÷¢{Ú¯^á‚=ó.x&MÕwj\u–§qJËM¦ôÍÂÌ”Íô:YR‚wUŸMÍËHF¹¯©Ã t8AõÖûÔ·_¥¬Ð÷[~„Y<-YÂxÞÓ´3!Â0+PR<»¥CÝñÿ3€³_Ú©¾#}¥.O¨O_}¸Ö—5ª'!7a¨eJwV²‚~Ÿ*—eëË–¢˜#OåÍ¢žˆA _tïŠó1”]ÉœÍqe@–VDJÜ8žhÙb0N_½ºº6Ç”ª–ÍÂÞŒ9‰Ox’‹Æˆ”jØIâè'³c€Ê+ípSÝ­cÚ¾÷è^j˜Î̱$…žÄ-’³ŒíÄþF¹å‹Ãød®II}Û èûLš—íi¯  ÿÛ1¶Š@ÂÌ›FÇBä;0oi©" o¥Ç-H2¯úñG#7 ô7vàUÈ>Θ®¤Ø#ÝLÚûBò |è/º‡~öâf¢·~÷oðçïϬjïwv0Óuv!Š®Ózˆª®º¼r.Çy¬î0‰‰%×u/4 HbÅ^Ô½¢CC5[Þ½`ÛqØã«NM7ey'ÕTj¶ƒQt±&E™é t"¤†Üf¿œÜ…¶LúûN•rE Àü$РMÿ@°h,^ƒ"ÐjêÅ{?¸¬E“(„¡€èìÞH#$‘èk$ŒE½ôªZý ?ÿ™RÚ}endstream endobj 105 0 obj 2800 endobj 109 0 obj <> stream xœíX[ã¶~÷¯àÛʈÅ©{‘HÓ¤›b›Nwœ§™>Ðm++‰Rgúò£{I]¼»ÙA¼,°˜‹ ‹<×ï;‡<$¢ŒDøãŸûvuó6'G³ŠÈqõ¸bö%ñ}Kþº…~±=¬ÜFrNò2¦EI¶íŠå-ò”l/«û`?èæ!`kò=|Z‡<)iY¤Á?E7ˆ†L¯×ÿÙþcbÂ8#ÛjÁ¢ÄIè†v'5¹¬YD£¨,¥ß" ¹È¦ÙÝÉ"F³<cüæØmzR)Ò©^’þ$zRÃo·×RiàItmÞu ‡5ØUF<DÝ Zë¤]rVº'­xF1d'­¾0¢œl÷«pT2Žªñ´Þþ ±ƒw˜^DîE݈]#)¾“ľƒ]-¬Éhn†ga ùú|Ò`à·¸4žDßÁÝÝ››»»×ÍÛ5K!9ØkŒ[OJ;ƒu=™¢%,ŽiRxCžÄdaIÙÂBˆÑ;k`ÁmKhÆÊÒ¿–ÏÓ¾¥9å%lÚW?@omˆ:÷µê|Œ¬ˆ‘WâJŽæx#ä¾0B(úº•fc]i„é‰ê$¹ÔMÁ·‚] YœÓ4™Ch£×ŸBaÂÚxÅ9*˜Cl—j‹t„KÂJÿÆ’ô2ä$ºª$ÈÇA âä†Òq¾GÝYõ•›<ÊhWŽrZò}í~™¬d²¸,&ƒ¸µçí‚.Qò³Ò­hšggž…y„9)V9OôÅèhäÐßJ½f¤ŽÌ-û½ÒUÝÑKÓƒ‹BWhÄ#‡' Ì¥îOW5²'Ïj =P9„Ñí@-dµhC,¼YH¿«*H>'?hÜ~µ m™R¦#vpF#`’µü!x½ÝÞηëÌ3ÕfJ–æ,÷=yûã÷P|âè&£ 0¼±¶íU72À'À’ÇÉ èClÝ €ñ·ÿºÛ‚È½é ¸ZÿþÃü{N#žLa–1çÀå$; dÓ¨5¢²$ .tAÀmRÕì‡ØR² uª Ñ—< M–Ó¢È'@ÜÉ}ªÕ -ÃvõãP÷j@Û îÈN/t©BFÙˆ¹XŒ"gcS³Jùbˆa[B9…5eÂ^ˆÚ}  ‚d÷L*y°ešå,CcAÒ ˆü¡tS›¨4æ&se&Âð1¹7ê™’×Þ_Ä0Ôl¬Fê‚/£e6V¨[³a¯|"céI\ýƒFlTÁ½ ½t˜™ƒ%ͲÉ[©m%g|QçACÂŽ€`€D‚‹–^9T” #[Ĺô ’‹q±8ô Å û|ó ®ji+EÐ9 TB¨Zô§#j»yË"ßc D~²µÌ\Wy³!aب½@‰nÏØÀÃqϲp\sâŽýû(‰ùŸKâø3!1ÿBâ/$þ|H\~šÄñŸKâä3!qü…Ä_HüÙ˜gö4ý1kùýÚ>öª1ßþ÷ž$þþ3ó.Zî†@©È$ÚÞ2kËú¯á¶¦e¯kyA¥È^¸o¢ÚØ©¥äv/ ‰×Ò²œfEÉ^4ƒ@Cy°`×õñÔoPœ X”Ò"/g(ÀÈO(TÛøäYh°±¥ËZ!, FÏI'Z‰W¿Wp{µñ°°·²³–¿ÿæ.äe€@ÀÿJ­pu«@T«ª:tƒ Ž·$—Üß¡2Pò^¦È4ÉQ7H°2QÚú‡¥rÂÖ—å|!øêmlÊ}Tº$ÜJÝÂÍÎÞú&—‘#UU[üCLgˆFKQçvÆý!°[kW¿°ü`G‰ Êy6ërœµ©>@­½ð9r«¯à‡ kúžà‚w/ø›ìÜýÛ®Œ¦,ò.xîç‚ñŸÊÒ}°ŒÁÞ*H.|袃VíD œ |",îj¼°:º =taú7˜‡Ð13¶â\§ç!¨Òö2?Úó k¥¨áx‚·û{5¤²Xólô÷"ôe½ï°ÔÍ=z@p3Ž;Þã‹ÕJ†]¯ºÎÌj™œµL Ðr™6š~í¹ùÔ<¢)^ž'Ù÷¶ò­¡•%+,á¡?ó1¢y:æu§~O;‡ŒSÆ)…›ëIHU$T½YîdPž~Ú¨ ›S7_áãC³Æ²lS+;§ —Úd·¾ƒT~ƒ{œÎ?Ö&8Œ¼ òJQðK÷®siÌ]Ò‘ú)ï¥[>UÃ[ñÅUyVBcãô UàYÌÃZŸ¥¹.t1Äìu}†ƒ#*q öwø‡Ð”öì†P.=nX–P`æl’å賂“¶*P‰î…y0ËŒã¸KA²QJÎ8òÎvð놪b†ˆ7a·fþ8<ÔXÍàTj}r4»¨ðÅÝöa Á¼àI-[ñˆÐZOG¤ÖJ¯Ó4på#„“AŒ;ý¼Žk™üò€²Ý8!%-€º>cÜ,¦§úÙ^ø¾ à8…N“à€5ÁnƒMN<"Â)Òûêâ,Á }-fÖ÷ÎõqÔ¤Yd Û4 âˆüìâá™ÏÑûxÿò™ù¸ÀË’æhpt&ÜŽØ®þ ?ÿi¤¼Šendstream endobj 110 0 obj 1987 endobj 114 0 obj <> stream xœ¥XYsÛ6~ç¯À[©Ö„ ðÎt2'î5òQ‹ž>Ø CŠd²²úë»8xˆ–”ºg",v¿côdc‚lñ£?Óµq~ %7l´4¾D>Dú#]£‹„â‹øÉP{ ( "‡Š× BŠ·Æƒ™¶›âÑ$3ô~›YÔpzæUR¶Iúdz?ãß c9>Š38v›õ¦jª´*8Ê˦BUÉàÞ$eÊPõ„š|ÔM^•xÿePÅsÃ|4ßeË`% 0µ1…àß"®E|Šè¦eÉØVÆžfÄÆ¶8fÒ ú±;ó­ÌȲq€âÔ»©ØkÆLf‹o#zP¿ø¶€$E1òl¹\r~Gl“çcBlªÖ>@]3×Ã6q}S&Ï`u<9Q¨C?U””²Bì‰c©ƒÝîÜÝ}Ÿ qq@¢H?¸›£uÎy^.Q‚xºbk†ÊdÍ$Tq¡èY3X|ùœ¬ë‚½‘‡„¤¹¦UÓÔ=55^WÿäE‘àj3#Pë¸æR–3@ö`ÊåoÎϧB½ÖÌ«\Ìw%jËÏe5£ž:q["€ -y[×Õ¦n;’PšØ±ÍÂ){Щí`Gcn¾¿¿›_~¼¿^ÜßÞÞÜÅ—>ÞÞI$lìJð¨‹mW-¶C)À›Ý øFØð}3W$÷^ˆVÈŽïcêt…ÙÊñ*çZµ(« ÷²jPºJÊ%“‚PK‹8ž‚j}Þ ?J0g¸Ó§L_kÿ¤®’…údÌfUµ ÄΖbÝJV¥Û"Cë䳌ªuFû“%Ë Hhý¤eœ£O ^ ®¨aUñæ q6µ±#L:Œ,K4„=Á­¡ÓǺÏX“äWxÒˆB;Ñî]ø ŒË”ÉçF/Þ ËòÍ`lþV´ƒÿékY^‘ó±¹([ÂÒ£cHD «jl]ÏÚR±·õïö“ ƒÈõ†qV‘诠´SÞÔn%Eq&d#ÿãPÿ¨îwE1ÎLì l«#)–ÅýǷЙ2ùËbÕdlÓ>QZH¤«.vRåâLG”èÃÄ*HÝ+B«@É¡X~ˆ}ÛëRÙ&ã©Kû> {’„ØŒˆÞ…æsÊê¤Ú¹‰ôʧ¾Žÿ÷X4ŒÂÎ`YΓO¨APÍ$7;8(áUÉß E.fU€EsPäÁüsHÔ¡‚†6,jþé×ù¥sñþVòÞE>“ßrHôm´¸ºPK¯.rmRðªß¬Yš?í ÷O è„!¤Òå¸NZ˜‹¡gé§ÐP'8=ê?¼Øm¹°ßzeé†ÇJ‘,fã œm&Fô)΃:óõÈTïä´ïz@?ÞwŒPÈØ#æ.i›Õ«æ; ®¤9îuž~õÍ‘.QÁ§yšÈ»fPM†¶ðJ«õº-å¨r›7+ÙI–¹žAJvLöp_v yúRyå¨sÀŠqçxÞ·›ý¡SãxØF€ÌþÌ5±BP€3!p/Wš´ :á€1¢ùÜl`ñ €æzT ’‡~Uµef5›¼ÆhâHv$ìãÛXÏÌ<Õ€ü'V(¶#ï-"OÙš.D¼)+¯¢ƒà¨ŸéŠ{‘{š¹„Lé÷MÙ»¾9¤ß÷â ÜÀΠ'PëñÝ¡¡øT«<®âPIQÔ;G–.H\WšÛX?›ÂÁëÈA‘kRõácùÈ$/iò,ÁtÎxwA: ‚,_‚ž^#‚ƒS2ø ~“ÀNÎT4ò¾¦¹ScöûNéÚ\xZ¾7\®-™ºÈy‘)°›¼MPumL¢ôR ¢j@À¼¼¯OÀUÉúžº¬šìÖ²)Ö¯óªOOxõ:ž_}£SÃpêTB¿êT±djT½í¸QAnoðc Û5ì¬Ñ?zÓ?àN‰Ç1[F¡Úl½1ÅYô-qdQp®g:6º®Æ/vÔÙkhtï2¡y)¸¾b Ú¢rÑelü?ÿ,âÀendstream endobj 115 0 obj 1678 endobj 119 0 obj <> stream xœYmoÛFþî_±ßBõ¬ —ï,‚mš ¹ë¥i¬¢8ÄEAQ+‹5E*$[ÿÁ?úž™Ý%)Å=‚6Ž´3;¯Ï<³þ,|©„OìßåþêåÇTÜõW¾¸»ú|¥øKaÿ*÷â‡dôÁj{ed”H‘æ¡Ìr±Ú_©4“Y‹ÕÃÕ'¯+úþ¸ÇµÅ`N+?óW* N,)ëp]Ɖb÷WPÜ6õIlª-Œ}ªÀ¦›Ž|l«;Ý ºÖzxк“t[³aoÙISn¶\o½‹jüº¬ËÞòñš‹Œã‘!úÎK£YS¢3ßšãÝ.®ÉËaÿŠaÐûÃÐS $ØÉ ϤkÀ7]ûú—÷ïß¼^Aªkw;¶ØûPÕµ áögÎ’5´e[‹ªé]lD»e±Þ޵XëÁI(ÓQK®„YÝ×÷l‰“$‚K)Í¡Õ'ñÊâ¼S9Ž.ß³g\¹TYžÙ–òNß™¼¦ø§ç>{·ÞÍÍO€©Çu]•â܈ėÑsF<Ag8ï‘O^mpEŠï‡"‚½h†CÃŒŸ†Þ—j£és »žƒãîW™‚ƒ_]_Í›#BœòÜzÚ “e¾ Ær0¾R!öúPt„FOµ6åd‘ôsWîÞ»­©X[žø %³¶lœey ë·÷e÷`÷H?T{Ý_sIÔE? ´)¦µfŶå|%ã±åP%Ql³ó}O…(çÒ¿æ¹qVÎÅqh÷@ê¨lˆÊàÔGª"Võ8tE9˜’~.×i,³@åN,²b÷vŠi"ƒ$R—ª»vo[¥²*V%2JÝ<ð¾SžHƹ)(tvÍÌ”Yá ò¯M©õ5Ÿµ…i(Ó(Ë]ªÐTÐÐW5w—i¾Óî8Œ—þ|¬:äG¼omp„ž ^Âç©R£p¬Uý8š(¨ w‡œ9œ²Á^Ù‹ºZs¢‡ÖBb'X…ú©«æ ãŠß-Ðiyd^AH$ Q¶3¼M£7FND|o[O#Æ)åã´Z÷ý.^€(0„]u·Ã,á0 ÕÐëzë @3çÙÌ ?­¿tssó³´Dg©¢LÆjŽ|ŸíX´A |ÃÐ…ÜvEÏ•õÔA5î^0£møÓ²Ýïi°À Í-v9Iti˜:Ÿ(¦Ý"L(NW^ð nšÚ³^Ù6Ow¦W© ïŽð.œ—¦10þSo´~ÆštbSoù/šk|ÏùC„ÆqOÜl£‡¢ª{ç3ͦ’alæÊdj¯‹®Ü!LÃÎÅ ;÷¯tëç#•ô+¾ b‚ê ”Ÿ·«/oð?̇Ýï¢èÖ*¶;Ñ ‘aÞ“Vœ¦z!)æ™ ÕàIqèp@›Yª0î )û¥üuêð@&Q0ú‘¬bÛíÝàÁåQNNƒà>éu3ˆÞ¼ýåã¶Æ7ý–j¹¸#‰¦;ÔHË­÷בºg;pµkŒõ ìµ~ÿqô<‘ 2C㥟p«…LwæzI™ £htÕ¢úÒ÷ãÉð,ÍÆ·„< ½G`X§XÙ›B:UR±Yì¦_»Ÿ#µŠqÆ|Q0ZR¹ à ~u9y0I¹âq$Ã,u—êÃ\µŒÃ‘¹bÍQ ßqÜc^™ås JPOhÚŸšF¿áneÛQÒV&xëÅÇ·¯EŽßè§F3çà 6ÉÝá6J·èýXM¬=I pêþ=ï7&hO\ëº5%G›5ÃíÀ#ox´(\¯½™qŒT?t4G~¶ãŠhµSe¨":!;®Ó&k-/+´–)#rõPj»¿cAgìNæÀ„[ŠßwX=Qu71eƒØc°½Ip1“RB3)L¦™tGj|tðþ¦K0Í®êïÑ+ß`vâö½Á—ñ•Å€Úä|MË“‰$* $˜ôKÓ)@‚ØÎIÇP5G-η$&ÉFÈ0{Š£ƒóM-V=ÿ°É,ŸXáÌÕ !v‚B]Ÿ¾^zÍî<´zk`&7;Åýhé KF»Ü¸žAWfôŠ ÖUCÜÃmÝRüÖÔ‡6"jžK2ž¨6´ÛyhÓt|Vg’ô¾0Óëržõ<Ê2·kÄþ”“ªA¦—ØÆØÈÏçôÄòdƒÇG°üäÁ¬nsSð f+Áx³œÊkžM\.ÖØH~E ÞNfcrÄ# ¨Ü¬•]Ð{Æeô› 4Úéº^öà ßãz ÈŇLñžPƒœ^.w…é O¦BÇf-‚£¾Óðòa Ç ÿÖ"Bž­åŸ¼v|)ˆðA¨ í'X"¬*¨€Æ9óL ¿u*FùDxËÝ]ww]{<GþŠê¦éø´eŽºúî)¥dƒ‘}÷£ÃÌ'¿ ¼û€gÅÄ…Y†Q& ‡SvsõÍ'ZÆç>+mÔ[yÅ‹LÙo ´/L¹™×,\wzκç^•Êݾj¶ýœëô:¹N'ëøö£s¬¬¿w!} 76™X‹mýùéO´å0Ïv³€™ë‹Ø>:?ãˆÉÎ>fǹ÷ÐÐ èØ÷n>òý44Ådü1B%}•ÓÖPôûøPBL#>4†kü¿Éf“ÞýhºÛª<_Õ/sÎg)Ÿò\ÆÍVÍ‘³×=¬#¯=v¥þ“ìЩ˜ÖÀt’þ|.lIUP7¼Üö§=íõˆ•Ø{Ñk}³néñƒ¿/ÌcÒ`ñ ΤŸË¡71oÿæ^Q·%s)qháZÜ q+t>È,öMŽ8ai§ß¬Æ÷÷àÊ_þÓývaöÐÎõÉÇ\‡L)Œ¢çy>×8&Ë>ÖaµÀ¶A§_ðÐï0Ñ0,HÀǽÐïÛùóKâ‡p|2 æ …{«Ëc%&ô¦„tèÍêêWüù/*ë`zendstream endobj 120 0 obj 2883 endobj 124 0 obj <> stream xœXínܸýï§`÷5‹#ê[‹4@[d±Y¸›­=‹¢‹‚qlu5ÒDÔxÖï‡î¹¤(q&ÁndlÈËûqúÈ".XDÿ¦ŸÛýÕ«Û‚=꫈=^}¼æ!›~l÷ì¯,(é‹ÍîÊYQ%¼¬Øf%Š’—EÆ6§«Áö8´÷¸_±¿á·U§¯Ê,ø»ì޲eóãÕ6?^ÁL˜älSãp³ûpªW¡(‹2Ø<)†¿Ø¶ßïeW³AÇ¡ÓlÄ÷òA÷íqÄ9>ur¯X¿3`}PÝÈN+ýðkÓ=²ºÔv쇗Už’'iÀÍÙ"ç%ÛÜ\m¾ý`YÑýqØ*6Êa%ÊàQf! ElœäEN~ç¦=‹ô§õïS †ådFjöðbžN§ô5ÐÆ±§oW›ÿ]Ñ!76äT­ôØtrlúÎznÅ8Y  $%O9|6ÖÈê°'—Va• ëúÞs{ßÛ-J¸½ •û‚gãUÌÍ×˪L§Gz¤G‘} òªŠ§Sôú ¶Í§Å[“ç!v†"-yê9 ‘.¯XXä'>³%óféYdr ÊyRfATñ…‘U©ÆR= Ÿ—!-ϧÀÖì0ô¡.Îx\ÌÞ[l?75v7#k4SûÃ@fÁë¥_ömÓý:!å¿”¾wóí«Æ¡Q畉qH6ñr2ðŒŽf³#qÊË(«Ü*wÌ úÝ:u4œ¶ä06à”ºß÷(Ý ýOŒC‚‹5ƒChE[”,TÓ‹ªËL«áy%²@ Ô·’µýv)ÎnéLͶ²c°›ëºãþöì ãðù ä‹¶E}u[9Öœ¨&ˆÂ´ªVסf®Ù&à zdYk£Òäýb,Ä–¥¶XV°i–ü¾Q­¶=úå«Ìâ¯èkl¶òk­ÈÓ/›üpnÓ˜²•ìw+tR$Ò<ØiaÔô»~8­Ì`I²@õEÂÏŽÂhН Çä웸ÈÖwíË}ðíýʃëw‚ˆQTÕšb;Pתˡ'¯5S˜I*×½ž;BÚü@÷žÑasWhã$ó½ ETò8ñ™Å.ú3ûéý*^EV›·]Žø/š3Zµš cúÀ.j̪AÚ¬Ã<’lldžÚ_ëCßiõ'S‰85“Œg"wÓì=òÎ|ÿmŸÀvTƒ†»€/<’ƒbϨu ÛÆô~½ÊhbC hÐßxm*ƒ/ÉŸ´Â—ýáš}Rm­Ýü¿¶§W%‘ùL ¢0bŒ„v—%ýÒò7˘n“Govâ¼ÛQ£÷]xá<ÑøcsÎo"áÅÅäIx”|>y>]³J¢„2tVgXò<«bCÆÓõR ˜,ß*5\»sR;þxæ\СˆÇYâ±jj¢›Êf ~;vŽáÖ¬VÕÕÐP6AIÁÓê’>ûÎ ªUÅ…ñÈÔÁÂEŒËH8—¶¾Ke2?è»OÇÁÈI"@¡bU˜g\ˆP……ÿêm¼T-Û=7Y9z]óÔå[ð¨²?õǶf²Õ=…+]ýÌhL0á\ZOÒo¿,Ÿ Êö ÄÇ™iÁ£¸tѼü°lÏx)Rá ?¦Ë”iŒ1ÀldOòBE ‘»8’*sCsôÈó´\bµk¨£wJB8+ˆùÐRUuoü·5-SñvQÓÓ“êØKdrI¨PÛ“Ä”Œxvmæ3pÓtzT²6‹ §§’Åe; ±:s\@#—zÙÌ^ÛŠuo˜žxæÔµ½¤ž&ÆÐÇá¬YÝ쭣ʚßѶ—A(ý $[ÇR}G×+ùÏ6Ù´‡í[߯¸‘ D€þä‡9]"¤ˆñ=$-t*ôîÝ¿ßrûˆ6 £Zwˆ,`³FÕ1þçÚV1šòŒ.¢ÏEê)26¸[¬—‘KAÍ- »SÇ E³Ôã·k†¤G’KY-raòO*9Z{s`/µÓ)Ï…E¢×QÚž5ˆ8ÙŒMÜô|Qw£G[KÐ(÷GÝÖIº(¬ 6šm³FO-2è˜9s“T>{¶Z²fŠȦ%Ô/‘¸9ë’òï…8»ÊXHúÛBþhºôÍÞOy"nºhÎ;Éçºß‡´õ5>Þ\&>Š«I<ßÝÝ`ÞëîìÍb¾ì™´µtǶ›Žn³'òÁUßk\*àJjfdµ%gtO¢ß¦ü] ß@Ƶ¢ŸvÊÐ^Õ=6@Ôƒ[d¿Ãø…¤%Ihî†;éÊj5—ˆ&}ç/æù† #x¬CwUY”PRòÂÁÞö‡Íc’`•¯W(‘3IžÜgZ5çÐjæ¡“ºn4_Ãa¢(Œl°‚¹ µ·= 6%—Þ æiÐ;ŒvÕÙçš 8ÁÃfÎQ!JDÕ{”LSJÑèG2RIÖHªcòÜ2yó¢˜‰Üø~â ¬¥‘©ß¿Ôµ½jè*O².Žžçp³-N  î%Úa™}ã1„Œ¹Ø˜»¬Ú‘š®â÷h:&MÕ ({Ð9ç3©‹Èp7ìR|Î]Ý/þŒŠ–i{£ €t66 J¶·¢yF•ˆp•v-¾7|fÎËanÑÄsøçšBêOÕY1ˆ!‡YJ¦ •ÜšIÁÙ]OÔCÓï48Ù›eyÀ¤fºnÙ/·7LîP÷˦HP«(_šbX%9%:.*vÞ!á´ÏÌÁòó fˆ“û#† «ož…ßLW]?}®íÅr~×O.”PÐ^Ö<½¶x¼& Qr¨ç/ |˜Vzû‚‚m‘0zE` ]T‘2ÃÇHŽƒlL6Se^œ k·ÜCv«Yàšx…†¨­½7˜ÆÏl¨Ê!ãò/ Òt±d_h¶–óœT¤7@*{«ÔÇ#f® HPËK ¦‰i¸x“WŒôê;°{| §ö»~Øy5USL÷1ï<ÛÙV˜∳ˆ§9½í-yêIMzG ÔÐ]t d² ‰ØO½È8‰Íulr5>ÃÉTè*ÃVö¢gYœÒ¢·›«àßÿŠmK­endstream endobj 125 0 obj 2490 endobj 129 0 obj <> stream xœÍYËrÜÆÝÏWôΘD£ñt¹\%;r"—l3âTeAfÎôpâA˜oðçäsîínÎ9÷Á÷"ð¥èŸýW¯®ß¥â±_âqõ~%ùKaÿÛÕâ‡-ÈèƒíaeÞ‘" Eš+?ËŶ^É4ó³4ÛóêÎÛºêÞ“÷kñ#~ZoÂ(÷ó,ö~)šSQ‰ñëõ?¶?¯pÌF%b»_~„t‚÷cÛôå^w¢D!ú¶D{×zØ]Û~èEQ ºkŠ¡\oÿ¹ÚÀܼ[É8ÅO!¬ãÓR{Ú-žé¹€ŸÁ#yhŸñº–¾È|™AæÞsV|€ {Ñ6b8j±këºhö¢*í‹->y&³šSý;ûc{ªölŒÌB?#±‘¡5#â°xš²oœzœ}h;þ¬Ö»ò÷xîڡݵHžŠsYUoºÇé å‡ûf?\g»ï<ÿÍZ…‘¡7Ô[ö8 ý, ¤õXM/^Ú“h4Nìõ"€IîGId¸QËý0˳ÈE­¨ø5•Å>,qžšäëfèJÝ‹òÀל×2ð%^Ñ bhÉǵŒü<Sް(öûN÷ýŒ¢¶Î?¬%'òNƒØ—‡u›£ºÃ5œÞgOðíÛ•·=–½hŸ‡YÛÍ9¤nýÍ ‰aàú8±¾¼ 4x9ª¬áì…yü:ž²ï'±ŸLϽ§è› ²¿)ìð¯­>¬¥5_›7a |`mCÆã¤{ïÕžW6"õCé+0„Ü ĉŸñC›M§‡îE|}ÏhH\¤/Óœ¡öæÚ R]Rœt×!¶ˆ ^=u ®8uÃ<&Y”Ý!µ{!6XKÒŒQ‚KÇ‘;ïª\«$úRo8/°–¨87O‘=ÛC 6f” Kö`Ü ˆ#ÑäE Ñ[§àAÃ,-™ê‰ôó ÍÜùAfçCÙ<ŠÓ³/nõ0ÐÏ3¦Á·|Z3–TìáPv}ߊ¦e»(÷ÞùXîŽ&zy¯ì–’ [bÓê§j¸_û–4Šá°Qi O•sÀÛv3Þo˜ Þ2)5óQ—¸²û–bŸÛÓp%ÞŸ¶7"úø‘Ðó A$ ]ð¾ûë_Æ—_ÃÜ¥WHC(ùê¿Y‡“Åî1à¤Ä|’vz‡$5¢ˆ/Òâ|u™ö8 •c²ý{GâÅGeˆ_(GHm- ìm²ë] U%eÈ:ïãÿáÍE.Ù§ÜIr9$ C“z—¿ÒŠå¾==TFjÏ”ò•|ñ¡L!þh®žls`2(Á;5•ýݼJ¹›$T¡¯´~6u ž0”)œV„‰0V/¸‚L¢!Ž*8I !óéüȾ¢ºHÌK“Á^´mcǔ؎ÉH佇ôîŽEó¨'iÆ{ùذ%‘½êlðÍ¡*»€·¤G?÷0OZ¬òY$=¶Œdáˆna„: ¶Kt´MõP¡7…b Å‘Ùä\$=*¤@ƒ“¦*û).¸æ¨;á˜Ê<2©¤ôoR³ŠˆÏ „@šé®5Ø«n¢Èà&O´ô³¸Qî²;Æ ."ƒYøÉL“e—êbïøƒðDZ’á~ߪKFmíR^>GbŸé¿LÝoþ÷ÌuZö%ò~,M‰ÞÚÂñÂWÚ¦­×ƒc YÀµu$^1 º~|ñÎBgמŒ,Èoºî½^ë ´©ØŠ’¯E°9 ŠëMÂ$9 Y`.ö¢j»ÂpÖx‘h¾±t™ž[úiær0LSæ'èfS‡mB K•ì½IíãrúCELc×{ÚtŽ÷,SÚT˦?ÍGÄ•ˆä¯íPî(ÖÅ@cÌÚ€…ãÄô%û'³µ)WW&x p¨)x‘LLçË(xÒ³ °.hVj¨w‡”ºv̾¢^¦&Z&‡~NÇ +S±?Y°pYŽMº‡$Q“ }ýlTS’ðì"¨ö‚‹ .&©$Oä8PK£çÄØ]¶¥-=Œ”É,5Ú"JÎb²nJ|!¨yªÆÐü»‡ÛËúTsz®ˆ‰§µ„r£Þ¦¾›©¯ ûù‚ݼ­Bñ²û·“?ÊGUpvêa!-NM'×Á›®5–~vÑýQ‚wþO„«§PõšÉê\ª”eø-KóÈûS‰˜Ô4€ˆ?·Ž!Y,¤èÂF†ô3c£4 ͱ]¼•ƒËö›ólyƒÄÕ ]ºö‘7µh¬ìÆÙªï‹GêÀñ>Õ‰—í•.Z¤ž×U¢Æ$à‹7–y=†³íQÑ’‹l"ÑÏ'Ó|î‹¡àGÑ?¹M[8 ðc¯¹š¹8ä¦9G÷°l-£ÈÆnwÒ´Or}Gìã5[®pÚl2CiIWPIÈ4‰FQ]÷ÞÀSSQèÈðNïËNï yƒEñ¢žõE_mÊn‰‰;ïuÃGÙ”@7´N¡ Ê¿Ñ/ß_š1oÇÌ`7.gã!(jI³h2'ñš†çƒÛ›__ÿå7³œ¡ÉîõÇ¢~Fx¾Íë› UÞ#ÊC1èË). '1[šmd)›FŸh6ÃôíîiÏ‹2¶ˆÜVñg×tĸ,ÃdÎc›ÌGî3C¾c”^”Ðèã ؆aŽ…ÙuUø%ŸBà–i´‹sï¼a.™UÈ4lð&u‰:úËÉ×ÌÑ/³1öÃ.×®§qPw»²÷zvå–úãâ\¬ÝB¹Ñ3¤'¾tÌéO—xIéÃ$Ò ¸n."°éûj½‘YšŸ?mo¬ 1ï;-oæånœw”E~»QWâÍ/¯n¬ªñëÝ6’ñêö3x¿loîצ:ªpG:Ù´ˆ7ð’ÛÛ·×Û··ãæ­eþ2ÃHÞPÌ²Ô ì»¥²àÊl†/×Á,AQÚ ¹ák6ÓæÌʵÝBX3\÷dpLôɑ⭩¦FÊ„6Ç”À‹¼ï´}Y'’XæñØLdvñszæ ¼ iJ=o\8\®Y¤ôU:®Ã3¥{‡Ð¹E±×V—Û†Q˺¯Oú ? ål‰AÇ¡‹F¢BóûýÅ‘ô£|ì§(q{3‚pq0²‚Öpaàm¬fh’Óeå¡Ò[-SJÔ§ü¿n﫞ÆzÝ캣”ÔNAø÷= JGàº|à“šY»¥MÂ\qͪ?!5ÿÔœêí©™-b Ëý'i‰Ð¦º¿ÚLYYª†R˜æåÄ2»µX6Q\Bh(Gßnmbm§¿pw] ãn#iu•Žûgïá´¨²cçrþÌž?×ÛÔ–Öí²z+úÃ’üŠê½/Çê݇™¨aRÿ¤pˆ}D$p¨g–›¥Uù Å&NýÄ<É}  ‰t@Ë«{*À`3Õ«± ?ãxRš"ƒB*˜z½]ý ÿþ’ ›÷endstream endobj 130 0 obj 2935 endobj 134 0 obj <> stream xœíYÙnÛH}×WÔ[(À*×JVÜžAf’t&V#q?ÐeqL‘ —Øú‡äŸç֯ʼn? ŒÀk»Ë9çÞª|@SDÌÿíçotÓ.ºY|XP;ˆü¯l~]Ãe>¬· ·†¢„¡Ds¬4Zï4QX%­ïoÊ«ˆ^-Ñoð×rÅ„ÆZÉèUZõi‰†áå_ë/xŒVðo½YD«UÛ–«&ÿ°Y®ÿg(³WÑ?×oì7s8/[P…3Ìè™"ö3űVÊ PLÍä»EôÇ~†^¼º˜ï!¬ˆ›\>¾‰²›¼Z¿Þæú¢ÉÑååËóõËK´­Ôír”ÕU•g]QWØl´"8±{©kæ÷ŠÖùpˆÆ*Øßì‹*íòöÁ>¨ØÚ˜RXp‚A\ŒÍÜ6o>.©ÀZ³$Ê´©ó¶zf£Ê°4§Äpº"ÔÔµ“ãi Ëü@8ÔM|Âè*ºØlò **”`F0\S’S0„ kJ9cÖ»¢EõÁZ}·¤°€Ä4J[}Þ”Gt[ÕKf,%,º«PÚZ+ÏßRPÙ Äê=@aÛ–<'„Ž .ܪE)1WŠ{/®¢t´šJ,¯–­wiL«Ò=8­PÛe‰®s_Â0×ñƒøö-ìt½œÙèöºskP“ïkkä˜Ú(«sJB0?Úm}4f ŒnmŠ¥%ƒæQ•ní.6La"ä¾ë`Y Im-¢ìqTjÄX…(™¥e Á•ÑÝê:OÛn`•÷‹8±¾Š Áái¶º¼,[ËHÔÕ¨ªÁMc½É†Òžf‡ØîP7·(mê¾Ú ÐËŠîˆ>§ÎamfË k*hðæ\Ö1–ZGU7ñ˜ã„²€Ì%G)ì ¤˜ CSwuV—­KRB°d "ƒ'k'Nd°2޹µÒâ ýúûÅåÚÌ‘n [HÃw_81 nH/t@Ò¶›…%<ä&šD®0T›î æIPÐõ£ž¬ñ\Y¦ƒÃ¨LÀÛ}zD€·@€:ÚŹµÌ1Q£J`fœÁYH\–Âz(™`Åý˜'ÑEÕåM}È›ôº(MÞ Â×e¾oÙݵ5£.7`±¬Ø`,¯ºÔxÛbônI©“ñ‹·¯_¼þ×spbŒFY×m^9V›“_:EÁÑ–å³Aš$Ø9æ,D\ð e×&ΘQ“Aö(ˆÄPaê {Û \õûk øk¤8w†ŠÎ|KÛ¶ßÃéPÑìlJñ™•äkžY( <]7ÅûåbV²k`åPÌ$”¬Y1#_”²¨iŠ ´,i5I.XŽÉ=Fd™ >(dÃF’ðècQ÷­U¾zû°0j:¬YÝŸ¡ÕêÐ,…_iÂ>isÆŽX› Ë^L‚¢RÚyb2x¸{´\GÇžP4×jtí¡LCå=Z$‚UZE÷Y ˆ÷I âóípº4r;1=vXD»’vYTYnt Ü;› /üÕö êŸ{ËÖÎ3<±mŽÁÏöhjµÃºÅ«•{sÜ$ÚœpèúD»â2ÄÝDÈ07”õÈã~r+ˆ±HxðÓw×Oæƒ\@k8­ŽŠŒpm†1öùùùÐÀù§{u?ßÇ(z±}ÛºµA/]4ƒ4|Óp9éŠ}Þº]B3…ê*:?³±7‚'X~MNÒÓz"| xDPÒQQ ’ÊIŠÆ’ÄMaZbEé\W ·‘rlؤúNº’@­`§„E…ÛÁOIù$š*¿£¤¤'4E2<3Sc§d)ÉŠ+†)›_x¢ŒÇ>¢'ÔàÙß.re¤À^:OŠ‚dê„(Ha¸ÝBSTæã¾5y[—]B˜r÷*…‚›wSebD(2Ù±¹%Û°=Ô wñp{ÐYñ*öå Œ…÷ËGn`/`+!bÌ¡7X ާÜæ¿fÌ x¶^³Xaq‚^×Ót2ð¡Yb_ÁȱSKBb±™ôûzñ_øù?Mú¢endstream endobj 135 0 obj 2024 endobj 139 0 obj <> stream xœ­Xmoܸþ¾¿‚ð—h[‹+ê]s@šóµ)ÒÄ7×;ć‚–èµÎzÙHZoEÿA~tŸ!)­ÖIP ( 8ŠDgžy晡?1 æÑý7¯«÷ Ûô mŸBdöŸ¼fZcAJ/Öw ³G°ÄgIð4cëz!’”§IÄÖûÅG'ßuÕ#n–ìž–®fò$¢"ú|p)¦ÓŒ‹ÐçAö½”?ÅUŸ~L}–ñx¢ T ¹Âînw•æ«F¯XÍ0!à`/Cðyß¿å1b{BÒ$ÿ»Ï –­MãôªS²Ò'™ê…ÄÅḄ¬YÞÖ5]¾![¨¦8šÝ” aäóìÓ™{FWÖƒOxWÈþ¾ðHÁn«ÑÔŸ$Û”'w*?B^âøDo}HRøµæ6_Ž´ÁÐ*B16øÔ:9`/+ÈUƒÁ¤¹- ÕÇ-s`Rð"Èf×.ck£MLÌÃc‹Äí"ÑC‘sÆO@ö˶5äïv¦ 3³'à{‹R~ ºÔ}+Æ¡ H!c‰ÿ½qȾ;e Ê´ Gr0ôÀ-&Ÿý}YMçõp–ÎRÒÍ5‰ërµíòW*uŸ'~¢1óÛ.?&ÃGGçp±ñ-»ûÝAwFw­¯EJbd…–Â32r„ä]ÒW¬ü£^²•e7âG³0éAkfæÌHÄ1q`”ÇÖ Y|z|æF,dÕc"0}°gg›ª½½gãÔ„S¥ÈqÅÄ…Ú…,kÃ}Ÿ>gµ’ 7Éj.ã’Ý6¹ù'.Õ¸%–˜4‰UºQOŒ¡Po`ƒ±‹Q]ÑÛÑIdí@¹›º¸i³Naj“ZéÓ³Q ‚ˆ‡±7òF ³ñ!Ó}Òþ˜aâ9žþ@bþVCМý n‹süòÿ}Æî‡aû|µÚï÷Ë82ý››0‡–ĬǜǑY£K†L”ûyçÐ#iö_ÿ˜bÁÅÔû×4§Ln•õæ£p…çy¿ñ-eóN{†ß|[æÃ¢Ž|Irfe<\iƒT7¡ÇtSÅÝ¢¾ÄA‰ŒœÀcoÛ¹®ú‚i0ôçô·oEFp›)ýù -º\/þŽŸÿÓhu„endstream endobj 140 0 obj 2231 endobj 144 0 obj <> stream xœåX]sÛ¸}ׯÀäe©Ž‰%Àï™Lf’Ô™¦uwS[}híN– ‹ ?’’ëý û£{.À‘Úd=éCÛÙqbK$p{î¹÷à3ó¸`ýt×Åâûë˜=4 =,>/„yɺ?낽Ya@BVÛ…#X,Yœú „7ºeô‘½¹úÓÍû¿_2»4V.MËî5{ ,ËÙ ;føGÈßçÕú3«µ;Õš˜³Ç,ÏY[?±¶b‡Æ JË^YŸV¿»uw‘«UÙlu]gåÛ¨VÑxà³­«‚)»™F×Ç¥ˆV£kã†ä†+"•´EúÖáoà«Ç=/vž6f˜‰´ ¸ˆÒ´¥·KaùŽ:ä-ƒGìþ©ÕÝ3œÄ~7ÜÌw%€• ¬6±¿5¡êaÁ'ʬ{ °0›Âždرå¨Â¥\&iÒÓ¨Fr´Y¡› ƒa®€oUêÙȬðû=LX áÈ/°€H7êÐîÚ§=8ÐzeRc`€v–›&ðW7Œê²ÍÖÊ8Hs8%v‡ù“M¬2˜ò'áqÏrç¢üD²ˆ!Si‰È,'«2bÍa¿¯êŒ(¾¸¹þðâÂ$váâ(wýî­õ?Šy˜'´ Sc1D^ßogùê'fHmƒଧIêG\$©è©r33"€nš$=kŒ•½jšÇª^bnšJéX’6C<÷G›µfÍ^¯³Ÿáì=™d2Nú÷‡v¾$jÜ8}ÃéÞCŸ^Ú˜`àXV­¡S9¡éF€„A»½ù¶äø11)9·²Ð…/ÝÐóf¤<è úyíé@BŠ9U½a/í7ê ðéѼ „Á·‹ ÇñqœÄ „™Ñîl¥?'j¡Û]µѦ±]lFV ÄR~ ]ŸG‰$þžÀŒâÝƯÇÎ!yövôçCVëJ0UÈ©UÃsV…¿ÂËÍÆëHÐECåMEEç×’¤Ü§é³Z@ë°—ôû¬™ 5€”ªÐßú, ó(ý æ2}.æñç ‹äy ??ÃäÛc ¨¿$óQ §ØÚà¶nn®ÐßÙFGÌ_£#™Vj;¨‰ú`ˆØü0ÇL-µ$Sç¡j3½ÔN±ZUkçš6jrÏGzù–†a_ÖÉ`ÒGàÎC Pi¢QÕØªÓC`cž$@Ìýà+ ˆˆ)"'8Ðs .‡éLHÝ> ñØx1úÈŸ`?›¸ób"§˜|#9äÿ-9L’ÖKÙ‰4W—ëjƒmŸé×(íäëVF¾^£.hè(ÅÖU±G q¶2½– ée$'=—¨ '§ŠÍ—,º—Ý’€¨ÙWeCzŒ¾’B«¶¦ ªü¡ªcѺÆíôŠàѼŸ’äÔƒÌ`‡²ß±cDïã.Ë5[ë –{"ˆœ#-˜µVˆ’ø»š‹?¬ø¾;§Q­ÖP}?çsÁ­X/KuŸƒCŠmF¨ÓŒÍ¡Ø“{ O2Ú%퀶Œ3ÊCÕ+ô z— <ݬë 2c"€}I*qD50K5ËF¾€“bÞ·CJ´Â4ȘÊb.äôDD¸=L×”g¢»;"LewY¶”pPb{œÂ€gE¬_¸/˜jè»é…H±š,&|ЇÍ÷îµ§î…ÑÃô¯]§A%£M»Á“Nä§PÓÉ òW'ò­š, éÙšL<=?^Ü:8Q!8 <;!Tu0'˜ÞÎÕ-¡7Øu'ÆÐðž7(}÷Déû'/Ü£®ï«f&U©År…ë\òŽj§K|âF*c”tU³Î²YwÈÕÁ¤ÅOBøéù æÇæ 6ÏDëÄÿR>Š/%äx¦èÆ|1#ýßVFz< l%ïo>ŽOuSmVd¹ª £yb_e¸mjt*ƒÑ˜¼¡19÷§÷`±?ä)öžk5‡=³ãØélkŠ|3AÞ³ÔÜHi¶ëçú©½—;¹Fqþµ'›!½Z¦p§˜ëÖ²Õûw•)D^:¶ó½¾yûþ=|f{jwå"¡¾)—' ”rGý–êÓpœDÂ4²g›.’æªÈvæ¶J«&Ó´VÕ$KäVV¢ì„€m¯³‚ûÝoµÞÎ*í”…6/|œ¦inÔ™ k_ˆ䟷Dé“Tžã{ì‡êô¢NBˇþPä/ä¼HCDöFø1™Ð ËÕâ/øù7Æ”þ0endstream endobj 145 0 obj 1955 endobj 149 0 obj <> stream xœÍX]oÛÊ}ׯXøÅÔ…¸á÷GͽÉEÓ:ŽšÈ½ì>ÐäJbC‘ºäÒŠÿC~tÏì.)Jq®( ‰$îÎÎΜ9s†¿3‡»Ì¡?ó¾›½ø³M7sØföûÌU™ù/ß±ŸWXЫõLïqYì±8õy’²ÕnæÆ Oâ­³[+ïÛêÎrïæì|šÛ^ò4 ­YÝgÏÿ¹úË fl?b«‡c·õ~Íä¶ìX³—eS3|ê;Q°NÌWÿšÙp‡ä³Ôã^7°ÍzPõ3÷’4 ̃‡Ér'ºL VedM-Ø¡¬*v/”a®Ìº~ÌÀÙnĵնe›å¦í´Ú®Gn­e+ö¢.:–)묓ÙnÏdÃD–o™ÚÇš–=ÌÝ€§©[¢½o:œ_âl¹Í¤Š+Ên_eŸÛ¡ãXwÖ›¢ÀEËšÅ;[müº…c}]~µ»&ÿ2wKHöjŸÉíkµvêåõçÕjI9hêZä'·M¿ÙêèÞÀ+š]†ã”­”\\À…NЬ`Í!*ëŠ^-äa®òè‡VÓ~áìÄãÀù¡Çý‚ÁëN´ìýûrŸuÝÎslj}˜*ÎwyøJŸ÷"/×Êe¢Îñ¬.˜¶rt¨  ` [#öXiÂG?Ëz¨e™g*Î>>è#€c»‹hÛ²¥ûÅ'×1p÷]@ÎwÍ»¦Ë ­B2Ûs½q(“„û‰— ûàñ™]ÛO\FÞ1cÆ®[¹­ÑŸUÊÍ£ÑÈç¡ëxƨÆîðÊl¬¢[*£Ç¦g]¹ÛW¬{*Œ CU û¶Ùí¥Š]ƆQT¹ò€L_ÍžxªÄW?ÝZ«dDoCq´¨Œ}UJÖïQuêèo-*0oªQÓ¬F8…m7 §*eÛ¦¯¨ªòª/„ºŸ9#öxýádYWµ‚†º<'uå;±ö@ë>^¾·E€ Ý îË:k5Å‹–Âj§­‰Ãcg¨;œl¸åÈ‘ v-FzÛ4(E‰@Q% ÆÿÈ¡ºB΃Dy[n«g…K_Ô½¨r¤¨´˜T¬$*-rž× kô:]¢ÖD•$cMðK[s‘þqŠ«mê¼a÷cG¥ÊKM÷¤óô’]Ø={y¡ºõÈÛËÿ™º…Ô¸!ƒ¦ÿõñ)eö”({^‹MûëD‹©SΘ2ŽŽ¤O¡õr¹ õè¿ÂjÑ \s-4\¡R]lÆJÉ ¨$zP¸<õSÓBQÿ;bÔuR ÒÿŽ*7vŸ†£—¢˜¢±®\GsêCùøi'ͦ¼>‹Ë›ÿ+\Òpƒð½ºùtõútèr¸‡¼Ó•f «(Òk!ó-ɼçwM'ÑI©Ñ?Bjš4TÇ`v}o¯éL†3–gìÃúÕa|Rê&oêo½{(ߨ[R ¸¯©KGR°M9œöé„§ïñ$x¢•Õ7ÇVê[®K+»ÎN¾•B\í¡¦!.¶Rî_¾xqAˆ¾X›Ïˆ®¢àzÔü»A%A¬}Œù8°ˆlôBQ¡Gé™&³é!”5‹À+MG_ YDK©€h¼·§Jîwìíû_Vº­ÇŽv¥á•¿øuÚÖã(FŸÕòd6…Ñ8-ÞO ú±;\êÛÓmÞé¶+£=eÒã¾;ž÷öF,Ä«Q…ŽŸ™Y.¦±J¹ƒ´k|-?.}ÊÉ童΄zv” ô¤<¬!â:”àCšâOk‡}†v4sLåÀ~J %F`e§9’˜CH©Tˆõس¾:ú‚ÉH3yŽóª‡ è YußÎôSÙØ°CÛÏGULñÉ"j…À¬Puºö½ØçþQ¶Äq µå¤ŒwÛæÎ N8‚¡ƒÏÇ!â±>‚„VøÃ¡ýB„Þb(:GœØ€n2ä·É6<(þQ'5µl);JWëW'ºm)¥ÀIM Ù:ïiXsÜÁ¼Ý,Œ¨9j`ÛF‰ì{yúêÀŸÎšÉõ8vvÔqŽùH-½û)y3L#…MÅv–˜8æãåT MF\ÊHféã\c@ú14™¸ãsà­Õ·Ã­jÖ¼ÂL€y–i”ÞÏ=jÏAdõ›*•š¡ Ôì¥îÒ¸‘âŸ^ é6SÂJ¢1‹FØZ Y1ÂÂ05i#¯ºúµ—uÑ×4„k>mŠ ÎÞè·‡ÌZU½ª™_¾¾d;‘ÕÄú"£E&³ øªEQý‚]¾:[eÚU¤¥—ÞÒŠ\œ4,ä"NR÷¼aѦ漣K"šõ­Ç\+;3¼¹ãlh)aDŒ‡ÚÙ–E!ÔÛ›š†+È&´è töäMîEi^)Ðð%jÔõdh£Ïæ­äˆö"LI–ï°ëÆ$OO]hË`¿á’Þ”̯4ÙF+ÌKiÑ»Õìoøû7”ïvîendstream endobj 150 0 obj 2474 endobj 154 0 obj <> stream xœ¥YkoÛÈý®_1˜*ÌYÎ Ÿ‹¢è6ÈbSd³ÛT‹¢° ƒ–F67©ðaE(úò£{î ‡¤d; Zˆeq÷qî¹ç2YÀ ègø½Þ-¾{Ÿ°»v°»ÅÇ…0Ùðk½cYaAJ_¬¶ »G°D²$S<ÍØj·IÊÓ$b«ÃâÊ[÷Myí‰ë%{…OK_†ÏÒÈû9¯ú¼dããå¿V]à_ÅlµÁåfwQmk¶oꥈx ¢Ì{(6zÃnf#7›dÈVoÏbI›V¸òÞÕfÝ}Þ±bËŽuÏêª<²ÃÒ\­"/¯:öÓjõ+»×ùF7-+*,׬î»}ß]šc¿{/‚ÁK©B®" OÉ2\¤è"Ï/.™ïÕºì7z¹ú}—HðXE™Ýá튻ûŽÝj{Ǿ+ꊬº ="\†ÃÙ^cÎñUšr©˜/ä,e](ª;¶­›e„p‰òl;™“ÞXw»û¢ú@ÿ¶îº¶+Ê’mjÝVË‹…ä±LØj½*ãaš×wwæú€ËÈ< x$ö™/¹0)õŠf¬ Ì’‡aœ¹Ð:kÈ]ÕýÝ=Ûè./Êö’­ëªEöÖ·pÃÆk ±OTdϹò|¿k–8;Ëéåk=dÄ…Wf€ý¶Ë»?™òLxgÙ‹Ÿ¡1`MÞÊ1 gÖFšFh@DfoŠv_æGFäF@Q‰nèö|Û¡Fr”Ën_êl×5yÕnusr±THN2æf5¿|5Ýk‹Äc/cqŽ»¢C‘»üh3 ÚBç)NIÂÂë %\1M<©-g‘÷ ›‹O#€`ê¡èîY^)ž$6FÈÍçc5YJ+Ôˆï~w Çë-{XJœ˜&©—7E~[ê–³ÕäÀ:¯ˆKÛ½^ŸqgN•H^“—æb_„h@ÑèJÀ•0AxaÝ~qÉêÆð$uŸœg‹9\Œ xlw>h6KmÌ#åêr<œ2Û€1 ɦn›zã>—ÚFæÅŸñ±Êwú‚„•5¢YÚ&HÐv‹æ áqrÂÿÞù±€KaÚ3ÈÅÙþ ËVh=ÙÀXÁÛ+ªlòI¥6±.¼DI-Jô´ ºÛÔ9(àý-ºH×w¶wæp“©(ôò²×ÕA˜: ¾¬wÔ‘Z›gΔiCø¹»¤l‚$×MqK×è²²›ì¤’ghŒEh<ì;pöÔŒ Œ…7œöY’¹çÍ)’^þûÁ)$õÅh:Åh ·ï†rø—Ã!\9«(`%{iËID6yeÊZB9û½o»!qäÎ\ý’³.a;Â'½ÓÙÚÆ:ˆ¼CYTšR`)»¾®.‰/rô—üNE]ßTp××±2œ2JÉÂ)¿…ãà|·Dz‚Î÷UeÄÔ/Ë0ðV¯¿?ëEBŠU*#è^úíqw[—ÙP|÷Ù¡¨”ôµ¡D\ÄSEE6ÚESW;ó’î52•#‰õ€jtµ6=s ¶éµ§³£¸ UälCgTCÌfÒÈÔ ùi«EF3pX¼:9›Êû|>ëóbêó^QÒnBÖ÷¶ç¹úqÆS™%³.EÔ ÿnºãþLA&£"»^Ùuþj™d¶à°Ü§H6úc¯[*ËM½îm¼ ó!;,  2ië˜y,'jæ¡kÃG>:4³Y¡ž°d2y`°½ÝêuW8ò4J¸x¬‚f>ñY9Äa:â¥/»T£ÙpøŒ8L´T(5êHåŽýNç²¹íKò×,/ZÓµ-йÈì]]šJ ®žs2Âd€?  ̤ٛh³T1u8éé Ÿ,<«…²+Ìä³²Kð€à9H ßVõiÂQN™˜HZd–ò7ÝÅÐÿéÁzÀÇ“powsE®âlT€(ÈK„ÈÖ Tœ• êZ㶨¬ƒrêB–Ì„åSQ±£Ôp1bà©(AÐŽhs~]{?lh¤ƒ êŒÓ(xZ52Žì0ä¸íö7ys¼ÙçÝýÓe­hå‹ÁWQ1­·8Ñ]Úïé^à e}wGÌ€P[6eE~±1&¶ºy {‰«4vAÐà †â²ƒ˜ïœøÄEtÇð‘‹É¼Àî;ø·®ÏGÊÉ3ŒŒ£gê½)Ö9iv B[m ,0pGá´×ή ƒmÝWÇÆe  s4…>‘C"Cˆè¤ª锳ùÆÛü4abܵisöµ÷÷ë%³e™a¬Hgí#›~¤…-ž Þ”[öÜH}åñ7K‰)9Ê2¯Jìl ª`šXH÷ò²È[çXzJqÜWIÍD\)O\y™ÈŽIq|7»" E.¼C~b8M“MíÔ6+Âm2òÚûÚí6 ÀX+·ùÐM›ÍŠñ„JGßRáÙbOþŸFÚmÍ¿yUb|¤vÓ'ÀwŽ9è×TLƉìK p{í ryßÔŸŽâiªÖQÓ™'¥õê—wï^¿Z¹xF'ˆÑWj­¬aýM±ÎÛTM¢æÍ¯,ßl`në¯ÙMTâ¾ØÕÆ¡5Ø íiSWT&œÄ¬þ0ºL¯tAM'?„$žñ;>#D” <¸øŠûºy&aÆrk'-¢” SÖ×í}Ê’/ÄG;ð´Ïón¼½Ò³ñÕ#§(‡Ù¤‰9•Îp6Öv²ÆŸ1FäÞl ÇAüÚ{fî?…‹zÜ}0šYepóÊø‰>1“b’Л¤ôvRxÆõÓž7 ‰Éù†6WlÉNÛÖ%f¨ÏƒÞLÎ=ƒj5¼/}‚ÍNsò›]yÖd²ö†ªëLÊÄ\ð2;²üƒZ$Àk^šf ÒÒŒSCRH;RóßRñZ—ì«Õ"¡­"73x‡fþ. Æ¡-µUçÂtiõºiÁ`ë´‘=aê–î2Å“3mcfבR .0–%OÒ©)µ‹uG/§{ÿ ä²õèUìtÕ}¹9ż„8_p¼ÝÂUbò@çý ›æ z[Ÿ§ýÌ"ô©ÌË2S|%û‰šGŒ7%ý3œäÅ Sß·1³7Þ70Ýÿ„iëÕcœü’èɹ_ÿ%Ò=ÞÜlãý:`öÊžþ˾…(“%1‹§öΖ…{Ý©ðAK>J‘A6ƶţ☠hÑëÕâoøù/êÇã”endstream endobj 155 0 obj 2630 endobj 159 0 obj <> stream xœ¥XÛŽÛÈ}×W4öÅT0êa³y5‚ Y#À&q6›íÓØ08TkÄ5Å–y‘fò þèœên^d[3³0°)²»«êÔ©SE~b>̧?÷±_\ÿš°ûvá³ûŧ…0™û¯Ø³×XÒõva÷–,É$O3¶Þ/D’ò4‰Øú´¸õо©ÞyâÝ’½ÁÕr„ÏÒÈûw^÷yÅÆÇË÷ëâàÌŒW2fë ŽhËÿ©½¤¡Þ©®t¾qO`ϧå¾5»Þ)Öéò½îëŽé-»{ìT˺]Þ±“jÑAäNSþ…+œ¸1OéTëÃNaa³\ÿþ »O™ÄE·sö¸ï'r4Êì‘í“ÆÍR$„@ì©O½j» ¼(ôVá~Y·~Z¯a=“ÛàžÀ ?ð¿‰Á‹LÛï˦ñA© %]øó½-<Ž ÙŒùœŽ]͸U,ɳ(ν£¢‡>=ÈxË!wM~Îf°nGÙ^åmßàÖV7¶Bï•êÌ6r-ˆ"žŠ {ЉqKÜw A½ *Õ …®ŸDÃñò>h%/að “Ï@`°&þ@ìvgc8ƲD$¼­>ÇWM¹}$Ƨžjûê×}žÅñTðY;”ÛÍÍ[x„ Õtåç"‡¿Ç¥  3²@·J];nÚ$Jé‡Óé–Xy;x‹‡¤nmn݆yro=2ïL%rnê>Û›8²í‹Bµí¶¯8{çýmCz€šL¸_¾RÄsJtå^}È[«¢ûŠƒ?ÜG†^Ц+2aÒâºC½êlÛè½­íò¦c(ݲ@¼¾¹ùéZus¶®wy½Y‘E²ñéÝå—¯7t)(b¨,Õ¡¨LÌž¶i4ä ü3¹6ÉÛkdh§ÛÎÀD <Û¼ !$L Ò%„\Še*¿Ÿõ›_\°Òܲ¸2;-ÖBxÔ;ÕshôÃ#šáÉP=’Ñy˜Ïç¼Î÷ª‚KýárΓ(šuÁ?Ù bÒÕ±¬ïiõue¼ô—_].jãñÁ–q× f¶PˆK:îó´ùŽ\|®°ÍYÓ€'H¬0º\Åü{|äwºïl»e£#AºBÖìN-EH¹ ½û²æl½+[øUTý’—WrªV£]à³G}àI½aµ²ªd\FÁàF`g#ï^w¥‘×sj̵²>¹=g]£€ 4; ø²è«ÜªÓ…Æ Õ‚Zeíä?0å(qÎ þz&þéP¡Õј‰÷ AˆÉðËœRJA‰H`K9ûQ\Vê zQrQ#„iCçâ8M¨îa„Ü’ÓVÀ•ž ǧñPmTŒW”•1)”‹ñÇ‚eScT1òÂéó¬, ¿H{lÈðÈ2_pa0FN²vçF» ôNíy‹´»±@-É vy¸ÔŽ‹Þ¶&X6˜ìÑØJ8¦«¢É¹€0Æb5<(eÀ%”ò‰áÂgB+ô¢°„iü]Âò¹AÝÑ@84B4â³rÄ~[1ÜuÞ»©¤JÅyõ9}9Ot^µ¶B xÆ Õ!SÒö ð8ª¸ž1«²ÓÍ?šyEÖ)'ì4^<9©‡Ì|©ß¤ÂÙ¨ü5ŽF È"FƒŠiŒUvz¨r;€ è³S‰ç€hS¶«±á@˜óGø*»ÛcEi¶Šnxõ„h{ø>¨í–(6Œ‘DÏPò$β¯ÇÈ)HŒ}Sç§±HLdùí׷Ü… Ë"Pâ·+vp•rÛ²=uK±Ð|€+·ìQ÷¯Îë(ˆÁ‘À¤u'r‹u£c¿ÂÑc¸cVèjcgÚN;é‡teb¬˜­®*ódšfb™¥ÃT_M§Ó‚i„ñ´ð^Oot¦ ý˜‹p†î?h6EŒú`2Š«¾­:Ù3ŒìÑó»åŽ!Œ22]O¤ ƒ2áQ8ñÕÃ[­Ì0Âþ|;ô×××ïo±­y}ÈÛÖ aºÙüõ½YG3Ìíëƒnº÷1©£ÎÜz¿µ®Ò = ™-Ë8òlC BšÁ~™Žì·ÖÛ®¡£ÈkòyÜoÈ›³™g$蟨*Í¢í# ½SM ØÁæ:‰ ³4x!œA0ã0å.uÒ‘¨ƒSÆŸÁ¢K ”!ušï¹pïYq«‹mß®Üe>]Gä2„ÛþØÑ/¸îÞ"fXìæ?oþuƒ×˜“h"É4¯ßÒt2Í@Ÿ§uX=ùÛõ?ë1ŒÑ+¶ëº¹a5º'šv¤K×(µö‹¥§T¦Ç¸l¹û‘`® î=à”ÏÞð ûnäñÚ|žðE¸;Ìõ¦.žØ–…áƒË §¬ˆ?CõÀØgu¿¿ƒâ£‚jÝMÄq5æä2 ëÀé~o…ñ ?õ Ž7ÇÍ©>õœZQÈÓ8|ÁÇ„¦¤æ¤Ì  ï¡l;"¹ª—’Ô/‰½cÙèzO_aŽfr eySæwÕð±¤UÝ,øŒÄsfh”UCÉ%}$ƒf‚ÇY2x¼¥”<Ê2¯çÐ, yC^êã,†a&)í*S̈™üâÍvæµ›×ä¯ 2wµoÛ¸%fYÐЫÇÜ=Ý ÇpøþÕgº(ü„xV ä|¨’‹­ÐÀœX½±< 1€,¡‰AœòÈ“>ûYÏ$.ä¨ÂÁ7”_dÔbì ‚÷#&-úûzñ_üý­Ðendstream endobj 160 0 obj 2059 endobj 164 0 obj <> stream xœÅXÛŽÛÈ}×WôËÂT"¶Ù¼3XqÖãx‚±=ËÞ5(Y/—O&>É|³ ˆ SSíi#”@ÐVõ=( ¨R\Ý "Hxb_1OÕ§îoÔôü|”øèç¢Ýï±?ÓË b³Áƒ@“ʵCL…;Յê©àÇ~h÷ÌÆØËa×*Rò촓 £¨Ç¦*@5è;Šô°ÝîV­–ÆØS`‡QvË(ÒC¢árí #щ@ÏuÒØ7²˜#€"÷ƒÌ¡[µ¼y¥Å¿»SÕ›—®Ó®B——r«AˆÁ¨¾í4¨Nsòc= Ñ´öØwF´<´½õ·³õõ’³+Ztܰ€ÔþUÔË cX ]÷ª‡´f!D`çß SñîPçflÎ~¬ø>/ËŠ~AXqíçcJ¡dƒOo:^²Ëwkµê󳋳õÙŠm–ÂLÌqšu®J»s}S¡âuõIUÊ©å!N¡@¦å¯cŠ„{7>Ø<×ÈÍä¨fl U·“Ü¿õÜh –£ívŒóPx"¶éý9DR—W À„‡Ó‡o._œ¿~¾Ò劌òãüòæòÃLaÀ A:f½ze²Ñ9Ãã¤SÌ÷sa fZâœM‰ž`­tÀzßvRÏ#:Çð™Q 4˜vNÎk˜Pó½"å²mžèµâD­–`|'h‡fZÍш¹"Ò‘b8#7Õ·Ê@w>*´¦¥”ÕË)¦¸B+ÿgÏž¯Øå›·ºk¨{Æ–" ‚À8™$q®¬QòÕeÏâu;š8Mnö÷Orqš¹·rCâïÜçÎm´’'ð0ñ€0Ô†ö3j@z]Ø›H!±EýÈ0ËDÏmƒb@ ›©’DöD!Dra9"ÔÞî£RwC<Óø´ 9ê*µMÊkÈ«z‡„‚dŒ´Ûh‘ŠmQÜÈ5gÆp¦<žúõû†3óLV Ž·­"è+9χ¾îµ5iVcÑKY6û^c’CAÁíûü“¢Gz*úöü0æ7OCÓ‘åd/ÑEÚH¸¿éŸeÝC^À£4|$Äýq«5< œ/,ç F¬:H¿‘r”2}Ú¼®O Ÿ}Ûæî9Éß­½¡µx¡7c§ODÔŽS«Dé(BFPŒ!#${9h¹ÃæHÁñggÅ´ê˜ èê¾àñÔ²­¦…ÅÔ ¡tÚ™M›šaÜÛ…á»4 ŒM¹nÝjáy´c¼$’QèÂ8ÑXï©sÂ Þ ²!gÓÆºRLÍV˜­õh\ÕØ ,eýxF¡ÐBp„t(æœ%ÒdŸX#ªFí±žçE©"Ÿ¦Oè_/~lÓÚiÚï!úfÎj%æÍUÄÕW{œW`2B-vÚd1½v^|Çáà÷‘ELÍ,ÅÅ98QAP¶Tÿ/(P]/ªÀÇK qàÖÿeš}¥þê•=+õô†á÷[j¾ö8ŽŠ¨sjÄÕƒ ²†ÕTƒŠ>tÛ^P×bÖò2rÂKkMÈ™}¼a ¹IÀ2 e]mTm b2Í™>žÁPJr­ÇN_Ÿý•ˆ2ž–V쌉/ÒñŒ¾Ó‡\ìE¥=Jë]yÃÛ®º©NÛ2©øæ˜…ièWŠW•GÖþ5¤ã(Ù†ˆÚà›k£yÃ6ôyc§n}€†¹€‰8¨é¬_ª·;Üä×™îÑÿR&¼H"&îB—ysv®O+T˜þã°ŸlC<àæ¬Gb,Ò âgB~År]7ã²\»ª­ßifZáˆFùÓnªk¨¯ÔÍN´Í&ú=×Om÷Îok²&ã ®Üï §‹ã,]šö3ý_?Õ1$›_l™# ɺ´hêô@ ×úÞ$3ûNßèsëIÙ«\]j`©ì?°Í=`¡›DŒ8*Z²ò¨¯RØ,!<®ÚRq©lªŸeܳz…\£²$Ïâ‘©ôn$™ãMK—}ªž³ð†dL|H*Ù?.$jYC@ƒkÙ÷£¯xìm˜“xÔÿ>U‡û”›£+*LVpT_9_jö®c¨ËÏ-±ôUDZÍË·zð1Ia8rR¢'쪚ø(QïS}íÄŸfv âþÈmÓ(k!‡ÂL‚¾[¤k¦œ¥NÏæêª>¼U„—²Ýý·.ÿTÚ*ºn¡—RU{>„.!:zØvÐ<óÿÏBéABâŒÇš&é²Rë-¡,¤à‘xìuk<™öÿÆDüù‰Ïü*2º ×Ú&azél½øþü «¤endstream endobj 165 0 obj 2654 endobj 169 0 obj <> stream xœÍX]oÛÈ}ׯ˜îËR…9á𛋠€·Ùd³u¼n¤XØEA‘#‰ E*ÒŽûò£÷Ü™!E+n}+ŒØgæÎý8çÜË|bÌ£û·8,^|HØN-<¶[|Z½ÈìŸâÀ¾_cCJÖÛ…9#Xâ³$ xš±õa!’”§IÄÖ‹[§ºúÎwKö|Zº~˜ñ,œ÷y3ä5›–—ÿ\ÿ´bæâߺ\8î/Ëõ¿>‡™b‘q?öDŒ«héÂ¥%Rž—šnt\u”²tëêPõì¥þòŠö‹”‡^–2Wøz3üиønËrV¶K?äY ç¡©Û¼d•bª6OÓ$udÇú}ÞàVv•vØEÚ´‡" xXGœ{I7Ü£+´ûi–†v±Q“ûBðL„Â.«ìΩ¶yì¥bGܨdÑ6%²·mñEGÖWiŸ+†w²×]ÃÕП"ÔéÈ7m×Ë’ÏSd²gU¿§ƒ/>o¬'¢ ëûhV§b{(C–ÙÕ¼Ñ) ÈOƒ„9ÂGÏö¹‚/²a‡¶¬¾ ÒMБ„œyà~‰Áp]öpúp<žEÁª)•ƒBº` %…œÑ7ù fÏ#Ét _9º‘™‚ÅÙþމ" eñT%2#´SæXQ‡åP€оÕN1ÕwU³SäÐRǬ9ë—S¶R5ßšø“,Öɉy˜zc˜ýáȃ(²Pܧíö¾Ø#Omd< ãÑÆc5'_”ľY¸Eve×`Èð^©}þq‰T{ృD!aºÐMnލÀÓ¾%êâêT¹F:nD"õQìôŒ˜wÎ’LÔîÚÓ cU£z™ƒ­+I…çô Sî‹ÑcÒÎí–ZOƒÈ‘=ÝxçVLOÄ….Ä›"= JÇ|ÏIT&œ ÉJÙçU­¸qß>'ï ¡=h{`„sÕç‰{N¦,Y"!uÍÕÒæ"Zd뀴jzñÀàœ ÒdtPVË<ßé;½SÌG%’hÔXË< Ô»²é xImêrF:ÈOUpΈÁ8µKÄSû™Ó°ßÜtmßm­¾ûÂ,™…y0<Ž Ç@;yÔÝ R¥†#}6IF£ ¢)½ ]÷ü½odÞPÀéZä:‰xOý*0ý n¢lkÏ<çD»ÕÝ7ŽxøÛÊζ¹ ¶A42œ_Zòû‘U©dÂí}>c¿˜±¿ª)Û†^˜I’ó~59hÁôñ‰˜rº¹¦+ðÓÁxÝ/íŒAè¸BLäP<™ƒƒ,&K6#“#Š*e`eÜ‹4‹¦Áîc· —®HâÄù+>ꆀáL¹¦x¤ZT>gµº‚£ohd¡~ ç ù‰ ûãOëÁœzœ¹7BkìÛAÍ0”cxš®¼ÀGF£qquA>á÷ÍÏ7ÁJ3IµVÐí#!žÓ8 w@ãW¼A Ïs.‡¾%Í( ŽЩßiíWp3œ~Ê@ßOx’üq›ë~œóÒ±µþ*µº·F0/æe¹^_½_ºTúÄòRÐÀß|lSgÅYÿ’(7KAãL(œa7Nà¶I’Œ¤ÇiM’?4‰‘1ö0r¨józÃȤo'¸ag{¸ eæ@ã®ìº¶Ó{H¸Ü¾Ë‹˜Uu[ ÷}-°ä¹ZZ»"Ê`wGd_pö†) rË3ñjýQ®[¼ø¡lMýø'£}Hn2üs©›bÿúzõ´Ý N2òô4Ez×6„W=¼m­!/¼J¤£0™M2ú »üOÇ"¬Úa¿Äˆ`´¦æªqë Jç¦Ò}ƒÚOáæ¤"­ùÖï;Ì»€êÌtÇ6¨z fîR=×—W7×?¼ýùlÔ0ÿ;ÒΉuë\åÝR¤ÎN‚+gï|s¨Yã.oÔVh‹ÉÖL»0|›ÚqÎûý31Ü:ï^_C·R?xî,2R«_J(Ìf%_5º6+“ü¾]­ÜË›wFÝÆ„؇Ϥ@`Zqc;¯Ðÿ˰Ó ÷àOìÇ)¼Ö_á°âàøL3¤ÿÌ þ A™‰¹—múa½ø~~äÑ"¢endstream endobj 170 0 obj 2056 endobj 174 0 obj <> stream xœÍX[oÛÈ~ׯ˜· q̹ð,HõÖUæYÈÁ‚¦FŠTHÊN^ú ò£{Î ‡¤§M ,mÍ̹Ÿï|G‰Oññ_ÿ3ßÍΖyhg>y˜}œ1}HúùŽü%… 1~nfæ #'Q"hœt7cQLã( éÓlå䇦¼sØK^Ão®ÇeB“8p®²ê•d8vß§¿Î@Œ'B’®A¹~}{»¸p=$‰þ•-iû}ÝtjMõÒ˜¤—3'½¼õn— ÷Å $xŒ£°\;çVE–jWwŠ,\8YÛ>¹Ì§>“¡S7k00;t[UuEžuE]é"›º-·F§§5hŨã¯iºà®ú¾þõŒÛwd›µä^©ŠÜ»¼Wu(ÊÎ+*#ȹR]VÕ‡#«}ðÈøŸnÁ Œ‘Ùûܺ¯»-yDoTӢɂdÕšH8Z¾}M‚8wî;'OÛ"ß’µjó¦¸W-ÙMS7­ ÇðùTÈu¦?­¦oUK]/’&~ IžŠ²$‡VY :.#'4fÊ\p²¢¬ÝôŸ3ê *!Ÿ18 úÃG…GœÆ¨2Ÿ%”ÇI,ÍáÊi —Ǩ“;›N‹öµ€ˆ&,î%l¤3ƒÿʘqç´ð )$_JEÀ®V5¨ˆ!FÛ%N¹CÌÑw§ª;ÈWQ=¬7žk㥄»‰Uþ¨}c:MwŠ2»/ÕKñül™@“Ð$À>jaTбjœ·—ç·æóûn ÆÒý×Ř7®ˆ téä:có‰pzýÚ˜z';”ÉëêËÆb‘PýÛAWÂi2ºäýmNíò¾½g6©ŒW——'åÓ‡‡Iò'•‡Þ @ÄÿXÝņTõaÏd/'€=W÷×7§Î±ïuîçÑ9dCìóz·Ë¼Ví³&CYmGê AOÛ_Œ’†¨d,ú€éÚ›Þ% kkjµÝÖ‡r]½Ð8¼Š™ôŪÀ¢i÷à °„)¬'ì‰3‡,²ô©©@—*+‰k¼òi1 ·Ÿ÷Ó´áó9†òè³p@é•C/ŒIìlÚ }KÀJ‘Øyâ[pJ •µjŠöyñÓ =T$’CÌWμèUN·›øÈ)“ÒÚŸu9X’•eÏ÷"  CA9:Ïð\A†º‹BÄ}îyB`ÔHX¬úßýSÁ“>JBHË—7–‚›·aÙ¢Jo¦Eò ?0Èôúæ’,–ço/ÞYiç¥'¡m#>’Zù¬‡Ñøˆ;\€äpnMØFóiwu Žî]öùˆ]=°oŒ ‹LèË'M ðÒøK ‰¬`ƒ²<ÆÐ ɉ |Ñdz'GDܘa™¸ Ê cV¶§>ŠcVíÇÌ7÷¡‰d½9Ùr¯„?¡`ͰƒY'$ÐcR§eìJc}†æŸºÂþìû~Pûƒï4û£Úï!´ãÔì9ZãøØ—ów)y}óæJ§›i›iÿµCFî]–˜î:T0­×…ù"$I7ŒK|m&ÝÞ‚;ú ØÍר¬À1!@þÝ4ªÝ×Õ¡Éܱßfvö#g°¯f°„À4¶X]'Ø’­qû_¸0µ”¼2yè ØÓjA˧N«ƒXÊŒˆß§¢³Æ5êåH•¤ }Žñk<¸1ºGH5 á“k³w÷,‰ øE _øðgØ&Œoà¾úkBt!ñÒy:û;üû7 Nt endstream endobj 175 0 obj 2040 endobj 179 0 obj <> stream xœÅYËrܺÝÏWàÞ9) L€ïUJqìŠSº±#1ÎB΂Cb4Œ9Ĉ++ßàN7$虉•¤R)—Ë2I4ºNŸî†‰Oññù·<¬^ß&ä¡_ùäaõ¸bê%1ÿ”ò»>HñA¾[é5Œ$œ$Y@ÓŒä‡KRš&ÉŸV÷^9vÍg}^“7ðÓzÃÃŒfiäýR´cÑéõúoùWAL6ð7¯`sµš­7ó}ï/m?²DEŽd)Jò}Ý“íšûÔ÷“Àë¦"r§l’}Ñ“V³ŒìdGü|Z­6d1MI~³òøúÕj€×%ºá£Þ»bÿ})WM#ó´nÀ‹A’º­‡ºhꊟm¿Ùh›xXïooÈ¡hÀ‡ƒ¨ÐmAúçv(¾’§µB#ˆ<åî@JÙu¢´w^^qšúÁ«ëÝä hL¿ði€_>­ÅLè÷ÎælNkŒz[·EçÖÿ „°&^̽˜xqæey>^w-N]Ñö;8ÙƒöRÉ–ñ$޼©˜A7çdšÇÒóÕìã¹j½öëä[ýã‡R PŒ3â Ï—%ÕºÔMÕô¤ä±ìå˜WÆW²M>-úˆÕ¶‘EõÚŽÓ~"‰Tßð‚Žâ›ÛÝúñ\\q¥,ß¾ÍoÉgJP_j(K0´•òp(ÚŠìTÍaaìØ8¸G¼È<î û㈭ à';“ Û¼~œÓÌ°Ž©åÖƒNÀLÓB=SöÈ®“‡s kÔFK°é;Gæqî–vF“DÏLÈÁãcLÔÏÒŒKèiÿgÓ Q õèU0ã|ÞX <¶wÛɱUSÔ¨"tÀOõ°Ç€uòƒ-¨Óv„ðçôÇ¥¬tÉuû@BßG«ÅV.Ûò ÅŸ~H›K=™‡Ã´vUï&UBô›ÔjD}}Ë|{QÀšÚìÜì\1ZÍšyµqÄXâ§Ó ž6:]>hé²­jOÆ™©¦¨’h!ŽÜ–ä¿võ9R¦þ Ç×^8™ìŽ1¸«êYUÖÈR+Qÿ $99é¾ožX@,"‰^.9wöÌÓi’˜´"ÿàÎxÁþ­£!MœÙ…3?SŒM{‹éx—¯YŠó>Üy]7WêpÔ5 º=QÖ€ž6Hè×ÓåyÅ&Ê[QT§Ç…À©-ôÓ’]-Gä©ÚLMé8ôš$)(Cè/wµ%ôèʦ­nѨe ò•Oâ5ß4pç´Õ2R4xÌêÆ^Ÿ Ž.$õ)Z4<µ>Xð^yÈÑ ”ýQ”õ7„žnà1Þ×ÔP1—Ij"Ð#‡ìTð¦ÕƒQ®ªÑjÿÝXà¯_9#OjyÂãúøáV‰&eøê,hg6+òËø0å³ -­:^å¼cI]jÅ&ƒØÂ™/n`â,°xNU«sĸ5ù'N@YqjšÁðrJ€Ù»¿Áì«níÆâN&•»°±Ù÷ÊhJJ£…âÞCï÷ ¢[Ì ÌØãh©&W-uÝBšÕOf r.(¼€- à¼#6!õÅ@¶8ˆ¦þut©Ÿ‚Z˜=ô»|±4±M¢3ʧ†Ùì¹ÜkN /â‚ùHAví[£À*Éa ð3ayÎ)K¦;/ –IEm`[•µNõˆ'2Àü„N—{—K•0ë6®þ SðRÃÑÐt±”pËÙ}1—P:yº¸è ]_ؽŸq€°¾ÌÝ{0Ñw-”4²±ªñ Z+Ú.ÖlƬˆø™¾Pœ=²Eâîîfº½9ãSŠýô n_Ð ôéU¿/¾ »ÏêØr b§NmAÄ+¹æ¦9{Rm­aÉ7„Á48½¿y{¶¤f‹ aàÙ‡˜ÔtñN QbµJakÇ J>ŠîP÷=Êðoµ[¨K¶¬F­7¿_™®¶×j U— u ¯BŸâçz«SUƒù”ð)ÈÎí¾rr®¸"œzú±-•ñ©_¥äZ•6õ+åŠæ%ÜÙOn)õÊÙ<7æ¯ÍÁmŸ!ĦÙå°ßbSÙÔ¦Ž²©ô­¶Q[+ïSÜtØ2Zã¨.$ŠÎ­^p…FPî z¸‡Ì®´×´ÄüLDzˆ†±–gˆ“@–ÁGoóÕŸáÏ?1#endstream endobj 180 0 obj 2518 endobj 184 0 obj <> stream xœ­WÛRÜF}߯˜õÃŒfiä¼/øX4dz½þ=ÿyÄä~ó .—»ÃvÄ®ë¼ã60!:!û®(WiJÃÔÅ@`›C϶ëü3n/W^JÝH}~팼ꎓãÚs©ë&Sô¤,š†UäX{RÛ¢"‡B-ƒ»ÖQäPyÏ©çÆ4 È©ÓTFvXÛ5¦zpdÉž˜ù4õ\ °·Œ§7×Εõ#„Óî«ùŽÔÓé™§òô²›Šðn ·ŒŒ=«LŒžGCŽÑ ¼æÔÅKV]Ÿwø±Ž æÈºv,¢þŒiÁ­=¼dõ«1﫳çÚaU-X9ô”ü¶gœl»¦éÖ~¤ ?bvÂ,9‘, ûz Þ‘¶øZ·cKжù óK=š`¨vR]„Oü ï䲨§Yœe*`t œ#'ÝAV¿7iê[¼—’|_÷€uU—ÅÀzˆ¡ÈC7zˆqdµ¨Ì°S†+—1ý viœ¥-YßÓ Mh§°?ñÙÑ'ªSôý¤à`ñ€j’+,eò:2^¤ŸéôßͶ-&ÅΨN­¿Xåß_;‘§wäpð1ñ¦iR7˜²è7sa=šM2Ú\’‰¡~D¬H'Èf󖼑G¾câ €²K‰!U?þbªP²ÔN#ò­ z&î×^(Õä0Aªºâ‹ =x`¸<Ìä“Bòâ‰|‡æpUGE¡ó0ìq'丯Ë=Ù3Á”¼ìx_WðÔ˜kÝFÈÐ,¤IñGÚ âá•d|Ws&SÝgµ&%ä¡^}^p|ÝCyžn˜*¶•¨yaìc£iïDÑúŠØ‹*~SL™g4ŠS£™õ ˜ ò&`!œN|!U1:£0 ³OD±ö‰o½bDð80¶dµ´eνu£*ý?_ Èõ^Šî¶a­2a¤|Ó•Ø&–YhÊŸ£ .™ /FÛ”f#»vz6;€,C}Ø/¬;®·]((Æ&©J >\Œ7¤èn‚ŽäGè<çgÖ¦~N&ö&û,»¯ÿ@ ‹‚÷[¸ˆñ²Ã:Zü©é¨`!7™zÐlr^çÞ.œ7{õµÓÔ¹xµ]U³³KòéêB'ÔóÀ9íăÉ`”!?6DIØÚ‹U¿–ŒUÌ"|lÅîFÖ#oòK vÃLØŠjžm53Q³¿í1ÍÖ’y4ËÜ)ïTÒ× C,£7-z£õ€ÔBBsïFh<=ÁǵbwM°%UÊÓ­†«.JŒãoW¢"è»æõPM ¼C^K¹«ˆŸ"N,#„Î.‡IäDv¡£œ0¢ YU'h»}ÝÖM!ÈüF{mQ–ì0HK«T£ÚÎKL\M‡Ã…U5#Æ7°bö1lT9–Où²nÞL»$t¤¡½Iî<³Îâ|3. àR’ ‘ó@¨4é>Qäµ#d}Ÿ LË.]tÌ$þ¿.6÷êY¾7R6&ðäæä¹ƒÀC@UjƒÈŰ)ÔÃÙõn?ô/¦–DÁAºQ”ø¥»ié¡ l•TS‚d[±‚ÖaF1gœŒ|jKr !] ÒÅÁ¤Åë[`¿”–ö¤ÔýÏÓˆ¿ßƒ¸*Óž PÎÊyp|jP©ow_™[ÓÁ°zÙBk8!R÷,Ä<àXZ °EU)têeÔµ1M§ox}?"5ö¬üòWjýË¡UÔ×åÕëj[ô@œ«Ô)4=RÅ Ì®,Áû¶Il.ÄÄ XÒù†Ý>¶·L¨A? ÕòÓÈ¥¡B ¿éBœØh× ¤A#'pɇΞXüÓ2î};ý©—E4Œå7iú- ä°ö:_ý ?2R@=endstream endobj 185 0 obj 1685 endobj 189 0 obj <> stream xœ…U]s›8}çWÜG؉B|H}K»ÙiwÓ¤5tÒ™´2–m6qúú£{%°!ÙÙéxlcéÞ£sνW~„€PÌkü.öŽ¿LaÛ9lG‡ÚM¿Š=¼Í1€›…|ã 9ÒRÁïšrÂÓò£sï}[}sé7Þá“·#Aݲîeçmï{þ·ÃXà;_;.O¼ü_güY˜À./s³˜5Ê:læ47ûôöe·—ºØA³Lu]ÙÔða­j]þTmgA#>d.hB¸É¾wyŠÔ’ pûZ®*ºƒl;åŸà'.Te§-Ç!çÚÉÿÀ,>f™¨b××PȪZÉâZuhZ­Ö Ú¶imªMcÊMESתІ¡´(7Œ­¶€šŸäY³@₟6ÊÊp½½SÐReUÁJÁc¯zµ¶r) HÌæjE0’Ȳk8ô«ª,àáÄ€Z=bgw ³þª°žüOHŠdæþ7ªƒºÑ` €Ò% \O'  ¡ ɈÀgØEÈ¢Wt¿~Eº4NÜM«?Ñ»5fÕÊÃAÉv 7Ë6½îñ©U•’è íQˆaê>c!Ëz Mù÷JÖÚ¼V/-`œN Ÿ”a’x(C8+C[Lž`!Ƭ·ŠŒªãˆ›)pvˆˆÍø,"–šNZÝË/VŒX,°îÝüýí2ÞÝÞäËo= XÄÜ/¹GS”S¬‚i>À¤,1f†þOY—ª‚L«z¥Ú™¢X ç§rß»ÛÒ³ƒ*˜;¶ý@I(>‰Cç$Ú-{½k^Cû½XÍš—Ÿð{m›ö¸kÆÑ2ÓŠã ÛråQ1Tª×MÛAÙÁ¦éëµ)íÐè8˜R+Èß_Þü“™á$£ê¹³”G„ͽ»»3L&oÌe3Ú²ÓúðÆ÷ÍeDvòù™tjˆ#Úøüÿ¢m,~’®¯•F0'À?~¯ËªÔ¥êìYþoÉ®®àò:»Âþ{ÒKx'†ôÜöb½x™àI„cÄq«ô+s=Ÿ«7\ͦÑNn:/Ïè4—æF‡”D؉²Nb—pÓØ‚Œý2|`§¶y çø¸JEL¢Äþc¸€¥&è*w>ãëOس endstream endobj 190 0 obj 873 endobj 4 0 obj <> /Contents 5 0 R >> endobj 13 0 obj <> /Contents 14 0 R >> endobj 18 0 obj <> /Contents 19 0 R >> endobj 23 0 obj <> /Contents 24 0 R >> endobj 28 0 obj <> /Contents 29 0 R >> endobj 33 0 obj <> /Contents 34 0 R >> endobj 38 0 obj <> /Contents 39 0 R >> endobj 43 0 obj <> /Contents 44 0 R >> endobj 48 0 obj <> /Contents 49 0 R >> endobj 53 0 obj <> /Contents 54 0 R >> endobj 58 0 obj <> /Contents 59 0 R >> endobj 63 0 obj <> /Contents 64 0 R >> endobj 68 0 obj <> /Contents 69 0 R >> endobj 73 0 obj <> /Contents 74 0 R >> endobj 78 0 obj <> /Contents 79 0 R >> endobj 83 0 obj <> /Contents 84 0 R >> endobj 88 0 obj <> /Contents 89 0 R >> endobj 93 0 obj <> /Contents 94 0 R >> endobj 98 0 obj <> /Contents 99 0 R >> endobj 103 0 obj <> /Contents 104 0 R >> endobj 108 0 obj <> /Contents 109 0 R >> endobj 113 0 obj <> /Contents 114 0 R >> endobj 118 0 obj <> /Contents 119 0 R >> endobj 123 0 obj <> /Contents 124 0 R >> endobj 128 0 obj <> /Contents 129 0 R >> endobj 133 0 obj <> /Contents 134 0 R >> endobj 138 0 obj <> /Contents 139 0 R >> endobj 143 0 obj <> /Contents 144 0 R >> endobj 148 0 obj <> /Contents 149 0 R >> endobj 153 0 obj <> /Contents 154 0 R >> endobj 158 0 obj <> /Contents 159 0 R >> endobj 163 0 obj <> /Contents 164 0 R >> endobj 168 0 obj <> /Contents 169 0 R >> endobj 173 0 obj <> /Contents 174 0 R >> endobj 178 0 obj <> /Contents 179 0 R >> endobj 183 0 obj <> /Contents 184 0 R >> endobj 188 0 obj <> /Contents 189 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 13 0 R 18 0 R 23 0 R 28 0 R 33 0 R 38 0 R 43 0 R 48 0 R 53 0 R 58 0 R 63 0 R 68 0 R 73 0 R 78 0 R 83 0 R 88 0 R 93 0 R 98 0 R 103 0 R 108 0 R 113 0 R 118 0 R 123 0 R 128 0 R 133 0 R 138 0 R 143 0 R 148 0 R 153 0 R 158 0 R 163 0 R 168 0 R 173 0 R 178 0 R 183 0 R 188 0 R ] /Count 37 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 11 0 obj <> endobj 12 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <> endobj 21 0 obj <> endobj 22 0 obj <> endobj 26 0 obj <> endobj 27 0 obj <> endobj 31 0 obj <> endobj 32 0 obj <> endobj 36 0 obj <> endobj 37 0 obj <> endobj 41 0 obj <> endobj 42 0 obj <> endobj 46 0 obj <> endobj 47 0 obj <> endobj 51 0 obj <> endobj 52 0 obj <> endobj 56 0 obj <> endobj 57 0 obj <> endobj 61 0 obj <> endobj 62 0 obj <> endobj 66 0 obj <> endobj 67 0 obj <> endobj 71 0 obj <> endobj 72 0 obj <> endobj 76 0 obj <> endobj 77 0 obj <> endobj 81 0 obj <> endobj 82 0 obj <> endobj 86 0 obj <> endobj 87 0 obj <> endobj 91 0 obj <> endobj 92 0 obj <> endobj 96 0 obj <> endobj 97 0 obj <> endobj 101 0 obj <> endobj 102 0 obj <> endobj 106 0 obj <> endobj 107 0 obj <> endobj 111 0 obj <> endobj 112 0 obj <> endobj 116 0 obj <> endobj 117 0 obj <> endobj 121 0 obj <> endobj 122 0 obj <> endobj 126 0 obj <> endobj 127 0 obj <> endobj 131 0 obj <> endobj 132 0 obj <> endobj 136 0 obj <> endobj 137 0 obj <> endobj 141 0 obj <> endobj 142 0 obj <> endobj 146 0 obj <> endobj 147 0 obj <> endobj 151 0 obj <> endobj 152 0 obj <> endobj 156 0 obj <> endobj 157 0 obj <> endobj 161 0 obj <> endobj 162 0 obj <> endobj 166 0 obj <> endobj 167 0 obj <> endobj 171 0 obj <> endobj 172 0 obj <> endobj 176 0 obj <> endobj 177 0 obj <> endobj 181 0 obj <> endobj 182 0 obj <> endobj 186 0 obj <> endobj 187 0 obj <> endobj 191 0 obj <> endobj 192 0 obj <> endobj 10 0 obj <> endobj 193 0 obj <> endobj 9 0 obj <> endobj 194 0 obj <> endobj 8 0 obj <> endobj 195 0 obj <> endobj 196 0 obj <>stream 2016-01-27T08:26:06+01:00 2016-01-27T08:26:06+01:00 groff version 1.22.3 Untitled endstream endobj 2 0 obj <>endobj xref 0 197 0000000000 65535 f 0000101927 00000 n 0000106705 00000 n 0000101597 00000 n 0000095531 00000 n 0000000015 00000 n 0000002415 00000 n 0000101993 00000 n 0000105108 00000 n 0000104969 00000 n 0000104817 00000 n 0000102034 00000 n 0000102064 00000 n 0000095691 00000 n 0000002435 00000 n 0000005224 00000 n 0000102114 00000 n 0000102144 00000 n 0000095853 00000 n 0000005245 00000 n 0000007713 00000 n 0000102194 00000 n 0000102224 00000 n 0000096015 00000 n 0000007734 00000 n 0000010893 00000 n 0000102265 00000 n 0000102295 00000 n 0000096177 00000 n 0000010914 00000 n 0000013620 00000 n 0000102336 00000 n 0000102366 00000 n 0000096339 00000 n 0000013641 00000 n 0000016124 00000 n 0000102407 00000 n 0000102437 00000 n 0000096501 00000 n 0000016145 00000 n 0000019280 00000 n 0000102478 00000 n 0000102508 00000 n 0000096663 00000 n 0000019301 00000 n 0000022298 00000 n 0000102558 00000 n 0000102588 00000 n 0000096825 00000 n 0000022319 00000 n 0000025138 00000 n 0000102629 00000 n 0000102659 00000 n 0000096987 00000 n 0000025159 00000 n 0000027785 00000 n 0000102700 00000 n 0000102730 00000 n 0000097149 00000 n 0000027806 00000 n 0000030427 00000 n 0000102769 00000 n 0000102799 00000 n 0000097311 00000 n 0000030448 00000 n 0000033749 00000 n 0000102849 00000 n 0000102879 00000 n 0000097473 00000 n 0000033770 00000 n 0000036641 00000 n 0000102920 00000 n 0000102950 00000 n 0000097635 00000 n 0000036662 00000 n 0000039319 00000 n 0000103000 00000 n 0000103030 00000 n 0000097797 00000 n 0000039340 00000 n 0000042469 00000 n 0000103080 00000 n 0000103110 00000 n 0000097959 00000 n 0000042490 00000 n 0000045623 00000 n 0000103151 00000 n 0000103181 00000 n 0000098121 00000 n 0000045644 00000 n 0000047815 00000 n 0000103222 00000 n 0000103252 00000 n 0000098283 00000 n 0000047836 00000 n 0000050971 00000 n 0000103302 00000 n 0000103332 00000 n 0000098445 00000 n 0000050992 00000 n 0000053810 00000 n 0000103382 00000 n 0000103413 00000 n 0000098609 00000 n 0000053832 00000 n 0000056706 00000 n 0000103464 00000 n 0000103495 00000 n 0000098775 00000 n 0000056728 00000 n 0000058789 00000 n 0000103546 00000 n 0000103577 00000 n 0000098941 00000 n 0000058811 00000 n 0000060563 00000 n 0000103628 00000 n 0000103659 00000 n 0000099107 00000 n 0000060585 00000 n 0000063542 00000 n 0000103701 00000 n 0000103732 00000 n 0000099273 00000 n 0000063564 00000 n 0000066128 00000 n 0000103774 00000 n 0000103805 00000 n 0000099439 00000 n 0000066150 00000 n 0000069159 00000 n 0000103856 00000 n 0000103887 00000 n 0000099605 00000 n 0000069181 00000 n 0000071279 00000 n 0000103929 00000 n 0000103960 00000 n 0000099771 00000 n 0000071301 00000 n 0000073606 00000 n 0000104002 00000 n 0000104033 00000 n 0000099937 00000 n 0000073628 00000 n 0000075657 00000 n 0000104075 00000 n 0000104106 00000 n 0000100103 00000 n 0000075679 00000 n 0000078227 00000 n 0000104148 00000 n 0000104179 00000 n 0000100269 00000 n 0000078249 00000 n 0000080953 00000 n 0000104221 00000 n 0000104252 00000 n 0000100435 00000 n 0000080975 00000 n 0000083108 00000 n 0000104303 00000 n 0000104334 00000 n 0000100601 00000 n 0000083130 00000 n 0000085858 00000 n 0000104374 00000 n 0000104405 00000 n 0000100767 00000 n 0000085880 00000 n 0000088010 00000 n 0000104456 00000 n 0000104487 00000 n 0000100933 00000 n 0000088032 00000 n 0000090146 00000 n 0000104529 00000 n 0000104560 00000 n 0000101099 00000 n 0000090168 00000 n 0000092760 00000 n 0000104611 00000 n 0000104642 00000 n 0000101265 00000 n 0000092782 00000 n 0000094541 00000 n 0000104684 00000 n 0000104715 00000 n 0000101431 00000 n 0000094563 00000 n 0000095510 00000 n 0000104746 00000 n 0000104777 00000 n 0000104902 00000 n 0000105051 00000 n 0000105191 00000 n 0000105281 00000 n trailer << /Size 197 /Root 1 0 R /Info 2 0 R /ID [<8F5B5CF6941304B5C55115756502FC95><8F5B5CF6941304B5C55115756502FC95>] >> startxref 106859 %%EOF curl-7.47.0/docs/curl.10000644000175000017500000031254012634007340011462 00000000000000.\" ************************************************************************** .\" * _ _ ____ _ .\" * Project ___| | | | _ \| | .\" * / __| | | | |_) | | .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * .\" * Copyright (C) 1998 - 2015, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms .\" * are also available at http://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. .\" * .\" ************************************************************************** .\" .TH curl 1 "30 Nov 2014" "Curl 7.40.0" "Curl Manual" .SH NAME curl \- transfer a URL .SH SYNOPSIS .B curl [options] .I [URL...] .SH DESCRIPTION .B curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP). The command is designed to work without user interaction. curl offers a busload of useful tricks like proxy support, user authentication, FTP upload, HTTP post, SSL connections, cookies, file transfer resume, Metalink, and more. As you will see below, the number of features will make your head spin! curl is powered by libcurl for all transfer-related features. See \fIlibcurl(3)\fP for details. .SH URL The URL syntax is protocol-dependent. You'll find a detailed description in RFC 3986. You can specify multiple URLs or parts of URLs by writing part sets within braces as in: http://site.{one,two,three}.com or you can get sequences of alphanumeric series by using [] as in: ftp://ftp.numericals.com/file[1-100].txt ftp://ftp.numericals.com/file[001-100].txt (with leading zeros) ftp://ftp.letters.com/file[a-z].txt Nested sequences are not supported, but you can use several ones next to each other: http://any.org/archive[1996-1999]/vol[1-4]/part{a,b,c}.html You can specify any amount of URLs on the command line. They will be fetched in a sequential manner in the specified order. You can specify a step counter for the ranges to get every Nth number or letter: http://www.numericals.com/file[1-100:10].txt http://www.letters.com/file[a-z:2].txt When using [] or {} sequences when invoked from a command line prompt, you probably have to put the full URL within double quotes to avoid the shell from interfering with it. This also goes for other characters treated special, like for example '&', '?' and '*'. Provide the IPv6 zone index in the URL with an escaped percentage sign and the interface name. Like in http://[fe80::3%25eth0]/ If you specify URL without protocol:// prefix, curl will attempt to guess what protocol you might want. It will then default to HTTP but try other protocols based on often-used host name prefixes. For example, for host names starting with "ftp." curl will assume you want to speak FTP. curl will do its best to use what you pass to it as a URL. It is not trying to validate it as a syntactically correct URL by any means but is instead \fBvery\fP liberal with what it accepts. curl will attempt to re-use connections for multiple file transfers, so that getting many files from the same server will not do multiple connects / handshakes. This improves speed. Of course this is only done on files specified on a single command line and cannot be used between separate curl invokes. .SH "PROGRESS METER" curl normally displays a progress meter during operations, indicating the amount of transferred data, transfer speeds and estimated time left, etc. curl displays this data to the terminal by default, so if you invoke curl to do an operation and it is about to write data to the terminal, it \fIdisables\fP the progress meter as otherwise it would mess up the output mixing progress meter and response data. If you want a progress meter for HTTP POST or PUT requests, you need to redirect the response output to a file, using shell redirect (>), -o [file] or similar. It is not the same case for FTP upload as that operation does not spit out any response data to the terminal. If you prefer a progress "bar" instead of the regular meter, \fI-#\fP is your friend. .SH OPTIONS Options start with one or two dashes. Many of the options require an additional value next to them. The short "single-dash" form of the options, -d for example, may be used with or without a space between it and its value, although a space is a recommended separator. The long "double-dash" form, --data for example, requires a space between it and its value. Short version options that don't need any additional values can be used immediately next to each other, like for example you can specify all the options -O, -L and -v at once as -OLv. In general, all boolean options are enabled with --\fBoption\fP and yet again disabled with --\fBno-\fPoption. That is, you use the exact same option name but prefix it with "no-". However, in this list we mostly only list and show the --option version of them. (This concept with --no options was added in 7.19.0. Previously most options were toggled on/off on repeated use of the same command line option.) .IP "-#, --progress-bar" Make curl display progress as a simple progress bar instead of the standard, more informational, meter. .IP "-:, --next" Tells curl to use a separate operation for the following URL and associated options. This allows you to send several URL requests, each with their own specific options, for example, such as different user names or custom requests for each. (Added in 7.36.0) .IP "-0, --http1.0" (HTTP) Tells curl to use HTTP version 1.0 instead of using its internally preferred: HTTP 1.1. .IP "--http1.1" (HTTP) Tells curl to use HTTP version 1.1. This is the internal default version. (Added in 7.33.0) .IP "--http2" (HTTP) Tells curl to issue its requests using HTTP 2. This requires that the underlying libcurl was built to support it. (Added in 7.33.0) .IP "--no-npn" Disable the NPN TLS extension. NPN is enabled by default if libcurl was built with an SSL library that supports NPN. NPN is used by a libcurl that supports HTTP 2 to negotiate HTTP 2 support with the server during https sessions. (Added in 7.36.0) .IP "--no-alpn" Disable the ALPN TLS extension. ALPN is enabled by default if libcurl was built with an SSL library that supports ALPN. ALPN is used by a libcurl that supports HTTP 2 to negotiate HTTP 2 support with the server during https sessions. (Added in 7.36.0) .IP "-1, --tlsv1" (SSL) Forces curl to use TLS version 1.x when negotiating with a remote TLS server. You can use options \fI--tlsv1.0\fP, \fI--tlsv1.1\fP, and \fI--tlsv1.2\fP to control the TLS version more precisely (if the SSL backend in use supports such a level of control). .IP "-2, --sslv2" (SSL) Forces curl to use SSL version 2 when negotiating with a remote SSL server. Sometimes curl is built without SSLv2 support. SSLv2 is widely considered insecure (see RFC 6176). .IP "-3, --sslv3" (SSL) Forces curl to use SSL version 3 when negotiating with a remote SSL server. Sometimes curl is built without SSLv3 support. SSLv3 is widely considered insecure (see RFC 7568). .IP "-4, --ipv4" This option tells curl to resolve names to IPv4 addresses only, and not for example try IPv6. .IP "-6, --ipv6" This option tells curl to resolve names to IPv6 addresses only, and not for example try IPv4. .IP "-a, --append" (FTP/SFTP) When used in an upload, this makes curl append to the target file instead of overwriting it. If the remote file doesn't exist, it will be created. Note that this flag is ignored by some SFTP servers (including OpenSSH). .IP "-A, --user-agent " (HTTP) Specify the User-Agent string to send to the HTTP server. Some badly done CGIs fail if this field isn't set to "Mozilla/4.0". To encode blanks in the string, surround the string with single quote marks. This can also be set with the \fI-H, --header\fP option of course. If this option is used several times, the last one will be used. .IP "--anyauth" (HTTP) Tells curl to figure out authentication method by itself, and use the most secure one the remote site claims to support. This is done by first doing a request and checking the response-headers, thus possibly inducing an extra network round-trip. This is used instead of setting a specific authentication method, which you can do with \fI--basic\fP, \fI--digest\fP, \fI--ntlm\fP, and \fI--negotiate\fP. Note that using --anyauth is not recommended if you do uploads from stdin, since it may require data to be sent twice and then the client must be able to rewind. If the need should arise when uploading from stdin, the upload operation will fail. .IP "-b, --cookie " (HTTP) Pass the data to the HTTP server as a cookie. It is supposedly the data previously received from the server in a "Set-Cookie:" line. The data should be in the format "NAME1=VALUE1; NAME2=VALUE2". If no '=' symbol is used in the line, it is treated as a filename to use to read previously stored cookie lines from, which should be used in this session if they match. Using this method also activates the cookie engine which will make curl record incoming cookies too, which may be handy if you're using this in combination with the \fI-L, --location\fP option. The file format of the file to read cookies from should be plain HTTP headers or the Netscape/Mozilla cookie file format. The file specified with \fI-b, --cookie\fP is only used as input. No cookies will be written to the file. To store cookies, use the \fI-c, --cookie-jar\fP option. Exercise caution if you are using this option and multiple transfers may occur. If you use the NAME1=VALUE1; format, or in a file use the Set-Cookie format and don't specify a domain, then the cookie is sent for any domain (even after redirects are followed) and cannot be modified by a server-set cookie. If the cookie engine is enabled and a server sets a cookie of the same name then both will be sent on a future transfer to that server, likely not what you intended. To address these issues set a domain in Set-Cookie (doing that will include sub-domains) or use the Netscape format. If this option is used several times, the last one will be used. .IP "-B, --use-ascii" (FTP/LDAP) Enable ASCII transfer. For FTP, this can also be enforced by using an URL that ends with ";type=A". This option causes data sent to stdout to be in text mode for win32 systems. .IP "--basic" (HTTP) Tells curl to use HTTP Basic authentication with the remote host. This is the default and this option is usually pointless, unless you use it to override a previously set option that sets a different authentication method (such as \fI--ntlm\fP, \fI--digest\fP, or \fI--negotiate\fP). Used together with \fI-u, --user\fP and \fI-x, --proxy\fP. See also \fI--proxy-basic\fP. .IP "-c, --cookie-jar " (HTTP) Specify to which file you want curl to write all cookies after a completed operation. Curl writes all cookies previously read from a specified file as well as all cookies received from remote server(s). If no cookies are known, no data will be written. The file will be written using the Netscape cookie file format. If you set the file name to a single dash, "-", the cookies will be written to stdout. This command line option will activate the cookie engine that makes curl record and use cookies. Another way to activate it is to use the \fI-b, --cookie\fP option. If the cookie jar can't be created or written to, the whole curl operation won't fail or even report an error clearly. Using -v will get a warning displayed, but that is the only visible feedback you get about this possibly lethal situation. Since 7.43.0 cookies that were imported in the Set-Cookie format without a domain name are not exported by this option. If this option is used several times, the last specified file name will be used. .IP "-C, --continue-at " Continue/Resume a previous file transfer at the given offset. The given offset is the exact number of bytes that will be skipped, counting from the beginning of the source file before it is transferred to the destination. If used with uploads, the FTP server command SIZE will not be used by curl. Use "-C -" to tell curl to automatically find out where/how to resume the transfer. It then uses the given output/input files to figure that out. If this option is used several times, the last one will be used. .IP "--ciphers " (SSL) Specifies which ciphers to use in the connection. The list of ciphers must specify valid ciphers. Read up on SSL cipher list details on this URL: \fIhttps://www.openssl.org/docs/apps/ciphers.html\fP NSS ciphers are done differently than OpenSSL and GnuTLS. The full list of NSS ciphers is in the NSSCipherSuite entry at this URL: \fIhttps://git.fedorahosted.org/cgit/mod_nss.git/plain/docs/mod_nss.html#Directives\fP If this option is used several times, the last one will be used. .IP "--compressed" (HTTP) Request a compressed response using one of the algorithms curl supports, and save the uncompressed document. If this option is used and the server sends an unsupported encoding, curl will report an error. .IP "--connect-timeout " Maximum time in seconds that you allow curl's connection to take. This only limits the connection phase, so if curl connects within the given period it will continue - if not it will exit. Since version 7.32.0, this option accepts decimal values. See also the \fI-m, --max-time\fP option. If this option is used several times, the last one will be used. .IP "--create-dirs" When used in conjunction with the \fI-o\fP option, curl will create the necessary local directory hierarchy as needed. This option creates the dirs mentioned with the \fI-o\fP option, nothing else. If the \fI-o\fP file name uses no dir or if the dirs it mentions already exist, no dir will be created. To create remote directories when using FTP or SFTP, try \fI--ftp-create-dirs\fP. .IP "--crlf" Convert LF to CRLF in upload. Useful for MVS (OS/390). (SMTP added in 7.40.0) .IP "--crlfile " (HTTPS/FTPS) Provide a file using PEM format with a Certificate Revocation List that may specify peer certificates that are to be considered revoked. If this option is used several times, the last one will be used. (Added in 7.19.7) .IP "-d, --data " (HTTP) Sends the specified data in a POST request to the HTTP server, in the same way that a browser does when a user has filled in an HTML form and presses the submit button. This will cause curl to pass the data to the server using the content-type application/x-www-form-urlencoded. Compare to \fI-F, --form\fP. \fI-d, --data\fP is the same as \fI--data-ascii\fP. \fI--data-raw\fP is almost the same but does not have a special interpretation of the @ character. To post data purely binary, you should instead use the \fI--data-binary\fP option. To URL-encode the value of a form field you may use \fI--data-urlencode\fP. If any of these options is used more than once on the same command line, the data pieces specified will be merged together with a separating &-symbol. Thus, using '-d name=daniel -d skill=lousy' would generate a post chunk that looks like \&'name=daniel&skill=lousy'. If you start the data with the letter @, the rest should be a file name to read the data from, or - if you want curl to read the data from stdin. Multiple files can also be specified. Posting data from a file named 'foobar' would thus be done with \fI--data\fP @foobar. When --data is told to read from a file like that, carriage returns and newlines will be stripped out. If you don't want the @ character to have a special interpretation use \fI--data-raw\fP instead. .IP "-D, --dump-header " Write the protocol headers to the specified file. This option is handy to use when you want to store the headers that an HTTP site sends to you. Cookies from the headers could then be read in a second curl invocation by using the \fI-b, --cookie\fP option! The \fI-c, --cookie-jar\fP option is a better way to store cookies. When used in FTP, the FTP server response lines are considered being "headers" and thus are saved there. If this option is used several times, the last one will be used. .IP "--data-ascii " See \fI-d, --data\fP. .IP "--data-binary " (HTTP) This posts data exactly as specified with no extra processing whatsoever. If you start the data with the letter @, the rest should be a filename. Data is posted in a similar manner as \fI--data-ascii\fP does, except that newlines and carriage returns are preserved and conversions are never done. If this option is used several times, the ones following the first will append data as described in \fI-d, --data\fP. .IP "--data-raw " (HTTP) This posts data similarly to \fI--data\fP but without the special interpretation of the @ character. See \fI-d, --data\fP. (Added in 7.43.0) .IP "--data-urlencode " (HTTP) This posts data, similar to the other --data options with the exception that this performs URL-encoding. (Added in 7.18.0) To be CGI-compliant, the part should begin with a \fIname\fP followed by a separator and a content specification. The part can be passed to curl using one of the following syntaxes: .RS .IP "content" This will make curl URL-encode the content and pass that on. Just be careful so that the content doesn't contain any = or @ symbols, as that will then make the syntax match one of the other cases below! .IP "=content" This will make curl URL-encode the content and pass that on. The preceding = symbol is not included in the data. .IP "name=content" This will make curl URL-encode the content part and pass that on. Note that the name part is expected to be URL-encoded already. .IP "@filename" This will make curl load data from the given file (including any newlines), URL-encode that data and pass it on in the POST. .IP "name@filename" This will make curl load data from the given file (including any newlines), URL-encode that data and pass it on in the POST. The name part gets an equal sign appended, resulting in \fIname=urlencoded-file-content\fP. Note that the name is expected to be URL-encoded already. .RE .IP "--delegation LEVEL" Set \fILEVEL\fP to tell the server what it is allowed to delegate when it comes to user credentials. Used with GSS/kerberos. .RS .IP "none" Don't allow any delegation. .IP "policy" Delegates if and only if the OK-AS-DELEGATE flag is set in the Kerberos service ticket, which is a matter of realm policy. .IP "always" Unconditionally allow the server to delegate. .RE .IP "--digest" (HTTP) Enables HTTP Digest authentication. This is an authentication scheme that prevents the password from being sent over the wire in clear text. Use this in combination with the normal \fI-u, --user\fP option to set user name and password. See also \fI--ntlm\fP, \fI--negotiate\fP and \fI--anyauth\fP for related options. If this option is used several times, only the first one is used. .IP "--disable-eprt" (FTP) Tell curl to disable the use of the EPRT and LPRT commands when doing active FTP transfers. Curl will normally always first attempt to use EPRT, then LPRT before using PORT, but with this option, it will use PORT right away. EPRT and LPRT are extensions to the original FTP protocol, and may not work on all servers, but they enable more functionality in a better way than the traditional PORT command. \fB--eprt\fP can be used to explicitly enable EPRT again and \fB--no-eprt\fP is an alias for \fB--disable-eprt\fP. Disabling EPRT only changes the active behavior. If you want to switch to passive mode you need to not use \fI-P, --ftp-port\fP or force it with \fI--ftp-pasv\fP. .IP "--disable-epsv" (FTP) Tell curl to disable the use of the EPSV command when doing passive FTP transfers. Curl will normally always first attempt to use EPSV before PASV, but with this option, it will not try using EPSV. \fB--epsv\fP can be used to explicitly enable EPSV again and \fB--no-epsv\fP is an alias for \fB--disable-epsv\fP. Disabling EPSV only changes the passive behavior. If you want to switch to active mode you need to use \fI-P, --ftp-port\fP. .IP "--dns-interface " Tell curl to send outgoing DNS requests through . This option is a counterpart to \fI--interface\fP (which does not affect DNS). The supplied string must be an interface name (not an address). This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. (Added in 7.33.0) .IP "--dns-ipv4-addr " Tell curl to bind to when making IPv4 DNS requests, so that the DNS requests originate from this address. The argument should be a single IPv4 address. This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. (Added in 7.33.0) .IP "--dns-ipv6-addr " Tell curl to bind to when making IPv6 DNS requests, so that the DNS requests originate from this address. The argument should be a single IPv6 address. This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. (Added in 7.33.0) .IP "--dns-servers " Set the list of DNS servers to be used instead of the system default. The list of IP addresses should be separated with commas. Port numbers may also optionally be given as \fI:\fP after each IP address. This option requires that libcurl was built with a resolver backend that supports this operation. The c-ares backend is the only such one. (Added in 7.33.0) .IP "-e, --referer " (HTTP) Sends the "Referrer Page" information to the HTTP server. This can also be set with the \fI-H, --header\fP flag of course. When used with \fI-L, --location\fP you can append ";auto" to the --referer URL to make curl automatically set the previous URL when it follows a Location: header. The \&";auto" string can be used alone, even if you don't set an initial --referer. If this option is used several times, the last one will be used. .IP "-E, --cert " (SSL) Tells curl to use the specified client certificate file when getting a file with HTTPS, FTPS or another SSL-based protocol. The certificate must be in PKCS#12 format if using Secure Transport, or PEM format if using any other engine. If the optional password isn't specified, it will be queried for on the terminal. Note that this option assumes a \&"certificate" file that is the private key and the client certificate concatenated! See \fI--cert\fP and \fI--key\fP to specify them independently. If curl is built against the NSS SSL library then this option can tell curl the nickname of the certificate to use within the NSS database defined by the environment variable SSL_DIR (or by default /etc/pki/nssdb). If the NSS PEM PKCS#11 module (libnsspem.so) is available then PEM files may be loaded. If you want to use a file from the current directory, please precede it with "./" prefix, in order to avoid confusion with a nickname. If the nickname contains ":", it needs to be preceded by "\\" so that it is not recognized as password delimiter. If the nickname contains "\\", it needs to be escaped as "\\\\" so that it is not recognized as an escape character. (iOS and Mac OS X only) If curl is built against Secure Transport, then the certificate string can either be the name of a certificate/private key in the system or user keychain, or the path to a PKCS#12-encoded certificate and private key. If you want to use a file from the current directory, please precede it with "./" prefix, in order to avoid confusion with a nickname. If this option is used several times, the last one will be used. .IP "--engine " Select the OpenSSL crypto engine to use for cipher operations. Use \fI--engine list\fP to print a list of build-time supported engines. Note that not all (or none) of the engines may be available at run-time. .IP "--environment" (RISC OS ONLY) Sets a range of environment variables, using the names the \fI-w\fP option supports, to allow easier extraction of useful information after having run curl. .IP "--egd-file " (SSL) Specify the path name to the Entropy Gathering Daemon socket. The socket is used to seed the random engine for SSL connections. See also the \fI--random-file\fP option. .IP "--expect100-timeout " (HTTP) Maximum time in seconds that you allow curl to wait for a 100-continue response when curl emits an Expects: 100-continue header in its request. By default curl will wait one second. This option accepts decimal values! When curl stops waiting, it will continue as if the response has been received. (Added in 7.47.0) .IP "--cert-type " (SSL) Tells curl what certificate type the provided certificate is in. PEM, DER and ENG are recognized types. If not specified, PEM is assumed. If this option is used several times, the last one will be used. .IP "--cacert " (SSL) Tells curl to use the specified certificate file to verify the peer. The file may contain multiple CA certificates. The certificate(s) must be in PEM format. Normally curl is built to use a default file for this, so this option is typically used to alter that default file. curl recognizes the environment variable named 'CURL_CA_BUNDLE' if it is set, and uses the given path as a path to a CA cert bundle. This option overrides that variable. The windows version of curl will automatically look for a CA certs file named \'curl-ca-bundle.crt\', either in the same directory as curl.exe, or in the Current Working Directory, or in any folder along your PATH. If curl is built against the NSS SSL library, the NSS PEM PKCS#11 module (libnsspem.so) needs to be available for this option to work properly. If this option is used several times, the last one will be used. .IP "--capath " (SSL) Tells curl to use the specified certificate directory to verify the peer. Multiple paths can be provided by separating them with ":" (e.g. \&"path1:path2:path3"). The certificates must be in PEM format, and if curl is built against OpenSSL, the directory must have been processed using the c_rehash utility supplied with OpenSSL. Using \fI--capath\fP can allow OpenSSL-powered curl to make SSL-connections much more efficiently than using \fI--cacert\fP if the \fI--cacert\fP file contains many CA certificates. If this option is set, the default capath value will be ignored, and if it is used several times, the last one will be used. .IP "--pinnedpubkey " (SSL) Tells curl to use the specified public key file (or hashes) to verify the peer. This can be a path to a file which contains a single public key in PEM or DER format, or any number of base64 encoded sha256 hashes preceded by \'sha256//\' and separated by \';\' When negotiating a TLS or SSL connection, the server sends a certificate indicating its identity. A public key is extracted from this certificate and if it does not exactly match the public key provided to this option, curl will abort the connection before sending or receiving any data. Added in 7.39.0 for OpenSSL, GnuTLS and GSKit. Added in 7.43.0 for NSS and wolfSSL/CyaSSL. sha256 support added in 7.44.0 for OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL. Other SSL backends not supported. If this option is used several times, the last one will be used. .IP "--cert-status" (SSL) Tells curl to verify the status of the server certificate by using the Certificate Status Request (aka. OCSP stapling) TLS extension. If this option is enabled and the server sends an invalid (e.g. expired) response, if the response suggests that the server certificate has been revoked, or no response at all is received, the verification fails. This is currently only implemented in the OpenSSL, GnuTLS and NSS backends. (Added in 7.41.0) .IP "--false-start" (SSL) Tells curl to use false start during the TLS handshake. False start is a mode where a TLS client will start sending application data before verifying the server's Finished message, thus saving a round trip when performing a full handshake. This is currently only implemented in the NSS and Secure Transport (on iOS 7.0 or later, or OS X 10.9 or later) backends. (Added in 7.42.0) .IP "-f, --fail" (HTTP) Fail silently (no output at all) on server errors. This is mostly done to better enable scripts etc to better deal with failed attempts. In normal cases when an HTTP server fails to deliver a document, it returns an HTML document stating so (which often also describes why and more). This flag will prevent curl from outputting that and return error 22. This method is not fail-safe and there are occasions where non-successful response codes will slip through, especially when authentication is involved (response codes 401 and 407). .IP "-F, --form " (HTTP) This lets curl emulate a filled-in form in which a user has pressed the submit button. This causes curl to POST data using the Content-Type multipart/form-data according to RFC 2388. This enables uploading of binary files etc. To force the 'content' part to be a file, prefix the file name with an @ sign. To just get the content part from a file, prefix the file name with the symbol <. The difference between @ and < is then that @ makes a file get attached in the post as a file upload, while the < makes a text field and just get the contents for that text field from a file. Example, to send your password file to the server, where \&'password' is the name of the form-field to which /etc/passwd will be the input: \fBcurl\fP -F password=@/etc/passwd www.mypasswords.com To read content from stdin instead of a file, use - as the filename. This goes for both @ and < constructs. Unfortunately it does not support reading the file from a named pipe or similar, as it needs the full size before the transfer starts. You can also tell curl what Content-Type to use by using 'type=', in a manner similar to: \fBcurl\fP -F "web=@index.html;type=text/html" url.com or \fBcurl\fP -F "name=daniel;type=text/foo" url.com You can also explicitly change the name field of a file upload part by setting filename=, like this: \fBcurl\fP -F "file=@localfile;filename=nameinpost" url.com If filename/path contains ',' or ';', it must be quoted by double-quotes like: \fBcurl\fP -F "file=@\\"localfile\\";filename=\\"nameinpost\\"" url.com or \fBcurl\fP -F 'file=@"localfile";filename="nameinpost"' url.com Note that if a filename/path is quoted by double-quotes, any double-quote or backslash within the filename must be escaped by backslash. See further examples and details in the MANUAL. This option can be used multiple times. .IP "--ftp-account [data]" (FTP) When an FTP server asks for "account data" after user name and password has been provided, this data is sent off using the ACCT command. (Added in 7.13.0) If this option is used several times, the last one will be used. .IP "--ftp-alternative-to-user " (FTP) If authenticating with the USER and PASS commands fails, send this command. When connecting to Tumbleweed's Secure Transport server over FTPS using a client certificate, using "SITE AUTH" will tell the server to retrieve the username from the certificate. (Added in 7.15.5) .IP "--ftp-create-dirs" (FTP/SFTP) When an FTP or SFTP URL/operation uses a path that doesn't currently exist on the server, the standard behavior of curl is to fail. Using this option, curl will instead attempt to create missing directories. .IP "--ftp-method [method]" (FTP) Control what method curl should use to reach a file on an FTP(S) server. The method argument should be one of the following alternatives: .RS .IP multicwd curl does a single CWD operation for each path part in the given URL. For deep hierarchies this means very many commands. This is how RFC 1738 says it should be done. This is the default but the slowest behavior. .IP nocwd curl does no CWD at all. curl will do SIZE, RETR, STOR etc and give a full path to the server for all these commands. This is the fastest behavior. .IP singlecwd curl does one CWD with the full target directory and then operates on the file \&"normally" (like in the multicwd case). This is somewhat more standards compliant than 'nocwd' but without the full penalty of 'multicwd'. .RE .IP (Added in 7.15.1) .IP "--ftp-pasv" (FTP) Use passive mode for the data connection. Passive is the internal default behavior, but using this option can be used to override a previous \fI-P/-ftp-port\fP option. (Added in 7.11.0) If this option is used several times, only the first one is used. Undoing an enforced passive really isn't doable but you must then instead enforce the correct \fI-P, --ftp-port\fP again. Passive mode means that curl will try the EPSV command first and then PASV, unless \fI--disable-epsv\fP is used. .IP "--ftp-skip-pasv-ip" (FTP) Tell curl to not use the IP address the server suggests in its response to curl's PASV command when curl connects the data connection. Instead curl will re-use the same IP address it already uses for the control connection. (Added in 7.14.2) This option has no effect if PORT, EPRT or EPSV is used instead of PASV. .IP "--ftp-pret" (FTP) Tell curl to send a PRET command before PASV (and EPSV). Certain FTP servers, mainly drftpd, require this non-standard command for directory listings as well as up and downloads in PASV mode. (Added in 7.20.x) .IP "--ftp-ssl-ccc" (FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS layer after authenticating. The rest of the control channel communication will be unencrypted. This allows NAT routers to follow the FTP transaction. The default mode is passive. See \fI--ftp-ssl-ccc-mode\fP for other modes. (Added in 7.16.1) .IP "--ftp-ssl-ccc-mode [active/passive]" (FTP) Use CCC (Clear Command Channel) Sets the CCC mode. The passive mode will not initiate the shutdown, but instead wait for the server to do it, and will not reply to the shutdown from the server. The active mode initiates the shutdown and waits for a reply from the server. (Added in 7.16.2) .IP "--ftp-ssl-control" (FTP) Require SSL/TLS for the FTP login, clear for transfer. Allows secure authentication, but non-encrypted data transfers for efficiency. Fails the transfer if the server doesn't support SSL/TLS. (Added in 7.16.0) that can still be used but will be removed in a future version. .IP "--form-string " (HTTP) Similar to \fI--form\fP except that the value string for the named parameter is used literally. Leading \&'@' and \&'<' characters, and the \&';type=' string in the value have no special meaning. Use this in preference to \fI--form\fP if there's any possibility that the string value may accidentally trigger the \&'@' or \&'<' features of \fI--form\fP. .IP "-g, --globoff" This option switches off the "URL globbing parser". When you set this option, you can specify URLs that contain the letters {}[] without having them being interpreted by curl itself. Note that these letters are not normal legal URL contents but they should be encoded according to the URI standard. .IP "-G, --get" When used, this option will make all data specified with \fI-d, --data\fP, \fI--data-binary\fP or \fI--data-urlencode\fP to be used in an HTTP GET request instead of the POST request that otherwise would be used. The data will be appended to the URL with a '?' separator. If used in combination with -I, the POST data will instead be appended to the URL with a HEAD request. If this option is used several times, only the first one is used. This is because undoing a GET doesn't make sense, but you should then instead enforce the alternative method you prefer. .IP "-H, --header
" (HTTP) Extra header to include in the request when sending HTTP to a server. You may specify any number of extra headers. Note that if you should add a custom header that has the same name as one of the internal ones curl would use, your externally set header will be used instead of the internal one. This allows you to make even trickier stuff than curl would normally do. You should not replace internally set headers without knowing perfectly well what you're doing. Remove an internal header by giving a replacement without content on the right side of the colon, as in: -H \&"Host:". If you send the custom header with no-value then its header must be terminated with a semicolon, such as \-H \&"X-Custom-Header;" to send "X-Custom-Header:". curl will make sure that each header you add/replace is sent with the proper end-of-line marker, you should thus \fBnot\fP add that as a part of the header content: do not add newlines or carriage returns, they will only mess things up for you. See also the \fI-A, --user-agent\fP and \fI-e, --referer\fP options. Starting in 7.37.0, you need \fI--proxy-header\fP to send custom headers intended for a proxy. Example: \&# curl -H "X-First-Name: Joe" http://192.168.0.1/ \fBWARNING\fP: headers set with this option will be set in all requests - even after redirects are followed, like when told with \fB-L, --location\fP. This can lead to the header being sent to other hosts than the original host, so sensitive headers should be used with caution combined with following redirects. This option can be used multiple times to add/replace/remove multiple headers. .IP "--hostpubmd5 " (SCP/SFTP) Pass a string containing 32 hexadecimal digits. The string should be the 128 bit MD5 checksum of the remote host's public key, curl will refuse the connection with the host unless the md5sums match. (Added in 7.17.1) .IP "--ignore-content-length" For HTTP, Ignore the Content-Length header. This is particularly useful for servers running Apache 1.x, which will report incorrect Content-Length for files larger than 2 gigabytes. For FTP (since 7.46.0), skip the RETR command to figure out the size before downloading a file. .IP "-i, --include" (HTTP) Include the HTTP-header in the output. The HTTP-header includes things like server-name, date of the document, HTTP-version and more... .IP "-I, --head" (HTTP/FTP/FILE) Fetch the HTTP-header only! HTTP-servers feature the command HEAD which this uses to get nothing but the header of a document. When used on an FTP or FILE file, curl displays the file size and last modification time only. .IP "--interface " Perform an operation using a specified interface. You can enter interface name, IP address or host name. An example could look like: curl --interface eth0:1 http://www.netscape.com/ If this option is used several times, the last one will be used. .IP "-j, --junk-session-cookies" (HTTP) When curl is told to read cookies from a given file, this option will make it discard all "session cookies". This will basically have the same effect as if a new session is started. Typical browsers always discard session cookies when they're closed down. .IP "-J, --remote-header-name" (HTTP) This option tells the \fI-O, --remote-name\fP option to use the server-specified Content-Disposition filename instead of extracting a filename from the URL. There's no attempt to decode %-sequences (yet) in the provided file name, so this option may provide you with rather unexpected file names. .IP "-k, --insecure" (SSL) This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless \fI-k, --insecure\fP is used. See this online resource for further details: \fBhttp://curl.haxx.se/docs/sslcerts.html\fP .IP "-K, --config " Specify which config file to read curl arguments from. The config file is a text file in which command line arguments can be written which then will be used as if they were written on the actual command line. Options and their parameters must be specified on the same config file line, separated by whitespace, colon, or the equals sign. Long option names can optionally be given in the config file without the initial double dashes and if so, the colon or equals characters can be used as separators. If the option is specified with one or two dashes, there can be no colon or equals character between the option and its parameter. If the parameter is to contain whitespace, the parameter must be enclosed within quotes. Within double quotes, the following escape sequences are available: \\\\, \\", \\t, \\n, \\r and \\v. A backslash preceding any other letter is ignored. If the first column of a config line is a '#' character, the rest of the line will be treated as a comment. Only write one option per physical line in the config file. Specify the filename to -K, --config as '-' to make curl read the file from stdin. Note that to be able to specify a URL in the config file, you need to specify it using the \fI--url\fP option, and not by simply writing the URL on its own line. So, it could look similar to this: url = "http://curl.haxx.se/docs/" When curl is invoked, it always (unless \fI-q\fP is used) checks for a default config file and uses it if found. The default config file is checked for in the following places in this order: 1) curl tries to find the "home dir": It first checks for the CURL_HOME and then the HOME environment variables. Failing that, it uses getpwuid() on Unix-like systems (which returns the home dir given the current user in your system). On Windows, it then checks for the APPDATA variable, or as a last resort the '%USERPROFILE%\\Application Data'. 2) On windows, if there is no _curlrc file in the home dir, it checks for one in the same dir the curl executable is placed. On Unix-like systems, it will simply try to load .curlrc from the determined home dir. .nf # --- Example file --- # this is a comment url = "curl.haxx.se" output = "curlhere.html" user-agent = "superagent/1.0" # and fetch another URL too url = "curl.haxx.se/docs/manpage.html" -O referer = "http://nowhereatall.com/" # --- End of example file --- .fi This option can be used multiple times to load multiple config files. .IP "--keepalive-time " This option sets the time a connection needs to remain idle before sending keepalive probes and the time between individual keepalive probes. It is currently effective on operating systems offering the TCP_KEEPIDLE and TCP_KEEPINTVL socket options (meaning Linux, recent AIX, HP-UX and more). This option has no effect if \fI--no-keepalive\fP is used. (Added in 7.18.0) If this option is used several times, the last one will be used. If unspecified, the option defaults to 60 seconds. .IP "--key " (SSL/SSH) Private key file name. Allows you to provide your private key in this separate file. For SSH, if not specified, curl tries the following candidates in order: '~/.ssh/id_rsa', '~/.ssh/id_dsa', './id_rsa', './id_dsa'. If this option is used several times, the last one will be used. .IP "--key-type " (SSL) Private key file type. Specify which type your \fI--key\fP provided private key is. DER, PEM, and ENG are supported. If not specified, PEM is assumed. If this option is used several times, the last one will be used. .IP "--krb " (FTP) Enable Kerberos authentication and use. The level must be entered and should be one of 'clear', 'safe', 'confidential', or 'private'. Should you use a level that is not one of these, 'private' will instead be used. This option requires a library built with kerberos4 support. This is not very common. Use \fI-V, --version\fP to see if your curl supports it. If this option is used several times, the last one will be used. .IP "-l, --list-only" (FTP) When listing an FTP directory, this switch forces a name-only view. This is especially useful if the user wants to machine-parse the contents of an FTP directory since the normal directory view doesn't use a standard look or format. When used like this, the option causes a NLST command to be sent to the server instead of LIST. Note: Some FTP servers list only files in their response to NLST; they do not include sub-directories and symbolic links. (POP3) When retrieving a specific email from POP3, this switch forces a LIST command to be performed instead of RETR. This is particularly useful if the user wants to see if a specific message id exists on the server and what size it is. Note: When combined with \fI-X, --request \fP, this option can be used to send an UIDL command instead, so the user may use the email's unique identifier rather than it's message id to make the request. (Added in 7.21.5) .IP "-L, --location" (HTTP/HTTPS) If the server reports that the requested page has moved to a different location (indicated with a Location: header and a 3XX response code), this option will make curl redo the request on the new place. If used together with \fI-i, --include\fP or \fI-I, --head\fP, headers from all requested pages will be shown. When authentication is used, curl only sends its credentials to the initial host. If a redirect takes curl to a different host, it won't be able to intercept the user+password. See also \fI--location-trusted\fP on how to change this. You can limit the amount of redirects to follow by using the \fI--max-redirs\fP option. When curl follows a redirect and the request is not a plain GET (for example POST or PUT), it will do the following request with a GET if the HTTP response was 301, 302, or 303. If the response code was any other 3xx code, curl will re-send the following request using the same unmodified method. You can tell curl to not change the non-GET request method to GET after a 30x response by using the dedicated options for that: \fI--post301\fP, \fI--post302\fP and \fI-post303\fP. .IP "--libcurl " Append this option to any ordinary curl command line, and you will get a libcurl-using C source code written to the file that does the equivalent of what your command-line operation does! If this option is used several times, the last given file name will be used. (Added in 7.16.1) .IP "--limit-rate " Specify the maximum transfer rate you want curl to use - for both downloads and uploads. This feature is useful if you have a limited pipe and you'd like your transfer not to use your entire bandwidth. To make it slower than it otherwise would be. The given speed is measured in bytes/second, unless a suffix is appended. Appending 'k' or 'K' will count the number as kilobytes, 'm' or M' makes it megabytes, while 'g' or 'G' makes it gigabytes. Examples: 200K, 3m and 1G. The given rate is the average speed counted during the entire transfer. It means that curl might use higher transfer speeds in short bursts, but over time it uses no more than the given rate. If you also use the \fI-Y, --speed-limit\fP option, that option will take precedence and might cripple the rate-limiting slightly, to help keeping the speed-limit logic working. If this option is used several times, the last one will be used. .IP "--local-port [-num]" Set a preferred number or range of local port numbers to use for the connection(s). Note that port numbers by nature are a scarce resource that will be busy at times so setting this range to something too narrow might cause unnecessary connection setup failures. (Added in 7.15.2) .IP "--location-trusted" (HTTP/HTTPS) Like \fI-L, --location\fP, but will allow sending the name + password to all hosts that the site may redirect to. This may or may not introduce a security breach if the site redirects you to a site to which you'll send your authentication info (which is plaintext in the case of HTTP Basic authentication). .IP "-m, --max-time " Maximum time in seconds that you allow the whole operation to take. This is useful for preventing your batch jobs from hanging for hours due to slow networks or links going down. Since 7.32.0, this option accepts decimal values, but the actual timeout will decrease in accuracy as the specified timeout increases in decimal precision. See also the \fI--connect-timeout\fP option. If this option is used several times, the last one will be used. .IP "--login-options " Specify the login options to use during server authentication. You can use the login options to specify protocol specific options that may be used during authentication. At present only IMAP, POP3 and SMTP support login options. For more information about the login options please see RFC 2384, RFC 5092 and IETF draft draft-earhart-url-smtp-00.txt (Added in 7.34.0). If this option is used several times, the last one will be used. .IP "--mail-auth
" (SMTP) Specify a single address. This will be used to specify the authentication address (identity) of a submitted message that is being relayed to another server. (Added in 7.25.0) .IP "--mail-from
" (SMTP) Specify a single address that the given mail should get sent from. (Added in 7.20.0) .IP "--max-filesize " Specify the maximum size (in bytes) of a file to download. If the file requested is larger than this value, the transfer will not start and curl will return with exit code 63. \fBNOTE:\fP The file size is not always known prior to download, and for such files this option has no effect even if the file transfer ends up being larger than this given limit. This concerns both FTP and HTTP transfers. .IP "--mail-rcpt
" (SMTP) Specify a single address, user name or mailing list name. When performing a mail transfer, the recipient should specify a valid email address to send the mail to. (Added in 7.20.0) When performing an address verification (VRFY command), the recipient should be specified as the user name or user name and domain (as per Section 3.5 of RFC5321). (Added in 7.34.0) When performing a mailing list expand (EXPN command), the recipient should be specified using the mailing list name, such as "Friends" or "London-Office". (Added in 7.34.0) .IP "--max-redirs " Set maximum number of redirection-followings allowed. If \fI-L, --location\fP is used, this option can be used to prevent curl from following redirections \&"in absurdum". By default, the limit is set to 50 redirections. Set this option to -1 to make it limitless. If this option is used several times, the last one will be used. .IP "--metalink" This option can tell curl to parse and process a given URI as Metalink file (both version 3 and 4 (RFC 5854) are supported) and make use of the mirrors listed within for failover if there are errors (such as the file or server not being available). It will also verify the hash of the file after the download completes. The Metalink file itself is downloaded and processed in memory and not stored in the local file system. Example to use a remote Metalink file: \fBcurl\fP --metalink http://www.example.com/example.metalink To use a Metalink file in the local file system, use FILE protocol (file://): \fBcurl\fP --metalink file://example.metalink Please note that if FILE protocol is disabled, there is no way to use a local Metalink file at the time of this writing. Also note that if \fI--metalink\fP and \fI--include\fP are used together, \fI--include\fP will be ignored. This is because including headers in the response will break Metalink parser and if the headers are included in the file described in Metalink file, hash check will fail. (Added in 7.27.0, if built against the libmetalink library.) .IP "-n, --netrc" Makes curl scan the \fI.netrc\fP (\fI_netrc\fP on Windows) file in the user's home directory for login name and password. This is typically used for FTP on Unix. If used with HTTP, curl will enable user authentication. See \fInetrc(5)\fP \fIftp(1)\fP for details on the file format. Curl will not complain if that file doesn't have the right permissions (it should not be either world- or group-readable). The environment variable "HOME" is used to find the home directory. A quick and very simple example of how to setup a \fI.netrc\fP to allow curl to FTP to the machine host.domain.com with user name \&'myself' and password \&'secret' should look similar to: .B "machine host.domain.com login myself password secret" .IP "-N, --no-buffer" Disables the buffering of the output stream. In normal work situations, curl will use a standard buffered output stream that will have the effect that it will output the data in chunks, not necessarily exactly when the data arrives. Using this option will disable that buffering. Note that this is the negated option name documented. You can thus use \fI--buffer\fP to enforce the buffering. .IP "--netrc-file" This option is similar to \fI--netrc\fP, except that you provide the path (absolute or relative) to the netrc file that Curl should use. You can only specify one netrc file per invocation. If several \fI--netrc-file\fP options are provided, only the \fBlast one\fP will be used. (Added in 7.21.5) This option overrides any use of \fI--netrc\fP as they are mutually exclusive. It will also abide by \fI--netrc-optional\fP if specified. .IP "--netrc-optional" Very similar to \fI--netrc\fP, but this option makes the .netrc usage \fBoptional\fP and not mandatory as the \fI--netrc\fP option does. .IP "--negotiate" (HTTP) Enables Negotiate (SPNEGO) authentication. If you want to enable Negotiate (SPNEGO) for proxy authentication, then use \fI--proxy-negotiate\fP. This option requires a library built with GSS-API or SSPI support. Use \fI-V, --version\fP to see if your curl supports GSS-API/SSPI and SPNEGO. When using this option, you must also provide a fake \fI-u, --user\fP option to activate the authentication code properly. Sending a '-u :' is enough as the user name and password from the \fI-u\fP option aren't actually used. If this option is used several times, only the first one is used. .IP "--no-keepalive" Disables the use of keepalive messages on the TCP connection, as by default curl enables them. Note that this is the negated option name documented. You can thus use \fI--keepalive\fP to enforce keepalive. .IP "--no-sessionid" (SSL) Disable curl's use of SSL session-ID caching. By default all transfers are done using the cache. Note that while nothing should ever get hurt by attempting to reuse SSL session-IDs, there seem to be broken SSL implementations in the wild that may require you to disable this in order for you to succeed. (Added in 7.16.0) Note that this is the negated option name documented. You can thus use \fI--sessionid\fP to enforce session-ID caching. .IP "--noproxy " Comma-separated list of hosts which do not use a proxy, if one is specified. The only wildcard is a single * character, which matches all hosts, and effectively disables the proxy. Each name in this list is matched as either a domain which contains the hostname, or the hostname itself. For example, local.com would match local.com, local.com:80, and www.local.com, but not www.notlocal.com. (Added in 7.19.4). .IP "--ntlm" (HTTP) Enables NTLM authentication. The NTLM authentication method was designed by Microsoft and is used by IIS web servers. It is a proprietary protocol, reverse-engineered by clever people and implemented in curl based on their efforts. This kind of behavior should not be endorsed, you should encourage everyone who uses NTLM to switch to a public and documented authentication method instead, such as Digest. If you want to enable NTLM for your proxy authentication, then use \fI--proxy-ntlm\fP. This option requires a library built with SSL support. Use \fI-V, --version\fP to see if your curl supports NTLM. If this option is used several times, only the first one is used. .IP "-o, --output " Write output to instead of stdout. If you are using {} or [] to fetch multiple documents, you can use '#' followed by a number in the specifier. That variable will be replaced with the current string for the URL being fetched. Like in: curl http://{one,two}.site.com -o "file_#1.txt" or use several variables like: curl http://{site,host}.host[1-5].com -o "#1_#2" You may use this option as many times as the number of URLs you have. See also the \fI--create-dirs\fP option to create the local directories dynamically. Specifying the output as '-' (a single dash) will force the output to be done to stdout. .IP "-O, --remote-name" Write output to a local file named like the remote file we get. (Only the file part of the remote file is used, the path is cut off.) The remote file name to use for saving is extracted from the given URL, nothing else. Consequentially, the file will be saved in the current working directory. If you want the file saved in a different directory, make sure you change current working directory before you invoke curl with the \fB-O, --remote-name\fP flag! There is no URL decoding done on the file name. If it has %20 or other URL encoded parts of the name, they will end up as-is as file name. You may use this option as many times as the number of URLs you have. .IP "--oauth2-bearer" (IMAP, POP3, SMTP) Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token is used in conjunction with the user name which can be specified as part of the \fI--url\fP or \fI-u, --user\fP options. The Bearer Token and user name are formatted according to RFC 6750. If this option is used several times, the last one will be used. .IP "--proxy-header
" (HTTP) Extra header to include in the request when sending HTTP to a proxy. You may specify any number of extra headers. This is the equivalent option to \fI-H, --header\fP but is for proxy communication only like in CONNECT requests when you want a separate header sent to the proxy to what is sent to the actual remote host. curl will make sure that each header you add/replace is sent with the proper end-of-line marker, you should thus \fBnot\fP add that as a part of the header content: do not add newlines or carriage returns, they will only mess things up for you. Headers specified with this option will not be included in requests that curl knows will not be sent to a proxy. This option can be used multiple times to add/replace/remove multiple headers. (Added in 7.37.0) .IP "-p, --proxytunnel" When an HTTP proxy is used (\fI-x, --proxy\fP), this option will cause non-HTTP protocols to attempt to tunnel through the proxy instead of merely using it to do HTTP-like operations. The tunnel approach is made with the HTTP proxy CONNECT request and requires that the proxy allows direct connect to the remote port number curl wants to tunnel through to. .IP "-P, --ftp-port
" (FTP) Reverses the default initiator/listener roles when connecting with FTP. This switch makes curl use active mode. In practice, curl then tells the server to connect back to the client's specified address and port, while passive mode asks the server to setup an IP address and port for it to connect to.
should be one of: .RS .IP interface i.e "eth0" to specify which interface's IP address you want to use (Unix only) .IP "IP address" i.e "192.168.10.1" to specify the exact IP address .IP "host name" i.e "my.host.domain" to specify the machine .IP "-" make curl pick the same IP address that is already used for the control connection .RE .IP If this option is used several times, the last one will be used. Disable the use of PORT with \fI--ftp-pasv\fP. Disable the attempt to use the EPRT command instead of PORT by using \fI--disable-eprt\fP. EPRT is really PORT++. Starting in 7.19.5, you can append \&":[start]-[end]\&" to the right of the address, to tell curl what TCP port range to use. That means you specify a port range, from a lower to a higher number. A single number works as well, but do note that it increases the risk of failure since the port may not be available. .IP "--pass " (SSL/SSH) Passphrase for the private key If this option is used several times, the last one will be used. .IP "--path-as-is" Tell curl to not handle sequences of /../ or /./ in the given URL path. Normally curl will squash or merge them according to standards but with this option set you tell it not to do that. (Added in 7.42.0) .IP "--post301" (HTTP) Tells curl to respect RFC 7230/6.4.2 and not convert POST requests into GET requests when following a 301 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl does the conversion by default to maintain consistency. However, a server may require a POST to remain a POST after such a redirection. This option is meaningful only when using \fI-L, --location\fP (Added in 7.17.1) .IP "--post302" (HTTP) Tells curl to respect RFC 7230/6.4.3 and not convert POST requests into GET requests when following a 302 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl does the conversion by default to maintain consistency. However, a server may require a POST to remain a POST after such a redirection. This option is meaningful only when using \fI-L, --location\fP (Added in 7.19.1) .IP "--post303" (HTTP) Tells curl to respect RFC 7230/6.4.4 and not convert POST requests into GET requests when following a 303 redirection. The non-RFC behaviour is ubiquitous in web browsers, so curl does the conversion by default to maintain consistency. However, a server may require a POST to remain a POST after such a redirection. This option is meaningful only when using \fI-L, --location\fP (Added in 7.26.0) .IP "--proto " Tells curl to use the listed protocols for its initial retrieval. Protocols are evaluated left to right, are comma separated, and are each a protocol name or 'all', optionally prefixed by zero or more modifiers. Available modifiers are: .RS .TP 3 .B + Permit this protocol in addition to protocols already permitted (this is the default if no modifier is used). .TP .B - Deny this protocol, removing it from the list of protocols already permitted. .TP .B = Permit only this protocol (ignoring the list already permitted), though subject to later modification by subsequent entries in the comma separated list. .RE .IP For example: .RS .TP 15 .B --proto -ftps uses the default protocols, but disables ftps .TP .B --proto -all,https,+http only enables http and https .TP .B --proto =http,https also only enables http and https .RE .IP Unknown protocols produce a warning. This allows scripts to safely rely on being able to disable potentially dangerous protocols, without relying upon support for that protocol being built into curl to avoid an error. This option can be used multiple times, in which case the effect is the same as concatenating the protocols into one instance of the option. (Added in 7.20.2) .IP "--proto-default " Tells curl to use \fIprotocol\fP for any URL missing a scheme name. Example: .RS .IP "--proto-default https ftp.mozilla.org" https://ftp.mozilla.org .RE An unknown or unsupported protocol causes error \fICURLE_UNSUPPORTED_PROTOCOL\fP. This option does not change the default proxy protocol (http). Without this option curl would make a guess based on the host, see \fI--url\fP for details. (Added in 7.45.0) .IP "--proto-redir " Tells curl to use the listed protocols on redirect. See --proto for how protocols are represented. Example: .RS .IP "--proto-redir -all,http,https" Allow only HTTP and HTTPS on redirect. .RE By default curl will allow all protocols on redirect except several disabled for security reasons: Since 7.19.4 FILE and SCP are disabled, and since 7.40.0 SMB and SMBS are also disabled. Specifying \fIall\fP or \fI+all\fP enables all protocols on redirect, including those disabled for security. (Added in 7.20.2) .IP "--proxy-anyauth" Tells curl to pick a suitable authentication method when communicating with the given proxy. This might cause an extra request/response round-trip. (Added in 7.13.2) .IP "--proxy-basic" Tells curl to use HTTP Basic authentication when communicating with the given proxy. Use \fI--basic\fP for enabling HTTP Basic with a remote host. Basic is the default authentication method curl uses with proxies. .IP "--proxy-digest" Tells curl to use HTTP Digest authentication when communicating with the given proxy. Use \fI--digest\fP for enabling HTTP Digest with a remote host. .IP "--proxy-negotiate" Tells curl to use HTTP Negotiate (SPNEGO) authentication when communicating with the given proxy. Use \fI--negotiate\fP for enabling HTTP Negotiate (SPNEGO) with a remote host. (Added in 7.17.1) .IP "--proxy-ntlm" Tells curl to use HTTP NTLM authentication when communicating with the given proxy. Use \fI--ntlm\fP for enabling NTLM with a remote host. .IP "--proxy-service-name " This option allows you to change the service name for proxy negotiation. Examples: --proxy-negotiate proxy-name \fI--proxy-service-name\fP sockd would use sockd/proxy-name. (Added in 7.43.0). .IP "--proxy1.0 " Use the specified HTTP 1.0 proxy. If the port number is not specified, it is assumed at port 1080. The only difference between this and the HTTP proxy option (\fI-x, --proxy\fP), is that attempts to use CONNECT through the proxy will specify an HTTP 1.0 protocol instead of the default HTTP 1.1. .IP "--pubkey " (SSH) Public key file name. Allows you to provide your public key in this separate file. If this option is used several times, the last one will be used. (As of 7.39.0, curl attempts to automatically extract the public key from the private key file, so passing this option is generally not required. Note that this public key extraction requires libcurl to be linked against a copy of libssh2 1.2.8 or higher that is itself linked against OpenSSL.) .IP "-q" If used as the first parameter on the command line, the \fIcurlrc\fP config file will not be read and used. See the \fI-K, --config\fP for details on the default config file search path. .IP "-Q, --quote " (FTP/SFTP) Send an arbitrary command to the remote FTP or SFTP server. Quote commands are sent BEFORE the transfer takes place (just after the initial PWD command in an FTP transfer, to be exact). To make commands take place after a successful transfer, prefix them with a dash '-'. To make commands be sent after curl has changed the working directory, just before the transfer command(s), prefix the command with a '+' (this is only supported for FTP). You may specify any number of commands. If the server returns failure for one of the commands, the entire operation will be aborted. You must send syntactically correct FTP commands as RFC 959 defines to FTP servers, or one of the commands listed below to SFTP servers. This option can be used multiple times. When speaking to an FTP server, prefix the command with an asterisk (*) to make curl continue even if the command fails as by default curl will stop at first failure. SFTP is a binary protocol. Unlike for FTP, curl interprets SFTP quote commands itself before sending them to the server. File names may be quoted shell-style to embed spaces or special characters. Following is the list of all supported SFTP quote commands: .RS .IP "chgrp group file" The chgrp command sets the group ID of the file named by the file operand to the group ID specified by the group operand. The group operand is a decimal integer group ID. .IP "chmod mode file" The chmod command modifies the file mode bits of the specified file. The mode operand is an octal integer mode number. .IP "chown user file" The chown command sets the owner of the file named by the file operand to the user ID specified by the user operand. The user operand is a decimal integer user ID. .IP "ln source_file target_file" The ln and symlink commands create a symbolic link at the target_file location pointing to the source_file location. .IP "mkdir directory_name" The mkdir command creates the directory named by the directory_name operand. .IP "pwd" The pwd command returns the absolute pathname of the current working directory. .IP "rename source target" The rename command renames the file or directory named by the source operand to the destination path named by the target operand. .IP "rm file" The rm command removes the file specified by the file operand. .IP "rmdir directory" The rmdir command removes the directory entry specified by the directory operand, provided it is empty. .IP "symlink source_file target_file" See ln. .RE .IP "-r, --range " (HTTP/FTP/SFTP/FILE) Retrieve a byte range (i.e a partial document) from a HTTP/1.1, FTP or SFTP server or a local FILE. Ranges can be specified in a number of ways. .RS .TP 10 .B 0-499 specifies the first 500 bytes .TP .B 500-999 specifies the second 500 bytes .TP .B -500 specifies the last 500 bytes .TP .B 9500- specifies the bytes from offset 9500 and forward .TP .B 0-0,-1 specifies the first and last byte only(*)(HTTP) .TP .B 100-199,500-599 specifies two separate 100-byte ranges(*) (HTTP) .RE .IP (*) = NOTE that this will cause the server to reply with a multipart response! Only digit characters (0-9) are valid in the 'start' and 'stop' fields of the \&'start-stop' range syntax. If a non-digit character is given in the range, the server's response will be unspecified, depending on the server's configuration. You should also be aware that many HTTP/1.1 servers do not have this feature enabled, so that when you attempt to get a range, you'll instead get the whole document. FTP and SFTP range downloads only support the simple 'start-stop' syntax (optionally with one of the numbers omitted). FTP use depends on the extended FTP command SIZE. If this option is used several times, the last one will be used. .IP "-R, --remote-time" When used, this will make curl attempt to figure out the timestamp of the remote file, and if that is available make the local file get that same timestamp. .IP "--random-file " (SSL) Specify the path name to file containing what will be considered as random data. The data is used to seed the random engine for SSL connections. See also the \fI--egd-file\fP option. .IP "--raw" (HTTP) When used, it disables all internal HTTP decoding of content or transfer encodings and instead makes them passed on unaltered, raw. (Added in 7.16.2) .IP "--remote-name-all" This option changes the default action for all given URLs to be dealt with as if \fI-O, --remote-name\fP were used for each one. So if you want to disable that for a specific URL after \fI--remote-name-all\fP has been used, you must use "-o -" or \fI--no-remote-name\fP. (Added in 7.19.0) .IP "--resolve " Provide a custom address for a specific host and port pair. Using this, you can make the curl requests(s) use a specified address and prevent the otherwise normally resolved address to be used. Consider it a sort of /etc/hosts alternative provided on the command line. The port number should be the number used for the specific protocol the host will be used for. It means you need several entries if you want to provide address for the same host but different ports. This option can be used many times to add many host names to resolve. (Added in 7.21.3) .IP "--retry " If a transient error is returned when curl tries to perform a transfer, it will retry this number of times before giving up. Setting the number to 0 makes curl do no retries (which is the default). Transient error means either: a timeout, an FTP 4xx response code or an HTTP 5xx response code. When curl is about to retry a transfer, it will first wait one second and then for all forthcoming retries it will double the waiting time until it reaches 10 minutes which then will be the delay between the rest of the retries. By using \fI--retry-delay\fP you disable this exponential backoff algorithm. See also \fI--retry-max-time\fP to limit the total time allowed for retries. (Added in 7.12.3) If this option is used several times, the last one will be used. .IP "--retry-delay " Make curl sleep this amount of time before each retry when a transfer has failed with a transient error (it changes the default backoff time algorithm between retries). This option is only interesting if \fI--retry\fP is also used. Setting this delay to zero will make curl use the default backoff time. (Added in 7.12.3) If this option is used several times, the last one will be used. .IP "--retry-max-time " The retry timer is reset before the first transfer attempt. Retries will be done as usual (see \fI--retry\fP) as long as the timer hasn't reached this given limit. Notice that if the timer hasn't reached the limit, the request will be made and while performing, it may take longer than this given time period. To limit a single request\'s maximum time, use \fI-m, --max-time\fP. Set this option to zero to not timeout retries. (Added in 7.12.3) If this option is used several times, the last one will be used. .IP "-s, --silent" Silent or quiet mode. Don't show progress meter or error messages. Makes Curl mute. It will still output the data you ask for, potentially even to the terminal/stdout unless you redirect it. .IP "--sasl-ir" Enable initial response in SASL authentication. (Added in 7.31.0) .IP "--service-name " This option allows you to change the service name for SPNEGO. Examples: --negotiate \fI--service-name\fP sockd would use sockd/server-name. (Added in 7.43.0). .IP "-S, --show-error" When used with \fI-s\fP it makes curl show an error message if it fails. .IP "--ssl" (FTP, POP3, IMAP, SMTP) Try to use SSL/TLS for the connection. Reverts to a non-secure connection if the server doesn't support SSL/TLS. See also \fI--ftp-ssl-control\fP and \fI--ssl-reqd\fP for different levels of encryption required. (Added in 7.20.0) This option was formerly known as \fI--ftp-ssl\fP (Added in 7.11.0). That option name can still be used but will be removed in a future version. .IP "--ssl-reqd" (FTP, POP3, IMAP, SMTP) Require SSL/TLS for the connection. Terminates the connection if the server doesn't support SSL/TLS. (Added in 7.20.0) This option was formerly known as \fI--ftp-ssl-reqd\fP (added in 7.15.5). That option name can still be used but will be removed in a future version. .IP "--ssl-allow-beast" (SSL) This option tells curl to not work around a security flaw in the SSL3 and TLS1.0 protocols known as BEAST. If this option isn't used, the SSL layer may use workarounds known to cause interoperability problems with some older SSL implementations. WARNING: this option loosens the SSL security, and by using this flag you ask for exactly that. (Added in 7.25.0) .IP "--ssl-no-revoke" (WinSSL) This option tells curl to disable certificate revocation checks. WARNING: this option loosens the SSL security, and by using this flag you ask for exactly that. (Added in 7.44.0) .IP "--socks4 " Use the specified SOCKS4 proxy. If the port number is not specified, it is assumed at port 1080. (Added in 7.15.2) This option overrides any previous use of \fI-x, --proxy\fP, as they are mutually exclusive. Since 7.21.7, this option is superfluous since you can specify a socks4 proxy with \fI-x, --proxy\fP using a socks4:// protocol prefix. If this option is used several times, the last one will be used. .IP "--socks4a " Use the specified SOCKS4a proxy. If the port number is not specified, it is assumed at port 1080. (Added in 7.18.0) This option overrides any previous use of \fI-x, --proxy\fP, as they are mutually exclusive. Since 7.21.7, this option is superfluous since you can specify a socks4a proxy with \fI-x, --proxy\fP using a socks4a:// protocol prefix. If this option is used several times, the last one will be used. .IP "--socks5-hostname " Use the specified SOCKS5 proxy (and let the proxy resolve the host name). If the port number is not specified, it is assumed at port 1080. (Added in 7.18.0) This option overrides any previous use of \fI-x, --proxy\fP, as they are mutually exclusive. Since 7.21.7, this option is superfluous since you can specify a socks5 hostname proxy with \fI-x, --proxy\fP using a socks5h:// protocol prefix. If this option is used several times, the last one will be used. (This option was previously wrongly documented and used as --socks without the number appended.) .IP "--socks5 " Use the specified SOCKS5 proxy - but resolve the host name locally. If the port number is not specified, it is assumed at port 1080. This option overrides any previous use of \fI-x, --proxy\fP, as they are mutually exclusive. Since 7.21.7, this option is superfluous since you can specify a socks5 proxy with \fI-x, --proxy\fP using a socks5:// protocol prefix. If this option is used several times, the last one will be used. (This option was previously wrongly documented and used as --socks without the number appended.) This option (as well as \fI--socks4\fP) does not work with IPV6, FTPS or LDAP. .IP "--socks5-gssapi-service " The default service name for a socks server is rcmd/server-fqdn. This option allows you to change it. Examples: --socks5 proxy-name \fI--socks5-gssapi-service\fP sockd would use sockd/proxy-name --socks5 proxy-name \fI--socks5-gssapi-service\fP sockd/real-name would use sockd/real-name for cases where the proxy-name does not match the principal name. (Added in 7.19.4). .IP "--socks5-gssapi-nec" As part of the GSS-API negotiation a protection mode is negotiated. RFC 1961 says in section 4.3/4.4 it should be protected, but the NEC reference implementation does not. The option \fI--socks5-gssapi-nec\fP allows the unprotected exchange of the protection mode negotiation. (Added in 7.19.4). .IP "--stderr " Redirect all writes to stderr to the specified file instead. If the file name is a plain '-', it is instead written to stdout. If this option is used several times, the last one will be used. .IP "-t, --telnet-option " Pass options to the telnet protocol. Supported options are: TTYPE= Sets the terminal type. XDISPLOC= Sets the X display location. NEW_ENV= Sets an environment variable. .IP "-T, --upload-file " This transfers the specified local file to the remote URL. If there is no file part in the specified URL, Curl will append the local file name. NOTE that you must use a trailing / on the last directory to really prove to Curl that there is no file name or curl will think that your last directory name is the remote file name to use. That will most likely cause the upload operation to fail. If this is used on an HTTP(S) server, the PUT command will be used. Use the file name "-" (a single dash) to use stdin instead of a given file. Alternately, the file name "." (a single period) may be specified instead of "-" to use stdin in non-blocking mode to allow reading server output while stdin is being uploaded. You can specify one -T for each URL on the command line. Each -T + URL pair specifies what to upload and to where. curl also supports "globbing" of the -T argument, meaning that you can upload multiple files to a single URL by using the same URL globbing style supported in the URL, like this: curl -T "{file1,file2}" http://www.uploadtothissite.com or even curl -T "img[1-1000].png" ftp://ftp.picturemania.com/upload/ .IP "--tcp-nodelay" Turn on the TCP_NODELAY option. See the \fIcurl_easy_setopt(3)\fP man page for details about this option. (Added in 7.11.2) .IP "--tftp-blksize " (TFTP) Set TFTP BLKSIZE option (must be >512). This is the block size that curl will try to use when transferring data to or from a TFTP server. By default 512 bytes will be used. If this option is used several times, the last one will be used. (Added in 7.20.0) .IP "--tlsauthtype " Set TLS authentication type. Currently, the only supported option is "SRP", for TLS-SRP (RFC 5054). If \fI--tlsuser\fP and \fI--tlspassword\fP are specified but \fI--tlsauthtype\fP is not, then this option defaults to "SRP". (Added in 7.21.4) .IP "--tlspassword " Set password for use with the TLS authentication method specified with \fI--tlsauthtype\fP. Requires that \fI--tlsuser\fP also be set. (Added in 7.21.4) .IP "--tlsuser " Set username for use with the TLS authentication method specified with \fI--tlsauthtype\fP. Requires that \fI--tlspassword\fP also be set. (Added in 7.21.4) .IP "--tlsv1.0" (SSL) Forces curl to use TLS version 1.0 when negotiating with a remote TLS server. (Added in 7.34.0) .IP "--tlsv1.1" (SSL) Forces curl to use TLS version 1.1 when negotiating with a remote TLS server. (Added in 7.34.0) .IP "--tlsv1.2" (SSL) Forces curl to use TLS version 1.2 when negotiating with a remote TLS server. (Added in 7.34.0) .IP "--tr-encoding" (HTTP) Request a compressed Transfer-Encoding response using one of the algorithms curl supports, and uncompress the data while receiving it. (Added in 7.21.6) .IP "--trace " Enables a full trace dump of all incoming and outgoing data, including descriptive information, to the given output file. Use "-" as filename to have the output sent to stdout. This option overrides previous uses of \fI-v, --verbose\fP or \fI--trace-ascii\fP. If this option is used several times, the last one will be used. .IP "--trace-ascii " Enables a full trace dump of all incoming and outgoing data, including descriptive information, to the given output file. Use "-" as filename to have the output sent to stdout. This is very similar to \fI--trace\fP, but leaves out the hex part and only shows the ASCII part of the dump. It makes smaller output that might be easier to read for untrained humans. This option overrides previous uses of \fI-v, --verbose\fP or \fI--trace\fP. If this option is used several times, the last one will be used. .IP "--trace-time" Prepends a time stamp to each trace or verbose line that curl displays. (Added in 7.14.0) .IP "--unix-socket " (HTTP) Connect through this Unix domain socket, instead of using the network. (Added in 7.40.0) .IP "-u, --user " Specify the user name and password to use for server authentication. Overrides \fI-n, --netrc\fP and \fI--netrc-optional\fP. If you simply specify the user name, curl will prompt for a password. The user name and passwords are split up on the first colon, which makes it impossible to use a colon in the user name with this option. The password can, still. When using Kerberos V5 with a Windows based server you should include the Windows domain name in the user name, in order for the server to successfully obtain a Kerberos Ticket. If you don't then the initial authentication handshake may fail. When using NTLM, the user name can be specified simply as the user name, without the domain, if there is a single domain and forest in your setup for example. To specify the domain name use either Down-Level Logon Name or UPN (User Principal Name) formats. For example, EXAMPLE\\user and user@example.com respectively. If you use a Windows SSPI-enabled curl binary and perform Kerberos V5, Negotiate, NTLM or Digest authentication then you can tell curl to select the user name and password from your environment by specifying a single colon with this option: "-u :". If this option is used several times, the last one will be used. .IP "-U, --proxy-user " Specify the user name and password to use for proxy authentication. If you use a Windows SSPI-enabled curl binary and do either Negotiate or NTLM authentication then you can tell curl to select the user name and password from your environment by specifying a single colon with this option: "-U :". If this option is used several times, the last one will be used. .IP "--url " Specify a URL to fetch. This option is mostly handy when you want to specify URL(s) in a config file. If the given URL is missing a scheme name (such as "http://" or "ftp://" etc) then curl will make a guess based on the host. If the outermost sub-domain name matches DICT, FTP, IMAP, LDAP, POP3 or SMTP then that protocol will be used, otherwise HTTP will be used. Since 7.45.0 guessing can be disabled by setting a default protocol, see \fI--proto-default\fP for details. This option may be used any number of times. To control where this URL is written, use the \fI-o, --output\fP or the \fI-O, --remote-name\fP options. .IP "-v, --verbose" Be more verbose/talkative during the operation. Useful for debugging and seeing what's going on "under the hood". A line starting with '>' means "header data" sent by curl, '<' means "header data" received by curl that is hidden in normal cases, and a line starting with '*' means additional info provided by curl. Note that if you only want HTTP headers in the output, \fI-i, --include\fP might be the option you're looking for. If you think this option still doesn't give you enough details, consider using \fI--trace\fP or \fI--trace-ascii\fP instead. This option overrides previous uses of \fI--trace-ascii\fP or \fI--trace\fP. Use \fI-s, --silent\fP to make curl quiet. .IP "-w, --write-out " Make curl display information on stdout after a completed transfer. The format is a string that may contain plain text mixed with any number of variables. The format can be specified as a literal "string", or you can have curl read the format from a file with "@filename" and to tell curl to read the format from stdin you write "@-". The variables present in the output format will be substituted by the value or text that curl thinks fit, as described below. All variables are specified as %{variable_name} and to output a normal % you just write them as %%. You can output a newline by using \\n, a carriage return with \\r and a tab space with \\t. .B NOTE: The %-symbol is a special symbol in the win32-environment, where all occurrences of % must be doubled when using this option. The variables available are: .RS .TP 15 .B content_type The Content-Type of the requested document, if there was any. .TP .B filename_effective The ultimate filename that curl writes out to. This is only meaningful if curl is told to write to a file with the \fI--remote-name\fP or \fI--output\fP option. It's most useful in combination with the \fI--remote-header-name\fP option. (Added in 7.25.1) .TP .B ftp_entry_path The initial path curl ended up in when logging on to the remote FTP server. (Added in 7.15.4) .TP .B http_code The numerical response code that was found in the last retrieved HTTP(S) or FTP(s) transfer. In 7.18.2 the alias \fBresponse_code\fP was added to show the same info. .TP .B http_connect The numerical code that was found in the last response (from a proxy) to a curl CONNECT request. (Added in 7.12.4) .TP .B local_ip The IP address of the local end of the most recently done connection - can be either IPv4 or IPv6 (Added in 7.29.0) .TP .B local_port The local port number of the most recently done connection (Added in 7.29.0) .TP .B num_connects Number of new connects made in the recent transfer. (Added in 7.12.3) .TP .B num_redirects Number of redirects that were followed in the request. (Added in 7.12.3) .TP .B redirect_url When an HTTP request was made without -L to follow redirects, this variable will show the actual URL a redirect \fIwould\fP take you to. (Added in 7.18.2) .TP .B remote_ip The remote IP address of the most recently done connection - can be either IPv4 or IPv6 (Added in 7.29.0) .TP .B remote_port The remote port number of the most recently done connection (Added in 7.29.0) .TP .B size_download The total amount of bytes that were downloaded. .TP .B size_header The total amount of bytes of the downloaded headers. .TP .B size_request The total amount of bytes that were sent in the HTTP request. .TP .B size_upload The total amount of bytes that were uploaded. .TP .B speed_download The average download speed that curl measured for the complete download. Bytes per second. .TP .B speed_upload The average upload speed that curl measured for the complete upload. Bytes per second. .TP .B ssl_verify_result The result of the SSL peer certificate verification that was requested. 0 means the verification was successful. (Added in 7.19.0) .TP .B time_appconnect The time, in seconds, it took from the start until the SSL/SSH/etc connect/handshake to the remote host was completed. (Added in 7.19.0) .TP .B time_connect The time, in seconds, it took from the start until the TCP connect to the remote host (or proxy) was completed. .TP .B time_namelookup The time, in seconds, it took from the start until the name resolving was completed. .TP .B time_pretransfer The time, in seconds, it took from the start until the file transfer was just about to begin. This includes all pre-transfer commands and negotiations that are specific to the particular protocol(s) involved. .TP .B time_redirect The time, in seconds, it took for all redirection steps include name lookup, connect, pretransfer and transfer before the final transaction was started. time_redirect shows the complete execution time for multiple redirections. (Added in 7.12.3) .TP .B time_starttransfer The time, in seconds, it took from the start until the first byte was just about to be transferred. This includes time_pretransfer and also the time the server needed to calculate the result. .TP .B time_total The total time, in seconds, that the full operation lasted. The time will be displayed with millisecond resolution. .TP .B url_effective The URL that was fetched last. This is most meaningful if you've told curl to follow location: headers. .RE .IP If this option is used several times, the last one will be used. .IP "-x, --proxy <[protocol://][user:password@]proxyhost[:port]>" Use the specified proxy. The proxy string can be specified with a protocol:// prefix to specify alternative proxy protocols. Use socks4://, socks4a://, socks5:// or socks5h:// to request the specific SOCKS version to be used. No protocol specified, http:// and all others will be treated as HTTP proxies. (The protocol support was added in curl 7.21.7) If the port number is not specified in the proxy string, it is assumed to be 1080. This option overrides existing environment variables that set the proxy to use. If there's an environment variable setting a proxy, you can set proxy to \&"" to override it. All operations that are performed over an HTTP proxy will transparently be converted to HTTP. It means that certain protocol specific operations might not be available. This is not the case if you can tunnel through the proxy, as one with the \fI-p, --proxytunnel\fP option. User and password that might be provided in the proxy string are URL decoded by curl. This allows you to pass in special characters such as @ by using %40 or pass in a colon with %3a. The proxy host can be specified the exact same way as the proxy environment variables, including the protocol prefix (http://) and the embedded user + password. If this option is used several times, the last one will be used. .IP "-X, --request " (HTTP) Specifies a custom request method to use when communicating with the HTTP server. The specified request method will be used instead of the method otherwise used (which defaults to GET). Read the HTTP 1.1 specification for details and explanations. Common additional HTTP requests include PUT and DELETE, but related technologies like WebDAV offers PROPFIND, COPY, MOVE and more. Normally you don't need this option. All sorts of GET, HEAD, POST and PUT requests are rather invoked by using dedicated command line options. This option only changes the actual word used in the HTTP request, it does not alter the way curl behaves. So for example if you want to make a proper HEAD request, using -X HEAD will not suffice. You need to use the \fI-I, --head\fP option. The method string you set with -X will be used for all requests, which if you for example use \fB-L, --location\fP may cause unintended side-effects when curl doesn't change request method according to the HTTP 30x response codes - and similar. (FTP) Specifies a custom FTP command to use instead of LIST when doing file lists with FTP. (POP3) Specifies a custom POP3 command to use instead of LIST or RETR. (Added in 7.26.0) (IMAP) Specifies a custom IMAP command to use instead of LIST. (Added in 7.30.0) (SMTP) Specifies a custom SMTP command to use instead of HELP or VRFY. (Added in 7.34.0) If this option is used several times, the last one will be used. .IP "--xattr" When saving output to a file, this option tells curl to store certain file metadata in extended file attributes. Currently, the URL is stored in the xdg.origin.url attribute and, for HTTP, the content type is stored in the mime_type attribute. If the file system does not support extended attributes, a warning is issued. .IP "-y, --speed-time