FS-6767 #comment Add initial support for mod_verto on Windows

This commit is contained in:
Peter Olsson 2014-10-18 09:53:57 +02:00
parent 1ca81aca50
commit 7faf9f4c25
11 changed files with 447 additions and 23 deletions

View File

@ -603,6 +603,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download LDNS", "libs\win32
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download PORTAUDIO", "libs\win32\Download PORTAUDIO.2012.vcxproj", "{C0779BCC-C037-4F58-B890-EF37BA956B3C}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Download PORTAUDIO", "libs\win32\Download PORTAUDIO.2012.vcxproj", "{C0779BCC-C037-4F58-B890-EF37BA956B3C}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_vp8", "src\mod\codecs\mod_vp8\mod_vp8.2012.vcxproj", "{ABFD88E1-7710-4BCC-AC34-56038DAC9652}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_rtc", "src\mod\endpoints\mod_rtc\mod_rtc.2012.vcxproj", "{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_verto", "src\mod\endpoints\mod_verto\mod_verto.2012.vcxproj", "{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
All|Win32 = All|Win32 All|Win32 = All|Win32
@ -4043,6 +4049,58 @@ Global
{C0779BCC-C037-4F58-B890-EF37BA956B3C}.Release|x64.Build.0 = Release|Win32 {C0779BCC-C037-4F58-B890-EF37BA956B3C}.Release|x64.Build.0 = Release|Win32
{C0779BCC-C037-4F58-B890-EF37BA956B3C}.Release|x64 Setup.ActiveCfg = Release|Win32 {C0779BCC-C037-4F58-B890-EF37BA956B3C}.Release|x64 Setup.ActiveCfg = Release|Win32
{C0779BCC-C037-4F58-B890-EF37BA956B3C}.Release|x86 Setup.ActiveCfg = Release|Win32 {C0779BCC-C037-4F58-B890-EF37BA956B3C}.Release|x86 Setup.ActiveCfg = Release|Win32
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.All|Win32.ActiveCfg = Release|Win32
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.All|Win32.Build.0 = Release|Win32
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.All|x64.ActiveCfg = Release|x64
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.All|x64.Build.0 = Release|x64
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.All|x64 Setup.ActiveCfg = Release|Win32
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.All|x86 Setup.ActiveCfg = Release|Win32
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.Debug|Win32.ActiveCfg = Debug|Win32
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.Debug|Win32.Build.0 = Debug|Win32
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.Debug|x64.ActiveCfg = Debug|x64
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.Debug|x64.Build.0 = Debug|x64
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.Debug|x64 Setup.ActiveCfg = Debug|Win32
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.Debug|x86 Setup.ActiveCfg = Debug|Win32
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.Release|Win32.ActiveCfg = Release|Win32
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.Release|Win32.Build.0 = Release|Win32
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.Release|x64.ActiveCfg = Release|x64
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.Release|x64.Build.0 = Release|x64
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.Release|x64 Setup.ActiveCfg = Release|Win32
{ABFD88E1-7710-4BCC-AC34-56038DAC9652}.Release|x86 Setup.ActiveCfg = Release|Win32
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.All|Win32.ActiveCfg = Release|x64
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.All|x64.ActiveCfg = Release|x64
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.All|x64.Build.0 = Release|x64
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.All|x64 Setup.ActiveCfg = Release|x64
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.All|x86 Setup.ActiveCfg = Release|x64
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.Debug|Win32.ActiveCfg = Debug|Win32
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.Debug|Win32.Build.0 = Debug|Win32
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.Debug|x64.ActiveCfg = Debug|x64
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.Debug|x64.Build.0 = Debug|x64
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.Debug|x64 Setup.ActiveCfg = Debug|x64
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.Debug|x86 Setup.ActiveCfg = Debug|x64
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.Release|Win32.ActiveCfg = Release|Win32
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.Release|Win32.Build.0 = Release|Win32
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.Release|x64.ActiveCfg = Release|x64
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.Release|x64.Build.0 = Release|x64
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.Release|x64 Setup.ActiveCfg = Release|x64
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}.Release|x86 Setup.ActiveCfg = Release|x64
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.All|Win32.ActiveCfg = Release|x64
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.All|x64.ActiveCfg = Release|x64
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.All|x64.Build.0 = Release|x64
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.All|x64 Setup.ActiveCfg = Release|x64
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.All|x86 Setup.ActiveCfg = Release|x64
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.Debug|Win32.ActiveCfg = Debug|Win32
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.Debug|Win32.Build.0 = Debug|Win32
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.Debug|x64.ActiveCfg = Debug|x64
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.Debug|x64.Build.0 = Debug|x64
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.Debug|x64 Setup.ActiveCfg = Debug|x64
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.Debug|x86 Setup.ActiveCfg = Debug|x64
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.Release|Win32.ActiveCfg = Release|Win32
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.Release|Win32.Build.0 = Release|Win32
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.Release|x64.ActiveCfg = Release|x64
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.Release|x64.Build.0 = Release|x64
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.Release|x64 Setup.ActiveCfg = Release|x64
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}.Release|x86 Setup.ActiveCfg = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@ -4059,6 +4117,7 @@ Global
{4D418176-3B33-47E6-A63E-01BA34ADD21C} = {F881ADA2-2F1A-4046-9FEB-191D9422D781} {4D418176-3B33-47E6-A63E-01BA34ADD21C} = {F881ADA2-2F1A-4046-9FEB-191D9422D781}
{AFA983D6-4569-4F88-BA94-555ED00FD9A8} = {F881ADA2-2F1A-4046-9FEB-191D9422D781} {AFA983D6-4569-4F88-BA94-555ED00FD9A8} = {F881ADA2-2F1A-4046-9FEB-191D9422D781}
{64E99CCA-3C6F-4AEB-9FA3-CFAC711257BB} = {F881ADA2-2F1A-4046-9FEB-191D9422D781} {64E99CCA-3C6F-4AEB-9FA3-CFAC711257BB} = {F881ADA2-2F1A-4046-9FEB-191D9422D781}
{ABFD88E1-7710-4BCC-AC34-56038DAC9652} = {F881ADA2-2F1A-4046-9FEB-191D9422D781}
{5FD31A25-5D83-4794-8BEE-904DAD84CE71} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C} {5FD31A25-5D83-4794-8BEE-904DAD84CE71} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{FFAA4C52-3A53-4F99-90C1-D59D1F0427F3} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C} {FFAA4C52-3A53-4F99-90C1-D59D1F0427F3} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{0DF3ABD0-DDC0-4265-B778-07C66780979B} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C} {0DF3ABD0-DDC0-4265-B778-07C66780979B} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
@ -4069,6 +4128,8 @@ Global
{C6E78A4C-DB1E-47F4-9B63-4DC27D86343F} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C} {C6E78A4C-DB1E-47F4-9B63-4DC27D86343F} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{05C9FB27-480E-4D53-B3B7-7338E2514666} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C} {05C9FB27-480E-4D53-B3B7-7338E2514666} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{74B120FF-6935-4DFE-A142-CDB6BEA99C90} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C} {74B120FF-6935-4DFE-A142-CDB6BEA99C90} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6} = {9460B5F1-0A95-41C4-BEB7-9C2C96459A7C}
{30A5B29C-983E-4580-9FD0-D647CCDCC7EB} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} {30A5B29C-983E-4580-9FD0-D647CCDCC7EB} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} {B69247FA-ECD6-40ED-8E44-5CA6C3BAF9A4} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{C24FB505-05D7-4319-8485-7540B44C8603} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78} {C24FB505-05D7-4319-8485-7540B44C8603} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}

View File

@ -0,0 +1,135 @@
<?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="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>mod_vp8</ProjectName>
<ProjectGuid>{ABFD88E1-7710-4BCC-AC34-56038DAC9652}</ProjectGuid>
<RootNamespace>mod_vp8</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\w32\module_release.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\w32\module_debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\w32\module_release.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\w32\module_debug.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="mod_vp8.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\w32\Library\FreeSwitchCore.2012.vcxproj">
<Project>{202d7a4e-760d-4d0e-afa1-d7459ced30ff}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,135 @@
<?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="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>mod_rtc</ProjectName>
<ProjectGuid>{3884ADD2-91D0-4CD6-86D3-D5FB2D4AAB9E}</ProjectGuid>
<RootNamespace>mod_rtc</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\w32\module_release.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\w32\module_debug.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\w32\module_release.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\w32\module_debug.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
</ClCompile>
<Link>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="mod_rtc.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\w32\Library\FreeSwitchCore.2012.vcxproj">
<Project>{202d7a4e-760d-4d0e-afa1-d7459ced30ff}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -37,13 +37,21 @@
#include <stdint.h> #include <stdint.h>
#include <errno.h> #include <errno.h>
#include <sys/types.h> #include <sys/types.h>
#ifdef WIN32
#include <winsock2.h>
#else
#include <sys/socket.h> #include <sys/socket.h>
#include <netinet/in.h> #include <netinet/in.h>
#include <arpa/inet.h> #include <arpa/inet.h>
#endif
#include <time.h> #include <time.h>
#ifndef WIN32
#include <unistd.h> #include <unistd.h>
#endif
#include "mcast.h" #include "mcast.h"
#ifndef WIN32
#include <poll.h> #include <poll.h>
#endif
#include <switch_utils.h> #include <switch_utils.h>
int mcast_socket_create(const char *host, int16_t port, mcast_handle_t *handle, mcast_flag_t flags) int mcast_socket_create(const char *host, int16_t port, mcast_handle_t *handle, mcast_flag_t flags)

View File

@ -42,9 +42,29 @@ extern "C" {
#endif #endif
#include <sys/types.h> #include <sys/types.h>
#ifdef WIN32
#include <WinSock2.h>
#else
#include <sys/socket.h> #include <sys/socket.h>
#include <netinet/in.h> #include <netinet/in.h>
#include <arpa/inet.h> #include <arpa/inet.h>
#endif
#ifdef _MSC_VER
#include <stdint.h>
#ifndef strncasecmp
#define strncasecmp _strnicmp
#endif
#define snprintf _snprintf
#ifdef _WIN64
#define WS_SSIZE_T __int64
#elif _MSC_VER >= 1400
#define WS_SSIZE_T __int32 __w64
#else
#define WS_SSIZE_T __int32
#endif
typedef WS_SSIZE_T ssize_t;
#endif
typedef struct { typedef struct {
int sock; int sock;

View File

@ -34,7 +34,9 @@
#include "mcast.h" #include "mcast.h"
#include "mcast_cpp.h" #include "mcast_cpp.h"
#include <string.h> #include <string.h>
#ifndef WIN32
#include <poll.h> #include <poll.h>
#endif
McastHandle::McastHandle(const char *host, int port, int flags) McastHandle::McastHandle(const char *host, int port, int flags)
{ {

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32"> <ProjectConfiguration Include="Debug|Win32">
@ -20,7 +20,7 @@
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<ProjectName>mod_verto</ProjectName> <ProjectName>mod_verto</ProjectName>
<ProjectGuid>{11C9BC3D-45E9-46E3-BE84-B8CEE4685E39}</ProjectGuid> <ProjectGuid>{5B2BACE4-0F5A-4A21-930D-C0F4B1F58FA6}</ProjectGuid>
<RootNamespace>mod_verto</RootNamespace> <RootNamespace>mod_verto</RootNamespace>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
</PropertyGroup> </PropertyGroup>
@ -51,18 +51,22 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\w32\module_release.props" /> <Import Project="..\..\..\..\w32\module_release.props" />
<Import Project="..\..\..\..\w32\openssl-version.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\w32\module_debug.props" /> <Import Project="..\..\..\..\w32\module_debug.props" />
<Import Project="..\..\..\..\w32\openssl-version.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\w32\module_release.props" /> <Import Project="..\..\..\..\w32\module_release.props" />
<Import Project="..\..\..\..\w32\openssl-version.props" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\w32\module_debug.props" /> <Import Project="..\..\..\..\w32\module_debug.props" />
<Import Project="..\..\..\..\w32\openssl-version.props" />
</ImportGroup> </ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup> <PropertyGroup>
@ -72,6 +76,7 @@
<ClCompile> <ClCompile>
<PrecompiledHeader> <PrecompiledHeader>
</PrecompiledHeader> </PrecompiledHeader>
<AdditionalIncludeDirectories>$(SolutionDir)\src\include;%(AdditionalIncludeDirectories);..\..\..\..\libs\openssl-$(OpenSSLVersion)\include;$(ProjectDir)..\..\..\..\libs\pthreads-w32-2-9-1;.\;.\mcast</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<RandomizedBaseAddress>false</RandomizedBaseAddress> <RandomizedBaseAddress>false</RandomizedBaseAddress>
@ -86,6 +91,7 @@
<ClCompile> <ClCompile>
<PrecompiledHeader> <PrecompiledHeader>
</PrecompiledHeader> </PrecompiledHeader>
<AdditionalIncludeDirectories>$(SolutionDir)\src\include;%(AdditionalIncludeDirectories);..\..\..\..\libs\openssl-$(OpenSSLVersion)\include;$(ProjectDir)..\..\..\..\libs\pthreads-w32-2-9-1;.\;.\mcast</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<RandomizedBaseAddress>false</RandomizedBaseAddress> <RandomizedBaseAddress>false</RandomizedBaseAddress>
@ -98,6 +104,7 @@
<ClCompile> <ClCompile>
<PrecompiledHeader> <PrecompiledHeader>
</PrecompiledHeader> </PrecompiledHeader>
<AdditionalIncludeDirectories>$(SolutionDir)\src\include;%(AdditionalIncludeDirectories);..\..\..\..\libs\openssl-$(OpenSSLVersion)\include;$(ProjectDir)..\..\..\..\libs\pthreads-w32-2-9-1;.\;.\mcast</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<RandomizedBaseAddress>false</RandomizedBaseAddress> <RandomizedBaseAddress>false</RandomizedBaseAddress>
@ -112,6 +119,7 @@
<ClCompile> <ClCompile>
<PrecompiledHeader> <PrecompiledHeader>
</PrecompiledHeader> </PrecompiledHeader>
<AdditionalIncludeDirectories>$(SolutionDir)\src\include;%(AdditionalIncludeDirectories);..\..\..\..\libs\openssl-$(OpenSSLVersion)\include;$(ProjectDir)..\..\..\..\libs\pthreads-w32-2-9-1;.\;.\mcast</AdditionalIncludeDirectories>
</ClCompile> </ClCompile>
<Link> <Link>
<RandomizedBaseAddress>false</RandomizedBaseAddress> <RandomizedBaseAddress>false</RandomizedBaseAddress>
@ -122,12 +130,25 @@
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="mod_verto.c" /> <ClCompile Include="mod_verto.c" />
<ClCompile Include="ws.c" />
<ClCompile Include="mcast\mcast.c" />
<ClCompile Include="mcast\mcast_cpp.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\..\..\w32\Library\FreeSwitchCore.2012.vcxproj"> <ProjectReference Include="..\..\..\..\w32\Library\FreeSwitchCore.2012.vcxproj">
<Project>{202d7a4e-760d-4d0e-afa1-d7459ced30ff}</Project> <Project>{202d7a4e-760d-4d0e-afa1-d7459ced30ff}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly> <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\..\..\..\libs\win32\openssl\libeay32.2012.vcxproj">
<Project>{d331904d-a00a-4694-a5a3-fcff64ab5dbe}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\..\libs\win32\openssl\ssleay32.2012.vcxproj">
<Project>{b4b62169-5ad4-4559-8707-3d933ac5db39}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\..\libs\win32\pthread\pthread.2012.vcxproj">
<Project>{df018947-0fff-4eb3-bdee-441dc81da7a4}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup> </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">

View File

@ -46,10 +46,14 @@ SWITCH_MODULE_DEFINITION(mod_verto, mod_verto_load, mod_verto_shutdown, mod_vert
////////////////////////// //////////////////////////
#include <mod_verto.h> #include <mod_verto.h>
#ifndef WIN32
#include <sys/param.h> #include <sys/param.h>
#endif
#include <sys/stat.h> #include <sys/stat.h>
#include <fcntl.h> #include <fcntl.h>
#ifndef WIN32
#include <sys/file.h> #include <sys/file.h>
#endif
#include <ctype.h> #include <ctype.h>
#include <sys/stat.h> #include <sys/stat.h>
@ -137,15 +141,19 @@ static void verto_deinit_ssl(verto_profile_t *profile)
} }
} }
static void close_file(int *sock) static void close_file(ws_socket_t *sock)
{ {
if (*sock > -1) { if (*sock > -1) {
#ifndef WIN32
close(*sock); close(*sock);
*sock = -1; #else
closesocket(*sock);
#endif
*sock = ws_sock_invalid;
} }
} }
static void close_socket(int *sock) static void close_socket(ws_socket_t *sock)
{ {
if (*sock > -1) { if (*sock > -1) {
shutdown(*sock, 2); shutdown(*sock, 2);
@ -2161,7 +2169,7 @@ static switch_state_handler_table_t verto_state_handlers = {
static void verto_set_media_options(verto_pvt_t *tech_pvt, verto_profile_t *profile) static void verto_set_media_options(verto_pvt_t *tech_pvt, verto_profile_t *profile)
{ {
int i; uint32_t i;
tech_pvt->mparams->rtpip = switch_core_session_strdup(tech_pvt->session, profile->rtpip[profile->rtpip_cur++]); tech_pvt->mparams->rtpip = switch_core_session_strdup(tech_pvt->session, profile->rtpip[profile->rtpip_cur++]);
@ -3622,12 +3630,16 @@ static void jrpc_init(void)
static int start_jsock(verto_profile_t *profile, int sock) static int start_jsock(verto_profile_t *profile, ws_socket_t sock)
{ {
jsock_t *jsock = NULL; jsock_t *jsock = NULL;
int flag = 1; int flag = 1;
int i; int i;
#ifndef WIN32
unsigned int len; unsigned int len;
#else
int len;
#endif
jsock_type_t ptype = PTYPE_CLIENT; jsock_type_t ptype = PTYPE_CLIENT;
switch_thread_data_t *td; switch_thread_data_t *td;
switch_memory_pool_t *pool; switch_memory_pool_t *pool;
@ -3713,10 +3725,14 @@ static int start_jsock(verto_profile_t *profile, int sock)
return -1; return -1;
} }
static int prepare_socket(int ip, int port) static ws_socket_t prepare_socket(int ip, int port)
{ {
int sock = -1; ws_socket_t sock = ws_sock_invalid;
#ifndef WIN32
int reuse_addr = 1; int reuse_addr = 1;
#else
char reuse_addr = 1;
#endif
struct sockaddr_in addr; struct sockaddr_in addr;
if ((sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { if ((sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) {
@ -3734,12 +3750,12 @@ static int prepare_socket(int ip, int port)
if (bind(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0) { if (bind(sock, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
die("Bind Error!\n"); die("Bind Error!\n");
return -1; return ws_sock_invalid;
} }
if (listen(sock, MAXPENDING) < 0) { if (listen(sock, MAXPENDING) < 0) {
die("Listen error\n"); die("Listen error\n");
return -1; return ws_sock_invalid;
} }
return sock; return sock;
@ -3748,7 +3764,7 @@ static int prepare_socket(int ip, int port)
close_file(&sock); close_file(&sock);
return -1; return ws_sock_invalid;
} }
static void handle_mcast_sub(verto_profile_t *profile) static void handle_mcast_sub(verto_profile_t *profile)
@ -3925,7 +3941,7 @@ static void kill_profiles(void)
while(--sanity > 0 && globals.profile_threads > 0) { while(--sanity > 0 && globals.profile_threads > 0) {
usleep(100000); switch_yield(100000);
} }
} }
@ -4365,13 +4381,14 @@ static switch_status_t cmd_status(char **argv, int argc, switch_stream_handle_t
int cp = 0; int cp = 0;
int cc = 0; int cc = 0;
const char *line = "================================================================================================="; const char *line = "=================================================================================================";
int i;
stream->write_function(stream, "%25s\t%s\t %40s\t%s\n", "Name", " Type", "Data", "State"); stream->write_function(stream, "%25s\t%s\t %40s\t%s\n", "Name", " Type", "Data", "State");
stream->write_function(stream, "%s\n", line); stream->write_function(stream, "%s\n", line);
switch_mutex_lock(globals.mutex); switch_mutex_lock(globals.mutex);
for(profile = globals.profile_head; profile; profile = profile->next) { for(profile = globals.profile_head; profile; profile = profile->next) {
for (int i = 0; i < profile->i; i++) { for (i = 0; i < profile->i; i++) {
char *tmpurl = switch_mprintf("%s:%s:%d",(profile->ip[i].secure == 1) ? "wss" : "ws", profile->ip[i].local_ip, profile->ip[i].local_port); char *tmpurl = switch_mprintf("%s:%s:%d",(profile->ip[i].secure == 1) ? "wss" : "ws", profile->ip[i].local_ip, profile->ip[i].local_port);
stream->write_function(stream, "%25s\t%s\t %40s\t%s\n", profile->name, "profile", tmpurl, (profile->running) ? "RUNNING" : "DOWN"); stream->write_function(stream, "%25s\t%s\t %40s\t%s\n", profile->name, "profile", tmpurl, (profile->running) ? "RUNNING" : "DOWN");
switch_safe_free(tmpurl); switch_safe_free(tmpurl);
@ -4408,12 +4425,13 @@ static switch_status_t cmd_xml_status(char **argv, int argc, switch_stream_handl
int cp = 0; int cp = 0;
int cc = 0; int cc = 0;
const char *header = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"; const char *header = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>";
int i;
stream->write_function(stream, "%s\n", header); stream->write_function(stream, "%s\n", header);
stream->write_function(stream, "<profiles>\n"); stream->write_function(stream, "<profiles>\n");
switch_mutex_lock(globals.mutex); switch_mutex_lock(globals.mutex);
for(profile = globals.profile_head; profile; profile = profile->next) { for(profile = globals.profile_head; profile; profile = profile->next) {
for (int i = 0; i < profile->i; i++) { for (i = 0; i < profile->i; i++) {
char *tmpurl = switch_mprintf("%s:%s:%d",(profile->ip[i].secure == 1) ? "wss" : "ws", profile->ip[i].local_ip, profile->ip[i].local_port); char *tmpurl = switch_mprintf("%s:%s:%d",(profile->ip[i].secure == 1) ? "wss" : "ws", profile->ip[i].local_ip, profile->ip[i].local_port);
stream->write_function(stream, "<profile>\n<name>%s</name>\n<type>%s</type>\n<data>%s</data>\n<state>%s</state>\n</profile>\n", profile->name, "profile", tmpurl, (profile->running) ? "RUNNING" : "DOWN"); stream->write_function(stream, "<profile>\n<name>%s</name>\n<type>%s</type>\n<data>%s</data>\n<state>%s</state>\n</profile>\n", profile->name, "profile", tmpurl, (profile->running) ? "RUNNING" : "DOWN");
switch_safe_free(tmpurl); switch_safe_free(tmpurl);
@ -4506,7 +4524,7 @@ static void *SWITCH_THREAD_FUNC profile_thread(switch_thread_t *thread, void *ob
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "profile %s shutdown, Waiting for %d threads\n", profile->name, profile->jsock_count); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "profile %s shutdown, Waiting for %d threads\n", profile->name, profile->jsock_count);
while(--sanity > 0 && profile->jsock_count > 0) { while(--sanity > 0 && profile->jsock_count > 0) {
usleep(100000); switch_yield(100000);
} }
verto_deinit_ssl(profile); verto_deinit_ssl(profile);
@ -5321,7 +5339,9 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_verto_load)
memset(&globals, 0, sizeof(globals)); memset(&globals, 0, sizeof(globals));
globals.pool = pool; globals.pool = pool;
#ifndef WIN32
globals.ready = SIGUSR1; globals.ready = SIGUSR1;
#endif
globals.enable_presence = SWITCH_TRUE; globals.enable_presence = SWITCH_TRUE;
globals.enable_fs_events = SWITCH_FALSE; globals.enable_fs_events = SWITCH_FALSE;

View File

@ -36,19 +36,29 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <sys/types.h> #include <sys/types.h>
#ifdef WIN32
#include <WinSock2.h>
#else
#include <sys/socket.h> #include <sys/socket.h>
#include <arpa/inet.h> #include <arpa/inet.h>
#include <sys/wait.h> #include <sys/wait.h>
#endif
#include <string.h> #include <string.h>
#ifndef WIN32
#include <unistd.h> #include <unistd.h>
#include <poll.h> #include <poll.h>
#endif
#include <stdarg.h> #include <stdarg.h>
#ifndef WIN32
#include <netinet/tcp.h> #include <netinet/tcp.h>
#include <sys/un.h> #include <sys/un.h>
#endif
#include <assert.h> #include <assert.h>
#include <errno.h> #include <errno.h>
#ifndef WIN32
#include <pwd.h> #include <pwd.h>
#include <netdb.h> #include <netdb.h>
#endif
#include <openssl/ssl.h> #include <openssl/ssl.h>
#include "mcast.h" #include "mcast.h"
@ -89,7 +99,7 @@ typedef enum {
struct verto_profile_s; struct verto_profile_s;
struct jsock_s { struct jsock_s {
int client_socket; ws_socket_t client_socket;
switch_memory_pool_t *pool; switch_memory_pool_t *pool;
switch_thread_t *thread; switch_thread_t *thread;
wsh_t ws; wsh_t ws;
@ -99,10 +109,12 @@ struct jsock_s {
struct sockaddr_in local_addr; struct sockaddr_in local_addr;
struct sockaddr_in remote_addr; struct sockaddr_in remote_addr;
struct sockaddr_in send_addr; struct sockaddr_in send_addr;
#ifndef WIN32
struct passwd pw; struct passwd pw;
#endif
int drop; int drop;
int local_sock; ws_socket_t local_sock;
SSL *ssl; SSL *ssl;
jpflag_t flags; jpflag_t flags;
@ -198,7 +210,7 @@ struct verto_profile_s {
jsock_t *jsock_head; jsock_t *jsock_head;
int jsock_count; int jsock_count;
int server_socket[MAX_BIND]; ws_socket_t server_socket[MAX_BIND];
int running; int running;
int ssl_ready; int ssl_ready;

View File

@ -656,7 +656,11 @@ ssize_t ws_close(wsh_t *wsh, int16_t reason)
restore_socket(wsh->sock); restore_socket(wsh->sock);
if (wsh->close_sock && wsh->sock != ws_sock_invalid) { if (wsh->close_sock && wsh->sock != ws_sock_invalid) {
#ifndef WIN32
close(wsh->sock); close(wsh->sock);
#else
closesocket(wsh->sock);
#endif
} }
wsh->sock = ws_sock_invalid; wsh->sock = ws_sock_invalid;

View File

@ -11,11 +11,11 @@
#include <arpa/inet.h> #include <arpa/inet.h>
#include <sys/wait.h> #include <sys/wait.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <unistd.h>
#else #else
#pragma warning(disable:4996) #pragma warning(disable:4996)
#endif #endif
#include <string.h> #include <string.h>
#include <unistd.h>
#include <string.h> #include <string.h>
#include <stdint.h> #include <stdint.h>
#include <stdio.h> #include <stdio.h>
@ -26,7 +26,9 @@
#include <openssl/ssl.h> #include <openssl/ssl.h>
#ifdef _MSC_VER #ifdef _MSC_VER
#ifndef strncasecmp
#define strncasecmp _strnicmp #define strncasecmp _strnicmp
#endif
#define snprintf _snprintf #define snprintf _snprintf
#ifdef _WIN64 #ifdef _WIN64
#define WS_SSIZE_T __int64 #define WS_SSIZE_T __int64
@ -48,8 +50,12 @@ struct ws_globals_s {
extern struct ws_globals_s ws_globals; extern struct ws_globals_s ws_globals;
#ifndef WIN32
typedef int ws_socket_t; typedef int ws_socket_t;
#define ws_sock_invalid -1 #else
typedef SOCKET ws_socket_t;
#endif
#define ws_sock_invalid (ws_socket_t)-1
typedef enum { typedef enum {