Browse Source

Move .vcxproj files to vsprojects\ subfolder and use Visual Studio's ability to add existing files to create per-tool solutions. Create self test solution to test basic functionality on Windows.

Adam Ierymenko 12 years ago
parent
commit
1f9a7e26ba

+ 1 - 3
.gitignore

@@ -6,9 +6,7 @@ zerotier-*
 *.dSYM
 *.dSYM
 mac-tap/tuntap/src/tap/tap
 mac-tap/tuntap/src/tap/tap
 mac-tap/tuntap/tap.kext
 mac-tap/tuntap/tap.kext
-/ZeroTierOne.vcxproj.user
 /ZeroTierOne.sdf
 /ZeroTierOne.sdf
-
+/ipch
 /ZeroTierOne.v11.suo
 /ZeroTierOne.v11.suo
 /ZeroTierOne.opensdf
 /ZeroTierOne.opensdf
-/Debug_32

+ 5 - 5
ZeroTierOne.sln

@@ -1,7 +1,7 @@
 
 
 Microsoft Visual Studio Solution File, Format Version 12.00
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 2012
 # Visual Studio 2012
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZeroTierOne", "ZeroTierOne.vcxproj", "{0D4AE49A-FCE5-404F-8041-7FFC4DAF83F4}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SelfTest", "vsprojects\SelfTest\SelfTest.vcxproj", "{DCD73B97-0F44-4044-8BA4-95B59CCAB4BD}"
 EndProject
 EndProject
 Global
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -9,10 +9,10 @@ Global
 		Release|Win32 = Release|Win32
 		Release|Win32 = Release|Win32
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{0D4AE49A-FCE5-404F-8041-7FFC4DAF83F4}.Debug|Win32.ActiveCfg = Debug_32|Win32
-		{0D4AE49A-FCE5-404F-8041-7FFC4DAF83F4}.Debug|Win32.Build.0 = Debug_32|Win32
-		{0D4AE49A-FCE5-404F-8041-7FFC4DAF83F4}.Release|Win32.ActiveCfg = Debug_32|Win32
-		{0D4AE49A-FCE5-404F-8041-7FFC4DAF83F4}.Release|Win32.Build.0 = Debug_32|Win32
+		{DCD73B97-0F44-4044-8BA4-95B59CCAB4BD}.Debug|Win32.ActiveCfg = Debug|Win32
+		{DCD73B97-0F44-4044-8BA4-95B59CCAB4BD}.Debug|Win32.Build.0 = Debug|Win32
+		{DCD73B97-0F44-4044-8BA4-95B59CCAB4BD}.Release|Win32.ActiveCfg = Release|Win32
+		{DCD73B97-0F44-4044-8BA4-95B59CCAB4BD}.Release|Win32.Build.0 = Release|Win32
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 		HideSolutionNode = FALSE

+ 0 - 200
ZeroTierOne.vcxproj

@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug_32|Win32">
-      <Configuration>Debug_32</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{0D4AE49A-FCE5-404F-8041-7FFC4DAF83F4}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_32|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v110</PlatformToolset>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug_32|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_32|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_32|Win32'">
-    <ClCompile>
-      <PreprocessorDefinitions>WIN32;_DEBUG;__WINDOWS__;_WINDOWS;_USRDLL;ZEROTIERONE_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <Optimization>Disabled</Optimization>
-      <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <RuntimeTypeInfo>false</RuntimeTypeInfo>
-      <AdditionalIncludeDirectories>ext\bin\libcrypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ClCompile>
-    <Link>
-      <TargetMachine>MachineX86</TargetMachine>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <AdditionalDependencies>ext\bin\libcrypto\win32-vs2012\libeay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="ext\kissdb\kissdb.c" />
-    <ClCompile Include="ext\lz4\lz4.c" />
-    <ClCompile Include="ext\lz4\lz4hc.c" />
-    <ClCompile Include="node\Defaults.cpp" />
-    <ClCompile Include="node\Demarc.cpp" />
-    <ClCompile Include="node\EllipticCurveKeyPair.cpp" />
-    <ClCompile Include="node\EthernetTap.cpp" />
-    <ClCompile Include="node\Filter.cpp" />
-    <ClCompile Include="node\HMAC.cpp" />
-    <ClCompile Include="node\Identity.cpp" />
-    <ClCompile Include="node\InetAddress.cpp" />
-    <ClCompile Include="node\Logger.cpp" />
-    <ClCompile Include="node\Network.cpp" />
-    <ClCompile Include="node\Node.cpp" />
-    <ClCompile Include="node\NodeConfig.cpp" />
-    <ClCompile Include="node\Packet.cpp" />
-    <ClCompile Include="node\PacketDecoder.cpp" />
-    <ClCompile Include="node\Peer.cpp" />
-    <ClCompile Include="node\Salsa20.cpp" />
-    <ClCompile Include="node\Service.cpp" />
-    <ClCompile Include="node\Switch.cpp" />
-    <ClCompile Include="node\SysEnv.cpp" />
-    <ClCompile Include="node\Topology.cpp" />
-    <ClCompile Include="node\UdpSocket.cpp" />
-    <ClCompile Include="node\Utils.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\aes.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\asn1.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\asn1t.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\asn1_mac.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\bio.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\blowfish.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\bn.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\buffer.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\camellia.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\cast.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\cmac.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\cms.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\comp.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\conf.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\conf_api.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\crypto.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\des.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\des_old.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\dh.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\dsa.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\dso.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\dtls1.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ebcdic.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ec.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ecdh.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ecdsa.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\engine.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\err.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\evp.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\e_os2.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\hmac.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\idea.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\krb5_asn.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\kssl.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\lhash.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\md4.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\md5.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\mdc2.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\modes.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\objects.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\obj_mac.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ocsp.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\opensslconf.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\opensslv.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ossl_typ.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\pem.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\pem2.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\pkcs12.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\pkcs7.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\pqueue.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\rand.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\rc2.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\rc4.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ripemd.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\rsa.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\safestack.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\seed.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\sha.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\srp.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\srtp.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ssl.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ssl2.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ssl23.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ssl3.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\stack.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\symhacks.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\tls1.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ts.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\txt_db.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ui.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ui_compat.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\whrlpool.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\x509.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\x509v3.h" />
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\x509_vfy.h" />
-    <ClInclude Include="ext\kissdb\kissdb.h" />
-    <ClInclude Include="ext\lz4\lz4.h" />
-    <ClInclude Include="ext\lz4\lz4hc.h" />
-    <ClInclude Include="node\Address.hpp" />
-    <ClInclude Include="node\Array.hpp" />
-    <ClInclude Include="node\AtomicCounter.hpp" />
-    <ClInclude Include="node\BloomFilter.hpp" />
-    <ClInclude Include="node\Buffer.hpp" />
-    <ClInclude Include="node\CMWC4096.hpp" />
-    <ClInclude Include="node\Condition.hpp" />
-    <ClInclude Include="node\Constants.hpp" />
-    <ClInclude Include="node\Defaults.hpp" />
-    <ClInclude Include="node\Demarc.hpp" />
-    <ClInclude Include="node\Dictionary.hpp" />
-    <ClInclude Include="node\EllipticCurveKey.hpp" />
-    <ClInclude Include="node\EllipticCurveKeyPair.hpp" />
-    <ClInclude Include="node\EthernetTap.hpp" />
-    <ClInclude Include="node\Filter.hpp" />
-    <ClInclude Include="node\HMAC.hpp" />
-    <ClInclude Include="node\Identity.hpp" />
-    <ClInclude Include="node\InetAddress.hpp" />
-    <ClInclude Include="node\Logger.hpp" />
-    <ClInclude Include="node\MAC.hpp" />
-    <ClInclude Include="node\Multicaster.hpp" />
-    <ClInclude Include="node\MulticastGroup.hpp" />
-    <ClInclude Include="node\Mutex.hpp" />
-    <ClInclude Include="node\Network.hpp" />
-    <ClInclude Include="node\Node.hpp" />
-    <ClInclude Include="node\NodeConfig.hpp" />
-    <ClInclude Include="node\NonCopyable.hpp" />
-    <ClInclude Include="node\Packet.hpp" />
-    <ClInclude Include="node\PacketDecoder.hpp" />
-    <ClInclude Include="node\Peer.hpp" />
-    <ClInclude Include="node\Range.hpp" />
-    <ClInclude Include="node\RateLimiter.hpp" />
-    <ClInclude Include="node\RuntimeEnvironment.hpp" />
-    <ClInclude Include="node\Salsa20.hpp" />
-    <ClInclude Include="node\Service.hpp" />
-    <ClInclude Include="node\SharedPtr.hpp" />
-    <ClInclude Include="node\Switch.hpp" />
-    <ClInclude Include="node\SysEnv.hpp" />
-    <ClInclude Include="node\Thread.hpp" />
-    <ClInclude Include="node\Topology.hpp" />
-    <ClInclude Include="node\UdpSocket.hpp" />
-    <ClInclude Include="node\Utils.hpp" />
-    <ClInclude Include="version.h" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>

+ 0 - 459
ZeroTierOne.vcxproj.filters

@@ -1,459 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="ext\kissdb\kissdb.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="ext\lz4\lz4.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="ext\lz4\lz4hc.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Defaults.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Demarc.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\EllipticCurveKeyPair.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\EthernetTap.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Filter.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\HMAC.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Identity.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\InetAddress.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Logger.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Network.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Node.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\NodeConfig.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Packet.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\PacketDecoder.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Peer.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Salsa20.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Service.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Switch.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\SysEnv.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Topology.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\UdpSocket.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="node\Utils.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="version.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\aes.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\asn1.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\asn1t.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\asn1_mac.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\bio.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\blowfish.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\bn.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\buffer.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\camellia.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\cast.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\cmac.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\cms.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\comp.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\conf.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\conf_api.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\crypto.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\des.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\des_old.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\dh.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\dsa.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\dso.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\dtls1.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ebcdic.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ec.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ecdh.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ecdsa.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\engine.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\err.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\evp.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\e_os2.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\hmac.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\idea.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\krb5_asn.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\kssl.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\lhash.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\md4.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\md5.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\mdc2.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\modes.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\objects.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\obj_mac.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ocsp.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\opensslconf.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\opensslv.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ossl_typ.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\pem.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\pem2.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\pkcs12.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\pkcs7.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\pqueue.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\rand.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\rc2.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\rc4.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ripemd.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\rsa.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\safestack.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\seed.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\sha.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\srp.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\srtp.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ssl.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ssl2.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ssl23.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ssl3.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\stack.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\symhacks.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\tls1.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ts.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\txt_db.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ui.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\ui_compat.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\whrlpool.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\x509.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\x509v3.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\bin\libcrypto\include\openssl\x509_vfy.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\kissdb\kissdb.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\lz4\lz4.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ext\lz4\lz4hc.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Address.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Array.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\AtomicCounter.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\BloomFilter.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Buffer.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\CMWC4096.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Condition.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Constants.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Defaults.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Demarc.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Dictionary.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\EllipticCurveKey.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\EllipticCurveKeyPair.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\EthernetTap.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Filter.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\HMAC.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Identity.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\InetAddress.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Logger.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\MAC.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Multicaster.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\MulticastGroup.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Mutex.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Network.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Node.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\NodeConfig.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\NonCopyable.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Packet.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\PacketDecoder.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Peer.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Range.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\RateLimiter.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\RuntimeEnvironment.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Salsa20.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Service.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\SharedPtr.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Switch.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\SysEnv.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Thread.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Topology.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\UdpSocket.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="node\Utils.hpp">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-  </ItemGroup>
-</Project>

+ 11 - 0
vsprojects/SelfTest/SelfTest.cpp

@@ -0,0 +1,11 @@
+// SelfTest.cpp : Defines the entry point for the console application.
+//
+
+#include "stdafx.h"
+
+
+int _tmain(int argc, _TCHAR* argv[])
+{
+	return 0;
+}
+

+ 157 - 0
vsprojects/SelfTest/SelfTest.vcxproj

@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{DCD73B97-0F44-4044-8BA4-95B59CCAB4BD}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>SelfTest</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>Use</PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>$(SolutionDir)\ext\bin\libcrypto\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>Use</PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\..\node\Address.hpp" />
+    <ClInclude Include="..\..\node\Array.hpp" />
+    <ClInclude Include="..\..\node\AtomicCounter.hpp" />
+    <ClInclude Include="..\..\node\BloomFilter.hpp" />
+    <ClInclude Include="..\..\node\Buffer.hpp" />
+    <ClInclude Include="..\..\node\CMWC4096.hpp" />
+    <ClInclude Include="..\..\node\Condition.hpp" />
+    <ClInclude Include="..\..\node\Constants.hpp" />
+    <ClInclude Include="..\..\node\Defaults.hpp" />
+    <ClInclude Include="..\..\node\Demarc.hpp" />
+    <ClInclude Include="..\..\node\Dictionary.hpp" />
+    <ClInclude Include="..\..\node\EllipticCurveKey.hpp" />
+    <ClInclude Include="..\..\node\EllipticCurveKeyPair.hpp" />
+    <ClInclude Include="..\..\node\EthernetTap.hpp" />
+    <ClInclude Include="..\..\node\Filter.hpp" />
+    <ClInclude Include="..\..\node\HMAC.hpp" />
+    <ClInclude Include="..\..\node\Identity.hpp" />
+    <ClInclude Include="..\..\node\InetAddress.hpp" />
+    <ClInclude Include="..\..\node\Logger.hpp" />
+    <ClInclude Include="..\..\node\MAC.hpp" />
+    <ClInclude Include="..\..\node\Multicaster.hpp" />
+    <ClInclude Include="..\..\node\MulticastGroup.hpp" />
+    <ClInclude Include="..\..\node\Mutex.hpp" />
+    <ClInclude Include="..\..\node\Network.hpp" />
+    <ClInclude Include="..\..\node\Node.hpp" />
+    <ClInclude Include="..\..\node\NodeConfig.hpp" />
+    <ClInclude Include="..\..\node\NonCopyable.hpp" />
+    <ClInclude Include="..\..\node\Packet.hpp" />
+    <ClInclude Include="..\..\node\PacketDecoder.hpp" />
+    <ClInclude Include="..\..\node\Peer.hpp" />
+    <ClInclude Include="..\..\node\Range.hpp" />
+    <ClInclude Include="..\..\node\RateLimiter.hpp" />
+    <ClInclude Include="..\..\node\RuntimeEnvironment.hpp" />
+    <ClInclude Include="..\..\node\Salsa20.hpp" />
+    <ClInclude Include="..\..\node\Service.hpp" />
+    <ClInclude Include="..\..\node\SharedPtr.hpp" />
+    <ClInclude Include="..\..\node\Switch.hpp" />
+    <ClInclude Include="..\..\node\SysEnv.hpp" />
+    <ClInclude Include="..\..\node\Thread.hpp" />
+    <ClInclude Include="..\..\node\Topology.hpp" />
+    <ClInclude Include="..\..\node\UdpSocket.hpp" />
+    <ClInclude Include="..\..\node\Utils.hpp" />
+    <ClInclude Include="stdafx.h" />
+    <ClInclude Include="targetver.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\..\node\Defaults.cpp" />
+    <ClCompile Include="..\..\node\Demarc.cpp" />
+    <ClCompile Include="..\..\node\EllipticCurveKeyPair.cpp" />
+    <ClCompile Include="..\..\node\EthernetTap.cpp" />
+    <ClCompile Include="..\..\node\Filter.cpp" />
+    <ClCompile Include="..\..\node\HMAC.cpp" />
+    <ClCompile Include="..\..\node\Identity.cpp" />
+    <ClCompile Include="..\..\node\InetAddress.cpp" />
+    <ClCompile Include="..\..\node\Logger.cpp" />
+    <ClCompile Include="..\..\node\Network.cpp" />
+    <ClCompile Include="..\..\node\Node.cpp" />
+    <ClCompile Include="..\..\node\NodeConfig.cpp" />
+    <ClCompile Include="..\..\node\Packet.cpp" />
+    <ClCompile Include="..\..\node\PacketDecoder.cpp" />
+    <ClCompile Include="..\..\node\Peer.cpp" />
+    <ClCompile Include="..\..\node\Salsa20.cpp" />
+    <ClCompile Include="..\..\node\Service.cpp" />
+    <ClCompile Include="..\..\node\Switch.cpp" />
+    <ClCompile Include="..\..\node\SysEnv.cpp" />
+    <ClCompile Include="..\..\node\Topology.cpp" />
+    <ClCompile Include="..\..\node\UdpSocket.cpp" />
+    <ClCompile Include="..\..\node\Utils.cpp" />
+    <ClCompile Include="SelfTest.cpp" />
+    <ClCompile Include="stdafx.cpp">
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+    </ClCompile>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>

+ 225 - 0
vsprojects/SelfTest/SelfTest.vcxproj.filters

@@ -0,0 +1,225 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="stdafx.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="targetver.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Address.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Array.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\AtomicCounter.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\BloomFilter.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Buffer.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\CMWC4096.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Condition.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Constants.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Defaults.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Demarc.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Dictionary.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\EllipticCurveKey.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\EllipticCurveKeyPair.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\EthernetTap.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Filter.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\HMAC.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Identity.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\InetAddress.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Logger.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\MAC.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Multicaster.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\MulticastGroup.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Mutex.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Network.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Node.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\NodeConfig.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\NonCopyable.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Packet.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\PacketDecoder.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Peer.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Range.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\RateLimiter.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\RuntimeEnvironment.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Salsa20.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Service.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\SharedPtr.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Switch.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\SysEnv.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Thread.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Topology.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\UdpSocket.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\node\Utils.hpp">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="stdafx.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="SelfTest.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Defaults.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Demarc.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\EllipticCurveKeyPair.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\EthernetTap.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Filter.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\HMAC.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Identity.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\InetAddress.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Logger.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Network.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Node.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\NodeConfig.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Packet.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\PacketDecoder.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Peer.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Salsa20.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Service.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Switch.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\SysEnv.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Topology.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\UdpSocket.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\..\node\Utils.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>

+ 8 - 0
vsprojects/SelfTest/stdafx.cpp

@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// SelfTest.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file

+ 15 - 0
vsprojects/SelfTest/stdafx.h

@@ -0,0 +1,15 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+#include "targetver.h"
+
+#include <stdio.h>
+#include <tchar.h>
+
+
+
+// TODO: reference additional headers your program requires here

+ 8 - 0
vsprojects/SelfTest/targetver.h

@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include <SDKDDKVer.h>