diff --git a/.gitignore b/.gitignore index d9add78..3b7e503 100644 --- a/.gitignore +++ b/.gitignore @@ -120,3 +120,4 @@ Generated_Code #added for RIA/Silverlight projects _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML +/.vs diff --git a/CurlSharp.sln b/CurlSharp.sln index 01b350c..e66c0ba 100644 --- a/CurlSharp.sln +++ b/CurlSharp.sln @@ -1,39 +1,11 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26403.7 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36414.22 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{1D9C4DDD-E840-4F6E-9310-54D21BC13F31}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinSamples", "Samples\WinSamples\WinSamples.csproj", "{801CC278-82B2-4CEE-84FC-B10B1497A957}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BookPost", "Samples\BookPost\BookPost.csproj", "{62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EasyGet", "Samples\EasyGet\EasyGet.csproj", "{91C7E5DF-18CD-4C80-A75F-E623974B5601}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MultiDemo", "Samples\MultiDemo\MultiDemo.csproj", "{0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShareDemo", "Samples\ShareDemo\ShareDemo.csproj", "{13944DE4-542B-43B4-BFAC-942B60009B57}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileUpload", "Samples\FileUpload\FileUpload.csproj", "{843D6F18-DC96-4311-A05A-8A0266701154}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Headers", "Samples\Headers\Headers.csproj", "{A664A80B-B15D-4B50-AFB5-A5B580938141}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InfoDemo", "Samples\InfoDemo\InfoDemo.csproj", "{5EE3D141-364C-43CE-A59C-B52BB374A154}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersionData", "Samples\VersionData\VersionData.csproj", "{5A9FF361-146F-4D2E-8CFC-1981D2559AC3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Upload", "Samples\Upload\Upload.csproj", "{C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SSLGet", "Samples\SSLGet\SSLGet.csproj", "{683D4D7B-623D-4AC7-846E-E5484366EF6F}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CurlSharp", "CurlSharp\CurlSharp.csproj", "{74420A79-CC16-442C-8B1E-7C1B913844F0}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EasyPost", "Samples\EasyPost\EasyPost.csproj", "{0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SmtpMail", "Samples\SmtpMail\SmtpMail.csproj", "{89F35B44-C420-48C0-963A-5694E0E1FE26}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Http2Download", "Samples\Http2Download\Http2Download.csproj", "{22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Examples", "Examples\Examples.csproj", "{9A825EF0-B622-4A8F-BF30-DAD7C47CF367}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -57,390 +29,6 @@ Global ReleaseWithoutAsm|x86 = ReleaseWithoutAsm|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Debug|Any CPU.ActiveCfg = Debug|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Debug|Itanium.ActiveCfg = Debug|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Debug|Win32.ActiveCfg = Debug|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Debug|Win32.Build.0 = Debug|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Debug|x64.ActiveCfg = Debug|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Debug|x86.ActiveCfg = Debug|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Debug|x86.Build.0 = Debug|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Release|Any CPU.ActiveCfg = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Release|Itanium.ActiveCfg = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Release|Mixed Platforms.Build.0 = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Release|Win32.ActiveCfg = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Release|Win32.Build.0 = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Release|x64.ActiveCfg = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Release|x86.ActiveCfg = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.Release|x86.Build.0 = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x86 - {801CC278-82B2-4CEE-84FC-B10B1497A957}.ReleaseWithoutAsm|x86.ActiveCfg = Release|x86 - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Debug|Itanium.ActiveCfg = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Debug|Itanium.Build.0 = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Debug|Win32.ActiveCfg = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Debug|Win32.Build.0 = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Debug|x64.ActiveCfg = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Debug|x64.Build.0 = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Debug|x86.ActiveCfg = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Debug|x86.Build.0 = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Release|Any CPU.Build.0 = Release|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Release|Itanium.ActiveCfg = Release|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Release|Itanium.Build.0 = Release|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Release|Win32.ActiveCfg = Release|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Release|Win32.Build.0 = Release|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Release|x64.ActiveCfg = Release|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Release|x64.Build.0 = Release|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Release|x86.ActiveCfg = Release|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.Release|x86.Build.0 = Release|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.ReleaseWithoutAsm|Any CPU.Build.0 = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.ReleaseWithoutAsm|Itanium.ActiveCfg = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.ReleaseWithoutAsm|Itanium.Build.0 = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.ReleaseWithoutAsm|Win32.ActiveCfg = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.ReleaseWithoutAsm|Win32.Build.0 = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.ReleaseWithoutAsm|x64.ActiveCfg = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.ReleaseWithoutAsm|x64.Build.0 = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.ReleaseWithoutAsm|x86.ActiveCfg = Debug|Any CPU - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C}.ReleaseWithoutAsm|x86.Build.0 = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Debug|Any CPU.Build.0 = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Debug|Itanium.ActiveCfg = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Debug|Itanium.Build.0 = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Debug|Win32.ActiveCfg = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Debug|Win32.Build.0 = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Debug|x64.ActiveCfg = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Debug|x64.Build.0 = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Debug|x86.ActiveCfg = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Debug|x86.Build.0 = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Release|Any CPU.ActiveCfg = Release|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Release|Any CPU.Build.0 = Release|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Release|Itanium.ActiveCfg = Release|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Release|Itanium.Build.0 = Release|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Release|Win32.ActiveCfg = Release|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Release|Win32.Build.0 = Release|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Release|x64.ActiveCfg = Release|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Release|x64.Build.0 = Release|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Release|x86.ActiveCfg = Release|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.Release|x86.Build.0 = Release|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.ReleaseWithoutAsm|Any CPU.Build.0 = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.ReleaseWithoutAsm|Itanium.ActiveCfg = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.ReleaseWithoutAsm|Itanium.Build.0 = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.ReleaseWithoutAsm|Win32.ActiveCfg = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.ReleaseWithoutAsm|Win32.Build.0 = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.ReleaseWithoutAsm|x64.ActiveCfg = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.ReleaseWithoutAsm|x64.Build.0 = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.ReleaseWithoutAsm|x86.ActiveCfg = Debug|Any CPU - {91C7E5DF-18CD-4C80-A75F-E623974B5601}.ReleaseWithoutAsm|x86.Build.0 = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Debug|Itanium.ActiveCfg = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Debug|Itanium.Build.0 = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Debug|Win32.ActiveCfg = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Debug|Win32.Build.0 = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Debug|x64.ActiveCfg = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Debug|x64.Build.0 = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Debug|x86.ActiveCfg = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Debug|x86.Build.0 = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Release|Any CPU.Build.0 = Release|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Release|Itanium.ActiveCfg = Release|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Release|Itanium.Build.0 = Release|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Release|Win32.ActiveCfg = Release|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Release|Win32.Build.0 = Release|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Release|x64.ActiveCfg = Release|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Release|x64.Build.0 = Release|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Release|x86.ActiveCfg = Release|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.Release|x86.Build.0 = Release|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.ReleaseWithoutAsm|Any CPU.Build.0 = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.ReleaseWithoutAsm|Itanium.ActiveCfg = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.ReleaseWithoutAsm|Itanium.Build.0 = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.ReleaseWithoutAsm|Win32.ActiveCfg = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.ReleaseWithoutAsm|Win32.Build.0 = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.ReleaseWithoutAsm|x64.ActiveCfg = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.ReleaseWithoutAsm|x64.Build.0 = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.ReleaseWithoutAsm|x86.ActiveCfg = Debug|Any CPU - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6}.ReleaseWithoutAsm|x86.Build.0 = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Debug|Any CPU.Build.0 = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Debug|Itanium.ActiveCfg = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Debug|Itanium.Build.0 = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Debug|Win32.ActiveCfg = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Debug|Win32.Build.0 = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Debug|x64.ActiveCfg = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Debug|x64.Build.0 = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Debug|x86.ActiveCfg = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Debug|x86.Build.0 = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Release|Any CPU.ActiveCfg = Release|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Release|Any CPU.Build.0 = Release|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Release|Itanium.ActiveCfg = Release|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Release|Itanium.Build.0 = Release|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Release|Win32.ActiveCfg = Release|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Release|Win32.Build.0 = Release|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Release|x64.ActiveCfg = Release|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Release|x64.Build.0 = Release|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Release|x86.ActiveCfg = Release|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.Release|x86.Build.0 = Release|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.ReleaseWithoutAsm|Any CPU.Build.0 = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.ReleaseWithoutAsm|Itanium.ActiveCfg = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.ReleaseWithoutAsm|Itanium.Build.0 = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.ReleaseWithoutAsm|Win32.ActiveCfg = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.ReleaseWithoutAsm|Win32.Build.0 = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.ReleaseWithoutAsm|x64.ActiveCfg = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.ReleaseWithoutAsm|x64.Build.0 = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.ReleaseWithoutAsm|x86.ActiveCfg = Debug|Any CPU - {13944DE4-542B-43B4-BFAC-942B60009B57}.ReleaseWithoutAsm|x86.Build.0 = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Debug|Any CPU.Build.0 = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Debug|Itanium.ActiveCfg = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Debug|Itanium.Build.0 = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Debug|Win32.ActiveCfg = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Debug|Win32.Build.0 = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Debug|x64.ActiveCfg = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Debug|x64.Build.0 = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Debug|x86.ActiveCfg = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Debug|x86.Build.0 = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Release|Any CPU.ActiveCfg = Release|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Release|Any CPU.Build.0 = Release|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Release|Itanium.ActiveCfg = Release|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Release|Itanium.Build.0 = Release|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Release|Win32.ActiveCfg = Release|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Release|Win32.Build.0 = Release|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Release|x64.ActiveCfg = Release|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Release|x64.Build.0 = Release|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Release|x86.ActiveCfg = Release|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.Release|x86.Build.0 = Release|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.ReleaseWithoutAsm|Any CPU.Build.0 = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.ReleaseWithoutAsm|Itanium.ActiveCfg = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.ReleaseWithoutAsm|Itanium.Build.0 = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.ReleaseWithoutAsm|Win32.ActiveCfg = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.ReleaseWithoutAsm|Win32.Build.0 = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.ReleaseWithoutAsm|x64.ActiveCfg = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.ReleaseWithoutAsm|x64.Build.0 = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.ReleaseWithoutAsm|x86.ActiveCfg = Debug|Any CPU - {843D6F18-DC96-4311-A05A-8A0266701154}.ReleaseWithoutAsm|x86.Build.0 = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Debug|Itanium.ActiveCfg = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Debug|Itanium.Build.0 = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Debug|Win32.ActiveCfg = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Debug|Win32.Build.0 = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Debug|x64.ActiveCfg = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Debug|x64.Build.0 = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Debug|x86.ActiveCfg = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Debug|x86.Build.0 = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Release|Any CPU.Build.0 = Release|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Release|Itanium.ActiveCfg = Release|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Release|Itanium.Build.0 = Release|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Release|Win32.ActiveCfg = Release|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Release|Win32.Build.0 = Release|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Release|x64.ActiveCfg = Release|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Release|x64.Build.0 = Release|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Release|x86.ActiveCfg = Release|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.Release|x86.Build.0 = Release|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.ReleaseWithoutAsm|Any CPU.Build.0 = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.ReleaseWithoutAsm|Itanium.ActiveCfg = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.ReleaseWithoutAsm|Itanium.Build.0 = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.ReleaseWithoutAsm|Win32.ActiveCfg = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.ReleaseWithoutAsm|Win32.Build.0 = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.ReleaseWithoutAsm|x64.ActiveCfg = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.ReleaseWithoutAsm|x64.Build.0 = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.ReleaseWithoutAsm|x86.ActiveCfg = Debug|Any CPU - {A664A80B-B15D-4B50-AFB5-A5B580938141}.ReleaseWithoutAsm|x86.Build.0 = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Debug|Itanium.ActiveCfg = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Debug|Itanium.Build.0 = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Debug|Win32.ActiveCfg = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Debug|Win32.Build.0 = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Debug|x64.ActiveCfg = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Debug|x64.Build.0 = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Debug|x86.ActiveCfg = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Debug|x86.Build.0 = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Release|Any CPU.Build.0 = Release|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Release|Itanium.ActiveCfg = Release|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Release|Itanium.Build.0 = Release|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Release|Win32.ActiveCfg = Release|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Release|Win32.Build.0 = Release|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Release|x64.ActiveCfg = Release|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Release|x64.Build.0 = Release|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Release|x86.ActiveCfg = Release|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.Release|x86.Build.0 = Release|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.ReleaseWithoutAsm|Any CPU.Build.0 = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.ReleaseWithoutAsm|Itanium.ActiveCfg = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.ReleaseWithoutAsm|Itanium.Build.0 = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.ReleaseWithoutAsm|Win32.ActiveCfg = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.ReleaseWithoutAsm|Win32.Build.0 = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.ReleaseWithoutAsm|x64.ActiveCfg = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.ReleaseWithoutAsm|x64.Build.0 = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.ReleaseWithoutAsm|x86.ActiveCfg = Debug|Any CPU - {5EE3D141-364C-43CE-A59C-B52BB374A154}.ReleaseWithoutAsm|x86.Build.0 = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Debug|Itanium.ActiveCfg = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Debug|Itanium.Build.0 = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Debug|Win32.ActiveCfg = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Debug|Win32.Build.0 = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Debug|x64.ActiveCfg = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Debug|x64.Build.0 = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Debug|x86.ActiveCfg = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Debug|x86.Build.0 = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Release|Any CPU.Build.0 = Release|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Release|Itanium.ActiveCfg = Release|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Release|Itanium.Build.0 = Release|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Release|Win32.ActiveCfg = Release|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Release|Win32.Build.0 = Release|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Release|x64.ActiveCfg = Release|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Release|x64.Build.0 = Release|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Release|x86.ActiveCfg = Release|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.Release|x86.Build.0 = Release|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.ReleaseWithoutAsm|Any CPU.Build.0 = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.ReleaseWithoutAsm|Itanium.ActiveCfg = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.ReleaseWithoutAsm|Itanium.Build.0 = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.ReleaseWithoutAsm|Win32.ActiveCfg = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.ReleaseWithoutAsm|Win32.Build.0 = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.ReleaseWithoutAsm|x64.ActiveCfg = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.ReleaseWithoutAsm|x64.Build.0 = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.ReleaseWithoutAsm|x86.ActiveCfg = Debug|Any CPU - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3}.ReleaseWithoutAsm|x86.Build.0 = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Debug|Itanium.ActiveCfg = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Debug|Itanium.Build.0 = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Debug|Win32.ActiveCfg = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Debug|Win32.Build.0 = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Debug|x64.ActiveCfg = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Debug|x64.Build.0 = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Debug|x86.ActiveCfg = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Debug|x86.Build.0 = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Release|Any CPU.Build.0 = Release|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Release|Itanium.ActiveCfg = Release|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Release|Itanium.Build.0 = Release|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Release|Win32.ActiveCfg = Release|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Release|Win32.Build.0 = Release|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Release|x64.ActiveCfg = Release|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Release|x64.Build.0 = Release|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Release|x86.ActiveCfg = Release|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.Release|x86.Build.0 = Release|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.ReleaseWithoutAsm|Any CPU.Build.0 = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.ReleaseWithoutAsm|Itanium.ActiveCfg = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.ReleaseWithoutAsm|Itanium.Build.0 = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.ReleaseWithoutAsm|Win32.ActiveCfg = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.ReleaseWithoutAsm|Win32.Build.0 = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.ReleaseWithoutAsm|x64.ActiveCfg = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.ReleaseWithoutAsm|x64.Build.0 = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.ReleaseWithoutAsm|x86.ActiveCfg = Debug|Any CPU - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7}.ReleaseWithoutAsm|x86.Build.0 = Debug|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Debug|Itanium.ActiveCfg = Debug|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Debug|Itanium.Build.0 = Debug|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Debug|Win32.ActiveCfg = Debug|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Debug|Win32.Build.0 = Debug|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Debug|x64.ActiveCfg = Debug|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Debug|x64.Build.0 = Debug|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Debug|x86.ActiveCfg = Debug|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Debug|x86.Build.0 = Debug|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Release|Any CPU.Build.0 = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Release|Itanium.ActiveCfg = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Release|Itanium.Build.0 = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Release|Win32.ActiveCfg = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Release|Win32.Build.0 = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Release|x64.ActiveCfg = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Release|x64.Build.0 = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Release|x86.ActiveCfg = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.Release|x86.Build.0 = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.ReleaseWithoutAsm|Any CPU.Build.0 = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.ReleaseWithoutAsm|Win32.Build.0 = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.ReleaseWithoutAsm|x64.Build.0 = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.ReleaseWithoutAsm|x86.ActiveCfg = Release|Any CPU - {683D4D7B-623D-4AC7-846E-E5484366EF6F}.ReleaseWithoutAsm|x86.Build.0 = Release|Any CPU {74420A79-CC16-442C-8B1E-7C1B913844F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {74420A79-CC16-442C-8B1E-7C1B913844F0}.Debug|Any CPU.Build.0 = Debug|Any CPU {74420A79-CC16-442C-8B1E-7C1B913844F0}.Debug|Itanium.ActiveCfg = Debug|Any CPU @@ -477,110 +65,46 @@ Global {74420A79-CC16-442C-8B1E-7C1B913844F0}.ReleaseWithoutAsm|x64.Build.0 = Debug|Any CPU {74420A79-CC16-442C-8B1E-7C1B913844F0}.ReleaseWithoutAsm|x86.ActiveCfg = Debug|Any CPU {74420A79-CC16-442C-8B1E-7C1B913844F0}.ReleaseWithoutAsm|x86.Build.0 = Debug|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Debug|Itanium.ActiveCfg = Debug|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Debug|Win32.ActiveCfg = Debug|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Debug|x64.ActiveCfg = Debug|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Debug|x86.ActiveCfg = Debug|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Release|Any CPU.Build.0 = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Release|Itanium.ActiveCfg = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Release|Win32.ActiveCfg = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Release|x64.ActiveCfg = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.Release|x86.ActiveCfg = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.ReleaseWithoutAsm|Any CPU.Build.0 = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Any CPU - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89}.ReleaseWithoutAsm|x86.ActiveCfg = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Debug|Any CPU.Build.0 = Debug|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Debug|Itanium.ActiveCfg = Debug|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Debug|Win32.ActiveCfg = Debug|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Debug|x64.ActiveCfg = Debug|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Debug|x86.ActiveCfg = Debug|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Release|Any CPU.ActiveCfg = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Release|Any CPU.Build.0 = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Release|Itanium.ActiveCfg = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Release|Win32.ActiveCfg = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Release|x64.ActiveCfg = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.Release|x86.ActiveCfg = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.ReleaseWithoutAsm|Any CPU.Build.0 = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Any CPU - {89F35B44-C420-48C0-963A-5694E0E1FE26}.ReleaseWithoutAsm|x86.ActiveCfg = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Debug|Any CPU.Build.0 = Debug|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Debug|Itanium.ActiveCfg = Debug|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Debug|Itanium.Build.0 = Debug|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Debug|Win32.ActiveCfg = Debug|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Debug|Win32.Build.0 = Debug|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Debug|x64.ActiveCfg = Debug|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Debug|x64.Build.0 = Debug|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Debug|x86.ActiveCfg = Debug|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Debug|x86.Build.0 = Debug|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Release|Any CPU.ActiveCfg = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Release|Any CPU.Build.0 = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Release|Itanium.ActiveCfg = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Release|Itanium.Build.0 = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Release|Win32.ActiveCfg = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Release|Win32.Build.0 = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Release|x64.ActiveCfg = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Release|x64.Build.0 = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Release|x86.ActiveCfg = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.Release|x86.Build.0 = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.ReleaseWithoutAsm|Any CPU.Build.0 = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.ReleaseWithoutAsm|Win32.Build.0 = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.ReleaseWithoutAsm|x64.Build.0 = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.ReleaseWithoutAsm|x86.ActiveCfg = Release|Any CPU - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10}.ReleaseWithoutAsm|x86.Build.0 = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Debug|Itanium.ActiveCfg = Debug|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Debug|Itanium.Build.0 = Debug|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Debug|Win32.ActiveCfg = Debug|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Debug|Win32.Build.0 = Debug|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Debug|x64.ActiveCfg = Debug|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Debug|x64.Build.0 = Debug|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Debug|x86.ActiveCfg = Debug|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Debug|x86.Build.0 = Debug|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Release|Any CPU.Build.0 = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Release|Itanium.ActiveCfg = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Release|Itanium.Build.0 = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Release|Win32.ActiveCfg = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Release|Win32.Build.0 = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Release|x64.ActiveCfg = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Release|x64.Build.0 = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Release|x86.ActiveCfg = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.Release|x86.Build.0 = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.ReleaseWithoutAsm|Any CPU.ActiveCfg = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.ReleaseWithoutAsm|Any CPU.Build.0 = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.ReleaseWithoutAsm|Mixed Platforms.ActiveCfg = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.ReleaseWithoutAsm|Mixed Platforms.Build.0 = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.ReleaseWithoutAsm|Win32.Build.0 = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.ReleaseWithoutAsm|x64.Build.0 = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.ReleaseWithoutAsm|x86.ActiveCfg = Release|Any CPU + {9A825EF0-B622-4A8F-BF30-DAD7C47CF367}.ReleaseWithoutAsm|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {801CC278-82B2-4CEE-84FC-B10B1497A957} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - {62DF2113-7ACB-43E7-84D1-316F5D2A6A5C} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - {91C7E5DF-18CD-4C80-A75F-E623974B5601} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - {0C44D064-B4B5-4A5F-BFCC-4BE3B02036A6} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - {13944DE4-542B-43B4-BFAC-942B60009B57} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - {843D6F18-DC96-4311-A05A-8A0266701154} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - {A664A80B-B15D-4B50-AFB5-A5B580938141} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - {5EE3D141-364C-43CE-A59C-B52BB374A154} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - {5A9FF361-146F-4D2E-8CFC-1981D2559AC3} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - {C4131BFA-DFA2-4AC0-BE07-6C63C22D0BF7} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - {683D4D7B-623D-4AC7-846E-E5484366EF6F} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - {0E1EA249-6ABC-4DBB-9110-AF7CF4CDFC89} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - {89F35B44-C420-48C0-963A-5694E0E1FE26} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - {22FE3E45-5FB1-4AEE-8E08-E8F34E5EEC10} = {1D9C4DDD-E840-4F6E-9310-54D21BC13F31} - EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution StartupItem = Samples\WinSamples\WinSamples.csproj EndGlobalSection diff --git a/CurlSharp/Curl.cs b/CurlSharp/Curl.cs index dd85332..1c7152f 100644 --- a/CurlSharp/Curl.cs +++ b/CurlSharp/Curl.cs @@ -1,22 +1,3 @@ -/*************************************************************************** - * - * CurlS#arp - * - * Copyright (c) 2013-2017 Dr. Masroor Ehsan (masroore@gmail.com) - * Portions copyright (c) 2004, 2005 Jeff Phillips (jeff@jeffp.net) - * - * This software is licensed as described in the file LICENSE, which you - * should have received as part of this distribution. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of this Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the LICENSE file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF - * ANY KIND, either express or implied. - * - **************************************************************************/ - using System; using System.Runtime.InteropServices; diff --git a/CurlSharp/CurlEasy.cs b/CurlSharp/CurlEasy.cs index 320e080..0e02409 100644 --- a/CurlSharp/CurlEasy.cs +++ b/CurlSharp/CurlEasy.cs @@ -1,22 +1,3 @@ -/*************************************************************************** - * - * CurlS#arp - * - * Copyright (c) 2013-2017 Dr. Masroor Ehsan (masroore@gmail.com) - * Portions copyright (c) 2004, 2005 Jeff Phillips (jeff@jeffp.net) - * - * This software is licensed as described in the file LICENSE, which you - * should have received as part of this distribution. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of this Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the LICENSE file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF - * ANY KIND, either express or implied. - * - **************************************************************************/ - using System; using System.Runtime.InteropServices; diff --git a/CurlSharp/CurlHttpMultiPartForm.cs b/CurlSharp/CurlHttpMultiPartForm.cs index 5d99cd2..d67a9dc 100644 --- a/CurlSharp/CurlHttpMultiPartForm.cs +++ b/CurlSharp/CurlHttpMultiPartForm.cs @@ -1,22 +1,3 @@ -/*************************************************************************** - * - * CurlS#arp - * - * Copyright (c) 2013-2017 Dr. Masroor Ehsan (masroore@gmail.com) - * Portions copyright (c) 2004, 2005 Jeff Phillips (jeff@jeffp.net) - * - * This software is licensed as described in the file LICENSE, which you - * should have received as part of this distribution. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of this Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the LICENSE file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF - * ANY KIND, either express or implied. - * - **************************************************************************/ - using System; using System.Runtime.InteropServices; diff --git a/CurlSharp/CurlMulti.cs b/CurlSharp/CurlMulti.cs index 510b9f9..c30e212 100644 --- a/CurlSharp/CurlMulti.cs +++ b/CurlSharp/CurlMulti.cs @@ -1,22 +1,3 @@ -/*************************************************************************** - * - * CurlS#arp - * - * Copyright (c) 2013-2017 Dr. Masroor Ehsan (masroore@gmail.com) - * Portions copyright (c) 2004, 2005 Jeff Phillips (jeff@jeffp.net) - * - * This software is licensed as described in the file LICENSE, which you - * should have received as part of this distribution. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of this Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the LICENSE file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF - * ANY KIND, either express or implied. - * - **************************************************************************/ - using System; using System.Collections; using System.Runtime.InteropServices; diff --git a/CurlSharp/CurlMultiInfo.cs b/CurlSharp/CurlMultiInfo.cs index febd8f7..11513ba 100644 --- a/CurlSharp/CurlMultiInfo.cs +++ b/CurlSharp/CurlMultiInfo.cs @@ -1,22 +1,3 @@ -/*************************************************************************** - * - * CurlS#arp - * - * Copyright (c) 2013-2017 Dr. Masroor Ehsan (masroore@gmail.com) - * Portions copyright (c) 2004, 2005 Jeff Phillips (jeff@jeffp.net) - * - * This software is licensed as described in the file LICENSE, which you - * should have received as part of this distribution. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of this Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the LICENSE file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF - * ANY KIND, either express or implied. - * - **************************************************************************/ - namespace CurlSharp { /// diff --git a/CurlSharp/CurlShare.cs b/CurlSharp/CurlShare.cs index 237f065..d0489df 100644 --- a/CurlSharp/CurlShare.cs +++ b/CurlSharp/CurlShare.cs @@ -1,22 +1,3 @@ -/*************************************************************************** - * - * CurlS#arp - * - * Copyright (c) 2013 Dr. Masroor Ehsan (masroore@gmail.com) - * Portions copyright (c) 2004, 2005 Jeff Phillips (jeff@jeffp.net) - * - * This software is licensed as described in the file LICENSE, which you - * should have received as part of this distribution. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of this Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the LICENSE file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF - * ANY KIND, either express or implied. - * - **************************************************************************/ - using System; using System.Runtime.InteropServices; diff --git a/CurlSharp/CurlSharp.csproj b/CurlSharp/CurlSharp.csproj index e1801de..02e603e 100644 --- a/CurlSharp/CurlSharp.csproj +++ b/CurlSharp/CurlSharp.csproj @@ -1,17 +1,44 @@  - net461;netstandard1.5 - - - + net8.0 True - CurlSharp - True - - - + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + \ No newline at end of file diff --git a/CurlSharp/CurlSlist.cs b/CurlSharp/CurlSlist.cs index afa9a20..8cd1514 100644 --- a/CurlSharp/CurlSlist.cs +++ b/CurlSharp/CurlSlist.cs @@ -1,22 +1,3 @@ -/*************************************************************************** - * - * CurlS#arp - * - * Copyright (c) 2013-2017 Dr. Masroor Ehsan (masroore@gmail.com) - * Portions copyright (c) 2004, 2005 Jeff Phillips (jeff@jeffp.net) - * - * This software is licensed as described in the file LICENSE, which you - * should have received as part of this distribution. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of this Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the LICENSE file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF - * ANY KIND, either express or implied. - * - **************************************************************************/ - using System; using System.Collections.Generic; using System.Runtime.InteropServices; diff --git a/CurlSharp/CurlSslContext.cs b/CurlSharp/CurlSslContext.cs index 90fecd6..a24e550 100644 --- a/CurlSharp/CurlSslContext.cs +++ b/CurlSharp/CurlSslContext.cs @@ -1,22 +1,3 @@ -/*************************************************************************** - * - * CurlS#arp - * - * Copyright (c) 2013-2017 Dr. Masroor Ehsan (masroore@gmail.com) - * Portions copyright (c) 2004, 2005 Jeff Phillips (jeff@jeffp.net) - * - * This software is licensed as described in the file LICENSE, which you - * should have received as part of this distribution. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of this Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the LICENSE file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF - * ANY KIND, either express or implied. - * - **************************************************************************/ - using System; namespace CurlSharp diff --git a/CurlSharp/CurlVersionInfoData.cs b/CurlSharp/CurlVersionInfoData.cs index aa8124f..e711017 100644 --- a/CurlSharp/CurlVersionInfoData.cs +++ b/CurlSharp/CurlVersionInfoData.cs @@ -1,22 +1,3 @@ -/*************************************************************************** - * - * CurlS#arp - * - * Copyright (c) 2013-2017 Dr. Masroor Ehsan (masroore@gmail.com) - * Portions copyright (c) 2004, 2005 Jeff Phillips (jeff@jeffp.net) - * - * This software is licensed as described in the file LICENSE, which you - * should have received as part of this distribution. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of this Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the LICENSE file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF - * ANY KIND, either express or implied. - * - **************************************************************************/ - using System; using System.Runtime.InteropServices; diff --git a/CurlSharp/NativeMethods.cs b/CurlSharp/NativeMethods.cs index f97a57a..6686021 100644 --- a/CurlSharp/NativeMethods.cs +++ b/CurlSharp/NativeMethods.cs @@ -1,23 +1,3 @@ -/*************************************************************************** - * - * CurlS#arp - * - * Copyright (c) 2013-2017 Dr. Masroor Ehsan (masroore@gmail.com) - * Portions copyright (c) 2004, 2005 Jeff Phillips (jeff@jeffp.net) - * Portions copyright (c) 2017 Katelyn Gigante (https://github.com/silasary) - * - * This software is licensed as described in the file LICENSE, which you - * should have received as part of this distribution. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of this Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the LICENSE file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF - * ANY KIND, either express or implied. - * - **************************************************************************/ - //#define USE_LIBCURLSHIM using System; @@ -51,13 +31,14 @@ static NativeMethods() switch (RuntimeInformation.OSArchitecture) { case Architecture.X64: - SetDllDirectory(Path.Combine(AssemblyDirectory, LIB_DIR_WIN64)); + SetDllDirectory(Path.Combine(AssemblyDirectory,"libs", LIB_DIR_WIN64)); break; case Architecture.X86: - SetDllDirectory(Path.Combine(AssemblyDirectory, LIB_DIR_WIN32)); + SetDllDirectory(Path.Combine(AssemblyDirectory, "libs", LIB_DIR_WIN32)); break; } } + #if USE_LIBCURLSHIM if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) throw new InvalidOperationException("Can not run on other platform than Win NET"); diff --git a/libs/amd64/curl-ca-bundle.crt b/CurlSharp/libs/amd64/curl-ca-bundle.crt similarity index 100% rename from libs/amd64/curl-ca-bundle.crt rename to CurlSharp/libs/amd64/curl-ca-bundle.crt diff --git a/libs/amd64/libcrypto-1_1-x64.dll b/CurlSharp/libs/amd64/libcrypto-1_1-x64.dll similarity index 100% rename from libs/amd64/libcrypto-1_1-x64.dll rename to CurlSharp/libs/amd64/libcrypto-1_1-x64.dll diff --git a/libs/amd64/libcurl.dll b/CurlSharp/libs/amd64/libcurl.dll similarity index 100% rename from libs/amd64/libcurl.dll rename to CurlSharp/libs/amd64/libcurl.dll diff --git a/libs/amd64/libssh2.dll b/CurlSharp/libs/amd64/libssh2.dll similarity index 100% rename from libs/amd64/libssh2.dll rename to CurlSharp/libs/amd64/libssh2.dll diff --git a/libs/amd64/libssl-1_1-x64.dll b/CurlSharp/libs/amd64/libssl-1_1-x64.dll similarity index 100% rename from libs/amd64/libssl-1_1-x64.dll rename to CurlSharp/libs/amd64/libssl-1_1-x64.dll diff --git a/libs/i386/curl-ca-bundle.crt b/CurlSharp/libs/i386/curl-ca-bundle.crt similarity index 100% rename from libs/i386/curl-ca-bundle.crt rename to CurlSharp/libs/i386/curl-ca-bundle.crt diff --git a/libs/i386/libcrypto-1_1.dll b/CurlSharp/libs/i386/libcrypto-1_1.dll similarity index 100% rename from libs/i386/libcrypto-1_1.dll rename to CurlSharp/libs/i386/libcrypto-1_1.dll diff --git a/libs/i386/libcurl.dll b/CurlSharp/libs/i386/libcurl.dll similarity index 100% rename from libs/i386/libcurl.dll rename to CurlSharp/libs/i386/libcurl.dll diff --git a/libs/i386/libcurlshim.dll b/CurlSharp/libs/i386/libcurlshim.dll similarity index 100% rename from libs/i386/libcurlshim.dll rename to CurlSharp/libs/i386/libcurlshim.dll diff --git a/libs/i386/libssh2.dll b/CurlSharp/libs/i386/libssh2.dll similarity index 100% rename from libs/i386/libssh2.dll rename to CurlSharp/libs/i386/libssh2.dll diff --git a/libs/i386/libssl-1_1.dll b/CurlSharp/libs/i386/libssl-1_1.dll similarity index 100% rename from libs/i386/libssl-1_1.dll rename to CurlSharp/libs/i386/libssl-1_1.dll diff --git a/Examples/Examples.csproj b/Examples/Examples.csproj new file mode 100644 index 0000000..d890e10 --- /dev/null +++ b/Examples/Examples.csproj @@ -0,0 +1,14 @@ + + + + Exe + net8.0 + enable + enable + + + + + + + diff --git a/Examples/Program.cs b/Examples/Program.cs new file mode 100644 index 0000000..e20562d --- /dev/null +++ b/Examples/Program.cs @@ -0,0 +1,39 @@ +using CurlSharp; +using System.Text; + +namespace Examples +{ + internal class Program + { + static void Main(string[] args) + { + Curl.GlobalInit(CurlInitFlag.All); + + using (var easy = new CurlEasy()) + { + easy.AutoReferer = true; + easy.FollowLocation = true; + easy.Url = "https://ipakyulibank.uz"; + easy.WriteFunction = OnWriteData; + + // HTTP/2 please + easy.HttpVersion = CurlHttpVersion.Http2_0; + + // skip SSL verification during debugging + easy.SslVerifyPeer = false; + easy.SslVerifyhost = false; + + easy.Perform(); + } + + Console.WriteLine("DONE!"); + } + + public static int OnWriteData(byte[] buf, int size, int nmemb, object data) + { + Console.Write(Encoding.UTF8.GetString(buf)); + + return size * nmemb; + } + } +} diff --git a/LICENSE b/LICENSE deleted file mode 100644 index e2a33b6..0000000 --- a/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2013, Masroor Ehsan Choudhury -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 the {organization} 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 HOLDER 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. diff --git a/README.md b/README.md index 0a65352..b020f11 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -CurlSharp +# CurlSharp ========= CurlSharp is a .Net binding and object-oriented wrapper for [libcurl](http://curl.haxx.se/libcurl/). -libcurl is a web-client library that can provide cross-platform .Net applications with an easy way to implement such things as: +## libcurl is a web-client library that can provide cross-platform .Net applications with an easy way to implement such things as: - HTTP ( GET / HEAD / PUT / POST / multi-part / form-data ) - FTP ( upload / download / list / 3rd-party ) @@ -14,7 +14,7 @@ libcurl is a web-client library that can provide cross-platform .Net application CurlSharp provides simple get/set properties for libcurl's options and information functions, event-based hooks to libcurl's I/O, status, and progress callbacks, and wraps the c-style file I/O behind simple filename properties. The `CurlEasy` class contains has more than 100 different properties and methods to handle a wide variety of URL transfer requirements. While this may seem overwhelming at first glance, the good news is you will probably need only a tiny subset of these for most situations. -The CurlSharp library consists of these parts: +## The CurlSharp library consists of these parts: - Pure C# P/Invoke bindings to the libcurl API. - Optional libcurlshim helper DLL [WIN32]. diff --git a/Samples/BookPost/BookPost.cs b/Samples/BookPost/BookPost.cs deleted file mode 100644 index f92bddf..0000000 --- a/Samples/BookPost/BookPost.cs +++ /dev/null @@ -1,49 +0,0 @@ -// BookPost.cs - Look for Topology Books on Amazon -// usage: BookPost -// NOTE: you may have to tweak this, as Amazon's page changes from time-to-time - -using System; -using System.Text; -using CurlSharp; - -namespace BookPost -{ - internal class BookPost - { - public static void Main(String[] args) - { - try - { - Curl.GlobalInit(CurlInitFlag.All); - - using (var easy = new CurlEasy()) - { - const string postData = "url=index%3Dstripbooks&field-keywords=Topology&Go.x=10&Go.y=10"; - easy.WriteFunction = OnWriteData; - easy.WriteData = null; - easy.PostFields = postData; - easy.PostFieldSize = postData.Length; - easy.UserAgent = "Mozilla 4.0 (compatible; MSIE 6.0; Win32"; - easy.FollowLocation = true; - easy.Url = "http://www.amazon.com/exec/obidos/search-handle-form/002-5928901-6229641"; - easy.Post = true; - - var code = easy.Perform(); - } - - Curl.GlobalCleanup(); - } - catch (Exception ex) - { - Console.WriteLine(ex); - Console.ReadLine(); - } - } - - public static Int32 OnWriteData(Byte[] buf, Int32 size, Int32 nmemb, Object extraData) - { - Console.Write(Encoding.UTF8.GetString(buf)); - return size*nmemb; - } - } -} \ No newline at end of file diff --git a/Samples/BookPost/BookPost.csproj b/Samples/BookPost/BookPost.csproj deleted file mode 100644 index b7f2256..0000000 --- a/Samples/BookPost/BookPost.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp1.1 - ..\bin\ - - - - - - - \ No newline at end of file diff --git a/Samples/EasyGet/EasyGet.cs b/Samples/EasyGet/EasyGet.cs deleted file mode 100644 index 8497ca3..0000000 --- a/Samples/EasyGet/EasyGet.cs +++ /dev/null @@ -1,50 +0,0 @@ -// EasyGet.cs - demonstrate trivial get capability -// usage: EasyGet url, e.g. EasyGet http://www.google.com - -using System; -using System.Linq; -using System.Text; -using CurlSharp; - -namespace EasyGet -{ - internal class EasyGet - { - public static void Main(String[] args) - { - try - { - Curl.GlobalInit(CurlInitFlag.All); - - using (var easy = new CurlEasy()) - { - easy.Url = args.Count() > 1 ? args[0] : "http://www.amazon.com/"; - easy.WriteData = null; - easy.WriteFunction = OnWriteData; - //easy.ProgressFunction = OnProgressData; - easy.Perform(); - } - - Curl.GlobalCleanup(); - } - catch (Exception ex) - { - Console.WriteLine(ex); - Console.ReadLine(); - } - } - - public static Int32 OnWriteData(Byte[] buf, Int32 size, Int32 nmemb, Object extraData) - { - //var userData = (string)extraData; - Console.Write(Encoding.UTF8.GetString(buf)); - return size*nmemb; - } - - public static int OnProgressData(Object extraData, double dlTotal, double dlNow, double ulTotal, double ulNow) - { - //Console.WriteLine("{0} / {1}", dlNow, dlTotal); - return 0; - } - } -} \ No newline at end of file diff --git a/Samples/EasyGet/EasyGet.csproj b/Samples/EasyGet/EasyGet.csproj deleted file mode 100644 index b7f2256..0000000 --- a/Samples/EasyGet/EasyGet.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp1.1 - ..\bin\ - - - - - - - \ No newline at end of file diff --git a/Samples/EasyPost/EasyPost.cs b/Samples/EasyPost/EasyPost.cs deleted file mode 100644 index 0bd1c29..0000000 --- a/Samples/EasyPost/EasyPost.cs +++ /dev/null @@ -1,109 +0,0 @@ -using System; -using System.Net.Http; -using System.Net.Http.Headers; -using System.Text; -using CurlSharp; - -namespace EasyPost -{ - internal class EasyPost - { - // Upload the provided PHP script (testpost.php) to webroot and modify the - // following URL accordingly - // private const string TEST_URL = "http://localhost/testpost.php"; - private const string TEST_URL = "http://httpbin.org/post"; - - private static void Main(string[] args) - { - var bits = IntPtr.Size * 8; - Console.WriteLine("Test curl {0} bit", bits); - Curl.GlobalInit(CurlInitFlag.All); - Console.WriteLine("Curl Version: {0}\n", Curl.Version); - - const string postData = "parm1=12345&parm2=Hello+world%21"; - var postLength = postData.Length; - - Console.WriteLine("\n========== TEST 1 HttpClient ============"); - - using (var httpClient = new HttpClient()) - { - var request = new HttpRequestMessage(HttpMethod.Post, TEST_URL); - request.Headers.Add("User-Agent", "HttpClient"); - request.Content = new StringContent(postData); - request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/x-www-form-urlencoded"); - - var response = httpClient.SendAsync(request).Result; - var responseString = response.Content.ReadAsStringAsync().Result; - - Console.WriteLine(responseString); - } - - try - { - Console.WriteLine("\n========== TEST 2 CurlEasy PostFields ============"); - - using (var easy = new CurlEasy()) - { - easy.WriteFunction = OnWriteData; - easy.WriteData = null; - easy.PostFields = postData; - easy.PostFieldSize = postLength; - easy.UserAgent = "CurlEasy PostFields"; - easy.FollowLocation = true; - easy.Url = TEST_URL; - easy.Post = true; - var code = easy.Perform(); - } - - Console.WriteLine("\n========== TEST 3 CurlEasy HttpPost ============"); - - var mf = new CurlHttpMultiPartForm(); - mf.AddSection(CurlFormOption.CopyName, "parm1", - CurlFormOption.CopyContents, "12345", - CurlFormOption.End); - mf.AddSection(CurlFormOption.CopyName, "parm2", - CurlFormOption.CopyContents, "Hello world!", - CurlFormOption.End); - using (var easy = new CurlEasy()) - { - easy.WriteFunction = OnWriteData; - easy.WriteData = null; - easy.UserAgent = "CurlEasy HttpPost"; - easy.FollowLocation = true; - easy.Url = TEST_URL; - easy.HttpPost = mf; - var code = easy.Perform(); - } - - Curl.GlobalCleanup(); - } - catch (Exception ex) - { - Console.WriteLine(ex); - } - - Console.WriteLine("\nPress to exit..."); - Console.ReadLine(); - } - - public static Int32 OnWriteData(Byte[] buf, Int32 size, Int32 nmemb, Object extraData) - { - Console.Write(Encoding.UTF8.GetString(buf)); - return size * nmemb; - } - - public static Int32 OnHeaderData(Byte[] buf, Int32 size, Int32 nmemb, Object extraData) - { - var userData = (string) extraData; - Console.Write("->" + Encoding.UTF8.GetString(buf)); - return size * nmemb; - } - - public static void OnDebug(CurlInfoType infoType, String msg, Object extraData) - { - // print out received data only - if (infoType == CurlInfoType.DataIn) - Console.WriteLine(msg); - } - } - } diff --git a/Samples/EasyPost/EasyPost.csproj b/Samples/EasyPost/EasyPost.csproj deleted file mode 100644 index b7f2256..0000000 --- a/Samples/EasyPost/EasyPost.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp1.1 - ..\bin\ - - - - - - - \ No newline at end of file diff --git a/Samples/EasyPost/testpost.php b/Samples/EasyPost/testpost.php deleted file mode 100644 index d073e91..0000000 --- a/Samples/EasyPost/testpost.php +++ /dev/null @@ -1,7 +0,0 @@ - $value) -{ - echo "$header: $value\n"; -} -echo "\r\n"; -print_r($_POST); \ No newline at end of file diff --git a/Samples/FileUpload/FileUpload.cs b/Samples/FileUpload/FileUpload.cs deleted file mode 100644 index e4f1648..0000000 --- a/Samples/FileUpload/FileUpload.cs +++ /dev/null @@ -1,84 +0,0 @@ -// FileUpload.cs - demonstrate RFC 1867 file upload capability -// usage: FileUpload url fileName -// e.g. FileUpload http://mybox/cgi-bin/myscript.cgi myFile.dat -// NOTE: you'll need to tweak this as per the specific form you're sending - -using System; -using CurlSharp; -using static System.Console; - -namespace FileUpload -{ - internal class FileUpload - { - public static void Main(string[] args) - { - try - { - Curl.GlobalInit(CurlInitFlag.All); - - //
- using (var mf = new CurlHttpMultiPartForm()) - { - mf.AddSection(CurlFormOption.CopyName, "frmUsername", - CurlFormOption.CopyContents, "testtcc", - CurlFormOption.End); - - // - mf.AddSection(CurlFormOption.CopyName, "frmPassword", - CurlFormOption.CopyContents, "tcc", - CurlFormOption.End); - - // - mf.AddSection(CurlFormOption.CopyName, "frmFileOrigPath", - CurlFormOption.CopyContents, args[1], - CurlFormOption.End); - - // - mf.AddSection(CurlFormOption.CopyName, "frmFileDate", - CurlFormOption.CopyContents, "08/01/2004", - CurlFormOption.End); - - // - mf.AddSection(CurlFormOption.CopyName, "f1", - CurlFormOption.File, args[1], - CurlFormOption.ContentType, "application/binary", - CurlFormOption.End); - - using (var easy = new CurlEasy()) - { - easy.DebugFunction = OnDebug; - easy.Verbose = true; - easy.ProgressFunction = OnProgress; - easy.Url = args[0]; - easy.HttpPost = mf; - - easy.Perform(); - } - } - - Curl.GlobalCleanup(); - } - catch (Exception ex) - { - WriteLine(ex); - ReadLine(); - } - } - - public static void OnDebug(CurlInfoType infoType, string msg, int size, object extraData) - { - // print out received data only - if (infoType == CurlInfoType.DataIn) - WriteLine(msg); - } - - - public static int OnProgress(object extraData, double dlTotal, double dlNow, double ulTotal, double ulNow) - { - WriteLine($"Progress: {dlTotal} {dlNow} {ulTotal} {ulNow}"); - return 0; // standard return from PROGRESSFUNCTION - } - } -} \ No newline at end of file diff --git a/Samples/FileUpload/FileUpload.csproj b/Samples/FileUpload/FileUpload.csproj deleted file mode 100644 index b7f2256..0000000 --- a/Samples/FileUpload/FileUpload.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp1.1 - ..\bin\ - - - - - - - \ No newline at end of file diff --git a/Samples/Headers/Headers.cs b/Samples/Headers/Headers.cs deleted file mode 100644 index 83f2858..0000000 --- a/Samples/Headers/Headers.cs +++ /dev/null @@ -1,43 +0,0 @@ -// Headers.cs - dump headers -// usage: Headers url, e.g. Headers http://www.google.com - -using System; -using System.Linq; -using System.Text; -using CurlSharp; - -namespace Headers -{ - internal class Headers - { - public static void Main(String[] args) - { - try - { - Curl.GlobalInit(CurlInitFlag.All); - - using (var easy = new CurlEasy()) - { - easy.Url = args.Count() > 1 ? args[0] : "http://www.amazon.com"; - easy.HeaderData = "headerContext"; - easy.HeaderFunction = OnHeaderData; - easy.Perform(); - } - - Curl.GlobalCleanup(); - } - catch (Exception ex) - { - Console.WriteLine(ex); - Console.ReadLine(); - } - } - - public static Int32 OnHeaderData(Byte[] buf, Int32 size, Int32 nmemb, Object extraData) - { - var userData = (string) extraData; - Console.Write(Encoding.UTF8.GetString(buf)); - return size*nmemb; - } - } -} \ No newline at end of file diff --git a/Samples/Headers/Headers.csproj b/Samples/Headers/Headers.csproj deleted file mode 100644 index b7f2256..0000000 --- a/Samples/Headers/Headers.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp1.1 - ..\bin\ - - - - - - - \ No newline at end of file diff --git a/Samples/Http2Download/Http2Download.cs b/Samples/Http2Download/Http2Download.cs deleted file mode 100644 index 5a357a1..0000000 --- a/Samples/Http2Download/Http2Download.cs +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Multiplexed HTTP/2 downloads over a single connection - */ - -using System; -using System.Collections.Generic; -using System.IO; -using System.Threading; -using CurlSharp; -using static System.Console; - -namespace Http2Download -{ - internal class Program - { - private static readonly Dictionary Writers = new Dictionary(); - - private static void Main(string[] args) - { - Curl.GlobalInit(CurlInitFlag.Default); - var handles = new List(); - - using (var multi = new CurlMulti()) - { - foreach (var url in new[] - { - "https://www.google.com", - "https://www.yahoo.com", - "http://edition.cnn.com", - "https://news.ycombinator.com", - "https://pages.github.com" - }) - { - Writers.Add(url, new BinaryWriter(new FileStream($"dl-{HostName(url)}.html", FileMode.Create))); - var easy = CreateEasy(url); - multi.AddHandle(easy); - handles.Add(easy); - } - - multi.Pipelining = CurlPipelining.Multiplex; - - var stillRunning = 1; - // call CurlMulti.Perform right away (note ref qualifier) - multi.Perform(ref stillRunning); - - while (stillRunning != 0) - { - var mc = multi.FdSet(); - if (mc != CurlMultiCode.Ok) - { - WriteLine($"curl_multi_fdset() failed, code: {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. */ - var rc = 0; - - if (multi.MaxFd == -1) Thread.Sleep(100); - else - rc = multi.Select(1000); // one second - - switch (rc) - { - case -1: // select error - break; - default: - { - multi.Perform(ref stillRunning); - break; - } - } - } - } - - foreach (var w in Writers.Values) w.Dispose(); - - foreach (var h in handles) h.Dispose(); - - Curl.GlobalCleanup(); - - WriteLine("\nPress to exit..."); - ReadLine(); - } - - private static CurlEasy CreateEasy(string url) - { - return new CurlEasy - { - // HTTP/2 please - HttpVersion = CurlHttpVersion.Http2_0, - Url = url, - WriteFunction = OnWriteData, - WriteData = url, - Encoding = "deflate, gzip", - - // set it verbose for max debuggaility - Verbose = true, - DebugFunction = OnDebug, - - // skip SSL verification during debugging - SslVerifyPeer = false, - SslVerifyhost = false - }; - } - - public static void OnDebug(CurlInfoType infoType, string message, int size, object extraData) - { - switch (infoType) - { - case CurlInfoType.Text: - WriteLine($"== Info: {message.TrimEnd()}"); - break; - case CurlInfoType.HeaderOut: - WriteLine($"=> Send header"); - break; - case CurlInfoType.HeaderIn: - WriteLine($"<= Recv header"); - break; - case CurlInfoType.DataOut: - WriteLine($"=> Send data"); - break; - case CurlInfoType.DataIn: - WriteLine($"<= Recv data"); - break; - case CurlInfoType.SslDataOut: - WriteLine($"=> Send SSL data"); - break; - case CurlInfoType.SslDataIn: - WriteLine($"<= Recv SSL data"); - break; - case CurlInfoType.End: - WriteLine("== End"); - break; - } - } - - private static string HostName(string url) => new Uri(url).Host.Replace('.', '_').ToLower(); - - public static int OnWriteData(byte[] buf, int size, int nmemb, object extraData) - { - var nBytes = size*nmemb; - Writers[(string) extraData].Write(buf); - return nBytes; - } - } -} \ No newline at end of file diff --git a/Samples/Http2Download/Http2Download.csproj b/Samples/Http2Download/Http2Download.csproj deleted file mode 100644 index b7f2256..0000000 --- a/Samples/Http2Download/Http2Download.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp1.1 - ..\bin\ - - - - - - - \ No newline at end of file diff --git a/Samples/InfoDemo/InfoDemo.cs b/Samples/InfoDemo/InfoDemo.cs deleted file mode 100644 index 78e81ed..0000000 --- a/Samples/InfoDemo/InfoDemo.cs +++ /dev/null @@ -1,109 +0,0 @@ -// InfoDemo.cs - demonstrate CurlEasy.GetInfo -// usage: InfoDemo url, e.g. InfoDemo http://www.google.com - -using System; -using System.Linq; -using CurlSharp; - -namespace InfoDemo -{ - internal class InfoDemo - { - public static void Main(String[] args) - { - try - { - Curl.GlobalInit(CurlInitFlag.All); - - using (var easy = new CurlEasy()) - { - easy.Url = args.Count() > 1 ? args[0] : "http://www.amazon.com"; - easy.Private = "Private string"; - easy.Filetime = true; - easy.Perform(); - - // now, exercise the various GetInfo stuff - var d = easy.ConnectTime; - Console.WriteLine("Connect Time: {0}", d); - - d = easy.ContentLengthDownload; - Console.WriteLine("Content Length (Download): {0}", d); - - d = easy.ContentLengthUpload; - Console.WriteLine("Content Length (Upload): {0}", d); - - var s = easy.ContentType; - Console.WriteLine("Content Type: {0}", s); - - // TODO: !!!BUG!!! curl_shim_get_file_time() - var dt = easy.Filetime; - Console.WriteLine("File time: {0}", dt); - - var n = easy.HeaderSize; - Console.WriteLine("Header Size: {0}", n); - - n = easy.HttpAuthAvail; - Console.WriteLine("Authentication Bitmask: {0}", n); - - n = easy.HttpConnectCode; - Console.WriteLine("HTTP Connect Code: {0}", n); - - d = easy.NameLookupTime; - Console.WriteLine("Name Lookup Time: {0}", d); - - n = easy.OsErrno; - Console.WriteLine("OS Errno: {0}", n); - - d = easy.PreTransferTime; - Console.WriteLine("Pretransfer time: {0}", d); - - var o = easy.Private; - Console.WriteLine("Private Data: {0}", o); - - n = easy.ProxyAuthAvail; - Console.WriteLine("Proxy Authentication Schemes: {0}", n); - - n = easy.RedirectCount; - Console.WriteLine("Redirect count: {0}", n); - - d = easy.RedirectTime; - Console.WriteLine("Redirect time: {0}", d); - - n = easy.RequestSize; - Console.WriteLine("Request size: {0}", n); - - n = easy.ResponseCode; - Console.WriteLine("Response code: {0}", n); - - d = easy.SizeDownload; - Console.WriteLine("Download size: {0}", d); - - d = easy.SizeUpload; - Console.WriteLine("Upload size: {0}", d); - - d = easy.SpeedDownload; - Console.WriteLine("Download speed: {0}", d); - - d = easy.SpeedUpload; - Console.WriteLine("Upload speed: {0}", d); - - n = easy.SslVerifyResult; - Console.WriteLine("Ssl verification result: {0}", n); - - d = easy.StartTransferTime; - Console.WriteLine("Start transfer time: {0}", d); - - d = easy.TotalTime; - Console.WriteLine("Total time: {0}", d); - } - - Curl.GlobalCleanup(); - } - catch (Exception ex) - { - Console.WriteLine(ex); - Console.ReadLine(); - } - } - } -} \ No newline at end of file diff --git a/Samples/InfoDemo/InfoDemo.csproj b/Samples/InfoDemo/InfoDemo.csproj deleted file mode 100644 index b7f2256..0000000 --- a/Samples/InfoDemo/InfoDemo.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp1.1 - ..\bin\ - - - - - - - \ No newline at end of file diff --git a/Samples/MultiDemo/MultiDemo.cs b/Samples/MultiDemo/MultiDemo.cs deleted file mode 100644 index 5f5db33..0000000 --- a/Samples/MultiDemo/MultiDemo.cs +++ /dev/null @@ -1,97 +0,0 @@ -// MultiDemo.cs - demonstrate multi capability -// usage: MultiDemo url1 url2, e.g. MultiDemo http://www.google.com http://www.yahoo.com - -using System; -using System.Collections.Generic; -using CurlSharp; - -namespace MultiDemo -{ - internal class MultiDemo - { - public static void Main(String[] args) - { - try - { - Curl.GlobalInit(CurlInitFlag.All); - - CurlWriteCallback wf = OnWriteData; - - var handles = new List(); - var urls = new[] - { - "http://www.codeplex.com", - "http://www.yahoo.com", - "http://www.cnn.com", - "http://www.abc.com", - "http://www.bbc.co.uk" - }; - - using (var multi = new CurlMulti()) - { - foreach (var url in urls) - { - var easy = CreateEasy(url, wf); - multi.AddHandle(easy); - handles.Add(easy); - } - - var runningObjects = 1; - // call CurlMulti.Perform right away (note ref qualifier) - multi.Perform(ref runningObjects); - - while (runningObjects != 0) - { - var fdret = multi.FdSet(); - //if (multi.MaxFd > -1) - { - var rc = multi.Select(1000); // one second - switch (rc) - { - case -1: - Console.WriteLine("CurlMulti.Select() returned -1"); - //runningObjects = 0; - break; - case 0: // time out - default: - { - multi.Perform(ref runningObjects); - break; - } - } - } - } - } - - foreach (var easy in handles) - { - easy.Dispose(); - } - Curl.GlobalCleanup(); - } - catch (Exception ex) - { - Console.WriteLine(ex); - Console.ReadLine(); - } - } - - private static CurlEasy CreateEasy(string url, CurlWriteCallback wf) - { - var easy = new CurlEasy(); - var data = url; - easy.Url = url; - easy.WriteFunction = wf; - easy.WriteData = data; - easy.Encoding = "deflate, gzip"; - return easy; - } - - public static Int32 OnWriteData(Byte[] buf, Int32 size, Int32 nmemb, Object extraData) - { - var nBytes = size*nmemb; - Console.WriteLine("Obtained {0} bytes from {1}", nBytes, extraData); - return nBytes; - } - } -} \ No newline at end of file diff --git a/Samples/MultiDemo/MultiDemo.csproj b/Samples/MultiDemo/MultiDemo.csproj deleted file mode 100644 index b7f2256..0000000 --- a/Samples/MultiDemo/MultiDemo.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp1.1 - ..\bin\ - - - - - - - \ No newline at end of file diff --git a/Samples/ReadMe.samples b/Samples/ReadMe.samples deleted file mode 100644 index 0dac4c5..0000000 --- a/Samples/ReadMe.samples +++ /dev/null @@ -1,40 +0,0 @@ -$Id: ReadMe.samples,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - -libcurl.NET 1.3 Samples (c) 2004. 2005 Jeff Phillips jeff@jeffp.net - -These are trivial examples to demonstrate the basic functionality -of libcurl.NET. - -** BEGIN IMPORTANT NOTE ** - -Unless you place the CurlSharp bin directory (the one that -contains CurlSharp.dll) into your PATH, you'll need to run -these samples from the bin directory. This is because these -are private assemblies. You are, however, free to modify -CurlSharp as you wish to make it a public assembly accessible -from the GAC. - -** END IMPORTANT NOTE ** - -The samples include: - --- BookPost: A simple POST to look up Topology books at amazon.com. - --- EasyGet: Retrieve a web page and echo it to the console. - --- FileUpload: Demonstrate RFC 1867 multi-part upload. - --- Headers: Dump headers, demonstrating HEADERFUNCTION delegate. - --- InfoDemo: Dump CURLINFO data received after a download. - --- MultiDemo: Retrieve two URLs using the Multi interface. - --- ShareDemo: Retrieve two URLs in separate threads, with synchronized - access to DNS and cookie data via the Share object. - --- SSLGet: Retrive an https web page. Try https://sourceforge.net. - --- Upload: Upload a file to an FTP site. - --- VersionData: Dump internal cURL version data. diff --git a/Samples/SSLGet/SSLGet.cs b/Samples/SSLGet/SSLGet.cs deleted file mode 100644 index 60a84ab..0000000 --- a/Samples/SSLGet/SSLGet.cs +++ /dev/null @@ -1,49 +0,0 @@ -// SSLGet.cs - demonstrate Ssl get capability -// usage: SSLGet url, e.g. SSLGet https://sourceforge.net - -using System; -using System.Linq; -using System.Text; -using CurlSharp; - -internal class SSLGet -{ - public static void Main(String[] args) - { - try - { - Curl.GlobalInit(CurlInitFlag.All); - - using (var easy = new CurlEasy()) - { - easy.WriteFunction = OnWriteData; - easy.SslContextFunction = OnSslContext; - easy.Url = args.Count() > 1 ? args[0] : "https://www.amazon.com"; - easy.CaInfo = "curl-ca-bundle.crt"; - - easy.Perform(); - } - - Curl.GlobalCleanup(); - } - catch (Exception ex) - { - Console.WriteLine(ex); - Console.ReadLine(); - } - } - - public static Int32 OnWriteData(Byte[] buf, Int32 size, Int32 nmemb, Object extraData) - { - Console.Write(Encoding.UTF8.GetString(buf)); - return size*nmemb; - } - - public static CurlCode OnSslContext(CurlSslContext ctx, Object extraData) - { - // To do anything useful with the CurlSslContext object, you'll need - // to call the OpenSSL native methods on your own. So for this - // demo, we just return what cURL is expecting. - return CurlCode.Ok; - } -} \ No newline at end of file diff --git a/Samples/SSLGet/SSLGet.csproj b/Samples/SSLGet/SSLGet.csproj deleted file mode 100644 index b7f2256..0000000 --- a/Samples/SSLGet/SSLGet.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp1.1 - ..\bin\ - - - - - - - \ No newline at end of file diff --git a/Samples/ShareDemo/EasyThread.cs b/Samples/ShareDemo/EasyThread.cs deleted file mode 100644 index 6db09b6..0000000 --- a/Samples/ShareDemo/EasyThread.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System; -using CurlSharp; - -namespace ShareDemo -{ - public class EasyThread - { - // state information - private static readonly CurlWriteCallback wf; - private readonly CurlShare _curlShare; - private readonly String _url; - - // static class constructor to create static delegate - static EasyThread() - { - Console.WriteLine("EasyThread class constructor"); - wf = OnWriteData; - } - - // instance constructor for url - public EasyThread(String s, CurlShare shr) - { - Console.WriteLine("EasyThread instance constructor: url={0}", s); - _url = s; - _curlShare = shr; - } - - public void ThreadFunc() - { - using (var easy = new CurlEasy()) - { - easy.BufferSize = 64*1024; - easy.Url = _url; - easy.WriteFunction = wf; - easy.WriteData = _url; - easy.Share = _curlShare; - easy.Perform(); - } - } - - public static Int32 OnWriteData(Byte[] buf, Int32 size, Int32 nmemb, Object extraData) - { - var nBytes = size*nmemb; - Console.WriteLine("Obtained {0} bytes from {1}", nBytes, extraData); - return nBytes; - } - } -} \ No newline at end of file diff --git a/Samples/ShareDemo/ShareDemo.cs b/Samples/ShareDemo/ShareDemo.cs deleted file mode 100644 index 2178cf8..0000000 --- a/Samples/ShareDemo/ShareDemo.cs +++ /dev/null @@ -1,93 +0,0 @@ -// ShareDemo.cs - demonstrate share capability -// usage: ShareDemo url1 url2, e.g. ShareDemo http://www.google.com http://www.yahoo.com - -using System; -using System.Collections.Generic; -using System.Threading; -using CurlSharp; - -namespace ShareDemo -{ - internal class ShareDemo - { - // synchronization objects for Dns and Cookies - private static object dnsLock, cookieLock; - - public static void Main(String[] args) - { - try - { - Curl.GlobalInit(CurlInitFlag.All); - - dnsLock = new Object(); - cookieLock = new Object(); - - var urls = new[] - { - "http://www.codeplex.com", - "http://www.yahoo.com", - "http://www.cnn.com", - "http://www.abc.com", - "http://www.bbc.co.uk" - }; - - using (var share = new CurlShare()) - { - share.LockFunction = OnLock; - share.UnlockFunction = OnUnlock; - share.Share = CurlLockData.Cookie; - share.Share = CurlLockData.Dns; - - var workers = new List(); - foreach (var url in urls) - { - var et = new EasyThread(url, share); - var thread = new Thread(et.ThreadFunc); - workers.Add(thread); - thread.Start(); - } - - foreach (var thread in workers) - { - thread.Join(); - } - } - - Curl.GlobalCleanup(); - } - catch (Exception ex) - { - Console.WriteLine(ex); - Console.ReadLine(); - } - } - - public static void OnLock(CurlLockData data, CurlLockAccess access, Object extraData) - { - //Console.WriteLine("OnLock({0}, {1})", data, access); - switch (data) - { - case CurlLockData.Dns: - Monitor.Enter(dnsLock); - break; - case CurlLockData.Cookie: - Monitor.Enter(cookieLock); - break; - } - } - - public static void OnUnlock(CurlLockData data, Object extraData) - { - //Console.WriteLine("OnUnlock({0})", data); - switch (data) - { - case CurlLockData.Dns: - Monitor.Exit(dnsLock); - break; - case CurlLockData.Cookie: - Monitor.Exit(cookieLock); - break; - } - } - } -} \ No newline at end of file diff --git a/Samples/ShareDemo/ShareDemo.csproj b/Samples/ShareDemo/ShareDemo.csproj deleted file mode 100644 index b7f2256..0000000 --- a/Samples/ShareDemo/ShareDemo.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp1.1 - ..\bin\ - - - - - - - \ No newline at end of file diff --git a/Samples/SmtpMail/SmtpMail.cs b/Samples/SmtpMail/SmtpMail.cs deleted file mode 100644 index fd538a5..0000000 --- a/Samples/SmtpMail/SmtpMail.cs +++ /dev/null @@ -1,115 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using CurlSharp; - -namespace SmtpMail -{ - [StructLayout(LayoutKind.Sequential)] - internal struct UploadContext - { - public int LinesRead; - } - - internal class SmtpMail - { - private static void Main(string[] args) - { - try - { - Curl.GlobalInit(CurlInitFlag.All); - - using (var curl = new CurlEasy()) - { - /* This is the URL for your mailserver */ - curl.Url = "smtp://localhost:25"; - - /* 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.SetOpt(CurlOption.MailFrom, ""); - - /* 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. */ - using (var recipients = new CurlSlist()) - { - recipients.Append(""); - recipients.Append(""); - curl.SetOpt(CurlOption.MailRcpt, recipients); - - /* We're using a callback function to specify the payload (the - * headers and body of the message). You could just use the - * ReadData option to specify a FILE pointer to read from. */ - curl.ReadFunction = PayloadSource; - curl.ReadData = new UploadContext(); - curl.Upload = true; - - var res = curl.Perform(); - if (res != CurlCode.Ok) - { - Console.WriteLine("CurlEasy.Perform() failed: " + res); - } - } - - /* 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 - * 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.GlobalCleanup(); - } - catch (Exception ex) - { - Console.WriteLine(ex); - Console.ReadLine(); - } - } - - private static byte[] GetBytes(string str) - { - var bytes = new byte[str.Length*sizeof (char)]; - Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length); - return bytes; - } - - private static int PayloadSource(byte[] buf, int size, int nmemb, object extradata) - { - var payloadText = new[] - { - "Date: Mon, 29 Nov 2010 21:54:29 +1100\r\n", - "To: \r\n", - "From: (Example User)\r\n", - "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" - }; - - var ctxUpload = (UploadContext) extradata; - - if ((ctxUpload.LinesRead >= 0) && - (ctxUpload.LinesRead < payloadText.Length) && - (size != 0) && (nmemb != 0) && - ((size*nmemb) > 0)) - { - var line = payloadText[ctxUpload.LinesRead++]; - var lineBuf = GetBytes(line); - Buffer.BlockCopy(lineBuf, 0, buf, 0, lineBuf.Length); - return lineBuf.Length; - } - return 0; - } - } -} \ No newline at end of file diff --git a/Samples/SmtpMail/SmtpMail.csproj b/Samples/SmtpMail/SmtpMail.csproj deleted file mode 100644 index b7f2256..0000000 --- a/Samples/SmtpMail/SmtpMail.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp1.1 - ..\bin\ - - - - - - - \ No newline at end of file diff --git a/Samples/Upload/Upload.cs b/Samples/Upload/Upload.cs deleted file mode 100644 index d53a28f..0000000 --- a/Samples/Upload/Upload.cs +++ /dev/null @@ -1,61 +0,0 @@ -// Upload.cs - demonstrate ftp upload capability -// usage: Upload srcFile destUrl username password -// e.g. Upload myFile.dat ftp://ftp.myftp.com me myPassword - -using System; -using System.IO; -using CurlSharp; -using static System.Console; - -namespace Upload -{ - internal class Upload - { - public static void Main(string[] args) - { - try - { - Curl.GlobalInit(CurlInitFlag.All); - - using (var fs = new FileStream(args[0], FileMode.Open, FileAccess.Read, FileShare.Read)) - { - using (var easy = new CurlEasy()) - { - easy.ReadFunction = OnReadData; - easy.ReadData = fs; - easy.DebugFunction = OnDebug; - easy.SetOpt(CurlOption.Verbose, true); - easy.ProgressFunction = OnProgress; - easy.Url = args[1]; - easy.SetOpt(CurlOption.UserPwd, args[2] + ":" + args[3]); - easy.Upload = true; - easy.InfileSize = fs.Length; - - easy.Perform(); - } - } - - Curl.GlobalCleanup(); - } - catch (Exception ex) - { - WriteLine(ex); - ReadLine(); - } - } - - public static int OnReadData(byte[] buf, int size, int nmemb, object extraData) - { - var fs = (FileStream) extraData; - return fs.Read(buf, 0, size*nmemb); - } - - public static void OnDebug(CurlInfoType infoType, string msg, int size, object extraData) => WriteLine(msg); - - public static int OnProgress(object extraData, double dlTotal, double dlNow, double ulTotal, double ulNow) - { - WriteLine($"Progress: {dlTotal} {dlNow} {ulTotal} {ulNow}"); - return 0; // standard return from PROGRESSFUNCTION - } - } -} \ No newline at end of file diff --git a/Samples/Upload/Upload.csproj b/Samples/Upload/Upload.csproj deleted file mode 100644 index b7f2256..0000000 --- a/Samples/Upload/Upload.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp1.1 - ..\bin\ - - - - - - - \ No newline at end of file diff --git a/Samples/VersionData/VersionData.cs b/Samples/VersionData/VersionData.cs deleted file mode 100644 index b27034e..0000000 --- a/Samples/VersionData/VersionData.cs +++ /dev/null @@ -1,42 +0,0 @@ -// VersionData.cs - dump cURL version data -// usage: VersionData - -using System; -using CurlSharp; - -internal class VersionData -{ - public static void Main(String[] args) - { - try - { - Curl.GlobalInit(CurlInitFlag.All); - - var vd = Curl.GetVersionInfo(CurlVersion.Now); -#if USE_LIBCURLSHIM - Console.WriteLine(" Age: {0}", vd.Age); - Console.WriteLine("Version String: {0}", vd.Version); - Console.WriteLine("Version Number: {0}", vd.VersionNum); - Console.WriteLine(" Host System: {0}", vd.Host); - Console.WriteLine("Feature Bitmap: {0}", vd.Features); - Console.WriteLine(" Ssl Version: {0}", vd.SslVersion); - Console.WriteLine("Ssl VersionNum: {0}", vd.SSLVersionNum); - Console.WriteLine(" LibZ Version: {0}", vd.LibZVersion); - Console.WriteLine(" ARES Version: {0}", vd.ARes); - Console.WriteLine(" ARES Ver Num: {0}", vd.AResNum); - Console.WriteLine("LibIdn Version: {0}", vd.LibIdn); - Console.WriteLine(); - Console.WriteLine("Protocols:"); - var protocols = vd.Protocols; - foreach (var prot in protocols) - Console.WriteLine(" {0}", prot); -#endif - Curl.GlobalCleanup(); - } - catch (Exception ex) - { - Console.WriteLine(ex); - Console.ReadLine(); - } - } -} \ No newline at end of file diff --git a/Samples/VersionData/VersionData.csproj b/Samples/VersionData/VersionData.csproj deleted file mode 100644 index b7f2256..0000000 --- a/Samples/VersionData/VersionData.csproj +++ /dev/null @@ -1,13 +0,0 @@ - - - - Exe - netcoreapp1.1 - ..\bin\ - - - - - - - \ No newline at end of file diff --git a/Samples/WinSamples/FormGetSource.Designer.cs b/Samples/WinSamples/FormGetSource.Designer.cs deleted file mode 100644 index d88e40b..0000000 --- a/Samples/WinSamples/FormGetSource.Designer.cs +++ /dev/null @@ -1,106 +0,0 @@ -namespace WinSamples -{ - partial class FormGetSource - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.label1 = new System.Windows.Forms.Label(); - this.textBoxUrl = new System.Windows.Forms.TextBox(); - this.buttonGetSource = new System.Windows.Forms.Button(); - this.textBoxSource = new System.Windows.Forms.TextBox(); - this.SuspendLayout(); - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(13, 13); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(32, 13); - this.label1.TabIndex = 0; - this.label1.Text = "URL:"; - // - // textBoxUrl - // - this.textBoxUrl.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxUrl.Location = new System.Drawing.Point(51, 10); - this.textBoxUrl.Name = "textBoxUrl"; - this.textBoxUrl.Size = new System.Drawing.Size(409, 20); - this.textBoxUrl.TabIndex = 1; - this.textBoxUrl.Text = "google.com"; - // - // buttonGetSource - // - this.buttonGetSource.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonGetSource.Location = new System.Drawing.Point(466, 8); - this.buttonGetSource.Name = "buttonGetSource"; - this.buttonGetSource.Size = new System.Drawing.Size(112, 23); - this.buttonGetSource.TabIndex = 2; - this.buttonGetSource.Text = "Get Source"; - this.buttonGetSource.UseVisualStyleBackColor = true; - this.buttonGetSource.Click += new System.EventHandler(this.buttonGetSource_Click); - // - // textBoxSource - // - this.textBoxSource.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.textBoxSource.BackColor = System.Drawing.Color.Black; - this.textBoxSource.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.textBoxSource.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0))))); - this.textBoxSource.Location = new System.Drawing.Point(12, 37); - this.textBoxSource.Multiline = true; - this.textBoxSource.Name = "textBoxSource"; - this.textBoxSource.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.textBoxSource.Size = new System.Drawing.Size(566, 364); - this.textBoxSource.TabIndex = 3; - // - // FormGetSource - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(590, 413); - this.Controls.Add(this.textBoxSource); - this.Controls.Add(this.buttonGetSource); - this.Controls.Add(this.textBoxUrl); - this.Controls.Add(this.label1); - this.Name = "FormGetSource"; - this.Text = "Get Source"; - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.Label label1; - private System.Windows.Forms.TextBox textBoxUrl; - private System.Windows.Forms.Button buttonGetSource; - private System.Windows.Forms.TextBox textBoxSource; - } -} - diff --git a/Samples/WinSamples/FormGetSource.cs b/Samples/WinSamples/FormGetSource.cs deleted file mode 100644 index 07d7ebf..0000000 --- a/Samples/WinSamples/FormGetSource.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Text; -using System.Windows.Forms; -using CurlSharp; - -namespace WinSamples -{ - public partial class FormGetSource : Form - { - public FormGetSource() - { - InitializeComponent(); - } - - private void buttonGetSource_Click(object sender, EventArgs e) - { - textBoxSource.Clear(); - Curl.GlobalInit(CurlInitFlag.All); - - using (var easy = new CurlEasy()) - { - easy.AutoReferer = true; - easy.FollowLocation = true; - easy.Url = textBoxUrl.Text.Trim(); - easy.WriteFunction = OnWriteData; - easy.Perform(); - } - - Curl.GlobalCleanup(); - } - - private Int32 OnWriteData(Byte[] buf, Int32 size, Int32 nmemb, Object extraData) - { - Console.Write(Encoding.UTF8.GetString(buf)); - textBoxSource.Text += Encoding.UTF8.GetString(buf); - return size*nmemb; - } - } -} \ No newline at end of file diff --git a/Samples/WinSamples/FormGetSource.resx b/Samples/WinSamples/FormGetSource.resx deleted file mode 100644 index 1af7de1..0000000 --- a/Samples/WinSamples/FormGetSource.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/Samples/WinSamples/Program.cs b/Samples/WinSamples/Program.cs deleted file mode 100644 index 63cb0fe..0000000 --- a/Samples/WinSamples/Program.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Windows.Forms; - -namespace WinSamples -{ - static class Program - { - /// - /// The main entry point for the application. - /// - [STAThread] - static void Main() - { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new FormGetSource()); - } - } -} diff --git a/Samples/WinSamples/Properties/AssemblyInfo.cs b/Samples/WinSamples/Properties/AssemblyInfo.cs deleted file mode 100644 index e24f847..0000000 --- a/Samples/WinSamples/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("WinSamples")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Microsoft")] -[assembly: AssemblyProduct("WinSamples")] -[assembly: AssemblyCopyright("Copyright © Microsoft 2010")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("2c38908a-67eb-4afd-a0b2-09719ea94bd9")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Samples/WinSamples/Properties/Resources.Designer.cs b/Samples/WinSamples/Properties/Resources.Designer.cs deleted file mode 100644 index 700a036..0000000 --- a/Samples/WinSamples/Properties/Resources.Designer.cs +++ /dev/null @@ -1,63 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WinSamples.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WinSamples.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - } -} diff --git a/Samples/WinSamples/Properties/Resources.resx b/Samples/WinSamples/Properties/Resources.resx deleted file mode 100644 index af7dbeb..0000000 --- a/Samples/WinSamples/Properties/Resources.resx +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/Samples/WinSamples/Properties/Settings.Designer.cs b/Samples/WinSamples/Properties/Settings.Designer.cs deleted file mode 100644 index 6797f60..0000000 --- a/Samples/WinSamples/Properties/Settings.Designer.cs +++ /dev/null @@ -1,26 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace WinSamples.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default { - get { - return defaultInstance; - } - } - } -} diff --git a/Samples/WinSamples/Properties/Settings.settings b/Samples/WinSamples/Properties/Settings.settings deleted file mode 100644 index 3964565..0000000 --- a/Samples/WinSamples/Properties/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/Samples/WinSamples/WinSamples.csproj b/Samples/WinSamples/WinSamples.csproj deleted file mode 100644 index 02255c1..0000000 --- a/Samples/WinSamples/WinSamples.csproj +++ /dev/null @@ -1,101 +0,0 @@ - - - - Debug - x86 - 8.0.30703 - 2.0 - {801CC278-82B2-4CEE-84FC-B10B1497A957} - WinExe - Properties - WinSamples - WinSamples - v4.6.1 - - - 512 - - - AnyCPU - true - full - false - ..\bin\ - DEBUG;TRACE - prompt - 4 - false - - - x86 - pdbonly - true - ..\bin\ - TRACE - prompt - 4 - false - - - - - - - - - - - - - - - - Form - - - FormGetSource.cs - - - - - FormGetSource.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - - - - - - - - - {74420A79-CC16-442C-8B1E-7C1B913844F0} - CurlSharp - - - \ No newline at end of file diff --git a/Samples/WinSamples/app.config b/Samples/WinSamples/app.config deleted file mode 100644 index 3dbff35..0000000 --- a/Samples/WinSamples/app.config +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/libcurlshim/array.c b/libcurlshim/array.c deleted file mode 100644 index bbecef0..0000000 --- a/libcurlshim/array.c +++ /dev/null @@ -1,103 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: array.c,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#include -#include -#include "assert.h" -#include "array.h" -#include "arrayrep.h" -#include "mem.h" -#define T Array_T -T Array_new(int length, int size) { - T array; - NEW(array); - if (length > 0) - ArrayRep_init(array, length, size, - CALLOC(length, size)); - else - ArrayRep_init(array, length, size, NULL); - return array; -} -void ArrayRep_init(T array, int length, int size, - void *ary) { - assert(array); - assert(ary && length>0 || length==0 && ary==NULL); - assert(size > 0); - array->length = length; - array->size = size; - if (length > 0) - array->array = ary; - else - array->array = NULL; -} -void Array_free(T *array) { - assert(array && *array); - FREE((*array)->array); - FREE(*array); -} -void *Array_get(T array, int i) { - assert(array); - assert(i >= 0 && i < array->length); - return array->array + i*array->size; -} -void *Array_put(T array, int i, void *elem) { - assert(array); - assert(i >= 0 && i < array->length); - assert(elem); - memcpy(array->array + i*array->size, elem, - array->size); - return elem; -} -int Array_length(T array) { - assert(array); - return array->length; -} -int Array_size(T array) { - assert(array); - return array->size; -} -void Array_resize(T array, int length) { - assert(array); - assert(length >= 0); - if (length == 0) - FREE(array->array); - else if (array->length == 0) - array->array = ALLOC(length*array->size); - else - RESIZE(array->array, length*array->size); - array->length = length; -} -T Array_copy(T array, int length) { - T copy; - assert(array); - assert(length >= 0); - copy = Array_new(length, array->size); - if (copy->length >= array->length - && array->length > 0) - memcpy(copy->array, array->array, - array->length*array->size); - else if (array->length > copy->length - && copy->length > 0) - memcpy(copy->array, array->array, - copy->length*array->size); - return copy; -} diff --git a/libcurlshim/array.h b/libcurlshim/array.h deleted file mode 100644 index e1f6ce0..0000000 --- a/libcurlshim/array.h +++ /dev/null @@ -1,36 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: array.h,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#ifndef ARRAY_INCLUDED -#define ARRAY_INCLUDED -#define T Array_T -typedef struct T *T; -extern T Array_new (int length, int size); -extern void Array_free(T *array); -extern int Array_length(T array); -extern int Array_size (T array); -extern void *Array_get(T array, int i); -extern void *Array_put(T array, int i, void *elem); -extern void Array_resize(T array, int length); -extern T Array_copy (T array, int length); -#undef T -#endif diff --git a/libcurlshim/arrayrep.h b/libcurlshim/arrayrep.h deleted file mode 100644 index 25ff89f..0000000 --- a/libcurlshim/arrayrep.h +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: arrayrep.h,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#ifndef ARRAYREP_INCLUDED -#define ARRAYREP_INCLUDED -#define T Array_T -struct T { - int length; - int size; - char *array; -}; -extern void ArrayRep_init(T array, int length, - int size, void *ary); -#undef T -#endif diff --git a/libcurlshim/assert.c b/libcurlshim/assert.c deleted file mode 100644 index f590474..0000000 --- a/libcurlshim/assert.c +++ /dev/null @@ -1,29 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: assert.c,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#ifndef NDEBUG -#include "assert.h" -const Except_T Assert_Failed = { "Assertion failed" }; -void (assert)(int e) { - assert(e); -} -#endif diff --git a/libcurlshim/assert.h b/libcurlshim/assert.h deleted file mode 100644 index 63d6050..0000000 --- a/libcurlshim/assert.h +++ /dev/null @@ -1,30 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: assert.h,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#undef assert -#ifdef NDEBUG -#define assert(e) ((void)0) -#else -#include "except.h" -extern void assert(int e); -#define assert(e) ((void)((e)||(RAISE(Assert_Failed),0))) -#endif diff --git a/libcurlshim/except.c b/libcurlshim/except.c deleted file mode 100644 index 714a90a..0000000 --- a/libcurlshim/except.c +++ /dev/null @@ -1,93 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: except.c,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#include -#include -#include "assert.h" -#include "except.h" -#define T Except_T -Except_Frame *Except_stack = NULL; -void Except_raise(const T *e, const char *file, - int line) { -#ifdef WIN32 - Except_Frame *p; - - if (Except_index == -1) - Except_init(); - p = TlsGetValue(Except_index); -#else - Except_Frame *p = Except_stack; -#endif - assert(e); - if (p == NULL) { - fprintf(stderr, "Uncaught exception"); - if (e->reason) - fprintf(stderr, " %s", e->reason); - else - fprintf(stderr, " at 0x%p", e); - if (file && line > 0) - fprintf(stderr, " raised at %s:%d\n", file, line); - fprintf(stderr, "aborting...\n"); - fflush(stderr); - abort(); - } - p->exception = e; - p->file = file; - p->line = line; -#ifdef WIN32 - Except_pop(); -#else - Except_stack = Except_stack->prev; -#endif - longjmp(p->env, Except_raised); -} -#ifdef WIN32 -_CRTIMP void __cdecl _assert(void *, void *, unsigned); -#undef assert -#define assert(e) ((e) || (_assert(#e, __FILE__, __LINE__), 0)) - -int Except_index = -1; -void Except_init(void) { - BOOL cond; - - Except_index = TlsAlloc(); - assert(Except_index != TLS_OUT_OF_INDEXES); - cond = TlsSetValue(Except_index, NULL); - assert(cond == TRUE); -} - -void Except_push(Except_Frame *fp) { - BOOL cond; - - fp->prev = TlsGetValue(Except_index); - cond = TlsSetValue(Except_index, fp); - assert(cond == TRUE); -} - -void Except_pop(void) { - BOOL cond; - Except_Frame *tos = TlsGetValue(Except_index); - - cond = TlsSetValue(Except_index, tos->prev); - assert(cond == TRUE); -} -#endif diff --git a/libcurlshim/except.h b/libcurlshim/except.h deleted file mode 100644 index 87c8f6a..0000000 --- a/libcurlshim/except.h +++ /dev/null @@ -1,113 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: except.h,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#ifndef EXCEPT_INCLUDED -#define EXCEPT_INCLUDED -#include -#define T Except_T -typedef struct T { - const char *reason; -} T; -typedef struct Except_Frame Except_Frame; -struct Except_Frame { - Except_Frame *prev; - jmp_buf env; - const char *file; - int line; - const T *exception; -}; -enum { Except_entered=0, Except_raised, - Except_handled, Except_finalized }; -extern Except_Frame *Except_stack; -extern const Except_T Assert_Failed; -void Except_raise(const T *e, const char *file,int line); -#ifdef WIN32 -#include - -extern int Except_index; -extern void Except_init(void); -extern void Except_push(Except_Frame *fp); -extern void Except_pop(void); -#endif -#ifdef WIN32 -/* $Id: except.h,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ */ -#define RAISE(e) Except_raise(&(e), __FILE__, __LINE__) -#define RERAISE Except_raise(Except_frame.exception, \ - Except_frame.file, Except_frame.line) -#define RETURN switch (Except_pop(),0) default: return -#define TRY do { \ - volatile int Except_flag; \ - Except_Frame Except_frame; \ - if (Except_index == -1) \ - Except_init(); \ - Except_push(&Except_frame); \ - Except_flag = setjmp(Except_frame.env); \ - if (Except_flag == Except_entered) { -#define EXCEPT(e) \ - if (Except_flag == Except_entered) Except_pop(); \ - } else if (Except_frame.exception == &(e)) { \ - Except_flag = Except_handled; -#define ELSE \ - if (Except_flag == Except_entered) Except_pop(); \ - } else { \ - Except_flag = Except_handled; -#define FINALLY \ - if (Except_flag == Except_entered) Except_pop(); \ - } { \ - if (Except_flag == Except_entered) \ - Except_flag = Except_finalized; -#define END_TRY \ - if (Except_flag == Except_entered) Except_pop(); \ - } if (Except_flag == Except_raised) RERAISE; \ -} while (0) -#else -#define RAISE(e) Except_raise(&(e), __FILE__, __LINE__) -#define RERAISE Except_raise(Except_frame.exception, \ - Except_frame.file, Except_frame.line) -#define RETURN switch (Except_stack = Except_stack->prev,0) default: return -#define TRY do { \ - volatile int Except_flag; \ - Except_Frame Except_frame; \ - Except_frame.prev = Except_stack; \ - Except_stack = &Except_frame; \ - Except_flag = setjmp(Except_frame.env); \ - if (Except_flag == Except_entered) { -#define EXCEPT(e) \ - if (Except_flag == Except_entered) Except_stack = Except_stack->prev; \ - } else if (Except_frame.exception == &(e)) { \ - Except_flag = Except_handled; -#define ELSE \ - if (Except_flag == Except_entered) Except_stack = Except_stack->prev; \ - } else { \ - Except_flag = Except_handled; -#define FINALLY \ - if (Except_flag == Except_entered) Except_stack = Except_stack->prev; \ - } { \ - if (Except_flag == Except_entered) \ - Except_flag = Except_finalized; -#define END_TRY \ - if (Except_flag == Except_entered) Except_stack = Except_stack->prev; \ - } if (Except_flag == Except_raised) RERAISE; \ -} while (0) -#endif -#undef T -#endif diff --git a/libcurlshim/libcurlshim.c b/libcurlshim/libcurlshim.c deleted file mode 100644 index fa3462a..0000000 --- a/libcurlshim/libcurlshim.c +++ /dev/null @@ -1,584 +0,0 @@ -/*************************************************************************** - * - * Project: libcurl.NET - * - * Copyright (c) 2004, 2005 Jeff Phillips (jeff@jeffp.net) - * - * This software is licensed as described in the file COPYING, which you - * should have received as part of this distribution. - * - * You may opt to use, copy, modify, merge, publish, distribute and/or sell - * copies of this Software, and permit persons to whom the Software is - * furnished to do so, under the terms of the COPYING file. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF - * ANY KIND, either express or implied. - * - * $Id: LibCurlShim.c,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#if _WIN32 || _WIN64 - #if _WIN64 - #define _ENV_64 - #else - #define _ENV_32 - #endif -#elif __GNUC__ - #if __x86_64__ || __ppc64__ - #define _ENV_64 - #else - #define _ENV_32 - #endif -#endif - -//#define WIN32_LEAN_AND_MEAN - -#define CURLSHIM_API __declspec(dllexport) - -#include -#include -#include "seq.h" -#include "list.h" -#include "table.h" -#include "mem.h" - -#define CURLOPT_WRITEFUNCTION 20011 -#define CURLOPT_WRITEDATA 10001 -#define CURLOPT_READFUNCTION 20012 -#define CURLOPT_READDATA 10009 -#define CURLOPT_PROGRESSFUNCTION 20056 -#define CURLOPT_PROGRESSDATA 10057 -#define CURLOPT_DEBUGFUNCTION 20094 -#define CURLOPT_DEBUGDATA 10095 -#define CURLOPT_HEADERFUNCTION 20079 -#define CURLOPT_HEADERDATA 10029 -#define CURLOPT_SSL_CTX_FUNCTION 20108 -#define CURLOPT_SSL_CTX_DATA 10109 -#define CURLOPT_IOCTLFUNCTION 20130 -#define CURLOPT_IOCTLDATA 10131 - -#define CURLFORM_END 17 - -#define CURLSHOPT_LOCKFUNC 3 -#define CURLSHOPT_UNLOCKFUNC 4 -#define CURLSHOPT_USERDATA 5 - -#pragma warning(disable : 4100 4311 4312) - -static HMODULE g_hModCurl; -static HMODULE g_hModSock; -static Table_T g_delegateTable; -static CRITICAL_SECTION g_csDelegateTable; -static Table_T g_shareDelegateTable; -static CRITICAL_SECTION g_csShareDelegateTable; - -typedef int (__cdecl *CPROC)(); -typedef void* (__cdecl *CPVPROC)(); -typedef int (__cdecl *OPTPROC)(void*, int, __int64); - -static CPROC pfn_curl_easy_setopt; -static CPROC pfn_curl_share_setopt; -static CPROC pfn_curl_multi_fdset; -static CPVPROC pfn_curl_multi_info_read; -static FARPROC pfn_curl_formadd; -static FARPROC pfn_select; - -static void import_functions() -{ - if (!pfn_curl_easy_setopt) - { - pfn_curl_easy_setopt = (CPROC)GetProcAddress(g_hModCurl, "curl_easy_setopt"); - } - - if (!pfn_curl_share_setopt) - { - pfn_curl_share_setopt = (CPROC)GetProcAddress(g_hModCurl, "curl_share_setopt"); - } - - if (!pfn_curl_formadd) - { - pfn_curl_formadd = (FARPROC)GetProcAddress(g_hModCurl, "curl_formadd"); - } - - if (!pfn_select) - { - pfn_select = (FARPROC)GetProcAddress(g_hModSock, "select"); - } - - if (!pfn_curl_multi_fdset) - { - pfn_curl_multi_fdset = (CPROC)GetProcAddress(g_hModCurl, "curl_multi_fdset"); - } - - if (!pfn_curl_multi_info_read) - { - pfn_curl_multi_info_read = (CPVPROC)GetProcAddress(g_hModCurl, "curl_multi_info_read"); - } -} - -CURLSHIM_API void curl_shim_initialize() -{ -#ifdef _ENV_32 - g_hModCurl = GetModuleHandle("libcurl.dll"); -#else - g_hModCurl = GetModuleHandle("libcurl64.dll"); -#endif - g_hModSock = GetModuleHandle("ws2_32.dll"); - g_delegateTable = Table_new(16, NULL, NULL); - InitializeCriticalSection(&g_csDelegateTable); - g_shareDelegateTable = Table_new(16, NULL, NULL); - InitializeCriticalSection(&g_csShareDelegateTable); - import_functions(); -} - -static void vfree(const void* key, void** value, void* cl) -{ - FREE(*value); -} - -CURLSHIM_API void curl_shim_cleanup() -{ - Table_map(g_delegateTable, vfree, NULL); - Table_free(&g_delegateTable); - DeleteCriticalSection(&g_csDelegateTable); - Table_map(g_shareDelegateTable, vfree, NULL); - Table_free(&g_shareDelegateTable); - DeleteCriticalSection(&g_csShareDelegateTable); -} - -CURLSHIM_API char* curl_shim_get_version_char_ptr( - void* p, int offset) -{ - char* q = &((char*)p)[offset]; - char** qq = (char**)q; - return *qq; -} - -#pragma message("This will break in 64-bits, unless cURL is rebuilt") -CURLSHIM_API int curl_shim_get_version_int_value( - void* p, int offset) -{ - int* q = (int*)p; - q += offset / sizeof(int); - return *q; -} - -CURLSHIM_API int curl_shim_get_number_of_protocols( - void* p, int protOffset) -{ - int nProtocols = 0; - char* q = &((char*)p)[protOffset]; - char*** qq = (char***)q; - char** rr = *qq; - while (*rr++) - nProtocols++; - return nProtocols; -} - -CURLSHIM_API char* curl_shim_get_protocol_string( - void* p, int protOffset, int nProt) -{ - char* q = &((char*)p)[protOffset]; - char*** qq = (char***)q; - char** rr = *qq; - return rr[nProt]; -} - -CURLSHIM_API void* curl_shim_alloc_strings() -{ - Seq_T seq = Seq_new(0); - return (void*)seq; -} - -CURLSHIM_API char* curl_shim_add_string(void* p, char* pInStr) -{ - char* pOutStr; - Seq_T seq = (Seq_T)p; - - pOutStr = (char*)malloc(strlen(pInStr) + 1); - strcpy(pOutStr, pInStr); - Seq_addhi(seq, pOutStr); - return pOutStr; -} - -CURLSHIM_API void curl_shim_free_strings(void* p) -{ - int i, count; - Seq_T seq = (Seq_T)p; - - count = Seq_length(seq); - for (i = 0; i < count; i++) - free(Seq_get(seq, i)); - Seq_free(&seq); -} - -CURLSHIM_API void* curl_shim_add_string_to_slist( - void* lst, char* pInStr) -{ - char* pOutStr; - List_T list = (List_T)lst; - - pOutStr = (char*)malloc(strlen(pInStr) + 1); - strcpy(pOutStr, pInStr); - return List_push(list, (void*)pOutStr); -} - -CURLSHIM_API void* curl_shim_get_string_from_slist( - void* lst, char** ppString) -{ - List_T list = (List_T)lst; - *ppString = (char*)list->first; - return (void*)list->rest; -} - -CURLSHIM_API void curl_shim_free_slist(void* lst) -{ - void* pvStr = NULL; - List_T list = (List_T)lst; - while ((list = List_pop(list, &pvStr)) != NULL) - free(pvStr); -} - -static size_t write_callback_impl(char* szptr, size_t sz, - size_t nmemb, void* pvThis) -{ - // locate the delegates - FARPROC fpWriteDel; - unsigned int* pnDelegates = - (unsigned int*)Table_get(g_delegateTable, pvThis); - - if (!pnDelegates) - return 0; - fpWriteDel = (FARPROC)pnDelegates[0]; - return fpWriteDel(szptr, sz, nmemb, pvThis); -} - -static size_t read_callback_impl(void* szptr, size_t sz, - size_t nmemb, void* pvThis) -{ - // locate the delegates - FARPROC fpReadDel; - unsigned int* pnDelegates = - (unsigned int*)Table_get(g_delegateTable, pvThis); - - if (!pnDelegates) - return 0; - fpReadDel = (FARPROC)pnDelegates[1]; - return fpReadDel(szptr, sz, nmemb, pvThis); -} - -static int progress_callback_impl(void* pvThis, double dlTotal, - double dlNow, double ulTotal, double ulNow) -{ - // locate the delegates - FARPROC fpProgDel; - unsigned int* pnDelegates = - (unsigned int*)Table_get(g_delegateTable, pvThis); - - if (!pnDelegates) - return 0; - fpProgDel = (FARPROC)pnDelegates[2]; - return fpProgDel(pvThis, dlTotal, dlNow, ulTotal, ulNow); -} - -static int debug_callback_impl(void* pvCurl, int infoType, - char* szMsg, size_t msgSize, void* pvThis) -{ - // locate the delegates - FARPROC fpDebugDel; - unsigned int* pnDelegates = - (unsigned int*)Table_get(g_delegateTable, pvThis); - - if (!pnDelegates) - return 0; - fpDebugDel = (FARPROC)pnDelegates[3]; - return fpDebugDel(infoType, szMsg, msgSize, pvThis); -} - -static size_t header_callback_impl(char* szptr, size_t sz, - size_t nmemb, void* pvThis) -{ - // locate the delegates - FARPROC fpHeaderDel; - unsigned int* pnDelegates = - (unsigned int*)Table_get(g_delegateTable, pvThis); - - if (!pnDelegates) - return 0; - fpHeaderDel = (FARPROC)pnDelegates[4]; - return fpHeaderDel(szptr, sz, nmemb, pvThis); -} - -static int ssl_ctx_callback_impl(void* pvCurl, void* ctx, void* pvThis) -{ - // locate the delegates - FARPROC fpSslCtxDel; - unsigned int* pnDelegates = - (unsigned int*)Table_get(g_delegateTable, pvThis); - - if (!pnDelegates) - return 0; - fpSslCtxDel = (FARPROC)pnDelegates[5]; - return fpSslCtxDel(ctx, pvThis); -} - -static int ioctl_callback_impl(void* pvCurl, int cmd, void* pvThis) -{ - // locate the delegates - FARPROC fpIoctlDel; - unsigned int* pnDelegates = - (unsigned int*)Table_get(g_delegateTable, pvThis); - - if (!pnDelegates) - return 0; - fpIoctlDel = (FARPROC)pnDelegates[6]; - return fpIoctlDel(cmd, pvThis); -} - -CURLSHIM_API int curl_shim_install_delegates(void* handle, - void* pvThis, void* pvWriteDel, void* pvReadDel, void* pvProgDel, - void* pvDebugDel, void* pvHeaderDel, void* pvSSLContextDel, - void* pvIoctlDel) -{ - // cast return from GetProcAddress as a CPROC - //CPROC pcp = pfn_curl_easy_setopt; // (CPROC)GetProcAddress(g_hModCurl, "curl_easy_setopt"); - - // install all delegates through here when this works - unsigned int* pnDelegates = malloc(7 * sizeof(unsigned int)); - pnDelegates[0] = (unsigned int)pvWriteDel; - pnDelegates[1] = (unsigned int)pvReadDel; - pnDelegates[2] = (unsigned int)pvProgDel; - pnDelegates[3] = (unsigned int)pvDebugDel; - pnDelegates[4] = (unsigned int)pvHeaderDel; - pnDelegates[5] = (unsigned int)pvSSLContextDel; - pnDelegates[6] = (unsigned int)pvIoctlDel; - - // add to the table (need to serialize access) - EnterCriticalSection(&g_csDelegateTable); - Table_put(g_delegateTable, pvThis, pnDelegates); - LeaveCriticalSection(&g_csDelegateTable); - - // setup the callbacks from libcurl - pfn_curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, write_callback_impl); - pfn_curl_easy_setopt(handle, CURLOPT_WRITEDATA, pvThis); - pfn_curl_easy_setopt(handle, CURLOPT_READFUNCTION, read_callback_impl); - pfn_curl_easy_setopt(handle, CURLOPT_READDATA, pvThis); - pfn_curl_easy_setopt(handle, CURLOPT_PROGRESSFUNCTION, progress_callback_impl); - pfn_curl_easy_setopt(handle, CURLOPT_PROGRESSDATA, pvThis); - pfn_curl_easy_setopt(handle, CURLOPT_DEBUGFUNCTION, debug_callback_impl); - pfn_curl_easy_setopt(handle, CURLOPT_DEBUGDATA, pvThis); - pfn_curl_easy_setopt(handle, CURLOPT_HEADERFUNCTION, header_callback_impl); - pfn_curl_easy_setopt(handle, CURLOPT_HEADERDATA, pvThis); - pfn_curl_easy_setopt(handle, CURLOPT_SSL_CTX_FUNCTION, ssl_ctx_callback_impl); - pfn_curl_easy_setopt(handle, CURLOPT_SSL_CTX_DATA, pvThis); - pfn_curl_easy_setopt(handle, CURLOPT_IOCTLFUNCTION, ioctl_callback_impl); - pfn_curl_easy_setopt(handle, CURLOPT_IOCTLDATA, pvThis); - - return 0; -} - -CURLSHIM_API void curl_shim_cleanup_delegates(void* pvThis) -{ - void* pvDelegates; - EnterCriticalSection(&g_csDelegateTable); - pvDelegates = Table_remove(g_delegateTable, pvThis); - LeaveCriticalSection(&g_csDelegateTable); - if (pvDelegates) - free(pvDelegates); -} - -static void lock_callback_impl(void* pvHandle, int data, - int access, void* pvThis) -{ - // locate the delegates - FARPROC fpLockDel; - unsigned int* pnDelegates = - (unsigned int*)Table_get(g_shareDelegateTable, pvThis); - - if (pnDelegates) - { - fpLockDel = (FARPROC)pnDelegates[0]; - fpLockDel(data, access, pvThis); - } -} - -static void unlock_callback_impl(void* pvHandle, int data, - void* pvThis) -{ - // locate the delegates - FARPROC fpUnlockDel; - unsigned int* pnDelegates = - (unsigned int*)Table_get(g_shareDelegateTable, pvThis); - - if (pnDelegates) - { - fpUnlockDel = (FARPROC)pnDelegates[1]; - fpUnlockDel(data, pvThis); - } -} - -CURLSHIM_API int curl_shim_install_share_delegates( - void* handle, void* pvThis, void* pvLockDel, void* pvUnlockDel) -{ - // cast return from GetProcAddress as a CPROC - //CPROC pcp = pfn_curl_share_setopt; // (CPROC)GetProcAddress(g_hModCurl, "curl_share_setopt"); - - // install delegates - unsigned int* pnDelegates = malloc(2 * sizeof(unsigned int)); - pnDelegates[0] = (unsigned int)pvLockDel; - pnDelegates[1] = (unsigned int)pvUnlockDel; - - // add to the table, with serialized access - EnterCriticalSection(&g_csShareDelegateTable); - Table_put(g_shareDelegateTable, pvThis, pnDelegates); - LeaveCriticalSection(&g_csShareDelegateTable); - - // set up the callbacks from libcurl - pfn_curl_share_setopt(handle, CURLSHOPT_LOCKFUNC, lock_callback_impl); - pfn_curl_share_setopt(handle, CURLSHOPT_UNLOCKFUNC, unlock_callback_impl); - pfn_curl_share_setopt(handle, CURLSHOPT_USERDATA, pvThis); - - return 0; -} - -CURLSHIM_API void curl_shim_cleanup_share_delegates(void* pvThis) -{ - void* pvDelegates; - EnterCriticalSection(&g_csShareDelegateTable); - pvDelegates = Table_remove(g_shareDelegateTable, pvThis); - LeaveCriticalSection(&g_csDelegateTable); - if (pvDelegates) - free(pvDelegates); -} - -CURLSHIM_API void curl_shim_get_file_time( - time_t t, int* yy, int* mm, int* dd, int* hh, - int* mn, int* ss) -{ - struct tm* ptm = localtime(&t); - *yy = ptm->tm_year + 1900; - *mm = ptm->tm_mon + 1; - *dd = ptm->tm_mday; - *hh = ptm->tm_hour; - *mn = ptm->tm_min; - *ss = ptm->tm_sec; -} - - -CURLSHIM_API int curl_shim_formadd(int* pvPosts, - void* pvItems, int nCount) -{ -#ifdef _ENV_32 - int argPairs = (nCount - 1) / 2 - 1; - int stackFix = sizeof(int)* (nCount + 2); - int* ppLast = &pvPosts[1]; - int* ppFirst = &pvPosts[0]; - int retVal = 0; - - // here, wer're calling a vararg function - __asm - { - push CURLFORM_END; we know to be last value - mov ecx, argPairs; number of arg pairs in ecx - mov ebx, pvItems; start of args - Args : mov eax, [ebx + 8 * ecx + 4]; argpair->value - push eax; get it onto stack - mov eax, [ebx + 8 * ecx]; argpair->code - push eax; put it on the stack - dec ecx; decrement argpair counter - jns Args; jump if not negative - - push ppLast; push the last item - push ppFirst; and the first item - - call pfn_curl_formadd; call curl_formadd - mov retVal, eax; store the return value - add esp, stackFix; fix the stack - } - return retVal; -#else - return 43; //CURLE_BAD_FUNCTION_ARGUMENT -#endif -} - - -CURLSHIM_API void* curl_shim_alloc_fd_sets() -{ - // three contigous fd_sets: one for read, one for write, - // and one for error - void *pvfdSets; - int nSize = 3 * sizeof(fd_set); - pvfdSets = malloc(nSize); - memset(pvfdSets, 0, nSize); - return pvfdSets; -} - -CURLSHIM_API void curl_shim_free_fd_sets(void* pvfdSets) -{ - free(pvfdSets); -} - -CURLSHIM_API int curl_shim_multi_fdset(void* pvMulti, - void* pvfdSets, int* maxFD) -{ - // cast return from GetProcAddress as a CPROC - //CPROC pcp = pfn_curl_multi_fdset; // (CPROC)GetProcAddress(g_hModCurl, "curl_multi_fdset"); - fd_set* pfdSets = (fd_set*)pvfdSets; - int retVal; - - FD_ZERO(&pfdSets[0]); - FD_ZERO(&pfdSets[1]); - FD_ZERO(&pfdSets[2]); - retVal = pfn_curl_multi_fdset(pvMulti, &pfdSets[0], &pfdSets[1], &pfdSets[2], maxFD); - return retVal; -} - -CURLSHIM_API int curl_shim_select(int maxFD, void* pvfdSets, - int timeoutMillis) -{ - int retVal; - struct timeval timeout; - //FARPROC fpSelect = pfn_select;// (FARPROC)GetProcAddress(g_hModSock, "select"); - fd_set* pfdSets = (fd_set*)pvfdSets; - - timeout.tv_sec = timeoutMillis / 1000; - timeout.tv_usec = (timeoutMillis % 1000) * 1000; - retVal = pfn_select(maxFD, &pfdSets[0], &pfdSets[1], &pfdSets[2], &timeout); - return retVal; -} - -CURLSHIM_API void* curl_shim_multi_info_read(void* pvHandle, - int* nMsgs) -{ - // cast return from GetProcAddress as a CPROC - List_T lst = NULL; - //CPVPROC pcp = pfn_curl_multi_info_read;// (CPVPROC)GetProcAddress(g_hModCurl, "curl_multi_info_read"); - void* pvItem; - int i, nLocalMsgs, j = 0; - unsigned int *pnReturn = NULL; - unsigned int *pnItem; - - *nMsgs = 0; - while ((pvItem = pfn_curl_multi_info_read(pvHandle, &nLocalMsgs)) != NULL) - lst = List_push(lst, pvItem); - - *nMsgs = List_length(lst); - if (*nMsgs == 0) - return NULL; - pnReturn = (unsigned int*)malloc(3 * (*nMsgs) * sizeof(unsigned int)); - for (i = 0; i < (*nMsgs); i++) - { - lst = List_pop(lst, (void**)&pnItem); - pnReturn[j++] = pnItem[0]; - pnReturn[j++] = pnItem[1]; - pnReturn[j++] = pnItem[2]; - } - List_free(&lst); - return pnReturn; -} - -CURLSHIM_API void curl_shim_multi_info_free(void* pvMultiInfo) -{ - if (pvMultiInfo) - free(pvMultiInfo); -} diff --git a/libcurlshim/libcurlshim.rc b/libcurlshim/libcurlshim.rc deleted file mode 100644 index f47a61d..0000000 --- a/libcurlshim/libcurlshim.rc +++ /dev/null @@ -1,44 +0,0 @@ -#include - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -LANGUAGE 0x09, 0x01 - -#define RC_VERSION 0, 3, 1, 0 - -VS_VERSION_INFO VERSIONINFO - FILEVERSION RC_VERSION - PRODUCTVERSION RC_VERSION - FILEFLAGSMASK 0x3fL -#if defined(DEBUGBUILD) || defined(_DEBUG) - FILEFLAGS 1 -#else - FILEFLAGS 0 -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE 0x0L - -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "FileDescription", "Helper library for CurlSharp" - VALUE "FileVersion", "0.3.1.0" - VALUE "InternalName", "libcurlshim" - VALUE "LegalCopyright", "Copyright (C) 2013 Dr. Masroor Ehsan" - VALUE "OriginalFilename", "libcurlshim.dll" - VALUE "ProductName", "CurlSharp" - VALUE "ProductVersion", "0.3.1.0" - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END \ No newline at end of file diff --git a/libcurlshim/libcurlshim.vcxproj b/libcurlshim/libcurlshim.vcxproj deleted file mode 100644 index 585d008..0000000 --- a/libcurlshim/libcurlshim.vcxproj +++ /dev/null @@ -1,120 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {F6956C7F-0C1D-4B19-99DE-FB9472859E14} - Win32Proj - libcurlshim - - - - DynamicLibrary - v120 - MultiByte - - - DynamicLibrary - v120 - MultiByte - - - - - - - - - - - - - <_ProjectFileVersion>12.0.21005.1 - - - Debug\ - Debug\ - true - - - Release\ - Release\ - false - - - - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBCURLSHIM_EXPORTS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - - Level3 - EditAndContinue - CompileAsC - - - ..\bin\Debug\libcurlshim.dll - true - $(OutDir)LibCurlShim.pdb - Windows - $(OutDir)LibCurlShim.lib - MachineX86 - - - - - MinSpace - WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBCURLSHIM_EXPORTS;%(PreprocessorDefinitions) - - MultiThreaded - - Level4 - ProgramDatabase - CompileAsC - - - ..\bin\Release\libcurlshim.dll - true - Windows - true - true - $(OutDir)LibCurlShim.lib - MachineX86 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libcurlshim/libcurlshim64.vcxproj b/libcurlshim/libcurlshim64.vcxproj deleted file mode 100644 index 8b543a4..0000000 --- a/libcurlshim/libcurlshim64.vcxproj +++ /dev/null @@ -1,169 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {1ECB7656-AE8B-4351-AF10-746EB326B24F} - Win32Proj - libcurlshim64 - - - - DynamicLibrary - v120 - MultiByte - - - DynamicLibrary - v120 - MultiByte - - - DynamicLibrary - v120 - MultiByte - - - v120 - DynamicLibrary - MultiByte - - - - - - - - - - - - - <_ProjectFileVersion>12.0.21005.1 - - - Debug\ - Debug\ - true - - - Release\ - Release\ - false - $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH); - $(VC_ReferencesPath_x64); - $(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64); - $(VC_IncludePath);$(WindowsSDK_IncludePath);$(MSBuild_ExecutablePath);$(VC_LibraryPath_x64); - - - false - - - - Disabled - WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBCURLSHIM_EXPORTS;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebug - - Level3 - EditAndContinue - CompileAsC - - - ..\bin\Debug\libcurlshim64.dll - true - $(OutDir)LibCurlShim.pdb - Windows - $(OutDir)LibCurlShim.lib - MachineX86 - - - - - MinSpace - WIN64;NDEBUG;_WINDOWS;_USRDLL;LIBCURLSHIM_EXPORTS;%(PreprocessorDefinitions) - - MultiThreaded - - Level4 - ProgramDatabase - CompileAsC - - - ..\bin\Release\libcurlshim64.dll - true - Windows - true - true - $(OutDir)LibCurlShim.lib - MachineX86 - - - - - - - Windows - ..\bin\Release\libcurlshim64.dll - true - - - - - ..\bin\$(IntDir) - WIN64;_WIN64;_MBCS;NDEBUG;_WINDOWS;_USRDLL;LIBCURLSHIM_EXPORTS;%(PreprocessorDefinitions) - MinSpace - CompileAsC - ..\bin\$(IntDir) - MultiThreaded - false - false - /analyze- %(AdditionalOptions) - EnableAllWarnings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/libcurlshim/list.c b/libcurlshim/list.c deleted file mode 100644 index abcab7e..0000000 --- a/libcurlshim/list.c +++ /dev/null @@ -1,114 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: list.c,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#include -#include -#include "assert.h" -#include "mem.h" -#include "list.h" -#define T List_T -T List_push(T list, void *x) { - T p; - NEW(p); - p->first = x; - p->rest = list; - return p; -} -T List_list(void *x, ...) { - va_list ap; - T list, *p = &list; - va_start(ap, x); - for ( ; x; x = va_arg(ap, void *)) { - NEW(*p); - (*p)->first = x; - p = &(*p)->rest; - } - *p = NULL; - va_end(ap); - return list; -} -T List_append(T list, T tail) { - T *p = &list; - while (*p) - p = &(*p)->rest; - *p = tail; - return list; -} -T List_copy(T list) { - T head, *p = &head; - for ( ; list; list = list->rest) { - NEW(*p); - (*p)->first = list->first; - p = &(*p)->rest; - } - *p = NULL; - return head; -} -T List_pop(T list, void **x) { - if (list) { - T head = list->rest; - if (x) - *x = list->first; - FREE(list); - return head; - } else - return list; -} -T List_reverse(T list) { - T head = NULL, next; - for ( ; list; list = next) { - next = list->rest; - list->rest = head; - head = list; - } - return head; -} -int List_length(T list) { - int n; - for (n = 0; list; list = list->rest) - n++; - return n; -} -void List_free(T *list) { - T next; - assert(list); - for ( ; *list; *list = next) { - next = (*list)->rest; - FREE(*list); - } -} -void List_map(T list, - void apply(void **x, void *cl), void *cl) { - assert(apply); - for ( ; list; list = list->rest) - apply(&list->first, cl); -} -void **List_toArray(T list, void *end) { - int i, n = List_length(list); - void **array = ALLOC((n + 1)*sizeof (*array)); - for (i = 0; i < n; i++) { - array[i] = list->first; - list = list->rest; - } - array[i] = end; - return array; -} diff --git a/libcurlshim/list.h b/libcurlshim/list.h deleted file mode 100644 index 7ca03d7..0000000 --- a/libcurlshim/list.h +++ /dev/null @@ -1,44 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: list.h,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#ifndef LIST_INCLUDED -#define LIST_INCLUDED -#define T List_T -typedef struct T *T; -/* JHP: flipped these for binary compatibility with curl_slist */ -struct T { - void *first; - T rest; -}; -extern T List_append (T list, T tail); -extern T List_copy (T list); -extern T List_list (void *x, ...); -extern T List_pop (T list, void **x); -extern T List_push (T list, void *x); -extern T List_reverse(T list); -extern int List_length (T list); -extern void List_free (T *list); -extern void List_map (T list, - void apply(void **x, void *cl), void *cl); -extern void **List_toArray(T list, void *end); -#undef T -#endif diff --git a/libcurlshim/mem.c b/libcurlshim/mem.c deleted file mode 100644 index de7e314..0000000 --- a/libcurlshim/mem.c +++ /dev/null @@ -1,74 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: mem.c,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#include -#include -#include "assert.h" -#include "except.h" -#include "mem.h" -const Except_T Mem_Failed = { "Allocation Failed" }; -void *Mem_alloc(long nbytes, const char *file, int line){ - void *ptr; - assert(nbytes > 0); - ptr = malloc(nbytes); - if (ptr == NULL) - { - if (file == NULL) - RAISE(Mem_Failed); - else - Except_raise(&Mem_Failed, file, line); - } - return ptr; -} -void *Mem_calloc(long count, long nbytes, - const char *file, int line) { - void *ptr; - assert(count > 0); - assert(nbytes > 0); - ptr = calloc(count, nbytes); - if (ptr == NULL) - { - if (file == NULL) - RAISE(Mem_Failed); - else - Except_raise(&Mem_Failed, file, line); - } - return ptr; -} -void Mem_free(void *ptr, const char *file, int line) { - if (ptr) - free(ptr); -} -void *Mem_resize(void *ptr, long nbytes, - const char *file, int line) { - assert(ptr); - assert(nbytes > 0); - ptr = realloc(ptr, nbytes); - if (ptr == NULL) - { - if (file == NULL) - RAISE(Mem_Failed); - else - Except_raise(&Mem_Failed, file, line); - } - return ptr; -} diff --git a/libcurlshim/mem.h b/libcurlshim/mem.h deleted file mode 100644 index d0bedf3..0000000 --- a/libcurlshim/mem.h +++ /dev/null @@ -1,45 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: mem.h,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#ifndef MEM_INCLUDED -#define MEM_INCLUDED -#include "except.h" -extern const Except_T Mem_Failed; -extern void *Mem_alloc (long nbytes, - const char *file, int line); -extern void *Mem_calloc(long count, long nbytes, - const char *file, int line); -extern void Mem_free(void *ptr, - const char *file, int line); -extern void *Mem_resize(void *ptr, long nbytes, - const char *file, int line); -#define ALLOC(nbytes) \ - Mem_alloc((nbytes), __FILE__, __LINE__) -#define CALLOC(count, nbytes) \ - Mem_calloc((count), (nbytes), __FILE__, __LINE__) -#define NEW(p) ((p) = ALLOC((long)sizeof *(p))) -#define NEW0(p) ((p) = CALLOC(1, (long)sizeof *(p))) -#define FREE(ptr) ((void)(Mem_free((ptr), \ - __FILE__, __LINE__), (ptr) = 0)) -#define RESIZE(ptr, nbytes) ((ptr) = Mem_resize((ptr), \ - (nbytes), __FILE__, __LINE__)) -#endif diff --git a/libcurlshim/resource.h b/libcurlshim/resource.h deleted file mode 100644 index 9ad3758..0000000 --- a/libcurlshim/resource.h +++ /dev/null @@ -1,34 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by libcurlshim.rc -// -#define _USE_DECLSPECS_FOR_SAL 0 -#define _USE_ATTRIBUTES_FOR_SAL 0 -#define __drv_typeConst 0 -#define WINAPI_PARTITION_APP 1 -#define __drv_typeCond 1 -#define VS_VERSION_INFO 1 -#define VFFF_ISSHAREDFILE 0x0001 -#define VFF_CURNEDEST 0x0001 -#define VIFF_FORCEINSTALL 0x0001 -#define WINAPI_FAMILY_PC_APP 2 -#define __drv_typeBitset 2 -#define VFF_FILEINUSE 0x0002 -#define VIFF_DONTDELETEOLD 0x0002 -#define WINAPI_FAMILY_PHONE_APP 3 -#define __drv_typeExpr 3 -#define VFF_BUFFTOOSMALL 0x0004 -#define _SAL_VERSION 20 -#define WINAPI_FAMILY_DESKTOP_APP 100 -#define VS_USER_DEFINED 100 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1000 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/libcurlshim/seq.c b/libcurlshim/seq.c deleted file mode 100644 index 15b9706..0000000 --- a/libcurlshim/seq.c +++ /dev/null @@ -1,129 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: seq.c,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#include -#include -#include -#include "assert.h" -#include "seq.h" -#include "array.h" -#include "arrayrep.h" -#include "mem.h" -#define T Seq_T -struct T { - struct Array_T array; - int length; - int head; -}; -static void expand(T seq) { - int n = seq->array.length; - Array_resize(&seq->array, 2*n); - if (seq->head > 0) - { - void **old = &((void **)seq->array.array)[seq->head]; - memcpy(old+n, old, (n - seq->head)*sizeof (void *)); - seq->head += n; - } -} -T Seq_new(int hint) { - T seq; - assert(hint >= 0); - NEW0(seq); - if (hint == 0) - hint = 16; - ArrayRep_init(&seq->array, hint, sizeof (void *), - ALLOC(hint*sizeof (void *))); - return seq; -} -T Seq_seq(void *x, ...) { - va_list ap; - T seq = Seq_new(0); - va_start(ap, x); - for ( ; x; x = va_arg(ap, void *)) - Seq_addhi(seq, x); - va_end(ap); - return seq; -} -void Seq_free(T *seq) { - assert(seq && *seq); - assert((void *)*seq == (void *)&(*seq)->array); - Array_free((Array_T *)seq); -} -int Seq_length(T seq) { - assert(seq); - return seq->length; -} -void *Seq_get(T seq, int i) { - assert(seq); - assert(i >= 0 && i < seq->length); - return ((void **)seq->array.array)[ - (seq->head + i)%seq->array.length]; -} -void *Seq_put(T seq, int i, void *x) { - void *prev; - assert(seq); - assert(i >= 0 && i < seq->length); - prev = ((void **)seq->array.array)[ - (seq->head + i)%seq->array.length]; - ((void **)seq->array.array)[ - (seq->head + i)%seq->array.length] = x; - return prev; -} -void *Seq_remhi(T seq) { - int i; - assert(seq); - assert(seq->length > 0); - i = --seq->length; - return ((void **)seq->array.array)[ - (seq->head + i)%seq->array.length]; -} -void *Seq_remlo(T seq) { - int i = 0; - void *x; - assert(seq); - assert(seq->length > 0); - x = ((void **)seq->array.array)[ - (seq->head + i)%seq->array.length]; - seq->head = (seq->head + 1)%seq->array.length; - --seq->length; - return x; -} -void *Seq_addhi(T seq, void *x) { - int i; - assert(seq); - if (seq->length == seq->array.length) - expand(seq); - i = seq->length++; - return ((void **)seq->array.array)[ - (seq->head + i)%seq->array.length] = x; -} -void *Seq_addlo(T seq, void *x) { - int i = 0; - assert(seq); - if (seq->length == seq->array.length) - expand(seq); - if (--seq->head < 0) - seq->head = seq->array.length - 1; - seq->length++; - return ((void **)seq->array.array)[ - (seq->head + i)%seq->array.length] = x; -} diff --git a/libcurlshim/seq.h b/libcurlshim/seq.h deleted file mode 100644 index cd9f8b9..0000000 --- a/libcurlshim/seq.h +++ /dev/null @@ -1,38 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: seq.h,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#ifndef SEQ_INCLUDED -#define SEQ_INCLUDED -#define T Seq_T -typedef struct T *T; -extern T Seq_new(int hint); -extern T Seq_seq(void *x, ...); -extern void Seq_free(T *seq); -extern int Seq_length(T seq); -extern void *Seq_get(T seq, int i); -extern void *Seq_put(T seq, int i, void *x); -extern void *Seq_addlo(T seq, void *x); -extern void *Seq_addhi(T seq, void *x); -extern void *Seq_remlo(T seq); -extern void *Seq_remhi(T seq); -#undef T -#endif diff --git a/libcurlshim/table.c b/libcurlshim/table.c deleted file mode 100644 index a55092f..0000000 --- a/libcurlshim/table.c +++ /dev/null @@ -1,166 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: table.c,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#include -#include -#include "mem.h" -#include "assert.h" -#include "table.h" -#define T Table_T -struct T { - int size; - int (*cmp)(const void *x, const void *y); - unsigned (*hash)(const void *key); - int length; - unsigned timestamp; - struct binding { - struct binding *link; - const void *key; - void *value; - } **buckets; -}; -static int cmpatom(const void *x, const void *y) { - return x != y; -} -static unsigned hashatom(const void *key) { - return (unsigned long)key>>2; -} -T Table_new(int hint, - int cmp(const void *x, const void *y), - unsigned hash(const void *key)) { - T table; - int i; - static int primes[] = { 509, 509, 1021, 2053, 4093, - 8191, 16381, 32771, 65521, INT_MAX }; - assert(hint >= 0); - for (i = 1; primes[i] < hint; i++) - ; - table = ALLOC(sizeof (*table) + - primes[i-1]*sizeof (table->buckets[0])); - table->size = primes[i-1]; - table->cmp = cmp ? cmp : cmpatom; - table->hash = hash ? hash : hashatom; - table->buckets = (struct binding **)(table + 1); - for (i = 0; i < table->size; i++) - table->buckets[i] = NULL; - table->length = 0; - table->timestamp = 0; - return table; -} -void *Table_get(T table, const void *key) { - int i; - struct binding *p; - assert(table); - assert(key); - i = (*table->hash)(key)%table->size; - for (p = table->buckets[i]; p; p = p->link) - if ((*table->cmp)(key, p->key) == 0) - break; - return p ? p->value : NULL; -} -void *Table_put(T table, const void *key, void *value) { - int i; - struct binding *p; - void *prev; - assert(table); - assert(key); - i = (*table->hash)(key)%table->size; - for (p = table->buckets[i]; p; p = p->link) - if ((*table->cmp)(key, p->key) == 0) - break; - if (p == NULL) { - NEW(p); - p->key = key; - p->link = table->buckets[i]; - table->buckets[i] = p; - table->length++; - prev = NULL; - } else - prev = p->value; - p->value = value; - table->timestamp++; - return prev; -} -int Table_length(T table) { - assert(table); - return table->length; -} -void Table_map(T table, - void apply(const void *key, void **value, void *cl), - void *cl) { - int i; - unsigned stamp; - struct binding *p; - assert(table); - assert(apply); - stamp = table->timestamp; - for (i = 0; i < table->size; i++) - for (p = table->buckets[i]; p; p = p->link) { - apply(p->key, &p->value, cl); - assert(table->timestamp == stamp); - } -} -void *Table_remove(T table, const void *key) { - int i; - struct binding **pp; - assert(table); - assert(key); - table->timestamp++; - i = (*table->hash)(key)%table->size; - for (pp = &table->buckets[i]; *pp; pp = &(*pp)->link) - if ((*table->cmp)(key, (*pp)->key) == 0) { - struct binding *p = *pp; - void *value = p->value; - *pp = p->link; - FREE(p); - table->length--; - return value; - } - return NULL; -} -void **Table_toArray(T table, void *end) { - int i, j = 0; - void **array; - struct binding *p; - assert(table); - array = ALLOC((2*table->length + 1)*sizeof (*array)); - for (i = 0; i < table->size; i++) - for (p = table->buckets[i]; p; p = p->link) { - array[j++] = (void *)p->key; - array[j++] = p->value; - } - array[j] = end; - return array; -} -void Table_free(T *table) { - assert(table && *table); - if ((*table)->length > 0) { - int i; - struct binding *p, *q; - for (i = 0; i < (*table)->size; i++) - for (p = (*table)->buckets[i]; p; p = q) { - q = p->link; - FREE(p); - } - } - FREE(*table); -} diff --git a/libcurlshim/table.h b/libcurlshim/table.h deleted file mode 100644 index 384dff9..0000000 --- a/libcurlshim/table.h +++ /dev/null @@ -1,41 +0,0 @@ -/************************************************************************** - * The author of this software is David R. Hanson. - * - * Copyright (c) 1994,1995,1996,1997 by David R. Hanson. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose, subject to the provisions described below, without fee is - * hereby granted, provided that this entire notice is included in all - * copies of any software that is or includes a copy or modification of - * this software and in all copies of the supporting documentation for - * such software. - * - * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED - * WARRANTY. IN PARTICULAR, THE AUTHOR DOES MAKE ANY REPRESENTATION OR - * WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS SOFTWARE OR - * ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * - * David Hanson / drh@microsoft.com / - * http://www.research.microsoft.com/~drh/ - * $Id: table.h,v 1.1 2005/02/17 22:47:24 jeffreyphillips Exp $ - **************************************************************************/ - -#ifndef TABLE_INCLUDED -#define TABLE_INCLUDED -#define T Table_T -typedef struct T *T; -extern T Table_new (int hint, - int cmp(const void *x, const void *y), - unsigned hash(const void *key)); -extern void Table_free(T *table); -extern int Table_length(T table); -extern void *Table_put (T table, const void *key, - void *value); -extern void *Table_get (T table, const void *key); -extern void *Table_remove(T table, const void *key); -extern void Table_map (T table, - void apply(const void *key, void **value, void *cl), - void *cl); -extern void **Table_toArray(T table, void *end); -#undef T -#endif